From fb76547f32a8315ac8f2226e1cb504d7b1c45611 Mon Sep 17 00:00:00 2001 From: Dmitrii Golubev Date: Wed, 3 May 2023 09:03:00 +0200 Subject: [PATCH 01/19] chore: catch up the changes from master into v0.11 dev (#629) * chore(release): update changelog and version to 0.11.0 * fix: invalid threshold for `LLMQType_25_67` (#628) --------- Co-authored-by: Lukasz Klimek <842586+lklimek@users.noreply.github.com> Co-authored-by: Ivan Shumkov --- CHANGELOG.md | 11360 ++++++++++++++++---------------------------- dash/llmq/llmq.go | 2 +- 2 files changed, 4098 insertions(+), 7264 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ded0a5b9e9..04004f2dc5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,22 +1,113 @@ ## [0.11.1] - 2023-05-02 -### ABCI++ +### Bug Fixes +- Missing quorum params (#626) -- Update new protos to use enum instead of bool (#8158) -### ADR +## [0.11.0] - 2023-04-04 -- Protocol Buffers Management (#8029) +### Bug Fixes + +- ProcessProposal executed twice for a block (#516) +- Proposer-based timestamp broken during backport (#523) +- Improve wal replay mechanism (#510) +- Decrease log verbosity by logging send/recv logs on trace level (#533) +- Ensure process proposal was called on commit processing (#534) +- Ensure process proposal runs on complete proposal (#538) +- Peer notifications should be async to avoid deadlock in PeerUp (#509) +- Improve flaky TestWALRoundsSkipper (#539) +- Flaky TestReactor_Backfill test (#549) +- [**breaking**] Quorum type set to 0 during replay at genesis (#570) +- Seed doesn't respond to pex requests (#574) +- Docker tag is invalid for empty input.tag (#580) +- Docker tag is invalid for empty input.tag (#580) (#585) +- Signature verification (#584) +- Replace tenderdash init single with validator (#599) +- Broken error handling in ValueOp (VSA-2022-100) (#601) +- Broken error handling in ValueOp (VSA-2022-100) (#601) +- Nil voteset panics in rest handler (#609) (#612) + +### Features + +- Upgrade bls library to version 1 (#224) +- Seed connectivity tuning options (max-incoming-connection-time,incoming-connection-window) (#532) +- [**breaking**] Verify next consensus params between nodes (#550) +- Add quorum hash to RequestPrepare/ProcessProposal (#553) +- Derive node key from bip39 mnemonic (#562) +- Conversion of PEM-encoded ED25519 node keys (#564) + +### Miscellaneous Tasks + +- [**breaking**] Rename genesis.json quorum fields (#515) +- [**breaking**] Remove Snapshot.core_chain_locked_height (#527) +- Update changelog and version to 0.10.0-dev.6 (#526) +- Update changelog and version to 0.11.0-dev.1 (#530) +- Update changelog and version to 0.10.0-dev.7 (#536) +- Update bls library (#535) +- Update changelog and version to 0.10.0-dev.9 (#579) +- Update changelog and version to 0.11.0-dev.2 (#583) +- Update changelog and version to 0.11.0-dev.3 (#586) +- Bump up dashd-go version to v0.23.6 (#587) +- Update changelog and version to 0.10.0-dev.10 (#588) +- Update changelog and version to 0.10.0-dev.11 (#591) +- Update changelog and version to 0.11.0-dev.4 (#593) +- Add quote to CGO variables in Makefile (#597) + +### Refactor + +- Use logger for log printing (#545) +- Blocksync.bpRequester should stop procedure if block was received (#546) +- [**breaking**] Cleanup protobuf definitions and reorganize fields (#552) +- Replace peerID on proTxHash for peer catchup rounds in HeightVoteSet component (#559) +- Sync node and seed implementation (#576) +- Use llmq.Validate function to validate llmq type (#590) +- Introduce p2p proto Envelope as a wrapper for p2p messages (#598) + +### Testing + +- Fix Index out of bounds on "runner logs" (#537) +- Update test vectors for BLS +- Refactor genesis doc generation (#573) +- Fix TestMakeHTTPDialerURL (#605) + +### Backport + +- Catch up on the latest changes from v0.10 (#528) +- Catch up the recent changes from v0.10 to v0.11 (#589) +- V0.10 to v0.11 (#596) +- Use dashd-go 0.24.0 to support LLMQ type 6 (LLMQType_25_67) (#610) (#611) + +### Build + +- Bump actions/setup-go from 3.3.1 to 3.4.0 (#524) +- Bump bufbuild/buf-setup-action from 1.9.0 to 1.10.0 (#525) +- CGO paths to BLS deps are incorrect (#531) +- Improve release script (#522) +- Bump goreleaser/goreleaser-action from 3 to 4 (#544) +- Bump actions/stale from 6 to 7 (#543) +- Bump actions/setup-go from 3.4.0 to 3.5.0 (#542) +- Bump bufbuild/buf-setup-action from 1.10.0 to 1.11.0 (#541) +- Use ubuntu 20.04 in github workflows (#547) +- Enable deadlock detection on -dev docker images (#540) +- Bump bufbuild/buf-setup-action from 1.11.0 to 1.12.0 (#556) +- Bump docker/build-push-action from 3.1.0 to 3.3.0 (#555) +- Use version 1.2.5 of BLS lib in Docker (#557) +- Bump golangci/golangci-lint-action from 3.3.1 to 3.4.0 (#560) +- Add abcidump to release image (#563) +- Bump bufbuild/buf-setup-action from 1.12.0 to 1.13.1 (#566) +- Bump docker/setup-buildx-action from 2.2.1 to 2.4.0 (#567) +- Improve docker image build caching (#571) +- Refactor e2e docker image build process (#575) +- Bump docker/build-push-action from 3.3.0 to 4.0.0 (#568) +- Bump docker/setup-buildx-action from 2.4.0 to 2.4.1 (#572) +- Bump bufbuild/buf-setup-action from 1.13.1 to 1.14.0 (#577) +- Move e2e-manual.yml logic to e2e.yml (#578) +- Fix broken github actions and regenerate some code (#615) + +## [0.8.0] - 2022-12-07 ### Bug Fixes -- Backport e2e tests (#248) -- Remove option c form linux build (#305) -- Cannot read properties of undefined -- Network stuck due to outdated proposal block (#327) -- Don't process WAL logs for old rounds (#331) -- Network stuck due to outdated proposal block (#327) -- Don't process WAL logs for old rounds (#331) - Use thread-safely way to get pro-tx-hash from peer-state (#344) - Slightly modify a way of interacting with p2p channels in consensus reactor (#357) - Remove select block to don't block sending a witness response (#336) @@ -97,37 +188,9 @@ - Catchup round number is not correct (#507) - Commits received during state sync are lost (#513) - Statesync stops the node when light block request fails (#514) -- ProcessProposal executed twice for a block (#516) -- Proposer-based timestamp broken during backport (#523) -- Improve wal replay mechanism (#510) -- Decrease log verbosity by logging send/recv logs on trace level (#533) -- Ensure process proposal was called on commit processing (#534) -- Ensure process proposal runs on complete proposal (#538) -- Peer notifications should be async to avoid deadlock in PeerUp (#509) -- Improve flaky TestWALRoundsSkipper (#539) -- Flaky TestReactor_Backfill test (#549) -- [**breaking**] Quorum type set to 0 during replay at genesis (#570) -- Seed doesn't respond to pex requests (#574) -- Docker tag is invalid for empty input.tag (#580) -- Docker tag is invalid for empty input.tag (#580) (#585) -- Signature verification (#584) -- Replace tenderdash init single with validator (#599) -- Broken error handling in ValueOp (VSA-2022-100) (#601) -- Broken error handling in ValueOp (VSA-2022-100) (#601) -- Nil voteset panics in rest handler (#609) (#612) -- Update quorum params (#626) - -### Docs - -- Abci++ typo (#8147) ### Documentation -- Add an overview of the proposer-based timestamps algorithm (#8058) -- PBTS synchrony issues runbook (#8129) -- Go tutorial fixed for 0.35.0 version (#7329) (#7330) (#7331) -- Update go ws code snippets (#7486) (#7487) -- Remove spec section from v0.35 docs (#7899) - Abcidump documentation - Same-block execution docs and protobuf cleanup (#454) @@ -145,27 +208,9 @@ - Add core_chain_lock_update to RequestProcessProposal (#492) - [**breaking**] Include state id in block signature (#478) - [**breaking**] Put full block in RequestFinalizeBlock (#505) -- Upgrade bls library to version 1 (#224) -- Seed connectivity tuning options (max-incoming-connection-time,incoming-connection-window) (#532) -- [**breaking**] Verify next consensus params between nodes (#550) -- Add quorum hash to RequestPrepare/ProcessProposal (#553) -- Derive node key from bip39 mnemonic (#562) -- Conversion of PEM-encoded ED25519 node keys (#564) ### Miscellaneous Tasks -- Stabilize consensus algorithm (#284) -- Temporarily disable ARM build which is broken -- Backport Tendermint 0.35.1 to Tenderdash 0.8 (#309) -- Update CI e2e action workflow (#319) -- Change dockerhub build target -- Inspect context -- Bump golang version -- Remove debug -- Use gha cache from docker -- Revert dev changes -- Remove obsolete cache step -- Update changelog and version to 0.7.1 - If the tenderdash source code is not tracked by git then cloning "develop_0.1" branch as fallback scenario to build a project (#356) - If the tenderdash source code is not tracked by git then cloning "develop_0.1" branch as fallback scenario to build a project (#355) - Update changelog and version to 0.8.0-dev.2 (#333) @@ -214,20 +259,6 @@ - Fix build - Fix abcidump after backport - Update changelog and version to 0.8.0 -- [**breaking**] Rename genesis.json quorum fields (#515) -- [**breaking**] Remove Snapshot.core_chain_locked_height (#527) -- Update changelog and version to 0.10.0-dev.6 (#526) -- Update changelog and version to 0.11.0-dev.1 (#530) -- Update changelog and version to 0.10.0-dev.7 (#536) -- Update bls library (#535) -- Update changelog and version to 0.10.0-dev.9 (#579) -- Update changelog and version to 0.11.0-dev.2 (#583) -- Update changelog and version to 0.11.0-dev.3 (#586) -- Bump up dashd-go version to v0.23.6 (#587) -- Update changelog and version to 0.10.0-dev.10 (#588) -- Update changelog and version to 0.10.0-dev.11 (#591) -- Update changelog and version to 0.11.0-dev.4 (#593) -- Add quote to CGO variables in Makefile (#597) ### PBTS @@ -235,15 +266,6 @@ ### Refactor -- Replace several functions with an identical body (processStateCh,processDataCh,processVoteCh,processVoteSetBitsCh) on one function processMsgCh (#296) -- [**breaking**] Replace is-masternode config with mode=validator (#308) -- Add MustPubKeyToProto helper function (#311) -- Implementing LLMQ generator (#310) -- Move bls CI code to a separate action and improve ARM build (#314) -- Persistent kvstore abci (#313) -- Improve statesync.backfill (#316) -- Small improvement in test four add four minus one genesis validators (#318) -- Consolidate redundant code (#322) - Single vote-extension field was modified on multiple ones. support default and threshold-recover types of extensions - Simplify priv validator initialization code - Add a centralized way for recovering threshold signatures, add a way of creating sign ids, refactor code to use one way of making sign data and recovering signs @@ -271,38 +293,9 @@ - Provide a current block commit with request finalize block request (#501) - Make all genesis-doc fields (except chain_id) optional (#506) - Optimize initialize priv-validator (#512) -- Use logger for log printing (#545) -- Blocksync.bpRequester should stop procedure if block was received (#546) -- [**breaking**] Cleanup protobuf definitions and reorganize fields (#552) -- Replace peerID on proTxHash for peer catchup rounds in HeightVoteSet component (#559) -- Sync node and seed implementation (#576) -- Use llmq.Validate function to validate llmq type (#590) -- Introduce p2p proto Envelope as a wrapper for p2p messages (#598) ### Security -- Bump actions/checkout from 2.4.0 to 3 (#8076) -- Bump docker/login-action from 1.13.0 to 1.14.1 (#8075) -- Bump golangci/golangci-lint-action from 2.5.2 to 3.1.0 (#8074) -- Bump google.golang.org/grpc from 1.44.0 to 1.45.0 (#8104) -- Bump github.com/spf13/cobra from 1.3.0 to 1.4.0 (#8109) -- Bump github.com/stretchr/testify from 1.7.0 to 1.7.1 (#8131) -- Bump gaurav-nelson/github-action-markdown-link-check from 1.0.13 to 1.0.14 (#8166) -- Bump docker/build-push-action from 2.9.0 to 2.10.0 (#8167) -- Bump github.com/golangci/golangci-lint from 1.44.2 to 1.45.0 (#8169) -- Bump github.com/golangci/golangci-lint from 1.45.0 to 1.45.2 (#8192) -- Bump github.com/adlio/schema from 1.2.3 to 1.3.0 (#8201) -- Bump github.com/vektra/mockery/v2 from 2.10.0 to 2.10.1 (#8226) -- Bump github.com/vektra/mockery/v2 from 2.10.1 to 2.10.2 (#8246) -- Bump github.com/vektra/mockery/v2 from 2.10.2 to 2.10.4 (#8250) -- Bump github.com/BurntSushi/toml from 1.0.0 to 1.1.0 (#8251) -- Bump github.com/lib/pq from 1.10.4 to 1.10.5 (#8283) -- Bump codecov/codecov-action from 2.1.0 to 3.0.0 (#8306) -- Bump actions/setup-go from 2 to 3 (#8305) -- Bump actions/stale from 4 to 5 (#8304) -- Bump actions/download-artifact from 2 to 3 (#8302) -- Bump actions/upload-artifact from 2 to 3 (#8303) -- Bump github.com/creachadair/tomledit from 0.0.11 to 0.0.13 (#8307) - Bump github.com/vektra/mockery/v2 from 2.10.4 to 2.10.6 (#8346) - Bump github.com/spf13/viper from 1.10.1 to 1.11.0 (#8344) - Bump github.com/creachadair/atomicfile from 0.2.4 to 0.2.5 (#8365) @@ -324,12 +317,6 @@ ### Testing -- Logger cleanup (#8153) -- KeepInvalidTxsInCache test is invalid -- Fix validator conn executor test backport -- Update mockery mocks -- Fix test test_abci_cli -- Update oss-fuzz build script to match reality (#8296) - Convert to Go 1.18 native fuzzing (#8359) - Remove debug logging statement (#8385) - Use correct home path in TestRootConfig @@ -339,14 +326,9 @@ - Test parser - Replace hardcoded input data - Skip broken PBTS tests (#500) -- Fix Index out of bounds on "runner logs" (#537) -- Update test vectors for BLS -- Refactor genesis doc generation (#573) -- Fix TestMakeHTTPDialerURL (#605) ### Abci -- Synchronize FinalizeBlock with the updated specification (#7983) - Avoid having untracked requests in the channel (#8382) - Streamline grpc application construction (#8383) - Application type should take contexts (#8388) @@ -357,59 +339,23 @@ ### Abci++ -- Synchronize PrepareProposal with the newest version of the spec (#8094) -- Remove app_signed_updates (#8128) -- Remove CheckTx call from PrepareProposal flow (#8176) -- Correct max-size check to only operate on added and unmodified (#8242) -- Only include meaningful header fields in data passed-through to application (#8216) - Sync implementation and spec for vote extensions (#8141) - Remove intermediate protos (#8414) - Vote extension cleanup (#8402) -### Autofile - -- Reduce minor panic and docs changes (#8122) -- Remove vestigal close mechanism (#8150) - ### Backport -- Add basic metrics to the indexer package. (#7250) (#7252) - V0.7.1 into v0.8-dev (#361) - Upgrade logging to v0.8 - Update for new logging - Tendermint v0.36 (#446) -- Catch up on the latest changes from v0.10 (#528) -- Catch up the recent changes from v0.10 to v0.11 (#589) -- V0.10 to v0.11 (#596) -- Use dashd-go 0.24.0 to support LLMQ type 6 (LLMQType_25_67) (#610) (#611) ### Blocksync -- Drop redundant shutdown mechanisms (#8136) -- Remove intermediate channel (#8140) - Honor contexts supplied to BlockPool (#8447) ### Build -- Bump docker/login-action from 1.13.0 to 1.14.1 -- Bump golangci/golangci-lint-action from 2.5.2 to 3.1.0 -- Bump google.golang.org/grpc from 1.41.0 to 1.42.0 (#7218) -- Bump github.com/lib/pq from 1.10.3 to 1.10.4 -- Bump github.com/tendermint/tm-db from 0.6.4 to 0.6.6 (#7285) -- Bump minimist from 1.2.5 to 1.2.6 in /docs (#8196) -- Bump bufbuild/buf-setup-action from 1.1.0 to 1.3.0 (#8199) -- Bump github.com/spf13/viper from 1.9.0 to 1.10.0 (#7435) -- Bump github.com/adlio/schema from 1.2.2 to 1.2.3 (#7436) -- Bump github.com/spf13/cobra from 1.2.1 to 1.3.0 (#7457) -- Bump github.com/rs/zerolog from 1.26.0 to 1.26.1 (#7467) -- Downgrade tm-db from v0.6.7 to v0.6.6 -- Use Go 1.18 to fix issue building curve25519-voi -- Bump bufbuild/buf-setup-action from 1.3.0 to 1.3.1 (#8245) -- Provide base branch to make as variable (#321) -- Implement full release workflow in the release script (#332) -- Use go install instead of go get. (#8299) -- Implement full release workflow in the release script (#332) (#345) -- Implement full release workflow in the release script (#332) (#345) - Bump async from 2.6.3 to 2.6.4 in /docs (#8357) - Bump github.com/vektra/mockery/v2 from 2.11.0 to 2.12.0 (#8393) - Bump docker/build-push-action from 2.9.0 to 3.0.0 @@ -434,91 +380,22 @@ - Fix missing dependencies in lint and tests - Fix superlinter yaml issues - Improve release script for v0.8 (#520) -- Bump actions/setup-go from 3.3.1 to 3.4.0 (#524) -- Bump bufbuild/buf-setup-action from 1.9.0 to 1.10.0 (#525) -- CGO paths to BLS deps are incorrect (#531) -- Improve release script (#522) -- Bump goreleaser/goreleaser-action from 3 to 4 (#544) -- Bump actions/stale from 6 to 7 (#543) -- Bump actions/setup-go from 3.4.0 to 3.5.0 (#542) -- Bump bufbuild/buf-setup-action from 1.10.0 to 1.11.0 (#541) -- Use ubuntu 20.04 in github workflows (#547) -- Enable deadlock detection on -dev docker images (#540) -- Bump bufbuild/buf-setup-action from 1.11.0 to 1.12.0 (#556) -- Bump docker/build-push-action from 3.1.0 to 3.3.0 (#555) -- Use version 1.2.5 of BLS lib in Docker (#557) -- Bump golangci/golangci-lint-action from 3.3.1 to 3.4.0 (#560) -- Add abcidump to release image (#563) -- Bump bufbuild/buf-setup-action from 1.12.0 to 1.13.1 (#566) -- Bump docker/setup-buildx-action from 2.2.1 to 2.4.0 (#567) -- Improve docker image build caching (#571) -- Refactor e2e docker image build process (#575) -- Bump docker/build-push-action from 3.3.0 to 4.0.0 (#568) -- Bump docker/setup-buildx-action from 2.4.0 to 2.4.1 (#572) -- Bump bufbuild/buf-setup-action from 1.13.1 to 1.14.0 (#577) -- Move e2e-manual.yml logic to e2e.yml (#578) -- Fix broken github actions and regenerate some code (#615) -- Bump github/super-linter from 4 to 5 (#624) - -### Ci - -- Move test execution to makefile (#7372) (#7374) -- Update mergify for tenderdash 0.8 -- Cleanup build/test targets (backport #7393) (#7395) -- Skip docker image builds during PRs (#7397) (#7398) -- Fix super-linter configuration settings (backport #7708) (#7710) -- Fixes for arm builds ### Cleanup -- Remove commented code (#8123) - Unused parameters (#8372) - Pin get-diff-action uses to major version only, not minor/patch (#8368) -### Cli - -- Add graceful catches to SIGINT (#8308) -- Simplify resetting commands (#8312) - -### Cmd - -- Make reset more safe (#8081) -- Cosmetic changes for errors and print statements (#7377) (#7408) -- Add integration test for rollback functionality (backport #7315) (#7369) - ### Config -- Add a Deprecation annotation to P2PConfig.Seeds. (#7496) (#7497) -- Default indexer configuration to null (#8222) - Minor template infrastructure (#8411) ### Confix -- Clean up and document transformations (#8301) -- Remove mempool.version in v0.36 (#8334) - Convert tx-index.indexer from string to array (#8342) ### Consensus -- Improve wal test cleanup (#8059) -- Fix TestInvalidState race and reporting (#8071) -- Ensure the node terminates on consensus failure (#8111) -- Avoid extra close channel (#8144) -- Avoid persistent kvstore in tests (#8148) -- Avoid race in accessing channel (#8149) -- Skip channel close during shutdown (#8155) -- Change lock handling in reactor and handleMsg for RoundState (forward-port #7994 #7992) (#8139) -- Reduce size of test fixtures and logging rate (#8172) -- Avoid panic during shutdown (#8170) -- Cleanup tempfile explictly (#8184) -- Add leaktest check to replay tests (#8185) -- Update state machine to use the new consensus params (#8181) -- Add some more checks to vote counting (#7253) (#7262) -- Timeout params in toml used as overrides (#8186) -- Additional timing metrics (backport #7849) (#7875) -- Remove string indented function (#8257) -- Avoid panics during handshake (#8266) -- Add nil check to gossip routine (#8288) - Reduce size of validator set changes test (#8442) ### Crypto @@ -526,190 +403,50 @@ - Remove unused code (#8412) - Cleanup tmhash package (#8434) -### E2e - -- Stabilize validator update form (#7340) (#7351) -- Clarify apphash reporting (#7348) (#7352) -- Generate keys for more stable load (#7344) (#7353) -- App hash test cleanup (0.35 backport) (#7350) -- Fix hashing for app + Fix logic of TestApp_Hash (#8229) - ### Eventbus - Publish without contexts (#8369) -### Events - -- Remove service aspects of event switch (#8146) -- Remove unused event code (#8313) - -### Evidence - -- Manage and initialize state objects more clearly in the pool (#8080) -- Remove source of non-determinism from test (#7266) (#7268) - ### Fuzz - Don't panic on expected errors (#8423) -### Internal/libs/protoio - -- Optimize MarshalDelimited by plain byteslice allocations+sync.Pool (#7325) (#7426) - -### Internal/proxy - -- Add initial set of abci metrics backport (#7342) - ### Keymigrate -- Fix decoding of block-hash row keys (#8294) - Fix conversion of transaction hash keys (#8352) -### Libs/clist - -- Remove unused surface area (#8134) - -### Libs/events - -- Remove unneccessary unsubscription code (#8135) - -### Libs/log - -- Remove Must constructor (#8120) - -### Light - -- Remove untracked close channel (#8228) - -### Lint - -- Remove lll check (#7346) (#7357) -- Bump linter version in ci (#8234) - -### Mempool - -- Test harness should expose application (#8143) -- Reduce size of test (#8152) - -### Migration - -- Remove stale seen commits (#8205) - ### Node -- Excise node handle within rpc env (#8063) -- Nodes should fetch state on startup (#8062) -- Pass eventbus at construction time (#8084) -- Cleanup evidence db (#8119) -- Always sync with the application at startup (#8159) -- Remove channel and peer update initialization from construction (#8238) -- Reorder service construction (#8262) -- Move handshake out of constructor (#8264) - Use signals rather than ephemeral contexts (#8376) - Cleanup setup for indexer and evidence components (#8378) - Start rpc service after reactors (#8426) -### Node+statesync - -- Normalize initialization (#8275) - ### P2p -- Update polling interval calculation for PEX requests (#8106) -- Remove unnecessary panic handling in PEX reactor (#8110) -- Adjust max non-persistent peer score (#8137) -- Reduce peer score for dial failures (backport #7265) (#7271) -- Plumb rudamentary service discovery to rectors and update statesync (backport #8030) (#8036) -- Update shim to transfer information about peers (#8047) -- Inject nodeinfo into router (#8261) - Fix setting in con-tracker (#8370) - Remove support for multiple transports and endpoints (#8420) - Use nodeinfo less often (#8427) - Avoid using p2p.Channel internals (#8444) -### P2p+flowrate - -- Rate control refactor (#7828) - ### Privval/grpc - Normalize signature (#8441) -### Proto - -- Update proto generation to use buf (#7975) - -### Proxy - -- Collapse triforcated abci.Client (#8067) - -### Pubsub - -- Report a non-nil error when shutting down. (#7310) -- [minor] remove unused stub method (#8316) - -### Readme - -- Add vocdoni (#8117) - -### Rfc - -- RFC 015 ABCI++ Tx Mutation (#8033) - -### Rollback - -- Cleanup second node during test (#8175) - ### Rpc -- Backport experimental buffer size control parameters from #7230 (tm v0.35.x) (#7276) -- Implement header and header_by_hash queries (backport #7270) (#7367) -- Add more nil checks in the status end point (#8287) -- Avoid leaking threads (#8328) - Reformat method signatures and use a context (#8377) - Fix byte string decoding for URL parameters (#8431) -### Scmigrate - -- Ensure target key is correctly renamed (#8276) - -### Service - -- Add NopService and use for PexReactor (#8100) -- Minor cleanup of comments (#8314) - -### State - -- Avoid panics for marshaling errors (#8125) -- Panic on ResponsePrepareProposal validation error (#8145) -- Propogate error from state store (#8171) -- Avoid premature genericism (#8224) -- Remove unused weighted time (#8315) - -### Statesync - -- Avoid leaking a thread during tests (#8085) -- Assert app version matches (backport #7856) (#7886) -- Avoid compounding retry logic for fetching consensus parameters (backport #8032) (#8041) -- Merge channel processing (#8240) -- Tweak test performance (#8267) - -### Statesync+blocksync - -- Move event publications into the sync operations (#8274) - -### Types +## [0.7.1] - 2022-04-14 -- Update synchrony params to match checked in proto (#8142) -- Minor cleanup of un or minimally used types (#8154) -- Add TimeoutParams into ConsensusParams structs (#8177) -- Fix path handling in node key tests (#7493) (#7502) +### ABCI++ -## [0.35.2] - 2022-03-02 +- Update new protos to use enum instead of bool (#8158) ### ADR - Synchronize PBTS ADR with spec (#7764) +- Protocol Buffers Management (#8029) ### Bug Fixes @@ -717,6 +454,17 @@ - Race condition when logging (#271) - Decrease memory used by debug logs (#280) - Tendermint stops when validator node id lookup fails (#279) +- Backport e2e tests (#248) +- Remove option c form linux build (#305) +- Cannot read properties of undefined +- Network stuck due to outdated proposal block (#327) +- Don't process WAL logs for old rounds (#331) +- Network stuck due to outdated proposal block (#327) +- Don't process WAL logs for old rounds (#331) + +### Docs + +- Abci++ typo (#8147) ### Documentation @@ -740,14 +488,30 @@ - Point docs/master to the same content as the latest release (backport #7980) (#7998) - Fix some broken markdown links (#8021) - Update ADR template (#7789) +- Add an overview of the proposer-based timestamps algorithm (#8058) +- PBTS synchrony issues runbook (#8129) +- Go tutorial fixed for 0.35.0 version (#7329) (#7330) (#7331) +- Update go ws code snippets (#7486) (#7487) +- Remove spec section from v0.35 docs (#7899) ### Miscellaneous Tasks -- Update changelog and version to 0.7.0 - Update unit tests after backport fo tendermint v0.35 (#245) - Backport Tenderdash 0.7 to 0.8 (#246) - Fix e2e tests and protxhash population (#273) - Improve logging for debug purposes +- Stabilize consensus algorithm (#284) +- Temporarily disable ARM build which is broken +- Backport Tendermint 0.35.1 to Tenderdash 0.8 (#309) +- Update CI e2e action workflow (#319) +- Change dockerhub build target +- Inspect context +- Bump golang version +- Remove debug +- Use gha cache from docker +- Revert dev changes +- Remove obsolete cache step +- Update changelog and version to 0.7.1 ### PBTS @@ -762,6 +526,15 @@ - Change node's proTxHash on slice from pointer of slice (#263) - Some minor changes in validate-conn-executor and routerDashDialer (#277) - Populate proTxHash in address-book (#274) +- Replace several functions with an identical body (processStateCh,processDataCh,processVoteCh,processVoteSetBitsCh) on one function processMsgCh (#296) +- [**breaking**] Replace is-masternode config with mode=validator (#308) +- Add MustPubKeyToProto helper function (#311) +- Implementing LLMQ generator (#310) +- Move bls CI code to a separate action and improve ARM build (#314) +- Persistent kvstore abci (#313) +- Improve statesync.backfill (#316) +- Small improvement in test four add four minus one genesis validators (#318) +- Consolidate redundant code (#322) ### Security @@ -769,13 +542,41 @@ - Bump github.com/gorilla/websocket from 1.4.2 to 1.5.0 (#7829) - Bump github.com/golangci/golangci-lint from 1.44.0 to 1.44.2 (#7854) - Bump golangci/golangci-lint-action from 2.5.2 to 3.1.0 (#8026) +- Bump actions/checkout from 2.4.0 to 3 (#8076) +- Bump docker/login-action from 1.13.0 to 1.14.1 (#8075) +- Bump golangci/golangci-lint-action from 2.5.2 to 3.1.0 (#8074) +- Bump google.golang.org/grpc from 1.44.0 to 1.45.0 (#8104) +- Bump github.com/spf13/cobra from 1.3.0 to 1.4.0 (#8109) +- Bump github.com/stretchr/testify from 1.7.0 to 1.7.1 (#8131) +- Bump gaurav-nelson/github-action-markdown-link-check from 1.0.13 to 1.0.14 (#8166) +- Bump docker/build-push-action from 2.9.0 to 2.10.0 (#8167) +- Bump github.com/golangci/golangci-lint from 1.44.2 to 1.45.0 (#8169) +- Bump github.com/golangci/golangci-lint from 1.45.0 to 1.45.2 (#8192) +- Bump github.com/adlio/schema from 1.2.3 to 1.3.0 (#8201) +- Bump github.com/vektra/mockery/v2 from 2.10.0 to 2.10.1 (#8226) +- Bump github.com/vektra/mockery/v2 from 2.10.1 to 2.10.2 (#8246) +- Bump github.com/vektra/mockery/v2 from 2.10.2 to 2.10.4 (#8250) +- Bump github.com/BurntSushi/toml from 1.0.0 to 1.1.0 (#8251) +- Bump github.com/lib/pq from 1.10.4 to 1.10.5 (#8283) +- Bump codecov/codecov-action from 2.1.0 to 3.0.0 (#8306) +- Bump actions/setup-go from 2 to 3 (#8305) +- Bump actions/stale from 4 to 5 (#8304) +- Bump actions/download-artifact from 2 to 3 (#8302) +- Bump actions/upload-artifact from 2 to 3 (#8303) +- Bump github.com/creachadair/tomledit from 0.0.11 to 0.0.13 (#8307) + +### Testing + +- Reduce usage of the MustDefaultLogger constructor (#7960) +- Logger cleanup (#8153) +- KeepInvalidTxsInCache test is invalid +- Fix validator conn executor test backport +- Update mockery mocks +- Fix test test_abci_cli +- Update oss-fuzz build script to match reality (#8296) + +### Abci -### Testing - -- Reduce usage of the MustDefaultLogger constructor (#7960) - -### Abci - - PrepareProposal (#6544) - Vote Extension 1 (#6646) - PrepareProposal-VoteExtension integration [2nd try] (#7821) @@ -784,6 +585,15 @@ - Remove lock protecting calls to the application interface (#7984) - Use no-op loggers in the examples (#7996) - Revert buffer limit change (#7990) +- Synchronize FinalizeBlock with the updated specification (#7983) + +### Abci++ + +- Synchronize PrepareProposal with the newest version of the spec (#8094) +- Remove app_signed_updates (#8128) +- Remove CheckTx call from PrepareProposal flow (#8176) +- Correct max-size check to only operate on added and unmodified (#8242) +- Only include meaningful header fields in data passed-through to application (#8216) ### Abci/client @@ -801,9 +611,20 @@ - Merge tendermint/spec repository into tendermint/tendermint (#7775) +### Autofile + +- Reduce minor panic and docs changes (#8122) +- Remove vestigal close mechanism (#8150) + +### Backport + +- Add basic metrics to the indexer package. (#7250) (#7252) + ### Blocksync - Shutdown cleanup (#7840) +- Drop redundant shutdown mechanisms (#8136) +- Remove intermediate channel (#8140) ### Build @@ -822,11 +643,45 @@ - Bump docker/login-action from 1.12.0 to 1.13.0 (#7890) - Bump prismjs from 1.26.0 to 1.27.0 in /docs (#8022) - Bump url-parse from 1.5.7 to 1.5.10 in /docs (#8023) +- Bump docker/login-action from 1.13.0 to 1.14.1 +- Bump golangci/golangci-lint-action from 2.5.2 to 3.1.0 +- Bump google.golang.org/grpc from 1.41.0 to 1.42.0 (#7218) +- Bump github.com/lib/pq from 1.10.3 to 1.10.4 +- Bump github.com/tendermint/tm-db from 0.6.4 to 0.6.6 (#7285) +- Bump minimist from 1.2.5 to 1.2.6 in /docs (#8196) +- Bump bufbuild/buf-setup-action from 1.1.0 to 1.3.0 (#8199) +- Bump github.com/spf13/viper from 1.9.0 to 1.10.0 (#7435) +- Bump github.com/adlio/schema from 1.2.2 to 1.2.3 (#7436) +- Bump github.com/spf13/cobra from 1.2.1 to 1.3.0 (#7457) +- Bump github.com/rs/zerolog from 1.26.0 to 1.26.1 (#7467) +- Downgrade tm-db from v0.6.7 to v0.6.6 +- Use Go 1.18 to fix issue building curve25519-voi +- Bump bufbuild/buf-setup-action from 1.3.0 to 1.3.1 (#8245) +- Provide base branch to make as variable (#321) +- Implement full release workflow in the release script (#332) +- Use go install instead of go get. (#8299) +- Implement full release workflow in the release script (#332) (#345) +- Implement full release workflow in the release script (#332) (#345) ### Ci - Fix super-linter configuration settings (#7708) - Fix super-linter configuration settings (backport #7708) (#7710) +- Move test execution to makefile (#7372) (#7374) +- Update mergify for tenderdash 0.8 +- Cleanup build/test targets (backport #7393) (#7395) +- Skip docker image builds during PRs (#7397) (#7398) +- Fix super-linter configuration settings (backport #7708) (#7710) +- Fixes for arm builds + +### Cleanup + +- Remove commented code (#8123) + +### Cli + +- Add graceful catches to SIGINT (#8308) +- Simplify resetting commands (#8312) ### Clist @@ -835,6 +690,9 @@ ### Cmd - Avoid package state in cli constructors (#7719) +- Make reset more safe (#8081) +- Cosmetic changes for errors and print statements (#7377) (#7408) +- Add integration test for rollback functionality (backport #7315) (#7369) ### Cmd/debug @@ -847,10 +705,16 @@ ### Config - Add event subscription options and defaults (#7930) +- Add a Deprecation annotation to P2PConfig.Seeds. (#7496) (#7497) +- Default indexer configuration to null (#8222) + +### Confix + +- Clean up and document transformations (#8301) +- Remove mempool.version in v0.36 (#8334) ### Consensus -- Use buffered channel in TestStateFullRound1 (#7668) - Remove unused closer construct (#7734) - Delay start of peer routines (#7753) - Delay start of peer routines (backport of #7753) (#7760) @@ -865,6 +729,25 @@ - TestReactorValidatorSetChanges test fix (#7985) - Make orchestration more reliable for invalid precommit test (#8013) - Validator set changes test cleanup (#8035) +- Improve wal test cleanup (#8059) +- Fix TestInvalidState race and reporting (#8071) +- Ensure the node terminates on consensus failure (#8111) +- Avoid extra close channel (#8144) +- Avoid persistent kvstore in tests (#8148) +- Avoid race in accessing channel (#8149) +- Skip channel close during shutdown (#8155) +- Change lock handling in reactor and handleMsg for RoundState (forward-port #7994 #7992) (#8139) +- Reduce size of test fixtures and logging rate (#8172) +- Avoid panic during shutdown (#8170) +- Cleanup tempfile explictly (#8184) +- Add leaktest check to replay tests (#8185) +- Update state machine to use the new consensus params (#8181) +- Add some more checks to vote counting (#7253) (#7262) +- Timeout params in toml used as overrides (#8186) +- Additional timing metrics (backport #7849) (#7875) +- Remove string indented function (#8257) +- Avoid panics during handshake (#8266) +- Add nil check to gossip routine (#8288) ### Context @@ -874,10 +757,22 @@ - Plumb logging instance (#7958) - Change ci network configuration (#7988) +- Stabilize validator update form (#7340) (#7351) +- Clarify apphash reporting (#7348) (#7352) +- Generate keys for more stable load (#7344) (#7353) +- App hash test cleanup (0.35 backport) (#7350) +- Fix hashing for app + Fix logic of TestApp_Hash (#8229) + +### Events + +- Remove service aspects of event switch (#8146) +- Remove unused event code (#8313) ### Evidence - Refactored the evidence message to process Evidence instead of EvidenceList (#7700) +- Manage and initialize state objects more clearly in the pool (#8080) +- Remove source of non-determinism from test (#7266) (#7268) ### Github @@ -888,13 +783,34 @@ - Skip Docker tests when Docker is not available (#7814) +### Internal/libs/protoio + +- Optimize MarshalDelimited by plain byteslice allocations+sync.Pool (#7325) (#7426) + +### Internal/proxy + +- Add initial set of abci metrics backport (#7342) + +### Keymigrate + +- Fix decoding of block-hash row keys (#8294) + ### Libs/cli - Clean up package (#7806) +### Libs/clist + +- Remove unused surface area (#8134) + ### Libs/events - Remove unused event cache (#7807) +- Remove unneccessary unsubscription code (#8135) + +### Libs/log + +- Remove Must constructor (#8120) ### Libs/service @@ -911,6 +827,12 @@ - Remove legacy timeout scheme (#7776) - Remove legacy timeout scheme (backport #7776) (#7786) - Avert a data race (#7888) +- Remove untracked close channel (#8228) + +### Lint + +- Remove lll check (#7346) (#7357) +- Bump linter version in ci (#8234) ### Logging @@ -928,6 +850,8 @@ - Remove duplicate tx message from reactor logs (#7795) - Fix benchmark CheckTx for hitting the GetEvictableTxs call (#7796) - Use checktx sync calls (#7868) +- Test harness should expose application (#8143) +- Reduce size of test (#8152) ### Mempool+evidence @@ -937,11 +861,27 @@ - Add metric for proposal timestamp difference (#7709) +### Migration + +- Remove stale seen commits (#8205) + ### Node - Allow orderly shutdown if context is canceled and gensis is in the future (#7817) - Clarify unneccessary logic in seed constructor (#7818) - Hook up eventlog and eventlog metrics (#7981) +- Excise node handle within rpc env (#8063) +- Nodes should fetch state on startup (#8062) +- Pass eventbus at construction time (#8084) +- Cleanup evidence db (#8119) +- Always sync with the application at startup (#8159) +- Remove channel and peer update initialization from construction (#8238) +- Reorder service construction (#8262) +- Move handshake out of constructor (#8264) + +### Node+statesync + +- Normalize initialization (#8275) ### P2p @@ -957,36 +897,56 @@ - Plumb rudamentary service discovery to rectors and update statesync (backport #8030) (#8036) - Re-enable tests previously disabled (#8049) - Update shim to transfer information about peers (#8047) +- Update polling interval calculation for PEX requests (#8106) +- Remove unnecessary panic handling in PEX reactor (#8110) +- Adjust max non-persistent peer score (#8137) +- Reduce peer score for dial failures (backport #7265) (#7271) +- Plumb rudamentary service discovery to rectors and update statesync (backport #8030) (#8036) +- Update shim to transfer information about peers (#8047) +- Inject nodeinfo into router (#8261) -### P2p/message +### P2p+flowrate -- Changed evidence message to contain evidence, not a list… (#394) +- Rate control refactor (#7828) -### Params +### P2p/message -- Increase default synchrony params (#7704) +- Changed evidence message to contain evidence, not a list… (#394) ### Proto - Merge the proposer-based timestamps parameters (#393) - Abci++ changes (#348) +- Update proto generation to use buf (#7975) ### Proxy - Fix endblock metric (#7989) +- Collapse triforcated abci.Client (#8067) ### Pubsub - Check for termination in UnsubscribeAll (#7820) +- Report a non-nil error when shutting down. (#7310) +- [minor] remove unused stub method (#8316) + +### Readme + +- Add vocdoni (#8117) ### Rfc - P2p light client (#7672) +- RFC 015 ABCI++ Tx Mutation (#8033) ### Roadmap - Update to better reflect v0.36 changes (#7774) +### Rollback + +- Cleanup second node during test (#8175) + ### Rpc - Add application info to `status` call (#7701) @@ -1005,6 +965,10 @@ - Implement the eventlog defined by ADR 075 (#7825) - Implement the ADR 075 /events method (#7965) - Set a minimum long-polling interval for Events (#8050) +- Backport experimental buffer size control parameters from #7230 (tm v0.35.x) (#7276) +- Implement header and header_by_hash queries (backport #7270) (#7367) +- Add more nil checks in the status end point (#8287) +- Avoid leaking threads (#8328) ### Rpc/client @@ -1012,9 +976,15 @@ - Rewrite the WaitForOneEvent helper (#7986) - Add eventstream helper (#7987) +### Scmigrate + +- Ensure target key is correctly renamed (#8276) + ### Service - Change stop interface (#7816) +- Add NopService and use for PexReactor (#8100) +- Minor cleanup of comments (#8314) ### Spec @@ -1025,6 +995,11 @@ ### State - Synchronize the ProcessProposal implementation with the latest version of the spec (#7961) +- Avoid panics for marshaling errors (#8125) +- Panic on ResponsePrepareProposal validation error (#8145) +- Propogate error from state store (#8171) +- Avoid premature genericism (#8224) +- Remove unused weighted time (#8315) ### Statesync @@ -1033,6 +1008,15 @@ - Assert app version matches (backport #7856) (#7886) - Avoid compounding retry logic for fetching consensus parameters (#8032) - Avoid compounding retry logic for fetching consensus parameters (backport #8032) (#8041) +- Avoid leaking a thread during tests (#8085) +- Assert app version matches (backport #7856) (#7886) +- Avoid compounding retry logic for fetching consensus parameters (backport #8032) (#8041) +- Merge channel processing (#8240) +- Tweak test performance (#8267) + +### Statesync+blocksync + +- Move event publications into the sync operations (#8274) ### Sync+p2p @@ -1044,12 +1028,16 @@ - Remove nested evidence field from block (#7765) - Add string format to 64-bit integer JSON fields (#7787) - Add default values for the synchrony parameters (#7788) +- Update synchrony params to match checked in proto (#8142) +- Minor cleanup of un or minimally used types (#8154) +- Add TimeoutParams into ConsensusParams structs (#8177) +- Fix path handling in node key tests (#7493) (#7502) ### Types/events+evidence - Emit events + metrics on evidence validation (#7802) -## [0.35.1] - 2022-01-26 +## [0.7.0] - 2022-01-27 ### ABCI++ @@ -1066,6 +1054,14 @@ ### Bug Fixes +- Accessing validator state safetly +- Safe state access in TestValidProposalChainLocks +- Safe state access in TestReactorInvalidBlockChainLock +- Safe state access in TestReactorInvalidBlockChainLock +- Seeds should not hang when disconnected from all nodes +- Change CI testnet config from ci.toml on dashcore.toml +- Update the title of pipeline task +- Ensure seed at least once connects to another seed (#200) - Panic on precommits does not have any +2/3 votes - Improved error handling in DashCoreSignerClient - Abci/example, cmd and test packages were fixed after the upstream backport @@ -1076,6 +1072,18 @@ ### Documentation +- Add roadmap to repo (#7107) +- Add reactor sections (#6510) +- Add reactor sections (backport #6510) (#7151) +- Fix broken links and layout (#7154) +- Fix broken links and layout (#7154) (#7163) +- Set up Dependabot on new backport branches. (#7227) +- Update bounty links (#7203) +- Add description about how to keep validators public keys at full node +- Add information how to sue preset for network generation +- Change a type of code block +- Add upgrading info about node service (#7241) +- Add upgrading info about node service (#7241) (#7242) - Clarify where doc site config settings must land (#7289) - Add abci timing metrics to the metrics docs (#7311) - Go tutorial fixed for 0.35.0 version (#7329) (#7330) @@ -1086,6 +1094,10 @@ ### Features +- Add two more CI pipeline tasks to run e2e rotate.toml +- Reset full-node pub-keys +- Manual backport the upstream commit b69ac23fd20bdc00dea00c7c8a69fa66f2e675a9 +- Update CHANGELOG_PENDING.md - Improve logging for better elasticsearch compatibility (#220) - InitChain can set initial core lock height (#222) - Add empty block on h-1 and h-2 apphash change (#241) @@ -1098,6 +1110,7 @@ - Release script and initial changelog (#250) - [**breaking**] Bump ABCI version and update release.sh to change TMVersionDefault automatically (#253) - Eliminate compile errors after backport of tendermint 0.35 (#238) +- Update changelog and version to 0.7.0 ### PBTS @@ -1114,10 +1127,19 @@ ### Refactor +- Minor formatting improvements - Apply peer review feedback ### Security +- Bump actions/checkout from 2.3.4 to 2.3.5 (#7139) +- Bump prismjs from 1.23.0 to 1.25.0 in /docs (#7168) +- Bump postcss from 7.0.35 to 7.0.39 in /docs (#7167) +- Bump ws from 6.2.1 to 6.2.2 in /docs (#7165) +- Bump path-parse from 1.0.6 to 1.0.7 in /docs (#7164) +- Bump url-parse from 1.5.1 to 1.5.3 in /docs (#7166) +- Bump actions/checkout from 2.3.5 to 2.4.0 (#7199) +- Bump github.com/golangci/golangci-lint from 1.42.1 to 1.43.0 (#7219) - Bump google.golang.org/grpc from 1.41.0 to 1.42.0 (#7200) - Bump github.com/lib/pq from 1.10.3 to 1.10.4 (#7261) - Bump github.com/tendermint/tm-db from 0.6.4 to 0.6.6 (#7287) @@ -1137,6 +1159,11 @@ ### Testing +- Regenerate remote_client mock +- Get rid of workarounds for issues fixed in 0.6.1 +- Clean up databases in tests (#6304) +- Improve cleanup for data and disk use (#6311) +- Close db in randConsensusNetWithPeers, just as it is in randConsensusNet - Ensure commit stateid in wal is OK - Add testing.T logger connector (#7447) - Use scoped logger for all public packages (#7504) @@ -1153,6 +1180,7 @@ ### Abci +- Fix readme link (#7173) - Socket server shutdown response handler (#7547) ### Abci/client @@ -1179,10 +1207,25 @@ ### Blocksync +- Remove v0 folder structure (#7128) - Standardize construction process (#7531) +### Buf + +- Modify buf.yml, add buf generate (#5653) +- Modify buf.yml, add buf generate (#5653) + ### Build +- Bump rtCamp/action-slack-notify from 2.1.1 to 2.2.0 +- Fix proto-lint step in Makefile +- Fix proto-lint step in Makefile +- Bump github.com/rs/zerolog from 1.25.0 to 1.26.0 (#7192) +- Github workflows: fix dependabot and code coverage (#191) +- Bump github.com/adlio/schema from 1.1.13 to 1.1.14 +- Bump github.com/adlio/schema from 1.1.13 to 1.1.14 (#7217) +- Bump github.com/golangci/golangci-lint (#7224) +- Bump github.com/rs/zerolog from 1.25.0 to 1.26.0 (#7222) - Bump google.golang.org/grpc from 1.41.0 to 1.42.0 (#7218) - Bump github.com/lib/pq from 1.10.3 to 1.10.4 - Run e2e tests in parallel @@ -1227,6 +1270,8 @@ ### Ci +- Update dependabot configuration (#7204) +- Backport lint configuration changes (#7226) - Move test execution to makefile (#7372) - Move test execution to makefile (#7372) (#7374) - Cleanup build/test targets (#7393) @@ -1249,11 +1294,15 @@ ### Config +- WriteConfigFile should return error (#7169) +- Expose ability to write config to arbitrary paths (#7174) +- Backport file writing changes (#7182) - Add a Deprecation annotation to P2PConfig.Seeds. (#7496) - Add a Deprecation annotation to P2PConfig.Seeds. (#7496) (#7497) ### Consensus +- Remove stale WAL benchmark (#7194) - Add some more checks to vote counting (#7253) - Add some more checks to vote counting (#7253) (#7262) - Remove reactor options (#7526) @@ -1266,6 +1315,7 @@ - Check proposal non-nil in prevote message delay metric (#7625) (#7632) - Use delivertxsync (#7616) - Fix height advances in test state (#7648) +- Use buffered channel in TestStateFullRound1 (#7668) ### Consensus+p2p @@ -1281,6 +1331,10 @@ ### E2e +- Always enable blocksync (#7144) +- Avoid unset defaults in generated tests (#7145) +- Evidence test refactor (#7146) +- Add option to dump and analyze core dumps - Control access to state in Info calls (#7345) - More clear height test (#7347) - Stabilize validator update form (#7340) @@ -1313,6 +1367,14 @@ - Remove source of non-determinism from test (#7266) (#7268) - Reactor constructor (#7533) +### Flowrate + +- Cleanup unused files (#7158) + +### Fuzz + +- Remove fuzz cases for deleted code (#7187) + ### Internal/libs - Delete unused functionality (#7569) @@ -1345,6 +1407,7 @@ ### Light +- Fix panic when empty commit is received from server - Remove global context from tests (#7505) - Avoid panic for integer underflow (#7589) - Remove test panic (#7588) @@ -1354,6 +1417,7 @@ ### Lint +- Cleanup branch lint errors (#7238) - Remove lll check (#7346) - Remove lll check (#7346) (#7357) @@ -1369,12 +1433,17 @@ ### Mempool +- Remove panic when recheck-tx was not sent to ABCI application (#7134) +- Remove panic when recheck-tx was not sent to ABCI application (#7134) (#7142) +- Port reactor tests from legacy implementation (#7162) +- Consoldate implementations (#7171) - Avoid arbitrary background contexts (#7409) - Refactor mempool constructor (#7530) - Reactor concurrency test tweaks (#7651) ### Node +- Cleanup construction (#7191) - Minor package cleanups (#7444) - New concrete type for seed node implementation (#7521) - Move seed node implementation to its own file (#7566) @@ -1396,8 +1465,21 @@ - Rpc environment should own it's creation (#7573) +### Node,blocksync,config + +- Remove support for running nodes with blocksync disabled (#7159) + ### P2p +- Refactor channel description (#7130) +- Channel shim cleanup (#7129) +- Flatten channel descriptor (#7132) +- Simplify open channel interface (#7133) +- Remove final shims from p2p package (#7136) +- Use correct transport configuration (#7152) +- Add message type into the send/recv bytes metrics (#7155) +- Transport should be captive resposibility of router (#7160) +- Add message type into the send/recv bytes metrics (backport #7155) (#7161) - Reduce peer score for dial failures (#7265) - Reduce peer score for dial failures (backport #7265) (#7271) - Remove unused trust package (#7359) @@ -1413,8 +1495,16 @@ - Remove unused functionality (#7379) +### Params + +- Increase default synchrony params (#7704) + ### Pex +- Remove legacy proto messages (#7147) +- Allow disabled pex reactor (#7198) +- Allow disabled pex reactor (backport #7198) (#7201) +- Avoid starting reactor twice (#7239) - Improve goroutine lifecycle (#7343) - Regularize reactor constructor (#7532) - Avert a data race on map access in the reactor (#7614) @@ -1442,6 +1532,11 @@ ### Pubsub +- Simplify and improve server concurrency handling (#7070) +- Use distinct client IDs for test subscriptions. (#7178) +- Use distinct client IDs for test subscriptions. (#7178) (#7179) +- Use a dynamic queue for buffered subscriptions (#7177) +- Remove uninformative publisher benchmarks. (#7195) - Move indexing out of the primary subscription path (#7231) - Report a non-nil error when shutting down. (#7310) - Make the queue unwritable after shutdown. (#7316) @@ -1496,6 +1591,8 @@ ### State +- Add height assertion to rollback function (#7143) +- Add height assertion to rollback function (#7143) (#7148) - Pass connected context (#7410) ### Statesync @@ -1513,6 +1610,7 @@ ### Tools +- Clone proto files from spec (#6976) - Remove tm-signer-harness (#7370) ### Tools/tm-signer-harness @@ -1527,7864 +1625,4573 @@ - Tests should not panic (#7506) - Rename and extend the EventData interface (#7687) -## [0.35.0] - 2021-11-04 +## [0.6.0] - 2021-10-14 + +### .github + +- Remove tessr and bez from codeowners (#7028) ### Bug Fixes -- Change CI testnet config from ci.toml on dashcore.toml -- Update the title of pipeline task -- Ensure seed at least once connects to another seed (#200) +- Amd64 build and arm build ci +- State sync locks when trying to retrieve AppHash +- Set correct LastStateID when updating block +- StateID - update tests (WIP, some still red) +- Ractor should validate StateID correctly + other fixes +- StateID in light client implementation +- Tests sometimes fail on connection attempt +- App hash size validation + remove unused code +- Invalid generation of tmproto.StateID request id +- State sync locks when trying to retrieve AppHash +- Correctly handle state ID of initial block +- Don't use state to verify blocks from mempool +- Incorrect state id for first block +- AppHashSize is inconsistent +- Support initial height != 1 +- E2e: workaround for "chain stalled at unknown height" +- Update dashcore network config, add validator01 to validator_update.0 and add all available validators to 1010 height +- Cleanup e2e Readme.md +- Remove height 1008 from dashcore +- Race condition in p2p_switch and pex_reactor (#7015) +- Race condition in p2p_switch and pex_reactor (#7015) +- Fix MD after the lint +- To avoid potential race conditions the validator-set-update is needed to copy rather than using the pointer to the field at PersistentKVStoreApplication, 'cause it leads to a race condition +- Update a comment block ### Documentation -- Set up Dependabot on new backport branches. (#7227) -- Update bounty links (#7203) -- Add description about how to keep validators public keys at full node -- Add information how to sue preset for network generation -- Change a type of code block -- Add upgrading info about node service (#7241) -- Add upgrading info about node service (#7241) (#7242) +- Fix typo (#6789) +- Fix a typo in the genesis_chunked description (#6792) +- Upgrade documentation for custom mempools (#6794) +- Fix typos in /tx_search and /tx. (#6823) +- Add package godoc for indexer (#6839) +- Remove return code in normal case from go built-in example (#6841) +- Fix a typo in the indexing section (#6909) +- Add documentation of unsafe_flush_mempool to openapi (#6947) +- Fix openapi yaml lint (#6948) +- State ID +- State-id.md typos and grammar +- Remove invalid info about initial state id +- Add some code comments +- ADR: Inter Validator Set Messaging +- Adr-d001: apllied feedback, added additional info +- Adr-d001 clarified abci protocol changes +- Adr-d001 describe 3 scenarios and minor restructure +- Adr-d001: clarify terms based on peer review +- Create separate releases doc (#7040) +- Adr-d001 apply peer review comments +- StateID verification algorithm ### Features -- Add two more CI pipeline tasks to run e2e rotate.toml -- Reset full-node pub-keys -- Manual backport the upstream commit b69ac23fd20bdc00dea00c7c8a69fa66f2e675a9 -- Update CHANGELOG_PENDING.md - -### Refactor +- [**breaking**] Proposed app version (#148) +- Info field with arbitrary data to ResultBroadcastTx +- Add ProposedBlockGTimeWindow in a config +- Fix coping of PubKey pointer +- Use proto.Copy function to copy a message -- Minor formatting improvements +### Fix -### Security +- Benchmark tests slow down light client tests -- Bump actions/checkout from 2.3.5 to 2.4.0 (#7199) -- Bump github.com/golangci/golangci-lint from 1.42.1 to 1.43.0 (#7219) +### Miscellaneous Tasks -### Testing +- Bump tenderdash version to 0.6.0-dev.1 +- Bump version to 0.6.0 (#185) -- Clean up databases in tests (#6304) -- Improve cleanup for data and disk use (#6311) -- Close db in randConsensusNetWithPeers, just as it is in randConsensusNet +### Refactor -### Build +- E2e docker: build bls in separate layer +- Golangci-lint + minor test improvements +- Minor formatting updates +- E2e docker: build bls in separate layer +- Add ErrInvalidVoteSignature +- S/GetStateID()/StateID()/ +- Code style changes after peer review +- Move stateid to separate file +- Remove unused message CanonicalStateVote +- Use types instead of pb StateID in SignVote and Evidence +- Inverse behaviour of resetting fullnode pubkeys from FULLNODE_PUBKEY_RESET to FULLNODE_PUBKEY_KEEP env +- Add runner/rotate task to simplify running rotate network +- Assignment copies lock value (#7108) -- Bump github.com/rs/zerolog from 1.25.0 to 1.26.0 (#7192) -- Github workflows: fix dependabot and code coverage (#191) -- Bump github.com/adlio/schema from 1.1.13 to 1.1.14 -- Bump github.com/adlio/schema from 1.1.13 to 1.1.14 (#7217) -- Bump github.com/golangci/golangci-lint (#7224) -- Bump github.com/rs/zerolog from 1.25.0 to 1.26.0 (#7222) +### Security -### Ci +- Bump google.golang.org/grpc from 1.39.0 to 1.39.1 (#6801) +- Bump google.golang.org/grpc from 1.39.1 to 1.40.0 (#6819) +- Bump github.com/rs/zerolog from 1.24.0 to 1.25.0 (#6923) -- Update dependabot configuration (#7204) -- Backport lint configuration changes (#7226) +### Testing -### Consensus +- Add mechanism to reproduce found fuzz errors (#6768) +- Install abci-cli when running make tests_integrations (#6834) +- Add StateID unit tests +- Check if wrong state ID fails VoteAdd() +- Fix: TestStateBadProposal didn't copy slices correctly +- TestHandshakePanicsIfAppReturnsWrongAppHash fixed +- Change apphash for every message +- Workaround for e2e tests starting too fast +- Consensus tests use random initial height +- Non-nil genesis apphash in genesis tests +- Add tests for initial height != 1 to consensus +- Fix: replay_test.go fails due to invalid height processing +- Add some StateID AppHash and Height assertions +- StateID verify with blocks N and N+1 +- Cleanup rpc/client and node test fixtures (#7112) +- Install abci-cli when running make tests_integrations (#6834) -- Remove stale WAL benchmark (#7194) +### Abci -### E2e +- Add changelog entry for mempool_error field (#6770) +- Clarify what abci stands for (#336) +- Clarify connection use in-process (#337) +- Change client to use multi-reader mutexes (backport #6306) (#6873) +- Flush socket requests and responses immediately. (#6997) +- Change client to use multi-reader mutexes (backport #6306) (#6873) -- Add option to dump and analyze core dumps +### Add -### Fuzz +- Update e2e doc -- Remove fuzz cases for deleted code (#7187) +### Adr -### Lint +- Node initialization (#6562) -- Cleanup branch lint errors (#7238) +### Blockchain -### Node +- Rename to blocksync service (#6755) -- Cleanup construction (#7191) +### Blockstore -### Pex +- Fix problem with seen commit (#6782) -- Allow disabled pex reactor (#7198) -- Allow disabled pex reactor (backport #7198) (#7201) -- Avoid starting reactor twice (#7239) +### Blocksync -### Pubsub +- Complete transition from Blockchain to BlockSync (#6847) +- Fix shutdown deadlock issue (#7030) -- Use a dynamic queue for buffered subscriptions (#7177) -- Remove uninformative publisher benchmarks. (#7195) +### Blocksync/v2 -## [0.35.0-rc4] - 2021-10-29 +- Remove unsupported reactor (#7046) -### Bug Fixes +### Build -- Accessing validator state safetly -- Safe state access in TestValidProposalChainLocks -- Safe state access in TestReactorInvalidBlockChainLock -- Safe state access in TestReactorInvalidBlockChainLock -- Seeds should not hang when disconnected from all nodes +- Bump styfle/cancel-workflow-action from 0.9.0 to 0.9.1 (#6786) +- Bump technote-space/get-diff-action from 4 to 5 (#6788) +- Bump github.com/BurntSushi/toml from 0.3.1 to 0.4.1 (#6796) +- Bump github.com/golangci/golangci-lint (#6837) +- Bump docker/build-push-action from 2.6.1 to 2.7.0 (#6845) +- Bump codecov/codecov-action from 2.0.2 to 2.0.3 (#6860) +- Bump github.com/rs/zerolog from 1.23.0 to 1.24.0 (#6874) +- Bump github.com/lib/pq from 1.10.2 to 1.10.3 (#6890) +- Bump docker/setup-buildx-action from 1.5.0 to 1.6.0 (#6903) +- Bump github.com/golangci/golangci-lint (#6907) +- Bump codecov/codecov-action from 2.0.3 to 2.1.0 (#6938) +- Bump github.com/vektra/mockery/v2 from 2.9.0 to 2.9.3 (#6951) +- Bump github.com/vektra/mockery/v2 from 2.9.3 to 2.9.4 (#6956) +- Bump github.com/spf13/viper from 1.8.1 to 1.9.0 (#6961) +- E2e docker app can be run with dlv debugger +- Improve e2e docker container debugging +- Bump github.com/go-kit/kit from 0.11.0 to 0.12.0 (#6988) +- Bump google.golang.org/grpc from 1.40.0 to 1.41.0 (#7003) +- Update all deps to most recent version +- Bump github.com/adlio/schema from 1.1.13 to 1.1.14 (#7069) +- Replace github.com/go-kit/kit/log with github.com/go-kit/log +- Fix build-docker to include the full context. (#7114) +- Fix build-docker to include the full context. (#7114) (#7116) -### Documentation +### Bytes -- Add roadmap to repo (#7107) -- Add reactor sections (#6510) -- Add reactor sections (backport #6510) (#7151) -- Fix broken links and layout (#7154) -- Fix broken links and layout (#7154) (#7163) +- Clean up and simplify encoding of HexBytes (#6810) -### Security +### Changelog -- Bump actions/checkout from 2.3.4 to 2.3.5 (#7139) -- Bump prismjs from 1.23.0 to 1.25.0 in /docs (#7168) -- Bump postcss from 7.0.35 to 7.0.39 in /docs (#7167) -- Bump ws from 6.2.1 to 6.2.2 in /docs (#7165) -- Bump path-parse from 1.0.6 to 1.0.7 in /docs (#7164) -- Bump url-parse from 1.5.1 to 1.5.3 in /docs (#7166) +- Prepare for v0.34.12 (#6831) +- Update to reflect 0.34.12 release (#6833) +- Linkify the 0.34.11 release notes (#6836) +- Add entry for interanlizations (#6989) +- Add 0.34.14 updates (#7117) -### Testing +### Changelog_pending -- Regenerate remote_client mock -- Get rid of workarounds for issues fixed in 0.6.1 +- Add missing item (#6829) +- Add missing entry (#6830) -### Abci +### Ci -- Fix readme link (#7173) +- Drop codecov bot (#6917) +- Tweak code coverage settings (#6920) +- Disable codecov patch status check (#6930) +- Skip coverage for non-go changes (#6927) +- Skip coverage tasks for test infrastructure (#6934) +- Reduce number of groups for 0.34 e2e runs (#6968) +- Use smart merges (#6993) +- Use cheaper codecov data collection (#7009) +- Mergify support for 0.35 backports (#7050) +- 0.35.x nightly should run from master and checkout the release branch (#7067) +- Fix p2p configuration for e2e tests (#7066) +- Use run-multiple.sh for e2e pr tests (#7111) -### Blocksync +### Cleanup -- Remove v0 folder structure (#7128) +- Remove redundant error plumbing (#6778) +- Fix order of linters in the golangci-lint config (#6910) +- Reduce and normalize import path aliasing. (#6975) +- Remove not needed binary test/app/grpc_client -### Buf +### Cli -- Modify buf.yml, add buf generate (#5653) -- Modify buf.yml, add buf generate (#5653) +- Allow node operator to rollback last state (#7033) +- Allow node operator to rollback last state (backport #7033) (#7081) -### Build +### Cli/indexer -- Bump rtCamp/action-slack-notify from 2.1.1 to 2.2.0 -- Fix proto-lint step in Makefile -- Fix proto-lint step in Makefile +- Reindex events (#6676) -### Config +### Clist -- WriteConfigFile should return error (#7169) -- Expose ability to write config to arbitrary paths (#7174) -- Backport file writing changes (#7182) +- Add simple property tests (#6791) -### E2e +### Cmd -- Always enable blocksync (#7144) -- Avoid unset defaults in generated tests (#7145) -- Evidence test refactor (#7146) +- Remove deprecated snakes (#6854) -### Flowrate +### Commands -- Cleanup unused files (#7158) +- Add key migration cli (#6790) -### Light +### Config -- Fix panic when empty commit is received from server +- Add example on external_address (backport #6621) (#6624) -### Mempool +### Config/docs -- Remove panic when recheck-tx was not sent to ABCI application (#7134) -- Remove panic when recheck-tx was not sent to ABCI application (#7134) (#7142) -- Port reactor tests from legacy implementation (#7162) -- Consoldate implementations (#7171) +- Update and deprecated (#6879) -### Node,blocksync,config +### Consensus -- Remove support for running nodes with blocksync disabled (#7159) +- Avoid unbuffered channel in state test (#7025) +- Wait until peerUpdates channel is closed to close remaining peers (#7058) +- Wait until peerUpdates channel is closed to close remaining peers (#7058) (#7060) -### P2p +### Contributing -- Refactor channel description (#7130) -- Channel shim cleanup (#7129) -- Flatten channel descriptor (#7132) -- Simplify open channel interface (#7133) -- Remove final shims from p2p package (#7136) -- Use correct transport configuration (#7152) -- Add message type into the send/recv bytes metrics (#7155) -- Transport should be captive resposibility of router (#7160) -- Add message type into the send/recv bytes metrics (backport #7155) (#7161) +- Update release instructions to use backport branches (#6827) +- Remove release_notes.md reference (#6846) -### Pex +### Core -- Remove legacy proto messages (#7147) +- Text cleanup (#332) -### Pubsub +### Crypto/armor -- Simplify and improve server concurrency handling (#7070) -- Use distinct client IDs for test subscriptions. (#7178) -- Use distinct client IDs for test subscriptions. (#7178) (#7179) +- Remove unused package (#6963) -### State +### E2e -- Add height assertion to rollback function (#7143) -- Add height assertion to rollback function (#7143) (#7148) +- Avoid starting nodes from the future (#6835) +- Avoid starting nodes from the future (#6835) (#6838) +- Cleanup node start function (#6842) +- Cleanup node start function (#6842) (#6848) +- More consistent node selection during tests (#6857) +- Add weighted random configuration selector (#6869) +- More reliable method for selecting node to inject evidence (#6880) +- Change restart mechanism (#6883) +- Weight protocol dimensions (#6884) +- Skip light clients when waiting for height (#6891) +- Wait for all nodes rather than just one (#6892) +- Skip assertions for stateless nodes (#6894) +- Clean up generation of evidence (#6904) +- Introduce canonical ordering of manifests (#6918) +- Load generation and logging changes (#6912) +- Increase retain height to at least twice evidence age (#6924) +- Test multiple broadcast tx methods (#6925) +- Compile tests (#6926) +- Improve p2p mode selection (#6929) +- Reduce load volume (#6932) +- Slow load processes with longer evidence timeouts (#6936) +- Reduce load pressure (#6939) +- Tweak semantics of waitForHeight (#6943) +- Skip broadcastTxCommit check (#6949) +- Allow load generator to succed for short tests (#6952) +- Cleanup on all errors if preserve not specified (#6950) +- Run multiple should use preserve (#6972) +- Improve manifest sorting algorithim (#6979) +- Only check validator sets after statesync (#6980) +- Always preserve failed networks (#6981) +- Load should be proportional to network (#6983) +- Avoid non-determinism in app hash check (#6985) +- Tighten timing for load generation (#6990) +- Skip validation of status apphash (#6991) +- Do not inject evidence through light proxy (#6992) +- Add limit and sort to generator (#6998) +- Reduce number of statesyncs in test networks (#6999) +- Improve chances of statesyncing success (#7001) +- Allow running of single node using the e2e app (#6982) +- Reduce log noise (#7004) +- Avoid seed nodes when statesyncing (#7006) +- Add generator tests (#7008) +- Reduce number of stateless nodes in test networks (#7010) +- Use smaller transactions (#7016) +- Use network size in load generator (#7019) +- Generator ensure p2p modes (#7021) +- Automatically prune old app snapshots (#7034) +- Automatically prune old app snapshots (#7034) (#7063) +- Improve network connectivity (#7077) +- Abci protocol should be consistent across networks (#7078) +- Abci protocol should be consistent across networks (#7078) (#7086) +- Light nodes should use builtin abci app (#7095) +- Light nodes should use builtin abci app (#7095) (#7097) +- Disable app tests for light client (#6672) +- Avoid starting nodes from the future (#6835) (#6838) +- Cleanup node start function (#6842) (#6848) -### Tools +### Evidence -- Clone proto files from spec (#6976) +- Add section explaining evidence (#324) -## [0.6.0] - 2021-10-14 +### Inspect -### Documentation +- Add inspect mode for debugging crashed tendermint node (#6785) +- Remove duplicated construction path (#6966) -- StateID verification algorithm +### Internal/consensus -### Miscellaneous Tasks +- Update error log (#6863) +- Update error log (#6863) (#6867) +- Update error log (#6863) (#6867) -- Bump version to 0.6.0 (#185) +### Internal/proxy -### Refactor +- Add initial set of abci metrics (#7115) -- Assignment copies lock value (#7108) +### Light -### Testing +- Wait for tendermint node to start before running example test (#6744) +- Replace homegrown mock with mockery (#6735) +- Fix early erroring (#6905) +- Update initialization description (#320) +- Update links in package docs. (#7099) +- Update links in package docs. (#7099) (#7101) +- Fix early erroring (#6905) -- StateID verify with blocks N and N+1 -- Cleanup rpc/client and node test fixtures (#7112) -- Install abci-cli when running make tests_integrations (#6834) +### Lint -### Abci +- Change deprecated linter (#6861) +- Fix collection of stale errors (#7090) -- Change client to use multi-reader mutexes (backport #6306) (#6873) +### Mempool,rpc -### Build +- Add removetx rpc method (#7047) +- Add removetx rpc method (#7047) (#7065) -- Replace github.com/go-kit/kit/log with github.com/go-kit/log -- Fix build-docker to include the full context. (#7114) -- Fix build-docker to include the full context. (#7114) (#7116) +### Mempool/v1 -### Changelog +- Test reactor does not panic on broadcast (#6772) -- Add 0.34.14 updates (#7117) +### Network -### Ci +- Update terraform config (#6901) -- Use run-multiple.sh for e2e pr tests (#7111) +### Networks -### Cleanup - -- Remove not needed binary test/app/grpc_client - -### Cli - -- Allow node operator to rollback last state (#7033) -- Allow node operator to rollback last state (backport #7033) (#7081) +- Update to latest DigitalOcean modules (#6902) -### Config +### Node -- Add example on external_address (backport #6621) (#6624) +- Minimize hardcoded service initialization (#6798) +- Always close database engine (#7113) -### E2e +### P2p -- Improve network connectivity (#7077) -- Abci protocol should be consistent across networks (#7078) -- Abci protocol should be consistent across networks (#7078) (#7086) -- Light nodes should use builtin abci app (#7095) -- Light nodes should use builtin abci app (#7095) (#7097) -- Disable app tests for light client (#6672) -- Avoid starting nodes from the future (#6835) (#6838) -- Cleanup node start function (#6842) (#6848) +- Add test for pqueue dequeue full error (#6760) +- Change default to use new stack (#6862) +- Delete legacy stack initial pass (#7035) +- Remove wdrr queue (#7064) +- Cleanup transport interface (#7071) +- Cleanup unused arguments (#7079) +- Rename pexV2 to pex (#7088) +- Fix priority queue bytes pending calculation (#7120) -### Internal/consensus +### Pex -- Update error log (#6863) (#6867) +- Update pex messages (#352) -### Internal/proxy +### Proto -- Add initial set of abci metrics (#7115) +- Move proto files under the correct directory related to their package name (#344) +- Add tendermint go changes (#349) +- Regenerate code (#6977) -### Light +### Proxy -- Update links in package docs. (#7099) -- Update links in package docs. (#7099) (#7101) -- Fix early erroring (#6905) +- Move proxy package to internal (#6953) -### Lint +### Psql -- Fix collection of stale errors (#7090) +- Add documentation and simplify constructor API (#6856) -### Node +### Pubsub -- Always close database engine (#7113) +- Unsubscribe locking handling (#6816) +- Improve handling of closed blocking subsciptions. (#6852) -### P2p +### Readme -- Cleanup transport interface (#7071) -- Cleanup unused arguments (#7079) -- Rename pexV2 to pex (#7088) -- Fix priority queue bytes pending calculation (#7120) +- Update discord links (#6965) -### Pex +### Rfc -- Update pex messages (#352) +- P2p next steps (#6866) +- Fix link style (#6870) +- Database storage engine (#6897) +- E2e improvements (#6941) +- Add performance taxonomy rfc (#6921) +- Fix a few typos and formatting glitches p2p roadmap (#6960) +- Event system (#6957) ### Rpc +- Add documentation for genesis chunked api (#6776) +- Avoid panics in unsafe rpc calls with new p2p stack (#6817) +- Support new p2p infrastructure (#6820) +- Log update (#6825) +- Log update (backport #6825) (#6826) +- Update peer format in specification in NetInfo operation (#331) +- Fix hash encoding in JSON parameters (#6813) +- Strip down the base RPC client interface. (#6971) +- Implement BroadcastTxCommit without event subscriptions (#6984) - Add chunked rpc interface (backport #6445) (#6717) - Move evidence tests to shared fixtures (#7119) - Remove the deprecated gRPC interface to the RPC service (#7121) - Fix typo in broadcast commit (#7124) +### Scripts + +- Fix authors script to take a ref (#7051) + +### State + +- Move package to internal (#6964) + +### State/privval + +- Vote timestamp fix (#6748) +- Vote timestamp fix (backport #6748) (#6783) + ### Statesync +- New messages for gossiping consensus params (#328) +- Improve stateprovider handling in the syncer (backport) (#6881) +- Implement p2p state provider (#6807) +- Shut down node when statesync fails (#6944) +- Clean up reactor/syncer lifecylce (#6995) +- Add logging while waiting for peers (#7007) +- Ensure test network properly configured (#7026) +- Remove deadlock on init fail (#7029) +- Improve rare p2p race condition (#7042) - Improve stateprovider handling in the syncer (backport) (#6881) -## [0.35.0-rc3] - 2021-10-06 +### Statesync/rpc -### Documentation +- Metrics for the statesync and the rpc SyncInfo (#6795) -- Adr-d001: clarify terms based on peer review -- Create separate releases doc (#7040) -- Adr-d001 apply peer review comments +### Store -### Features +- Move pacakge to internal (#6978) -- Use proto.Copy function to copy a message +### Time -### Testing +- Make median time library type private (#6853) -- Add some StateID AppHash and Height assertions +### Tools -### Blocksync/v2 +- Add mockery to tools.go and remove mockery version strings (#6787) -- Remove unsupported reactor (#7046) +### Types -### Build +- Move mempool error for consistency (#6875) -- Bump github.com/adlio/schema from 1.1.13 to 1.1.14 (#7069) +### Upgrading -### Ci +- Add information into the UPGRADING.md for users of the codebase wishing to upgrade (#6898) -- Mergify support for 0.35 backports (#7050) -- 0.35.x nightly should run from master and checkout the release branch (#7067) -- Fix p2p configuration for e2e tests (#7066) +### Version -### Consensus +- Bump for 0.34.12 (#6832) -- Wait until peerUpdates channel is closed to close remaining peers (#7058) -- Wait until peerUpdates channel is closed to close remaining peers (#7058) (#7060) +## [0.5.10] - 2021-07-26 -### E2e +### Testing -- Automatically prune old app snapshots (#7034) -- Automatically prune old app snapshots (#7034) (#7063) +- Add test to reproduce found fuzz errors (#6757) -### Mempool,rpc +### Build -- Add removetx rpc method (#7047) -- Add removetx rpc method (#7047) (#7065) +- Bump golangci/golangci-lint-action from 2.3.0 to 2.5.2 +- Bump codecov/codecov-action from 1.5.2 to 2.0.1 (#6739) +- Bump codecov/codecov-action from 2.0.1 to 2.0.2 (#6764) -### P2p +### E2e -- Delete legacy stack initial pass (#7035) -- Remove wdrr queue (#7064) +- Avoid systematic key-type variation (#6736) +- Drop single node hybrid configurations (#6737) +- Remove cartesian testing of ipv6 (#6734) +- Run tests in fewer groups (#6742) +- Prevent adding light clients as persistent peers (#6743) +- Longer test harness timeouts (#6728) +- Allow for both v0 and v1 mempool implementations (#6752) -### Scripts +### Fastsync/event -- Fix authors script to take a ref (#7051) +- Emit fastsync status event when switching consensus/fastsync (#6619) -## [0.36.0-dev] - 2021-10-04 +### Internal -### .github +- Update blockchain reactor godoc (#6749) -- Remove tessr and bez from codeowners (#7028) +### Light -### Bug Fixes +- Run examples as integration tests (#6745) +- Improve error handling and allow providers to be added (#6733) -- Fix MD after the lint -- To avoid potential race conditions the validator-set-update is needed to copy rather than using the pointer to the field at PersistentKVStoreApplication, 'cause it leads to a race condition -- Update a comment block +### Mempool -### Documentation +- Return mempool errors to the abci client (#6740) -- ADR: Inter Validator Set Messaging -- Adr-d001: apllied feedback, added additional info -- Adr-d001 clarified abci protocol changes -- Adr-d001 describe 3 scenarios and minor restructure +### P2p -### Features +- Add coverage for mConnConnection.TrySendMessage (#6754) +- Avoid blocking on the dequeCh (#6765) -- Fix coping of PubKey pointer +### Statesync/event -### Blocksync +- Emit statesync start/end event (#6700) -- Fix shutdown deadlock issue (#7030) +## [0.5.8] - 2021-07-20 -### Build +### Blockchain -- Update all deps to most recent version +- Error on v2 selection (#6730) -### Consensus +### Clist -- Avoid unbuffered channel in state test (#7025) +- Add a few basic clist tests (#6727) -### E2e +### Libs/clist -- Use network size in load generator (#7019) -- Generator ensure p2p modes (#7021) +- Revert clear and detach changes while debugging (#6731) -### Statesync +### Mempool -- Ensure test network properly configured (#7026) -- Remove deadlock on init fail (#7029) -- Improve rare p2p race condition (#7042) +- Add TTL configuration to mempool (#6715) -## [0.35.0-rc2] - 2021-09-28 +## [0.5.7] - 2021-07-16 ### Bug Fixes -- Amd64 build and arm build ci -- State sync locks when trying to retrieve AppHash -- Set correct LastStateID when updating block -- StateID - update tests (WIP, some still red) -- Ractor should validate StateID correctly + other fixes -- StateID in light client implementation -- Tests sometimes fail on connection attempt -- App hash size validation + remove unused code -- Invalid generation of tmproto.StateID request id -- State sync locks when trying to retrieve AppHash -- Correctly handle state ID of initial block -- Don't use state to verify blocks from mempool -- Incorrect state id for first block -- AppHashSize is inconsistent -- Support initial height != 1 -- E2e: workaround for "chain stalled at unknown height" -- Update dashcore network config, add validator01 to validator_update.0 and add all available validators to 1010 height -- Cleanup e2e Readme.md -- Remove height 1008 from dashcore -- Race condition in p2p_switch and pex_reactor (#7015) -- Race condition in p2p_switch and pex_reactor (#7015) +- Maverick compile issues (#104) +- Private validator key still automatically creating (#120) +- Getting pro tx hash from full node +- Incorrectly assume amd64 arch during docker build +- Image isn't pushed after build ### Documentation -- Add documentation of unsafe_flush_mempool to openapi (#6947) -- Fix openapi yaml lint (#6948) -- State ID -- State-id.md typos and grammar -- Remove invalid info about initial state id -- Add some code comments +- Rename tenderdash and update target repo +- Update events (#6658) +- Add sentence about windows support (#6655) +- Add docs file for the peer exchange (#6665) +- Update github issue and pr templates (#131) +- Fix broken links (#6719) ### Features -- Info field with arbitrary data to ResultBroadcastTx -- Add ProposedBlockGTimeWindow in a config +- Improve initialisation (#117) +- Add arm64 arch for builds -### Fix +### Miscellaneous Tasks -- Benchmark tests slow down light client tests +- Target production dockerhub org +- Use official docker action -### Refactor +### RPC -- E2e docker: build bls in separate layer -- Golangci-lint + minor test improvements -- Minor formatting updates -- E2e docker: build bls in separate layer -- Add ErrInvalidVoteSignature -- S/GetStateID()/StateID()/ -- Code style changes after peer review -- Move stateid to separate file -- Remove unused message CanonicalStateVote -- Use types instead of pb StateID in SignVote and Evidence -- Inverse behaviour of resetting fullnode pubkeys from FULLNODE_PUBKEY_RESET to FULLNODE_PUBKEY_KEEP env -- Add runner/rotate task to simplify running rotate network +- Mark grpc as deprecated (#6725) ### Security -- Bump github.com/rs/zerolog from 1.24.0 to 1.25.0 (#6923) +- Bump github.com/spf13/viper from 1.8.0 to 1.8.1 (#6622) +- Bump github.com/rs/cors from 1.7.0 to 1.8.0 (#6635) +- Bump github.com/go-kit/kit from 0.10.0 to 0.11.0 (#6651) +- Bump github.com/spf13/cobra from 1.2.0 to 1.2.1 (#6650) ### Testing -- Add StateID unit tests -- Check if wrong state ID fails VoteAdd() -- Fix: TestStateBadProposal didn't copy slices correctly -- TestHandshakePanicsIfAppReturnsWrongAppHash fixed -- Change apphash for every message -- Workaround for e2e tests starting too fast -- Consensus tests use random initial height -- Non-nil genesis apphash in genesis tests -- Add tests for initial height != 1 to consensus -- Fix: replay_test.go fails due to invalid height processing +- Add current fuzzing to oss-fuzz-build script (#6576) +- Fix wrong compile fuzzer command (#6579) +- Fix wrong path for some p2p fuzzing packages (#6580) +- Fix non-deterministic backfill test (#6648) ### Abci -- Flush socket requests and responses immediately. (#6997) - -### Add - -- Update e2e doc +- Fix gitignore abci-cli (#6668) +- Remove counter app (#6684) ### Build -- Bump codecov/codecov-action from 2.0.3 to 2.1.0 (#6938) -- Bump github.com/vektra/mockery/v2 from 2.9.0 to 2.9.3 (#6951) -- Bump github.com/vektra/mockery/v2 from 2.9.3 to 2.9.4 (#6956) -- Bump github.com/spf13/viper from 1.8.1 to 1.9.0 (#6961) -- E2e docker app can be run with dlv debugger -- Improve e2e docker container debugging -- Bump github.com/go-kit/kit from 0.11.0 to 0.12.0 (#6988) -- Bump google.golang.org/grpc from 1.40.0 to 1.41.0 (#7003) +- Bump github.com/rs/zerolog from 1.22.0 to 1.23.0 (#6575) +- Bump github.com/spf13/viper from 1.7.1 to 1.8.0 (#6586) +- Bump docker/login-action from 1.9.0 to 1.10.0 (#6614) +- Bump docker/setup-buildx-action from 1.3.0 to 1.4.0 (#6629) +- Bump docker/setup-buildx-action from 1.4.0 to 1.4.1 (#6632) +- Bump google.golang.org/grpc from 1.38.0 to 1.39.0 (#6633) +- Bump github.com/spf13/cobra from 1.1.3 to 1.2.0 (#6640) +- Bump docker/build-push-action from 2.5.0 to 2.6.1 (#6639) +- Bump docker/setup-buildx-action from 1.4.1 to 1.5.0 (#6649) +- Bump gaurav-nelson/github-action-markdown-link-check (#6679) +- Bump github.com/golangci/golangci-lint (#6686) +- Bump gaurav-nelson/github-action-markdown-link-check (#313) +- Bump github.com/google/uuid from 1.2.0 to 1.3.0 (#6708) +- Bump actions/stale from 3.0.19 to 4 (#319) +- Bump actions/stale from 3.0.19 to 4 (#6726) ### Changelog -- Add entry for interanlizations (#6989) +- Have a single friendly bug bounty reminder (#6600) +- Update and regularize changelog entries (#6594) ### Ci -- Drop codecov bot (#6917) -- Tweak code coverage settings (#6920) -- Disable codecov patch status check (#6930) -- Skip coverage for non-go changes (#6927) -- Skip coverage tasks for test infrastructure (#6934) -- Reduce number of groups for 0.34 e2e runs (#6968) -- Use smart merges (#6993) -- Use cheaper codecov data collection (#7009) +- Make ci consistent and push to docker hub +- Trigger docker build on release +- Disable arm build +- Always push to dockerhub +- Test enabling cache +- Test arm build +- Manually trigger build +- Disable arm64 builds +- Set release to workflow dispatch (manual) trigger +- Enable arm64 in CI -### Cleanup +### Cmd/tendermint/commands -- Reduce and normalize import path aliasing. (#6975) +- Replace $HOME/.some/test/dir with t.TempDir (#6623) -### Config/docs +### Config -- Update and deprecated (#6879) +- Add root dir to priv validator (#6585) +- Add example on external_address (#6621) +- Add example on external_address (backport #6621) (#6624) -### Crypto/armor +### Consensus -- Remove unused package (#6963) +- Skip all messages during sync (#6577) -### E2e +### Crypto -- Introduce canonical ordering of manifests (#6918) -- Load generation and logging changes (#6912) -- Increase retain height to at least twice evidence age (#6924) -- Test multiple broadcast tx methods (#6925) -- Compile tests (#6926) -- Improve p2p mode selection (#6929) -- Reduce load volume (#6932) -- Slow load processes with longer evidence timeouts (#6936) -- Reduce load pressure (#6939) -- Tweak semantics of waitForHeight (#6943) -- Skip broadcastTxCommit check (#6949) -- Allow load generator to succed for short tests (#6952) -- Cleanup on all errors if preserve not specified (#6950) -- Run multiple should use preserve (#6972) -- Improve manifest sorting algorithim (#6979) -- Only check validator sets after statesync (#6980) -- Always preserve failed networks (#6981) -- Load should be proportional to network (#6983) -- Avoid non-determinism in app hash check (#6985) -- Tighten timing for load generation (#6990) -- Skip validation of status apphash (#6991) -- Do not inject evidence through light proxy (#6992) -- Add limit and sort to generator (#6998) -- Reduce number of statesyncs in test networks (#6999) -- Improve chances of statesyncing success (#7001) -- Allow running of single node using the e2e app (#6982) -- Reduce log noise (#7004) -- Avoid seed nodes when statesyncing (#7006) -- Add generator tests (#7008) -- Reduce number of stateless nodes in test networks (#7010) -- Use smaller transactions (#7016) +- Use a different library for ed25519/sr25519 (#6526) -### Inspect +### Deps -- Remove duplicated construction path (#6966) +- Remove pkg errors (#6666) +- Run go mod tidy (#6677) -### Light +### E2e -- Update initialization description (#320) +- Fix looping problem while waiting (#6568) +- Allow variable tx size (#6659) +- Disable app tests for light client (#6672) +- Remove colorized output from docker-compose (#6670) +- Extend timeouts in test harness (#6694) +- Ensure evidence validator set matches nodes validator set (#6712) +- Tweak sleep for pertubations (#6723) -### Proto +### Evidence -- Add tendermint go changes (#349) -- Regenerate code (#6977) +- Update ADR 59 and add comments to the use of common height (#6628) -### Proxy +### Fastsync -- Move proxy package to internal (#6953) +- Update the metrics during fast-sync (#6590) -### Readme +### Fastsync/rpc -- Update discord links (#6965) +- Add TotalSyncedTime & RemainingTime to SyncInfo in /status RPC (#6620) -### Rfc +### Fuzz -- Database storage engine (#6897) -- E2e improvements (#6941) -- Add performance taxonomy rfc (#6921) -- Fix a few typos and formatting glitches p2p roadmap (#6960) -- Event system (#6957) +- Initial support for fuzzing (#6558) -### Rpc +### Internal/blockchain/v0 -- Fix hash encoding in JSON parameters (#6813) -- Strip down the base RPC client interface. (#6971) -- Implement BroadcastTxCommit without event subscriptions (#6984) +- Prevent all possible race for blockchainCh.Out (#6637) -### State +### Libs/CList -- Move package to internal (#6964) +- Automatically detach the prev/next elements in Remove function (#6626) -### Statesync +### Libs/log -- Shut down node when statesync fails (#6944) -- Clean up reactor/syncer lifecylce (#6995) -- Add logging while waiting for peers (#7007) +- Text logging format changes (#6589) -### Statesync/rpc +### Libs/time -- Metrics for the statesync and the rpc SyncInfo (#6795) +- Move types/time into libs (#6595) -### Store +### Light -- Move pacakge to internal (#6978) +- Correctly handle contexts (backport -> v0.34.x) (#6685) +- Correctly handle contexts (#6687) +- Add case to catch cancelled contexts within the detector (backport #6701) (#6720) -## [0.35.0-rc1] - 2021-09-08 +### Linter -### Documentation +- Linter checks non-ASCII identifiers (#6574) -- Add package godoc for indexer (#6839) -- Remove return code in normal case from go built-in example (#6841) -- Fix a typo in the indexing section (#6909) +### Mempool -### Features +- Move errors to be public (#6613) -- [**breaking**] Proposed app version (#148) +### P2p -### Miscellaneous Tasks +- Increase queue size to 16MB (#6588) +- Avoid retry delay in error case (#6591) +- Address audit issues with the peer manager (#6603) +- Make NodeID and NetAddress public (#6583) +- Reduce buffering on channels (#6609) +- Do not redial peers with different chain id (#6630) +- Track peer channels to avoid sending across a channel a peer doesn't have (#6601) +- Remove annoying error log (#6688) -- Bump tenderdash version to 0.6.0-dev.1 +### Pkg -### Testing +- Expose p2p functions (#6627) -- Install abci-cli when running make tests_integrations (#6834) +### Privval -### Abci +- Missing privval type check in SetPrivValidator (#6645) -- Clarify what abci stands for (#336) -- Clarify connection use in-process (#337) -- Change client to use multi-reader mutexes (backport #6306) (#6873) +### Psql -### Blocksync +- Close opened rows in tests (#6669) -- Complete transition from Blockchain to BlockSync (#6847) +### Pubsub -### Build +- Refactor Event Subscription (#6634) -- Bump github.com/golangci/golangci-lint (#6837) -- Bump docker/build-push-action from 2.6.1 to 2.7.0 (#6845) -- Bump codecov/codecov-action from 2.0.2 to 2.0.3 (#6860) -- Bump github.com/rs/zerolog from 1.23.0 to 1.24.0 (#6874) -- Bump github.com/lib/pq from 1.10.2 to 1.10.3 (#6890) -- Bump docker/setup-buildx-action from 1.5.0 to 1.6.0 (#6903) -- Bump github.com/golangci/golangci-lint (#6907) +### Release -### Changelog +- Prepare changelog for v0.34.11 (#6597) +- Update changelog and version (#6599) -- Update to reflect 0.34.12 release (#6833) -- Linkify the 0.34.11 release notes (#6836) +### Router/statesync -### Cleanup +- Add helpful log messages (#6724) -- Fix order of linters in the golangci-lint config (#6910) +### Rpc -### Cmd +- Fix RPC client doesn't handle url's without ports (#6507) +- Add subscription id to events (#6386) +- Use shorter path names for tests (#6602) +- Add totalGasUSed to block_results response (#308) +- Add max peer block height into /status rpc call (#6610) +- Add `TotalGasUsed` to `block_results` response (#6615) +- Re-index missing events (#6535) +- Add chunked rpc interface (backport #6445) (#6717) -- Remove deprecated snakes (#6854) +### State -### Contributing +- Move pruneBlocks from consensus/state to state/execution (#6541) -- Remove release_notes.md reference (#6846) +### State/indexer -### Core +- Close row after query (#6664) -- Text cleanup (#332) +### State/privval -### E2e +- No GetPubKey retry beyond the proposal/voting window (#6578) -- Avoid starting nodes from the future (#6835) -- Avoid starting nodes from the future (#6835) (#6838) -- Cleanup node start function (#6842) -- Cleanup node start function (#6842) (#6848) -- More consistent node selection during tests (#6857) -- Add weighted random configuration selector (#6869) -- More reliable method for selecting node to inject evidence (#6880) -- Change restart mechanism (#6883) -- Weight protocol dimensions (#6884) -- Skip light clients when waiting for height (#6891) -- Wait for all nodes rather than just one (#6892) -- Skip assertions for stateless nodes (#6894) -- Clean up generation of evidence (#6904) +### State/types -### Inspect +- Refactor makeBlock, makeBlocks and makeTxs (#6567) -- Add inspect mode for debugging crashed tendermint node (#6785) +### Statesync -### Internal/consensus +- Tune backfill process (#6565) +- Increase chunk priority and robustness (#6582) +- Make fetching chunks more robust (#6587) +- Keep peer despite lightblock query fail (#6692) +- Remove outgoingCalls race condition in dispatcher (#6699) +- Use initial height as a floor to backfilling (#6709) +- Increase dispatcher timeout (#6714) +- Dispatcher test uses internal channel for timing (#6713) -- Update error log (#6863) -- Update error log (#6863) (#6867) +### Tooling -### Light +- Use go version 1.16 as minimum version (#6642) -- Fix early erroring (#6905) +### Tools -### Lint +- Remove k8s (#6625) +- Move tools.go to subdir (#6689) -- Change deprecated linter (#6861) +### Types -### Network +- Move NodeInfo from p2p (#6618) -- Update terraform config (#6901) +## [0.4.2] - 2021-06-10 -### Networks +### Blockchain/v0 -- Update to latest DigitalOcean modules (#6902) +- Fix data race in blockchain channel (#6518) -### P2p +### Build -- Change default to use new stack (#6862) +- Bump github.com/btcsuite/btcd (#6560) +- Bump codecov/codecov-action from 1.5.0 to 1.5.2 (#6559) -### Proto +### Indexer -- Move proto files under the correct directory related to their package name (#344) +- Use INSERT ... ON CONFLICT in the psql eventsink insert functions (#6556) -### Psql +### Node -- Add documentation and simplify constructor API (#6856) +- Fix genesis on start up (#6563) -### Pubsub +## [0.4.1] - 2021-06-09 -- Improve handling of closed blocking subsciptions. (#6852) +### .github -### Rfc +- Split the issue template into two seperate templates (#2073) +- Add markdown link checker (#4513) +- Move checklist from PR description into an auto-comment (#4745) +- Fix whitespace for autocomment (#4747) +- Fix whitespace for auto-comment (#4750) +- Move mergify config +- Move codecov.yml into .github +- Move codecov config into .github +- Fix fuzz-nightly job (#5965) +- Archive crashers and fix set-crashers-count step (#5992) +- Rename crashers output (fuzz-nightly-test) (#5993) +- Clean up PR template (#6050) +- Use job ID (not step ID) inside if condition (#6060) +- Remove erik as reviewer from dependapot (#6076) +- Rename crashers output (fuzz-nightly-test) (#5993) +- Archive crashers and fix set-crashers-count step (#5992) +- Fix fuzz-nightly job (#5965) +- Use job ID (not step ID) inside if condition (#6060) +- Remove erik as reviewer from dependapot (#6076) +- Jepsen workflow - initial version (#6123) +- [jepsen] fix inputs and remove TTY from docker (#6134) +- [jepsen] use working-directory instead of 'cd' (#6135) +- [jepsen] use "bash -c" to execute lein run cmd (#6136) +- [jepsen] cd inside the container, not outside (#6137) +- [jepsen] fix directory name (#6138) +- [jepsen] source .bashrc (#6139) +- [jepsen] add more docs (#6141) +- [jepsen] archive results (#6164) +- Remove myself from CODEOWNERS (#6248) +- Make core team codeowners (#6384) +- Make core team codeowners (#6383) -- P2p next steps (#6866) -- Fix link style (#6870) +### .github/codeowners -### Statesync +- Add alexanderbez (#5913) +- Add alexanderbez (#5913) -- Improve stateprovider handling in the syncer (backport) (#6881) -- Implement p2p state provider (#6807) +### .github/issue_template -### Time +- Update `/dump_consensus_state` request. (#5060) -- Make median time library type private (#6853) +### .github/workflows -### Types +- Enable manual dispatch for some workflows (#5929) +- Try different e2e nightly test set (#6036) +- Separate e2e workflows for 0.34.x and master (#6041) +- Fix whitespace in e2e config file (#6043) +- Cleanup yaml for e2e nightlies (#6049) +- Try different e2e nightly test set (#6036) +- Separate e2e workflows for 0.34.x and master (#6041) +- Fix whitespace in e2e config file (#6043) +- Cleanup yaml for e2e nightlies (#6049) -- Move mempool error for consistency (#6875) +### .gitignore -### Upgrading +- Sort (#5690) -- Add information into the UPGRADING.md for users of the codebase wishing to upgrade (#6898) +### .golangci -## [0.34.12] - 2021-08-17 +- Disable new linters (#4024) +- Set locale to US for misspell linter (#6038) -### Documentation +### .goreleaser -- Fix typo (#6789) -- Fix a typo in the genesis_chunked description (#6792) -- Upgrade documentation for custom mempools (#6794) -- Fix typos in /tx_search and /tx. (#6823) +- Don't build linux/arm +- Build for windows +- Add windows, remove arm (32 bit) (#5692) +- Remove arm64 build instructions and bump changelog again (#6131) -### Security +### .vscode -- Bump google.golang.org/grpc from 1.39.0 to 1.39.1 (#6801) -- Bump google.golang.org/grpc from 1.39.1 to 1.40.0 (#6819) +- Remove directory (#5626) -### Testing +### ABCI -- Add mechanism to reproduce found fuzz errors (#6768) +- Update readme to fix broken link to proto (#5847) +- Fix ReCheckTx for Socket Client (#6124) -### Abci +### ADR -- Add changelog entry for mempool_error field (#6770) +- Fix malleability problems in Secp256k1 signatures +- Add missing numbers as blank templates (#5154) -### Adr +### ADR-016 -- Node initialization (#6562) +- Add versions to Block and State (#2644) +- Add protocol Version to NodeInfo (#2654) +- Update ABCI Info method for versions (#2662) -### Blockchain +### ADR-037 -- Rename to blocksync service (#6755) +- DeliverBlock (#3420) -### Blockstore +### ADR-053 -- Fix problem with seen commit (#6782) +- Update with implementation plan after prototype (#4427) +- Strengthen and simplify the state sync ABCI interface (#4610) -### Build +### ADR-057 -- Bump styfle/cancel-workflow-action from 0.9.0 to 0.9.1 (#6786) -- Bump technote-space/get-diff-action from 4 to 5 (#6788) -- Bump github.com/BurntSushi/toml from 0.3.1 to 0.4.1 (#6796) +- RPC (#4857) -### Bytes +### ADR-062 -- Clean up and simplify encoding of HexBytes (#6810) +- Update with new P2P core implementation (#6051) -### Changelog +### BROKEN -- Prepare for v0.34.12 (#6831) +- Attempt to replace go-wire.JSON with json.Unmarshall in rpc -### Changelog_pending +### Backport -- Add missing item (#6829) -- Add missing entry (#6830) +- #6494 (#6506) -### Cleanup +### Bech32 -- Remove redundant error plumbing (#6778) +- Wrap error messages -### Cli/indexer +### Bug Fixes -- Reindex events (#6676) +- Fix spelling of comment (#4566) +- Make p2p evidence_pending test not timing dependent (#6252) +- Avoid race with a deeper copy (#6285) +- Jsonrpc url parsing and dial function (#6264) +- Jsonrpc url parsing and dial function (#6264) (#6288) +- Theoretical leak in clisit.Init (#6302) +- Test fixture peer manager in mempool reactor tests (#6308) +- Benchmark single operation in parallel benchmark not b.N (#6422) -### Clist +### CHANGELOG -- Add simple property tests (#6791) +- Update release date +- Update release date +- Update release/v0.32.8 details (#4162) +- Update to reflect 0.33.5 (#4915) +- Add 0.32.12 changelog entry (#4918) +- Update for 0.34.0-rc4 (#5400) +- Update to reflect v0.34.0-rc6 (#5622) +- Add breaking Version name change (#5628) +- Prepare 0.34.1-rc1 (#5832) -### Commands +### CHANGELOG_PENDING -- Add key migration cli (#6790) +- Fix the upcoming release number (#5103) +- Update changelog for changes to American spelling (#6100) -### Contributing +### CODEOWNERS -- Update release instructions to use backport branches (#6827) +- Specify more precise codeowners (#5333) +- Remove erikgrinaker (#6057) +- Remove erikgrinaker (#6057) -### Evidence +### CONTRIBUTING -- Add section explaining evidence (#324) +- Include instructions for installing protobuf +- Update minor release process (#4909) +- Update to match the release flow used for 0.34.0 (#5697) -### Light +### CONTRIBUTING.md -- Wait for tendermint node to start before running example test (#6744) -- Replace homegrown mock with mockery (#6735) +- Update testing section (#5979) -### Mempool/v1 - -- Test reactor does not panic on broadcast (#6772) - -### Node - -- Minimize hardcoded service initialization (#6798) - -### P2p - -- Add test for pqueue dequeue full error (#6760) - -### Pubsub - -- Unsubscribe locking handling (#6816) - -### Rpc - -- Add documentation for genesis chunked api (#6776) -- Avoid panics in unsafe rpc calls with new p2p stack (#6817) -- Support new p2p infrastructure (#6820) -- Log update (#6825) -- Log update (backport #6825) (#6826) -- Update peer format in specification in NetInfo operation (#331) - -### State/privval - -- Vote timestamp fix (#6748) -- Vote timestamp fix (backport #6748) (#6783) - -### Statesync - -- New messages for gossiping consensus params (#328) - -### Tools - -- Add mockery to tools.go and remove mockery version strings (#6787) - -### Version - -- Bump for 0.34.12 (#6832) - -## [0.5.10] - 2021-07-26 - -### Testing - -- Add test to reproduce found fuzz errors (#6757) - -### Build - -- Bump golangci/golangci-lint-action from 2.3.0 to 2.5.2 -- Bump codecov/codecov-action from 1.5.2 to 2.0.1 (#6739) -- Bump codecov/codecov-action from 2.0.1 to 2.0.2 (#6764) - -### E2e - -- Avoid systematic key-type variation (#6736) -- Drop single node hybrid configurations (#6737) -- Remove cartesian testing of ipv6 (#6734) -- Run tests in fewer groups (#6742) -- Prevent adding light clients as persistent peers (#6743) -- Longer test harness timeouts (#6728) -- Allow for both v0 and v1 mempool implementations (#6752) - -### Fastsync/event - -- Emit fastsync status event when switching consensus/fastsync (#6619) - -### Internal - -- Update blockchain reactor godoc (#6749) - -### Light - -- Run examples as integration tests (#6745) -- Improve error handling and allow providers to be added (#6733) - -### Mempool - -- Return mempool errors to the abci client (#6740) - -### P2p - -- Add coverage for mConnConnection.TrySendMessage (#6754) -- Avoid blocking on the dequeCh (#6765) - -### Statesync/event - -- Emit statesync start/end event (#6700) - -## [0.5.8] - 2021-07-20 - -### Blockchain - -- Error on v2 selection (#6730) +### CRandHex -### Clist +- Fix up doc to mention length of digits -- Add a few basic clist tests (#6727) +### Client -### Libs/clist +- DumpConsensusState, not DialSeeds. Cleanup -- Revert clear and detach changes while debugging (#6731) +### Connect2Switches -### Mempool +- Panic on err -- Add TTL configuration to mempool (#6715) +### Core -## [0.5.7] - 2021-07-16 +- Move validation & data structures together (#176) -### Bug Fixes +### Docs -- Maverick compile issues (#104) -- Private validator key still automatically creating (#120) -- Getting pro tx hash from full node -- Incorrectly assume amd64 arch during docker build -- Image isn't pushed after build +- Update description of seeds and persistent peers ### Documentation -- Rename tenderdash and update target repo -- Update events (#6658) -- Add sentence about windows support (#6655) -- Add docs file for the peer exchange (#6665) -- Update github issue and pr templates (#131) -- Fix broken links (#6719) - -### Features - -- Improve initialisation (#117) -- Add arm64 arch for builds - -### Miscellaneous Tasks - -- Target production dockerhub org -- Use official docker action - -### RPC - -- Mark grpc as deprecated (#6725) - -### Security - -- Bump github.com/spf13/viper from 1.8.0 to 1.8.1 (#6622) -- Bump github.com/rs/cors from 1.7.0 to 1.8.0 (#6635) -- Bump github.com/go-kit/kit from 0.10.0 to 0.11.0 (#6651) -- Bump github.com/spf13/cobra from 1.2.0 to 1.2.1 (#6650) - -### Testing - -- Fix non-deterministic backfill test (#6648) - -### Abci - -- Fix gitignore abci-cli (#6668) -- Remove counter app (#6684) - -### Build - -- Bump docker/login-action from 1.9.0 to 1.10.0 (#6614) -- Bump docker/setup-buildx-action from 1.3.0 to 1.4.0 (#6629) -- Bump docker/setup-buildx-action from 1.4.0 to 1.4.1 (#6632) -- Bump google.golang.org/grpc from 1.38.0 to 1.39.0 (#6633) -- Bump github.com/spf13/cobra from 1.1.3 to 1.2.0 (#6640) -- Bump docker/build-push-action from 2.5.0 to 2.6.1 (#6639) -- Bump docker/setup-buildx-action from 1.4.1 to 1.5.0 (#6649) -- Bump gaurav-nelson/github-action-markdown-link-check (#6679) -- Bump github.com/golangci/golangci-lint (#6686) -- Bump gaurav-nelson/github-action-markdown-link-check (#313) -- Bump github.com/google/uuid from 1.2.0 to 1.3.0 (#6708) -- Bump actions/stale from 3.0.19 to 4 (#319) -- Bump actions/stale from 3.0.19 to 4 (#6726) - -### Changelog - -- Have a single friendly bug bounty reminder (#6600) -- Update and regularize changelog entries (#6594) - -### Ci - -- Make ci consistent and push to docker hub -- Trigger docker build on release -- Disable arm build -- Always push to dockerhub -- Test enabling cache -- Test arm build -- Manually trigger build -- Disable arm64 builds -- Set release to workflow dispatch (manual) trigger -- Enable arm64 in CI - -### Cmd/tendermint/commands - -- Replace $HOME/.some/test/dir with t.TempDir (#6623) - -### Config - -- Add example on external_address (#6621) -- Add example on external_address (backport #6621) (#6624) - -### Crypto - -- Use a different library for ed25519/sr25519 (#6526) - -### Deps - -- Remove pkg errors (#6666) -- Run go mod tidy (#6677) - -### E2e - -- Allow variable tx size (#6659) -- Disable app tests for light client (#6672) -- Remove colorized output from docker-compose (#6670) -- Extend timeouts in test harness (#6694) -- Ensure evidence validator set matches nodes validator set (#6712) -- Tweak sleep for pertubations (#6723) - -### Evidence - -- Update ADR 59 and add comments to the use of common height (#6628) - -### Fastsync - -- Update the metrics during fast-sync (#6590) - -### Fastsync/rpc - -- Add TotalSyncedTime & RemainingTime to SyncInfo in /status RPC (#6620) - -### Internal/blockchain/v0 - -- Prevent all possible race for blockchainCh.Out (#6637) - -### Libs/CList - -- Automatically detach the prev/next elements in Remove function (#6626) - -### Light - -- Correctly handle contexts (backport -> v0.34.x) (#6685) -- Correctly handle contexts (#6687) -- Add case to catch cancelled contexts within the detector (backport #6701) (#6720) - -### Mempool - -- Move errors to be public (#6613) - -### P2p - -- Address audit issues with the peer manager (#6603) -- Make NodeID and NetAddress public (#6583) -- Reduce buffering on channels (#6609) -- Do not redial peers with different chain id (#6630) -- Track peer channels to avoid sending across a channel a peer doesn't have (#6601) -- Remove annoying error log (#6688) - -### Pkg - -- Expose p2p functions (#6627) - -### Privval - -- Missing privval type check in SetPrivValidator (#6645) - -### Psql - -- Close opened rows in tests (#6669) - -### Pubsub - -- Refactor Event Subscription (#6634) - -### Release - -- Update changelog and version (#6599) - -### Router/statesync - -- Add helpful log messages (#6724) - -### Rpc - -- Use shorter path names for tests (#6602) -- Add totalGasUSed to block_results response (#308) -- Add max peer block height into /status rpc call (#6610) -- Add `TotalGasUsed` to `block_results` response (#6615) -- Re-index missing events (#6535) -- Add chunked rpc interface (backport #6445) (#6717) - -### State/indexer - -- Close row after query (#6664) - -### State/privval - -- No GetPubKey retry beyond the proposal/voting window (#6578) - -### Statesync - -- Make fetching chunks more robust (#6587) -- Keep peer despite lightblock query fail (#6692) -- Remove outgoingCalls race condition in dispatcher (#6699) -- Use initial height as a floor to backfilling (#6709) -- Increase dispatcher timeout (#6714) -- Dispatcher test uses internal channel for timing (#6713) - -### Tooling - -- Use go version 1.16 as minimum version (#6642) - -### Tools - -- Remove k8s (#6625) -- Move tools.go to subdir (#6689) - -### Types - -- Move NodeInfo from p2p (#6618) - -## [0.34.11] - 2021-06-18 - -### Testing - -- Add current fuzzing to oss-fuzz-build script (#6576) -- Fix wrong compile fuzzer command (#6579) -- Fix wrong path for some p2p fuzzing packages (#6580) - -### Build - -- Bump github.com/rs/zerolog from 1.22.0 to 1.23.0 (#6575) -- Bump github.com/spf13/viper from 1.7.1 to 1.8.0 (#6586) - -### Config - -- Add root dir to priv validator (#6585) - -### Consensus - -- Skip all messages during sync (#6577) - -### E2e - -- Fix looping problem while waiting (#6568) - -### Fuzz - -- Initial support for fuzzing (#6558) - -### Libs/log - -- Text logging format changes (#6589) - -### Libs/time - -- Move types/time into libs (#6595) - -### Linter - -- Linter checks non-ASCII identifiers (#6574) - -### P2p - -- Increase queue size to 16MB (#6588) -- Avoid retry delay in error case (#6591) - -### Release - -- Prepare changelog for v0.34.11 (#6597) - -### Rpc - -- Fix RPC client doesn't handle url's without ports (#6507) -- Add subscription id to events (#6386) - -### State - -- Move pruneBlocks from consensus/state to state/execution (#6541) - -### State/types - -- Refactor makeBlock, makeBlocks and makeTxs (#6567) - -### Statesync - -- Tune backfill process (#6565) -- Increase chunk priority and robustness (#6582) - -## [0.4.2] - 2021-06-10 - -### Blockchain/v0 - -- Fix data race in blockchain channel (#6518) - -### Build - -- Bump github.com/btcsuite/btcd (#6560) -- Bump codecov/codecov-action from 1.5.0 to 1.5.2 (#6559) - -### Indexer - -- Use INSERT ... ON CONFLICT in the psql eventsink insert functions (#6556) - -### Node - -- Fix genesis on start up (#6563) - -## [0.4.1] - 2021-06-09 - -### .github - -- Make core team codeowners (#6384) -- Make core team codeowners (#6383) - -### Backport - -- #6494 (#6506) - -### Bug Fixes - -- Benchmark single operation in parallel benchmark not b.N (#6422) - -### Documentation - -- Adr-65 adjustments (#6401) -- Adr cleanup (#6489) -- Hide security page (second attempt) (#6511) -- Rename tendermint-core to system (#6515) -- Logger updates (#6545) - -### RFC - -- ReverseSync - fetching historical data (#224) - -### Security - -- Bump github.com/confio/ics23/go from 0.6.3 to 0.6.6 (#6374) -- Bump github.com/grpc-ecosystem/go-grpc-middleware from 1.2.2 to 1.3.0 (#6387) -- Bump google.golang.org/grpc from 1.37.0 to 1.37.1 (#6461) -- Bump google.golang.org/grpc from 1.37.1 to 1.38.0 (#6483) -- Bump github.com/lib/pq from 1.10.1 to 1.10.2 (#6505) - -### Testing - -- Create common functions for easily producing tm data structures (#6435) -- HeaderHash test vector (#6531) -- Add evidence hash testvectors (#6536) - -### WIP - -- Add implementation of mock/fake http-server -- Rename package name from fakeserver to mockcoreserver -- Change the method names of call structure, Fix adding headers -- Add mock of JRPCServer implementation on top of HTTServer mock - -### Build - -- Bump codecov/codecov-action from v1.3.2 to v1.4.0 (#6365) -- Bump codecov/codecov-action from v1.4.0 to v1.4.1 (#6379) -- Bump docker/setup-buildx-action from v1.1.2 to v1.2.0 (#6391) -- Bump docker/setup-buildx-action from v1.2.0 to v1.3.0 (#6413) -- Bump codecov/codecov-action from v1.4.1 to v1.5.0 (#6417) -- Bump github.com/cosmos/iavl from 0.15.3 to 0.16.0 (#6421) -- Bump JamesIves/github-pages-deploy-action (#6448) -- Bump docker/build-push-action from 2 to 2.4.0 (#6454) -- Bump actions/stale from 3 to 3.0.18 (#6455) -- Bump actions/checkout from 2 to 2.3.4 (#6456) -- Bump docker/login-action from 1 to 1.9.0 (#6460) -- Bump actions/stale from 3.0.18 to 3.0.19 (#6477) -- Bump actions/stale from 3 to 3.0.18 (#300) -- Bump watchpack from 2.1.1 to 2.2.0 in /docs (#6482) -- Bump actions/stale from 3.0.18 to 3.0.19 (#302) -- Bump browserslist from 4.16.4 to 4.16.6 in /docs (#6487) -- Bump docker/build-push-action from 2.4.0 to 2.5.0 (#6496) -- Bump dns-packet from 1.3.1 to 1.3.4 in /docs (#6500) -- Bump actions/cache from 2.1.5 to 2.1.6 (#6504) -- Bump rtCamp/action-slack-notify from 2.1.3 to 2.2.0 (#6543) -- Bump github.com/prometheus/client_golang (#6552) - -### Changelog - -- Update for 0.34.10 (#6358) - -### Config - -- Create `BootstrapPeers` p2p config parameter (#6372) -- Add private peer id /net_info expose information in default config (#6490) -- Seperate priv validator config into seperate section (#6462) - -### Config/indexer - -- Custom event indexing (#6411) - -### Consensus - -- Add test vector for hasvote (#6469) - -### Core - -- Update a few sections (#284) - -### Crypto - -- Add sr25519 as a validator key (#6376) - -### Crypto/merkle - -- Pre-allocate data slice in innherHash (#6443) -- Optimize merkle tree hashing (#6513) - -### Db - -- Migration script for key format change (#6355) - -### Dep - -- Remove IAVL dependency (#6550) - -### E2e - -- Split out nightly tests (#6395) -- Prevent non-viable testnets (#6486) - -### Events - -- Add block_id to NewBlockEvent (#6478) - -### Evidence - -- Fix bug with hashes (#6375) -- Fix bug with hashes (backport #6375) (#6381) -- Separate abci specific validation (#6473) - -### Github - -- Fix linter configuration errors and occluded errors (#6400) - -### Improvement - -- Update TxInfo (#6529) - -### Libs - -- Remove most of libs/rand (#6364) -- Internalize some packages (#6366) - -### Libs/clist - -- Fix flaky tests (#6453) - -### Libs/log - -- Use fmt.Fprintf directly with *bytes.Buffer to avoid unnecessary allocations (#6503) - -### Libs/os - -- Avoid CopyFile truncating destination before checking if regular file (#6428) -- Avoid CopyFile truncating destination before checking if regular file (backport: #6428) (#6436) - -### Light - -- Ensure trust level is strictly less than 1 (#6447) -- Spec alignment on verify skipping (#6474) - -### Lint - -- Fix lint errors (#301) - -### Logger - -- Refactor Tendermint logger by using zerolog (#6534) - -### Mempool - -- Remove vestigal mempool wal (#6396) -- Benchmark improvements (#6418) -- Add duplicate transaction and parallel checktx benchmarks (#6419) -- V1 implementation (#6466) - -### Metrics - -- Change blocksize to a histogram (#6549) - -### Node - -- Use db provider instead of mem db (#6362) -- Cleanup pex initialization (#6467) -- Change package interface (#6540) - -### Node/state - -- Graceful shutdown in the consensus state (#6370) - -### Node/tests - -- Clean up use of genesis doc and surrounding tests (#6554) - -### P2p - -- Fix network update test (#6361) -- Update state sync messages for reverse sync (#285) -- Improve PEX reactor (#6305) -- Support private peer IDs in new p2p stack (#6409) -- Wire pex v2 reactor to router (#6407) -- Add channel descriptors to open channel (#6440) -- Revert change to routePeer (#6475) -- Limit rate of dialing new peers (#6485) -- Renames for reactors and routing layer internal moves (#6547) - -### P2p/conn - -- Check for channel id overflow before processing receive msg (#6522) -- Check for channel id overflow before processing receive msg (backport #6522) (#6528) - -### P2p/pex - -- Cleanup to pex internals and peerManager interface (#6476) -- Reuse hash.Hasher per addrbook for speed (#6509) - -### Pex - -- Fix send requests too often test (#6437) - -### Rpc - -- Define spec for RPC (#276) -- Remove global environment (#6426) -- Clean up client global state in tests (#6438) -- Add chunked rpc interface (#6445) -- Clarify timestamps (#304) -- Add chunked genesis endpoint (#299) -- Decouple test fixtures from node implementation (#6533) - -### State - -- Keep a cache of block verification results (#6402) - -### State/indexer - -- Reconstruct indexer, move txindex into the indexer package (#6382) - -### Statesync - -- Improve e2e test outcomes (#6378) -- Improve e2e test outcomes (backport #6378) (#6380) -- Sort snapshots by commonness (#6385) -- Fix unreliable test (#6390) -- Ranking test fix (#6415) - -### Tools - -- Use os home dir to instead of the hardcoded PATH (#6498) - -### Types - -- Refactor EventAttribute (#6408) -- Fix verify commit light / trusting bug (#6414) -- Revert breaking change (#6538) - -### Version - -- Revert version through ldflag only (#6494) - -### Ws - -- Parse remote addrs with trailing dash (#6537) - -## [0.34.10] - 2021-04-14 - -### Documentation - -- Bump vuepress-theme-cosmos (#6344) -- Remove RFC section and s/RFC001/ADR066 (#6345) - -### RPC - -- Don't cap page size in unsafe mode (#6329) - -### Security - -- Bump google.golang.org/grpc from 1.36.1 to 1.37.0 (#6330) - -### Testing - -- Produce structured reporting from benchmarks (#6343) - -### Adr - -- ADR 065: Custom Event Indexing (#6307) - -### Build - -- Bump google.golang.org/grpc from 1.36.1 to 1.37.0 (bp #6330) (#6335) -- Bump styfle/cancel-workflow-action from 0.8.0 to 0.9.0 (#6341) -- Bump actions/cache from v2.1.4 to v2.1.5 (#6350) - -### Changelog - -- Update to reflect 0.34.9 (#6334) -- Update for 0.34.10 (#6357) - -### E2e - -- Tx load to use broadcast sync instead of commit (#6347) -- Tx load to use broadcast sync instead of commit (backport #6347) (#6352) -- Relax timeouts (#6356) - -### Light - -- Handle too high errors correctly (#6346) -- Handle too high errors correctly (backport #6346) (#6351) - -### P2p - -- Make peer scoring test more resilient (#6322) -- Fix using custom channels (#6339) -- Minor cleanup + update router options (#6353) - -### Security - -- Update policy after latest security release (#6336) - -## [0.34.9] - 2021-04-08 - -### .github - -- Remove myself from CODEOWNERS (#6248) - -### Bug Fixes - -- Make p2p evidence_pending test not timing dependent (#6252) -- Avoid race with a deeper copy (#6285) -- Jsonrpc url parsing and dial function (#6264) -- Jsonrpc url parsing and dial function (#6264) (#6288) -- Theoretical leak in clisit.Init (#6302) -- Test fixture peer manager in mempool reactor tests (#6308) - -### Documentation - -- Fix sample code (#6186) -- Fix sample code #6186 - -### P2P - -- Evidence Reactor Test Refactor (#6238) - -### Security - -- Bump vuepress-theme-cosmos from 1.0.180 to 1.0.181 in /docs (#6266) -- Bump github.com/minio/highwayhash from 1.0.1 to 1.0.2 (#6280) - -### Testing - -- Fix PEX reactor test (#6188) -- Fix rpc, secret_connection and pex tests (#6190) -- Refactor mempool reactor to use new p2ptest infrastructure (#6250) -- Clean up databases in tests (#6304) -- Improve cleanup for data and disk use (#6311) - -### Abci - -- Note on concurrency (#258) -- Change client to use multi-reader mutexes (#6306) -- Reorder sidebar (#282) - -### Blockstore - -- Save only the last seen commit (#6212) - -### Build - -- Bump google.golang.org/grpc from 1.35.0 to 1.36.0 (#6180) -- Bump JamesIves/github-pages-deploy-action from 4.0.0 to 4.1.0 (#6215) -- Bump rtCamp/action-slack-notify from ae4223259071871559b6e9d08b24a63d71b3f0c0 to 2.1.3 (#6234) -- Bump codecov/codecov-action from v1.2.1 to v1.2.2 (#6231) -- Bump codecov/codecov-action from v1.2.2 to v1.3.1 (#6247) -- Bump github.com/golang/protobuf from 1.4.3 to 1.5.1 (#6254) -- Bump github.com/prometheus/client_golang (#6258) -- Bump google.golang.org/grpc from 1.36.0 to 1.36.1 (#6281) -- Bump github.com/golang/protobuf from 1.5.1 to 1.5.2 (#6299) -- Bump github.com/Workiva/go-datastructures (#6298) -- Bump golangci/golangci-lint-action from v2.5.1 to v2.5.2 (#6317) -- Bump codecov/codecov-action from v1.3.1 to v1.3.2 (#6319) -- Bump JamesIves/github-pages-deploy-action (#6316) -- Bump docker/setup-buildx-action from v1 to v1.1.2 (#6324) - -### Changelog - -- Update for 0.34.8 (#6183) -- Prepare changelog for 0.34.9 release (#6333) - -### Ci - -- Add janitor (#6292) - -### Consensus - -- Reduce shared state in tests (#6313) - -### Crypto - -- Ed25519 & sr25519 batch verification (#6120) - -### E2e - -- Adjust timeouts to be dynamic to size of network (#6202) -- Add benchmarking functionality (#6210) -- Integrate light clients (#6196) -- Add benchmarking functionality (bp #6210) (#6216) -- Fix light client generator (#6236) -- Integrate light clients (bp #6196) -- Fix perturbation of seed nodes (#6272) -- Add evidence generation and testing (#6276) - -### Genesis - -- Explain fields in genesis file (#270) - -### Github - -- Add @tychoish to code owners (#6273) - -### Indexer - -- Remove info log (#6194) -- Remove info log (#6194) - -### Light - -- Improve provider handling (#6053) - -### Light/evidence - -- Handle FLA backport (#6331) - -### Linter - -- Fix nolintlint warnings (#6257) - -### Localnet - -- Fix localnet by excluding self from persistent peers list (#6209) - -### Logging - -- Shorten precommit log message (#6270) -- Shorten precommit log message (#6270) (#6274) - -### Logs - -- Cleanup (#6198) -- Cleanup (#6198) - -### Mempool - -- Don't return an error on checktx with the same tx (#6199) - -### Mempool/rpc - -- Log grooming (#6201) -- Log grooming (bp #6201) (#6203) - -### Node - -- Implement tendermint modes (#6241) -- Remove mode defaults. Make node mode explicit (#6282) - -### Note - -- Add nondeterministic note to events (#6220) -- Add nondeterministic note to events (#6220) (#6225) - -### P2p - -- Links (#268) -- Revised router message scheduling (#6126) -- Metrics (#6278) -- Simple peer scoring (#6277) -- Rate-limit incoming connections by IP (#6286) -- Fix "Unknown Channel" bug on CustomReactors (#6297) -- Connect max inbound peers configuration to new router (#6296) -- Filter peers by IP address and ID (#6300) -- Improve router test stability (#6310) -- Extend e2e tests for new p2p framework (#6323) - -### Privval - -- Return errors on loadFilePV (#6185) -- Add ctx to privval interface (#6240) - -### Readme - -- Cleanup (#262) - -### Rpc - -- Index block events to support block event queries (#6226) -- Index block events to support block event queries (bp #6226) (#6261) - -### Rpc/jsonrpc - -- Unmarshal RPCRequest correctly (#6191) -- Unmarshal RPCRequest correctly (bp #6191) (#6193) - -### Rpc/jsonrpc/server - -- Return an error in WriteRPCResponseHTTP(Error) (#6204) -- Return an error in WriteRPCResponseHTTP(Error) (bp #6204) (#6230) - -### Spec - -- Merge rust-spec (#252) - -### State - -- Cleanup block indexing logs and null (#6263) -- Fix block event indexing reserved key check (#6314) -- Fix block event indexing reserved key check (#6314) (#6315) - -## [0.34.8] - 2021-02-25 - -### .github - -- Jepsen workflow - initial version (#6123) -- [jepsen] fix inputs and remove TTY from docker (#6134) -- [jepsen] use working-directory instead of 'cd' (#6135) -- [jepsen] use "bash -c" to execute lein run cmd (#6136) -- [jepsen] cd inside the container, not outside (#6137) -- [jepsen] fix directory name (#6138) -- [jepsen] source .bashrc (#6139) -- [jepsen] add more docs (#6141) -- [jepsen] archive results (#6164) - -### Documentation - -- How to add tm version to RPC (#6151) -- Add preallocated list of security vulnerability names (#6167) - -### Testing - -- Fix TestByzantinePrevoteEquivocation (#6132) - -### Abci - -- Fix ReCheckTx for Socket Client (bp #6124) (#6125) - -### Build - -- Bump golangci/golangci-lint-action from v2.4.0 to v2.5.1 (#6175) - -### Changelog - -- Fix changelog pending version numbering (#6149) -- Update with changes from 0.34.7 (and failed 0.34.5, 0.34.6) (#6150) -- Update for 0.34.8 (#6181) - -### Cmd - -- Ignore missing wal in debug kill command (#6160) - -### Consensus - -- More log grooming (#6140) -- Log private validator address and not struct (#6144) -- More log grooming (bp #6140) (#6143) - -### Goreleaser - -- Reintroduce arm64 build instructions - -### Libs/log - -- [JSON format] include timestamp (#6174) -- [JSON format] include timestamp (bp #6174) (#6179) - -### Light - -- Improve timeout functionality (#6145) - -### Logging - -- Print string instead of callback (#6177) -- Print string instead of callback (#6178) - -### P2p - -- Enable scheme-less parsing of IPv6 strings (#6158) - -### Rpc - -- Standardize error codes (#6019) -- Change default sorting to desc for `/tx_search` results (#6168) - -### Rpc/client/http - -- Do not drop events even if the `out` channel is full (#6163) -- Drop endpoint arg from New and add WSOptions (#6176) - -### State - -- Save in batches within the state store (#6067) - -## [0.34.7] - 2021-02-18 - -### .goreleaser - -- Remove arm64 build instructions and bump changelog again (#6131) - -## [0.34.6] - 2021-02-18 - -### Changelog - -- Bump to v0.34.6 - -## [0.34.5] - 2021-02-18 - -### ABCI - -- Fix ReCheckTx for Socket Client (#6124) - -### CHANGELOG_PENDING - -- Update changelog for changes to American spelling (#6100) - -### Documentation - -- Fix proto file names (#6112) - -### Security - -- Update 0.34.3 changelog with details on security vuln (bp #6108) (#6110) - -### Adr - -- Batch verification (#6008) - -### Backports - -- Mergify (#6107) - -### Build - -- Bump golangci/golangci-lint-action from v2.3.0 to v2.4.0 (#6111) - -### Changelog - -- Update to reflect v0.34.4 release (#6105) -- Update 0.34.3 changelog with details on security vuln (#6108) -- Update for 0.34.5 (#6129) - -### Consensus - -- P2p refactor (#5969) -- Groom Logs (#5917) -- Remove privValidator from log call (#6128) - -### Node - -- Feature flag for legacy p2p support (#6056) - -### Proto - -- Modify height int64 to uint64 (#253) - -### Tooling - -- Remove tools/Makefile (#6102) -- Remove tools/Makefile (bp #6102) (#6106) - -## [0.34.4] - 2021-02-11 - -### .github - -- Fix fuzz-nightly job (#5965) -- Archive crashers and fix set-crashers-count step (#5992) -- Rename crashers output (fuzz-nightly-test) (#5993) -- Clean up PR template (#6050) -- Use job ID (not step ID) inside if condition (#6060) -- Remove erik as reviewer from dependapot (#6076) -- Rename crashers output (fuzz-nightly-test) (#5993) -- Archive crashers and fix set-crashers-count step (#5992) -- Fix fuzz-nightly job (#5965) -- Use job ID (not step ID) inside if condition (#6060) -- Remove erik as reviewer from dependapot (#6076) - -### .github/workflows - -- Enable manual dispatch for some workflows (#5929) -- Try different e2e nightly test set (#6036) -- Separate e2e workflows for 0.34.x and master (#6041) -- Fix whitespace in e2e config file (#6043) -- Cleanup yaml for e2e nightlies (#6049) -- Try different e2e nightly test set (#6036) -- Separate e2e workflows for 0.34.x and master (#6041) -- Fix whitespace in e2e config file (#6043) -- Cleanup yaml for e2e nightlies (#6049) - -### .golangci - -- Set locale to US for misspell linter (#6038) - -### ADR-062 - -- Update with new P2P core implementation (#6051) - -### CODEOWNERS - -- Remove erikgrinaker (#6057) -- Remove erikgrinaker (#6057) - -### CONTRIBUTING.md - -- Update testing section (#5979) - -### Documentation - -- Update package-lock.json (#5928) -- Package-lock.json fix (#5948) -- Change v0.33 version (#5950) -- Bump package-lock.json of v0.34.x (#5952) -- Dont login when in PR (#5961) -- Release Linux/ARM64 image (#5925) -- Log level docs (#5945) -- Fix typo in state sync example (#5989) -- External address (#6035) -- Reword configuration (#6039) -- Change v0.33 version (#5950) -- Release Linux/ARM64 image (#5925) -- Dont login when in PR (#5961) -- Fix typo in state sync example (#5989) - -### Makefile - -- Always pull image in proto-gen-docker. (#5953) -- Always pull image in proto-gen-docker. (#5953) - -### Security - -- Bump watchpack from 2.1.0 to 2.1.1 in /docs (#6063) -- Bump github.com/tendermint/tm-db from 0.6.3 to 0.6.4 (#6073) -- Bump github.com/tendermint/tm-db from 0.6.3 to 0.6.4 (#6073) -- Bump watchpack from 2.1.0 to 2.1.1 in /docs (#6063) - -### Testing - -- Fix TestPEXReactorRunning data race (#5955) -- Move fuzz tests into this repo (#5918) -- Fix `make test` (#5966) -- Close transports to avoid goroutine leak failures (#5982) -- Don't use foo-bar.net in TestHTTPClientMakeHTTPDialer (#5997) -- Fix TestSwitchAcceptRoutine flake by ignoring error type (#6000) -- Disable TestPEXReactorSeedModeFlushStop due to flake (#5996) -- Fix test data race in p2p.MemoryTransport with logger (#5995) -- Fix TestSwitchAcceptRoutine by ignoring spurious error (#6001) -- Fix TestRouter to take into account PeerManager reconnects (#6002) -- Fix flaky router broadcast test (#6006) -- Enable pprof server to help debugging failures (#6003) -- Increase sign/propose tolerances (#6033) -- Increase validator tolerances (#6037) -- Don't use foo-bar.net in TestHTTPClientMakeHTTPDialer (#5997) (#6047) -- Enable pprof server to help debugging failures (#6003) -- Increase sign/propose tolerances (#6033) -- Increase validator tolerances (#6037) -- Move fuzz tests into this repo (#5918) -- Fix `make test` (#5966) - -### Blockchain/v2 - -- Internalize behavior package (#6094) - -### Build - -- Bump actions/cache from v2.1.3 to v2.1.4 (#6055) -- Bump JamesIves/github-pages-deploy-action (#6062) -- Bump actions/cache from v2.1.3 to v2.1.4 (#6055) -- Bump github.com/spf13/cobra from 1.1.1 to 1.1.2 (#6075) -- Bump github.com/spf13/cobra from 1.1.2 to 1.1.3 (#6098) - -### Changelog - -- Update changelog for v0.34.3 (#5927) -- Update for v0.34.4 (#6096) -- Improve with suggestions from @melekes (#6097) - -### Consensus - -- Groom Logs (#5917) - -### E2e - -- Releases nightly (#5906) -- Add control over the log level of nodes (#5958) -- Releases nightly (#5906) -- Disconnect maverick (#6099) - -### Evidence - -- Terminate broadcastEvidenceRoutine when peer is stopped (#6068) - -### Goreleaser - -- Downcase archive and binary names (#6029) -- Downcase archive and binary names (#6029) - -### Libs/log - -- Format []byte as hexidecimal string (uppercased) (#5960) -- Format []byte as hexidecimal string (uppercased) (#5960) - -### Light - -- Fix panic with RPC calls to commit and validator when height is nil (#6026) -- Fix panic with RPC calls to commit and validator when height is nil (#6040) -- Remove max retry attempts from client and add to provider (#6054) -- Remove witnesses in order of decreasing index (#6065) -- Create provider options struct (#6064) - -### Light/provider/http - -- Fix Validators (#6022) -- Fix Validators (#6024) - -### Makefile - -- Remove call to tools (#6104) - -### Maverick - -- Reduce some duplication (#6052) -- Reduce some duplication (#6052) - -### Mempool - -- P2p refactor (#5919) -- Fix reactor tests (#5967) -- Fix TestReactorNoBroadcastToSender (#5984) -- Fix mempool tests timeout (#5988) - -### P2p - -- Revise shim log levels (#5940) -- Improve PeerManager prototype (#5936) -- Make PeerManager.DialNext() and EvictNext() block (#5947) -- Improve peerStore prototype (#5954) -- Simplify PeerManager upgrade logic (#5962) -- Add PeerManager.Advertise() (#5957) -- Add prototype PEX reactor for new stack (#5971) -- Resolve PEX addresses in PEX reactor (#5980) -- Use stopCtx when dialing peers in Router (#5983) -- Clean up new Transport infrastructure (#6017) -- Tighten up and test Transport API (#6020) -- Add tests and fix bugs for `NodeAddress` and `NodeID` (#6021) -- Tighten up and test PeerManager (#6034) -- Tighten up Router and add tests (#6044) - -### Params - -- Remove block timeiota (#248) -- Remove blockTimeIota (#5987) - -### Proto - -- Docker deployment (#5931) -- Seperate native and proto types (#5994) -- Add files (#246) -- Docker deployment (#5931) - -### Proto/p2p - -- Rename PEX messages and fields (#5974) - -### Spec - -- Remove reactor section (#242) - -### Store - -- Fix deadlock in pruning (#6007) -- Use a batch instead of individual writes in SaveBlock (#6018) - -### Sync - -- Move closer to separate file (#6015) - -### Types - -- Cleanup protobuf.go (#6023) - -## [0.34.3] - 2021-01-19 - -### .github/codeowners - -- Add alexanderbez (#5913) -- Add alexanderbez (#5913) - -### Security - -- Bump github.com/stretchr/testify from 1.6.1 to 1.7.0 (#5897) -- Bump google.golang.org/grpc from 1.34.0 to 1.35.0 (#5902) -- Bump vuepress-theme-cosmos from 1.0.179 to 1.0.180 in /docs (#5915) -- Bump github.com/stretchr/testify from 1.6.1 to 1.7.0 (#5897) -- Bump google.golang.org/grpc from 1.34.0 to 1.35.0 (#5902) -- Bump vuepress-theme-cosmos from 1.0.179 to 1.0.180 in /docs (#5915) - -### Changelog - -- Update changelogs to reflect changes released in 0.34.2 -- Update for 0.34.3 (#5926) - -### Config - -- Fix mispellings (#5914) -- Fix mispellings (#5914) - -### Light - -- Fix light store deadlock (#5901) - -### Mod - -- Go mod tidy - -### P2p - -- Add prototype peer lifecycle manager (#5882) - -### Proto - -- Bump gogoproto (1.3.2) (#5886) -- Bump gogoproto (1.3.2) (#5886) - -### Readme - -- Add security mailing list (#5916) -- Add security mailing list (#5916) - -## [0.34.2] - 2021-01-12 - -### Documentation - -- Fix broken redirect links (#5881) - -### Testing - -- Improve WaitGroup handling in Byzantine tests (#5861) -- Tolerate up to 2/3 missed signatures for a validator (#5878) -- Disable abci/grpc and blockchain/v2 due to flake (#5854) - -### Abci - -- Rewrite to proto interface (#237) - -### Abci/grpc - -- Fix invalid mutex handling in StopForError() (#5849) - -### Blockchain/v0 - -- Stop tickers on poolRoutine exit (#5860) - -### Blockchain/v2 - -- Fix missing mutex unlock (#5862) - -### Build - -- Bump gaurav-nelson/github-action-markdown-link-check (#239) -- Bump gaurav-nelson/github-action-markdown-link-check (#5884) - -### Changelog - -- Update with changes released in 0.34.1 (#5875) -- Prepare 0.34.2 release (#5894) - -### Evidence - -- P2p refactor (#5747) -- Buffer evidence from consensus (#5890) -- Buffer evidence from consensus (#5890) - -### Layout - -- Add section titles (#240) - -### Libs/os - -- EnsureDir now returns IO errors and checks file type (#5852) - -### Os - -- Simplify EnsureDir() (#5871) - -### P2p - -- Add Router prototype (#5831) - -### Privval - -- Add grpc (#5725) -- Query validator key (#5876) - -### Reactors - -- Remove bcv1 (#241) - -### State - -- Prune states using an iterator (#5864) - -### Store - -- Use db iterators for pruning and range-based queries (#5848) - -### Tools/tm-signer-harness - -- Fix listener leak in newTestHarnessListener() (#5850) - -## [0.34.1] - 2021-01-06 - -### ABCI - -- Update readme to fix broken link to proto (#5847) - -### Testing - -- Disable abci/grpc and blockchain/v2 due to flake (#5854) -- Add conceptual overview (#5857) -- Improve WaitGroup handling in Byzantine tests (#5861) - -### Abci/grpc - -- Fix invalid mutex handling in StopForError() (#5849) - -### Blockchain/v0 - -- Stop tickers on poolRoutine exit (#5860) - -### Blockchain/v2 - -- Fix missing mutex unlock (#5862) - -### Build - -- Bump codecov/codecov-action from v1.1.1 to v1.2.0 (#5863) -- Bump codecov/codecov-action from v1.2.0 to v1.2.1 - -### Changelog - -- Update changelog for v0.34.1 (#5872) - -### Libs/os - -- EnsureDir now returns IO errors and checks file type (#5852) - -### Os - -- Simplify EnsureDir() (#5871) - -### P2p - -- Rename ID to NodeID -- Add NodeID.Validate(), replaces validateID() -- Replace PeerID with NodeID -- Rename NodeInfo.DefaultNodeID to NodeID -- Rename PubKeyToID to NodeIDFromPubKey -- Fix IPv6 address handling in new transport API (#5853) -- Fix MConnection inbound traffic statistics and rate limiting (#5868) -- Fix MConnection inbound traffic statistics and rate limiting (#5868) (#5870) - -### Statesync - -- Do not recover panic on peer updates (#5869) - -### Store - -- Order-preserving varint key encoding (#5771) - -### Tools/tm-signer-harness - -- Fix listener leak in newTestHarnessListener() (#5850) - -## [0.34.1-rc1] - 2020-12-23 - -### CHANGELOG - -- Prepare 0.34.1-rc1 (#5832) - -### Documentation - -- Use hyphens instead of snake case (#5802) -- Specify master for tutorials (#5822) -- Specify 0.34 (#5823) - -### Makefile - -- Use git 2.20-compatible branch detection (#5778) - -### Security - -- Bump github.com/prometheus/client_golang from 1.8.0 to 1.9.0 (#5807) -- Bump github.com/cosmos/iavl from 0.15.2 to 0.15.3 (#5814) - -### Abci - -- Use protoio for length delimitation (#5818) - -### Blockchain/v2 - -- Send status request when new peer joins (#5774) - -### Build - -- Bump vuepress-theme-cosmos from 1.0.178 to 1.0.179 in /docs (#5780) -- Bump gaurav-nelson/github-action-markdown-link-check from 1.0.8 to 1.0.9 (#5779) -- Bump gaurav-nelson/github-action-markdown-link-check (#5787) -- Bump gaurav-nelson/github-action-markdown-link-check (#5793) -- Bump gaurav-nelson/github-action-markdown-link-check (#233) -- Bump github.com/cosmos/iavl from 0.15.0 to 0.15.2 -- Bump codecov/codecov-action from v1.0.15 to v1.1.1 (#5825) - -### Ci - -- Make timeout-minutes 8 for golangci (#5821) -- Run `goreleaser build` (#5824) - -### Cmd - -- Hyphen case cli and config (#5777) -- Hyphen-case cli v0.34.1 (#5786) - -### Config - -- Increase MaxPacketMsgPayloadSize to 1400 - -### Consensus - -- Change log level to error when adding vote -- Deprecate time iota ms (#5792) - -### Localnet - -- Fix node starting issue with --proxy-app flag (#5803) -- Expose 6060 (pprof) and 9090 (prometheus) on node0 -- Use 27000 port for prometheus (#5811) - -### Mempool - -- Introduce KeepInvalidTxsInCache config option (#5813) -- Disable MaxBatchBytes (#5800) -- Introduce KeepInvalidTxsInCache config option (#5813) -- Disable MaxBatchBytes (#5800) - -### P2p - -- Implement new Transport interface (#5791) -- Remove `NodeInfo` interface and rename `DefaultNodeInfo` struct (#5799) -- Do not format raw msg bytes -- Update frame size (#235) -- Fix data race in MakeSwitch test helper (#5810) -- Add MemoryTransport, an in-memory transport for testing (#5827) - -### Readme - -- Add links to job post (#5785) -- Update discord link (#5795) - -## [0.34.1-dev1] - 2020-12-10 - -### .goreleaser - -- Add windows, remove arm (32 bit) (#5692) - -### CONTRIBUTING - -- Update to match the release flow used for 0.34.0 (#5697) - -### Documentation - -- Add nodes section (#5604) -- Add version dropdown and v0.34 docs(#5762) -- Fix link (#5763) - -### README - -- Update link to Tendermint blog (#5713) - -### Security - -- Bump vuepress-theme-cosmos from 1.0.176 to 1.0.177 in /docs (#5746) -- Bump vuepress-theme-cosmos from 1.0.177 to 1.0.178 in /docs (#5754) - -### Testing - -- Switched node keys back to edwards (#4) -- Enable v1 and v2 blockchains (#5702) -- Fix TestByzantinePrevoteEquivocation flake (#5710) -- Fix TestByzantinePrevoteEquivocation flake (#5710) -- Fix integration tests and rename binary - -### UX - -- Version configuration (#5740) - -### Abci - -- Add abci_version to requestInfo (#223) -- Modify Client interface and socket client (#5673) - -### Adr - -- Privval gRPC (#5712) - -### Blockchain/v0 - -- Relax termination conditions and increase sync timeout (#5741) - -### Blockchain/v1 - -- Handle peers without blocks (#5701) -- Fix deadlock (#5711) -- Remove in favor of v2 (#5728) -- Omit incoming message bytes from log - -### Build - -- Bump github.com/cosmos/iavl from 0.15.0-rc5 to 0.15.0 (#5708) -- Bump vuepress-theme-cosmos from 1.0.175 to 1.0.176 in /docs (#5727) -- Refactor BLS library/bindings integration (#9) -- BLS scripts - Improve build.sh, Fix install.sh (#10) -- Dashify some files (#11) -- Fix docker image and docker.yml workflow (#12) -- Fix coverage.yml, bump go version, install BLS, drop an invalid character (#19) -- Fix test.yml, bump go version, install BLS, fix job names (#18) -- Bump google.golang.org/grpc from 1.33.2 to 1.34.0 (#5737) -- Bump gaurav-nelson/github-action-markdown-link-check (#22) -- Bump codecov/codecov-action from v1.0.13 to v1.0.15 (#23) -- Bump golangci/golangci-lint-action from v2.2.1 to v2.3.0 (#24) -- Bump rtCamp/action-slack-notify from e9db0ef to 2.1.1 (#25) -- Bump google.golang.org/grpc from 1.33.2 to 1.34.0 (#26) -- Bump vuepress-theme-cosmos from 1.0.173 to 1.0.177 in /docs (#27) -- Bump watchpack from 2.0.1 to 2.1.0 in /docs (#5768) -- Bump rtCamp/action-slack-notify from ecc1353ce30ef086ce3fc3d1ea9ac2e32e150402 to 2.1.2 (#5767) - -### Changelog - -- Add entry back (#5738) - -### Ci - -- Remove circle (#5714) -- Build for 32 bit, libs: fix overflow (#5700) -- Build for 32 bit, libs: fix overflow (#5700) -- Install BLS library in lint.yml and bump its go version (#15) -- E2e fixes - docker image, e2e.yml BLS library, default KeyType (#21) - -### Cmd - -- Modify `gen_node_key` to print key to STDOUT (#5772) - -### Codecov - -- Validate codecov.yml (#5699) - -### Consensus - -- Fix flaky tests (#5734) - -### Contributing - -- Simplify our minor release process (#5749) - -### Crypto - -- Fix infinite recursion in Secp256k1 string formatting (#5707) -- Fix infinite recursion in Secp256k1 string formatting (#5707) (#5709) - -### Crypto|p2p|state|types - -- Rename Pub/PrivKey's TypeIdentifier() and Type() - -### Dep - -- Bump ed25519consensus version (#5760) - -### Evidence - -- Omit bytes field (#5745) -- Omit bytes field (#5745) - -### Goreleaser - -- Lowercase binary name (#5765) - -### Libs/bits - -- Validate BitArray in FromProto (#5720) - -### Light - -- Minor fixes / standardising errors (#5716) - -### Lint - -- Run gofmt and goimports (#13) - -### Linter - -- Fix some bls-related linter issues (#14) - -### Node - -- Improve test coverage on proposal block (#5748) - -### P2p - -- State sync reactor refactor (#5671) - -### P2p/pex - -- Fix flaky tests (#5733) - -### Reactors - -- Omit incoming message bytes from reactor logs (#5743) -- Omit incoming message bytes from reactor logs (#5743) - -### Readme - -- Remover circleci badge (#5729) - -### Version - -- Add abci version to handshake (#5706) - -## [0.34.0] - 2020-11-19 - -### .github - -- Move mergify config -- Move codecov.yml into .github -- Move codecov config into .github - -### .gitignore - -- Sort (#5690) - -### .goreleaser - -- Don't build linux/arm -- Build for windows - -### .vscode - -- Remove directory (#5626) - -### CHANGELOG - -- Update to reflect v0.34.0-rc6 (#5622) -- Add breaking Version name change (#5628) - -### Core - -- Move validation & data structures together (#176) - -### Documentation - -- Update url for kms repo (#5510) -- Footer cleanup (#5457) -- Remove DEV_SESSIONS list (#5579) -- Add ADR on P2P refactor scope (#5592) -- Bump vuepress-theme-cosmos (#5614) -- Make blockchain not viewable (#211) -- Add missing ADRs to README, update status of ADR 034 (#5663) -- Add P2P architecture ADR (#5637) -- Warn developers about calling blocking funcs in Receive (#5679) - -### RFC - -- Adopt zip 215 (#144) - -### Security - -- Bump github.com/golang/protobuf from 1.4.2 to 1.4.3 (#5506) -- Bump github.com/spf13/cobra from 1.0.0 to 1.1.0 (#5505) -- Bump github.com/prometheus/client_golang from 1.7.1 to 1.8.0 (#5515) -- Bump github.com/spf13/cobra from 1.1.0 to 1.1.1 (#5526) -- Bump google.golang.org/grpc from 1.33.1 to 1.33.2 (#5635) -- Bump github.com/golang/protobuf from 1.4.2 to 1.4.3 (#5506) -- Bump github.com/spf13/cobra from 1.0.0 to 1.1.0 (#5505) -- Bump github.com/prometheus/client_golang from 1.7.1 to 1.8.0 (#5515) -- Bump github.com/spf13/cobra from 1.1.0 to 1.1.1 (#5526) -- Bump google.golang.org/grpc from 1.33.1 to 1.33.2 (#5635) - -### Testing - -- Clean up E2E test volumes using a container (#5509) -- Tweak E2E tests for nightly runs (#5512) -- Enable ABCI gRPC client in E2E testnets (#5521) -- Enable blockchain v2 in E2E testnet generator (#5533) -- Enable restart/kill perturbations in E2E tests (#5537) -- Add end-to-end testing framework (#5435) -- Add basic end-to-end test cases (#5450) -- Add GitHub action for end-to-end tests (#5452) -- Remove P2P tests (#5453) -- Add E2E test for node peering (#5465) -- Add random testnet generator (#5479) -- Clean up E2E test volumes using a container (#5509) -- Tweak E2E tests for nightly runs (#5512) -- Enable ABCI gRPC client in E2E testnets (#5521) -- Enable blockchain v2 in E2E testnet generator (#5533) -- Enable restart/kill perturbations in E2E tests (#5537) -- Run remaining E2E testnets on run-multiple.sh failure (#5557) -- Tag E2E Docker resources and autoremove them (#5558) -- Add evidence e2e tests (#5488) -- Run remaining E2E testnets on run-multiple.sh failure (#5557) -- Tag E2E Docker resources and autoremove them (#5558) -- Add evidence e2e tests (#5488) -- Fix handling of start height in generated E2E testnets (#5563) -- Disable E2E misbehaviors due to bugs (#5569) -- Fix handling of start height in generated E2E testnets (#5563) -- Disable E2E misbehaviors due to bugs (#5569) -- Fix various E2E test issues (#5576) -- Fix various E2E test issues (#5576) -- Fix secp failures (#5649) -- Fix secp failures (#5649) - -### Abci - -- Lastcommitinfo.round extra sentence (#221) - -### Abci/grpc - -- Return async responses in order (#5520) -- Return async responses in order (#5520) (#5531) -- Fix ordering of sync/async callback combinations (#5556) -- Fix ordering of sync/async callback combinations (#5556) - -### Block - -- Fix max commit sig size (#5567) -- Fix max commit sig size (#5567) - -### Blockchain/v1 - -- Add noBlockResponse handling (#5401) - -### Blockchain/v2 - -- Fix "panic: duplicate block enqueued by processor" (#5499) -- Fix panic: processed height X+1 but expected height X (#5530) -- Fix "panic: duplicate block enqueued by processor" (#5499) -- Fix panic: processed height X+1 but expected height X (#5530) -- Make the removal of an already removed peer a noop (#5553) -- Make the removal of an already removed peer a noop (#5553) -- Remove peers from the processor (#5607) -- Remove peers from the processor (#5607) - -### Buf - -- Modify buf.yml, add buf generate (#5653) - -### Build - -- Bump codecov/codecov-action from v1.0.13 to v1.0.14 (#5525) -- Bump gaurav-nelson/github-action-markdown-link-check from 1.0.7 to 1.0.8 (#5543) -- Bump gaurav-nelson/github-action-markdown-link-check from 1.0.7 to 1.0.8 (#188) -- Bump google.golang.org/grpc from 1.32.0 to 1.33.1 (#5544) -- Bump actions/cache from v2.1.1 to v2.1.2 (#5487) -- Bump golangci/golangci-lint-action from v2.2.0 to v2.2.1 (#5486) -- Bump technote-space/get-diff-action from v3 to v4 (#5485) -- Bump golangci/golangci-lint-action from v2.2.1 to v2.3.0 (#5571) -- Bump codecov/codecov-action from v1.0.13 to v1.0.14 (#5582) -- Bump watchpack from 2.0.0 to 2.0.1 in /docs (#5605) -- Bump actions/cache from v2.1.2 to v2.1.3 (#5633) -- Bump github.com/tendermint/tm-db from 0.6.2 to 0.6.3 -- Bump rtCamp/action-slack-notify from e9db0ef to 2.1.1 -- Bump google.golang.org/grpc from 1.32.0 to 1.33.1 (#5544) -- Bump github.com/tendermint/tm-db from 0.6.2 to 0.6.3 -- Bump codecov/codecov-action from v1.0.14 to v1.0.15 (#5676) - -### Changelog - -- Squash changelog from 0.34 RCs into one (#5691) -- Squash changelog from 0.34 RCs into one (#5687) - -### Ci - -- Docker remove circleci and add github action (#5551) -- Add goreleaser (#5527) -- Tests (#5577) -- Add goreleaser (#5527) -- Tests (#5577) -- Use gh pages (#5609) -- Remove `add-path` (#5674) -- Remove `add-path` (#5674) - -### Ci/e2e - -- Avoid running job when no go files are touched (#5471) - -### Circleci - -- Remove Gitian reproducible_builds job (#5462) - -### Cli - -- Light home dir should default to where the full node default is (#5392) - -### Cmd - -- Add support for --key (#5612) - -### Consensus - -- Open target WAL as read/write during autorepair (#5536) -- Open target WAL as read/write during autorepair (#5536) (#5547) - -### Contributing - -- Include instructions for a release candidate (#5498) - -### Crypto - -- Add in secp256k1 support (#5500) -- Add in secp256k1 support (#5500) -- Adopt zip215 ed25519 verification (#5632) - -### E2e - -- Use ed25519 for secretConn (remote signer) (#5678) -- Use ed25519 for secretConn (remote signer) (#5678) - -### Encoding - -- Add secp, ref zip215, tables (#212) - -### Evidence - -- Don't gossip consensus evidence too soon (#5528) -- Don't send committed evidence and ignore inbound evidence that is already committed (#5574) -- Don't gossip consensus evidence too soon (#5528) -- Don't send committed evidence and ignore inbound evidence that is already committed (#5574) -- Structs can independently form abci evidence (#5610) -- Structs can independently form abci evidence (#5610) -- Update data structures to reflect added support of abci evidence (#213) - -### Github - -- Rename e2e jobs (#5502) -- Add nightly E2E testnet action (#5480) -- Add nightly E2E testnet action (#5480) -- Rename e2e jobs (#5502) -- Only notify nightly E2E failures once (#5559) -- Only notify nightly E2E failures once (#5559) -- Issue template for proposals (#190) - -### Go.mod - -- Upgrade iavl and deps (#5657) -- Upgrade iavl and deps (#5657) - -### Libs/os - -- Add test case for TrapSignal (#5646) -- Remove unused aliases, add test cases (#5654) - -### Light - -- Cross-check the very first header (#5429) -- Model-based tests (#5461) -- Run detector for sequentially validating light client (#5538) -- Run detector for sequentially validating light client (#5538) (#5601) -- Make fraction parts uint64, ensuring that it is always positive (#5655) -- Make fraction parts uint64, ensuring that it is always positive (#5655) -- Ensure required header fields are present for verification (#5677) - -### Light/rpc - -- Fix ABCIQuery (#5375) - -### P2p - -- Remove p2p.FuzzedConnection and its config settings (#5598) -- Remove unused MakePoWTarget() (#5684) - -### Privval - -- Make response values non nullable (#5583) -- Make response values non nullable (#5583) -- Increase read/write timeout to 5s and calculate ping interval based on it (#5638) -- Reset pingTimer to avoid sending unnecessary pings (#5642) -- Increase read/write timeout to 5s and calculate ping interva… (#5666) -- Reset pingTimer to avoid sending unnecessary pings (#5642) (#5668) -- Duplicate SecretConnection from p2p package (#5672) - -### Proto - -- Buf for everything (#5650) - -### Relase_notes - -- Add release notes for v0.34.0 - -### Rpc - -- Fix content-type header (#5661) -- Fix content-type header - -### Scripts - -- Move build.sh into scripts -- Make linkifier default to 'pull' rather than 'issue' (#5689) - -### Spec - -- Update light client verification to match supervisor (#171) - -### Statesync - -- Check all necessary heights when adding snapshot to pool (#5516) -- Check all necessary heights when adding snapshot to pool (#5516) (#5518) - -### Types - -- Rename json parts to part_set_header (#5523) -- Move `MakeBlock` to block.go (#5573) - -### Upgrading - -- Update 0.34 instructions with updates since RC4 (#5685) -- Update 0.34 instructions with updates since RC4 (#5686) - -## [0.34.0-rc5] - 2020-10-13 - -### Documentation - -- Minor tweaks (#5404) -- Update state sync config with discovery_time (#5405) -- Add explanation of p2p configuration options (#5397) -- Specify TM version in go tutorials (#5427) -- Revise ADR 56, documenting short term decision around amnesia evidence (#5440) -- Fix links to adr 56 (#5464) -- Docs-staging → master (#5468) -- Make /master the default (#5474) - -### Testing - -- Add end-to-end testing framework (#5435) -- Add basic end-to-end test cases (#5450) -- Add GitHub action for end-to-end tests (#5452) -- Remove P2P tests (#5453) -- Add E2E test for node peering (#5465) -- Add random testnet generator (#5479) - -### Abci - -- Remove setOption (#5447) - -### Block - -- Use commit sig size instead of vote size (#5490) - -### Blockchain - -- Remove duplication of validate basic (#5418) - -### Blockchain/v1 - -- Add noBlockResponse handling (#5401) - -### Build - -- Bump watchpack from 1.7.4 to 2.0.0 in /docs (#5470) -- Bump actions/cache from v2.1.1 to v2.1.2 (#5487) -- Bump golangci/golangci-lint-action from v2.2.0 to v2.2.1 (#5486) -- Bump technote-space/get-diff-action from v3 to v4 (#5485) - -### Changelog - -- Add missing date to v0.33.5 release, fix indentation (#5454) -- Add missing date to v0.33.5 release, fix indentation (#5454) (#5455) -- Prepare changelog for RC5 (#5494) - -### Ci - -- Docker remvoe circleci and add github action (#5420) - -### Ci/e2e - -- Avoid running job when no go files are touched (#5471) - -### Circleci - -- Remove Gitian reproducible_builds job (#5462) - -### Cli - -- Light home dir should default to where the full node default is (#5392) - -### Codecov - -- Disable annotations (#5413) - -### Config - -- Set statesync.rpc_servers when generating config file (#5433) -- Set statesync.rpc_servers when generating config file (#5433) (#5438) - -### Consensus - -- Check block parts don't exceed maximum block bytes (#5431) -- Check block parts don't exceed maximum block bytes (#5436) - -### Evidence - -- Update data structures (#165) -- Use bytes instead of quantity to limit size (#5449) -- Use bytes instead of quantity to limit size (#5449)(#5476) - -### Light - -- Expand on errors and docs (#5443) -- Cross-check the very first header (#5429) - -### Light/rpc - -- Fix ABCIQuery (#5375) - -### Mempool - -- Fix nil pointer dereference (#5412) -- Fix nil pointer dereference (#5412) -- Length prefix txs when getting them from mempool (#5483) - -### Privval - -- Allow passing options to NewSignerDialerEndpoint (#5434) -- Allow passing options to NewSignerDialerEndpoint (#5434) (#5437) -- Fix ping message encoding (#5441) -- Fix ping message encoding (#5442) - -### Rpc/core - -- More docs and a test for /blockchain endpoint (#5417) - -### Spec - -- Protobuf changes (#156) - -### State - -- More test cases for block validation (#5415) - -### Tx - -- Reduce function to one parameter (#5493) - -## [0.34.0-rc4] - 2020-09-24 - -### CHANGELOG - -- Update for 0.34.0-rc4 (#5400) - -### CODEOWNERS - -- Specify more precise codeowners (#5333) - -### Documentation - -- Cleanup (#5252) -- Dont display duplicate (#5271) -- Rename swagger to openapi (#5263) -- Fix go tutorials (#5267) -- Versioned (#5241) -- Remove duplicate secure p2p (#5279) -- Remove interview transcript (#5282) -- Add block retention to upgrading.md (#5284) -- Updates to various sections (#5285) -- Add algolia docsearch configs (#5309) -- Add sections to abci (#150) -- Add doc on state sync configuration (#5304) -- Move subscription to tendermint-core (#5323) -- Add missing metrics (#5325) -- Add more description to initial_height (#5350) -- Make rfc section disppear (#5353) -- Document max entries for `/blockchain` RPC (#5356) -- Fix incorrect time_iota_ms configuration (#5385) - -### README - -- Clean up README (#5391) - -### Security - -- Bump vuepress-theme-cosmos from 1.0.169 to 1.0.172 in /docs (#5286) -- Bump google.golang.org/grpc from 1.31.0 to 1.31.1 (#5290) - -### UPGRADING - -- Polish upgrading instructions for 0.34 (#5398) - -### Abci - -- Update evidence (#5324) -- Fix socket client error for state sync responses (#5395) - -### Adr - -- Add API stability ADR (#5341) - -### Blockchain - -- Fix fast sync halt with initial height > 1 (#5249) -- Verify +2/3 (#5278) - -### Blockstore - -- Fix race conditions when loading data (#5382) - -### Build - -- Bump golangci/golangci-lint-action from v2.1.0 to v2.2.0 (#5245) -- Bump actions/cache from v1 to v2.1.0 (#5244) -- Bump codecov/codecov-action from v1.0.7 to v1.0.12 (#5247) -- Bump technote-space/get-diff-action from v1 to v3 (#5246) -- Bump gaurav-nelson/github-action-markdown-link-check from 0.6.0 to 1.0.5 (#5248) -- Bump codecov/codecov-action from v1.0.12 to v1.0.13 (#5258) -- Bump gaurav-nelson/github-action-markdown-link-check from 1.0.5 to 1.0.6 (#5265) -- Bump gaurav-nelson/github-action-markdown-link-check from 1.0.6 to 1.0.7 (#5269) -- Bump actions/cache from v2.1.0 to v2.1.1 (#5268) -- Bump gaurav-nelson/github-action-markdown-link-check from 0.6.0 to 1.0.7 (#149) -- Bump github.com/tendermint/tm-db from 0.6.1 to 0.6.2 (#5296) -- Bump google.golang.org/grpc from 1.31.1 to 1.32.0 (#5346) -- Bump github.com/minio/highwayhash from 1.0.0 to 1.0.1 (#5370) -- Bump vuepress-theme-cosmos from 1.0.172 to 1.0.173 in /docs (#5390) - -### Changelog - -- Add v0.33.8 from release (#5242) -- Minor tweaks (#5389) - -### Ci - -- Fix net pipeline (#5272) -- Delay codecov notification (#5275) -- Add markdown linter (#146) -- Add dependabot config (#148) -- Fix net run (#5343) - -### Config - -- Trust period consistency (#5297) -- Rename prof_laddr to pprof_laddr and move it to rpc (#5315) -- Set time_iota_ms to timeout_commit in test genesis (#5386) -- Add state sync discovery_time setting (#5399) - -### Consensus - -- Double-sign risk reduction (ADR-51) (#5147) -- Fix wrong proposer schedule for `InitChain` validators (#5329) - -### Crypto - -- Remove secp256k1 (#5280) -- Remove proto privatekey (#5301) -- Reword readme (#5349) - -### Evidence - -- Modularise evidence by moving verification function into evidence package (#5234) -- Remove ConflictingHeaders type (#5317) -- Remove lunatic (#5318) -- Remove amnesia & POLC (#5319) -- Introduction of LightClientAttackEvidence and refactor of evidence lifecycle (#5361) - -### Header - -- Check block protocol (#5340) - -### Libs/bits - -- Inline defer and change order of mutexes (#5187) - -### Light - -- Update ADR 47 with light traces (#5250) -- Implement light block (#5298) -- Move dropout handling and invalid data to the provider (#5308) - -### Lint - -- Add markdown linter (#5254) -- Add errchecks (#5316) -- Enable errcheck (#5336) - -### Makefile - -- Add options for other DBs (#5357) - -### Markdownlint - -- Ignore .github directory (#5351) - -### Mempool - -- Return an error when WAL fails (#5292) -- Batch txs per peer in broadcastTxRoutine (#5321) - -### Mempool/reactor - -- Fix reactor broadcast test (#5362) - -### Metrics - -- Switch from gauge to histogram (#5326) - -### Mocks - -- Update with 2.2.1 (#5294) - -### Node - -- Fix genesis state propagation to state sync (#5302) - -### P2p - -- Reduce log severity (#5338) - -### Privval - -- Add chainID to requests (#5239) - -### Rfc - -- Add end-to-end testing RFC (#5337) - -### Rpc - -- Add private & unconditional to /dial_peer (#5293) -- Fix openapi spec syntax error (#5358) -- Fix test data races (#5363) -- Revert JSON-RPC/WebSocket response batching (#5378) - -### Rpc/client - -- Take context as first param (#5347) - -### Rpc/jsonrpc/server - -- Ws server optimizations (#5312) - -### Spec - -- Update abci events (#151) -- Extract light-client to its own directory (#152) -- Remove evidences (#153) -- Light client attack detector (#164) - -### Spec/reactors/mempool - -- Batch txs per peer (#155) - -### State - -- Define interface for state store (#5348) - -### Statesync - -- Fix valset off-by-one causing consensus failures (#5311) -- Broadcast snapshot request to all peers on startup (#5320) -- Fix the validator set heights (again) (#5330) - -### Swagger - -- Update (#5257) - -### Types - -- Comment on need for length prefixing (#5283) - -### Upgrading - -- State store change (#5364) - -### Ux - -- Use docker to format proto files (#5384) - -## [0.34.0-rc3] - 2020-08-13 - -### RFC-002 - -- Non-zero genesis (#119) - -### Security - -- [Security] Bump prismjs from 1.20.0 to 1.21.0 in /docs - -### Testing - -- Protobuf vectors for reactors (#5221) - -### Abci - -- Fix abci evidence types (#5174) -- Add ResponseInitChain.app_hash, check and record it (#5227) -- Add ResponseInitChain.app_hash (#140) - -### Build - -- Bump google.golang.org/grpc from 1.30.0 to 1.31.0 -- Bump github.com/spf13/viper from 1.7.0 to 1.7.1 - -### Changelog - -- Add v0.33.7 release (#5203) -- Add v0.32.13 release (#5204) -- Update for 0.34.0-rc3 (#5240) - -### Ci - -- Freeze golangci action version (#5196) - -### Consensus - -- Don't check InitChain app hash vs genesis app hash, replace it (#5237) - -### Contributing - -- Add steps for adding and removing rc branches (#5223) - -### Crypto - -- Consistent api across keys (#5214) -- API modifications (#5236) - -### Db - -- Add support for badgerdb (#5233) - -### Evidence - -- Remove phantom validator evidence (#5181) -- Don't stop evidence verification if an evidence fails (#5189) -- Fix usage of time field in abci evidence (#5201) -- Change evidence time to block time (#5219) -- Remove validator index verification (#5225) - -### Genesis - -- Add support for arbitrary initial height (#5191) - -### Libs/rand - -- Fix "out-of-memory" error on unexpected argument (#5215) - -### Merkle - -- Return hashes for empty merkle trees (#5193) - -### Node - -- Don't attempt fast sync when InitChain sets self as only validator (#5211) - -### Rpc/client/http - -- Log error (#5182) - -### Spec - -- Revert event hashing (#132) - -### State - -- Don't save genesis state in database when loaded (#5231) - -## [0.34.0-rc2] - 2020-07-30 - -### .github/issue_template - -- Update `/dump_consensus_state` request. (#5060) - -### ADR - -- Add missing numbers as blank templates (#5154) - -### ADR-057 - -- RPC (#4857) - -### CHANGELOG_PENDING - -- Fix the upcoming release number (#5103) - -### Documentation - -- Update .vuepress/config.js (#5043) -- Add warning for chainid (#5072) -- Added further documentation to the subscribing to events page (#5110) -- Tweak light client documentation (#5121) -- Modify needed proto files for guides (#5123) -- EventAttribute#Index is not deterministic (#5132) -- Event hashing ADR 058 (#5134) -- Simplify choosing an ADR number (#5156) -- Add more details on Vote struct from /consensus_state (#5164) -- Document ConsensusParams (#5165) -- Document canonical field (#5166) - -### README - -- Update chat link with Discord instead of Riot (#5071) - -### Security - -- [Security] Bump lodash from 4.17.15 to 4.17.19 in /docs - -### Testing - -- Use github.sha in binary cache key (#5062) -- Deflake TestAddAndRemoveListenerConcurrency and TestSyncer_SyncAny (#5101) - -### Abci - -- Tweak node sync estimate (#115) - -### Abci/example/kvstore - -- Decrease val power by 1 upon equivocation (#5056) - -### Abci/types - -- Add comment for TotalVotingPower (#5081) - -### Behaviour - -- Add simple doc.go (#5055) - -### Blockchain - -- Test vectors for proto encoding (#5073) -- Rename to core (#123) -- Remove duplicate evidence sections (#124) - -### Build - -- Bump github.com/prometheus/client_golang -- Bump vuepress-theme-cosmos from 1.0.168 to 1.0.169 in /docs - -### Changelog - -- Update 0.33.6 (#5075) -- Note breaking change in the 0.33.6 release (#5077) -- Reorgranize (#5065) -- Move entries from pending (#5172) -- Bump to 0.34.0-rc2 (#5176) - -### Ci - -- Try to fix codecov (#5095) -- Only run tests when go files are touched (#5097) -- Version linter fix (#5128) - -### Consensus - -- Do not allow signatures for a wrong block in commits -- Msg testvectors (#5076) -- Added byzantine test, modified previous test (#5150) -- Only call privValidator.GetPubKey once per block (#5143) - -### Deps - -- Bump tm-db to 0.6.0 (#5058) - -### Evidence - -- Fix data race in Pool.updateValToLastHeight() (#5100) -- Check lunatic vote matches header (#5093) -- New evidence event subscription (#5108) -- Minor correction to potential amnesia ev validate basic (#5151) - -### Jsonrpc - -- Change log to debug (#5131) - -### Libs - -- Wrap mutexes for build flag with godeadlock (#5126) - -### Light - -- Fix rpc calls: /block_results & /validators (#5104) -- Use bisection (not VerifyCommitTrusting) when verifying a head… (#5119) -- Return if target header is invalid (#5124) - -### Lint - -- Errcheck (#5091) - -### Linter - -- (1/2) enable errcheck (#5064) - -### Mempool - -- Make it clear overwriting of pre/postCheck filters is intent… (#5054) -- Use oneof (#5063) -- Add RemoveTxByKey function (#5066) - -### P2p - -- Remove data race bug in netaddr stringer (#5048) -- Ensure peers can't change IP of known nodes (#5136) - -### Privval - -- If remote signer errors, don't retry (#5140) - -### Proto - -- Increase lint level to basic and fix lint warnings (#5096) -- Improve enums (#5099) -- Reorganize Protobuf schemas (#5102) -- Minor cleanups (#5105) -- Change type + a cleanup (#5107) -- Add a comment for Validator#Address (#5144) - -### Proto/tendermint/abci - -- Fix Request oneof numbers (#5116) - -### Proxy - -- Improve ABCI app connection handling (#5078) - -### Rpc - -- Move docs from doc.go to swagger.yaml (#5044) -- /broadcast_evidence nil evidence check (#5109) -- Make gasWanted/Used snake_case (#5137) - -### Rpc/jsonrpc/server - -- Merge WriteRPCResponseHTTP and WriteRPCResponseAr (#5141) - -### Spec/abci - -- Expand on Validator#Address (#118) - -### Spec/consensus - -- Canonical vs subjective commit - -### State - -- Revert event hashing (#5159) - -### Types - -- Simplify safeMul (#5061) -- Verify commit fully -- Validatebasic on from proto (#5152) -- Check if nil or empty valset (#5167) - -### Version - -- Bump version numbers (#5173) - -## [0.34.0-dev1] - 2020-06-24 - -### .github - -- Move checklist from PR description into an auto-comment (#4745) -- Fix whitespace for autocomment (#4747) -- Fix whitespace for auto-comment (#4750) - -### ADR-053 - -- Strengthen and simplify the state sync ABCI interface (#4610) - -### Bug Fixes - -- Fix spelling of comment (#4566) - -### CHANGELOG - -- Update to reflect 0.33.5 (#4915) -- Add 0.32.12 changelog entry (#4918) - -### CONTRIBUTING - -- Update minor release process (#4909) - -### Documentation - -- Validator setup & Key info (#4604) -- Add adr-55 for proto repo design (#4623) -- Amend adr-54 with changes in the sdk (#4684) -- Create adr 56: prove amnesia attack -- Mention unbonding period in MaxAgeNumBlocks/MaxAgeDuration -- State we don't support non constant time crypto -- Move tcp-window.png to imgs/ -- Document open file limit in production guide (#4945) -- Update amnesia adr (#4994) - -### Makefile - -- Parse TENDERMINT_BUILD_OPTIONS (#4738) - -### README - -- Specify supported versions (#4660) - -### RFC-001 - -- Configurable block retention (#84) - -### Security - -- [Security] Bump websocket-extensions from 0.1.3 to 0.1.4 in /docs (#4976) - -### Testing - -- Fix p2p test build breakage caused by Debian testing -- Revert Go 1.13→1.14 bump -- Use random socket names to avoid collisions (#4885) -- Mitigate test data race (#4886) - -### UPGRADING.md - -- Write about the LastResultsHash change (#5000) - -### Abci - -- Add basic description of ABCI Commit.ResponseHeight (#85) -- Add MaxAgeNumBlocks/MaxAgeDuration to EvidenceParams (#87) -- Update MaxAgeNumBlocks & MaxAgeDuration docs (#88) -- Fix protobuf lint issues -- Regenerate proto files -- Remove protoreplace script -- Remove python examples -- Proto files follow same path (#5039) -- Add AppVersion to ConsensusParams (#106) - -### Abci/server - -- Print panic & stack trace to STDERR if logger is not set - -### Adr-053 - -- Update after state sync merge (#4768) - -### All - -- Name reactors when they are initialized (#4608) - -### Blockchain - -- Enable v2 to be set (#4597) -- Change validator set sorting method (#91) -- Proto migration (#4969) - -### Blockchain/v2 - -- Allow setting nil switch, for CustomReactors() -- Don't broadcast base if height is 0 -- Fix excessive CPU usage due to spinning on closed channels (#4761) -- Respect fast_sync option (#4772) -- Integrate with state sync -- Correctly set block store base in status responses (#4971) - -### Blockchain[v1] - -- Increased timeout times for peer tests (#4871) - -### Blockstore - -- Allow initial SaveBlock() at any height - -### Build - -- Bump github.com/Workiva/go-datastructures (#4545) -- Bump google.golang.org/grpc from 1.27.1 to 1.28.0 (#4551) -- Bump github.com/tendermint/tm-db from 0.4.1 to 0.5.0 (#4554) -- Bump github.com/golang/protobuf from 1.3.4 to 1.3.5 (#4563) -- Bump github.com/prometheus/client_golang (#4574) -- Bump github.com/gorilla/websocket from 1.4.1 to 1.4.2 (#4584) -- Bump github.com/spf13/cobra from 0.0.6 to 0.0.7 (#4612) -- Bump github.com/tendermint/tm-db from 0.5.0 to 0.5.1 (#4613) -- Bump google.golang.org/grpc from 1.28.0 to 1.28.1 (#4653) -- Bump github.com/spf13/viper from 1.6.2 to 1.6.3 (#4664) -- Bump @vuepress/plugin-google-analytics in /docs (#4692) -- Bump google.golang.org/grpc from 1.28.1 to 1.29.0 -- Bump google.golang.org/grpc from 1.29.0 to 1.29.1 (#4735) -- Manually bump github.com/prometheus/client_golang from 1.5.1 to 1.6.0 (#4758) -- Bump github.com/golang/protobuf from 1.4.0 to 1.4.1 (#4794) -- Bump vuepress-theme-cosmos from 1.0.163 to 1.0.164 in /docs (#4815) -- Bump github.com/spf13/viper from 1.6.3 to 1.7.0 (#4814) -- Bump github.com/golang/protobuf from 1.4.1 to 1.4.2 (#4849) -- Bump vuepress-theme-cosmos from 1.0.164 to 1.0.165 in /docs -- Bump github.com/stretchr/testify from 1.5.1 to 1.6.0 -- Bump vuepress-theme-cosmos from 1.0.165 to 1.0.166 in /docs (#4920) -- Bump github.com/stretchr/testify from 1.6.0 to 1.6.1 -- Bump github.com/prometheus/client_golang from 1.6.0 to 1.7.0 (#5027) -- Bump google.golang.org/grpc from 1.29.1 to 1.30.0 - -### Changelog - -- Add entries from secruity releases - -### Ci - -- Transition some ci to github actions -- Only run when applicable (#4752) -- Check git diff on each job (#4770) -- Checkout code before git diff check (#4779) -- Add paths -- Bump the timeout for test_coverage (#4864) -- Migrate localnet to github actions (#4878) -- Add timeouts (#4912) -- Migrate test_cover (#4869) -- Fix spacing of if statement (#5015) - -### Cli - -- Add command to generate shell completion scripts (#4665) - -### Codeowners - -- Add code owners (#82) - -### Config - -- Allow fastsync.version = v2 (#4639) - -### Consensus - -- Add comment as to why use mocks during replay (#4785) -- Fix TestSimulateValidatorsChange -- Fix and rename TestStateLockPOLRelock (#4796) -- Bring back log.Error statement (#4899) -- Increase ensureTimeout (#4891) -- Fix startnextheightcorrectly test (#4938) -- Attempt to repair the WAL file on data corruption (#4682) -- Change logging and handling of height mismatch (#4954) -- Stricter on LastCommitRound check (#4970) -- Proto migration (#4984) - -### Cov - -- Ignore autogen file (#5033) - -### Crypto - -- Remove SimpleHashFromMap() and SimpleProofsFromMap() -- Remove key suffixes (#4941) -- Removal of multisig (#4988) - -### Crypto/merkle - -- Remove simple prefix (#4989) - -### Dep - -- Bump protobuf, cobra, btcutil & std lib deps (#4676) - -### Deps - -- Bump deps that bot cant (#4555) -- Run go mod tidy (#4587) - -### Encoding - -- Remove codecs (#4996) - -### Evidence - -- Both MaxAgeDuration and MaxAgeNumBlocks need to be surpassed (#4667) -- Handling evidence from light client(s) (#4532) -- Remove unused param (#4726) -- Remove pubkey from duplicate vote evidence -- Add doc.go -- Protect valToLastHeight w/ mtx -- Check evidence is pending before validating evidence -- Refactor evidence mocks throughout packages (#4787) -- Cap evidence to an absolute number (#4780) -- Create proof of lock change and implement it in evidence store (#4746) -- Prevent proposer from proposing duplicate pieces of evidence (#4839) -- Remove header from phantom evidence (#4892) -- Retrieve header at height of evidence for validation (#4870) -- Json tags for DuplicateVoteEvidence (#4959) -- Migrate reactor to proto (#4949) -- Adr56 form amnesia evidence (#4821) -- Improve amnesia evidence handling (#5003) -- Replace mock evidence with mocked duplicate vote evidence (#5036) - -### Format - -- Add format cmd & goimport repo (#4586) - -### Indexer - -- Allow indexing an event at runtime (#4466) -- Remove index filtering (#5006) - -### Ints - -- Stricter numbers (#4939) - -### Json - -- Add Amino-compatible encoder/decoder (#4955) - -### Keys - -- Change to []bytes (#4950) - -### Libs - -- Remove bech32 -- Remove kv (#4874) - -### Libs/kv - -- Remove unused type KI64Pair (#4542) - -### Light - -- Rename lite2 to light & remove lite (#4946) -- Implement validate basic (#4916) -- Migrate to proto (#4964) -- Added more tests for pruning, initialization and bisection (#4978) - -### Lint - -- Add review dog (#4652) -- Enable nolintlinter, disable on tests -- Various fixes - -### Linting - -- Remove unused variable - -### Lite - -- Fix HTTP provider error handling - -### Lite2 - -- Add benchmarking tests (#4514) -- Cache headers in bisection (#4562) -- Use bisection for some of backward verification (#4575) -- Make maxClockDrift an option (#4616) -- Prevent falsely returned double voting error (#4620) -- Default to http scheme in provider.New (#4649) -- Verify ConsensusHash in rpc client -- Fix pivot height during bisection (#4850) -- Correctly return the results of the "latest" block (#4931) -- Allow bigger requests to LC proxy (#4930) -- Check header w/ witnesses only when doing bisection (#4929) -- Compare header with witnesses in parallel (#4935) - -### Lite2/http - -- Fix provider test by increasing the block retention value (#4890) - -### Lite2/rpc - -- Verify block results and validators (#4703) - -### Mempool - -- Reserve IDs in InitPeer instead of AddPeer -- Move mock into mempool directory -- Allow ReapX and CheckTx functions to run in parallel -- Do not launch broadcastTxRoutine if Broadcast is off - -### Mergify - -- Use PR title and body for squash merge commit (#4669) - -### P2p - -- PEX message abuse should ban as well as disconnect (#4621) -- Limit the number of incoming connections -- Set RecvMessageCapacity to maxMsgSize in all reactors -- Return err on `signChallenge` (#4795) -- Return masked IP (not the actual IP) in addrbook#groupKey -- TestTransportMultiplexAcceptNonBlocking and TestTransportMultiplexConnFilterTimeout (#4868) -- Remove nil guard (#4901) -- Expose SaveAs on NodeKey (#4981) -- Proto leftover (#4995) - -### P2p/conn - -- Add a test for MakeSecretConnection (#4829) -- Migrate to Protobuf (#4990) - -### P2p/pex - -- Fix DATA RACE -- Migrate to Protobuf (#4973) - -### P2p/test - -- Wait for listener to get ready (#4881) -- Fix Switch test race condition (#4893) - -### Pex - -- Use highwayhash for pex bucket - -### Privval - -- Return error on getpubkey (#4534) -- Remove deprecated `OldFilePV` -- Retry GetPubKey/SignVote/SignProposal N times before -- Migrate to protobuf (#4985) - -### Proto - -- Use docker to generate stubs (#4615) -- Bring over proto types & msgs (#4718) -- Regenerate proto (#4730) -- Remove test files -- Add proto files for ibc unblock (#4853) -- Add more to/from (#4956) -- Change to use gogofaster (#4957) -- Remove amino proto tests (#4982) -- Move keys to oneof (#4983) -- Leftover amino (#4986) -- Move all proto dirs to /proto (#5012) -- Folder structure adhere to buf (#5025) - -### Reactors/pex - -- Specify hash function (#94) -- Masked IP is used as group key (#96) - -### Readme - -- Add badge for git tests (#4732) -- Add source graph badge (#4980) - -### Removal - -- Remove build folder (#4565) - -### Rpc - -- Fix panic when `Subscribe` is called (#4570) -- Add codespace to ResultBroadcastTx (#4611) -- Handle panics during panic handling -- Use a struct to wrap all the global objects -- Refactor lib folder (#4836) -- Increase waitForEventTimeout to 8 seconds (#4917) -- Add BlockByHash to Client (#4923) -- Replace Amino with new JSON encoder (#4968) -- Support EXISTS operator in /tx_search query (#4979) -- Add /check_tx endpoint (#5017) - -### Rpc/client - -- Split out client packages (#4628) - -### Rpc/core - -- Do not lock ConsensusState mutex -- Return an error if `page=0` (#4947) - -### Rpc/test - -- Fix test race in TestAppCalls (#4894) -- Wait for mempool CheckTx callback (#4908) -- Wait for subscription in TestTxEventsSentWithBroadcastTxAsync (#4907) - -### Spec - -- Add ProofTrialPeriod to EvidenceParam (#99) -- Modify Header.LastResultsHash (#97) -- Link to abci server implementations (#100) -- Update evidence in blockchain.md (#108) - -### State - -- Export InitStateVersion -- Proto migration (#4951) -- Proto migration (#4972) - -### Statesync - -- Use Protobuf instead of Amino for p2p traffic (#4943) - -### Store - -- Proto migration (#4974) - -### Swagger - -- Remove duplicate blockID -- Define version (#4952) - -### Template - -- Add labels to pr template - -### Toml - -- Make sections standout (#4993) - -### Tools - -- Remove need to install buf (#4605) -- Update gogoproto get cmd (#5007) - -### Tools/build - -- Delete stale tools (#4558) - -### Types - -- Implement Header#ValidateBasic (#4638) -- Return an error if voting power overflows -- Sort validators by voting power -- Simplify VerifyCommitTrusting -- Remove extra validation in VerifyCommit -- Assert specific error in TestValSetUpdateOverflowRelated -- Remove unnecessary sort call (#4876) -- Create ValidateBasic() funcs for validator and validator set (#4905) -- Remove VerifyFutureCommit (#4961) -- Migrate params to protobuf (#4962) -- Remove duplicated validation in VerifyCommit (#4991) -- Add tests for blockmeta (#5013) -- Remove pubkey options (#5016) -- More test cases for TestValidatorSet_VerifyCommit (#5018) -- Rename partsheader to partsetheader (#5029) -- Fix evidence timestamp calculation (#5032) -- Add AppVersion to ConsensusParams (#5031) -- Reject blocks w/ ConflictingHeadersEvidence (#5041) - -### Types/test - -- Remove slow test cases in TestValSetUpdatePriorityOrderTests (#4903) - -### Upgrading - -- Add note on rpc/client subpackages (#4636) - -## [0.33.1-dev3] - 2020-03-09 - -### .github - -- Add markdown link checker (#4513) - -### CONTRIBUTING - -- Include instructions for installing protobuf - -### Documentation - -- Adr-046 add bisection algorithm details (#4496) -- `tendermint node --help` dumps all supported flags (#4511) -- Write about debug kill and dump (#4516) -- Fix links (#4531) - -### Testing - -- Simplified txsearch cancellation test (#4500) - -### Adr - -- Crypto encoding for proto (#4481) - -### Adr-047 - -- Evidence handling (#4429) - -### Build - -- Bump github.com/golang/protobuf from 1.3.3 to 1.3.4 (#4485) -- Bump github.com/prometheus/client_golang (#4525) - -### Circleci - -- Fix reproducible builds test (#4497) - -### Cmd - -- Show useful error when tm not initialised (#4512) -- Fix debug kill and change debug dump archive filename format (#4517) - -### Deps - -- Bump github.com/Workiva/go-datastructures (#4519) - -### Example/kvstore - -- Return ABCI query height (#4509) - -### Lite - -- Add helper functions for initiating the light client (#4486) - -### Lite2 - -- Fix tendermint lite sub command (#4505) -- Remove auto update (#4535) -- Indicate success/failure of Update (#4536) -- Replace primary when providing invalid header (#4523) - -### Mergify - -- Remove unnecessary conditions (#4501) -- Use strict merges (#4502) - -### Readme - -- Add discord to readme (#4533) - -### Rpc - -- Stop txSearch result processing if context is done (#4418) -- Keep the original subscription "id" field when new RPCs come in (#4493) -- Remove BlockStoreRPC in favor of BlockStore (#4510) -- Create buffered subscriptions on /subscribe (#4521) - -### Swagger - -- Update swagger port (#4498) - -### Tool - -- Add Mergify (#4490) - -## [0.33.1-dev2] - 2020-02-27 - -### Deps - -- Bump github.com/tendermint/tm-db from 0.4.0 to 0.4.1 (#4476) - -### Github - -- Edit templates for use in issues and pull requests (#4483) - -### Lite2 - -- Cross-check first header and update tests (#4471) -- Remove expiration checks on functions that don't require them (#4477) -- Prune-headers (#4478) -- Return height as 2nd return param in TrustedValidatorSet (#4479) -- Actually run example tests + clock drift (#4487) - -## [0.33.1-dev1] - 2020-02-26 - -### ADR-053 - -- Update with implementation plan after prototype (#4427) - -### Documentation - -- Fix spec links (#4384) -- Update Light Client Protocol page (#4405) - -### Adr - -- Light client implementation (#4397) - -### Autofile - -- Resolve relative paths (#4390) - -### Blockchain - -- Add v2 reactor (#4361) - -### Build - -- Bump github.com/stretchr/testify from 1.5.0 to 1.5.1 (#4441) -- Bump github.com/spf13/cobra from 0.0.3 to 0.0.6 (#4440) - -### Circleci - -- Run P2P IPv4 and IPv6 tests in parallel (#4459) - -### Consensus - -- Reduce log severity for ErrVoteNonDeterministicSignature (#4431) - -### Dep - -- Bump gokit dep (#4424) -- Maunally bump dep (#4436) - -### Deps - -- Bump github.com/stretchr/testify from 1.4.0 to 1.5.0 (#4435) - -### Evidence - -- Add time to evidence params (#69) - -### Lite - -- Modified bisection to loop (#4400) - -### Lite2 - -- Manage witness dropout (#4380) -- Improve string output of all existing providers (#4387) -- Modified sequence method to match bisection (#4403) -- Disconnect from bad nodes (#4388) -- Divide verify functions (#4412) -- Return already verified headers and verify earlier headers (#4428) -- Don't save intermediate headers (#4452) -- Store current validator set (#4472) - -### Make - -- Remove sentry setup cmds (#4383) - -### Makefile - -- Place phony markers after targets (#4408) - -### P2p - -- Use curve25519.X25519() instead of ScalarMult() (#4449) - -### Proto - -- Add buf and protogen script (#4369) -- Minor linting to proto files (#4386) - -### Readme - -- Fix link to original paper (#4391) - -### Release - -- Minor release 0.33.1 (#4401) - -### Rpc - -- Fix issue with multiple subscriptions (#4406) -- Fix tx_search pagination with ordered results (#4437) -- Fix txsearch tests (#4438) -- Fix TxSearch test nits (#4446) - -### Types - -- VerifyCommitX return when +2/3 sigs are verified (#4445) - -## [0.33.1-dev0] - 2020-02-07 - -### Documentation - -- Fix incorrect link (#4377) - -### Lite2 - -- Return if there are no headers in RemoveNoLongerTrustedHeaders (#4378) - -## [0.33.0-dev2] - 2020-02-07 - -### Documentation - -- Update links to rpc (#4348) -- Update npm dependencies (#4364) -- Update guides proto paths (#4365) -- Update specs to remove cmn (#77) - -### Security - -- Cross-check new header with all witnesses (#4373) - -### Abci - -- Fix broken spec link (#4366) - -### Adr - -- ADR-051: Double Signing Risk Reduction (#4262) - -### Build - -- Bump google.golang.org/grpc from 1.26.0 to 1.27.0 (#4355) - -### Deps - -- Bump github.com/golang/protobuf from 1.3.2 to 1.3.3 (#4359) -- Bump google.golang.org/grpc from 1.27.0 to 1.27.1 (#4372) - -### Lite2 - -- Add Start, TrustedValidatorSet funcs (#4337) -- Rename alternative providers to witnesses (#4344) -- Refactor cleanup() (#4343) -- Batch save & delete operations in DB store (#4345) -- Panic if witness is on another chain (#4356) -- Make witnesses mandatory (#4358) -- Replace primary provider with alternative when unavailable (#4354) -- Fetch missing headers (#4362) -- Validate TrustOptions, add NewClientFromTrustedStore (#4374) - -### Node - -- Use GRPCMaxOpenConnections when creating the gRPC server (#4349) - -### P2p - -- Merlin based malleability fixes (#72) - -### Rpc - -- Add sort_order option to tx_search (#4342) - -## [0.33.0-dev1] - 2020-01-23 - -### .golangci - -- Disable new linters (#4024) - -### CHANGELOG - -- Update release/v0.32.8 details (#4162) - -### Documentation - -- Fix consensus spec formatting (#3804) -- "Writing a built-in Tendermint Core application in Go" guide (#3608) -- Add guides to docs (#3830) -- Add a footer to guides (#3835) -- "Writing a Tendermint Core application in Kotlin (gRPC)" guide (#3838) -- "Writing a Tendermint Core application in Java (gRPC)" guide (#3887) -- Fix some typos and changelog entries (#3915) -- Switch the data in `/unconfirmed_txs` and `num_unconfirmed_txs` (#3933) -- Add dev sessions from YouTube (#3929) -- Move dev sessions into docs (#3934) -- Specify a fix for badger err on Windows (#3974) -- Remove traces of develop branch (#4022) -- Any path can be absolute or relative (#4035) -- Add previous dev sessions (#4040) -- Add ABCI Overview (2/2) dev session (#4044) -- Update fork-accountability.md (#4068) -- Add assumption to getting started with abci-cli (#4098) -- Fix build instructions (#4123) -- Add GA for docs.tendermint.com (#4149) -- Replace dead original whitepaper link (#4155) -- Update wording (#4174) -- Mention that Evidence votes are now sorted -- Fix broken links (#4186) -- Fix broken links in consensus/readme.md (#4200) -- Update ADR 43 with links to PRs (#4207) -- Add flag documentation (#4219) -- Fix broken rpc link (#4221) -- Fix broken ecosystem link (#4222) -- Add notes on architecture intro (#4175) -- Remove "0 means latest" from swagger docs (#4236) -- Update app-architecture.md (#4259) -- Link fixes in readme (#4268) -- Add link for installing Tendermint (#4307) -- Update theme version (#4315) -- Minor doc fixes (#4335) - -### Security - -- Refactor Remote signers (#3370) - -### Testing - -- Branch for fix of ci (#4266) -- Bind test servers to 127.0.0.1 (#4322) - -### Vagrantfile - -- Update Go version - -### [Docs] - -- Minor doc touchups (#4171) - -### Abci - -- Remove TotalTxs and NumTxs from Header (#3783) - -### Abci/client - -- Fix DATA RACE in gRPC client (#3798) - -### Abci/kvstore - -- Return `LastBlockHeight` and `LastBlockAppHash` in `Info` (#4233) - -### Abci/server - -- Recover from app panics in socket server (#3809) - -### Adr - -- ADR-052: Tendermint Mode (#4302) - -### Adr#50 - -- Improve trusted peering (#4072) - -### Blockchain - -- Reorg reactor (#3561) - -### Build - -- Bump github.com/tendermint/tm-db from 0.1.1 to 0.2.0 (#4001) -- Bump github.com/gogo/protobuf from 1.3.0 to 1.3.1 (#4055) -- Bump github.com/spf13/viper from 1.4.0 to 1.5.0 (#4102) -- Bump github.com/spf13/viper from 1.5.0 to 1.6.1 (#4224) -- Bump github.com/pkg/errors from 0.9.0 to 0.9.1 (#4310) - -### Changelog - -- Add v0.31.9 and v0.31.8 updates (#4034) -- Fix typo (#4106) -- Explain breaking changes better -- GotVoteFromUnwantedRoundError -> ErrGotVoteFromUnwantedRound -- Add 0.32.9 changelog to master (#4305) - -### Cli - -- Add `--cs.create_empty_blocks_interval` flag (#4205) -- Add `--db_backend` and `--db_dir` flags to tendermint node cmd (#4235) -- Add optional `--genesis_hash` flag to check genesis hash upon startup (#4238) -- Debug sub-command (#4227) - -### Cmd/debug - -- Execute p.Signal only when p is not nil (#4271) - -### Cmd/lite - -- Switch to new lite2 package (#4300) - -### Config - -- Move max_msg_bytes into mempool section (#3869) -- Add rocksdb as a db backend option (#4239) - -### Consensus - -- Reduce "Error attempting to add vote" message severity (Er… (#3871) - -### Consensus/types - -- Fix BenchmarkRoundStateDeepCopy panics (#4244) - -### Crypto - -- Add sr25519 signature scheme (#4190) -- Fix sr25519 from raw import (#4272) - -### Crypto/amino - -- Add function to modify key codec (#4112) - -### Cs - -- Check for SkipTimeoutCommit or wait timeout in handleTxsAvailable (#3928) -- Don't panic when block is not found in store (#4163) -- Clarify where 24 comes from in maxMsgSizeBytes (wal.go) -- Set missing_validators(_power) metrics to 0 for 1st block (#4194) -- Check if cs.privValidator is nil (#4295) - -### Dep - -- Update tm-db to 0.4.0 (#4289) - -### Deps - -- Update gogo/protobuf version from v1.2.1 to v1.3.0 (#3947) -- Bump github.com/magiconair/properties from 1.8.0 to 1.8.1 (#3937) -- Bump github.com/rs/cors from 1.6.0 to 1.7.0 (#3939) -- Bump github.com/fortytw2/leaktest from 1.2.0 to 1.3.0 (#3943) -- Bump github.com/libp2p/go-buffer-pool from 0.0.1 to 0.0.2 (#3948) -- Bump google.golang.org/grpc from 1.22.0 to 1.23.0 (#3942) -- Bump github.com/gorilla/websocket from 1.2.0 to 1.4.1 (#3945) -- Bump viper to 1.4.0 and logfmt to 0.4.0 (#3950) -- Bump github.com/stretchr/testify from 1.3.0 to 1.4.0 (#3951) -- Bump github.com/go-kit/kit from 0.6.0 to 0.9.0 (#3952) -- Bump google.golang.org/grpc from 1.23.0 to 1.23.1 (#3982) -- Bump google.golang.org/grpc from 1.23.1 to 1.24.0 (#4021) -- Bump google.golang.org/grpc from 1.25.0 to 1.25.1 (#4127) -- Bump google.golang.org/grpc from 1.25.1 to 1.26.0 (#4264) -- Bump github.com/go-logfmt/logfmt from 0.4.0 to 0.5.0 (#4282) -- Bump github.com/pkg/errors from 0.8.1 to 0.9.0 (#4301) -- Bump github.com/spf13/viper from 1.6.1 to 1.6.2 (#4318) - -### Evidence - -- Enforce ordering in DuplicateVoteEvidence (#4151) -- Introduce time.Duration to evidence params (#4254) - -### Gitian - -- Update reproducible builds to build with Go 1.12.8 (#3902) - -### Libs - -- Remove db from tendermint in favor of tendermint/tm-cmn (#3811) - -### Libs/common - -- Refactor libs/common 01 (#4230) -- Refactor libs/common 2 (#4231) -- Refactor libs common 3 (#4232) -- Refactor libs/common 4 (#4237) -- Refactor libs/common 5 (#4240) - -### Libs/pubsub - -- Relax tx querying (#4070) - -### Libs/pubsub/query - -- Add EXISTS operator (#4077) - -### Lint - -- Golint issue fixes (#4258) - -### Linters - -- Enable scopelint (#3963) -- Modify code to pass maligned and interfacer (#3959) -- Enable stylecheck (#4153) - -### Lite - -- Follow up from #3989 (#4209) - -### Lite2 - -- Light client with weak subjectivity (#3989) -- Move AutoClient into Client (#4326) -- Improve auto update (#4334) - -### Make - -- Add back tools cmd (#4281) - -### Makefile - -- Minor cleanup (#3994) - -### Mempool - -- Make max_msg_bytes configurable (#3826) -- Make `max_tx_bytes` configurable instead of `max_msg_bytes` (#3877) -- Fix memory loading error on 32-bit machines (#3969) -- Moved TxInfo parameter into Mempool.CheckTx() (#4083) - -### Metrics - -- Only increase last_signed_height if commitSig for block (#4283) - -### Networks/remote - -- Turn on GO111MODULE and use git clone instead of go get (#4203) - -### P2p - -- Fix error logging for connection stop (#3824) -- Do not write 'Couldn't connect to any seeds' if there are no seeds (#3834) -- Only allow ed25519 pubkeys when connecting -- Log as debug msg when address dialing is already connected (#4082) -- Make SecretConnection non-malleable (#3668) -- Add `unconditional_peer_ids` and `persistent_peers_max_dial_period` (#4176) -- Extract maxBackoffDurationForPeer func and remove 1 test (#4218) - -### P2p/conn - -- Add Bufferpool (#3664) -- Simplify secret connection handshake malleability fix with merlin (#4185) - -### Privval - -- Remove misplaced debug statement (#4103) -- Add `SignerDialerEndpointRetryWaitInterval` option (#4115) - -### Prometheus/metrics - -- Three new metrics for consensus (#4263) - -### Rpc - -- Make max_body_bytes and max_header_bytes configurable (#3818) -- /broadcast_evidence (#3481) -- Return err if page is incorrect (less than 0 or greater than tot… (#3825) -- Protect subscription access from race condition (#3910) -- Allow using a custom http client in rpc client (#3779) -- Remove godoc comments in favor of swagger docs (#4126) -- /block_results fix docs + write test + restructure response (#3615) -- Remove duplication of data in `ResultBlock ` (#3856) -- Add pagination to /validators (#3993) -- Update swagger docs to openapi 3.0 (#4223) -- Added proposer in consensus_state (#4250) -- Pass `outCapacity` to `eventBus#Subscribe` when subscribing using a l… (#4279) -- Add method block_by_hash (#4257) -- Modify New* functions to return error (#4274) -- Check nil blockmeta (#4320) -- PR#4320 follow up (#4323) - -### Rpc/client - -- Add basic authentication (#4291) - -### Rpc/lib - -- Fix RPC client, which was previously resolving https protocol to http (#4131) - -### Rpc/swagger - -- Add numtxs to blockmeta (#4139) - -### Scripts - -- Remove install scripts (#4242) - -### Spec - -- Update spec with tendermint updates (#62) - -### Spec/consensus/signing - -- Add more details about nil and amnesia (#54) - -### State - -- Txindex/kv: fsync data to disk immediately after receiving it (#4104) -- Txindex/kv: return an error if there's one (#4095) - -### State/store - -- Remove extra `if` statement (#3774) - -### Store - -- Register block amino, not just crypto (#3894) - -### Tm-bench - -- Add deprecation warning (#3992) - -### Tools.mk - -- Use tags instead of revisions where possible -- Install protoc - -### Tools/tm-bench - -- Remove tm-bench in favor of tm-load-test (#4169) - -### Txindexer - -- Refactor Tx Search Aggregation (#3851) - -### Types - -- Move MakeVote / MakeBlock functions (#3819) -- Add test for block commits with votes for the wrong blockID (#3936) -- Prevent temporary power overflows on validator updates (#4165) -- Change number_txs to num_txs json tag in BlockMeta -- Remove dots from errors in SignedHeader#ValidateBasic -- Change `Commit` to consist of just signatures (#4146) -- Prevent spurious validator power overflow warnings when changing the validator set (#4183) - -## [0.32.1] - 2019-07-15 - -### Documentation - -- Update to contributing.md (#3760) -- Add readme image (#3763) -- Remove confusing statement from contributing.md (#3764) -- Quick link fixes throughout docs and repo (#3776) -- Replace priv_validator.json with priv_validator_key.json (#3786) - -### Testing - -- Add consensus_params to testnet config generation (#3781) - -### Abci - -- Refactor CheckTx to notify of recheck (#3744) -- Minor cleanups in the socket client (#3758) -- Fix documentation regarding CheckTx type update (#3789) - -### Adr - -- [43] blockchain riri-org (#3753) - -### Behaviour - -- Return correct reason in MessageOutOfOrder (#3772) - -### Config - -- Make possible to set absolute paths for TLS cert and key (#3765) - -### Libs - -- Remove commented and unneeded code (#3757) -- Minor cleanup (#3794) - -### Libs/common - -- Remove heap.go (#3780) -- Remove unused functions (#3784) - -### Libs/fail - -- Clean up `fail.go` (#3785) - -### Node - -- Allow registration of custom reactors while creating node (#3771) - -### P2p - -- Dial addrs which came from seed instead of calling ensurePeers (#3762) -- Extract ID validation into a separate func (#3754) - -### Tm-monitor - -- Update build-docker Makefile target (#3790) -- Add Context to RPC handlers (#3792) - -## [0.32.0] - 2019-06-25 - -### Documentation - -- (rpc/broadcast_tx_*) write expectations for a client (#3749) -- Update JS section of abci-cli.md (#3747) - -## [0.32.0-dev2] - 2019-06-22 - -### Abci - -- Refactor ABCI CheckTx and DeliverTx signatures (#3735) - -### Abci/examples - -- Switch from hex to base64 pubkey in kvstore (#3641) - -### Cs - -- Exit if SwitchToConsensus fails (#3706) - -### Node - -- Run whole func in goroutine, not just logger.Error fn (#3743) - -### Rpc/lib - -- Write a test for TLS server (#3703) - -### State - -- Add more tests for block validation (#3674) - -## [0.32.0-dev1] - 2019-06-21 - -### Documentation - -- Missing 'b' in python command (#3728) -- Fix some language issues and deprecated link (#3733) - -### Node - -- Fix a bug where `nil` is recorded as node's address (#3740) - -### P2p - -- Refactor Switch#OnStop (#3729) - -### Types - -- Do not ignore errors returned by PublishWithEvents (#3722) - -## [0.32.0-dev0] - 2019-06-12 - -### Documentation - -- Update /block_results RPC docs (#3708) - -### Abci - -- Refactor tagging events using list of lists (#3643) - -### Libs/db - -- Fix the BoltDB Batch.Delete -- Fix the BoltDB Get and Iterator - -### P2p - -- Per channel metrics (#3666) (#3677) -- Remove NewNetAddressStringWithOptionalID (#3711) -- Peerbehaviour follow up (#3653) (#3663) - -### Rpc - -- Use Wrap instead of Errorf error (#3686) - -## [0.31.7] - 2019-06-04 - -### Documentation - -- Update RPC docs for /subscribe & /unsubscribe (#3705) - -### Libs/db - -- Remove deprecated `LevelDBBackend` const (#3632) - -## [0.31.6] - 2019-05-30 - -### ADR-037 - -- DeliverBlock (#3420) - -### Documentation - -- Fix typo in clist readme (#3574) -- Update contributing.md (#3503) -- Fix minor typo (#3681) - -### Abci/types - -- Update comment (#3612) - -### Cli - -- Add option to not clear address book with unsafe reset (#3606) - -### Crypto - -- Proof of Concept for iterative version of SimpleHashFromByteSlices (#2611) (#3530) - -### Cs - -- Fix nondeterministic tests (#3582) - -### Cs/replay - -- Check appHash for each block (#3579) -- ExecCommitBlock should not read from state.lastValidators (#3067) - -### Libs/common - -- Remove deprecated PanicXXX functions (#3595) - -### Libs/db - -- Bbolt (etcd's fork of bolt) (#3610) -- Close boltDBIterator (#3627) -- Fix boltdb batching -- Conditional compilation (#3628) -- Boltdb: use slice instead of sync.Map (#3633) - -### Mempool - -- Move interface into mempool package (#3524) -- Remove only valid (Code==0) txs on Update (#3625) - -### Node - -- Refactor node.NewNode (#3456) - -### P2p - -- (seed mode) limit the number of attempts to connect to a peer (#3573) -- Session should terminate on nonce wrapping (#3531) (#3609) -- Make persistent prop independent of conn direction (#3593) -- PeerBehaviour implementation (#3539) (#3552) -- Peer state init too late and pex message too soon (#3634) - -### P2p/pex - -- Consult seeds in crawlPeersRoutine (#3647) - -### Pex - -- Dial seeds when address book needs more addresses (#3603) -- Various follow-ups (#3605) - -### Privval - -- Increase timeout to mitigate non-deterministic test failure (#3580) - -### Rpc - -- Add support for batched requests/responses (#3534) -- /dial_peers: only mark peers as persistent if flag is on (#3620) - -### Types - -- CommitVotes struct as last step towards #1648 (#3298) - -## [0.31.5] - 2019-04-16 - -### Adr - -- PeerBehaviour updates (#3558) - -### Blockchain - -- Dismiss request channel delay (#3459) - -### Common - -- CMap: slight optimization in Keys() and Values(). (#3567) - -### Gitignore - -- Add .vendor-new (#3566) - -### State - -- Use last height changed if validator set is empty (#3560) - -## [0.31.4] - 2019-04-12 - -### Documentation - -- Fix block.Header.Time description (#3529) -- Abci#Commit: better explain the possible deadlock (#3536) - -### Adr - -- Peer Behaviour (#3539) - -### P2p - -- Seed mode refactoring (#3011) -- Do not log err if peer is private (#3474) - -### Rpc - -- Fix response time grow over time (#3537) - -## [0.31.2] - 2019-04-01 - -### Blockchain - -- Comment out logger in test code that causes a race condition (#3500) - -### Libs - -- Remove useless code in group (#3504) - -## [0.31.1] - 2019-03-28 - -### Documentation - -- Fix broken links (#3482) (#3488) -- Fix broken links (#3482) (#3488) - -### Blockchain - -- Update the maxHeight when a peer is removed (#3350) - -### Changelog - -- Add summary & fix link & add external contributor (#3490) - -### Crypto - -- Delete unused code (#3426) - -### Mempool - -- Fix broadcastTxRoutine leak (#3478) -- Add a safety check, write tests for mempoolIDs (#3487) - -### P2p - -- Refactor GetSelectionWithBias for addressbook (#3475) - -### Rpc - -- Client disable compression (#3430) -- Support tls rpc (#3469) - -### Rpc/client - -- Include NetworkClient interface into Client interface (#3473) - -## [0.31.0] - 2019-03-19 - -### Types - -- Refactor PB2TM.ConsensusParams to take BlockTimeIota as an arg (#3442) - -## [0.31.0-rc0] - 2019-03-14 - -### Changelog - -- More review fixes/release/v0.31.0 (#3427) - -### Cmd - -- Make sure to have 'testnet' create the data directory for nonvals (#3409) - -### Cs - -- Comment out log.Error to avoid TestReactorValidatorSetChanges timing out (#3401) - -### Grpcdb - -- Close Iterator/ReverseIterator after use (#3424) - -### Localnet - -- Fix $LOG variable (#3423) - -### Types - -- Remove check for priority order of existing validators (#3407) - -## [0.30.2] - 2019-03-11 - -### Documentation - -- Fix typo (#3373) -- Fix the reverse of meaning in spec (#3387) - -### Circleci - -- Removed complexity from docs deployment job (#3396) - -### Deps - -- Update gogo/protobuf from 1.1.1 to 1.2.1 and golang/protobuf from 1.1.0 to 1.3.0 (#3357) - -### Libs/db - -- Add cleveldb.Stats() (#3379) -- Close batch (#3397) -- Close batch (#3397) - -### P2p - -- Do not panic when filter times out (#3384) - -### Types - -- Followup after validator set changes (#3301) - -## [0.31.0-dev0] - 2019-02-28 - -### Cs - -- Update wal comments (#3334) - -### P2p - -- Fix comment in secret connection (#3348) - -### Privval - -- Improve Remote Signer implementation (#3351) - -## [0.30.1] - 2019-02-20 - -### Documentation - -- Fix rpc Tx() method docs (#3331) - -### Consensus - -- Flush wal on stop (#3297) - -### Cs - -- Reset triggered timeout precommit (#3310) -- Sync WAL more frequently (#3300) - -### Cs/wal - -- Refuse to encode msg that is bigger than maxMsgSizeBytes (#3303) - -### P2p - -- Check secret conn id matches dialed id (#3321) - -### Rpc/net_info - -- Change RemoteIP type from net.IP to String (#3309) - -### Types - -- Validator set update tests (#3284) - -## [0.29.2-rc1] - 2019-02-08 - -### Secp256k1 - -- Change build tags (#3277) - -## [0.29.2-rc0] - 2019-02-08 - -### Documentation - -- Fix links (#3220) - -### R4R - -- Config TestRoot modification for LCD test (#3177) - -### WAL - -- Better errors and new fail point (#3246) - -### Addrbook_test - -- Preallocate memory for bookSizes (#3268) - -### Adr - -- Style fixes (#3206) - -### Cmn - -- GetFreePort (#3255) - -### Mempool - -- Correct args order in the log msg (#3221) - -### P2p - -- Fix infinite loop in addrbook (#3232) - -### P2p/conn - -- Don't hold stopMtx while waiting (#3254) - -### Pubsub - -- Comments -- Fixes after Ethan's review (#3212) - -### Types - -- Comments on user vs internal events - -## [0.29.1-rc0] - 2019-01-24 - -### Documentation - -- Explain how someone can run his/her own ABCI app on localnet (#3195) -- Update pubsub ADR (#3131) -- Fix lite client formatting (#3198) - -### P2p - -- File descriptor leaks (#3150) - -## [0.29.0-rc0] - 2019-01-22 - -### Mempool - -- Enforce maxMsgSize limit in CheckTx (#3168) - -## [0.29.0-beta0] - 2019-01-18 - -### Documentation - -- Fix broken link (#3142) -- Fix RPC links (#3141) - -### Json2wal - -- Increase reader's buffer size (#3147) - -## [0.28.0] - 2019-01-16 - -### Documentation - -- Update link for rpc docs (#3129) - -### Makefile - -- Fix build-docker-localnode target (#3122) - -### Privval - -- Fixes from review (#3126) - -## [0.28.0-beta1] - 2019-01-13 - -### Documentation - -- Fix p2p readme links (#3109) - -### Rpc - -- Include peer's remote IP in `/net_info` (#3052) - -## [0.28.0-dev0] - 2019-01-10 - -### R4R - -- Split immutable and mutable parts of priv_validator.json (#2870) - -### Cs - -- Prettify logging of ignored votes (#3086) - -## [0.27.4] - 2018-12-21 - -### Documentation - -- Add rpc link to docs navbar and re-org sidebar (#3041) - -### Circleci - -- Update go version (#3051) - -### Mempool - -- Move tx to back, not front (#3036) -- Move tx to back, not front (#3036) - -## [0.27.3] - 2018-12-16 - -### Crypto - -- Revert to mainline Go crypto lib (#3027) - -## [0.27.1] - 2018-12-16 - -### Documentation - -- Relative links in docs/spec/readme.md, js-amino lib (#2977) -- Fixes from 'first time' review (#2999) -- Enable full-text search (#3004) -- Add edit on Github links (#3014) -- Update DOCS_README (#3019) -- Networks/docker-compose: small fixes (#3017) - -### Circleci - -- Add a job to automatically update docs (#3005) - -### Mempool - -- Add a comment and missing changelog entry (#2996) -- NotifyTxsAvailable if there're txs left, but recheck=false (#2991) - -### P2p - -- Set MConnection#created during init (#2990) - -## [0.27.0-rc0] - 2018-12-05 - -### Documentation - -- Add client#Start/Stop to examples in RPC docs (#2939) - -### P2p - -- Panic on transport error (#2968) -- Fix peer count mismatch #2332 (#2969) - -## [0.27.0-dev1] - 2018-11-29 - -### Documentation - -- Update ecosystem.json: add Rust ABCI (#2945) - -### Types - -- ValidatorSet.Update preserves Accum (#2941) - -## [0.27.0-dev0] - 2018-11-28 - -### Documentation - -- Small improvements (#2933) -- Fix js-abci example (#2935) -- Add client.Start() to RPC WS examples (#2936) - -### R4R - -- Swap start/end in ReverseIterator (#2913) - -### Types - -- NewValidatorSet doesn't panic on empty valz list (#2938) - -## [0.26.4] - 2018-11-27 - -### Documentation - -- Prepend cp to /usr/local with sudo (#2885) - -### Mempool - -- Add txs from Update to cache - -### Node - -- Refactor privValidator ext client code & tests (#2895) - -### Rpc - -- Fix tx.height range queries (#2899) - -### Types - -- Emit tags from BeginBlock/EndBlock (#2747) - -## [0.26.3] - 2018-11-17 - -### R4R - -- Add timeouts to http servers (#2780) - -### P2p - -- Log 'Send failed' on Debug (#2857) -- NewMultiplexTransport takes an MConnConfig (#2869) - -### P2p/conn - -- FlushStop. Use in pex. Closes #2092 (#2802) - -## [0.26.2-rc0] - 2018-11-15 - -### Documentation - -- Update config: ref #2800 & #2837 - -### Optimize - -- Using parameters in func (#2845) - -### Abci - -- LocalClient improvements & bugfixes & pubsub Unsubscribe issues (#2748) - -### Arm - -- Add install script, fix Makefile (#2824) - -## [0.26.1] - 2018-11-12 - -### P2p - -- AddressBook requires addresses to have IDs; Do not close conn immediately after sending pex addrs in seed mode (#2797) -- Re-check after sleeps (#2664) - -## [0.26.1-rc1] - 2018-11-07 - -### Mempool - -- Print postCheck error (#2762) - -### P2p - -- Peer-id -> peer_id (#2771) - -## [0.26.1-rc0] - 2018-11-06 - -### Mempool - -- ErrPreCheck and more log info (#2724) - -## [0.26.0] - 2018-11-03 - -### ADR-016 - -- Add versions to Block and State (#2644) -- Add protocol Version to NodeInfo (#2654) -- Update ABCI Info method for versions (#2662) - -### Adr-016 - -- Update int64->uint64; add version to ConsensusParams (#2667) - -### Crypto - -- Use stdlib crypto/rand. ref #2099 (#2669) - -### P2p - -- Restore OriginalAddr (#2668) - -### Privval - -- Add IPCPV and fix SocketPV (#2568) - -### Tm-monitor - -- Update health after we added / removed node (#2694) - -### Types - -- Remove Version from CanonicalXxx (#2666) -- Dont use SimpleHashFromMap for header. closes #1841 (#2670) -- First field in Canonical structs is Type (#2675) - -## [0.26.0-dev0] - 2018-10-15 - -### Documentation - -- Consensus params and general merkle (#2524) - -### Testing - -- Test itr.Value in checkValuePanics (#2580) - -### Abci - -- Codespace (#2557) - -### Adr-029 - -- Update CheckBlock - -### Bit_array - -- Simplify subtraction - -### Circle - -- Save p2p logs as artifacts (#2566) - -### Clist - -- Speedup Next by removing defers (#2511) - -### Config - -- Add ValidateBasic (#2485) -- Refactor ValidateBasic (#2503) - -### Consensus - -- Wait timeout precommit before starting new round (#2493) -- Add ADR for first stage consensus refactor (#2462) -- Wait for proposal or timeout before prevote (#2540) - -### Crypto - -- Add a way to go from pubkey to route (#2574) - -### Crypto/amino - -- Address anton's comment on PubkeyAminoRoute (#2592) - -### Crypto/merkle - -- Remove byter in favor of plain byte slices (#2595) - -### Crypto/random - -- Use chacha20, add forward secrecy (#2562) - -### Distribution - -- Lock binary dependencies to specific commits (#2550) - -### Ed25519 - -- Use golang/x/crypto fork (#2558) - -### Libs - -- Handle SIGHUP explicitly inside autofile (#2480) -- Call Flush() before rename #2428 (#2439) -- Fix event concurrency flaw (#2519) -- Refactor & document events code (#2576) -- Let prefixIterator implements Iterator correctly (#2581) -- Test deadlock from listener removal inside callback (#2588) - -### Lite - -- Add synchronization in lite verify (#2396) - -### Metrics - -- Add additional metrics to p2p and consensus (#2425) - -### Node - -- Respond always to OS interrupts (#2479) - -### P2p - -- NodeInfo is an interface; General cleanup (#2556) - -### Privval - -- Switch to amino encoding in SignBytes (#2459) -- Set deadline in readMsg (#2548) - -### Rpc/core - -- Ints are strings in responses, closes #1896 - -### Rpc/libs/doc - -- Formatting for godoc, closes #2420 - -### State - -- Require block.Time of the fist block to be genesis time (#2594) - -### Tools - -- Refactor tm-bench (#2570) - -### Types - -- Remove pubkey from validator hash (#2512) -- Cap evidence in block validation (#2560) - -## [0.25.0] - 2018-09-23 - -### Documentation - -- Improve docs on AppHash (#2363) -- Update link to rpc (#2361) -- Update README (#2393) -- Update secure-p2p doc to match the spec + current implementation -- Add missing changelog entry and comment (#2451) -- Add assets/instructions for local docs build (#2453) - -### Security - -- Implement PeerTransport - -### Adr-021 - -- Note about tag spacers (#2362) - -### Common - -- Delete unused functions (#2452) - -### Mempool - -- Filter new txs if they have insufficient gas (#2385) - -### P2p - -- Integrate new Transport -- Add RPCAddress to NodeInfoOther.String() (#2442) - -### Proxy - -- Remove Handshaker from proxy pkg (#2437) - -### Rpc - -- Transform /status result.node_info.other into map (#2417) -- Add /consensus_params endpoint (#2415) - -### Spec - -- Add missing field to NodeInfoOther (#2426) - -### Tools/tm-bench - -- Bounds check for txSize and improving test cases (#2410) - -### Version - -- Types - -## [0.24.0] - 2018-09-07 - -### Documentation - -- Fix encoding JSON -- Bring blockchain.md up-to-date -- Specify consensus params in state.md -- Fix note about ChainID size -- Remove tags from result for now -- Move app-dev/abci-spec.md to spec/abci/abci.md -- Update spec -- Refactor ABCI docs -- Fixes and more from #2249 -- Add abci spec to config.js - -### Types/time - -- Add note about stripping monotonic part - -### Version - -- Add and bump abci version - -## [0.24.0-rc0] - 2018-09-05 - -### Documentation - -- Fix indentation for genesis.validators -- Remove json tags, dont use HexBytes -- Update vote, signature, time - -### Tmtime - -- Canonical, some comments (#2312) - -## [0.23.1] - 2018-08-31 - -### Documentation - -- Fix links & other imrpvoements -- Note max outbound peers excludes persistent -- Fix img links, closes #2214 (#2282) -- Deprecate RTD (#2280) - -### Abci - -- Add next_validators_hash to header -- VoteInfo, ValidatorUpdate. See ADR-018 -- Move round back from votes to commit - -### Blockchain - -- Fix register concrete name. (#2213) - -### Clist - -- Speedup functions (#2208) - -### Cmap - -- Remove defers (#2210) - -### Config - -- Reduce default mempool size (#2300) - -### Crypto - -- Add compact bit array for intended usage in the multisig -- Threshold multisig implementation -- Add compact bit array for intended usage in the multisig (#2140) -- Remove unnecessary prefixes from amino route variable names (#2205) - -### Crypto/secp256k1 - -- Fix signature malleability, adopt more efficient en… (#2239) - -### Libs - -- Remove usage of custom Fmt, in favor of fmt.Sprintf (#2199) - -### Libs/autofile - -- Bring back loops (#2261) - -### Make - -- Update protoc_abci use of awk - -### Makefile - -- Lint flags - -### Mempool - -- Keep cache hashmap and linked list in sync (#2188) -- Store txs by hash inside of cache (#2234) - -### Types - -- Allow genesis file to have 0 validators (#2148) - -## [0.23.0] - 2018-08-05 - -### ADR - -- Fix malleability problems in Secp256k1 signatures - -### Documentation - -- Modify blockchain spec to reflect validator set changes (#2107) - -### Abci - -- Change validators to last_commit_info in RequestBeginBlock (#2074) -- Update readme for building protoc (#2124) - -### Adr - -- Encoding for cryptography at launch (#2121) -- Protocol versioning -- Chain-versions - -### Adr-018 - -- Abci validators - -### Ci - -- Reduce log output in test_cover (#2105) - -### Consensus - -- Fix test for blocks with evidence -- Failing test for ProposerAddress - -### Crypto - -- Add compact bit array for intended usage in the multisig -- Remove interface from crypto.Signature - -### Libs - -- Make bitarray functions lock parameters that aren't the caller (#2081) - -### Libs/autofile/group_test - -- Remove unnecessary logging (#2100) - -### Libs/cmn - -- Remove Tempfile, Tempdir, switch to ioutil variants (#2114) - -### Libs/cmn/writefileatomic - -- Handle file already exists gracefully (#2113) - -### Libs/common - -- Refactor tempfile code into its own file - -### P2p - -- Connect to peers from a seed node immediately (#2115) -- Add test vectors for deriving secrets (#2120) - -### P2p/pex - -- Allow configured seed nodes to not be resolvable over DNS (#2129) -- Fix mismatch between dialseeds and checkseeds. (#2151) - -### Types - -- Fix formatting when printing signatures - -## [0.22.8-rc0] - 2018-07-27 - -### Adr - -- PeerTransport (#2069) - -### Libs - -- Update BitArray go docs (#2079) - -## [0.22.7] - 2018-07-26 - -### .github - -- Split the issue template into two seperate templates (#2073) - -### Security - -- Remove RipeMd160. - -### Crypto - -- Add benchmarking code for signature schemes (#2061) -- Switch hkdfchacha back to xchacha (#2058) - -### Makefile - -- Add `make check_dep` and remove `make ensure_deps` (#2055) - -### P2p/secret_connection - -- Switch salsa usage to hkdf + chacha - -### Rpc - -- Improve slate for Jenkins (#2070) - -## [0.22.6] - 2018-07-25 - -### Github - -- Update PR template to indicate changing pending changelog. (#2059) - -### Rpc - -- Log error when we timeout getting validators from consensus (#2045) - -## [0.22.6-rc0] - 2018-07-25 - -### Abci - -- Remove fee (#2043) - -### Consensus - -- Include evidence in proposed block parts. fixes #2050 - -### Dep - -- Revert updates - -### P2p - -- Reject addrs coming from private peers (#2032) -- Fix conn leak. part of #2046 - -### Rpc - -- Fix /blockchain OOM #2049 -- Validate height in abci_query - -### Tools - -- Clean up Makefile and remove LICENSE file (#2042) - -## [0.22.5] - 2018-07-24 - -### WIP - -- More empty struct examples - -### Common/rand - -- Remove exponential distribution functions (#1979) - -### Config - -- 10x default send/recv rate (#1978) - -### Crypto - -- Refactor to move files out of the top level directory -- Remove Ed25519 and Secp256k1 suffix on GenPrivKey -- Fix package imports from the refactor - -### Crypto/ed25519 - -- Update the godocs (#2002) -- Remove privkey.Generate method (#2022) +- Move FROM to golang:1.4 because 1.4.2 broke +- Go-events -> tmlibs/events +- Update for 0.10.0 [ci skip]" +- Add docs from website +- Tons of minor improvements +- Add conf.py +- Test +- Add sphinx Makefile & requirements +- Consolidate ADRs +- Convert markdown to rst +- Organize the specification +- Rpc docs to be slate, see #526, #629 +- Use maxdepth 2 for spec +- Port website's intro for rtd +- Rst-ify the intro +- Fix image links +- Link fixes +- Clean a bunch of stuff up +- Logo, add readme, fixes +- Pretty-fy +- Give index a Tools section +- Update and clean up adr +- Use README.rst to be pulled from tendermint +- Re-add the images +- Add original README's from tools repo +- Convert from md to rst +- Update index.rst +- Move images in from tools repo +- Harmonize headers for tools docs +- Add kubes docs to mintnet doc, from tools +- Add original tm-bench/monitor files +- Organize tm-bench/monitor description +- Pull from tools on build +- Finish pull from tools +- Organize the directory, #656 +- Add software.json from website (ecosystem) +- Rename file +- Add and re-format the ecosystem from website +- Pull from tools' master branch +- Using ABCI-CLI +- Remove last section from ecosystem +- Organize install a bit better +- Add ABCI implementations +- Added passchain to the ecosystem.rst in the applications section; +- Fix build warnings +- Add stratumn +- Add py-tendermint to abci-servers +- Remove mention of type byte +- Add info about tm-migrate +- Update abci example details [ci skip] +- Typo +- Smaller logo (200px) +- Comb through step by step +- Fixup abci guide +- Fix links, closes #860 +- Add note about putting GOPATH/bin on PATH +- Correction, closes #910 +- Update ecosystem.rst (#1037) +- Add abci spec +- Add counter/dummy code snippets +- Updates from review (#1076) +- Tx formats: closes #1083, #536 +- Fix tx formats [ci skip] +- Update getting started [ci skip] +- Add document 'On Determinism' +- Wrong command-line flag +- The character for 1/3 fraction could not be rendered in PDF on readthedocs. (#1326) +- Update quick start guide (#1351) +- Build updates +- Add diagram, closes #1565 (#1577) +- Lil fixes +- Update install instructions, closes #1580 +- Blockchain and consensus dirs +- Fix dead links, closes #1608 +- Use absolute links (#1617) +- Update ABCI output (#1635) +- A link to quick install script +- Add BSD install script +- Start move back to md +- Cleanup/clarify build process +- Pretty fixes +- Some organizational cleanup +- DuplicateVoteEvidence +- Update abci links (#1796) +- Update js-abci example +- Minor fix for abci query peer filter +- Update address spec to sha2 for ed25519 +- Remove node* files +- Update getting started and remove old script (now in scripts/install) +- Md fixes & latest tm-bench/monitor +- Modify blockchain spec to reflect validator set changes (#2107) +- Fix links & other imrpvoements +- Note max outbound peers excludes persistent +- Fix img links, closes #2214 (#2282) +- Deprecate RTD (#2280) +- Fix indentation for genesis.validators +- Remove json tags, dont use HexBytes +- Update vote, signature, time +- Fix encoding JSON +- Bring blockchain.md up-to-date +- Specify consensus params in state.md +- Fix note about ChainID size +- Remove tags from result for now +- Move app-dev/abci-spec.md to spec/abci/abci.md +- Update spec +- Refactor ABCI docs +- Fixes and more from #2249 +- Add abci spec to config.js +- Improve docs on AppHash (#2363) +- Update link to rpc (#2361) +- Update README (#2393) +- Update secure-p2p doc to match the spec + current implementation +- Add missing changelog entry and comment (#2451) +- Add assets/instructions for local docs build (#2453) +- Consensus params and general merkle (#2524) +- Update config: ref #2800 & #2837 +- Prepend cp to /usr/local with sudo (#2885) +- Small improvements (#2933) +- Fix js-abci example (#2935) +- Add client.Start() to RPC WS examples (#2936) +- Update ecosystem.json: add Rust ABCI (#2945) +- Add client#Start/Stop to examples in RPC docs (#2939) +- Relative links in docs/spec/readme.md, js-amino lib (#2977) +- Fixes from 'first time' review (#2999) +- Enable full-text search (#3004) +- Add edit on Github links (#3014) +- Update DOCS_README (#3019) +- Networks/docker-compose: small fixes (#3017) +- Add rpc link to docs navbar and re-org sidebar (#3041) +- Fix p2p readme links (#3109) +- Update link for rpc docs (#3129) +- Fix broken link (#3142) +- Fix RPC links (#3141) +- Explain how someone can run his/her own ABCI app on localnet (#3195) +- Update pubsub ADR (#3131) +- Fix lite client formatting (#3198) +- Fix links (#3220) +- Fix rpc Tx() method docs (#3331) +- Fix typo (#3373) +- Fix the reverse of meaning in spec (#3387) +- Fix broken links (#3482) (#3488) +- Fix broken links (#3482) (#3488) +- Fix block.Header.Time description (#3529) +- Abci#Commit: better explain the possible deadlock (#3536) +- Fix typo in clist readme (#3574) +- Update contributing.md (#3503) +- Fix minor typo (#3681) +- Update RPC docs for /subscribe & /unsubscribe (#3705) +- Update /block_results RPC docs (#3708) +- Missing 'b' in python command (#3728) +- Fix some language issues and deprecated link (#3733) +- (rpc/broadcast_tx_*) write expectations for a client (#3749) +- Update JS section of abci-cli.md (#3747) +- Update to contributing.md (#3760) +- Add readme image (#3763) +- Remove confusing statement from contributing.md (#3764) +- Quick link fixes throughout docs and repo (#3776) +- Replace priv_validator.json with priv_validator_key.json (#3786) +- Fix consensus spec formatting (#3804) +- "Writing a built-in Tendermint Core application in Go" guide (#3608) +- Add guides to docs (#3830) +- Add a footer to guides (#3835) +- "Writing a Tendermint Core application in Kotlin (gRPC)" guide (#3838) +- "Writing a Tendermint Core application in Java (gRPC)" guide (#3887) +- Fix some typos and changelog entries (#3915) +- Switch the data in `/unconfirmed_txs` and `num_unconfirmed_txs` (#3933) +- Add dev sessions from YouTube (#3929) +- Move dev sessions into docs (#3934) +- Specify a fix for badger err on Windows (#3974) +- Remove traces of develop branch (#4022) +- Any path can be absolute or relative (#4035) +- Add previous dev sessions (#4040) +- Add ABCI Overview (2/2) dev session (#4044) +- Update fork-accountability.md (#4068) +- Add assumption to getting started with abci-cli (#4098) +- Fix build instructions (#4123) +- Add GA for docs.tendermint.com (#4149) +- Replace dead original whitepaper link (#4155) +- Update wording (#4174) +- Mention that Evidence votes are now sorted +- Fix broken links (#4186) +- Fix broken links in consensus/readme.md (#4200) +- Update ADR 43 with links to PRs (#4207) +- Add flag documentation (#4219) +- Fix broken rpc link (#4221) +- Fix broken ecosystem link (#4222) +- Add notes on architecture intro (#4175) +- Remove "0 means latest" from swagger docs (#4236) +- Update app-architecture.md (#4259) +- Link fixes in readme (#4268) +- Add link for installing Tendermint (#4307) +- Update theme version (#4315) +- Minor doc fixes (#4335) +- Update links to rpc (#4348) +- Update npm dependencies (#4364) +- Update guides proto paths (#4365) +- Update specs to remove cmn (#77) +- Fix incorrect link (#4377) +- Fix spec links (#4384) +- Update Light Client Protocol page (#4405) +- Adr-046 add bisection algorithm details (#4496) +- `tendermint node --help` dumps all supported flags (#4511) +- Write about debug kill and dump (#4516) +- Fix links (#4531) +- Validator setup & Key info (#4604) +- Add adr-55 for proto repo design (#4623) +- Amend adr-54 with changes in the sdk (#4684) +- Create adr 56: prove amnesia attack +- Mention unbonding period in MaxAgeNumBlocks/MaxAgeDuration +- State we don't support non constant time crypto +- Move tcp-window.png to imgs/ +- Document open file limit in production guide (#4945) +- Update amnesia adr (#4994) +- Update .vuepress/config.js (#5043) +- Add warning for chainid (#5072) +- Added further documentation to the subscribing to events page (#5110) +- Tweak light client documentation (#5121) +- Modify needed proto files for guides (#5123) +- EventAttribute#Index is not deterministic (#5132) +- Event hashing ADR 058 (#5134) +- Simplify choosing an ADR number (#5156) +- Add more details on Vote struct from /consensus_state (#5164) +- Document ConsensusParams (#5165) +- Document canonical field (#5166) +- Cleanup (#5252) +- Dont display duplicate (#5271) +- Rename swagger to openapi (#5263) +- Fix go tutorials (#5267) +- Versioned (#5241) +- Remove duplicate secure p2p (#5279) +- Remove interview transcript (#5282) +- Add block retention to upgrading.md (#5284) +- Updates to various sections (#5285) +- Add algolia docsearch configs (#5309) +- Add sections to abci (#150) +- Add doc on state sync configuration (#5304) +- Move subscription to tendermint-core (#5323) +- Add missing metrics (#5325) +- Add more description to initial_height (#5350) +- Make rfc section disppear (#5353) +- Document max entries for `/blockchain` RPC (#5356) +- Fix incorrect time_iota_ms configuration (#5385) +- Minor tweaks (#5404) +- Update state sync config with discovery_time (#5405) +- Add explanation of p2p configuration options (#5397) +- Specify TM version in go tutorials (#5427) +- Revise ADR 56, documenting short term decision around amnesia evidence (#5440) +- Fix links to adr 56 (#5464) +- Docs-staging → master (#5468) +- Make /master the default (#5474) +- Update url for kms repo (#5510) +- Footer cleanup (#5457) +- Remove DEV_SESSIONS list (#5579) +- Add ADR on P2P refactor scope (#5592) +- Bump vuepress-theme-cosmos (#5614) +- Make blockchain not viewable (#211) +- Add missing ADRs to README, update status of ADR 034 (#5663) +- Add P2P architecture ADR (#5637) +- Warn developers about calling blocking funcs in Receive (#5679) +- Add nodes section (#5604) +- Add version dropdown and v0.34 docs(#5762) +- Fix link (#5763) +- Use hyphens instead of snake case (#5802) +- Specify master for tutorials (#5822) +- Specify 0.34 (#5823) +- Fix broken redirect links (#5881) +- Update package-lock.json (#5928) +- Package-lock.json fix (#5948) +- Change v0.33 version (#5950) +- Bump package-lock.json of v0.34.x (#5952) +- Dont login when in PR (#5961) +- Release Linux/ARM64 image (#5925) +- Log level docs (#5945) +- Fix typo in state sync example (#5989) +- External address (#6035) +- Reword configuration (#6039) +- Change v0.33 version (#5950) +- Release Linux/ARM64 image (#5925) +- Dont login when in PR (#5961) +- Fix typo in state sync example (#5989) +- Fix proto file names (#6112) +- How to add tm version to RPC (#6151) +- Add preallocated list of security vulnerability names (#6167) +- Fix sample code (#6186) +- Fix sample code #6186 +- Bump vuepress-theme-cosmos (#6344) +- Remove RFC section and s/RFC001/ADR066 (#6345) +- Adr-65 adjustments (#6401) +- Adr cleanup (#6489) +- Hide security page (second attempt) (#6511) +- Rename tendermint-core to system (#6515) +- Logger updates (#6545) -### Crypto/secp256k1 +### Fix -- Add godocs, remove indirection in privkeys (#2017) +- Ansible playbook to deploy tendermint -### Libs/common/rand +### GroupReader#Read -- Update godocs +- Return io.EOF if file is empty ### Makefile -- Fix protoc_libs - -### Mempool - -- Chan bool -> chan struct{} - -### Rpc - -- Test Validator retrevial timeout - -### Tools - -- Remove redundant grep -v vendors/ (#1996) - -## [0.22.4-rc0] - 2018-07-14 - -### Consensus - -- Wait on stop if not fastsync - -### Tools/tm-bench - -- Don't count the first block if its empty -- Remove testing flags from help (#1949) -- Don't count the first block if its empty (#1948) - -### Tools/tmbench - -- Fix the end time being used for statistics calculation -- Improve accuracy with large tx sizes. -- Move statistics to a seperate file - -## [0.22.3] - 2018-07-10 - -### Dep - -- Pin all deps to version or commit - -## [0.22.1] - 2018-07-10 - -### Documentation - -- Md fixes & latest tm-bench/monitor - -### Rpc/lib/server - -- Add test for int parsing - -### State - -- Err if 0 power validator is added to the validator set -- Format panics - -## [0.22.0-autodraft] - 2018-07-04 - -### Documentation - -- Remove node* files -- Update getting started and remove old script (now in scripts/install) - -## [0.22.0-rc2] - 2018-07-02 - -### P2p - -- External address - -### Tmbench - -- Make it more resilient to WSConn breaking (#111) - -## [0.22.0-rc1] - 2018-07-01 - -### Consensus - -- Stop wal - -## [0.22.0-rc0] - 2018-07-01 - -### Documentation - -- Minor fix for abci query peer filter -- Update address spec to sha2 for ed25519 - -### Config - -- Rename skip_upnp to upnp (#1827) - -### Crypto - -- Abstract pubkey / signature size when known to constants (#1808) - -### Tmbench - -- Make sendloop act in one second segments (#110) - -## [0.21.1-rc1] - 2018-06-27 - -### Documentation - -- Update abci links (#1796) -- Update js-abci example - -### Abci - -- Remove old repo docs -- Remove nested .gitignore -- Remove LICENSE -- Add comment for doc update - -### Adr - -- Update readme - -### Adr-009 - -- No pubkeys in beginblock -- Add references - -### Ci - -- Setup abci in dependency step -- Move over abci-cli tests - -### Consensus - -- Fix addProposalBlockPart - -### Crypto - -- Rename last traces of go-crypto (#1786) - -### Crypto/hkdfchachapoly - -- Add testing seal to the test vector - -### Mempool - -- Log hashes, not whole tx - -### P2p/trust - -- Fix nil pointer error on TrustMetric Copy() (#1819) - -### Rpc - -- Break up long lines - -### Tm-bench - -- Improve code shape -- Update dependencies, add total metrics +- Go test --race +- Add gmt and lint +- Add 'build' target +- Add megacheck & some additional fixes +- Remove redundant lint +- Fix linter +- Parse TENDERMINT_BUILD_OPTIONS (#4738) +- Use git 2.20-compatible branch detection (#5778) +- Always pull image in proto-gen-docker. (#5953) +- Always pull image in proto-gen-docker. (#5953) -### Tmbench +### Optimize -- Fix iterating through the blocks, update readme -- Make tx size configurable -- Update dependencies to use tendermint's master +- Using parameters in func (#2845) -## [0.20.1-rc0] - 2018-06-19 +### P2P -### Documentation +- Evidence Reactor Test Refactor (#6238) -- Some organizational cleanup -- DuplicateVoteEvidence +### Proposal -### Consensus +- New Makefile standard template (#168) -- Fixes #1754 +### PubKeyFromBytes -### Mempool +- Return zero value PubKey on error -- Fix cache_size==0. closes #1761 +### Query -## [0.21.0-rc0] - 2018-06-15 +- Height -> LastHeight +- LastHeight -> Height :) -### Bech32 +### R4R -- Wrap error messages +- Add timeouts to http servers (#2780) +- Swap start/end in ReverseIterator (#2913) +- Split immutable and mutable parts of priv_validator.json (#2870) +- Config TestRoot modification for LCD test (#3177) -### Docs +### README -- Update description of seeds and persistent peers +- Add godoc instead of tedious MD regeneration +- Document the minimum Go version +- Specify supported versions (#4660) +- Update chat link with Discord instead of Riot (#5071) +- Clean up README (#5391) +- Update link to Tendermint blog (#5713) -### Documentation +### RFC -- Start move back to md -- Cleanup/clarify build process -- Pretty fixes +- Adopt zip 215 (#144) +- ReverseSync - fetching historical data (#224) -### All +### RFC-001 -- Gofmt (#1743) +- Configurable block retention (#84) -## [0.20.0] - 2018-06-07 +### RFC-002 -### Documentation +- Non-zero genesis (#119) -- Add BSD install script +### RPC + +- Don't cap page size in unsafe mode (#6329) ### ResponseEndBlock - Ensure Address matches PubKey if provided -## [0.19.9-rc0] - 2018-06-06 +### Security -### Evidence +- Use bytes.Equal for key comparison +- Remove RipeMd160. +- Implement PeerTransport +- Refactor Remote signers (#3370) +- Cross-check new header with all witnesses (#4373) +- [Security] Bump websocket-extensions from 0.1.3 to 0.1.4 in /docs (#4976) +- [Security] Bump lodash from 4.17.15 to 4.17.19 in /docs +- [Security] Bump prismjs from 1.20.0 to 1.21.0 in /docs +- Bump vuepress-theme-cosmos from 1.0.169 to 1.0.172 in /docs (#5286) +- Bump google.golang.org/grpc from 1.31.0 to 1.31.1 (#5290) +- Bump github.com/golang/protobuf from 1.4.2 to 1.4.3 (#5506) +- Bump github.com/spf13/cobra from 1.0.0 to 1.1.0 (#5505) +- Bump github.com/prometheus/client_golang from 1.7.1 to 1.8.0 (#5515) +- Bump github.com/spf13/cobra from 1.1.0 to 1.1.1 (#5526) +- Bump google.golang.org/grpc from 1.33.1 to 1.33.2 (#5635) +- Bump github.com/golang/protobuf from 1.4.2 to 1.4.3 (#5506) +- Bump github.com/spf13/cobra from 1.0.0 to 1.1.0 (#5505) +- Bump github.com/prometheus/client_golang from 1.7.1 to 1.8.0 (#5515) +- Bump github.com/spf13/cobra from 1.1.0 to 1.1.1 (#5526) +- Bump google.golang.org/grpc from 1.33.1 to 1.33.2 (#5635) +- Bump vuepress-theme-cosmos from 1.0.176 to 1.0.177 in /docs (#5746) +- Bump vuepress-theme-cosmos from 1.0.177 to 1.0.178 in /docs (#5754) +- Bump github.com/prometheus/client_golang from 1.8.0 to 1.9.0 (#5807) +- Bump github.com/cosmos/iavl from 0.15.2 to 0.15.3 (#5814) +- Bump github.com/stretchr/testify from 1.6.1 to 1.7.0 (#5897) +- Bump google.golang.org/grpc from 1.34.0 to 1.35.0 (#5902) +- Bump vuepress-theme-cosmos from 1.0.179 to 1.0.180 in /docs (#5915) +- Bump github.com/stretchr/testify from 1.6.1 to 1.7.0 (#5897) +- Bump google.golang.org/grpc from 1.34.0 to 1.35.0 (#5902) +- Bump vuepress-theme-cosmos from 1.0.179 to 1.0.180 in /docs (#5915) +- Bump watchpack from 2.1.0 to 2.1.1 in /docs (#6063) +- Bump github.com/tendermint/tm-db from 0.6.3 to 0.6.4 (#6073) +- Bump github.com/tendermint/tm-db from 0.6.3 to 0.6.4 (#6073) +- Bump watchpack from 2.1.0 to 2.1.1 in /docs (#6063) +- Update 0.34.3 changelog with details on security vuln (bp #6108) (#6110) +- Bump vuepress-theme-cosmos from 1.0.180 to 1.0.181 in /docs (#6266) +- Bump github.com/minio/highwayhash from 1.0.1 to 1.0.2 (#6280) +- Bump google.golang.org/grpc from 1.36.1 to 1.37.0 (#6330) +- Bump github.com/confio/ics23/go from 0.6.3 to 0.6.6 (#6374) +- Bump github.com/grpc-ecosystem/go-grpc-middleware from 1.2.2 to 1.3.0 (#6387) +- Bump google.golang.org/grpc from 1.37.0 to 1.37.1 (#6461) +- Bump google.golang.org/grpc from 1.37.1 to 1.38.0 (#6483) +- Bump github.com/lib/pq from 1.10.1 to 1.10.2 (#6505) -- Dont send evidence to unsynced peers -- Check peerstate exists; dont send old evidence -- Give each peer a go-routine +### Testing -### State +- Broadcast_tx with tmsp; p2p +- Add throughput benchmark using mintnet and netmon +- Install mintnet, netmon +- Use MACH_PREFIX +- Cleanup +- Dont run cloud test on push to master +- README.md +- Refactor bash; test fastsync (failing) +- Name client conts so we dont need to rm them because circle +- Test dummy using rpc query +- Add xxd dep to dockerfile +- More verbosity +- Add killall to dockerfile. cleanup +- Codecov +- Use glide with mintnet/netmon +- Install glide for network test +- App persistence +- Tmsp query result is json +- Increase proposal timeout +- Cleanup and fix scripts +- Crank it to eleventy +- More cleanup on p2p +- RandConsensusNet takes more args +- Crank circle timeouts +- Automate building consensus/test_data +- Circle artifacts +- Dont start cs until all peers connected +- Shorten timeouts +- Remove codecov patch threshold +- Kill and restart all nodes +- Use PROXY_APP=persistent_dummy +- Use fail-test failure indices +- More unique container names +- Set log_level=info +- Always rebuild grpc_client +- Split up test/net/test.sh +- Unexport internal function. +- Update docker to 1.7.4 +- Dont use log files on circle +- Shellcheck +- Forward CIRCLECI var through docker +- Only use syslog on circle +- More logging +- Wait for tendermint proc +- Add extra kill after fail index triggered +- Wait for ports to be freed +- Use --pex on restart +- Install abci apps first +- Fix docker and apps +- Dial_seeds +- Docker exec doesnt work on circle +- Bump sleep to 5 for bound ports release +- Better client naming +- Use unix socket for rpc +- Shellcheck +- Check err on cmd.Wait +- Test_libs all use Makefile +- Jq .result[1] -> jq .result +- P2p.seeds and p2p.pex +- Add simple client/server test with no addr prefix +- Update for abci-cli consolidation. shell formatting +- Sunset tmlibs/process.Process +- Wait for node heights before checking app hash +- Fix ensureABCIIsUp +- Fix test/app/counter_test.sh +- Longer timeout +- Add some timeouts +- Use shasum to avoid rarer dependency +- Less bash +- More smoothness +- Test itr.Value in checkValuePanics (#2580) +- Add consensus_params to testnet config generation (#3781) +- Branch for fix of ci (#4266) +- Bind test servers to 127.0.0.1 (#4322) +- Simplified txsearch cancellation test (#4500) +- Fix p2p test build breakage caused by Debian testing +- Revert Go 1.13→1.14 bump +- Use random socket names to avoid collisions (#4885) +- Mitigate test data race (#4886) +- Use github.sha in binary cache key (#5062) +- Deflake TestAddAndRemoveListenerConcurrency and TestSyncer_SyncAny (#5101) +- Protobuf vectors for reactors (#5221) +- Add end-to-end testing framework (#5435) +- Add basic end-to-end test cases (#5450) +- Add GitHub action for end-to-end tests (#5452) +- Remove P2P tests (#5453) +- Add E2E test for node peering (#5465) +- Add random testnet generator (#5479) +- Clean up E2E test volumes using a container (#5509) +- Tweak E2E tests for nightly runs (#5512) +- Enable ABCI gRPC client in E2E testnets (#5521) +- Enable blockchain v2 in E2E testnet generator (#5533) +- Enable restart/kill perturbations in E2E tests (#5537) +- Add end-to-end testing framework (#5435) +- Add basic end-to-end test cases (#5450) +- Add GitHub action for end-to-end tests (#5452) +- Remove P2P tests (#5453) +- Add E2E test for node peering (#5465) +- Add random testnet generator (#5479) +- Clean up E2E test volumes using a container (#5509) +- Tweak E2E tests for nightly runs (#5512) +- Enable ABCI gRPC client in E2E testnets (#5521) +- Enable blockchain v2 in E2E testnet generator (#5533) +- Enable restart/kill perturbations in E2E tests (#5537) +- Run remaining E2E testnets on run-multiple.sh failure (#5557) +- Tag E2E Docker resources and autoremove them (#5558) +- Add evidence e2e tests (#5488) +- Run remaining E2E testnets on run-multiple.sh failure (#5557) +- Tag E2E Docker resources and autoremove them (#5558) +- Add evidence e2e tests (#5488) +- Fix handling of start height in generated E2E testnets (#5563) +- Disable E2E misbehaviors due to bugs (#5569) +- Fix handling of start height in generated E2E testnets (#5563) +- Disable E2E misbehaviors due to bugs (#5569) +- Fix various E2E test issues (#5576) +- Fix various E2E test issues (#5576) +- Fix secp failures (#5649) +- Fix secp failures (#5649) +- Switched node keys back to edwards (#4) +- Enable v1 and v2 blockchains (#5702) +- Fix TestByzantinePrevoteEquivocation flake (#5710) +- Fix TestByzantinePrevoteEquivocation flake (#5710) +- Fix integration tests and rename binary +- Disable abci/grpc and blockchain/v2 due to flake (#5854) +- Add conceptual overview (#5857) +- Improve WaitGroup handling in Byzantine tests (#5861) +- Improve WaitGroup handling in Byzantine tests (#5861) +- Tolerate up to 2/3 missed signatures for a validator (#5878) +- Disable abci/grpc and blockchain/v2 due to flake (#5854) +- Fix TestPEXReactorRunning data race (#5955) +- Move fuzz tests into this repo (#5918) +- Fix `make test` (#5966) +- Close transports to avoid goroutine leak failures (#5982) +- Don't use foo-bar.net in TestHTTPClientMakeHTTPDialer (#5997) +- Fix TestSwitchAcceptRoutine flake by ignoring error type (#6000) +- Disable TestPEXReactorSeedModeFlushStop due to flake (#5996) +- Fix test data race in p2p.MemoryTransport with logger (#5995) +- Fix TestSwitchAcceptRoutine by ignoring spurious error (#6001) +- Fix TestRouter to take into account PeerManager reconnects (#6002) +- Fix flaky router broadcast test (#6006) +- Enable pprof server to help debugging failures (#6003) +- Increase sign/propose tolerances (#6033) +- Increase validator tolerances (#6037) +- Don't use foo-bar.net in TestHTTPClientMakeHTTPDialer (#5997) (#6047) +- Enable pprof server to help debugging failures (#6003) +- Increase sign/propose tolerances (#6033) +- Increase validator tolerances (#6037) +- Move fuzz tests into this repo (#5918) +- Fix `make test` (#5966) +- Fix TestByzantinePrevoteEquivocation (#6132) +- Fix PEX reactor test (#6188) +- Fix rpc, secret_connection and pex tests (#6190) +- Refactor mempool reactor to use new p2ptest infrastructure (#6250) +- Clean up databases in tests (#6304) +- Improve cleanup for data and disk use (#6311) +- Produce structured reporting from benchmarks (#6343) +- Create common functions for easily producing tm data structures (#6435) +- HeaderHash test vector (#6531) +- Add evidence hash testvectors (#6536) -- S -> state -- B -> block +### UPGRADING -## [0.19.8] - 2018-06-04 +- Polish upgrading instructions for 0.34 (#5398) -### Documentation +### UPGRADING.md -- A link to quick install script +- Write about the LastResultsHash change (#5000) -### Scripts +### UX -- Quickest/easiest fresh install +- Version configuration (#5740) -## [0.19.7-rc0] - 2018-05-31 +### Update -### Merkle +- JTMSP -> jABCI -- Remove unused funcs. unexport simplemap. improv docs -- Use amino for byteslice encoding +### Vagrantfile -## [0.19.6-rc2] - 2018-05-29 +- Update Go version -### Documentation +### ValidatorSet#GetByAddress -- Fix dead links, closes #1608 -- Use absolute links (#1617) -- Update ABCI output (#1635) +- Return -1 if no validator was found -### Circle +### WAL -- Add GOCACHE=off and -v to tests +- Better errors and new fail point (#3246) -### Consensus +### WIP -- Link to spec from readme (#1609) +- Begin parallel refactoring with go-wire Write methods and MConnection +- Fix rpc/core +- More empty struct examples +- Add implementation of mock/fake http-server +- Rename package name from fakeserver to mockcoreserver +- Change the method names of call structure, Fix adding headers +- Add mock of JRPCServer implementation on top of HTTServer mock -### Tmhash +### [Docs] -- Add Sum function +- Minor doc touchups (#4171) -## [0.19.5-rc1] - 2018-05-20 +### [docs -### Consensus +- Typo fix] remove misplaced "the" +- Typo fix] add missing "have" -- Only fsync wal after internal msgs +### Abci -## [0.19.5-rc0] - 2018-05-20 +- Remove old repo docs +- Remove nested .gitignore +- Remove LICENSE +- Add comment for doc update +- Remove fee (#2043) +- Change validators to last_commit_info in RequestBeginBlock (#2074) +- Update readme for building protoc (#2124) +- Add next_validators_hash to header +- VoteInfo, ValidatorUpdate. See ADR-018 +- Move round back from votes to commit +- Codespace (#2557) +- LocalClient improvements & bugfixes & pubsub Unsubscribe issues (#2748) +- Refactor tagging events using list of lists (#3643) +- Refactor ABCI CheckTx and DeliverTx signatures (#3735) +- Refactor CheckTx to notify of recheck (#3744) +- Minor cleanups in the socket client (#3758) +- Fix documentation regarding CheckTx type update (#3789) +- Remove TotalTxs and NumTxs from Header (#3783) +- Fix broken spec link (#4366) +- Add basic description of ABCI Commit.ResponseHeight (#85) +- Add MaxAgeNumBlocks/MaxAgeDuration to EvidenceParams (#87) +- Update MaxAgeNumBlocks & MaxAgeDuration docs (#88) +- Fix protobuf lint issues +- Regenerate proto files +- Remove protoreplace script +- Remove python examples +- Proto files follow same path (#5039) +- Add AppVersion to ConsensusParams (#106) +- Tweak node sync estimate (#115) +- Fix abci evidence types (#5174) +- Add ResponseInitChain.app_hash, check and record it (#5227) +- Add ResponseInitChain.app_hash (#140) +- Update evidence (#5324) +- Fix socket client error for state sync responses (#5395) +- Remove setOption (#5447) +- Lastcommitinfo.round extra sentence (#221) +- Add abci_version to requestInfo (#223) +- Modify Client interface and socket client (#5673) +- Use protoio for length delimitation (#5818) +- Rewrite to proto interface (#237) +- Fix ReCheckTx for Socket Client (bp #6124) (#6125) +- Note on concurrency (#258) +- Change client to use multi-reader mutexes (#6306) +- Reorder sidebar (#282) -### Documentation +### Abci-cli -- Lil fixes -- Update install instructions, closes #1580 -- Blockchain and consensus dirs +- Print OK if code is 0 +- Prefix flag variables with flag -### Testing +### Abci/client -- Less bash -- More smoothness +- Fix DATA RACE in gRPC client (#3798) -### Networks +### Abci/example/kvstore -- Update readmes +- Decrease val power by 1 upon equivocation (#5056) -## [0.19.4-rc0] - 2018-05-17 +### Abci/examples -### Documentation +- Switch from hex to base64 pubkey in kvstore (#3641) -- Add diagram, closes #1565 (#1577) +### Abci/grpc -### Circle +- Return async responses in order (#5520) +- Return async responses in order (#5520) (#5531) +- Fix ordering of sync/async callback combinations (#5556) +- Fix ordering of sync/async callback combinations (#5556) +- Fix invalid mutex handling in StopForError() (#5849) +- Fix invalid mutex handling in StopForError() (#5849) -- Fix config.yml +### Abci/kvstore -### P2p +- Return `LastBlockHeight` and `LastBlockAppHash` in `Info` (#4233) -- Prevent connections from same ip +### Abci/server -### Spec +- Recover from app panics in socket server (#3809) +- Print panic & stack trace to STDERR if logger is not set -- Move to final location (#1576) +### Abci/types -## [0.19.3] - 2018-05-15 +- Update comment (#3612) +- Add comment for TotalVotingPower (#5081) ### Absent_validators - Repeated int -> repeated bytes -## [0.19.3-rc0] - 2018-05-14 - -### Grpcdb - -- Better readability for docs and constructor names - -### Remotedb - -- A client package implementing the db.DB interface - -### Rpc - -- Add voting power totals to vote bitarrays -- /consensus_state for simplified output - -## [0.19.2-rc0] - 2018-04-30 - -### Node - -- Remove dup code from rebase -- Remove commented out trustMetric - -### P2p - -- Dont require minor versions to match in handshake -- Explicit netaddress errors -- Some comments and a log line -- MinNumOutboundPeers. Closes #1501 -- Change some logs from Error to Debug. #1476 -- Small lint - -### P2p/pex - -- Minor cleanup and comments -- Some addrbook fixes - -### Rpc - -- Add n_peers to /net_info - -### Spec - -- Pex update -- Abci notes. closes #1257 - -## [0.19.1] - 2018-04-28 - -### P2p - -- NodeInfo.Channels is HexBytes - -### Rpc - -- Lower_case peer_round_states, use a list, add the node_address -- Docs/comments - -### Spec - -- Update encoding.md -- Note on byte arrays, clean up bitarrays and more, add merkle proof, add crypto.go script -- Add Address spec. notes about Query - -## [0.19.0-rc3] - 2018-04-09 - -### P2p - -- Switch - reconnect only if persistent -- Don't use dial funcn in peerconfig - -### Types - -- Lock block on MakePartSet - -## [0.18.0-autodraft] - 2018-04-06 - -### Documentation - -- Build updates - -### ValidatorSet#GetByAddress - -- Return -1 if no validator was found - -### WIP - -- Fix rpc/core - -### Consensus - -- Close pubsub channels. fixes #1372 - -### Https - -- //github.com/tendermint/tendermint/pull/1128#discussion_r162799294 - -### P2p - -- Persistent - redial if first dial fails - -## [0.17.1] - 2018-03-27 - -### Types - -- Fix genesis.AppStateJSON +### Addrbook -## [0.17.0] - 2018-03-27 +- Toggle strict routability -### Documentation +### Addrbook_test -- Add document 'On Determinism' -- Wrong command-line flag -- The character for 1/3 fraction could not be rendered in PDF on readthedocs. (#1326) -- Update quick start guide (#1351) +- Preallocate memory for bookSizes (#3268) ### Adr +- Add 005 consensus params +- Update 007 trust metric usage - Amend decisions for PrivValidator +- Update readme +- PeerTransport (#2069) +- Encoding for cryptography at launch (#2121) +- Protocol versioning +- Chain-versions +- Style fixes (#3206) +- Peer Behaviour (#3539) +- PeerBehaviour updates (#3558) +- [43] blockchain riri-org (#3753) +- ADR-052: Tendermint Mode (#4302) +- ADR-051: Double Signing Risk Reduction (#4262) +- Light client implementation (#4397) +- Crypto encoding for proto (#4481) +- Add API stability ADR (#5341) +- Privval gRPC (#5712) +- Batch verification (#6008) +- ADR 065: Custom Event Indexing (#6307) -### Cmd/tendermint/commands/lite +### Adr#50 -- Add tcp scheme to address URLs (#1297) +- Improve trusted peering (#4072) -### Common +### Adr-009 -- NewBitArray never crashes on negatives (#170) -- Remove {Left, Right}PadString (#168) -- NewBitArray never crashes on negatives (#170) +- No pubkeys in beginblock +- Add references -### Config +### Adr-016 -- Fix private_peer_ids +- Update int64->uint64; add version to ConsensusParams (#2667) -### Consensus +### Adr-018 -- Return from go-routine in test -- Return from errors sooner in addVote +- Abci validators -### Lite/proxy +### Adr-021 -- Validation* tests and hardening for nil dereferences -- Consolidate some common test headers into a variable +- Note about tag spacers (#2362) -### P2p +### Adr-029 -- Introduce peerConn to simplify peer creation (#1226) -- Keep reference to connections in test peer +- Update CheckBlock -### PrivVal +### Adr-047 -- Improve SocketClient network code (#1315) +- Evidence handling (#4429) -### State +### Adr-053 -- Builds -- Fix txResult issue with UnmarshalBinary into ptr +- Update after state sync merge (#4768) -### Types +### All -- Update for new go-wire. WriteSignBytes -> SignBytes -- Remove dep on p2p -- Tests build -- Builds -- Revert to old wire. builds -- Working on tests... -- P2pID -> P2PID -- Fix validator_set_test issue with UnmarshalBinary into ptr -- Bring back json.Marshal/Unmarshal for genesis/priv_val -- TestValidatorSetVerifyCommit -- Uncomment some tests -- Hash invoked for nil Data and Header should not panic -- Compile time assert to, and document sort.Interface -- Revert CheckTx/DeliverTx changes. make them the same +- No more anonymous imports +- Fix vet issues with build tags, formatting +- Gofmt (#1743) +- Name reactors when they are initialized (#4608) -### Types/validator_set_test +### Ansible -- Move funcs around +- Update tendermint and basecoin versions +- Added option to provide accounts for genesis generation, terraform: added option to secure DigitalOcean servers, devops: added DNS name creation to tendermint terraform -### Wire +### Appveyor -- No codec yet +- Use make -## [0.16.0] - 2018-02-21 +### Arm -### Documentation +- Add install script, fix Makefile (#2824) -- Update ecosystem.rst (#1037) -- Add abci spec -- Add counter/dummy code snippets -- Updates from review (#1076) -- Tx formats: closes #1083, #536 -- Fix tx formats [ci skip] -- Update getting started [ci skip] +### Autofile -### Testing +- Ensure file is open in Sync +- Resolve relative paths (#4390) -- Use shasum to avoid rarer dependency +### Backports -### Blockchain +- Mergify (#6107) -- Test wip for hard to test functionality [ci skip] +### Batch -### Cli +- Progress -- WriteDemoConfig -> WriteConfigVals +### Behaviour -### Cmn +- Return correct reason in MessageOutOfOrder (#3772) +- Add simple doc.go (#5055) -- Fix HexBytes.MarshalJSON +### Binary -### Common +- Prevent runaway alloc -- Fix BitArray.Update to avoid nil dereference -- BitArray: feedback from @adrianbrink to simplify tests -- IsHex should be able to handle 0X prefixed strings +### Bit_array -### Common/BitArray +- Simplify subtraction -- Reduce fragility with methods +### Block -### Config +- Use commit sig size instead of vote size (#5490) +- Fix max commit sig size (#5567) +- Fix max commit sig size (#5567) -- Fix addrbook path to go in config +### Block/state -### Consensus +- Add CallTx type +- Gas price for block and tx -- Rename test funcs -- Minor cosmetic -- Fix SetLogger in tests -- Print go routines in failed test +### Blockchain -### Example/dummy +- Use ApplyBlock +- Thread safe store.Height() +- Explain isCaughtUp logic +- Fixing reactor tests +- Add comment in AddPeer. closes #666 +- Add tests and more docs for BlockStore +- Update store comments +- Updated store docs/comments from review +- Deduplicate store header value tests +- Less fragile and involved tests for blockstore +- Block creator helper for compressing tests as per @ebuchman +- Note about store tests needing simplification ... +- Test fixes +- Update for new state +- Test wip for hard to test functionality [ci skip] +- Fix register concrete name. (#2213) +- Update the maxHeight when a peer is removed (#3350) +- Comment out logger in test code that causes a race condition (#3500) +- Dismiss request channel delay (#3459) +- Reorg reactor (#3561) +- Add v2 reactor (#4361) +- Enable v2 to be set (#4597) +- Change validator set sorting method (#91) +- Proto migration (#4969) +- Test vectors for proto encoding (#5073) +- Rename to core (#123) +- Remove duplicate evidence sections (#124) +- Fix fast sync halt with initial height > 1 (#5249) +- Verify +2/3 (#5278) +- Remove duplication of validate basic (#5418) -- Remove iavl dep - just use raw db +### Blockchain/pool -### Hd +- Some comments and small changes -- Comments and some cleanup +### Blockchain/reactor -### Keys/keybase.go +- RespondWithNoResponseMessage for missing height -- Comments and fixes +### Blockchain/store -### Lite +- Comment about panics -- MemStoreProvider GetHeightBinarySearch method + fix ValKeys.signHeaders -- < len(v) in for loop check, as per @melekes' recommendation -- TestCacheGetsBestHeight with GetByHeight and GetByHeightBinarySearch -- Comment out iavl code - TODO #1183 +### Blockchain/v0 -### Mempool +- Relax termination conditions and increase sync timeout (#5741) +- Stop tickers on poolRoutine exit (#5860) +- Stop tickers on poolRoutine exit (#5860) -- Cfg.CacheSize and expose InitWAL +### Blockchain/v1 -### Merkle +- Add noBlockResponse handling (#5401) +- Add noBlockResponse handling (#5401) +- Handle peers without blocks (#5701) +- Fix deadlock (#5711) +- Remove in favor of v2 (#5728) +- Omit incoming message bytes from log -- Remove go-wire dep by copying EncodeByteSlice +### Blockchain/v2 -### Nano +- Allow setting nil switch, for CustomReactors() +- Don't broadcast base if height is 0 +- Fix excessive CPU usage due to spinning on closed channels (#4761) +- Respect fast_sync option (#4772) +- Integrate with state sync +- Correctly set block store base in status responses (#4971) +- Fix "panic: duplicate block enqueued by processor" (#5499) +- Fix panic: processed height X+1 but expected height X (#5530) +- Fix "panic: duplicate block enqueued by processor" (#5499) +- Fix panic: processed height X+1 but expected height X (#5530) +- Make the removal of an already removed peer a noop (#5553) +- Make the removal of an already removed peer a noop (#5553) +- Remove peers from the processor (#5607) +- Remove peers from the processor (#5607) +- Send status request when new peer joins (#5774) +- Fix missing mutex unlock (#5862) +- Fix missing mutex unlock (#5862) +- Internalize behavior package (#6094) -- Update comments +### Blockchain[v1] -### P2p +- Increased timeout times for peer tests (#4871) -- PrivKey need not be Ed25519 -- Reorder some checks in addPeer; add comments to NodeInfo -- Peer.Key -> peer.ID -- Add ID to NetAddress and use for AddrBook -- Support addr format ID@IP:PORT -- Authenticate peer ID -- Remove deprecated Dockerfile -- Seed mode fixes from rebase and review -- Seed disconnects after sending addrs -- Add back lost func -- Use sub dirs -- Tmconn->conn and types->p2p -- Use conn.Close when peer is nil -- Notes about ListenAddr -- AddrBook.Save() on DialPeersAsync -- Add Channels to NodeInfo and don't send for unknown channels -- Fix tests for required channels -- Fix break in double loop +### Blockpool -### P2p/conn +- Fix removePeer bug -- Better handling for some stop conditions +### Blockstore -### P2p/pex +- Allow initial SaveBlock() at any height +- Fix race conditions when loading data (#5382) +- Save only the last seen commit (#6212) -- Wait to connect to all peers in reactor test +### Buf -### P2p/trustmetric +- Modify buf.yml, add buf generate (#5653) -- Non-deterministic test +### Build -### Priv-val +- Bump github.com/tendermint/tm-db from 0.1.1 to 0.2.0 (#4001) +- Bump github.com/gogo/protobuf from 1.3.0 to 1.3.1 (#4055) +- Bump github.com/spf13/viper from 1.4.0 to 1.5.0 (#4102) +- Bump github.com/spf13/viper from 1.5.0 to 1.6.1 (#4224) +- Bump github.com/pkg/errors from 0.9.0 to 0.9.1 (#4310) +- Bump google.golang.org/grpc from 1.26.0 to 1.27.0 (#4355) +- Bump github.com/stretchr/testify from 1.5.0 to 1.5.1 (#4441) +- Bump github.com/spf13/cobra from 0.0.3 to 0.0.6 (#4440) +- Bump github.com/golang/protobuf from 1.3.3 to 1.3.4 (#4485) +- Bump github.com/prometheus/client_golang (#4525) +- Bump github.com/Workiva/go-datastructures (#4545) +- Bump google.golang.org/grpc from 1.27.1 to 1.28.0 (#4551) +- Bump github.com/tendermint/tm-db from 0.4.1 to 0.5.0 (#4554) +- Bump github.com/golang/protobuf from 1.3.4 to 1.3.5 (#4563) +- Bump github.com/prometheus/client_golang (#4574) +- Bump github.com/gorilla/websocket from 1.4.1 to 1.4.2 (#4584) +- Bump github.com/spf13/cobra from 0.0.6 to 0.0.7 (#4612) +- Bump github.com/tendermint/tm-db from 0.5.0 to 0.5.1 (#4613) +- Bump google.golang.org/grpc from 1.28.0 to 1.28.1 (#4653) +- Bump github.com/spf13/viper from 1.6.2 to 1.6.3 (#4664) +- Bump @vuepress/plugin-google-analytics in /docs (#4692) +- Bump google.golang.org/grpc from 1.28.1 to 1.29.0 +- Bump google.golang.org/grpc from 1.29.0 to 1.29.1 (#4735) +- Manually bump github.com/prometheus/client_golang from 1.5.1 to 1.6.0 (#4758) +- Bump github.com/golang/protobuf from 1.4.0 to 1.4.1 (#4794) +- Bump vuepress-theme-cosmos from 1.0.163 to 1.0.164 in /docs (#4815) +- Bump github.com/spf13/viper from 1.6.3 to 1.7.0 (#4814) +- Bump github.com/golang/protobuf from 1.4.1 to 1.4.2 (#4849) +- Bump vuepress-theme-cosmos from 1.0.164 to 1.0.165 in /docs +- Bump github.com/stretchr/testify from 1.5.1 to 1.6.0 +- Bump vuepress-theme-cosmos from 1.0.165 to 1.0.166 in /docs (#4920) +- Bump github.com/stretchr/testify from 1.6.0 to 1.6.1 +- Bump github.com/prometheus/client_golang from 1.6.0 to 1.7.0 (#5027) +- Bump google.golang.org/grpc from 1.29.1 to 1.30.0 +- Bump github.com/prometheus/client_golang +- Bump vuepress-theme-cosmos from 1.0.168 to 1.0.169 in /docs +- Bump google.golang.org/grpc from 1.30.0 to 1.31.0 +- Bump github.com/spf13/viper from 1.7.0 to 1.7.1 +- Bump golangci/golangci-lint-action from v2.1.0 to v2.2.0 (#5245) +- Bump actions/cache from v1 to v2.1.0 (#5244) +- Bump codecov/codecov-action from v1.0.7 to v1.0.12 (#5247) +- Bump technote-space/get-diff-action from v1 to v3 (#5246) +- Bump gaurav-nelson/github-action-markdown-link-check from 0.6.0 to 1.0.5 (#5248) +- Bump codecov/codecov-action from v1.0.12 to v1.0.13 (#5258) +- Bump gaurav-nelson/github-action-markdown-link-check from 1.0.5 to 1.0.6 (#5265) +- Bump gaurav-nelson/github-action-markdown-link-check from 1.0.6 to 1.0.7 (#5269) +- Bump actions/cache from v2.1.0 to v2.1.1 (#5268) +- Bump gaurav-nelson/github-action-markdown-link-check from 0.6.0 to 1.0.7 (#149) +- Bump github.com/tendermint/tm-db from 0.6.1 to 0.6.2 (#5296) +- Bump google.golang.org/grpc from 1.31.1 to 1.32.0 (#5346) +- Bump github.com/minio/highwayhash from 1.0.0 to 1.0.1 (#5370) +- Bump vuepress-theme-cosmos from 1.0.172 to 1.0.173 in /docs (#5390) +- Bump watchpack from 1.7.4 to 2.0.0 in /docs (#5470) +- Bump actions/cache from v2.1.1 to v2.1.2 (#5487) +- Bump golangci/golangci-lint-action from v2.2.0 to v2.2.1 (#5486) +- Bump technote-space/get-diff-action from v3 to v4 (#5485) +- Bump codecov/codecov-action from v1.0.13 to v1.0.14 (#5525) +- Bump gaurav-nelson/github-action-markdown-link-check from 1.0.7 to 1.0.8 (#5543) +- Bump gaurav-nelson/github-action-markdown-link-check from 1.0.7 to 1.0.8 (#188) +- Bump google.golang.org/grpc from 1.32.0 to 1.33.1 (#5544) +- Bump actions/cache from v2.1.1 to v2.1.2 (#5487) +- Bump golangci/golangci-lint-action from v2.2.0 to v2.2.1 (#5486) +- Bump technote-space/get-diff-action from v3 to v4 (#5485) +- Bump golangci/golangci-lint-action from v2.2.1 to v2.3.0 (#5571) +- Bump codecov/codecov-action from v1.0.13 to v1.0.14 (#5582) +- Bump watchpack from 2.0.0 to 2.0.1 in /docs (#5605) +- Bump actions/cache from v2.1.2 to v2.1.3 (#5633) +- Bump github.com/tendermint/tm-db from 0.6.2 to 0.6.3 +- Bump rtCamp/action-slack-notify from e9db0ef to 2.1.1 +- Bump google.golang.org/grpc from 1.32.0 to 1.33.1 (#5544) +- Bump github.com/tendermint/tm-db from 0.6.2 to 0.6.3 +- Bump codecov/codecov-action from v1.0.14 to v1.0.15 (#5676) +- Bump github.com/cosmos/iavl from 0.15.0-rc5 to 0.15.0 (#5708) +- Bump vuepress-theme-cosmos from 1.0.175 to 1.0.176 in /docs (#5727) +- Refactor BLS library/bindings integration (#9) +- BLS scripts - Improve build.sh, Fix install.sh (#10) +- Dashify some files (#11) +- Fix docker image and docker.yml workflow (#12) +- Fix coverage.yml, bump go version, install BLS, drop an invalid character (#19) +- Fix test.yml, bump go version, install BLS, fix job names (#18) +- Bump google.golang.org/grpc from 1.33.2 to 1.34.0 (#5737) +- Bump gaurav-nelson/github-action-markdown-link-check (#22) +- Bump codecov/codecov-action from v1.0.13 to v1.0.15 (#23) +- Bump golangci/golangci-lint-action from v2.2.1 to v2.3.0 (#24) +- Bump rtCamp/action-slack-notify from e9db0ef to 2.1.1 (#25) +- Bump google.golang.org/grpc from 1.33.2 to 1.34.0 (#26) +- Bump vuepress-theme-cosmos from 1.0.173 to 1.0.177 in /docs (#27) +- Bump watchpack from 2.0.1 to 2.1.0 in /docs (#5768) +- Bump rtCamp/action-slack-notify from ecc1353ce30ef086ce3fc3d1ea9ac2e32e150402 to 2.1.2 (#5767) +- Bump vuepress-theme-cosmos from 1.0.178 to 1.0.179 in /docs (#5780) +- Bump gaurav-nelson/github-action-markdown-link-check from 1.0.8 to 1.0.9 (#5779) +- Bump gaurav-nelson/github-action-markdown-link-check (#5787) +- Bump gaurav-nelson/github-action-markdown-link-check (#5793) +- Bump gaurav-nelson/github-action-markdown-link-check (#233) +- Bump github.com/cosmos/iavl from 0.15.0 to 0.15.2 +- Bump codecov/codecov-action from v1.0.15 to v1.1.1 (#5825) +- Bump codecov/codecov-action from v1.1.1 to v1.2.0 (#5863) +- Bump codecov/codecov-action from v1.2.0 to v1.2.1 +- Bump gaurav-nelson/github-action-markdown-link-check (#239) +- Bump gaurav-nelson/github-action-markdown-link-check (#5884) +- Bump actions/cache from v2.1.3 to v2.1.4 (#6055) +- Bump JamesIves/github-pages-deploy-action (#6062) +- Bump actions/cache from v2.1.3 to v2.1.4 (#6055) +- Bump github.com/spf13/cobra from 1.1.1 to 1.1.2 (#6075) +- Bump github.com/spf13/cobra from 1.1.2 to 1.1.3 (#6098) +- Bump golangci/golangci-lint-action from v2.3.0 to v2.4.0 (#6111) +- Bump golangci/golangci-lint-action from v2.4.0 to v2.5.1 (#6175) +- Bump google.golang.org/grpc from 1.35.0 to 1.36.0 (#6180) +- Bump JamesIves/github-pages-deploy-action from 4.0.0 to 4.1.0 (#6215) +- Bump rtCamp/action-slack-notify from ae4223259071871559b6e9d08b24a63d71b3f0c0 to 2.1.3 (#6234) +- Bump codecov/codecov-action from v1.2.1 to v1.2.2 (#6231) +- Bump codecov/codecov-action from v1.2.2 to v1.3.1 (#6247) +- Bump github.com/golang/protobuf from 1.4.3 to 1.5.1 (#6254) +- Bump github.com/prometheus/client_golang (#6258) +- Bump google.golang.org/grpc from 1.36.0 to 1.36.1 (#6281) +- Bump github.com/golang/protobuf from 1.5.1 to 1.5.2 (#6299) +- Bump github.com/Workiva/go-datastructures (#6298) +- Bump golangci/golangci-lint-action from v2.5.1 to v2.5.2 (#6317) +- Bump codecov/codecov-action from v1.3.1 to v1.3.2 (#6319) +- Bump JamesIves/github-pages-deploy-action (#6316) +- Bump docker/setup-buildx-action from v1 to v1.1.2 (#6324) +- Bump google.golang.org/grpc from 1.36.1 to 1.37.0 (bp #6330) (#6335) +- Bump styfle/cancel-workflow-action from 0.8.0 to 0.9.0 (#6341) +- Bump actions/cache from v2.1.4 to v2.1.5 (#6350) +- Bump codecov/codecov-action from v1.3.2 to v1.4.0 (#6365) +- Bump codecov/codecov-action from v1.4.0 to v1.4.1 (#6379) +- Bump docker/setup-buildx-action from v1.1.2 to v1.2.0 (#6391) +- Bump docker/setup-buildx-action from v1.2.0 to v1.3.0 (#6413) +- Bump codecov/codecov-action from v1.4.1 to v1.5.0 (#6417) +- Bump github.com/cosmos/iavl from 0.15.3 to 0.16.0 (#6421) +- Bump JamesIves/github-pages-deploy-action (#6448) +- Bump docker/build-push-action from 2 to 2.4.0 (#6454) +- Bump actions/stale from 3 to 3.0.18 (#6455) +- Bump actions/checkout from 2 to 2.3.4 (#6456) +- Bump docker/login-action from 1 to 1.9.0 (#6460) +- Bump actions/stale from 3.0.18 to 3.0.19 (#6477) +- Bump actions/stale from 3 to 3.0.18 (#300) +- Bump watchpack from 2.1.1 to 2.2.0 in /docs (#6482) +- Bump actions/stale from 3.0.18 to 3.0.19 (#302) +- Bump browserslist from 4.16.4 to 4.16.6 in /docs (#6487) +- Bump docker/build-push-action from 2.4.0 to 2.5.0 (#6496) +- Bump dns-packet from 1.3.1 to 1.3.4 in /docs (#6500) +- Bump actions/cache from 2.1.5 to 2.1.6 (#6504) +- Bump rtCamp/action-slack-notify from 2.1.3 to 2.2.0 (#6543) +- Bump github.com/prometheus/client_golang (#6552) -- Fix timestamp for signing things that only differ by timestamp +### Certifiers -### Spec +- Test uses WaitForHeight -- Convert to rst -- Typos & other fixes -- Remove notes, see #1152 -- More fixes -- Minor fixes +### Changelog -### Types +- Add prehistory +- Add genesis amount->power +- More review fixes/release/v0.31.0 (#3427) +- Add summary & fix link & add external contributor (#3490) +- Add v0.31.9 and v0.31.8 updates (#4034) +- Fix typo (#4106) +- Explain breaking changes better +- GotVoteFromUnwantedRoundError -> ErrGotVoteFromUnwantedRound +- Add 0.32.9 changelog to master (#4305) +- Add entries from secruity releases +- Update 0.33.6 (#5075) +- Note breaking change in the 0.33.6 release (#5077) +- Reorgranize (#5065) +- Move entries from pending (#5172) +- Bump to 0.34.0-rc2 (#5176) +- Add v0.33.7 release (#5203) +- Add v0.32.13 release (#5204) +- Update for 0.34.0-rc3 (#5240) +- Add v0.33.8 from release (#5242) +- Minor tweaks (#5389) +- Add missing date to v0.33.5 release, fix indentation (#5454) +- Add missing date to v0.33.5 release, fix indentation (#5454) (#5455) +- Prepare changelog for RC5 (#5494) +- Squash changelog from 0.34 RCs into one (#5691) +- Squash changelog from 0.34 RCs into one (#5687) +- Add entry back (#5738) +- Update changelog for v0.34.1 (#5872) +- Update with changes released in 0.34.1 (#5875) +- Prepare 0.34.2 release (#5894) +- Update changelogs to reflect changes released in 0.34.2 +- Update for 0.34.3 (#5926) +- Update changelog for v0.34.3 (#5927) +- Update for v0.34.4 (#6096) +- Improve with suggestions from @melekes (#6097) +- Update to reflect v0.34.4 release (#6105) +- Update 0.34.3 changelog with details on security vuln (#6108) +- Update for 0.34.5 (#6129) +- Bump to v0.34.6 +- Fix changelog pending version numbering (#6149) +- Update with changes from 0.34.7 (and failed 0.34.5, 0.34.6) (#6150) +- Update for 0.34.8 (#6181) +- Update for 0.34.8 (#6183) +- Prepare changelog for 0.34.9 release (#6333) +- Update to reflect 0.34.9 (#6334) +- Update for 0.34.10 (#6357) +- Update for 0.34.10 (#6358) -- Check bufio.Reader -- TxEventBuffer.Flush now uses capacity preserving slice clearing idiom -- RequestInitChain.AppStateBytes +### Ci -### Types/priv_validator +- Setup abci in dependency step +- Move over abci-cli tests +- Reduce log output in test_cover (#2105) +- Transition some ci to github actions +- Only run when applicable (#4752) +- Check git diff on each job (#4770) +- Checkout code before git diff check (#4779) +- Add paths +- Bump the timeout for test_coverage (#4864) +- Migrate localnet to github actions (#4878) +- Add timeouts (#4912) +- Migrate test_cover (#4869) +- Fix spacing of if statement (#5015) +- Try to fix codecov (#5095) +- Only run tests when go files are touched (#5097) +- Version linter fix (#5128) +- Freeze golangci action version (#5196) +- Fix net pipeline (#5272) +- Delay codecov notification (#5275) +- Add markdown linter (#146) +- Add dependabot config (#148) +- Fix net run (#5343) +- Docker remvoe circleci and add github action (#5420) +- Docker remove circleci and add github action (#5551) +- Add goreleaser (#5527) +- Tests (#5577) +- Add goreleaser (#5527) +- Tests (#5577) +- Use gh pages (#5609) +- Remove `add-path` (#5674) +- Remove `add-path` (#5674) +- Remove circle (#5714) +- Build for 32 bit, libs: fix overflow (#5700) +- Build for 32 bit, libs: fix overflow (#5700) +- Install BLS library in lint.yml and bump its go version (#15) +- E2e fixes - docker image, e2e.yml BLS library, default KeyType (#21) +- Make timeout-minutes 8 for golangci (#5821) +- Run `goreleaser build` (#5824) +- Add janitor (#6292) -- Fixes for latest p2p and cmn +### Ci/e2e -### Wip +- Avoid running job when no go files are touched (#5471) +- Avoid running job when no go files are touched (#5471) -- Priv val via sockets -- Comment types -- Fix code block in ADR -- Fix nil pointer deference -- Avoid underscore in var name -- Check error of wire read +### Circle -## [0.15.0] - 2017-12-29 +- Docker 1.10.0 +- Add metalinter to test +- Fix config.yml +- Add GOCACHE=off and -v to tests +- Save p2p logs as artifacts (#2566) -### CRandHex +### Circleci -- Fix up doc to mention length of digits +- Add a job to automatically update docs (#3005) +- Update go version (#3051) +- Removed complexity from docs deployment job (#3396) +- Run P2P IPv4 and IPv6 tests in parallel (#4459) +- Fix reproducible builds test (#4497) +- Remove Gitian reproducible_builds job (#5462) +- Remove Gitian reproducible_builds job (#5462) -### Proposal +### Cleanup -- New Makefile standard template (#168) +- Replace common.Exit with log.Crit or log.Fatal -### README +### Cli -- Document the minimum Go version +- Testnet cmd inits files for testnet +- ResetAll doesnt depend on cobra +- Support --root and --home +- More descriptive naming +- Viper.Set(HomeFlag, rootDir) +- Clean up error handling +- Use cobra's new ExactArgs() feature +- WriteDemoConfig -> WriteConfigVals +- Add option to not clear address book with unsafe reset (#3606) +- Add `--cs.create_empty_blocks_interval` flag (#4205) +- Add `--db_backend` and `--db_dir` flags to tendermint node cmd (#4235) +- Add optional `--genesis_hash` flag to check genesis hash upon startup (#4238) +- Debug sub-command (#4227) +- Add command to generate shell completion scripts (#4665) +- Light home dir should default to where the full node default is (#5392) +- Light home dir should default to where the full node default is (#5392) -### Testing +### Client -- Longer timeout -- Add some timeouts +- ResultsCh chan json.RawMessage, ErrorsCh +- Wsc.String() +- Safe error handling +- Use vars for retry intervals -### All +### Clist -- Fix vet issues with build tags, formatting +- Reduce numTimes in test +- Speedup functions (#2208) +- Speedup Next by removing defers (#2511) -### Batch +### Cmap -- Progress +- Remove defers (#2210) -### Blockchain +### Cmd -- Test fixes -- Update for new state +- Fixes for new config +- Query params are flags +- --consensus.no_empty_blocks +- Don't load config for version command. closes #620 +- Dont wait for genesis. closes #562 +- Make sure to have 'testnet' create the data directory for nonvals (#3409) +- Show useful error when tm not initialised (#4512) +- Fix debug kill and change debug dump archive filename format (#4517) +- Add support for --key (#5612) +- Modify `gen_node_key` to print key to STDOUT (#5772) +- Hyphen case cli and config (#5777) +- Hyphen-case cli v0.34.1 (#5786) +- Ignore missing wal in debug kill command (#6160) ### Cmd/abci-cli - Use a single connection per session - Implement batch -### Cmd/tendermint - -- Fix initialization file creation checks (#991) - -### Cmn - -- Fix race condition in prng -- Fix repeate timer test with manual ticker -- Fix race - -### Common - -- No more relying on math/rand.DefaultSource -- Use names prng and mrand -- Use genius simplification of tests from @ebuchman -- Rand* warnings about cryptographic unsafety - -### Config +### Cmd/debug -- Write all default options to config file -- Lil fixes -- Unexpose chainID +- Execute p.Signal only when p is not nil (#4271) -### Consensus +### Cmd/lite -- Fix makeBlockchainFromWAL -- Remove log stmt. closes #987 -- Note about duplicate evidence +- Switch to new lite2 package (#4300) -### Db +### Cmd/tendermint -- Some comments in types.go -- Test panic on nil key -- Some test cleanup -- Fixes to fsdb and clevledb -- Memdb iterator -- Goleveldb iterator -- Cleveldb iterator -- Fsdb iterator -- Fix c and go iterators -- Simplify exists check, fix IsKeyInDomain signature, Iterator Close +- Fix initialization file creation checks (#991) -### Evidence +### Cmd/tendermint/commands -- More funcs in store.go -- Store tests and fixes -- Pool test -- Reactor test -- Reactor test +- Update ParseConfig doc -### Mempool +### Cmd/tendermint/commands/lite -- Remove Peer interface. use p2p.Peer +- Add tcp scheme to address URLs (#1297) -### P2p/trust +### Cmn -- Remove extra channels +- Kill +- Fix race condition in prng +- Fix repeate timer test with manual ticker +- Fix race +- Fix HexBytes.MarshalJSON +- GetFreePort (#3255) -### Protoc +### Codecov -- "//nolint: gas" directive after pb generation (#164) +- Disable annotations (#5413) +- Validate codecov.yml (#5699) -### Rpc +### Codeowners -- GetHeight helper function -- Fix getHeight +- Add code owners (#82) -### Spec +### Commands -- Fixes from review +- Run -> RunE -### State +### Common -- TestValidateBlock -- Move methods to funcs -- BlockExecutor -- Re-order funcs. fix tests -- Send byzantine validators in BeginBlock +- ProtocolAndAddress +- Fingerprint comment +- WriteFileAtomic use tempfile in current dir +- Comments for Service +- No more relying on math/rand.DefaultSource +- Use names prng and mrand +- Use genius simplification of tests from @ebuchman +- Rand* warnings about cryptographic unsafety +- Fix BitArray.Update to avoid nil dereference +- BitArray: feedback from @adrianbrink to simplify tests +- IsHex should be able to handle 0X prefixed strings +- NewBitArray never crashes on negatives (#170) +- Remove {Left, Right}PadString (#168) +- NewBitArray never crashes on negatives (#170) +- Delete unused functions (#2452) +- CMap: slight optimization in Keys() and Values(). (#3567) -### Types +### Common/BitArray -- Compile type assertions to avoid sneaky runtime surprises -- Check ResponseCheckTx too -- Update String() test to assert Prevote type -- Rename exampleVote to examplePrecommit on vote_test -- Add test for IsVoteTypeValid -- Params.Update() -- Comments; compiles; evidence test -- Evidences for merkle hashing; Evidence.String() -- Tx.go comments -- Evidence cleanup -- Better error messages for votes +- Reduce fragility with methods -### Types/params +### Common/IsDirEmpty -- Introduce EvidenceParams +- Do not mask non-existance errors -### Wip +### Common/rand -- Tendermint specification +- Remove exponential distribution functions (#1979) -## [0.14.0] - 2017-12-12 +### Config -### Adr +- Hardcode default genesis.json +- Block size, consensus timeouts, recheck tx +- Cswal_light, mempool_broadcast, mempool_reap +- Toggle authenticated encryption +- Disable_data_hash (for testing) +- All urls use tcp:// or unix:// prefix +- Filter_peers defaults to false +- Reduce timeouts during test +- Pex_reactor -> pex +- Write all default options to config file +- Lil fixes +- Unexpose chainID +- Fix addrbook path to go in config +- Fix private_peer_ids +- Rename skip_upnp to upnp (#1827) +- 10x default send/recv rate (#1978) +- Reduce default mempool size (#2300) +- Add ValidateBasic (#2485) +- Refactor ValidateBasic (#2503) +- Make possible to set absolute paths for TLS cert and key (#3765) +- Move max_msg_bytes into mempool section (#3869) +- Add rocksdb as a db backend option (#4239) +- Allow fastsync.version = v2 (#4639) +- Trust period consistency (#5297) +- Rename prof_laddr to pprof_laddr and move it to rpc (#5315) +- Set time_iota_ms to timeout_commit in test genesis (#5386) +- Add state sync discovery_time setting (#5399) +- Set statesync.rpc_servers when generating config file (#5433) +- Set statesync.rpc_servers when generating config file (#5433) (#5438) +- Increase MaxPacketMsgPayloadSize to 1400 +- Fix mispellings (#5914) +- Fix mispellings (#5914) +- Create `BootstrapPeers` p2p config parameter (#6372) +- Add private peer id /net_info expose information in default config (#6490) +- Seperate priv validator config into seperate section (#6462) -- Update 007 trust metric usage +### Config/indexer -### Appveyor +- Custom event indexing (#6411) -- Use make +### Consensus -### Blockchain +- Broadcast evidence tx on ErrVoteConflictingSignature +- Check both vote orderings for dupeout txs +- Fix negative timeout; log levels +- Msg saving and replay +- Replay console +- Use replay log to avoid sign regression +- Don't wait for wal if conS not running +- Dont allow peer round states to decrease +- Cswal doesnt write any consensus msgs in light mode +- Fix more races in tests +- Fix race from OnStop accessing cs.Height +- T.Fatal -> panic +- Hvs.Reset(height, valSet) +- Increase mempool_test timeout +- Don't print shared vars in cs.String() +- Add note about replay test +- No sign err in replay; fix a race +- Hvs.StringIndented needed a lock. addresses #284 +- Test reactor +- Fix panic on POLRound=-1 +- Ensure dir for cswal on reactor tests +- Lock before loading commit +- Track index of privVal +- Test validator set change +- Wal.Flush() and cleanup replay tests +- TimeoutTicker, skip TimeoutCommit on HasAll +- Mv timeoutRoutine into TimeoutTicker +- No internal vars in reactor.String() +- Sync wal.writeHeight +- Remove crankTimeoutPropose from tests +- Be more explicit when we need to write height after handshake +- Let time.Timer handle non-positive durations +- Check HasAll when TwoThirdsMajority +- Nice error msg if ApplyBlock fails +- Handshake replay test using wal +- More handshake replay tests +- Some more informative logging +- Timeout on replayLastBlock +- Comment about test_data [ci skip] +- Fix tests +- Improve logging for conflicting votes +- Better logging +- More comments +- IsProposer func +- Remove rs from handleMsg +- Log ProposalHeartbeat msg +- Test proposal heartbeat +- Recover panics in receive routine +- Remove support for replay by #HEIGHT. closes #567 +- Use filepath for windows compatibility, closes #595 +- Kill process on app error +- Ensure prs.ProposalBlockParts is initialized. fixes #810 +- Fix for initializing block parts during catchup +- Make mempool_test deterministic +- Fix LastCommit log +- Crank timeout in timeoutWaitGroup +- Fix typo on ticker.go documentation +- Fix makeBlockchainFromWAL +- Remove log stmt. closes #987 +- Note about duplicate evidence +- Rename test funcs +- Minor cosmetic +- Fix SetLogger in tests +- Print go routines in failed test +- Return from go-routine in test +- Return from errors sooner in addVote +- Close pubsub channels. fixes #1372 +- Only fsync wal after internal msgs +- Link to spec from readme (#1609) +- Fixes #1754 +- Fix addProposalBlockPart +- Stop wal +- Wait on stop if not fastsync +- Include evidence in proposed block parts. fixes #2050 +- Fix test for blocks with evidence +- Failing test for ProposerAddress +- Wait timeout precommit before starting new round (#2493) +- Add ADR for first stage consensus refactor (#2462) +- Wait for proposal or timeout before prevote (#2540) +- Flush wal on stop (#3297) +- Reduce "Error attempting to add vote" message severity (Er… (#3871) +- Reduce log severity for ErrVoteNonDeterministicSignature (#4431) +- Add comment as to why use mocks during replay (#4785) +- Fix TestSimulateValidatorsChange +- Fix and rename TestStateLockPOLRelock (#4796) +- Bring back log.Error statement (#4899) +- Increase ensureTimeout (#4891) +- Fix startnextheightcorrectly test (#4938) +- Attempt to repair the WAL file on data corruption (#4682) +- Change logging and handling of height mismatch (#4954) +- Stricter on LastCommitRound check (#4970) +- Proto migration (#4984) +- Do not allow signatures for a wrong block in commits +- Msg testvectors (#5076) +- Added byzantine test, modified previous test (#5150) +- Only call privValidator.GetPubKey once per block (#5143) +- Don't check InitChain app hash vs genesis app hash, replace it (#5237) +- Double-sign risk reduction (ADR-51) (#5147) +- Fix wrong proposer schedule for `InitChain` validators (#5329) +- Check block parts don't exceed maximum block bytes (#5431) +- Check block parts don't exceed maximum block bytes (#5436) +- Open target WAL as read/write during autorepair (#5536) +- Open target WAL as read/write during autorepair (#5536) (#5547) +- Fix flaky tests (#5734) +- Change log level to error when adding vote +- Deprecate time iota ms (#5792) +- Groom Logs (#5917) +- P2p refactor (#5969) +- Groom Logs (#5917) +- Remove privValidator from log call (#6128) +- More log grooming (#6140) +- Log private validator address and not struct (#6144) +- More log grooming (bp #6140) (#6143) +- Reduce shared state in tests (#6313) +- Add test vector for hasvote (#6469) -- Add tests and more docs for BlockStore -- Update store comments -- Updated store docs/comments from review -- Deduplicate store header value tests -- Less fragile and involved tests for blockstore -- Block creator helper for compressing tests as per @ebuchman -- Note about store tests needing simplification ... +### Consensus/WAL -### Consensus +- Benchmark WALDecode across data sizes -- Fix typo on ticker.go documentation +### Consensus/replay -### Linter +- Remove timeout -- Enable in CI & make deterministic +### Consensus/types -### P2p +- Fix BenchmarkRoundStateDeepCopy panics (#4244) -- Exponential backoff on reconnect. closes #939 +### Consensus/wal -## [0.13.0] - 2017-12-06 +- #HEIGHT -> #ENDHEIGHT -### Documentation +### Console -- Add note about putting GOPATH/bin on PATH -- Correction, closes #910 +- Fix output, closes #93 +- Fix tests -### Testing +### Contributing -- Sunset tmlibs/process.Process -- Wait for node heights before checking app hash -- Fix ensureABCIIsUp -- Fix test/app/counter_test.sh +- Use full version from site +- Add steps for adding and removing rc branches (#5223) +- Include instructions for a release candidate (#5498) +- Simplify our minor release process (#5749) -### Abci-cli +### Core -- Print OK if code is 0 -- Prefix flag variables with flag +- Apply megacheck vet tool (unused, gosimple, staticcheck) +- Update a few sections (#284) -### Client +### Counter -- Use vars for retry intervals +- Fix tx buffer overflow -### Common +### Cov -- Comments for Service +- Ignore autogen file (#5033) -### Dummy +### Crypto -- Include app.key tag +- Rename last traces of go-crypto (#1786) +- Abstract pubkey / signature size when known to constants (#1808) +- Refactor to move files out of the top level directory +- Remove Ed25519 and Secp256k1 suffix on GenPrivKey +- Fix package imports from the refactor +- Add benchmarking code for signature schemes (#2061) +- Switch hkdfchacha back to xchacha (#2058) +- Add compact bit array for intended usage in the multisig +- Remove interface from crypto.Signature +- Add compact bit array for intended usage in the multisig +- Threshold multisig implementation +- Add compact bit array for intended usage in the multisig (#2140) +- Remove unnecessary prefixes from amino route variable names (#2205) +- Add a way to go from pubkey to route (#2574) +- Use stdlib crypto/rand. ref #2099 (#2669) +- Revert to mainline Go crypto lib (#3027) +- Delete unused code (#3426) +- Proof of Concept for iterative version of SimpleHashFromByteSlices (#2611) (#3530) +- Add sr25519 signature scheme (#4190) +- Fix sr25519 from raw import (#4272) +- Remove SimpleHashFromMap() and SimpleProofsFromMap() +- Remove key suffixes (#4941) +- Removal of multisig (#4988) +- Consistent api across keys (#5214) +- API modifications (#5236) +- Remove secp256k1 (#5280) +- Remove proto privatekey (#5301) +- Reword readme (#5349) +- Add in secp256k1 support (#5500) +- Add in secp256k1 support (#5500) +- Adopt zip215 ed25519 verification (#5632) +- Fix infinite recursion in Secp256k1 string formatting (#5707) +- Fix infinite recursion in Secp256k1 string formatting (#5707) (#5709) +- Ed25519 & sr25519 batch verification (#6120) +- Add sr25519 as a validator key (#6376) -### Glide +### Crypto/amino -- Update grpc version +- Address anton's comment on PubkeyAminoRoute (#2592) +- Add function to modify key codec (#4112) -### Mempool +### Crypto/ed25519 -- Implement Mempool.CloseWAL -- Return error on cached txs -- Assert -> require in test +- Update the godocs (#2002) +- Remove privkey.Generate method (#2022) -### P2p/trust +### Crypto/hkdfchachapoly -- Split into multiple files and improve function order -- Lock on Copy() +- Add testing seal to the test vector -### Rpc +### Crypto/merkle -- Make time human readable. closes #926 +- Remove byter in favor of plain byte slices (#2595) +- Remove simple prefix (#4989) +- Pre-allocate data slice in innherHash (#6443) +- Optimize merkle tree hashing (#6513) -### Shame +### Crypto/random -- Forgot to add new code pkg +- Use chacha20, add forward secrecy (#2562) -### Types +### Crypto/secp256k1 -- Use data.Bytes directly in type.proto via gogo/protobuf. wow -- Consolidate some file -- Add note about ReadMessage having no cap -- RequestBeginBlock includes absent and byzantine validators -- Drop uint64 from protobuf.go -- IsOK() -- Int32 with gogo int -- Fix for broken customtype int in gogo -- Add MarshalJSON funcs for Response types with a Code -- Add UnmarshalJSON funcs for Response types +- Add godocs, remove indirection in privkeys (#2017) +- Fix signature malleability, adopt more efficient en… (#2239) -## [0.12.1] - 2017-11-28 +### Crypto|p2p|state|types -### Documentation +- Rename Pub/PrivKey's TypeIdentifier() and Type() -- Fix links, closes #860 +### Cs -### PubKeyFromBytes +- Prettify logging of ignored votes (#3086) +- Reset triggered timeout precommit (#3310) +- Sync WAL more frequently (#3300) +- Update wal comments (#3334) +- Comment out log.Error to avoid TestReactorValidatorSetChanges timing out (#3401) +- Fix nondeterministic tests (#3582) +- Exit if SwitchToConsensus fails (#3706) +- Check for SkipTimeoutCommit or wait timeout in handleTxsAvailable (#3928) +- Don't panic when block is not found in store (#4163) +- Clarify where 24 comes from in maxMsgSizeBytes (wal.go) +- Set missing_validators(_power) metrics to 0 for 1st block (#4194) +- Check if cs.privValidator is nil (#4295) -- Return zero value PubKey on error +### Cs/replay -### Security +- Check appHash for each block (#3579) +- ExecCommitBlock should not read from state.lastValidators (#3067) -- Use bytes.Equal for key comparison +### Cs/wal -### WIP +- Refuse to encode msg that is bigger than maxMsgSizeBytes (#3303) -- Begin parallel refactoring with go-wire Write methods and MConnection +### Cswal -### Blockchain +- Write #HEIGHT:1 for empty wal -- Add comment in AddPeer. closes #666 +### Daemon -### Certifiers +- Refactor out of cmd into own package -- Test uses WaitForHeight +### Db -### Clist +- Add Close() to db interface. closes #31 +- Fix memdb iterator +- Fix MemDB.Close +- Sort keys for memdb iterator +- Some comments in types.go +- Test panic on nil key +- Some test cleanup +- Fixes to fsdb and clevledb +- Memdb iterator +- Goleveldb iterator +- Cleveldb iterator +- Fsdb iterator +- Fix c and go iterators +- Simplify exists check, fix IsKeyInDomain signature, Iterator Close +- Add support for badgerdb (#5233) +- Migration script for key format change (#6355) -- Reduce numTimes in test +### Dep -### Consensus +- Pin all deps to version or commit +- Revert updates +- Update tm-db to 0.4.0 (#4289) +- Bump gokit dep (#4424) +- Maunally bump dep (#4436) +- Bump protobuf, cobra, btcutil & std lib deps (#4676) +- Bump ed25519consensus version (#5760) +- Remove IAVL dependency (#6550) -- Ensure prs.ProposalBlockParts is initialized. fixes #810 -- Fix for initializing block parts during catchup -- Make mempool_test deterministic -- Fix LastCommit log -- Crank timeout in timeoutWaitGroup +### Deps -### Consensus/WAL +- Update gogo/protobuf from 1.1.1 to 1.2.1 and golang/protobuf from 1.1.0 to 1.3.0 (#3357) +- Update gogo/protobuf version from v1.2.1 to v1.3.0 (#3947) +- Bump github.com/magiconair/properties from 1.8.0 to 1.8.1 (#3937) +- Bump github.com/rs/cors from 1.6.0 to 1.7.0 (#3939) +- Bump github.com/fortytw2/leaktest from 1.2.0 to 1.3.0 (#3943) +- Bump github.com/libp2p/go-buffer-pool from 0.0.1 to 0.0.2 (#3948) +- Bump google.golang.org/grpc from 1.22.0 to 1.23.0 (#3942) +- Bump github.com/gorilla/websocket from 1.2.0 to 1.4.1 (#3945) +- Bump viper to 1.4.0 and logfmt to 0.4.0 (#3950) +- Bump github.com/stretchr/testify from 1.3.0 to 1.4.0 (#3951) +- Bump github.com/go-kit/kit from 0.6.0 to 0.9.0 (#3952) +- Bump google.golang.org/grpc from 1.23.0 to 1.23.1 (#3982) +- Bump google.golang.org/grpc from 1.23.1 to 1.24.0 (#4021) +- Bump google.golang.org/grpc from 1.25.0 to 1.25.1 (#4127) +- Bump google.golang.org/grpc from 1.25.1 to 1.26.0 (#4264) +- Bump github.com/go-logfmt/logfmt from 0.4.0 to 0.5.0 (#4282) +- Bump github.com/pkg/errors from 0.8.1 to 0.9.0 (#4301) +- Bump github.com/spf13/viper from 1.6.1 to 1.6.2 (#4318) +- Bump github.com/golang/protobuf from 1.3.2 to 1.3.3 (#4359) +- Bump google.golang.org/grpc from 1.27.0 to 1.27.1 (#4372) +- Bump github.com/stretchr/testify from 1.4.0 to 1.5.0 (#4435) +- Bump github.com/tendermint/tm-db from 0.4.0 to 0.4.1 (#4476) +- Bump github.com/Workiva/go-datastructures (#4519) +- Bump deps that bot cant (#4555) +- Run go mod tidy (#4587) +- Bump tm-db to 0.6.0 (#5058) -- Benchmark WALDecode across data sizes +### Dist -### Db +- Dont mkdir in container +- Dont mkdir in container -- Sort keys for memdb iterator +### Distribution -### Errcheck +- Lock binary dependencies to specific commits (#2550) -- PR comment fixes +### Dummy -### Lint +- Valset changes and tests +- Verify pubkey is go-crypto encoded in DeliverTx. closes #51 +- Include app.key tag -- Apply deadcode/unused +### E2e -### Linter +- Use ed25519 for secretConn (remote signer) (#5678) +- Use ed25519 for secretConn (remote signer) (#5678) +- Releases nightly (#5906) +- Add control over the log level of nodes (#5958) +- Releases nightly (#5906) +- Disconnect maverick (#6099) +- Adjust timeouts to be dynamic to size of network (#6202) +- Add benchmarking functionality (#6210) +- Integrate light clients (#6196) +- Add benchmarking functionality (bp #6210) (#6216) +- Fix light client generator (#6236) +- Integrate light clients (bp #6196) +- Fix perturbation of seed nodes (#6272) +- Add evidence generation and testing (#6276) +- Tx load to use broadcast sync instead of commit (#6347) +- Tx load to use broadcast sync instead of commit (backport #6347) (#6352) +- Relax timeouts (#6356) +- Split out nightly tests (#6395) +- Prevent non-viable testnets (#6486) -- Address deadcode, implement incremental lint testing -- Sort through each kind and address small fixes +### Ebuchman -### Linting +- Added some demos on how to parse unknown types -- Replace megacheck with metalinter -- Apply 'gofmt -s -w' throughout -- Apply misspell -- Apply errcheck part1 -- Apply errcheck part2 -- Moar fixes -- Few more fixes +### Ed25519 -### Node +- Use golang/x/crypto fork (#2558) -- Clean makeNodeInfo +### Encoding -### P2p +- Remove codecs (#4996) +- Add secp, ref zip215, tables (#212) -- Update readme, some minor things -- Some fixes re @odeke-em issues #813,#816,#817 -- Comment on the wg.Add before go saveRoutine() -- Peer should respect errors from SetDeadline -- Use fake net.Pipe since only >=Go1.10 implements SetDeadline -- NetPipe for bucketsNew/Old -- Simplify PickAddress -- AddAddress returns error. more defensive PickAddress -- Add non-terminating test -- Fix addToOldBucket -- Some comments +### Events -### P2p/connetion +- Integrate event switch into services via Eventable interface +- Add block_id to NewBlockEvent (#6478) -- Remove panics, test error cases +### Evidence -### P2p/pex +- More funcs in store.go +- Store tests and fixes +- Pool test +- Reactor test +- Reactor test +- Dont send evidence to unsynced peers +- Check peerstate exists; dont send old evidence +- Give each peer a go-routine +- Enforce ordering in DuplicateVoteEvidence (#4151) +- Introduce time.Duration to evidence params (#4254) +- Add time to evidence params (#69) +- Both MaxAgeDuration and MaxAgeNumBlocks need to be surpassed (#4667) +- Handling evidence from light client(s) (#4532) +- Remove unused param (#4726) +- Remove pubkey from duplicate vote evidence +- Add doc.go +- Protect valToLastHeight w/ mtx +- Check evidence is pending before validating evidence +- Refactor evidence mocks throughout packages (#4787) +- Cap evidence to an absolute number (#4780) +- Create proof of lock change and implement it in evidence store (#4746) +- Prevent proposer from proposing duplicate pieces of evidence (#4839) +- Remove header from phantom evidence (#4892) +- Retrieve header at height of evidence for validation (#4870) +- Json tags for DuplicateVoteEvidence (#4959) +- Migrate reactor to proto (#4949) +- Adr56 form amnesia evidence (#4821) +- Improve amnesia evidence handling (#5003) +- Replace mock evidence with mocked duplicate vote evidence (#5036) +- Fix data race in Pool.updateValToLastHeight() (#5100) +- Check lunatic vote matches header (#5093) +- New evidence event subscription (#5108) +- Minor correction to potential amnesia ev validate basic (#5151) +- Remove phantom validator evidence (#5181) +- Don't stop evidence verification if an evidence fails (#5189) +- Fix usage of time field in abci evidence (#5201) +- Change evidence time to block time (#5219) +- Remove validator index verification (#5225) +- Modularise evidence by moving verification function into evidence package (#5234) +- Remove ConflictingHeaders type (#5317) +- Remove lunatic (#5318) +- Remove amnesia & POLC (#5319) +- Introduction of LightClientAttackEvidence and refactor of evidence lifecycle (#5361) +- Update data structures (#165) +- Use bytes instead of quantity to limit size (#5449) +- Use bytes instead of quantity to limit size (#5449)(#5476) +- Don't gossip consensus evidence too soon (#5528) +- Don't send committed evidence and ignore inbound evidence that is already committed (#5574) +- Don't gossip consensus evidence too soon (#5528) +- Don't send committed evidence and ignore inbound evidence that is already committed (#5574) +- Structs can independently form abci evidence (#5610) +- Structs can independently form abci evidence (#5610) +- Update data structures to reflect added support of abci evidence (#213) +- Omit bytes field (#5745) +- Omit bytes field (#5745) +- P2p refactor (#5747) +- Buffer evidence from consensus (#5890) +- Buffer evidence from consensus (#5890) +- Terminate broadcastEvidenceRoutine when peer is stopped (#6068) +- Fix bug with hashes (#6375) +- Fix bug with hashes (backport #6375) (#6381) +- Separate abci specific validation (#6473) -- Simplify ensurePeers +### Example -### Rpc +- Fix func suffix -- Wait for rpc servers to be available in tests -- Fix tests +### Example/dummy -### Rpc/lib/server +- Remove iavl dep - just use raw db -- Add handlers tests -- Update with @melekes and @ebuchman feedback -- Separate out Notifications test -- Minor changes to test +### Example/kvstore -### Rpc/lib/types +- Return ABCI query height (#4509) -- RPCResponse.Result is not a pointer +### Fmt -### Rpc/wsevents +- Run 'make fmt' -- Small cleanup +### Format -### Server +- Add format cmd & goimport repo (#4586) -- Minor refactor +### Genesis -### State +- Add support for arbitrary initial height (#5191) +- Explain fields in genesis file (#270) -- Return to-be-used function +### Github -### Types +- Update PR template to indicate changing pending changelog. (#2059) +- Edit templates for use in issues and pull requests (#4483) +- Rename e2e jobs (#5502) +- Add nightly E2E testnet action (#5480) +- Add nightly E2E testnet action (#5480) +- Rename e2e jobs (#5502) +- Only notify nightly E2E failures once (#5559) +- Only notify nightly E2E failures once (#5559) +- Issue template for proposals (#190) +- Add @tychoish to code owners (#6273) +- Fix linter configuration errors and occluded errors (#6400) -- Add gas and fee fields to CheckTx +### Gitian -### WsConnection +- Update reproducible builds to build with Go 1.12.8 (#3902) -- Call onDisconnect +### Gitignore -## [0.12.0] - 2017-10-28 +- Add .vendor-new (#3566) -### Documentation +### Glide -- Add py-tendermint to abci-servers -- Remove mention of type byte -- Add info about tm-migrate -- Update abci example details [ci skip] -- Typo -- Smaller logo (200px) -- Comb through step by step -- Fixup abci guide +- Update go-common +- Update lock and add util scripts +- Update go-common +- Update go-wire +- Use versions where applicable +- Update for autofile fix +- More external deps locked to versions +- Update grpc version -### GroupReader#Read +### Go.mod -- Return io.EOF if file is empty +- Upgrade iavl and deps (#5657) +- Upgrade iavl and deps (#5657) -### Makefile +### Goreleaser -- Fix linter +- Lowercase binary name (#5765) +- Downcase archive and binary names (#6029) +- Downcase archive and binary names (#6029) +- Reintroduce arm64 build instructions -### Testing +### Grpcdb -- Add simple client/server test with no addr prefix -- Update for abci-cli consolidation. shell formatting +- Better readability for docs and constructor names +- Close Iterator/ReverseIterator after use (#3424) -### Blockchain/pool +### Hd -- Some comments and small changes +- Optimize ReverseBytes + add tests +- Comments and some cleanup -### Blockchain/store +### Header -- Comment about panics +- Check block protocol (#5340) -### Cli +### Http -- Clean up error handling -- Use cobra's new ExactArgs() feature +- Http-utils added after extraction -### Cmn +### Https -- Kill +- //github.com/tendermint/tendermint/pull/1128#discussion_r162799294 -### Consensus +### Improvement -- Kill process on app error +- Update TxInfo (#6529) -### Console +### Indexer -- Fix output, closes #93 -- Fix tests +- Allow indexing an event at runtime (#4466) +- Remove index filtering (#5006) +- Remove info log (#6194) +- Remove info log (#6194) -### Dummy +### Ints -- Verify pubkey is go-crypto encoded in DeliverTx. closes #51 +- Stricter numbers (#4939) -### Glide +### Json -- More external deps locked to versions +- Add Amino-compatible encoder/decoder (#4955) -### Keys +### Json2wal -- Transactions.go -> types.go +- Increase reader's buffer size (#3147) -### Linting +### Jsonrpc -- A few fixes +- Change log to debug (#5131) -### Rpc +### Keys -- Use /iavl repo in test (#713) +- Transactions.go -> types.go +- Change to []bytes (#4950) -### Rpc/client +### Keys/keybase.go -- Use compile time assertions instead of methods +- Comments and fixes -### Rpc/lib/client +### Layout -- Add jitter for exponential backoff of WSClient -- Jitter test updates and only to-be run on releases +- Add section titles (#240) -### Server +### Libs -- Use cmn.ProtocolAndAddress +- Update BitArray go docs (#2079) +- Make bitarray functions lock parameters that aren't the caller (#2081) +- Remove usage of custom Fmt, in favor of fmt.Sprintf (#2199) +- Handle SIGHUP explicitly inside autofile (#2480) +- Call Flush() before rename #2428 (#2439) +- Fix event concurrency flaw (#2519) +- Refactor & document events code (#2576) +- Let prefixIterator implements Iterator correctly (#2581) +- Test deadlock from listener removal inside callback (#2588) +- Remove useless code in group (#3504) +- Remove commented and unneeded code (#3757) +- Minor cleanup (#3794) +- Remove db from tendermint in favor of tendermint/tm-cmn (#3811) +- Remove bech32 +- Remove kv (#4874) +- Wrap mutexes for build flag with godeadlock (#5126) +- Remove most of libs/rand (#6364) +- Internalize some packages (#6366) -### SocketClient +### Libs/autofile -- Fix and test for StopForError deadlock +- Bring back loops (#2261) -### Types +### Libs/autofile/group_test -- ConsensusParams test + document the ranges/limits -- ConsensusParams: add feedback from @ebuchman and @melekes -- Unexpose valset.To/FromBytes +- Remove unnecessary logging (#2100) -## [0.11.1] - 2017-10-10 +### Libs/bits -### Documentation +- Inline defer and change order of mutexes (#5187) +- Validate BitArray in FromProto (#5720) -- Add ABCI implementations -- Added passchain to the ecosystem.rst in the applications section; -- Fix build warnings -- Add stratumn +### Libs/clist -### [docs +- Fix flaky tests (#6453) -- Typo fix] remove misplaced "the" -- Typo fix] add missing "have" +### Libs/cmn -### All +- Remove Tempfile, Tempdir, switch to ioutil variants (#2114) -- No more anonymous imports +### Libs/cmn/writefileatomic -### Autofile +- Handle file already exists gracefully (#2113) -- Ensure file is open in Sync +### Libs/common -### Blockchain +- Refactor tempfile code into its own file +- Remove deprecated PanicXXX functions (#3595) +- Remove heap.go (#3780) +- Remove unused functions (#3784) +- Refactor libs/common 01 (#4230) +- Refactor libs/common 2 (#4231) +- Refactor libs common 3 (#4232) +- Refactor libs/common 4 (#4237) +- Refactor libs/common 5 (#4240) -- Fixing reactor tests +### Libs/common/rand -### Blockchain/reactor +- Update godocs -- RespondWithNoResponseMessage for missing height +### Libs/db -### Changelog +- Add cleveldb.Stats() (#3379) +- Close batch (#3397) +- Close batch (#3397) +- Bbolt (etcd's fork of bolt) (#3610) +- Close boltDBIterator (#3627) +- Fix boltdb batching +- Conditional compilation (#3628) +- Boltdb: use slice instead of sync.Map (#3633) +- Remove deprecated `LevelDBBackend` const (#3632) +- Fix the BoltDB Batch.Delete +- Fix the BoltDB Get and Iterator -- Add genesis amount->power +### Libs/fail -### Db +- Clean up `fail.go` (#3785) -- Fix MemDB.Close +### Libs/kv -### Example +- Remove unused type KI64Pair (#4542) -- Fix func suffix +### Libs/log -### Glide +- Format []byte as hexidecimal string (uppercased) (#5960) +- Format []byte as hexidecimal string (uppercased) (#5960) +- [JSON format] include timestamp (#6174) +- [JSON format] include timestamp (bp #6174) (#6179) +- Use fmt.Fprintf directly with *bytes.Buffer to avoid unnecessary allocations (#6503) -- Update for autofile fix +### Libs/os -### Linter +- Add test case for TrapSignal (#5646) +- Remove unused aliases, add test cases (#5654) +- EnsureDir now returns IO errors and checks file type (#5852) +- EnsureDir now returns IO errors and checks file type (#5852) +- Avoid CopyFile truncating destination before checking if regular file (#6428) +- Avoid CopyFile truncating destination before checking if regular file (backport: #6428) (#6436) -- Couple fixes -- Add metalinter to Makefile & apply some fixes -- Last fixes & add to circle +### Libs/pubsub -### Linting +- Relax tx querying (#4070) -- Fixup some stuffs -- Little more fixes +### Libs/pubsub/query -### Makefile +- Add EXISTS operator (#4077) -- Remove megacheck +### Libs/rand -### Rpc +- Fix "out-of-memory" error on unexpected argument (#5215) -- Fix client websocket timeout (#687) -- Subscribe on reconnection (#689) +### Light -### Rpc/lib +- Rename lite2 to light & remove lite (#4946) +- Implement validate basic (#4916) +- Migrate to proto (#4964) +- Added more tests for pruning, initialization and bisection (#4978) +- Fix rpc calls: /block_results & /validators (#5104) +- Use bisection (not VerifyCommitTrusting) when verifying a head… (#5119) +- Return if target header is invalid (#5124) +- Update ADR 47 with light traces (#5250) +- Implement light block (#5298) +- Move dropout handling and invalid data to the provider (#5308) +- Expand on errors and docs (#5443) +- Cross-check the very first header (#5429) +- Cross-check the very first header (#5429) +- Model-based tests (#5461) +- Run detector for sequentially validating light client (#5538) +- Run detector for sequentially validating light client (#5538) (#5601) +- Make fraction parts uint64, ensuring that it is always positive (#5655) +- Make fraction parts uint64, ensuring that it is always positive (#5655) +- Ensure required header fields are present for verification (#5677) +- Minor fixes / standardising errors (#5716) +- Fix light store deadlock (#5901) +- Fix panic with RPC calls to commit and validator when height is nil (#6026) +- Fix panic with RPC calls to commit and validator when height is nil (#6040) +- Remove max retry attempts from client and add to provider (#6054) +- Remove witnesses in order of decreasing index (#6065) +- Create provider options struct (#6064) +- Improve timeout functionality (#6145) +- Improve provider handling (#6053) +- Handle too high errors correctly (#6346) +- Handle too high errors correctly (backport #6346) (#6351) +- Ensure trust level is strictly less than 1 (#6447) +- Spec alignment on verify skipping (#6474) -- Remove dead files, closes #710 +### Light/evidence -### Types/heartbeat +- Handle FLA backport (#6331) -- Test all Heartbeat functions +### Light/provider/http -### Upnp +- Fix Validators (#6022) +- Fix Validators (#6024) -- Keep a link +### Light/rpc -## [0.11.0] - 2017-09-22 +- Fix ABCIQuery (#5375) +- Fix ABCIQuery (#5375) -### Documentation +### Lint -- Give index a Tools section -- Update and clean up adr -- Use README.rst to be pulled from tendermint -- Re-add the images -- Add original README's from tools repo -- Convert from md to rst -- Update index.rst -- Move images in from tools repo -- Harmonize headers for tools docs -- Add kubes docs to mintnet doc, from tools -- Add original tm-bench/monitor files -- Organize tm-bench/monitor description -- Pull from tools on build -- Finish pull from tools -- Organize the directory, #656 -- Add software.json from website (ecosystem) -- Rename file -- Add and re-format the ecosystem from website -- Pull from tools' master branch -- Using ABCI-CLI -- Remove last section from ecosystem -- Organize install a bit better +- Remove dot import (go-common) +- S/common.Fmt/fmt.Sprintf +- S/+=1/++, remove else clauses +- Couple more fixes +- Apply deadcode/unused +- Golint issue fixes (#4258) +- Add review dog (#4652) +- Enable nolintlinter, disable on tests +- Various fixes +- Errcheck (#5091) +- Add markdown linter (#5254) +- Add errchecks (#5316) +- Enable errcheck (#5336) +- Run gofmt and goimports (#13) +- Fix lint errors (#301) -### Makefile +### Linter -- Remove redundant lint +- Couple fixes +- Add metalinter to Makefile & apply some fixes +- Last fixes & add to circle +- Address deadcode, implement incremental lint testing +- Sort through each kind and address small fixes +- Enable in CI & make deterministic +- (1/2) enable errcheck (#5064) +- Fix some bls-related linter issues (#14) +- Fix nolintlint warnings (#6257) -### Adr +### Linters -- Add 005 consensus params +- Enable scopelint (#3963) +- Modify code to pass maligned and interfacer (#3959) +- Enable stylecheck (#4153) -### Circle +### Linting -- Add metalinter to test +- Cover the basics +- Catch some errors +- Add to Makefile & do some fixes +- Next round of fixes +- Fixup some stuffs +- Little more fixes +- A few fixes +- Replace megacheck with metalinter +- Apply 'gofmt -s -w' throughout +- Apply misspell +- Apply errcheck part1 +- Apply errcheck part2 +- Moar fixes +- Few more fixes +- Remove unused variable -### Cmd +### Lite -- Dont wait for genesis. closes #562 +- MemStoreProvider GetHeightBinarySearch method + fix ValKeys.signHeaders +- < len(v) in for loop check, as per @melekes' recommendation +- TestCacheGetsBestHeight with GetByHeight and GetByHeightBinarySearch +- Comment out iavl code - TODO #1183 +- Add synchronization in lite verify (#2396) +- Follow up from #3989 (#4209) +- Modified bisection to loop (#4400) +- Add helper functions for initiating the light client (#4486) +- Fix HTTP provider error handling -### Common +### Lite/proxy -- Fingerprint comment -- WriteFileAtomic use tempfile in current dir +- Validation* tests and hardening for nil dereferences +- Consolidate some common test headers into a variable -### Consensus +### Lite2 -- Remove support for replay by #HEIGHT. closes #567 -- Use filepath for windows compatibility, closes #595 +- Light client with weak subjectivity (#3989) +- Move AutoClient into Client (#4326) +- Improve auto update (#4334) +- Add Start, TrustedValidatorSet funcs (#4337) +- Rename alternative providers to witnesses (#4344) +- Refactor cleanup() (#4343) +- Batch save & delete operations in DB store (#4345) +- Panic if witness is on another chain (#4356) +- Make witnesses mandatory (#4358) +- Replace primary provider with alternative when unavailable (#4354) +- Fetch missing headers (#4362) +- Validate TrustOptions, add NewClientFromTrustedStore (#4374) +- Return if there are no headers in RemoveNoLongerTrustedHeaders (#4378) +- Manage witness dropout (#4380) +- Improve string output of all existing providers (#4387) +- Modified sequence method to match bisection (#4403) +- Disconnect from bad nodes (#4388) +- Divide verify functions (#4412) +- Return already verified headers and verify earlier headers (#4428) +- Don't save intermediate headers (#4452) +- Store current validator set (#4472) +- Cross-check first header and update tests (#4471) +- Remove expiration checks on functions that don't require them (#4477) +- Prune-headers (#4478) +- Return height as 2nd return param in TrustedValidatorSet (#4479) +- Actually run example tests + clock drift (#4487) +- Fix tendermint lite sub command (#4505) +- Remove auto update (#4535) +- Indicate success/failure of Update (#4536) +- Replace primary when providing invalid header (#4523) +- Add benchmarking tests (#4514) +- Cache headers in bisection (#4562) +- Use bisection for some of backward verification (#4575) +- Make maxClockDrift an option (#4616) +- Prevent falsely returned double voting error (#4620) +- Default to http scheme in provider.New (#4649) +- Verify ConsensusHash in rpc client +- Fix pivot height during bisection (#4850) +- Correctly return the results of the "latest" block (#4931) +- Allow bigger requests to LC proxy (#4930) +- Check header w/ witnesses only when doing bisection (#4929) +- Compare header with witnesses in parallel (#4935) -### Lint +### Lite2/http -- Couple more fixes +- Fix provider test by increasing the block retention value (#4890) -### Linting +### Lite2/rpc -- Cover the basics -- Catch some errors -- Add to Makefile & do some fixes -- Next round of fixes +- Verify block results and validators (#4703) -### Metalinter +### Localnet -- Add linter to Makefile like tendermint +- Fix $LOG variable (#3423) +- Fix node starting issue with --proxy-app flag (#5803) +- Expose 6060 (pprof) and 9090 (prometheus) on node0 +- Use 27000 port for prometheus (#5811) +- Fix localnet by excluding self from persistent peers list (#6209) -### Node +### Log -- NewNode takes DBProvider and GenDocProvider +- Move some Info to Debug +- Tm -> TM -### P2p +### Logger -- Fully test PeerSet, more docs, parallelize PeerSet tests -- Minor comment fixes -- Delete unused and untested *IPRangeCount functions -- Sw.AddPeer -> sw.addPeer -- Allow listener with no external connection +- Refactor Tendermint logger by using zerolog (#6534) -### Readme +### Logging -- Re-organize & update docs links +- Print string instead of callback (#6177) +- Print string instead of callback (#6178) +- Shorten precommit log message (#6270) +- Shorten precommit log message (#6270) (#6274) -### State +### Logs -- Minor comment fixes +- Cleanup (#6198) +- Cleanup (#6198) -### Types +### Make -- Remove redundant version file -- PrivVal.Sign returns an error -- More . -> cmn -- Comments +- Dont use -v on go test +- Update protoc_abci use of awk +- Add back tools cmd (#4281) +- Remove sentry setup cmds (#4383) -## [0.10.4] - 2017-09-05 +### Makefile -### Documentation +- Remove megacheck +- Fix protoc_libs +- Add `make check_dep` and remove `make ensure_deps` (#2055) +- Lint flags +- Fix build-docker-localnode target (#3122) +- Minor cleanup (#3994) +- Place phony markers after targets (#4408) +- Add options for other DBs (#5357) +- Remove call to tools (#6104) -- Add conf.py -- Test -- Add sphinx Makefile & requirements -- Consolidate ADRs -- Convert markdown to rst -- Organize the specification -- Rpc docs to be slate, see #526, #629 -- Use maxdepth 2 for spec -- Port website's intro for rtd -- Rst-ify the intro -- Fix image links -- Link fixes -- Clean a bunch of stuff up -- Logo, add readme, fixes -- Pretty-fy +### Markdownlint -### Cmd +- Ignore .github directory (#5351) -- Don't load config for version command. closes #620 +### Maverick -### Cmd/tendermint/commands +- Reduce some duplication (#6052) +- Reduce some duplication (#6052) -- Update ParseConfig doc +### Mempool -### Consensus +- Add GetState() +- Remove bad txs from cacheMap +- Don't remove committed txs from cache +- Comments +- Reactor test +- Implement Mempool.CloseWAL +- Return error on cached txs +- Assert -> require in test +- Remove Peer interface. use p2p.Peer +- Cfg.CacheSize and expose InitWAL +- Fix cache_size==0. closes #1761 +- Log hashes, not whole tx +- Chan bool -> chan struct{} +- Keep cache hashmap and linked list in sync (#2188) +- Store txs by hash inside of cache (#2234) +- Filter new txs if they have insufficient gas (#2385) +- ErrPreCheck and more log info (#2724) +- Print postCheck error (#2762) +- Add txs from Update to cache +- Add a comment and missing changelog entry (#2996) +- NotifyTxsAvailable if there're txs left, but recheck=false (#2991) +- Move tx to back, not front (#3036) +- Move tx to back, not front (#3036) +- Enforce maxMsgSize limit in CheckTx (#3168) +- Correct args order in the log msg (#3221) +- Fix broadcastTxRoutine leak (#3478) +- Add a safety check, write tests for mempoolIDs (#3487) +- Move interface into mempool package (#3524) +- Remove only valid (Code==0) txs on Update (#3625) +- Make max_msg_bytes configurable (#3826) +- Make `max_tx_bytes` configurable instead of `max_msg_bytes` (#3877) +- Fix memory loading error on 32-bit machines (#3969) +- Moved TxInfo parameter into Mempool.CheckTx() (#4083) +- Reserve IDs in InitPeer instead of AddPeer +- Move mock into mempool directory +- Allow ReapX and CheckTx functions to run in parallel +- Do not launch broadcastTxRoutine if Broadcast is off +- Make it clear overwriting of pre/postCheck filters is intent… (#5054) +- Use oneof (#5063) +- Add RemoveTxByKey function (#5066) +- Return an error when WAL fails (#5292) +- Batch txs per peer in broadcastTxRoutine (#5321) +- Fix nil pointer dereference (#5412) +- Fix nil pointer dereference (#5412) +- Length prefix txs when getting them from mempool (#5483) +- Introduce KeepInvalidTxsInCache config option (#5813) +- Disable MaxBatchBytes (#5800) +- Introduce KeepInvalidTxsInCache config option (#5813) +- Disable MaxBatchBytes (#5800) +- P2p refactor (#5919) +- Fix reactor tests (#5967) +- Fix TestReactorNoBroadcastToSender (#5984) +- Fix mempool tests timeout (#5988) +- Don't return an error on checktx with the same tx (#6199) +- Remove vestigal mempool wal (#6396) +- Benchmark improvements (#6418) +- Add duplicate transaction and parallel checktx benchmarks (#6419) +- V1 implementation (#6466) -- Recover panics in receive routine +### Mempool/reactor -### Db +- Fix reactor broadcast test (#5362) -- Fix memdb iterator +### Mempool/rpc -### Mempool +- Log grooming (#6201) +- Log grooming (bp #6201) (#6203) -- Reactor test +### Mergify -### P2p +- Remove unnecessary conditions (#4501) +- Use strict merges (#4502) +- Use PR title and body for squash merge commit (#4669) -- Put maxMsgPacketPayloadSize, recvRate, sendRate in config -- Test fix +### Merkle -### Readme +- Go-common -> tmlibs +- Remove go-wire dep by copying EncodeByteSlice +- Remove unused funcs. unexport simplemap. improv docs +- Use amino for byteslice encoding +- Return hashes for empty merkle trees (#5193) -- Update install instruction (#100) +### Metalinter -### Rpc +- Add linter to Makefile like tendermint -- Typo fixes -- Comments -- Historical validators -- Block and Commit take pointers; return latest on nil +### Metrics -### Rtd +- Add additional metrics to p2p and consensus (#2425) +- Only increase last_signed_height if commitSig for block (#4283) +- Switch from gauge to histogram (#5326) +- Change blocksize to a histogram (#6549) -- Build fixes +### Mocks -### State +- Update with 2.2.1 (#5294) -- Comments; use wire.BinaryBytes -- Persist validators +### Mod -## [0.10.3] - 2017-08-10 +- Go mod tidy -### Documentation +### Nano -- Tons of minor improvements +- Update comments -### Fix +### Networks -- Ansible playbook to deploy tendermint +- Update readmes -### README +### Networks/remote -- Add godoc instead of tedious MD regeneration +- Turn on GO111MODULE and use git clone instead of go get (#4203) -### Cmd +### Node -- --consensus.no_empty_blocks +- ConfigFromViper +- NewNode takes DBProvider and GenDocProvider +- Clean makeNodeInfo +- Remove dup code from rebase +- Remove commented out trustMetric +- Respond always to OS interrupts (#2479) +- Refactor privValidator ext client code & tests (#2895) +- Refactor node.NewNode (#3456) +- Fix a bug where `nil` is recorded as node's address (#3740) +- Run whole func in goroutine, not just logger.Error fn (#3743) +- Allow registration of custom reactors while creating node (#3771) +- Use GRPCMaxOpenConnections when creating the gRPC server (#4349) +- Don't attempt fast sync when InitChain sets self as only validator (#5211) +- Fix genesis state propagation to state sync (#5302) +- Improve test coverage on proposal block (#5748) +- Feature flag for legacy p2p support (#6056) +- Implement tendermint modes (#6241) +- Remove mode defaults. Make node mode explicit (#6282) +- Use db provider instead of mem db (#6362) +- Cleanup pex initialization (#6467) +- Change package interface (#6540) -### Common +### Node/state -- ProtocolAndAddress +- Graceful shutdown in the consensus state (#6370) -### Common/IsDirEmpty +### Node/tests -- Do not mask non-existance errors +- Clean up use of genesis doc and surrounding tests (#6554) -### Consensus +### Note -- More comments -- IsProposer func -- Remove rs from handleMsg -- Log ProposalHeartbeat msg -- Test proposal heartbeat +- Add nondeterministic note to events (#6220) +- Add nondeterministic note to events (#6220) (#6225) -### Hd +### Os -- Optimize ReverseBytes + add tests +- Simplify EnsureDir() (#5871) +- Simplify EnsureDir() (#5871) -### Http +### P2p -- Http-utils added after extraction +- Push handshake containing chainId for early disconnect. Closes #12 +- Fix switch_test to account for handshake +- Broadcast spawns goroutine to Send on each peer and times out after 10 seconds. Closes #7 +- Fix switch test for Broadcast returning success channel +- Use cmn instead of . +- Fix race by peer.Start() before peers.Add() +- Fix test +- Sw.peers.List() is empty in sw.OnStart +- Put maxMsgPacketPayloadSize, recvRate, sendRate in config +- Test fix +- Fully test PeerSet, more docs, parallelize PeerSet tests +- Minor comment fixes +- Delete unused and untested *IPRangeCount functions +- Sw.AddPeer -> sw.addPeer +- Allow listener with no external connection +- Update readme, some minor things +- Some fixes re @odeke-em issues #813,#816,#817 +- Comment on the wg.Add before go saveRoutine() +- Peer should respect errors from SetDeadline +- Use fake net.Pipe since only >=Go1.10 implements SetDeadline +- NetPipe for peer.ID +- Add ID to NetAddress and use for AddrBook +- Support addr format ID@IP:PORT +- Authenticate peer ID +- Remove deprecated Dockerfile +- Seed mode fixes from rebase and review +- Seed disconnects after sending addrs +- Add back lost func +- Use sub dirs +- Tmconn->conn and types->p2p +- Use conn.Close when peer is nil +- Notes about ListenAddr +- AddrBook.Save() on DialPeersAsync +- Add Channels to NodeInfo and don't send for unknown channels +- Fix tests for required channels +- Fix break in double loop +- Introduce peerConn to simplify peer creation (#1226) +- Keep reference to connections in test peer +- Persistent - redial if first dial fails +- Switch - reconnect only if persistent +- Don't use dial funcn in peerconfig +- NodeInfo.Channels is HexBytes +- Dont require minor versions to match in handshake +- Explicit netaddress errors +- Some comments and a log line +- MinNumOutboundPeers. Closes #1501 +- Change some logs from Error to Debug. #1476 +- Small lint +- Prevent connections from same ip +- External address +- Reject addrs coming from private peers (#2032) +- Fix conn leak. part of #2046 +- Connect to peers from a seed node immediately (#2115) +- Add test vectors for deriving secrets (#2120) +- Integrate new Transport +- Add RPCAddress to NodeInfoOther.String() (#2442) +- NodeInfo is an interface; General cleanup (#2556) +- Restore OriginalAddr (#2668) +- Peer-id -> peer_id (#2771) +- AddressBook requires addresses to have IDs; Do not close conn immediately after sending pex addrs in seed mode (#2797) +- Re-check after sleeps (#2664) +- Log 'Send failed' on Debug (#2857) +- NewMultiplexTransport takes an MConnConfig (#2869) +- Panic on transport error (#2968) +- Fix peer count mismatch #2332 (#2969) +- Set MConnection#created during init (#2990) +- File descriptor leaks (#3150) +- Fix infinite loop in addrbook (#3232) +- Check secret conn id matches dialed id (#3321) +- Fix comment in secret connection (#3348) +- Do not panic when filter times out (#3384) +- Refactor GetSelectionWithBias for addressbook (#3475) +- Seed mode refactoring (#3011) +- Do not log err if peer is private (#3474) +- (seed mode) limit the number of attempts to connect to a peer (#3573) +- Session should terminate on nonce wrapping (#3531) (#3609) +- Make persistent prop independent of conn direction (#3593) +- PeerBehaviour implementation (#3539) (#3552) +- Peer state init too late and pex message too soon (#3634) +- Per channel metrics (#3666) (#3677) +- Remove NewNetAddressStringWithOptionalID (#3711) +- Peerbehaviour follow up (#3653) (#3663) +- Refactor Switch#OnStop (#3729) +- Dial addrs which came from seed instead of calling ensurePeers (#3762) +- Extract ID validation into a separate func (#3754) +- Fix error logging for connection stop (#3824) +- Do not write 'Couldn't connect to any seeds' if there are no seeds (#3834) +- Only allow ed25519 pubkeys when connecting +- Log as debug msg when address dialing is already connected (#4082) +- Make SecretConnection non-malleable (#3668) +- Add `unconditional_peer_ids` and `persistent_peers_max_dial_period` (#4176) +- Extract maxBackoffDurationForPeer func and remove 1 test (#4218) +- Merlin based malleability fixes (#72) +- Use curve25519.X25519() instead of ScalarMult() (#4449) +- PEX message abuse should ban as well as disconnect (#4621) +- Limit the number of incoming connections +- Set RecvMessageCapacity to maxMsgSize in all reactors +- Return err on `signChallenge` (#4795) +- Return masked IP (not the actual IP) in addrbook#groupKey +- TestTransportMultiplexAcceptNonBlocking and TestTransportMultiplexConnFilterTimeout (#4868) +- Remove nil guard (#4901) +- Expose SaveAs on NodeKey (#4981) +- Proto leftover (#4995) +- Remove data race bug in netaddr stringer (#5048) +- Ensure peers can't change IP of known nodes (#5136) +- Reduce log severity (#5338) +- Remove p2p.FuzzedConnection and its config settings (#5598) +- Remove unused MakePoWTarget() (#5684) +- State sync reactor refactor (#5671) +- Implement new Transport interface (#5791) +- Remove `NodeInfo` interface and rename `DefaultNodeInfo` struct (#5799) +- Do not format raw msg bytes +- Update frame size (#235) +- Fix data race in MakeSwitch test helper (#5810) +- Add MemoryTransport, an in-memory transport for testing (#5827) +- Rename ID to NodeID +- Add NodeID.Validate(), replaces validateID() +- Replace PeerID with NodeID +- Rename NodeInfo.DefaultNodeID to NodeID +- Rename PubKeyToID to NodeIDFromPubKey +- Fix IPv6 address handling in new transport API (#5853) +- Fix MConnection inbound traffic statistics and rate limiting (#5868) +- Fix MConnection inbound traffic statistics and rate limiting (#5868) (#5870) +- Add Router prototype (#5831) +- Add prototype peer lifecycle manager (#5882) +- Revise shim log levels (#5940) +- Improve PeerManager prototype (#5936) +- Make PeerManager.DialNext() and EvictNext() block (#5947) +- Improve peerStore prototype (#5954) +- Simplify PeerManager upgrade logic (#5962) +- Add PeerManager.Advertise() (#5957) +- Add prototype PEX reactor for new stack (#5971) +- Resolve PEX addresses in PEX reactor (#5980) +- Use stopCtx when dialing peers in Router (#5983) +- Clean up new Transport infrastructure (#6017) +- Tighten up and test Transport API (#6020) +- Add tests and fix bugs for `NodeAddress` and `NodeID` (#6021) +- Tighten up and test PeerManager (#6034) +- Tighten up Router and add tests (#6044) +- Enable scheme-less parsing of IPv6 strings (#6158) +- Links (#268) +- Revised router message scheduling (#6126) +- Metrics (#6278) +- Simple peer scoring (#6277) +- Rate-limit incoming connections by IP (#6286) +- Fix "Unknown Channel" bug on CustomReactors (#6297) +- Connect max inbound peers configuration to new router (#6296) +- Filter peers by IP address and ID (#6300) +- Improve router test stability (#6310) +- Extend e2e tests for new p2p framework (#6323) +- Make peer scoring test more resilient (#6322) +- Fix using custom channels (#6339) +- Minor cleanup + update router options (#6353) +- Fix network update test (#6361) +- Update state sync messages for reverse sync (#285) +- Improve PEX reactor (#6305) +- Support private peer IDs in new p2p stack (#6409) +- Wire pex v2 reactor to router (#6407) +- Add channel descriptors to open channel (#6440) +- Revert change to routePeer (#6475) +- Limit rate of dialing new peers (#6485) +- Renames for reactors and routing layer internal moves (#6547) -### Mempool +### P2p/addrbook - Comments +- AddrNew/Old -> bucketsNew/Old +- Simplify PickAddress +- AddAddress returns error. more defensive PickAddress +- Add non-terminating test +- Fix addToOldBucket +- Some comments -### P2p - -- Sw.peers.List() is empty in sw.OnStart - -### Rpc - -- Move grpc_test from test/ to grpc/ - -### Scripts/txs - -- Add 0x and randomness - -### Types - -- Block comments - -### Ws - -- Small comment - -## [0.10.2] - 2017-07-10 - -### Documentation - -- Add docs from website - -### Consensus - -- Improve logging for conflicting votes -- Better logging - -### Contributing - -- Use full version from site - -### P2p +### P2p/conn -- Fix test +- Better handling for some stop conditions +- FlushStop. Use in pex. Closes #2092 (#2802) +- Don't hold stopMtx while waiting (#3254) +- Add Bufferpool (#3664) +- Simplify secret connection handshake malleability fix with merlin (#4185) +- Add a test for MakeSecretConnection (#4829) +- Migrate to Protobuf (#4990) +- Check for channel id overflow before processing receive msg (#6522) +- Check for channel id overflow before processing receive msg (backport #6522) (#6528) -## [0.10.1] - 2017-06-28 +### P2p/connetion -### Documentation +- Remove panics, test error cases -- Update for 0.10.0 [ci skip]" +### P2p/pex -### Ansible +- Simplify ensurePeers +- Wait to connect to all peers in reactor test +- Minor cleanup and comments +- Some addrbook fixes +- Allow configured seed nodes to not be resolvable over DNS (#2129) +- Fix mismatch between dialseeds and checkseeds. (#2151) +- Consult seeds in crawlPeersRoutine (#3647) +- Fix DATA RACE +- Migrate to Protobuf (#4973) +- Fix flaky tests (#5733) +- Cleanup to pex internals and peerManager interface (#6476) +- Reuse hash.Hasher per addrbook for speed (#6509) -- Update tendermint and basecoin versions -- Added option to provide accounts for genesis generation, terraform: added option to secure DigitalOcean servers, devops: added DNS name creation to tendermint terraform +### P2p/secret_connection -### Blockchain +- Switch salsa usage to hkdf + chacha -- Explain isCaughtUp logic +### P2p/test -### Rpc +- Wait for listener to get ready (#4881) +- Fix Switch test race condition (#4893) -- SetWriteDeadline for ws ping. fixes #553 +### P2p/trust -### Rpc/lib +- Split into multiple files and improve function order +- Lock on Copy() +- Remove extra channels +- Fix nil pointer error on TrustMetric Copy() (#1819) -- Test tcp and unix -- Set logger on ws conn +### P2p/trustmetric -## [0.10.0] - 2017-06-03 +- Non-deterministic test -### Makefile +### Params -- Add megacheck & some additional fixes +- Remove block timeiota (#248) +- Remove blockTimeIota (#5987) -### Core +### Pex -- Apply megacheck vet tool (unused, gosimple, staticcheck) +- Dial seeds when address book needs more addresses (#3603) +- Various follow-ups (#3605) +- Use highwayhash for pex bucket +- Fix send requests too often test (#6437) -### Dist +### Premerge2 -- Dont mkdir in container -- Dont mkdir in container +- Rpc -> rpc/tendermint -## [0.10.0-rc1] - 2017-05-18 +### Priv-val -### BROKEN +- Fix timestamp for signing things that only differ by timestamp -- Attempt to replace go-wire.JSON with json.Unmarshall in rpc +### PrivVal -### CHANGELOG +- Improve SocketClient network code (#1315) -- Update release date -- Update release date +### Privval -### Testing +- Switch to amino encoding in SignBytes (#2459) +- Set deadline in readMsg (#2548) +- Add IPCPV and fix SocketPV (#2568) +- Fixes from review (#3126) +- Improve Remote Signer implementation (#3351) +- Increase timeout to mitigate non-deterministic test failure (#3580) +- Remove misplaced debug statement (#4103) +- Add `SignerDialerEndpointRetryWaitInterval` option (#4115) +- Return error on getpubkey (#4534) +- Remove deprecated `OldFilePV` +- Retry GetPubKey/SignVote/SignProposal N times before +- Migrate to protobuf (#4985) +- If remote signer errors, don't retry (#5140) +- Add chainID to requests (#5239) +- Allow passing options to NewSignerDialerEndpoint (#5434) +- Allow passing options to NewSignerDialerEndpoint (#5434) (#5437) +- Fix ping message encoding (#5441) +- Fix ping message encoding (#5442) +- Make response values non nullable (#5583) +- Make response values non nullable (#5583) +- Increase read/write timeout to 5s and calculate ping interval based on it (#5638) +- Reset pingTimer to avoid sending unnecessary pings (#5642) +- Increase read/write timeout to 5s and calculate ping interva… (#5666) +- Reset pingTimer to avoid sending unnecessary pings (#5642) (#5668) +- Duplicate SecretConnection from p2p package (#5672) +- Add grpc (#5725) +- Query validator key (#5876) +- Return errors on loadFilePV (#6185) +- Add ctx to privval interface (#6240) -- Jq .result[1] -> jq .result -- P2p.seeds and p2p.pex +### Prometheus/metrics -### Cli +- Three new metrics for consensus (#4263) -- Support --root and --home -- More descriptive naming -- Viper.Set(HomeFlag, rootDir) +### Proto -### Cmd +- Add buf and protogen script (#4369) +- Minor linting to proto files (#4386) +- Use docker to generate stubs (#4615) +- Bring over proto types & msgs (#4718) +- Regenerate proto (#4730) +- Remove test files +- Add proto files for ibc unblock (#4853) +- Add more to/from (#4956) +- Change to use gogofaster (#4957) +- Remove amino proto tests (#4982) +- Move keys to oneof (#4983) +- Leftover amino (#4986) +- Move all proto dirs to /proto (#5012) +- Folder structure adhere to buf (#5025) +- Increase lint level to basic and fix lint warnings (#5096) +- Improve enums (#5099) +- Reorganize Protobuf schemas (#5102) +- Minor cleanups (#5105) +- Change type + a cleanup (#5107) +- Add a comment for Validator#Address (#5144) +- Buf for everything (#5650) +- Bump gogoproto (1.3.2) (#5886) +- Bump gogoproto (1.3.2) (#5886) +- Docker deployment (#5931) +- Seperate native and proto types (#5994) +- Add files (#246) +- Docker deployment (#5931) +- Modify height int64 to uint64 (#253) -- Fixes for new config -- Query params are flags +### Proto/p2p -### Config +- Rename PEX messages and fields (#5974) -- Pex_reactor -> pex +### Proto/tendermint/abci -### Consensus +- Fix Request oneof numbers (#5116) -- Comment about test_data [ci skip] -- Fix tests +### Protoc -### Ebuchman +- "//nolint: gas" directive after pb generation (#164) -- Added some demos on how to parse unknown types +### Proxy -### Log +- Typed app conns +- NewAppConns takes a NewTMSPClient func +- Wrap NewTMSPClient in ClientCreator +- Nil -> nilapp +- Remove Handshaker from proxy pkg (#2437) +- Improve ABCI app connection handling (#5078) -- Tm -> TM +### Pubsub -### Node +- Comments +- Fixes after Ethan's review (#3212) -- ConfigFromViper +### Reactors -### P2p +- Omit incoming message bytes from reactor logs (#5743) +- Omit incoming message bytes from reactor logs (#5743) +- Remove bcv1 (#241) -- Use cmn instead of . -- Fix race by peer.Start() before peers.Add() +### Reactors/pex -### Rpc +- Specify hash function (#94) +- Masked IP is used as group key (#96) -- Repsonse types use data.Bytes -- Response types use Result instead of pb Response -- Fix tests -- Decode args without wire -- Cleanup some comments [ci skip] -- Fix tests +### Readme -### Rpc/lib +- Js-tmsp -> js-abci +- Update install instruction (#100) +- Re-organize & update docs links +- Fix link to original paper (#4391) +- Add discord to readme (#4533) +- Add badge for git tests (#4732) +- Add source graph badge (#4980) +- Remover circleci badge (#5729) +- Add links to job post (#5785) +- Update discord link (#5795) +- Add security mailing list (#5916) +- Add security mailing list (#5916) +- Cleanup (#262) -- No Result wrapper +### Relase_notes -### Types +- Add release notes for v0.34.0 -- []byte -> data.Bytes -- Result and Validator use data.Bytes -- Methods convert pb types to use data.Bytes +### Release -## [0.9.2] - 2017-04-26 +- Minor release 0.33.1 (#4401) -### Documentation +### Remotedb -- Go-events -> tmlibs/events +- A client package implementing the db.DB interface -### Testing +### Removal -- Test_libs all use Makefile +- Remove build folder (#4565) -### Commands +### Repeat_timer -- Run -> RunE +- Drain channel in Stop; done -> wg -### Merkle +### Replay -- Go-common -> tmlibs +- Larger read buffer +- More tests +- Ensure cs.height and wal.height match -### Premerge2 +### Rfc -- Rpc -> rpc/tendermint +- Add end-to-end testing RFC (#5337) ### Rpc +- Add status and net info +- Return tx hash, creates contract, contract addr in broadcast (required some helper functions). Closes #30 +- Give each call a dedicated Response struct, add basic test +- Separate out golang API into rpc/core +- Generalized rpc using reflection on funcs and params +- Fixes for better type handlings, explicit error field in response, more tests +- Cleanup, more tests, working http and jsonrpc +- Fix tests to count mempool; copy responses to avoid data races +- Return (*Response, error) for all functions +- GetStorage and Call methods. Tests. +- Decrement mempool count after block mined +- GetStorage and Call methods. Tests. +- Decrement mempool count after block mined +- Auto generated client methods using rpc-gen +- Myriad little fixes +- Cleanup, use client for tests, rpc-gen fixes +- Websockets +- Tests cleanup, use client lib for JSONRPC testing too +- Test CallCode and Call +- Fix memcount error in tests +- Use gorilla websockets +- First successful websocket event subscription +- Websocket events testing +- Use NewBlock event in rpc tests +- Cleanup tests and test contract calls +- Genesis route +- Remove unecessary response wrappers +- Add app_hash to /status +- TMResult and TMEventData +- Test cleanup +- Unsafe_set_config +- Num_unconfirmed_txs (avoid sending txs back) +- Start/stop cpu profiler +- Unsafe_write_heap_profile +- Broadcast tests. closes #219 +- Unsafe_flush_mempool. closes #190 +- Use interfaces for pipe +- Remove restriction on DialSeeds +- /commit +- Fix SeenCommit condition +- Dial_seeds msg. addresses #403 +- Better arg validation for /tx +- /tx allows height+hash - Use HTTP error codes +- Repsonse types use data.Bytes +- Response types use Result instead of pb Response +- Fix tests +- Decode args without wire +- Cleanup some comments [ci skip] +- Fix tests +- SetWriteDeadline for ws ping. fixes #553 +- Move grpc_test from test/ to grpc/ +- Typo fixes +- Comments +- Historical validators +- Block and Commit take pointers; return latest on nil +- Fix client websocket timeout (#687) +- Subscribe on reconnection (#689) +- Use /iavl repo in test (#713) +- Wait for rpc servers to be available in tests +- Fix tests +- Make time human readable. closes #926 +- GetHeight helper function +- Fix getHeight +- Lower_case peer_round_states, use a list, add the node_address +- Docs/comments +- Add n_peers to /net_info +- Add voting power totals to vote bitarrays +- /consensus_state for simplified output +- Break up long lines +- Test Validator retrevial timeout +- Fix /blockchain OOM #2049 +- Validate height in abci_query +- Log error when we timeout getting validators from consensus (#2045) +- Improve slate for Jenkins (#2070) +- Transform /status result.node_info.other into map (#2417) +- Add /consensus_params endpoint (#2415) +- Fix tx.height range queries (#2899) +- Include peer's remote IP in `/net_info` (#3052) +- Client disable compression (#3430) +- Support tls rpc (#3469) +- Fix response time grow over time (#3537) +- Add support for batched requests/responses (#3534) +- /dial_peers: only mark peers as persistent if flag is on (#3620) +- Use Wrap instead of Errorf error (#3686) +- Make max_body_bytes and max_header_bytes configurable (#3818) +- /broadcast_evidence (#3481) +- Return err if page is incorrect (less than 0 or greater than tot… (#3825) +- Protect subscription access from race condition (#3910) +- Allow using a custom http client in rpc client (#3779) +- Remove godoc comments in favor of swagger docs (#4126) +- /block_results fix docs + write test + restructure response (#3615) +- Remove duplication of data in `ResultBlock ` (#3856) +- Add pagination to /validators (#3993) +- Update swagger docs to openapi 3.0 (#4223) +- Added proposer in consensus_state (#4250) +- Pass `outCapacity` to `eventBus#Subscribe` when subscribing using a l… (#4279) +- Add method block_by_hash (#4257) +- Modify New* functions to return error (#4274) +- Check nil blockmeta (#4320) +- PR#4320 follow up (#4323) +- Add sort_order option to tx_search (#4342) +- Fix issue with multiple subscriptions (#4406) +- Fix tx_search pagination with ordered results (#4437) +- Fix txsearch tests (#4438) +- Fix TxSearch test nits (#4446) +- Stop txSearch result processing if context is done (#4418) +- Keep the original subscription "id" field when new RPCs come in (#4493) +- Remove BlockStoreRPC in favor of BlockStore (#4510) +- Create buffered subscriptions on /subscribe (#4521) +- Fix panic when `Subscribe` is called (#4570) +- Add codespace to ResultBroadcastTx (#4611) +- Handle panics during panic handling +- Use a struct to wrap all the global objects +- Refactor lib folder (#4836) +- Increase waitForEventTimeout to 8 seconds (#4917) +- Add BlockByHash to Client (#4923) +- Replace Amino with new JSON encoder (#4968) +- Support EXISTS operator in /tx_search query (#4979) +- Add /check_tx endpoint (#5017) +- Move docs from doc.go to swagger.yaml (#5044) +- /broadcast_evidence nil evidence check (#5109) +- Make gasWanted/Used snake_case (#5137) +- Add private & unconditional to /dial_peer (#5293) +- Fix openapi spec syntax error (#5358) +- Fix test data races (#5363) +- Revert JSON-RPC/WebSocket response batching (#5378) +- Fix content-type header (#5661) +- Fix content-type header +- Standardize error codes (#6019) +- Change default sorting to desc for `/tx_search` results (#6168) +- Index block events to support block event queries (#6226) +- Index block events to support block event queries (bp #6226) (#6261) +- Define spec for RPC (#276) +- Remove global environment (#6426) +- Clean up client global state in tests (#6438) +- Add chunked rpc interface (#6445) +- Clarify timestamps (#304) +- Add chunked genesis endpoint (#299) +- Decouple test fixtures from node implementation (#6533) -## [0.9.1] - 2017-04-21 - -### Testing - -- Check err on cmd.Wait - -### Blockpool - -- Fix removePeer bug - -### Changelog - -- Add prehistory - -### Cli - -- Testnet cmd inits files for testnet -- ResetAll doesnt depend on cobra - -### Consensus - -- Timeout on replayLastBlock - -### Consensus/replay - -- Remove timeout - -### Consensus/wal +### Rpc/client -- #HEIGHT -> #ENDHEIGHT +- Use compile time assertions instead of methods +- Include NetworkClient interface into Client interface (#3473) +- Add basic authentication (#4291) +- Split out client packages (#4628) +- Take context as first param (#5347) -### Readme +### Rpc/client/http -- Js-tmsp -> js-abci +- Log error (#5182) +- Do not drop events even if the `out` channel is full (#6163) +- Drop endpoint arg from New and add WSOptions (#6176) -### Rpc +### Rpc/core -- Dial_seeds msg. addresses #403 -- Better arg validation for /tx -- /tx allows height+hash +- Ints are strings in responses, closes #1896 +- Do not lock ConsensusState mutex +- Return an error if `page=0` (#4947) +- More docs and a test for /blockchain endpoint (#5417) ### Rpc/core/types - UintX -> int -### Rpc/test - -- /tx -- Restore txindexer after setting null - -### Secp256k1 - -- Use compressed pubkey, bitcoin-style address - -### State - -- ABCIResponses, s.Save() in ApplyBlock - -### Wal - -- Gr.Close() - -## [0.9.0] - 2017-03-06 - -### Client - -- DumpConsensusState, not DialSeeds. Cleanup - -### Makefile - -- Add gmt and lint -- Add 'build' target +### Rpc/jsonrpc -### Query +- Unmarshal RPCRequest correctly (#6191) +- Unmarshal RPCRequest correctly (bp #6191) (#6193) -- Height -> LastHeight -- LastHeight -> Height :) +### Rpc/jsonrpc/server -### Testing +- Merge WriteRPCResponseHTTP and WriteRPCResponseAr (#5141) +- Ws server optimizations (#5312) +- Return an error in WriteRPCResponseHTTP(Error) (#6204) +- Return an error in WriteRPCResponseHTTP(Error) (bp #6204) (#6230) -- Unexport internal function. -- Update docker to 1.7.4 -- Dont use log files on circle -- Shellcheck -- Forward CIRCLECI var through docker -- Only use syslog on circle -- More logging -- Wait for tendermint proc -- Add extra kill after fail index triggered -- Wait for ports to be freed -- Use --pex on restart -- Install abci apps first -- Fix docker and apps -- Dial_seeds -- Docker exec doesnt work on circle -- Bump sleep to 5 for bound ports release -- Better client naming -- Use unix socket for rpc -- Shellcheck +### Rpc/lib -### Update +- No Result wrapper +- Test tcp and unix +- Set logger on ws conn +- Remove dead files, closes #710 +- Write a test for TLS server (#3703) +- Fix RPC client, which was previously resolving https protocol to http (#4131) -- JTMSP -> jABCI +### Rpc/lib/client -### Cleanup +- Add jitter for exponential backoff of WSClient +- Jitter test updates and only to-be run on releases -- Replace common.Exit with log.Crit or log.Fatal +### Rpc/lib/server -### Consensus +- Add handlers tests +- Update with @melekes and @ebuchman feedback +- Separate out Notifications test +- Minor changes to test +- Add test for int parsing -- Nice error msg if ApplyBlock fails -- Handshake replay test using wal -- More handshake replay tests -- Some more informative logging +### Rpc/lib/types -### Fmt +- RPCResponse.Result is not a pointer -- Run 'make fmt' +### Rpc/libs/doc -### Glide +- Formatting for godoc, closes #2420 -- Use versions where applicable +### Rpc/net_info -### Lint +- Change RemoteIP type from net.IP to String (#3309) -- Remove dot import (go-common) -- S/common.Fmt/fmt.Sprintf -- S/+=1/++, remove else clauses +### Rpc/swagger -### Make +- Add numtxs to blockmeta (#4139) -- Dont use -v on go test +### Rpc/test -### Repeat_timer +- /tx +- Restore txindexer after setting null +- Fix test race in TestAppCalls (#4894) +- Wait for mempool CheckTx callback (#4908) +- Wait for subscription in TestTxEventsSentWithBroadcastTxAsync (#4907) -- Drain channel in Stop; done -> wg +### Rpc/tests -### Rpc +- Panic dont t.Fatal. use random txs for broadcast -- /commit -- Fix SeenCommit condition +### Rpc/wsevents -### State +- Small cleanup -- Remove StateIntermediate +### Rtd -### Types +- Build fixes -- Use mtx on PartSet.String() -- ValSet LastProposer->Proposer and Proposer()->GetProposer() +### Scripts -## [0.8.0] - 2017-01-13 +- Quickest/easiest fresh install +- Remove install scripts (#4242) +- Move build.sh into scripts +- Make linkifier default to 'pull' rather than 'issue' (#5689) -### Connect2Switches +### Scripts/txs -- Panic on err +- Add 0x and randomness -### Testing +### Secp256k1 -- RandConsensusNet takes more args -- Crank circle timeouts -- Automate building consensus/test_data -- Circle artifacts -- Dont start cs until all peers connected -- Shorten timeouts -- Remove codecov patch threshold -- Kill and restart all nodes -- Use PROXY_APP=persistent_dummy -- Use fail-test failure indices -- More unique container names -- Set log_level=info -- Always rebuild grpc_client -- Split up test/net/test.sh +- Use compressed pubkey, bitcoin-style address +- Change build tags (#3277) -### Blockchain +### Security -- Thread safe store.Height() +- Update policy after latest security release (#6336) -### Consensus +### Server -- Wal.Flush() and cleanup replay tests -- TimeoutTicker, skip TimeoutCommit on HasAll -- Mv timeoutRoutine into TimeoutTicker -- No internal vars in reactor.String() -- Sync wal.writeHeight -- Remove crankTimeoutPropose from tests -- Be more explicit when we need to write height after handshake -- Let time.Timer handle non-positive durations -- Check HasAll when TwoThirdsMajority +- Allow multiple connections +- Return result with error +- Use cmn.ProtocolAndAddress +- Minor refactor -### Glide +### Service -- Update go-wire +- Start/stop logs are info, ignored are debug +- Reset() for restarts ### Shame +- Forgot a file - Version bump 0.7.4 +- Forgot to add new code pkg -### State - -- AppHashIsStale -> IntermediateState - -### Tmsp - -- ResponseInfo and ResponseEndBlock - -### Types - -- Benchmark WriteSignBytes -- Canonical_json.go -- SignatureEd25519 -> Signature - -## [0.7.4] - 2016-12-14 - -### Testing - -- App persistence -- Tmsp query result is json -- Increase proposal timeout -- Cleanup and fix scripts -- Crank it to eleventy -- More cleanup on p2p - -### Addrbook - -- Toggle strict routability - -### Blockchain - -- Use ApplyBlock - -### Consensus - -- Test reactor -- Fix panic on POLRound=-1 -- Ensure dir for cswal on reactor tests -- Lock before loading commit -- Track index of privVal -- Test validator set change - -### Counter +### SocketClient -- Fix tx buffer overflow +- Fix and test for StopForError deadlock -### Cswal +### Spec -- Write #HEIGHT:1 for empty wal +- Fixes from review +- Convert to rst +- Typos & other fixes +- Remove notes, see #1152 +- More fixes +- Minor fixes +- Update encoding.md +- Note on byte arrays, clean up bitarrays and more, add merkle proof, add crypto.go script +- Add Address spec. notes about Query +- Pex update +- Abci notes. closes #1257 +- Move to final location (#1576) +- Add missing field to NodeInfoOther (#2426) +- Update spec with tendermint updates (#62) +- Add ProofTrialPeriod to EvidenceParam (#99) +- Modify Header.LastResultsHash (#97) +- Link to abci server implementations (#100) +- Update evidence in blockchain.md (#108) +- Revert event hashing (#132) +- Update abci events (#151) +- Extract light-client to its own directory (#152) +- Remove evidences (#153) +- Light client attack detector (#164) +- Protobuf changes (#156) +- Update light client verification to match supervisor (#171) +- Remove reactor section (#242) +- Merge rust-spec (#252) -### Dummy +### Spec/abci -- Valset changes and tests +- Expand on Validator#Address (#118) -### Glide +### Spec/consensus -- Update go-common +- Canonical vs subjective commit -### Rpc +### Spec/consensus/signing -- Remove restriction on DialSeeds +- Add more details about nil and amnesia (#54) -### Shame +### Spec/reactors/mempool -- Forgot a file +- Batch txs per peer (#155) ### State +- ExecTx bug fixes for create contract +- Fix debug logs +- Fix CreateAddress to use Address not Word +- Fixes for creating a contract and msging it in the same block +- Fix GetStorage on blockcache with unknown account +- FireEvents flag on ExecTx and fixes for GetAccount - ApplyBlock +- AppHashIsStale -> IntermediateState +- Remove StateIntermediate +- ABCIResponses, s.Save() in ApplyBlock +- Comments; use wire.BinaryBytes +- Persist validators +- Minor comment fixes +- Return to-be-used function +- TestValidateBlock +- Move methods to funcs +- BlockExecutor +- Re-order funcs. fix tests +- Send byzantine validators in BeginBlock +- Builds +- Fix txResult issue with UnmarshalBinary into ptr +- S -> state +- B -> block +- Err if 0 power validator is added to the validator set +- Format panics +- Require block.Time of the fist block to be genesis time (#2594) +- Use last height changed if validator set is empty (#3560) +- Add more tests for block validation (#3674) +- Txindex/kv: fsync data to disk immediately after receiving it (#4104) +- Txindex/kv: return an error if there's one (#4095) +- Export InitStateVersion +- Proto migration (#4951) +- Proto migration (#4972) +- Revert event hashing (#5159) +- Don't save genesis state in database when loaded (#5231) +- Define interface for state store (#5348) +- More test cases for block validation (#5415) +- Prune states using an iterator (#5864) +- Save in batches within the state store (#6067) +- Cleanup block indexing logs and null (#6263) +- Fix block event indexing reserved key check (#6314) +- Fix block event indexing reserved key check (#6314) (#6315) +- Keep a cache of block verification results (#6402) -### Types - -- Pretty print validators -- Update LastBlockInfo and ConfigInfo -- Copy vote set bit array -- Copy commit bit array - -## [0.7.3] - 2016-10-21 - -### Testing - -- Codecov -- Use glide with mintnet/netmon -- Install glide for network test - -### Consensus - -- Hvs.StringIndented needed a lock. addresses #284 - -### Log +### State/indexer -- Move some Info to Debug +- Reconstruct indexer, move txindex into the indexer package (#6382) -### Replay +### State/store -- Larger read buffer -- More tests -- Ensure cs.height and wal.height match +- Remove extra `if` statement (#3774) -### Rpc +### Statesync -- Use interfaces for pipe +- Use Protobuf instead of Amino for p2p traffic (#4943) +- Fix valset off-by-one causing consensus failures (#5311) +- Broadcast snapshot request to all peers on startup (#5320) +- Fix the validator set heights (again) (#5330) +- Check all necessary heights when adding snapshot to pool (#5516) +- Check all necessary heights when adding snapshot to pool (#5516) (#5518) +- Do not recover panic on peer updates (#5869) +- Improve e2e test outcomes (#6378) +- Improve e2e test outcomes (backport #6378) (#6380) +- Sort snapshots by commonness (#6385) +- Fix unreliable test (#6390) +- Ranking test fix (#6415) -### Service +### Store -- Reset() for restarts +- Register block amino, not just crypto (#3894) +- Proto migration (#4974) +- Order-preserving varint key encoding (#5771) +- Use db iterators for pruning and range-based queries (#5848) +- Fix deadlock in pruning (#6007) +- Use a batch instead of individual writes in SaveBlock (#6018) -### Version +### Swagger -- Bump 0.7.3 +- Update swagger port (#4498) +- Remove duplicate blockID +- Define version (#4952) +- Update (#5257) -## [0.7.1] - 2016-09-11 +### Sync -### Testing +- Move closer to separate file (#6015) -- Refactor bash; test fastsync (failing) -- Name client conts so we dont need to rm them because circle -- Test dummy using rpc query -- Add xxd dep to dockerfile -- More verbosity -- Add killall to dockerfile. cleanup +### Template -### Client +- Add labels to pr template -- Safe error handling +### Throttle_timer -### Config +- Fix race, use mtx instead of atomic -- All urls use tcp:// or unix:// prefix -- Filter_peers defaults to false -- Reduce timeouts during test +### Tm-bench -### Consensus +- Improve code shape +- Update dependencies, add total metrics +- Add deprecation warning (#3992) -- Add note about replay test -- No sign err in replay; fix a race +### Tm-monitor -### Proxy +- Update health after we added / removed node (#2694) +- Update build-docker Makefile target (#3790) +- Add Context to RPC handlers (#3792) -- Typed app conns -- NewAppConns takes a NewTMSPClient func -- Wrap NewTMSPClient in ClientCreator -- Nil -> nilapp +### Tmbench -### Throttle_timer +- Fix iterating through the blocks, update readme +- Make tx size configurable +- Update dependencies to use tendermint's master +- Make sendloop act in one second segments (#110) +- Make it more resilient to WSConn breaking (#111) -- Fix race, use mtx instead of atomic +### Tmhash -### Types +- Add Sum function -- PrivVal.LastSignature. closes #247 +### Tmsp -## [0.7.0] - 2016-08-07 +- ResponseInfo and ResponseEndBlock -### Documentation +### Tmtime -- Move FROM to golang:1.4 because 1.4.2 broke +- Canonical, some comments (#2312) -### Makefile +### Toml -- Go test --race +- Make sections standout (#4993) -### Testing +### Tool -- Broadcast_tx with tmsp; p2p -- Add throughput benchmark using mintnet and netmon -- Install mintnet, netmon -- Use MACH_PREFIX -- Cleanup -- Dont run cloud test on push to master -- README.md +- Add Mergify (#4490) -### Binary +### Tooling -- Prevent runaway alloc +- Remove tools/Makefile (#6102) +- Remove tools/Makefile (bp #6102) (#6106) -### Block/state +### Tools -- Add CallTx type -- Gas price for block and tx +- Remove redundant grep -v vendors/ (#1996) +- Clean up Makefile and remove LICENSE file (#2042) +- Refactor tm-bench (#2570) +- Remove need to install buf (#4605) +- Update gogoproto get cmd (#5007) +- Use os home dir to instead of the hardcoded PATH (#6498) -### Circle +### Tools.mk -- Docker 1.10.0 +- Use tags instead of revisions where possible +- Install protoc -### Client +### Tools/build -- ResultsCh chan json.RawMessage, ErrorsCh -- Wsc.String() +- Delete stale tools (#4558) -### Config +### Tools/tm-bench -- Hardcode default genesis.json -- Block size, consensus timeouts, recheck tx -- Cswal_light, mempool_broadcast, mempool_reap -- Toggle authenticated encryption -- Disable_data_hash (for testing) +- Don't count the first block if its empty +- Remove testing flags from help (#1949) +- Don't count the first block if its empty (#1948) +- Bounds check for txSize and improving test cases (#2410) +- Remove tm-bench in favor of tm-load-test (#4169) -### Consensus +### Tools/tm-signer-harness -- Broadcast evidence tx on ErrVoteConflictingSignature -- Check both vote orderings for dupeout txs -- Fix negative timeout; log levels -- Msg saving and replay -- Replay console -- Use replay log to avoid sign regression -- Don't wait for wal if conS not running -- Dont allow peer round states to decrease -- Cswal doesnt write any consensus msgs in light mode -- Fix more races in tests -- Fix race from OnStop accessing cs.Height -- T.Fatal -> panic -- Hvs.Reset(height, valSet) -- Increase mempool_test timeout -- Don't print shared vars in cs.String() +- Fix listener leak in newTestHarnessListener() (#5850) +- Fix listener leak in newTestHarnessListener() (#5850) -### Daemon +### Tools/tmbench -- Refactor out of cmd into own package +- Fix the end time being used for statistics calculation +- Improve accuracy with large tx sizes. +- Move statistics to a seperate file -### Db +### Tx -- Add Close() to db interface. closes #31 +- Reduce function to one parameter (#5493) -### Events +### Txindexer -- Integrate event switch into services via Eventable interface +- Refactor Tx Search Aggregation (#3851) -### Glide +### Types -- Update go-common -- Update lock and add util scripts +- PrivVal.LastSignature. closes #247 +- Pretty print validators +- Update LastBlockInfo and ConfigInfo +- Copy vote set bit array +- Copy commit bit array +- Benchmark WriteSignBytes +- Canonical_json.go +- SignatureEd25519 -> Signature +- Use mtx on PartSet.String() +- ValSet LastProposer->Proposer and Proposer()->GetProposer() +- []byte -> data.Bytes +- Result and Validator use data.Bytes +- Methods convert pb types to use data.Bytes +- Block comments +- Remove redundant version file +- PrivVal.Sign returns an error +- More . -> cmn +- Comments +- ConsensusParams test + document the ranges/limits +- ConsensusParams: add feedback from @ebuchman and @melekes +- Unexpose valset.To/FromBytes +- Add gas and fee fields to CheckTx +- Use data.Bytes directly in type.proto via gogo/protobuf. wow +- Consolidate some file +- Add note about ReadMessage having no cap +- RequestBeginBlock includes absent and byzantine validators +- Drop uint64 from protobuf.go +- IsOK() +- Int32 with gogo int +- Fix for broken customtype int in gogo +- Add MarshalJSON funcs for Response types with a Code +- Add UnmarshalJSON funcs for Response types +- Compile type assertions to avoid sneaky runtime surprises +- Check ResponseCheckTx too +- Update String() test to assert Prevote type +- Rename exampleVote to examplePrecommit on vote_test +- Add test for IsVoteTypeValid +- Params.Update() +- Comments; compiles; evidence test +- Evidences for merkle hashing; Evidence.String() +- Tx.go comments +- Evidence cleanup +- Better error messages for votes +- Check bufio.Reader +- TxEventBuffer.Flush now uses capacity preserving slice clearing idiom +- RequestInitChain.AppStateBytes +- Update for new go-wire. WriteSignBytes -> SignBytes +- Remove dep on p2p +- Tests build +- Builds +- Revert to old wire. builds +- Working on tests... +- P2pID -> P2PID +- Fix validator_set_test issue with UnmarshalBinary into ptr +- Bring back json.Marshal/Unmarshal for genesis/priv_val +- TestValidatorSetVerifyCommit +- Uncomment some tests +- Hash invoked for nil Data and Header should not panic +- Compile time assert to, and document sort.Interface +- Revert CheckTx/DeliverTx changes. make them the same +- Fix genesis.AppStateJSON +- Lock block on MakePartSet +- Fix formatting when printing signatures +- Allow genesis file to have 0 validators (#2148) +- Remove pubkey from validator hash (#2512) +- Cap evidence in block validation (#2560) +- Remove Version from CanonicalXxx (#2666) +- Dont use SimpleHashFromMap for header. closes #1841 (#2670) +- First field in Canonical structs is Type (#2675) +- Emit tags from BeginBlock/EndBlock (#2747) +- NewValidatorSet doesn't panic on empty valz list (#2938) +- ValidatorSet.Update preserves Accum (#2941) +- Comments on user vs internal events +- Validator set update tests (#3284) +- Followup after validator set changes (#3301) +- Remove check for priority order of existing validators (#3407) +- Refactor PB2TM.ConsensusParams to take BlockTimeIota as an arg (#3442) +- CommitVotes struct as last step towards #1648 (#3298) +- Do not ignore errors returned by PublishWithEvents (#3722) +- Move MakeVote / MakeBlock functions (#3819) +- Add test for block commits with votes for the wrong blockID (#3936) +- Prevent temporary power overflows on validator updates (#4165) +- Change number_txs to num_txs json tag in BlockMeta +- Remove dots from errors in SignedHeader#ValidateBasic +- Change `Commit` to consist of just signatures (#4146) +- Prevent spurious validator power overflow warnings when changing the validator set (#4183) +- VerifyCommitX return when +2/3 sigs are verified (#4445) +- Implement Header#ValidateBasic (#4638) +- Return an error if voting power overflows +- Sort validators by voting power +- Simplify VerifyCommitTrusting +- Remove extra validation in VerifyCommit +- Assert specific error in TestValSetUpdateOverflowRelated +- Remove unnecessary sort call (#4876) +- Create ValidateBasic() funcs for validator and validator set (#4905) +- Remove VerifyFutureCommit (#4961) +- Migrate params to protobuf (#4962) +- Remove duplicated validation in VerifyCommit (#4991) +- Add tests for blockmeta (#5013) +- Remove pubkey options (#5016) +- More test cases for TestValidatorSet_VerifyCommit (#5018) +- Rename partsheader to partsetheader (#5029) +- Fix evidence timestamp calculation (#5032) +- Add AppVersion to ConsensusParams (#5031) +- Reject blocks w/ ConflictingHeadersEvidence (#5041) +- Simplify safeMul (#5061) +- Verify commit fully +- Validatebasic on from proto (#5152) +- Check if nil or empty valset (#5167) +- Comment on need for length prefixing (#5283) +- Rename json parts to part_set_header (#5523) +- Move `MakeBlock` to block.go (#5573) +- Cleanup protobuf.go (#6023) +- Refactor EventAttribute (#6408) +- Fix verify commit light / trusting bug (#6414) +- Revert breaking change (#6538) -### Mempool +### Types/heartbeat -- Add GetState() -- Remove bad txs from cacheMap -- Don't remove committed txs from cache +- Test all Heartbeat functions -### P2p +### Types/params -- Push handshake containing chainId for early disconnect. Closes #12 -- Fix switch_test to account for handshake -- Broadcast spawns goroutine to Send on each peer and times out after 10 seconds. Closes #7 -- Fix switch test for Broadcast returning success channel +- Introduce EvidenceParams -### Rpc +### Types/priv_validator -- Add status and net info -- Return tx hash, creates contract, contract addr in broadcast (required some helper functions). Closes #30 -- Give each call a dedicated Response struct, add basic test -- Separate out golang API into rpc/core -- Generalized rpc using reflection on funcs and params -- Fixes for better type handlings, explicit error field in response, more tests -- Cleanup, more tests, working http and jsonrpc -- Fix tests to count mempool; copy responses to avoid data races -- Return (*Response, error) for all functions -- GetStorage and Call methods. Tests. -- Decrement mempool count after block mined -- GetStorage and Call methods. Tests. -- Decrement mempool count after block mined -- Auto generated client methods using rpc-gen -- Myriad little fixes -- Cleanup, use client for tests, rpc-gen fixes -- Websockets -- Tests cleanup, use client lib for JSONRPC testing too -- Test CallCode and Call -- Fix memcount error in tests -- Use gorilla websockets -- First successful websocket event subscription -- Websocket events testing -- Use NewBlock event in rpc tests -- Cleanup tests and test contract calls -- Genesis route -- Remove unecessary response wrappers -- Add app_hash to /status -- TMResult and TMEventData -- Test cleanup -- Unsafe_set_config -- Num_unconfirmed_txs (avoid sending txs back) -- Start/stop cpu profiler -- Unsafe_write_heap_profile -- Broadcast tests. closes #219 -- Unsafe_flush_mempool. closes #190 +- Fixes for latest p2p and cmn -### Rpc/tests +### Types/test -- Panic dont t.Fatal. use random txs for broadcast +- Remove slow test cases in TestValSetUpdatePriorityOrderTests (#4903) -### Server +### Types/time -- Allow multiple connections -- Return result with error +- Add note about stripping monotonic part -### Service +### Types/validator_set_test -- Start/stop logs are info, ignored are debug +- Move funcs around -### State +### Upgrading -- ExecTx bug fixes for create contract -- Fix debug logs -- Fix CreateAddress to use Address not Word -- Fixes for creating a contract and msging it in the same block -- Fix GetStorage on blockcache with unknown account -- FireEvents flag on ExecTx and fixes for GetAccount +- Add note on rpc/client subpackages (#4636) +- State store change (#5364) +- Update 0.34 instructions with updates since RC4 (#5685) +- Update 0.34 instructions with updates since RC4 (#5686) + +### Upnp + +- Keep a link + +### Ux + +- Use docker to format proto files (#5384) + +### Version + +- Bump 0.7.3 +- Add and bump abci version +- Types +- Bump version numbers (#5173) +- Add abci version to handshake (#5706) +- Revert version through ldflag only (#6494) ### Vm @@ -9396,3 +6203,30 @@ - Eventable and flip fix on CALL address - Catch stack underflow on Peek() +### Wal + +- Gr.Close() + +### Wip + +- Tendermint specification +- Priv val via sockets +- Comment types +- Fix code block in ADR +- Fix nil pointer deference +- Avoid underscore in var name +- Check error of wire read + +### Wire + +- No codec yet + +### Ws + +- Small comment +- Parse remote addrs with trailing dash (#6537) + +### WsConnection + +- Call onDisconnect + diff --git a/dash/llmq/llmq.go b/dash/llmq/llmq.go index 3b859216d9..13fb0813ad 100644 --- a/dash/llmq/llmq.go +++ b/dash/llmq/llmq.go @@ -28,7 +28,7 @@ var ( btcjson.LLMQType_400_85: {400, 340}, btcjson.LLMQType_100_67: {100, 67}, btcjson.LLMQType_60_75: {60, 45}, - btcjson.LLMQType_25_67: {25, 16}, + btcjson.LLMQType_25_67: {25, 17}, btcjson.LLMQType_DEVNET: {12, 6}, btcjson.LLMQType_TEST_V17: {3, 2}, btcjson.LLMQType_TEST_DIP0024: {4, 2}, From aa49a69cf75a2dbb70216ad642890a691d0dceec Mon Sep 17 00:00:00 2001 From: Dmitrii Golubev Date: Tue, 23 May 2023 10:23:29 +0200 Subject: [PATCH 02/19] feat: add ability to write logs in a file (#632) * feat: add ability to write logs in a file along with writing its into stderr --- CHANGELOG.md | 22 +++++++++++++++++++++- cmd/tenderdash/main.go | 32 +++++++++++++++++++++++++++++++- config/config.go | 3 +++ config/toml.go | 5 ++++- libs/log/default.go | 21 +++++++++++++++++++++ version/version.go | 2 +- 6 files changed, 81 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 04004f2dc5..7b55a74b18 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,9 +1,13 @@ +## [0.11.2] - 2023-05-03 + +### Bug Fixes +- Invalid threshold for LLMQType_25_67 (#628) + ## [0.11.1] - 2023-05-02 ### Bug Fixes - Missing quorum params (#626) - ## [0.11.0] - 2023-04-04 ### Bug Fixes @@ -259,6 +263,22 @@ - Fix build - Fix abcidump after backport - Update changelog and version to 0.8.0 +- [**breaking**] Rename genesis.json quorum fields (#515) +- [**breaking**] Remove Snapshot.core_chain_locked_height (#527) +- Update changelog and version to 0.10.0-dev.6 (#526) +- Update changelog and version to 0.11.0-dev.1 (#530) +- Update changelog and version to 0.10.0-dev.7 (#536) +- Update bls library (#535) +- Update changelog and version to 0.10.0-dev.9 (#579) +- Update changelog and version to 0.11.0-dev.2 (#583) +- Update changelog and version to 0.11.0-dev.3 (#586) +- Bump up dashd-go version to v0.23.6 (#587) +- Update changelog and version to 0.10.0-dev.10 (#588) +- Update changelog and version to 0.10.0-dev.11 (#591) +- Update changelog and version to 0.11.0-dev.4 (#593) +- Add quote to CGO variables in Makefile (#597) +- Update changelog and version to 0.11.1 (#627) +- Catch up the changes from master into v0.11 dev (#629) ### PBTS diff --git a/cmd/tenderdash/main.go b/cmd/tenderdash/main.go index c44bd3179a..fb879c3446 100644 --- a/cmd/tenderdash/main.go +++ b/cmd/tenderdash/main.go @@ -2,6 +2,8 @@ package main import ( "context" + "fmt" + "io" "os" "github.com/tendermint/tendermint/cmd/tenderdash/commands" @@ -21,10 +23,11 @@ func main() { panic(err) } - logger, err := log.NewDefaultLogger(conf.LogFormat, conf.LogLevel) + logger, stopFn, err := newLoggerFromConfig(conf) if err != nil { panic(err) } + defer stopFn() rcmd := commands.RootCommand(conf, logger) rcmd.AddCommand( @@ -64,3 +67,30 @@ func main() { os.Exit(2) } } + +func newLoggerFromConfig(conf *config.Config) (log.Logger, func(), error) { + var ( + writer io.Writer = os.Stderr + closeFunc = func() {} + err error + ) + if conf.LogFilePath != "" { + file, err := os.OpenFile(conf.LogFilePath, os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0644) + if err != nil { + return nil, nil, fmt.Errorf("failed to create log writer: %w", err) + } + closeFunc = func() { + _ = file.Close() + } + writer = io.MultiWriter(writer, file) + } + writer, err = log.NewFormatter(conf.LogFormat, writer) + if err != nil { + return nil, nil, fmt.Errorf("failed to create log formatter: %w", err) + } + logger, err := log.NewLogger(conf.LogLevel, writer) + if err != nil { + return nil, nil, err + } + return logger, closeFunc, nil +} diff --git a/config/config.go b/config/config.go index 85976b597c..103f50bfcc 100644 --- a/config/config.go +++ b/config/config.go @@ -214,6 +214,9 @@ type BaseConfig struct { //nolint: maligned // Output format: 'plain' (colored text) or 'json' LogFormat string `mapstructure:"log-format"` + // Path to the log file. This parameter is an additional option to the existing stderr output + LogFilePath string `mapstructure:"log-file-path"` + // Path to the JSON file containing the initial validator set and other meta data Genesis string `mapstructure:"genesis-file"` diff --git a/config/toml.go b/config/toml.go index 5a275c6fbc..954ec3752b 100644 --- a/config/toml.go +++ b/config/toml.go @@ -135,6 +135,9 @@ log-level = "{{ .BaseConfig.LogLevel }}" # Output format: 'plain' (colored text) or 'json' log-format = "{{ .BaseConfig.LogFormat }}" +# Path to the log file. This parameter is an additional option to the existing stderr output +log-file-path = "{{ .BaseConfig.LogFilePath }}" + ##### additional base config options ##### # Path to the JSON file containing the initial validator set and other meta data @@ -468,7 +471,7 @@ fetchers = "{{ .StateSync.Fetchers }}" [consensus] wal-file = "{{ js .Consensus.WalPath }}" -# wal-skip-rounds-to-last set to true will skip replaying all non-committed rounds stored in +# wal-skip-rounds-to-last set to true will skip replaying all non-committed rounds stored in # WAL, increasing performance in a significant way. It should be set to false by default, as it # can have security side-effects. wal-skip-rounds-to-last = "{{ .Consensus.WalSkipRoundsToLast }}" diff --git a/libs/log/default.go b/libs/log/default.go index 288de90a6e..64d2095e63 100644 --- a/libs/log/default.go +++ b/libs/log/default.go @@ -104,6 +104,27 @@ func OverrideWithNewLogger(logger Logger, format, level string) error { return nil } +// NewFormatter creates a new formatter for the given format. If the format is empty or unsupported then returns error. +func NewFormatter(format string, w io.Writer) (io.Writer, error) { + switch strings.ToLower(format) { + case LogFormatPlain, LogFormatText: + return zerolog.ConsoleWriter{ + Out: w, + NoColor: true, + TimeFormat: time.RFC3339Nano, + FormatLevel: func(i interface{}) string { + if ll, ok := i.(string); ok { + return strings.ToUpper(ll) + } + return "????" + }, + }, nil + case LogFormatJSON: + return w, nil + } + return nil, fmt.Errorf("unsupported log format: %s", format) +} + func getLogFields(keyVals ...interface{}) map[string]interface{} { if len(keyVals)%2 != 0 { return nil diff --git a/version/version.go b/version/version.go index 4dfab9c543..e666b0d140 100644 --- a/version/version.go +++ b/version/version.go @@ -9,7 +9,7 @@ var ( const ( // TMVersionDefault is the used as the fallback version for Tenderdash // when not using git describe. It is formatted with semantic versioning. - TMVersionDefault = "0.11.1" + TMVersionDefault = "0.11.2" // ABCISemVer is the semantic version of the ABCI library ABCISemVer = "0.20.0" From 200c050690a4927cec7991e459ddd5592257a028 Mon Sep 17 00:00:00 2001 From: lklimek <842586+lklimek@users.noreply.github.com> Date: Tue, 13 Jun 2023 12:40:43 +0200 Subject: [PATCH 03/19] fix(proto)!: remove unused SIGNED_MSG_TYPE_COMMIT (#638) --- abci/types/types.pb.go | 1 + proto/tendermint/abci/types.proto | 1 + proto/tendermint/types/types.pb.go | 202 ++++++++++++++--------------- proto/tendermint/types/types.proto | 2 - spec/abci++/api.md | 2 +- spec/consensus/signing.md | 2 +- version/version.go | 2 +- 7 files changed, 104 insertions(+), 108 deletions(-) diff --git a/abci/types/types.pb.go b/abci/types/types.pb.go index e1f6c277ce..e6b831ead6 100644 --- a/abci/types/types.pb.go +++ b/abci/types/types.pb.go @@ -1444,6 +1444,7 @@ type RequestProcessProposal struct { // List of information about validators that acted incorrectly. Misbehavior []Misbehavior `protobuf:"bytes,3,rep,name=misbehavior,proto3" json:"misbehavior"` // The block header's hash of the proposed block. + // It is computed as a Merkle tree from the header fields. Hash []byte `protobuf:"bytes,4,opt,name=hash,proto3" json:"hash,omitempty"` // The height of the proposed block. Height int64 `protobuf:"varint,5,opt,name=height,proto3" json:"height,omitempty"` diff --git a/proto/tendermint/abci/types.proto b/proto/tendermint/abci/types.proto index 604fdf2b74..6fffa43032 100644 --- a/proto/tendermint/abci/types.proto +++ b/proto/tendermint/abci/types.proto @@ -346,6 +346,7 @@ message RequestProcessProposal { // List of information about validators that acted incorrectly. repeated Misbehavior misbehavior = 3 [(gogoproto.nullable) = false]; // The block header's hash of the proposed block. + // It is computed as a Merkle tree from the header fields. bytes hash = 4; // The height of the proposed block. int64 height = 5; diff --git a/proto/tendermint/types/types.pb.go b/proto/tendermint/types/types.pb.go index 8cd8fb82cf..26e30b498d 100644 --- a/proto/tendermint/types/types.pb.go +++ b/proto/tendermint/types/types.pb.go @@ -70,7 +70,6 @@ const ( // Votes PrevoteType SignedMsgType = 1 PrecommitType SignedMsgType = 2 - CommitType SignedMsgType = 3 // Proposals ProposalType SignedMsgType = 32 ) @@ -79,7 +78,6 @@ var SignedMsgType_name = map[int32]string{ 0: "SIGNED_MSG_TYPE_UNKNOWN", 1: "SIGNED_MSG_TYPE_PREVOTE", 2: "SIGNED_MSG_TYPE_PRECOMMIT", - 3: "SIGNED_MSG_TYPE_COMMIT", 32: "SIGNED_MSG_TYPE_PROPOSAL", } @@ -87,7 +85,6 @@ var SignedMsgType_value = map[string]int32{ "SIGNED_MSG_TYPE_UNKNOWN": 0, "SIGNED_MSG_TYPE_PREVOTE": 1, "SIGNED_MSG_TYPE_PRECOMMIT": 2, - "SIGNED_MSG_TYPE_COMMIT": 3, "SIGNED_MSG_TYPE_PROPOSAL": 32, } @@ -1152,107 +1149,106 @@ func init() { func init() { proto.RegisterFile("tendermint/types/types.proto", fileDescriptor_d3a6e55e2345de56) } var fileDescriptor_d3a6e55e2345de56 = []byte{ - // 1591 bytes of a gzipped FileDescriptorProto + // 1573 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x57, 0x3b, 0x6f, 0x1b, 0xc7, - 0x16, 0xe6, 0xf2, 0xcd, 0xc3, 0x87, 0xa8, 0xb5, 0x24, 0x53, 0xb4, 0x4d, 0xee, 0xe5, 0xc5, 0xbd, - 0xd6, 0x35, 0x6e, 0x28, 0xc7, 0x36, 0xe2, 0xc4, 0x40, 0x0a, 0x91, 0x92, 0x2d, 0xc2, 0x7a, 0x30, - 0x4b, 0x5a, 0x41, 0x92, 0x62, 0xb1, 0xe2, 0x8e, 0x49, 0xc6, 0xe4, 0xce, 0x66, 0x77, 0xa8, 0x50, - 0xae, 0x02, 0xa4, 0x88, 0xa1, 0xca, 0x45, 0x60, 0xb8, 0x11, 0x10, 0x23, 0x29, 0xf2, 0x0f, 0xd2, - 0xa7, 0x72, 0xe9, 0x2e, 0x29, 0x02, 0x25, 0x90, 0xff, 0x47, 0x12, 0xcc, 0x63, 0xc9, 0x5d, 0x92, - 0x96, 0x0d, 0x17, 0x69, 0x88, 0x9d, 0x73, 0xbe, 0x33, 0x73, 0xce, 0x37, 0xdf, 0x99, 0x19, 0xc2, - 0x45, 0x82, 0x4c, 0x03, 0xd9, 0xfd, 0xae, 0x49, 0x56, 0xc9, 0xa1, 0x85, 0x1c, 0xfe, 0x5b, 0xb6, - 0x6c, 0x4c, 0xb0, 0x9c, 0x1d, 0x7b, 0xcb, 0xcc, 0x9e, 0x5f, 0x68, 0xe3, 0x36, 0x66, 0xce, 0x55, - 0xfa, 0xc5, 0x71, 0xf9, 0x62, 0x1b, 0xe3, 0x76, 0x0f, 0xad, 0xb2, 0xd1, 0xfe, 0xe0, 0xfe, 0x2a, - 0xe9, 0xf6, 0x91, 0x43, 0xf4, 0xbe, 0x25, 0x00, 0x97, 0x3c, 0xcb, 0xb4, 0xec, 0x43, 0x8b, 0x60, - 0x8a, 0xc5, 0xf7, 0x85, 0xbb, 0xe0, 0x71, 0x1f, 0x20, 0xdb, 0xe9, 0x62, 0xd3, 0x9b, 0x47, 0xfe, - 0xc2, 0x54, 0x96, 0x86, 0xee, 0x74, 0x84, 0x53, 0x99, 0x72, 0x1e, 0xe8, 0xbd, 0xae, 0xa1, 0x13, - 0x6c, 0x73, 0x44, 0xe9, 0x03, 0x48, 0xd7, 0x75, 0x9b, 0x34, 0x10, 0xd9, 0x44, 0xba, 0x81, 0x6c, - 0x79, 0x01, 0x22, 0x04, 0x13, 0xbd, 0x97, 0x93, 0x14, 0x69, 0x25, 0xad, 0xf2, 0x81, 0x2c, 0x43, - 0xb8, 0xa3, 0x3b, 0x9d, 0x5c, 0x50, 0x91, 0x56, 0x52, 0x2a, 0xfb, 0x2e, 0x75, 0x20, 0x4c, 0x43, - 0x69, 0x44, 0xd7, 0x34, 0xd0, 0xd0, 0x8d, 0x60, 0x03, 0x6a, 0xdd, 0x3f, 0x24, 0xc8, 0x11, 0x21, - 0x7c, 0x20, 0xdf, 0x80, 0x08, 0x2b, 0x2e, 0x17, 0x52, 0xa4, 0x95, 0xe4, 0xb5, 0x5c, 0xd9, 0xc3, - 0x22, 0x2f, 0xbe, 0x5c, 0xa7, 0xfe, 0x4a, 0xf8, 0xf9, 0x49, 0x31, 0xa0, 0x72, 0x70, 0xe9, 0x5b, - 0x09, 0x62, 0x95, 0x1e, 0x6e, 0x3d, 0xa8, 0xad, 0x8f, 0x32, 0x91, 0xc6, 0x99, 0xc8, 0xdb, 0x30, - 0x67, 0xe9, 0x36, 0xd1, 0x1c, 0x44, 0xb4, 0x0e, 0x2b, 0x83, 0xad, 0x9a, 0xbc, 0x56, 0x2c, 0x4f, - 0xee, 0x52, 0xd9, 0x57, 0xad, 0x58, 0x26, 0x6d, 0xf9, 0x28, 0xf8, 0x2f, 0xc4, 0x1d, 0xa2, 0x13, - 0xa4, 0x75, 0x0d, 0x96, 0x67, 0xaa, 0x92, 0x3c, 0x3d, 0x29, 0xc6, 0x1a, 0xd4, 0x56, 0x5b, 0x57, - 0x63, 0xcc, 0x59, 0x33, 0x4a, 0x4f, 0x82, 0xe0, 0x1a, 0xe5, 0x55, 0x48, 0xea, 0x96, 0xa5, 0x89, - 0x1d, 0x62, 0xd9, 0x45, 0x2b, 0x99, 0xd3, 0x93, 0x22, 0xac, 0x59, 0xd6, 0x1e, 0xb7, 0xaa, 0xa0, - 0x8f, 0xbe, 0xe5, 0x25, 0x88, 0x76, 0x50, 0xb7, 0xdd, 0x21, 0x2c, 0xd5, 0xa8, 0x2a, 0x46, 0x74, - 0x71, 0x3a, 0x11, 0xab, 0xd1, 0xb3, 0xf8, 0x9a, 0x65, 0x6d, 0xea, 0x4e, 0x47, 0x8d, 0xe9, 0xfc, - 0x43, 0x56, 0x21, 0xd7, 0xc2, 0x36, 0xd2, 0x5a, 0x1d, 0xbd, 0x6b, 0x6a, 0x94, 0x1c, 0x64, 0x68, - 0x62, 0xc6, 0xb0, 0x22, 0xad, 0xc4, 0x2a, 0xcb, 0xa7, 0x27, 0xc5, 0xc5, 0x2a, 0xb6, 0x51, 0x95, - 0x42, 0xb6, 0x18, 0x62, 0x93, 0x01, 0xd4, 0xc5, 0xd6, 0x2c, 0xb3, 0x7c, 0x03, 0xc2, 0x54, 0x9d, - 0xb9, 0x08, 0x23, 0x2f, 0x5f, 0xe6, 0xd2, 0x2d, 0xbb, 0xd2, 0x2d, 0x37, 0x5d, 0xe9, 0x0a, 0xde, - 0x18, 0xfa, 0x56, 0xf6, 0xe9, 0x77, 0xc5, 0xc0, 0xa3, 0x67, 0x45, 0xe9, 0xe9, 0xb3, 0xa2, 0xf4, - 0xd5, 0x6f, 0x4a, 0xa0, 0xf4, 0x67, 0x04, 0xa2, 0x82, 0xcb, 0x0f, 0x21, 0xe6, 0xe5, 0x24, 0x79, - 0xed, 0x92, 0x77, 0x4b, 0x84, 0xab, 0x5c, 0xc5, 0xa6, 0x83, 0x4c, 0x67, 0xe0, 0x88, 0x89, 0xdd, - 0x18, 0xca, 0x06, 0x2f, 0xb0, 0x6b, 0x30, 0x9e, 0x12, 0x9c, 0x0d, 0x96, 0x3a, 0xdd, 0x0a, 0xe6, - 0xac, 0x19, 0x1e, 0x36, 0x29, 0x67, 0xa1, 0x11, 0x9b, 0xef, 0x8b, 0x8a, 0xc2, 0xaf, 0xad, 0x28, - 0x4e, 0x17, 0x7e, 0xfc, 0x7b, 0x51, 0xe2, 0x55, 0xc9, 0x55, 0x48, 0xf7, 0x74, 0x87, 0x68, 0xfb, - 0x94, 0x5a, 0xba, 0x3c, 0x27, 0x65, 0x79, 0x5a, 0x51, 0x42, 0x99, 0x22, 0xf5, 0x24, 0x8d, 0xe2, - 0x26, 0x43, 0x5e, 0x81, 0x2c, 0x9b, 0xa4, 0x85, 0xfb, 0xfd, 0x2e, 0xe1, 0x9b, 0x1a, 0x65, 0xc2, - 0xcd, 0x50, 0x7b, 0x95, 0x99, 0xd9, 0x76, 0x5e, 0x80, 0x84, 0xa1, 0x13, 0x9d, 0x43, 0x62, 0x0c, - 0x12, 0xa7, 0x06, 0xe6, 0xbc, 0x0c, 0x73, 0xa3, 0xbe, 0x75, 0x38, 0x24, 0xce, 0x67, 0x19, 0x9b, - 0x19, 0xf0, 0x2a, 0x2c, 0x98, 0x68, 0x48, 0xb4, 0x49, 0x74, 0x82, 0xa1, 0x65, 0xea, 0xdb, 0xf3, - 0x47, 0xfc, 0x07, 0x32, 0x2d, 0x97, 0x7c, 0x8e, 0x05, 0x86, 0x4d, 0x8f, 0xac, 0x0c, 0x56, 0x86, - 0x73, 0x6c, 0xe2, 0x09, 0x6c, 0x92, 0x61, 0xe7, 0xa9, 0xab, 0xea, 0xc3, 0x2f, 0x7b, 0x54, 0x9c, - 0x62, 0xa0, 0x91, 0x70, 0xff, 0x05, 0x29, 0x1b, 0x39, 0x83, 0x1e, 0x11, 0x73, 0xa4, 0x99, 0x3b, - 0x29, 0x6c, 0x0c, 0xf2, 0x6f, 0x48, 0xa3, 0x83, 0xae, 0x81, 0xcc, 0x16, 0xe2, 0x98, 0x0c, 0xc3, - 0xa4, 0x5c, 0xa3, 0x5b, 0xab, 0x65, 0x63, 0x0b, 0x3b, 0xc8, 0xd0, 0xbc, 0xad, 0x37, 0xa7, 0x48, - 0x2b, 0x61, 0x55, 0x76, 0x7d, 0xe3, 0xf6, 0x93, 0x57, 0x47, 0x11, 0xb6, 0x66, 0xd9, 0x58, 0x23, - 0x43, 0x3e, 0x7b, 0x96, 0x57, 0xe1, 0xfa, 0xea, 0x36, 0x6e, 0x0e, 0xd9, 0x12, 0x37, 0xcf, 0xe8, - 0xb1, 0x79, 0x76, 0xd8, 0xcd, 0x6e, 0xa4, 0x52, 0x0e, 0xc2, 0xeb, 0x3a, 0xd1, 0xe5, 0x2c, 0x84, - 0xc8, 0xd0, 0xc9, 0x49, 0x4a, 0x68, 0x25, 0xa5, 0xd2, 0xcf, 0xd2, 0x5f, 0x41, 0x08, 0xef, 0x61, - 0x82, 0xe4, 0xeb, 0x10, 0xa6, 0xf2, 0x61, 0x5d, 0x91, 0x99, 0x75, 0x50, 0x35, 0xba, 0x6d, 0x13, - 0x19, 0xdb, 0x4e, 0xbb, 0x79, 0x68, 0x21, 0x95, 0x81, 0x27, 0x0e, 0x8d, 0xb1, 0xcc, 0x17, 0x20, - 0x62, 0xe3, 0x81, 0xc9, 0x8f, 0xab, 0x88, 0xca, 0x07, 0xf2, 0x06, 0xc4, 0x47, 0xea, 0x0d, 0xbf, - 0x4e, 0xbd, 0x73, 0x54, 0xbd, 0xb4, 0xb7, 0x84, 0x41, 0x8d, 0xed, 0x0b, 0x11, 0xbf, 0x0b, 0x8b, - 0x23, 0x3d, 0xf9, 0x78, 0x8b, 0x70, 0x55, 0x8d, 0x9c, 0x63, 0xe2, 0xbc, 0x82, 0xd5, 0xf8, 0xe5, - 0x10, 0x65, 0x99, 0x8d, 0x05, 0x5b, 0x63, 0xb7, 0xc4, 0x65, 0x98, 0xe3, 0x29, 0x3a, 0xdd, 0xb6, - 0xa9, 0x93, 0x81, 0x8d, 0x84, 0xf8, 0x33, 0xcc, 0xdc, 0x70, 0xad, 0xf2, 0x26, 0xcc, 0x1d, 0x60, - 0x82, 0x34, 0x34, 0x24, 0xc8, 0xa4, 0xbb, 0xe9, 0xe4, 0xe2, 0x4a, 0x68, 0xf6, 0x11, 0x4f, 0xf9, - 0xdd, 0x70, 0x71, 0x6a, 0xe6, 0xc0, 0x3b, 0x74, 0x4a, 0x3f, 0x05, 0x21, 0xca, 0x1b, 0xcf, 0x43, - 0xa7, 0x34, 0x9b, 0xce, 0xe0, 0xab, 0xe8, 0x0c, 0xbd, 0x3d, 0x9d, 0x45, 0x48, 0x7e, 0x31, 0xc0, - 0xf6, 0xa0, 0xcf, 0x49, 0x0c, 0xb3, 0x72, 0x81, 0x9b, 0x18, 0x79, 0xb7, 0x60, 0x99, 0x74, 0x6c, - 0xe4, 0x74, 0x70, 0xcf, 0xd0, 0x26, 0xd9, 0xe1, 0x9c, 0x9f, 0x1f, 0x01, 0x2a, 0x7e, 0x9a, 0x3e, - 0xf3, 0xc6, 0x4e, 0x12, 0x16, 0x7d, 0x33, 0xc2, 0xc6, 0x93, 0xef, 0xf9, 0x99, 0xfb, 0x39, 0x04, - 0xf1, 0x3a, 0x6b, 0x12, 0xbd, 0xf7, 0x4f, 0xe8, 0xf7, 0x02, 0x24, 0x2c, 0xdc, 0xd3, 0xb8, 0x27, - 0xcc, 0x3c, 0x71, 0x0b, 0xf7, 0xd4, 0xa9, 0xdd, 0x88, 0xbc, 0xfd, 0x6e, 0x54, 0x20, 0x31, 0x7a, - 0x90, 0x31, 0x8d, 0xbe, 0xe9, 0x2d, 0x31, 0x0e, 0x93, 0x2f, 0x42, 0x62, 0x52, 0xbe, 0x63, 0xc3, - 0x99, 0x87, 0x48, 0xfc, 0x8c, 0x43, 0x44, 0x6e, 0xc2, 0xd2, 0x44, 0xa0, 0x36, 0xb0, 0x0c, 0x9d, - 0x20, 0x76, 0x9c, 0xcf, 0xdc, 0x48, 0xdf, 0x6d, 0xaf, 0x9e, 0xf3, 0xcd, 0x7b, 0x8f, 0xc5, 0x96, - 0x6c, 0x48, 0xf1, 0x9d, 0x11, 0x17, 0xf4, 0x55, 0xba, 0x25, 0xec, 0xc9, 0x24, 0x4d, 0x3f, 0xc9, - 0xf8, 0xac, 0x1c, 0xa9, 0x0a, 0x1c, 0x8d, 0xe0, 0xf7, 0x99, 0x78, 0x64, 0xe5, 0x66, 0xe5, 0x41, - 0xfd, 0xaa, 0xc0, 0x95, 0x9e, 0x48, 0x00, 0x5b, 0xb4, 0x26, 0x46, 0x3f, 0xbd, 0x5a, 0x1d, 0x96, - 0x82, 0xe6, 0x5b, 0xb9, 0xf0, 0x2a, 0x0d, 0x89, 0xf5, 0x53, 0x8e, 0x37, 0xef, 0x2a, 0xa4, 0xc7, - 0x47, 0x8c, 0x83, 0xdc, 0x64, 0x66, 0x4c, 0x32, 0xba, 0xf1, 0x1a, 0x88, 0xa8, 0xa9, 0x03, 0xcf, - 0xa8, 0xf4, 0x4d, 0x10, 0x12, 0x2c, 0xa7, 0x6d, 0x44, 0x74, 0x9f, 0xa4, 0xa4, 0xb7, 0x97, 0xd4, - 0x25, 0x00, 0xb7, 0x6b, 0x1f, 0x22, 0x21, 0xf4, 0x84, 0x38, 0xce, 0x1e, 0x22, 0xf9, 0xbd, 0x11, - 0xe1, 0xa1, 0xb3, 0x09, 0x17, 0x0f, 0x0a, 0x97, 0xf6, 0xf3, 0x10, 0x33, 0x07, 0x7d, 0x8d, 0xde, - 0x27, 0x61, 0xde, 0x3c, 0xe6, 0xa0, 0xdf, 0x1c, 0x3a, 0xe3, 0xe6, 0x89, 0x78, 0x9b, 0xe7, 0x1d, - 0x38, 0xd7, 0xd1, 0x1d, 0x6d, 0x42, 0x41, 0x4c, 0xe2, 0x71, 0x35, 0xdb, 0xd1, 0x1d, 0x9f, 0x56, - 0x4a, 0x9f, 0x43, 0xac, 0x39, 0x64, 0x4f, 0x6f, 0xda, 0x76, 0x36, 0xc6, 0xe2, 0xb5, 0xc2, 0x9f, - 0xd9, 0x71, 0x6a, 0x60, 0x87, 0x93, 0x0c, 0x61, 0xfa, 0x2c, 0x71, 0xff, 0x08, 0xd0, 0x6f, 0xb9, - 0xfc, 0x86, 0x8f, 0x7a, 0xf1, 0x9c, 0xbf, 0xf2, 0x8b, 0x04, 0x49, 0xc1, 0xda, 0xed, 0x9e, 0xde, - 0xa6, 0x17, 0x4c, 0x65, 0x6b, 0xb7, 0x7a, 0x57, 0xab, 0xad, 0x6b, 0xb7, 0xb7, 0xd6, 0xee, 0x68, - 0xf7, 0x76, 0xee, 0xee, 0xec, 0x7e, 0xbc, 0x93, 0x0d, 0xe4, 0x97, 0x8e, 0x8e, 0x15, 0xd9, 0x83, - 0xbd, 0x67, 0x3e, 0x30, 0xf1, 0x97, 0xec, 0x2a, 0xf7, 0x87, 0xac, 0x55, 0x1a, 0x1b, 0x3b, 0xcd, - 0xac, 0x94, 0x5f, 0x3c, 0x3a, 0x56, 0xe6, 0x3d, 0x11, 0x6b, 0xfb, 0x0e, 0x32, 0xc9, 0x74, 0x40, - 0x75, 0x77, 0x7b, 0xbb, 0xd6, 0xcc, 0x06, 0xa7, 0x02, 0xc4, 0xdd, 0xf0, 0x3f, 0x98, 0xf7, 0x07, - 0xec, 0xd4, 0xb6, 0xb2, 0xa1, 0xbc, 0x7c, 0x74, 0xac, 0x64, 0x3c, 0xe8, 0x9d, 0x6e, 0x2f, 0x1f, - 0x7f, 0xf4, 0x7d, 0x21, 0xf0, 0xe3, 0x0f, 0x05, 0xe9, 0xca, 0xd7, 0x41, 0x48, 0xfb, 0xce, 0x3d, - 0xf9, 0xff, 0x70, 0xbe, 0x51, 0xbb, 0xb3, 0xb3, 0xb1, 0xae, 0x6d, 0x37, 0xee, 0x68, 0xcd, 0x4f, - 0xea, 0x1b, 0x9e, 0xea, 0xe6, 0x8e, 0x8e, 0x95, 0xa4, 0x28, 0xe9, 0x55, 0xe8, 0xba, 0xba, 0xb1, - 0xb7, 0xdb, 0xdc, 0xc8, 0x4a, 0x1c, 0x5d, 0xb7, 0x11, 0x3d, 0xd6, 0x19, 0xfa, 0x2a, 0x2c, 0xcf, - 0x40, 0x8f, 0x0a, 0x9b, 0x3f, 0x3a, 0x56, 0xd2, 0x75, 0x1b, 0xf1, 0x26, 0x64, 0x11, 0x57, 0x60, - 0x69, 0x32, 0x42, 0xc0, 0x43, 0xf9, 0xcc, 0xd1, 0xb1, 0x02, 0xd5, 0x31, 0xb6, 0x0c, 0xb9, 0xe9, - 0xd9, 0x77, 0xeb, 0xbb, 0x8d, 0xb5, 0xad, 0xac, 0x92, 0xcf, 0x1e, 0x1d, 0x2b, 0x29, 0xf7, 0x32, - 0xa0, 0xf8, 0x31, 0x0b, 0x95, 0x8f, 0x9e, 0x9f, 0x16, 0xa4, 0x17, 0xa7, 0x05, 0xe9, 0x8f, 0xd3, - 0x82, 0xf4, 0xf8, 0x65, 0x21, 0xf0, 0xe2, 0x65, 0x21, 0xf0, 0xeb, 0xcb, 0x42, 0xe0, 0xd3, 0x9b, - 0xed, 0x2e, 0xe9, 0x0c, 0xf6, 0xcb, 0x2d, 0xdc, 0x5f, 0xf5, 0xfe, 0x35, 0x1d, 0x7f, 0xf2, 0xff, - 0xcf, 0x93, 0x7f, 0x5b, 0xf7, 0xa3, 0xcc, 0x7e, 0xfd, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0x94, - 0x88, 0x09, 0x80, 0x94, 0x0f, 0x00, 0x00, + 0x16, 0xe6, 0x8a, 0xef, 0xc3, 0x87, 0xa8, 0xb5, 0x64, 0x53, 0xb4, 0x4d, 0xee, 0xe5, 0xc5, 0xbd, + 0xd6, 0xbd, 0x48, 0x28, 0xc7, 0x36, 0xe2, 0xc4, 0x40, 0x0a, 0x91, 0x92, 0x2d, 0xc2, 0x7a, 0x30, + 0x4b, 0x5a, 0x41, 0x92, 0x62, 0xb1, 0xe2, 0x8e, 0x49, 0xc6, 0xe4, 0xee, 0x66, 0x77, 0xa8, 0x50, + 0xae, 0xd2, 0xc5, 0x50, 0xe5, 0x22, 0x30, 0xdc, 0x08, 0x88, 0x91, 0x14, 0xf9, 0x07, 0xe9, 0x53, + 0xb9, 0x74, 0x97, 0x14, 0x81, 0x12, 0xc8, 0xff, 0x23, 0x09, 0xe6, 0xcc, 0x2c, 0xb9, 0x7c, 0x58, + 0x36, 0x5c, 0xa4, 0x21, 0x76, 0xce, 0xf9, 0xce, 0xcc, 0x39, 0xdf, 0x7c, 0x67, 0x66, 0x08, 0x97, + 0x28, 0x31, 0x0d, 0xe2, 0xf4, 0x3a, 0x26, 0x5d, 0xa5, 0x87, 0x36, 0x71, 0xf9, 0x6f, 0xc9, 0x76, + 0x2c, 0x6a, 0xc9, 0x99, 0x91, 0xb7, 0x84, 0xf6, 0xdc, 0x62, 0xcb, 0x6a, 0x59, 0xe8, 0x5c, 0x65, + 0x5f, 0x1c, 0x97, 0x2b, 0xb4, 0x2c, 0xab, 0xd5, 0x25, 0xab, 0x38, 0xda, 0xef, 0xdf, 0x5f, 0xa5, + 0x9d, 0x1e, 0x71, 0xa9, 0xde, 0xb3, 0x05, 0xe0, 0xb2, 0x6f, 0x99, 0xa6, 0x73, 0x68, 0x53, 0x8b, + 0x61, 0xad, 0xfb, 0xc2, 0x9d, 0xf7, 0xb9, 0x0f, 0x88, 0xe3, 0x76, 0x2c, 0xd3, 0x9f, 0x47, 0xee, + 0xe2, 0x54, 0x96, 0x86, 0xee, 0xb6, 0x85, 0x53, 0x99, 0x72, 0x1e, 0xe8, 0xdd, 0x8e, 0xa1, 0x53, + 0xcb, 0xe1, 0x88, 0xe2, 0x87, 0x90, 0xaa, 0xe9, 0x0e, 0xad, 0x13, 0xba, 0x49, 0x74, 0x83, 0x38, + 0xf2, 0x22, 0x84, 0xa9, 0x45, 0xf5, 0x6e, 0x56, 0x52, 0xa4, 0x95, 0x94, 0xca, 0x07, 0xb2, 0x0c, + 0xa1, 0xb6, 0xee, 0xb6, 0xb3, 0x73, 0x8a, 0xb4, 0x92, 0x54, 0xf1, 0xbb, 0xd8, 0x86, 0x10, 0x0b, + 0x65, 0x11, 0x1d, 0xd3, 0x20, 0x03, 0x2f, 0x02, 0x07, 0xcc, 0xba, 0x7f, 0x48, 0x89, 0x2b, 0x42, + 0xf8, 0x40, 0xbe, 0x01, 0x61, 0x2c, 0x2e, 0x1b, 0x54, 0xa4, 0x95, 0xc4, 0xb5, 0x6c, 0xc9, 0xc7, + 0x22, 0x2f, 0xbe, 0x54, 0x63, 0xfe, 0x72, 0xe8, 0xf9, 0x49, 0x21, 0xa0, 0x72, 0x70, 0xf1, 0x5b, + 0x09, 0xa2, 0xe5, 0xae, 0xd5, 0x7c, 0x50, 0x5d, 0x1f, 0x66, 0x22, 0x8d, 0x32, 0x91, 0xb7, 0x61, + 0xde, 0xd6, 0x1d, 0xaa, 0xb9, 0x84, 0x6a, 0x6d, 0x2c, 0x03, 0x57, 0x4d, 0x5c, 0x2b, 0x94, 0x26, + 0x77, 0xa9, 0x34, 0x56, 0xad, 0x58, 0x26, 0x65, 0x8f, 0x51, 0xf0, 0x5f, 0x88, 0xb9, 0x54, 0xa7, + 0x44, 0xeb, 0x18, 0x98, 0x67, 0xb2, 0x9c, 0x38, 0x3d, 0x29, 0x44, 0xeb, 0xcc, 0x56, 0x5d, 0x57, + 0xa3, 0xe8, 0xac, 0x1a, 0xc5, 0x27, 0x73, 0xe0, 0x19, 0xe5, 0x55, 0x48, 0xe8, 0xb6, 0xad, 0x89, + 0x1d, 0xc2, 0xec, 0x22, 0xe5, 0xf4, 0xe9, 0x49, 0x01, 0xd6, 0x6c, 0x7b, 0x8f, 0x5b, 0x55, 0xd0, + 0x87, 0xdf, 0xf2, 0x79, 0x88, 0xb4, 0x49, 0xa7, 0xd5, 0xa6, 0x98, 0x6a, 0x44, 0x15, 0x23, 0xb6, + 0x38, 0x9b, 0x08, 0x6b, 0xf4, 0x2d, 0xbe, 0x66, 0xdb, 0x9b, 0xba, 0xdb, 0x56, 0xa3, 0x3a, 0xff, + 0x90, 0x55, 0xc8, 0x36, 0x2d, 0x87, 0x68, 0xcd, 0xb6, 0xde, 0x31, 0x35, 0x46, 0x0e, 0x31, 0x34, + 0x31, 0x63, 0x48, 0x91, 0x56, 0xa2, 0xe5, 0xe5, 0xd3, 0x93, 0xc2, 0x52, 0xc5, 0x72, 0x48, 0x85, + 0x41, 0xb6, 0x10, 0xb1, 0x89, 0x00, 0x75, 0xa9, 0x39, 0xcb, 0x2c, 0xdf, 0x80, 0x10, 0x53, 0x67, + 0x36, 0x8c, 0xe4, 0xe5, 0x4a, 0x5c, 0xba, 0x25, 0x4f, 0xba, 0xa5, 0x86, 0x27, 0x5d, 0xc1, 0x1b, + 0xa2, 0x6f, 0x65, 0x9e, 0x7e, 0x57, 0x08, 0x3c, 0x7a, 0x56, 0x90, 0x9e, 0x3e, 0x2b, 0x48, 0x5f, + 0xff, 0xa6, 0x04, 0x8a, 0x7f, 0x86, 0x21, 0x22, 0xb8, 0xfc, 0x08, 0xa2, 0x7e, 0x4e, 0x12, 0xd7, + 0x2e, 0xfb, 0xb7, 0x44, 0xb8, 0x4a, 0x15, 0xcb, 0x74, 0x89, 0xe9, 0xf6, 0x5d, 0x31, 0xb1, 0x17, + 0xc3, 0xd8, 0xe0, 0x05, 0x76, 0x0c, 0xe4, 0x29, 0xce, 0xd9, 0xc0, 0xd4, 0xd9, 0x56, 0xa0, 0xb3, + 0x6a, 0xf8, 0xd8, 0x64, 0x9c, 0x05, 0x87, 0x6c, 0x7e, 0x20, 0x2a, 0x0a, 0xbd, 0xb6, 0xa2, 0x18, + 0x5b, 0xf8, 0xf1, 0xef, 0x05, 0x89, 0x57, 0x25, 0x57, 0x20, 0xd5, 0xd5, 0x5d, 0xaa, 0xed, 0x33, + 0x6a, 0xd9, 0xf2, 0x9c, 0x94, 0xe5, 0x69, 0x45, 0x09, 0x65, 0x8a, 0xd4, 0x13, 0x2c, 0x8a, 0x9b, + 0x0c, 0x79, 0x05, 0x32, 0x38, 0x49, 0xd3, 0xea, 0xf5, 0x3a, 0x94, 0x6f, 0x6a, 0x04, 0x85, 0x9b, + 0x66, 0xf6, 0x0a, 0x9a, 0x71, 0x3b, 0x2f, 0x42, 0xdc, 0xd0, 0xa9, 0xce, 0x21, 0x51, 0x84, 0xc4, + 0x98, 0x01, 0x9d, 0x57, 0x60, 0x7e, 0xd8, 0xb7, 0x2e, 0x87, 0xc4, 0xf8, 0x2c, 0x23, 0x33, 0x02, + 0xaf, 0xc2, 0xa2, 0x49, 0x06, 0x54, 0x9b, 0x44, 0xc7, 0x11, 0x2d, 0x33, 0xdf, 0xde, 0x78, 0xc4, + 0x7f, 0x20, 0xdd, 0xf4, 0xc8, 0xe7, 0x58, 0x40, 0x6c, 0x6a, 0x68, 0x45, 0x58, 0x09, 0xce, 0xe1, + 0xc4, 0x13, 0xd8, 0x04, 0x62, 0x17, 0x98, 0xab, 0x32, 0x86, 0x5f, 0xf6, 0xa9, 0x38, 0x89, 0xa0, + 0xa1, 0x70, 0xff, 0x05, 0x49, 0x87, 0xb8, 0xfd, 0x2e, 0x15, 0x73, 0xa4, 0xd0, 0x9d, 0x10, 0x36, + 0x84, 0xfc, 0x1b, 0x52, 0xe4, 0xa0, 0x63, 0x10, 0xb3, 0x49, 0x38, 0x26, 0x8d, 0x98, 0xa4, 0x67, + 0xf4, 0x6a, 0xb5, 0x1d, 0xcb, 0xb6, 0x5c, 0x62, 0x68, 0xfe, 0xd6, 0x9b, 0x57, 0xa4, 0x95, 0x90, + 0x2a, 0x7b, 0xbe, 0x51, 0xfb, 0xc9, 0xab, 0xc3, 0x08, 0x47, 0xb3, 0x1d, 0x4b, 0xa3, 0x03, 0x3e, + 0x7b, 0x86, 0x57, 0xe1, 0xf9, 0x6a, 0x8e, 0xd5, 0x18, 0xe0, 0x12, 0x37, 0xcf, 0xe8, 0xb1, 0x05, + 0x3c, 0xec, 0x66, 0x37, 0x52, 0x31, 0x0b, 0xa1, 0x75, 0x9d, 0xea, 0x72, 0x06, 0x82, 0x74, 0xe0, + 0x66, 0x25, 0x25, 0xb8, 0x92, 0x54, 0xd9, 0x67, 0xf1, 0xaf, 0x39, 0x08, 0xed, 0x59, 0x94, 0xc8, + 0xd7, 0x21, 0xc4, 0xe4, 0x83, 0x5d, 0x91, 0x9e, 0x75, 0x50, 0xd5, 0x3b, 0x2d, 0x93, 0x18, 0xdb, + 0x6e, 0xab, 0x71, 0x68, 0x13, 0x15, 0xc1, 0x13, 0x87, 0xc6, 0x48, 0xe6, 0x8b, 0x10, 0x76, 0xac, + 0xbe, 0xc9, 0x8f, 0xab, 0xb0, 0xca, 0x07, 0xf2, 0x06, 0xc4, 0x86, 0xea, 0x0d, 0xbd, 0x4e, 0xbd, + 0xf3, 0x4c, 0xbd, 0xac, 0xb7, 0x84, 0x41, 0x8d, 0xee, 0x0b, 0x11, 0xbf, 0x07, 0x4b, 0x43, 0x3d, + 0x8d, 0xf1, 0x16, 0xe6, 0xaa, 0x1a, 0x3a, 0x47, 0xc4, 0xf9, 0x05, 0xab, 0xf1, 0xcb, 0x21, 0x82, + 0x99, 0x8d, 0x04, 0x5b, 0xc5, 0x5b, 0xe2, 0x0a, 0xcc, 0xf3, 0x14, 0xdd, 0x4e, 0xcb, 0xd4, 0x69, + 0xdf, 0x21, 0x42, 0xfc, 0x69, 0x34, 0xd7, 0x3d, 0xab, 0xbc, 0x09, 0xf3, 0x07, 0x16, 0x25, 0x1a, + 0x19, 0x50, 0x62, 0xb2, 0xdd, 0x74, 0xb3, 0x31, 0x25, 0x38, 0xfb, 0x88, 0x67, 0xfc, 0x6e, 0x78, + 0x38, 0x35, 0x7d, 0xe0, 0x1f, 0xba, 0xc5, 0x9f, 0xe6, 0x20, 0xc2, 0x1b, 0xcf, 0x47, 0xa7, 0x34, + 0x9b, 0xce, 0xb9, 0x57, 0xd1, 0x19, 0x7c, 0x7b, 0x3a, 0x0b, 0x90, 0xf8, 0xb2, 0x6f, 0x39, 0xfd, + 0x1e, 0x27, 0x31, 0x84, 0xe5, 0x02, 0x37, 0x21, 0x79, 0xb7, 0x60, 0x99, 0xb6, 0x1d, 0xe2, 0xb6, + 0xad, 0xae, 0xa1, 0x4d, 0xb2, 0xc3, 0x39, 0xbf, 0x30, 0x04, 0x94, 0xc7, 0x69, 0xfa, 0xdc, 0x1f, + 0x3b, 0x49, 0x58, 0xe4, 0xcd, 0x08, 0x1b, 0x4d, 0xbe, 0x37, 0xce, 0xdc, 0xcf, 0x41, 0x88, 0xd5, + 0xb0, 0x49, 0xf4, 0xee, 0x3f, 0xa1, 0xdf, 0x8b, 0x10, 0xb7, 0xad, 0xae, 0xc6, 0x3d, 0x21, 0xf4, + 0xc4, 0x6c, 0xab, 0xab, 0x4e, 0xed, 0x46, 0xf8, 0xed, 0x77, 0xa3, 0x0c, 0xf1, 0xe1, 0x83, 0x0c, + 0x35, 0xfa, 0xa6, 0xb7, 0xc4, 0x28, 0x4c, 0xbe, 0x04, 0xf1, 0x49, 0xf9, 0x8e, 0x0c, 0x67, 0x1e, + 0x22, 0xb1, 0x33, 0x0e, 0x11, 0xb9, 0x01, 0xe7, 0x27, 0x02, 0xb5, 0xbe, 0x6d, 0xe8, 0x94, 0xe0, + 0x71, 0x3e, 0x73, 0x23, 0xc7, 0x6e, 0x7b, 0xf5, 0xdc, 0xd8, 0xbc, 0xf7, 0x30, 0xb6, 0xe8, 0x40, + 0x92, 0xef, 0x8c, 0xb8, 0xa0, 0xaf, 0xb2, 0x2d, 0xc1, 0x27, 0x93, 0x34, 0xfd, 0x24, 0xe3, 0xb3, + 0x72, 0xa4, 0x2a, 0x70, 0x2c, 0x82, 0xdf, 0x67, 0xe2, 0x91, 0x95, 0x9d, 0x95, 0x07, 0xf3, 0xab, + 0x02, 0x57, 0x7c, 0x22, 0x01, 0x6c, 0xb1, 0x9a, 0x90, 0x7e, 0x76, 0xb5, 0xba, 0x98, 0x82, 0x36, + 0xb6, 0x72, 0xfe, 0x55, 0x1a, 0x12, 0xeb, 0x27, 0x5d, 0x7f, 0xde, 0x15, 0x48, 0x8d, 0x8e, 0x18, + 0x97, 0x78, 0xc9, 0xcc, 0x98, 0x64, 0x78, 0xe3, 0xd5, 0x09, 0x55, 0x93, 0x07, 0xbe, 0x51, 0xf1, + 0x9b, 0x39, 0x88, 0x63, 0x4e, 0xdb, 0x84, 0xea, 0x63, 0x92, 0x92, 0xde, 0x5e, 0x52, 0x97, 0x01, + 0xbc, 0xae, 0x7d, 0x48, 0x84, 0xd0, 0xe3, 0xe2, 0x38, 0x7b, 0x48, 0xe4, 0xf7, 0x87, 0x84, 0x07, + 0xcf, 0x26, 0x5c, 0x3c, 0x28, 0x3c, 0xda, 0x2f, 0x40, 0xd4, 0xec, 0xf7, 0x34, 0x76, 0x9f, 0x84, + 0x78, 0xf3, 0x98, 0xfd, 0x5e, 0x63, 0xe0, 0x8e, 0x9a, 0x27, 0xec, 0x6f, 0x9e, 0x77, 0xe1, 0x5c, + 0x5b, 0x77, 0xb5, 0x09, 0x05, 0xa1, 0xc4, 0x63, 0x6a, 0xa6, 0xad, 0xbb, 0x63, 0x5a, 0x29, 0x7e, + 0x01, 0xd1, 0xc6, 0x00, 0x9f, 0xde, 0xac, 0xed, 0x1c, 0xcb, 0x12, 0xaf, 0x15, 0xfe, 0xcc, 0x8e, + 0x31, 0x03, 0x1e, 0x4e, 0x32, 0x84, 0xd8, 0xb3, 0xc4, 0xfb, 0x23, 0xc0, 0xbe, 0xe5, 0xd2, 0x1b, + 0x3e, 0xea, 0xc5, 0x73, 0xfe, 0xff, 0xbf, 0x48, 0x90, 0x10, 0xac, 0xdd, 0xee, 0xea, 0x2d, 0x76, + 0xc1, 0x94, 0xb7, 0x76, 0x2b, 0x77, 0xb5, 0xea, 0xba, 0x76, 0x7b, 0x6b, 0xed, 0x8e, 0x76, 0x6f, + 0xe7, 0xee, 0xce, 0xee, 0x27, 0x3b, 0x99, 0x40, 0xee, 0xfc, 0xd1, 0xb1, 0x22, 0xfb, 0xb0, 0xf7, + 0xcc, 0x07, 0xa6, 0xf5, 0x15, 0x5e, 0xe5, 0xe3, 0x21, 0x6b, 0xe5, 0xfa, 0xc6, 0x4e, 0x23, 0x23, + 0xe5, 0x96, 0x8e, 0x8e, 0x95, 0x05, 0x5f, 0xc4, 0xda, 0xbe, 0x4b, 0x4c, 0x3a, 0x1d, 0x50, 0xd9, + 0xdd, 0xde, 0xae, 0x36, 0x32, 0x73, 0x53, 0x01, 0xe2, 0x6e, 0xf8, 0x1f, 0x2c, 0x8c, 0x07, 0xec, + 0x54, 0xb7, 0x32, 0xc1, 0x9c, 0x7c, 0x74, 0xac, 0xa4, 0x7d, 0xe8, 0x9d, 0x4e, 0x37, 0x17, 0x7b, + 0xf4, 0x7d, 0x3e, 0xf0, 0xe3, 0x0f, 0x79, 0x89, 0x55, 0x96, 0x1a, 0x3b, 0xf7, 0xe4, 0x77, 0xe0, + 0x42, 0xbd, 0x7a, 0x67, 0x67, 0x63, 0x5d, 0xdb, 0xae, 0xdf, 0xd1, 0x1a, 0x9f, 0xd6, 0x36, 0x7c, + 0xd5, 0xcd, 0x1f, 0x1d, 0x2b, 0x09, 0x51, 0xd2, 0xab, 0xd0, 0x35, 0x75, 0x63, 0x6f, 0xb7, 0xb1, + 0x91, 0x91, 0x38, 0xba, 0xe6, 0x10, 0x76, 0xac, 0x23, 0xfa, 0x2a, 0x2c, 0xcf, 0x40, 0x0f, 0x0b, + 0x5b, 0x38, 0x3a, 0x56, 0x52, 0x35, 0x87, 0xf0, 0x26, 0xc4, 0x88, 0x12, 0x64, 0xa7, 0x23, 0x76, + 0x6b, 0xbb, 0xf5, 0xb5, 0xad, 0x8c, 0x92, 0xcb, 0x1c, 0x1d, 0x2b, 0x49, 0xef, 0x80, 0x67, 0xf8, + 0x51, 0x65, 0xe5, 0x8f, 0x9f, 0x9f, 0xe6, 0xa5, 0x17, 0xa7, 0x79, 0xe9, 0x8f, 0xd3, 0xbc, 0xf4, + 0xf8, 0x65, 0x3e, 0xf0, 0xe2, 0x65, 0x3e, 0xf0, 0xeb, 0xcb, 0x7c, 0xe0, 0xb3, 0x9b, 0xad, 0x0e, + 0x6d, 0xf7, 0xf7, 0x4b, 0x4d, 0xab, 0xb7, 0xea, 0xff, 0xbb, 0x39, 0xfa, 0xe4, 0xff, 0x89, 0x27, + 0xff, 0x8a, 0xee, 0x47, 0xd0, 0x7e, 0xfd, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0x30, 0xfe, 0x53, + 0x84, 0x68, 0x0f, 0x00, 0x00, } func (m *PartSetHeader) Marshal() (dAtA []byte, err error) { diff --git a/proto/tendermint/types/types.proto b/proto/tendermint/types/types.proto index b63e830009..7c6a00eb77 100644 --- a/proto/tendermint/types/types.proto +++ b/proto/tendermint/types/types.proto @@ -36,8 +36,6 @@ enum SignedMsgType { [(gogoproto.enumvalue_customname) = "PrevoteType"]; SIGNED_MSG_TYPE_PRECOMMIT = 2 [(gogoproto.enumvalue_customname) = "PrecommitType"]; - SIGNED_MSG_TYPE_COMMIT = 3 - [(gogoproto.enumvalue_customname) = "CommitType"]; // Proposals SIGNED_MSG_TYPE_PROPOSAL = 32 diff --git a/spec/abci++/api.md b/spec/abci++/api.md index d128257557..43a1d3e13e 100644 --- a/spec/abci++/api.md +++ b/spec/abci++/api.md @@ -693,7 +693,7 @@ When a validator _p_ enters Tenderdash consensus round _r_, height _h_, in which | txs | [bytes](#bytes) | repeated | List of transactions that have been picked as part of the proposed | | proposed_last_commit | [CommitInfo](#tendermint-abci-CommitInfo) | | Info about the last commit, obtained from the information in the proposed block. | | misbehavior | [Misbehavior](#tendermint-abci-Misbehavior) | repeated | List of information about validators that acted incorrectly. | -| hash | [bytes](#bytes) | | The block header's hash of the proposed block. | +| hash | [bytes](#bytes) | | The block header's hash of the proposed block. It is computed as a Merkle tree from the header fields. | | height | [int64](#int64) | | The height of the proposed block. | | round | [int32](#int32) | | Round number for the block | | time | [google.protobuf.Timestamp](#google-protobuf-Timestamp) | | Timestamp included in the proposed block. | diff --git a/spec/consensus/signing.md b/spec/consensus/signing.md index 33ec7085d9..b3c1f9d2f5 100644 --- a/spec/consensus/signing.md +++ b/spec/consensus/signing.md @@ -193,7 +193,7 @@ app state using vote signature. Data needed to do the verification is: * Chain ID * Commit information: - * Type (constant, always Commit) + * Type (constant, always Precommit) * Height * Round * Hash of CanonicalBlockID diff --git a/version/version.go b/version/version.go index fd74af9e7c..f529f3c8bc 100644 --- a/version/version.go +++ b/version/version.go @@ -11,7 +11,7 @@ const ( // when not using git describe. It is formatted with semantic versioning. TMVersionDefault = "0.12.0-dev.2" // ABCISemVer is the semantic version of the ABCI library - ABCISemVer = "0.20.0" + ABCISemVer = "0.21.0" ABCIVersion = ABCISemVer ) From fdbf643665bf2e13cf76b13343537d40f4c833a8 Mon Sep 17 00:00:00 2001 From: lklimek <842586+lklimek@users.noreply.github.com> Date: Wed, 28 Jun 2023 14:05:10 +0200 Subject: [PATCH 04/19] fix!: use millisecond resolution of block time (#650) * chore!: block time resolution changed to milliseconds * test(consensus): adjust pbts tests for milliseconds * doc(proto): block time is truncated to milliseconds * chore(version): bump abci and block protocol version * test(e2e): fix genesis time resolution to milliseconds * chore: change StateID.time to sfixed64 * test: update test vectors for new StateID.time type --- cmd/tenderdash/commands/init.go | 4 +- config/toml.go | 2 +- docs/tendermint-core/using-tendermint.md | 2 +- internal/consensus/pbts_test.go | 14 +- internal/consensus/peer_state.go | 3 +- internal/consensus/state_prevoter_test.go | 4 +- internal/consensus/state_test.go | 2 +- libs/time/time.go | 2 +- privval/file_test.go | 3 +- privval/msgs_test.go | 13 +- proto/tendermint/types/types.go | 12 +- proto/tendermint/types/types.pb.go | 285 ++++++++++------------ proto/tendermint/types/types.proto | 7 +- proto/tendermint/types/types_test.go | 48 ++-- test/e2e/runner/setup.go | 3 +- types/block.go | 7 +- types/block_test.go | 12 +- types/evidence_test.go | 8 +- types/proposal_test.go | 8 +- types/test_util.go | 5 +- types/vote_set_test.go | 5 +- types/vote_test.go | 3 +- version/version.go | 4 +- 23 files changed, 208 insertions(+), 248 deletions(-) diff --git a/cmd/tenderdash/commands/init.go b/cmd/tenderdash/commands/init.go index ce94f7b950..30443599ca 100644 --- a/cmd/tenderdash/commands/init.go +++ b/cmd/tenderdash/commands/init.go @@ -4,7 +4,6 @@ import ( "context" "errors" "fmt" - "time" "github.com/dashpay/dashd-go/btcjson" "github.com/spf13/cobra" @@ -13,6 +12,7 @@ import ( "github.com/tendermint/tendermint/libs/log" tmos "github.com/tendermint/tendermint/libs/os" tmrand "github.com/tendermint/tendermint/libs/rand" + tmtime "github.com/tendermint/tendermint/libs/time" "github.com/tendermint/tendermint/privval" "github.com/tendermint/tendermint/types" ) @@ -103,7 +103,7 @@ func initFilesWithConfig(ctx context.Context, conf nodeConfig, logger log.Logger genDoc := types.GenesisDoc{ ChainID: fmt.Sprintf("test-chain-%v", tmrand.Str(6)), - GenesisTime: time.Now(), + GenesisTime: tmtime.Now(), ConsensusParams: types.DefaultConsensusParams(), QuorumType: btcjson.LLMQType(conf.quorumType), InitialCoreChainLockedHeight: conf.coreChainLockedHeight, diff --git a/config/toml.go b/config/toml.go index 954ec3752b..bfb1f9e43e 100644 --- a/config/toml.go +++ b/config/toml.go @@ -641,7 +641,7 @@ func writeFile(filePath string, contents []byte, mode os.FileMode) error { } const testGenesisFmt = `{ - "genesis_time": "2018-10-10T08:20:13.695936996Z", + "genesis_time": "2018-10-10T08:20:13.695Z", "chain_id": "%s", "initial_height": "1", "initial_core_chain_locked_height": 1, diff --git a/docs/tendermint-core/using-tendermint.md b/docs/tendermint-core/using-tendermint.md index f4ee50c045..7627519eb7 100644 --- a/docs/tendermint-core/using-tendermint.md +++ b/docs/tendermint-core/using-tendermint.md @@ -87,7 +87,7 @@ definition](https://github.com/tenderdash/tenderdash/blob/master/types/genesis.g ```json { - "genesis_time": "2020-04-21T11:17:42.341227868Z", + "genesis_time": "2020-04-21T11:17:42.341Z", "chain_id": "test-chain-ROp9KF", "initial_height": "0", "initial_core_chain_locked_height": 1, diff --git a/internal/consensus/pbts_test.go b/internal/consensus/pbts_test.go index 1618593582..aaabbcfe1d 100644 --- a/internal/consensus/pbts_test.go +++ b/internal/consensus/pbts_test.go @@ -413,20 +413,20 @@ func TestProposerWaitTime(t *testing.T) { }{ { name: "block time greater than local time", - previousBlockTime: genesisTime.Add(5 * time.Nanosecond), - localTime: genesisTime.Add(1 * time.Nanosecond), - expectedWait: 4 * time.Nanosecond, + previousBlockTime: genesisTime.Add(5 * time.Millisecond), + localTime: genesisTime.Add(1 * time.Millisecond), + expectedWait: 4 * time.Millisecond, }, { name: "local time greater than block time", - previousBlockTime: genesisTime.Add(1 * time.Nanosecond), - localTime: genesisTime.Add(5 * time.Nanosecond), + previousBlockTime: genesisTime.Add(1 * time.Millisecond), + localTime: genesisTime.Add(5 * time.Millisecond), expectedWait: 0, }, { name: "both times equal", - previousBlockTime: genesisTime.Add(5 * time.Nanosecond), - localTime: genesisTime.Add(5 * time.Nanosecond), + previousBlockTime: genesisTime.Add(5 * time.Millisecond), + localTime: genesisTime.Add(5 * time.Millisecond), expectedWait: 0, }, } diff --git a/internal/consensus/peer_state.go b/internal/consensus/peer_state.go index 1847c57f36..b343b75979 100644 --- a/internal/consensus/peer_state.go +++ b/internal/consensus/peer_state.go @@ -14,7 +14,6 @@ import ( cstypes "github.com/tendermint/tendermint/internal/consensus/types" "github.com/tendermint/tendermint/libs/bits" "github.com/tendermint/tendermint/libs/log" - tmtime "github.com/tendermint/tendermint/libs/time" tmproto "github.com/tendermint/tendermint/proto/tendermint/types" "github.com/tendermint/tendermint/types" ) @@ -498,7 +497,7 @@ func (ps *PeerState) ApplyNewRoundStepMessage(msg *NewRoundStepMessage) { psRound = ps.PRS.Round psCatchupCommitRound = ps.PRS.CatchupCommitRound psCatchupCommit = ps.PRS.CatchupCommit - startTime = tmtime.Now().Add(-1 * time.Duration(msg.SecondsSinceStartTime) * time.Second) + startTime = time.Now().Add(-1 * time.Duration(msg.SecondsSinceStartTime) * time.Second) ) ps.PRS.Height = msg.Height diff --git a/internal/consensus/state_prevoter_test.go b/internal/consensus/state_prevoter_test.go index 57e8620f53..091f81d6e5 100644 --- a/internal/consensus/state_prevoter_test.go +++ b/internal/consensus/state_prevoter_test.go @@ -5,7 +5,6 @@ import ( "fmt" "regexp" "testing" - "time" "github.com/stretchr/testify/mock" "github.com/stretchr/testify/suite" @@ -16,6 +15,7 @@ import ( "github.com/tendermint/tendermint/internal/test/factory" tmrequire "github.com/tendermint/tendermint/internal/test/require" "github.com/tendermint/tendermint/libs/log" + tmtime "github.com/tendermint/tendermint/libs/time" tmproto "github.com/tendermint/tendermint/proto/tendermint/types" "github.com/tendermint/tendermint/types" ) @@ -292,7 +292,7 @@ func (suite *PrevoterTestSuite) TestCheckPrevoteMaj23() { } func (suite *PrevoterTestSuite) makeValidStateData() StateData { - now := time.Now() + now := tmtime.Now() validState := sm.State{ InitialHeight: 1000, LastBlockTime: now, diff --git a/internal/consensus/state_test.go b/internal/consensus/state_test.go index efa79daeac..9800fb6481 100644 --- a/internal/consensus/state_test.go +++ b/internal/consensus/state_test.go @@ -303,7 +303,7 @@ func TestStateProposalTime(t *testing.T) { expectNewBlock: false, }, { // TEST 1: BLOCK TIME IS IN FUTURE - blockTimeFunc: func(s *State) time.Time { return time.Now().Add(delay + precision + 24*time.Hour) }, + blockTimeFunc: func(s *State) time.Time { return tmtime.Now().Add(delay + precision + 24*time.Hour) }, expectNewBlock: true, }, { // TEST 2: BLOCK TIME IS OLDER THAN PREVIOUS BLOCK TIME diff --git a/libs/time/time.go b/libs/time/time.go index 786f9bbb42..7a90b7a0c1 100644 --- a/libs/time/time.go +++ b/libs/time/time.go @@ -13,5 +13,5 @@ func Now() time.Time { // Stripping the monotonic component is for time equality. // See https://github.com/tendermint/tendermint/pull/2203#discussion_r215064334 func Canonical(t time.Time) time.Time { - return t.Round(0).UTC() + return t.Truncate(time.Millisecond).UTC() } diff --git a/privval/file_test.go b/privval/file_test.go index 257be0af0f..fd33c2e014 100644 --- a/privval/file_test.go +++ b/privval/file_test.go @@ -18,6 +18,7 @@ import ( "github.com/tendermint/tendermint/crypto/bls12381" "github.com/tendermint/tendermint/libs/log" tmrand "github.com/tendermint/tendermint/libs/rand" + tmtime "github.com/tendermint/tendermint/libs/time" tmproto "github.com/tendermint/tendermint/proto/tendermint/types" "github.com/tendermint/tendermint/types" ) @@ -424,7 +425,7 @@ func newProposal(height int64, coreChainLockedHeight uint32, round int32, blockI CoreChainLockedHeight: coreChainLockedHeight, Round: round, BlockID: blockID, - Timestamp: time.Now(), + Timestamp: tmtime.Now(), } } diff --git a/privval/msgs_test.go b/privval/msgs_test.go index 36e23a6c23..296b7e83db 100644 --- a/privval/msgs_test.go +++ b/privval/msgs_test.go @@ -6,7 +6,6 @@ import ( "time" "github.com/gogo/protobuf/proto" - gogotypes "github.com/gogo/protobuf/types" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -23,10 +22,8 @@ var stamp = time.Date(2019, 10, 13, 16, 14, 44, 0, time.UTC) func exampleVote() *types.Vote { - ts, err := gogotypes.TimestampProto(time.Date(2022, 3, 4, 5, 6, 7, 8, time.UTC)) - if err != nil { - panic(err) - } + ts := uint64(time.Date(2022, 3, 4, 5, 6, 7, 8, time.UTC).UnixMilli()) + return &types.Vote{ Type: tmproto.PrecommitType, Height: 3, @@ -42,7 +39,7 @@ func exampleVote() *types.Vote { Height: 3, AppHash: crypto.Checksum([]byte("apphash")), CoreChainLockedHeight: 12345, - Time: *ts, + Time: ts, }.Hash(), }, ValidatorProTxHash: crypto.ProTxHashFromSeedBytes([]byte("validator_pro_tx_hash")), @@ -98,8 +95,8 @@ func TestPrivvalVectors(t *testing.T) { {"pubKey request", &privproto.PubKeyRequest{}, "0a00"}, {"pubKey response", &privproto.PubKeyResponse{PubKey: ppk, Error: nil}, "12340a321a30991a1c4f159f8e4730bf897e97e27c11f27ba0c1337111a3c102e1081a19372832b596623b1a248a0e00b156d80690cf"}, {"pubKey response with error", &privproto.PubKeyResponse{PubKey: cryptoproto.PublicKey{}, Error: remoteError}, "12140a0012100801120c697427732061206572726f72"}, - {"Vote Request", &privproto.SignVoteRequest{Vote: votepb}, "1aaa010aa701080210031802226c0a208b01023386c371778ecb6368573e539afc3cc860ec3a2f614e54fe5652f4fc80122608c0843d122072db3d959635dff1bb567bedaa70573392c5159666a3f8caf11e413aac52207a1a2071aa7631e86d2b19d27f0c63e41ed08e5f8d43cfbb69d35913a7731b61bbdc622a20959a8f5ef2be68d0ed3a07ed8cff85991ee7995c2ac17030f742c135f9729fbe30d5bb03420b1209657874656e73696f6e"}, - {"Vote Response", &privproto.SignedVoteResponse{Vote: *votepb, Error: nil}, "22aa010aa701080210031802226c0a208b01023386c371778ecb6368573e539afc3cc860ec3a2f614e54fe5652f4fc80122608c0843d122072db3d959635dff1bb567bedaa70573392c5159666a3f8caf11e413aac52207a1a2071aa7631e86d2b19d27f0c63e41ed08e5f8d43cfbb69d35913a7731b61bbdc622a20959a8f5ef2be68d0ed3a07ed8cff85991ee7995c2ac17030f742c135f9729fbe30d5bb03420b1209657874656e73696f6e"}, + {"Vote Request", &privproto.SignVoteRequest{Vote: votepb}, "1aaa010aa701080210031802226c0a208b01023386c371778ecb6368573e539afc3cc860ec3a2f614e54fe5652f4fc80122608c0843d122072db3d959635dff1bb567bedaa70573392c5159666a3f8caf11e413aac52207a1a20b583d49b95a0a5526966b519d8b7bba2aefc800b370a7438c7063728904e58ee2a20959a8f5ef2be68d0ed3a07ed8cff85991ee7995c2ac17030f742c135f9729fbe30d5bb03420b1209657874656e73696f6e"}, + {"Vote Response", &privproto.SignedVoteResponse{Vote: *votepb, Error: nil}, "22aa010aa701080210031802226c0a208b01023386c371778ecb6368573e539afc3cc860ec3a2f614e54fe5652f4fc80122608c0843d122072db3d959635dff1bb567bedaa70573392c5159666a3f8caf11e413aac52207a1a20b583d49b95a0a5526966b519d8b7bba2aefc800b370a7438c7063728904e58ee2a20959a8f5ef2be68d0ed3a07ed8cff85991ee7995c2ac17030f742c135f9729fbe30d5bb03420b1209657874656e73696f6e"}, {"Vote Response with error", &privproto.SignedVoteResponse{Vote: tmproto.Vote{}, Error: remoteError}, "22180a042202120012100801120c697427732061206572726f72"}, {"Proposal Request", &privproto.SignProposalRequest{Proposal: proposalpb}, "2a700a6e08011003180220022a4a0a208b01023386c371778ecb6368573e539afc3cc860ec3a2f614e54fe5652f4fc80122608c0843d122072db3d959635dff1bb567bedaa70573392c5159666a3f8caf11e413aac52207a320608f49a8ded053a10697427732061207369676e6174757265"}, {"Proposal Response", &privproto.SignedProposalResponse{Proposal: *proposalpb, Error: nil}, "32700a6e08011003180220022a4a0a208b01023386c371778ecb6368573e539afc3cc860ec3a2f614e54fe5652f4fc80122608c0843d122072db3d959635dff1bb567bedaa70573392c5159666a3f8caf11e413aac52207a320608f49a8ded053a10697427732061207369676e6174757265"}, diff --git a/proto/tendermint/types/types.go b/proto/tendermint/types/types.go index 3073c7a99f..7d96f13248 100644 --- a/proto/tendermint/types/types.go +++ b/proto/tendermint/types/types.go @@ -4,8 +4,6 @@ import ( "bytes" "fmt" - "github.com/gogo/protobuf/types" - "github.com/tendermint/tendermint/crypto" "github.com/tendermint/tendermint/internal/libs/protoio" tmbytes "github.com/tendermint/tendermint/libs/bytes" @@ -120,7 +118,7 @@ func (s *StateID) IsZero() bool { s.AppVersion == 0 && s.CoreChainLockedHeight == 0 && s.Height == 0 && - s.Time.Equal(types.Timestamp{})) + s.Time == 0) } // Copy returns new StateID that is equal to this one @@ -134,12 +132,12 @@ func (s StateID) Copy() StateID { func (s StateID) String() string { return fmt.Sprintf( - `v%d:h=%d,cl=%d,ah=%s,t=%s`, + `v%d:h=%d,cl=%d,ah=%s,t=%d`, s.AppVersion, s.Height, s.CoreChainLockedHeight, tmbytes.HexBytes(s.AppHash).ShortString(), - s.Time.String(), + s.Time, ) } @@ -159,8 +157,8 @@ func (s StateID) Equal(other StateID) bool { // ValidateBasic performs basic validation. func (s StateID) ValidateBasic() error { - if s.Time.Equal(types.Timestamp{}) { - return fmt.Errorf("invalid stateID time %s", s.Time.String()) + if s.Time == 0 { + return fmt.Errorf("invalid stateID time %d", s.Time) } if len(s.AppHash) != crypto.DefaultAppHashSize { return fmt.Errorf( diff --git a/proto/tendermint/types/types.pb.go b/proto/tendermint/types/types.pb.go index 26e30b498d..092e0c4da1 100644 --- a/proto/tendermint/types/types.pb.go +++ b/proto/tendermint/types/types.pb.go @@ -8,8 +8,8 @@ import ( fmt "fmt" _ "github.com/gogo/protobuf/gogoproto" proto "github.com/gogo/protobuf/proto" + _ "github.com/gogo/protobuf/types" github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" - types "github.com/gogo/protobuf/types" crypto "github.com/tendermint/tendermint/proto/tendermint/crypto" version "github.com/tendermint/tendermint/proto/tendermint/version" io "io" @@ -283,8 +283,8 @@ type StateID struct { AppHash []byte `protobuf:"bytes,3,opt,name=app_hash,json=appHash,proto3" json:"app_hash,omitempty"` // CoreChainLockedHeight for the block, equal to Header.CoreChainLockedHeight. CoreChainLockedHeight uint32 `protobuf:"fixed32,4,opt,name=core_chain_locked_height,json=coreChainLockedHeight,proto3" json:"core_chain_locked_height,omitempty"` - // Time of the block. - Time types.Timestamp `protobuf:"bytes,5,opt,name=time,proto3" json:"time"` + // Time of the block in milliseconds since epoch, truncated (rounded down) to milliseconds + Time uint64 `protobuf:"fixed64,5,opt,name=time,proto3" json:"time,omitempty"` } func (m *StateID) Reset() { *m = StateID{} } @@ -343,11 +343,11 @@ func (m *StateID) GetCoreChainLockedHeight() uint32 { return 0 } -func (m *StateID) GetTime() types.Timestamp { +func (m *StateID) GetTime() uint64 { if m != nil { return m.Time } - return types.Timestamp{} + return 0 } // Header defines the structure of a Tendermint block header. @@ -356,7 +356,8 @@ type Header struct { Version version.Consensus `protobuf:"bytes,1,opt,name=version,proto3" json:"version"` ChainID string `protobuf:"bytes,2,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` Height int64 `protobuf:"varint,3,opt,name=height,proto3" json:"height,omitempty"` - Time time.Time `protobuf:"bytes,4,opt,name=time,proto3,stdtime" json:"time"` + // Time of the block, truncated (rounded down) to millisecond + Time time.Time `protobuf:"bytes,4,opt,name=time,proto3,stdtime" json:"time"` // prev block info LastBlockId BlockID `protobuf:"bytes,5,opt,name=last_block_id,json=lastBlockId,proto3" json:"last_block_id"` // hashes of block data @@ -1149,106 +1150,106 @@ func init() { func init() { proto.RegisterFile("tendermint/types/types.proto", fileDescriptor_d3a6e55e2345de56) } var fileDescriptor_d3a6e55e2345de56 = []byte{ - // 1573 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x57, 0x3b, 0x6f, 0x1b, 0xc7, - 0x16, 0xe6, 0x8a, 0xef, 0xc3, 0x87, 0xa8, 0xb5, 0x64, 0x53, 0xb4, 0x4d, 0xee, 0xe5, 0xc5, 0xbd, - 0xd6, 0xbd, 0x48, 0x28, 0xc7, 0x36, 0xe2, 0xc4, 0x40, 0x0a, 0x91, 0x92, 0x2d, 0xc2, 0x7a, 0x30, - 0x4b, 0x5a, 0x41, 0x92, 0x62, 0xb1, 0xe2, 0x8e, 0x49, 0xc6, 0xe4, 0xee, 0x66, 0x77, 0xa8, 0x50, - 0xae, 0xd2, 0xc5, 0x50, 0xe5, 0x22, 0x30, 0xdc, 0x08, 0x88, 0x91, 0x14, 0xf9, 0x07, 0xe9, 0x53, - 0xb9, 0x74, 0x97, 0x14, 0x81, 0x12, 0xc8, 0xff, 0x23, 0x09, 0xe6, 0xcc, 0x2c, 0xb9, 0x7c, 0x58, - 0x36, 0x5c, 0xa4, 0x21, 0x76, 0xce, 0xf9, 0xce, 0xcc, 0x39, 0xdf, 0x7c, 0x67, 0x66, 0x08, 0x97, - 0x28, 0x31, 0x0d, 0xe2, 0xf4, 0x3a, 0x26, 0x5d, 0xa5, 0x87, 0x36, 0x71, 0xf9, 0x6f, 0xc9, 0x76, - 0x2c, 0x6a, 0xc9, 0x99, 0x91, 0xb7, 0x84, 0xf6, 0xdc, 0x62, 0xcb, 0x6a, 0x59, 0xe8, 0x5c, 0x65, - 0x5f, 0x1c, 0x97, 0x2b, 0xb4, 0x2c, 0xab, 0xd5, 0x25, 0xab, 0x38, 0xda, 0xef, 0xdf, 0x5f, 0xa5, - 0x9d, 0x1e, 0x71, 0xa9, 0xde, 0xb3, 0x05, 0xe0, 0xb2, 0x6f, 0x99, 0xa6, 0x73, 0x68, 0x53, 0x8b, - 0x61, 0xad, 0xfb, 0xc2, 0x9d, 0xf7, 0xb9, 0x0f, 0x88, 0xe3, 0x76, 0x2c, 0xd3, 0x9f, 0x47, 0xee, - 0xe2, 0x54, 0x96, 0x86, 0xee, 0xb6, 0x85, 0x53, 0x99, 0x72, 0x1e, 0xe8, 0xdd, 0x8e, 0xa1, 0x53, - 0xcb, 0xe1, 0x88, 0xe2, 0x87, 0x90, 0xaa, 0xe9, 0x0e, 0xad, 0x13, 0xba, 0x49, 0x74, 0x83, 0x38, - 0xf2, 0x22, 0x84, 0xa9, 0x45, 0xf5, 0x6e, 0x56, 0x52, 0xa4, 0x95, 0x94, 0xca, 0x07, 0xb2, 0x0c, - 0xa1, 0xb6, 0xee, 0xb6, 0xb3, 0x73, 0x8a, 0xb4, 0x92, 0x54, 0xf1, 0xbb, 0xd8, 0x86, 0x10, 0x0b, - 0x65, 0x11, 0x1d, 0xd3, 0x20, 0x03, 0x2f, 0x02, 0x07, 0xcc, 0xba, 0x7f, 0x48, 0x89, 0x2b, 0x42, - 0xf8, 0x40, 0xbe, 0x01, 0x61, 0x2c, 0x2e, 0x1b, 0x54, 0xa4, 0x95, 0xc4, 0xb5, 0x6c, 0xc9, 0xc7, - 0x22, 0x2f, 0xbe, 0x54, 0x63, 0xfe, 0x72, 0xe8, 0xf9, 0x49, 0x21, 0xa0, 0x72, 0x70, 0xf1, 0x5b, - 0x09, 0xa2, 0xe5, 0xae, 0xd5, 0x7c, 0x50, 0x5d, 0x1f, 0x66, 0x22, 0x8d, 0x32, 0x91, 0xb7, 0x61, - 0xde, 0xd6, 0x1d, 0xaa, 0xb9, 0x84, 0x6a, 0x6d, 0x2c, 0x03, 0x57, 0x4d, 0x5c, 0x2b, 0x94, 0x26, - 0x77, 0xa9, 0x34, 0x56, 0xad, 0x58, 0x26, 0x65, 0x8f, 0x51, 0xf0, 0x5f, 0x88, 0xb9, 0x54, 0xa7, - 0x44, 0xeb, 0x18, 0x98, 0x67, 0xb2, 0x9c, 0x38, 0x3d, 0x29, 0x44, 0xeb, 0xcc, 0x56, 0x5d, 0x57, - 0xa3, 0xe8, 0xac, 0x1a, 0xc5, 0x27, 0x73, 0xe0, 0x19, 0xe5, 0x55, 0x48, 0xe8, 0xb6, 0xad, 0x89, - 0x1d, 0xc2, 0xec, 0x22, 0xe5, 0xf4, 0xe9, 0x49, 0x01, 0xd6, 0x6c, 0x7b, 0x8f, 0x5b, 0x55, 0xd0, - 0x87, 0xdf, 0xf2, 0x79, 0x88, 0xb4, 0x49, 0xa7, 0xd5, 0xa6, 0x98, 0x6a, 0x44, 0x15, 0x23, 0xb6, - 0x38, 0x9b, 0x08, 0x6b, 0xf4, 0x2d, 0xbe, 0x66, 0xdb, 0x9b, 0xba, 0xdb, 0x56, 0xa3, 0x3a, 0xff, - 0x90, 0x55, 0xc8, 0x36, 0x2d, 0x87, 0x68, 0xcd, 0xb6, 0xde, 0x31, 0x35, 0x46, 0x0e, 0x31, 0x34, - 0x31, 0x63, 0x48, 0x91, 0x56, 0xa2, 0xe5, 0xe5, 0xd3, 0x93, 0xc2, 0x52, 0xc5, 0x72, 0x48, 0x85, - 0x41, 0xb6, 0x10, 0xb1, 0x89, 0x00, 0x75, 0xa9, 0x39, 0xcb, 0x2c, 0xdf, 0x80, 0x10, 0x53, 0x67, - 0x36, 0x8c, 0xe4, 0xe5, 0x4a, 0x5c, 0xba, 0x25, 0x4f, 0xba, 0xa5, 0x86, 0x27, 0x5d, 0xc1, 0x1b, - 0xa2, 0x6f, 0x65, 0x9e, 0x7e, 0x57, 0x08, 0x3c, 0x7a, 0x56, 0x90, 0x9e, 0x3e, 0x2b, 0x48, 0x5f, - 0xff, 0xa6, 0x04, 0x8a, 0x7f, 0x86, 0x21, 0x22, 0xb8, 0xfc, 0x08, 0xa2, 0x7e, 0x4e, 0x12, 0xd7, - 0x2e, 0xfb, 0xb7, 0x44, 0xb8, 0x4a, 0x15, 0xcb, 0x74, 0x89, 0xe9, 0xf6, 0x5d, 0x31, 0xb1, 0x17, - 0xc3, 0xd8, 0xe0, 0x05, 0x76, 0x0c, 0xe4, 0x29, 0xce, 0xd9, 0xc0, 0xd4, 0xd9, 0x56, 0xa0, 0xb3, - 0x6a, 0xf8, 0xd8, 0x64, 0x9c, 0x05, 0x87, 0x6c, 0x7e, 0x20, 0x2a, 0x0a, 0xbd, 0xb6, 0xa2, 0x18, - 0x5b, 0xf8, 0xf1, 0xef, 0x05, 0x89, 0x57, 0x25, 0x57, 0x20, 0xd5, 0xd5, 0x5d, 0xaa, 0xed, 0x33, - 0x6a, 0xd9, 0xf2, 0x9c, 0x94, 0xe5, 0x69, 0x45, 0x09, 0x65, 0x8a, 0xd4, 0x13, 0x2c, 0x8a, 0x9b, - 0x0c, 0x79, 0x05, 0x32, 0x38, 0x49, 0xd3, 0xea, 0xf5, 0x3a, 0x94, 0x6f, 0x6a, 0x04, 0x85, 0x9b, - 0x66, 0xf6, 0x0a, 0x9a, 0x71, 0x3b, 0x2f, 0x42, 0xdc, 0xd0, 0xa9, 0xce, 0x21, 0x51, 0x84, 0xc4, - 0x98, 0x01, 0x9d, 0x57, 0x60, 0x7e, 0xd8, 0xb7, 0x2e, 0x87, 0xc4, 0xf8, 0x2c, 0x23, 0x33, 0x02, - 0xaf, 0xc2, 0xa2, 0x49, 0x06, 0x54, 0x9b, 0x44, 0xc7, 0x11, 0x2d, 0x33, 0xdf, 0xde, 0x78, 0xc4, - 0x7f, 0x20, 0xdd, 0xf4, 0xc8, 0xe7, 0x58, 0x40, 0x6c, 0x6a, 0x68, 0x45, 0x58, 0x09, 0xce, 0xe1, - 0xc4, 0x13, 0xd8, 0x04, 0x62, 0x17, 0x98, 0xab, 0x32, 0x86, 0x5f, 0xf6, 0xa9, 0x38, 0x89, 0xa0, - 0xa1, 0x70, 0xff, 0x05, 0x49, 0x87, 0xb8, 0xfd, 0x2e, 0x15, 0x73, 0xa4, 0xd0, 0x9d, 0x10, 0x36, - 0x84, 0xfc, 0x1b, 0x52, 0xe4, 0xa0, 0x63, 0x10, 0xb3, 0x49, 0x38, 0x26, 0x8d, 0x98, 0xa4, 0x67, - 0xf4, 0x6a, 0xb5, 0x1d, 0xcb, 0xb6, 0x5c, 0x62, 0x68, 0xfe, 0xd6, 0x9b, 0x57, 0xa4, 0x95, 0x90, - 0x2a, 0x7b, 0xbe, 0x51, 0xfb, 0xc9, 0xab, 0xc3, 0x08, 0x47, 0xb3, 0x1d, 0x4b, 0xa3, 0x03, 0x3e, - 0x7b, 0x86, 0x57, 0xe1, 0xf9, 0x6a, 0x8e, 0xd5, 0x18, 0xe0, 0x12, 0x37, 0xcf, 0xe8, 0xb1, 0x05, - 0x3c, 0xec, 0x66, 0x37, 0x52, 0x31, 0x0b, 0xa1, 0x75, 0x9d, 0xea, 0x72, 0x06, 0x82, 0x74, 0xe0, - 0x66, 0x25, 0x25, 0xb8, 0x92, 0x54, 0xd9, 0x67, 0xf1, 0xaf, 0x39, 0x08, 0xed, 0x59, 0x94, 0xc8, - 0xd7, 0x21, 0xc4, 0xe4, 0x83, 0x5d, 0x91, 0x9e, 0x75, 0x50, 0xd5, 0x3b, 0x2d, 0x93, 0x18, 0xdb, - 0x6e, 0xab, 0x71, 0x68, 0x13, 0x15, 0xc1, 0x13, 0x87, 0xc6, 0x48, 0xe6, 0x8b, 0x10, 0x76, 0xac, - 0xbe, 0xc9, 0x8f, 0xab, 0xb0, 0xca, 0x07, 0xf2, 0x06, 0xc4, 0x86, 0xea, 0x0d, 0xbd, 0x4e, 0xbd, - 0xf3, 0x4c, 0xbd, 0xac, 0xb7, 0x84, 0x41, 0x8d, 0xee, 0x0b, 0x11, 0xbf, 0x07, 0x4b, 0x43, 0x3d, - 0x8d, 0xf1, 0x16, 0xe6, 0xaa, 0x1a, 0x3a, 0x47, 0xc4, 0xf9, 0x05, 0xab, 0xf1, 0xcb, 0x21, 0x82, - 0x99, 0x8d, 0x04, 0x5b, 0xc5, 0x5b, 0xe2, 0x0a, 0xcc, 0xf3, 0x14, 0xdd, 0x4e, 0xcb, 0xd4, 0x69, - 0xdf, 0x21, 0x42, 0xfc, 0x69, 0x34, 0xd7, 0x3d, 0xab, 0xbc, 0x09, 0xf3, 0x07, 0x16, 0x25, 0x1a, - 0x19, 0x50, 0x62, 0xb2, 0xdd, 0x74, 0xb3, 0x31, 0x25, 0x38, 0xfb, 0x88, 0x67, 0xfc, 0x6e, 0x78, - 0x38, 0x35, 0x7d, 0xe0, 0x1f, 0xba, 0xc5, 0x9f, 0xe6, 0x20, 0xc2, 0x1b, 0xcf, 0x47, 0xa7, 0x34, - 0x9b, 0xce, 0xb9, 0x57, 0xd1, 0x19, 0x7c, 0x7b, 0x3a, 0x0b, 0x90, 0xf8, 0xb2, 0x6f, 0x39, 0xfd, - 0x1e, 0x27, 0x31, 0x84, 0xe5, 0x02, 0x37, 0x21, 0x79, 0xb7, 0x60, 0x99, 0xb6, 0x1d, 0xe2, 0xb6, - 0xad, 0xae, 0xa1, 0x4d, 0xb2, 0xc3, 0x39, 0xbf, 0x30, 0x04, 0x94, 0xc7, 0x69, 0xfa, 0xdc, 0x1f, - 0x3b, 0x49, 0x58, 0xe4, 0xcd, 0x08, 0x1b, 0x4d, 0xbe, 0x37, 0xce, 0xdc, 0xcf, 0x41, 0x88, 0xd5, - 0xb0, 0x49, 0xf4, 0xee, 0x3f, 0xa1, 0xdf, 0x8b, 0x10, 0xb7, 0xad, 0xae, 0xc6, 0x3d, 0x21, 0xf4, - 0xc4, 0x6c, 0xab, 0xab, 0x4e, 0xed, 0x46, 0xf8, 0xed, 0x77, 0xa3, 0x0c, 0xf1, 0xe1, 0x83, 0x0c, - 0x35, 0xfa, 0xa6, 0xb7, 0xc4, 0x28, 0x4c, 0xbe, 0x04, 0xf1, 0x49, 0xf9, 0x8e, 0x0c, 0x67, 0x1e, - 0x22, 0xb1, 0x33, 0x0e, 0x11, 0xb9, 0x01, 0xe7, 0x27, 0x02, 0xb5, 0xbe, 0x6d, 0xe8, 0x94, 0xe0, - 0x71, 0x3e, 0x73, 0x23, 0xc7, 0x6e, 0x7b, 0xf5, 0xdc, 0xd8, 0xbc, 0xf7, 0x30, 0xb6, 0xe8, 0x40, - 0x92, 0xef, 0x8c, 0xb8, 0xa0, 0xaf, 0xb2, 0x2d, 0xc1, 0x27, 0x93, 0x34, 0xfd, 0x24, 0xe3, 0xb3, - 0x72, 0xa4, 0x2a, 0x70, 0x2c, 0x82, 0xdf, 0x67, 0xe2, 0x91, 0x95, 0x9d, 0x95, 0x07, 0xf3, 0xab, - 0x02, 0x57, 0x7c, 0x22, 0x01, 0x6c, 0xb1, 0x9a, 0x90, 0x7e, 0x76, 0xb5, 0xba, 0x98, 0x82, 0x36, - 0xb6, 0x72, 0xfe, 0x55, 0x1a, 0x12, 0xeb, 0x27, 0x5d, 0x7f, 0xde, 0x15, 0x48, 0x8d, 0x8e, 0x18, - 0x97, 0x78, 0xc9, 0xcc, 0x98, 0x64, 0x78, 0xe3, 0xd5, 0x09, 0x55, 0x93, 0x07, 0xbe, 0x51, 0xf1, - 0x9b, 0x39, 0x88, 0x63, 0x4e, 0xdb, 0x84, 0xea, 0x63, 0x92, 0x92, 0xde, 0x5e, 0x52, 0x97, 0x01, - 0xbc, 0xae, 0x7d, 0x48, 0x84, 0xd0, 0xe3, 0xe2, 0x38, 0x7b, 0x48, 0xe4, 0xf7, 0x87, 0x84, 0x07, - 0xcf, 0x26, 0x5c, 0x3c, 0x28, 0x3c, 0xda, 0x2f, 0x40, 0xd4, 0xec, 0xf7, 0x34, 0x76, 0x9f, 0x84, - 0x78, 0xf3, 0x98, 0xfd, 0x5e, 0x63, 0xe0, 0x8e, 0x9a, 0x27, 0xec, 0x6f, 0x9e, 0x77, 0xe1, 0x5c, - 0x5b, 0x77, 0xb5, 0x09, 0x05, 0xa1, 0xc4, 0x63, 0x6a, 0xa6, 0xad, 0xbb, 0x63, 0x5a, 0x29, 0x7e, - 0x01, 0xd1, 0xc6, 0x00, 0x9f, 0xde, 0xac, 0xed, 0x1c, 0xcb, 0x12, 0xaf, 0x15, 0xfe, 0xcc, 0x8e, - 0x31, 0x03, 0x1e, 0x4e, 0x32, 0x84, 0xd8, 0xb3, 0xc4, 0xfb, 0x23, 0xc0, 0xbe, 0xe5, 0xd2, 0x1b, - 0x3e, 0xea, 0xc5, 0x73, 0xfe, 0xff, 0xbf, 0x48, 0x90, 0x10, 0xac, 0xdd, 0xee, 0xea, 0x2d, 0x76, - 0xc1, 0x94, 0xb7, 0x76, 0x2b, 0x77, 0xb5, 0xea, 0xba, 0x76, 0x7b, 0x6b, 0xed, 0x8e, 0x76, 0x6f, - 0xe7, 0xee, 0xce, 0xee, 0x27, 0x3b, 0x99, 0x40, 0xee, 0xfc, 0xd1, 0xb1, 0x22, 0xfb, 0xb0, 0xf7, - 0xcc, 0x07, 0xa6, 0xf5, 0x15, 0x5e, 0xe5, 0xe3, 0x21, 0x6b, 0xe5, 0xfa, 0xc6, 0x4e, 0x23, 0x23, - 0xe5, 0x96, 0x8e, 0x8e, 0x95, 0x05, 0x5f, 0xc4, 0xda, 0xbe, 0x4b, 0x4c, 0x3a, 0x1d, 0x50, 0xd9, - 0xdd, 0xde, 0xae, 0x36, 0x32, 0x73, 0x53, 0x01, 0xe2, 0x6e, 0xf8, 0x1f, 0x2c, 0x8c, 0x07, 0xec, - 0x54, 0xb7, 0x32, 0xc1, 0x9c, 0x7c, 0x74, 0xac, 0xa4, 0x7d, 0xe8, 0x9d, 0x4e, 0x37, 0x17, 0x7b, - 0xf4, 0x7d, 0x3e, 0xf0, 0xe3, 0x0f, 0x79, 0x89, 0x55, 0x96, 0x1a, 0x3b, 0xf7, 0xe4, 0x77, 0xe0, - 0x42, 0xbd, 0x7a, 0x67, 0x67, 0x63, 0x5d, 0xdb, 0xae, 0xdf, 0xd1, 0x1a, 0x9f, 0xd6, 0x36, 0x7c, - 0xd5, 0xcd, 0x1f, 0x1d, 0x2b, 0x09, 0x51, 0xd2, 0xab, 0xd0, 0x35, 0x75, 0x63, 0x6f, 0xb7, 0xb1, - 0x91, 0x91, 0x38, 0xba, 0xe6, 0x10, 0x76, 0xac, 0x23, 0xfa, 0x2a, 0x2c, 0xcf, 0x40, 0x0f, 0x0b, - 0x5b, 0x38, 0x3a, 0x56, 0x52, 0x35, 0x87, 0xf0, 0x26, 0xc4, 0x88, 0x12, 0x64, 0xa7, 0x23, 0x76, - 0x6b, 0xbb, 0xf5, 0xb5, 0xad, 0x8c, 0x92, 0xcb, 0x1c, 0x1d, 0x2b, 0x49, 0xef, 0x80, 0x67, 0xf8, - 0x51, 0x65, 0xe5, 0x8f, 0x9f, 0x9f, 0xe6, 0xa5, 0x17, 0xa7, 0x79, 0xe9, 0x8f, 0xd3, 0xbc, 0xf4, - 0xf8, 0x65, 0x3e, 0xf0, 0xe2, 0x65, 0x3e, 0xf0, 0xeb, 0xcb, 0x7c, 0xe0, 0xb3, 0x9b, 0xad, 0x0e, - 0x6d, 0xf7, 0xf7, 0x4b, 0x4d, 0xab, 0xb7, 0xea, 0xff, 0xbb, 0x39, 0xfa, 0xe4, 0xff, 0x89, 0x27, - 0xff, 0x8a, 0xee, 0x47, 0xd0, 0x7e, 0xfd, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0x30, 0xfe, 0x53, - 0x84, 0x68, 0x0f, 0x00, 0x00, + // 1569 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x57, 0xcf, 0x6f, 0x1b, 0xc5, + 0x17, 0xf7, 0xc6, 0xbf, 0x9f, 0x7f, 0xc4, 0xd9, 0x26, 0xad, 0xe3, 0xb6, 0xf6, 0x7e, 0xfd, 0x15, + 0x34, 0x20, 0x70, 0x4a, 0x8b, 0x28, 0x54, 0xe2, 0x10, 0x3b, 0x69, 0x63, 0x35, 0x3f, 0xcc, 0xda, + 0x0d, 0x02, 0x0e, 0xab, 0x8d, 0x77, 0x6a, 0x9b, 0xda, 0xbb, 0xcb, 0xee, 0x38, 0x38, 0x3d, 0x71, + 0xa3, 0xca, 0xa9, 0x07, 0x84, 0x7a, 0x89, 0x44, 0x05, 0x07, 0xfe, 0x03, 0xee, 0x9c, 0x7a, 0xec, + 0x0d, 0x0e, 0x28, 0xa0, 0xf4, 0x5f, 0xe0, 0x0c, 0x68, 0xde, 0xcc, 0xda, 0xeb, 0x1f, 0x0d, 0x55, + 0x0f, 0x5c, 0xac, 0x9d, 0xf7, 0x3e, 0x6f, 0xe6, 0xbd, 0xcf, 0x7c, 0xde, 0xcc, 0x18, 0x2e, 0x51, + 0x62, 0x1a, 0xc4, 0xe9, 0x75, 0x4c, 0xba, 0x4a, 0x0f, 0x6d, 0xe2, 0xf2, 0xdf, 0x92, 0xed, 0x58, + 0xd4, 0x92, 0x33, 0x23, 0x6f, 0x09, 0xed, 0xb9, 0xc5, 0x96, 0xd5, 0xb2, 0xd0, 0xb9, 0xca, 0xbe, + 0x38, 0x2e, 0x57, 0x68, 0x59, 0x56, 0xab, 0x4b, 0x56, 0x71, 0xb4, 0xdf, 0xbf, 0xb7, 0x4a, 0x3b, + 0x3d, 0xe2, 0x52, 0xbd, 0x67, 0x0b, 0xc0, 0x65, 0xdf, 0x32, 0x4d, 0xe7, 0xd0, 0xa6, 0x16, 0xc3, + 0x5a, 0xf7, 0x84, 0x3b, 0xef, 0x73, 0x1f, 0x10, 0xc7, 0xed, 0x58, 0xa6, 0x3f, 0x8f, 0xdc, 0xc5, + 0xa9, 0x2c, 0x0d, 0xdd, 0x6d, 0x0b, 0xa7, 0x32, 0xe5, 0x3c, 0xd0, 0xbb, 0x1d, 0x43, 0xa7, 0x96, + 0xc3, 0x11, 0xc5, 0x0f, 0x20, 0x55, 0xd3, 0x1d, 0x5a, 0x27, 0x74, 0x93, 0xe8, 0x06, 0x71, 0xe4, + 0x45, 0x08, 0x53, 0x8b, 0xea, 0xdd, 0xac, 0xa4, 0x48, 0x2b, 0x29, 0x95, 0x0f, 0x64, 0x19, 0x42, + 0x6d, 0xdd, 0x6d, 0x67, 0xe7, 0x14, 0x69, 0x25, 0xa9, 0xe2, 0x77, 0xb1, 0x0d, 0x21, 0x16, 0xca, + 0x22, 0x3a, 0xa6, 0x41, 0x06, 0x5e, 0x04, 0x0e, 0x98, 0x75, 0xff, 0x90, 0x12, 0x57, 0x84, 0xf0, + 0x81, 0xfc, 0x2e, 0x84, 0xb1, 0xb8, 0x6c, 0x50, 0x91, 0x56, 0x12, 0xd7, 0xb2, 0x25, 0x1f, 0x8b, + 0xbc, 0xf8, 0x52, 0x8d, 0xf9, 0xcb, 0xa1, 0xa7, 0x27, 0x85, 0x80, 0xca, 0xc1, 0xc5, 0x6f, 0x24, + 0x88, 0x96, 0xbb, 0x56, 0xf3, 0x7e, 0x75, 0x7d, 0x98, 0x89, 0x34, 0xca, 0x44, 0xde, 0x86, 0x79, + 0x5b, 0x77, 0xa8, 0xe6, 0x12, 0xaa, 0xb5, 0xb1, 0x0c, 0x5c, 0x35, 0x71, 0xad, 0x50, 0x9a, 0xdc, + 0xa5, 0xd2, 0x58, 0xb5, 0x62, 0x99, 0x94, 0x3d, 0x46, 0xc1, 0xeb, 0x10, 0x73, 0xa9, 0x4e, 0x89, + 0xd6, 0x31, 0x30, 0xcf, 0x64, 0x39, 0x71, 0x7a, 0x52, 0x88, 0xd6, 0x99, 0xad, 0xba, 0xae, 0x46, + 0xd1, 0x59, 0x35, 0x8a, 0x7f, 0x4a, 0xe0, 0x19, 0xe5, 0x55, 0x48, 0xe8, 0xb6, 0xad, 0x89, 0x1d, + 0xc2, 0xec, 0x22, 0xe5, 0xf4, 0xe9, 0x49, 0x01, 0xd6, 0x6c, 0x7b, 0x8f, 0x5b, 0x55, 0xd0, 0x87, + 0xdf, 0xf2, 0x79, 0x88, 0xb4, 0x49, 0xa7, 0xd5, 0xa6, 0x98, 0x6a, 0x44, 0x15, 0x23, 0xb6, 0x38, + 0x9b, 0x08, 0x6b, 0xf4, 0x2d, 0xbe, 0x66, 0xdb, 0x9b, 0xba, 0xdb, 0x56, 0xa3, 0x3a, 0xff, 0x90, + 0x55, 0xc8, 0x36, 0x2d, 0x87, 0x68, 0xcd, 0xb6, 0xde, 0x31, 0x35, 0x46, 0x0e, 0x31, 0x34, 0x31, + 0x63, 0x48, 0x91, 0x56, 0xa2, 0xe5, 0xe5, 0xd3, 0x93, 0xc2, 0x52, 0xc5, 0x72, 0x48, 0x85, 0x41, + 0xb6, 0x10, 0xb1, 0x89, 0x00, 0x75, 0xa9, 0x39, 0xcb, 0xcc, 0xb8, 0x65, 0xea, 0xcc, 0x86, 0x31, + 0x23, 0xfc, 0xbe, 0x99, 0x79, 0xfc, 0x5d, 0x21, 0xf0, 0xf0, 0x49, 0x41, 0x7a, 0xfc, 0xa4, 0x20, + 0x7d, 0xf5, 0x9b, 0x12, 0x28, 0xfe, 0x15, 0x86, 0x88, 0x60, 0xea, 0x43, 0x88, 0xfa, 0x2b, 0x4e, + 0x5c, 0xbb, 0xec, 0x27, 0x5c, 0xb8, 0x4a, 0x15, 0xcb, 0x74, 0x89, 0xe9, 0xf6, 0x5d, 0x41, 0xb7, + 0x17, 0xc3, 0x6a, 0xe5, 0xe9, 0x77, 0x0c, 0x64, 0x21, 0xce, 0x6b, 0xc5, 0xc4, 0x18, 0xd1, 0xe8, + 0xac, 0x1a, 0x3e, 0xae, 0x18, 0x23, 0xc1, 0x21, 0x57, 0xef, 0x8b, 0x7c, 0x43, 0xb8, 0x76, 0xae, + 0xc4, 0x5b, 0xad, 0xe4, 0xb5, 0x5a, 0xa9, 0xe1, 0xb5, 0x5a, 0x39, 0xc6, 0x16, 0x7e, 0xf4, 0x7b, + 0x41, 0xe2, 0x55, 0xc9, 0x15, 0x48, 0x75, 0x75, 0x97, 0x6a, 0xfb, 0x8c, 0x38, 0xb6, 0x7c, 0x18, + 0xa7, 0x58, 0x9e, 0xd6, 0x8b, 0xd0, 0x9d, 0x48, 0x3d, 0xc1, 0xa2, 0xb8, 0xc9, 0x90, 0x57, 0x20, + 0x83, 0x93, 0x34, 0xad, 0x5e, 0xaf, 0x43, 0xf9, 0x96, 0x45, 0x50, 0x96, 0x69, 0x66, 0xaf, 0xa0, + 0x19, 0x37, 0xeb, 0x22, 0xc4, 0x0d, 0x9d, 0xea, 0x1c, 0x12, 0x45, 0x48, 0x8c, 0x19, 0xd0, 0x79, + 0x05, 0xe6, 0x87, 0x5d, 0xe9, 0x72, 0x48, 0x8c, 0xcf, 0x32, 0x32, 0x23, 0xf0, 0x2a, 0x2c, 0x9a, + 0x64, 0x40, 0xb5, 0x49, 0x74, 0x1c, 0xd1, 0x32, 0xf3, 0xed, 0x8d, 0x47, 0xbc, 0x06, 0xe9, 0xa6, + 0x47, 0x3e, 0xc7, 0x02, 0x62, 0x53, 0x43, 0x2b, 0xc2, 0x4a, 0x70, 0x0e, 0x27, 0x9e, 0xc0, 0x26, + 0x10, 0xbb, 0xc0, 0x5c, 0x95, 0x31, 0xfc, 0xb2, 0x4f, 0xa3, 0x49, 0x04, 0x0d, 0x65, 0xf9, 0x3f, + 0x48, 0x3a, 0xc4, 0xed, 0x77, 0xa9, 0x98, 0x23, 0x85, 0xee, 0x84, 0xb0, 0x21, 0xe4, 0xff, 0x90, + 0x22, 0x07, 0x1d, 0x83, 0x98, 0x4d, 0xc2, 0x31, 0x69, 0xc4, 0x24, 0x3d, 0xa3, 0x57, 0xab, 0xed, + 0x58, 0xb6, 0xe5, 0x12, 0x43, 0xf3, 0x37, 0xd6, 0xbc, 0x22, 0xad, 0x84, 0x54, 0xd9, 0xf3, 0x8d, + 0x9a, 0x4b, 0x5e, 0x1d, 0x46, 0x38, 0x9a, 0xed, 0x58, 0x1a, 0x1d, 0xf0, 0xd9, 0x33, 0xbc, 0x0a, + 0xcf, 0x57, 0x73, 0xac, 0xc6, 0x00, 0x97, 0xb8, 0x71, 0x46, 0x07, 0x2d, 0xe0, 0x51, 0x36, 0xbb, + 0x4d, 0x8a, 0x59, 0x08, 0xad, 0xeb, 0x54, 0x97, 0x33, 0x10, 0xa4, 0x03, 0x37, 0x2b, 0x29, 0xc1, + 0x95, 0xa4, 0xca, 0x3e, 0x8b, 0x7f, 0xcf, 0x41, 0x68, 0xcf, 0xa2, 0x44, 0xbe, 0x0e, 0x21, 0x26, + 0x1f, 0xec, 0x8a, 0xf4, 0xac, 0x63, 0xa8, 0xde, 0x69, 0x99, 0xc4, 0xd8, 0x76, 0x5b, 0x8d, 0x43, + 0x9b, 0xa8, 0x08, 0x9e, 0x38, 0x12, 0x46, 0x32, 0x5f, 0x84, 0xb0, 0x63, 0xf5, 0x4d, 0x7e, 0x18, + 0x85, 0x55, 0x3e, 0x90, 0x37, 0x20, 0x36, 0x54, 0x6f, 0xe8, 0xdf, 0xd4, 0x3b, 0xcf, 0xd4, 0xcb, + 0x7a, 0x4b, 0x18, 0xd4, 0xe8, 0xbe, 0x10, 0xf1, 0x3b, 0xb0, 0x34, 0xd4, 0xd3, 0x18, 0x6f, 0x61, + 0xae, 0xaa, 0xa1, 0x73, 0x44, 0x9c, 0x5f, 0xb0, 0x1a, 0x3f, 0xfa, 0x23, 0x98, 0xd9, 0x48, 0xb0, + 0x55, 0xbc, 0x03, 0xae, 0xc0, 0x3c, 0x4f, 0xd1, 0xed, 0xb4, 0x4c, 0x9d, 0xf6, 0x1d, 0x22, 0xc4, + 0x9f, 0x46, 0x73, 0xdd, 0xb3, 0xca, 0x9b, 0x30, 0x7f, 0x60, 0x51, 0xa2, 0x91, 0x01, 0x25, 0x26, + 0xdb, 0x4d, 0x37, 0x1b, 0x53, 0x82, 0xb3, 0x0f, 0x70, 0xc6, 0xef, 0x86, 0x87, 0x53, 0xd3, 0x07, + 0xfe, 0xa1, 0x5b, 0xfc, 0x69, 0x0e, 0x22, 0xbc, 0xf1, 0x7c, 0x74, 0x4a, 0xb3, 0xe9, 0x9c, 0x7b, + 0x11, 0x9d, 0xc1, 0x57, 0xa7, 0xb3, 0x00, 0x89, 0x2f, 0xfa, 0x96, 0xd3, 0xef, 0x71, 0x12, 0x43, + 0x58, 0x2e, 0x70, 0x13, 0x92, 0x77, 0x13, 0x96, 0x69, 0xdb, 0x21, 0x6e, 0xdb, 0xea, 0x1a, 0xda, + 0x24, 0x3b, 0x9c, 0xf3, 0x0b, 0x43, 0x40, 0x79, 0x9c, 0xa6, 0xcf, 0xfc, 0xb1, 0x93, 0x84, 0x45, + 0x5e, 0x8e, 0xb0, 0xd1, 0xe4, 0x7b, 0xe3, 0xcc, 0xfd, 0x1c, 0x84, 0x58, 0x0d, 0x9b, 0x44, 0xef, + 0xfe, 0x17, 0xfa, 0xbd, 0x08, 0x71, 0xdb, 0xea, 0x6a, 0xdc, 0x13, 0x42, 0x4f, 0xcc, 0xb6, 0xba, + 0xea, 0xd4, 0x6e, 0x84, 0x5f, 0x7d, 0x37, 0xca, 0x10, 0x1f, 0x3e, 0xb7, 0x50, 0xa3, 0x2f, 0x7b, + 0x4b, 0x8c, 0xc2, 0xe4, 0x4b, 0x10, 0x9f, 0x94, 0xef, 0xc8, 0x70, 0xe6, 0x21, 0x12, 0x3b, 0xe3, + 0x10, 0x91, 0x1b, 0x70, 0x7e, 0x22, 0x50, 0xeb, 0xdb, 0x86, 0x4e, 0x09, 0x1e, 0xe7, 0x33, 0x37, + 0x72, 0xec, 0x2e, 0x57, 0xcf, 0x8d, 0xcd, 0x7b, 0x17, 0x63, 0x8b, 0x0e, 0x24, 0xf9, 0xce, 0x88, + 0x0b, 0xfa, 0x2a, 0xdb, 0x12, 0x7c, 0x10, 0x49, 0xd3, 0x0f, 0x2e, 0x3e, 0x2b, 0x47, 0xaa, 0x02, + 0xc7, 0x22, 0xf8, 0x7d, 0x26, 0x9e, 0x50, 0xd9, 0x59, 0x79, 0x30, 0xbf, 0x2a, 0x70, 0xc5, 0x6f, + 0x25, 0x80, 0x2d, 0x56, 0x13, 0xd2, 0xcf, 0xae, 0x56, 0x17, 0x53, 0xd0, 0xc6, 0x56, 0xce, 0xbf, + 0x48, 0x43, 0x62, 0xfd, 0xa4, 0xeb, 0xcf, 0xbb, 0x02, 0xa9, 0xd1, 0x11, 0xe3, 0x12, 0x2f, 0x99, + 0x19, 0x93, 0x0c, 0x6f, 0xbc, 0x3a, 0xa1, 0x6a, 0xf2, 0xc0, 0x37, 0x2a, 0x7e, 0x3d, 0x07, 0x71, + 0xcc, 0x69, 0x9b, 0x50, 0x7d, 0x4c, 0x52, 0xd2, 0xab, 0x4b, 0xea, 0x32, 0x80, 0xd7, 0xb5, 0x0f, + 0x88, 0x10, 0x7a, 0x5c, 0x1c, 0x67, 0x0f, 0x88, 0xfc, 0xde, 0x90, 0xf0, 0xe0, 0xd9, 0x84, 0x8b, + 0x07, 0x85, 0x47, 0xfb, 0x05, 0x88, 0x9a, 0xfd, 0x9e, 0xc6, 0xee, 0x93, 0x10, 0x6f, 0x1e, 0xb3, + 0xdf, 0x6b, 0x0c, 0xdc, 0x51, 0xf3, 0x84, 0xfd, 0xcd, 0xf3, 0x36, 0x9c, 0x6b, 0xeb, 0xae, 0x36, + 0xa1, 0x20, 0x94, 0x78, 0x4c, 0xcd, 0xb4, 0x75, 0x77, 0x4c, 0x2b, 0xc5, 0xcf, 0x21, 0xda, 0x18, + 0xe0, 0xc3, 0x9a, 0xb5, 0x9d, 0x63, 0x59, 0xe2, 0xb5, 0xc2, 0x1f, 0xd1, 0x31, 0x66, 0xc0, 0xc3, + 0x49, 0x86, 0x10, 0x7b, 0x96, 0x78, 0xcf, 0x7c, 0xf6, 0x2d, 0x97, 0x5e, 0xf2, 0xc9, 0x2e, 0x1e, + 0xeb, 0x6f, 0xfe, 0x22, 0x41, 0x42, 0xb0, 0x76, 0xab, 0xab, 0xb7, 0xd8, 0x05, 0x53, 0xde, 0xda, + 0xad, 0xdc, 0xd1, 0xaa, 0xeb, 0xda, 0xad, 0xad, 0xb5, 0xdb, 0xda, 0xdd, 0x9d, 0x3b, 0x3b, 0xbb, + 0x1f, 0xef, 0x64, 0x02, 0xb9, 0xf3, 0x47, 0xc7, 0x8a, 0xec, 0xc3, 0xde, 0x35, 0xef, 0x9b, 0xd6, + 0x97, 0x78, 0x95, 0x8f, 0x87, 0xac, 0x95, 0xeb, 0x1b, 0x3b, 0x8d, 0x8c, 0x94, 0x5b, 0x3a, 0x3a, + 0x56, 0x16, 0x7c, 0x11, 0x6b, 0xfb, 0x2e, 0x31, 0xe9, 0x74, 0x40, 0x65, 0x77, 0x7b, 0xbb, 0xda, + 0xc8, 0xcc, 0x4d, 0x05, 0x88, 0xbb, 0xe1, 0x0d, 0x58, 0x18, 0x0f, 0xd8, 0xa9, 0x6e, 0x65, 0x82, + 0x39, 0xf9, 0xe8, 0x58, 0x49, 0xfb, 0xd0, 0x3b, 0x9d, 0x6e, 0x2e, 0xf6, 0xf0, 0xfb, 0x7c, 0xe0, + 0xc7, 0x1f, 0xf2, 0x12, 0xab, 0x2c, 0x35, 0x76, 0xee, 0xc9, 0x6f, 0xc1, 0x85, 0x7a, 0xf5, 0xf6, + 0xce, 0xc6, 0xba, 0xb6, 0x5d, 0xbf, 0xad, 0x35, 0x3e, 0xa9, 0x6d, 0xf8, 0xaa, 0x9b, 0x3f, 0x3a, + 0x56, 0x12, 0xa2, 0xa4, 0x17, 0xa1, 0x6b, 0xea, 0xc6, 0xde, 0x6e, 0x63, 0x23, 0x23, 0x71, 0x74, + 0xcd, 0x21, 0xec, 0x58, 0x47, 0xf4, 0x55, 0x58, 0x9e, 0x81, 0x1e, 0x16, 0xb6, 0x70, 0x74, 0xac, + 0xa4, 0x6a, 0x0e, 0xe1, 0x4d, 0x88, 0x11, 0x25, 0xc8, 0x4e, 0x47, 0xec, 0xd6, 0x76, 0xeb, 0x6b, + 0x5b, 0x19, 0x25, 0x97, 0x39, 0x3a, 0x56, 0x92, 0xde, 0x01, 0xcf, 0xf0, 0xa3, 0xca, 0xca, 0x1f, + 0x3d, 0x3d, 0xcd, 0x4b, 0xcf, 0x4e, 0xf3, 0xd2, 0x1f, 0xa7, 0x79, 0xe9, 0xd1, 0xf3, 0x7c, 0xe0, + 0xd9, 0xf3, 0x7c, 0xe0, 0xd7, 0xe7, 0xf9, 0xc0, 0xa7, 0x37, 0x5a, 0x1d, 0xda, 0xee, 0xef, 0x97, + 0x9a, 0x56, 0x6f, 0xd5, 0xff, 0x67, 0x72, 0xf4, 0xc9, 0xff, 0xf1, 0x4e, 0xfe, 0xd1, 0xdc, 0x8f, + 0xa0, 0xfd, 0xfa, 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x19, 0x2e, 0x00, 0x12, 0x46, 0x0f, 0x00, + 0x00, } func (m *PartSetHeader) Marshal() (dAtA []byte, err error) { @@ -1398,16 +1399,12 @@ func (m *StateID) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - { - size, err := m.Time.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTypes(dAtA, i, uint64(size)) + if m.Time != 0 { + i -= 8 + encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(m.Time)) + i-- + dAtA[i] = 0x29 } - i-- - dAtA[i] = 0x2a if m.CoreChainLockedHeight != 0 { i -= 4 encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.CoreChainLockedHeight)) @@ -1550,12 +1547,12 @@ func (m *Header) MarshalToSizedBuffer(dAtA []byte) (int, error) { } i-- dAtA[i] = 0x2a - n5, err5 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Time):]) - if err5 != nil { - return 0, err5 + n4, err4 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Time):]) + if err4 != nil { + return 0, err4 } - i -= n5 - i = encodeVarintTypes(dAtA, i, uint64(n5)) + i -= n4 + i = encodeVarintTypes(dAtA, i, uint64(n4)) i-- dAtA[i] = 0x22 if m.Height != 0 { @@ -1811,12 +1808,12 @@ func (m *Proposal) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x3a } - n10, err10 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Timestamp, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Timestamp):]) - if err10 != nil { - return 0, err10 + n9, err9 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Timestamp, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Timestamp):]) + if err9 != nil { + return 0, err9 } - i -= n10 - i = encodeVarintTypes(dAtA, i, uint64(n10)) + i -= n9 + i = encodeVarintTypes(dAtA, i, uint64(n9)) i-- dAtA[i] = 0x32 { @@ -2146,8 +2143,9 @@ func (m *StateID) Size() (n int) { if m.CoreChainLockedHeight != 0 { n += 5 } - l = m.Time.Size() - n += 1 + l + sovTypes(uint64(l)) + if m.Time != 0 { + n += 9 + } return n } @@ -2908,38 +2906,15 @@ func (m *StateID) Unmarshal(dAtA []byte) error { m.CoreChainLockedHeight = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 case 5: - if wireType != 2 { + if wireType != 1 { return fmt.Errorf("proto: wrong wireType = %d for field Time", wireType) } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { + m.Time = 0 + if (iNdEx + 8) > l { return io.ErrUnexpectedEOF } - if err := m.Time.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex + m.Time = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) + iNdEx += 8 default: iNdEx = preIndex skippy, err := skipTypes(dAtA[iNdEx:]) diff --git a/proto/tendermint/types/types.proto b/proto/tendermint/types/types.proto index 7c6a00eb77..bba9c7d7b6 100644 --- a/proto/tendermint/types/types.proto +++ b/proto/tendermint/types/types.proto @@ -79,8 +79,8 @@ message StateID { bytes app_hash = 3 [(gogoproto.customname) = "AppHash"]; // CoreChainLockedHeight for the block, equal to Header.CoreChainLockedHeight. fixed32 core_chain_locked_height = 4 [(gogoproto.customname) = "CoreChainLockedHeight"]; - // Time of the block. - google.protobuf.Timestamp time = 5 [(gogoproto.nullable) = false]; + // Time of the block in milliseconds since epoch, truncated (rounded down) to milliseconds + fixed64 time = 5; } // -------------------------------- @@ -91,7 +91,8 @@ message Header { tendermint.version.Consensus version = 1 [(gogoproto.nullable) = false]; string chain_id = 2 [(gogoproto.customname) = "ChainID"]; int64 height = 3; - google.protobuf.Timestamp time = 4 [(gogoproto.nullable) = false, (gogoproto.stdtime) = true]; + // Time of the block, truncated (rounded down) to millisecond + google.protobuf.Timestamp time = 4 [(gogoproto.nullable) = false, (gogoproto.stdtime) = true]; // prev block info BlockID last_block_id = 5 [(gogoproto.nullable) = false]; diff --git a/proto/tendermint/types/types_test.go b/proto/tendermint/types/types_test.go index 56308a0f0b..b17844a135 100644 --- a/proto/tendermint/types/types_test.go +++ b/proto/tendermint/types/types_test.go @@ -7,12 +7,12 @@ import ( "testing" time "time" - gogotypes "github.com/gogo/protobuf/types" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "github.com/tendermint/tendermint/internal/libs/protoio" "github.com/tendermint/tendermint/libs/rand" + tmtime "github.com/tendermint/tendermint/libs/time" ) // TestVoteSignBytes checks if sign bytes are generated correctly. @@ -24,7 +24,7 @@ func TestVoteSignBytes(t *testing.T) { round = 2 chainID = "some-chain" ) - ts := &gogotypes.Timestamp{} + ts := uint64(0) h := bytes.Repeat([]byte{1, 2, 3, 4}, 8) type testCase struct { @@ -40,7 +40,7 @@ func TestVoteSignBytes(t *testing.T) { Height: height, AppHash: h, CoreChainLockedHeight: 1, - Time: *ts, + Time: ts, }, vote: Vote{ Type: PrevoteType, @@ -52,17 +52,18 @@ func TestVoteSignBytes(t *testing.T) { StateID: []byte{}, // filled later }, }, - expectHex: "0100000001000000000000000200000000000000fb7c89bf010a91d50f890455582b7fed0c346e53ab" + - "33df7da0bcd85c10fa92ead7509905b5407ee72dadd93b4ae70a24ad8a7755fc677acd2b215710a05cfc47736" + - "f6d652d636861696e", - }, + expectHex: "0100000001000000000000000200000000000000" + + "fb7c89bf010a91d50f890455582b7fed0c346e53" + + "ab33df7da0bcd85c10fa92ea1854710e3fa0f558" + + "fee16269c62154c5ca00114f96d782df690a3f6d" + + "8e25c117736f6d652d636861696e"}, 1: { stateID: StateID{ AppVersion: 2, Height: height, AppHash: h, CoreChainLockedHeight: 1, - Time: *ts, + Time: ts, }, vote: Vote{ Type: PrecommitType, @@ -74,9 +75,9 @@ func TestVoteSignBytes(t *testing.T) { StateID: []byte{}, // filled later }, }, - expectHex: "0200000001000000000000000200000000000000fb7c89bf010a91d50f8904" + - "55582b7fed0c346e53ab33df7da0bcd85c10fa92ead7509905b5407ee72dadd93b4ae70a2" + - "4ad8a7755fc677acd2b215710a05cfc47736f6d652d636861696e", + expectHex: "0200000001000000000000000200000000000000fb7c89bf010a91d50f890455582b7fed0c34" + + "6e53ab33df7da0bcd85c10fa92ea1854710e3fa0f558fee16269c62154c5ca00114f96d782df690a3f6d8e2" + + "5c117736f6d652d636861696e", }, } @@ -98,6 +99,7 @@ func TestVoteSignBytes(t *testing.T) { } func TestStateID_Equals(t *testing.T) { + ts := mustTimestamp(time.Date(2019, 1, 2, 3, 4, 5, 6, time.UTC)) tests := []struct { state1 StateID state2 StateID @@ -109,14 +111,14 @@ func TestStateID_Equals(t *testing.T) { Height: 123, AppHash: []byte("12345678901234567890123456789012"), CoreChainLockedHeight: 12, - Time: *mustTimestamp(time.Date(2019, 1, 2, 3, 4, 5, 6, time.UTC)), + Time: ts, }, StateID{ AppVersion: 12, Height: 123, AppHash: []byte("12345678901234567890123456789012"), CoreChainLockedHeight: 12, - Time: *mustTimestamp(time.Date(2019, 1, 2, 3, 4, 5, 6, time.UTC)), + Time: ts, }, true, }, @@ -126,14 +128,14 @@ func TestStateID_Equals(t *testing.T) { Height: 123, AppHash: []byte("12345678901234567890123456789012"), CoreChainLockedHeight: 12, - Time: *mustTimestamp(time.Date(2019, 1, 2, 3, 4, 5, 6, time.UTC)), + Time: ts, }, StateID{ AppVersion: 12, Height: 124, AppHash: []byte("12345678901234567890123456789012"), CoreChainLockedHeight: 12, - Time: *mustTimestamp(time.Date(2019, 1, 2, 3, 4, 5, 6, time.UTC)), + Time: ts, }, false, }, @@ -143,14 +145,14 @@ func TestStateID_Equals(t *testing.T) { Height: 123, AppHash: []byte("12345678901234567890123456789012"), CoreChainLockedHeight: 12, - Time: *mustTimestamp(time.Date(2019, 1, 2, 3, 4, 5, 6, time.UTC)), + Time: ts, }, StateID{ AppVersion: 12, Height: 123, AppHash: []byte("12345678901234567890123456789021"), CoreChainLockedHeight: 12, - Time: *mustTimestamp(time.Date(2019, 1, 2, 3, 4, 5, 6, time.UTC)), + Time: ts, }, false, }, @@ -173,7 +175,7 @@ func TestStateIDIsZero(t *testing.T) { expectZero: true, }, { - StateID: StateID{Time: *gogotypes.TimestampNow()}, + StateID: StateID{Time: uint64(tmtime.Now().UnixMilli())}, expectZero: false, }, } @@ -195,7 +197,7 @@ func TestStateIDSignBytes(t *testing.T) { Height: 1, AppHash: rand.Bytes(32), CoreChainLockedHeight: 123, - Time: *mustTimestamp(time.Date(2022, 3, 4, 5, 6, 7, 8, time.UTC)), + Time: mustTimestamp(time.Date(2022, 3, 4, 5, 6, 7, 8, time.UTC)), }, } @@ -211,10 +213,6 @@ func TestStateIDSignBytes(t *testing.T) { } } -func mustTimestamp(t time.Time) *gogotypes.Timestamp { - ts, err := gogotypes.TimestampProto(t) - if err != nil { - panic(err) - } - return ts +func mustTimestamp(t time.Time) uint64 { + return uint64(t.UnixMilli()) } diff --git a/test/e2e/runner/setup.go b/test/e2e/runner/setup.go index 4ba9cfb250..63959b0a44 100644 --- a/test/e2e/runner/setup.go +++ b/test/e2e/runner/setup.go @@ -24,6 +24,7 @@ import ( "github.com/tendermint/tendermint/crypto/bls12381" cryptoenc "github.com/tendermint/tendermint/crypto/encoding" "github.com/tendermint/tendermint/libs/log" + tmtime "github.com/tendermint/tendermint/libs/time" "github.com/tendermint/tendermint/privval" e2e "github.com/tendermint/tendermint/test/e2e/pkg" "github.com/tendermint/tendermint/test/e2e/pkg/infra" @@ -512,7 +513,7 @@ func shouldResetPubkeys() bool { func initGenesisForEveryNode(testnet *e2e.Testnet) (map[e2e.Mode]types.GenesisDoc, error) { genesis := make(map[e2e.Mode]types.GenesisDoc) - genesisTime := time.Now() + genesisTime := tmtime.Now() for _, tn := range testnet.Nodes { if _, ok := genesis[tn.Mode]; ok { continue diff --git a/types/block.go b/types/block.go index 353f2b5d13..5035e8b87e 100644 --- a/types/block.go +++ b/types/block.go @@ -534,17 +534,14 @@ func (h *Header) StateID() tmproto.StateID { appHash = make([]byte, crypto.DefaultAppHashSize) } - ts, err := gogotypes.TimestampProto(h.Time) - if err != nil || ts == nil { - panic("cannot convert time " + h.Time.String() + " to Timesstamp: " + err.Error()) - } + ts := uint64(h.Time.UnixMilli()) return tmproto.StateID{ AppVersion: h.Version.App, Height: uint64(h.Height), AppHash: appHash, CoreChainLockedHeight: h.CoreChainLockedHeight, - Time: *ts, + Time: ts, } } diff --git a/types/block_test.go b/types/block_test.go index 202e32f7e0..adb797e555 100644 --- a/types/block_test.go +++ b/types/block_test.go @@ -23,6 +23,7 @@ import ( "github.com/tendermint/tendermint/crypto/merkle" tmbytes "github.com/tendermint/tendermint/libs/bytes" tmrand "github.com/tendermint/tendermint/libs/rand" + tmtime "github.com/tendermint/tendermint/libs/time" tmproto "github.com/tendermint/tendermint/proto/tendermint/types" tmversion "github.com/tendermint/tendermint/proto/tendermint/version" "github.com/tendermint/tendermint/version" @@ -337,8 +338,7 @@ func TestMaxCommitBytes(t *testing.T) { } func TestHeaderHash(t *testing.T) { - ts, err := gogotypes.TimestampProto(time.Date(2022, 3, 4, 5, 6, 7, 8, time.UTC)) - require.NoError(t, err) + ts := uint64(time.Date(2022, 3, 4, 5, 6, 7, 8, time.UTC).UnixMilli()) testCases := []struct { desc string @@ -360,7 +360,7 @@ func TestHeaderHash(t *testing.T) { Height: 3, AppHash: crypto.Checksum([]byte("app_hash")), CoreChainLockedHeight: 1, - Time: *ts, + Time: ts, }.Hash(), ), LastCommitHash: crypto.Checksum([]byte("last_commit_hash")), @@ -375,7 +375,7 @@ func TestHeaderHash(t *testing.T) { ProposerProTxHash: crypto.ProTxHashFromSeedBytes([]byte("proposer_pro_tx_hash")), ProposedAppVersion: 1, }, - expectHash: hexBytesFromString(t, "5CF83D17EEC01506B3F1EA0596B49CD21B7DEBDCB18E3204A99E6BDC5C470B9B"), + expectHash: hexBytesFromString(t, "FF24DDAB9E1550BEB40AB7AD432A4D577560E9B87A80C7BB86E75263974B87E0"), }, { "nil header yields nil", @@ -1259,7 +1259,7 @@ func TestStateID_ValidateBasic(t *testing.T) { AppVersion: StateIDVersion, Height: 0, AppHash: tmrand.Bytes(crypto.DefaultAppHashSize), - Time: *gogotypes.TimestampNow(), + Time: uint64(tmtime.Now().UnixMilli()), }, wantErr: "", }, @@ -1269,7 +1269,7 @@ func TestStateID_ValidateBasic(t *testing.T) { AppVersion: StateIDVersion, Height: 12, AppHash: tmrand.Bytes(crypto.DefaultAppHashSize), - Time: *gogotypes.TimestampNow(), + Time: uint64(tmtime.Now().UnixMilli()), }, wantErr: "", }, diff --git a/types/evidence_test.go b/types/evidence_test.go index df3e345bf5..62058bb845 100644 --- a/types/evidence_test.go +++ b/types/evidence_test.go @@ -8,7 +8,6 @@ import ( "time" "github.com/dashpay/dashd-go/btcjson" - "github.com/gogo/protobuf/types" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -280,14 +279,13 @@ func TestEvidenceVectors(t *testing.T) { val := NewMockPVForQuorum(quorumHash) val.ProTxHash = make([]byte, crypto.ProTxHashSize) key := bls12381.GenPrivKeyFromSecret([]byte("it's a secret")) // deterministic key - ts, err := types.TimestampProto(time.Date(2022, 1, 2, 3, 4, 5, 6, time.UTC)) - require.NoError(t, err) + ts := uint64(time.Date(2022, 1, 2, 3, 4, 5, 6, time.UTC).UnixMilli()) stateID := tmproto.StateID{ AppVersion: StateIDVersion, Height: 1, AppHash: make([]byte, crypto.DefaultAppHashSize), CoreChainLockedHeight: 1, - Time: *ts, + Time: ts, }.Hash() val.UpdatePrivateKey(context.Background(), key, quorumHash, key.PubKey(), 10) blockID := makeBlockID(crypto.Checksum([]byte("blockhash")), math.MaxInt32, crypto.Checksum([]byte("partshash")), stateID) @@ -304,7 +302,7 @@ func TestEvidenceVectors(t *testing.T) { }{ {"duplicateVoteEvidence", EvidenceList{&DuplicateVoteEvidence{VoteA: v2, VoteB: v}}, - "17d639d1c1ac431802a566f190ee5fb7b478204ac8990230df5134388dea0a93", + "87904f3525bfdb8474a18bc44fcadf76f63f0e7cabc3063f5eae8dcf0eb11d79", }, } diff --git a/types/proposal_test.go b/types/proposal_test.go index b54b777284..9a31ab51c1 100644 --- a/types/proposal_test.go +++ b/types/proposal_test.go @@ -8,7 +8,6 @@ import ( "github.com/dashpay/dashd-go/btcjson" "github.com/gogo/protobuf/proto" - "github.com/gogo/protobuf/types" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -25,15 +24,14 @@ func getTestProposal(t testing.TB) *Proposal { stamp, err := time.Parse(TimeFormat, "2018-02-11T07:09:22.765Z") require.NoError(t, err) - ts, err := types.TimestampProto(stamp) - require.NoError(t, err) + ts := uint64(stamp.UnixMilli()) stateID := tmproto.StateID{ AppVersion: StateIDVersion, Height: 12345, AppHash: []byte("12345678901234567890123456789012"), CoreChainLockedHeight: math.MaxUint32, - Time: *ts, + Time: ts, } return &Proposal{ @@ -63,7 +61,7 @@ func TestProposalSignable(t *testing.T) { func TestProposalString(t *testing.T) { str := getTestProposal(t).String() - expected := `Proposal{12345/23456 (2D2D4A756E655F31355F323032305F616D696E6F5F7761735F72656D6F766564:111:2D2D4A756E65:D8A08898004B, -1) 000000000000 @ 2018-02-11T07:09:22.765Z}` + expected := `Proposal{12345/23456 (2D2D4A756E655F31355F323032305F616D696E6F5F7761735F72656D6F766564:111:2D2D4A756E65:E97D78757A53, -1) 000000000000 @ 2018-02-11T07:09:22.765Z}` assert.Equal(t, expected, str) } diff --git a/types/test_util.go b/types/test_util.go index bf045e2027..5ec6f47a8e 100644 --- a/types/test_util.go +++ b/types/test_util.go @@ -5,10 +5,9 @@ import ( "fmt" "math/rand" - gogotypes "github.com/gogo/protobuf/types" - "github.com/tendermint/tendermint/crypto" tmrand "github.com/tendermint/tendermint/libs/rand" + tmtime "github.com/tendermint/tendermint/libs/time" tmproto "github.com/tendermint/tendermint/proto/tendermint/types" ) @@ -20,7 +19,7 @@ func RandStateID() tmproto.StateID { AppHash: tmrand.Bytes(crypto.DefaultAppHashSize), AppVersion: StateIDVersion, CoreChainLockedHeight: rand.Uint32(), //nolint:gosec - Time: *gogotypes.TimestampNow(), + Time: uint64(tmtime.Now().UnixMilli()), } } diff --git a/types/vote_set_test.go b/types/vote_set_test.go index fbbd109a94..757c111f49 100644 --- a/types/vote_set_test.go +++ b/types/vote_set_test.go @@ -11,7 +11,6 @@ import ( "time" "github.com/dashpay/dashd-go/btcjson" - "github.com/gogo/protobuf/types" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -681,13 +680,13 @@ func withBlockHash(vote *Vote, blockHash []byte) *Vote { vote = vote.Copy() vote.BlockID.Hash = blockHash - ts, _ := types.TimestampProto(time.Date(2022, 1, 2, 3, 4, 5, 6, time.UTC)) + ts := uint64(time.Date(2022, 1, 2, 3, 4, 5, 6, time.UTC).UnixMilli()) vote.BlockID.StateID = tmproto.StateID{ AppVersion: StateIDVersion, Height: uint64(vote.Height), AppHash: blockHash, CoreChainLockedHeight: 1, - Time: *ts, + Time: ts, }.Hash() return vote } diff --git a/types/vote_test.go b/types/vote_test.go index e8bcb0534e..573fcade17 100644 --- a/types/vote_test.go +++ b/types/vote_test.go @@ -9,7 +9,6 @@ import ( bls "github.com/dashpay/bls-signatures/go-bindings" "github.com/dashpay/dashd-go/btcjson" "github.com/gogo/protobuf/proto" - gogotypes "github.com/gogo/protobuf/types" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -59,7 +58,7 @@ func exampleVote(tb testing.TB, t byte) *Vote { AppHash: appHash, AppVersion: StateIDVersion, CoreChainLockedHeight: 3, - Time: gogotypes.Timestamp{}, + Time: 0, } return &Vote{ Type: tmproto.SignedMsgType(t), diff --git a/version/version.go b/version/version.go index f529f3c8bc..229826839b 100644 --- a/version/version.go +++ b/version/version.go @@ -11,7 +11,7 @@ const ( // when not using git describe. It is formatted with semantic versioning. TMVersionDefault = "0.12.0-dev.2" // ABCISemVer is the semantic version of the ABCI library - ABCISemVer = "0.21.0" + ABCISemVer = "0.22.0" ABCIVersion = ABCISemVer ) @@ -23,7 +23,7 @@ var ( // BlockProtocol versions all block data structures and processing. // This includes validity of blocks and state updates. - BlockProtocol uint64 = 12 + BlockProtocol uint64 = 13 ) type Consensus struct { From 6cf43f7d04e6bf9cf9e638b056db59268565830c Mon Sep 17 00:00:00 2001 From: lklimek <842586+lklimek@users.noreply.github.com> Date: Wed, 28 Jun 2023 14:08:07 +0200 Subject: [PATCH 05/19] chore(release): update changelog and version to 0.13.0-dev.1 (#651) --- CHANGELOG.md | 493 +++++++++++++++++++++------------------------ version/version.go | 2 +- 2 files changed, 232 insertions(+), 263 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c83e314713..79c554ec7e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,13 +1,54 @@ +## [0.13.0-dev.1] - 2023-06-28 + +### Bug Fixes + +- [**breaking**] Remove unused SIGNED_MSG_TYPE_COMMIT (#638) +- [**breaking**] Use millisecond resolution of block time (#650) + +## [0.12.0] - 2023-05-23 + +### Bug Fixes + +- [**breaking**] ProcessProposal should get CoreChainLockedHeight from block (#625) + +### Testing + +- Sign_bytes tests synchronized with rs-tenderdash-abci (#623) + +### Backport + +- Catch up with the latest commits from v0.11 to v0.12 (#631) +- Catch up the changes from v0.11 to v0.12 (#636) + +## [0.11.0] - 2023-04-04 + +### Miscellaneous Tasks + +- Update changelog and version to 0.11.0 + +### Build + +- Fix broken github actions and regenerate some code (#615) + ## [0.12.0-dev.2] - 2023-04-04 ### Bug Fixes - Nil voteset panics in rest handler (#609) +- Nil voteset panics in rest handler (#609) (#612) ### Features - Use dashd-go 0.24.0 to support LLMQ type 6 (LLMQType_25_67) (#610) +### Miscellaneous Tasks + +- Update changelog and version to 0.12.0-dev.2 (#613) + +### Backport + +- Use dashd-go 0.24.0 to support LLMQ type 6 (LLMQType_25_67) (#610) (#611) + ## [0.12.0-dev.1] - 2023-03-17 ### Bug Fixes @@ -5783,7 +5824,7 @@ - Only run when applicable (#4752) - Check git diff on each job (#4770) - Checkout code before git diff check (#4779) -- Add paths +- Add paths - Bump the timeout for test_coverage (#4864) - Migrate localnet to github actions (#4878) - Add timeouts (#4912) @@ -6066,7 +6107,7 @@ ### Swagger -- Remove duplicate blockID +- Remove duplicate blockID - Define version (#4952) ### Template @@ -8796,8 +8837,51 @@ ### Documentation +- Give index a Tools section +- Update and clean up adr +- Use README.rst to be pulled from tendermint +- Re-add the images +- Add original README's from tools repo +- Convert from md to rst +- Update index.rst +- Move images in from tools repo +- Harmonize headers for tools docs +- Add kubes docs to mintnet doc, from tools +- Add original tm-bench/monitor files +- Organize tm-bench/monitor description +- Pull from tools on build +- Finish pull from tools +- Organize the directory, #656 +- Add software.json from website (ecosystem) +- Rename file +- Add and re-format the ecosystem from website +- Pull from tools' master branch +- Using ABCI-CLI +- Remove last section from ecosystem +- Organize install a bit better +- Add ABCI implementations +- Added passchain to the ecosystem.rst in the applications section; +- Fix build warnings +- Add stratumn +- Add py-tendermint to abci-servers +- Remove mention of type byte +- Add info about tm-migrate +- Update abci example details [ci skip] +- Typo +- Smaller logo (200px) +- Comb through step by step +- Fixup abci guide - Fix links, closes #860 +### GroupReader#Read + +- Return io.EOF if file is empty + +### Makefile + +- Remove redundant lint +- Fix linter + ### PubKeyFromBytes - Return zero value PubKey on error @@ -8806,24 +8890,88 @@ - Use bytes.Equal for key comparison +### Testing + +- Add simple client/server test with no addr prefix +- Update for abci-cli consolidation. shell formatting + ### WIP - Begin parallel refactoring with go-wire Write methods and MConnection +### [docs + +- Typo fix] remove misplaced "the" +- Typo fix] add missing "have" + +### Adr + +- Add 005 consensus params + +### All + +- No more anonymous imports + +### Autofile + +- Ensure file is open in Sync + ### Blockchain +- Fixing reactor tests - Add comment in AddPeer. closes #666 +### Blockchain/pool + +- Some comments and small changes + +### Blockchain/reactor + +- RespondWithNoResponseMessage for missing height + +### Blockchain/store + +- Comment about panics + ### Certifiers - Test uses WaitForHeight +### Changelog + +- Add genesis amount->power + +### Circle + +- Add metalinter to test + +### Cli + +- Clean up error handling +- Use cobra's new ExactArgs() feature + ### Clist - Reduce numTimes in test +### Cmd + +- Dont wait for genesis. closes #562 + +### Cmn + +- Kill + +### Common + +- Fingerprint comment +- WriteFileAtomic use tempfile in current dir + ### Consensus +- Remove support for replay by #HEIGHT. closes #567 +- Use filepath for windows compatibility, closes #595 +- Kill process on app error - Ensure prs.ProposalBlockParts is initialized. fixes #810 - Fix for initializing block parts during catchup - Make mempool_test deterministic @@ -8834,25 +8982,59 @@ - Benchmark WALDecode across data sizes +### Console + +- Fix output, closes #93 +- Fix tests + ### Db +- Fix MemDB.Close - Sort keys for memdb iterator +### Dummy + +- Verify pubkey is go-crypto encoded in DeliverTx. closes #51 + ### Errcheck - PR comment fixes +### Example + +- Fix func suffix + +### Glide + +- Update for autofile fix +- More external deps locked to versions + +### Keys + +- Transactions.go -> types.go + ### Lint +- Couple more fixes - Apply deadcode/unused ### Linter +- Couple fixes +- Add metalinter to Makefile & apply some fixes +- Last fixes & add to circle - Address deadcode, implement incremental lint testing - Sort through each kind and address small fixes ### Linting +- Cover the basics +- Catch some errors +- Add to Makefile & do some fixes +- Next round of fixes +- Fixup some stuffs +- Little more fixes +- A few fixes - Replace megacheck with metalinter - Apply 'gofmt -s -w' throughout - Apply misspell @@ -8861,12 +9043,26 @@ - Moar fixes - Few more fixes +### Makefile + +- Remove megacheck + +### Metalinter + +- Add linter to Makefile like tendermint + ### Node +- NewNode takes DBProvider and GenDocProvider - Clean makeNodeInfo ### P2p +- Fully test PeerSet, more docs, parallelize PeerSet tests +- Minor comment fixes +- Delete unused and untested *IPRangeCount functions +- Sw.AddPeer -> sw.addPeer +- Allow listener with no external connection - Update readme, some minor things - Some fixes re @odeke-em issues #813,#816,#817 - Comment on the wg.Add before go saveRoutine() @@ -8896,11 +9092,31 @@ - Simplify ensurePeers +### Readme + +- Re-organize & update docs links + ### Rpc +- Fix client websocket timeout (#687) +- Subscribe on reconnection (#689) +- Use /iavl repo in test (#713) - Wait for rpc servers to be available in tests - Fix tests +### Rpc/client + +- Use compile time assertions instead of methods + +### Rpc/lib + +- Remove dead files, closes #710 + +### Rpc/lib/client + +- Add jitter for exponential backoff of WSClient +- Jitter test updates and only to-be run on releases + ### Rpc/lib/server - Add handlers tests @@ -8918,184 +9134,28 @@ ### Server -- Minor refactor - -### State - -- Return to-be-used function - -### Types - -- Add gas and fee fields to CheckTx - -### WsConnection - -- Call onDisconnect - -## [0.12.0] - 2017-10-28 - -### Documentation - -- Add py-tendermint to abci-servers -- Remove mention of type byte -- Add info about tm-migrate -- Update abci example details [ci skip] -- Typo -- Smaller logo (200px) -- Comb through step by step -- Fixup abci guide - -### GroupReader#Read - -- Return io.EOF if file is empty - -### Makefile - -- Fix linter - -### Testing - -- Add simple client/server test with no addr prefix -- Update for abci-cli consolidation. shell formatting - -### Blockchain/pool - -- Some comments and small changes - -### Blockchain/store - -- Comment about panics - -### Cli - -- Clean up error handling -- Use cobra's new ExactArgs() feature - -### Cmn - -- Kill - -### Consensus - -- Kill process on app error - -### Console - -- Fix output, closes #93 -- Fix tests - -### Dummy - -- Verify pubkey is go-crypto encoded in DeliverTx. closes #51 - -### Glide - -- More external deps locked to versions - -### Keys - -- Transactions.go -> types.go - -### Linting - -- A few fixes - -### Rpc - -- Use /iavl repo in test (#713) - -### Rpc/client - -- Use compile time assertions instead of methods - -### Rpc/lib/client - -- Add jitter for exponential backoff of WSClient -- Jitter test updates and only to-be run on releases - -### Server - - Use cmn.ProtocolAndAddress +- Minor refactor ### SocketClient - Fix and test for StopForError deadlock +### State + +- Minor comment fixes +- Return to-be-used function + ### Types +- Remove redundant version file +- PrivVal.Sign returns an error +- More . -> cmn +- Comments - ConsensusParams test + document the ranges/limits - ConsensusParams: add feedback from @ebuchman and @melekes - Unexpose valset.To/FromBytes - -## [0.11.1] - 2017-10-10 - -### Documentation - -- Add ABCI implementations -- Added passchain to the ecosystem.rst in the applications section; -- Fix build warnings -- Add stratumn - -### [docs - -- Typo fix] remove misplaced "the" -- Typo fix] add missing "have" - -### All - -- No more anonymous imports - -### Autofile - -- Ensure file is open in Sync - -### Blockchain - -- Fixing reactor tests - -### Blockchain/reactor - -- RespondWithNoResponseMessage for missing height - -### Changelog - -- Add genesis amount->power - -### Db - -- Fix MemDB.Close - -### Example - -- Fix func suffix - -### Glide - -- Update for autofile fix - -### Linter - -- Couple fixes -- Add metalinter to Makefile & apply some fixes -- Last fixes & add to circle - -### Linting - -- Fixup some stuffs -- Little more fixes - -### Makefile - -- Remove megacheck - -### Rpc - -- Fix client websocket timeout (#687) -- Subscribe on reconnection (#689) - -### Rpc/lib - -- Remove dead files, closes #710 +- Add gas and fee fields to CheckTx ### Types/heartbeat @@ -9105,100 +9165,9 @@ - Keep a link -## [0.11.0] - 2017-09-22 - -### Documentation - -- Give index a Tools section -- Update and clean up adr -- Use README.rst to be pulled from tendermint -- Re-add the images -- Add original README's from tools repo -- Convert from md to rst -- Update index.rst -- Move images in from tools repo -- Harmonize headers for tools docs -- Add kubes docs to mintnet doc, from tools -- Add original tm-bench/monitor files -- Organize tm-bench/monitor description -- Pull from tools on build -- Finish pull from tools -- Organize the directory, #656 -- Add software.json from website (ecosystem) -- Rename file -- Add and re-format the ecosystem from website -- Pull from tools' master branch -- Using ABCI-CLI -- Remove last section from ecosystem -- Organize install a bit better - -### Makefile - -- Remove redundant lint - -### Adr - -- Add 005 consensus params - -### Circle - -- Add metalinter to test - -### Cmd - -- Dont wait for genesis. closes #562 - -### Common - -- Fingerprint comment -- WriteFileAtomic use tempfile in current dir - -### Consensus - -- Remove support for replay by #HEIGHT. closes #567 -- Use filepath for windows compatibility, closes #595 - -### Lint - -- Couple more fixes - -### Linting - -- Cover the basics -- Catch some errors -- Add to Makefile & do some fixes -- Next round of fixes - -### Metalinter - -- Add linter to Makefile like tendermint - -### Node - -- NewNode takes DBProvider and GenDocProvider - -### P2p - -- Fully test PeerSet, more docs, parallelize PeerSet tests -- Minor comment fixes -- Delete unused and untested *IPRangeCount functions -- Sw.AddPeer -> sw.addPeer -- Allow listener with no external connection - -### Readme - -- Re-organize & update docs links - -### State - -- Minor comment fixes - -### Types +### WsConnection -- Remove redundant version file -- PrivVal.Sign returns an error -- More . -> cmn -- Comments +- Call onDisconnect ## [0.10.4] - 2017-09-05 diff --git a/version/version.go b/version/version.go index 229826839b..82fc1a149d 100644 --- a/version/version.go +++ b/version/version.go @@ -9,7 +9,7 @@ var ( const ( // TMVersionDefault is the used as the fallback version for Tenderdash // when not using git describe. It is formatted with semantic versioning. - TMVersionDefault = "0.12.0-dev.2" + TMVersionDefault = "0.13.0-dev.1" // ABCISemVer is the semantic version of the ABCI library ABCISemVer = "0.22.0" From 46f300b2bd07f4d9e18c6d3e9857064ab3766a5d Mon Sep 17 00:00:00 2001 From: lklimek <842586+lklimek@users.noreply.github.com> Date: Thu, 29 Jun 2023 14:01:54 +0200 Subject: [PATCH 06/19] fix(github): Prod image high cpu load due to deadlock detection (#652) --- .github/workflows/docker.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index e6c15eebe6..25492162b5 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -7,7 +7,7 @@ on: inputs: tag: type: string - description: 'Docker tag' + description: "Docker tag" required: false release: types: @@ -48,7 +48,7 @@ jobs: with: result-encoding: string script: | - if (github.ref_type == 'tag' && !contains(github.ref_name,'-dev')) { + if ('${{ github.ref_type }}' == 'tag' && ! '${{ github.ref_name }}'.includes('-dev')) { return 'tenderdash,stable' } return 'tenderdash,dev,deadlock' From 92fa1e88d7eb544e0be4cf16378ba5b40454fb00 Mon Sep 17 00:00:00 2001 From: Lukasz Klimek <842586+lklimek@users.noreply.github.com> Date: Thu, 29 Jun 2023 15:26:57 +0200 Subject: [PATCH 07/19] chore(release): update changelog and version to 0.11.3 --- CHANGELOG.md | 11760 +++++++++++++++++++++++++++---------------- version/version.go | 2 +- 2 files changed, 7455 insertions(+), 4307 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7b55a74b18..b17c43821c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,14 +1,18 @@ -## [0.11.2] - 2023-05-03 +## [0.11.3] - 2023-06-29 ### Bug Fixes -- Invalid threshold for LLMQType_25_67 (#628) -## [0.11.1] - 2023-05-02 +- Prod image high cpu load due to deadlock detection (#652) -### Bug Fixes -- Missing quorum params (#626) +### Features + +- Add ability to write logs in a file (#632) + +### Miscellaneous Tasks + +- Catch up the changes from master into v0.11 dev (#629) -## [0.11.0] - 2023-04-04 +## [0.11.1] - 2023-05-02 ### Bug Fixes @@ -30,6 +34,7 @@ - Broken error handling in ValueOp (VSA-2022-100) (#601) - Broken error handling in ValueOp (VSA-2022-100) (#601) - Nil voteset panics in rest handler (#609) (#612) +- Update quorum params (#626) ### Features @@ -56,6 +61,7 @@ - Update changelog and version to 0.10.0-dev.11 (#591) - Update changelog and version to 0.11.0-dev.4 (#593) - Add quote to CGO variables in Makefile (#597) +- Update changelog and version to 0.11.1 (#627) ### Refactor @@ -107,6 +113,7 @@ - Bump bufbuild/buf-setup-action from 1.13.1 to 1.14.0 (#577) - Move e2e-manual.yml logic to e2e.yml (#578) - Fix broken github actions and regenerate some code (#615) +- Bump github/super-linter from 4 to 5 (#624) ## [0.8.0] - 2022-12-07 @@ -263,22 +270,6 @@ - Fix build - Fix abcidump after backport - Update changelog and version to 0.8.0 -- [**breaking**] Rename genesis.json quorum fields (#515) -- [**breaking**] Remove Snapshot.core_chain_locked_height (#527) -- Update changelog and version to 0.10.0-dev.6 (#526) -- Update changelog and version to 0.11.0-dev.1 (#530) -- Update changelog and version to 0.10.0-dev.7 (#536) -- Update bls library (#535) -- Update changelog and version to 0.10.0-dev.9 (#579) -- Update changelog and version to 0.11.0-dev.2 (#583) -- Update changelog and version to 0.11.0-dev.3 (#586) -- Bump up dashd-go version to v0.23.6 (#587) -- Update changelog and version to 0.10.0-dev.10 (#588) -- Update changelog and version to 0.10.0-dev.11 (#591) -- Update changelog and version to 0.11.0-dev.4 (#593) -- Add quote to CGO variables in Makefile (#597) -- Update changelog and version to 0.11.1 (#627) -- Catch up the changes from master into v0.11 dev (#629) ### PBTS @@ -465,15 +456,10 @@ ### ADR -- Synchronize PBTS ADR with spec (#7764) - Protocol Buffers Management (#8029) ### Bug Fixes -- Detect and fix data-race in MockPV (#262) -- Race condition when logging (#271) -- Decrease memory used by debug logs (#280) -- Tendermint stops when validator node id lookup fails (#279) - Backport e2e tests (#248) - Remove option c form linux build (#305) - Cannot read properties of undefined @@ -488,26 +474,6 @@ ### Documentation -- Fix some typos in ADR 075. (#7726) -- Drop v0.32 from the doc site configuration (#7741) -- Fix RPC output examples for GET queries (#7799) -- Fix ToC file extension for RFC 004. (#7813) -- Rename RFC 008 (#7841) -- Fix broken markdown links (cherry-pick of #7847) (#7848) -- Fix broken markdown links (#7847) -- Update spec links to point to tendermint/tendermint (#7851) -- Remove unnecessary os.Exit calls at the end of main (#7861) -- Fix misspelled file name (#7863) -- Remove spec section from v0.35 docs (#7899) -- Pin the RPC docs to v0.35 instead of master (#7909) -- Pin the RPC docs to v0.35 instead of master (backport #7909) (#7911) -- Update repo and spec readme's (#7907) -- Redirect master links to the latest release version (#7936) -- Redirect master links to the latest release version (backport #7936) (#7954) -- Fix cosmos theme version. (#7966) -- Point docs/master to the same content as the latest release (backport #7980) (#7998) -- Fix some broken markdown links (#8021) -- Update ADR template (#7789) - Add an overview of the proposer-based timestamps algorithm (#8058) - PBTS synchrony issues runbook (#8129) - Go tutorial fixed for 0.35.0 version (#7329) (#7330) (#7331) @@ -516,10 +482,6 @@ ### Miscellaneous Tasks -- Update unit tests after backport fo tendermint v0.35 (#245) -- Backport Tenderdash 0.7 to 0.8 (#246) -- Fix e2e tests and protxhash population (#273) -- Improve logging for debug purposes - Stabilize consensus algorithm (#284) - Temporarily disable ARM build which is broken - Backport Tendermint 0.35.1 to Tenderdash 0.8 (#309) @@ -533,19 +495,8 @@ - Remove obsolete cache step - Update changelog and version to 0.7.1 -### PBTS - -- Spec reorganization, summary of changes on README.md (#399) - -### RFC - -- Add delete gas rfc (#7777) - ### Refactor -- Change node's proTxHash on slice from pointer of slice (#263) -- Some minor changes in validate-conn-executor and routerDashDialer (#277) -- Populate proTxHash in address-book (#274) - Replace several functions with an identical body (processStateCh,processDataCh,processVoteCh,processVoteSetBitsCh) on one function processMsgCh (#296) - [**breaking**] Replace is-masternode config with mode=validator (#308) - Add MustPubKeyToProto helper function (#311) @@ -558,10 +509,6 @@ ### Security -- Bump github.com/prometheus/client_golang from 1.12.0 to 1.12.1 (#7732) -- Bump github.com/gorilla/websocket from 1.4.2 to 1.5.0 (#7829) -- Bump github.com/golangci/golangci-lint from 1.44.0 to 1.44.2 (#7854) -- Bump golangci/golangci-lint-action from 2.5.2 to 3.1.0 (#8026) - Bump actions/checkout from 2.4.0 to 3 (#8076) - Bump docker/login-action from 1.13.0 to 1.14.1 (#8075) - Bump golangci/golangci-lint-action from 2.5.2 to 3.1.0 (#8074) @@ -587,7 +534,6 @@ ### Testing -- Reduce usage of the MustDefaultLogger constructor (#7960) - Logger cleanup (#8153) - KeepInvalidTxsInCache test is invalid - Fix validator conn executor test backport @@ -597,14 +543,6 @@ ### Abci -- PrepareProposal (#6544) -- Vote Extension 1 (#6646) -- PrepareProposal-VoteExtension integration [2nd try] (#7821) -- Undo socket buffer limit (#7877) -- Make tendermint example+test clients manage a mutex (#7978) -- Remove lock protecting calls to the application interface (#7984) -- Use no-op loggers in the examples (#7996) -- Revert buffer limit change (#7990) - Synchronize FinalizeBlock with the updated specification (#7983) ### Abci++ @@ -615,22 +553,6 @@ - Correct max-size check to only operate on added and unmodified (#8242) - Only include meaningful header fields in data passed-through to application (#8216) -### Abci/client - -- Remove vestigially captured context (#7839) -- Remove waitgroup for requests (#7842) -- Remove client-level callback (#7845) -- Make flush operation sync (#7857) -- Remove lingering async client code (#7876) - -### Abci/kvstore - -- Test cleanup improvements (#7991) - -### Adr - -- Merge tendermint/spec repository into tendermint/tendermint (#7775) - ### Autofile - Reduce minor panic and docs changes (#8122) @@ -642,27 +564,11 @@ ### Blocksync -- Shutdown cleanup (#7840) - Drop redundant shutdown mechanisms (#8136) - Remove intermediate channel (#8140) ### Build -- Bump github.com/prometheus/client_golang (#7731) -- Bump docker/build-push-action from 2.8.0 to 2.9.0 (#397) -- Bump docker/build-push-action from 2.8.0 to 2.9.0 (#7780) -- Bump github.com/gorilla/websocket from 1.4.2 to 1.5.0 (#7830) -- Bump docker/build-push-action from 2.7.0 to 2.9.0 -- Bump github.com/gorilla/websocket from 1.4.2 to 1.5.0 -- Bump github.com/rs/zerolog from 1.26.0 to 1.26.1 -- Bump actions/github-script from 5 to 6 -- Bump docker/login-action from 1.10.0 to 1.12.0 -- Bump url-parse from 1.5.4 to 1.5.7 in /docs (#7855) -- Bump github.com/golangci/golangci-lint (#7853) -- Bump docker/login-action from 1.12.0 to 1.13.0 -- Bump docker/login-action from 1.12.0 to 1.13.0 (#7890) -- Bump prismjs from 1.26.0 to 1.27.0 in /docs (#8022) -- Bump url-parse from 1.5.7 to 1.5.10 in /docs (#8023) - Bump docker/login-action from 1.13.0 to 1.14.1 - Bump golangci/golangci-lint-action from 2.5.2 to 3.1.0 - Bump google.golang.org/grpc from 1.41.0 to 1.42.0 (#7218) @@ -685,8 +591,6 @@ ### Ci -- Fix super-linter configuration settings (#7708) -- Fix super-linter configuration settings (backport #7708) (#7710) - Move test execution to makefile (#7372) (#7374) - Update mergify for tenderdash 0.8 - Cleanup build/test targets (backport #7393) (#7395) @@ -703,28 +607,14 @@ - Add graceful catches to SIGINT (#8308) - Simplify resetting commands (#8312) -### Clist - -- Remove unused waitgroup from clist implementation (#7843) - ### Cmd -- Avoid package state in cli constructors (#7719) - Make reset more safe (#8081) - Cosmetic changes for errors and print statements (#7377) (#7408) - Add integration test for rollback functionality (backport #7315) (#7369) -### Cmd/debug - -- Remove global variables and logging (#7957) - -### Conensus - -- Put timeouts on reactor tests (#7733) - ### Config -- Add event subscription options and defaults (#7930) - Add a Deprecation annotation to P2PConfig.Seeds. (#7496) (#7497) - Default indexer configuration to null (#8222) @@ -735,20 +625,6 @@ ### Consensus -- Remove unused closer construct (#7734) -- Delay start of peer routines (#7753) -- Delay start of peer routines (backport of #7753) (#7760) -- Tie peer threads to peer lifecylce context (#7792) -- Refactor operations in consensus queryMaj23Routine (#7791) -- Refactor operations in consensus queryMaj23Routine (backport #7791) (#7793) -- Start the timeout ticker before replay (#7844) -- Additional timing metrics (#7849) -- Additional timing metrics (backport #7849) (#7875) -- Improve cleanup of wal tests (#7878) -- HasVoteMessage index boundary check (#7720) -- TestReactorValidatorSetChanges test fix (#7985) -- Make orchestration more reliable for invalid precommit test (#8013) -- Validator set changes test cleanup (#8035) - Improve wal test cleanup (#8059) - Fix TestInvalidState race and reporting (#8071) - Ensure the node terminates on consensus failure (#8111) @@ -769,14 +645,8 @@ - Avoid panics during handshake (#8266) - Add nil check to gossip routine (#8288) -### Context - -- Cleaning up context dead ends (#7963) - ### E2e -- Plumb logging instance (#7958) -- Change ci network configuration (#7988) - Stabilize validator update form (#7340) (#7351) - Clarify apphash reporting (#7348) (#7352) - Generate keys for more stable load (#7344) (#7353) @@ -790,19 +660,9 @@ ### Evidence -- Refactored the evidence message to process Evidence instead of EvidenceList (#7700) - Manage and initialize state objects more clearly in the pool (#8080) - Remove source of non-determinism from test (#7266) (#7268) -### Github - -- Update e2e workflows (#7803) -- Add Informal code owners (#8042) - -### Indexer - -- Skip Docker tests when Docker is not available (#7814) - ### Internal/libs/protoio - Optimize MarshalDelimited by plain byteslice allocations+sync.Pool (#7325) (#7426) @@ -815,38 +675,20 @@ - Fix decoding of block-hash row keys (#8294) -### Libs/cli - -- Clean up package (#7806) - ### Libs/clist - Remove unused surface area (#8134) ### Libs/events -- Remove unused event cache (#7807) - Remove unneccessary unsubscription code (#8135) ### Libs/log - Remove Must constructor (#8120) -### Libs/service - -- Regularize Stop semantics and concurrency primitives (#7809) - -### Libs/strings - -- Cleanup string helper function package (#7808) - ### Light -- Fix absence proof verification by light client (#7639) -- Fix absence proof verification by light client (backport #7639) (#7716) -- Remove legacy timeout scheme (#7776) -- Remove legacy timeout scheme (backport #7776) (#7786) -- Avert a data race (#7888) - Remove untracked close channel (#8228) ### Lint @@ -854,42 +696,17 @@ - Remove lll check (#7346) (#7357) - Bump linter version in ci (#8234) -### Logging - -- Allow logging level override (#7873) - -### Math - -- Remove panics in safe math ops (#7962) - ### Mempool -- Return duplicate tx errors more consistently (#7714) -- Return duplicate tx errors more consistently (backport #7714) (#7718) -- IDs issue fixes (#7763) -- Remove duplicate tx message from reactor logs (#7795) -- Fix benchmark CheckTx for hitting the GetEvictableTxs call (#7796) -- Use checktx sync calls (#7868) - Test harness should expose application (#8143) - Reduce size of test (#8152) -### Mempool+evidence - -- Simplify cleanup (#7794) - -### Metrics - -- Add metric for proposal timestamp difference (#7709) - ### Migration - Remove stale seen commits (#8205) ### Node -- Allow orderly shutdown if context is canceled and gensis is in the future (#7817) -- Clarify unneccessary logic in seed constructor (#7818) -- Hook up eventlog and eventlog metrics (#7981) - Excise node handle within rpc env (#8063) - Nodes should fetch state on startup (#8062) - Pass eventbus at construction time (#8084) @@ -905,18 +722,6 @@ ### P2p -- Pass start time to flowrate and cleanup constructors (#7838) -- Make mconn transport test less flaky (#7973) -- Mconn track last message for pongs (#7995) -- Relax pong timeout (#8007) -- Backport changes in ping/pong tolerances (#8009) -- Retry failed connections slightly more aggressively (#8010) -- Retry failed connections slightly more aggressively (backport #8010) (#8012) -- Ignore transport close error during cleanup (#8011) -- Plumb rudamentary service discovery to rectors and update statesync (#8030) -- Plumb rudamentary service discovery to rectors and update statesync (backport #8030) (#8036) -- Re-enable tests previously disabled (#8049) -- Update shim to transfer information about peers (#8047) - Update polling interval calculation for PEX requests (#8106) - Remove unnecessary panic handling in PEX reactor (#8110) - Adjust max non-persistent peer score (#8137) @@ -929,24 +734,16 @@ - Rate control refactor (#7828) -### P2p/message - -- Changed evidence message to contain evidence, not a list… (#394) - ### Proto -- Merge the proposer-based timestamps parameters (#393) -- Abci++ changes (#348) - Update proto generation to use buf (#7975) ### Proxy -- Fix endblock metric (#7989) - Collapse triforcated abci.Client (#8067) ### Pubsub -- Check for termination in UnsubscribeAll (#7820) - Report a non-nil error when shutting down. (#7310) - [minor] remove unused stub method (#8316) @@ -956,65 +753,30 @@ ### Rfc -- P2p light client (#7672) - RFC 015 ABCI++ Tx Mutation (#8033) -### Roadmap - -- Update to better reflect v0.36 changes (#7774) - ### Rollback - Cleanup second node during test (#8175) ### Rpc -- Add application info to `status` call (#7701) -- Remove unused websocket options (#7712) -- Clean up unused non-default websocket client options (#7713) -- Don't route websocket-only methods on GET requests (#7715) -- Clean up encoding of request and response messages (#7721) -- Simplify and consolidate response construction (#7725) -- Clean up unmarshaling of batch-valued responses (#7728) -- Simplify the handling of JSON-RPC request and response IDs (#7738) -- Fix layout of endpoint list (#7742) -- Fix layout of endpoint list (#7742) (#7744) -- Remove the placeholder RunState type. (#7749) -- Allow GET parameters that support encoding.TextUnmarshaler (#7800) -- Remove unused latency metric (#7810) -- Implement the eventlog defined by ADR 075 (#7825) -- Implement the ADR 075 /events method (#7965) -- Set a minimum long-polling interval for Events (#8050) - Backport experimental buffer size control parameters from #7230 (tm v0.35.x) (#7276) - Implement header and header_by_hash queries (backport #7270) (#7367) - Add more nil checks in the status end point (#8287) - Avoid leaking threads (#8328) -### Rpc/client - -- Add Events method to the client interface (#7982) -- Rewrite the WaitForOneEvent helper (#7986) -- Add eventstream helper (#7987) - ### Scmigrate - Ensure target key is correctly renamed (#8276) ### Service -- Change stop interface (#7816) - Add NopService and use for PexReactor (#8100) - Minor cleanup of comments (#8314) -### Spec - -- Merge spec repo into tendermint repo (#7804) -- Merge spec repo into tendermint repo (#7804) -- Minor updates to spec merge PR (#7835) - ### State -- Synchronize the ProcessProposal implementation with the latest version of the spec (#7961) - Avoid panics for marshaling errors (#8125) - Panic on ResponsePrepareProposal validation error (#8145) - Propogate error from state store (#8171) @@ -1023,11 +785,6 @@ ### Statesync -- Relax timing (#7819) -- Assert app version matches (#7856) -- Assert app version matches (backport #7856) (#7886) -- Avoid compounding retry logic for fetching consensus parameters (#8032) -- Avoid compounding retry logic for fetching consensus parameters (backport #8032) (#8041) - Avoid leaking a thread during tests (#8085) - Assert app version matches (backport #7856) (#7886) - Avoid compounding retry logic for fetching consensus parameters (backport #8032) (#8041) @@ -1038,4105 +795,7727 @@ - Move event publications into the sync operations (#8274) -### Sync+p2p - -- Remove closer (#7805) - ### Types -- Make timely predicate adaptive after 10 rounds (#7739) -- Remove nested evidence field from block (#7765) -- Add string format to 64-bit integer JSON fields (#7787) -- Add default values for the synchrony parameters (#7788) - Update synchrony params to match checked in proto (#8142) - Minor cleanup of un or minimally used types (#8154) - Add TimeoutParams into ConsensusParams structs (#8177) - Fix path handling in node key tests (#7493) (#7502) -### Types/events+evidence - -- Emit events + metrics on evidence validation (#7802) - -## [0.7.0] - 2022-01-27 - -### ABCI++ - -- Major refactor of spec's structure. Addressed Josef's comments. Merged ABCI's methods and data structs that didn't change. Added introductory paragraphs -- Found a solution to set the execution mode +## [0.35.2] - 2022-03-02 ### ADR -- Update the proposer-based timestamp spec per discussion with @cason (#7153) - -### ADR-74 - -- Migrate Timeout Parameters to Consensus Parameters (#7503) +- Synchronize PBTS ADR with spec (#7764) ### Bug Fixes -- Accessing validator state safetly -- Safe state access in TestValidProposalChainLocks -- Safe state access in TestReactorInvalidBlockChainLock -- Safe state access in TestReactorInvalidBlockChainLock -- Seeds should not hang when disconnected from all nodes -- Change CI testnet config from ci.toml on dashcore.toml -- Update the title of pipeline task -- Ensure seed at least once connects to another seed (#200) -- Panic on precommits does not have any +2/3 votes -- Improved error handling in DashCoreSignerClient -- Abci/example, cmd and test packages were fixed after the upstream backport -- Some fixes to be able to compile the add -- Some fixes made by PR feedback -- Use types.DefaultDashVotingPower rather than internal dashDefaultVotingPower -- Don't disconnect already disconnected validators +- Detect and fix data-race in MockPV (#262) +- Race condition when logging (#271) +- Decrease memory used by debug logs (#280) +- Tendermint stops when validator node id lookup fails (#279) ### Documentation -- Add roadmap to repo (#7107) -- Add reactor sections (#6510) -- Add reactor sections (backport #6510) (#7151) -- Fix broken links and layout (#7154) -- Fix broken links and layout (#7154) (#7163) -- Set up Dependabot on new backport branches. (#7227) -- Update bounty links (#7203) -- Add description about how to keep validators public keys at full node -- Add information how to sue preset for network generation -- Change a type of code block -- Add upgrading info about node service (#7241) -- Add upgrading info about node service (#7241) (#7242) -- Clarify where doc site config settings must land (#7289) -- Add abci timing metrics to the metrics docs (#7311) -- Go tutorial fixed for 0.35.0 version (#7329) (#7330) -- Go tutorial fixed for 0.35.0 version (#7329) (#7330) (#7331) -- Update go ws code snippets (#7486) -- Update go ws code snippets (#7486) (#7487) -- Fixup the builtin tutorial (#7488) - -### Features - -- Add two more CI pipeline tasks to run e2e rotate.toml -- Reset full-node pub-keys -- Manual backport the upstream commit b69ac23fd20bdc00dea00c7c8a69fa66f2e675a9 -- Update CHANGELOG_PENDING.md -- Improve logging for better elasticsearch compatibility (#220) -- InitChain can set initial core lock height (#222) -- Add empty block on h-1 and h-2 apphash change (#241) -- Inter-validator set communication (#187) -- Add create_proof_block_range config option (#243) +- Fix some typos in ADR 075. (#7726) +- Drop v0.32 from the doc site configuration (#7741) +- Fix RPC output examples for GET queries (#7799) +- Fix ToC file extension for RFC 004. (#7813) +- Rename RFC 008 (#7841) +- Fix broken markdown links (cherry-pick of #7847) (#7848) +- Fix broken markdown links (#7847) +- Update spec links to point to tendermint/tendermint (#7851) +- Remove unnecessary os.Exit calls at the end of main (#7861) +- Fix misspelled file name (#7863) +- Remove spec section from v0.35 docs (#7899) +- Pin the RPC docs to v0.35 instead of master (#7909) +- Pin the RPC docs to v0.35 instead of master (backport #7909) (#7911) +- Update repo and spec readme's (#7907) +- Redirect master links to the latest release version (#7936) +- Redirect master links to the latest release version (backport #7936) (#7954) +- Fix cosmos theme version. (#7966) +- Point docs/master to the same content as the latest release (backport #7980) (#7998) +- Fix some broken markdown links (#8021) +- Update ADR template (#7789) ### Miscellaneous Tasks -- Create only 1 proof block by default -- Release script and initial changelog (#250) -- [**breaking**] Bump ABCI version and update release.sh to change TMVersionDefault automatically (#253) -- Eliminate compile errors after backport of tendermint 0.35 (#238) -- Update changelog and version to 0.7.0 +- Update unit tests after backport fo tendermint v0.35 (#245) +- Backport Tenderdash 0.7 to 0.8 (#246) +- Fix e2e tests and protxhash population (#273) +- Improve logging for debug purposes ### PBTS -- New minimal set of changes in consensus algorithm (#369) -- New system model and problem statement (#375) - -### RFC-009 - -- Consensus Parameter Upgrades (#7524) +- Spec reorganization, summary of changes on README.md (#399) -### RFC006 +### RFC -- Semantic Versioning (#365) +- Add delete gas rfc (#7777) ### Refactor -- Minor formatting improvements -- Apply peer review feedback +- Change node's proTxHash on slice from pointer of slice (#263) +- Some minor changes in validate-conn-executor and routerDashDialer (#277) +- Populate proTxHash in address-book (#274) ### Security -- Bump actions/checkout from 2.3.4 to 2.3.5 (#7139) -- Bump prismjs from 1.23.0 to 1.25.0 in /docs (#7168) -- Bump postcss from 7.0.35 to 7.0.39 in /docs (#7167) -- Bump ws from 6.2.1 to 6.2.2 in /docs (#7165) -- Bump path-parse from 1.0.6 to 1.0.7 in /docs (#7164) -- Bump url-parse from 1.5.1 to 1.5.3 in /docs (#7166) -- Bump actions/checkout from 2.3.5 to 2.4.0 (#7199) -- Bump github.com/golangci/golangci-lint from 1.42.1 to 1.43.0 (#7219) -- Bump google.golang.org/grpc from 1.41.0 to 1.42.0 (#7200) -- Bump github.com/lib/pq from 1.10.3 to 1.10.4 (#7261) -- Bump github.com/tendermint/tm-db from 0.6.4 to 0.6.6 (#7287) -- Bump actions/cache from 2.1.6 to 2.1.7 (#7334) -- Bump watchpack from 2.2.0 to 2.3.0 in /docs (#7335) -- Bump github.com/adlio/schema from 1.1.14 to 1.1.15 (#7407) -- Bump github.com/adlio/schema from 1.2.2 to 1.2.3 (#7432) -- Bump github.com/spf13/viper from 1.9.0 to 1.10.0 (#7434) -- Bump github.com/spf13/cobra from 1.2.1 to 1.3.0 (#7456) -- Bump google.golang.org/grpc from 1.42.0 to 1.43.0 (#7455) -- Bump github.com/spf13/viper from 1.10.0 to 1.10.1 (#7470) -- Bump docker/login-action from 1.10.0 to 1.12.0 (#7494) -- Bump github.com/BurntSushi/toml from 0.4.1 to 1.0.0 (#7562) -- Bump docker/build-push-action from 2.7.0 to 2.8.0 (#7679) -- Bump github.com/vektra/mockery/v2 from 2.9.4 to 2.10.0 (#7685) -- Bump github.com/golangci/golangci-lint from 1.43.0 to 1.44.0 (#7692) +- Bump github.com/prometheus/client_golang from 1.12.0 to 1.12.1 (#7732) +- Bump github.com/gorilla/websocket from 1.4.2 to 1.5.0 (#7829) +- Bump github.com/golangci/golangci-lint from 1.44.0 to 1.44.2 (#7854) +- Bump golangci/golangci-lint-action from 2.5.2 to 3.1.0 (#8026) ### Testing -- Regenerate remote_client mock -- Get rid of workarounds for issues fixed in 0.6.1 -- Clean up databases in tests (#6304) -- Improve cleanup for data and disk use (#6311) -- Close db in randConsensusNetWithPeers, just as it is in randConsensusNet -- Ensure commit stateid in wal is OK -- Add testing.T logger connector (#7447) -- Use scoped logger for all public packages (#7504) -- Pass testing.T to assert and require always, assertion cleanup (#7508) -- Remove background contexts (#7509) -- Remove panics from test fixtures (#7522) -- Pass testing.T around rather than errors for test fixtures (#7518) -- Uniquify prom IDs (#7540) -- Remove in-test logging (#7558) -- Use noop loger with leakteset in more places (#7604) -- Update docker versions to match build version (#7646) -- Update cleanup opertunities (#7647) -- Reduce timeout to 4m from 8m (#7681) +- Reduce usage of the MustDefaultLogger constructor (#7960) ### Abci -- Fix readme link (#7173) -- Socket server shutdown response handler (#7547) +- PrepareProposal (#6544) +- Vote Extension 1 (#6646) +- PrepareProposal-VoteExtension integration [2nd try] (#7821) +- Undo socket buffer limit (#7877) +- Make tendermint example+test clients manage a mutex (#7978) +- Remove lock protecting calls to the application interface (#7984) +- Use no-op loggers in the examples (#7996) +- Revert buffer limit change (#7990) ### Abci/client -- Use a no-op logger in the test (#7633) -- Simplify client interface (#7607) +- Remove vestigially captured context (#7839) +- Remove waitgroup for requests (#7842) +- Remove client-level callback (#7845) +- Make flush operation sync (#7857) +- Remove lingering async client code (#7876) -### Acbi +### Abci/kvstore -- Fix readme link to protocol buffers (#362) +- Test cleanup improvements (#7991) ### Adr -- Lib2p implementation plan (#7282) +- Merge tendermint/spec repository into tendermint/tendermint (#7775) -### Autofile +### Blocksync -- Ensure files are not reopened after closing (#7628) -- Avoid shutdown race (#7650) +- Shutdown cleanup (#7840) -### Backport +### Build -- Add basic metrics to the indexer package. (#7250) (#7252) +- Bump github.com/prometheus/client_golang (#7731) +- Bump docker/build-push-action from 2.8.0 to 2.9.0 (#397) +- Bump docker/build-push-action from 2.8.0 to 2.9.0 (#7780) +- Bump github.com/gorilla/websocket from 1.4.2 to 1.5.0 (#7830) +- Bump docker/build-push-action from 2.7.0 to 2.9.0 +- Bump github.com/gorilla/websocket from 1.4.2 to 1.5.0 +- Bump github.com/rs/zerolog from 1.26.0 to 1.26.1 +- Bump actions/github-script from 5 to 6 +- Bump docker/login-action from 1.10.0 to 1.12.0 +- Bump url-parse from 1.5.4 to 1.5.7 in /docs (#7855) +- Bump github.com/golangci/golangci-lint (#7853) +- Bump docker/login-action from 1.12.0 to 1.13.0 +- Bump docker/login-action from 1.12.0 to 1.13.0 (#7890) +- Bump prismjs from 1.26.0 to 1.27.0 in /docs (#8022) +- Bump url-parse from 1.5.7 to 1.5.10 in /docs (#8023) -### Blocksync +### Ci -- Remove v0 folder structure (#7128) -- Standardize construction process (#7531) +- Fix super-linter configuration settings (#7708) +- Fix super-linter configuration settings (backport #7708) (#7710) -### Buf +### Clist -- Modify buf.yml, add buf generate (#5653) -- Modify buf.yml, add buf generate (#5653) +- Remove unused waitgroup from clist implementation (#7843) -### Build +### Cmd -- Bump rtCamp/action-slack-notify from 2.1.1 to 2.2.0 -- Fix proto-lint step in Makefile -- Fix proto-lint step in Makefile -- Bump github.com/rs/zerolog from 1.25.0 to 1.26.0 (#7192) -- Github workflows: fix dependabot and code coverage (#191) -- Bump github.com/adlio/schema from 1.1.13 to 1.1.14 -- Bump github.com/adlio/schema from 1.1.13 to 1.1.14 (#7217) -- Bump github.com/golangci/golangci-lint (#7224) -- Bump github.com/rs/zerolog from 1.25.0 to 1.26.0 (#7222) -- Bump google.golang.org/grpc from 1.41.0 to 1.42.0 (#7218) -- Bump github.com/lib/pq from 1.10.3 to 1.10.4 -- Run e2e tests in parallel -- Bump github.com/lib/pq from 1.10.3 to 1.10.4 (#7260) -- Bump technote-space/get-diff-action from 5.0.1 to 5.0.2 -- Bump github.com/tendermint/tm-db from 0.6.4 to 0.6.6 (#7285) -- Update the builder image location. (#364) -- Update location of proto builder image (#7296) -- Declare packages variable in correct makefile (#7402) -- Bump github.com/adlio/schema from 1.1.14 to 1.1.15 (#7406) -- Bump github.com/adlio/schema from 1.1.14 to 1.1.15 -- Bump github.com/adlio/schema from 1.1.15 to 1.2.2 (#7423) -- Bump github.com/adlio/schema from 1.1.15 to 1.2.2 (#7422) -- Bump github.com/adlio/schema from 1.1.15 to 1.2.3 -- Bump github.com/spf13/viper from 1.9.0 to 1.10.0 (#7435) -- Bump github.com/adlio/schema from 1.2.2 to 1.2.3 (#7436) -- Bump watchpack from 2.3.0 to 2.3.1 in /docs (#7430) -- Bump google.golang.org/grpc from 1.42.0 to 1.43.0 (#7458) -- Bump github.com/spf13/cobra from 1.2.1 to 1.3.0 (#7457) -- Bump github.com/rs/zerolog from 1.26.0 to 1.26.1 (#7467) -- Bump github.com/rs/zerolog from 1.26.0 to 1.26.1 (#7469) -- Bump github.com/spf13/viper from 1.10.0 to 1.10.1 (#7468) -- Bump docker/login-action from 1.10.0 to 1.11.0 (#378) -- Bump github.com/rs/cors from 1.8.0 to 1.8.2 -- Bump docker/login-action from 1.11.0 to 1.12.0 (#380) -- Bump github.com/rs/cors from 1.8.0 to 1.8.2 (#7484) -- Bump github.com/rs/cors from 1.8.0 to 1.8.2 (#7485) -- Bump technote-space/get-diff-action from 5 to 6.0.1 (#7535) -- Bump github.com/BurntSushi/toml from 0.4.1 to 1.0.0 (#7560) -- Make sure to test packages with external tests (#7608) -- Make sure to test packages with external tests (backport #7608) (#7635) -- Bump github.com/prometheus/client_golang (#7636) -- Bump github.com/prometheus/client_golang (#7637) -- Bump docker/build-push-action from 2.7.0 to 2.8.0 (#389) -- Bump github.com/prometheus/client_golang (#249) -- Bump github.com/BurntSushi/toml from 0.4.1 to 1.0.0 -- Bump vuepress-theme-cosmos from 1.0.182 to 1.0.183 in /docs (#7680) -- Bump github.com/vektra/mockery/v2 from 2.9.4 to 2.10.0 (#7684) -- Bump google.golang.org/grpc from 1.43.0 to 1.44.0 (#7693) -- Bump github.com/golangci/golangci-lint (#7696) -- Bump google.golang.org/grpc from 1.43.0 to 1.44.0 (#7695) - -### Ci - -- Update dependabot configuration (#7204) -- Backport lint configuration changes (#7226) -- Move test execution to makefile (#7372) -- Move test execution to makefile (#7372) (#7374) -- Cleanup build/test targets (#7393) -- Fix missing dependency (#7396) -- Cleanup build/test targets (backport #7393) (#7395) -- Skip docker image builds during PRs (#7397) -- Skip docker image builds during PRs (#7397) (#7398) -- Tweak e2e configuration (#7400) +- Avoid package state in cli constructors (#7719) -### Clist +### Cmd/debug -- Reduce size of test workload for clist implementation (#7682) +- Remove global variables and logging (#7957) -### Cmd +### Conensus -- Add integration test and fix bug in rollback command (#7315) -- Cosmetic changes for errors and print statements (#7377) -- Cosmetic changes for errors and print statements (#7377) (#7408) -- Add integration test for rollback functionality (backport #7315) (#7369) +- Put timeouts on reactor tests (#7733) ### Config -- WriteConfigFile should return error (#7169) -- Expose ability to write config to arbitrary paths (#7174) -- Backport file writing changes (#7182) -- Add a Deprecation annotation to P2PConfig.Seeds. (#7496) -- Add a Deprecation annotation to P2PConfig.Seeds. (#7496) (#7497) +- Add event subscription options and defaults (#7930) ### Consensus -- Remove stale WAL benchmark (#7194) -- Add some more checks to vote counting (#7253) -- Add some more checks to vote counting (#7253) (#7262) -- Remove reactor options (#7526) -- Use noop logger for WAL test (#7580) -- Explicit test timeout (#7585) -- Test shutdown to avoid hangs (#7603) -- Calculate prevote message delay metric (#7551) -- Check proposal non-nil in prevote message delay metric (#7625) -- Calculate prevote message delay metric (backport #7551) (#7618) -- Check proposal non-nil in prevote message delay metric (#7625) (#7632) -- Use delivertxsync (#7616) -- Fix height advances in test state (#7648) -- Use buffered channel in TestStateFullRound1 (#7668) - -### Consensus+p2p - -- Change how consensus reactor is constructed (#7525) - -### Consensus/state - -- Avert a data race with state update and tests (#7643) +- Remove unused closer construct (#7734) +- Delay start of peer routines (#7753) +- Delay start of peer routines (backport of #7753) (#7760) +- Tie peer threads to peer lifecylce context (#7792) +- Refactor operations in consensus queryMaj23Routine (#7791) +- Refactor operations in consensus queryMaj23Routine (backport #7791) (#7793) +- Start the timeout ticker before replay (#7844) +- Additional timing metrics (#7849) +- Additional timing metrics (backport #7849) (#7875) +- Improve cleanup of wal tests (#7878) +- HasVoteMessage index boundary check (#7720) +- TestReactorValidatorSetChanges test fix (#7985) +- Make orchestration more reliable for invalid precommit test (#8013) +- Validator set changes test cleanup (#8035) -### Contexts +### Context -- Remove all TODO instances (#7466) +- Cleaning up context dead ends (#7963) ### E2e -- Always enable blocksync (#7144) -- Avoid unset defaults in generated tests (#7145) -- Evidence test refactor (#7146) -- Add option to dump and analyze core dumps -- Control access to state in Info calls (#7345) -- More clear height test (#7347) -- Stabilize validator update form (#7340) -- Stabilize validator update form (#7340) (#7351) -- Clarify apphash reporting (#7348) -- Clarify apphash reporting (#7348) (#7352) -- Generate keys for more stable load (#7344) -- Generate keys for more stable load (#7344) (#7353) -- App hash test cleanup (0.35 backport) (#7350) -- Limit legacyp2p and statesyncp2p (#7361) -- Use more simple strings for generated transactions (#7513) -- Avoid global test context (#7512) -- Use more simple strings for generated transactions (#7513) (#7514) -- Constrain test parallelism and reporting (#7516) -- Constrain test parallelism and reporting (backport #7516) (#7517) -- Make tx test more stable (#7523) -- Make tx test more stable (backport #7523) (#7527) - -### Errors - -- Formating cleanup (#7507) - -### Eventbus - -- Plumb contexts (#7337) +- Plumb logging instance (#7958) +- Change ci network configuration (#7988) ### Evidence -- Remove source of non-determinism from test (#7266) -- Remove source of non-determinism from test (#7266) (#7268) -- Reactor constructor (#7533) +- Refactored the evidence message to process Evidence instead of EvidenceList (#7700) -### Flowrate +### Github -- Cleanup unused files (#7158) +- Update e2e workflows (#7803) +- Add Informal code owners (#8042) -### Fuzz +### Indexer -- Remove fuzz cases for deleted code (#7187) +- Skip Docker tests when Docker is not available (#7814) -### Internal/libs +### Libs/cli -- Delete unused functionality (#7569) +- Clean up package (#7806) -### Internal/libs/protoio +### Libs/events -- Optimize MarshalDelimited by plain byteslice allocations+sync.Pool (#7325) -- Optimize MarshalDelimited by plain byteslice allocations+sync.Pool (#7325) (#7426) +- Remove unused event cache (#7807) -### Internal/proxy +### Libs/service -- Add initial set of abci metrics backport (#7342) +- Regularize Stop semantics and concurrency primitives (#7809) -### Jsontypes +### Libs/strings -- Improve tests and error diagnostics (#7669) +- Cleanup string helper function package (#7808) -### Libs/os +### Light -- Remove arbitrary os.Exit (#7284) -- Remove trap signal (#7515) +- Fix absence proof verification by light client (#7639) +- Fix absence proof verification by light client (backport #7639) (#7716) +- Remove legacy timeout scheme (#7776) +- Remove legacy timeout scheme (backport #7776) (#7786) +- Avert a data race (#7888) -### Libs/rand +### Logging -- Remove custom seed function (#7473) +- Allow logging level override (#7873) -### Libs/service +### Math -- Pass logger explicitly (#7288) +- Remove panics in safe math ops (#7962) -### Light +### Mempool -- Fix panic when empty commit is received from server -- Remove global context from tests (#7505) -- Avoid panic for integer underflow (#7589) -- Remove test panic (#7588) -- Convert validation panics to errors (#7597) -- Fix provider error plumbing (#7610) -- Return light client status on rpc /status (#7536) +- Return duplicate tx errors more consistently (#7714) +- Return duplicate tx errors more consistently (backport #7714) (#7718) +- IDs issue fixes (#7763) +- Remove duplicate tx message from reactor logs (#7795) +- Fix benchmark CheckTx for hitting the GetEvictableTxs call (#7796) +- Use checktx sync calls (#7868) -### Lint +### Mempool+evidence -- Cleanup branch lint errors (#7238) -- Remove lll check (#7346) -- Remove lll check (#7346) (#7357) +- Simplify cleanup (#7794) -### Log +### Metrics -- Dissallow nil loggers (#7445) -- Remove support for traces (#7542) -- Avoid use of legacy test logging (#7583) +- Add metric for proposal timestamp difference (#7709) -### Logging +### Node -- Remove reamining instances of SetLogger interface (#7572) +- Allow orderly shutdown if context is canceled and gensis is in the future (#7817) +- Clarify unneccessary logic in seed constructor (#7818) +- Hook up eventlog and eventlog metrics (#7981) -### Mempool +### P2p -- Remove panic when recheck-tx was not sent to ABCI application (#7134) -- Remove panic when recheck-tx was not sent to ABCI application (#7134) (#7142) -- Port reactor tests from legacy implementation (#7162) -- Consoldate implementations (#7171) -- Avoid arbitrary background contexts (#7409) -- Refactor mempool constructor (#7530) -- Reactor concurrency test tweaks (#7651) +- Pass start time to flowrate and cleanup constructors (#7838) +- Make mconn transport test less flaky (#7973) +- Mconn track last message for pongs (#7995) +- Relax pong timeout (#8007) +- Backport changes in ping/pong tolerances (#8009) +- Retry failed connections slightly more aggressively (#8010) +- Retry failed connections slightly more aggressively (backport #8010) (#8012) +- Ignore transport close error during cleanup (#8011) +- Plumb rudamentary service discovery to rectors and update statesync (#8030) +- Plumb rudamentary service discovery to rectors and update statesync (backport #8030) (#8036) +- Re-enable tests previously disabled (#8049) +- Update shim to transfer information about peers (#8047) -### Node +### P2p/message -- Cleanup construction (#7191) -- Minor package cleanups (#7444) -- New concrete type for seed node implementation (#7521) -- Move seed node implementation to its own file (#7566) -- Collapse initialization internals (#7567) +- Changed evidence message to contain evidence, not a list… (#394) -### Node+autofile +### Proto -- Avoid leaks detected during WAL shutdown (#7599) +- Merge the proposer-based timestamps parameters (#393) +- Abci++ changes (#348) -### Node+consensus +### Proxy -- Handshaker initialization (#7283) +- Fix endblock metric (#7989) -### Node+privval +### Pubsub -- Refactor privval construction (#7574) +- Check for termination in UnsubscribeAll (#7820) -### Node+rpc +### Rfc -- Rpc environment should own it's creation (#7573) +- P2p light client (#7672) -### Node,blocksync,config +### Roadmap -- Remove support for running nodes with blocksync disabled (#7159) +- Update to better reflect v0.36 changes (#7774) -### P2p +### Rpc -- Refactor channel description (#7130) -- Channel shim cleanup (#7129) -- Flatten channel descriptor (#7132) -- Simplify open channel interface (#7133) -- Remove final shims from p2p package (#7136) -- Use correct transport configuration (#7152) -- Add message type into the send/recv bytes metrics (#7155) -- Transport should be captive resposibility of router (#7160) -- Add message type into the send/recv bytes metrics (backport #7155) (#7161) -- Reduce peer score for dial failures (#7265) -- Reduce peer score for dial failures (backport #7265) (#7271) -- Remove unused trust package (#7359) -- Implement interface for p2p.Channel without channels (#7378) -- Remove unneeded close channels from p2p layer (#7392) -- Migrate to use new interface for channel errors (#7403) -- Refactor channel Send/out (#7414) -- Use recieve for channel iteration (#7425) -- Always advertise self, to enable mutual address discovery (#7620) -- Always advertise self, to enable mutual address discovery (#7594) +- Add application info to `status` call (#7701) +- Remove unused websocket options (#7712) +- Clean up unused non-default websocket client options (#7713) +- Don't route websocket-only methods on GET requests (#7715) +- Clean up encoding of request and response messages (#7721) +- Simplify and consolidate response construction (#7725) +- Clean up unmarshaling of batch-valued responses (#7728) +- Simplify the handling of JSON-RPC request and response IDs (#7738) +- Fix layout of endpoint list (#7742) +- Fix layout of endpoint list (#7742) (#7744) +- Remove the placeholder RunState type. (#7749) +- Allow GET parameters that support encoding.TextUnmarshaler (#7800) +- Remove unused latency metric (#7810) +- Implement the eventlog defined by ADR 075 (#7825) +- Implement the ADR 075 /events method (#7965) +- Set a minimum long-polling interval for Events (#8050) -### P2p/upnp +### Rpc/client -- Remove unused functionality (#7379) +- Add Events method to the client interface (#7982) +- Rewrite the WaitForOneEvent helper (#7986) +- Add eventstream helper (#7987) -### Params +### Service -- Increase default synchrony params (#7704) +- Change stop interface (#7816) -### Pex +### Spec -- Remove legacy proto messages (#7147) -- Allow disabled pex reactor (#7198) -- Allow disabled pex reactor (backport #7198) (#7201) -- Avoid starting reactor twice (#7239) -- Improve goroutine lifecycle (#7343) -- Regularize reactor constructor (#7532) -- Avert a data race on map access in the reactor (#7614) -- Do not send nil envelopes to the reactor (#7622) -- Improve handling of closed channels (#7623) +- Merge spec repo into tendermint repo (#7804) +- Merge spec repo into tendermint repo (#7804) +- Minor updates to spec merge PR (#7835) -### Privval +### State -- Remove panics in privval implementation (#7475) -- Improve test hygine (#7511) -- Improve client shutdown to prevent resource leak (#7544) -- Synchronize leak check with shutdown (#7629) -- Do not use old proposal timestamp (#7621) -- Avoid re-signing vote when RHS and signbytes are equal (#7592) +- Synchronize the ProcessProposal implementation with the latest version of the spec (#7961) -### Proto +### Statesync -- Update the mechanism for generating protos from spec repo (#7269) -- Abci++ changes (#348) -- Rebuild the proto files from the spec repository (#7291) +- Relax timing (#7819) +- Assert app version matches (#7856) +- Assert app version matches (backport #7856) (#7886) +- Avoid compounding retry logic for fetching consensus parameters (#8032) +- Avoid compounding retry logic for fetching consensus parameters (backport #8032) (#8041) -### Protoio +### Sync+p2p -- Fix incorrect test assertion (#7606) +- Remove closer (#7805) -### Pubsub +### Types -- Simplify and improve server concurrency handling (#7070) -- Use distinct client IDs for test subscriptions. (#7178) -- Use distinct client IDs for test subscriptions. (#7178) (#7179) -- Use a dynamic queue for buffered subscriptions (#7177) -- Remove uninformative publisher benchmarks. (#7195) -- Move indexing out of the primary subscription path (#7231) -- Report a non-nil error when shutting down. (#7310) -- Make the queue unwritable after shutdown. (#7316) -- Use concrete queries instead of an interface (#7686) +- Make timely predicate adaptive after 10 rounds (#7739) +- Remove nested evidence field from block (#7765) +- Add string format to 64-bit integer JSON fields (#7787) +- Add default values for the synchrony parameters (#7788) -### Reactors +### Types/events+evidence -- Skip log on some routine cancels (#7556) +- Emit events + metrics on evidence validation (#7802) -### Rfc +## [0.7.0] - 2022-01-27 -- Deterministic proto bytes serialization (#7427) -- Don't panic (#7472) +### Miscellaneous Tasks -### Rpc +- Update changelog and version to 0.7.0 -- Fix inappropriate http request log (#7244) -- Backport experimental buffer size control parameters from #7230 (tm v0.35.x) (#7276) -- Implement header and header_by_hash queries (#7270) -- Implement header and header_by_hash queries (backport #7270) (#7367) -- Remove positional parameter encoding from clients (#7545) -- Collapse Caller and HTTPClient interfaces. (#7548) -- Simplify the JSON-RPC client Caller interface (#7549) -- Replace anonymous arguments with structured types (#7552) -- Refactor the HTTP POST handler (#7555) -- Replace custom context-like argument with context.Context (#7559) -- Remove cache control settings from the HTTP server (#7568) -- Fix mock test cases (#7571) -- Rework how responses are written back via HTTP (#7575) -- Simplify panic recovery in the server middleware (#7578) -- Consolidate RPC route map construction (#7582) -- Clean up the RPCFunc constructor signature (#7586) -- Check RPC service functions more carefully (#7587) -- Update fuzz criteria to match the implementation (#7595) -- Remove dependency of URL (GET) requests on tmjson (#7590) -- Simplify the encoding of interface-typed arguments in JSON (#7600) -- Paginate mempool /unconfirmed_txs endpoint (#7612) -- Use encoding/json rather than tmjson (#7670) -- Check error code for broadcast_tx_commit (#7683) -- Check error code for broadcast_tx_commit (#7683) (#7688) +### Consensus -### Service +- Use buffered channel in TestStateFullRound1 (#7668) -- Remove stop method and use contexts (#7292) -- Remove quit method (#7293) -- Cleanup base implementation and some caller implementations (#7301) -- Plumb contexts to all (most) threads (#7363) -- Remove exported logger from base implemenation (#7381) -- Cleanup close channel in reactors (#7399) -- Cleanup mempool and peer update shutdown (#7401) -- Avoid debug logs before error (#7564) +### Params -### State +- Increase default synchrony params (#7704) -- Add height assertion to rollback function (#7143) -- Add height assertion to rollback function (#7143) (#7148) -- Pass connected context (#7410) +## [0.35.1] - 2022-01-26 -### Statesync +### ABCI++ -- Assert app version matches (#7463) -- Reactor and channel construction (#7529) -- Use specific testing.T logger for tests (#7543) -- Clarify test cleanup (#7565) -- SyncAny test buffering (#7570) -- More orderly dispatcher shutdown (#7601) +- Major refactor of spec's structure. Addressed Josef's comments. Merged ABCI's methods and data structs that didn't change. Added introductory paragraphs +- Found a solution to set the execution mode -### Sync +### ADR -- Remove special mutexes (#7438) +- Update the proposer-based timestamp spec per discussion with @cason (#7153) -### Tools +### ADR-74 -- Clone proto files from spec (#6976) -- Remove tm-signer-harness (#7370) +- Migrate Timeout Parameters to Consensus Parameters (#7503) -### Tools/tm-signer-harness +### Bug Fixes -- Switch to not use hardcoded bytes for configs in test (#7362) +- Panic on precommits does not have any +2/3 votes +- Improved error handling in DashCoreSignerClient +- Abci/example, cmd and test packages were fixed after the upstream backport +- Some fixes to be able to compile the add +- Some fixes made by PR feedback +- Use types.DefaultDashVotingPower rather than internal dashDefaultVotingPower +- Don't disconnect already disconnected validators -### Types +### Documentation -- Fix path handling in node key tests (#7493) -- Fix path handling in node key tests (#7493) (#7502) -- Remove panic from block methods (#7501) -- Tests should not panic (#7506) -- Rename and extend the EventData interface (#7687) +- Clarify where doc site config settings must land (#7289) +- Add abci timing metrics to the metrics docs (#7311) +- Go tutorial fixed for 0.35.0 version (#7329) (#7330) +- Go tutorial fixed for 0.35.0 version (#7329) (#7330) (#7331) +- Update go ws code snippets (#7486) +- Update go ws code snippets (#7486) (#7487) +- Fixup the builtin tutorial (#7488) -## [0.6.0] - 2021-10-14 +### Features -### .github +- Improve logging for better elasticsearch compatibility (#220) +- InitChain can set initial core lock height (#222) +- Add empty block on h-1 and h-2 apphash change (#241) +- Inter-validator set communication (#187) +- Add create_proof_block_range config option (#243) -- Remove tessr and bez from codeowners (#7028) +### Miscellaneous Tasks -### Bug Fixes +- Create only 1 proof block by default +- Release script and initial changelog (#250) +- [**breaking**] Bump ABCI version and update release.sh to change TMVersionDefault automatically (#253) +- Eliminate compile errors after backport of tendermint 0.35 (#238) -- Amd64 build and arm build ci -- State sync locks when trying to retrieve AppHash -- Set correct LastStateID when updating block -- StateID - update tests (WIP, some still red) -- Ractor should validate StateID correctly + other fixes -- StateID in light client implementation -- Tests sometimes fail on connection attempt -- App hash size validation + remove unused code -- Invalid generation of tmproto.StateID request id -- State sync locks when trying to retrieve AppHash -- Correctly handle state ID of initial block -- Don't use state to verify blocks from mempool -- Incorrect state id for first block -- AppHashSize is inconsistent -- Support initial height != 1 -- E2e: workaround for "chain stalled at unknown height" -- Update dashcore network config, add validator01 to validator_update.0 and add all available validators to 1010 height -- Cleanup e2e Readme.md -- Remove height 1008 from dashcore -- Race condition in p2p_switch and pex_reactor (#7015) -- Race condition in p2p_switch and pex_reactor (#7015) -- Fix MD after the lint -- To avoid potential race conditions the validator-set-update is needed to copy rather than using the pointer to the field at PersistentKVStoreApplication, 'cause it leads to a race condition -- Update a comment block +### PBTS -### Documentation +- New minimal set of changes in consensus algorithm (#369) +- New system model and problem statement (#375) -- Fix typo (#6789) -- Fix a typo in the genesis_chunked description (#6792) -- Upgrade documentation for custom mempools (#6794) -- Fix typos in /tx_search and /tx. (#6823) -- Add package godoc for indexer (#6839) -- Remove return code in normal case from go built-in example (#6841) -- Fix a typo in the indexing section (#6909) -- Add documentation of unsafe_flush_mempool to openapi (#6947) -- Fix openapi yaml lint (#6948) -- State ID -- State-id.md typos and grammar -- Remove invalid info about initial state id -- Add some code comments -- ADR: Inter Validator Set Messaging -- Adr-d001: apllied feedback, added additional info -- Adr-d001 clarified abci protocol changes -- Adr-d001 describe 3 scenarios and minor restructure -- Adr-d001: clarify terms based on peer review -- Create separate releases doc (#7040) -- Adr-d001 apply peer review comments -- StateID verification algorithm - -### Features - -- [**breaking**] Proposed app version (#148) -- Info field with arbitrary data to ResultBroadcastTx -- Add ProposedBlockGTimeWindow in a config -- Fix coping of PubKey pointer -- Use proto.Copy function to copy a message - -### Fix +### RFC-009 -- Benchmark tests slow down light client tests +- Consensus Parameter Upgrades (#7524) -### Miscellaneous Tasks +### RFC006 -- Bump tenderdash version to 0.6.0-dev.1 -- Bump version to 0.6.0 (#185) +- Semantic Versioning (#365) ### Refactor -- E2e docker: build bls in separate layer -- Golangci-lint + minor test improvements -- Minor formatting updates -- E2e docker: build bls in separate layer -- Add ErrInvalidVoteSignature -- S/GetStateID()/StateID()/ -- Code style changes after peer review -- Move stateid to separate file -- Remove unused message CanonicalStateVote -- Use types instead of pb StateID in SignVote and Evidence -- Inverse behaviour of resetting fullnode pubkeys from FULLNODE_PUBKEY_RESET to FULLNODE_PUBKEY_KEEP env -- Add runner/rotate task to simplify running rotate network -- Assignment copies lock value (#7108) +- Apply peer review feedback ### Security -- Bump google.golang.org/grpc from 1.39.0 to 1.39.1 (#6801) -- Bump google.golang.org/grpc from 1.39.1 to 1.40.0 (#6819) -- Bump github.com/rs/zerolog from 1.24.0 to 1.25.0 (#6923) +- Bump google.golang.org/grpc from 1.41.0 to 1.42.0 (#7200) +- Bump github.com/lib/pq from 1.10.3 to 1.10.4 (#7261) +- Bump github.com/tendermint/tm-db from 0.6.4 to 0.6.6 (#7287) +- Bump actions/cache from 2.1.6 to 2.1.7 (#7334) +- Bump watchpack from 2.2.0 to 2.3.0 in /docs (#7335) +- Bump github.com/adlio/schema from 1.1.14 to 1.1.15 (#7407) +- Bump github.com/adlio/schema from 1.2.2 to 1.2.3 (#7432) +- Bump github.com/spf13/viper from 1.9.0 to 1.10.0 (#7434) +- Bump github.com/spf13/cobra from 1.2.1 to 1.3.0 (#7456) +- Bump google.golang.org/grpc from 1.42.0 to 1.43.0 (#7455) +- Bump github.com/spf13/viper from 1.10.0 to 1.10.1 (#7470) +- Bump docker/login-action from 1.10.0 to 1.12.0 (#7494) +- Bump github.com/BurntSushi/toml from 0.4.1 to 1.0.0 (#7562) +- Bump docker/build-push-action from 2.7.0 to 2.8.0 (#7679) +- Bump github.com/vektra/mockery/v2 from 2.9.4 to 2.10.0 (#7685) +- Bump github.com/golangci/golangci-lint from 1.43.0 to 1.44.0 (#7692) ### Testing -- Add mechanism to reproduce found fuzz errors (#6768) -- Install abci-cli when running make tests_integrations (#6834) -- Add StateID unit tests -- Check if wrong state ID fails VoteAdd() -- Fix: TestStateBadProposal didn't copy slices correctly -- TestHandshakePanicsIfAppReturnsWrongAppHash fixed -- Change apphash for every message -- Workaround for e2e tests starting too fast -- Consensus tests use random initial height -- Non-nil genesis apphash in genesis tests -- Add tests for initial height != 1 to consensus -- Fix: replay_test.go fails due to invalid height processing -- Add some StateID AppHash and Height assertions -- StateID verify with blocks N and N+1 -- Cleanup rpc/client and node test fixtures (#7112) -- Install abci-cli when running make tests_integrations (#6834) +- Ensure commit stateid in wal is OK +- Add testing.T logger connector (#7447) +- Use scoped logger for all public packages (#7504) +- Pass testing.T to assert and require always, assertion cleanup (#7508) +- Remove background contexts (#7509) +- Remove panics from test fixtures (#7522) +- Pass testing.T around rather than errors for test fixtures (#7518) +- Uniquify prom IDs (#7540) +- Remove in-test logging (#7558) +- Use noop loger with leakteset in more places (#7604) +- Update docker versions to match build version (#7646) +- Update cleanup opertunities (#7647) +- Reduce timeout to 4m from 8m (#7681) ### Abci -- Add changelog entry for mempool_error field (#6770) -- Clarify what abci stands for (#336) -- Clarify connection use in-process (#337) -- Change client to use multi-reader mutexes (backport #6306) (#6873) -- Flush socket requests and responses immediately. (#6997) -- Change client to use multi-reader mutexes (backport #6306) (#6873) +- Socket server shutdown response handler (#7547) -### Add +### Abci/client -- Update e2e doc +- Use a no-op logger in the test (#7633) +- Simplify client interface (#7607) -### Adr +### Acbi -- Node initialization (#6562) +- Fix readme link to protocol buffers (#362) -### Blockchain +### Adr -- Rename to blocksync service (#6755) +- Lib2p implementation plan (#7282) -### Blockstore +### Autofile -- Fix problem with seen commit (#6782) +- Ensure files are not reopened after closing (#7628) +- Avoid shutdown race (#7650) -### Blocksync +### Backport -- Complete transition from Blockchain to BlockSync (#6847) -- Fix shutdown deadlock issue (#7030) +- Add basic metrics to the indexer package. (#7250) (#7252) -### Blocksync/v2 +### Blocksync -- Remove unsupported reactor (#7046) +- Standardize construction process (#7531) ### Build -- Bump styfle/cancel-workflow-action from 0.9.0 to 0.9.1 (#6786) -- Bump technote-space/get-diff-action from 4 to 5 (#6788) -- Bump github.com/BurntSushi/toml from 0.3.1 to 0.4.1 (#6796) -- Bump github.com/golangci/golangci-lint (#6837) -- Bump docker/build-push-action from 2.6.1 to 2.7.0 (#6845) -- Bump codecov/codecov-action from 2.0.2 to 2.0.3 (#6860) -- Bump github.com/rs/zerolog from 1.23.0 to 1.24.0 (#6874) -- Bump github.com/lib/pq from 1.10.2 to 1.10.3 (#6890) -- Bump docker/setup-buildx-action from 1.5.0 to 1.6.0 (#6903) -- Bump github.com/golangci/golangci-lint (#6907) -- Bump codecov/codecov-action from 2.0.3 to 2.1.0 (#6938) -- Bump github.com/vektra/mockery/v2 from 2.9.0 to 2.9.3 (#6951) -- Bump github.com/vektra/mockery/v2 from 2.9.3 to 2.9.4 (#6956) -- Bump github.com/spf13/viper from 1.8.1 to 1.9.0 (#6961) -- E2e docker app can be run with dlv debugger -- Improve e2e docker container debugging -- Bump github.com/go-kit/kit from 0.11.0 to 0.12.0 (#6988) -- Bump google.golang.org/grpc from 1.40.0 to 1.41.0 (#7003) -- Update all deps to most recent version -- Bump github.com/adlio/schema from 1.1.13 to 1.1.14 (#7069) -- Replace github.com/go-kit/kit/log with github.com/go-kit/log -- Fix build-docker to include the full context. (#7114) -- Fix build-docker to include the full context. (#7114) (#7116) +- Bump google.golang.org/grpc from 1.41.0 to 1.42.0 (#7218) +- Bump github.com/lib/pq from 1.10.3 to 1.10.4 +- Run e2e tests in parallel +- Bump github.com/lib/pq from 1.10.3 to 1.10.4 (#7260) +- Bump technote-space/get-diff-action from 5.0.1 to 5.0.2 +- Bump github.com/tendermint/tm-db from 0.6.4 to 0.6.6 (#7285) +- Update the builder image location. (#364) +- Update location of proto builder image (#7296) +- Declare packages variable in correct makefile (#7402) +- Bump github.com/adlio/schema from 1.1.14 to 1.1.15 (#7406) +- Bump github.com/adlio/schema from 1.1.14 to 1.1.15 +- Bump github.com/adlio/schema from 1.1.15 to 1.2.2 (#7423) +- Bump github.com/adlio/schema from 1.1.15 to 1.2.2 (#7422) +- Bump github.com/adlio/schema from 1.1.15 to 1.2.3 +- Bump github.com/spf13/viper from 1.9.0 to 1.10.0 (#7435) +- Bump github.com/adlio/schema from 1.2.2 to 1.2.3 (#7436) +- Bump watchpack from 2.3.0 to 2.3.1 in /docs (#7430) +- Bump google.golang.org/grpc from 1.42.0 to 1.43.0 (#7458) +- Bump github.com/spf13/cobra from 1.2.1 to 1.3.0 (#7457) +- Bump github.com/rs/zerolog from 1.26.0 to 1.26.1 (#7467) +- Bump github.com/rs/zerolog from 1.26.0 to 1.26.1 (#7469) +- Bump github.com/spf13/viper from 1.10.0 to 1.10.1 (#7468) +- Bump docker/login-action from 1.10.0 to 1.11.0 (#378) +- Bump github.com/rs/cors from 1.8.0 to 1.8.2 +- Bump docker/login-action from 1.11.0 to 1.12.0 (#380) +- Bump github.com/rs/cors from 1.8.0 to 1.8.2 (#7484) +- Bump github.com/rs/cors from 1.8.0 to 1.8.2 (#7485) +- Bump technote-space/get-diff-action from 5 to 6.0.1 (#7535) +- Bump github.com/BurntSushi/toml from 0.4.1 to 1.0.0 (#7560) +- Make sure to test packages with external tests (#7608) +- Make sure to test packages with external tests (backport #7608) (#7635) +- Bump github.com/prometheus/client_golang (#7636) +- Bump github.com/prometheus/client_golang (#7637) +- Bump docker/build-push-action from 2.7.0 to 2.8.0 (#389) +- Bump github.com/prometheus/client_golang (#249) +- Bump github.com/BurntSushi/toml from 0.4.1 to 1.0.0 +- Bump vuepress-theme-cosmos from 1.0.182 to 1.0.183 in /docs (#7680) +- Bump github.com/vektra/mockery/v2 from 2.9.4 to 2.10.0 (#7684) +- Bump google.golang.org/grpc from 1.43.0 to 1.44.0 (#7693) +- Bump github.com/golangci/golangci-lint (#7696) +- Bump google.golang.org/grpc from 1.43.0 to 1.44.0 (#7695) -### Bytes +### Ci -- Clean up and simplify encoding of HexBytes (#6810) +- Move test execution to makefile (#7372) +- Move test execution to makefile (#7372) (#7374) +- Cleanup build/test targets (#7393) +- Fix missing dependency (#7396) +- Cleanup build/test targets (backport #7393) (#7395) +- Skip docker image builds during PRs (#7397) +- Skip docker image builds during PRs (#7397) (#7398) +- Tweak e2e configuration (#7400) -### Changelog +### Clist -- Prepare for v0.34.12 (#6831) -- Update to reflect 0.34.12 release (#6833) -- Linkify the 0.34.11 release notes (#6836) -- Add entry for interanlizations (#6989) -- Add 0.34.14 updates (#7117) +- Reduce size of test workload for clist implementation (#7682) -### Changelog_pending +### Cmd -- Add missing item (#6829) -- Add missing entry (#6830) +- Add integration test and fix bug in rollback command (#7315) +- Cosmetic changes for errors and print statements (#7377) +- Cosmetic changes for errors and print statements (#7377) (#7408) +- Add integration test for rollback functionality (backport #7315) (#7369) -### Ci +### Config -- Drop codecov bot (#6917) -- Tweak code coverage settings (#6920) -- Disable codecov patch status check (#6930) -- Skip coverage for non-go changes (#6927) -- Skip coverage tasks for test infrastructure (#6934) -- Reduce number of groups for 0.34 e2e runs (#6968) -- Use smart merges (#6993) -- Use cheaper codecov data collection (#7009) -- Mergify support for 0.35 backports (#7050) -- 0.35.x nightly should run from master and checkout the release branch (#7067) -- Fix p2p configuration for e2e tests (#7066) -- Use run-multiple.sh for e2e pr tests (#7111) +- Add a Deprecation annotation to P2PConfig.Seeds. (#7496) +- Add a Deprecation annotation to P2PConfig.Seeds. (#7496) (#7497) -### Cleanup +### Consensus -- Remove redundant error plumbing (#6778) -- Fix order of linters in the golangci-lint config (#6910) -- Reduce and normalize import path aliasing. (#6975) -- Remove not needed binary test/app/grpc_client +- Add some more checks to vote counting (#7253) +- Add some more checks to vote counting (#7253) (#7262) +- Remove reactor options (#7526) +- Use noop logger for WAL test (#7580) +- Explicit test timeout (#7585) +- Test shutdown to avoid hangs (#7603) +- Calculate prevote message delay metric (#7551) +- Check proposal non-nil in prevote message delay metric (#7625) +- Calculate prevote message delay metric (backport #7551) (#7618) +- Check proposal non-nil in prevote message delay metric (#7625) (#7632) +- Use delivertxsync (#7616) +- Fix height advances in test state (#7648) -### Cli +### Consensus+p2p -- Allow node operator to rollback last state (#7033) -- Allow node operator to rollback last state (backport #7033) (#7081) +- Change how consensus reactor is constructed (#7525) -### Cli/indexer +### Consensus/state -- Reindex events (#6676) +- Avert a data race with state update and tests (#7643) -### Clist +### Contexts -- Add simple property tests (#6791) +- Remove all TODO instances (#7466) -### Cmd +### E2e -- Remove deprecated snakes (#6854) +- Control access to state in Info calls (#7345) +- More clear height test (#7347) +- Stabilize validator update form (#7340) +- Stabilize validator update form (#7340) (#7351) +- Clarify apphash reporting (#7348) +- Clarify apphash reporting (#7348) (#7352) +- Generate keys for more stable load (#7344) +- Generate keys for more stable load (#7344) (#7353) +- App hash test cleanup (0.35 backport) (#7350) +- Limit legacyp2p and statesyncp2p (#7361) +- Use more simple strings for generated transactions (#7513) +- Avoid global test context (#7512) +- Use more simple strings for generated transactions (#7513) (#7514) +- Constrain test parallelism and reporting (#7516) +- Constrain test parallelism and reporting (backport #7516) (#7517) +- Make tx test more stable (#7523) +- Make tx test more stable (backport #7523) (#7527) -### Commands +### Errors -- Add key migration cli (#6790) +- Formating cleanup (#7507) -### Config +### Eventbus -- Add example on external_address (backport #6621) (#6624) +- Plumb contexts (#7337) -### Config/docs +### Evidence -- Update and deprecated (#6879) +- Remove source of non-determinism from test (#7266) +- Remove source of non-determinism from test (#7266) (#7268) +- Reactor constructor (#7533) -### Consensus +### Internal/libs -- Avoid unbuffered channel in state test (#7025) -- Wait until peerUpdates channel is closed to close remaining peers (#7058) -- Wait until peerUpdates channel is closed to close remaining peers (#7058) (#7060) +- Delete unused functionality (#7569) -### Contributing +### Internal/libs/protoio -- Update release instructions to use backport branches (#6827) -- Remove release_notes.md reference (#6846) +- Optimize MarshalDelimited by plain byteslice allocations+sync.Pool (#7325) +- Optimize MarshalDelimited by plain byteslice allocations+sync.Pool (#7325) (#7426) -### Core +### Internal/proxy -- Text cleanup (#332) +- Add initial set of abci metrics backport (#7342) -### Crypto/armor +### Jsontypes -- Remove unused package (#6963) +- Improve tests and error diagnostics (#7669) -### E2e +### Libs/os -- Avoid starting nodes from the future (#6835) -- Avoid starting nodes from the future (#6835) (#6838) -- Cleanup node start function (#6842) -- Cleanup node start function (#6842) (#6848) -- More consistent node selection during tests (#6857) -- Add weighted random configuration selector (#6869) -- More reliable method for selecting node to inject evidence (#6880) -- Change restart mechanism (#6883) -- Weight protocol dimensions (#6884) -- Skip light clients when waiting for height (#6891) -- Wait for all nodes rather than just one (#6892) -- Skip assertions for stateless nodes (#6894) -- Clean up generation of evidence (#6904) -- Introduce canonical ordering of manifests (#6918) -- Load generation and logging changes (#6912) -- Increase retain height to at least twice evidence age (#6924) -- Test multiple broadcast tx methods (#6925) -- Compile tests (#6926) -- Improve p2p mode selection (#6929) -- Reduce load volume (#6932) -- Slow load processes with longer evidence timeouts (#6936) -- Reduce load pressure (#6939) -- Tweak semantics of waitForHeight (#6943) -- Skip broadcastTxCommit check (#6949) -- Allow load generator to succed for short tests (#6952) -- Cleanup on all errors if preserve not specified (#6950) -- Run multiple should use preserve (#6972) -- Improve manifest sorting algorithim (#6979) -- Only check validator sets after statesync (#6980) -- Always preserve failed networks (#6981) -- Load should be proportional to network (#6983) -- Avoid non-determinism in app hash check (#6985) -- Tighten timing for load generation (#6990) -- Skip validation of status apphash (#6991) -- Do not inject evidence through light proxy (#6992) -- Add limit and sort to generator (#6998) -- Reduce number of statesyncs in test networks (#6999) -- Improve chances of statesyncing success (#7001) -- Allow running of single node using the e2e app (#6982) -- Reduce log noise (#7004) -- Avoid seed nodes when statesyncing (#7006) -- Add generator tests (#7008) -- Reduce number of stateless nodes in test networks (#7010) -- Use smaller transactions (#7016) -- Use network size in load generator (#7019) -- Generator ensure p2p modes (#7021) -- Automatically prune old app snapshots (#7034) -- Automatically prune old app snapshots (#7034) (#7063) -- Improve network connectivity (#7077) -- Abci protocol should be consistent across networks (#7078) -- Abci protocol should be consistent across networks (#7078) (#7086) -- Light nodes should use builtin abci app (#7095) -- Light nodes should use builtin abci app (#7095) (#7097) -- Disable app tests for light client (#6672) -- Avoid starting nodes from the future (#6835) (#6838) -- Cleanup node start function (#6842) (#6848) +- Remove arbitrary os.Exit (#7284) +- Remove trap signal (#7515) -### Evidence +### Libs/rand -- Add section explaining evidence (#324) +- Remove custom seed function (#7473) -### Inspect +### Libs/service -- Add inspect mode for debugging crashed tendermint node (#6785) -- Remove duplicated construction path (#6966) +- Pass logger explicitly (#7288) -### Internal/consensus +### Light -- Update error log (#6863) -- Update error log (#6863) (#6867) -- Update error log (#6863) (#6867) +- Remove global context from tests (#7505) +- Avoid panic for integer underflow (#7589) +- Remove test panic (#7588) +- Convert validation panics to errors (#7597) +- Fix provider error plumbing (#7610) +- Return light client status on rpc /status (#7536) -### Internal/proxy +### Lint -- Add initial set of abci metrics (#7115) +- Remove lll check (#7346) +- Remove lll check (#7346) (#7357) -### Light +### Log -- Wait for tendermint node to start before running example test (#6744) -- Replace homegrown mock with mockery (#6735) -- Fix early erroring (#6905) -- Update initialization description (#320) -- Update links in package docs. (#7099) -- Update links in package docs. (#7099) (#7101) -- Fix early erroring (#6905) +- Dissallow nil loggers (#7445) +- Remove support for traces (#7542) +- Avoid use of legacy test logging (#7583) -### Lint +### Logging -- Change deprecated linter (#6861) -- Fix collection of stale errors (#7090) +- Remove reamining instances of SetLogger interface (#7572) -### Mempool,rpc +### Mempool -- Add removetx rpc method (#7047) -- Add removetx rpc method (#7047) (#7065) +- Avoid arbitrary background contexts (#7409) +- Refactor mempool constructor (#7530) +- Reactor concurrency test tweaks (#7651) -### Mempool/v1 +### Node -- Test reactor does not panic on broadcast (#6772) +- Minor package cleanups (#7444) +- New concrete type for seed node implementation (#7521) +- Move seed node implementation to its own file (#7566) +- Collapse initialization internals (#7567) -### Network +### Node+autofile -- Update terraform config (#6901) +- Avoid leaks detected during WAL shutdown (#7599) -### Networks +### Node+consensus -- Update to latest DigitalOcean modules (#6902) +- Handshaker initialization (#7283) -### Node +### Node+privval -- Minimize hardcoded service initialization (#6798) -- Always close database engine (#7113) +- Refactor privval construction (#7574) + +### Node+rpc + +- Rpc environment should own it's creation (#7573) ### P2p -- Add test for pqueue dequeue full error (#6760) -- Change default to use new stack (#6862) -- Delete legacy stack initial pass (#7035) -- Remove wdrr queue (#7064) -- Cleanup transport interface (#7071) -- Cleanup unused arguments (#7079) -- Rename pexV2 to pex (#7088) -- Fix priority queue bytes pending calculation (#7120) +- Reduce peer score for dial failures (#7265) +- Reduce peer score for dial failures (backport #7265) (#7271) +- Remove unused trust package (#7359) +- Implement interface for p2p.Channel without channels (#7378) +- Remove unneeded close channels from p2p layer (#7392) +- Migrate to use new interface for channel errors (#7403) +- Refactor channel Send/out (#7414) +- Use recieve for channel iteration (#7425) +- Always advertise self, to enable mutual address discovery (#7620) +- Always advertise self, to enable mutual address discovery (#7594) + +### P2p/upnp + +- Remove unused functionality (#7379) ### Pex -- Update pex messages (#352) +- Improve goroutine lifecycle (#7343) +- Regularize reactor constructor (#7532) +- Avert a data race on map access in the reactor (#7614) +- Do not send nil envelopes to the reactor (#7622) +- Improve handling of closed channels (#7623) -### Proto +### Privval -- Move proto files under the correct directory related to their package name (#344) -- Add tendermint go changes (#349) -- Regenerate code (#6977) +- Remove panics in privval implementation (#7475) +- Improve test hygine (#7511) +- Improve client shutdown to prevent resource leak (#7544) +- Synchronize leak check with shutdown (#7629) +- Do not use old proposal timestamp (#7621) +- Avoid re-signing vote when RHS and signbytes are equal (#7592) -### Proxy +### Proto -- Move proxy package to internal (#6953) +- Update the mechanism for generating protos from spec repo (#7269) +- Abci++ changes (#348) +- Rebuild the proto files from the spec repository (#7291) -### Psql +### Protoio -- Add documentation and simplify constructor API (#6856) +- Fix incorrect test assertion (#7606) ### Pubsub -- Unsubscribe locking handling (#6816) -- Improve handling of closed blocking subsciptions. (#6852) +- Move indexing out of the primary subscription path (#7231) +- Report a non-nil error when shutting down. (#7310) +- Make the queue unwritable after shutdown. (#7316) +- Use concrete queries instead of an interface (#7686) -### Readme +### Reactors -- Update discord links (#6965) +- Skip log on some routine cancels (#7556) ### Rfc -- P2p next steps (#6866) -- Fix link style (#6870) -- Database storage engine (#6897) -- E2e improvements (#6941) -- Add performance taxonomy rfc (#6921) -- Fix a few typos and formatting glitches p2p roadmap (#6960) -- Event system (#6957) +- Deterministic proto bytes serialization (#7427) +- Don't panic (#7472) ### Rpc -- Add documentation for genesis chunked api (#6776) -- Avoid panics in unsafe rpc calls with new p2p stack (#6817) -- Support new p2p infrastructure (#6820) -- Log update (#6825) -- Log update (backport #6825) (#6826) -- Update peer format in specification in NetInfo operation (#331) -- Fix hash encoding in JSON parameters (#6813) -- Strip down the base RPC client interface. (#6971) -- Implement BroadcastTxCommit without event subscriptions (#6984) -- Add chunked rpc interface (backport #6445) (#6717) -- Move evidence tests to shared fixtures (#7119) -- Remove the deprecated gRPC interface to the RPC service (#7121) -- Fix typo in broadcast commit (#7124) +- Fix inappropriate http request log (#7244) +- Backport experimental buffer size control parameters from #7230 (tm v0.35.x) (#7276) +- Implement header and header_by_hash queries (#7270) +- Implement header and header_by_hash queries (backport #7270) (#7367) +- Remove positional parameter encoding from clients (#7545) +- Collapse Caller and HTTPClient interfaces. (#7548) +- Simplify the JSON-RPC client Caller interface (#7549) +- Replace anonymous arguments with structured types (#7552) +- Refactor the HTTP POST handler (#7555) +- Replace custom context-like argument with context.Context (#7559) +- Remove cache control settings from the HTTP server (#7568) +- Fix mock test cases (#7571) +- Rework how responses are written back via HTTP (#7575) +- Simplify panic recovery in the server middleware (#7578) +- Consolidate RPC route map construction (#7582) +- Clean up the RPCFunc constructor signature (#7586) +- Check RPC service functions more carefully (#7587) +- Update fuzz criteria to match the implementation (#7595) +- Remove dependency of URL (GET) requests on tmjson (#7590) +- Simplify the encoding of interface-typed arguments in JSON (#7600) +- Paginate mempool /unconfirmed_txs endpoint (#7612) +- Use encoding/json rather than tmjson (#7670) +- Check error code for broadcast_tx_commit (#7683) +- Check error code for broadcast_tx_commit (#7683) (#7688) -### Scripts +### Service -- Fix authors script to take a ref (#7051) +- Remove stop method and use contexts (#7292) +- Remove quit method (#7293) +- Cleanup base implementation and some caller implementations (#7301) +- Plumb contexts to all (most) threads (#7363) +- Remove exported logger from base implemenation (#7381) +- Cleanup close channel in reactors (#7399) +- Cleanup mempool and peer update shutdown (#7401) +- Avoid debug logs before error (#7564) ### State -- Move package to internal (#6964) - -### State/privval - -- Vote timestamp fix (#6748) -- Vote timestamp fix (backport #6748) (#6783) +- Pass connected context (#7410) ### Statesync -- New messages for gossiping consensus params (#328) -- Improve stateprovider handling in the syncer (backport) (#6881) -- Implement p2p state provider (#6807) -- Shut down node when statesync fails (#6944) -- Clean up reactor/syncer lifecylce (#6995) -- Add logging while waiting for peers (#7007) -- Ensure test network properly configured (#7026) -- Remove deadlock on init fail (#7029) -- Improve rare p2p race condition (#7042) -- Improve stateprovider handling in the syncer (backport) (#6881) - -### Statesync/rpc - -- Metrics for the statesync and the rpc SyncInfo (#6795) +- Assert app version matches (#7463) +- Reactor and channel construction (#7529) +- Use specific testing.T logger for tests (#7543) +- Clarify test cleanup (#7565) +- SyncAny test buffering (#7570) +- More orderly dispatcher shutdown (#7601) -### Store +### Sync -- Move pacakge to internal (#6978) +- Remove special mutexes (#7438) -### Time +### Tools -- Make median time library type private (#6853) +- Remove tm-signer-harness (#7370) -### Tools +### Tools/tm-signer-harness -- Add mockery to tools.go and remove mockery version strings (#6787) +- Switch to not use hardcoded bytes for configs in test (#7362) ### Types -- Move mempool error for consistency (#6875) - -### Upgrading +- Fix path handling in node key tests (#7493) +- Fix path handling in node key tests (#7493) (#7502) +- Remove panic from block methods (#7501) +- Tests should not panic (#7506) +- Rename and extend the EventData interface (#7687) -- Add information into the UPGRADING.md for users of the codebase wishing to upgrade (#6898) +## [0.35.0] - 2021-11-04 -### Version +### Bug Fixes -- Bump for 0.34.12 (#6832) +- Change CI testnet config from ci.toml on dashcore.toml +- Update the title of pipeline task +- Ensure seed at least once connects to another seed (#200) -## [0.5.10] - 2021-07-26 +### Documentation -### Testing +- Set up Dependabot on new backport branches. (#7227) +- Update bounty links (#7203) +- Add description about how to keep validators public keys at full node +- Add information how to sue preset for network generation +- Change a type of code block +- Add upgrading info about node service (#7241) +- Add upgrading info about node service (#7241) (#7242) -- Add test to reproduce found fuzz errors (#6757) +### Features -### Build +- Add two more CI pipeline tasks to run e2e rotate.toml +- Reset full-node pub-keys +- Manual backport the upstream commit b69ac23fd20bdc00dea00c7c8a69fa66f2e675a9 +- Update CHANGELOG_PENDING.md -- Bump golangci/golangci-lint-action from 2.3.0 to 2.5.2 -- Bump codecov/codecov-action from 1.5.2 to 2.0.1 (#6739) -- Bump codecov/codecov-action from 2.0.1 to 2.0.2 (#6764) +### Refactor -### E2e +- Minor formatting improvements -- Avoid systematic key-type variation (#6736) -- Drop single node hybrid configurations (#6737) -- Remove cartesian testing of ipv6 (#6734) -- Run tests in fewer groups (#6742) -- Prevent adding light clients as persistent peers (#6743) -- Longer test harness timeouts (#6728) -- Allow for both v0 and v1 mempool implementations (#6752) +### Security -### Fastsync/event +- Bump actions/checkout from 2.3.5 to 2.4.0 (#7199) +- Bump github.com/golangci/golangci-lint from 1.42.1 to 1.43.0 (#7219) -- Emit fastsync status event when switching consensus/fastsync (#6619) +### Testing -### Internal +- Clean up databases in tests (#6304) +- Improve cleanup for data and disk use (#6311) +- Close db in randConsensusNetWithPeers, just as it is in randConsensusNet -- Update blockchain reactor godoc (#6749) +### Build -### Light +- Bump github.com/rs/zerolog from 1.25.0 to 1.26.0 (#7192) +- Github workflows: fix dependabot and code coverage (#191) +- Bump github.com/adlio/schema from 1.1.13 to 1.1.14 +- Bump github.com/adlio/schema from 1.1.13 to 1.1.14 (#7217) +- Bump github.com/golangci/golangci-lint (#7224) +- Bump github.com/rs/zerolog from 1.25.0 to 1.26.0 (#7222) -- Run examples as integration tests (#6745) -- Improve error handling and allow providers to be added (#6733) +### Ci -### Mempool +- Update dependabot configuration (#7204) +- Backport lint configuration changes (#7226) -- Return mempool errors to the abci client (#6740) +### Consensus -### P2p +- Remove stale WAL benchmark (#7194) -- Add coverage for mConnConnection.TrySendMessage (#6754) -- Avoid blocking on the dequeCh (#6765) +### E2e -### Statesync/event +- Add option to dump and analyze core dumps -- Emit statesync start/end event (#6700) +### Fuzz -## [0.5.8] - 2021-07-20 +- Remove fuzz cases for deleted code (#7187) -### Blockchain +### Lint -- Error on v2 selection (#6730) +- Cleanup branch lint errors (#7238) -### Clist +### Node -- Add a few basic clist tests (#6727) +- Cleanup construction (#7191) -### Libs/clist +### Pex -- Revert clear and detach changes while debugging (#6731) +- Allow disabled pex reactor (#7198) +- Allow disabled pex reactor (backport #7198) (#7201) +- Avoid starting reactor twice (#7239) -### Mempool +### Pubsub -- Add TTL configuration to mempool (#6715) +- Use a dynamic queue for buffered subscriptions (#7177) +- Remove uninformative publisher benchmarks. (#7195) -## [0.5.7] - 2021-07-16 +## [0.35.0-rc4] - 2021-10-29 ### Bug Fixes -- Maverick compile issues (#104) -- Private validator key still automatically creating (#120) -- Getting pro tx hash from full node -- Incorrectly assume amd64 arch during docker build -- Image isn't pushed after build +- Accessing validator state safetly +- Safe state access in TestValidProposalChainLocks +- Safe state access in TestReactorInvalidBlockChainLock +- Safe state access in TestReactorInvalidBlockChainLock +- Seeds should not hang when disconnected from all nodes ### Documentation -- Rename tenderdash and update target repo -- Update events (#6658) -- Add sentence about windows support (#6655) -- Add docs file for the peer exchange (#6665) -- Update github issue and pr templates (#131) -- Fix broken links (#6719) +- Add roadmap to repo (#7107) +- Add reactor sections (#6510) +- Add reactor sections (backport #6510) (#7151) +- Fix broken links and layout (#7154) +- Fix broken links and layout (#7154) (#7163) -### Features +### Security -- Improve initialisation (#117) -- Add arm64 arch for builds +- Bump actions/checkout from 2.3.4 to 2.3.5 (#7139) +- Bump prismjs from 1.23.0 to 1.25.0 in /docs (#7168) +- Bump postcss from 7.0.35 to 7.0.39 in /docs (#7167) +- Bump ws from 6.2.1 to 6.2.2 in /docs (#7165) +- Bump path-parse from 1.0.6 to 1.0.7 in /docs (#7164) +- Bump url-parse from 1.5.1 to 1.5.3 in /docs (#7166) -### Miscellaneous Tasks +### Testing -- Target production dockerhub org -- Use official docker action +- Regenerate remote_client mock +- Get rid of workarounds for issues fixed in 0.6.1 -### RPC +### Abci -- Mark grpc as deprecated (#6725) +- Fix readme link (#7173) -### Security +### Blocksync -- Bump github.com/spf13/viper from 1.8.0 to 1.8.1 (#6622) -- Bump github.com/rs/cors from 1.7.0 to 1.8.0 (#6635) -- Bump github.com/go-kit/kit from 0.10.0 to 0.11.0 (#6651) -- Bump github.com/spf13/cobra from 1.2.0 to 1.2.1 (#6650) +- Remove v0 folder structure (#7128) -### Testing +### Buf -- Add current fuzzing to oss-fuzz-build script (#6576) -- Fix wrong compile fuzzer command (#6579) -- Fix wrong path for some p2p fuzzing packages (#6580) -- Fix non-deterministic backfill test (#6648) +- Modify buf.yml, add buf generate (#5653) +- Modify buf.yml, add buf generate (#5653) -### Abci +### Build -- Fix gitignore abci-cli (#6668) -- Remove counter app (#6684) +- Bump rtCamp/action-slack-notify from 2.1.1 to 2.2.0 +- Fix proto-lint step in Makefile +- Fix proto-lint step in Makefile -### Build +### Config -- Bump github.com/rs/zerolog from 1.22.0 to 1.23.0 (#6575) -- Bump github.com/spf13/viper from 1.7.1 to 1.8.0 (#6586) -- Bump docker/login-action from 1.9.0 to 1.10.0 (#6614) -- Bump docker/setup-buildx-action from 1.3.0 to 1.4.0 (#6629) -- Bump docker/setup-buildx-action from 1.4.0 to 1.4.1 (#6632) -- Bump google.golang.org/grpc from 1.38.0 to 1.39.0 (#6633) -- Bump github.com/spf13/cobra from 1.1.3 to 1.2.0 (#6640) -- Bump docker/build-push-action from 2.5.0 to 2.6.1 (#6639) -- Bump docker/setup-buildx-action from 1.4.1 to 1.5.0 (#6649) -- Bump gaurav-nelson/github-action-markdown-link-check (#6679) -- Bump github.com/golangci/golangci-lint (#6686) -- Bump gaurav-nelson/github-action-markdown-link-check (#313) -- Bump github.com/google/uuid from 1.2.0 to 1.3.0 (#6708) -- Bump actions/stale from 3.0.19 to 4 (#319) -- Bump actions/stale from 3.0.19 to 4 (#6726) - -### Changelog +- WriteConfigFile should return error (#7169) +- Expose ability to write config to arbitrary paths (#7174) +- Backport file writing changes (#7182) -- Have a single friendly bug bounty reminder (#6600) -- Update and regularize changelog entries (#6594) +### E2e -### Ci +- Always enable blocksync (#7144) +- Avoid unset defaults in generated tests (#7145) +- Evidence test refactor (#7146) -- Make ci consistent and push to docker hub -- Trigger docker build on release -- Disable arm build -- Always push to dockerhub -- Test enabling cache -- Test arm build -- Manually trigger build -- Disable arm64 builds -- Set release to workflow dispatch (manual) trigger -- Enable arm64 in CI +### Flowrate -### Cmd/tendermint/commands +- Cleanup unused files (#7158) -- Replace $HOME/.some/test/dir with t.TempDir (#6623) +### Light -### Config +- Fix panic when empty commit is received from server -- Add root dir to priv validator (#6585) -- Add example on external_address (#6621) -- Add example on external_address (backport #6621) (#6624) +### Mempool -### Consensus +- Remove panic when recheck-tx was not sent to ABCI application (#7134) +- Remove panic when recheck-tx was not sent to ABCI application (#7134) (#7142) +- Port reactor tests from legacy implementation (#7162) +- Consoldate implementations (#7171) -- Skip all messages during sync (#6577) +### Node,blocksync,config -### Crypto +- Remove support for running nodes with blocksync disabled (#7159) -- Use a different library for ed25519/sr25519 (#6526) +### P2p -### Deps +- Refactor channel description (#7130) +- Channel shim cleanup (#7129) +- Flatten channel descriptor (#7132) +- Simplify open channel interface (#7133) +- Remove final shims from p2p package (#7136) +- Use correct transport configuration (#7152) +- Add message type into the send/recv bytes metrics (#7155) +- Transport should be captive resposibility of router (#7160) +- Add message type into the send/recv bytes metrics (backport #7155) (#7161) -- Remove pkg errors (#6666) -- Run go mod tidy (#6677) +### Pex -### E2e +- Remove legacy proto messages (#7147) -- Fix looping problem while waiting (#6568) -- Allow variable tx size (#6659) -- Disable app tests for light client (#6672) -- Remove colorized output from docker-compose (#6670) -- Extend timeouts in test harness (#6694) -- Ensure evidence validator set matches nodes validator set (#6712) -- Tweak sleep for pertubations (#6723) +### Pubsub -### Evidence +- Simplify and improve server concurrency handling (#7070) +- Use distinct client IDs for test subscriptions. (#7178) +- Use distinct client IDs for test subscriptions. (#7178) (#7179) -- Update ADR 59 and add comments to the use of common height (#6628) +### State -### Fastsync +- Add height assertion to rollback function (#7143) +- Add height assertion to rollback function (#7143) (#7148) -- Update the metrics during fast-sync (#6590) +### Tools -### Fastsync/rpc +- Clone proto files from spec (#6976) -- Add TotalSyncedTime & RemainingTime to SyncInfo in /status RPC (#6620) +## [0.6.0] - 2021-10-14 -### Fuzz +### Documentation -- Initial support for fuzzing (#6558) +- StateID verification algorithm -### Internal/blockchain/v0 +### Miscellaneous Tasks -- Prevent all possible race for blockchainCh.Out (#6637) +- Bump version to 0.6.0 (#185) -### Libs/CList +### Refactor -- Automatically detach the prev/next elements in Remove function (#6626) +- Assignment copies lock value (#7108) -### Libs/log +### Testing -- Text logging format changes (#6589) +- StateID verify with blocks N and N+1 +- Cleanup rpc/client and node test fixtures (#7112) +- Install abci-cli when running make tests_integrations (#6834) -### Libs/time +### Abci -- Move types/time into libs (#6595) +- Change client to use multi-reader mutexes (backport #6306) (#6873) -### Light +### Build -- Correctly handle contexts (backport -> v0.34.x) (#6685) -- Correctly handle contexts (#6687) -- Add case to catch cancelled contexts within the detector (backport #6701) (#6720) +- Replace github.com/go-kit/kit/log with github.com/go-kit/log +- Fix build-docker to include the full context. (#7114) +- Fix build-docker to include the full context. (#7114) (#7116) -### Linter +### Changelog -- Linter checks non-ASCII identifiers (#6574) +- Add 0.34.14 updates (#7117) -### Mempool +### Ci -- Move errors to be public (#6613) +- Use run-multiple.sh for e2e pr tests (#7111) -### P2p +### Cleanup -- Increase queue size to 16MB (#6588) -- Avoid retry delay in error case (#6591) -- Address audit issues with the peer manager (#6603) -- Make NodeID and NetAddress public (#6583) -- Reduce buffering on channels (#6609) -- Do not redial peers with different chain id (#6630) -- Track peer channels to avoid sending across a channel a peer doesn't have (#6601) -- Remove annoying error log (#6688) +- Remove not needed binary test/app/grpc_client -### Pkg +### Cli -- Expose p2p functions (#6627) +- Allow node operator to rollback last state (#7033) +- Allow node operator to rollback last state (backport #7033) (#7081) -### Privval +### Config -- Missing privval type check in SetPrivValidator (#6645) +- Add example on external_address (backport #6621) (#6624) -### Psql +### E2e -- Close opened rows in tests (#6669) +- Improve network connectivity (#7077) +- Abci protocol should be consistent across networks (#7078) +- Abci protocol should be consistent across networks (#7078) (#7086) +- Light nodes should use builtin abci app (#7095) +- Light nodes should use builtin abci app (#7095) (#7097) +- Disable app tests for light client (#6672) +- Avoid starting nodes from the future (#6835) (#6838) +- Cleanup node start function (#6842) (#6848) -### Pubsub +### Internal/consensus -- Refactor Event Subscription (#6634) +- Update error log (#6863) (#6867) -### Release +### Internal/proxy -- Prepare changelog for v0.34.11 (#6597) -- Update changelog and version (#6599) +- Add initial set of abci metrics (#7115) -### Router/statesync +### Light -- Add helpful log messages (#6724) +- Update links in package docs. (#7099) +- Update links in package docs. (#7099) (#7101) +- Fix early erroring (#6905) -### Rpc +### Lint -- Fix RPC client doesn't handle url's without ports (#6507) -- Add subscription id to events (#6386) -- Use shorter path names for tests (#6602) -- Add totalGasUSed to block_results response (#308) -- Add max peer block height into /status rpc call (#6610) -- Add `TotalGasUsed` to `block_results` response (#6615) -- Re-index missing events (#6535) -- Add chunked rpc interface (backport #6445) (#6717) +- Fix collection of stale errors (#7090) -### State +### Node -- Move pruneBlocks from consensus/state to state/execution (#6541) +- Always close database engine (#7113) -### State/indexer +### P2p -- Close row after query (#6664) +- Cleanup transport interface (#7071) +- Cleanup unused arguments (#7079) +- Rename pexV2 to pex (#7088) +- Fix priority queue bytes pending calculation (#7120) -### State/privval +### Pex -- No GetPubKey retry beyond the proposal/voting window (#6578) +- Update pex messages (#352) -### State/types +### Rpc -- Refactor makeBlock, makeBlocks and makeTxs (#6567) +- Add chunked rpc interface (backport #6445) (#6717) +- Move evidence tests to shared fixtures (#7119) +- Remove the deprecated gRPC interface to the RPC service (#7121) +- Fix typo in broadcast commit (#7124) ### Statesync -- Tune backfill process (#6565) -- Increase chunk priority and robustness (#6582) -- Make fetching chunks more robust (#6587) -- Keep peer despite lightblock query fail (#6692) -- Remove outgoingCalls race condition in dispatcher (#6699) -- Use initial height as a floor to backfilling (#6709) -- Increase dispatcher timeout (#6714) -- Dispatcher test uses internal channel for timing (#6713) +- Improve stateprovider handling in the syncer (backport) (#6881) -### Tooling +## [0.35.0-rc3] - 2021-10-06 -- Use go version 1.16 as minimum version (#6642) +### Documentation -### Tools +- Adr-d001: clarify terms based on peer review +- Create separate releases doc (#7040) +- Adr-d001 apply peer review comments -- Remove k8s (#6625) -- Move tools.go to subdir (#6689) +### Features -### Types +- Use proto.Copy function to copy a message -- Move NodeInfo from p2p (#6618) +### Testing -## [0.4.2] - 2021-06-10 +- Add some StateID AppHash and Height assertions -### Blockchain/v0 +### Blocksync/v2 -- Fix data race in blockchain channel (#6518) +- Remove unsupported reactor (#7046) ### Build -- Bump github.com/btcsuite/btcd (#6560) -- Bump codecov/codecov-action from 1.5.0 to 1.5.2 (#6559) - -### Indexer +- Bump github.com/adlio/schema from 1.1.13 to 1.1.14 (#7069) -- Use INSERT ... ON CONFLICT in the psql eventsink insert functions (#6556) +### Ci -### Node +- Mergify support for 0.35 backports (#7050) +- 0.35.x nightly should run from master and checkout the release branch (#7067) +- Fix p2p configuration for e2e tests (#7066) -- Fix genesis on start up (#6563) +### Consensus -## [0.4.1] - 2021-06-09 +- Wait until peerUpdates channel is closed to close remaining peers (#7058) +- Wait until peerUpdates channel is closed to close remaining peers (#7058) (#7060) -### .github +### E2e -- Split the issue template into two seperate templates (#2073) -- Add markdown link checker (#4513) -- Move checklist from PR description into an auto-comment (#4745) -- Fix whitespace for autocomment (#4747) -- Fix whitespace for auto-comment (#4750) -- Move mergify config -- Move codecov.yml into .github -- Move codecov config into .github -- Fix fuzz-nightly job (#5965) -- Archive crashers and fix set-crashers-count step (#5992) -- Rename crashers output (fuzz-nightly-test) (#5993) -- Clean up PR template (#6050) -- Use job ID (not step ID) inside if condition (#6060) -- Remove erik as reviewer from dependapot (#6076) -- Rename crashers output (fuzz-nightly-test) (#5993) -- Archive crashers and fix set-crashers-count step (#5992) -- Fix fuzz-nightly job (#5965) -- Use job ID (not step ID) inside if condition (#6060) -- Remove erik as reviewer from dependapot (#6076) -- Jepsen workflow - initial version (#6123) -- [jepsen] fix inputs and remove TTY from docker (#6134) -- [jepsen] use working-directory instead of 'cd' (#6135) -- [jepsen] use "bash -c" to execute lein run cmd (#6136) -- [jepsen] cd inside the container, not outside (#6137) -- [jepsen] fix directory name (#6138) -- [jepsen] source .bashrc (#6139) -- [jepsen] add more docs (#6141) -- [jepsen] archive results (#6164) -- Remove myself from CODEOWNERS (#6248) -- Make core team codeowners (#6384) -- Make core team codeowners (#6383) +- Automatically prune old app snapshots (#7034) +- Automatically prune old app snapshots (#7034) (#7063) -### .github/codeowners +### Mempool,rpc -- Add alexanderbez (#5913) -- Add alexanderbez (#5913) +- Add removetx rpc method (#7047) +- Add removetx rpc method (#7047) (#7065) -### .github/issue_template +### P2p -- Update `/dump_consensus_state` request. (#5060) +- Delete legacy stack initial pass (#7035) +- Remove wdrr queue (#7064) -### .github/workflows +### Scripts -- Enable manual dispatch for some workflows (#5929) -- Try different e2e nightly test set (#6036) -- Separate e2e workflows for 0.34.x and master (#6041) -- Fix whitespace in e2e config file (#6043) -- Cleanup yaml for e2e nightlies (#6049) -- Try different e2e nightly test set (#6036) -- Separate e2e workflows for 0.34.x and master (#6041) -- Fix whitespace in e2e config file (#6043) -- Cleanup yaml for e2e nightlies (#6049) +- Fix authors script to take a ref (#7051) -### .gitignore +## [0.36.0-dev] - 2021-10-04 -- Sort (#5690) +### .github -### .golangci +- Remove tessr and bez from codeowners (#7028) -- Disable new linters (#4024) -- Set locale to US for misspell linter (#6038) +### Bug Fixes -### .goreleaser +- Fix MD after the lint +- To avoid potential race conditions the validator-set-update is needed to copy rather than using the pointer to the field at PersistentKVStoreApplication, 'cause it leads to a race condition +- Update a comment block -- Don't build linux/arm -- Build for windows -- Add windows, remove arm (32 bit) (#5692) -- Remove arm64 build instructions and bump changelog again (#6131) +### Documentation -### .vscode +- ADR: Inter Validator Set Messaging +- Adr-d001: apllied feedback, added additional info +- Adr-d001 clarified abci protocol changes +- Adr-d001 describe 3 scenarios and minor restructure -- Remove directory (#5626) +### Features -### ABCI +- Fix coping of PubKey pointer -- Update readme to fix broken link to proto (#5847) -- Fix ReCheckTx for Socket Client (#6124) +### Blocksync -### ADR +- Fix shutdown deadlock issue (#7030) -- Fix malleability problems in Secp256k1 signatures -- Add missing numbers as blank templates (#5154) +### Build -### ADR-016 +- Update all deps to most recent version -- Add versions to Block and State (#2644) -- Add protocol Version to NodeInfo (#2654) -- Update ABCI Info method for versions (#2662) +### Consensus -### ADR-037 +- Avoid unbuffered channel in state test (#7025) -- DeliverBlock (#3420) +### E2e -### ADR-053 +- Use network size in load generator (#7019) +- Generator ensure p2p modes (#7021) -- Update with implementation plan after prototype (#4427) -- Strengthen and simplify the state sync ABCI interface (#4610) +### Statesync -### ADR-057 +- Ensure test network properly configured (#7026) +- Remove deadlock on init fail (#7029) +- Improve rare p2p race condition (#7042) -- RPC (#4857) +## [0.35.0-rc2] - 2021-09-28 -### ADR-062 +### Bug Fixes -- Update with new P2P core implementation (#6051) +- Amd64 build and arm build ci +- State sync locks when trying to retrieve AppHash +- Set correct LastStateID when updating block +- StateID - update tests (WIP, some still red) +- Ractor should validate StateID correctly + other fixes +- StateID in light client implementation +- Tests sometimes fail on connection attempt +- App hash size validation + remove unused code +- Invalid generation of tmproto.StateID request id +- State sync locks when trying to retrieve AppHash +- Correctly handle state ID of initial block +- Don't use state to verify blocks from mempool +- Incorrect state id for first block +- AppHashSize is inconsistent +- Support initial height != 1 +- E2e: workaround for "chain stalled at unknown height" +- Update dashcore network config, add validator01 to validator_update.0 and add all available validators to 1010 height +- Cleanup e2e Readme.md +- Remove height 1008 from dashcore +- Race condition in p2p_switch and pex_reactor (#7015) +- Race condition in p2p_switch and pex_reactor (#7015) -### BROKEN +### Documentation -- Attempt to replace go-wire.JSON with json.Unmarshall in rpc +- Add documentation of unsafe_flush_mempool to openapi (#6947) +- Fix openapi yaml lint (#6948) +- State ID +- State-id.md typos and grammar +- Remove invalid info about initial state id +- Add some code comments -### Backport +### Features -- #6494 (#6506) +- Info field with arbitrary data to ResultBroadcastTx +- Add ProposedBlockGTimeWindow in a config -### Bech32 +### Fix -- Wrap error messages +- Benchmark tests slow down light client tests -### Bug Fixes +### Refactor -- Fix spelling of comment (#4566) -- Make p2p evidence_pending test not timing dependent (#6252) -- Avoid race with a deeper copy (#6285) -- Jsonrpc url parsing and dial function (#6264) -- Jsonrpc url parsing and dial function (#6264) (#6288) -- Theoretical leak in clisit.Init (#6302) -- Test fixture peer manager in mempool reactor tests (#6308) -- Benchmark single operation in parallel benchmark not b.N (#6422) +- E2e docker: build bls in separate layer +- Golangci-lint + minor test improvements +- Minor formatting updates +- E2e docker: build bls in separate layer +- Add ErrInvalidVoteSignature +- S/GetStateID()/StateID()/ +- Code style changes after peer review +- Move stateid to separate file +- Remove unused message CanonicalStateVote +- Use types instead of pb StateID in SignVote and Evidence +- Inverse behaviour of resetting fullnode pubkeys from FULLNODE_PUBKEY_RESET to FULLNODE_PUBKEY_KEEP env +- Add runner/rotate task to simplify running rotate network -### CHANGELOG +### Security -- Update release date -- Update release date -- Update release/v0.32.8 details (#4162) -- Update to reflect 0.33.5 (#4915) -- Add 0.32.12 changelog entry (#4918) -- Update for 0.34.0-rc4 (#5400) -- Update to reflect v0.34.0-rc6 (#5622) -- Add breaking Version name change (#5628) -- Prepare 0.34.1-rc1 (#5832) +- Bump github.com/rs/zerolog from 1.24.0 to 1.25.0 (#6923) -### CHANGELOG_PENDING +### Testing -- Fix the upcoming release number (#5103) -- Update changelog for changes to American spelling (#6100) +- Add StateID unit tests +- Check if wrong state ID fails VoteAdd() +- Fix: TestStateBadProposal didn't copy slices correctly +- TestHandshakePanicsIfAppReturnsWrongAppHash fixed +- Change apphash for every message +- Workaround for e2e tests starting too fast +- Consensus tests use random initial height +- Non-nil genesis apphash in genesis tests +- Add tests for initial height != 1 to consensus +- Fix: replay_test.go fails due to invalid height processing -### CODEOWNERS +### Abci -- Specify more precise codeowners (#5333) -- Remove erikgrinaker (#6057) -- Remove erikgrinaker (#6057) +- Flush socket requests and responses immediately. (#6997) -### CONTRIBUTING +### Add -- Include instructions for installing protobuf -- Update minor release process (#4909) -- Update to match the release flow used for 0.34.0 (#5697) +- Update e2e doc -### CONTRIBUTING.md +### Build -- Update testing section (#5979) +- Bump codecov/codecov-action from 2.0.3 to 2.1.0 (#6938) +- Bump github.com/vektra/mockery/v2 from 2.9.0 to 2.9.3 (#6951) +- Bump github.com/vektra/mockery/v2 from 2.9.3 to 2.9.4 (#6956) +- Bump github.com/spf13/viper from 1.8.1 to 1.9.0 (#6961) +- E2e docker app can be run with dlv debugger +- Improve e2e docker container debugging +- Bump github.com/go-kit/kit from 0.11.0 to 0.12.0 (#6988) +- Bump google.golang.org/grpc from 1.40.0 to 1.41.0 (#7003) -### CRandHex +### Changelog -- Fix up doc to mention length of digits +- Add entry for interanlizations (#6989) -### Client +### Ci -- DumpConsensusState, not DialSeeds. Cleanup +- Drop codecov bot (#6917) +- Tweak code coverage settings (#6920) +- Disable codecov patch status check (#6930) +- Skip coverage for non-go changes (#6927) +- Skip coverage tasks for test infrastructure (#6934) +- Reduce number of groups for 0.34 e2e runs (#6968) +- Use smart merges (#6993) +- Use cheaper codecov data collection (#7009) -### Connect2Switches +### Cleanup -- Panic on err +- Reduce and normalize import path aliasing. (#6975) -### Core +### Config/docs -- Move validation & data structures together (#176) +- Update and deprecated (#6879) -### Docs +### Crypto/armor -- Update description of seeds and persistent peers +- Remove unused package (#6963) -### Documentation +### E2e + +- Introduce canonical ordering of manifests (#6918) +- Load generation and logging changes (#6912) +- Increase retain height to at least twice evidence age (#6924) +- Test multiple broadcast tx methods (#6925) +- Compile tests (#6926) +- Improve p2p mode selection (#6929) +- Reduce load volume (#6932) +- Slow load processes with longer evidence timeouts (#6936) +- Reduce load pressure (#6939) +- Tweak semantics of waitForHeight (#6943) +- Skip broadcastTxCommit check (#6949) +- Allow load generator to succed for short tests (#6952) +- Cleanup on all errors if preserve not specified (#6950) +- Run multiple should use preserve (#6972) +- Improve manifest sorting algorithim (#6979) +- Only check validator sets after statesync (#6980) +- Always preserve failed networks (#6981) +- Load should be proportional to network (#6983) +- Avoid non-determinism in app hash check (#6985) +- Tighten timing for load generation (#6990) +- Skip validation of status apphash (#6991) +- Do not inject evidence through light proxy (#6992) +- Add limit and sort to generator (#6998) +- Reduce number of statesyncs in test networks (#6999) +- Improve chances of statesyncing success (#7001) +- Allow running of single node using the e2e app (#6982) +- Reduce log noise (#7004) +- Avoid seed nodes when statesyncing (#7006) +- Add generator tests (#7008) +- Reduce number of stateless nodes in test networks (#7010) +- Use smaller transactions (#7016) + +### Inspect + +- Remove duplicated construction path (#6966) + +### Light + +- Update initialization description (#320) + +### Proto + +- Add tendermint go changes (#349) +- Regenerate code (#6977) + +### Proxy + +- Move proxy package to internal (#6953) + +### Readme + +- Update discord links (#6965) + +### Rfc + +- Database storage engine (#6897) +- E2e improvements (#6941) +- Add performance taxonomy rfc (#6921) +- Fix a few typos and formatting glitches p2p roadmap (#6960) +- Event system (#6957) + +### Rpc + +- Fix hash encoding in JSON parameters (#6813) +- Strip down the base RPC client interface. (#6971) +- Implement BroadcastTxCommit without event subscriptions (#6984) + +### State + +- Move package to internal (#6964) + +### Statesync + +- Shut down node when statesync fails (#6944) +- Clean up reactor/syncer lifecylce (#6995) +- Add logging while waiting for peers (#7007) + +### Statesync/rpc + +- Metrics for the statesync and the rpc SyncInfo (#6795) + +### Store + +- Move pacakge to internal (#6978) + +## [0.35.0-rc1] - 2021-09-08 + +### Documentation + +- Add package godoc for indexer (#6839) +- Remove return code in normal case from go built-in example (#6841) +- Fix a typo in the indexing section (#6909) + +### Features + +- [**breaking**] Proposed app version (#148) + +### Miscellaneous Tasks + +- Bump tenderdash version to 0.6.0-dev.1 + +### Testing + +- Install abci-cli when running make tests_integrations (#6834) + +### Abci + +- Clarify what abci stands for (#336) +- Clarify connection use in-process (#337) +- Change client to use multi-reader mutexes (backport #6306) (#6873) + +### Blocksync + +- Complete transition from Blockchain to BlockSync (#6847) + +### Build + +- Bump github.com/golangci/golangci-lint (#6837) +- Bump docker/build-push-action from 2.6.1 to 2.7.0 (#6845) +- Bump codecov/codecov-action from 2.0.2 to 2.0.3 (#6860) +- Bump github.com/rs/zerolog from 1.23.0 to 1.24.0 (#6874) +- Bump github.com/lib/pq from 1.10.2 to 1.10.3 (#6890) +- Bump docker/setup-buildx-action from 1.5.0 to 1.6.0 (#6903) +- Bump github.com/golangci/golangci-lint (#6907) + +### Changelog + +- Update to reflect 0.34.12 release (#6833) +- Linkify the 0.34.11 release notes (#6836) + +### Cleanup + +- Fix order of linters in the golangci-lint config (#6910) + +### Cmd + +- Remove deprecated snakes (#6854) + +### Contributing + +- Remove release_notes.md reference (#6846) + +### Core + +- Text cleanup (#332) + +### E2e + +- Avoid starting nodes from the future (#6835) +- Avoid starting nodes from the future (#6835) (#6838) +- Cleanup node start function (#6842) +- Cleanup node start function (#6842) (#6848) +- More consistent node selection during tests (#6857) +- Add weighted random configuration selector (#6869) +- More reliable method for selecting node to inject evidence (#6880) +- Change restart mechanism (#6883) +- Weight protocol dimensions (#6884) +- Skip light clients when waiting for height (#6891) +- Wait for all nodes rather than just one (#6892) +- Skip assertions for stateless nodes (#6894) +- Clean up generation of evidence (#6904) + +### Inspect + +- Add inspect mode for debugging crashed tendermint node (#6785) + +### Internal/consensus + +- Update error log (#6863) +- Update error log (#6863) (#6867) + +### Light + +- Fix early erroring (#6905) + +### Lint + +- Change deprecated linter (#6861) + +### Network + +- Update terraform config (#6901) + +### Networks + +- Update to latest DigitalOcean modules (#6902) + +### P2p + +- Change default to use new stack (#6862) + +### Proto + +- Move proto files under the correct directory related to their package name (#344) + +### Psql + +- Add documentation and simplify constructor API (#6856) + +### Pubsub + +- Improve handling of closed blocking subsciptions. (#6852) + +### Rfc + +- P2p next steps (#6866) +- Fix link style (#6870) + +### Statesync + +- Improve stateprovider handling in the syncer (backport) (#6881) +- Implement p2p state provider (#6807) + +### Time + +- Make median time library type private (#6853) + +### Types + +- Move mempool error for consistency (#6875) + +### Upgrading + +- Add information into the UPGRADING.md for users of the codebase wishing to upgrade (#6898) + +## [0.34.12] - 2021-08-17 + +### Documentation + +- Fix typo (#6789) +- Fix a typo in the genesis_chunked description (#6792) +- Upgrade documentation for custom mempools (#6794) +- Fix typos in /tx_search and /tx. (#6823) + +### Security + +- Bump google.golang.org/grpc from 1.39.0 to 1.39.1 (#6801) +- Bump google.golang.org/grpc from 1.39.1 to 1.40.0 (#6819) + +### Testing + +- Add mechanism to reproduce found fuzz errors (#6768) + +### Abci + +- Add changelog entry for mempool_error field (#6770) + +### Adr + +- Node initialization (#6562) + +### Blockchain + +- Rename to blocksync service (#6755) + +### Blockstore + +- Fix problem with seen commit (#6782) + +### Build + +- Bump styfle/cancel-workflow-action from 0.9.0 to 0.9.1 (#6786) +- Bump technote-space/get-diff-action from 4 to 5 (#6788) +- Bump github.com/BurntSushi/toml from 0.3.1 to 0.4.1 (#6796) + +### Bytes + +- Clean up and simplify encoding of HexBytes (#6810) + +### Changelog + +- Prepare for v0.34.12 (#6831) + +### Changelog_pending + +- Add missing item (#6829) +- Add missing entry (#6830) + +### Cleanup + +- Remove redundant error plumbing (#6778) + +### Cli/indexer + +- Reindex events (#6676) + +### Clist + +- Add simple property tests (#6791) + +### Commands + +- Add key migration cli (#6790) + +### Contributing + +- Update release instructions to use backport branches (#6827) + +### Evidence + +- Add section explaining evidence (#324) + +### Light + +- Wait for tendermint node to start before running example test (#6744) +- Replace homegrown mock with mockery (#6735) + +### Mempool/v1 + +- Test reactor does not panic on broadcast (#6772) + +### Node + +- Minimize hardcoded service initialization (#6798) + +### P2p + +- Add test for pqueue dequeue full error (#6760) + +### Pubsub + +- Unsubscribe locking handling (#6816) + +### Rpc + +- Add documentation for genesis chunked api (#6776) +- Avoid panics in unsafe rpc calls with new p2p stack (#6817) +- Support new p2p infrastructure (#6820) +- Log update (#6825) +- Log update (backport #6825) (#6826) +- Update peer format in specification in NetInfo operation (#331) + +### State/privval + +- Vote timestamp fix (#6748) +- Vote timestamp fix (backport #6748) (#6783) + +### Statesync + +- New messages for gossiping consensus params (#328) + +### Tools + +- Add mockery to tools.go and remove mockery version strings (#6787) + +### Version + +- Bump for 0.34.12 (#6832) + +## [0.5.10] - 2021-07-26 + +### Testing + +- Add test to reproduce found fuzz errors (#6757) + +### Build + +- Bump golangci/golangci-lint-action from 2.3.0 to 2.5.2 +- Bump codecov/codecov-action from 1.5.2 to 2.0.1 (#6739) +- Bump codecov/codecov-action from 2.0.1 to 2.0.2 (#6764) + +### E2e + +- Avoid systematic key-type variation (#6736) +- Drop single node hybrid configurations (#6737) +- Remove cartesian testing of ipv6 (#6734) +- Run tests in fewer groups (#6742) +- Prevent adding light clients as persistent peers (#6743) +- Longer test harness timeouts (#6728) +- Allow for both v0 and v1 mempool implementations (#6752) + +### Fastsync/event + +- Emit fastsync status event when switching consensus/fastsync (#6619) + +### Internal + +- Update blockchain reactor godoc (#6749) + +### Light + +- Run examples as integration tests (#6745) +- Improve error handling and allow providers to be added (#6733) + +### Mempool + +- Return mempool errors to the abci client (#6740) + +### P2p + +- Add coverage for mConnConnection.TrySendMessage (#6754) +- Avoid blocking on the dequeCh (#6765) + +### Statesync/event + +- Emit statesync start/end event (#6700) + +## [0.5.8] - 2021-07-20 + +### Blockchain + +- Error on v2 selection (#6730) + +### Clist + +- Add a few basic clist tests (#6727) + +### Libs/clist + +- Revert clear and detach changes while debugging (#6731) + +### Mempool + +- Add TTL configuration to mempool (#6715) + +## [0.5.7] - 2021-07-16 + +### Bug Fixes + +- Maverick compile issues (#104) +- Private validator key still automatically creating (#120) +- Getting pro tx hash from full node +- Incorrectly assume amd64 arch during docker build +- Image isn't pushed after build + +### Documentation + +- Rename tenderdash and update target repo +- Update events (#6658) +- Add sentence about windows support (#6655) +- Add docs file for the peer exchange (#6665) +- Update github issue and pr templates (#131) +- Fix broken links (#6719) + +### Features + +- Improve initialisation (#117) +- Add arm64 arch for builds + +### Miscellaneous Tasks + +- Target production dockerhub org +- Use official docker action + +### RPC + +- Mark grpc as deprecated (#6725) + +### Security + +- Bump github.com/spf13/viper from 1.8.0 to 1.8.1 (#6622) +- Bump github.com/rs/cors from 1.7.0 to 1.8.0 (#6635) +- Bump github.com/go-kit/kit from 0.10.0 to 0.11.0 (#6651) +- Bump github.com/spf13/cobra from 1.2.0 to 1.2.1 (#6650) + +### Testing + +- Fix non-deterministic backfill test (#6648) + +### Abci + +- Fix gitignore abci-cli (#6668) +- Remove counter app (#6684) + +### Build + +- Bump docker/login-action from 1.9.0 to 1.10.0 (#6614) +- Bump docker/setup-buildx-action from 1.3.0 to 1.4.0 (#6629) +- Bump docker/setup-buildx-action from 1.4.0 to 1.4.1 (#6632) +- Bump google.golang.org/grpc from 1.38.0 to 1.39.0 (#6633) +- Bump github.com/spf13/cobra from 1.1.3 to 1.2.0 (#6640) +- Bump docker/build-push-action from 2.5.0 to 2.6.1 (#6639) +- Bump docker/setup-buildx-action from 1.4.1 to 1.5.0 (#6649) +- Bump gaurav-nelson/github-action-markdown-link-check (#6679) +- Bump github.com/golangci/golangci-lint (#6686) +- Bump gaurav-nelson/github-action-markdown-link-check (#313) +- Bump github.com/google/uuid from 1.2.0 to 1.3.0 (#6708) +- Bump actions/stale from 3.0.19 to 4 (#319) +- Bump actions/stale from 3.0.19 to 4 (#6726) + +### Changelog + +- Have a single friendly bug bounty reminder (#6600) +- Update and regularize changelog entries (#6594) + +### Ci + +- Make ci consistent and push to docker hub +- Trigger docker build on release +- Disable arm build +- Always push to dockerhub +- Test enabling cache +- Test arm build +- Manually trigger build +- Disable arm64 builds +- Set release to workflow dispatch (manual) trigger +- Enable arm64 in CI + +### Cmd/tendermint/commands + +- Replace $HOME/.some/test/dir with t.TempDir (#6623) + +### Config + +- Add example on external_address (#6621) +- Add example on external_address (backport #6621) (#6624) + +### Crypto + +- Use a different library for ed25519/sr25519 (#6526) + +### Deps + +- Remove pkg errors (#6666) +- Run go mod tidy (#6677) + +### E2e + +- Allow variable tx size (#6659) +- Disable app tests for light client (#6672) +- Remove colorized output from docker-compose (#6670) +- Extend timeouts in test harness (#6694) +- Ensure evidence validator set matches nodes validator set (#6712) +- Tweak sleep for pertubations (#6723) + +### Evidence + +- Update ADR 59 and add comments to the use of common height (#6628) + +### Fastsync + +- Update the metrics during fast-sync (#6590) + +### Fastsync/rpc + +- Add TotalSyncedTime & RemainingTime to SyncInfo in /status RPC (#6620) + +### Internal/blockchain/v0 + +- Prevent all possible race for blockchainCh.Out (#6637) + +### Libs/CList + +- Automatically detach the prev/next elements in Remove function (#6626) + +### Light + +- Correctly handle contexts (backport -> v0.34.x) (#6685) +- Correctly handle contexts (#6687) +- Add case to catch cancelled contexts within the detector (backport #6701) (#6720) + +### Mempool + +- Move errors to be public (#6613) + +### P2p + +- Address audit issues with the peer manager (#6603) +- Make NodeID and NetAddress public (#6583) +- Reduce buffering on channels (#6609) +- Do not redial peers with different chain id (#6630) +- Track peer channels to avoid sending across a channel a peer doesn't have (#6601) +- Remove annoying error log (#6688) + +### Pkg + +- Expose p2p functions (#6627) + +### Privval + +- Missing privval type check in SetPrivValidator (#6645) + +### Psql + +- Close opened rows in tests (#6669) + +### Pubsub + +- Refactor Event Subscription (#6634) + +### Release + +- Update changelog and version (#6599) + +### Router/statesync + +- Add helpful log messages (#6724) + +### Rpc + +- Use shorter path names for tests (#6602) +- Add totalGasUSed to block_results response (#308) +- Add max peer block height into /status rpc call (#6610) +- Add `TotalGasUsed` to `block_results` response (#6615) +- Re-index missing events (#6535) +- Add chunked rpc interface (backport #6445) (#6717) + +### State/indexer + +- Close row after query (#6664) + +### State/privval + +- No GetPubKey retry beyond the proposal/voting window (#6578) + +### Statesync + +- Make fetching chunks more robust (#6587) +- Keep peer despite lightblock query fail (#6692) +- Remove outgoingCalls race condition in dispatcher (#6699) +- Use initial height as a floor to backfilling (#6709) +- Increase dispatcher timeout (#6714) +- Dispatcher test uses internal channel for timing (#6713) + +### Tooling + +- Use go version 1.16 as minimum version (#6642) + +### Tools + +- Remove k8s (#6625) +- Move tools.go to subdir (#6689) + +### Types + +- Move NodeInfo from p2p (#6618) + +## [0.34.11] - 2021-06-18 + +### Testing + +- Add current fuzzing to oss-fuzz-build script (#6576) +- Fix wrong compile fuzzer command (#6579) +- Fix wrong path for some p2p fuzzing packages (#6580) + +### Build + +- Bump github.com/rs/zerolog from 1.22.0 to 1.23.0 (#6575) +- Bump github.com/spf13/viper from 1.7.1 to 1.8.0 (#6586) + +### Config + +- Add root dir to priv validator (#6585) + +### Consensus + +- Skip all messages during sync (#6577) + +### E2e + +- Fix looping problem while waiting (#6568) + +### Fuzz + +- Initial support for fuzzing (#6558) + +### Libs/log + +- Text logging format changes (#6589) + +### Libs/time + +- Move types/time into libs (#6595) + +### Linter + +- Linter checks non-ASCII identifiers (#6574) + +### P2p + +- Increase queue size to 16MB (#6588) +- Avoid retry delay in error case (#6591) + +### Release + +- Prepare changelog for v0.34.11 (#6597) + +### Rpc + +- Fix RPC client doesn't handle url's without ports (#6507) +- Add subscription id to events (#6386) + +### State + +- Move pruneBlocks from consensus/state to state/execution (#6541) + +### State/types + +- Refactor makeBlock, makeBlocks and makeTxs (#6567) + +### Statesync + +- Tune backfill process (#6565) +- Increase chunk priority and robustness (#6582) + +## [0.4.2] - 2021-06-10 + +### Blockchain/v0 + +- Fix data race in blockchain channel (#6518) + +### Build + +- Bump github.com/btcsuite/btcd (#6560) +- Bump codecov/codecov-action from 1.5.0 to 1.5.2 (#6559) + +### Indexer + +- Use INSERT ... ON CONFLICT in the psql eventsink insert functions (#6556) + +### Node + +- Fix genesis on start up (#6563) + +## [0.4.1] - 2021-06-09 + +### .github + +- Make core team codeowners (#6384) +- Make core team codeowners (#6383) + +### Backport + +- #6494 (#6506) + +### Bug Fixes + +- Benchmark single operation in parallel benchmark not b.N (#6422) + +### Documentation + +- Adr-65 adjustments (#6401) +- Adr cleanup (#6489) +- Hide security page (second attempt) (#6511) +- Rename tendermint-core to system (#6515) +- Logger updates (#6545) + +### RFC + +- ReverseSync - fetching historical data (#224) + +### Security + +- Bump github.com/confio/ics23/go from 0.6.3 to 0.6.6 (#6374) +- Bump github.com/grpc-ecosystem/go-grpc-middleware from 1.2.2 to 1.3.0 (#6387) +- Bump google.golang.org/grpc from 1.37.0 to 1.37.1 (#6461) +- Bump google.golang.org/grpc from 1.37.1 to 1.38.0 (#6483) +- Bump github.com/lib/pq from 1.10.1 to 1.10.2 (#6505) + +### Testing + +- Create common functions for easily producing tm data structures (#6435) +- HeaderHash test vector (#6531) +- Add evidence hash testvectors (#6536) + +### WIP + +- Add implementation of mock/fake http-server +- Rename package name from fakeserver to mockcoreserver +- Change the method names of call structure, Fix adding headers +- Add mock of JRPCServer implementation on top of HTTServer mock + +### Build + +- Bump codecov/codecov-action from v1.3.2 to v1.4.0 (#6365) +- Bump codecov/codecov-action from v1.4.0 to v1.4.1 (#6379) +- Bump docker/setup-buildx-action from v1.1.2 to v1.2.0 (#6391) +- Bump docker/setup-buildx-action from v1.2.0 to v1.3.0 (#6413) +- Bump codecov/codecov-action from v1.4.1 to v1.5.0 (#6417) +- Bump github.com/cosmos/iavl from 0.15.3 to 0.16.0 (#6421) +- Bump JamesIves/github-pages-deploy-action (#6448) +- Bump docker/build-push-action from 2 to 2.4.0 (#6454) +- Bump actions/stale from 3 to 3.0.18 (#6455) +- Bump actions/checkout from 2 to 2.3.4 (#6456) +- Bump docker/login-action from 1 to 1.9.0 (#6460) +- Bump actions/stale from 3.0.18 to 3.0.19 (#6477) +- Bump actions/stale from 3 to 3.0.18 (#300) +- Bump watchpack from 2.1.1 to 2.2.0 in /docs (#6482) +- Bump actions/stale from 3.0.18 to 3.0.19 (#302) +- Bump browserslist from 4.16.4 to 4.16.6 in /docs (#6487) +- Bump docker/build-push-action from 2.4.0 to 2.5.0 (#6496) +- Bump dns-packet from 1.3.1 to 1.3.4 in /docs (#6500) +- Bump actions/cache from 2.1.5 to 2.1.6 (#6504) +- Bump rtCamp/action-slack-notify from 2.1.3 to 2.2.0 (#6543) +- Bump github.com/prometheus/client_golang (#6552) + +### Changelog + +- Update for 0.34.10 (#6358) + +### Config + +- Create `BootstrapPeers` p2p config parameter (#6372) +- Add private peer id /net_info expose information in default config (#6490) +- Seperate priv validator config into seperate section (#6462) + +### Config/indexer + +- Custom event indexing (#6411) + +### Consensus + +- Add test vector for hasvote (#6469) + +### Core + +- Update a few sections (#284) + +### Crypto + +- Add sr25519 as a validator key (#6376) + +### Crypto/merkle + +- Pre-allocate data slice in innherHash (#6443) +- Optimize merkle tree hashing (#6513) + +### Db + +- Migration script for key format change (#6355) + +### Dep + +- Remove IAVL dependency (#6550) + +### E2e + +- Split out nightly tests (#6395) +- Prevent non-viable testnets (#6486) + +### Events + +- Add block_id to NewBlockEvent (#6478) + +### Evidence + +- Fix bug with hashes (#6375) +- Fix bug with hashes (backport #6375) (#6381) +- Separate abci specific validation (#6473) + +### Github + +- Fix linter configuration errors and occluded errors (#6400) + +### Improvement + +- Update TxInfo (#6529) + +### Libs + +- Remove most of libs/rand (#6364) +- Internalize some packages (#6366) + +### Libs/clist + +- Fix flaky tests (#6453) + +### Libs/log + +- Use fmt.Fprintf directly with *bytes.Buffer to avoid unnecessary allocations (#6503) + +### Libs/os + +- Avoid CopyFile truncating destination before checking if regular file (#6428) +- Avoid CopyFile truncating destination before checking if regular file (backport: #6428) (#6436) + +### Light + +- Ensure trust level is strictly less than 1 (#6447) +- Spec alignment on verify skipping (#6474) + +### Lint + +- Fix lint errors (#301) + +### Logger + +- Refactor Tendermint logger by using zerolog (#6534) + +### Mempool + +- Remove vestigal mempool wal (#6396) +- Benchmark improvements (#6418) +- Add duplicate transaction and parallel checktx benchmarks (#6419) +- V1 implementation (#6466) + +### Metrics + +- Change blocksize to a histogram (#6549) + +### Node + +- Use db provider instead of mem db (#6362) +- Cleanup pex initialization (#6467) +- Change package interface (#6540) + +### Node/state + +- Graceful shutdown in the consensus state (#6370) + +### Node/tests + +- Clean up use of genesis doc and surrounding tests (#6554) + +### P2p + +- Fix network update test (#6361) +- Update state sync messages for reverse sync (#285) +- Improve PEX reactor (#6305) +- Support private peer IDs in new p2p stack (#6409) +- Wire pex v2 reactor to router (#6407) +- Add channel descriptors to open channel (#6440) +- Revert change to routePeer (#6475) +- Limit rate of dialing new peers (#6485) +- Renames for reactors and routing layer internal moves (#6547) + +### P2p/conn + +- Check for channel id overflow before processing receive msg (#6522) +- Check for channel id overflow before processing receive msg (backport #6522) (#6528) + +### P2p/pex + +- Cleanup to pex internals and peerManager interface (#6476) +- Reuse hash.Hasher per addrbook for speed (#6509) + +### Pex + +- Fix send requests too often test (#6437) + +### Rpc + +- Define spec for RPC (#276) +- Remove global environment (#6426) +- Clean up client global state in tests (#6438) +- Add chunked rpc interface (#6445) +- Clarify timestamps (#304) +- Add chunked genesis endpoint (#299) +- Decouple test fixtures from node implementation (#6533) + +### State + +- Keep a cache of block verification results (#6402) + +### State/indexer + +- Reconstruct indexer, move txindex into the indexer package (#6382) + +### Statesync + +- Improve e2e test outcomes (#6378) +- Improve e2e test outcomes (backport #6378) (#6380) +- Sort snapshots by commonness (#6385) +- Fix unreliable test (#6390) +- Ranking test fix (#6415) + +### Tools + +- Use os home dir to instead of the hardcoded PATH (#6498) + +### Types + +- Refactor EventAttribute (#6408) +- Fix verify commit light / trusting bug (#6414) +- Revert breaking change (#6538) + +### Version + +- Revert version through ldflag only (#6494) + +### Ws + +- Parse remote addrs with trailing dash (#6537) + +## [0.34.10] - 2021-04-14 + +### Documentation + +- Bump vuepress-theme-cosmos (#6344) +- Remove RFC section and s/RFC001/ADR066 (#6345) + +### RPC + +- Don't cap page size in unsafe mode (#6329) + +### Security + +- Bump google.golang.org/grpc from 1.36.1 to 1.37.0 (#6330) + +### Testing + +- Produce structured reporting from benchmarks (#6343) + +### Adr + +- ADR 065: Custom Event Indexing (#6307) + +### Build + +- Bump google.golang.org/grpc from 1.36.1 to 1.37.0 (bp #6330) (#6335) +- Bump styfle/cancel-workflow-action from 0.8.0 to 0.9.0 (#6341) +- Bump actions/cache from v2.1.4 to v2.1.5 (#6350) + +### Changelog + +- Update to reflect 0.34.9 (#6334) +- Update for 0.34.10 (#6357) + +### E2e + +- Tx load to use broadcast sync instead of commit (#6347) +- Tx load to use broadcast sync instead of commit (backport #6347) (#6352) +- Relax timeouts (#6356) + +### Light + +- Handle too high errors correctly (#6346) +- Handle too high errors correctly (backport #6346) (#6351) + +### P2p + +- Make peer scoring test more resilient (#6322) +- Fix using custom channels (#6339) +- Minor cleanup + update router options (#6353) + +### Security + +- Update policy after latest security release (#6336) + +## [0.34.9] - 2021-04-08 + +### .github + +- Remove myself from CODEOWNERS (#6248) + +### Bug Fixes + +- Make p2p evidence_pending test not timing dependent (#6252) +- Avoid race with a deeper copy (#6285) +- Jsonrpc url parsing and dial function (#6264) +- Jsonrpc url parsing and dial function (#6264) (#6288) +- Theoretical leak in clisit.Init (#6302) +- Test fixture peer manager in mempool reactor tests (#6308) + +### Documentation + +- Fix sample code (#6186) +- Fix sample code #6186 + +### P2P + +- Evidence Reactor Test Refactor (#6238) + +### Security + +- Bump vuepress-theme-cosmos from 1.0.180 to 1.0.181 in /docs (#6266) +- Bump github.com/minio/highwayhash from 1.0.1 to 1.0.2 (#6280) + +### Testing + +- Fix PEX reactor test (#6188) +- Fix rpc, secret_connection and pex tests (#6190) +- Refactor mempool reactor to use new p2ptest infrastructure (#6250) +- Clean up databases in tests (#6304) +- Improve cleanup for data and disk use (#6311) + +### Abci + +- Note on concurrency (#258) +- Change client to use multi-reader mutexes (#6306) +- Reorder sidebar (#282) + +### Blockstore + +- Save only the last seen commit (#6212) + +### Build + +- Bump google.golang.org/grpc from 1.35.0 to 1.36.0 (#6180) +- Bump JamesIves/github-pages-deploy-action from 4.0.0 to 4.1.0 (#6215) +- Bump rtCamp/action-slack-notify from ae4223259071871559b6e9d08b24a63d71b3f0c0 to 2.1.3 (#6234) +- Bump codecov/codecov-action from v1.2.1 to v1.2.2 (#6231) +- Bump codecov/codecov-action from v1.2.2 to v1.3.1 (#6247) +- Bump github.com/golang/protobuf from 1.4.3 to 1.5.1 (#6254) +- Bump github.com/prometheus/client_golang (#6258) +- Bump google.golang.org/grpc from 1.36.0 to 1.36.1 (#6281) +- Bump github.com/golang/protobuf from 1.5.1 to 1.5.2 (#6299) +- Bump github.com/Workiva/go-datastructures (#6298) +- Bump golangci/golangci-lint-action from v2.5.1 to v2.5.2 (#6317) +- Bump codecov/codecov-action from v1.3.1 to v1.3.2 (#6319) +- Bump JamesIves/github-pages-deploy-action (#6316) +- Bump docker/setup-buildx-action from v1 to v1.1.2 (#6324) + +### Changelog + +- Update for 0.34.8 (#6183) +- Prepare changelog for 0.34.9 release (#6333) + +### Ci + +- Add janitor (#6292) + +### Consensus + +- Reduce shared state in tests (#6313) + +### Crypto + +- Ed25519 & sr25519 batch verification (#6120) + +### E2e + +- Adjust timeouts to be dynamic to size of network (#6202) +- Add benchmarking functionality (#6210) +- Integrate light clients (#6196) +- Add benchmarking functionality (bp #6210) (#6216) +- Fix light client generator (#6236) +- Integrate light clients (bp #6196) +- Fix perturbation of seed nodes (#6272) +- Add evidence generation and testing (#6276) + +### Genesis + +- Explain fields in genesis file (#270) + +### Github + +- Add @tychoish to code owners (#6273) + +### Indexer + +- Remove info log (#6194) +- Remove info log (#6194) + +### Light + +- Improve provider handling (#6053) + +### Light/evidence + +- Handle FLA backport (#6331) + +### Linter + +- Fix nolintlint warnings (#6257) + +### Localnet + +- Fix localnet by excluding self from persistent peers list (#6209) + +### Logging + +- Shorten precommit log message (#6270) +- Shorten precommit log message (#6270) (#6274) + +### Logs + +- Cleanup (#6198) +- Cleanup (#6198) + +### Mempool + +- Don't return an error on checktx with the same tx (#6199) + +### Mempool/rpc + +- Log grooming (#6201) +- Log grooming (bp #6201) (#6203) + +### Node + +- Implement tendermint modes (#6241) +- Remove mode defaults. Make node mode explicit (#6282) + +### Note + +- Add nondeterministic note to events (#6220) +- Add nondeterministic note to events (#6220) (#6225) + +### P2p + +- Links (#268) +- Revised router message scheduling (#6126) +- Metrics (#6278) +- Simple peer scoring (#6277) +- Rate-limit incoming connections by IP (#6286) +- Fix "Unknown Channel" bug on CustomReactors (#6297) +- Connect max inbound peers configuration to new router (#6296) +- Filter peers by IP address and ID (#6300) +- Improve router test stability (#6310) +- Extend e2e tests for new p2p framework (#6323) + +### Privval + +- Return errors on loadFilePV (#6185) +- Add ctx to privval interface (#6240) + +### Readme + +- Cleanup (#262) + +### Rpc + +- Index block events to support block event queries (#6226) +- Index block events to support block event queries (bp #6226) (#6261) + +### Rpc/jsonrpc + +- Unmarshal RPCRequest correctly (#6191) +- Unmarshal RPCRequest correctly (bp #6191) (#6193) + +### Rpc/jsonrpc/server + +- Return an error in WriteRPCResponseHTTP(Error) (#6204) +- Return an error in WriteRPCResponseHTTP(Error) (bp #6204) (#6230) + +### Spec + +- Merge rust-spec (#252) + +### State + +- Cleanup block indexing logs and null (#6263) +- Fix block event indexing reserved key check (#6314) +- Fix block event indexing reserved key check (#6314) (#6315) + +## [0.34.8] - 2021-02-25 + +### .github + +- Jepsen workflow - initial version (#6123) +- [jepsen] fix inputs and remove TTY from docker (#6134) +- [jepsen] use working-directory instead of 'cd' (#6135) +- [jepsen] use "bash -c" to execute lein run cmd (#6136) +- [jepsen] cd inside the container, not outside (#6137) +- [jepsen] fix directory name (#6138) +- [jepsen] source .bashrc (#6139) +- [jepsen] add more docs (#6141) +- [jepsen] archive results (#6164) + +### Documentation + +- How to add tm version to RPC (#6151) +- Add preallocated list of security vulnerability names (#6167) + +### Testing + +- Fix TestByzantinePrevoteEquivocation (#6132) + +### Abci + +- Fix ReCheckTx for Socket Client (bp #6124) (#6125) + +### Build + +- Bump golangci/golangci-lint-action from v2.4.0 to v2.5.1 (#6175) + +### Changelog + +- Fix changelog pending version numbering (#6149) +- Update with changes from 0.34.7 (and failed 0.34.5, 0.34.6) (#6150) +- Update for 0.34.8 (#6181) + +### Cmd + +- Ignore missing wal in debug kill command (#6160) + +### Consensus + +- More log grooming (#6140) +- Log private validator address and not struct (#6144) +- More log grooming (bp #6140) (#6143) + +### Goreleaser + +- Reintroduce arm64 build instructions + +### Libs/log + +- [JSON format] include timestamp (#6174) +- [JSON format] include timestamp (bp #6174) (#6179) + +### Light + +- Improve timeout functionality (#6145) + +### Logging + +- Print string instead of callback (#6177) +- Print string instead of callback (#6178) + +### P2p + +- Enable scheme-less parsing of IPv6 strings (#6158) + +### Rpc + +- Standardize error codes (#6019) +- Change default sorting to desc for `/tx_search` results (#6168) + +### Rpc/client/http + +- Do not drop events even if the `out` channel is full (#6163) +- Drop endpoint arg from New and add WSOptions (#6176) + +### State + +- Save in batches within the state store (#6067) + +## [0.34.7] - 2021-02-18 + +### .goreleaser + +- Remove arm64 build instructions and bump changelog again (#6131) + +## [0.34.6] - 2021-02-18 + +### Changelog + +- Bump to v0.34.6 + +## [0.34.5] - 2021-02-18 + +### ABCI + +- Fix ReCheckTx for Socket Client (#6124) + +### CHANGELOG_PENDING + +- Update changelog for changes to American spelling (#6100) + +### Documentation + +- Fix proto file names (#6112) + +### Security + +- Update 0.34.3 changelog with details on security vuln (bp #6108) (#6110) + +### Adr + +- Batch verification (#6008) + +### Backports + +- Mergify (#6107) + +### Build + +- Bump golangci/golangci-lint-action from v2.3.0 to v2.4.0 (#6111) + +### Changelog + +- Update to reflect v0.34.4 release (#6105) +- Update 0.34.3 changelog with details on security vuln (#6108) +- Update for 0.34.5 (#6129) + +### Consensus + +- P2p refactor (#5969) +- Groom Logs (#5917) +- Remove privValidator from log call (#6128) + +### Node + +- Feature flag for legacy p2p support (#6056) + +### Proto + +- Modify height int64 to uint64 (#253) + +### Tooling + +- Remove tools/Makefile (#6102) +- Remove tools/Makefile (bp #6102) (#6106) + +## [0.34.4] - 2021-02-11 + +### .github + +- Fix fuzz-nightly job (#5965) +- Archive crashers and fix set-crashers-count step (#5992) +- Rename crashers output (fuzz-nightly-test) (#5993) +- Clean up PR template (#6050) +- Use job ID (not step ID) inside if condition (#6060) +- Remove erik as reviewer from dependapot (#6076) +- Rename crashers output (fuzz-nightly-test) (#5993) +- Archive crashers and fix set-crashers-count step (#5992) +- Fix fuzz-nightly job (#5965) +- Use job ID (not step ID) inside if condition (#6060) +- Remove erik as reviewer from dependapot (#6076) + +### .github/workflows + +- Enable manual dispatch for some workflows (#5929) +- Try different e2e nightly test set (#6036) +- Separate e2e workflows for 0.34.x and master (#6041) +- Fix whitespace in e2e config file (#6043) +- Cleanup yaml for e2e nightlies (#6049) +- Try different e2e nightly test set (#6036) +- Separate e2e workflows for 0.34.x and master (#6041) +- Fix whitespace in e2e config file (#6043) +- Cleanup yaml for e2e nightlies (#6049) + +### .golangci + +- Set locale to US for misspell linter (#6038) + +### ADR-062 + +- Update with new P2P core implementation (#6051) + +### CODEOWNERS + +- Remove erikgrinaker (#6057) +- Remove erikgrinaker (#6057) + +### CONTRIBUTING.md + +- Update testing section (#5979) + +### Documentation + +- Update package-lock.json (#5928) +- Package-lock.json fix (#5948) +- Change v0.33 version (#5950) +- Bump package-lock.json of v0.34.x (#5952) +- Dont login when in PR (#5961) +- Release Linux/ARM64 image (#5925) +- Log level docs (#5945) +- Fix typo in state sync example (#5989) +- External address (#6035) +- Reword configuration (#6039) +- Change v0.33 version (#5950) +- Release Linux/ARM64 image (#5925) +- Dont login when in PR (#5961) +- Fix typo in state sync example (#5989) + +### Makefile + +- Always pull image in proto-gen-docker. (#5953) +- Always pull image in proto-gen-docker. (#5953) + +### Security + +- Bump watchpack from 2.1.0 to 2.1.1 in /docs (#6063) +- Bump github.com/tendermint/tm-db from 0.6.3 to 0.6.4 (#6073) +- Bump github.com/tendermint/tm-db from 0.6.3 to 0.6.4 (#6073) +- Bump watchpack from 2.1.0 to 2.1.1 in /docs (#6063) + +### Testing + +- Fix TestPEXReactorRunning data race (#5955) +- Move fuzz tests into this repo (#5918) +- Fix `make test` (#5966) +- Close transports to avoid goroutine leak failures (#5982) +- Don't use foo-bar.net in TestHTTPClientMakeHTTPDialer (#5997) +- Fix TestSwitchAcceptRoutine flake by ignoring error type (#6000) +- Disable TestPEXReactorSeedModeFlushStop due to flake (#5996) +- Fix test data race in p2p.MemoryTransport with logger (#5995) +- Fix TestSwitchAcceptRoutine by ignoring spurious error (#6001) +- Fix TestRouter to take into account PeerManager reconnects (#6002) +- Fix flaky router broadcast test (#6006) +- Enable pprof server to help debugging failures (#6003) +- Increase sign/propose tolerances (#6033) +- Increase validator tolerances (#6037) +- Don't use foo-bar.net in TestHTTPClientMakeHTTPDialer (#5997) (#6047) +- Enable pprof server to help debugging failures (#6003) +- Increase sign/propose tolerances (#6033) +- Increase validator tolerances (#6037) +- Move fuzz tests into this repo (#5918) +- Fix `make test` (#5966) + +### Blockchain/v2 + +- Internalize behavior package (#6094) + +### Build + +- Bump actions/cache from v2.1.3 to v2.1.4 (#6055) +- Bump JamesIves/github-pages-deploy-action (#6062) +- Bump actions/cache from v2.1.3 to v2.1.4 (#6055) +- Bump github.com/spf13/cobra from 1.1.1 to 1.1.2 (#6075) +- Bump github.com/spf13/cobra from 1.1.2 to 1.1.3 (#6098) + +### Changelog + +- Update changelog for v0.34.3 (#5927) +- Update for v0.34.4 (#6096) +- Improve with suggestions from @melekes (#6097) + +### Consensus + +- Groom Logs (#5917) + +### E2e + +- Releases nightly (#5906) +- Add control over the log level of nodes (#5958) +- Releases nightly (#5906) +- Disconnect maverick (#6099) + +### Evidence + +- Terminate broadcastEvidenceRoutine when peer is stopped (#6068) + +### Goreleaser + +- Downcase archive and binary names (#6029) +- Downcase archive and binary names (#6029) + +### Libs/log + +- Format []byte as hexidecimal string (uppercased) (#5960) +- Format []byte as hexidecimal string (uppercased) (#5960) + +### Light + +- Fix panic with RPC calls to commit and validator when height is nil (#6026) +- Fix panic with RPC calls to commit and validator when height is nil (#6040) +- Remove max retry attempts from client and add to provider (#6054) +- Remove witnesses in order of decreasing index (#6065) +- Create provider options struct (#6064) + +### Light/provider/http + +- Fix Validators (#6022) +- Fix Validators (#6024) + +### Makefile + +- Remove call to tools (#6104) + +### Maverick + +- Reduce some duplication (#6052) +- Reduce some duplication (#6052) + +### Mempool + +- P2p refactor (#5919) +- Fix reactor tests (#5967) +- Fix TestReactorNoBroadcastToSender (#5984) +- Fix mempool tests timeout (#5988) + +### P2p + +- Revise shim log levels (#5940) +- Improve PeerManager prototype (#5936) +- Make PeerManager.DialNext() and EvictNext() block (#5947) +- Improve peerStore prototype (#5954) +- Simplify PeerManager upgrade logic (#5962) +- Add PeerManager.Advertise() (#5957) +- Add prototype PEX reactor for new stack (#5971) +- Resolve PEX addresses in PEX reactor (#5980) +- Use stopCtx when dialing peers in Router (#5983) +- Clean up new Transport infrastructure (#6017) +- Tighten up and test Transport API (#6020) +- Add tests and fix bugs for `NodeAddress` and `NodeID` (#6021) +- Tighten up and test PeerManager (#6034) +- Tighten up Router and add tests (#6044) + +### Params + +- Remove block timeiota (#248) +- Remove blockTimeIota (#5987) + +### Proto + +- Docker deployment (#5931) +- Seperate native and proto types (#5994) +- Add files (#246) +- Docker deployment (#5931) + +### Proto/p2p + +- Rename PEX messages and fields (#5974) + +### Spec + +- Remove reactor section (#242) + +### Store + +- Fix deadlock in pruning (#6007) +- Use a batch instead of individual writes in SaveBlock (#6018) + +### Sync + +- Move closer to separate file (#6015) + +### Types + +- Cleanup protobuf.go (#6023) + +## [0.34.3] - 2021-01-19 + +### .github/codeowners + +- Add alexanderbez (#5913) +- Add alexanderbez (#5913) + +### Security + +- Bump github.com/stretchr/testify from 1.6.1 to 1.7.0 (#5897) +- Bump google.golang.org/grpc from 1.34.0 to 1.35.0 (#5902) +- Bump vuepress-theme-cosmos from 1.0.179 to 1.0.180 in /docs (#5915) +- Bump github.com/stretchr/testify from 1.6.1 to 1.7.0 (#5897) +- Bump google.golang.org/grpc from 1.34.0 to 1.35.0 (#5902) +- Bump vuepress-theme-cosmos from 1.0.179 to 1.0.180 in /docs (#5915) + +### Changelog + +- Update changelogs to reflect changes released in 0.34.2 +- Update for 0.34.3 (#5926) + +### Config + +- Fix mispellings (#5914) +- Fix mispellings (#5914) + +### Light + +- Fix light store deadlock (#5901) + +### Mod + +- Go mod tidy + +### P2p + +- Add prototype peer lifecycle manager (#5882) + +### Proto + +- Bump gogoproto (1.3.2) (#5886) +- Bump gogoproto (1.3.2) (#5886) + +### Readme + +- Add security mailing list (#5916) +- Add security mailing list (#5916) + +## [0.34.2] - 2021-01-12 + +### Documentation + +- Fix broken redirect links (#5881) + +### Testing + +- Improve WaitGroup handling in Byzantine tests (#5861) +- Tolerate up to 2/3 missed signatures for a validator (#5878) +- Disable abci/grpc and blockchain/v2 due to flake (#5854) + +### Abci + +- Rewrite to proto interface (#237) + +### Abci/grpc + +- Fix invalid mutex handling in StopForError() (#5849) + +### Blockchain/v0 + +- Stop tickers on poolRoutine exit (#5860) + +### Blockchain/v2 + +- Fix missing mutex unlock (#5862) + +### Build + +- Bump gaurav-nelson/github-action-markdown-link-check (#239) +- Bump gaurav-nelson/github-action-markdown-link-check (#5884) + +### Changelog + +- Update with changes released in 0.34.1 (#5875) +- Prepare 0.34.2 release (#5894) + +### Evidence + +- P2p refactor (#5747) +- Buffer evidence from consensus (#5890) +- Buffer evidence from consensus (#5890) + +### Layout + +- Add section titles (#240) + +### Libs/os + +- EnsureDir now returns IO errors and checks file type (#5852) + +### Os + +- Simplify EnsureDir() (#5871) + +### P2p + +- Add Router prototype (#5831) + +### Privval + +- Add grpc (#5725) +- Query validator key (#5876) + +### Reactors + +- Remove bcv1 (#241) + +### State + +- Prune states using an iterator (#5864) + +### Store + +- Use db iterators for pruning and range-based queries (#5848) + +### Tools/tm-signer-harness + +- Fix listener leak in newTestHarnessListener() (#5850) + +## [0.34.1] - 2021-01-06 + +### ABCI + +- Update readme to fix broken link to proto (#5847) + +### Testing + +- Disable abci/grpc and blockchain/v2 due to flake (#5854) +- Add conceptual overview (#5857) +- Improve WaitGroup handling in Byzantine tests (#5861) + +### Abci/grpc + +- Fix invalid mutex handling in StopForError() (#5849) + +### Blockchain/v0 + +- Stop tickers on poolRoutine exit (#5860) + +### Blockchain/v2 + +- Fix missing mutex unlock (#5862) + +### Build + +- Bump codecov/codecov-action from v1.1.1 to v1.2.0 (#5863) +- Bump codecov/codecov-action from v1.2.0 to v1.2.1 + +### Changelog + +- Update changelog for v0.34.1 (#5872) + +### Libs/os + +- EnsureDir now returns IO errors and checks file type (#5852) + +### Os + +- Simplify EnsureDir() (#5871) + +### P2p + +- Rename ID to NodeID +- Add NodeID.Validate(), replaces validateID() +- Replace PeerID with NodeID +- Rename NodeInfo.DefaultNodeID to NodeID +- Rename PubKeyToID to NodeIDFromPubKey +- Fix IPv6 address handling in new transport API (#5853) +- Fix MConnection inbound traffic statistics and rate limiting (#5868) +- Fix MConnection inbound traffic statistics and rate limiting (#5868) (#5870) + +### Statesync + +- Do not recover panic on peer updates (#5869) + +### Store + +- Order-preserving varint key encoding (#5771) + +### Tools/tm-signer-harness + +- Fix listener leak in newTestHarnessListener() (#5850) + +## [0.34.1-rc1] - 2020-12-23 + +### CHANGELOG + +- Prepare 0.34.1-rc1 (#5832) + +### Documentation + +- Use hyphens instead of snake case (#5802) +- Specify master for tutorials (#5822) +- Specify 0.34 (#5823) + +### Makefile + +- Use git 2.20-compatible branch detection (#5778) + +### Security + +- Bump github.com/prometheus/client_golang from 1.8.0 to 1.9.0 (#5807) +- Bump github.com/cosmos/iavl from 0.15.2 to 0.15.3 (#5814) + +### Abci + +- Use protoio for length delimitation (#5818) + +### Blockchain/v2 + +- Send status request when new peer joins (#5774) + +### Build + +- Bump vuepress-theme-cosmos from 1.0.178 to 1.0.179 in /docs (#5780) +- Bump gaurav-nelson/github-action-markdown-link-check from 1.0.8 to 1.0.9 (#5779) +- Bump gaurav-nelson/github-action-markdown-link-check (#5787) +- Bump gaurav-nelson/github-action-markdown-link-check (#5793) +- Bump gaurav-nelson/github-action-markdown-link-check (#233) +- Bump github.com/cosmos/iavl from 0.15.0 to 0.15.2 +- Bump codecov/codecov-action from v1.0.15 to v1.1.1 (#5825) + +### Ci + +- Make timeout-minutes 8 for golangci (#5821) +- Run `goreleaser build` (#5824) + +### Cmd + +- Hyphen case cli and config (#5777) +- Hyphen-case cli v0.34.1 (#5786) + +### Config + +- Increase MaxPacketMsgPayloadSize to 1400 + +### Consensus + +- Change log level to error when adding vote +- Deprecate time iota ms (#5792) + +### Localnet + +- Fix node starting issue with --proxy-app flag (#5803) +- Expose 6060 (pprof) and 9090 (prometheus) on node0 +- Use 27000 port for prometheus (#5811) + +### Mempool + +- Introduce KeepInvalidTxsInCache config option (#5813) +- Disable MaxBatchBytes (#5800) +- Introduce KeepInvalidTxsInCache config option (#5813) +- Disable MaxBatchBytes (#5800) + +### P2p + +- Implement new Transport interface (#5791) +- Remove `NodeInfo` interface and rename `DefaultNodeInfo` struct (#5799) +- Do not format raw msg bytes +- Update frame size (#235) +- Fix data race in MakeSwitch test helper (#5810) +- Add MemoryTransport, an in-memory transport for testing (#5827) + +### Readme + +- Add links to job post (#5785) +- Update discord link (#5795) + +## [0.34.1-dev1] - 2020-12-10 + +### .goreleaser + +- Add windows, remove arm (32 bit) (#5692) + +### CONTRIBUTING + +- Update to match the release flow used for 0.34.0 (#5697) + +### Documentation + +- Add nodes section (#5604) +- Add version dropdown and v0.34 docs(#5762) +- Fix link (#5763) + +### README + +- Update link to Tendermint blog (#5713) + +### Security + +- Bump vuepress-theme-cosmos from 1.0.176 to 1.0.177 in /docs (#5746) +- Bump vuepress-theme-cosmos from 1.0.177 to 1.0.178 in /docs (#5754) + +### Testing + +- Switched node keys back to edwards (#4) +- Enable v1 and v2 blockchains (#5702) +- Fix TestByzantinePrevoteEquivocation flake (#5710) +- Fix TestByzantinePrevoteEquivocation flake (#5710) +- Fix integration tests and rename binary + +### UX + +- Version configuration (#5740) + +### Abci + +- Add abci_version to requestInfo (#223) +- Modify Client interface and socket client (#5673) + +### Adr + +- Privval gRPC (#5712) + +### Blockchain/v0 + +- Relax termination conditions and increase sync timeout (#5741) + +### Blockchain/v1 + +- Handle peers without blocks (#5701) +- Fix deadlock (#5711) +- Remove in favor of v2 (#5728) +- Omit incoming message bytes from log + +### Build + +- Bump github.com/cosmos/iavl from 0.15.0-rc5 to 0.15.0 (#5708) +- Bump vuepress-theme-cosmos from 1.0.175 to 1.0.176 in /docs (#5727) +- Refactor BLS library/bindings integration (#9) +- BLS scripts - Improve build.sh, Fix install.sh (#10) +- Dashify some files (#11) +- Fix docker image and docker.yml workflow (#12) +- Fix coverage.yml, bump go version, install BLS, drop an invalid character (#19) +- Fix test.yml, bump go version, install BLS, fix job names (#18) +- Bump google.golang.org/grpc from 1.33.2 to 1.34.0 (#5737) +- Bump gaurav-nelson/github-action-markdown-link-check (#22) +- Bump codecov/codecov-action from v1.0.13 to v1.0.15 (#23) +- Bump golangci/golangci-lint-action from v2.2.1 to v2.3.0 (#24) +- Bump rtCamp/action-slack-notify from e9db0ef to 2.1.1 (#25) +- Bump google.golang.org/grpc from 1.33.2 to 1.34.0 (#26) +- Bump vuepress-theme-cosmos from 1.0.173 to 1.0.177 in /docs (#27) +- Bump watchpack from 2.0.1 to 2.1.0 in /docs (#5768) +- Bump rtCamp/action-slack-notify from ecc1353ce30ef086ce3fc3d1ea9ac2e32e150402 to 2.1.2 (#5767) + +### Changelog + +- Add entry back (#5738) + +### Ci + +- Remove circle (#5714) +- Build for 32 bit, libs: fix overflow (#5700) +- Build for 32 bit, libs: fix overflow (#5700) +- Install BLS library in lint.yml and bump its go version (#15) +- E2e fixes - docker image, e2e.yml BLS library, default KeyType (#21) + +### Cmd + +- Modify `gen_node_key` to print key to STDOUT (#5772) + +### Codecov + +- Validate codecov.yml (#5699) + +### Consensus + +- Fix flaky tests (#5734) + +### Contributing + +- Simplify our minor release process (#5749) + +### Crypto + +- Fix infinite recursion in Secp256k1 string formatting (#5707) +- Fix infinite recursion in Secp256k1 string formatting (#5707) (#5709) + +### Crypto|p2p|state|types + +- Rename Pub/PrivKey's TypeIdentifier() and Type() + +### Dep + +- Bump ed25519consensus version (#5760) + +### Evidence + +- Omit bytes field (#5745) +- Omit bytes field (#5745) + +### Goreleaser + +- Lowercase binary name (#5765) + +### Libs/bits + +- Validate BitArray in FromProto (#5720) + +### Light + +- Minor fixes / standardising errors (#5716) + +### Lint + +- Run gofmt and goimports (#13) + +### Linter + +- Fix some bls-related linter issues (#14) + +### Node + +- Improve test coverage on proposal block (#5748) + +### P2p + +- State sync reactor refactor (#5671) + +### P2p/pex + +- Fix flaky tests (#5733) + +### Reactors + +- Omit incoming message bytes from reactor logs (#5743) +- Omit incoming message bytes from reactor logs (#5743) + +### Readme + +- Remover circleci badge (#5729) + +### Version + +- Add abci version to handshake (#5706) + +## [0.34.0] - 2020-11-19 + +### .github + +- Move mergify config +- Move codecov.yml into .github +- Move codecov config into .github + +### .gitignore + +- Sort (#5690) + +### .goreleaser + +- Don't build linux/arm +- Build for windows + +### .vscode + +- Remove directory (#5626) + +### CHANGELOG + +- Update to reflect v0.34.0-rc6 (#5622) +- Add breaking Version name change (#5628) + +### Core + +- Move validation & data structures together (#176) + +### Documentation + +- Update url for kms repo (#5510) +- Footer cleanup (#5457) +- Remove DEV_SESSIONS list (#5579) +- Add ADR on P2P refactor scope (#5592) +- Bump vuepress-theme-cosmos (#5614) +- Make blockchain not viewable (#211) +- Add missing ADRs to README, update status of ADR 034 (#5663) +- Add P2P architecture ADR (#5637) +- Warn developers about calling blocking funcs in Receive (#5679) + +### RFC + +- Adopt zip 215 (#144) + +### Security + +- Bump github.com/golang/protobuf from 1.4.2 to 1.4.3 (#5506) +- Bump github.com/spf13/cobra from 1.0.0 to 1.1.0 (#5505) +- Bump github.com/prometheus/client_golang from 1.7.1 to 1.8.0 (#5515) +- Bump github.com/spf13/cobra from 1.1.0 to 1.1.1 (#5526) +- Bump google.golang.org/grpc from 1.33.1 to 1.33.2 (#5635) +- Bump github.com/golang/protobuf from 1.4.2 to 1.4.3 (#5506) +- Bump github.com/spf13/cobra from 1.0.0 to 1.1.0 (#5505) +- Bump github.com/prometheus/client_golang from 1.7.1 to 1.8.0 (#5515) +- Bump github.com/spf13/cobra from 1.1.0 to 1.1.1 (#5526) +- Bump google.golang.org/grpc from 1.33.1 to 1.33.2 (#5635) + +### Testing + +- Clean up E2E test volumes using a container (#5509) +- Tweak E2E tests for nightly runs (#5512) +- Enable ABCI gRPC client in E2E testnets (#5521) +- Enable blockchain v2 in E2E testnet generator (#5533) +- Enable restart/kill perturbations in E2E tests (#5537) +- Add end-to-end testing framework (#5435) +- Add basic end-to-end test cases (#5450) +- Add GitHub action for end-to-end tests (#5452) +- Remove P2P tests (#5453) +- Add E2E test for node peering (#5465) +- Add random testnet generator (#5479) +- Clean up E2E test volumes using a container (#5509) +- Tweak E2E tests for nightly runs (#5512) +- Enable ABCI gRPC client in E2E testnets (#5521) +- Enable blockchain v2 in E2E testnet generator (#5533) +- Enable restart/kill perturbations in E2E tests (#5537) +- Run remaining E2E testnets on run-multiple.sh failure (#5557) +- Tag E2E Docker resources and autoremove them (#5558) +- Add evidence e2e tests (#5488) +- Run remaining E2E testnets on run-multiple.sh failure (#5557) +- Tag E2E Docker resources and autoremove them (#5558) +- Add evidence e2e tests (#5488) +- Fix handling of start height in generated E2E testnets (#5563) +- Disable E2E misbehaviors due to bugs (#5569) +- Fix handling of start height in generated E2E testnets (#5563) +- Disable E2E misbehaviors due to bugs (#5569) +- Fix various E2E test issues (#5576) +- Fix various E2E test issues (#5576) +- Fix secp failures (#5649) +- Fix secp failures (#5649) + +### Abci + +- Lastcommitinfo.round extra sentence (#221) + +### Abci/grpc + +- Return async responses in order (#5520) +- Return async responses in order (#5520) (#5531) +- Fix ordering of sync/async callback combinations (#5556) +- Fix ordering of sync/async callback combinations (#5556) + +### Block + +- Fix max commit sig size (#5567) +- Fix max commit sig size (#5567) + +### Blockchain/v1 + +- Add noBlockResponse handling (#5401) + +### Blockchain/v2 + +- Fix "panic: duplicate block enqueued by processor" (#5499) +- Fix panic: processed height X+1 but expected height X (#5530) +- Fix "panic: duplicate block enqueued by processor" (#5499) +- Fix panic: processed height X+1 but expected height X (#5530) +- Make the removal of an already removed peer a noop (#5553) +- Make the removal of an already removed peer a noop (#5553) +- Remove peers from the processor (#5607) +- Remove peers from the processor (#5607) + +### Buf + +- Modify buf.yml, add buf generate (#5653) + +### Build + +- Bump codecov/codecov-action from v1.0.13 to v1.0.14 (#5525) +- Bump gaurav-nelson/github-action-markdown-link-check from 1.0.7 to 1.0.8 (#5543) +- Bump gaurav-nelson/github-action-markdown-link-check from 1.0.7 to 1.0.8 (#188) +- Bump google.golang.org/grpc from 1.32.0 to 1.33.1 (#5544) +- Bump actions/cache from v2.1.1 to v2.1.2 (#5487) +- Bump golangci/golangci-lint-action from v2.2.0 to v2.2.1 (#5486) +- Bump technote-space/get-diff-action from v3 to v4 (#5485) +- Bump golangci/golangci-lint-action from v2.2.1 to v2.3.0 (#5571) +- Bump codecov/codecov-action from v1.0.13 to v1.0.14 (#5582) +- Bump watchpack from 2.0.0 to 2.0.1 in /docs (#5605) +- Bump actions/cache from v2.1.2 to v2.1.3 (#5633) +- Bump github.com/tendermint/tm-db from 0.6.2 to 0.6.3 +- Bump rtCamp/action-slack-notify from e9db0ef to 2.1.1 +- Bump google.golang.org/grpc from 1.32.0 to 1.33.1 (#5544) +- Bump github.com/tendermint/tm-db from 0.6.2 to 0.6.3 +- Bump codecov/codecov-action from v1.0.14 to v1.0.15 (#5676) + +### Changelog + +- Squash changelog from 0.34 RCs into one (#5691) +- Squash changelog from 0.34 RCs into one (#5687) + +### Ci + +- Docker remove circleci and add github action (#5551) +- Add goreleaser (#5527) +- Tests (#5577) +- Add goreleaser (#5527) +- Tests (#5577) +- Use gh pages (#5609) +- Remove `add-path` (#5674) +- Remove `add-path` (#5674) + +### Ci/e2e + +- Avoid running job when no go files are touched (#5471) + +### Circleci + +- Remove Gitian reproducible_builds job (#5462) + +### Cli + +- Light home dir should default to where the full node default is (#5392) + +### Cmd + +- Add support for --key (#5612) + +### Consensus + +- Open target WAL as read/write during autorepair (#5536) +- Open target WAL as read/write during autorepair (#5536) (#5547) + +### Contributing + +- Include instructions for a release candidate (#5498) + +### Crypto + +- Add in secp256k1 support (#5500) +- Add in secp256k1 support (#5500) +- Adopt zip215 ed25519 verification (#5632) + +### E2e + +- Use ed25519 for secretConn (remote signer) (#5678) +- Use ed25519 for secretConn (remote signer) (#5678) + +### Encoding + +- Add secp, ref zip215, tables (#212) + +### Evidence + +- Don't gossip consensus evidence too soon (#5528) +- Don't send committed evidence and ignore inbound evidence that is already committed (#5574) +- Don't gossip consensus evidence too soon (#5528) +- Don't send committed evidence and ignore inbound evidence that is already committed (#5574) +- Structs can independently form abci evidence (#5610) +- Structs can independently form abci evidence (#5610) +- Update data structures to reflect added support of abci evidence (#213) + +### Github + +- Rename e2e jobs (#5502) +- Add nightly E2E testnet action (#5480) +- Add nightly E2E testnet action (#5480) +- Rename e2e jobs (#5502) +- Only notify nightly E2E failures once (#5559) +- Only notify nightly E2E failures once (#5559) +- Issue template for proposals (#190) + +### Go.mod + +- Upgrade iavl and deps (#5657) +- Upgrade iavl and deps (#5657) + +### Libs/os + +- Add test case for TrapSignal (#5646) +- Remove unused aliases, add test cases (#5654) + +### Light + +- Cross-check the very first header (#5429) +- Model-based tests (#5461) +- Run detector for sequentially validating light client (#5538) +- Run detector for sequentially validating light client (#5538) (#5601) +- Make fraction parts uint64, ensuring that it is always positive (#5655) +- Make fraction parts uint64, ensuring that it is always positive (#5655) +- Ensure required header fields are present for verification (#5677) + +### Light/rpc + +- Fix ABCIQuery (#5375) + +### P2p + +- Remove p2p.FuzzedConnection and its config settings (#5598) +- Remove unused MakePoWTarget() (#5684) + +### Privval + +- Make response values non nullable (#5583) +- Make response values non nullable (#5583) +- Increase read/write timeout to 5s and calculate ping interval based on it (#5638) +- Reset pingTimer to avoid sending unnecessary pings (#5642) +- Increase read/write timeout to 5s and calculate ping interva… (#5666) +- Reset pingTimer to avoid sending unnecessary pings (#5642) (#5668) +- Duplicate SecretConnection from p2p package (#5672) + +### Proto + +- Buf for everything (#5650) + +### Relase_notes + +- Add release notes for v0.34.0 + +### Rpc + +- Fix content-type header (#5661) +- Fix content-type header + +### Scripts + +- Move build.sh into scripts +- Make linkifier default to 'pull' rather than 'issue' (#5689) + +### Spec + +- Update light client verification to match supervisor (#171) + +### Statesync + +- Check all necessary heights when adding snapshot to pool (#5516) +- Check all necessary heights when adding snapshot to pool (#5516) (#5518) + +### Types + +- Rename json parts to part_set_header (#5523) +- Move `MakeBlock` to block.go (#5573) + +### Upgrading + +- Update 0.34 instructions with updates since RC4 (#5685) +- Update 0.34 instructions with updates since RC4 (#5686) + +## [0.34.0-rc5] - 2020-10-13 + +### Documentation + +- Minor tweaks (#5404) +- Update state sync config with discovery_time (#5405) +- Add explanation of p2p configuration options (#5397) +- Specify TM version in go tutorials (#5427) +- Revise ADR 56, documenting short term decision around amnesia evidence (#5440) +- Fix links to adr 56 (#5464) +- Docs-staging → master (#5468) +- Make /master the default (#5474) + +### Testing + +- Add end-to-end testing framework (#5435) +- Add basic end-to-end test cases (#5450) +- Add GitHub action for end-to-end tests (#5452) +- Remove P2P tests (#5453) +- Add E2E test for node peering (#5465) +- Add random testnet generator (#5479) + +### Abci + +- Remove setOption (#5447) + +### Block + +- Use commit sig size instead of vote size (#5490) + +### Blockchain + +- Remove duplication of validate basic (#5418) + +### Blockchain/v1 + +- Add noBlockResponse handling (#5401) + +### Build + +- Bump watchpack from 1.7.4 to 2.0.0 in /docs (#5470) +- Bump actions/cache from v2.1.1 to v2.1.2 (#5487) +- Bump golangci/golangci-lint-action from v2.2.0 to v2.2.1 (#5486) +- Bump technote-space/get-diff-action from v3 to v4 (#5485) + +### Changelog + +- Add missing date to v0.33.5 release, fix indentation (#5454) +- Add missing date to v0.33.5 release, fix indentation (#5454) (#5455) +- Prepare changelog for RC5 (#5494) + +### Ci + +- Docker remvoe circleci and add github action (#5420) + +### Ci/e2e + +- Avoid running job when no go files are touched (#5471) + +### Circleci + +- Remove Gitian reproducible_builds job (#5462) + +### Cli + +- Light home dir should default to where the full node default is (#5392) + +### Codecov + +- Disable annotations (#5413) + +### Config + +- Set statesync.rpc_servers when generating config file (#5433) +- Set statesync.rpc_servers when generating config file (#5433) (#5438) + +### Consensus + +- Check block parts don't exceed maximum block bytes (#5431) +- Check block parts don't exceed maximum block bytes (#5436) + +### Evidence + +- Update data structures (#165) +- Use bytes instead of quantity to limit size (#5449) +- Use bytes instead of quantity to limit size (#5449)(#5476) + +### Light + +- Expand on errors and docs (#5443) +- Cross-check the very first header (#5429) + +### Light/rpc + +- Fix ABCIQuery (#5375) + +### Mempool + +- Fix nil pointer dereference (#5412) +- Fix nil pointer dereference (#5412) +- Length prefix txs when getting them from mempool (#5483) + +### Privval + +- Allow passing options to NewSignerDialerEndpoint (#5434) +- Allow passing options to NewSignerDialerEndpoint (#5434) (#5437) +- Fix ping message encoding (#5441) +- Fix ping message encoding (#5442) + +### Rpc/core + +- More docs and a test for /blockchain endpoint (#5417) + +### Spec + +- Protobuf changes (#156) + +### State + +- More test cases for block validation (#5415) + +### Tx + +- Reduce function to one parameter (#5493) + +## [0.34.0-rc4] - 2020-09-24 + +### CHANGELOG + +- Update for 0.34.0-rc4 (#5400) + +### CODEOWNERS + +- Specify more precise codeowners (#5333) + +### Documentation + +- Cleanup (#5252) +- Dont display duplicate (#5271) +- Rename swagger to openapi (#5263) +- Fix go tutorials (#5267) +- Versioned (#5241) +- Remove duplicate secure p2p (#5279) +- Remove interview transcript (#5282) +- Add block retention to upgrading.md (#5284) +- Updates to various sections (#5285) +- Add algolia docsearch configs (#5309) +- Add sections to abci (#150) +- Add doc on state sync configuration (#5304) +- Move subscription to tendermint-core (#5323) +- Add missing metrics (#5325) +- Add more description to initial_height (#5350) +- Make rfc section disppear (#5353) +- Document max entries for `/blockchain` RPC (#5356) +- Fix incorrect time_iota_ms configuration (#5385) + +### README + +- Clean up README (#5391) + +### Security + +- Bump vuepress-theme-cosmos from 1.0.169 to 1.0.172 in /docs (#5286) +- Bump google.golang.org/grpc from 1.31.0 to 1.31.1 (#5290) + +### UPGRADING + +- Polish upgrading instructions for 0.34 (#5398) + +### Abci + +- Update evidence (#5324) +- Fix socket client error for state sync responses (#5395) + +### Adr + +- Add API stability ADR (#5341) + +### Blockchain + +- Fix fast sync halt with initial height > 1 (#5249) +- Verify +2/3 (#5278) + +### Blockstore + +- Fix race conditions when loading data (#5382) + +### Build + +- Bump golangci/golangci-lint-action from v2.1.0 to v2.2.0 (#5245) +- Bump actions/cache from v1 to v2.1.0 (#5244) +- Bump codecov/codecov-action from v1.0.7 to v1.0.12 (#5247) +- Bump technote-space/get-diff-action from v1 to v3 (#5246) +- Bump gaurav-nelson/github-action-markdown-link-check from 0.6.0 to 1.0.5 (#5248) +- Bump codecov/codecov-action from v1.0.12 to v1.0.13 (#5258) +- Bump gaurav-nelson/github-action-markdown-link-check from 1.0.5 to 1.0.6 (#5265) +- Bump gaurav-nelson/github-action-markdown-link-check from 1.0.6 to 1.0.7 (#5269) +- Bump actions/cache from v2.1.0 to v2.1.1 (#5268) +- Bump gaurav-nelson/github-action-markdown-link-check from 0.6.0 to 1.0.7 (#149) +- Bump github.com/tendermint/tm-db from 0.6.1 to 0.6.2 (#5296) +- Bump google.golang.org/grpc from 1.31.1 to 1.32.0 (#5346) +- Bump github.com/minio/highwayhash from 1.0.0 to 1.0.1 (#5370) +- Bump vuepress-theme-cosmos from 1.0.172 to 1.0.173 in /docs (#5390) + +### Changelog + +- Add v0.33.8 from release (#5242) +- Minor tweaks (#5389) + +### Ci + +- Fix net pipeline (#5272) +- Delay codecov notification (#5275) +- Add markdown linter (#146) +- Add dependabot config (#148) +- Fix net run (#5343) + +### Config + +- Trust period consistency (#5297) +- Rename prof_laddr to pprof_laddr and move it to rpc (#5315) +- Set time_iota_ms to timeout_commit in test genesis (#5386) +- Add state sync discovery_time setting (#5399) + +### Consensus + +- Double-sign risk reduction (ADR-51) (#5147) +- Fix wrong proposer schedule for `InitChain` validators (#5329) + +### Crypto + +- Remove secp256k1 (#5280) +- Remove proto privatekey (#5301) +- Reword readme (#5349) + +### Evidence + +- Modularise evidence by moving verification function into evidence package (#5234) +- Remove ConflictingHeaders type (#5317) +- Remove lunatic (#5318) +- Remove amnesia & POLC (#5319) +- Introduction of LightClientAttackEvidence and refactor of evidence lifecycle (#5361) + +### Header + +- Check block protocol (#5340) + +### Libs/bits + +- Inline defer and change order of mutexes (#5187) + +### Light + +- Update ADR 47 with light traces (#5250) +- Implement light block (#5298) +- Move dropout handling and invalid data to the provider (#5308) + +### Lint + +- Add markdown linter (#5254) +- Add errchecks (#5316) +- Enable errcheck (#5336) + +### Makefile + +- Add options for other DBs (#5357) + +### Markdownlint + +- Ignore .github directory (#5351) + +### Mempool + +- Return an error when WAL fails (#5292) +- Batch txs per peer in broadcastTxRoutine (#5321) + +### Mempool/reactor + +- Fix reactor broadcast test (#5362) + +### Metrics + +- Switch from gauge to histogram (#5326) + +### Mocks + +- Update with 2.2.1 (#5294) + +### Node + +- Fix genesis state propagation to state sync (#5302) + +### P2p + +- Reduce log severity (#5338) + +### Privval + +- Add chainID to requests (#5239) + +### Rfc + +- Add end-to-end testing RFC (#5337) + +### Rpc + +- Add private & unconditional to /dial_peer (#5293) +- Fix openapi spec syntax error (#5358) +- Fix test data races (#5363) +- Revert JSON-RPC/WebSocket response batching (#5378) + +### Rpc/client + +- Take context as first param (#5347) + +### Rpc/jsonrpc/server + +- Ws server optimizations (#5312) + +### Spec + +- Update abci events (#151) +- Extract light-client to its own directory (#152) +- Remove evidences (#153) +- Light client attack detector (#164) + +### Spec/reactors/mempool + +- Batch txs per peer (#155) + +### State + +- Define interface for state store (#5348) + +### Statesync + +- Fix valset off-by-one causing consensus failures (#5311) +- Broadcast snapshot request to all peers on startup (#5320) +- Fix the validator set heights (again) (#5330) + +### Swagger + +- Update (#5257) + +### Types + +- Comment on need for length prefixing (#5283) + +### Upgrading + +- State store change (#5364) + +### Ux + +- Use docker to format proto files (#5384) + +## [0.34.0-rc3] - 2020-08-13 + +### RFC-002 + +- Non-zero genesis (#119) + +### Security + +- [Security] Bump prismjs from 1.20.0 to 1.21.0 in /docs + +### Testing + +- Protobuf vectors for reactors (#5221) + +### Abci + +- Fix abci evidence types (#5174) +- Add ResponseInitChain.app_hash, check and record it (#5227) +- Add ResponseInitChain.app_hash (#140) + +### Build + +- Bump google.golang.org/grpc from 1.30.0 to 1.31.0 +- Bump github.com/spf13/viper from 1.7.0 to 1.7.1 + +### Changelog + +- Add v0.33.7 release (#5203) +- Add v0.32.13 release (#5204) +- Update for 0.34.0-rc3 (#5240) + +### Ci + +- Freeze golangci action version (#5196) + +### Consensus + +- Don't check InitChain app hash vs genesis app hash, replace it (#5237) + +### Contributing + +- Add steps for adding and removing rc branches (#5223) + +### Crypto + +- Consistent api across keys (#5214) +- API modifications (#5236) + +### Db + +- Add support for badgerdb (#5233) + +### Evidence + +- Remove phantom validator evidence (#5181) +- Don't stop evidence verification if an evidence fails (#5189) +- Fix usage of time field in abci evidence (#5201) +- Change evidence time to block time (#5219) +- Remove validator index verification (#5225) + +### Genesis + +- Add support for arbitrary initial height (#5191) + +### Libs/rand + +- Fix "out-of-memory" error on unexpected argument (#5215) + +### Merkle + +- Return hashes for empty merkle trees (#5193) + +### Node + +- Don't attempt fast sync when InitChain sets self as only validator (#5211) + +### Rpc/client/http + +- Log error (#5182) + +### Spec + +- Revert event hashing (#132) + +### State + +- Don't save genesis state in database when loaded (#5231) + +## [0.34.0-rc2] - 2020-07-30 + +### .github/issue_template + +- Update `/dump_consensus_state` request. (#5060) + +### ADR + +- Add missing numbers as blank templates (#5154) + +### ADR-057 + +- RPC (#4857) + +### CHANGELOG_PENDING + +- Fix the upcoming release number (#5103) + +### Documentation + +- Update .vuepress/config.js (#5043) +- Add warning for chainid (#5072) +- Added further documentation to the subscribing to events page (#5110) +- Tweak light client documentation (#5121) +- Modify needed proto files for guides (#5123) +- EventAttribute#Index is not deterministic (#5132) +- Event hashing ADR 058 (#5134) +- Simplify choosing an ADR number (#5156) +- Add more details on Vote struct from /consensus_state (#5164) +- Document ConsensusParams (#5165) +- Document canonical field (#5166) + +### README + +- Update chat link with Discord instead of Riot (#5071) + +### Security + +- [Security] Bump lodash from 4.17.15 to 4.17.19 in /docs + +### Testing + +- Use github.sha in binary cache key (#5062) +- Deflake TestAddAndRemoveListenerConcurrency and TestSyncer_SyncAny (#5101) + +### Abci + +- Tweak node sync estimate (#115) + +### Abci/example/kvstore + +- Decrease val power by 1 upon equivocation (#5056) + +### Abci/types + +- Add comment for TotalVotingPower (#5081) + +### Behaviour + +- Add simple doc.go (#5055) + +### Blockchain + +- Test vectors for proto encoding (#5073) +- Rename to core (#123) +- Remove duplicate evidence sections (#124) + +### Build + +- Bump github.com/prometheus/client_golang +- Bump vuepress-theme-cosmos from 1.0.168 to 1.0.169 in /docs + +### Changelog + +- Update 0.33.6 (#5075) +- Note breaking change in the 0.33.6 release (#5077) +- Reorgranize (#5065) +- Move entries from pending (#5172) +- Bump to 0.34.0-rc2 (#5176) + +### Ci + +- Try to fix codecov (#5095) +- Only run tests when go files are touched (#5097) +- Version linter fix (#5128) + +### Consensus + +- Do not allow signatures for a wrong block in commits +- Msg testvectors (#5076) +- Added byzantine test, modified previous test (#5150) +- Only call privValidator.GetPubKey once per block (#5143) + +### Deps + +- Bump tm-db to 0.6.0 (#5058) + +### Evidence + +- Fix data race in Pool.updateValToLastHeight() (#5100) +- Check lunatic vote matches header (#5093) +- New evidence event subscription (#5108) +- Minor correction to potential amnesia ev validate basic (#5151) + +### Jsonrpc + +- Change log to debug (#5131) + +### Libs + +- Wrap mutexes for build flag with godeadlock (#5126) + +### Light + +- Fix rpc calls: /block_results & /validators (#5104) +- Use bisection (not VerifyCommitTrusting) when verifying a head… (#5119) +- Return if target header is invalid (#5124) + +### Lint + +- Errcheck (#5091) + +### Linter + +- (1/2) enable errcheck (#5064) + +### Mempool + +- Make it clear overwriting of pre/postCheck filters is intent… (#5054) +- Use oneof (#5063) +- Add RemoveTxByKey function (#5066) + +### P2p + +- Remove data race bug in netaddr stringer (#5048) +- Ensure peers can't change IP of known nodes (#5136) + +### Privval + +- If remote signer errors, don't retry (#5140) + +### Proto + +- Increase lint level to basic and fix lint warnings (#5096) +- Improve enums (#5099) +- Reorganize Protobuf schemas (#5102) +- Minor cleanups (#5105) +- Change type + a cleanup (#5107) +- Add a comment for Validator#Address (#5144) + +### Proto/tendermint/abci + +- Fix Request oneof numbers (#5116) + +### Proxy + +- Improve ABCI app connection handling (#5078) + +### Rpc + +- Move docs from doc.go to swagger.yaml (#5044) +- /broadcast_evidence nil evidence check (#5109) +- Make gasWanted/Used snake_case (#5137) + +### Rpc/jsonrpc/server + +- Merge WriteRPCResponseHTTP and WriteRPCResponseAr (#5141) + +### Spec/abci + +- Expand on Validator#Address (#118) + +### Spec/consensus + +- Canonical vs subjective commit + +### State + +- Revert event hashing (#5159) + +### Types + +- Simplify safeMul (#5061) +- Verify commit fully +- Validatebasic on from proto (#5152) +- Check if nil or empty valset (#5167) + +### Version + +- Bump version numbers (#5173) + +## [0.34.0-dev1] - 2020-06-24 + +### .github + +- Move checklist from PR description into an auto-comment (#4745) +- Fix whitespace for autocomment (#4747) +- Fix whitespace for auto-comment (#4750) + +### ADR-053 + +- Strengthen and simplify the state sync ABCI interface (#4610) + +### Bug Fixes + +- Fix spelling of comment (#4566) + +### CHANGELOG + +- Update to reflect 0.33.5 (#4915) +- Add 0.32.12 changelog entry (#4918) + +### CONTRIBUTING + +- Update minor release process (#4909) + +### Documentation + +- Validator setup & Key info (#4604) +- Add adr-55 for proto repo design (#4623) +- Amend adr-54 with changes in the sdk (#4684) +- Create adr 56: prove amnesia attack +- Mention unbonding period in MaxAgeNumBlocks/MaxAgeDuration +- State we don't support non constant time crypto +- Move tcp-window.png to imgs/ +- Document open file limit in production guide (#4945) +- Update amnesia adr (#4994) + +### Makefile + +- Parse TENDERMINT_BUILD_OPTIONS (#4738) + +### README + +- Specify supported versions (#4660) + +### RFC-001 + +- Configurable block retention (#84) + +### Security + +- [Security] Bump websocket-extensions from 0.1.3 to 0.1.4 in /docs (#4976) + +### Testing + +- Fix p2p test build breakage caused by Debian testing +- Revert Go 1.13→1.14 bump +- Use random socket names to avoid collisions (#4885) +- Mitigate test data race (#4886) + +### UPGRADING.md + +- Write about the LastResultsHash change (#5000) + +### Abci + +- Add basic description of ABCI Commit.ResponseHeight (#85) +- Add MaxAgeNumBlocks/MaxAgeDuration to EvidenceParams (#87) +- Update MaxAgeNumBlocks & MaxAgeDuration docs (#88) +- Fix protobuf lint issues +- Regenerate proto files +- Remove protoreplace script +- Remove python examples +- Proto files follow same path (#5039) +- Add AppVersion to ConsensusParams (#106) + +### Abci/server + +- Print panic & stack trace to STDERR if logger is not set + +### Adr-053 + +- Update after state sync merge (#4768) + +### All + +- Name reactors when they are initialized (#4608) + +### Blockchain + +- Enable v2 to be set (#4597) +- Change validator set sorting method (#91) +- Proto migration (#4969) + +### Blockchain/v2 + +- Allow setting nil switch, for CustomReactors() +- Don't broadcast base if height is 0 +- Fix excessive CPU usage due to spinning on closed channels (#4761) +- Respect fast_sync option (#4772) +- Integrate with state sync +- Correctly set block store base in status responses (#4971) + +### Blockchain[v1] + +- Increased timeout times for peer tests (#4871) + +### Blockstore + +- Allow initial SaveBlock() at any height + +### Build + +- Bump github.com/Workiva/go-datastructures (#4545) +- Bump google.golang.org/grpc from 1.27.1 to 1.28.0 (#4551) +- Bump github.com/tendermint/tm-db from 0.4.1 to 0.5.0 (#4554) +- Bump github.com/golang/protobuf from 1.3.4 to 1.3.5 (#4563) +- Bump github.com/prometheus/client_golang (#4574) +- Bump github.com/gorilla/websocket from 1.4.1 to 1.4.2 (#4584) +- Bump github.com/spf13/cobra from 0.0.6 to 0.0.7 (#4612) +- Bump github.com/tendermint/tm-db from 0.5.0 to 0.5.1 (#4613) +- Bump google.golang.org/grpc from 1.28.0 to 1.28.1 (#4653) +- Bump github.com/spf13/viper from 1.6.2 to 1.6.3 (#4664) +- Bump @vuepress/plugin-google-analytics in /docs (#4692) +- Bump google.golang.org/grpc from 1.28.1 to 1.29.0 +- Bump google.golang.org/grpc from 1.29.0 to 1.29.1 (#4735) +- Manually bump github.com/prometheus/client_golang from 1.5.1 to 1.6.0 (#4758) +- Bump github.com/golang/protobuf from 1.4.0 to 1.4.1 (#4794) +- Bump vuepress-theme-cosmos from 1.0.163 to 1.0.164 in /docs (#4815) +- Bump github.com/spf13/viper from 1.6.3 to 1.7.0 (#4814) +- Bump github.com/golang/protobuf from 1.4.1 to 1.4.2 (#4849) +- Bump vuepress-theme-cosmos from 1.0.164 to 1.0.165 in /docs +- Bump github.com/stretchr/testify from 1.5.1 to 1.6.0 +- Bump vuepress-theme-cosmos from 1.0.165 to 1.0.166 in /docs (#4920) +- Bump github.com/stretchr/testify from 1.6.0 to 1.6.1 +- Bump github.com/prometheus/client_golang from 1.6.0 to 1.7.0 (#5027) +- Bump google.golang.org/grpc from 1.29.1 to 1.30.0 + +### Changelog + +- Add entries from secruity releases + +### Ci + +- Transition some ci to github actions +- Only run when applicable (#4752) +- Check git diff on each job (#4770) +- Checkout code before git diff check (#4779) +- Add paths +- Bump the timeout for test_coverage (#4864) +- Migrate localnet to github actions (#4878) +- Add timeouts (#4912) +- Migrate test_cover (#4869) +- Fix spacing of if statement (#5015) + +### Cli + +- Add command to generate shell completion scripts (#4665) + +### Codeowners + +- Add code owners (#82) + +### Config + +- Allow fastsync.version = v2 (#4639) + +### Consensus + +- Add comment as to why use mocks during replay (#4785) +- Fix TestSimulateValidatorsChange +- Fix and rename TestStateLockPOLRelock (#4796) +- Bring back log.Error statement (#4899) +- Increase ensureTimeout (#4891) +- Fix startnextheightcorrectly test (#4938) +- Attempt to repair the WAL file on data corruption (#4682) +- Change logging and handling of height mismatch (#4954) +- Stricter on LastCommitRound check (#4970) +- Proto migration (#4984) + +### Cov + +- Ignore autogen file (#5033) + +### Crypto + +- Remove SimpleHashFromMap() and SimpleProofsFromMap() +- Remove key suffixes (#4941) +- Removal of multisig (#4988) + +### Crypto/merkle + +- Remove simple prefix (#4989) + +### Dep + +- Bump protobuf, cobra, btcutil & std lib deps (#4676) + +### Deps + +- Bump deps that bot cant (#4555) +- Run go mod tidy (#4587) + +### Encoding + +- Remove codecs (#4996) + +### Evidence + +- Both MaxAgeDuration and MaxAgeNumBlocks need to be surpassed (#4667) +- Handling evidence from light client(s) (#4532) +- Remove unused param (#4726) +- Remove pubkey from duplicate vote evidence +- Add doc.go +- Protect valToLastHeight w/ mtx +- Check evidence is pending before validating evidence +- Refactor evidence mocks throughout packages (#4787) +- Cap evidence to an absolute number (#4780) +- Create proof of lock change and implement it in evidence store (#4746) +- Prevent proposer from proposing duplicate pieces of evidence (#4839) +- Remove header from phantom evidence (#4892) +- Retrieve header at height of evidence for validation (#4870) +- Json tags for DuplicateVoteEvidence (#4959) +- Migrate reactor to proto (#4949) +- Adr56 form amnesia evidence (#4821) +- Improve amnesia evidence handling (#5003) +- Replace mock evidence with mocked duplicate vote evidence (#5036) + +### Format + +- Add format cmd & goimport repo (#4586) + +### Indexer + +- Allow indexing an event at runtime (#4466) +- Remove index filtering (#5006) + +### Ints + +- Stricter numbers (#4939) + +### Json + +- Add Amino-compatible encoder/decoder (#4955) + +### Keys + +- Change to []bytes (#4950) + +### Libs + +- Remove bech32 +- Remove kv (#4874) + +### Libs/kv + +- Remove unused type KI64Pair (#4542) + +### Light + +- Rename lite2 to light & remove lite (#4946) +- Implement validate basic (#4916) +- Migrate to proto (#4964) +- Added more tests for pruning, initialization and bisection (#4978) + +### Lint + +- Add review dog (#4652) +- Enable nolintlinter, disable on tests +- Various fixes + +### Linting + +- Remove unused variable + +### Lite + +- Fix HTTP provider error handling + +### Lite2 + +- Add benchmarking tests (#4514) +- Cache headers in bisection (#4562) +- Use bisection for some of backward verification (#4575) +- Make maxClockDrift an option (#4616) +- Prevent falsely returned double voting error (#4620) +- Default to http scheme in provider.New (#4649) +- Verify ConsensusHash in rpc client +- Fix pivot height during bisection (#4850) +- Correctly return the results of the "latest" block (#4931) +- Allow bigger requests to LC proxy (#4930) +- Check header w/ witnesses only when doing bisection (#4929) +- Compare header with witnesses in parallel (#4935) + +### Lite2/http + +- Fix provider test by increasing the block retention value (#4890) + +### Lite2/rpc + +- Verify block results and validators (#4703) + +### Mempool + +- Reserve IDs in InitPeer instead of AddPeer +- Move mock into mempool directory +- Allow ReapX and CheckTx functions to run in parallel +- Do not launch broadcastTxRoutine if Broadcast is off + +### Mergify + +- Use PR title and body for squash merge commit (#4669) + +### P2p + +- PEX message abuse should ban as well as disconnect (#4621) +- Limit the number of incoming connections +- Set RecvMessageCapacity to maxMsgSize in all reactors +- Return err on `signChallenge` (#4795) +- Return masked IP (not the actual IP) in addrbook#groupKey +- TestTransportMultiplexAcceptNonBlocking and TestTransportMultiplexConnFilterTimeout (#4868) +- Remove nil guard (#4901) +- Expose SaveAs on NodeKey (#4981) +- Proto leftover (#4995) + +### P2p/conn + +- Add a test for MakeSecretConnection (#4829) +- Migrate to Protobuf (#4990) + +### P2p/pex + +- Fix DATA RACE +- Migrate to Protobuf (#4973) + +### P2p/test + +- Wait for listener to get ready (#4881) +- Fix Switch test race condition (#4893) + +### Pex + +- Use highwayhash for pex bucket + +### Privval + +- Return error on getpubkey (#4534) +- Remove deprecated `OldFilePV` +- Retry GetPubKey/SignVote/SignProposal N times before +- Migrate to protobuf (#4985) + +### Proto + +- Use docker to generate stubs (#4615) +- Bring over proto types & msgs (#4718) +- Regenerate proto (#4730) +- Remove test files +- Add proto files for ibc unblock (#4853) +- Add more to/from (#4956) +- Change to use gogofaster (#4957) +- Remove amino proto tests (#4982) +- Move keys to oneof (#4983) +- Leftover amino (#4986) +- Move all proto dirs to /proto (#5012) +- Folder structure adhere to buf (#5025) + +### Reactors/pex + +- Specify hash function (#94) +- Masked IP is used as group key (#96) + +### Readme + +- Add badge for git tests (#4732) +- Add source graph badge (#4980) + +### Removal + +- Remove build folder (#4565) + +### Rpc + +- Fix panic when `Subscribe` is called (#4570) +- Add codespace to ResultBroadcastTx (#4611) +- Handle panics during panic handling +- Use a struct to wrap all the global objects +- Refactor lib folder (#4836) +- Increase waitForEventTimeout to 8 seconds (#4917) +- Add BlockByHash to Client (#4923) +- Replace Amino with new JSON encoder (#4968) +- Support EXISTS operator in /tx_search query (#4979) +- Add /check_tx endpoint (#5017) + +### Rpc/client + +- Split out client packages (#4628) + +### Rpc/core + +- Do not lock ConsensusState mutex +- Return an error if `page=0` (#4947) + +### Rpc/test + +- Fix test race in TestAppCalls (#4894) +- Wait for mempool CheckTx callback (#4908) +- Wait for subscription in TestTxEventsSentWithBroadcastTxAsync (#4907) + +### Spec + +- Add ProofTrialPeriod to EvidenceParam (#99) +- Modify Header.LastResultsHash (#97) +- Link to abci server implementations (#100) +- Update evidence in blockchain.md (#108) + +### State + +- Export InitStateVersion +- Proto migration (#4951) +- Proto migration (#4972) + +### Statesync + +- Use Protobuf instead of Amino for p2p traffic (#4943) + +### Store + +- Proto migration (#4974) + +### Swagger + +- Remove duplicate blockID +- Define version (#4952) + +### Template + +- Add labels to pr template + +### Toml + +- Make sections standout (#4993) + +### Tools + +- Remove need to install buf (#4605) +- Update gogoproto get cmd (#5007) + +### Tools/build + +- Delete stale tools (#4558) + +### Types + +- Implement Header#ValidateBasic (#4638) +- Return an error if voting power overflows +- Sort validators by voting power +- Simplify VerifyCommitTrusting +- Remove extra validation in VerifyCommit +- Assert specific error in TestValSetUpdateOverflowRelated +- Remove unnecessary sort call (#4876) +- Create ValidateBasic() funcs for validator and validator set (#4905) +- Remove VerifyFutureCommit (#4961) +- Migrate params to protobuf (#4962) +- Remove duplicated validation in VerifyCommit (#4991) +- Add tests for blockmeta (#5013) +- Remove pubkey options (#5016) +- More test cases for TestValidatorSet_VerifyCommit (#5018) +- Rename partsheader to partsetheader (#5029) +- Fix evidence timestamp calculation (#5032) +- Add AppVersion to ConsensusParams (#5031) +- Reject blocks w/ ConflictingHeadersEvidence (#5041) + +### Types/test + +- Remove slow test cases in TestValSetUpdatePriorityOrderTests (#4903) + +### Upgrading + +- Add note on rpc/client subpackages (#4636) + +## [0.33.1-dev3] - 2020-03-09 + +### .github + +- Add markdown link checker (#4513) + +### CONTRIBUTING + +- Include instructions for installing protobuf + +### Documentation + +- Adr-046 add bisection algorithm details (#4496) +- `tendermint node --help` dumps all supported flags (#4511) +- Write about debug kill and dump (#4516) +- Fix links (#4531) + +### Testing + +- Simplified txsearch cancellation test (#4500) + +### Adr + +- Crypto encoding for proto (#4481) + +### Adr-047 + +- Evidence handling (#4429) + +### Build + +- Bump github.com/golang/protobuf from 1.3.3 to 1.3.4 (#4485) +- Bump github.com/prometheus/client_golang (#4525) + +### Circleci + +- Fix reproducible builds test (#4497) + +### Cmd + +- Show useful error when tm not initialised (#4512) +- Fix debug kill and change debug dump archive filename format (#4517) + +### Deps + +- Bump github.com/Workiva/go-datastructures (#4519) + +### Example/kvstore + +- Return ABCI query height (#4509) + +### Lite + +- Add helper functions for initiating the light client (#4486) + +### Lite2 + +- Fix tendermint lite sub command (#4505) +- Remove auto update (#4535) +- Indicate success/failure of Update (#4536) +- Replace primary when providing invalid header (#4523) + +### Mergify + +- Remove unnecessary conditions (#4501) +- Use strict merges (#4502) + +### Readme + +- Add discord to readme (#4533) + +### Rpc + +- Stop txSearch result processing if context is done (#4418) +- Keep the original subscription "id" field when new RPCs come in (#4493) +- Remove BlockStoreRPC in favor of BlockStore (#4510) +- Create buffered subscriptions on /subscribe (#4521) + +### Swagger + +- Update swagger port (#4498) + +### Tool + +- Add Mergify (#4490) + +## [0.33.1-dev2] - 2020-02-27 + +### Deps + +- Bump github.com/tendermint/tm-db from 0.4.0 to 0.4.1 (#4476) + +### Github + +- Edit templates for use in issues and pull requests (#4483) + +### Lite2 + +- Cross-check first header and update tests (#4471) +- Remove expiration checks on functions that don't require them (#4477) +- Prune-headers (#4478) +- Return height as 2nd return param in TrustedValidatorSet (#4479) +- Actually run example tests + clock drift (#4487) + +## [0.33.1-dev1] - 2020-02-26 + +### ADR-053 + +- Update with implementation plan after prototype (#4427) + +### Documentation + +- Fix spec links (#4384) +- Update Light Client Protocol page (#4405) + +### Adr + +- Light client implementation (#4397) + +### Autofile + +- Resolve relative paths (#4390) + +### Blockchain + +- Add v2 reactor (#4361) + +### Build + +- Bump github.com/stretchr/testify from 1.5.0 to 1.5.1 (#4441) +- Bump github.com/spf13/cobra from 0.0.3 to 0.0.6 (#4440) + +### Circleci + +- Run P2P IPv4 and IPv6 tests in parallel (#4459) + +### Consensus + +- Reduce log severity for ErrVoteNonDeterministicSignature (#4431) + +### Dep + +- Bump gokit dep (#4424) +- Maunally bump dep (#4436) + +### Deps + +- Bump github.com/stretchr/testify from 1.4.0 to 1.5.0 (#4435) + +### Evidence + +- Add time to evidence params (#69) + +### Lite + +- Modified bisection to loop (#4400) + +### Lite2 + +- Manage witness dropout (#4380) +- Improve string output of all existing providers (#4387) +- Modified sequence method to match bisection (#4403) +- Disconnect from bad nodes (#4388) +- Divide verify functions (#4412) +- Return already verified headers and verify earlier headers (#4428) +- Don't save intermediate headers (#4452) +- Store current validator set (#4472) + +### Make + +- Remove sentry setup cmds (#4383) + +### Makefile + +- Place phony markers after targets (#4408) + +### P2p + +- Use curve25519.X25519() instead of ScalarMult() (#4449) + +### Proto + +- Add buf and protogen script (#4369) +- Minor linting to proto files (#4386) + +### Readme + +- Fix link to original paper (#4391) + +### Release + +- Minor release 0.33.1 (#4401) + +### Rpc + +- Fix issue with multiple subscriptions (#4406) +- Fix tx_search pagination with ordered results (#4437) +- Fix txsearch tests (#4438) +- Fix TxSearch test nits (#4446) + +### Types + +- VerifyCommitX return when +2/3 sigs are verified (#4445) + +## [0.33.1-dev0] - 2020-02-07 + +### Documentation + +- Fix incorrect link (#4377) + +### Lite2 + +- Return if there are no headers in RemoveNoLongerTrustedHeaders (#4378) + +## [0.33.0-dev2] - 2020-02-07 + +### Documentation + +- Update links to rpc (#4348) +- Update npm dependencies (#4364) +- Update guides proto paths (#4365) +- Update specs to remove cmn (#77) + +### Security + +- Cross-check new header with all witnesses (#4373) + +### Abci + +- Fix broken spec link (#4366) + +### Adr + +- ADR-051: Double Signing Risk Reduction (#4262) + +### Build + +- Bump google.golang.org/grpc from 1.26.0 to 1.27.0 (#4355) + +### Deps + +- Bump github.com/golang/protobuf from 1.3.2 to 1.3.3 (#4359) +- Bump google.golang.org/grpc from 1.27.0 to 1.27.1 (#4372) + +### Lite2 + +- Add Start, TrustedValidatorSet funcs (#4337) +- Rename alternative providers to witnesses (#4344) +- Refactor cleanup() (#4343) +- Batch save & delete operations in DB store (#4345) +- Panic if witness is on another chain (#4356) +- Make witnesses mandatory (#4358) +- Replace primary provider with alternative when unavailable (#4354) +- Fetch missing headers (#4362) +- Validate TrustOptions, add NewClientFromTrustedStore (#4374) + +### Node + +- Use GRPCMaxOpenConnections when creating the gRPC server (#4349) + +### P2p + +- Merlin based malleability fixes (#72) + +### Rpc + +- Add sort_order option to tx_search (#4342) + +## [0.33.0-dev1] - 2020-01-23 + +### .golangci + +- Disable new linters (#4024) + +### CHANGELOG + +- Update release/v0.32.8 details (#4162) + +### Documentation + +- Fix consensus spec formatting (#3804) +- "Writing a built-in Tendermint Core application in Go" guide (#3608) +- Add guides to docs (#3830) +- Add a footer to guides (#3835) +- "Writing a Tendermint Core application in Kotlin (gRPC)" guide (#3838) +- "Writing a Tendermint Core application in Java (gRPC)" guide (#3887) +- Fix some typos and changelog entries (#3915) +- Switch the data in `/unconfirmed_txs` and `num_unconfirmed_txs` (#3933) +- Add dev sessions from YouTube (#3929) +- Move dev sessions into docs (#3934) +- Specify a fix for badger err on Windows (#3974) +- Remove traces of develop branch (#4022) +- Any path can be absolute or relative (#4035) +- Add previous dev sessions (#4040) +- Add ABCI Overview (2/2) dev session (#4044) +- Update fork-accountability.md (#4068) +- Add assumption to getting started with abci-cli (#4098) +- Fix build instructions (#4123) +- Add GA for docs.tendermint.com (#4149) +- Replace dead original whitepaper link (#4155) +- Update wording (#4174) +- Mention that Evidence votes are now sorted +- Fix broken links (#4186) +- Fix broken links in consensus/readme.md (#4200) +- Update ADR 43 with links to PRs (#4207) +- Add flag documentation (#4219) +- Fix broken rpc link (#4221) +- Fix broken ecosystem link (#4222) +- Add notes on architecture intro (#4175) +- Remove "0 means latest" from swagger docs (#4236) +- Update app-architecture.md (#4259) +- Link fixes in readme (#4268) +- Add link for installing Tendermint (#4307) +- Update theme version (#4315) +- Minor doc fixes (#4335) + +### Security + +- Refactor Remote signers (#3370) + +### Testing + +- Branch for fix of ci (#4266) +- Bind test servers to 127.0.0.1 (#4322) + +### Vagrantfile + +- Update Go version + +### [Docs] + +- Minor doc touchups (#4171) + +### Abci + +- Remove TotalTxs and NumTxs from Header (#3783) + +### Abci/client + +- Fix DATA RACE in gRPC client (#3798) + +### Abci/kvstore + +- Return `LastBlockHeight` and `LastBlockAppHash` in `Info` (#4233) + +### Abci/server + +- Recover from app panics in socket server (#3809) + +### Adr + +- ADR-052: Tendermint Mode (#4302) + +### Adr#50 + +- Improve trusted peering (#4072) + +### Blockchain + +- Reorg reactor (#3561) + +### Build + +- Bump github.com/tendermint/tm-db from 0.1.1 to 0.2.0 (#4001) +- Bump github.com/gogo/protobuf from 1.3.0 to 1.3.1 (#4055) +- Bump github.com/spf13/viper from 1.4.0 to 1.5.0 (#4102) +- Bump github.com/spf13/viper from 1.5.0 to 1.6.1 (#4224) +- Bump github.com/pkg/errors from 0.9.0 to 0.9.1 (#4310) + +### Changelog + +- Add v0.31.9 and v0.31.8 updates (#4034) +- Fix typo (#4106) +- Explain breaking changes better +- GotVoteFromUnwantedRoundError -> ErrGotVoteFromUnwantedRound +- Add 0.32.9 changelog to master (#4305) + +### Cli + +- Add `--cs.create_empty_blocks_interval` flag (#4205) +- Add `--db_backend` and `--db_dir` flags to tendermint node cmd (#4235) +- Add optional `--genesis_hash` flag to check genesis hash upon startup (#4238) +- Debug sub-command (#4227) + +### Cmd/debug + +- Execute p.Signal only when p is not nil (#4271) + +### Cmd/lite + +- Switch to new lite2 package (#4300) + +### Config + +- Move max_msg_bytes into mempool section (#3869) +- Add rocksdb as a db backend option (#4239) + +### Consensus + +- Reduce "Error attempting to add vote" message severity (Er… (#3871) + +### Consensus/types + +- Fix BenchmarkRoundStateDeepCopy panics (#4244) + +### Crypto + +- Add sr25519 signature scheme (#4190) +- Fix sr25519 from raw import (#4272) + +### Crypto/amino + +- Add function to modify key codec (#4112) + +### Cs + +- Check for SkipTimeoutCommit or wait timeout in handleTxsAvailable (#3928) +- Don't panic when block is not found in store (#4163) +- Clarify where 24 comes from in maxMsgSizeBytes (wal.go) +- Set missing_validators(_power) metrics to 0 for 1st block (#4194) +- Check if cs.privValidator is nil (#4295) + +### Dep + +- Update tm-db to 0.4.0 (#4289) + +### Deps + +- Update gogo/protobuf version from v1.2.1 to v1.3.0 (#3947) +- Bump github.com/magiconair/properties from 1.8.0 to 1.8.1 (#3937) +- Bump github.com/rs/cors from 1.6.0 to 1.7.0 (#3939) +- Bump github.com/fortytw2/leaktest from 1.2.0 to 1.3.0 (#3943) +- Bump github.com/libp2p/go-buffer-pool from 0.0.1 to 0.0.2 (#3948) +- Bump google.golang.org/grpc from 1.22.0 to 1.23.0 (#3942) +- Bump github.com/gorilla/websocket from 1.2.0 to 1.4.1 (#3945) +- Bump viper to 1.4.0 and logfmt to 0.4.0 (#3950) +- Bump github.com/stretchr/testify from 1.3.0 to 1.4.0 (#3951) +- Bump github.com/go-kit/kit from 0.6.0 to 0.9.0 (#3952) +- Bump google.golang.org/grpc from 1.23.0 to 1.23.1 (#3982) +- Bump google.golang.org/grpc from 1.23.1 to 1.24.0 (#4021) +- Bump google.golang.org/grpc from 1.25.0 to 1.25.1 (#4127) +- Bump google.golang.org/grpc from 1.25.1 to 1.26.0 (#4264) +- Bump github.com/go-logfmt/logfmt from 0.4.0 to 0.5.0 (#4282) +- Bump github.com/pkg/errors from 0.8.1 to 0.9.0 (#4301) +- Bump github.com/spf13/viper from 1.6.1 to 1.6.2 (#4318) + +### Evidence + +- Enforce ordering in DuplicateVoteEvidence (#4151) +- Introduce time.Duration to evidence params (#4254) + +### Gitian + +- Update reproducible builds to build with Go 1.12.8 (#3902) + +### Libs + +- Remove db from tendermint in favor of tendermint/tm-cmn (#3811) + +### Libs/common + +- Refactor libs/common 01 (#4230) +- Refactor libs/common 2 (#4231) +- Refactor libs common 3 (#4232) +- Refactor libs/common 4 (#4237) +- Refactor libs/common 5 (#4240) + +### Libs/pubsub + +- Relax tx querying (#4070) + +### Libs/pubsub/query + +- Add EXISTS operator (#4077) + +### Lint + +- Golint issue fixes (#4258) + +### Linters + +- Enable scopelint (#3963) +- Modify code to pass maligned and interfacer (#3959) +- Enable stylecheck (#4153) + +### Lite + +- Follow up from #3989 (#4209) + +### Lite2 + +- Light client with weak subjectivity (#3989) +- Move AutoClient into Client (#4326) +- Improve auto update (#4334) + +### Make + +- Add back tools cmd (#4281) + +### Makefile + +- Minor cleanup (#3994) + +### Mempool + +- Make max_msg_bytes configurable (#3826) +- Make `max_tx_bytes` configurable instead of `max_msg_bytes` (#3877) +- Fix memory loading error on 32-bit machines (#3969) +- Moved TxInfo parameter into Mempool.CheckTx() (#4083) + +### Metrics + +- Only increase last_signed_height if commitSig for block (#4283) + +### Networks/remote + +- Turn on GO111MODULE and use git clone instead of go get (#4203) + +### P2p + +- Fix error logging for connection stop (#3824) +- Do not write 'Couldn't connect to any seeds' if there are no seeds (#3834) +- Only allow ed25519 pubkeys when connecting +- Log as debug msg when address dialing is already connected (#4082) +- Make SecretConnection non-malleable (#3668) +- Add `unconditional_peer_ids` and `persistent_peers_max_dial_period` (#4176) +- Extract maxBackoffDurationForPeer func and remove 1 test (#4218) + +### P2p/conn + +- Add Bufferpool (#3664) +- Simplify secret connection handshake malleability fix with merlin (#4185) + +### Privval + +- Remove misplaced debug statement (#4103) +- Add `SignerDialerEndpointRetryWaitInterval` option (#4115) + +### Prometheus/metrics + +- Three new metrics for consensus (#4263) + +### Rpc + +- Make max_body_bytes and max_header_bytes configurable (#3818) +- /broadcast_evidence (#3481) +- Return err if page is incorrect (less than 0 or greater than tot… (#3825) +- Protect subscription access from race condition (#3910) +- Allow using a custom http client in rpc client (#3779) +- Remove godoc comments in favor of swagger docs (#4126) +- /block_results fix docs + write test + restructure response (#3615) +- Remove duplication of data in `ResultBlock ` (#3856) +- Add pagination to /validators (#3993) +- Update swagger docs to openapi 3.0 (#4223) +- Added proposer in consensus_state (#4250) +- Pass `outCapacity` to `eventBus#Subscribe` when subscribing using a l… (#4279) +- Add method block_by_hash (#4257) +- Modify New* functions to return error (#4274) +- Check nil blockmeta (#4320) +- PR#4320 follow up (#4323) + +### Rpc/client + +- Add basic authentication (#4291) + +### Rpc/lib + +- Fix RPC client, which was previously resolving https protocol to http (#4131) + +### Rpc/swagger + +- Add numtxs to blockmeta (#4139) + +### Scripts + +- Remove install scripts (#4242) + +### Spec + +- Update spec with tendermint updates (#62) + +### Spec/consensus/signing + +- Add more details about nil and amnesia (#54) + +### State + +- Txindex/kv: fsync data to disk immediately after receiving it (#4104) +- Txindex/kv: return an error if there's one (#4095) + +### State/store + +- Remove extra `if` statement (#3774) + +### Store + +- Register block amino, not just crypto (#3894) + +### Tm-bench + +- Add deprecation warning (#3992) + +### Tools.mk + +- Use tags instead of revisions where possible +- Install protoc + +### Tools/tm-bench + +- Remove tm-bench in favor of tm-load-test (#4169) + +### Txindexer + +- Refactor Tx Search Aggregation (#3851) + +### Types + +- Move MakeVote / MakeBlock functions (#3819) +- Add test for block commits with votes for the wrong blockID (#3936) +- Prevent temporary power overflows on validator updates (#4165) +- Change number_txs to num_txs json tag in BlockMeta +- Remove dots from errors in SignedHeader#ValidateBasic +- Change `Commit` to consist of just signatures (#4146) +- Prevent spurious validator power overflow warnings when changing the validator set (#4183) + +## [0.32.1] - 2019-07-15 + +### Documentation + +- Update to contributing.md (#3760) +- Add readme image (#3763) +- Remove confusing statement from contributing.md (#3764) +- Quick link fixes throughout docs and repo (#3776) +- Replace priv_validator.json with priv_validator_key.json (#3786) + +### Testing + +- Add consensus_params to testnet config generation (#3781) + +### Abci + +- Refactor CheckTx to notify of recheck (#3744) +- Minor cleanups in the socket client (#3758) +- Fix documentation regarding CheckTx type update (#3789) + +### Adr + +- [43] blockchain riri-org (#3753) + +### Behaviour + +- Return correct reason in MessageOutOfOrder (#3772) + +### Config + +- Make possible to set absolute paths for TLS cert and key (#3765) + +### Libs + +- Remove commented and unneeded code (#3757) +- Minor cleanup (#3794) + +### Libs/common + +- Remove heap.go (#3780) +- Remove unused functions (#3784) + +### Libs/fail + +- Clean up `fail.go` (#3785) + +### Node + +- Allow registration of custom reactors while creating node (#3771) + +### P2p + +- Dial addrs which came from seed instead of calling ensurePeers (#3762) +- Extract ID validation into a separate func (#3754) + +### Tm-monitor + +- Update build-docker Makefile target (#3790) +- Add Context to RPC handlers (#3792) + +## [0.32.0] - 2019-06-25 + +### Documentation + +- (rpc/broadcast_tx_*) write expectations for a client (#3749) +- Update JS section of abci-cli.md (#3747) + +## [0.32.0-dev2] - 2019-06-22 + +### Abci + +- Refactor ABCI CheckTx and DeliverTx signatures (#3735) + +### Abci/examples + +- Switch from hex to base64 pubkey in kvstore (#3641) + +### Cs + +- Exit if SwitchToConsensus fails (#3706) + +### Node + +- Run whole func in goroutine, not just logger.Error fn (#3743) + +### Rpc/lib + +- Write a test for TLS server (#3703) + +### State + +- Add more tests for block validation (#3674) + +## [0.32.0-dev1] - 2019-06-21 + +### Documentation + +- Missing 'b' in python command (#3728) +- Fix some language issues and deprecated link (#3733) + +### Node + +- Fix a bug where `nil` is recorded as node's address (#3740) + +### P2p + +- Refactor Switch#OnStop (#3729) + +### Types + +- Do not ignore errors returned by PublishWithEvents (#3722) + +## [0.32.0-dev0] - 2019-06-12 + +### Documentation + +- Update /block_results RPC docs (#3708) + +### Abci + +- Refactor tagging events using list of lists (#3643) + +### Libs/db + +- Fix the BoltDB Batch.Delete +- Fix the BoltDB Get and Iterator + +### P2p + +- Per channel metrics (#3666) (#3677) +- Remove NewNetAddressStringWithOptionalID (#3711) +- Peerbehaviour follow up (#3653) (#3663) + +### Rpc + +- Use Wrap instead of Errorf error (#3686) + +## [0.31.7] - 2019-06-04 + +### Documentation + +- Update RPC docs for /subscribe & /unsubscribe (#3705) + +### Libs/db + +- Remove deprecated `LevelDBBackend` const (#3632) + +## [0.31.6] - 2019-05-30 + +### ADR-037 + +- DeliverBlock (#3420) + +### Documentation + +- Fix typo in clist readme (#3574) +- Update contributing.md (#3503) +- Fix minor typo (#3681) + +### Abci/types + +- Update comment (#3612) + +### Cli + +- Add option to not clear address book with unsafe reset (#3606) + +### Crypto + +- Proof of Concept for iterative version of SimpleHashFromByteSlices (#2611) (#3530) + +### Cs + +- Fix nondeterministic tests (#3582) + +### Cs/replay + +- Check appHash for each block (#3579) +- ExecCommitBlock should not read from state.lastValidators (#3067) + +### Libs/common + +- Remove deprecated PanicXXX functions (#3595) + +### Libs/db + +- Bbolt (etcd's fork of bolt) (#3610) +- Close boltDBIterator (#3627) +- Fix boltdb batching +- Conditional compilation (#3628) +- Boltdb: use slice instead of sync.Map (#3633) + +### Mempool + +- Move interface into mempool package (#3524) +- Remove only valid (Code==0) txs on Update (#3625) + +### Node + +- Refactor node.NewNode (#3456) + +### P2p + +- (seed mode) limit the number of attempts to connect to a peer (#3573) +- Session should terminate on nonce wrapping (#3531) (#3609) +- Make persistent prop independent of conn direction (#3593) +- PeerBehaviour implementation (#3539) (#3552) +- Peer state init too late and pex message too soon (#3634) + +### P2p/pex + +- Consult seeds in crawlPeersRoutine (#3647) + +### Pex + +- Dial seeds when address book needs more addresses (#3603) +- Various follow-ups (#3605) + +### Privval + +- Increase timeout to mitigate non-deterministic test failure (#3580) + +### Rpc + +- Add support for batched requests/responses (#3534) +- /dial_peers: only mark peers as persistent if flag is on (#3620) + +### Types + +- CommitVotes struct as last step towards #1648 (#3298) + +## [0.31.5] - 2019-04-16 + +### Adr + +- PeerBehaviour updates (#3558) + +### Blockchain + +- Dismiss request channel delay (#3459) + +### Common + +- CMap: slight optimization in Keys() and Values(). (#3567) + +### Gitignore + +- Add .vendor-new (#3566) + +### State + +- Use last height changed if validator set is empty (#3560) + +## [0.31.4] - 2019-04-12 + +### Documentation + +- Fix block.Header.Time description (#3529) +- Abci#Commit: better explain the possible deadlock (#3536) + +### Adr + +- Peer Behaviour (#3539) + +### P2p + +- Seed mode refactoring (#3011) +- Do not log err if peer is private (#3474) + +### Rpc + +- Fix response time grow over time (#3537) + +## [0.31.2] - 2019-04-01 + +### Blockchain + +- Comment out logger in test code that causes a race condition (#3500) + +### Libs + +- Remove useless code in group (#3504) + +## [0.31.1] - 2019-03-28 + +### Documentation + +- Fix broken links (#3482) (#3488) +- Fix broken links (#3482) (#3488) + +### Blockchain + +- Update the maxHeight when a peer is removed (#3350) + +### Changelog + +- Add summary & fix link & add external contributor (#3490) + +### Crypto + +- Delete unused code (#3426) + +### Mempool + +- Fix broadcastTxRoutine leak (#3478) +- Add a safety check, write tests for mempoolIDs (#3487) + +### P2p + +- Refactor GetSelectionWithBias for addressbook (#3475) + +### Rpc + +- Client disable compression (#3430) +- Support tls rpc (#3469) + +### Rpc/client + +- Include NetworkClient interface into Client interface (#3473) + +## [0.31.0] - 2019-03-19 + +### Types + +- Refactor PB2TM.ConsensusParams to take BlockTimeIota as an arg (#3442) + +## [0.31.0-rc0] - 2019-03-14 + +### Changelog + +- More review fixes/release/v0.31.0 (#3427) + +### Cmd + +- Make sure to have 'testnet' create the data directory for nonvals (#3409) + +### Cs + +- Comment out log.Error to avoid TestReactorValidatorSetChanges timing out (#3401) + +### Grpcdb + +- Close Iterator/ReverseIterator after use (#3424) + +### Localnet + +- Fix $LOG variable (#3423) + +### Types + +- Remove check for priority order of existing validators (#3407) + +## [0.30.2] - 2019-03-11 + +### Documentation + +- Fix typo (#3373) +- Fix the reverse of meaning in spec (#3387) + +### Circleci + +- Removed complexity from docs deployment job (#3396) + +### Deps + +- Update gogo/protobuf from 1.1.1 to 1.2.1 and golang/protobuf from 1.1.0 to 1.3.0 (#3357) + +### Libs/db + +- Add cleveldb.Stats() (#3379) +- Close batch (#3397) +- Close batch (#3397) + +### P2p + +- Do not panic when filter times out (#3384) + +### Types + +- Followup after validator set changes (#3301) + +## [0.31.0-dev0] - 2019-02-28 + +### Cs + +- Update wal comments (#3334) + +### P2p + +- Fix comment in secret connection (#3348) + +### Privval + +- Improve Remote Signer implementation (#3351) + +## [0.30.1] - 2019-02-20 + +### Documentation + +- Fix rpc Tx() method docs (#3331) + +### Consensus + +- Flush wal on stop (#3297) + +### Cs + +- Reset triggered timeout precommit (#3310) +- Sync WAL more frequently (#3300) + +### Cs/wal + +- Refuse to encode msg that is bigger than maxMsgSizeBytes (#3303) + +### P2p + +- Check secret conn id matches dialed id (#3321) + +### Rpc/net_info + +- Change RemoteIP type from net.IP to String (#3309) + +### Types + +- Validator set update tests (#3284) + +## [0.29.2-rc1] - 2019-02-08 + +### Secp256k1 + +- Change build tags (#3277) + +## [0.29.2-rc0] - 2019-02-08 + +### Documentation + +- Fix links (#3220) + +### R4R + +- Config TestRoot modification for LCD test (#3177) + +### WAL + +- Better errors and new fail point (#3246) + +### Addrbook_test + +- Preallocate memory for bookSizes (#3268) + +### Adr + +- Style fixes (#3206) + +### Cmn + +- GetFreePort (#3255) + +### Mempool + +- Correct args order in the log msg (#3221) + +### P2p + +- Fix infinite loop in addrbook (#3232) + +### P2p/conn + +- Don't hold stopMtx while waiting (#3254) + +### Pubsub + +- Comments +- Fixes after Ethan's review (#3212) + +### Types + +- Comments on user vs internal events + +## [0.29.1-rc0] - 2019-01-24 + +### Documentation + +- Explain how someone can run his/her own ABCI app on localnet (#3195) +- Update pubsub ADR (#3131) +- Fix lite client formatting (#3198) + +### P2p + +- File descriptor leaks (#3150) + +## [0.29.0-rc0] - 2019-01-22 + +### Mempool + +- Enforce maxMsgSize limit in CheckTx (#3168) + +## [0.29.0-beta0] - 2019-01-18 + +### Documentation + +- Fix broken link (#3142) +- Fix RPC links (#3141) + +### Json2wal + +- Increase reader's buffer size (#3147) + +## [0.28.0] - 2019-01-16 + +### Documentation + +- Update link for rpc docs (#3129) + +### Makefile + +- Fix build-docker-localnode target (#3122) + +### Privval + +- Fixes from review (#3126) + +## [0.28.0-beta1] - 2019-01-13 + +### Documentation + +- Fix p2p readme links (#3109) + +### Rpc + +- Include peer's remote IP in `/net_info` (#3052) + +## [0.28.0-dev0] - 2019-01-10 + +### R4R + +- Split immutable and mutable parts of priv_validator.json (#2870) + +### Cs + +- Prettify logging of ignored votes (#3086) + +## [0.27.4] - 2018-12-21 + +### Documentation + +- Add rpc link to docs navbar and re-org sidebar (#3041) + +### Circleci + +- Update go version (#3051) + +### Mempool + +- Move tx to back, not front (#3036) +- Move tx to back, not front (#3036) + +## [0.27.3] - 2018-12-16 + +### Crypto + +- Revert to mainline Go crypto lib (#3027) + +## [0.27.1] - 2018-12-16 + +### Documentation + +- Relative links in docs/spec/readme.md, js-amino lib (#2977) +- Fixes from 'first time' review (#2999) +- Enable full-text search (#3004) +- Add edit on Github links (#3014) +- Update DOCS_README (#3019) +- Networks/docker-compose: small fixes (#3017) + +### Circleci + +- Add a job to automatically update docs (#3005) + +### Mempool + +- Add a comment and missing changelog entry (#2996) +- NotifyTxsAvailable if there're txs left, but recheck=false (#2991) + +### P2p + +- Set MConnection#created during init (#2990) + +## [0.27.0-rc0] - 2018-12-05 + +### Documentation + +- Add client#Start/Stop to examples in RPC docs (#2939) + +### P2p + +- Panic on transport error (#2968) +- Fix peer count mismatch #2332 (#2969) + +## [0.27.0-dev1] - 2018-11-29 + +### Documentation + +- Update ecosystem.json: add Rust ABCI (#2945) + +### Types + +- ValidatorSet.Update preserves Accum (#2941) + +## [0.27.0-dev0] - 2018-11-28 + +### Documentation + +- Small improvements (#2933) +- Fix js-abci example (#2935) +- Add client.Start() to RPC WS examples (#2936) + +### R4R + +- Swap start/end in ReverseIterator (#2913) + +### Types + +- NewValidatorSet doesn't panic on empty valz list (#2938) + +## [0.26.4] - 2018-11-27 + +### Documentation + +- Prepend cp to /usr/local with sudo (#2885) + +### Mempool + +- Add txs from Update to cache + +### Node + +- Refactor privValidator ext client code & tests (#2895) + +### Rpc + +- Fix tx.height range queries (#2899) + +### Types + +- Emit tags from BeginBlock/EndBlock (#2747) + +## [0.26.3] - 2018-11-17 + +### R4R + +- Add timeouts to http servers (#2780) + +### P2p + +- Log 'Send failed' on Debug (#2857) +- NewMultiplexTransport takes an MConnConfig (#2869) + +### P2p/conn + +- FlushStop. Use in pex. Closes #2092 (#2802) + +## [0.26.2-rc0] - 2018-11-15 + +### Documentation + +- Update config: ref #2800 & #2837 + +### Optimize + +- Using parameters in func (#2845) + +### Abci + +- LocalClient improvements & bugfixes & pubsub Unsubscribe issues (#2748) + +### Arm + +- Add install script, fix Makefile (#2824) + +## [0.26.1] - 2018-11-12 + +### P2p + +- AddressBook requires addresses to have IDs; Do not close conn immediately after sending pex addrs in seed mode (#2797) +- Re-check after sleeps (#2664) + +## [0.26.1-rc1] - 2018-11-07 + +### Mempool + +- Print postCheck error (#2762) + +### P2p + +- Peer-id -> peer_id (#2771) + +## [0.26.1-rc0] - 2018-11-06 + +### Mempool + +- ErrPreCheck and more log info (#2724) + +## [0.26.0] - 2018-11-03 + +### ADR-016 + +- Add versions to Block and State (#2644) +- Add protocol Version to NodeInfo (#2654) +- Update ABCI Info method for versions (#2662) + +### Adr-016 + +- Update int64->uint64; add version to ConsensusParams (#2667) + +### Crypto + +- Use stdlib crypto/rand. ref #2099 (#2669) + +### P2p + +- Restore OriginalAddr (#2668) + +### Privval + +- Add IPCPV and fix SocketPV (#2568) + +### Tm-monitor + +- Update health after we added / removed node (#2694) + +### Types + +- Remove Version from CanonicalXxx (#2666) +- Dont use SimpleHashFromMap for header. closes #1841 (#2670) +- First field in Canonical structs is Type (#2675) + +## [0.26.0-dev0] - 2018-10-15 + +### Documentation + +- Consensus params and general merkle (#2524) + +### Testing + +- Test itr.Value in checkValuePanics (#2580) + +### Abci + +- Codespace (#2557) + +### Adr-029 + +- Update CheckBlock + +### Bit_array + +- Simplify subtraction + +### Circle + +- Save p2p logs as artifacts (#2566) + +### Clist + +- Speedup Next by removing defers (#2511) + +### Config + +- Add ValidateBasic (#2485) +- Refactor ValidateBasic (#2503) + +### Consensus + +- Wait timeout precommit before starting new round (#2493) +- Add ADR for first stage consensus refactor (#2462) +- Wait for proposal or timeout before prevote (#2540) + +### Crypto + +- Add a way to go from pubkey to route (#2574) + +### Crypto/amino + +- Address anton's comment on PubkeyAminoRoute (#2592) + +### Crypto/merkle + +- Remove byter in favor of plain byte slices (#2595) + +### Crypto/random + +- Use chacha20, add forward secrecy (#2562) + +### Distribution + +- Lock binary dependencies to specific commits (#2550) + +### Ed25519 + +- Use golang/x/crypto fork (#2558) + +### Libs + +- Handle SIGHUP explicitly inside autofile (#2480) +- Call Flush() before rename #2428 (#2439) +- Fix event concurrency flaw (#2519) +- Refactor & document events code (#2576) +- Let prefixIterator implements Iterator correctly (#2581) +- Test deadlock from listener removal inside callback (#2588) + +### Lite + +- Add synchronization in lite verify (#2396) + +### Metrics + +- Add additional metrics to p2p and consensus (#2425) + +### Node + +- Respond always to OS interrupts (#2479) + +### P2p + +- NodeInfo is an interface; General cleanup (#2556) + +### Privval + +- Switch to amino encoding in SignBytes (#2459) +- Set deadline in readMsg (#2548) + +### Rpc/core + +- Ints are strings in responses, closes #1896 + +### Rpc/libs/doc + +- Formatting for godoc, closes #2420 + +### State + +- Require block.Time of the fist block to be genesis time (#2594) + +### Tools + +- Refactor tm-bench (#2570) + +### Types + +- Remove pubkey from validator hash (#2512) +- Cap evidence in block validation (#2560) + +## [0.25.0] - 2018-09-23 + +### Documentation -- Move FROM to golang:1.4 because 1.4.2 broke -- Go-events -> tmlibs/events -- Update for 0.10.0 [ci skip]" -- Add docs from website -- Tons of minor improvements -- Add conf.py -- Test -- Add sphinx Makefile & requirements -- Consolidate ADRs -- Convert markdown to rst -- Organize the specification -- Rpc docs to be slate, see #526, #629 -- Use maxdepth 2 for spec -- Port website's intro for rtd -- Rst-ify the intro -- Fix image links -- Link fixes -- Clean a bunch of stuff up -- Logo, add readme, fixes -- Pretty-fy -- Give index a Tools section -- Update and clean up adr -- Use README.rst to be pulled from tendermint -- Re-add the images -- Add original README's from tools repo -- Convert from md to rst -- Update index.rst -- Move images in from tools repo -- Harmonize headers for tools docs -- Add kubes docs to mintnet doc, from tools -- Add original tm-bench/monitor files -- Organize tm-bench/monitor description -- Pull from tools on build -- Finish pull from tools -- Organize the directory, #656 -- Add software.json from website (ecosystem) -- Rename file -- Add and re-format the ecosystem from website -- Pull from tools' master branch -- Using ABCI-CLI -- Remove last section from ecosystem -- Organize install a bit better -- Add ABCI implementations -- Added passchain to the ecosystem.rst in the applications section; -- Fix build warnings -- Add stratumn -- Add py-tendermint to abci-servers -- Remove mention of type byte -- Add info about tm-migrate -- Update abci example details [ci skip] -- Typo -- Smaller logo (200px) -- Comb through step by step -- Fixup abci guide -- Fix links, closes #860 -- Add note about putting GOPATH/bin on PATH -- Correction, closes #910 -- Update ecosystem.rst (#1037) -- Add abci spec -- Add counter/dummy code snippets -- Updates from review (#1076) -- Tx formats: closes #1083, #536 -- Fix tx formats [ci skip] -- Update getting started [ci skip] -- Add document 'On Determinism' -- Wrong command-line flag -- The character for 1/3 fraction could not be rendered in PDF on readthedocs. (#1326) -- Update quick start guide (#1351) -- Build updates -- Add diagram, closes #1565 (#1577) -- Lil fixes -- Update install instructions, closes #1580 -- Blockchain and consensus dirs -- Fix dead links, closes #1608 -- Use absolute links (#1617) -- Update ABCI output (#1635) -- A link to quick install script -- Add BSD install script -- Start move back to md -- Cleanup/clarify build process -- Pretty fixes -- Some organizational cleanup -- DuplicateVoteEvidence -- Update abci links (#1796) -- Update js-abci example -- Minor fix for abci query peer filter -- Update address spec to sha2 for ed25519 -- Remove node* files -- Update getting started and remove old script (now in scripts/install) -- Md fixes & latest tm-bench/monitor -- Modify blockchain spec to reflect validator set changes (#2107) -- Fix links & other imrpvoements -- Note max outbound peers excludes persistent -- Fix img links, closes #2214 (#2282) -- Deprecate RTD (#2280) -- Fix indentation for genesis.validators -- Remove json tags, dont use HexBytes -- Update vote, signature, time -- Fix encoding JSON -- Bring blockchain.md up-to-date -- Specify consensus params in state.md -- Fix note about ChainID size -- Remove tags from result for now -- Move app-dev/abci-spec.md to spec/abci/abci.md -- Update spec -- Refactor ABCI docs -- Fixes and more from #2249 -- Add abci spec to config.js - Improve docs on AppHash (#2363) - Update link to rpc (#2361) - Update README (#2393) - Update secure-p2p doc to match the spec + current implementation - Add missing changelog entry and comment (#2451) - Add assets/instructions for local docs build (#2453) -- Consensus params and general merkle (#2524) -- Update config: ref #2800 & #2837 -- Prepend cp to /usr/local with sudo (#2885) -- Small improvements (#2933) -- Fix js-abci example (#2935) -- Add client.Start() to RPC WS examples (#2936) -- Update ecosystem.json: add Rust ABCI (#2945) -- Add client#Start/Stop to examples in RPC docs (#2939) -- Relative links in docs/spec/readme.md, js-amino lib (#2977) -- Fixes from 'first time' review (#2999) -- Enable full-text search (#3004) -- Add edit on Github links (#3014) -- Update DOCS_README (#3019) -- Networks/docker-compose: small fixes (#3017) -- Add rpc link to docs navbar and re-org sidebar (#3041) -- Fix p2p readme links (#3109) -- Update link for rpc docs (#3129) -- Fix broken link (#3142) -- Fix RPC links (#3141) -- Explain how someone can run his/her own ABCI app on localnet (#3195) -- Update pubsub ADR (#3131) -- Fix lite client formatting (#3198) -- Fix links (#3220) -- Fix rpc Tx() method docs (#3331) -- Fix typo (#3373) -- Fix the reverse of meaning in spec (#3387) -- Fix broken links (#3482) (#3488) -- Fix broken links (#3482) (#3488) -- Fix block.Header.Time description (#3529) -- Abci#Commit: better explain the possible deadlock (#3536) -- Fix typo in clist readme (#3574) -- Update contributing.md (#3503) -- Fix minor typo (#3681) -- Update RPC docs for /subscribe & /unsubscribe (#3705) -- Update /block_results RPC docs (#3708) -- Missing 'b' in python command (#3728) -- Fix some language issues and deprecated link (#3733) -- (rpc/broadcast_tx_*) write expectations for a client (#3749) -- Update JS section of abci-cli.md (#3747) -- Update to contributing.md (#3760) -- Add readme image (#3763) -- Remove confusing statement from contributing.md (#3764) -- Quick link fixes throughout docs and repo (#3776) -- Replace priv_validator.json with priv_validator_key.json (#3786) -- Fix consensus spec formatting (#3804) -- "Writing a built-in Tendermint Core application in Go" guide (#3608) -- Add guides to docs (#3830) -- Add a footer to guides (#3835) -- "Writing a Tendermint Core application in Kotlin (gRPC)" guide (#3838) -- "Writing a Tendermint Core application in Java (gRPC)" guide (#3887) -- Fix some typos and changelog entries (#3915) -- Switch the data in `/unconfirmed_txs` and `num_unconfirmed_txs` (#3933) -- Add dev sessions from YouTube (#3929) -- Move dev sessions into docs (#3934) -- Specify a fix for badger err on Windows (#3974) -- Remove traces of develop branch (#4022) -- Any path can be absolute or relative (#4035) -- Add previous dev sessions (#4040) -- Add ABCI Overview (2/2) dev session (#4044) -- Update fork-accountability.md (#4068) -- Add assumption to getting started with abci-cli (#4098) -- Fix build instructions (#4123) -- Add GA for docs.tendermint.com (#4149) -- Replace dead original whitepaper link (#4155) -- Update wording (#4174) -- Mention that Evidence votes are now sorted -- Fix broken links (#4186) -- Fix broken links in consensus/readme.md (#4200) -- Update ADR 43 with links to PRs (#4207) -- Add flag documentation (#4219) -- Fix broken rpc link (#4221) -- Fix broken ecosystem link (#4222) -- Add notes on architecture intro (#4175) -- Remove "0 means latest" from swagger docs (#4236) -- Update app-architecture.md (#4259) -- Link fixes in readme (#4268) -- Add link for installing Tendermint (#4307) -- Update theme version (#4315) -- Minor doc fixes (#4335) -- Update links to rpc (#4348) -- Update npm dependencies (#4364) -- Update guides proto paths (#4365) -- Update specs to remove cmn (#77) -- Fix incorrect link (#4377) -- Fix spec links (#4384) -- Update Light Client Protocol page (#4405) -- Adr-046 add bisection algorithm details (#4496) -- `tendermint node --help` dumps all supported flags (#4511) -- Write about debug kill and dump (#4516) -- Fix links (#4531) -- Validator setup & Key info (#4604) -- Add adr-55 for proto repo design (#4623) -- Amend adr-54 with changes in the sdk (#4684) -- Create adr 56: prove amnesia attack -- Mention unbonding period in MaxAgeNumBlocks/MaxAgeDuration -- State we don't support non constant time crypto -- Move tcp-window.png to imgs/ -- Document open file limit in production guide (#4945) -- Update amnesia adr (#4994) -- Update .vuepress/config.js (#5043) -- Add warning for chainid (#5072) -- Added further documentation to the subscribing to events page (#5110) -- Tweak light client documentation (#5121) -- Modify needed proto files for guides (#5123) -- EventAttribute#Index is not deterministic (#5132) -- Event hashing ADR 058 (#5134) -- Simplify choosing an ADR number (#5156) -- Add more details on Vote struct from /consensus_state (#5164) -- Document ConsensusParams (#5165) -- Document canonical field (#5166) -- Cleanup (#5252) -- Dont display duplicate (#5271) -- Rename swagger to openapi (#5263) -- Fix go tutorials (#5267) -- Versioned (#5241) -- Remove duplicate secure p2p (#5279) -- Remove interview transcript (#5282) -- Add block retention to upgrading.md (#5284) -- Updates to various sections (#5285) -- Add algolia docsearch configs (#5309) -- Add sections to abci (#150) -- Add doc on state sync configuration (#5304) -- Move subscription to tendermint-core (#5323) -- Add missing metrics (#5325) -- Add more description to initial_height (#5350) -- Make rfc section disppear (#5353) -- Document max entries for `/blockchain` RPC (#5356) -- Fix incorrect time_iota_ms configuration (#5385) -- Minor tweaks (#5404) -- Update state sync config with discovery_time (#5405) -- Add explanation of p2p configuration options (#5397) -- Specify TM version in go tutorials (#5427) -- Revise ADR 56, documenting short term decision around amnesia evidence (#5440) -- Fix links to adr 56 (#5464) -- Docs-staging → master (#5468) -- Make /master the default (#5474) -- Update url for kms repo (#5510) -- Footer cleanup (#5457) -- Remove DEV_SESSIONS list (#5579) -- Add ADR on P2P refactor scope (#5592) -- Bump vuepress-theme-cosmos (#5614) -- Make blockchain not viewable (#211) -- Add missing ADRs to README, update status of ADR 034 (#5663) -- Add P2P architecture ADR (#5637) -- Warn developers about calling blocking funcs in Receive (#5679) -- Add nodes section (#5604) -- Add version dropdown and v0.34 docs(#5762) -- Fix link (#5763) -- Use hyphens instead of snake case (#5802) -- Specify master for tutorials (#5822) -- Specify 0.34 (#5823) -- Fix broken redirect links (#5881) -- Update package-lock.json (#5928) -- Package-lock.json fix (#5948) -- Change v0.33 version (#5950) -- Bump package-lock.json of v0.34.x (#5952) -- Dont login when in PR (#5961) -- Release Linux/ARM64 image (#5925) -- Log level docs (#5945) -- Fix typo in state sync example (#5989) -- External address (#6035) -- Reword configuration (#6039) -- Change v0.33 version (#5950) -- Release Linux/ARM64 image (#5925) -- Dont login when in PR (#5961) -- Fix typo in state sync example (#5989) -- Fix proto file names (#6112) -- How to add tm version to RPC (#6151) -- Add preallocated list of security vulnerability names (#6167) -- Fix sample code (#6186) -- Fix sample code #6186 -- Bump vuepress-theme-cosmos (#6344) -- Remove RFC section and s/RFC001/ADR066 (#6345) -- Adr-65 adjustments (#6401) -- Adr cleanup (#6489) -- Hide security page (second attempt) (#6511) -- Rename tendermint-core to system (#6515) -- Logger updates (#6545) -### Fix +### Security -- Ansible playbook to deploy tendermint +- Implement PeerTransport -### GroupReader#Read +### Adr-021 -- Return io.EOF if file is empty +- Note about tag spacers (#2362) -### Makefile +### Common -- Go test --race -- Add gmt and lint -- Add 'build' target -- Add megacheck & some additional fixes -- Remove redundant lint -- Fix linter -- Parse TENDERMINT_BUILD_OPTIONS (#4738) -- Use git 2.20-compatible branch detection (#5778) -- Always pull image in proto-gen-docker. (#5953) -- Always pull image in proto-gen-docker. (#5953) +- Delete unused functions (#2452) -### Optimize +### Mempool -- Using parameters in func (#2845) +- Filter new txs if they have insufficient gas (#2385) -### P2P +### P2p -- Evidence Reactor Test Refactor (#6238) +- Integrate new Transport +- Add RPCAddress to NodeInfoOther.String() (#2442) -### Proposal +### Proxy -- New Makefile standard template (#168) +- Remove Handshaker from proxy pkg (#2437) -### PubKeyFromBytes +### Rpc -- Return zero value PubKey on error +- Transform /status result.node_info.other into map (#2417) +- Add /consensus_params endpoint (#2415) -### Query +### Spec + +- Add missing field to NodeInfoOther (#2426) + +### Tools/tm-bench + +- Bounds check for txSize and improving test cases (#2410) + +### Version + +- Types + +## [0.24.0] - 2018-09-07 + +### Documentation + +- Fix encoding JSON +- Bring blockchain.md up-to-date +- Specify consensus params in state.md +- Fix note about ChainID size +- Remove tags from result for now +- Move app-dev/abci-spec.md to spec/abci/abci.md +- Update spec +- Refactor ABCI docs +- Fixes and more from #2249 +- Add abci spec to config.js + +### Types/time + +- Add note about stripping monotonic part + +### Version + +- Add and bump abci version -- Height -> LastHeight -- LastHeight -> Height :) +## [0.24.0-rc0] - 2018-09-05 -### R4R +### Documentation -- Add timeouts to http servers (#2780) -- Swap start/end in ReverseIterator (#2913) -- Split immutable and mutable parts of priv_validator.json (#2870) -- Config TestRoot modification for LCD test (#3177) +- Fix indentation for genesis.validators +- Remove json tags, dont use HexBytes +- Update vote, signature, time -### README +### Tmtime -- Add godoc instead of tedious MD regeneration -- Document the minimum Go version -- Specify supported versions (#4660) -- Update chat link with Discord instead of Riot (#5071) -- Clean up README (#5391) -- Update link to Tendermint blog (#5713) +- Canonical, some comments (#2312) -### RFC +## [0.23.1] - 2018-08-31 -- Adopt zip 215 (#144) -- ReverseSync - fetching historical data (#224) +### Documentation -### RFC-001 +- Fix links & other imrpvoements +- Note max outbound peers excludes persistent +- Fix img links, closes #2214 (#2282) +- Deprecate RTD (#2280) -- Configurable block retention (#84) +### Abci -### RFC-002 +- Add next_validators_hash to header +- VoteInfo, ValidatorUpdate. See ADR-018 +- Move round back from votes to commit -- Non-zero genesis (#119) +### Blockchain -### RPC +- Fix register concrete name. (#2213) -- Don't cap page size in unsafe mode (#6329) +### Clist -### ResponseEndBlock +- Speedup functions (#2208) -- Ensure Address matches PubKey if provided +### Cmap -### Security +- Remove defers (#2210) -- Use bytes.Equal for key comparison -- Remove RipeMd160. -- Implement PeerTransport -- Refactor Remote signers (#3370) -- Cross-check new header with all witnesses (#4373) -- [Security] Bump websocket-extensions from 0.1.3 to 0.1.4 in /docs (#4976) -- [Security] Bump lodash from 4.17.15 to 4.17.19 in /docs -- [Security] Bump prismjs from 1.20.0 to 1.21.0 in /docs -- Bump vuepress-theme-cosmos from 1.0.169 to 1.0.172 in /docs (#5286) -- Bump google.golang.org/grpc from 1.31.0 to 1.31.1 (#5290) -- Bump github.com/golang/protobuf from 1.4.2 to 1.4.3 (#5506) -- Bump github.com/spf13/cobra from 1.0.0 to 1.1.0 (#5505) -- Bump github.com/prometheus/client_golang from 1.7.1 to 1.8.0 (#5515) -- Bump github.com/spf13/cobra from 1.1.0 to 1.1.1 (#5526) -- Bump google.golang.org/grpc from 1.33.1 to 1.33.2 (#5635) -- Bump github.com/golang/protobuf from 1.4.2 to 1.4.3 (#5506) -- Bump github.com/spf13/cobra from 1.0.0 to 1.1.0 (#5505) -- Bump github.com/prometheus/client_golang from 1.7.1 to 1.8.0 (#5515) -- Bump github.com/spf13/cobra from 1.1.0 to 1.1.1 (#5526) -- Bump google.golang.org/grpc from 1.33.1 to 1.33.2 (#5635) -- Bump vuepress-theme-cosmos from 1.0.176 to 1.0.177 in /docs (#5746) -- Bump vuepress-theme-cosmos from 1.0.177 to 1.0.178 in /docs (#5754) -- Bump github.com/prometheus/client_golang from 1.8.0 to 1.9.0 (#5807) -- Bump github.com/cosmos/iavl from 0.15.2 to 0.15.3 (#5814) -- Bump github.com/stretchr/testify from 1.6.1 to 1.7.0 (#5897) -- Bump google.golang.org/grpc from 1.34.0 to 1.35.0 (#5902) -- Bump vuepress-theme-cosmos from 1.0.179 to 1.0.180 in /docs (#5915) -- Bump github.com/stretchr/testify from 1.6.1 to 1.7.0 (#5897) -- Bump google.golang.org/grpc from 1.34.0 to 1.35.0 (#5902) -- Bump vuepress-theme-cosmos from 1.0.179 to 1.0.180 in /docs (#5915) -- Bump watchpack from 2.1.0 to 2.1.1 in /docs (#6063) -- Bump github.com/tendermint/tm-db from 0.6.3 to 0.6.4 (#6073) -- Bump github.com/tendermint/tm-db from 0.6.3 to 0.6.4 (#6073) -- Bump watchpack from 2.1.0 to 2.1.1 in /docs (#6063) -- Update 0.34.3 changelog with details on security vuln (bp #6108) (#6110) -- Bump vuepress-theme-cosmos from 1.0.180 to 1.0.181 in /docs (#6266) -- Bump github.com/minio/highwayhash from 1.0.1 to 1.0.2 (#6280) -- Bump google.golang.org/grpc from 1.36.1 to 1.37.0 (#6330) -- Bump github.com/confio/ics23/go from 0.6.3 to 0.6.6 (#6374) -- Bump github.com/grpc-ecosystem/go-grpc-middleware from 1.2.2 to 1.3.0 (#6387) -- Bump google.golang.org/grpc from 1.37.0 to 1.37.1 (#6461) -- Bump google.golang.org/grpc from 1.37.1 to 1.38.0 (#6483) -- Bump github.com/lib/pq from 1.10.1 to 1.10.2 (#6505) +### Config -### Testing +- Reduce default mempool size (#2300) -- Broadcast_tx with tmsp; p2p -- Add throughput benchmark using mintnet and netmon -- Install mintnet, netmon -- Use MACH_PREFIX -- Cleanup -- Dont run cloud test on push to master -- README.md -- Refactor bash; test fastsync (failing) -- Name client conts so we dont need to rm them because circle -- Test dummy using rpc query -- Add xxd dep to dockerfile -- More verbosity -- Add killall to dockerfile. cleanup -- Codecov -- Use glide with mintnet/netmon -- Install glide for network test -- App persistence -- Tmsp query result is json -- Increase proposal timeout -- Cleanup and fix scripts -- Crank it to eleventy -- More cleanup on p2p -- RandConsensusNet takes more args -- Crank circle timeouts -- Automate building consensus/test_data -- Circle artifacts -- Dont start cs until all peers connected -- Shorten timeouts -- Remove codecov patch threshold -- Kill and restart all nodes -- Use PROXY_APP=persistent_dummy -- Use fail-test failure indices -- More unique container names -- Set log_level=info -- Always rebuild grpc_client -- Split up test/net/test.sh -- Unexport internal function. -- Update docker to 1.7.4 -- Dont use log files on circle -- Shellcheck -- Forward CIRCLECI var through docker -- Only use syslog on circle -- More logging -- Wait for tendermint proc -- Add extra kill after fail index triggered -- Wait for ports to be freed -- Use --pex on restart -- Install abci apps first -- Fix docker and apps -- Dial_seeds -- Docker exec doesnt work on circle -- Bump sleep to 5 for bound ports release -- Better client naming -- Use unix socket for rpc -- Shellcheck -- Check err on cmd.Wait -- Test_libs all use Makefile -- Jq .result[1] -> jq .result -- P2p.seeds and p2p.pex -- Add simple client/server test with no addr prefix -- Update for abci-cli consolidation. shell formatting -- Sunset tmlibs/process.Process -- Wait for node heights before checking app hash -- Fix ensureABCIIsUp -- Fix test/app/counter_test.sh -- Longer timeout -- Add some timeouts -- Use shasum to avoid rarer dependency -- Less bash -- More smoothness -- Test itr.Value in checkValuePanics (#2580) -- Add consensus_params to testnet config generation (#3781) -- Branch for fix of ci (#4266) -- Bind test servers to 127.0.0.1 (#4322) -- Simplified txsearch cancellation test (#4500) -- Fix p2p test build breakage caused by Debian testing -- Revert Go 1.13→1.14 bump -- Use random socket names to avoid collisions (#4885) -- Mitigate test data race (#4886) -- Use github.sha in binary cache key (#5062) -- Deflake TestAddAndRemoveListenerConcurrency and TestSyncer_SyncAny (#5101) -- Protobuf vectors for reactors (#5221) -- Add end-to-end testing framework (#5435) -- Add basic end-to-end test cases (#5450) -- Add GitHub action for end-to-end tests (#5452) -- Remove P2P tests (#5453) -- Add E2E test for node peering (#5465) -- Add random testnet generator (#5479) -- Clean up E2E test volumes using a container (#5509) -- Tweak E2E tests for nightly runs (#5512) -- Enable ABCI gRPC client in E2E testnets (#5521) -- Enable blockchain v2 in E2E testnet generator (#5533) -- Enable restart/kill perturbations in E2E tests (#5537) -- Add end-to-end testing framework (#5435) -- Add basic end-to-end test cases (#5450) -- Add GitHub action for end-to-end tests (#5452) -- Remove P2P tests (#5453) -- Add E2E test for node peering (#5465) -- Add random testnet generator (#5479) -- Clean up E2E test volumes using a container (#5509) -- Tweak E2E tests for nightly runs (#5512) -- Enable ABCI gRPC client in E2E testnets (#5521) -- Enable blockchain v2 in E2E testnet generator (#5533) -- Enable restart/kill perturbations in E2E tests (#5537) -- Run remaining E2E testnets on run-multiple.sh failure (#5557) -- Tag E2E Docker resources and autoremove them (#5558) -- Add evidence e2e tests (#5488) -- Run remaining E2E testnets on run-multiple.sh failure (#5557) -- Tag E2E Docker resources and autoremove them (#5558) -- Add evidence e2e tests (#5488) -- Fix handling of start height in generated E2E testnets (#5563) -- Disable E2E misbehaviors due to bugs (#5569) -- Fix handling of start height in generated E2E testnets (#5563) -- Disable E2E misbehaviors due to bugs (#5569) -- Fix various E2E test issues (#5576) -- Fix various E2E test issues (#5576) -- Fix secp failures (#5649) -- Fix secp failures (#5649) -- Switched node keys back to edwards (#4) -- Enable v1 and v2 blockchains (#5702) -- Fix TestByzantinePrevoteEquivocation flake (#5710) -- Fix TestByzantinePrevoteEquivocation flake (#5710) -- Fix integration tests and rename binary -- Disable abci/grpc and blockchain/v2 due to flake (#5854) -- Add conceptual overview (#5857) -- Improve WaitGroup handling in Byzantine tests (#5861) -- Improve WaitGroup handling in Byzantine tests (#5861) -- Tolerate up to 2/3 missed signatures for a validator (#5878) -- Disable abci/grpc and blockchain/v2 due to flake (#5854) -- Fix TestPEXReactorRunning data race (#5955) -- Move fuzz tests into this repo (#5918) -- Fix `make test` (#5966) -- Close transports to avoid goroutine leak failures (#5982) -- Don't use foo-bar.net in TestHTTPClientMakeHTTPDialer (#5997) -- Fix TestSwitchAcceptRoutine flake by ignoring error type (#6000) -- Disable TestPEXReactorSeedModeFlushStop due to flake (#5996) -- Fix test data race in p2p.MemoryTransport with logger (#5995) -- Fix TestSwitchAcceptRoutine by ignoring spurious error (#6001) -- Fix TestRouter to take into account PeerManager reconnects (#6002) -- Fix flaky router broadcast test (#6006) -- Enable pprof server to help debugging failures (#6003) -- Increase sign/propose tolerances (#6033) -- Increase validator tolerances (#6037) -- Don't use foo-bar.net in TestHTTPClientMakeHTTPDialer (#5997) (#6047) -- Enable pprof server to help debugging failures (#6003) -- Increase sign/propose tolerances (#6033) -- Increase validator tolerances (#6037) -- Move fuzz tests into this repo (#5918) -- Fix `make test` (#5966) -- Fix TestByzantinePrevoteEquivocation (#6132) -- Fix PEX reactor test (#6188) -- Fix rpc, secret_connection and pex tests (#6190) -- Refactor mempool reactor to use new p2ptest infrastructure (#6250) -- Clean up databases in tests (#6304) -- Improve cleanup for data and disk use (#6311) -- Produce structured reporting from benchmarks (#6343) -- Create common functions for easily producing tm data structures (#6435) -- HeaderHash test vector (#6531) -- Add evidence hash testvectors (#6536) +### Crypto -### UPGRADING +- Add compact bit array for intended usage in the multisig +- Threshold multisig implementation +- Add compact bit array for intended usage in the multisig (#2140) +- Remove unnecessary prefixes from amino route variable names (#2205) -- Polish upgrading instructions for 0.34 (#5398) +### Crypto/secp256k1 -### UPGRADING.md +- Fix signature malleability, adopt more efficient en… (#2239) -- Write about the LastResultsHash change (#5000) +### Libs -### UX +- Remove usage of custom Fmt, in favor of fmt.Sprintf (#2199) -- Version configuration (#5740) +### Libs/autofile -### Update +- Bring back loops (#2261) -- JTMSP -> jABCI +### Make -### Vagrantfile +- Update protoc_abci use of awk -- Update Go version +### Makefile -### ValidatorSet#GetByAddress +- Lint flags -- Return -1 if no validator was found +### Mempool -### WAL +- Keep cache hashmap and linked list in sync (#2188) +- Store txs by hash inside of cache (#2234) -- Better errors and new fail point (#3246) +### Types -### WIP +- Allow genesis file to have 0 validators (#2148) -- Begin parallel refactoring with go-wire Write methods and MConnection -- Fix rpc/core -- More empty struct examples -- Add implementation of mock/fake http-server -- Rename package name from fakeserver to mockcoreserver -- Change the method names of call structure, Fix adding headers -- Add mock of JRPCServer implementation on top of HTTServer mock +## [0.23.0] - 2018-08-05 -### [Docs] +### ADR -- Minor doc touchups (#4171) +- Fix malleability problems in Secp256k1 signatures -### [docs +### Documentation -- Typo fix] remove misplaced "the" -- Typo fix] add missing "have" +- Modify blockchain spec to reflect validator set changes (#2107) ### Abci -- Remove old repo docs -- Remove nested .gitignore -- Remove LICENSE -- Add comment for doc update -- Remove fee (#2043) - Change validators to last_commit_info in RequestBeginBlock (#2074) - Update readme for building protoc (#2124) -- Add next_validators_hash to header -- VoteInfo, ValidatorUpdate. See ADR-018 -- Move round back from votes to commit -- Codespace (#2557) -- LocalClient improvements & bugfixes & pubsub Unsubscribe issues (#2748) -- Refactor tagging events using list of lists (#3643) -- Refactor ABCI CheckTx and DeliverTx signatures (#3735) -- Refactor CheckTx to notify of recheck (#3744) -- Minor cleanups in the socket client (#3758) -- Fix documentation regarding CheckTx type update (#3789) -- Remove TotalTxs and NumTxs from Header (#3783) -- Fix broken spec link (#4366) -- Add basic description of ABCI Commit.ResponseHeight (#85) -- Add MaxAgeNumBlocks/MaxAgeDuration to EvidenceParams (#87) -- Update MaxAgeNumBlocks & MaxAgeDuration docs (#88) -- Fix protobuf lint issues -- Regenerate proto files -- Remove protoreplace script -- Remove python examples -- Proto files follow same path (#5039) -- Add AppVersion to ConsensusParams (#106) -- Tweak node sync estimate (#115) -- Fix abci evidence types (#5174) -- Add ResponseInitChain.app_hash, check and record it (#5227) -- Add ResponseInitChain.app_hash (#140) -- Update evidence (#5324) -- Fix socket client error for state sync responses (#5395) -- Remove setOption (#5447) -- Lastcommitinfo.round extra sentence (#221) -- Add abci_version to requestInfo (#223) -- Modify Client interface and socket client (#5673) -- Use protoio for length delimitation (#5818) -- Rewrite to proto interface (#237) -- Fix ReCheckTx for Socket Client (bp #6124) (#6125) -- Note on concurrency (#258) -- Change client to use multi-reader mutexes (#6306) -- Reorder sidebar (#282) -### Abci-cli +### Adr + +- Encoding for cryptography at launch (#2121) +- Protocol versioning +- Chain-versions + +### Adr-018 + +- Abci validators + +### Ci + +- Reduce log output in test_cover (#2105) + +### Consensus + +- Fix test for blocks with evidence +- Failing test for ProposerAddress + +### Crypto + +- Add compact bit array for intended usage in the multisig +- Remove interface from crypto.Signature + +### Libs + +- Make bitarray functions lock parameters that aren't the caller (#2081) + +### Libs/autofile/group_test + +- Remove unnecessary logging (#2100) + +### Libs/cmn + +- Remove Tempfile, Tempdir, switch to ioutil variants (#2114) + +### Libs/cmn/writefileatomic + +- Handle file already exists gracefully (#2113) + +### Libs/common + +- Refactor tempfile code into its own file + +### P2p + +- Connect to peers from a seed node immediately (#2115) +- Add test vectors for deriving secrets (#2120) + +### P2p/pex + +- Allow configured seed nodes to not be resolvable over DNS (#2129) +- Fix mismatch between dialseeds and checkseeds. (#2151) + +### Types + +- Fix formatting when printing signatures + +## [0.22.8-rc0] - 2018-07-27 + +### Adr + +- PeerTransport (#2069) + +### Libs + +- Update BitArray go docs (#2079) + +## [0.22.7] - 2018-07-26 + +### .github + +- Split the issue template into two seperate templates (#2073) + +### Security + +- Remove RipeMd160. + +### Crypto + +- Add benchmarking code for signature schemes (#2061) +- Switch hkdfchacha back to xchacha (#2058) + +### Makefile + +- Add `make check_dep` and remove `make ensure_deps` (#2055) + +### P2p/secret_connection + +- Switch salsa usage to hkdf + chacha + +### Rpc + +- Improve slate for Jenkins (#2070) + +## [0.22.6] - 2018-07-25 + +### Github + +- Update PR template to indicate changing pending changelog. (#2059) + +### Rpc + +- Log error when we timeout getting validators from consensus (#2045) + +## [0.22.6-rc0] - 2018-07-25 + +### Abci + +- Remove fee (#2043) + +### Consensus + +- Include evidence in proposed block parts. fixes #2050 + +### Dep + +- Revert updates + +### P2p + +- Reject addrs coming from private peers (#2032) +- Fix conn leak. part of #2046 + +### Rpc + +- Fix /blockchain OOM #2049 +- Validate height in abci_query + +### Tools + +- Clean up Makefile and remove LICENSE file (#2042) + +## [0.22.5] - 2018-07-24 + +### WIP + +- More empty struct examples + +### Common/rand + +- Remove exponential distribution functions (#1979) + +### Config + +- 10x default send/recv rate (#1978) + +### Crypto + +- Refactor to move files out of the top level directory +- Remove Ed25519 and Secp256k1 suffix on GenPrivKey +- Fix package imports from the refactor + +### Crypto/ed25519 + +- Update the godocs (#2002) +- Remove privkey.Generate method (#2022) + +### Crypto/secp256k1 + +- Add godocs, remove indirection in privkeys (#2017) + +### Libs/common/rand + +- Update godocs + +### Makefile + +- Fix protoc_libs + +### Mempool -- Print OK if code is 0 -- Prefix flag variables with flag +- Chan bool -> chan struct{} -### Abci/client +### Rpc -- Fix DATA RACE in gRPC client (#3798) +- Test Validator retrevial timeout -### Abci/example/kvstore +### Tools -- Decrease val power by 1 upon equivocation (#5056) +- Remove redundant grep -v vendors/ (#1996) -### Abci/examples +## [0.22.4-rc0] - 2018-07-14 -- Switch from hex to base64 pubkey in kvstore (#3641) +### Consensus -### Abci/grpc +- Wait on stop if not fastsync -- Return async responses in order (#5520) -- Return async responses in order (#5520) (#5531) -- Fix ordering of sync/async callback combinations (#5556) -- Fix ordering of sync/async callback combinations (#5556) -- Fix invalid mutex handling in StopForError() (#5849) -- Fix invalid mutex handling in StopForError() (#5849) +### Tools/tm-bench -### Abci/kvstore +- Don't count the first block if its empty +- Remove testing flags from help (#1949) +- Don't count the first block if its empty (#1948) -- Return `LastBlockHeight` and `LastBlockAppHash` in `Info` (#4233) +### Tools/tmbench -### Abci/server +- Fix the end time being used for statistics calculation +- Improve accuracy with large tx sizes. +- Move statistics to a seperate file -- Recover from app panics in socket server (#3809) -- Print panic & stack trace to STDERR if logger is not set +## [0.22.3] - 2018-07-10 -### Abci/types +### Dep -- Update comment (#3612) -- Add comment for TotalVotingPower (#5081) +- Pin all deps to version or commit -### Absent_validators +## [0.22.1] - 2018-07-10 -- Repeated int -> repeated bytes +### Documentation -### Addrbook +- Md fixes & latest tm-bench/monitor -- Toggle strict routability +### Rpc/lib/server -### Addrbook_test +- Add test for int parsing -- Preallocate memory for bookSizes (#3268) +### State -### Adr +- Err if 0 power validator is added to the validator set +- Format panics -- Add 005 consensus params -- Update 007 trust metric usage -- Amend decisions for PrivValidator -- Update readme -- PeerTransport (#2069) -- Encoding for cryptography at launch (#2121) -- Protocol versioning -- Chain-versions -- Style fixes (#3206) -- Peer Behaviour (#3539) -- PeerBehaviour updates (#3558) -- [43] blockchain riri-org (#3753) -- ADR-052: Tendermint Mode (#4302) -- ADR-051: Double Signing Risk Reduction (#4262) -- Light client implementation (#4397) -- Crypto encoding for proto (#4481) -- Add API stability ADR (#5341) -- Privval gRPC (#5712) -- Batch verification (#6008) -- ADR 065: Custom Event Indexing (#6307) +## [0.22.0-autodraft] - 2018-07-04 -### Adr#50 +### Documentation -- Improve trusted peering (#4072) +- Remove node* files +- Update getting started and remove old script (now in scripts/install) -### Adr-009 +## [0.22.0-rc2] - 2018-07-02 -- No pubkeys in beginblock -- Add references +### P2p -### Adr-016 +- External address -- Update int64->uint64; add version to ConsensusParams (#2667) +### Tmbench -### Adr-018 +- Make it more resilient to WSConn breaking (#111) -- Abci validators +## [0.22.0-rc1] - 2018-07-01 -### Adr-021 +### Consensus -- Note about tag spacers (#2362) +- Stop wal -### Adr-029 +## [0.22.0-rc0] - 2018-07-01 -- Update CheckBlock +### Documentation -### Adr-047 +- Minor fix for abci query peer filter +- Update address spec to sha2 for ed25519 -- Evidence handling (#4429) +### Config -### Adr-053 +- Rename skip_upnp to upnp (#1827) -- Update after state sync merge (#4768) +### Crypto -### All +- Abstract pubkey / signature size when known to constants (#1808) -- No more anonymous imports -- Fix vet issues with build tags, formatting -- Gofmt (#1743) -- Name reactors when they are initialized (#4608) +### Tmbench -### Ansible +- Make sendloop act in one second segments (#110) -- Update tendermint and basecoin versions -- Added option to provide accounts for genesis generation, terraform: added option to secure DigitalOcean servers, devops: added DNS name creation to tendermint terraform +## [0.21.1-rc1] - 2018-06-27 -### Appveyor +### Documentation -- Use make +- Update abci links (#1796) +- Update js-abci example -### Arm +### Abci -- Add install script, fix Makefile (#2824) +- Remove old repo docs +- Remove nested .gitignore +- Remove LICENSE +- Add comment for doc update -### Autofile +### Adr -- Ensure file is open in Sync -- Resolve relative paths (#4390) +- Update readme -### Backports +### Adr-009 -- Mergify (#6107) +- No pubkeys in beginblock +- Add references -### Batch +### Ci -- Progress +- Setup abci in dependency step +- Move over abci-cli tests -### Behaviour +### Consensus -- Return correct reason in MessageOutOfOrder (#3772) -- Add simple doc.go (#5055) +- Fix addProposalBlockPart -### Binary +### Crypto -- Prevent runaway alloc +- Rename last traces of go-crypto (#1786) -### Bit_array +### Crypto/hkdfchachapoly -- Simplify subtraction +- Add testing seal to the test vector -### Block +### Mempool -- Use commit sig size instead of vote size (#5490) -- Fix max commit sig size (#5567) -- Fix max commit sig size (#5567) +- Log hashes, not whole tx -### Block/state +### P2p/trust -- Add CallTx type -- Gas price for block and tx +- Fix nil pointer error on TrustMetric Copy() (#1819) -### Blockchain +### Rpc -- Use ApplyBlock -- Thread safe store.Height() -- Explain isCaughtUp logic -- Fixing reactor tests -- Add comment in AddPeer. closes #666 -- Add tests and more docs for BlockStore -- Update store comments -- Updated store docs/comments from review -- Deduplicate store header value tests -- Less fragile and involved tests for blockstore -- Block creator helper for compressing tests as per @ebuchman -- Note about store tests needing simplification ... -- Test fixes -- Update for new state -- Test wip for hard to test functionality [ci skip] -- Fix register concrete name. (#2213) -- Update the maxHeight when a peer is removed (#3350) -- Comment out logger in test code that causes a race condition (#3500) -- Dismiss request channel delay (#3459) -- Reorg reactor (#3561) -- Add v2 reactor (#4361) -- Enable v2 to be set (#4597) -- Change validator set sorting method (#91) -- Proto migration (#4969) -- Test vectors for proto encoding (#5073) -- Rename to core (#123) -- Remove duplicate evidence sections (#124) -- Fix fast sync halt with initial height > 1 (#5249) -- Verify +2/3 (#5278) -- Remove duplication of validate basic (#5418) +- Break up long lines -### Blockchain/pool +### Tm-bench -- Some comments and small changes +- Improve code shape +- Update dependencies, add total metrics -### Blockchain/reactor +### Tmbench -- RespondWithNoResponseMessage for missing height +- Fix iterating through the blocks, update readme +- Make tx size configurable +- Update dependencies to use tendermint's master -### Blockchain/store +## [0.20.1-rc0] - 2018-06-19 -- Comment about panics +### Documentation -### Blockchain/v0 +- Some organizational cleanup +- DuplicateVoteEvidence -- Relax termination conditions and increase sync timeout (#5741) -- Stop tickers on poolRoutine exit (#5860) -- Stop tickers on poolRoutine exit (#5860) +### Consensus -### Blockchain/v1 +- Fixes #1754 -- Add noBlockResponse handling (#5401) -- Add noBlockResponse handling (#5401) -- Handle peers without blocks (#5701) -- Fix deadlock (#5711) -- Remove in favor of v2 (#5728) -- Omit incoming message bytes from log +### Mempool -### Blockchain/v2 +- Fix cache_size==0. closes #1761 -- Allow setting nil switch, for CustomReactors() -- Don't broadcast base if height is 0 -- Fix excessive CPU usage due to spinning on closed channels (#4761) -- Respect fast_sync option (#4772) -- Integrate with state sync -- Correctly set block store base in status responses (#4971) -- Fix "panic: duplicate block enqueued by processor" (#5499) -- Fix panic: processed height X+1 but expected height X (#5530) -- Fix "panic: duplicate block enqueued by processor" (#5499) -- Fix panic: processed height X+1 but expected height X (#5530) -- Make the removal of an already removed peer a noop (#5553) -- Make the removal of an already removed peer a noop (#5553) -- Remove peers from the processor (#5607) -- Remove peers from the processor (#5607) -- Send status request when new peer joins (#5774) -- Fix missing mutex unlock (#5862) -- Fix missing mutex unlock (#5862) -- Internalize behavior package (#6094) +## [0.21.0-rc0] - 2018-06-15 -### Blockchain[v1] +### Bech32 -- Increased timeout times for peer tests (#4871) +- Wrap error messages -### Blockpool +### Docs -- Fix removePeer bug +- Update description of seeds and persistent peers -### Blockstore +### Documentation -- Allow initial SaveBlock() at any height -- Fix race conditions when loading data (#5382) -- Save only the last seen commit (#6212) +- Start move back to md +- Cleanup/clarify build process +- Pretty fixes -### Buf +### All -- Modify buf.yml, add buf generate (#5653) +- Gofmt (#1743) -### Build +## [0.20.0] - 2018-06-07 -- Bump github.com/tendermint/tm-db from 0.1.1 to 0.2.0 (#4001) -- Bump github.com/gogo/protobuf from 1.3.0 to 1.3.1 (#4055) -- Bump github.com/spf13/viper from 1.4.0 to 1.5.0 (#4102) -- Bump github.com/spf13/viper from 1.5.0 to 1.6.1 (#4224) -- Bump github.com/pkg/errors from 0.9.0 to 0.9.1 (#4310) -- Bump google.golang.org/grpc from 1.26.0 to 1.27.0 (#4355) -- Bump github.com/stretchr/testify from 1.5.0 to 1.5.1 (#4441) -- Bump github.com/spf13/cobra from 0.0.3 to 0.0.6 (#4440) -- Bump github.com/golang/protobuf from 1.3.3 to 1.3.4 (#4485) -- Bump github.com/prometheus/client_golang (#4525) -- Bump github.com/Workiva/go-datastructures (#4545) -- Bump google.golang.org/grpc from 1.27.1 to 1.28.0 (#4551) -- Bump github.com/tendermint/tm-db from 0.4.1 to 0.5.0 (#4554) -- Bump github.com/golang/protobuf from 1.3.4 to 1.3.5 (#4563) -- Bump github.com/prometheus/client_golang (#4574) -- Bump github.com/gorilla/websocket from 1.4.1 to 1.4.2 (#4584) -- Bump github.com/spf13/cobra from 0.0.6 to 0.0.7 (#4612) -- Bump github.com/tendermint/tm-db from 0.5.0 to 0.5.1 (#4613) -- Bump google.golang.org/grpc from 1.28.0 to 1.28.1 (#4653) -- Bump github.com/spf13/viper from 1.6.2 to 1.6.3 (#4664) -- Bump @vuepress/plugin-google-analytics in /docs (#4692) -- Bump google.golang.org/grpc from 1.28.1 to 1.29.0 -- Bump google.golang.org/grpc from 1.29.0 to 1.29.1 (#4735) -- Manually bump github.com/prometheus/client_golang from 1.5.1 to 1.6.0 (#4758) -- Bump github.com/golang/protobuf from 1.4.0 to 1.4.1 (#4794) -- Bump vuepress-theme-cosmos from 1.0.163 to 1.0.164 in /docs (#4815) -- Bump github.com/spf13/viper from 1.6.3 to 1.7.0 (#4814) -- Bump github.com/golang/protobuf from 1.4.1 to 1.4.2 (#4849) -- Bump vuepress-theme-cosmos from 1.0.164 to 1.0.165 in /docs -- Bump github.com/stretchr/testify from 1.5.1 to 1.6.0 -- Bump vuepress-theme-cosmos from 1.0.165 to 1.0.166 in /docs (#4920) -- Bump github.com/stretchr/testify from 1.6.0 to 1.6.1 -- Bump github.com/prometheus/client_golang from 1.6.0 to 1.7.0 (#5027) -- Bump google.golang.org/grpc from 1.29.1 to 1.30.0 -- Bump github.com/prometheus/client_golang -- Bump vuepress-theme-cosmos from 1.0.168 to 1.0.169 in /docs -- Bump google.golang.org/grpc from 1.30.0 to 1.31.0 -- Bump github.com/spf13/viper from 1.7.0 to 1.7.1 -- Bump golangci/golangci-lint-action from v2.1.0 to v2.2.0 (#5245) -- Bump actions/cache from v1 to v2.1.0 (#5244) -- Bump codecov/codecov-action from v1.0.7 to v1.0.12 (#5247) -- Bump technote-space/get-diff-action from v1 to v3 (#5246) -- Bump gaurav-nelson/github-action-markdown-link-check from 0.6.0 to 1.0.5 (#5248) -- Bump codecov/codecov-action from v1.0.12 to v1.0.13 (#5258) -- Bump gaurav-nelson/github-action-markdown-link-check from 1.0.5 to 1.0.6 (#5265) -- Bump gaurav-nelson/github-action-markdown-link-check from 1.0.6 to 1.0.7 (#5269) -- Bump actions/cache from v2.1.0 to v2.1.1 (#5268) -- Bump gaurav-nelson/github-action-markdown-link-check from 0.6.0 to 1.0.7 (#149) -- Bump github.com/tendermint/tm-db from 0.6.1 to 0.6.2 (#5296) -- Bump google.golang.org/grpc from 1.31.1 to 1.32.0 (#5346) -- Bump github.com/minio/highwayhash from 1.0.0 to 1.0.1 (#5370) -- Bump vuepress-theme-cosmos from 1.0.172 to 1.0.173 in /docs (#5390) -- Bump watchpack from 1.7.4 to 2.0.0 in /docs (#5470) -- Bump actions/cache from v2.1.1 to v2.1.2 (#5487) -- Bump golangci/golangci-lint-action from v2.2.0 to v2.2.1 (#5486) -- Bump technote-space/get-diff-action from v3 to v4 (#5485) -- Bump codecov/codecov-action from v1.0.13 to v1.0.14 (#5525) -- Bump gaurav-nelson/github-action-markdown-link-check from 1.0.7 to 1.0.8 (#5543) -- Bump gaurav-nelson/github-action-markdown-link-check from 1.0.7 to 1.0.8 (#188) -- Bump google.golang.org/grpc from 1.32.0 to 1.33.1 (#5544) -- Bump actions/cache from v2.1.1 to v2.1.2 (#5487) -- Bump golangci/golangci-lint-action from v2.2.0 to v2.2.1 (#5486) -- Bump technote-space/get-diff-action from v3 to v4 (#5485) -- Bump golangci/golangci-lint-action from v2.2.1 to v2.3.0 (#5571) -- Bump codecov/codecov-action from v1.0.13 to v1.0.14 (#5582) -- Bump watchpack from 2.0.0 to 2.0.1 in /docs (#5605) -- Bump actions/cache from v2.1.2 to v2.1.3 (#5633) -- Bump github.com/tendermint/tm-db from 0.6.2 to 0.6.3 -- Bump rtCamp/action-slack-notify from e9db0ef to 2.1.1 -- Bump google.golang.org/grpc from 1.32.0 to 1.33.1 (#5544) -- Bump github.com/tendermint/tm-db from 0.6.2 to 0.6.3 -- Bump codecov/codecov-action from v1.0.14 to v1.0.15 (#5676) -- Bump github.com/cosmos/iavl from 0.15.0-rc5 to 0.15.0 (#5708) -- Bump vuepress-theme-cosmos from 1.0.175 to 1.0.176 in /docs (#5727) -- Refactor BLS library/bindings integration (#9) -- BLS scripts - Improve build.sh, Fix install.sh (#10) -- Dashify some files (#11) -- Fix docker image and docker.yml workflow (#12) -- Fix coverage.yml, bump go version, install BLS, drop an invalid character (#19) -- Fix test.yml, bump go version, install BLS, fix job names (#18) -- Bump google.golang.org/grpc from 1.33.2 to 1.34.0 (#5737) -- Bump gaurav-nelson/github-action-markdown-link-check (#22) -- Bump codecov/codecov-action from v1.0.13 to v1.0.15 (#23) -- Bump golangci/golangci-lint-action from v2.2.1 to v2.3.0 (#24) -- Bump rtCamp/action-slack-notify from e9db0ef to 2.1.1 (#25) -- Bump google.golang.org/grpc from 1.33.2 to 1.34.0 (#26) -- Bump vuepress-theme-cosmos from 1.0.173 to 1.0.177 in /docs (#27) -- Bump watchpack from 2.0.1 to 2.1.0 in /docs (#5768) -- Bump rtCamp/action-slack-notify from ecc1353ce30ef086ce3fc3d1ea9ac2e32e150402 to 2.1.2 (#5767) -- Bump vuepress-theme-cosmos from 1.0.178 to 1.0.179 in /docs (#5780) -- Bump gaurav-nelson/github-action-markdown-link-check from 1.0.8 to 1.0.9 (#5779) -- Bump gaurav-nelson/github-action-markdown-link-check (#5787) -- Bump gaurav-nelson/github-action-markdown-link-check (#5793) -- Bump gaurav-nelson/github-action-markdown-link-check (#233) -- Bump github.com/cosmos/iavl from 0.15.0 to 0.15.2 -- Bump codecov/codecov-action from v1.0.15 to v1.1.1 (#5825) -- Bump codecov/codecov-action from v1.1.1 to v1.2.0 (#5863) -- Bump codecov/codecov-action from v1.2.0 to v1.2.1 -- Bump gaurav-nelson/github-action-markdown-link-check (#239) -- Bump gaurav-nelson/github-action-markdown-link-check (#5884) -- Bump actions/cache from v2.1.3 to v2.1.4 (#6055) -- Bump JamesIves/github-pages-deploy-action (#6062) -- Bump actions/cache from v2.1.3 to v2.1.4 (#6055) -- Bump github.com/spf13/cobra from 1.1.1 to 1.1.2 (#6075) -- Bump github.com/spf13/cobra from 1.1.2 to 1.1.3 (#6098) -- Bump golangci/golangci-lint-action from v2.3.0 to v2.4.0 (#6111) -- Bump golangci/golangci-lint-action from v2.4.0 to v2.5.1 (#6175) -- Bump google.golang.org/grpc from 1.35.0 to 1.36.0 (#6180) -- Bump JamesIves/github-pages-deploy-action from 4.0.0 to 4.1.0 (#6215) -- Bump rtCamp/action-slack-notify from ae4223259071871559b6e9d08b24a63d71b3f0c0 to 2.1.3 (#6234) -- Bump codecov/codecov-action from v1.2.1 to v1.2.2 (#6231) -- Bump codecov/codecov-action from v1.2.2 to v1.3.1 (#6247) -- Bump github.com/golang/protobuf from 1.4.3 to 1.5.1 (#6254) -- Bump github.com/prometheus/client_golang (#6258) -- Bump google.golang.org/grpc from 1.36.0 to 1.36.1 (#6281) -- Bump github.com/golang/protobuf from 1.5.1 to 1.5.2 (#6299) -- Bump github.com/Workiva/go-datastructures (#6298) -- Bump golangci/golangci-lint-action from v2.5.1 to v2.5.2 (#6317) -- Bump codecov/codecov-action from v1.3.1 to v1.3.2 (#6319) -- Bump JamesIves/github-pages-deploy-action (#6316) -- Bump docker/setup-buildx-action from v1 to v1.1.2 (#6324) -- Bump google.golang.org/grpc from 1.36.1 to 1.37.0 (bp #6330) (#6335) -- Bump styfle/cancel-workflow-action from 0.8.0 to 0.9.0 (#6341) -- Bump actions/cache from v2.1.4 to v2.1.5 (#6350) -- Bump codecov/codecov-action from v1.3.2 to v1.4.0 (#6365) -- Bump codecov/codecov-action from v1.4.0 to v1.4.1 (#6379) -- Bump docker/setup-buildx-action from v1.1.2 to v1.2.0 (#6391) -- Bump docker/setup-buildx-action from v1.2.0 to v1.3.0 (#6413) -- Bump codecov/codecov-action from v1.4.1 to v1.5.0 (#6417) -- Bump github.com/cosmos/iavl from 0.15.3 to 0.16.0 (#6421) -- Bump JamesIves/github-pages-deploy-action (#6448) -- Bump docker/build-push-action from 2 to 2.4.0 (#6454) -- Bump actions/stale from 3 to 3.0.18 (#6455) -- Bump actions/checkout from 2 to 2.3.4 (#6456) -- Bump docker/login-action from 1 to 1.9.0 (#6460) -- Bump actions/stale from 3.0.18 to 3.0.19 (#6477) -- Bump actions/stale from 3 to 3.0.18 (#300) -- Bump watchpack from 2.1.1 to 2.2.0 in /docs (#6482) -- Bump actions/stale from 3.0.18 to 3.0.19 (#302) -- Bump browserslist from 4.16.4 to 4.16.6 in /docs (#6487) -- Bump docker/build-push-action from 2.4.0 to 2.5.0 (#6496) -- Bump dns-packet from 1.3.1 to 1.3.4 in /docs (#6500) -- Bump actions/cache from 2.1.5 to 2.1.6 (#6504) -- Bump rtCamp/action-slack-notify from 2.1.3 to 2.2.0 (#6543) -- Bump github.com/prometheus/client_golang (#6552) +### Documentation -### Certifiers +- Add BSD install script -- Test uses WaitForHeight +### ResponseEndBlock -### Changelog +- Ensure Address matches PubKey if provided -- Add prehistory -- Add genesis amount->power -- More review fixes/release/v0.31.0 (#3427) -- Add summary & fix link & add external contributor (#3490) -- Add v0.31.9 and v0.31.8 updates (#4034) -- Fix typo (#4106) -- Explain breaking changes better -- GotVoteFromUnwantedRoundError -> ErrGotVoteFromUnwantedRound -- Add 0.32.9 changelog to master (#4305) -- Add entries from secruity releases -- Update 0.33.6 (#5075) -- Note breaking change in the 0.33.6 release (#5077) -- Reorgranize (#5065) -- Move entries from pending (#5172) -- Bump to 0.34.0-rc2 (#5176) -- Add v0.33.7 release (#5203) -- Add v0.32.13 release (#5204) -- Update for 0.34.0-rc3 (#5240) -- Add v0.33.8 from release (#5242) -- Minor tweaks (#5389) -- Add missing date to v0.33.5 release, fix indentation (#5454) -- Add missing date to v0.33.5 release, fix indentation (#5454) (#5455) -- Prepare changelog for RC5 (#5494) -- Squash changelog from 0.34 RCs into one (#5691) -- Squash changelog from 0.34 RCs into one (#5687) -- Add entry back (#5738) -- Update changelog for v0.34.1 (#5872) -- Update with changes released in 0.34.1 (#5875) -- Prepare 0.34.2 release (#5894) -- Update changelogs to reflect changes released in 0.34.2 -- Update for 0.34.3 (#5926) -- Update changelog for v0.34.3 (#5927) -- Update for v0.34.4 (#6096) -- Improve with suggestions from @melekes (#6097) -- Update to reflect v0.34.4 release (#6105) -- Update 0.34.3 changelog with details on security vuln (#6108) -- Update for 0.34.5 (#6129) -- Bump to v0.34.6 -- Fix changelog pending version numbering (#6149) -- Update with changes from 0.34.7 (and failed 0.34.5, 0.34.6) (#6150) -- Update for 0.34.8 (#6181) -- Update for 0.34.8 (#6183) -- Prepare changelog for 0.34.9 release (#6333) -- Update to reflect 0.34.9 (#6334) -- Update for 0.34.10 (#6357) -- Update for 0.34.10 (#6358) +## [0.19.9-rc0] - 2018-06-06 -### Ci +### Evidence -- Setup abci in dependency step -- Move over abci-cli tests -- Reduce log output in test_cover (#2105) -- Transition some ci to github actions -- Only run when applicable (#4752) -- Check git diff on each job (#4770) -- Checkout code before git diff check (#4779) -- Add paths -- Bump the timeout for test_coverage (#4864) -- Migrate localnet to github actions (#4878) -- Add timeouts (#4912) -- Migrate test_cover (#4869) -- Fix spacing of if statement (#5015) -- Try to fix codecov (#5095) -- Only run tests when go files are touched (#5097) -- Version linter fix (#5128) -- Freeze golangci action version (#5196) -- Fix net pipeline (#5272) -- Delay codecov notification (#5275) -- Add markdown linter (#146) -- Add dependabot config (#148) -- Fix net run (#5343) -- Docker remvoe circleci and add github action (#5420) -- Docker remove circleci and add github action (#5551) -- Add goreleaser (#5527) -- Tests (#5577) -- Add goreleaser (#5527) -- Tests (#5577) -- Use gh pages (#5609) -- Remove `add-path` (#5674) -- Remove `add-path` (#5674) -- Remove circle (#5714) -- Build for 32 bit, libs: fix overflow (#5700) -- Build for 32 bit, libs: fix overflow (#5700) -- Install BLS library in lint.yml and bump its go version (#15) -- E2e fixes - docker image, e2e.yml BLS library, default KeyType (#21) -- Make timeout-minutes 8 for golangci (#5821) -- Run `goreleaser build` (#5824) -- Add janitor (#6292) +- Dont send evidence to unsynced peers +- Check peerstate exists; dont send old evidence +- Give each peer a go-routine -### Ci/e2e +### State -- Avoid running job when no go files are touched (#5471) -- Avoid running job when no go files are touched (#5471) +- S -> state +- B -> block + +## [0.19.8] - 2018-06-04 + +### Documentation + +- A link to quick install script + +### Scripts + +- Quickest/easiest fresh install + +## [0.19.7-rc0] - 2018-05-31 + +### Merkle + +- Remove unused funcs. unexport simplemap. improv docs +- Use amino for byteslice encoding + +## [0.19.6-rc2] - 2018-05-29 + +### Documentation + +- Fix dead links, closes #1608 +- Use absolute links (#1617) +- Update ABCI output (#1635) ### Circle -- Docker 1.10.0 -- Add metalinter to test -- Fix config.yml - Add GOCACHE=off and -v to tests -- Save p2p logs as artifacts (#2566) -### Circleci +### Consensus -- Add a job to automatically update docs (#3005) -- Update go version (#3051) -- Removed complexity from docs deployment job (#3396) -- Run P2P IPv4 and IPv6 tests in parallel (#4459) -- Fix reproducible builds test (#4497) -- Remove Gitian reproducible_builds job (#5462) -- Remove Gitian reproducible_builds job (#5462) +- Link to spec from readme (#1609) -### Cleanup +### Tmhash -- Replace common.Exit with log.Crit or log.Fatal +- Add Sum function -### Cli +## [0.19.5-rc1] - 2018-05-20 -- Testnet cmd inits files for testnet -- ResetAll doesnt depend on cobra -- Support --root and --home -- More descriptive naming -- Viper.Set(HomeFlag, rootDir) -- Clean up error handling -- Use cobra's new ExactArgs() feature -- WriteDemoConfig -> WriteConfigVals -- Add option to not clear address book with unsafe reset (#3606) -- Add `--cs.create_empty_blocks_interval` flag (#4205) -- Add `--db_backend` and `--db_dir` flags to tendermint node cmd (#4235) -- Add optional `--genesis_hash` flag to check genesis hash upon startup (#4238) -- Debug sub-command (#4227) -- Add command to generate shell completion scripts (#4665) -- Light home dir should default to where the full node default is (#5392) -- Light home dir should default to where the full node default is (#5392) +### Consensus -### Client +- Only fsync wal after internal msgs -- ResultsCh chan json.RawMessage, ErrorsCh -- Wsc.String() -- Safe error handling -- Use vars for retry intervals +## [0.19.5-rc0] - 2018-05-20 -### Clist +### Documentation -- Reduce numTimes in test -- Speedup functions (#2208) -- Speedup Next by removing defers (#2511) +- Lil fixes +- Update install instructions, closes #1580 +- Blockchain and consensus dirs -### Cmap +### Testing -- Remove defers (#2210) +- Less bash +- More smoothness -### Cmd +### Networks -- Fixes for new config -- Query params are flags -- --consensus.no_empty_blocks -- Don't load config for version command. closes #620 -- Dont wait for genesis. closes #562 -- Make sure to have 'testnet' create the data directory for nonvals (#3409) -- Show useful error when tm not initialised (#4512) -- Fix debug kill and change debug dump archive filename format (#4517) -- Add support for --key (#5612) -- Modify `gen_node_key` to print key to STDOUT (#5772) -- Hyphen case cli and config (#5777) -- Hyphen-case cli v0.34.1 (#5786) -- Ignore missing wal in debug kill command (#6160) +- Update readmes -### Cmd/abci-cli +## [0.19.4-rc0] - 2018-05-17 -- Use a single connection per session -- Implement batch +### Documentation -### Cmd/debug +- Add diagram, closes #1565 (#1577) -- Execute p.Signal only when p is not nil (#4271) +### Circle -### Cmd/lite +- Fix config.yml -- Switch to new lite2 package (#4300) +### P2p -### Cmd/tendermint +- Prevent connections from same ip -- Fix initialization file creation checks (#991) +### Spec -### Cmd/tendermint/commands +- Move to final location (#1576) -- Update ParseConfig doc +## [0.19.3] - 2018-05-15 -### Cmd/tendermint/commands/lite +### Absent_validators -- Add tcp scheme to address URLs (#1297) +- Repeated int -> repeated bytes -### Cmn +## [0.19.3-rc0] - 2018-05-14 -- Kill -- Fix race condition in prng -- Fix repeate timer test with manual ticker -- Fix race -- Fix HexBytes.MarshalJSON -- GetFreePort (#3255) +### Grpcdb -### Codecov +- Better readability for docs and constructor names -- Disable annotations (#5413) -- Validate codecov.yml (#5699) +### Remotedb -### Codeowners +- A client package implementing the db.DB interface -- Add code owners (#82) +### Rpc -### Commands +- Add voting power totals to vote bitarrays +- /consensus_state for simplified output -- Run -> RunE +## [0.19.2-rc0] - 2018-04-30 -### Common +### Node -- ProtocolAndAddress -- Fingerprint comment -- WriteFileAtomic use tempfile in current dir -- Comments for Service -- No more relying on math/rand.DefaultSource -- Use names prng and mrand -- Use genius simplification of tests from @ebuchman -- Rand* warnings about cryptographic unsafety -- Fix BitArray.Update to avoid nil dereference -- BitArray: feedback from @adrianbrink to simplify tests -- IsHex should be able to handle 0X prefixed strings -- NewBitArray never crashes on negatives (#170) -- Remove {Left, Right}PadString (#168) -- NewBitArray never crashes on negatives (#170) -- Delete unused functions (#2452) -- CMap: slight optimization in Keys() and Values(). (#3567) +- Remove dup code from rebase +- Remove commented out trustMetric -### Common/BitArray +### P2p -- Reduce fragility with methods +- Dont require minor versions to match in handshake +- Explicit netaddress errors +- Some comments and a log line +- MinNumOutboundPeers. Closes #1501 +- Change some logs from Error to Debug. #1476 +- Small lint -### Common/IsDirEmpty +### P2p/pex -- Do not mask non-existance errors +- Minor cleanup and comments +- Some addrbook fixes -### Common/rand +### Rpc -- Remove exponential distribution functions (#1979) +- Add n_peers to /net_info -### Config +### Spec -- Hardcode default genesis.json -- Block size, consensus timeouts, recheck tx -- Cswal_light, mempool_broadcast, mempool_reap -- Toggle authenticated encryption -- Disable_data_hash (for testing) -- All urls use tcp:// or unix:// prefix -- Filter_peers defaults to false -- Reduce timeouts during test -- Pex_reactor -> pex -- Write all default options to config file -- Lil fixes -- Unexpose chainID -- Fix addrbook path to go in config -- Fix private_peer_ids -- Rename skip_upnp to upnp (#1827) -- 10x default send/recv rate (#1978) -- Reduce default mempool size (#2300) -- Add ValidateBasic (#2485) -- Refactor ValidateBasic (#2503) -- Make possible to set absolute paths for TLS cert and key (#3765) -- Move max_msg_bytes into mempool section (#3869) -- Add rocksdb as a db backend option (#4239) -- Allow fastsync.version = v2 (#4639) -- Trust period consistency (#5297) -- Rename prof_laddr to pprof_laddr and move it to rpc (#5315) -- Set time_iota_ms to timeout_commit in test genesis (#5386) -- Add state sync discovery_time setting (#5399) -- Set statesync.rpc_servers when generating config file (#5433) -- Set statesync.rpc_servers when generating config file (#5433) (#5438) -- Increase MaxPacketMsgPayloadSize to 1400 -- Fix mispellings (#5914) -- Fix mispellings (#5914) -- Create `BootstrapPeers` p2p config parameter (#6372) -- Add private peer id /net_info expose information in default config (#6490) -- Seperate priv validator config into seperate section (#6462) +- Pex update +- Abci notes. closes #1257 + +## [0.19.1] - 2018-04-28 + +### P2p + +- NodeInfo.Channels is HexBytes + +### Rpc + +- Lower_case peer_round_states, use a list, add the node_address +- Docs/comments + +### Spec + +- Update encoding.md +- Note on byte arrays, clean up bitarrays and more, add merkle proof, add crypto.go script +- Add Address spec. notes about Query + +## [0.19.0-rc3] - 2018-04-09 + +### P2p + +- Switch - reconnect only if persistent +- Don't use dial funcn in peerconfig + +### Types + +- Lock block on MakePartSet + +## [0.18.0-autodraft] - 2018-04-06 + +### Documentation + +- Build updates + +### ValidatorSet#GetByAddress + +- Return -1 if no validator was found -### Config/indexer +### WIP -- Custom event indexing (#6411) +- Fix rpc/core ### Consensus -- Broadcast evidence tx on ErrVoteConflictingSignature -- Check both vote orderings for dupeout txs -- Fix negative timeout; log levels -- Msg saving and replay -- Replay console -- Use replay log to avoid sign regression -- Don't wait for wal if conS not running -- Dont allow peer round states to decrease -- Cswal doesnt write any consensus msgs in light mode -- Fix more races in tests -- Fix race from OnStop accessing cs.Height -- T.Fatal -> panic -- Hvs.Reset(height, valSet) -- Increase mempool_test timeout -- Don't print shared vars in cs.String() -- Add note about replay test -- No sign err in replay; fix a race -- Hvs.StringIndented needed a lock. addresses #284 -- Test reactor -- Fix panic on POLRound=-1 -- Ensure dir for cswal on reactor tests -- Lock before loading commit -- Track index of privVal -- Test validator set change -- Wal.Flush() and cleanup replay tests -- TimeoutTicker, skip TimeoutCommit on HasAll -- Mv timeoutRoutine into TimeoutTicker -- No internal vars in reactor.String() -- Sync wal.writeHeight -- Remove crankTimeoutPropose from tests -- Be more explicit when we need to write height after handshake -- Let time.Timer handle non-positive durations -- Check HasAll when TwoThirdsMajority -- Nice error msg if ApplyBlock fails -- Handshake replay test using wal -- More handshake replay tests -- Some more informative logging -- Timeout on replayLastBlock -- Comment about test_data [ci skip] -- Fix tests -- Improve logging for conflicting votes -- Better logging -- More comments -- IsProposer func -- Remove rs from handleMsg -- Log ProposalHeartbeat msg -- Test proposal heartbeat -- Recover panics in receive routine -- Remove support for replay by #HEIGHT. closes #567 -- Use filepath for windows compatibility, closes #595 -- Kill process on app error -- Ensure prs.ProposalBlockParts is initialized. fixes #810 -- Fix for initializing block parts during catchup -- Make mempool_test deterministic -- Fix LastCommit log -- Crank timeout in timeoutWaitGroup -- Fix typo on ticker.go documentation -- Fix makeBlockchainFromWAL -- Remove log stmt. closes #987 -- Note about duplicate evidence -- Rename test funcs -- Minor cosmetic -- Fix SetLogger in tests -- Print go routines in failed test -- Return from go-routine in test -- Return from errors sooner in addVote - Close pubsub channels. fixes #1372 -- Only fsync wal after internal msgs -- Link to spec from readme (#1609) -- Fixes #1754 -- Fix addProposalBlockPart -- Stop wal -- Wait on stop if not fastsync -- Include evidence in proposed block parts. fixes #2050 -- Fix test for blocks with evidence -- Failing test for ProposerAddress -- Wait timeout precommit before starting new round (#2493) -- Add ADR for first stage consensus refactor (#2462) -- Wait for proposal or timeout before prevote (#2540) -- Flush wal on stop (#3297) -- Reduce "Error attempting to add vote" message severity (Er… (#3871) -- Reduce log severity for ErrVoteNonDeterministicSignature (#4431) -- Add comment as to why use mocks during replay (#4785) -- Fix TestSimulateValidatorsChange -- Fix and rename TestStateLockPOLRelock (#4796) -- Bring back log.Error statement (#4899) -- Increase ensureTimeout (#4891) -- Fix startnextheightcorrectly test (#4938) -- Attempt to repair the WAL file on data corruption (#4682) -- Change logging and handling of height mismatch (#4954) -- Stricter on LastCommitRound check (#4970) -- Proto migration (#4984) -- Do not allow signatures for a wrong block in commits -- Msg testvectors (#5076) -- Added byzantine test, modified previous test (#5150) -- Only call privValidator.GetPubKey once per block (#5143) -- Don't check InitChain app hash vs genesis app hash, replace it (#5237) -- Double-sign risk reduction (ADR-51) (#5147) -- Fix wrong proposer schedule for `InitChain` validators (#5329) -- Check block parts don't exceed maximum block bytes (#5431) -- Check block parts don't exceed maximum block bytes (#5436) -- Open target WAL as read/write during autorepair (#5536) -- Open target WAL as read/write during autorepair (#5536) (#5547) -- Fix flaky tests (#5734) -- Change log level to error when adding vote -- Deprecate time iota ms (#5792) -- Groom Logs (#5917) -- P2p refactor (#5969) -- Groom Logs (#5917) -- Remove privValidator from log call (#6128) -- More log grooming (#6140) -- Log private validator address and not struct (#6144) -- More log grooming (bp #6140) (#6143) -- Reduce shared state in tests (#6313) -- Add test vector for hasvote (#6469) -### Consensus/WAL +### Https -- Benchmark WALDecode across data sizes +- //github.com/tendermint/tendermint/pull/1128#discussion_r162799294 -### Consensus/replay +### P2p -- Remove timeout +- Persistent - redial if first dial fails -### Consensus/types +## [0.17.1] - 2018-03-27 -- Fix BenchmarkRoundStateDeepCopy panics (#4244) +### Types -### Consensus/wal +- Fix genesis.AppStateJSON -- #HEIGHT -> #ENDHEIGHT +## [0.17.0] - 2018-03-27 -### Console +### Documentation -- Fix output, closes #93 -- Fix tests +- Add document 'On Determinism' +- Wrong command-line flag +- The character for 1/3 fraction could not be rendered in PDF on readthedocs. (#1326) +- Update quick start guide (#1351) -### Contributing +### Adr -- Use full version from site -- Add steps for adding and removing rc branches (#5223) -- Include instructions for a release candidate (#5498) -- Simplify our minor release process (#5749) +- Amend decisions for PrivValidator -### Core +### Cmd/tendermint/commands/lite -- Apply megacheck vet tool (unused, gosimple, staticcheck) -- Update a few sections (#284) +- Add tcp scheme to address URLs (#1297) -### Counter +### Common -- Fix tx buffer overflow +- NewBitArray never crashes on negatives (#170) +- Remove {Left, Right}PadString (#168) +- NewBitArray never crashes on negatives (#170) -### Cov +### Config -- Ignore autogen file (#5033) +- Fix private_peer_ids -### Crypto +### Consensus -- Rename last traces of go-crypto (#1786) -- Abstract pubkey / signature size when known to constants (#1808) -- Refactor to move files out of the top level directory -- Remove Ed25519 and Secp256k1 suffix on GenPrivKey -- Fix package imports from the refactor -- Add benchmarking code for signature schemes (#2061) -- Switch hkdfchacha back to xchacha (#2058) -- Add compact bit array for intended usage in the multisig -- Remove interface from crypto.Signature -- Add compact bit array for intended usage in the multisig -- Threshold multisig implementation -- Add compact bit array for intended usage in the multisig (#2140) -- Remove unnecessary prefixes from amino route variable names (#2205) -- Add a way to go from pubkey to route (#2574) -- Use stdlib crypto/rand. ref #2099 (#2669) -- Revert to mainline Go crypto lib (#3027) -- Delete unused code (#3426) -- Proof of Concept for iterative version of SimpleHashFromByteSlices (#2611) (#3530) -- Add sr25519 signature scheme (#4190) -- Fix sr25519 from raw import (#4272) -- Remove SimpleHashFromMap() and SimpleProofsFromMap() -- Remove key suffixes (#4941) -- Removal of multisig (#4988) -- Consistent api across keys (#5214) -- API modifications (#5236) -- Remove secp256k1 (#5280) -- Remove proto privatekey (#5301) -- Reword readme (#5349) -- Add in secp256k1 support (#5500) -- Add in secp256k1 support (#5500) -- Adopt zip215 ed25519 verification (#5632) -- Fix infinite recursion in Secp256k1 string formatting (#5707) -- Fix infinite recursion in Secp256k1 string formatting (#5707) (#5709) -- Ed25519 & sr25519 batch verification (#6120) -- Add sr25519 as a validator key (#6376) +- Return from go-routine in test +- Return from errors sooner in addVote -### Crypto/amino +### Lite/proxy -- Address anton's comment on PubkeyAminoRoute (#2592) -- Add function to modify key codec (#4112) +- Validation* tests and hardening for nil dereferences +- Consolidate some common test headers into a variable -### Crypto/ed25519 +### P2p -- Update the godocs (#2002) -- Remove privkey.Generate method (#2022) +- Introduce peerConn to simplify peer creation (#1226) +- Keep reference to connections in test peer -### Crypto/hkdfchachapoly +### PrivVal -- Add testing seal to the test vector +- Improve SocketClient network code (#1315) -### Crypto/merkle +### State -- Remove byter in favor of plain byte slices (#2595) -- Remove simple prefix (#4989) -- Pre-allocate data slice in innherHash (#6443) -- Optimize merkle tree hashing (#6513) +- Builds +- Fix txResult issue with UnmarshalBinary into ptr -### Crypto/random +### Types -- Use chacha20, add forward secrecy (#2562) +- Update for new go-wire. WriteSignBytes -> SignBytes +- Remove dep on p2p +- Tests build +- Builds +- Revert to old wire. builds +- Working on tests... +- P2pID -> P2PID +- Fix validator_set_test issue with UnmarshalBinary into ptr +- Bring back json.Marshal/Unmarshal for genesis/priv_val +- TestValidatorSetVerifyCommit +- Uncomment some tests +- Hash invoked for nil Data and Header should not panic +- Compile time assert to, and document sort.Interface +- Revert CheckTx/DeliverTx changes. make them the same -### Crypto/secp256k1 +### Types/validator_set_test -- Add godocs, remove indirection in privkeys (#2017) -- Fix signature malleability, adopt more efficient en… (#2239) +- Move funcs around -### Crypto|p2p|state|types +### Wire + +- No codec yet + +## [0.16.0] - 2018-02-21 + +### Documentation + +- Update ecosystem.rst (#1037) +- Add abci spec +- Add counter/dummy code snippets +- Updates from review (#1076) +- Tx formats: closes #1083, #536 +- Fix tx formats [ci skip] +- Update getting started [ci skip] -- Rename Pub/PrivKey's TypeIdentifier() and Type() +### Testing -### Cs +- Use shasum to avoid rarer dependency -- Prettify logging of ignored votes (#3086) -- Reset triggered timeout precommit (#3310) -- Sync WAL more frequently (#3300) -- Update wal comments (#3334) -- Comment out log.Error to avoid TestReactorValidatorSetChanges timing out (#3401) -- Fix nondeterministic tests (#3582) -- Exit if SwitchToConsensus fails (#3706) -- Check for SkipTimeoutCommit or wait timeout in handleTxsAvailable (#3928) -- Don't panic when block is not found in store (#4163) -- Clarify where 24 comes from in maxMsgSizeBytes (wal.go) -- Set missing_validators(_power) metrics to 0 for 1st block (#4194) -- Check if cs.privValidator is nil (#4295) +### Blockchain -### Cs/replay +- Test wip for hard to test functionality [ci skip] -- Check appHash for each block (#3579) -- ExecCommitBlock should not read from state.lastValidators (#3067) +### Cli -### Cs/wal +- WriteDemoConfig -> WriteConfigVals -- Refuse to encode msg that is bigger than maxMsgSizeBytes (#3303) +### Cmn -### Cswal +- Fix HexBytes.MarshalJSON -- Write #HEIGHT:1 for empty wal +### Common -### Daemon +- Fix BitArray.Update to avoid nil dereference +- BitArray: feedback from @adrianbrink to simplify tests +- IsHex should be able to handle 0X prefixed strings -- Refactor out of cmd into own package +### Common/BitArray -### Db +- Reduce fragility with methods -- Add Close() to db interface. closes #31 -- Fix memdb iterator -- Fix MemDB.Close -- Sort keys for memdb iterator -- Some comments in types.go -- Test panic on nil key -- Some test cleanup -- Fixes to fsdb and clevledb -- Memdb iterator -- Goleveldb iterator -- Cleveldb iterator -- Fsdb iterator -- Fix c and go iterators -- Simplify exists check, fix IsKeyInDomain signature, Iterator Close -- Add support for badgerdb (#5233) -- Migration script for key format change (#6355) +### Config -### Dep +- Fix addrbook path to go in config -- Pin all deps to version or commit -- Revert updates -- Update tm-db to 0.4.0 (#4289) -- Bump gokit dep (#4424) -- Maunally bump dep (#4436) -- Bump protobuf, cobra, btcutil & std lib deps (#4676) -- Bump ed25519consensus version (#5760) -- Remove IAVL dependency (#6550) +### Consensus -### Deps +- Rename test funcs +- Minor cosmetic +- Fix SetLogger in tests +- Print go routines in failed test -- Update gogo/protobuf from 1.1.1 to 1.2.1 and golang/protobuf from 1.1.0 to 1.3.0 (#3357) -- Update gogo/protobuf version from v1.2.1 to v1.3.0 (#3947) -- Bump github.com/magiconair/properties from 1.8.0 to 1.8.1 (#3937) -- Bump github.com/rs/cors from 1.6.0 to 1.7.0 (#3939) -- Bump github.com/fortytw2/leaktest from 1.2.0 to 1.3.0 (#3943) -- Bump github.com/libp2p/go-buffer-pool from 0.0.1 to 0.0.2 (#3948) -- Bump google.golang.org/grpc from 1.22.0 to 1.23.0 (#3942) -- Bump github.com/gorilla/websocket from 1.2.0 to 1.4.1 (#3945) -- Bump viper to 1.4.0 and logfmt to 0.4.0 (#3950) -- Bump github.com/stretchr/testify from 1.3.0 to 1.4.0 (#3951) -- Bump github.com/go-kit/kit from 0.6.0 to 0.9.0 (#3952) -- Bump google.golang.org/grpc from 1.23.0 to 1.23.1 (#3982) -- Bump google.golang.org/grpc from 1.23.1 to 1.24.0 (#4021) -- Bump google.golang.org/grpc from 1.25.0 to 1.25.1 (#4127) -- Bump google.golang.org/grpc from 1.25.1 to 1.26.0 (#4264) -- Bump github.com/go-logfmt/logfmt from 0.4.0 to 0.5.0 (#4282) -- Bump github.com/pkg/errors from 0.8.1 to 0.9.0 (#4301) -- Bump github.com/spf13/viper from 1.6.1 to 1.6.2 (#4318) -- Bump github.com/golang/protobuf from 1.3.2 to 1.3.3 (#4359) -- Bump google.golang.org/grpc from 1.27.0 to 1.27.1 (#4372) -- Bump github.com/stretchr/testify from 1.4.0 to 1.5.0 (#4435) -- Bump github.com/tendermint/tm-db from 0.4.0 to 0.4.1 (#4476) -- Bump github.com/Workiva/go-datastructures (#4519) -- Bump deps that bot cant (#4555) -- Run go mod tidy (#4587) -- Bump tm-db to 0.6.0 (#5058) +### Example/dummy -### Dist +- Remove iavl dep - just use raw db -- Dont mkdir in container -- Dont mkdir in container +### Hd -### Distribution +- Comments and some cleanup -- Lock binary dependencies to specific commits (#2550) +### Keys/keybase.go -### Dummy +- Comments and fixes -- Valset changes and tests -- Verify pubkey is go-crypto encoded in DeliverTx. closes #51 -- Include app.key tag +### Lite -### E2e +- MemStoreProvider GetHeightBinarySearch method + fix ValKeys.signHeaders +- < len(v) in for loop check, as per @melekes' recommendation +- TestCacheGetsBestHeight with GetByHeight and GetByHeightBinarySearch +- Comment out iavl code - TODO #1183 -- Use ed25519 for secretConn (remote signer) (#5678) -- Use ed25519 for secretConn (remote signer) (#5678) -- Releases nightly (#5906) -- Add control over the log level of nodes (#5958) -- Releases nightly (#5906) -- Disconnect maverick (#6099) -- Adjust timeouts to be dynamic to size of network (#6202) -- Add benchmarking functionality (#6210) -- Integrate light clients (#6196) -- Add benchmarking functionality (bp #6210) (#6216) -- Fix light client generator (#6236) -- Integrate light clients (bp #6196) -- Fix perturbation of seed nodes (#6272) -- Add evidence generation and testing (#6276) -- Tx load to use broadcast sync instead of commit (#6347) -- Tx load to use broadcast sync instead of commit (backport #6347) (#6352) -- Relax timeouts (#6356) -- Split out nightly tests (#6395) -- Prevent non-viable testnets (#6486) +### Mempool -### Ebuchman +- Cfg.CacheSize and expose InitWAL -- Added some demos on how to parse unknown types +### Merkle -### Ed25519 +- Remove go-wire dep by copying EncodeByteSlice -- Use golang/x/crypto fork (#2558) +### Nano -### Encoding +- Update comments -- Remove codecs (#4996) -- Add secp, ref zip215, tables (#212) +### P2p -### Errcheck +- PrivKey need not be Ed25519 +- Reorder some checks in addPeer; add comments to NodeInfo +- Peer.Key -> peer.ID +- Add ID to NetAddress and use for AddrBook +- Support addr format ID@IP:PORT +- Authenticate peer ID +- Remove deprecated Dockerfile +- Seed mode fixes from rebase and review +- Seed disconnects after sending addrs +- Add back lost func +- Use sub dirs +- Tmconn->conn and types->p2p +- Use conn.Close when peer is nil +- Notes about ListenAddr +- AddrBook.Save() on DialPeersAsync +- Add Channels to NodeInfo and don't send for unknown channels +- Fix tests for required channels +- Fix break in double loop -- PR comment fixes +### P2p/conn -### Events +- Better handling for some stop conditions -- Integrate event switch into services via Eventable interface -- Add block_id to NewBlockEvent (#6478) +### P2p/pex -### Evidence +- Wait to connect to all peers in reactor test -- More funcs in store.go -- Store tests and fixes -- Pool test -- Reactor test -- Reactor test -- Dont send evidence to unsynced peers -- Check peerstate exists; dont send old evidence -- Give each peer a go-routine -- Enforce ordering in DuplicateVoteEvidence (#4151) -- Introduce time.Duration to evidence params (#4254) -- Add time to evidence params (#69) -- Both MaxAgeDuration and MaxAgeNumBlocks need to be surpassed (#4667) -- Handling evidence from light client(s) (#4532) -- Remove unused param (#4726) -- Remove pubkey from duplicate vote evidence -- Add doc.go -- Protect valToLastHeight w/ mtx -- Check evidence is pending before validating evidence -- Refactor evidence mocks throughout packages (#4787) -- Cap evidence to an absolute number (#4780) -- Create proof of lock change and implement it in evidence store (#4746) -- Prevent proposer from proposing duplicate pieces of evidence (#4839) -- Remove header from phantom evidence (#4892) -- Retrieve header at height of evidence for validation (#4870) -- Json tags for DuplicateVoteEvidence (#4959) -- Migrate reactor to proto (#4949) -- Adr56 form amnesia evidence (#4821) -- Improve amnesia evidence handling (#5003) -- Replace mock evidence with mocked duplicate vote evidence (#5036) -- Fix data race in Pool.updateValToLastHeight() (#5100) -- Check lunatic vote matches header (#5093) -- New evidence event subscription (#5108) -- Minor correction to potential amnesia ev validate basic (#5151) -- Remove phantom validator evidence (#5181) -- Don't stop evidence verification if an evidence fails (#5189) -- Fix usage of time field in abci evidence (#5201) -- Change evidence time to block time (#5219) -- Remove validator index verification (#5225) -- Modularise evidence by moving verification function into evidence package (#5234) -- Remove ConflictingHeaders type (#5317) -- Remove lunatic (#5318) -- Remove amnesia & POLC (#5319) -- Introduction of LightClientAttackEvidence and refactor of evidence lifecycle (#5361) -- Update data structures (#165) -- Use bytes instead of quantity to limit size (#5449) -- Use bytes instead of quantity to limit size (#5449)(#5476) -- Don't gossip consensus evidence too soon (#5528) -- Don't send committed evidence and ignore inbound evidence that is already committed (#5574) -- Don't gossip consensus evidence too soon (#5528) -- Don't send committed evidence and ignore inbound evidence that is already committed (#5574) -- Structs can independently form abci evidence (#5610) -- Structs can independently form abci evidence (#5610) -- Update data structures to reflect added support of abci evidence (#213) -- Omit bytes field (#5745) -- Omit bytes field (#5745) -- P2p refactor (#5747) -- Buffer evidence from consensus (#5890) -- Buffer evidence from consensus (#5890) -- Terminate broadcastEvidenceRoutine when peer is stopped (#6068) -- Fix bug with hashes (#6375) -- Fix bug with hashes (backport #6375) (#6381) -- Separate abci specific validation (#6473) +### P2p/trustmetric -### Example +- Non-deterministic test -- Fix func suffix +### Priv-val -### Example/dummy +- Fix timestamp for signing things that only differ by timestamp -- Remove iavl dep - just use raw db +### Spec -### Example/kvstore +- Convert to rst +- Typos & other fixes +- Remove notes, see #1152 +- More fixes +- Minor fixes -- Return ABCI query height (#4509) +### Types -### Fmt +- Check bufio.Reader +- TxEventBuffer.Flush now uses capacity preserving slice clearing idiom +- RequestInitChain.AppStateBytes -- Run 'make fmt' +### Types/priv_validator -### Format +- Fixes for latest p2p and cmn -- Add format cmd & goimport repo (#4586) +### Wip -### Genesis +- Priv val via sockets +- Comment types +- Fix code block in ADR +- Fix nil pointer deference +- Avoid underscore in var name +- Check error of wire read -- Add support for arbitrary initial height (#5191) -- Explain fields in genesis file (#270) +## [0.15.0] - 2017-12-29 -### Github +### CRandHex -- Update PR template to indicate changing pending changelog. (#2059) -- Edit templates for use in issues and pull requests (#4483) -- Rename e2e jobs (#5502) -- Add nightly E2E testnet action (#5480) -- Add nightly E2E testnet action (#5480) -- Rename e2e jobs (#5502) -- Only notify nightly E2E failures once (#5559) -- Only notify nightly E2E failures once (#5559) -- Issue template for proposals (#190) -- Add @tychoish to code owners (#6273) -- Fix linter configuration errors and occluded errors (#6400) +- Fix up doc to mention length of digits -### Gitian +### Proposal -- Update reproducible builds to build with Go 1.12.8 (#3902) +- New Makefile standard template (#168) -### Gitignore +### README -- Add .vendor-new (#3566) +- Document the minimum Go version -### Glide +### Testing -- Update go-common -- Update lock and add util scripts -- Update go-common -- Update go-wire -- Use versions where applicable -- Update for autofile fix -- More external deps locked to versions -- Update grpc version +- Longer timeout +- Add some timeouts -### Go.mod +### All -- Upgrade iavl and deps (#5657) -- Upgrade iavl and deps (#5657) +- Fix vet issues with build tags, formatting -### Goreleaser +### Batch -- Lowercase binary name (#5765) -- Downcase archive and binary names (#6029) -- Downcase archive and binary names (#6029) -- Reintroduce arm64 build instructions +- Progress -### Grpcdb +### Blockchain -- Better readability for docs and constructor names -- Close Iterator/ReverseIterator after use (#3424) +- Test fixes +- Update for new state -### Hd +### Cmd/abci-cli -- Optimize ReverseBytes + add tests -- Comments and some cleanup +- Use a single connection per session +- Implement batch -### Header +### Cmd/tendermint -- Check block protocol (#5340) +- Fix initialization file creation checks (#991) -### Http +### Cmn -- Http-utils added after extraction +- Fix race condition in prng +- Fix repeate timer test with manual ticker +- Fix race -### Https +### Common -- //github.com/tendermint/tendermint/pull/1128#discussion_r162799294 +- No more relying on math/rand.DefaultSource +- Use names prng and mrand +- Use genius simplification of tests from @ebuchman +- Rand* warnings about cryptographic unsafety -### Improvement +### Config -- Update TxInfo (#6529) +- Write all default options to config file +- Lil fixes +- Unexpose chainID -### Indexer +### Consensus -- Allow indexing an event at runtime (#4466) -- Remove index filtering (#5006) -- Remove info log (#6194) -- Remove info log (#6194) +- Fix makeBlockchainFromWAL +- Remove log stmt. closes #987 +- Note about duplicate evidence -### Ints +### Db -- Stricter numbers (#4939) +- Some comments in types.go +- Test panic on nil key +- Some test cleanup +- Fixes to fsdb and clevledb +- Memdb iterator +- Goleveldb iterator +- Cleveldb iterator +- Fsdb iterator +- Fix c and go iterators +- Simplify exists check, fix IsKeyInDomain signature, Iterator Close -### Json +### Evidence -- Add Amino-compatible encoder/decoder (#4955) +- More funcs in store.go +- Store tests and fixes +- Pool test +- Reactor test +- Reactor test -### Json2wal +### Mempool -- Increase reader's buffer size (#3147) +- Remove Peer interface. use p2p.Peer -### Jsonrpc +### P2p/trust -- Change log to debug (#5131) +- Remove extra channels -### Keys +### Protoc -- Transactions.go -> types.go -- Change to []bytes (#4950) +- "//nolint: gas" directive after pb generation (#164) -### Keys/keybase.go +### Rpc -- Comments and fixes +- GetHeight helper function +- Fix getHeight -### Layout +### Spec -- Add section titles (#240) +- Fixes from review -### Libs +### State -- Update BitArray go docs (#2079) -- Make bitarray functions lock parameters that aren't the caller (#2081) -- Remove usage of custom Fmt, in favor of fmt.Sprintf (#2199) -- Handle SIGHUP explicitly inside autofile (#2480) -- Call Flush() before rename #2428 (#2439) -- Fix event concurrency flaw (#2519) -- Refactor & document events code (#2576) -- Let prefixIterator implements Iterator correctly (#2581) -- Test deadlock from listener removal inside callback (#2588) -- Remove useless code in group (#3504) -- Remove commented and unneeded code (#3757) -- Minor cleanup (#3794) -- Remove db from tendermint in favor of tendermint/tm-cmn (#3811) -- Remove bech32 -- Remove kv (#4874) -- Wrap mutexes for build flag with godeadlock (#5126) -- Remove most of libs/rand (#6364) -- Internalize some packages (#6366) +- TestValidateBlock +- Move methods to funcs +- BlockExecutor +- Re-order funcs. fix tests +- Send byzantine validators in BeginBlock -### Libs/autofile +### Types -- Bring back loops (#2261) +- Compile type assertions to avoid sneaky runtime surprises +- Check ResponseCheckTx too +- Update String() test to assert Prevote type +- Rename exampleVote to examplePrecommit on vote_test +- Add test for IsVoteTypeValid +- Params.Update() +- Comments; compiles; evidence test +- Evidences for merkle hashing; Evidence.String() +- Tx.go comments +- Evidence cleanup +- Better error messages for votes -### Libs/autofile/group_test +### Types/params -- Remove unnecessary logging (#2100) +- Introduce EvidenceParams -### Libs/bits +### Wip -- Inline defer and change order of mutexes (#5187) -- Validate BitArray in FromProto (#5720) +- Tendermint specification -### Libs/clist +## [0.14.0] - 2017-12-12 -- Fix flaky tests (#6453) +### Adr -### Libs/cmn +- Update 007 trust metric usage -- Remove Tempfile, Tempdir, switch to ioutil variants (#2114) +### Appveyor -### Libs/cmn/writefileatomic +- Use make -- Handle file already exists gracefully (#2113) +### Blockchain -### Libs/common +- Add tests and more docs for BlockStore +- Update store comments +- Updated store docs/comments from review +- Deduplicate store header value tests +- Less fragile and involved tests for blockstore +- Block creator helper for compressing tests as per @ebuchman +- Note about store tests needing simplification ... -- Refactor tempfile code into its own file -- Remove deprecated PanicXXX functions (#3595) -- Remove heap.go (#3780) -- Remove unused functions (#3784) -- Refactor libs/common 01 (#4230) -- Refactor libs/common 2 (#4231) -- Refactor libs common 3 (#4232) -- Refactor libs/common 4 (#4237) -- Refactor libs/common 5 (#4240) +### Consensus -### Libs/common/rand +- Fix typo on ticker.go documentation -- Update godocs +### Linter -### Libs/db +- Enable in CI & make deterministic -- Add cleveldb.Stats() (#3379) -- Close batch (#3397) -- Close batch (#3397) -- Bbolt (etcd's fork of bolt) (#3610) -- Close boltDBIterator (#3627) -- Fix boltdb batching -- Conditional compilation (#3628) -- Boltdb: use slice instead of sync.Map (#3633) -- Remove deprecated `LevelDBBackend` const (#3632) -- Fix the BoltDB Batch.Delete -- Fix the BoltDB Get and Iterator +### P2p -### Libs/fail +- Exponential backoff on reconnect. closes #939 -- Clean up `fail.go` (#3785) +## [0.13.0] - 2017-12-06 -### Libs/kv +### Documentation -- Remove unused type KI64Pair (#4542) +- Add note about putting GOPATH/bin on PATH +- Correction, closes #910 -### Libs/log +### Testing -- Format []byte as hexidecimal string (uppercased) (#5960) -- Format []byte as hexidecimal string (uppercased) (#5960) -- [JSON format] include timestamp (#6174) -- [JSON format] include timestamp (bp #6174) (#6179) -- Use fmt.Fprintf directly with *bytes.Buffer to avoid unnecessary allocations (#6503) +- Sunset tmlibs/process.Process +- Wait for node heights before checking app hash +- Fix ensureABCIIsUp +- Fix test/app/counter_test.sh -### Libs/os +### Abci-cli -- Add test case for TrapSignal (#5646) -- Remove unused aliases, add test cases (#5654) -- EnsureDir now returns IO errors and checks file type (#5852) -- EnsureDir now returns IO errors and checks file type (#5852) -- Avoid CopyFile truncating destination before checking if regular file (#6428) -- Avoid CopyFile truncating destination before checking if regular file (backport: #6428) (#6436) +- Print OK if code is 0 +- Prefix flag variables with flag -### Libs/pubsub +### Client -- Relax tx querying (#4070) +- Use vars for retry intervals -### Libs/pubsub/query +### Common -- Add EXISTS operator (#4077) +- Comments for Service -### Libs/rand +### Dummy -- Fix "out-of-memory" error on unexpected argument (#5215) +- Include app.key tag -### Light +### Glide -- Rename lite2 to light & remove lite (#4946) -- Implement validate basic (#4916) -- Migrate to proto (#4964) -- Added more tests for pruning, initialization and bisection (#4978) -- Fix rpc calls: /block_results & /validators (#5104) -- Use bisection (not VerifyCommitTrusting) when verifying a head… (#5119) -- Return if target header is invalid (#5124) -- Update ADR 47 with light traces (#5250) -- Implement light block (#5298) -- Move dropout handling and invalid data to the provider (#5308) -- Expand on errors and docs (#5443) -- Cross-check the very first header (#5429) -- Cross-check the very first header (#5429) -- Model-based tests (#5461) -- Run detector for sequentially validating light client (#5538) -- Run detector for sequentially validating light client (#5538) (#5601) -- Make fraction parts uint64, ensuring that it is always positive (#5655) -- Make fraction parts uint64, ensuring that it is always positive (#5655) -- Ensure required header fields are present for verification (#5677) -- Minor fixes / standardising errors (#5716) -- Fix light store deadlock (#5901) -- Fix panic with RPC calls to commit and validator when height is nil (#6026) -- Fix panic with RPC calls to commit and validator when height is nil (#6040) -- Remove max retry attempts from client and add to provider (#6054) -- Remove witnesses in order of decreasing index (#6065) -- Create provider options struct (#6064) -- Improve timeout functionality (#6145) -- Improve provider handling (#6053) -- Handle too high errors correctly (#6346) -- Handle too high errors correctly (backport #6346) (#6351) -- Ensure trust level is strictly less than 1 (#6447) -- Spec alignment on verify skipping (#6474) +- Update grpc version -### Light/evidence +### Mempool -- Handle FLA backport (#6331) +- Implement Mempool.CloseWAL +- Return error on cached txs +- Assert -> require in test -### Light/provider/http +### P2p/trust -- Fix Validators (#6022) -- Fix Validators (#6024) +- Split into multiple files and improve function order +- Lock on Copy() -### Light/rpc +### Rpc -- Fix ABCIQuery (#5375) -- Fix ABCIQuery (#5375) +- Make time human readable. closes #926 -### Lint +### Shame -- Remove dot import (go-common) -- S/common.Fmt/fmt.Sprintf -- S/+=1/++, remove else clauses -- Couple more fixes -- Apply deadcode/unused -- Golint issue fixes (#4258) -- Add review dog (#4652) -- Enable nolintlinter, disable on tests -- Various fixes -- Errcheck (#5091) -- Add markdown linter (#5254) -- Add errchecks (#5316) -- Enable errcheck (#5336) -- Run gofmt and goimports (#13) -- Fix lint errors (#301) +- Forgot to add new code pkg -### Linter +### Types -- Couple fixes -- Add metalinter to Makefile & apply some fixes -- Last fixes & add to circle -- Address deadcode, implement incremental lint testing -- Sort through each kind and address small fixes -- Enable in CI & make deterministic -- (1/2) enable errcheck (#5064) -- Fix some bls-related linter issues (#14) -- Fix nolintlint warnings (#6257) +- Use data.Bytes directly in type.proto via gogo/protobuf. wow +- Consolidate some file +- Add note about ReadMessage having no cap +- RequestBeginBlock includes absent and byzantine validators +- Drop uint64 from protobuf.go +- IsOK() +- Int32 with gogo int +- Fix for broken customtype int in gogo +- Add MarshalJSON funcs for Response types with a Code +- Add UnmarshalJSON funcs for Response types -### Linters +## [0.12.1] - 2017-11-28 -- Enable scopelint (#3963) -- Modify code to pass maligned and interfacer (#3959) -- Enable stylecheck (#4153) +### Documentation -### Linting +- Give index a Tools section +- Update and clean up adr +- Use README.rst to be pulled from tendermint +- Re-add the images +- Add original README's from tools repo +- Convert from md to rst +- Update index.rst +- Move images in from tools repo +- Harmonize headers for tools docs +- Add kubes docs to mintnet doc, from tools +- Add original tm-bench/monitor files +- Organize tm-bench/monitor description +- Pull from tools on build +- Finish pull from tools +- Organize the directory, #656 +- Add software.json from website (ecosystem) +- Rename file +- Add and re-format the ecosystem from website +- Pull from tools' master branch +- Using ABCI-CLI +- Remove last section from ecosystem +- Organize install a bit better +- Add ABCI implementations +- Added passchain to the ecosystem.rst in the applications section; +- Fix build warnings +- Add stratumn +- Add py-tendermint to abci-servers +- Remove mention of type byte +- Add info about tm-migrate +- Update abci example details [ci skip] +- Typo +- Smaller logo (200px) +- Comb through step by step +- Fixup abci guide +- Fix links, closes #860 -- Cover the basics -- Catch some errors -- Add to Makefile & do some fixes -- Next round of fixes -- Fixup some stuffs -- Little more fixes -- A few fixes -- Replace megacheck with metalinter -- Apply 'gofmt -s -w' throughout -- Apply misspell -- Apply errcheck part1 -- Apply errcheck part2 -- Moar fixes -- Few more fixes -- Remove unused variable +### GroupReader#Read -### Lite +- Return io.EOF if file is empty -- MemStoreProvider GetHeightBinarySearch method + fix ValKeys.signHeaders -- < len(v) in for loop check, as per @melekes' recommendation -- TestCacheGetsBestHeight with GetByHeight and GetByHeightBinarySearch -- Comment out iavl code - TODO #1183 -- Add synchronization in lite verify (#2396) -- Follow up from #3989 (#4209) -- Modified bisection to loop (#4400) -- Add helper functions for initiating the light client (#4486) -- Fix HTTP provider error handling +### Makefile -### Lite/proxy +- Remove redundant lint +- Fix linter -- Validation* tests and hardening for nil dereferences -- Consolidate some common test headers into a variable +### PubKeyFromBytes -### Lite2 +- Return zero value PubKey on error -- Light client with weak subjectivity (#3989) -- Move AutoClient into Client (#4326) -- Improve auto update (#4334) -- Add Start, TrustedValidatorSet funcs (#4337) -- Rename alternative providers to witnesses (#4344) -- Refactor cleanup() (#4343) -- Batch save & delete operations in DB store (#4345) -- Panic if witness is on another chain (#4356) -- Make witnesses mandatory (#4358) -- Replace primary provider with alternative when unavailable (#4354) -- Fetch missing headers (#4362) -- Validate TrustOptions, add NewClientFromTrustedStore (#4374) -- Return if there are no headers in RemoveNoLongerTrustedHeaders (#4378) -- Manage witness dropout (#4380) -- Improve string output of all existing providers (#4387) -- Modified sequence method to match bisection (#4403) -- Disconnect from bad nodes (#4388) -- Divide verify functions (#4412) -- Return already verified headers and verify earlier headers (#4428) -- Don't save intermediate headers (#4452) -- Store current validator set (#4472) -- Cross-check first header and update tests (#4471) -- Remove expiration checks on functions that don't require them (#4477) -- Prune-headers (#4478) -- Return height as 2nd return param in TrustedValidatorSet (#4479) -- Actually run example tests + clock drift (#4487) -- Fix tendermint lite sub command (#4505) -- Remove auto update (#4535) -- Indicate success/failure of Update (#4536) -- Replace primary when providing invalid header (#4523) -- Add benchmarking tests (#4514) -- Cache headers in bisection (#4562) -- Use bisection for some of backward verification (#4575) -- Make maxClockDrift an option (#4616) -- Prevent falsely returned double voting error (#4620) -- Default to http scheme in provider.New (#4649) -- Verify ConsensusHash in rpc client -- Fix pivot height during bisection (#4850) -- Correctly return the results of the "latest" block (#4931) -- Allow bigger requests to LC proxy (#4930) -- Check header w/ witnesses only when doing bisection (#4929) -- Compare header with witnesses in parallel (#4935) +### Security + +- Use bytes.Equal for key comparison + +### Testing -### Lite2/http +- Add simple client/server test with no addr prefix +- Update for abci-cli consolidation. shell formatting -- Fix provider test by increasing the block retention value (#4890) +### WIP -### Lite2/rpc +- Begin parallel refactoring with go-wire Write methods and MConnection -- Verify block results and validators (#4703) +### [docs -### Localnet +- Typo fix] remove misplaced "the" +- Typo fix] add missing "have" -- Fix $LOG variable (#3423) -- Fix node starting issue with --proxy-app flag (#5803) -- Expose 6060 (pprof) and 9090 (prometheus) on node0 -- Use 27000 port for prometheus (#5811) -- Fix localnet by excluding self from persistent peers list (#6209) +### Adr -### Log +- Add 005 consensus params -- Move some Info to Debug -- Tm -> TM +### All -### Logger +- No more anonymous imports -- Refactor Tendermint logger by using zerolog (#6534) +### Autofile -### Logging +- Ensure file is open in Sync -- Print string instead of callback (#6177) -- Print string instead of callback (#6178) -- Shorten precommit log message (#6270) -- Shorten precommit log message (#6270) (#6274) +### Blockchain -### Logs +- Fixing reactor tests +- Add comment in AddPeer. closes #666 -- Cleanup (#6198) -- Cleanup (#6198) +### Blockchain/pool -### Make +- Some comments and small changes -- Dont use -v on go test -- Update protoc_abci use of awk -- Add back tools cmd (#4281) -- Remove sentry setup cmds (#4383) +### Blockchain/reactor -### Makefile +- RespondWithNoResponseMessage for missing height -- Remove megacheck -- Fix protoc_libs -- Add `make check_dep` and remove `make ensure_deps` (#2055) -- Lint flags -- Fix build-docker-localnode target (#3122) -- Minor cleanup (#3994) -- Place phony markers after targets (#4408) -- Add options for other DBs (#5357) -- Remove call to tools (#6104) +### Blockchain/store -### Markdownlint +- Comment about panics -- Ignore .github directory (#5351) +### Certifiers -### Maverick +- Test uses WaitForHeight -- Reduce some duplication (#6052) -- Reduce some duplication (#6052) +### Changelog -### Mempool +- Add genesis amount->power -- Add GetState() -- Remove bad txs from cacheMap -- Don't remove committed txs from cache -- Comments -- Reactor test -- Implement Mempool.CloseWAL -- Return error on cached txs -- Assert -> require in test -- Remove Peer interface. use p2p.Peer -- Cfg.CacheSize and expose InitWAL -- Fix cache_size==0. closes #1761 -- Log hashes, not whole tx -- Chan bool -> chan struct{} -- Keep cache hashmap and linked list in sync (#2188) -- Store txs by hash inside of cache (#2234) -- Filter new txs if they have insufficient gas (#2385) -- ErrPreCheck and more log info (#2724) -- Print postCheck error (#2762) -- Add txs from Update to cache -- Add a comment and missing changelog entry (#2996) -- NotifyTxsAvailable if there're txs left, but recheck=false (#2991) -- Move tx to back, not front (#3036) -- Move tx to back, not front (#3036) -- Enforce maxMsgSize limit in CheckTx (#3168) -- Correct args order in the log msg (#3221) -- Fix broadcastTxRoutine leak (#3478) -- Add a safety check, write tests for mempoolIDs (#3487) -- Move interface into mempool package (#3524) -- Remove only valid (Code==0) txs on Update (#3625) -- Make max_msg_bytes configurable (#3826) -- Make `max_tx_bytes` configurable instead of `max_msg_bytes` (#3877) -- Fix memory loading error on 32-bit machines (#3969) -- Moved TxInfo parameter into Mempool.CheckTx() (#4083) -- Reserve IDs in InitPeer instead of AddPeer -- Move mock into mempool directory -- Allow ReapX and CheckTx functions to run in parallel -- Do not launch broadcastTxRoutine if Broadcast is off -- Make it clear overwriting of pre/postCheck filters is intent… (#5054) -- Use oneof (#5063) -- Add RemoveTxByKey function (#5066) -- Return an error when WAL fails (#5292) -- Batch txs per peer in broadcastTxRoutine (#5321) -- Fix nil pointer dereference (#5412) -- Fix nil pointer dereference (#5412) -- Length prefix txs when getting them from mempool (#5483) -- Introduce KeepInvalidTxsInCache config option (#5813) -- Disable MaxBatchBytes (#5800) -- Introduce KeepInvalidTxsInCache config option (#5813) -- Disable MaxBatchBytes (#5800) -- P2p refactor (#5919) -- Fix reactor tests (#5967) -- Fix TestReactorNoBroadcastToSender (#5984) -- Fix mempool tests timeout (#5988) -- Don't return an error on checktx with the same tx (#6199) -- Remove vestigal mempool wal (#6396) -- Benchmark improvements (#6418) -- Add duplicate transaction and parallel checktx benchmarks (#6419) -- V1 implementation (#6466) +### Circle -### Mempool/reactor +- Add metalinter to test -- Fix reactor broadcast test (#5362) +### Cli -### Mempool/rpc +- Clean up error handling +- Use cobra's new ExactArgs() feature -- Log grooming (#6201) -- Log grooming (bp #6201) (#6203) +### Clist -### Mergify +- Reduce numTimes in test -- Remove unnecessary conditions (#4501) -- Use strict merges (#4502) -- Use PR title and body for squash merge commit (#4669) +### Cmd -### Merkle +- Dont wait for genesis. closes #562 -- Go-common -> tmlibs -- Remove go-wire dep by copying EncodeByteSlice -- Remove unused funcs. unexport simplemap. improv docs -- Use amino for byteslice encoding -- Return hashes for empty merkle trees (#5193) +### Cmn -### Metalinter +- Kill -- Add linter to Makefile like tendermint +### Common -### Metrics +- Fingerprint comment +- WriteFileAtomic use tempfile in current dir -- Add additional metrics to p2p and consensus (#2425) -- Only increase last_signed_height if commitSig for block (#4283) -- Switch from gauge to histogram (#5326) -- Change blocksize to a histogram (#6549) +### Consensus -### Mocks +- Remove support for replay by #HEIGHT. closes #567 +- Use filepath for windows compatibility, closes #595 +- Kill process on app error +- Ensure prs.ProposalBlockParts is initialized. fixes #810 +- Fix for initializing block parts during catchup +- Make mempool_test deterministic +- Fix LastCommit log +- Crank timeout in timeoutWaitGroup -- Update with 2.2.1 (#5294) +### Consensus/WAL -### Mod +- Benchmark WALDecode across data sizes -- Go mod tidy +### Console -### Nano +- Fix output, closes #93 +- Fix tests -- Update comments +### Db -### Networks +- Fix MemDB.Close +- Sort keys for memdb iterator -- Update readmes +### Dummy -### Networks/remote +- Verify pubkey is go-crypto encoded in DeliverTx. closes #51 -- Turn on GO111MODULE and use git clone instead of go get (#4203) +### Errcheck -### Node +- PR comment fixes -- ConfigFromViper -- NewNode takes DBProvider and GenDocProvider -- Clean makeNodeInfo -- Remove dup code from rebase -- Remove commented out trustMetric -- Respond always to OS interrupts (#2479) -- Refactor privValidator ext client code & tests (#2895) -- Refactor node.NewNode (#3456) -- Fix a bug where `nil` is recorded as node's address (#3740) -- Run whole func in goroutine, not just logger.Error fn (#3743) -- Allow registration of custom reactors while creating node (#3771) -- Use GRPCMaxOpenConnections when creating the gRPC server (#4349) -- Don't attempt fast sync when InitChain sets self as only validator (#5211) -- Fix genesis state propagation to state sync (#5302) -- Improve test coverage on proposal block (#5748) -- Feature flag for legacy p2p support (#6056) -- Implement tendermint modes (#6241) -- Remove mode defaults. Make node mode explicit (#6282) -- Use db provider instead of mem db (#6362) -- Cleanup pex initialization (#6467) -- Change package interface (#6540) +### Example -### Node/state +- Fix func suffix -- Graceful shutdown in the consensus state (#6370) +### Glide + +- Update for autofile fix +- More external deps locked to versions + +### Keys + +- Transactions.go -> types.go + +### Lint + +- Couple more fixes +- Apply deadcode/unused + +### Linter + +- Couple fixes +- Add metalinter to Makefile & apply some fixes +- Last fixes & add to circle +- Address deadcode, implement incremental lint testing +- Sort through each kind and address small fixes + +### Linting + +- Cover the basics +- Catch some errors +- Add to Makefile & do some fixes +- Next round of fixes +- Fixup some stuffs +- Little more fixes +- A few fixes +- Replace megacheck with metalinter +- Apply 'gofmt -s -w' throughout +- Apply misspell +- Apply errcheck part1 +- Apply errcheck part2 +- Moar fixes +- Few more fixes -### Node/tests +### Makefile -- Clean up use of genesis doc and surrounding tests (#6554) +- Remove megacheck -### Note +### Metalinter -- Add nondeterministic note to events (#6220) -- Add nondeterministic note to events (#6220) (#6225) +- Add linter to Makefile like tendermint -### Os +### Node -- Simplify EnsureDir() (#5871) -- Simplify EnsureDir() (#5871) +- NewNode takes DBProvider and GenDocProvider +- Clean makeNodeInfo ### P2p -- Push handshake containing chainId for early disconnect. Closes #12 -- Fix switch_test to account for handshake -- Broadcast spawns goroutine to Send on each peer and times out after 10 seconds. Closes #7 -- Fix switch test for Broadcast returning success channel -- Use cmn instead of . -- Fix race by peer.Start() before peers.Add() -- Fix test -- Sw.peers.List() is empty in sw.OnStart -- Put maxMsgPacketPayloadSize, recvRate, sendRate in config -- Test fix - Fully test PeerSet, more docs, parallelize PeerSet tests - Minor comment fixes - Delete unused and untested *IPRangeCount functions @@ -5152,1066 +8531,862 @@ - Fix comment on addPeer (thanks @odeke-em) - Make Switch.DialSeeds use a new PRNG per call - Disable trustmetric test while being fixed -- Exponential backoff on reconnect. closes #939 -- PrivKey need not be Ed25519 -- Reorder some checks in addPeer; add comments to NodeInfo -- Peer.Key -> peer.ID -- Add ID to NetAddress and use for AddrBook -- Support addr format ID@IP:PORT -- Authenticate peer ID -- Remove deprecated Dockerfile -- Seed mode fixes from rebase and review -- Seed disconnects after sending addrs -- Add back lost func -- Use sub dirs -- Tmconn->conn and types->p2p -- Use conn.Close when peer is nil -- Notes about ListenAddr -- AddrBook.Save() on DialPeersAsync -- Add Channels to NodeInfo and don't send for unknown channels -- Fix tests for required channels -- Fix break in double loop -- Introduce peerConn to simplify peer creation (#1226) -- Keep reference to connections in test peer -- Persistent - redial if first dial fails -- Switch - reconnect only if persistent -- Don't use dial funcn in peerconfig -- NodeInfo.Channels is HexBytes -- Dont require minor versions to match in handshake -- Explicit netaddress errors -- Some comments and a log line -- MinNumOutboundPeers. Closes #1501 -- Change some logs from Error to Debug. #1476 -- Small lint -- Prevent connections from same ip -- External address -- Reject addrs coming from private peers (#2032) -- Fix conn leak. part of #2046 -- Connect to peers from a seed node immediately (#2115) -- Add test vectors for deriving secrets (#2120) -- Integrate new Transport -- Add RPCAddress to NodeInfoOther.String() (#2442) -- NodeInfo is an interface; General cleanup (#2556) -- Restore OriginalAddr (#2668) -- Peer-id -> peer_id (#2771) -- AddressBook requires addresses to have IDs; Do not close conn immediately after sending pex addrs in seed mode (#2797) -- Re-check after sleeps (#2664) -- Log 'Send failed' on Debug (#2857) -- NewMultiplexTransport takes an MConnConfig (#2869) -- Panic on transport error (#2968) -- Fix peer count mismatch #2332 (#2969) -- Set MConnection#created during init (#2990) -- File descriptor leaks (#3150) -- Fix infinite loop in addrbook (#3232) -- Check secret conn id matches dialed id (#3321) -- Fix comment in secret connection (#3348) -- Do not panic when filter times out (#3384) -- Refactor GetSelectionWithBias for addressbook (#3475) -- Seed mode refactoring (#3011) -- Do not log err if peer is private (#3474) -- (seed mode) limit the number of attempts to connect to a peer (#3573) -- Session should terminate on nonce wrapping (#3531) (#3609) -- Make persistent prop independent of conn direction (#3593) -- PeerBehaviour implementation (#3539) (#3552) -- Peer state init too late and pex message too soon (#3634) -- Per channel metrics (#3666) (#3677) -- Remove NewNetAddressStringWithOptionalID (#3711) -- Peerbehaviour follow up (#3653) (#3663) -- Refactor Switch#OnStop (#3729) -- Dial addrs which came from seed instead of calling ensurePeers (#3762) -- Extract ID validation into a separate func (#3754) -- Fix error logging for connection stop (#3824) -- Do not write 'Couldn't connect to any seeds' if there are no seeds (#3834) -- Only allow ed25519 pubkeys when connecting -- Log as debug msg when address dialing is already connected (#4082) -- Make SecretConnection non-malleable (#3668) -- Add `unconditional_peer_ids` and `persistent_peers_max_dial_period` (#4176) -- Extract maxBackoffDurationForPeer func and remove 1 test (#4218) -- Merlin based malleability fixes (#72) -- Use curve25519.X25519() instead of ScalarMult() (#4449) -- PEX message abuse should ban as well as disconnect (#4621) -- Limit the number of incoming connections -- Set RecvMessageCapacity to maxMsgSize in all reactors -- Return err on `signChallenge` (#4795) -- Return masked IP (not the actual IP) in addrbook#groupKey -- TestTransportMultiplexAcceptNonBlocking and TestTransportMultiplexConnFilterTimeout (#4868) -- Remove nil guard (#4901) -- Expose SaveAs on NodeKey (#4981) -- Proto leftover (#4995) -- Remove data race bug in netaddr stringer (#5048) -- Ensure peers can't change IP of known nodes (#5136) -- Reduce log severity (#5338) -- Remove p2p.FuzzedConnection and its config settings (#5598) -- Remove unused MakePoWTarget() (#5684) -- State sync reactor refactor (#5671) -- Implement new Transport interface (#5791) -- Remove `NodeInfo` interface and rename `DefaultNodeInfo` struct (#5799) -- Do not format raw msg bytes -- Update frame size (#235) -- Fix data race in MakeSwitch test helper (#5810) -- Add MemoryTransport, an in-memory transport for testing (#5827) -- Rename ID to NodeID -- Add NodeID.Validate(), replaces validateID() -- Replace PeerID with NodeID -- Rename NodeInfo.DefaultNodeID to NodeID -- Rename PubKeyToID to NodeIDFromPubKey -- Fix IPv6 address handling in new transport API (#5853) -- Fix MConnection inbound traffic statistics and rate limiting (#5868) -- Fix MConnection inbound traffic statistics and rate limiting (#5868) (#5870) -- Add Router prototype (#5831) -- Add prototype peer lifecycle manager (#5882) -- Revise shim log levels (#5940) -- Improve PeerManager prototype (#5936) -- Make PeerManager.DialNext() and EvictNext() block (#5947) -- Improve peerStore prototype (#5954) -- Simplify PeerManager upgrade logic (#5962) -- Add PeerManager.Advertise() (#5957) -- Add prototype PEX reactor for new stack (#5971) -- Resolve PEX addresses in PEX reactor (#5980) -- Use stopCtx when dialing peers in Router (#5983) -- Clean up new Transport infrastructure (#6017) -- Tighten up and test Transport API (#6020) -- Add tests and fix bugs for `NodeAddress` and `NodeID` (#6021) -- Tighten up and test PeerManager (#6034) -- Tighten up Router and add tests (#6044) -- Enable scheme-less parsing of IPv6 strings (#6158) -- Links (#268) -- Revised router message scheduling (#6126) -- Metrics (#6278) -- Simple peer scoring (#6277) -- Rate-limit incoming connections by IP (#6286) -- Fix "Unknown Channel" bug on CustomReactors (#6297) -- Connect max inbound peers configuration to new router (#6296) -- Filter peers by IP address and ID (#6300) -- Improve router test stability (#6310) -- Extend e2e tests for new p2p framework (#6323) -- Make peer scoring test more resilient (#6322) -- Fix using custom channels (#6339) -- Minor cleanup + update router options (#6353) -- Fix network update test (#6361) -- Update state sync messages for reverse sync (#285) -- Improve PEX reactor (#6305) -- Support private peer IDs in new p2p stack (#6409) -- Wire pex v2 reactor to router (#6407) -- Add channel descriptors to open channel (#6440) -- Revert change to routePeer (#6475) -- Limit rate of dialing new peers (#6485) -- Renames for reactors and routing layer internal moves (#6547) -### P2p/addrbook +### P2p/addrbook + +- Comments +- AddrNew/Old -> bucketsNew/Old +- Simplify PickAddress +- AddAddress returns error. more defensive PickAddress +- Add non-terminating test +- Fix addToOldBucket +- Some comments + +### P2p/connetion + +- Remove panics, test error cases + +### P2p/pex + +- Simplify ensurePeers + +### Readme + +- Re-organize & update docs links + +### Rpc + +- Fix client websocket timeout (#687) +- Subscribe on reconnection (#689) +- Use /iavl repo in test (#713) +- Wait for rpc servers to be available in tests +- Fix tests + +### Rpc/client + +- Use compile time assertions instead of methods + +### Rpc/lib + +- Remove dead files, closes #710 + +### Rpc/lib/client + +- Add jitter for exponential backoff of WSClient +- Jitter test updates and only to-be run on releases + +### Rpc/lib/server + +- Add handlers tests +- Update with @melekes and @ebuchman feedback +- Separate out Notifications test +- Minor changes to test + +### Rpc/lib/types + +- RPCResponse.Result is not a pointer + +### Rpc/wsevents + +- Small cleanup + +### Server + +- Use cmn.ProtocolAndAddress +- Minor refactor + +### SocketClient + +- Fix and test for StopForError deadlock + +### State + +- Minor comment fixes +- Return to-be-used function + +### Types + +- Remove redundant version file +- PrivVal.Sign returns an error +- More . -> cmn +- Comments +- ConsensusParams test + document the ranges/limits +- ConsensusParams: add feedback from @ebuchman and @melekes +- Unexpose valset.To/FromBytes +- Add gas and fee fields to CheckTx + +### Types/heartbeat + +- Test all Heartbeat functions + +### Upnp + +- Keep a link + +### WsConnection + +- Call onDisconnect + +## [0.10.4] - 2017-09-05 + +### Documentation + +- Add conf.py +- Test +- Add sphinx Makefile & requirements +- Consolidate ADRs +- Convert markdown to rst +- Organize the specification +- Rpc docs to be slate, see #526, #629 +- Use maxdepth 2 for spec +- Port website's intro for rtd +- Rst-ify the intro +- Fix image links +- Link fixes +- Clean a bunch of stuff up +- Logo, add readme, fixes +- Pretty-fy + +### Cmd + +- Don't load config for version command. closes #620 + +### Cmd/tendermint/commands + +- Update ParseConfig doc + +### Consensus + +- Recover panics in receive routine + +### Db + +- Fix memdb iterator + +### Mempool + +- Reactor test + +### P2p + +- Put maxMsgPacketPayloadSize, recvRate, sendRate in config +- Test fix +### Readme + +- Update install instruction (#100) + +### Rpc + +- Typo fixes - Comments -- AddrNew/Old -> bucketsNew/Old -- Simplify PickAddress -- AddAddress returns error. more defensive PickAddress -- Add non-terminating test -- Fix addToOldBucket -- Some comments +- Historical validators +- Block and Commit take pointers; return latest on nil -### P2p/conn +### Rtd -- Better handling for some stop conditions -- FlushStop. Use in pex. Closes #2092 (#2802) -- Don't hold stopMtx while waiting (#3254) -- Add Bufferpool (#3664) -- Simplify secret connection handshake malleability fix with merlin (#4185) -- Add a test for MakeSecretConnection (#4829) -- Migrate to Protobuf (#4990) -- Check for channel id overflow before processing receive msg (#6522) -- Check for channel id overflow before processing receive msg (backport #6522) (#6528) +- Build fixes -### P2p/connetion +### State -- Remove panics, test error cases +- Comments; use wire.BinaryBytes +- Persist validators -### P2p/pex +## [0.10.3] - 2017-08-10 -- Simplify ensurePeers -- Wait to connect to all peers in reactor test -- Minor cleanup and comments -- Some addrbook fixes -- Allow configured seed nodes to not be resolvable over DNS (#2129) -- Fix mismatch between dialseeds and checkseeds. (#2151) -- Consult seeds in crawlPeersRoutine (#3647) -- Fix DATA RACE -- Migrate to Protobuf (#4973) -- Fix flaky tests (#5733) -- Cleanup to pex internals and peerManager interface (#6476) -- Reuse hash.Hasher per addrbook for speed (#6509) +### Documentation -### P2p/secret_connection +- Tons of minor improvements -- Switch salsa usage to hkdf + chacha +### Fix -### P2p/test +- Ansible playbook to deploy tendermint -- Wait for listener to get ready (#4881) -- Fix Switch test race condition (#4893) +### README -### P2p/trust +- Add godoc instead of tedious MD regeneration -- Split into multiple files and improve function order -- Lock on Copy() -- Remove extra channels -- Fix nil pointer error on TrustMetric Copy() (#1819) +### Cmd -### P2p/trustmetric +- --consensus.no_empty_blocks -- Non-deterministic test +### Common -### Params +- ProtocolAndAddress -- Remove block timeiota (#248) -- Remove blockTimeIota (#5987) +### Common/IsDirEmpty -### Pex +- Do not mask non-existance errors -- Dial seeds when address book needs more addresses (#3603) -- Various follow-ups (#3605) -- Use highwayhash for pex bucket -- Fix send requests too often test (#6437) +### Consensus -### Premerge2 +- More comments +- IsProposer func +- Remove rs from handleMsg +- Log ProposalHeartbeat msg +- Test proposal heartbeat -- Rpc -> rpc/tendermint +### Hd -### Priv-val +- Optimize ReverseBytes + add tests -- Fix timestamp for signing things that only differ by timestamp +### Http -### PrivVal +- Http-utils added after extraction -- Improve SocketClient network code (#1315) +### Mempool -### Privval +- Comments -- Switch to amino encoding in SignBytes (#2459) -- Set deadline in readMsg (#2548) -- Add IPCPV and fix SocketPV (#2568) -- Fixes from review (#3126) -- Improve Remote Signer implementation (#3351) -- Increase timeout to mitigate non-deterministic test failure (#3580) -- Remove misplaced debug statement (#4103) -- Add `SignerDialerEndpointRetryWaitInterval` option (#4115) -- Return error on getpubkey (#4534) -- Remove deprecated `OldFilePV` -- Retry GetPubKey/SignVote/SignProposal N times before -- Migrate to protobuf (#4985) -- If remote signer errors, don't retry (#5140) -- Add chainID to requests (#5239) -- Allow passing options to NewSignerDialerEndpoint (#5434) -- Allow passing options to NewSignerDialerEndpoint (#5434) (#5437) -- Fix ping message encoding (#5441) -- Fix ping message encoding (#5442) -- Make response values non nullable (#5583) -- Make response values non nullable (#5583) -- Increase read/write timeout to 5s and calculate ping interval based on it (#5638) -- Reset pingTimer to avoid sending unnecessary pings (#5642) -- Increase read/write timeout to 5s and calculate ping interva… (#5666) -- Reset pingTimer to avoid sending unnecessary pings (#5642) (#5668) -- Duplicate SecretConnection from p2p package (#5672) -- Add grpc (#5725) -- Query validator key (#5876) -- Return errors on loadFilePV (#6185) -- Add ctx to privval interface (#6240) +### P2p -### Prometheus/metrics +- Sw.peers.List() is empty in sw.OnStart -- Three new metrics for consensus (#4263) +### Rpc -### Proto +- Move grpc_test from test/ to grpc/ -- Add buf and protogen script (#4369) -- Minor linting to proto files (#4386) -- Use docker to generate stubs (#4615) -- Bring over proto types & msgs (#4718) -- Regenerate proto (#4730) -- Remove test files -- Add proto files for ibc unblock (#4853) -- Add more to/from (#4956) -- Change to use gogofaster (#4957) -- Remove amino proto tests (#4982) -- Move keys to oneof (#4983) -- Leftover amino (#4986) -- Move all proto dirs to /proto (#5012) -- Folder structure adhere to buf (#5025) -- Increase lint level to basic and fix lint warnings (#5096) -- Improve enums (#5099) -- Reorganize Protobuf schemas (#5102) -- Minor cleanups (#5105) -- Change type + a cleanup (#5107) -- Add a comment for Validator#Address (#5144) -- Buf for everything (#5650) -- Bump gogoproto (1.3.2) (#5886) -- Bump gogoproto (1.3.2) (#5886) -- Docker deployment (#5931) -- Seperate native and proto types (#5994) -- Add files (#246) -- Docker deployment (#5931) -- Modify height int64 to uint64 (#253) +### Scripts/txs + +- Add 0x and randomness + +### Types + +- Block comments + +### Ws + +- Small comment + +## [0.10.2] - 2017-07-10 + +### Documentation + +- Add docs from website + +### Consensus + +- Improve logging for conflicting votes +- Better logging + +### Contributing + +- Use full version from site + +### P2p + +- Fix test + +## [0.10.1] - 2017-06-28 + +### Documentation + +- Update for 0.10.0 [ci skip]" + +### Ansible + +- Update tendermint and basecoin versions +- Added option to provide accounts for genesis generation, terraform: added option to secure DigitalOcean servers, devops: added DNS name creation to tendermint terraform + +### Blockchain -### Proto/p2p +- Explain isCaughtUp logic -- Rename PEX messages and fields (#5974) +### Rpc -### Proto/tendermint/abci +- SetWriteDeadline for ws ping. fixes #553 -- Fix Request oneof numbers (#5116) +### Rpc/lib -### Protoc +- Test tcp and unix +- Set logger on ws conn -- "//nolint: gas" directive after pb generation (#164) +## [0.10.0] - 2017-06-03 -### Proxy +### Makefile -- Typed app conns -- NewAppConns takes a NewTMSPClient func -- Wrap NewTMSPClient in ClientCreator -- Nil -> nilapp -- Remove Handshaker from proxy pkg (#2437) -- Improve ABCI app connection handling (#5078) +- Add megacheck & some additional fixes -### Pubsub +### Core -- Comments -- Fixes after Ethan's review (#3212) +- Apply megacheck vet tool (unused, gosimple, staticcheck) -### Reactors +### Dist -- Omit incoming message bytes from reactor logs (#5743) -- Omit incoming message bytes from reactor logs (#5743) -- Remove bcv1 (#241) +- Dont mkdir in container +- Dont mkdir in container -### Reactors/pex +## [0.10.0-rc1] - 2017-05-18 -- Specify hash function (#94) -- Masked IP is used as group key (#96) +### BROKEN -### Readme +- Attempt to replace go-wire.JSON with json.Unmarshall in rpc -- Js-tmsp -> js-abci -- Update install instruction (#100) -- Re-organize & update docs links -- Fix link to original paper (#4391) -- Add discord to readme (#4533) -- Add badge for git tests (#4732) -- Add source graph badge (#4980) -- Remover circleci badge (#5729) -- Add links to job post (#5785) -- Update discord link (#5795) -- Add security mailing list (#5916) -- Add security mailing list (#5916) -- Cleanup (#262) +### CHANGELOG -### Relase_notes +- Update release date +- Update release date -- Add release notes for v0.34.0 +### Testing -### Release +- Jq .result[1] -> jq .result +- P2p.seeds and p2p.pex -- Minor release 0.33.1 (#4401) +### Cli -### Remotedb +- Support --root and --home +- More descriptive naming +- Viper.Set(HomeFlag, rootDir) -- A client package implementing the db.DB interface +### Cmd -### Removal +- Fixes for new config +- Query params are flags -- Remove build folder (#4565) +### Config -### Repeat_timer +- Pex_reactor -> pex -- Drain channel in Stop; done -> wg +### Consensus -### Replay +- Comment about test_data [ci skip] +- Fix tests -- Larger read buffer -- More tests -- Ensure cs.height and wal.height match +### Ebuchman -### Rfc +- Added some demos on how to parse unknown types -- Add end-to-end testing RFC (#5337) +### Log + +- Tm -> TM + +### Node + +- ConfigFromViper + +### P2p + +- Use cmn instead of . +- Fix race by peer.Start() before peers.Add() ### Rpc -- Add status and net info -- Return tx hash, creates contract, contract addr in broadcast (required some helper functions). Closes #30 -- Give each call a dedicated Response struct, add basic test -- Separate out golang API into rpc/core -- Generalized rpc using reflection on funcs and params -- Fixes for better type handlings, explicit error field in response, more tests -- Cleanup, more tests, working http and jsonrpc -- Fix tests to count mempool; copy responses to avoid data races -- Return (*Response, error) for all functions -- GetStorage and Call methods. Tests. -- Decrement mempool count after block mined -- GetStorage and Call methods. Tests. -- Decrement mempool count after block mined -- Auto generated client methods using rpc-gen -- Myriad little fixes -- Cleanup, use client for tests, rpc-gen fixes -- Websockets -- Tests cleanup, use client lib for JSONRPC testing too -- Test CallCode and Call -- Fix memcount error in tests -- Use gorilla websockets -- First successful websocket event subscription -- Websocket events testing -- Use NewBlock event in rpc tests -- Cleanup tests and test contract calls -- Genesis route -- Remove unecessary response wrappers -- Add app_hash to /status -- TMResult and TMEventData -- Test cleanup -- Unsafe_set_config -- Num_unconfirmed_txs (avoid sending txs back) -- Start/stop cpu profiler -- Unsafe_write_heap_profile -- Broadcast tests. closes #219 -- Unsafe_flush_mempool. closes #190 -- Use interfaces for pipe -- Remove restriction on DialSeeds -- /commit -- Fix SeenCommit condition -- Dial_seeds msg. addresses #403 -- Better arg validation for /tx -- /tx allows height+hash -- Use HTTP error codes - Repsonse types use data.Bytes - Response types use Result instead of pb Response - Fix tests - Decode args without wire - Cleanup some comments [ci skip] - Fix tests -- SetWriteDeadline for ws ping. fixes #553 -- Move grpc_test from test/ to grpc/ -- Typo fixes -- Comments -- Historical validators -- Block and Commit take pointers; return latest on nil -- Fix client websocket timeout (#687) -- Subscribe on reconnection (#689) -- Use /iavl repo in test (#713) -- Wait for rpc servers to be available in tests -- Fix tests -- Make time human readable. closes #926 -- GetHeight helper function -- Fix getHeight -- Lower_case peer_round_states, use a list, add the node_address -- Docs/comments -- Add n_peers to /net_info -- Add voting power totals to vote bitarrays -- /consensus_state for simplified output -- Break up long lines -- Test Validator retrevial timeout -- Fix /blockchain OOM #2049 -- Validate height in abci_query -- Log error when we timeout getting validators from consensus (#2045) -- Improve slate for Jenkins (#2070) -- Transform /status result.node_info.other into map (#2417) -- Add /consensus_params endpoint (#2415) -- Fix tx.height range queries (#2899) -- Include peer's remote IP in `/net_info` (#3052) -- Client disable compression (#3430) -- Support tls rpc (#3469) -- Fix response time grow over time (#3537) -- Add support for batched requests/responses (#3534) -- /dial_peers: only mark peers as persistent if flag is on (#3620) -- Use Wrap instead of Errorf error (#3686) -- Make max_body_bytes and max_header_bytes configurable (#3818) -- /broadcast_evidence (#3481) -- Return err if page is incorrect (less than 0 or greater than tot… (#3825) -- Protect subscription access from race condition (#3910) -- Allow using a custom http client in rpc client (#3779) -- Remove godoc comments in favor of swagger docs (#4126) -- /block_results fix docs + write test + restructure response (#3615) -- Remove duplication of data in `ResultBlock ` (#3856) -- Add pagination to /validators (#3993) -- Update swagger docs to openapi 3.0 (#4223) -- Added proposer in consensus_state (#4250) -- Pass `outCapacity` to `eventBus#Subscribe` when subscribing using a l… (#4279) -- Add method block_by_hash (#4257) -- Modify New* functions to return error (#4274) -- Check nil blockmeta (#4320) -- PR#4320 follow up (#4323) -- Add sort_order option to tx_search (#4342) -- Fix issue with multiple subscriptions (#4406) -- Fix tx_search pagination with ordered results (#4437) -- Fix txsearch tests (#4438) -- Fix TxSearch test nits (#4446) -- Stop txSearch result processing if context is done (#4418) -- Keep the original subscription "id" field when new RPCs come in (#4493) -- Remove BlockStoreRPC in favor of BlockStore (#4510) -- Create buffered subscriptions on /subscribe (#4521) -- Fix panic when `Subscribe` is called (#4570) -- Add codespace to ResultBroadcastTx (#4611) -- Handle panics during panic handling -- Use a struct to wrap all the global objects -- Refactor lib folder (#4836) -- Increase waitForEventTimeout to 8 seconds (#4917) -- Add BlockByHash to Client (#4923) -- Replace Amino with new JSON encoder (#4968) -- Support EXISTS operator in /tx_search query (#4979) -- Add /check_tx endpoint (#5017) -- Move docs from doc.go to swagger.yaml (#5044) -- /broadcast_evidence nil evidence check (#5109) -- Make gasWanted/Used snake_case (#5137) -- Add private & unconditional to /dial_peer (#5293) -- Fix openapi spec syntax error (#5358) -- Fix test data races (#5363) -- Revert JSON-RPC/WebSocket response batching (#5378) -- Fix content-type header (#5661) -- Fix content-type header -- Standardize error codes (#6019) -- Change default sorting to desc for `/tx_search` results (#6168) -- Index block events to support block event queries (#6226) -- Index block events to support block event queries (bp #6226) (#6261) -- Define spec for RPC (#276) -- Remove global environment (#6426) -- Clean up client global state in tests (#6438) -- Add chunked rpc interface (#6445) -- Clarify timestamps (#304) -- Add chunked genesis endpoint (#299) -- Decouple test fixtures from node implementation (#6533) -### Rpc/client +### Rpc/lib + +- No Result wrapper + +### Types + +- []byte -> data.Bytes +- Result and Validator use data.Bytes +- Methods convert pb types to use data.Bytes + +## [0.9.2] - 2017-04-26 + +### Documentation + +- Go-events -> tmlibs/events + +### Testing + +- Test_libs all use Makefile + +### Commands + +- Run -> RunE -- Use compile time assertions instead of methods -- Include NetworkClient interface into Client interface (#3473) -- Add basic authentication (#4291) -- Split out client packages (#4628) -- Take context as first param (#5347) +### Merkle -### Rpc/client/http +- Go-common -> tmlibs -- Log error (#5182) -- Do not drop events even if the `out` channel is full (#6163) -- Drop endpoint arg from New and add WSOptions (#6176) +### Premerge2 -### Rpc/core +- Rpc -> rpc/tendermint -- Ints are strings in responses, closes #1896 -- Do not lock ConsensusState mutex -- Return an error if `page=0` (#4947) -- More docs and a test for /blockchain endpoint (#5417) +### Rpc -### Rpc/core/types +- Use HTTP error codes -- UintX -> int +## [0.9.1] - 2017-04-21 -### Rpc/jsonrpc +### Testing -- Unmarshal RPCRequest correctly (#6191) -- Unmarshal RPCRequest correctly (bp #6191) (#6193) +- Check err on cmd.Wait -### Rpc/jsonrpc/server +### Blockpool -- Merge WriteRPCResponseHTTP and WriteRPCResponseAr (#5141) -- Ws server optimizations (#5312) -- Return an error in WriteRPCResponseHTTP(Error) (#6204) -- Return an error in WriteRPCResponseHTTP(Error) (bp #6204) (#6230) +- Fix removePeer bug -### Rpc/lib +### Changelog -- No Result wrapper -- Test tcp and unix -- Set logger on ws conn -- Remove dead files, closes #710 -- Write a test for TLS server (#3703) -- Fix RPC client, which was previously resolving https protocol to http (#4131) +- Add prehistory -### Rpc/lib/client +### Cli -- Add jitter for exponential backoff of WSClient -- Jitter test updates and only to-be run on releases +- Testnet cmd inits files for testnet +- ResetAll doesnt depend on cobra -### Rpc/lib/server +### Consensus -- Add handlers tests -- Update with @melekes and @ebuchman feedback -- Separate out Notifications test -- Minor changes to test -- Add test for int parsing +- Timeout on replayLastBlock -### Rpc/lib/types +### Consensus/replay -- RPCResponse.Result is not a pointer +- Remove timeout -### Rpc/libs/doc +### Consensus/wal -- Formatting for godoc, closes #2420 +- #HEIGHT -> #ENDHEIGHT -### Rpc/net_info +### Readme -- Change RemoteIP type from net.IP to String (#3309) +- Js-tmsp -> js-abci -### Rpc/swagger +### Rpc -- Add numtxs to blockmeta (#4139) +- Dial_seeds msg. addresses #403 +- Better arg validation for /tx +- /tx allows height+hash + +### Rpc/core/types + +- UintX -> int ### Rpc/test - /tx - Restore txindexer after setting null -- Fix test race in TestAppCalls (#4894) -- Wait for mempool CheckTx callback (#4908) -- Wait for subscription in TestTxEventsSentWithBroadcastTxAsync (#4907) -### Rpc/tests +### Secp256k1 -- Panic dont t.Fatal. use random txs for broadcast +- Use compressed pubkey, bitcoin-style address -### Rpc/wsevents +### State -- Small cleanup +- ABCIResponses, s.Save() in ApplyBlock -### Rtd +### Wal -- Build fixes +- Gr.Close() -### Scripts +## [0.9.0] - 2017-03-06 -- Quickest/easiest fresh install -- Remove install scripts (#4242) -- Move build.sh into scripts -- Make linkifier default to 'pull' rather than 'issue' (#5689) +### Client -### Scripts/txs +- DumpConsensusState, not DialSeeds. Cleanup -- Add 0x and randomness +### Connect2Switches -### Secp256k1 +- Panic on err -- Use compressed pubkey, bitcoin-style address -- Change build tags (#3277) +### Makefile -### Security +- Add gmt and lint +- Add 'build' target -- Update policy after latest security release (#6336) +### Query -### Server +- Height -> LastHeight +- LastHeight -> Height :) -- Allow multiple connections -- Return result with error -- Use cmn.ProtocolAndAddress -- Minor refactor +### Testing -### Service +- RandConsensusNet takes more args +- Crank circle timeouts +- Automate building consensus/test_data +- Circle artifacts +- Dont start cs until all peers connected +- Shorten timeouts +- Remove codecov patch threshold +- Kill and restart all nodes +- Use PROXY_APP=persistent_dummy +- Use fail-test failure indices +- More unique container names +- Set log_level=info +- Always rebuild grpc_client +- Split up test/net/test.sh +- Unexport internal function. +- Update docker to 1.7.4 +- Dont use log files on circle +- Shellcheck +- Forward CIRCLECI var through docker +- Only use syslog on circle +- More logging +- Wait for tendermint proc +- Add extra kill after fail index triggered +- Wait for ports to be freed +- Use --pex on restart +- Install abci apps first +- Fix docker and apps +- Dial_seeds +- Docker exec doesnt work on circle +- Bump sleep to 5 for bound ports release +- Better client naming +- Use unix socket for rpc +- Shellcheck -- Start/stop logs are info, ignored are debug -- Reset() for restarts +### Update + +- JTMSP -> jABCI + +### Blockchain + +- Thread safe store.Height() + +### Cleanup + +- Replace common.Exit with log.Crit or log.Fatal + +### Consensus + +- Wal.Flush() and cleanup replay tests +- TimeoutTicker, skip TimeoutCommit on HasAll +- Mv timeoutRoutine into TimeoutTicker +- No internal vars in reactor.String() +- Sync wal.writeHeight +- Remove crankTimeoutPropose from tests +- Be more explicit when we need to write height after handshake +- Let time.Timer handle non-positive durations +- Check HasAll when TwoThirdsMajority +- Nice error msg if ApplyBlock fails +- Handshake replay test using wal +- More handshake replay tests +- Some more informative logging + +### Fmt + +- Run 'make fmt' + +### Glide + +- Update go-wire +- Use versions where applicable + +### Lint + +- Remove dot import (go-common) +- S/common.Fmt/fmt.Sprintf +- S/+=1/++, remove else clauses + +### Make + +- Dont use -v on go test + +### Repeat_timer + +- Drain channel in Stop; done -> wg + +### Rpc + +- /commit +- Fix SeenCommit condition ### Shame -- Forgot a file - Version bump 0.7.4 -- Forgot to add new code pkg -### SocketClient +### State -- Fix and test for StopForError deadlock +- AppHashIsStale -> IntermediateState +- Remove StateIntermediate -### Spec +### Tmsp -- Fixes from review -- Convert to rst -- Typos & other fixes -- Remove notes, see #1152 -- More fixes -- Minor fixes -- Update encoding.md -- Note on byte arrays, clean up bitarrays and more, add merkle proof, add crypto.go script -- Add Address spec. notes about Query -- Pex update -- Abci notes. closes #1257 -- Move to final location (#1576) -- Add missing field to NodeInfoOther (#2426) -- Update spec with tendermint updates (#62) -- Add ProofTrialPeriod to EvidenceParam (#99) -- Modify Header.LastResultsHash (#97) -- Link to abci server implementations (#100) -- Update evidence in blockchain.md (#108) -- Revert event hashing (#132) -- Update abci events (#151) -- Extract light-client to its own directory (#152) -- Remove evidences (#153) -- Light client attack detector (#164) -- Protobuf changes (#156) -- Update light client verification to match supervisor (#171) -- Remove reactor section (#242) -- Merge rust-spec (#252) +- ResponseInfo and ResponseEndBlock + +### Types + +- Benchmark WriteSignBytes +- Canonical_json.go +- SignatureEd25519 -> Signature +- Use mtx on PartSet.String() +- ValSet LastProposer->Proposer and Proposer()->GetProposer() -### Spec/abci +## [0.7.4] - 2016-12-14 -- Expand on Validator#Address (#118) +### Testing -### Spec/consensus +- App persistence +- Tmsp query result is json +- Increase proposal timeout +- Cleanup and fix scripts +- Crank it to eleventy +- More cleanup on p2p -- Canonical vs subjective commit +### Addrbook -### Spec/consensus/signing +- Toggle strict routability -- Add more details about nil and amnesia (#54) +### Blockchain -### Spec/reactors/mempool +- Use ApplyBlock -- Batch txs per peer (#155) +### Consensus -### State +- Test reactor +- Fix panic on POLRound=-1 +- Ensure dir for cswal on reactor tests +- Lock before loading commit +- Track index of privVal +- Test validator set change -- ExecTx bug fixes for create contract -- Fix debug logs -- Fix CreateAddress to use Address not Word -- Fixes for creating a contract and msging it in the same block -- Fix GetStorage on blockcache with unknown account -- FireEvents flag on ExecTx and fixes for GetAccount -- ApplyBlock -- AppHashIsStale -> IntermediateState -- Remove StateIntermediate -- ABCIResponses, s.Save() in ApplyBlock -- Comments; use wire.BinaryBytes -- Persist validators -- Minor comment fixes -- Return to-be-used function -- TestValidateBlock -- Move methods to funcs -- BlockExecutor -- Re-order funcs. fix tests -- Send byzantine validators in BeginBlock -- Builds -- Fix txResult issue with UnmarshalBinary into ptr -- S -> state -- B -> block -- Err if 0 power validator is added to the validator set -- Format panics -- Require block.Time of the fist block to be genesis time (#2594) -- Use last height changed if validator set is empty (#3560) -- Add more tests for block validation (#3674) -- Txindex/kv: fsync data to disk immediately after receiving it (#4104) -- Txindex/kv: return an error if there's one (#4095) -- Export InitStateVersion -- Proto migration (#4951) -- Proto migration (#4972) -- Revert event hashing (#5159) -- Don't save genesis state in database when loaded (#5231) -- Define interface for state store (#5348) -- More test cases for block validation (#5415) -- Prune states using an iterator (#5864) -- Save in batches within the state store (#6067) -- Cleanup block indexing logs and null (#6263) -- Fix block event indexing reserved key check (#6314) -- Fix block event indexing reserved key check (#6314) (#6315) -- Keep a cache of block verification results (#6402) +### Counter -### State/indexer +- Fix tx buffer overflow -- Reconstruct indexer, move txindex into the indexer package (#6382) +### Cswal -### State/store +- Write #HEIGHT:1 for empty wal -- Remove extra `if` statement (#3774) +### Dummy -### Statesync +- Valset changes and tests -- Use Protobuf instead of Amino for p2p traffic (#4943) -- Fix valset off-by-one causing consensus failures (#5311) -- Broadcast snapshot request to all peers on startup (#5320) -- Fix the validator set heights (again) (#5330) -- Check all necessary heights when adding snapshot to pool (#5516) -- Check all necessary heights when adding snapshot to pool (#5516) (#5518) -- Do not recover panic on peer updates (#5869) -- Improve e2e test outcomes (#6378) -- Improve e2e test outcomes (backport #6378) (#6380) -- Sort snapshots by commonness (#6385) -- Fix unreliable test (#6390) -- Ranking test fix (#6415) +### Glide -### Store +- Update go-common -- Register block amino, not just crypto (#3894) -- Proto migration (#4974) -- Order-preserving varint key encoding (#5771) -- Use db iterators for pruning and range-based queries (#5848) -- Fix deadlock in pruning (#6007) -- Use a batch instead of individual writes in SaveBlock (#6018) +### Rpc -### Swagger +- Remove restriction on DialSeeds -- Update swagger port (#4498) -- Remove duplicate blockID -- Define version (#4952) -- Update (#5257) +### Shame -### Sync +- Forgot a file -- Move closer to separate file (#6015) +### State -### Template +- ApplyBlock -- Add labels to pr template +### Types -### Throttle_timer +- Pretty print validators +- Update LastBlockInfo and ConfigInfo +- Copy vote set bit array +- Copy commit bit array -- Fix race, use mtx instead of atomic +## [0.7.3] - 2016-10-21 -### Tm-bench +### Testing -- Improve code shape -- Update dependencies, add total metrics -- Add deprecation warning (#3992) +- Codecov +- Use glide with mintnet/netmon +- Install glide for network test -### Tm-monitor +### Consensus -- Update health after we added / removed node (#2694) -- Update build-docker Makefile target (#3790) -- Add Context to RPC handlers (#3792) +- Hvs.StringIndented needed a lock. addresses #284 -### Tmbench +### Log -- Fix iterating through the blocks, update readme -- Make tx size configurable -- Update dependencies to use tendermint's master -- Make sendloop act in one second segments (#110) -- Make it more resilient to WSConn breaking (#111) +- Move some Info to Debug -### Tmhash +### Replay -- Add Sum function +- Larger read buffer +- More tests +- Ensure cs.height and wal.height match -### Tmsp +### Rpc -- ResponseInfo and ResponseEndBlock +- Use interfaces for pipe -### Tmtime +### Service -- Canonical, some comments (#2312) +- Reset() for restarts -### Toml +### Version -- Make sections standout (#4993) +- Bump 0.7.3 -### Tool +## [0.7.2] - 2016-09-11 -- Add Mergify (#4490) +### Documentation -### Tooling +- Move FROM to golang:1.4 because 1.4.2 broke -- Remove tools/Makefile (#6102) -- Remove tools/Makefile (bp #6102) (#6106) +### Makefile -### Tools +- Go test --race -- Remove redundant grep -v vendors/ (#1996) -- Clean up Makefile and remove LICENSE file (#2042) -- Refactor tm-bench (#2570) -- Remove need to install buf (#4605) -- Update gogoproto get cmd (#5007) -- Use os home dir to instead of the hardcoded PATH (#6498) +### Testing -### Tools.mk +- Broadcast_tx with tmsp; p2p +- Add throughput benchmark using mintnet and netmon +- Install mintnet, netmon +- Use MACH_PREFIX +- Cleanup +- Dont run cloud test on push to master +- README.md +- Refactor bash; test fastsync (failing) +- Name client conts so we dont need to rm them because circle +- Test dummy using rpc query +- Add xxd dep to dockerfile +- More verbosity +- Add killall to dockerfile. cleanup -- Use tags instead of revisions where possible -- Install protoc +### Binary -### Tools/build +- Prevent runaway alloc -- Delete stale tools (#4558) +### Block/state -### Tools/tm-bench +- Add CallTx type +- Gas price for block and tx -- Don't count the first block if its empty -- Remove testing flags from help (#1949) -- Don't count the first block if its empty (#1948) -- Bounds check for txSize and improving test cases (#2410) -- Remove tm-bench in favor of tm-load-test (#4169) +### Circle -### Tools/tm-signer-harness +- Docker 1.10.0 -- Fix listener leak in newTestHarnessListener() (#5850) -- Fix listener leak in newTestHarnessListener() (#5850) +### Client -### Tools/tmbench +- ResultsCh chan json.RawMessage, ErrorsCh +- Wsc.String() +- Safe error handling + +### Config + +- Hardcode default genesis.json +- Block size, consensus timeouts, recheck tx +- Cswal_light, mempool_broadcast, mempool_reap +- Toggle authenticated encryption +- Disable_data_hash (for testing) +- All urls use tcp:// or unix:// prefix +- Filter_peers defaults to false +- Reduce timeouts during test + +### Consensus + +- Broadcast evidence tx on ErrVoteConflictingSignature +- Check both vote orderings for dupeout txs +- Fix negative timeout; log levels +- Msg saving and replay +- Replay console +- Use replay log to avoid sign regression +- Don't wait for wal if conS not running +- Dont allow peer round states to decrease +- Cswal doesnt write any consensus msgs in light mode +- Fix more races in tests +- Fix race from OnStop accessing cs.Height +- T.Fatal -> panic +- Hvs.Reset(height, valSet) +- Increase mempool_test timeout +- Don't print shared vars in cs.String() +- Add note about replay test +- No sign err in replay; fix a race + +### Daemon -- Fix the end time being used for statistics calculation -- Improve accuracy with large tx sizes. -- Move statistics to a seperate file +- Refactor out of cmd into own package -### Tx +### Db -- Reduce function to one parameter (#5493) +- Add Close() to db interface. closes #31 -### Txindexer +### Events -- Refactor Tx Search Aggregation (#3851) +- Integrate event switch into services via Eventable interface -### Types +### Glide -- PrivVal.LastSignature. closes #247 -- Pretty print validators -- Update LastBlockInfo and ConfigInfo -- Copy vote set bit array -- Copy commit bit array -- Benchmark WriteSignBytes -- Canonical_json.go -- SignatureEd25519 -> Signature -- Use mtx on PartSet.String() -- ValSet LastProposer->Proposer and Proposer()->GetProposer() -- []byte -> data.Bytes -- Result and Validator use data.Bytes -- Methods convert pb types to use data.Bytes -- Block comments -- Remove redundant version file -- PrivVal.Sign returns an error -- More . -> cmn -- Comments -- ConsensusParams test + document the ranges/limits -- ConsensusParams: add feedback from @ebuchman and @melekes -- Unexpose valset.To/FromBytes -- Add gas and fee fields to CheckTx -- Use data.Bytes directly in type.proto via gogo/protobuf. wow -- Consolidate some file -- Add note about ReadMessage having no cap -- RequestBeginBlock includes absent and byzantine validators -- Drop uint64 from protobuf.go -- IsOK() -- Int32 with gogo int -- Fix for broken customtype int in gogo -- Add MarshalJSON funcs for Response types with a Code -- Add UnmarshalJSON funcs for Response types -- Compile type assertions to avoid sneaky runtime surprises -- Check ResponseCheckTx too -- Update String() test to assert Prevote type -- Rename exampleVote to examplePrecommit on vote_test -- Add test for IsVoteTypeValid -- Params.Update() -- Comments; compiles; evidence test -- Evidences for merkle hashing; Evidence.String() -- Tx.go comments -- Evidence cleanup -- Better error messages for votes -- Check bufio.Reader -- TxEventBuffer.Flush now uses capacity preserving slice clearing idiom -- RequestInitChain.AppStateBytes -- Update for new go-wire. WriteSignBytes -> SignBytes -- Remove dep on p2p -- Tests build -- Builds -- Revert to old wire. builds -- Working on tests... -- P2pID -> P2PID -- Fix validator_set_test issue with UnmarshalBinary into ptr -- Bring back json.Marshal/Unmarshal for genesis/priv_val -- TestValidatorSetVerifyCommit -- Uncomment some tests -- Hash invoked for nil Data and Header should not panic -- Compile time assert to, and document sort.Interface -- Revert CheckTx/DeliverTx changes. make them the same -- Fix genesis.AppStateJSON -- Lock block on MakePartSet -- Fix formatting when printing signatures -- Allow genesis file to have 0 validators (#2148) -- Remove pubkey from validator hash (#2512) -- Cap evidence in block validation (#2560) -- Remove Version from CanonicalXxx (#2666) -- Dont use SimpleHashFromMap for header. closes #1841 (#2670) -- First field in Canonical structs is Type (#2675) -- Emit tags from BeginBlock/EndBlock (#2747) -- NewValidatorSet doesn't panic on empty valz list (#2938) -- ValidatorSet.Update preserves Accum (#2941) -- Comments on user vs internal events -- Validator set update tests (#3284) -- Followup after validator set changes (#3301) -- Remove check for priority order of existing validators (#3407) -- Refactor PB2TM.ConsensusParams to take BlockTimeIota as an arg (#3442) -- CommitVotes struct as last step towards #1648 (#3298) -- Do not ignore errors returned by PublishWithEvents (#3722) -- Move MakeVote / MakeBlock functions (#3819) -- Add test for block commits with votes for the wrong blockID (#3936) -- Prevent temporary power overflows on validator updates (#4165) -- Change number_txs to num_txs json tag in BlockMeta -- Remove dots from errors in SignedHeader#ValidateBasic -- Change `Commit` to consist of just signatures (#4146) -- Prevent spurious validator power overflow warnings when changing the validator set (#4183) -- VerifyCommitX return when +2/3 sigs are verified (#4445) -- Implement Header#ValidateBasic (#4638) -- Return an error if voting power overflows -- Sort validators by voting power -- Simplify VerifyCommitTrusting -- Remove extra validation in VerifyCommit -- Assert specific error in TestValSetUpdateOverflowRelated -- Remove unnecessary sort call (#4876) -- Create ValidateBasic() funcs for validator and validator set (#4905) -- Remove VerifyFutureCommit (#4961) -- Migrate params to protobuf (#4962) -- Remove duplicated validation in VerifyCommit (#4991) -- Add tests for blockmeta (#5013) -- Remove pubkey options (#5016) -- More test cases for TestValidatorSet_VerifyCommit (#5018) -- Rename partsheader to partsetheader (#5029) -- Fix evidence timestamp calculation (#5032) -- Add AppVersion to ConsensusParams (#5031) -- Reject blocks w/ ConflictingHeadersEvidence (#5041) -- Simplify safeMul (#5061) -- Verify commit fully -- Validatebasic on from proto (#5152) -- Check if nil or empty valset (#5167) -- Comment on need for length prefixing (#5283) -- Rename json parts to part_set_header (#5523) -- Move `MakeBlock` to block.go (#5573) -- Cleanup protobuf.go (#6023) -- Refactor EventAttribute (#6408) -- Fix verify commit light / trusting bug (#6414) -- Revert breaking change (#6538) +- Update go-common +- Update lock and add util scripts -### Types/heartbeat +### Mempool -- Test all Heartbeat functions +- Add GetState() +- Remove bad txs from cacheMap +- Don't remove committed txs from cache -### Types/params +### P2p -- Introduce EvidenceParams +- Push handshake containing chainId for early disconnect. Closes #12 +- Fix switch_test to account for handshake +- Broadcast spawns goroutine to Send on each peer and times out after 10 seconds. Closes #7 +- Fix switch test for Broadcast returning success channel -### Types/priv_validator +### Proxy -- Fixes for latest p2p and cmn +- Typed app conns +- NewAppConns takes a NewTMSPClient func +- Wrap NewTMSPClient in ClientCreator +- Nil -> nilapp -### Types/test +### Rpc -- Remove slow test cases in TestValSetUpdatePriorityOrderTests (#4903) +- Add status and net info +- Return tx hash, creates contract, contract addr in broadcast (required some helper functions). Closes #30 +- Give each call a dedicated Response struct, add basic test +- Separate out golang API into rpc/core +- Generalized rpc using reflection on funcs and params +- Fixes for better type handlings, explicit error field in response, more tests +- Cleanup, more tests, working http and jsonrpc +- Fix tests to count mempool; copy responses to avoid data races +- Return (*Response, error) for all functions +- GetStorage and Call methods. Tests. +- Decrement mempool count after block mined +- GetStorage and Call methods. Tests. +- Decrement mempool count after block mined +- Auto generated client methods using rpc-gen +- Myriad little fixes +- Cleanup, use client for tests, rpc-gen fixes +- Websockets +- Tests cleanup, use client lib for JSONRPC testing too +- Test CallCode and Call +- Fix memcount error in tests +- Use gorilla websockets +- First successful websocket event subscription +- Websocket events testing +- Use NewBlock event in rpc tests +- Cleanup tests and test contract calls +- Genesis route +- Remove unecessary response wrappers +- Add app_hash to /status +- TMResult and TMEventData +- Test cleanup +- Unsafe_set_config +- Num_unconfirmed_txs (avoid sending txs back) +- Start/stop cpu profiler +- Unsafe_write_heap_profile +- Broadcast tests. closes #219 +- Unsafe_flush_mempool. closes #190 -### Types/time +### Rpc/tests -- Add note about stripping monotonic part +- Panic dont t.Fatal. use random txs for broadcast -### Types/validator_set_test +### Server -- Move funcs around +- Allow multiple connections +- Return result with error -### Upgrading +### Service -- Add note on rpc/client subpackages (#4636) -- State store change (#5364) -- Update 0.34 instructions with updates since RC4 (#5685) -- Update 0.34 instructions with updates since RC4 (#5686) +- Start/stop logs are info, ignored are debug -### Upnp +### State -- Keep a link +- ExecTx bug fixes for create contract +- Fix debug logs +- Fix CreateAddress to use Address not Word +- Fixes for creating a contract and msging it in the same block +- Fix GetStorage on blockcache with unknown account +- FireEvents flag on ExecTx and fixes for GetAccount -### Ux +### Throttle_timer -- Use docker to format proto files (#5384) +- Fix race, use mtx instead of atomic -### Version +### Types -- Bump 0.7.3 -- Add and bump abci version -- Types -- Bump version numbers (#5173) -- Add abci version to handshake (#5706) -- Revert version through ldflag only (#6494) +- PrivVal.LastSignature. closes #247 ### Vm @@ -6223,30 +9398,3 @@ - Eventable and flip fix on CALL address - Catch stack underflow on Peek() -### Wal - -- Gr.Close() - -### Wip - -- Tendermint specification -- Priv val via sockets -- Comment types -- Fix code block in ADR -- Fix nil pointer deference -- Avoid underscore in var name -- Check error of wire read - -### Wire - -- No codec yet - -### Ws - -- Small comment -- Parse remote addrs with trailing dash (#6537) - -### WsConnection - -- Call onDisconnect - diff --git a/version/version.go b/version/version.go index e666b0d140..abaecd764d 100644 --- a/version/version.go +++ b/version/version.go @@ -9,7 +9,7 @@ var ( const ( // TMVersionDefault is the used as the fallback version for Tenderdash // when not using git describe. It is formatted with semantic versioning. - TMVersionDefault = "0.11.2" + TMVersionDefault = "0.11.3" // ABCISemVer is the semantic version of the ABCI library ABCISemVer = "0.20.0" From 51b15af2655bdb10eab1a9e274e578ae86d1f15c Mon Sep 17 00:00:00 2001 From: Dmitrii Golubev Date: Wed, 19 Jul 2023 16:07:29 +0200 Subject: [PATCH 08/19] feat(statesync): implement statesync spec for the new approach (#663) * feat: add ordered_map.go * feat: introduce a new approach of a state sync * refactor: modify kvstore to be compatible with a new statesync approach --- abci/example/kvstore/kvstore.go | 15 +- abci/example/kvstore/kvstore_test.go | 30 +- abci/example/kvstore/snapshots.go | 113 ++- abci/example/kvstore/snapshots_test.go | 37 + abci/types/types.pb.go | 850 +++++++++--------- config/config.go | 2 +- internal/rpc/core/status.go | 1 - internal/statesync/chunks.go | 517 +++++------ internal/statesync/chunks_test.go | 715 ++++++--------- internal/statesync/metrics.gen.go | 7 - internal/statesync/metrics.go | 2 - internal/statesync/reactor.go | 137 ++- internal/statesync/reactor_test.go | 147 +-- internal/statesync/snapshots.go | 36 +- internal/statesync/snapshots_test.go | 80 +- internal/statesync/syncer.go | 261 +++--- internal/statesync/syncer_test.go | 1138 +++++++++++++----------- libs/ds/ordered_map.go | 71 ++ libs/ds/ordered_map_test.go | 42 + proto/tendermint/abci/types.proto | 32 +- proto/tendermint/statesync/types.pb.go | 251 +++--- proto/tendermint/statesync/types.proto | 23 +- rpc/client/mock/status_test.go | 2 - rpc/coretypes/responses.go | 1 - spec/abci++/api.md | 13 +- 25 files changed, 2355 insertions(+), 2168 deletions(-) create mode 100644 abci/example/kvstore/snapshots_test.go create mode 100644 libs/ds/ordered_map.go create mode 100644 libs/ds/ordered_map_test.go diff --git a/abci/example/kvstore/kvstore.go b/abci/example/kvstore/kvstore.go index e9b6fbe482..d5f0f63c37 100644 --- a/abci/example/kvstore/kvstore.go +++ b/abci/example/kvstore/kvstore.go @@ -493,7 +493,7 @@ func (app *Application) LoadSnapshotChunk(_ context.Context, req *abci.RequestLo app.mu.Lock() defer app.mu.Unlock() - chunk, err := app.snapshots.LoadChunk(req.Height, req.Format, req.Chunk) + chunk, err := app.snapshots.LoadChunk(req.Height, req.Version, req.ChunkId) if err != nil { return &abci.ResponseLoadSnapshotChunk{}, err } @@ -523,7 +523,11 @@ func (app *Application) ApplySnapshotChunk(_ context.Context, req *abci.RequestA if app.offerSnapshot == nil { return &abci.ResponseApplySnapshotChunk{}, fmt.Errorf("no restore in progress") } - app.offerSnapshot.addChunk(int(req.Index), req.Chunk) + + resp := &abci.ResponseApplySnapshotChunk{ + Result: abci.ResponseApplySnapshotChunk_ACCEPT, + NextChunks: app.offerSnapshot.addChunk(req.ChunkId, req.Chunk), + } if app.offerSnapshot.isFull() { chunks := app.offerSnapshot.bytes() @@ -538,11 +542,10 @@ func (app *Application) ApplySnapshotChunk(_ context.Context, req *abci.RequestA "snapshot_height", app.offerSnapshot.snapshot.Height, "snapshot_apphash", app.offerSnapshot.appHash, ) + resp.Result = abci.ResponseApplySnapshotChunk_COMPLETE_SNAPSHOT app.offerSnapshot = nil } - resp := &abci.ResponseApplySnapshotChunk{Result: abci.ResponseApplySnapshotChunk_ACCEPT} - app.logger.Debug("ApplySnapshotChunk", "resp", resp) return resp, nil } @@ -556,7 +559,9 @@ func (app *Application) createSnapshot() error { if err != nil { return fmt.Errorf("create snapshot: %w", err) } - app.logger.Info("created state sync snapshot", "height", height, "apphash", app.LastCommittedState.GetAppHash()) + app.logger.Info("created state sync snapshot", + "height", height, + "apphash", app.LastCommittedState.GetAppHash()) err = app.snapshots.Prune(maxSnapshotCount) if err != nil { return fmt.Errorf("prune snapshots: %w", err) diff --git a/abci/example/kvstore/kvstore_test.go b/abci/example/kvstore/kvstore_test.go index 14a36d4a3c..caee1a4a4c 100644 --- a/abci/example/kvstore/kvstore_test.go +++ b/abci/example/kvstore/kvstore_test.go @@ -493,24 +493,20 @@ func TestSnapshots(t *testing.T) { }) require.NoError(t, err) assert.Equal(t, types.ResponseOfferSnapshot_ACCEPT, respOffer.Result) + loaded, err := app.LoadSnapshotChunk(ctx, &types.RequestLoadSnapshotChunk{ + Height: recentSnapshot.Height, + ChunkId: recentSnapshot.Hash, + Version: recentSnapshot.Version, + }) + require.NoError(t, err) - for chunk := uint32(0); chunk < recentSnapshot.Chunks; chunk++ { - loaded, err := app.LoadSnapshotChunk(ctx, &types.RequestLoadSnapshotChunk{ - Height: recentSnapshot.Height, - Chunk: chunk, - Format: recentSnapshot.Format, - }) - require.NoError(t, err) - - applied, err := dstApp.ApplySnapshotChunk(ctx, &types.RequestApplySnapshotChunk{ - Index: chunk, - Chunk: loaded.Chunk, - Sender: "app", - }) - require.NoError(t, err) - assert.Equal(t, types.ResponseApplySnapshotChunk_ACCEPT, applied.Result) - } - + applied, err := dstApp.ApplySnapshotChunk(ctx, &types.RequestApplySnapshotChunk{ + ChunkId: recentSnapshot.Hash, + Chunk: loaded.Chunk, + Sender: "app", + }) + require.NoError(t, err) + assert.Equal(t, types.ResponseApplySnapshotChunk_COMPLETE_SNAPSHOT, applied.Result) infoResp, err := dstApp.Info(ctx, &types.RequestInfo{}) require.NoError(t, err) assertRespInfo(t, int64(recentSnapshot.Height), appHashes[snapshotHeight], *infoResp) diff --git a/abci/example/kvstore/snapshots.go b/abci/example/kvstore/snapshots.go index 919f640d1d..375ef89771 100644 --- a/abci/example/kvstore/snapshots.go +++ b/abci/example/kvstore/snapshots.go @@ -3,10 +3,10 @@ package kvstore import ( "bytes" + "encoding/hex" "encoding/json" "errors" "fmt" - "math" "os" "path/filepath" @@ -15,6 +15,7 @@ import ( abci "github.com/tendermint/tendermint/abci/types" "github.com/tendermint/tendermint/crypto" tmbytes "github.com/tendermint/tendermint/libs/bytes" + "github.com/tendermint/tendermint/libs/ds" ) const ( @@ -27,11 +28,17 @@ const ( // SnapshotStore stores state sync snapshots. Snapshots are stored simply as // JSON files, and chunks are generated on-the-fly by splitting the JSON data // into fixed-size chunks. -type SnapshotStore struct { - sync.RWMutex - dir string - metadata []abci.Snapshot -} +type ( + SnapshotStore struct { + sync.RWMutex + dir string + metadata []abci.Snapshot + } + chunkItem struct { + Data []byte `json:"data"` + NextChunkIDs [][]byte `json:"nextChunkIDs"` + } +) // NewSnapshotStore creates a new snapshot store. func NewSnapshotStore(dir string) (*SnapshotStore, error) { @@ -49,7 +56,7 @@ func NewSnapshotStore(dir string) (*SnapshotStore, error) { // called internally on construction. func (s *SnapshotStore) loadMetadata() error { file := filepath.Join(s.dir, "metadata.json") - metadata := []abci.Snapshot{} + var metadata []abci.Snapshot bz, err := os.ReadFile(file) switch { @@ -96,10 +103,9 @@ func (s *SnapshotStore) Create(state State) (abci.Snapshot, error) { } height := state.GetHeight() snapshot := abci.Snapshot{ - Height: uint64(height), - Format: 1, - Hash: crypto.Checksum(bz), - Chunks: byteChunks(bz), + Height: uint64(height), + Version: 1, + Hash: crypto.Checksum(bz), } err = os.WriteFile(filepath.Join(s.dir, fmt.Sprintf("%v.json", height)), bz, 0644) if err != nil { @@ -152,16 +158,18 @@ func (s *SnapshotStore) List() ([]*abci.Snapshot, error) { } // LoadChunk loads a snapshot chunk. -func (s *SnapshotStore) LoadChunk(height uint64, format uint32, chunk uint32) ([]byte, error) { +func (s *SnapshotStore) LoadChunk(height uint64, version uint32, chunkID []byte) ([]byte, error) { s.RLock() defer s.RUnlock() for _, snapshot := range s.metadata { - if snapshot.Height == height && snapshot.Format == format { - bz, err := os.ReadFile(filepath.Join(s.dir, fmt.Sprintf("%v.json", height))) + if snapshot.Height == height && snapshot.Version == version { + bz, err := os.ReadFile(filepath.Join(s.dir, fmt.Sprintf("%d.json", height))) if err != nil { return nil, err } - return byteChunk(bz, chunk), nil + chunks := makeChunks(bz, snapshotChunkSize) + item := makeChunkItem(chunks, chunkID) + return json.Marshal(item) } } return nil, nil @@ -170,54 +178,79 @@ func (s *SnapshotStore) LoadChunk(height uint64, format uint32, chunk uint32) ([ type offerSnapshot struct { snapshot *abci.Snapshot appHash tmbytes.HexBytes - chunks [][]byte - chunkCnt int + chunks *ds.OrderedMap[string, []byte] } func newOfferSnapshot(snapshot *abci.Snapshot, appHash tmbytes.HexBytes) *offerSnapshot { return &offerSnapshot{ snapshot: snapshot, appHash: appHash, - chunks: make([][]byte, snapshot.Chunks), - chunkCnt: 0, + chunks: ds.NewOrderedMap[string, []byte](), } } -func (s *offerSnapshot) addChunk(index int, chunk []byte) { - if s.chunks[index] != nil { - return +func (s *offerSnapshot) addChunk(chunkID tmbytes.HexBytes, data []byte) [][]byte { + chunkIDStr := chunkID.String() + if s.chunks.Has(chunkIDStr) { + return nil } - s.chunks[index] = chunk - s.chunkCnt++ + var item chunkItem + err := json.Unmarshal(data, &item) + if err != nil { + panic("failed to decode a chunk data: " + err.Error()) + } + s.chunks.Put(chunkIDStr, item.Data) + return item.NextChunkIDs } func (s *offerSnapshot) isFull() bool { - return s.chunkCnt == int(s.snapshot.Chunks) + return bytes.Equal(crypto.Checksum(s.bytes()), s.snapshot.Hash) } func (s *offerSnapshot) bytes() []byte { + chunks := s.chunks.Values() buf := bytes.NewBuffer(nil) - for _, chunk := range s.chunks { + for _, chunk := range chunks { buf.Write(chunk) } return buf.Bytes() } -// byteChunk returns the chunk at a given index from the full byte slice. -func byteChunk(bz []byte, index uint32) []byte { - start := int(index * snapshotChunkSize) - end := int((index + 1) * snapshotChunkSize) - switch { - case start >= len(bz): - return nil - case end >= len(bz): - return bz[start:] - default: - return bz[start:end] +// makeChunkItem returns the chunk at a given index from the full byte slice. +func makeChunkItem(chunks *ds.OrderedMap[string, []byte], chunkID []byte) chunkItem { + chunkIDStr := hex.EncodeToString(chunkID) + val, ok := chunks.Get(chunkIDStr) + if !ok { + panic("chunk not found") } + chunkIDs := chunks.Keys() + ci := chunkItem{Data: val} + i := 0 + for ; i < len(chunkIDs) && chunkIDs[i] != chunkIDStr; i++ { + } + if i+1 < len(chunkIDs) { + data, err := hex.DecodeString(chunkIDs[i+1]) + if err != nil { + panic(err) + } + ci.NextChunkIDs = [][]byte{data} + } + return ci } -// byteChunks calculates the number of chunks in the byte slice. -func byteChunks(bz []byte) uint32 { - return uint32(math.Ceil(float64(len(bz)) / snapshotChunkSize)) +func makeChunks(bz []byte, chunkSize int) *ds.OrderedMap[string, []byte] { + chunks := ds.NewOrderedMap[string, []byte]() + totalHash := hex.EncodeToString(crypto.Checksum(bz)) + key := totalHash + for i := 0; i < len(bz); i += chunkSize { + j := i + chunkSize + if j > len(bz) { + j = len(bz) + } + if i > 1 { + key = hex.EncodeToString(crypto.Checksum(bz[i:j])) + } + chunks.Put(key, append([]byte(nil), bz[i:j]...)) + } + return chunks } diff --git a/abci/example/kvstore/snapshots_test.go b/abci/example/kvstore/snapshots_test.go new file mode 100644 index 0000000000..2b75b9b391 --- /dev/null +++ b/abci/example/kvstore/snapshots_test.go @@ -0,0 +1,37 @@ +package kvstore + +import ( + "encoding/hex" + "math/rand" + "testing" + + "github.com/stretchr/testify/require" +) + +func TestChunkItem(t *testing.T) { + const size = 64 + chunks := makeChunks(makeBytes(1032), size) + keys := chunks.Keys() + values := chunks.Values() + for i, key := range keys { + chunkID, err := hex.DecodeString(key) + require.NoError(t, err) + item := makeChunkItem(chunks, chunkID) + require.Equal(t, values[i], item.Data) + if i+1 < len(keys) { + nextChunkID, err := hex.DecodeString(keys[i+1]) + require.NoError(t, err) + require.Equal(t, [][]byte{nextChunkID}, item.NextChunkIDs) + } else { + require.Nil(t, item.NextChunkIDs) + } + } +} + +func makeBytes(size int) []byte { + bz := make([]byte, size) + for i := 0; i < size; i++ { + bz[i] = byte(rand.Int63n(256)) + } + return bz +} diff --git a/abci/types/types.pb.go b/abci/types/types.pb.go index e6b831ead6..024e6774f7 100644 --- a/abci/types/types.pb.go +++ b/abci/types/types.pb.go @@ -130,12 +130,13 @@ func (ResponseOfferSnapshot_Result) EnumDescriptor() ([]byte, []int) { type ResponseApplySnapshotChunk_Result int32 const ( - ResponseApplySnapshotChunk_UNKNOWN ResponseApplySnapshotChunk_Result = 0 - ResponseApplySnapshotChunk_ACCEPT ResponseApplySnapshotChunk_Result = 1 - ResponseApplySnapshotChunk_ABORT ResponseApplySnapshotChunk_Result = 2 - ResponseApplySnapshotChunk_RETRY ResponseApplySnapshotChunk_Result = 3 - ResponseApplySnapshotChunk_RETRY_SNAPSHOT ResponseApplySnapshotChunk_Result = 4 - ResponseApplySnapshotChunk_REJECT_SNAPSHOT ResponseApplySnapshotChunk_Result = 5 + ResponseApplySnapshotChunk_UNKNOWN ResponseApplySnapshotChunk_Result = 0 + ResponseApplySnapshotChunk_ACCEPT ResponseApplySnapshotChunk_Result = 1 + ResponseApplySnapshotChunk_ABORT ResponseApplySnapshotChunk_Result = 2 + ResponseApplySnapshotChunk_RETRY ResponseApplySnapshotChunk_Result = 3 + ResponseApplySnapshotChunk_RETRY_SNAPSHOT ResponseApplySnapshotChunk_Result = 4 + ResponseApplySnapshotChunk_REJECT_SNAPSHOT ResponseApplySnapshotChunk_Result = 5 + ResponseApplySnapshotChunk_COMPLETE_SNAPSHOT ResponseApplySnapshotChunk_Result = 6 ) var ResponseApplySnapshotChunk_Result_name = map[int32]string{ @@ -145,15 +146,17 @@ var ResponseApplySnapshotChunk_Result_name = map[int32]string{ 3: "RETRY", 4: "RETRY_SNAPSHOT", 5: "REJECT_SNAPSHOT", + 6: "COMPLETE_SNAPSHOT", } var ResponseApplySnapshotChunk_Result_value = map[string]int32{ - "UNKNOWN": 0, - "ACCEPT": 1, - "ABORT": 2, - "RETRY": 3, - "RETRY_SNAPSHOT": 4, - "REJECT_SNAPSHOT": 5, + "UNKNOWN": 0, + "ACCEPT": 1, + "ABORT": 2, + "RETRY": 3, + "RETRY_SNAPSHOT": 4, + "REJECT_SNAPSHOT": 5, + "COMPLETE_SNAPSHOT": 6, } func (x ResponseApplySnapshotChunk_Result) String() string { @@ -1024,9 +1027,9 @@ func (m *RequestOfferSnapshot) GetAppHash() []byte { // Used during state sync to retrieve snapshot chunks from peers. type RequestLoadSnapshotChunk struct { - Height uint64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"` - Format uint32 `protobuf:"varint,2,opt,name=format,proto3" json:"format,omitempty"` - Chunk uint32 `protobuf:"varint,3,opt,name=chunk,proto3" json:"chunk,omitempty"` + Height uint64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"` + Version uint32 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"` + ChunkId []byte `protobuf:"bytes,3,opt,name=chunk_id,json=chunkId,proto3" json:"chunk_id,omitempty"` } func (m *RequestLoadSnapshotChunk) Reset() { *m = RequestLoadSnapshotChunk{} } @@ -1069,18 +1072,18 @@ func (m *RequestLoadSnapshotChunk) GetHeight() uint64 { return 0 } -func (m *RequestLoadSnapshotChunk) GetFormat() uint32 { +func (m *RequestLoadSnapshotChunk) GetVersion() uint32 { if m != nil { - return m.Format + return m.Version } return 0 } -func (m *RequestLoadSnapshotChunk) GetChunk() uint32 { +func (m *RequestLoadSnapshotChunk) GetChunkId() []byte { if m != nil { - return m.Chunk + return m.ChunkId } - return 0 + return nil } // Applies a snapshot chunk. @@ -1096,9 +1099,9 @@ func (m *RequestLoadSnapshotChunk) GetChunk() uint32 { // it will reject the snapshot and try a different one via OfferSnapshot. The application should be prepared to reset // and accept it or abort as appropriate. type RequestApplySnapshotChunk struct { - Index uint32 `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"` - Chunk []byte `protobuf:"bytes,2,opt,name=chunk,proto3" json:"chunk,omitempty"` - Sender string `protobuf:"bytes,3,opt,name=sender,proto3" json:"sender,omitempty"` + ChunkId []byte `protobuf:"bytes,1,opt,name=chunk_id,json=chunkId,proto3" json:"chunk_id,omitempty"` + Chunk []byte `protobuf:"bytes,2,opt,name=chunk,proto3" json:"chunk,omitempty"` + Sender string `protobuf:"bytes,3,opt,name=sender,proto3" json:"sender,omitempty"` } func (m *RequestApplySnapshotChunk) Reset() { *m = RequestApplySnapshotChunk{} } @@ -1134,11 +1137,11 @@ func (m *RequestApplySnapshotChunk) XXX_DiscardUnknown() { var xxx_messageInfo_RequestApplySnapshotChunk proto.InternalMessageInfo -func (m *RequestApplySnapshotChunk) GetIndex() uint32 { +func (m *RequestApplySnapshotChunk) GetChunkId() []byte { if m != nil { - return m.Index + return m.ChunkId } - return 0 + return nil } func (m *RequestApplySnapshotChunk) GetChunk() []byte { @@ -2820,11 +2823,13 @@ type ResponseApplySnapshotChunk struct { Result ResponseApplySnapshotChunk_Result `protobuf:"varint,1,opt,name=result,proto3,enum=tendermint.abci.ResponseApplySnapshotChunk_Result" json:"result,omitempty"` // Refetch and reapply the given chunks, regardless of `result`. // Only the listed chunks will be refetched, and reapplied in sequential order. - RefetchChunks []uint32 `protobuf:"varint,2,rep,packed,name=refetch_chunks,json=refetchChunks,proto3" json:"refetch_chunks,omitempty"` + RefetchChunks [][]byte `protobuf:"bytes,2,rep,name=refetch_chunks,json=refetchChunks,proto3" json:"refetch_chunks,omitempty"` // Reject the given P2P senders, regardless of `Result`. Any chunks already applied will not be refetched // unless explicitly requested, but queued chunks from these senders will be discarded, and new chunks // or other snapshots rejected. RejectSenders []string `protobuf:"bytes,3,rep,name=reject_senders,json=rejectSenders,proto3" json:"reject_senders,omitempty"` + // Next chunks provides the list of chunks that should be requested next, if any. + NextChunks [][]byte `protobuf:"bytes,4,rep,name=next_chunks,json=nextChunks,proto3" json:"next_chunks,omitempty"` } func (m *ResponseApplySnapshotChunk) Reset() { *m = ResponseApplySnapshotChunk{} } @@ -2867,7 +2872,7 @@ func (m *ResponseApplySnapshotChunk) GetResult() ResponseApplySnapshotChunk_Resu return ResponseApplySnapshotChunk_UNKNOWN } -func (m *ResponseApplySnapshotChunk) GetRefetchChunks() []uint32 { +func (m *ResponseApplySnapshotChunk) GetRefetchChunks() [][]byte { if m != nil { return m.RefetchChunks } @@ -2881,6 +2886,13 @@ func (m *ResponseApplySnapshotChunk) GetRejectSenders() []string { return nil } +func (m *ResponseApplySnapshotChunk) GetNextChunks() [][]byte { + if m != nil { + return m.NextChunks + } + return nil +} + type ResponsePrepareProposal struct { // Possibly modified list of transactions that have been picked as part of the proposed block. TxRecords []*TxRecord `protobuf:"bytes,1,rep,name=tx_records,json=txRecords,proto3" json:"tx_records,omitempty"` @@ -4135,8 +4147,7 @@ func (m *Misbehavior) GetTotalVotingPower() int64 { type Snapshot struct { Height uint64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"` - Format uint32 `protobuf:"varint,2,opt,name=format,proto3" json:"format,omitempty"` - Chunks uint32 `protobuf:"varint,3,opt,name=chunks,proto3" json:"chunks,omitempty"` + Version uint32 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"` Hash []byte `protobuf:"bytes,4,opt,name=hash,proto3" json:"hash,omitempty"` Metadata []byte `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"` } @@ -4181,16 +4192,9 @@ func (m *Snapshot) GetHeight() uint64 { return 0 } -func (m *Snapshot) GetFormat() uint32 { - if m != nil { - return m.Format - } - return 0 -} - -func (m *Snapshot) GetChunks() uint32 { +func (m *Snapshot) GetVersion() uint32 { if m != nil { - return m.Chunks + return m.Version } return 0 } @@ -4271,233 +4275,233 @@ func init() { func init() { proto.RegisterFile("tendermint/abci/types.proto", fileDescriptor_252557cfdd89a31a) } var fileDescriptor_252557cfdd89a31a = []byte{ - // 3604 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x5b, 0x4d, 0x70, 0x1b, 0xc7, - 0xb1, 0xc6, 0xe2, 0x1f, 0x8d, 0xbf, 0xe5, 0x90, 0x92, 0x20, 0x48, 0x22, 0xe9, 0xd5, 0xb3, 0x25, - 0xcb, 0x36, 0x69, 0x4b, 0xcf, 0x96, 0xfd, 0xec, 0xf7, 0x5e, 0x81, 0x20, 0xf4, 0x48, 0x89, 0x22, - 0xe9, 0x25, 0x48, 0x97, 0x9f, 0x63, 0xaf, 0x97, 0xc0, 0x90, 0x58, 0x0b, 0xc0, 0xae, 0x77, 0x17, - 0x34, 0xe8, 0x63, 0x12, 0xe7, 0xe0, 0x93, 0x6f, 0xc9, 0xc5, 0xc7, 0x1c, 0x73, 0xc9, 0x29, 0x95, - 0x43, 0x52, 0xb9, 0x39, 0x95, 0x8b, 0x8f, 0xb9, 0x44, 0x71, 0xc9, 0x97, 0x54, 0x6e, 0x39, 0xe5, - 0x96, 0x4a, 0xcd, 0xcf, 0xfe, 0x01, 0xbb, 0xf8, 0xb1, 0x5c, 0x95, 0xca, 0x0d, 0xd3, 0xd3, 0xdd, - 0x3b, 0xd3, 0xd3, 0xd3, 0xdd, 0xf3, 0xcd, 0x00, 0xae, 0xd8, 0xb8, 0xdf, 0xc6, 0x66, 0x4f, 0xeb, - 0xdb, 0xeb, 0xea, 0x71, 0x4b, 0x5b, 0xb7, 0xcf, 0x0d, 0x6c, 0xad, 0x19, 0xa6, 0x6e, 0xeb, 0xa8, - 0xec, 0x75, 0xae, 0x91, 0xce, 0xea, 0x35, 0x1f, 0x77, 0xcb, 0x3c, 0x37, 0x6c, 0x7d, 0xdd, 0x30, - 0x75, 0xfd, 0x84, 0xf1, 0x57, 0xfd, 0xca, 0xa8, 0x9e, 0xf5, 0xb6, 0x6a, 0x75, 0x78, 0xe7, 0xd5, - 0xb1, 0xce, 0xe3, 0xae, 0xde, 0x7a, 0x14, 0xd9, 0xeb, 0x1b, 0x48, 0xa0, 0x97, 0x7f, 0xf7, 0x11, - 0x3e, 0x77, 0x7a, 0xaf, 0x8d, 0xc9, 0x1a, 0xaa, 0xa9, 0xf6, 0x9c, 0xee, 0x65, 0x5f, 0xf7, 0x19, - 0x36, 0x2d, 0x4d, 0xef, 0x07, 0x94, 0xaf, 0x9c, 0xea, 0xfa, 0x69, 0x17, 0xaf, 0xd3, 0xd6, 0xf1, - 0xe0, 0x64, 0xdd, 0xd6, 0x7a, 0xd8, 0xb2, 0xd5, 0x9e, 0xc1, 0x19, 0x96, 0x4e, 0xf5, 0x53, 0x9d, - 0xfe, 0x5c, 0x27, 0xbf, 0x18, 0x55, 0xfa, 0x2c, 0x07, 0x19, 0x19, 0x7f, 0x3c, 0xc0, 0x96, 0x8d, - 0x6e, 0x43, 0x12, 0xb7, 0x3a, 0x7a, 0x45, 0x58, 0x15, 0x6e, 0xe6, 0x6f, 0x5f, 0x5d, 0x1b, 0xb1, - 0xdb, 0x1a, 0xe7, 0x6b, 0xb4, 0x3a, 0xfa, 0x56, 0x4c, 0xa6, 0xbc, 0xe8, 0x55, 0x48, 0x9d, 0x74, - 0x07, 0x56, 0xa7, 0x12, 0xa7, 0x42, 0xd7, 0xa2, 0x84, 0xee, 0x11, 0xa6, 0xad, 0x98, 0xcc, 0xb8, - 0xc9, 0xa7, 0xb4, 0xfe, 0x89, 0x5e, 0x49, 0x4c, 0xfe, 0xd4, 0x76, 0xff, 0x84, 0x7e, 0x8a, 0xf0, - 0xa2, 0x0d, 0x00, 0xad, 0xaf, 0xd9, 0x4a, 0xab, 0xa3, 0x6a, 0xfd, 0x4a, 0x92, 0x4a, 0x3e, 0x13, - 0x2d, 0xa9, 0xd9, 0x75, 0xc2, 0xb8, 0x15, 0x93, 0x73, 0x9a, 0xd3, 0x20, 0xc3, 0xfd, 0x78, 0x80, - 0xcd, 0xf3, 0x4a, 0x6a, 0xf2, 0x70, 0xdf, 0x26, 0x4c, 0x64, 0xb8, 0x94, 0x1b, 0xbd, 0x05, 0xd9, - 0x56, 0x07, 0xb7, 0x1e, 0x29, 0xf6, 0xb0, 0x92, 0xa1, 0x92, 0x2b, 0x51, 0x92, 0x75, 0xc2, 0xd7, - 0x1c, 0x6e, 0xc5, 0xe4, 0x4c, 0x8b, 0xfd, 0x44, 0xbb, 0x50, 0xea, 0x6a, 0x96, 0xad, 0x58, 0x7d, - 0xd5, 0xb0, 0x3a, 0xba, 0x6d, 0x55, 0xf2, 0x54, 0xc7, 0xb3, 0x51, 0x3a, 0x76, 0x34, 0xcb, 0x3e, - 0x70, 0x98, 0xb7, 0x62, 0x72, 0xb1, 0xeb, 0x27, 0x10, 0x7d, 0xfa, 0xc9, 0x09, 0x36, 0x5d, 0x85, - 0x95, 0xc2, 0x64, 0x7d, 0x7b, 0x84, 0xdb, 0x91, 0x27, 0xfa, 0x74, 0x3f, 0x01, 0xbd, 0x07, 0x8b, - 0x5d, 0x5d, 0x6d, 0xbb, 0xea, 0x94, 0x56, 0x67, 0xd0, 0x7f, 0x54, 0x29, 0x52, 0xa5, 0xcf, 0x47, - 0x0e, 0x52, 0x57, 0xdb, 0x8e, 0x8a, 0x3a, 0x11, 0xd8, 0x8a, 0xc9, 0x0b, 0xdd, 0x51, 0x22, 0xfa, - 0x00, 0x96, 0x54, 0xc3, 0xe8, 0x9e, 0x8f, 0x6a, 0x2f, 0x51, 0xed, 0xb7, 0xa2, 0xb4, 0xd7, 0x88, - 0xcc, 0xa8, 0x7a, 0xa4, 0x8e, 0x51, 0x51, 0x13, 0x44, 0xc3, 0xc4, 0x86, 0x6a, 0x62, 0xc5, 0x30, - 0x75, 0x43, 0xb7, 0xd4, 0x6e, 0xa5, 0x4c, 0x75, 0xdf, 0x88, 0xd2, 0xbd, 0xcf, 0xf8, 0xf7, 0x39, - 0xfb, 0x56, 0x4c, 0x2e, 0x1b, 0x41, 0x12, 0xd3, 0xaa, 0xb7, 0xb0, 0x65, 0x79, 0x5a, 0xc5, 0x69, - 0x5a, 0x29, 0x7f, 0x50, 0x6b, 0x80, 0x84, 0x1a, 0x90, 0xc7, 0x43, 0x22, 0xae, 0x9c, 0xe9, 0x36, - 0xae, 0x2c, 0x50, 0x85, 0x52, 0xe4, 0x3e, 0xa3, 0xac, 0x47, 0xba, 0x8d, 0xb7, 0x62, 0x32, 0x60, - 0xb7, 0x85, 0x54, 0xb8, 0x70, 0x86, 0x4d, 0xed, 0xe4, 0x9c, 0xaa, 0x51, 0x68, 0x0f, 0x89, 0x07, - 0x15, 0x44, 0x15, 0xbe, 0x10, 0xa5, 0xf0, 0x88, 0x0a, 0x11, 0x15, 0x0d, 0x47, 0x64, 0x2b, 0x26, - 0x2f, 0x9e, 0x8d, 0x93, 0x89, 0x8b, 0x9d, 0x68, 0x7d, 0xb5, 0xab, 0x7d, 0x8a, 0x15, 0x1a, 0xe0, - 0x2a, 0x8b, 0x93, 0x5d, 0xec, 0x1e, 0xe7, 0xde, 0x20, 0xcc, 0xc4, 0xc5, 0x4e, 0xfc, 0x84, 0x8d, - 0x0c, 0xa4, 0xce, 0xd4, 0xee, 0x00, 0xdf, 0x4f, 0x66, 0xd3, 0x62, 0xe6, 0x7e, 0x32, 0x9b, 0x15, - 0x73, 0xf7, 0x93, 0xd9, 0x9c, 0x08, 0xf7, 0x93, 0x59, 0x10, 0xf3, 0xd2, 0x0d, 0xc8, 0xfb, 0xc2, - 0x0b, 0xaa, 0x40, 0xa6, 0x87, 0x2d, 0x4b, 0x3d, 0xc5, 0x34, 0x1a, 0xe5, 0x64, 0xa7, 0x29, 0x95, - 0xa0, 0xe0, 0x0f, 0x29, 0xd2, 0x17, 0x82, 0x2b, 0x49, 0xa2, 0x05, 0x91, 0xe4, 0xe1, 0xd1, 0x91, - 0xe4, 0x4d, 0x74, 0x1d, 0x8a, 0x74, 0x2a, 0x8a, 0xd3, 0x4f, 0x42, 0x56, 0x52, 0x2e, 0x50, 0xe2, - 0x11, 0x67, 0x5a, 0x81, 0xbc, 0x71, 0xdb, 0x70, 0x59, 0x12, 0x94, 0x05, 0x8c, 0xdb, 0x86, 0xc3, - 0xf0, 0x0c, 0x14, 0xc8, 0xbc, 0x5d, 0x8e, 0x24, 0xfd, 0x48, 0x9e, 0xd0, 0x38, 0x8b, 0xf4, 0xe3, - 0x04, 0x88, 0xa3, 0x61, 0x08, 0xbd, 0x0e, 0x49, 0x12, 0x91, 0x79, 0x70, 0xad, 0xae, 0xb1, 0x70, - 0xbd, 0xe6, 0x84, 0xeb, 0xb5, 0xa6, 0x13, 0xae, 0x37, 0xb2, 0x5f, 0x3d, 0x5e, 0x89, 0x7d, 0xf1, - 0xe7, 0x15, 0x41, 0xa6, 0x12, 0xe8, 0x32, 0x09, 0x3e, 0xaa, 0xd6, 0x57, 0xb4, 0x36, 0x1d, 0x72, - 0x8e, 0x44, 0x16, 0x55, 0xeb, 0x6f, 0xb7, 0xd1, 0x0e, 0x88, 0x2d, 0xbd, 0x6f, 0xe1, 0xbe, 0x35, - 0xb0, 0x14, 0x96, 0x2e, 0x78, 0x48, 0x0d, 0x04, 0x46, 0x96, 0x27, 0xea, 0x0e, 0xe7, 0x3e, 0x65, - 0x94, 0xcb, 0xad, 0x20, 0x01, 0xed, 0x42, 0xf1, 0x4c, 0xed, 0x6a, 0x6d, 0xd5, 0xd6, 0x4d, 0xc5, - 0xc2, 0x36, 0x8f, 0xb1, 0xd7, 0xc7, 0xd6, 0xfc, 0xc8, 0xe1, 0x3a, 0xc0, 0xf6, 0xa1, 0xd1, 0x56, - 0x6d, 0xbc, 0x91, 0xfc, 0xea, 0xf1, 0x8a, 0x20, 0x17, 0xce, 0x7c, 0x3d, 0xe8, 0x39, 0x28, 0xab, - 0x86, 0xa1, 0x58, 0xb6, 0x6a, 0x63, 0xe5, 0xf8, 0xdc, 0xc6, 0x16, 0x0d, 0xbb, 0x05, 0xb9, 0xa8, - 0x1a, 0xc6, 0x01, 0xa1, 0x6e, 0x10, 0x22, 0x7a, 0x16, 0x4a, 0x24, 0x42, 0x6b, 0x6a, 0x57, 0xe9, - 0x60, 0xed, 0xb4, 0x63, 0x57, 0xd2, 0xab, 0xc2, 0xcd, 0x84, 0x5c, 0xe4, 0xd4, 0x2d, 0x4a, 0x44, - 0x6b, 0xb0, 0xe8, 0xb0, 0xb5, 0x74, 0x13, 0x3b, 0xbc, 0x24, 0x1e, 0x17, 0xe5, 0x05, 0xde, 0x55, - 0xd7, 0x4d, 0xcc, 0xf8, 0xa5, 0xb6, 0xeb, 0x29, 0x34, 0x9a, 0x23, 0x04, 0xc9, 0xb6, 0x6a, 0xab, - 0x74, 0x05, 0x0a, 0x32, 0xfd, 0x4d, 0x68, 0x86, 0x6a, 0x77, 0xb8, 0x5d, 0xe9, 0x6f, 0x74, 0x11, - 0xd2, 0x5c, 0x75, 0x82, 0x0e, 0x83, 0xb7, 0xd0, 0x12, 0xa4, 0x0c, 0x53, 0x3f, 0xc3, 0xd4, 0x2c, - 0x59, 0x99, 0x35, 0x24, 0x19, 0x4a, 0xc1, 0xc8, 0x8f, 0x4a, 0x10, 0xb7, 0x87, 0xfc, 0x2b, 0x71, - 0x7b, 0x88, 0x5e, 0x86, 0x24, 0x59, 0x00, 0xfa, 0x8d, 0x52, 0x48, 0xae, 0xe3, 0x72, 0xcd, 0x73, - 0x03, 0xcb, 0x94, 0x53, 0xba, 0x08, 0x4b, 0x61, 0x99, 0x40, 0xea, 0xb8, 0xf4, 0x40, 0x44, 0x47, - 0xaf, 0x42, 0xd6, 0x4d, 0x05, 0xcc, 0xbf, 0x2e, 0x8f, 0x7d, 0xc5, 0x61, 0x96, 0x5d, 0x56, 0xe2, - 0x58, 0x64, 0x7d, 0x3a, 0x2a, 0x4f, 0xdf, 0x05, 0x39, 0xa3, 0x1a, 0xc6, 0x96, 0x6a, 0x75, 0xa4, - 0x0f, 0xa1, 0x12, 0x15, 0xe6, 0x7d, 0xf6, 0x11, 0xe8, 0xee, 0x70, 0xec, 0x73, 0x11, 0xd2, 0x27, - 0xba, 0xd9, 0x53, 0x6d, 0xaa, 0xac, 0x28, 0xf3, 0x16, 0xb1, 0x1b, 0x0b, 0xf9, 0x09, 0x4a, 0x66, - 0x0d, 0x49, 0x81, 0xcb, 0x91, 0xa1, 0x9e, 0x88, 0x68, 0xfd, 0x36, 0x66, 0x56, 0x2c, 0xca, 0xac, - 0xe1, 0x29, 0x62, 0x83, 0x65, 0x0d, 0xf2, 0x59, 0x8b, 0xce, 0x95, 0xea, 0xcf, 0xc9, 0xbc, 0x25, - 0xfd, 0x2d, 0x09, 0x17, 0xc3, 0x03, 0x3e, 0x5a, 0x85, 0x42, 0x4f, 0x1d, 0x2a, 0xf6, 0x90, 0x7b, - 0xa5, 0x40, 0xd7, 0x19, 0x7a, 0xea, 0xb0, 0x39, 0x64, 0x2e, 0x29, 0x42, 0xc2, 0x1e, 0x5a, 0x95, - 0xf8, 0x6a, 0xe2, 0x66, 0x41, 0x26, 0x3f, 0xd1, 0x43, 0x58, 0xe8, 0xea, 0x2d, 0xb5, 0xab, 0x74, - 0x55, 0xcb, 0x56, 0x5a, 0x7a, 0xaf, 0xa7, 0xd9, 0x7c, 0xaf, 0x5d, 0x19, 0x5f, 0x52, 0xda, 0x4d, - 0xe2, 0x11, 0xdd, 0x18, 0x31, 0xb9, 0x4c, 0x65, 0x77, 0x54, 0xcb, 0x66, 0x5d, 0x68, 0x13, 0xf2, - 0x3d, 0xcd, 0x3a, 0xc6, 0x1d, 0xf5, 0x4c, 0xd3, 0xcd, 0x4a, 0x72, 0x35, 0x11, 0x5a, 0x07, 0x3d, - 0xf4, 0x78, 0xb8, 0x26, 0xbf, 0x98, 0x6f, 0x29, 0x52, 0x01, 0x57, 0x75, 0x82, 0x4d, 0x7a, 0xee, - 0x60, 0xf3, 0x32, 0x2c, 0xf5, 0xf1, 0xd0, 0x56, 0xdc, 0x8d, 0x6c, 0x31, 0xff, 0xc8, 0x50, 0x93, - 0x23, 0xd2, 0xe7, 0xee, 0x7e, 0x8b, 0xb8, 0x0a, 0x59, 0x15, 0x53, 0x1f, 0xf4, 0xdb, 0x95, 0xec, - 0xaa, 0x70, 0x33, 0x25, 0xb3, 0x06, 0xba, 0x0b, 0x15, 0xba, 0x49, 0x59, 0xe4, 0x22, 0x11, 0x16, - 0xb7, 0x9d, 0x1d, 0x9b, 0xa3, 0x8b, 0x7a, 0x81, 0xf4, 0xd3, 0xd8, 0xb8, 0x43, 0x7b, 0xf9, 0x2e, - 0x5f, 0x87, 0x25, 0x96, 0x71, 0xb1, 0x49, 0x52, 0x2f, 0x59, 0x24, 0x3a, 0x00, 0xa0, 0x03, 0x58, - 0x70, 0xfa, 0xf6, 0x4d, 0xbd, 0x39, 0xa4, 0xdf, 0x7f, 0xd9, 0x15, 0x68, 0x2b, 0xc4, 0x9d, 0x9d, - 0xc0, 0x9c, 0xa7, 0xce, 0x89, 0x9c, 0xbe, 0x9a, 0xe1, 0x86, 0xf0, 0xbb, 0x5e, 0x8a, 0x28, 0x8c, - 0x97, 0x81, 0xbc, 0xcb, 0x0b, 0x97, 0x5e, 0x06, 0x59, 0x81, 0xfc, 0xc7, 0x03, 0xdd, 0x1c, 0xf4, - 0xd8, 0x90, 0x8a, 0x74, 0x48, 0xc0, 0x48, 0x74, 0xdb, 0xfc, 0x36, 0xe5, 0xf3, 0xb9, 0x60, 0xee, - 0xe7, 0x1e, 0x25, 0x78, 0x1e, 0x75, 0xe0, 0x1b, 0xb8, 0xdf, 0xa9, 0xe2, 0xb3, 0x3a, 0x95, 0x3b, - 0xb7, 0x68, 0xbf, 0x4a, 0x7c, 0x37, 0xbf, 0x42, 0x90, 0xa4, 0x33, 0x4c, 0xb2, 0x50, 0x49, 0x7e, - 0x47, 0xfa, 0x9a, 0xbb, 0xfe, 0x69, 0xff, 0xfa, 0x3b, 0x1e, 0x98, 0xf9, 0xde, 0x3c, 0x30, 0x1b, - 0xe9, 0x81, 0xdf, 0xd9, 0xd7, 0x9a, 0x70, 0x71, 0x44, 0x50, 0x19, 0xd0, 0x74, 0x46, 0xbd, 0x6d, - 0xa4, 0xc8, 0x77, 0x92, 0xa8, 0x4f, 0x91, 0xbc, 0x18, 0xd0, 0xcb, 0x52, 0x61, 0xa4, 0x07, 0xe7, - 0xe7, 0xf5, 0xe0, 0xc2, 0x2c, 0x1e, 0x5c, 0x7c, 0x1a, 0x0f, 0x2e, 0x8d, 0x79, 0xf0, 0x21, 0x2c, - 0x8c, 0x95, 0x9f, 0xae, 0x3b, 0x08, 0xa1, 0xee, 0x10, 0x0f, 0x77, 0x87, 0x84, 0xcf, 0x1d, 0xa4, - 0x6f, 0x04, 0xa8, 0x46, 0x57, 0xa1, 0xa1, 0x1f, 0x78, 0x05, 0x2e, 0x78, 0xd5, 0x88, 0xdf, 0x8e, - 0x2c, 0xfa, 0x23, 0xb7, 0xd3, 0x33, 0xe4, 0x84, 0xcc, 0xcd, 0xc6, 0x94, 0xf4, 0xbb, 0xe8, 0x43, - 0x28, 0x07, 0xeb, 0x67, 0x52, 0x9e, 0x90, 0xed, 0xf2, 0x1f, 0x63, 0xdb, 0xc5, 0xb3, 0x85, 0x3b, - 0x66, 0xb9, 0x74, 0xe6, 0x6f, 0x5a, 0xd2, 0x1f, 0xe2, 0x6e, 0x76, 0x0e, 0x14, 0xc3, 0xe8, 0x0d, - 0x48, 0xf3, 0x9d, 0x2d, 0xcc, 0xba, 0xb3, 0xb9, 0xc0, 0xe8, 0x6e, 0x8e, 0x3f, 0xdd, 0x6e, 0x4e, - 0x84, 0x2e, 0x5f, 0x32, 0xdc, 0x54, 0x29, 0xbf, 0xa9, 0x5e, 0x82, 0x14, 0x3b, 0x05, 0xb0, 0x84, - 0x72, 0x69, 0x7c, 0x5f, 0xd0, 0xa9, 0xca, 0x8c, 0x0b, 0xd5, 0x20, 0xcb, 0x2a, 0x6d, 0xad, 0xcd, - 0x03, 0xc0, 0xe5, 0x08, 0x89, 0xed, 0xcd, 0x8d, 0xfc, 0x93, 0xc7, 0x2b, 0x19, 0xde, 0x90, 0x33, - 0x54, 0x6e, 0xbb, 0x2d, 0xfd, 0x2e, 0x07, 0x59, 0x19, 0x5b, 0x06, 0x71, 0x61, 0xb4, 0x01, 0x39, - 0x3c, 0x6c, 0x61, 0xc3, 0x76, 0xaa, 0xfa, 0xf0, 0x53, 0x13, 0xe3, 0x6e, 0x38, 0x9c, 0xe4, 0xe4, - 0xef, 0x8a, 0xa1, 0x3b, 0x1c, 0xdc, 0x88, 0xc6, 0x29, 0xb8, 0xb8, 0x1f, 0xdd, 0x78, 0xcd, 0x41, - 0x37, 0x58, 0xa2, 0x5f, 0x8e, 0x94, 0x1a, 0x81, 0x37, 0xee, 0x70, 0x78, 0x23, 0x39, 0xe5, 0x63, - 0x01, 0x7c, 0xa3, 0x1e, 0xc0, 0x37, 0x52, 0x53, 0xa6, 0x19, 0x01, 0x70, 0xbc, 0xe6, 0x00, 0x1c, - 0xe9, 0x29, 0x23, 0x1e, 0x41, 0x38, 0xfe, 0x7b, 0x0c, 0xe1, 0x58, 0x8d, 0x14, 0x0d, 0x81, 0x38, - 0xf6, 0xc6, 0x20, 0x8e, 0x2c, 0x55, 0xf2, 0x5c, 0xa4, 0x92, 0x29, 0x18, 0xc7, 0xde, 0x18, 0xc6, - 0x91, 0x9b, 0xa2, 0x70, 0x0a, 0xc8, 0xf1, 0x83, 0x70, 0x90, 0x03, 0x22, 0x61, 0x08, 0x3e, 0xcc, - 0xd9, 0x50, 0x0e, 0x25, 0x02, 0xe5, 0xc8, 0x47, 0x9e, 0xc8, 0x99, 0xfa, 0x99, 0x61, 0x8e, 0xc3, - 0x10, 0x98, 0x83, 0x15, 0x2f, 0x37, 0x23, 0x95, 0xcf, 0x80, 0x73, 0x1c, 0x86, 0xe0, 0x1c, 0xc5, - 0xa9, 0x6a, 0xa7, 0x02, 0x1d, 0xf7, 0x82, 0x40, 0x47, 0x29, 0xe2, 0x1c, 0xe9, 0x6d, 0xd9, 0x08, - 0xa4, 0xe3, 0x38, 0x0a, 0xe9, 0x60, 0x08, 0xcf, 0x8b, 0x91, 0x1a, 0xe7, 0x80, 0x3a, 0xf6, 0xc6, - 0xa0, 0x0e, 0x71, 0x8a, 0xa7, 0xcd, 0x88, 0x75, 0x48, 0xcf, 0x93, 0x5c, 0x3a, 0x12, 0x94, 0x48, - 0x80, 0xc5, 0xa6, 0xa9, 0x9b, 0x1c, 0x9d, 0x60, 0x0d, 0xe9, 0x26, 0x39, 0xab, 0x7a, 0x01, 0x68, - 0x02, 0xfe, 0x51, 0x86, 0x62, 0x20, 0xe8, 0x48, 0xbf, 0x12, 0x3c, 0x59, 0x8a, 0x80, 0xf8, 0xcf, - 0xb9, 0x39, 0x7e, 0xce, 0xf5, 0xa1, 0x22, 0xf1, 0x20, 0x2a, 0xb2, 0x02, 0x79, 0x7f, 0xcd, 0xc1, - 0x01, 0x0f, 0xd5, 0xab, 0x35, 0x6e, 0xc1, 0x02, 0xad, 0x4e, 0x59, 0x44, 0x0f, 0x24, 0x8d, 0x32, - 0xe9, 0x60, 0x56, 0x60, 0xd9, 0xe3, 0x25, 0x58, 0xf4, 0xf1, 0xba, 0x87, 0x4b, 0x76, 0xea, 0x17, - 0x5d, 0xee, 0x1a, 0x3f, 0x65, 0xfe, 0x25, 0xee, 0x59, 0xc8, 0x43, 0x4a, 0xc2, 0x40, 0x0d, 0xe1, - 0x3b, 0x83, 0x1a, 0xd1, 0x87, 0x5c, 0xf4, 0x1e, 0x2c, 0x05, 0xf0, 0x0e, 0xa7, 0xf8, 0x4b, 0xcc, - 0x07, 0x7b, 0xc4, 0x7c, 0xb5, 0x88, 0xdb, 0x83, 0xde, 0x87, 0x2b, 0xb4, 0x8c, 0x8d, 0x28, 0x30, - 0x93, 0xb3, 0x15, 0x98, 0x97, 0x88, 0x8e, 0x7a, 0x48, 0x91, 0x19, 0x01, 0x86, 0xa4, 0xa2, 0xc0, - 0x90, 0xbf, 0x0b, 0x9e, 0xdf, 0xb8, 0x70, 0x48, 0x4b, 0x6f, 0x63, 0x7e, 0xc4, 0xa6, 0xbf, 0xc9, - 0x21, 0xa5, 0xab, 0x9f, 0x72, 0x17, 0x21, 0x3f, 0x09, 0x97, 0x0b, 0xd4, 0xe7, 0x78, 0xa2, 0x72, - 0x4f, 0xe7, 0xcc, 0x0b, 0xf8, 0xe9, 0x5c, 0x84, 0xc4, 0x23, 0x7c, 0xce, 0xd7, 0x9a, 0xfc, 0x24, - 0x7c, 0x74, 0x23, 0xd0, 0x5c, 0x54, 0x90, 0x59, 0x03, 0xbd, 0x0e, 0x39, 0x7a, 0xdb, 0xa2, 0xe8, - 0x86, 0xc5, 0x53, 0x4d, 0xa0, 0x22, 0x62, 0x37, 0x23, 0x6b, 0xfb, 0x84, 0x67, 0xcf, 0xb0, 0xe4, - 0xac, 0xc1, 0x7f, 0xf9, 0x6a, 0x96, 0x6c, 0xa0, 0x66, 0xb9, 0x0a, 0x39, 0x32, 0x7a, 0xcb, 0x50, - 0x5b, 0x98, 0xa6, 0x89, 0x9c, 0xec, 0x11, 0xa4, 0xdf, 0x08, 0x50, 0x1e, 0xc9, 0x5c, 0xa1, 0x73, - 0x77, 0xb6, 0x4d, 0x3c, 0x08, 0x0f, 0x8d, 0xcd, 0xfe, 0x1a, 0xc0, 0xa9, 0x6a, 0x29, 0x9f, 0xa8, - 0x7d, 0x1b, 0xb7, 0xb9, 0x09, 0x72, 0xa7, 0xaa, 0xf5, 0x0e, 0x25, 0x04, 0x07, 0x93, 0x1a, 0x19, - 0x8c, 0x0f, 0xac, 0x48, 0xfb, 0xc1, 0x0a, 0x54, 0x85, 0xac, 0x61, 0x6a, 0xba, 0xa9, 0xd9, 0xe7, - 0xd4, 0x26, 0x09, 0xd9, 0x6d, 0x4b, 0xfb, 0x70, 0x21, 0x34, 0x69, 0xa2, 0xbb, 0x90, 0xf3, 0xf2, - 0xad, 0x40, 0x6b, 0xc3, 0x09, 0xb8, 0x8f, 0xc7, 0x4b, 0x4c, 0x72, 0x21, 0x34, 0x6d, 0xa2, 0x06, - 0xa4, 0x4d, 0x6c, 0x0d, 0xba, 0xac, 0x56, 0x2d, 0xdd, 0x7e, 0x69, 0xb6, 0x74, 0x4b, 0xa8, 0x83, - 0xae, 0x2d, 0x73, 0x61, 0xe9, 0x03, 0x48, 0x33, 0x0a, 0xca, 0x43, 0xe6, 0x70, 0xf7, 0xc1, 0xee, - 0xde, 0x3b, 0xbb, 0x62, 0x0c, 0x01, 0xa4, 0x6b, 0xf5, 0x7a, 0x63, 0xbf, 0x29, 0x0a, 0x28, 0x07, - 0xa9, 0xda, 0xc6, 0x9e, 0xdc, 0x14, 0xe3, 0x84, 0x2c, 0x37, 0xee, 0x37, 0xea, 0x4d, 0x31, 0x81, - 0x16, 0xa0, 0xc8, 0x7e, 0x2b, 0xf7, 0xf6, 0xe4, 0x87, 0xb5, 0xa6, 0x98, 0xf4, 0x91, 0x0e, 0x1a, - 0xbb, 0x9b, 0x0d, 0x59, 0x4c, 0x49, 0xaf, 0xc0, 0xe5, 0xc8, 0x04, 0xed, 0xc1, 0x44, 0x82, 0x0f, - 0x26, 0x92, 0x7e, 0x16, 0x27, 0x27, 0x90, 0xa8, 0xac, 0x8b, 0xee, 0x8f, 0x4c, 0xfc, 0xf6, 0x1c, - 0x29, 0x7b, 0x64, 0xf6, 0xe8, 0x59, 0x28, 0x99, 0xf8, 0x04, 0xdb, 0xad, 0x0e, 0xab, 0x02, 0x18, - 0x8e, 0x54, 0x94, 0x8b, 0x9c, 0x4a, 0x85, 0x2c, 0xc6, 0xf6, 0x11, 0x6e, 0xd9, 0x0a, 0x73, 0x02, - 0x8b, 0x9e, 0xd6, 0x73, 0x84, 0x8d, 0x50, 0x0f, 0x18, 0x51, 0xfa, 0x70, 0x2e, 0x5b, 0xe6, 0x20, - 0x25, 0x37, 0x9a, 0xf2, 0xbb, 0x62, 0x02, 0x21, 0x28, 0xd1, 0x9f, 0xca, 0xc1, 0x6e, 0x6d, 0xff, - 0x60, 0x6b, 0x8f, 0xd8, 0x72, 0x11, 0xca, 0x8e, 0x2d, 0x1d, 0x62, 0x4a, 0xfa, 0x75, 0x02, 0x2e, - 0x45, 0xd4, 0x0c, 0xe8, 0x75, 0x00, 0x7b, 0xa8, 0x98, 0xb8, 0xa5, 0x9b, 0xed, 0x68, 0x27, 0x6b, - 0x0e, 0x65, 0xca, 0x21, 0xe7, 0x6c, 0xfe, 0x6b, 0x62, 0xe0, 0x7d, 0x8b, 0x2b, 0x25, 0xb3, 0xb2, - 0x38, 0x46, 0x71, 0x2d, 0xe4, 0xd0, 0x85, 0x5b, 0x44, 0x31, 0xb5, 0x2d, 0x55, 0x4c, 0xf9, 0xd1, - 0xbb, 0x70, 0x69, 0x24, 0x3f, 0xf0, 0xa0, 0x6a, 0x85, 0x5d, 0x0a, 0x86, 0xa7, 0x89, 0x0b, 0xc1, - 0x34, 0xc1, 0x82, 0xaa, 0x35, 0x01, 0x10, 0x48, 0x3d, 0x05, 0x20, 0x10, 0x95, 0x67, 0xd2, 0xf3, - 0xc2, 0xeb, 0x21, 0x79, 0x46, 0xfa, 0x65, 0x60, 0xf1, 0x82, 0x65, 0xd8, 0x1e, 0xa4, 0x2d, 0x5b, - 0xb5, 0x07, 0x16, 0x77, 0xea, 0xbb, 0xb3, 0xd6, 0x74, 0x6b, 0xce, 0x8f, 0x03, 0x2a, 0x2e, 0x73, - 0x35, 0xff, 0x96, 0x6b, 0x1a, 0x65, 0xfd, 0xd4, 0xf7, 0x61, 0xfd, 0x57, 0xa1, 0x14, 0x34, 0x55, - 0xf4, 0x26, 0xf5, 0xa2, 0x5c, 0x5c, 0xea, 0xc2, 0x62, 0x08, 0xa4, 0x80, 0xee, 0xf2, 0x9b, 0x02, - 0xb6, 0x5a, 0xd7, 0xc7, 0xa7, 0x1c, 0x60, 0xf7, 0x2e, 0x0c, 0x48, 0xd2, 0xf1, 0x6a, 0x63, 0xb6, - 0x30, 0x1e, 0x41, 0x6a, 0x01, 0x1a, 0xaf, 0xb4, 0xc3, 0xe0, 0x0f, 0xe1, 0x29, 0xe0, 0x8f, 0x9f, - 0x0b, 0x70, 0x65, 0x42, 0xf5, 0x8d, 0xde, 0x1e, 0xf1, 0xc5, 0x37, 0xe6, 0xa9, 0xdd, 0xd7, 0x18, - 0x2d, 0xe8, 0x8d, 0xd2, 0x1d, 0x28, 0xf8, 0xe9, 0xb3, 0x99, 0xfe, 0x27, 0xbe, 0xdc, 0x17, 0xc4, - 0x69, 0xb6, 0x20, 0x8d, 0xcf, 0x70, 0xdf, 0xcd, 0xa5, 0x17, 0xc7, 0xed, 0x40, 0xba, 0x37, 0x2a, - 0xa4, 0xe6, 0xfb, 0xeb, 0xe3, 0x15, 0x91, 0x71, 0xbf, 0xa8, 0xf7, 0x34, 0x1b, 0xf7, 0x0c, 0xfb, - 0x5c, 0xe6, 0xf2, 0xe8, 0x3a, 0x14, 0x4d, 0x6c, 0x93, 0x10, 0x12, 0x80, 0xc8, 0x0a, 0x8c, 0xc8, - 0x2b, 0xb2, 0xdf, 0x0b, 0x00, 0x1e, 0xf0, 0xe3, 0x01, 0x2f, 0x82, 0x1f, 0x78, 0x19, 0xc1, 0xeb, - 0xe2, 0xa3, 0x78, 0x1d, 0xba, 0x01, 0x65, 0x56, 0x6c, 0x5b, 0xda, 0x69, 0x5f, 0xb5, 0x07, 0x26, - 0xe6, 0x30, 0x4f, 0x89, 0x92, 0x0f, 0x1c, 0x2a, 0x7a, 0x0f, 0x2e, 0xdb, 0x1d, 0x13, 0x5b, 0x1d, - 0xbd, 0xdb, 0x56, 0x46, 0x17, 0x9e, 0x5d, 0x3f, 0xac, 0x4c, 0x71, 0x38, 0xf9, 0x92, 0xab, 0xe1, - 0x28, 0xb8, 0xf8, 0x9f, 0x42, 0x8a, 0xda, 0x86, 0x14, 0x4c, 0xae, 0x07, 0xe7, 0xb8, 0x73, 0xbe, - 0x0f, 0xa0, 0xda, 0xb6, 0xa9, 0x1d, 0x0f, 0xc8, 0x76, 0x8e, 0x8f, 0x7f, 0xca, 0xb3, 0x6d, 0xcd, - 0xe1, 0xdb, 0xb8, 0xca, 0x8d, 0xbc, 0xe4, 0x89, 0xfa, 0x0c, 0xed, 0x53, 0x28, 0xed, 0x42, 0x29, - 0x28, 0xeb, 0x54, 0xa2, 0x6c, 0x0c, 0xc1, 0x4a, 0x94, 0x55, 0xb6, 0xbc, 0x12, 0x75, 0xeb, 0xd8, - 0x04, 0xbb, 0xd0, 0xa3, 0x0d, 0xe9, 0x1f, 0x02, 0x14, 0xfc, 0x61, 0x6a, 0xe6, 0x62, 0x91, 0x17, - 0xcf, 0x89, 0xf1, 0xe2, 0x39, 0x19, 0x59, 0x3e, 0xa6, 0x46, 0xcb, 0xc7, 0xcb, 0x90, 0x25, 0xdd, - 0x03, 0x0b, 0xb7, 0xf9, 0x2d, 0x68, 0xe6, 0x54, 0xb5, 0x0e, 0x2d, 0xdc, 0xf6, 0xf9, 0x67, 0xe6, - 0x29, 0xfd, 0x33, 0x50, 0xa3, 0x66, 0x47, 0x0b, 0xe6, 0xcf, 0x04, 0xc8, 0xba, 0x93, 0x0f, 0x5e, - 0xf6, 0x05, 0x70, 0x42, 0x66, 0xbb, 0xb8, 0xff, 0x86, 0x8e, 0x5d, 0x7d, 0x26, 0xdc, 0xab, 0xcf, - 0x37, 0xdd, 0xaa, 0x2a, 0x0a, 0x09, 0xf3, 0x5b, 0xda, 0x01, 0x3f, 0x79, 0x11, 0xf9, 0x53, 0x3e, - 0x0e, 0x52, 0x4e, 0xa0, 0xff, 0x82, 0xb4, 0xda, 0x72, 0xf1, 0xbf, 0x52, 0x08, 0x30, 0xe6, 0xb0, - 0xae, 0x35, 0x87, 0x35, 0xca, 0x29, 0x73, 0x09, 0x3e, 0xaa, 0xb8, 0x33, 0x2a, 0xe9, 0x7f, 0x89, - 0x5e, 0xc6, 0x13, 0x8c, 0x19, 0x25, 0x80, 0xc3, 0xdd, 0x87, 0x7b, 0x9b, 0xdb, 0xf7, 0xb6, 0x1b, - 0x9b, 0xbc, 0xae, 0xda, 0xdc, 0x6c, 0x6c, 0x8a, 0x71, 0xc2, 0x27, 0x37, 0x1e, 0xee, 0x1d, 0x35, - 0x36, 0xc5, 0x84, 0x54, 0x83, 0x9c, 0x9b, 0x25, 0xe8, 0xb5, 0xb0, 0xfe, 0x09, 0x36, 0xb9, 0x81, - 0x58, 0x03, 0x2d, 0x43, 0x7e, 0x1c, 0xb3, 0x26, 0x07, 0x1f, 0x06, 0x55, 0x4b, 0xbf, 0x10, 0xa0, - 0xec, 0xea, 0xe0, 0x75, 0xc2, 0x9b, 0x90, 0x31, 0x06, 0xc7, 0x8a, 0xe3, 0xbb, 0x23, 0x48, 0xaf, - 0x73, 0x2e, 0x1a, 0x1c, 0x77, 0xb5, 0xd6, 0x03, 0x7c, 0xce, 0xb3, 0x52, 0xda, 0x18, 0x1c, 0x3f, - 0x60, 0x2e, 0xce, 0x86, 0x11, 0x9f, 0x30, 0x8c, 0xc4, 0xc8, 0x30, 0xd0, 0x0d, 0x28, 0xf4, 0xf5, - 0x36, 0x56, 0xd4, 0x76, 0xdb, 0xc4, 0x16, 0x4b, 0xb6, 0x39, 0xae, 0x39, 0x4f, 0x7a, 0x6a, 0xac, - 0x43, 0xfa, 0x46, 0x00, 0x34, 0x9e, 0x19, 0xd1, 0x01, 0x2c, 0x78, 0xc9, 0xd5, 0xc9, 0xd8, 0x2c, - 0x7c, 0xae, 0x46, 0x67, 0xd6, 0xc0, 0xe1, 0x59, 0x3c, 0x0b, 0x92, 0x49, 0x15, 0xb6, 0xe4, 0x85, - 0x2a, 0x83, 0xce, 0x97, 0x1a, 0x25, 0x3e, 0xa3, 0x51, 0x62, 0x32, 0x72, 0xe5, 0xdd, 0x9e, 0xd1, - 0x50, 0x9a, 0x18, 0xbb, 0xfa, 0x30, 0xa0, 0xd2, 0x1c, 0x13, 0xe3, 0xf3, 0x8c, 0x1a, 0x92, 0xf0, - 0x34, 0x43, 0x92, 0xee, 0x80, 0xf8, 0xb6, 0xfb, 0x7d, 0xfe, 0xa5, 0x91, 0x61, 0x0a, 0x63, 0xc3, - 0x3c, 0x83, 0x2c, 0x89, 0xbe, 0x34, 0x69, 0xfc, 0x0f, 0xe4, 0x5c, 0xeb, 0xb9, 0x2f, 0x4b, 0x22, - 0xcd, 0xce, 0x47, 0xe2, 0x89, 0xa0, 0x5b, 0xb0, 0x40, 0xf2, 0x86, 0x73, 0x01, 0xc9, 0xe0, 0xaf, - 0x38, 0x8d, 0x86, 0x65, 0xd6, 0xb1, 0xe3, 0x60, 0x36, 0x24, 0xc1, 0x8b, 0xac, 0x10, 0xc0, 0xed, - 0x7f, 0xc5, 0x00, 0xc8, 0x79, 0x69, 0x04, 0x05, 0x64, 0x6b, 0x58, 0x0c, 0x54, 0x22, 0xd2, 0x8f, - 0xe2, 0x90, 0xf7, 0x5d, 0x88, 0xa0, 0xff, 0x0c, 0x14, 0x55, 0xab, 0x93, 0x2e, 0x4f, 0x7c, 0x15, - 0x55, 0x60, 0x62, 0xf1, 0xf9, 0x27, 0x16, 0x75, 0x15, 0xe5, 0xdc, 0x8b, 0x26, 0xe7, 0xbe, 0x17, - 0x7d, 0x11, 0x90, 0xad, 0xdb, 0x6a, 0x97, 0x24, 0x6f, 0xad, 0x7f, 0xaa, 0xb0, 0xdd, 0xce, 0x12, - 0x88, 0x48, 0x7b, 0x8e, 0x68, 0xc7, 0x3e, 0xa1, 0x4b, 0x3f, 0x14, 0x20, 0xeb, 0x9e, 0xea, 0xe7, - 0x7d, 0xb1, 0x71, 0x11, 0xd2, 0xfc, 0xe0, 0xca, 0x9e, 0x6c, 0xf0, 0x56, 0xe8, 0xb5, 0x70, 0x15, - 0xb2, 0x3d, 0x6c, 0xab, 0x34, 0x1b, 0x32, 0xec, 0xc7, 0x6d, 0xdf, 0x7a, 0x03, 0xf2, 0xbe, 0xc7, - 0x2d, 0x24, 0x41, 0xee, 0x36, 0xde, 0x11, 0x63, 0xd5, 0xcc, 0xe7, 0x5f, 0xae, 0x26, 0x76, 0xf1, - 0x27, 0xa8, 0x42, 0xa2, 0x6a, 0x7d, 0xab, 0x51, 0x7f, 0x20, 0x0a, 0xd5, 0xfc, 0xe7, 0x5f, 0xae, - 0x66, 0x64, 0x4c, 0xaf, 0x14, 0x6e, 0x3d, 0x80, 0xf2, 0xc8, 0xc2, 0x04, 0x43, 0x35, 0x82, 0xd2, - 0xe6, 0xe1, 0xfe, 0xce, 0x76, 0xbd, 0xd6, 0x6c, 0x28, 0x47, 0x7b, 0xcd, 0x86, 0x28, 0xa0, 0x4b, - 0xb0, 0xb8, 0xb3, 0xfd, 0x7f, 0x5b, 0x4d, 0xa5, 0xbe, 0xb3, 0xdd, 0xd8, 0x6d, 0x2a, 0xb5, 0x66, - 0xb3, 0x56, 0x7f, 0x20, 0xc6, 0x6f, 0xff, 0x09, 0xa0, 0x5c, 0xdb, 0xa8, 0x6f, 0x93, 0xa3, 0xbb, - 0xd6, 0x52, 0x69, 0xe0, 0xaf, 0x43, 0x92, 0x22, 0xad, 0x13, 0x9f, 0xb9, 0x56, 0x27, 0xdf, 0x13, - 0xa1, 0x7b, 0x90, 0xa2, 0x20, 0x2c, 0x9a, 0xfc, 0xee, 0xb5, 0x3a, 0xe5, 0xe2, 0x88, 0x0c, 0x86, - 0x6e, 0xa7, 0x89, 0x0f, 0x61, 0xab, 0x93, 0xef, 0x91, 0xd0, 0x0e, 0x64, 0x1c, 0x7c, 0x6b, 0xda, - 0xeb, 0xd4, 0xea, 0xd4, 0xcb, 0x1d, 0x32, 0x35, 0x86, 0x13, 0x4e, 0x7e, 0x23, 0x5b, 0x9d, 0x72, - 0xc3, 0x84, 0x64, 0xc8, 0x79, 0xd0, 0xee, 0xf4, 0xe7, 0xba, 0xd5, 0x19, 0x6e, 0xbc, 0xd0, 0x07, - 0x50, 0x0c, 0x22, 0x61, 0xb3, 0xbd, 0xa4, 0xad, 0xce, 0x78, 0x1b, 0x45, 0xf4, 0x07, 0x61, 0xb1, - 0xd9, 0x5e, 0xd6, 0x56, 0x67, 0xbc, 0x9c, 0x42, 0x1f, 0xc1, 0xc2, 0x38, 0x6c, 0x35, 0xfb, 0x43, - 0xdb, 0xea, 0x1c, 0xd7, 0x55, 0xa8, 0x07, 0x28, 0x04, 0xee, 0x9a, 0xe3, 0xdd, 0x6d, 0x75, 0x9e, - 0xdb, 0x2b, 0xd4, 0x86, 0xf2, 0x28, 0x84, 0x34, 0xeb, 0x3b, 0xdc, 0xea, 0xcc, 0x37, 0x59, 0xec, - 0x2b, 0x41, 0xac, 0x63, 0xd6, 0x77, 0xb9, 0xd5, 0x99, 0x2f, 0xb6, 0xd0, 0x21, 0x80, 0xef, 0xbc, - 0x3c, 0xc3, 0x3b, 0xdd, 0xea, 0x2c, 0x57, 0x5c, 0xc8, 0x80, 0xc5, 0xb0, 0x03, 0xf2, 0x3c, 0xcf, - 0x76, 0xab, 0x73, 0xdd, 0x7c, 0x11, 0x7f, 0x0e, 0x1e, 0x75, 0x67, 0x7b, 0xc6, 0x5b, 0x9d, 0xf1, - 0x0a, 0x6c, 0xa3, 0xf1, 0xd5, 0x93, 0x65, 0xe1, 0xeb, 0x27, 0xcb, 0xc2, 0x37, 0x4f, 0x96, 0x85, - 0x2f, 0xbe, 0x5d, 0x8e, 0x7d, 0xfd, 0xed, 0x72, 0xec, 0x8f, 0xdf, 0x2e, 0xc7, 0xfe, 0xff, 0x85, - 0x53, 0xcd, 0xee, 0x0c, 0x8e, 0xd7, 0x5a, 0x7a, 0x6f, 0xdd, 0xff, 0xff, 0x86, 0xb0, 0xbf, 0x6b, - 0x1c, 0xa7, 0x69, 0x16, 0xbc, 0xf3, 0xcf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xcc, 0x68, 0x23, 0xdd, - 0xce, 0x31, 0x00, 0x00, + // 3616 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x5b, 0x4d, 0x70, 0x1b, 0x57, + 0x72, 0xc6, 0xe0, 0x1f, 0x8d, 0x5f, 0x3e, 0x52, 0x12, 0x04, 0x49, 0x24, 0x3d, 0x8a, 0x2d, 0x59, + 0xb6, 0x49, 0x5b, 0x8a, 0x2d, 0x3b, 0x76, 0x92, 0x02, 0x41, 0x28, 0xa0, 0x44, 0x91, 0xf4, 0x10, + 0xa4, 0xcb, 0x71, 0xec, 0xa9, 0x21, 0xf0, 0x48, 0x8c, 0x05, 0x60, 0xc6, 0x33, 0x03, 0x0a, 0xf4, + 0x35, 0x71, 0x0e, 0x3e, 0xf9, 0x96, 0x93, 0x8f, 0x39, 0xe6, 0x92, 0x53, 0x2a, 0x87, 0xa4, 0xf6, + 0xe6, 0xad, 0xbd, 0xf8, 0xb8, 0x97, 0xd5, 0xba, 0xe4, 0xcb, 0xd6, 0xde, 0xf6, 0xb4, 0xb7, 0xad, + 0xad, 0xf7, 0x33, 0xbf, 0x98, 0xc1, 0x8f, 0xe5, 0xaa, 0xad, 0xbd, 0xe1, 0xf5, 0xeb, 0xee, 0x79, + 0x3f, 0xfd, 0xba, 0xfb, 0x7d, 0xfd, 0x00, 0xd7, 0x2c, 0x3c, 0xec, 0x62, 0x63, 0xa0, 0x0e, 0xad, + 0x4d, 0xe5, 0xa4, 0xa3, 0x6e, 0x5a, 0x17, 0x3a, 0x36, 0x37, 0x74, 0x43, 0xb3, 0x34, 0x54, 0x76, + 0x3b, 0x37, 0x48, 0x67, 0xed, 0x86, 0x87, 0xbb, 0x63, 0x5c, 0xe8, 0x96, 0xb6, 0xa9, 0x1b, 0x9a, + 0x76, 0xca, 0xf8, 0x6b, 0x5e, 0x65, 0x54, 0xcf, 0x66, 0x57, 0x31, 0x7b, 0xbc, 0xf3, 0xfa, 0x44, + 0xe7, 0x49, 0x5f, 0xeb, 0x3c, 0x89, 0xec, 0xf5, 0x0c, 0xc4, 0xd7, 0xcb, 0xbf, 0xfb, 0x04, 0x5f, + 0xd8, 0xbd, 0x37, 0x26, 0x64, 0x75, 0xc5, 0x50, 0x06, 0x76, 0xf7, 0xaa, 0xa7, 0xfb, 0x1c, 0x1b, + 0xa6, 0xaa, 0x0d, 0x7d, 0xca, 0xd7, 0xce, 0x34, 0xed, 0xac, 0x8f, 0x37, 0x69, 0xeb, 0x64, 0x74, + 0xba, 0x69, 0xa9, 0x03, 0x6c, 0x5a, 0xca, 0x40, 0xe7, 0x0c, 0x2b, 0x67, 0xda, 0x99, 0x46, 0x7f, + 0x6e, 0x92, 0x5f, 0x8c, 0x2a, 0x7e, 0x95, 0x83, 0x8c, 0x84, 0xbf, 0x18, 0x61, 0xd3, 0x42, 0x77, + 0x21, 0x89, 0x3b, 0x3d, 0xad, 0x2a, 0xac, 0x0b, 0xb7, 0xf3, 0x77, 0xaf, 0x6f, 0x04, 0xd6, 0x6d, + 0x83, 0xf3, 0x35, 0x3b, 0x3d, 0xad, 0x15, 0x93, 0x28, 0x2f, 0x7a, 0x1b, 0x52, 0xa7, 0xfd, 0x91, + 0xd9, 0xab, 0xc6, 0xa9, 0xd0, 0x8d, 0x28, 0xa1, 0x07, 0x84, 0xa9, 0x15, 0x93, 0x18, 0x37, 0xf9, + 0x94, 0x3a, 0x3c, 0xd5, 0xaa, 0x89, 0xe9, 0x9f, 0xda, 0x19, 0x9e, 0xd2, 0x4f, 0x11, 0x5e, 0xb4, + 0x05, 0xa0, 0x0e, 0x55, 0x4b, 0xee, 0xf4, 0x14, 0x75, 0x58, 0x4d, 0x52, 0xc9, 0x97, 0xa2, 0x25, + 0x55, 0xab, 0x41, 0x18, 0x5b, 0x31, 0x29, 0xa7, 0xda, 0x0d, 0x32, 0xdc, 0x2f, 0x46, 0xd8, 0xb8, + 0xa8, 0xa6, 0xa6, 0x0f, 0xf7, 0x43, 0xc2, 0x44, 0x86, 0x4b, 0xb9, 0xd1, 0x07, 0x90, 0xed, 0xf4, + 0x70, 0xe7, 0x89, 0x6c, 0x8d, 0xab, 0x19, 0x2a, 0xb9, 0x16, 0x25, 0xd9, 0x20, 0x7c, 0xed, 0x71, + 0x2b, 0x26, 0x65, 0x3a, 0xec, 0x27, 0xda, 0x83, 0x52, 0x5f, 0x35, 0x2d, 0xd9, 0x1c, 0x2a, 0xba, + 0xd9, 0xd3, 0x2c, 0xb3, 0x9a, 0xa7, 0x3a, 0x5e, 0x8e, 0xd2, 0xb1, 0xab, 0x9a, 0xd6, 0xa1, 0xcd, + 0xdc, 0x8a, 0x49, 0xc5, 0xbe, 0x97, 0x40, 0xf4, 0x69, 0xa7, 0xa7, 0xd8, 0x70, 0x14, 0x56, 0x0b, + 0xd3, 0xf5, 0xed, 0x13, 0x6e, 0x5b, 0x9e, 0xe8, 0xd3, 0xbc, 0x04, 0xf4, 0x09, 0x2c, 0xf7, 0x35, + 0xa5, 0xeb, 0xa8, 0x93, 0x3b, 0xbd, 0xd1, 0xf0, 0x49, 0xb5, 0x48, 0x95, 0xbe, 0x1a, 0x39, 0x48, + 0x4d, 0xe9, 0xda, 0x2a, 0x1a, 0x44, 0xa0, 0x15, 0x93, 0x96, 0xfa, 0x41, 0x22, 0xfa, 0x0c, 0x56, + 0x14, 0x5d, 0xef, 0x5f, 0x04, 0xb5, 0x97, 0xa8, 0xf6, 0x3b, 0x51, 0xda, 0xeb, 0x44, 0x26, 0xa8, + 0x1e, 0x29, 0x13, 0x54, 0xd4, 0x86, 0x8a, 0x6e, 0x60, 0x5d, 0x31, 0xb0, 0xac, 0x1b, 0x9a, 0xae, + 0x99, 0x4a, 0xbf, 0x5a, 0xa6, 0xba, 0x6f, 0x45, 0xe9, 0x3e, 0x60, 0xfc, 0x07, 0x9c, 0xbd, 0x15, + 0x93, 0xca, 0xba, 0x9f, 0xc4, 0xb4, 0x6a, 0x1d, 0x6c, 0x9a, 0xae, 0xd6, 0xca, 0x2c, 0xad, 0x94, + 0xdf, 0xaf, 0xd5, 0x47, 0x42, 0x4d, 0xc8, 0xe3, 0x31, 0x11, 0x97, 0xcf, 0x35, 0x0b, 0x57, 0x97, + 0xa8, 0x42, 0x31, 0xf2, 0x9c, 0x51, 0xd6, 0x63, 0xcd, 0xc2, 0xad, 0x98, 0x04, 0xd8, 0x69, 0x21, + 0x05, 0x2e, 0x9d, 0x63, 0x43, 0x3d, 0xbd, 0xa0, 0x6a, 0x64, 0xda, 0x43, 0xfc, 0x41, 0x15, 0x51, + 0x85, 0xaf, 0x45, 0x29, 0x3c, 0xa6, 0x42, 0x44, 0x45, 0xd3, 0x16, 0x69, 0xc5, 0xa4, 0xe5, 0xf3, + 0x49, 0x32, 0x31, 0xb1, 0x53, 0x75, 0xa8, 0xf4, 0xd5, 0x2f, 0xb1, 0x4c, 0x1d, 0x5c, 0x75, 0x79, + 0xba, 0x89, 0x3d, 0xe0, 0xdc, 0x5b, 0x84, 0x99, 0x98, 0xd8, 0xa9, 0x97, 0xb0, 0x95, 0x81, 0xd4, + 0xb9, 0xd2, 0x1f, 0xe1, 0x87, 0xc9, 0x6c, 0xba, 0x92, 0x79, 0x98, 0xcc, 0x66, 0x2b, 0xb9, 0x87, + 0xc9, 0x6c, 0xae, 0x02, 0x0f, 0x93, 0x59, 0xa8, 0xe4, 0xc5, 0x5b, 0x90, 0xf7, 0xb8, 0x17, 0x54, + 0x85, 0xcc, 0x00, 0x9b, 0xa6, 0x72, 0x86, 0xa9, 0x37, 0xca, 0x49, 0x76, 0x53, 0x2c, 0x41, 0xc1, + 0xeb, 0x52, 0xc4, 0x6f, 0x04, 0x47, 0x92, 0x78, 0x0b, 0x22, 0xc9, 0xdd, 0xa3, 0x2d, 0xc9, 0x9b, + 0xe8, 0x26, 0x14, 0xe9, 0x54, 0x64, 0xbb, 0x9f, 0xb8, 0xac, 0xa4, 0x54, 0xa0, 0xc4, 0x63, 0xce, + 0xb4, 0x06, 0x79, 0xfd, 0xae, 0xee, 0xb0, 0x24, 0x28, 0x0b, 0xe8, 0x77, 0x75, 0x9b, 0xe1, 0x25, + 0x28, 0x90, 0x79, 0x3b, 0x1c, 0x49, 0xfa, 0x91, 0x3c, 0xa1, 0x71, 0x16, 0xf1, 0xdf, 0x12, 0x50, + 0x09, 0xba, 0x21, 0xf4, 0x2e, 0x24, 0x89, 0x47, 0xe6, 0xce, 0xb5, 0xb6, 0xc1, 0xdc, 0xf5, 0x86, + 0xed, 0xae, 0x37, 0xda, 0xb6, 0xbb, 0xde, 0xca, 0x7e, 0xf7, 0x6c, 0x2d, 0xf6, 0xcd, 0x6f, 0xd7, + 0x04, 0x89, 0x4a, 0xa0, 0xab, 0xc4, 0xf9, 0x28, 0xea, 0x50, 0x56, 0xbb, 0x74, 0xc8, 0x39, 0xe2, + 0x59, 0x14, 0x75, 0xb8, 0xd3, 0x45, 0xbb, 0x50, 0xe9, 0x68, 0x43, 0x13, 0x0f, 0xcd, 0x91, 0x29, + 0xb3, 0x70, 0xc1, 0x5d, 0xaa, 0xcf, 0x31, 0xb2, 0x38, 0xd1, 0xb0, 0x39, 0x0f, 0x28, 0xa3, 0x54, + 0xee, 0xf8, 0x09, 0x68, 0x0f, 0x8a, 0xe7, 0x4a, 0x5f, 0xed, 0x2a, 0x96, 0x66, 0xc8, 0x26, 0xb6, + 0xb8, 0x8f, 0xbd, 0x39, 0xb1, 0xe7, 0xc7, 0x36, 0xd7, 0x21, 0xb6, 0x8e, 0xf4, 0xae, 0x62, 0xe1, + 0xad, 0xe4, 0x77, 0xcf, 0xd6, 0x04, 0xa9, 0x70, 0xee, 0xe9, 0x41, 0xaf, 0x40, 0x59, 0xd1, 0x75, + 0xd9, 0xb4, 0x14, 0x0b, 0xcb, 0x27, 0x17, 0x16, 0x36, 0xa9, 0xdb, 0x2d, 0x48, 0x45, 0x45, 0xd7, + 0x0f, 0x09, 0x75, 0x8b, 0x10, 0xd1, 0xcb, 0x50, 0x22, 0x1e, 0x5a, 0x55, 0xfa, 0x72, 0x0f, 0xab, + 0x67, 0x3d, 0xab, 0x9a, 0x5e, 0x17, 0x6e, 0x27, 0xa4, 0x22, 0xa7, 0xb6, 0x28, 0x11, 0x6d, 0xc0, + 0xb2, 0xcd, 0xd6, 0xd1, 0x0c, 0x6c, 0xf3, 0x12, 0x7f, 0x5c, 0x94, 0x96, 0x78, 0x57, 0x43, 0x33, + 0x30, 0xe3, 0x17, 0xbb, 0x8e, 0xa5, 0x50, 0x6f, 0x8e, 0x10, 0x24, 0xbb, 0x8a, 0xa5, 0xd0, 0x1d, + 0x28, 0x48, 0xf4, 0x37, 0xa1, 0xe9, 0x8a, 0xd5, 0xe3, 0xeb, 0x4a, 0x7f, 0xa3, 0xcb, 0x90, 0xe6, + 0xaa, 0x13, 0x74, 0x18, 0xbc, 0x85, 0x56, 0x20, 0xa5, 0x1b, 0xda, 0x39, 0xa6, 0xcb, 0x92, 0x95, + 0x58, 0x43, 0x94, 0xa0, 0xe4, 0xf7, 0xfc, 0xa8, 0x04, 0x71, 0x6b, 0xcc, 0xbf, 0x12, 0xb7, 0xc6, + 0xe8, 0x4d, 0x48, 0x92, 0x0d, 0xa0, 0xdf, 0x28, 0x85, 0xc4, 0x3a, 0x2e, 0xd7, 0xbe, 0xd0, 0xb1, + 0x44, 0x39, 0xc5, 0xcb, 0xb0, 0x12, 0x16, 0x09, 0xc4, 0x9e, 0x43, 0xf7, 0x79, 0x74, 0xf4, 0x36, + 0x64, 0x9d, 0x50, 0xc0, 0xec, 0xeb, 0xea, 0xc4, 0x57, 0x6c, 0x66, 0xc9, 0x61, 0x25, 0x86, 0x45, + 0xf6, 0xa7, 0xa7, 0xf0, 0xf0, 0x5d, 0x90, 0x32, 0x8a, 0xae, 0xb7, 0x14, 0xb3, 0x27, 0x9e, 0x41, + 0x35, 0xca, 0xcd, 0x7b, 0xd6, 0x47, 0xa0, 0xa7, 0xc3, 0x5e, 0x1f, 0xcf, 0xc9, 0x8b, 0xd3, 0x3d, + 0x71, 0x4e, 0x1e, 0xb5, 0xe0, 0xd1, 0xf0, 0x09, 0xb1, 0xe0, 0x04, 0xfb, 0x10, 0x6d, 0xef, 0x74, + 0xc5, 0x2e, 0x5c, 0x8d, 0xf4, 0xf8, 0x3e, 0x39, 0xc1, 0x27, 0x47, 0x36, 0x83, 0xc5, 0x11, 0x36, + 0x70, 0xd6, 0x20, 0x43, 0x33, 0xe9, 0xbc, 0xe9, 0x67, 0x72, 0x12, 0x6f, 0x89, 0x7f, 0x48, 0xc2, + 0xe5, 0x70, 0xe7, 0x8f, 0xd6, 0xa1, 0x30, 0x50, 0xc6, 0xb2, 0x35, 0xe6, 0x16, 0x2a, 0xd0, 0x3d, + 0x87, 0x81, 0x32, 0x6e, 0x8f, 0x99, 0x79, 0x56, 0x20, 0x61, 0x8d, 0xcd, 0x6a, 0x7c, 0x3d, 0x71, + 0xbb, 0x20, 0x91, 0x9f, 0xe8, 0x31, 0x2c, 0xf5, 0xb5, 0x8e, 0xd2, 0x97, 0xfb, 0x8a, 0x69, 0xc9, + 0x1d, 0x6d, 0x30, 0x50, 0x2d, 0x7e, 0xee, 0xae, 0x4d, 0x6e, 0x2f, 0xed, 0x26, 0xbe, 0x89, 0x1e, + 0x92, 0x98, 0x54, 0xa6, 0xb2, 0xbb, 0x8a, 0x69, 0xb1, 0x2e, 0xb4, 0x0d, 0xf9, 0x81, 0x6a, 0x9e, + 0xe0, 0x9e, 0x72, 0xae, 0x6a, 0x46, 0x35, 0xb9, 0x9e, 0x08, 0xcd, 0x89, 0x1e, 0xbb, 0x3c, 0x5c, + 0x93, 0x57, 0xcc, 0xb3, 0x2d, 0x29, 0x9f, 0xd9, 0xda, 0x8e, 0x27, 0xbd, 0xb0, 0xe3, 0x79, 0x13, + 0x56, 0x86, 0x78, 0x6c, 0xc9, 0xce, 0xa1, 0x36, 0x99, 0xad, 0x64, 0xe8, 0x92, 0x23, 0xd2, 0xe7, + 0x78, 0x02, 0x93, 0x98, 0x0d, 0xd9, 0x15, 0x43, 0x1b, 0x0d, 0xbb, 0xd5, 0xec, 0xba, 0x70, 0x3b, + 0x25, 0xb1, 0x06, 0xba, 0x0f, 0x55, 0x7a, 0x60, 0x99, 0x17, 0x23, 0xde, 0x16, 0x77, 0xed, 0xd3, + 0x9b, 0xa3, 0x96, 0x72, 0x89, 0xf4, 0x53, 0x3f, 0xb9, 0x4b, 0x7b, 0xf9, 0x89, 0xdf, 0x84, 0x15, + 0x16, 0x7d, 0xb1, 0x41, 0xc2, 0x30, 0xd9, 0x24, 0x3a, 0x00, 0xa0, 0x03, 0x58, 0xb2, 0xfb, 0x0e, + 0x0c, 0xad, 0x3d, 0xa6, 0xdf, 0x7f, 0xd3, 0x11, 0xe8, 0xca, 0xc4, 0xb4, 0x6d, 0x7b, 0xcc, 0x53, + 0x43, 0x45, 0x76, 0x5f, 0x5d, 0x77, 0xdc, 0xf9, 0x7d, 0xd7, 0x68, 0x0b, 0x93, 0x29, 0x21, 0xef, + 0x72, 0x5d, 0xa7, 0x6b, 0xd3, 0x6b, 0x90, 0xff, 0x62, 0xa4, 0x19, 0xa3, 0x01, 0x1b, 0x52, 0x91, + 0x0e, 0x09, 0x18, 0x89, 0x1e, 0xa1, 0xff, 0x4f, 0x79, 0x6c, 0xce, 0x9f, 0x07, 0x70, 0x8b, 0x12, + 0x5c, 0x8b, 0x3a, 0xf4, 0x0c, 0xdc, 0x6b, 0x54, 0xf1, 0x79, 0x8d, 0xca, 0x99, 0x5b, 0xb4, 0x5d, + 0x25, 0x7e, 0x9a, 0x5d, 0x21, 0x48, 0xd2, 0x19, 0x26, 0x99, 0xdb, 0x24, 0xbf, 0x23, 0x6d, 0xcd, + 0xd9, 0xff, 0xb4, 0x77, 0xff, 0x6d, 0x0b, 0xcc, 0xfc, 0x6c, 0x16, 0x98, 0x8d, 0xb4, 0xc0, 0x9f, + 0x6c, 0x6b, 0x6d, 0xb8, 0x1c, 0x10, 0x94, 0x47, 0x34, 0xb4, 0x51, 0x6b, 0x0b, 0x24, 0xfc, 0x76, + 0x40, 0xf5, 0x28, 0x92, 0x96, 0x7d, 0x7a, 0x59, 0x58, 0x8c, 0xb4, 0xe0, 0xfc, 0xa2, 0x16, 0x5c, + 0x98, 0xc7, 0x82, 0x8b, 0x2f, 0x62, 0xc1, 0xa5, 0x09, 0x0b, 0x3e, 0x82, 0xa5, 0x89, 0x54, 0xd4, + 0x31, 0x07, 0x21, 0xd4, 0x1c, 0xe2, 0xe1, 0xe6, 0x90, 0xf0, 0x98, 0x83, 0xf8, 0x83, 0x00, 0xb5, + 0xe8, 0x8c, 0x34, 0xf4, 0x03, 0x6f, 0xc1, 0x25, 0x37, 0x33, 0xf1, 0xae, 0x23, 0xf3, 0xfe, 0xc8, + 0xe9, 0x74, 0x17, 0x72, 0x4a, 0x14, 0x67, 0x63, 0x4a, 0x7a, 0x4d, 0xf4, 0x31, 0x94, 0xfd, 0xb9, + 0x34, 0x49, 0x55, 0xc8, 0x71, 0xf9, 0x9b, 0x89, 0xe3, 0xe2, 0xae, 0x85, 0x33, 0x66, 0xa9, 0x74, + 0xee, 0x6d, 0x9a, 0xe2, 0xaf, 0xe2, 0x4e, 0xa4, 0xf6, 0x25, 0xc6, 0xe8, 0x3d, 0x48, 0xf3, 0x93, + 0x2d, 0xcc, 0x7b, 0xb2, 0xb9, 0x40, 0xf0, 0x34, 0xc7, 0x5f, 0xec, 0x34, 0x27, 0x42, 0xb7, 0x2f, + 0x19, 0xbe, 0x54, 0x29, 0xef, 0x52, 0xbd, 0x01, 0x29, 0x76, 0x23, 0x60, 0x01, 0xe5, 0xca, 0xe4, + 0xb9, 0xa0, 0x53, 0x95, 0x18, 0x17, 0xaa, 0x43, 0x96, 0x65, 0xdd, 0x6a, 0x97, 0x3b, 0x80, 0xab, + 0x11, 0x12, 0x3b, 0xdb, 0x5b, 0xf9, 0xe7, 0xcf, 0xd6, 0x32, 0xbc, 0x21, 0x65, 0xa8, 0xdc, 0x4e, + 0x57, 0xfc, 0x45, 0x0e, 0xb2, 0x12, 0x36, 0x75, 0x62, 0xc2, 0x68, 0x0b, 0x72, 0x78, 0xdc, 0xc1, + 0xba, 0x65, 0x67, 0xf8, 0xe1, 0x37, 0x28, 0xc6, 0xdd, 0xb4, 0x39, 0x5b, 0x31, 0xc9, 0x15, 0x43, + 0xf7, 0x38, 0xd0, 0x11, 0x8d, 0x59, 0x70, 0x71, 0x2f, 0xd2, 0xf1, 0x8e, 0x8d, 0x74, 0xb0, 0x40, + 0xbf, 0x1a, 0x29, 0x15, 0x80, 0x3a, 0xee, 0x71, 0xa8, 0x23, 0x39, 0xe3, 0x63, 0x3e, 0xac, 0xa3, + 0xe1, 0xc3, 0x3a, 0x52, 0x33, 0xa6, 0x19, 0x01, 0x76, 0xbc, 0x63, 0x83, 0x1d, 0xe9, 0x19, 0x23, + 0x0e, 0xa0, 0x1d, 0x7f, 0x3f, 0x81, 0x76, 0xac, 0x47, 0x8a, 0x86, 0xc0, 0x1d, 0xfb, 0x13, 0x70, + 0x47, 0x96, 0x2a, 0x79, 0x25, 0x52, 0xc9, 0x0c, 0xbc, 0x63, 0x7f, 0x02, 0xef, 0xc8, 0xcd, 0x50, + 0x38, 0x03, 0xf0, 0xf8, 0x97, 0x70, 0xc0, 0x03, 0x22, 0x21, 0x09, 0x3e, 0xcc, 0xf9, 0x10, 0x0f, + 0x39, 0x02, 0xf1, 0xc8, 0x47, 0xde, 0xce, 0x99, 0xfa, 0xb9, 0x21, 0x8f, 0xa3, 0x10, 0xc8, 0x83, + 0x25, 0x2f, 0xb7, 0x23, 0x95, 0xcf, 0x81, 0x79, 0x1c, 0x85, 0x60, 0x1e, 0xc5, 0x99, 0x6a, 0x67, + 0x82, 0x1e, 0x0f, 0xfc, 0xa0, 0x47, 0x29, 0xe2, 0x4e, 0xe9, 0x1e, 0xd9, 0x08, 0xd4, 0xe3, 0x24, + 0x0a, 0xf5, 0x60, 0x68, 0xcf, 0xeb, 0x91, 0x1a, 0x17, 0x80, 0x3d, 0xf6, 0x27, 0x60, 0x8f, 0xca, + 0x0c, 0x4b, 0x9b, 0x13, 0xf7, 0x10, 0x5f, 0x25, 0xb1, 0x34, 0xe0, 0x94, 0x88, 0x83, 0xc5, 0x86, + 0xa1, 0x19, 0x1c, 0xa9, 0x60, 0x0d, 0xf1, 0x36, 0xb9, 0xb7, 0xba, 0x0e, 0x68, 0x0a, 0x16, 0x52, + 0x86, 0xa2, 0xcf, 0xe9, 0x88, 0xff, 0x23, 0xb8, 0xb2, 0x14, 0x0d, 0xf1, 0xde, 0x79, 0x73, 0xfc, + 0xce, 0x1b, 0xb8, 0xa7, 0xe5, 0x7c, 0x19, 0x81, 0x37, 0xe7, 0xe0, 0xe0, 0x87, 0xe2, 0xe6, 0x1a, + 0x77, 0x60, 0x89, 0x66, 0xa7, 0xcc, 0xa3, 0xfb, 0x82, 0x46, 0x99, 0x74, 0xb0, 0x55, 0x60, 0xd1, + 0xe3, 0x0d, 0x58, 0xf6, 0xf0, 0x3a, 0x17, 0x4d, 0x86, 0x00, 0x54, 0x1c, 0xee, 0x3a, 0xbf, 0x71, + 0xfe, 0x2e, 0xee, 0xae, 0x90, 0x8b, 0x9a, 0x84, 0x01, 0x1c, 0xc2, 0x4f, 0x06, 0x38, 0xa2, 0x2f, + 0xbc, 0xe8, 0x13, 0x58, 0xf1, 0x61, 0x1f, 0x76, 0xf2, 0x97, 0x58, 0x0c, 0x02, 0x89, 0x79, 0x72, + 0x11, 0xa7, 0x07, 0x7d, 0x0a, 0xd7, 0x68, 0x1a, 0x1b, 0x91, 0x60, 0x26, 0xe7, 0x4b, 0x30, 0xaf, + 0x10, 0x1d, 0x8d, 0x90, 0x24, 0x33, 0x02, 0x18, 0x49, 0x45, 0x01, 0x23, 0x7f, 0x14, 0x5c, 0xbb, + 0x71, 0xa0, 0x91, 0x8e, 0xd6, 0x65, 0xf6, 0x55, 0x94, 0xe8, 0x6f, 0x72, 0x49, 0xe9, 0x6b, 0x67, + 0xdc, 0x44, 0xc8, 0x4f, 0xc2, 0xe5, 0x80, 0xf6, 0x39, 0x1e, 0xa8, 0x56, 0x20, 0xa5, 0x0e, 0xbb, + 0x78, 0xcc, 0xad, 0x80, 0x35, 0x88, 0xec, 0x13, 0x7c, 0xc1, 0xf7, 0x9a, 0xfc, 0x24, 0x7c, 0xf4, + 0x20, 0xd0, 0x58, 0x54, 0x90, 0x58, 0x03, 0xbd, 0x0b, 0x39, 0x5a, 0x79, 0x91, 0x35, 0xdd, 0xe4, + 0xa1, 0xc6, 0x97, 0x11, 0xb1, 0x2a, 0xc9, 0xc6, 0x01, 0xe1, 0xd9, 0xd7, 0x4d, 0x29, 0xab, 0xf3, + 0x5f, 0x9e, 0x9c, 0x25, 0xeb, 0xcb, 0x59, 0xae, 0x43, 0x8e, 0x8c, 0xde, 0xd4, 0x95, 0x0e, 0xa6, + 0x61, 0x22, 0x27, 0xb9, 0x04, 0xf1, 0xff, 0x04, 0x28, 0x07, 0x22, 0x57, 0xe8, 0xdc, 0xed, 0x63, + 0x13, 0xf7, 0x43, 0x45, 0x13, 0xb3, 0xbf, 0x01, 0x70, 0xa6, 0x98, 0xf2, 0x53, 0x65, 0x68, 0xe1, + 0x2e, 0x5f, 0x82, 0xdc, 0x99, 0x62, 0x7e, 0x44, 0x09, 0xfe, 0xc1, 0xa4, 0x02, 0x83, 0xf1, 0x80, + 0x15, 0x69, 0x2f, 0x58, 0x81, 0x6a, 0x90, 0xd5, 0x0d, 0x55, 0x33, 0x54, 0xeb, 0x82, 0xae, 0x49, + 0x42, 0x72, 0xda, 0xe2, 0x01, 0x5c, 0x0a, 0x0d, 0x9a, 0xe8, 0x3e, 0xe4, 0xdc, 0x78, 0x2b, 0xd0, + 0xdc, 0x70, 0x0a, 0x06, 0xe4, 0xf2, 0x92, 0x25, 0xb9, 0x14, 0x1a, 0x36, 0x51, 0x13, 0xd2, 0x06, + 0x36, 0x47, 0x7d, 0x96, 0xab, 0x96, 0xee, 0xbe, 0x31, 0x5f, 0xb8, 0x25, 0xd4, 0x51, 0xdf, 0x92, + 0xb8, 0xb0, 0xf8, 0x19, 0xa4, 0x19, 0x05, 0xe5, 0x21, 0x73, 0xb4, 0xf7, 0x68, 0x6f, 0xff, 0xa3, + 0xbd, 0x4a, 0x0c, 0x01, 0xa4, 0xeb, 0x8d, 0x46, 0xf3, 0xa0, 0x5d, 0x11, 0x50, 0x0e, 0x52, 0xf5, + 0xad, 0x7d, 0xa9, 0x5d, 0x89, 0x13, 0xb2, 0xd4, 0x7c, 0xd8, 0x6c, 0xb4, 0x2b, 0x09, 0xb4, 0x04, + 0x45, 0xf6, 0x5b, 0x7e, 0xb0, 0x2f, 0x3d, 0xae, 0xb7, 0x2b, 0x49, 0x0f, 0xe9, 0xb0, 0xb9, 0xb7, + 0xdd, 0x94, 0x2a, 0x29, 0xf1, 0x2d, 0xb8, 0x1a, 0x19, 0xa0, 0x5d, 0x98, 0x48, 0xf0, 0xc0, 0x44, + 0xe2, 0xf7, 0x71, 0x72, 0x03, 0x89, 0x8a, 0xba, 0xe8, 0x61, 0x60, 0xe2, 0x77, 0x17, 0x08, 0xd9, + 0x81, 0xd9, 0xa3, 0x97, 0xa1, 0x64, 0xe0, 0x53, 0x6c, 0x75, 0x7a, 0x2c, 0x0b, 0xb0, 0x71, 0xa4, + 0x22, 0xa7, 0x52, 0x21, 0x93, 0xb1, 0x7d, 0x8e, 0x3b, 0x96, 0xcc, 0x8c, 0xc0, 0xa4, 0xb7, 0xf5, + 0x1c, 0x61, 0x23, 0xd4, 0x43, 0x46, 0x24, 0x0e, 0x9a, 0x39, 0x12, 0xa6, 0x2a, 0x49, 0x55, 0x01, + 0xf5, 0x0b, 0x94, 0x22, 0x3e, 0x5d, 0x68, 0xb1, 0x73, 0x90, 0x92, 0x9a, 0x6d, 0xe9, 0xe3, 0x4a, + 0x02, 0x21, 0x28, 0xd1, 0x9f, 0xf2, 0xe1, 0x5e, 0xfd, 0xe0, 0xb0, 0xb5, 0x4f, 0x16, 0x7b, 0x19, + 0xca, 0xf6, 0x62, 0xdb, 0xc4, 0x14, 0xba, 0x04, 0x4b, 0x8d, 0xfd, 0xc7, 0x07, 0xbb, 0xcd, 0x76, + 0xd3, 0x25, 0xa7, 0xc5, 0xff, 0x4d, 0xc0, 0x95, 0x88, 0x5c, 0x03, 0xbd, 0x0b, 0x60, 0x8d, 0x65, + 0x03, 0x77, 0x34, 0xa3, 0x1b, 0x6d, 0x9c, 0xed, 0xb1, 0x44, 0x39, 0xa4, 0x9c, 0xc5, 0x7f, 0x4d, + 0x75, 0xd8, 0x1f, 0x70, 0xa5, 0x64, 0xb2, 0x26, 0xc7, 0x36, 0x6e, 0x84, 0x5c, 0xd6, 0x70, 0x87, + 0x28, 0xa6, 0x7b, 0x42, 0x15, 0x53, 0x7e, 0xf4, 0x31, 0x5c, 0x09, 0xc4, 0x15, 0xee, 0x8c, 0xcd, + 0xb0, 0xc2, 0x62, 0x78, 0x78, 0xb9, 0xe4, 0x0f, 0x2f, 0xcc, 0x19, 0x9b, 0x53, 0x80, 0x84, 0xd4, + 0x0b, 0x00, 0x09, 0x51, 0xf1, 0x29, 0xbd, 0x28, 0x44, 0x1f, 0x12, 0x9f, 0xc4, 0xff, 0xf6, 0x6d, + 0x9e, 0x3f, 0x7d, 0xdb, 0x87, 0xb4, 0x69, 0x29, 0xd6, 0xc8, 0xe4, 0x87, 0xe1, 0xfe, 0xbc, 0xb9, + 0xe0, 0x86, 0xfd, 0xe3, 0x90, 0x8a, 0x4b, 0x5c, 0xcd, 0x5f, 0xe5, 0x9e, 0x46, 0xad, 0x7e, 0xea, + 0xe7, 0x58, 0xfd, 0xb7, 0xa1, 0xe4, 0x5f, 0xaa, 0xe8, 0xb3, 0xeb, 0x7a, 0xc7, 0xb8, 0xd8, 0x87, + 0xe5, 0x10, 0x28, 0x02, 0xdd, 0xe7, 0xd5, 0x06, 0xb6, 0x5b, 0x37, 0x27, 0xa7, 0xec, 0x63, 0x77, + 0x8b, 0x0e, 0x24, 0x58, 0xb9, 0x39, 0x35, 0xdb, 0x18, 0x97, 0x20, 0x76, 0x00, 0x4d, 0x66, 0xe8, + 0x61, 0xb0, 0x89, 0xf0, 0x02, 0xb0, 0xc9, 0x7f, 0x0a, 0x70, 0x6d, 0x4a, 0xd6, 0x8e, 0x3e, 0x0c, + 0xd8, 0xe2, 0x7b, 0x8b, 0xe4, 0xfc, 0x1b, 0x8c, 0xe6, 0xb7, 0x46, 0xf1, 0x1e, 0x14, 0xbc, 0xf4, + 0xf9, 0x96, 0xfe, 0xdf, 0x3d, 0x31, 0xd3, 0x8f, 0xef, 0xb4, 0x20, 0x8d, 0xcf, 0xf1, 0xd0, 0x89, + 0xc1, 0x97, 0x27, 0xd7, 0x81, 0x74, 0x6f, 0x55, 0x49, 0xae, 0xf8, 0xfb, 0x67, 0x6b, 0x15, 0xc6, + 0xfd, 0xba, 0x36, 0x50, 0x2d, 0x3c, 0xd0, 0xad, 0x0b, 0x89, 0xcb, 0xa3, 0x9b, 0x50, 0x34, 0xb0, + 0x45, 0x5c, 0x88, 0x0f, 0x5a, 0x2b, 0x30, 0x22, 0xcf, 0xe4, 0x7e, 0x29, 0x00, 0xb8, 0x80, 0x91, + 0x0b, 0xd8, 0x08, 0x5e, 0xc0, 0x26, 0x80, 0xf3, 0xc5, 0x83, 0x38, 0x1f, 0xba, 0x05, 0x65, 0x96, + 0xa4, 0x9b, 0xea, 0xd9, 0x50, 0xb1, 0x46, 0x06, 0xe6, 0xf0, 0x50, 0x89, 0x92, 0x0f, 0x6d, 0x2a, + 0xfa, 0x04, 0xae, 0x5a, 0x3d, 0x03, 0x9b, 0x3d, 0xad, 0xdf, 0x95, 0x83, 0x1b, 0xcf, 0xca, 0x16, + 0x6b, 0x33, 0x0c, 0x4e, 0xba, 0xe2, 0x68, 0x38, 0xf6, 0x6f, 0xfe, 0x97, 0x90, 0xa2, 0x6b, 0x43, + 0x12, 0x2d, 0xc7, 0x82, 0x73, 0xdc, 0x38, 0x3f, 0x05, 0x50, 0x2c, 0xcb, 0x50, 0x4f, 0x46, 0xe4, + 0x38, 0xc7, 0x27, 0x3f, 0xe5, 0xae, 0x6d, 0xdd, 0xe6, 0xdb, 0xba, 0xce, 0x17, 0x79, 0xc5, 0x15, + 0xf5, 0x2c, 0xb4, 0x47, 0xa1, 0xb8, 0x07, 0x25, 0xbf, 0xac, 0x9d, 0xc1, 0xb2, 0x31, 0xf8, 0x33, + 0x58, 0x96, 0x11, 0xf3, 0x0c, 0xd6, 0xc9, 0x7f, 0x13, 0xac, 0x28, 0x48, 0x1b, 0xe2, 0x9f, 0x04, + 0x28, 0x78, 0xdd, 0xd4, 0xdc, 0x49, 0x26, 0x4f, 0xba, 0x13, 0x93, 0x49, 0x77, 0x32, 0x32, 0xed, + 0x4c, 0x05, 0xd3, 0xce, 0xab, 0x90, 0x25, 0xdd, 0x23, 0x13, 0x77, 0x79, 0x25, 0x35, 0x73, 0xa6, + 0x98, 0x47, 0x26, 0xee, 0x7a, 0xec, 0x33, 0xf3, 0x82, 0xf6, 0xe9, 0xcb, 0x6d, 0xb3, 0xc1, 0x44, + 0xfb, 0x2b, 0x01, 0xb2, 0xce, 0xe4, 0xfd, 0x05, 0x43, 0x1f, 0xbe, 0xc8, 0xd6, 0x8e, 0x95, 0x0b, + 0xf9, 0xdd, 0x81, 0x95, 0x4f, 0x13, 0x4e, 0xf9, 0xf4, 0x7d, 0x27, 0x1b, 0x8b, 0x42, 0xd0, 0xbc, + 0x2b, 0x6d, 0x83, 0xa6, 0x3c, 0xf9, 0xfc, 0x0f, 0x3e, 0x0e, 0x92, 0x4e, 0xa0, 0xbf, 0x83, 0xb4, + 0xd2, 0x71, 0x70, 0xc3, 0x52, 0x08, 0xa0, 0x66, 0xb3, 0x6e, 0xb4, 0xc7, 0x75, 0xca, 0x29, 0x71, + 0x09, 0x3e, 0xaa, 0xb8, 0x3d, 0x2a, 0xf1, 0x1f, 0x89, 0x5e, 0xc6, 0xe3, 0xf7, 0x19, 0x25, 0x80, + 0xa3, 0xbd, 0xc7, 0xfb, 0xdb, 0x3b, 0x0f, 0x76, 0x9a, 0xdb, 0x3c, 0xdd, 0xda, 0xde, 0x6e, 0x6e, + 0x57, 0xe2, 0x84, 0x4f, 0x6a, 0x3e, 0xde, 0x3f, 0x6e, 0x6e, 0x57, 0x12, 0x62, 0x1d, 0x72, 0x4e, + 0x94, 0xa0, 0xa5, 0x65, 0xed, 0x29, 0x36, 0xf8, 0x02, 0xb1, 0x06, 0x5a, 0x85, 0xfc, 0x24, 0xd6, + 0x4d, 0x2e, 0x4c, 0x0c, 0xe2, 0x16, 0xff, 0x4b, 0x80, 0xb2, 0xa3, 0x83, 0xe7, 0x09, 0xef, 0x43, + 0x46, 0x1f, 0x9d, 0xc8, 0xb6, 0xed, 0x06, 0x10, 0x62, 0xfb, 0x3e, 0x35, 0x3a, 0xe9, 0xab, 0x9d, + 0x47, 0xf8, 0x82, 0x47, 0xa5, 0xb4, 0x3e, 0x3a, 0x79, 0xc4, 0x4c, 0x9c, 0x0d, 0x23, 0x3e, 0x65, + 0x18, 0x89, 0xc0, 0x30, 0xd0, 0x2d, 0x28, 0x0c, 0xb5, 0x2e, 0x96, 0x95, 0x6e, 0xd7, 0xc0, 0x26, + 0x0b, 0xb6, 0x39, 0xae, 0x39, 0x4f, 0x7a, 0xea, 0xac, 0x43, 0xfc, 0x41, 0x00, 0x34, 0x19, 0x19, + 0xd1, 0x21, 0x2c, 0xb9, 0xc1, 0xd5, 0x8e, 0xd8, 0xcc, 0x7d, 0xae, 0x47, 0x47, 0x56, 0xdf, 0xa5, + 0xbb, 0x72, 0xee, 0x27, 0x93, 0x2c, 0x6c, 0xc5, 0x75, 0x55, 0x3a, 0x9d, 0x2f, 0x5d, 0x94, 0xf8, + 0x9c, 0x8b, 0x12, 0x93, 0x90, 0x23, 0xef, 0xf4, 0x04, 0x5d, 0x69, 0x62, 0xa2, 0x64, 0xa2, 0x43, + 0xb5, 0x3d, 0x21, 0xc6, 0xe7, 0x19, 0x35, 0x24, 0xe1, 0x45, 0x86, 0x24, 0xde, 0x83, 0xca, 0x87, + 0xce, 0xf7, 0xf9, 0x97, 0x02, 0xc3, 0x14, 0x26, 0x86, 0x79, 0x0e, 0x59, 0xe2, 0x7d, 0x69, 0xd0, + 0xf8, 0x07, 0xc8, 0x39, 0xab, 0xe7, 0xbc, 0x4e, 0x89, 0x5c, 0x76, 0x3e, 0x12, 0x57, 0x04, 0xdd, + 0x81, 0x25, 0x12, 0x37, 0xec, 0xc2, 0x25, 0x83, 0xcd, 0xe2, 0xd4, 0x1b, 0x96, 0x59, 0xc7, 0xae, + 0x8d, 0xf5, 0x90, 0x00, 0x5f, 0x61, 0x89, 0x00, 0xee, 0xfe, 0x25, 0x06, 0x40, 0xee, 0x59, 0x01, + 0xf4, 0x90, 0xed, 0x61, 0xd1, 0x97, 0x89, 0x88, 0xff, 0x1a, 0x87, 0xbc, 0xa7, 0x90, 0x82, 0xfe, + 0xd6, 0x97, 0x54, 0xad, 0x4f, 0x2b, 0xba, 0x78, 0x32, 0x2a, 0xdf, 0xc4, 0xe2, 0x8b, 0x4f, 0x2c, + 0xaa, 0x84, 0x65, 0xd7, 0x53, 0x93, 0x0b, 0xd7, 0x53, 0x5f, 0x07, 0x64, 0x69, 0x96, 0xd2, 0x27, + 0xc1, 0x5b, 0x1d, 0x9e, 0xc9, 0xec, 0xb4, 0xb3, 0x00, 0x52, 0xa1, 0x3d, 0xc7, 0xb4, 0xe3, 0x80, + 0xd0, 0xc5, 0x3e, 0x64, 0x1d, 0x30, 0x60, 0xf1, 0x47, 0x1f, 0x61, 0x75, 0xe3, 0x1a, 0x64, 0x07, + 0xd8, 0x52, 0x68, 0xd8, 0x63, 0xe0, 0x90, 0xd3, 0xbe, 0xf3, 0x1e, 0xe4, 0x3d, 0x2f, 0x61, 0x48, + 0x24, 0xdc, 0x6b, 0x7e, 0x54, 0x89, 0xd5, 0x32, 0x5f, 0x7f, 0xbb, 0x9e, 0xd8, 0xc3, 0x4f, 0xc9, + 0xa7, 0xa4, 0x66, 0xa3, 0xd5, 0x6c, 0x3c, 0xaa, 0x08, 0xb5, 0xfc, 0xd7, 0xdf, 0xae, 0x67, 0x24, + 0x4c, 0x6b, 0x0e, 0x77, 0x1e, 0x41, 0x39, 0xb0, 0x03, 0x7e, 0x9f, 0x8c, 0xa0, 0xb4, 0x7d, 0x74, + 0xb0, 0xbb, 0xd3, 0xa8, 0xb7, 0x9b, 0xf2, 0xf1, 0x7e, 0xbb, 0x59, 0x11, 0xd0, 0x15, 0x58, 0xde, + 0xdd, 0xf9, 0xa7, 0x56, 0x5b, 0x6e, 0xec, 0xee, 0x34, 0xf7, 0xda, 0x72, 0xbd, 0xdd, 0xae, 0x37, + 0x1e, 0x55, 0xe2, 0x77, 0x7f, 0x03, 0x50, 0xae, 0x6f, 0x35, 0x76, 0xc8, 0xdd, 0x5e, 0xed, 0x28, + 0xd4, 0xc3, 0x37, 0x20, 0x49, 0xa1, 0xd8, 0xa9, 0x6f, 0x62, 0x6b, 0xd3, 0x0b, 0x49, 0xe8, 0x01, + 0xa4, 0x28, 0x4a, 0x8b, 0xa6, 0x3f, 0x92, 0xad, 0xcd, 0xa8, 0x2c, 0x91, 0xc1, 0xd0, 0x73, 0x33, + 0xf5, 0xd5, 0x6c, 0x6d, 0x7a, 0xa1, 0x09, 0xed, 0x42, 0xc6, 0x06, 0xc0, 0x66, 0x3d, 0x65, 0xad, + 0xcd, 0xac, 0xfe, 0x90, 0xa9, 0x31, 0x20, 0x71, 0xfa, 0x83, 0xda, 0xda, 0x8c, 0x12, 0x14, 0x92, + 0x20, 0xe7, 0x62, 0xbf, 0xb3, 0xdf, 0xf6, 0xd6, 0xe6, 0x28, 0x89, 0xa1, 0xcf, 0xa0, 0xe8, 0x87, + 0xca, 0xe6, 0x7b, 0x76, 0x5b, 0x9b, 0xb3, 0x5c, 0x45, 0xf4, 0xfb, 0x71, 0xb3, 0xf9, 0x9e, 0xe1, + 0xd6, 0xe6, 0xac, 0x5e, 0xa1, 0xcf, 0x61, 0x69, 0x12, 0xd7, 0x9a, 0xff, 0x55, 0x6e, 0x6d, 0x81, + 0x7a, 0x16, 0x1a, 0x00, 0x0a, 0xc1, 0xc3, 0x16, 0x78, 0xa4, 0x5b, 0x5b, 0xa4, 0xbc, 0x85, 0xba, + 0x50, 0x0e, 0x62, 0x45, 0xf3, 0x3e, 0xda, 0xad, 0xcd, 0x5d, 0xea, 0x62, 0x5f, 0xf1, 0x83, 0x1a, + 0xf3, 0x3e, 0xe2, 0xad, 0xcd, 0x5d, 0xf9, 0x42, 0x47, 0x00, 0x9e, 0x8b, 0xf1, 0x1c, 0x8f, 0x7a, + 0x6b, 0xf3, 0xd4, 0xc0, 0x90, 0x0e, 0xcb, 0x61, 0x37, 0xe1, 0x45, 0xde, 0xf8, 0xd6, 0x16, 0x2a, + 0x8d, 0x11, 0x7b, 0xf6, 0xdf, 0x69, 0xe7, 0x7b, 0xf3, 0x5b, 0x9b, 0xb3, 0x46, 0xb6, 0xd5, 0xfc, + 0xee, 0xf9, 0xaa, 0xf0, 0xfd, 0xf3, 0x55, 0xe1, 0x87, 0xe7, 0xab, 0xc2, 0x37, 0x3f, 0xae, 0xc6, + 0xbe, 0xff, 0x71, 0x35, 0xf6, 0xeb, 0x1f, 0x57, 0x63, 0xff, 0xfc, 0xda, 0x99, 0x6a, 0xf5, 0x46, + 0x27, 0x1b, 0x1d, 0x6d, 0xb0, 0xe9, 0xfd, 0x33, 0x44, 0xd8, 0x7f, 0x3b, 0x4e, 0xd2, 0x34, 0xdc, + 0xdd, 0xfb, 0x73, 0x00, 0x00, 0x00, 0xff, 0xff, 0x25, 0x24, 0x2d, 0xe9, 0xfb, 0x31, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -5792,13 +5796,15 @@ func (m *RequestLoadSnapshotChunk) MarshalToSizedBuffer(dAtA []byte) (int, error _ = i var l int _ = l - if m.Chunk != 0 { - i = encodeVarintTypes(dAtA, i, uint64(m.Chunk)) + if len(m.ChunkId) > 0 { + i -= len(m.ChunkId) + copy(dAtA[i:], m.ChunkId) + i = encodeVarintTypes(dAtA, i, uint64(len(m.ChunkId))) i-- - dAtA[i] = 0x18 + dAtA[i] = 0x1a } - if m.Format != 0 { - i = encodeVarintTypes(dAtA, i, uint64(m.Format)) + if m.Version != 0 { + i = encodeVarintTypes(dAtA, i, uint64(m.Version)) i-- dAtA[i] = 0x10 } @@ -5844,10 +5850,12 @@ func (m *RequestApplySnapshotChunk) MarshalToSizedBuffer(dAtA []byte) (int, erro i-- dAtA[i] = 0x12 } - if m.Index != 0 { - i = encodeVarintTypes(dAtA, i, uint64(m.Index)) + if len(m.ChunkId) > 0 { + i -= len(m.ChunkId) + copy(dAtA[i:], m.ChunkId) + i = encodeVarintTypes(dAtA, i, uint64(len(m.ChunkId))) i-- - dAtA[i] = 0x8 + dAtA[i] = 0xa } return len(dAtA) - i, nil } @@ -7141,6 +7149,15 @@ func (m *ResponseApplySnapshotChunk) MarshalToSizedBuffer(dAtA []byte) (int, err _ = i var l int _ = l + if len(m.NextChunks) > 0 { + for iNdEx := len(m.NextChunks) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.NextChunks[iNdEx]) + copy(dAtA[i:], m.NextChunks[iNdEx]) + i = encodeVarintTypes(dAtA, i, uint64(len(m.NextChunks[iNdEx]))) + i-- + dAtA[i] = 0x22 + } + } if len(m.RejectSenders) > 0 { for iNdEx := len(m.RejectSenders) - 1; iNdEx >= 0; iNdEx-- { i -= len(m.RejectSenders[iNdEx]) @@ -7151,22 +7168,13 @@ func (m *ResponseApplySnapshotChunk) MarshalToSizedBuffer(dAtA []byte) (int, err } } if len(m.RefetchChunks) > 0 { - dAtA51 := make([]byte, len(m.RefetchChunks)*10) - var j50 int - for _, num := range m.RefetchChunks { - for num >= 1<<7 { - dAtA51[j50] = uint8(uint64(num)&0x7f | 0x80) - num >>= 7 - j50++ - } - dAtA51[j50] = uint8(num) - j50++ - } - i -= j50 - copy(dAtA[i:], dAtA51[:j50]) - i = encodeVarintTypes(dAtA, i, uint64(j50)) - i-- - dAtA[i] = 0x12 + for iNdEx := len(m.RefetchChunks) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.RefetchChunks[iNdEx]) + copy(dAtA[i:], m.RefetchChunks[iNdEx]) + i = encodeVarintTypes(dAtA, i, uint64(len(m.RefetchChunks[iNdEx]))) + i-- + dAtA[i] = 0x12 + } } if m.Result != 0 { i = encodeVarintTypes(dAtA, i, uint64(m.Result)) @@ -8121,12 +8129,12 @@ func (m *Misbehavior) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x28 } - n63, err63 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Time):]) - if err63 != nil { - return 0, err63 + n61, err61 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Time):]) + if err61 != nil { + return 0, err61 } - i -= n63 - i = encodeVarintTypes(dAtA, i, uint64(n63)) + i -= n61 + i = encodeVarintTypes(dAtA, i, uint64(n61)) i-- dAtA[i] = 0x22 if m.Height != 0 { @@ -8186,13 +8194,8 @@ func (m *Snapshot) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x22 } - if m.Chunks != 0 { - i = encodeVarintTypes(dAtA, i, uint64(m.Chunks)) - i-- - dAtA[i] = 0x18 - } - if m.Format != 0 { - i = encodeVarintTypes(dAtA, i, uint64(m.Format)) + if m.Version != 0 { + i = encodeVarintTypes(dAtA, i, uint64(m.Version)) i-- dAtA[i] = 0x10 } @@ -8559,11 +8562,12 @@ func (m *RequestLoadSnapshotChunk) Size() (n int) { if m.Height != 0 { n += 1 + sovTypes(uint64(m.Height)) } - if m.Format != 0 { - n += 1 + sovTypes(uint64(m.Format)) + if m.Version != 0 { + n += 1 + sovTypes(uint64(m.Version)) } - if m.Chunk != 0 { - n += 1 + sovTypes(uint64(m.Chunk)) + l = len(m.ChunkId) + if l > 0 { + n += 1 + l + sovTypes(uint64(l)) } return n } @@ -8574,8 +8578,9 @@ func (m *RequestApplySnapshotChunk) Size() (n int) { } var l int _ = l - if m.Index != 0 { - n += 1 + sovTypes(uint64(m.Index)) + l = len(m.ChunkId) + if l > 0 { + n += 1 + l + sovTypes(uint64(l)) } l = len(m.Chunk) if l > 0 { @@ -9206,11 +9211,10 @@ func (m *ResponseApplySnapshotChunk) Size() (n int) { n += 1 + sovTypes(uint64(m.Result)) } if len(m.RefetchChunks) > 0 { - l = 0 - for _, e := range m.RefetchChunks { - l += sovTypes(uint64(e)) + for _, b := range m.RefetchChunks { + l = len(b) + n += 1 + l + sovTypes(uint64(l)) } - n += 1 + sovTypes(uint64(l)) + l } if len(m.RejectSenders) > 0 { for _, s := range m.RejectSenders { @@ -9218,6 +9222,12 @@ func (m *ResponseApplySnapshotChunk) Size() (n int) { n += 1 + l + sovTypes(uint64(l)) } } + if len(m.NextChunks) > 0 { + for _, b := range m.NextChunks { + l = len(b) + n += 1 + l + sovTypes(uint64(l)) + } + } return n } @@ -9639,11 +9649,8 @@ func (m *Snapshot) Size() (n int) { if m.Height != 0 { n += 1 + sovTypes(uint64(m.Height)) } - if m.Format != 0 { - n += 1 + sovTypes(uint64(m.Format)) - } - if m.Chunks != 0 { - n += 1 + sovTypes(uint64(m.Chunks)) + if m.Version != 0 { + n += 1 + sovTypes(uint64(m.Version)) } l = len(m.Hash) if l > 0 { @@ -11258,9 +11265,9 @@ func (m *RequestLoadSnapshotChunk) Unmarshal(dAtA []byte) error { } case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Format", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType) } - m.Format = 0 + m.Version = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTypes @@ -11270,16 +11277,16 @@ func (m *RequestLoadSnapshotChunk) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Format |= uint32(b&0x7F) << shift + m.Version |= uint32(b&0x7F) << shift if b < 0x80 { break } } case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Chunk", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ChunkId", wireType) } - m.Chunk = 0 + var byteLen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTypes @@ -11289,11 +11296,26 @@ func (m *RequestLoadSnapshotChunk) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Chunk |= uint32(b&0x7F) << shift + byteLen |= int(b&0x7F) << shift if b < 0x80 { break } } + if byteLen < 0 { + return ErrInvalidLengthTypes + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ChunkId = append(m.ChunkId[:0], dAtA[iNdEx:postIndex]...) + if m.ChunkId == nil { + m.ChunkId = []byte{} + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTypes(dAtA[iNdEx:]) @@ -11345,10 +11367,10 @@ func (m *RequestApplySnapshotChunk) Unmarshal(dAtA []byte) error { } switch fieldNum { case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Index", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ChunkId", wireType) } - m.Index = 0 + var byteLen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTypes @@ -11358,11 +11380,26 @@ func (m *RequestApplySnapshotChunk) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Index |= uint32(b&0x7F) << shift + byteLen |= int(b&0x7F) << shift if b < 0x80 { break } } + if byteLen < 0 { + return ErrInvalidLengthTypes + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ChunkId = append(m.ChunkId[:0], dAtA[iNdEx:postIndex]...) + if m.ChunkId == nil { + m.ChunkId = []byte{} + } + iNdEx = postIndex case 2: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Chunk", wireType) @@ -14952,81 +14989,37 @@ func (m *ResponseApplySnapshotChunk) Unmarshal(dAtA []byte) error { } } case 2: - if wireType == 0 { - var v uint32 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.RefetchChunks = append(m.RefetchChunks, v) - } else if wireType == 2 { - var packedLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - packedLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if packedLen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + packedLen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RefetchChunks", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { return io.ErrUnexpectedEOF } - var elementCount int - var count int - for _, integer := range dAtA[iNdEx:postIndex] { - if integer < 128 { - count++ - } - } - elementCount = count - if elementCount != 0 && len(m.RefetchChunks) == 0 { - m.RefetchChunks = make([]uint32, 0, elementCount) - } - for iNdEx < postIndex { - var v uint32 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.RefetchChunks = append(m.RefetchChunks, v) - } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field RefetchChunks", wireType) + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthTypes + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF } + m.RefetchChunks = append(m.RefetchChunks, make([]byte, postIndex-iNdEx)) + copy(m.RefetchChunks[len(m.RefetchChunks)-1], dAtA[iNdEx:postIndex]) + iNdEx = postIndex case 3: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field RejectSenders", wireType) @@ -15059,6 +15052,38 @@ func (m *ResponseApplySnapshotChunk) Unmarshal(dAtA []byte) error { } m.RejectSenders = append(m.RejectSenders, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NextChunks", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthTypes + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.NextChunks = append(m.NextChunks, make([]byte, postIndex-iNdEx)) + copy(m.NextChunks[len(m.NextChunks)-1], dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTypes(dAtA[iNdEx:]) @@ -17913,28 +17938,9 @@ func (m *Snapshot) Unmarshal(dAtA []byte) error { } case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Format", wireType) - } - m.Format = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Format |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Chunks", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType) } - m.Chunks = 0 + m.Version = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTypes @@ -17944,7 +17950,7 @@ func (m *Snapshot) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Chunks |= uint32(b&0x7F) << shift + m.Version |= uint32(b&0x7F) << shift if b < 0x80 { break } diff --git a/config/config.go b/config/config.go index 103f50bfcc..cc7265f2f9 100644 --- a/config/config.go +++ b/config/config.go @@ -911,7 +911,7 @@ type StateSyncConfig struct { ChunkRequestTimeout time.Duration `mapstructure:"chunk-request-timeout"` // The number of concurrent chunk and block fetchers to run (default: 4). - Fetchers int32 `mapstructure:"fetchers"` + Fetchers int `mapstructure:"fetchers"` } func (cfg *StateSyncConfig) TrustHashBytes() []byte { diff --git a/internal/rpc/core/status.go b/internal/rpc/core/status.go index 85a788094d..9086c71feb 100644 --- a/internal/rpc/core/status.go +++ b/internal/rpc/core/status.go @@ -93,7 +93,6 @@ func (env *Environment) Status(ctx context.Context) (*coretypes.ResultStatus, er result.SyncInfo.ChunkProcessAvgTime = env.StateSyncMetricer.ChunkProcessAvgTime() result.SyncInfo.SnapshotHeight = env.StateSyncMetricer.SnapshotHeight() result.SyncInfo.SnapshotChunksCount = env.StateSyncMetricer.SnapshotChunksCount() - result.SyncInfo.SnapshotChunksTotal = env.StateSyncMetricer.SnapshotChunksTotal() result.SyncInfo.BackFilledBlocks = env.StateSyncMetricer.BackFilledBlocks() result.SyncInfo.BackFillBlocksTotal = env.StateSyncMetricer.BackFillBlocksTotal() } diff --git a/internal/statesync/chunks.go b/internal/statesync/chunks.go index 0b6753118e..2a49bceb88 100644 --- a/internal/statesync/chunks.go +++ b/internal/statesync/chunks.go @@ -5,374 +5,395 @@ import ( "fmt" "os" "path/filepath" - "strconv" "time" sync "github.com/sasha-s/go-deadlock" + "github.com/tendermint/tendermint/libs/bytes" "github.com/tendermint/tendermint/types" ) // errDone is returned by chunkQueue.Next() when all chunks have been returned. -var errDone = errors.New("chunk queue has completed") +var ( + errDone = errors.New("chunk queue has completed") + errQueueEmpty = errors.New("requestQueue is empty") + errChunkNil = errors.New("cannot add nil chunk") + errNoChunkItem = errors.New("no chunk item found") + errNilSnapshot = errors.New("snapshot is nil") +) -// chunk contains data for a chunk. -type chunk struct { - Height uint64 - Format uint32 - Index uint32 - Chunk []byte - Sender types.NodeID -} +const ( + initStatus chunkStatus = iota + inProgressStatus + discardedStatus + receivedStatus + doneStatus +) -// chunkQueue manages chunks for a state sync process, ordering them if requested. It acts as an -// iterator over all chunks, but callers can request chunks to be retried, optionally after -// refetching. -type chunkQueue struct { - sync.Mutex - snapshot *snapshot // if this is nil, the queue has been closed - dir string // temp dir for on-disk chunk storage - chunkFiles map[uint32]string // path to temporary chunk file - chunkSenders map[uint32]types.NodeID // the peer who sent the given chunk - chunkAllocated map[uint32]bool // chunks that have been allocated via Allocate() - chunkReturned map[uint32]bool // chunks returned via Next() - waiters map[uint32][]chan<- uint32 // signals WaitFor() waiters about chunk arrival -} +// chunk contains data for a chunk. +type ( + chunk struct { + Height uint64 + Version uint32 + ID bytes.HexBytes + Chunk []byte + Sender types.NodeID + } + chunkStatus int + chunkItem struct { + chunkID bytes.HexBytes + file string // path to temporary chunk file + sender types.NodeID // the peer who sent the given chunk + waitChs []chan<- bytes.HexBytes // signals WaitFor() waiters about chunk arrival + status chunkStatus // status of the chunk + } + // chunkQueue manages chunks for a state sync process, ordering them if requested. It acts as an + // iterator over all chunks, but callers can request chunks to be retried, optionally after + // refetching. + chunkQueue struct { + mtx sync.Mutex + snapshot *snapshot // if this is nil, the queue has been closed + dir string // temp dir for on-disk chunk storage + items map[string]*chunkItem + requestQueue []bytes.HexBytes + applyCh chan bytes.HexBytes + // doneCount counts the number of chunks that have been processed to the done status + // if for some reason some chunks have been processed more than once, this number should take them into account + doneCount int + } +) -// newChunkQueue creates a new chunk queue for a snapshot, using a temp dir for storage. +// newChunkQueue creates a new chunk requestQueue for a snapshot, using a temp dir for storage. // Callers must call Close() when done. -func newChunkQueue(snapshot *snapshot, tempDir string) (*chunkQueue, error) { +func newChunkQueue(snapshot *snapshot, tempDir string, bufLen int) (*chunkQueue, error) { dir, err := os.MkdirTemp(tempDir, "tm-statesync") if err != nil { return nil, fmt.Errorf("unable to create temp dir for state sync chunks: %w", err) } - if snapshot.Chunks == 0 { + if snapshot.Hash.IsZero() { return nil, errors.New("snapshot has no chunks") } - return &chunkQueue{ - snapshot: snapshot, - dir: dir, - chunkFiles: make(map[uint32]string, snapshot.Chunks), - chunkSenders: make(map[uint32]types.NodeID, snapshot.Chunks), - chunkAllocated: make(map[uint32]bool, snapshot.Chunks), - chunkReturned: make(map[uint32]bool, snapshot.Chunks), - waiters: make(map[uint32][]chan<- uint32), + snapshot: snapshot, + dir: dir, + items: make(map[string]*chunkItem), + applyCh: make(chan bytes.HexBytes, bufLen), }, nil } -// Add adds a chunk to the queue. It ignores chunks that already exist, returning false. -func (q *chunkQueue) Add(chunk *chunk) (bool, error) { - if chunk == nil || chunk.Chunk == nil { - return false, errors.New("cannot add nil chunk") - } +// IsRequestQueueEmpty returns true if the request queue is empty +func (q *chunkQueue) IsRequestQueueEmpty() bool { + return q.RequestQueueLen() == 0 +} - q.Lock() - defer q.Unlock() +// RequestQueueLen returns the length of the request queue +func (q *chunkQueue) RequestQueueLen() int { + q.mtx.Lock() + defer q.mtx.Unlock() + return len(q.requestQueue) +} - if q.snapshot == nil { - return false, nil // queue is closed - } - if chunk.Height != q.snapshot.Height { - return false, fmt.Errorf( - "invalid chunk height %v, expected %v", - chunk.Height, - q.snapshot.Height, - ) - } - if chunk.Format != q.snapshot.Format { - return false, fmt.Errorf( - "invalid chunk format %v, expected %v", - chunk.Format, - q.snapshot.Format, - ) - } - if chunk.Index >= q.snapshot.Chunks { - return false, fmt.Errorf("received unexpected chunk %v", chunk.Index) - } - if q.chunkFiles[chunk.Index] != "" { - return false, nil +// Enqueue adds a chunk ID to the end of the requestQueue +func (q *chunkQueue) Enqueue(chunkIDs ...[]byte) { + q.mtx.Lock() + defer q.mtx.Unlock() + for _, chunkID := range chunkIDs { + q.enqueue(chunkID) } +} - path := filepath.Join(q.dir, strconv.FormatUint(uint64(chunk.Index), 10)) - err := os.WriteFile(path, chunk.Chunk, 0600) - if err != nil { - return false, fmt.Errorf("failed to save chunk %v to file %v: %w", chunk.Index, path, err) +func (q *chunkQueue) enqueue(chunkID bytes.HexBytes) { + q.requestQueue = append(q.requestQueue, chunkID) + _, ok := q.items[chunkID.String()] + if ok { + return } - - q.chunkFiles[chunk.Index] = path - q.chunkSenders[chunk.Index] = chunk.Sender - - // Signal any waiters that the chunk has arrived. - for _, waiter := range q.waiters[chunk.Index] { - waiter <- chunk.Index - close(waiter) + q.items[chunkID.String()] = &chunkItem{ + chunkID: chunkID, + status: initStatus, } +} - delete(q.waiters, chunk.Index) - - return true, nil +// Dequeue returns the next chunk ID in the requestQueue, or an error if the queue is empty +func (q *chunkQueue) Dequeue() (bytes.HexBytes, error) { + q.mtx.Lock() + defer q.mtx.Unlock() + return q.dequeue() } -// Allocate allocates a chunk to the caller, making it responsible for fetching it. Returns -// errDone once no chunks are left or the queue is closed. -func (q *chunkQueue) Allocate() (uint32, error) { - q.Lock() - defer q.Unlock() +func (q *chunkQueue) dequeue() (bytes.HexBytes, error) { + if len(q.requestQueue) == 0 { + return nil, errQueueEmpty + } + chunkID := q.requestQueue[0] + q.requestQueue = q.requestQueue[1:] + q.items[chunkID.String()].status = inProgressStatus + return chunkID, nil +} +// Add adds a chunk to the queue. It ignores chunks that already exist, returning false. +func (q *chunkQueue) Add(chunk *chunk) (bool, error) { + if chunk == nil || chunk.Chunk == nil { + return false, errChunkNil + } + q.mtx.Lock() + defer q.mtx.Unlock() if q.snapshot == nil { - return 0, errDone + return false, errNilSnapshot } - - if uint32(len(q.chunkAllocated)) >= q.snapshot.Chunks { - return 0, errDone + chunkIDKey := chunk.ID.String() + item, ok := q.items[chunkIDKey] + if !ok { + return false, fmt.Errorf("failed to add the chunk %x, it was never requested", chunk.ID) } - - for i := uint32(0); i < q.snapshot.Chunks; i++ { - if !q.chunkAllocated[i] { - q.chunkAllocated[i] = true - return i, nil - } + if item.status != inProgressStatus && item.status != discardedStatus { + return false, nil } - - return 0, errDone + err := q.validateChunk(chunk) + if err != nil { + return false, err + } + item.file = filepath.Join(q.dir, chunkIDKey) + err = item.write(chunk.Chunk) + if err != nil { + return false, err + } + item.sender = chunk.Sender + item.status = receivedStatus + q.applyCh <- chunk.ID + // Signal any waiters that the chunk has arrived. + item.closeWaitChs(true) + return true, nil } // Close closes the chunk queue, cleaning up all temporary files. func (q *chunkQueue) Close() error { - q.Lock() - defer q.Unlock() - + q.mtx.Lock() + defer q.mtx.Unlock() if q.snapshot == nil { return nil } - - for _, waiters := range q.waiters { - for _, waiter := range waiters { - close(waiter) - } - } - - q.waiters = nil q.snapshot = nil - + close(q.applyCh) + for len(q.applyCh) > 0 { + <-q.applyCh + } + for _, item := range q.items { + item.closeWaitChs(false) + } if err := os.RemoveAll(q.dir); err != nil { - return fmt.Errorf("failed to clean up state sync tempdir %v: %w", q.dir, err) + return fmt.Errorf("failed to clean up state sync tempdir %s: %w", q.dir, err) } - return nil } // Discard discards a chunk. It will be removed from the queue, available for allocation, and can // be added and returned via Next() again. If the chunk is not already in the queue this does // nothing, to avoid it being allocated to multiple fetchers. -func (q *chunkQueue) Discard(index uint32) error { - q.Lock() - defer q.Unlock() - return q.discard(index) +func (q *chunkQueue) Discard(chunkID bytes.HexBytes) error { + q.mtx.Lock() + defer q.mtx.Unlock() + return q.discard(chunkID) } // discard discards a chunk, scheduling it for refetching. The caller must hold the mutex lock. -func (q *chunkQueue) discard(index uint32) error { +func (q *chunkQueue) discard(chunkID bytes.HexBytes) error { if q.snapshot == nil { return nil } - - path := q.chunkFiles[index] - if path == "" { + chunkIDKey := chunkID.String() + item, ok := q.items[chunkIDKey] + if !ok { return nil } - - if err := os.Remove(path); err != nil { - return fmt.Errorf("failed to remove chunk %v: %w", index, err) - } - - delete(q.chunkFiles, index) - delete(q.chunkReturned, index) - delete(q.chunkAllocated, index) - - return nil + item.status = discardedStatus + return item.remove() } // DiscardSender discards all *unreturned* chunks from a given sender. If the caller wants to // discard already returned chunks, this can be done via Discard(). func (q *chunkQueue) DiscardSender(peerID types.NodeID) error { - q.Lock() - defer q.Unlock() - - for index, sender := range q.chunkSenders { - if sender == peerID && !q.chunkReturned[index] { - err := q.discard(index) + q.mtx.Lock() + defer q.mtx.Unlock() + for _, item := range q.items { + if item.sender == peerID && item.isDiscardable() { + err := q.discard(item.chunkID) if err != nil { return err } - - delete(q.chunkSenders, index) } } - return nil } // GetSender returns the sender of the chunk with the given index, or empty if // not found. -func (q *chunkQueue) GetSender(index uint32) types.NodeID { - q.Lock() - defer q.Unlock() - return q.chunkSenders[index] -} - -// Has checks whether a chunk exists in the queue. -func (q *chunkQueue) Has(index uint32) bool { - q.Lock() - defer q.Unlock() - return q.chunkFiles[index] != "" +func (q *chunkQueue) GetSender(chunkID bytes.HexBytes) types.NodeID { + q.mtx.Lock() + defer q.mtx.Unlock() + item, ok := q.items[chunkID.String()] + if ok { + return item.sender + } + return "" } // load loads a chunk from disk, or nil if the chunk is not in the queue. The caller must hold the // mutex lock. -func (q *chunkQueue) load(index uint32) (*chunk, error) { - path, ok := q.chunkFiles[index] +func (q *chunkQueue) load(chunkID bytes.HexBytes) (*chunk, error) { + chunkIDKey := chunkID.String() + item, ok := q.items[chunkIDKey] if !ok { + return nil, errNoChunkItem + } + if item.status != receivedStatus { return nil, nil } - - body, err := os.ReadFile(path) + data, err := item.loadData() if err != nil { - return nil, fmt.Errorf("failed to load chunk %v: %w", index, err) + return nil, err } - return &chunk{ - Height: q.snapshot.Height, - Format: q.snapshot.Format, - Index: index, - Chunk: body, - Sender: q.chunkSenders[index], + Height: q.snapshot.Height, + Version: q.snapshot.Version, + ID: chunkID, + Chunk: data, + Sender: item.sender, }, nil } // Next returns the next chunk from the queue, or errDone if all chunks have been returned. It // blocks until the chunk is available. Concurrent Next() calls may return the same chunk. func (q *chunkQueue) Next() (*chunk, error) { - q.Lock() - - var chunk *chunk - index, err := q.nextUp() - if err == nil { - chunk, err = q.load(index) - if err == nil { - q.chunkReturned[index] = true - } - } - - q.Unlock() - - if chunk != nil || err != nil { - return chunk, err - } - select { - case _, ok := <-q.WaitFor(index): + case chunkID, ok := <-q.applyCh: if !ok { return nil, errDone // queue closed } + q.mtx.Lock() + defer q.mtx.Unlock() + loadedChunk, err := q.load(chunkID) + if err != nil { + return nil, err + } + item, ok := q.items[chunkID.String()] + if !ok { + return nil, errNoChunkItem + } + item.status = doneStatus + q.doneCount++ + return loadedChunk, nil case <-time.After(chunkTimeout): return nil, errTimeout } - - q.Lock() - defer q.Unlock() - - chunk, err = q.load(index) - if err != nil { - return nil, err - } - - q.chunkReturned[index] = true - return chunk, nil } -// nextUp returns the next chunk to be returned, or errDone if all chunks have been returned. The -// caller must hold the mutex lock. -func (q *chunkQueue) nextUp() (uint32, error) { - if q.snapshot == nil { - return 0, errDone - } - - for i := uint32(0); i < q.snapshot.Chunks; i++ { - if !q.chunkReturned[i] { - return i, nil - } - } - - return 0, errDone +// Retry schedules a chunk to be retried, without refetching it. +func (q *chunkQueue) Retry(chunkID bytes.HexBytes) { + q.mtx.Lock() + defer q.mtx.Unlock() + q.retry(chunkID) } -// Retry schedules a chunk to be retried, without refetching it. -func (q *chunkQueue) Retry(index uint32) { - q.Lock() - defer q.Unlock() - delete(q.chunkReturned, index) +func (q *chunkQueue) retry(chunkID bytes.HexBytes) { + item, ok := q.items[chunkID.String()] + if !ok || (item.status != receivedStatus && item.status != doneStatus) { + return + } + q.requestQueue = append(q.requestQueue, chunkID) + q.items[chunkID.String()].status = initStatus } // RetryAll schedules all chunks to be retried, without refetching them. func (q *chunkQueue) RetryAll() { - q.Lock() - defer q.Unlock() - q.chunkReturned = make(map[uint32]bool) -} - -// Size returns the total number of chunks for the snapshot and queue, or 0 when closed. -func (q *chunkQueue) Size() uint32 { - q.Lock() - defer q.Unlock() - - if q.snapshot == nil { - return 0 + q.mtx.Lock() + defer q.mtx.Unlock() + q.requestQueue = make([]bytes.HexBytes, 0, len(q.items)) + for _, item := range q.items { + q.retry(item.chunkID) } - - return q.snapshot.Chunks } -// WaitFor returns a channel that receives a chunk index when it arrives in the queue, or -// immediately if it has already arrived. The channel is closed without a value if the queue is -// closed or if the chunk index is not valid. -func (q *chunkQueue) WaitFor(index uint32) <-chan uint32 { - q.Lock() - defer q.Unlock() +// WaitFor returns a channel that receives a chunk ID when it arrives in the queue, or +// immediately if it has already arrived. The channel is closed without a value if the queue is closed +func (q *chunkQueue) WaitFor(chunkID bytes.HexBytes) <-chan bytes.HexBytes { + q.mtx.Lock() + defer q.mtx.Unlock() + return q.waitFor(chunkID) +} - ch := make(chan uint32, 1) - switch { - case q.snapshot == nil: +func (q *chunkQueue) waitFor(chunkID bytes.HexBytes) <-chan bytes.HexBytes { + ch := make(chan bytes.HexBytes, 1) + if q.snapshot == nil { close(ch) - - case index >= q.snapshot.Chunks: + return ch + } + item, ok := q.items[chunkID.String()] + if !ok { + ch <- chunkID close(ch) + return ch + } + item.waitChs = append(item.waitChs, ch) + return ch +} - case q.chunkFiles[index] != "": - ch <- index - close(ch) +// DoneChunksCount returns the number of chunks that have been returned +func (q *chunkQueue) DoneChunksCount() int { + q.mtx.Lock() + defer q.mtx.Unlock() + return q.doneCount +} - default: - if q.waiters[index] == nil { - q.waiters[index] = make([]chan<- uint32, 0) - } +func (q *chunkQueue) validateChunk(chunk *chunk) error { + if chunk.Height != q.snapshot.Height { + return fmt.Errorf("invalid chunk height %v, expected %v", + chunk.Height, + q.snapshot.Height) + } + if chunk.Version != q.snapshot.Version { + return fmt.Errorf("invalid chunk version %v, expected %v", + chunk.Version, + q.snapshot.Version) + } + return nil +} - q.waiters[index] = append(q.waiters[index], ch) +func (c *chunkItem) remove() error { + if err := os.Remove(c.file); err != nil { + return fmt.Errorf("failed to remove chunk %s: %w", c.chunkID, err) } + c.file = "" + return nil +} - return ch +func (c *chunkItem) write(data []byte) error { + err := os.WriteFile(c.file, data, 0600) + if err != nil { + return fmt.Errorf("failed to save chunk %v to file %v: %w", c.chunkID, c.file, err) + } + return nil } -func (q *chunkQueue) numChunksReturned() int { - q.Lock() - defer q.Unlock() +func (c *chunkItem) loadData() ([]byte, error) { + body, err := os.ReadFile(c.file) + if err != nil { + return nil, fmt.Errorf("failed to load chunk %s: %w", c.chunkID, err) + } + return body, nil +} - cnt := 0 - for _, b := range q.chunkReturned { - if b { - cnt++ +func (c *chunkItem) closeWaitChs(send bool) { + for _, ch := range c.waitChs { + if send { + ch <- c.chunkID } + close(ch) } - return cnt + c.waitChs = nil +} + +// isDiscardable returns true if a status is suitable for transition to discarded, otherwise false +func (c *chunkItem) isDiscardable() bool { + return c.status == initStatus } diff --git a/internal/statesync/chunks_test.go b/internal/statesync/chunks_test.go index 85cc23a806..1ba6af6612 100644 --- a/internal/statesync/chunks_test.go +++ b/internal/statesync/chunks_test.go @@ -4,562 +4,363 @@ import ( "os" "testing" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" + "github.com/stretchr/testify/suite" - "github.com/tendermint/tendermint/types" + "github.com/tendermint/tendermint/internal/test/factory" + "github.com/tendermint/tendermint/libs/bytes" ) -func setupChunkQueue(t *testing.T) (*chunkQueue, func()) { - snapshot := &snapshot{ - Height: 3, - Format: 1, - Chunks: 5, - Hash: []byte{7}, - Metadata: nil, - } - queue, err := newChunkQueue(snapshot, t.TempDir()) - require.NoError(t, err) - teardown := func() { - err := queue.Close() - require.NoError(t, err) - } - return queue, teardown +type ChunkQueueTestSuite struct { + suite.Suite + + snapshot *snapshot + queue *chunkQueue + tempDir string + chunks []*chunk } -func TestNewChunkQueue_TempDir(t *testing.T) { - snapshot := &snapshot{ +func TestChunkQueue(t *testing.T) { + suite.Run(t, new(ChunkQueueTestSuite)) +} + +func (suite *ChunkQueueTestSuite) SetupSuite() { + suite.snapshot = &snapshot{ Height: 3, - Format: 1, - Chunks: 5, - Hash: []byte{7}, + Version: 1, + Hash: []byte{0}, Metadata: nil, } - dir := t.TempDir() - queue, err := newChunkQueue(snapshot, dir) - require.NoError(t, err) - - files, err := os.ReadDir(dir) - require.NoError(t, err) - assert.Len(t, files, 1) - - err = queue.Close() - require.NoError(t, err) - - files, err = os.ReadDir(dir) - require.NoError(t, err) - assert.Len(t, files, 0) + suite.chunks = []*chunk{ + { + Height: 3, + Version: 1, + ID: []byte{0}, + Chunk: []byte{3, 1, 0}, + Sender: "a", + }, + { + Height: 3, + Version: 1, + ID: []byte{1}, + Chunk: []byte{3, 1, 1}, + Sender: "b", + }, + { + Height: 3, + Version: 1, + ID: []byte{2}, + Chunk: []byte{3, 1, 2}, + Sender: "c", + }, + { + Height: 3, + Version: 1, + ID: []byte{3}, + Chunk: []byte{3, 1, 3}, + Sender: "d", + }, + } } -func TestChunkQueue(t *testing.T) { - queue, teardown := setupChunkQueue(t) - defer teardown() - - // Adding the first chunk should be fine - added, err := queue.Add(&chunk{Height: 3, Format: 1, Index: 0, Chunk: []byte{3, 1, 0}}) - require.NoError(t, err) - assert.True(t, added) - - // Adding the last chunk should also be fine - added, err = queue.Add(&chunk{Height: 3, Format: 1, Index: 4, Chunk: []byte{3, 1, 4}}) - require.NoError(t, err) - assert.True(t, added) +func (suite *ChunkQueueTestSuite) SetupTest() { + var err error + suite.tempDir = suite.T().TempDir() + suite.queue, err = newChunkQueue(suite.snapshot, suite.tempDir, 100) + suite.Require().NoError(err) +} - // Adding the first or last chunks again should return false - added, err = queue.Add(&chunk{Height: 3, Format: 1, Index: 0, Chunk: []byte{3, 1, 0}}) - require.NoError(t, err) - assert.False(t, added) +func (suite *ChunkQueueTestSuite) TearDownTest() { + err := suite.queue.Close() + suite.Require().NoError(err) +} - added, err = queue.Add(&chunk{Height: 3, Format: 1, Index: 4, Chunk: []byte{3, 1, 4}}) - require.NoError(t, err) - assert.False(t, added) +func (suite *ChunkQueueTestSuite) TestTempDir() { + files, err := os.ReadDir(suite.tempDir) + suite.Require().NoError(err) + suite.Require().Len(files, 1) - // Adding the remaining chunks in reverse should be fine - added, err = queue.Add(&chunk{Height: 3, Format: 1, Index: 3, Chunk: []byte{3, 1, 3}}) - require.NoError(t, err) - assert.True(t, added) + err = suite.queue.Close() + suite.Require().NoError(err) - added, err = queue.Add(&chunk{Height: 3, Format: 1, Index: 2, Chunk: []byte{3, 1, 2}}) - require.NoError(t, err) - assert.True(t, added) + files, err = os.ReadDir(suite.tempDir) + suite.Require().NoError(err) + suite.Require().Len(files, 0) +} - added, err = queue.Add(&chunk{Height: 3, Format: 1, Index: 1, Chunk: []byte{3, 1, 1}}) - require.NoError(t, err) - assert.True(t, added) +func (suite *ChunkQueueTestSuite) TestChunkQueue() { + suite.initChunks() + testCases := []struct { + chunk *chunk + want bool + }{ + {chunk: suite.chunks[0], want: true}, + {chunk: suite.chunks[2], want: true}, + {chunk: suite.chunks[0], want: false}, + {chunk: suite.chunks[2], want: false}, + {chunk: suite.chunks[1], want: true}, + } + require := suite.Require() + for _, tc := range testCases { + added, err := suite.queue.Add(tc.chunk) + require.NoError(err) + require.Equal(tc.want, added) + } // At this point, we should be able to retrieve them all via Next - for i := 0; i < 5; i++ { - c, err := queue.Next() - require.NoError(t, err) - assert.Equal( - t, - &chunk{Height: 3, Format: 1, Index: uint32(i), Chunk: []byte{3, 1, byte(i)}}, - c, - ) + for _, i := range []int{0, 2, 1} { + c, err := suite.queue.Next() + require.NoError(err) + require.Equal(suite.chunks[i], c) } - _, err = queue.Next() - require.Error(t, err) - assert.Equal(t, errDone, err) // It should still be possible to try to add chunks (which will be ignored) - added, err = queue.Add(&chunk{Height: 3, Format: 1, Index: 0, Chunk: []byte{3, 1, 0}}) - require.NoError(t, err) - assert.False(t, added) + added, err := suite.queue.Add(suite.chunks[0]) + require.NoError(err) + require.False(added) - // After closing the queue it will also return false - err = queue.Close() - require.NoError(t, err) - added, err = queue.Add(&chunk{Height: 3, Format: 1, Index: 0, Chunk: []byte{3, 1, 0}}) - require.NoError(t, err) - assert.False(t, added) + // After closing the requestQueue it will also return false + err = suite.queue.Close() + require.NoError(err) + added, err = suite.queue.Add(suite.chunks[0]) + require.Error(err, errNilSnapshot) + require.False(added) // Closing the queue again should also be fine - err = queue.Close() - require.NoError(t, err) + err = suite.queue.Close() + require.NoError(err) } -func TestChunkQueue_Add_ChunkErrors(t *testing.T) { - testcases := map[string]struct { +func (suite *ChunkQueueTestSuite) TestAddChunkErrors() { + testCases := map[string]struct { chunk *chunk }{ "nil chunk": {nil}, - "nil body": {&chunk{Height: 3, Format: 1, Index: 0, Chunk: nil}}, - "wrong height": {&chunk{Height: 9, Format: 1, Index: 0, Chunk: []byte{3, 1, 0}}}, - "wrong format": {&chunk{Height: 3, Format: 9, Index: 0, Chunk: []byte{3, 1, 0}}}, - "invalid index": {&chunk{Height: 3, Format: 1, Index: 5, Chunk: []byte{3, 1, 0}}}, + "nil body": {&chunk{Height: 3, Version: 1, ID: []byte{1}, Chunk: nil}}, + "wrong height": {&chunk{Height: 9, Version: 1, ID: []byte{2}, Chunk: []byte{2}}}, + "wrong format": {&chunk{Height: 3, Version: 9, ID: []byte{3}, Chunk: []byte{3}}}, + "invalid index": {&chunk{Height: 3, Version: 1, ID: []byte{4}, Chunk: []byte{4}}}, } - for name, tc := range testcases { - tc := tc - t.Run(name, func(t *testing.T) { - queue, teardown := setupChunkQueue(t) - defer teardown() - _, err := queue.Add(tc.chunk) - require.Error(t, err) + for name, tc := range testCases { + suite.Run(name, func() { + _, err := suite.queue.Add(tc.chunk) + suite.Require().Error(err) }) } } -func TestChunkQueue_Allocate(t *testing.T) { - queue, teardown := setupChunkQueue(t) - defer teardown() - - for i := uint32(0); i < queue.Size(); i++ { - index, err := queue.Allocate() - require.NoError(t, err) - assert.EqualValues(t, i, index) - } - - _, err := queue.Allocate() - require.Error(t, err) - assert.Equal(t, errDone, err) - - for i := uint32(0); i < queue.Size(); i++ { - _, err = queue.Add(&chunk{Height: 3, Format: 1, Index: i, Chunk: []byte{byte(i)}}) - require.NoError(t, err) - } - - // After all chunks have been allocated and retrieved, discarding a chunk will reallocate it. - err = queue.Discard(2) - require.NoError(t, err) - - index, err := queue.Allocate() - require.NoError(t, err) - assert.EqualValues(t, 2, index) - _, err = queue.Allocate() - require.Error(t, err) - assert.Equal(t, errDone, err) - - // Discarding a chunk the closing the queue will return errDone. - err = queue.Discard(2) - require.NoError(t, err) - err = queue.Close() - require.NoError(t, err) - _, err = queue.Allocate() - require.Error(t, err) - assert.Equal(t, errDone, err) -} - -func TestChunkQueue_Discard(t *testing.T) { - queue, teardown := setupChunkQueue(t) - defer teardown() - +func (suite *ChunkQueueTestSuite) TestDiscard() { + suite.initChunks() + require := suite.Require() // Add a few chunks to the queue and fetch a couple - _, err := queue.Add(&chunk{Height: 3, Format: 1, Index: 0, Chunk: []byte{byte(0)}}) - require.NoError(t, err) - _, err = queue.Add(&chunk{Height: 3, Format: 1, Index: 1, Chunk: []byte{byte(1)}}) - require.NoError(t, err) - _, err = queue.Add(&chunk{Height: 3, Format: 1, Index: 2, Chunk: []byte{byte(2)}}) - require.NoError(t, err) - - c, err := queue.Next() - require.NoError(t, err) - assert.EqualValues(t, 0, c.Index) - c, err = queue.Next() - require.NoError(t, err) - assert.EqualValues(t, 1, c.Index) - - // Discarding the first chunk and re-adding it should cause it to be returned - // immediately by Next(), before procceeding with chunk 2 - err = queue.Discard(0) - require.NoError(t, err) - added, err := queue.Add(&chunk{Height: 3, Format: 1, Index: 0, Chunk: []byte{byte(0)}}) - require.NoError(t, err) - assert.True(t, added) - c, err = queue.Next() - require.NoError(t, err) - assert.EqualValues(t, 0, c.Index) - c, err = queue.Next() - require.NoError(t, err) - assert.EqualValues(t, 2, c.Index) - - // Discard then allocate, add and fetch all chunks - for i := uint32(0); i < queue.Size(); i++ { - err := queue.Discard(i) - require.NoError(t, err) + for _, c := range suite.chunks { + _, err := suite.queue.Add(c) + require.NoError(err) } - for i := uint32(0); i < queue.Size(); i++ { - _, err := queue.Allocate() - require.NoError(t, err) - _, err = queue.Add(&chunk{Height: 3, Format: 1, Index: i, Chunk: []byte{byte(i)}}) - require.NoError(t, err) - c, err = queue.Next() - require.NoError(t, err) - assert.EqualValues(t, i, c.Index) + for _, i := range []int{0, 1} { + c, err := suite.queue.Next() + require.NoError(err) + require.EqualValues(suite.chunks[i].ID, c.ID) } + // Discarding the first chunk and re-adding it should cause it to be returned + // immediately by Next(), before proceeding with chunk 2 + err := suite.queue.Discard(suite.chunks[0].ID) + require.NoError(err) + added, err := suite.queue.Add(suite.chunks[0]) + require.NoError(err) + require.True(added) + nextChunk, err := suite.queue.Next() + require.NoError(err) + require.EqualValues(suite.chunks[2].ID, nextChunk.ID) // Discarding a non-existent chunk does nothing. - err = queue.Discard(99) - require.NoError(t, err) + err = suite.queue.Discard(factory.RandomHash()) + require.NoError(err) // When discard a couple of chunks, we should be able to allocate, add, and fetch them again. - err = queue.Discard(3) - require.NoError(t, err) - err = queue.Discard(1) - require.NoError(t, err) - - index, err := queue.Allocate() - require.NoError(t, err) - assert.EqualValues(t, 1, index) - index, err = queue.Allocate() - require.NoError(t, err) - assert.EqualValues(t, 3, index) - - added, err = queue.Add(&chunk{Height: 3, Format: 1, Index: 3, Chunk: []byte{3}}) - require.NoError(t, err) - assert.True(t, added) - added, err = queue.Add(&chunk{Height: 3, Format: 1, Index: 1, Chunk: []byte{1}}) - require.NoError(t, err) - assert.True(t, added) - - chunk, err := queue.Next() - require.NoError(t, err) - assert.EqualValues(t, 1, chunk.Index) - - chunk, err = queue.Next() - require.NoError(t, err) - assert.EqualValues(t, 3, chunk.Index) - - _, err = queue.Next() - require.Error(t, err) - assert.Equal(t, errDone, err) - - // After closing the queue, discarding does nothing - err = queue.Close() - require.NoError(t, err) - err = queue.Discard(2) - require.NoError(t, err) -} + for _, i := range []int{1, 2} { + err = suite.queue.Discard(suite.chunks[i].ID) + require.NoError(err) + } -func TestChunkQueue_DiscardSender(t *testing.T) { - queue, teardown := setupChunkQueue(t) - defer teardown() - - // Allocate and add all chunks to the queue - senders := []types.NodeID{types.NodeID("a"), types.NodeID("b"), types.NodeID("c")} - for i := uint32(0); i < queue.Size(); i++ { - _, err := queue.Allocate() - require.NoError(t, err) - _, err = queue.Add(&chunk{ - Height: 3, - Format: 1, - Index: i, - Chunk: []byte{byte(i)}, - Sender: senders[int(i)%len(senders)], - }) - require.NoError(t, err) + for _, i := range []int{2, 1} { + added, err = suite.queue.Add(suite.chunks[i]) + require.NoError(err) + require.True(added) } - // Fetch the first three chunks - for i := uint32(0); i < 3; i++ { - _, err := queue.Next() - require.NoError(t, err) + for _, i := range []int{3, 0, 2, 1} { + nextChunk, err = suite.queue.Next() + require.NoError(err) + require.EqualValues(suite.chunks[i].ID, nextChunk.ID) } + // After closing the requestQueue, discarding does nothing + err = suite.queue.Close() + require.NoError(err) + err = suite.queue.Discard(suite.chunks[2].ID) + require.NoError(err) +} + +func (suite *ChunkQueueTestSuite) TestDiscardSender() { + suite.initChunks() + suite.processChunks() + // Discarding an unknown sender should do nothing - err := queue.DiscardSender(types.NodeID("x")) - require.NoError(t, err) - _, err = queue.Allocate() - assert.Equal(t, errDone, err) + err := suite.queue.DiscardSender("unknown") + suite.Require().NoError(err) // Discarding sender b should discard chunk 4, but not chunk 1 which has already been // returned. - err = queue.DiscardSender(types.NodeID("b")) - require.NoError(t, err) - index, err := queue.Allocate() - require.NoError(t, err) - assert.EqualValues(t, 4, index) - _, err = queue.Allocate() - assert.Equal(t, errDone, err) + err = suite.queue.DiscardSender(suite.chunks[1].Sender) + suite.Require().NoError(err) + suite.Require().True(suite.queue.IsRequestQueueEmpty()) } -func TestChunkQueue_GetSender(t *testing.T) { - queue, teardown := setupChunkQueue(t) - defer teardown() +func (suite *ChunkQueueTestSuite) TestGetSender() { + suite.initChunks() + require := suite.Require() + _, err := suite.queue.Add(suite.chunks[0]) + require.NoError(err) + _, err = suite.queue.Add(suite.chunks[1]) + require.NoError(err) - peerAID := types.NodeID("aa") - peerBID := types.NodeID("bb") - - _, err := queue.Add(&chunk{Height: 3, Format: 1, Index: 0, Chunk: []byte{1}, Sender: peerAID}) - require.NoError(t, err) - _, err = queue.Add(&chunk{Height: 3, Format: 1, Index: 1, Chunk: []byte{2}, Sender: peerBID}) - require.NoError(t, err) - - assert.EqualValues(t, "aa", queue.GetSender(0)) - assert.EqualValues(t, "bb", queue.GetSender(1)) - assert.EqualValues(t, "", queue.GetSender(2)) + require.EqualValues(suite.chunks[0].Sender, suite.queue.GetSender(suite.chunks[0].ID)) + require.EqualValues(suite.chunks[1].Sender, suite.queue.GetSender(suite.chunks[1].ID)) + require.EqualValues("", suite.queue.GetSender(suite.chunks[2].ID)) // After the chunk has been processed, we should still know who the sender was - chunk, err := queue.Next() - require.NoError(t, err) - require.NotNil(t, chunk) - require.EqualValues(t, 0, chunk.Index) - assert.EqualValues(t, "aa", queue.GetSender(0)) + nextChunk, err := suite.queue.Next() + require.NoError(err) + require.NotNil(nextChunk) + require.EqualValues(suite.chunks[0].ID, nextChunk.ID) + require.EqualValues(suite.chunks[0].Sender, suite.queue.GetSender(suite.chunks[0].ID)) } -func TestChunkQueue_Next(t *testing.T) { - queue, teardown := setupChunkQueue(t) - defer teardown() - +func (suite *ChunkQueueTestSuite) TestNext() { + suite.initChunks() + require := suite.Require() // Next should block waiting for the next chunks, even when given out of order. - chNext := make(chan *chunk, 10) + chNext := make(chan *chunk) go func() { for { - c, err := queue.Next() + c, err := suite.queue.Next() if err == errDone { close(chNext) break } - require.NoError(t, err) + require.NoError(err) chNext <- c } }() - assert.Empty(t, chNext) - _, err := queue.Add(&chunk{Height: 3, Format: 1, Index: 1, Chunk: []byte{3, 1, 1}, Sender: types.NodeID("b")}) - require.NoError(t, err) + require.Empty(chNext) + _, err := suite.queue.Add(suite.chunks[1]) + require.NoError(err) select { case <-chNext: - assert.Fail(t, "channel should be empty") + suite.Fail("channel should be empty") default: } - _, err = queue.Add(&chunk{Height: 3, Format: 1, Index: 0, Chunk: []byte{3, 1, 0}, Sender: types.NodeID("a")}) - require.NoError(t, err) - - assert.Equal(t, - &chunk{Height: 3, Format: 1, Index: 0, Chunk: []byte{3, 1, 0}, Sender: types.NodeID("a")}, - <-chNext) - assert.Equal(t, - &chunk{Height: 3, Format: 1, Index: 1, Chunk: []byte{3, 1, 1}, Sender: types.NodeID("b")}, - <-chNext) - - _, err = queue.Add(&chunk{Height: 3, Format: 1, Index: 4, Chunk: []byte{3, 1, 4}, Sender: types.NodeID("e")}) - require.NoError(t, err) - select { - case <-chNext: - assert.Fail(t, "channel should be empty") - default: - } + _, err = suite.queue.Add(suite.chunks[0]) + require.NoError(err) + require.Equal(suite.chunks[1], <-chNext) + require.Equal(suite.chunks[0], <-chNext) - _, err = queue.Add(&chunk{Height: 3, Format: 1, Index: 2, Chunk: []byte{3, 1, 2}, Sender: types.NodeID("c")}) - require.NoError(t, err) - _, err = queue.Add(&chunk{Height: 3, Format: 1, Index: 3, Chunk: []byte{3, 1, 3}, Sender: types.NodeID("d")}) - require.NoError(t, err) - - assert.Equal(t, - &chunk{Height: 3, Format: 1, Index: 2, Chunk: []byte{3, 1, 2}, Sender: types.NodeID("c")}, - <-chNext) - assert.Equal(t, - &chunk{Height: 3, Format: 1, Index: 3, Chunk: []byte{3, 1, 3}, Sender: types.NodeID("d")}, - <-chNext) - assert.Equal(t, - &chunk{Height: 3, Format: 1, Index: 4, Chunk: []byte{3, 1, 4}, Sender: types.NodeID("e")}, - <-chNext) + err = suite.queue.Close() + require.NoError(err) _, ok := <-chNext - assert.False(t, ok, "channel should be closed") - - // Calling next on a finished queue should return done - _, err = queue.Next() - assert.Equal(t, errDone, err) + require.False(ok) } -func TestChunkQueue_Next_Closed(t *testing.T) { - queue, teardown := setupChunkQueue(t) - defer teardown() - +func (suite *ChunkQueueTestSuite) TestNextClosed() { + suite.initChunks() + require := suite.Require() // Calling Next on a closed queue should return done - _, err := queue.Add(&chunk{Height: 3, Format: 1, Index: 1, Chunk: []byte{3, 1, 1}}) - require.NoError(t, err) - err = queue.Close() - require.NoError(t, err) - - _, err = queue.Next() - assert.Equal(t, errDone, err) -} - -func TestChunkQueue_Retry(t *testing.T) { - queue, teardown := setupChunkQueue(t) - defer teardown() - - allocateAddChunksToQueue(t, queue) + _, err := suite.queue.Add(suite.chunks[1]) + require.NoError(err) + err = suite.queue.Close() + require.NoError(err) - // Retrying a couple of chunks makes Next() return them, but they are not allocatable - queue.Retry(3) - queue.Retry(1) - - _, err := queue.Allocate() - assert.Equal(t, errDone, err) - - chunk, err := queue.Next() - require.NoError(t, err) - assert.EqualValues(t, 1, chunk.Index) - - chunk, err = queue.Next() - require.NoError(t, err) - assert.EqualValues(t, 3, chunk.Index) - - _, err = queue.Next() - assert.Equal(t, errDone, err) + _, err = suite.queue.Next() + require.Equal(errDone, err) } -func TestChunkQueue_RetryAll(t *testing.T) { - queue, teardown := setupChunkQueue(t) - defer teardown() - - allocateAddChunksToQueue(t, queue) +func (suite *ChunkQueueTestSuite) TestRetry() { + suite.initChunks() + suite.processChunks() + require := suite.Require() - _, err := queue.Next() - assert.Equal(t, errDone, err) - - queue.RetryAll() - - _, err = queue.Allocate() - assert.Equal(t, errDone, err) - - for i := uint32(0); i < queue.Size(); i++ { - chunk, err := queue.Next() - require.NoError(t, err) - assert.EqualValues(t, i, chunk.Index) + for i := range []int{2, 0} { + suite.queue.Retry(suite.chunks[i].ID) + chunkID, err := suite.queue.Dequeue() + require.NoError(err) + require.Equal(chunkID, suite.chunks[i].ID) } - - _, err = queue.Next() - assert.Equal(t, errDone, err) } -func TestChunkQueue_Size(t *testing.T) { - queue, teardown := setupChunkQueue(t) - defer teardown() - - assert.EqualValues(t, 5, queue.Size()) - - err := queue.Close() - require.NoError(t, err) - assert.EqualValues(t, 0, queue.Size()) +func (suite *ChunkQueueTestSuite) TestRetryAll() { + suite.initChunks() + suite.processChunks() + require := suite.Require() + require.True(suite.queue.IsRequestQueueEmpty()) + suite.queue.RetryAll() + require.Equal(len(suite.chunks), suite.queue.RequestQueueLen()) } -func TestChunkQueue_WaitFor(t *testing.T) { - queue, teardown := setupChunkQueue(t) - defer teardown() - - waitFor1 := queue.WaitFor(1) - waitFor4 := queue.WaitFor(4) - - // Adding 0 and 2 should not trigger waiters - _, err := queue.Add(&chunk{Height: 3, Format: 1, Index: 0, Chunk: []byte{3, 1, 0}}) - require.NoError(t, err) - _, err = queue.Add(&chunk{Height: 3, Format: 1, Index: 2, Chunk: []byte{3, 1, 2}}) - require.NoError(t, err) - select { - case <-waitFor1: - require.Fail(t, "WaitFor(1) should not trigger on 0 or 2") - case <-waitFor4: - require.Fail(t, "WaitFor(4) should not trigger on 0 or 2") - default: +func (suite *ChunkQueueTestSuite) TestWaitFor() { + suite.initChunks() + require := suite.Require() + waitForChs := make([]<-chan bytes.HexBytes, len(suite.chunks)) + for i, c := range suite.chunks { + waitForChs[i] = suite.queue.WaitFor(c.ID) } - // Adding 1 should trigger WaitFor(1), but not WaitFor(4). The channel should be closed. - _, err = queue.Add(&chunk{Height: 3, Format: 1, Index: 1, Chunk: []byte{3, 1, 1}}) - require.NoError(t, err) - assert.EqualValues(t, 1, <-waitFor1) - _, ok := <-waitFor1 - assert.False(t, ok) - select { - case <-waitFor4: - require.Fail(t, "WaitFor(4) should not trigger on 0 or 2") - default: + for _, ch := range waitForChs { + select { + case <-ch: + require.Fail("WaitFor should not trigger") + default: + } } + _, err := suite.queue.Add(suite.chunks[0]) + require.NoError(err) + require.EqualValues(suite.chunks[0].ID, <-waitForChs[0]) + _, ok := <-waitForChs[0] + require.False(ok) + // Fetch the first chunk. At this point, waiting for either 0 (retrieved from pool) or 1 // (queued in pool) should immediately return true. - c, err := queue.Next() - require.NoError(t, err) - assert.EqualValues(t, 0, c.Index) - - w := queue.WaitFor(0) - assert.EqualValues(t, 0, <-w) - _, ok = <-w - assert.False(t, ok) - - w = queue.WaitFor(1) - assert.EqualValues(t, 1, <-w) - _, ok = <-w - assert.False(t, ok) + c, err := suite.queue.Next() + require.NoError(err) + require.EqualValues(suite.chunks[0].ID, c.ID) // Close the queue. This should cause the waiter for 4 to close, and also cause any future // waiters to get closed channels. - err = queue.Close() - require.NoError(t, err) - _, ok = <-waitFor4 - assert.False(t, ok) - - w = queue.WaitFor(3) - _, ok = <-w - assert.False(t, ok) + err = suite.queue.Close() + require.NoError(err) + _, ok = <-waitForChs[2] + require.False(ok) } -func TestNumChunkReturned(t *testing.T) { - queue, teardown := setupChunkQueue(t) - defer teardown() - - assert.EqualValues(t, 5, queue.Size()) - - allocateAddChunksToQueue(t, queue) - assert.EqualValues(t, 5, queue.numChunksReturned()) - - err := queue.Close() - require.NoError(t, err) +func (suite *ChunkQueueTestSuite) initChunks() { + for _, c0 := range suite.chunks { + suite.queue.Enqueue(c0.ID) + c1, err := suite.queue.Dequeue() + suite.Require().NoError(err) + suite.Require().Equal(c0.ID, c1) + } } -// Allocate and add all chunks to the queue -func allocateAddChunksToQueue(t *testing.T, q *chunkQueue) { - t.Helper() - for i := uint32(0); i < q.Size(); i++ { - _, err := q.Allocate() - require.NoError(t, err) - _, err = q.Add(&chunk{Height: 3, Format: 1, Index: i, Chunk: []byte{byte(i)}}) - require.NoError(t, err) - _, err = q.Next() - require.NoError(t, err) +func (suite *ChunkQueueTestSuite) processChunks() { + for _, c := range suite.chunks { + added, err := suite.queue.Add(c) + suite.Require().NoError(err) + suite.Require().True(added) + c1, err := suite.queue.Next() + suite.Require().NoError(err) + suite.Require().Equal(c, c1) } } diff --git a/internal/statesync/metrics.gen.go b/internal/statesync/metrics.gen.go index b4d5caa12c..91c83fb657 100644 --- a/internal/statesync/metrics.gen.go +++ b/internal/statesync/metrics.gen.go @@ -38,12 +38,6 @@ func PrometheusMetrics(namespace string, labelsAndValues ...string) *Metrics { Name: "snapshot_chunk", Help: "The current number of chunks that have been processed.", }, labels).With(labelsAndValues...), - SnapshotChunkTotal: prometheus.NewGaugeFrom(stdprometheus.GaugeOpts{ - Namespace: namespace, - Subsystem: MetricsSubsystem, - Name: "snapshot_chunk_total", - Help: "The total number of chunks in the current snapshot.", - }, labels).With(labelsAndValues...), BackFilledBlocks: prometheus.NewCounterFrom(stdprometheus.CounterOpts{ Namespace: namespace, Subsystem: MetricsSubsystem, @@ -65,7 +59,6 @@ func NopMetrics() *Metrics { ChunkProcessAvgTime: discard.NewGauge(), SnapshotHeight: discard.NewGauge(), SnapshotChunk: discard.NewCounter(), - SnapshotChunkTotal: discard.NewGauge(), BackFilledBlocks: discard.NewCounter(), BackFillBlocksTotal: discard.NewGauge(), } diff --git a/internal/statesync/metrics.go b/internal/statesync/metrics.go index a8a3af9152..b1aea963c3 100644 --- a/internal/statesync/metrics.go +++ b/internal/statesync/metrics.go @@ -21,8 +21,6 @@ type Metrics struct { SnapshotHeight metrics.Gauge // The current number of chunks that have been processed. SnapshotChunk metrics.Counter - // The total number of chunks in the current snapshot. - SnapshotChunkTotal metrics.Gauge // The current number of blocks that have been back-filled. BackFilledBlocks metrics.Counter // The total number of blocks that need to be back-filled. diff --git a/internal/statesync/reactor.go b/internal/statesync/reactor.go index 0943586ec2..961a8f9591 100644 --- a/internal/statesync/reactor.go +++ b/internal/statesync/reactor.go @@ -3,6 +3,7 @@ package statesync import ( "bytes" "context" + "encoding/hex" "errors" "fmt" "runtime/debug" @@ -324,7 +325,7 @@ func (r *Reactor) OnStart(ctx context.Context) error { if r.needsStateSync { r.logger.Info("starting state sync") if _, err := r.Sync(ctx); err != nil { - r.logger.Error("state sync failed; shutting down this node", "err", err) + r.logger.Error("state sync failed; shutting down this node", "error", err) return err } } @@ -393,7 +394,7 @@ func (r *Reactor) Sync(ctx context.Context) (sm.State, error) { } if err := r.Backfill(ctx, state); err != nil { - r.logger.Error("backfill failed. Proceeding optimistically...", "err", err) + r.logger.Error("backfill failed. Proceeding optimistically...", "error", err) } if r.eventBus != nil { @@ -496,8 +497,11 @@ func (r *Reactor) backfill( sleepTime time.Duration, lightBlockResponseTimeout time.Duration, ) error { - r.logger.Info("starting backfill process...", "startHeight", startHeight, - "stopHeight", stopHeight, "stopTime", stopTime, "trustedBlockID", trustedBlockID) + r.logger.Info("starting backfill process...", + "startHeight", startHeight, + "stopHeight", stopHeight, + "stopTime", stopTime, + "trustedBlockID", trustedBlockID) r.backfillBlockTotal = startHeight - stopHeight + 1 r.metrics.BackFillBlocksTotal.Set(float64(r.backfillBlockTotal)) @@ -517,7 +521,7 @@ func (r *Reactor) backfill( // time. Ideally we want the verification process to never have to be // waiting on blocks. If it takes 4s to retrieve a block and 1s to verify // it, then steady state involves four workers. - for i := 0; i < int(r.cfg.Fetchers); i++ { + for i := 0; i < r.cfg.Fetchers; i++ { go func() { for { select { @@ -558,7 +562,8 @@ func (r *Reactor) backfill( } else { // we don't punish the peer as it might just have not responded in time r.logger.Info("backfill: error with fetching light block", - "height", height, "err", err) + "height", height, + "error", err) } continue } @@ -568,7 +573,8 @@ func (r *Reactor) backfill( err = lb.ValidateBasic(chainID) if err != nil || lb.Height != height { r.logger.Info("backfill: fetched light block failed validate basic, removing peer...", - "err", err, "height", height) + "height", height, + "error", err) queue.retry(height) if serr := r.sendBlockError(ctx, p2p.PeerError{ NodeID: peer, @@ -675,7 +681,7 @@ func (r *Reactor) handleSnapshotMessage(ctx context.Context, envelope *p2p.Envel case *ssproto.SnapshotsRequest: snapshots, err := r.recentSnapshots(ctx, recentSnapshots) if err != nil { - logger.Error("failed to fetch snapshots", "err", err) + logger.Error("failed to fetch snapshots", "error", err) return nil } @@ -683,7 +689,7 @@ func (r *Reactor) handleSnapshotMessage(ctx context.Context, envelope *p2p.Envel logger.Info( "advertising snapshot", "height", snapshot.Height, - "format", snapshot.Format, + "version", snapshot.Version, "peer", envelope.From, ) @@ -691,8 +697,7 @@ func (r *Reactor) handleSnapshotMessage(ctx context.Context, envelope *p2p.Envel To: envelope.From, Message: &ssproto.SnapshotsResponse{ Height: snapshot.Height, - Format: snapshot.Format, - Chunks: snapshot.Chunks, + Version: snapshot.Version, Hash: snapshot.Hash, Metadata: snapshot.Metadata, }, @@ -708,11 +713,12 @@ func (r *Reactor) handleSnapshotMessage(ctx context.Context, envelope *p2p.Envel return nil } - logger.Info("received snapshot", "height", msg.Height, "format", msg.Format) + logger.Info("received snapshot", + "height", msg.Height, + "format", msg.Version) _, err := syncer.AddSnapshot(envelope.From, &snapshot{ Height: msg.Height, - Format: msg.Format, - Chunks: msg.Chunks, + Version: msg.Version, Hash: msg.Hash, Metadata: msg.Metadata, }) @@ -720,13 +726,15 @@ func (r *Reactor) handleSnapshotMessage(ctx context.Context, envelope *p2p.Envel logger.Error( "failed to add snapshot", "height", msg.Height, - "format", msg.Format, + "version", msg.Version, "channel", envelope.ChannelID, - "err", err, + "error", err, ) return nil } - logger.Info("added snapshot", "height", msg.Height, "format", msg.Format) + logger.Info("added snapshot", + "height", msg.Height, + "version", msg.Version) default: return fmt.Errorf("received unknown message: %T", msg) @@ -743,35 +751,35 @@ func (r *Reactor) handleChunkMessage(ctx context.Context, envelope *p2p.Envelope case *ssproto.ChunkRequest: r.logger.Debug("received chunk request", "height", msg.Height, - "format", msg.Format, - "chunk", msg.Index, + "version", msg.Version, + "chunkID", hex.EncodeToString(msg.ChunkId), "peer", envelope.From) resp, err := r.conn.LoadSnapshotChunk(ctx, &abci.RequestLoadSnapshotChunk{ - Height: msg.Height, - Format: msg.Format, - Chunk: msg.Index, + Height: msg.Height, + Version: msg.Version, + ChunkId: msg.ChunkId, }) if err != nil { r.logger.Error("failed to load chunk", "height", msg.Height, - "format", msg.Format, - "chunk", msg.Index, - "err", err, - "peer", envelope.From) + "version", msg.Version, + "chunkID", hex.EncodeToString(msg.ChunkId), + "peer", envelope.From, + "error", err) return nil } r.logger.Debug("sending chunk", "height", msg.Height, - "format", msg.Format, - "chunk", msg.Index, + "version", msg.Version, + "chunkID", hex.EncodeToString(msg.ChunkId), "peer", envelope.From) if err := chunkCh.Send(ctx, p2p.Envelope{ To: envelope.From, Message: &ssproto.ChunkResponse{ Height: msg.Height, - Format: msg.Format, - Index: msg.Index, + Version: msg.Version, + ChunkId: msg.ChunkId, Chunk: resp.Chunk, Missing: resp.Chunk == nil, }, @@ -788,23 +796,24 @@ func (r *Reactor) handleChunkMessage(ctx context.Context, envelope *p2p.Envelope r.logger.Debug("received chunk; adding to sync", "height", msg.Height, - "format", msg.Format, - "chunk", msg.Index, + "version", msg.Version, + "chunkID", hex.EncodeToString(msg.ChunkId), + "chunkLen", len(msg.Chunk), "peer", envelope.From) _, err := syncer.AddChunk(&chunk{ - Height: msg.Height, - Format: msg.Format, - Index: msg.Index, - Chunk: msg.Chunk, - Sender: envelope.From, + Height: msg.Height, + Version: msg.Version, + ID: msg.ChunkId, + Chunk: msg.Chunk, + Sender: envelope.From, }) if err != nil { r.logger.Error("failed to add chunk", "height", msg.Height, - "format", msg.Format, - "chunk", msg.Index, - "err", err, - "peer", envelope.From) + "version", msg.Version, + "chunkID", hex.EncodeToString(msg.ChunkId), + "peer", envelope.From, + "error", err) return nil } @@ -821,7 +830,9 @@ func (r *Reactor) handleLightBlockMessage(ctx context.Context, envelope *p2p.Env r.logger.Info("received light block request", "height", msg.Height) lb, err := r.fetchLightBlock(msg.Height) if err != nil { - r.logger.Error("failed to retrieve light block", "err", err, "height", msg.Height) + r.logger.Error("failed to retrieve light block", + "height", msg.Height, + "error", err) return err } if lb == nil { @@ -838,7 +849,7 @@ func (r *Reactor) handleLightBlockMessage(ctx context.Context, envelope *p2p.Env lbproto, err := lb.ToProto() if err != nil { - r.logger.Error("marshaling light block to proto", "err", err) + r.logger.Error("marshaling light block to proto", "error", err) return nil } @@ -862,7 +873,9 @@ func (r *Reactor) handleLightBlockMessage(ctx context.Context, envelope *p2p.Env if errors.Is(err, context.Canceled) { return err } - r.logger.Error("error processing light block response", "err", err, "height", height) + r.logger.Error("error processing light block response", + "height", height, + "error", err) } default: @@ -878,7 +891,9 @@ func (r *Reactor) handleParamsMessage(ctx context.Context, envelope *p2p.Envelop r.logger.Debug("received consensus params request", "height", msg.Height) cp, err := r.stateStore.LoadConsensusParams(int64(msg.Height)) if err != nil { - r.logger.Error("failed to fetch requested consensus params", "err", err, "height", msg.Height) + r.logger.Error("failed to fetch requested consensus params", + "height", msg.Height, + "error", err) return nil } @@ -927,7 +942,7 @@ func (r *Reactor) handleMessage(ctx context.Context, envelope *p2p.Envelope, cha err = fmt.Errorf("panic in processing message: %v", e) r.logger.Error( "recovering from processing message panic", - "err", err, + "error", err, "stack", string(debug.Stack()), ) } @@ -975,15 +990,15 @@ func (r *Reactor) processChannels(ctx context.Context, chanTable map[p2p.Channel "envelope_from", envelope.From, "envelope_ch", envelope.ChannelID, "num_chs", len(chanTable), - "err", err, + "error", err, ) return } r.logger.Error("failed to process message", - "err", err, "channel", ch.String(), "ch_id", envelope.ChannelID, - "envelope", envelope) + "envelope", envelope, + "error", err) if serr := ch.SendError(ctx, p2p.PeerError{ NodeID: envelope.From, Err: err, @@ -1076,7 +1091,7 @@ func (r *Reactor) recentSnapshots(ctx context.Context, n uint32) ([]*snapshot, e switch { case a.Height > b.Height: return true - case a.Height == b.Height && a.Format > b.Format: + case a.Height == b.Height && a.Version > b.Version: return true default: return false @@ -1091,8 +1106,7 @@ func (r *Reactor) recentSnapshots(ctx context.Context, n uint32) ([]*snapshot, e snapshots = append(snapshots, &snapshot{ Height: s.Height, - Format: s.Format, - Chunks: s.Chunks, + Version: s.Version, Hash: s.Hash, Metadata: s.Metadata, }) @@ -1190,25 +1204,6 @@ func (r *Reactor) SnapshotHeight() int64 { } return 0 } -func (r *Reactor) SnapshotChunksCount() int64 { - r.mtx.RLock() - defer r.mtx.RUnlock() - - if r.syncer != nil && r.syncer.chunks != nil { - return int64(r.syncer.chunks.numChunksReturned()) - } - return 0 -} - -func (r *Reactor) SnapshotChunksTotal() int64 { - r.mtx.RLock() - defer r.mtx.RUnlock() - - if r.syncer != nil && r.syncer.processingSnapshot != nil { - return int64(r.syncer.processingSnapshot.Chunks) - } - return 0 -} func (r *Reactor) BackFilledBlocks() int64 { r.mtx.RLock() diff --git a/internal/statesync/reactor_test.go b/internal/statesync/reactor_test.go index 1bd5487d9d..dcee612c6b 100644 --- a/internal/statesync/reactor_test.go +++ b/internal/statesync/reactor_test.go @@ -91,7 +91,7 @@ func setup( t.Helper() if conn == nil { - conn = &clientmocks.Client{} + conn = clientmocks.NewClient(t) } rts := &reactorTestSuite{ @@ -146,7 +146,7 @@ func setup( rts.paramsPeerErrCh, ) - rts.stateStore = &smmocks.Store{} + rts.stateStore = smmocks.NewStore(t) rts.blockStore = store.NewBlockStore(dbm.NewMemDB()) cfg := config.DefaultStateSyncConfig() @@ -227,38 +227,51 @@ func TestReactor_Sync(t *testing.T) { rts := setup(ctx, t, nil, nil, 100) chain := buildLightBlockChain(ctx, t, 1, 10, time.Now(), rts.privVal) // app accepts any snapshot - rts.conn.On("OfferSnapshot", ctx, mock.IsType(&abci.RequestOfferSnapshot{})). + rts.conn. + On("OfferSnapshot", ctx, mock.IsType(&abci.RequestOfferSnapshot{})). Return(&abci.ResponseOfferSnapshot{Result: abci.ResponseOfferSnapshot_ACCEPT}, nil) - // app accepts every chunk - rts.conn.On("ApplySnapshotChunk", ctx, mock.IsType(&abci.RequestApplySnapshotChunk{})). - Return(&abci.ResponseApplySnapshotChunk{Result: abci.ResponseApplySnapshotChunk_ACCEPT}, nil) + rts.conn. + On("ApplySnapshotChunk", ctx, mock.IsType(&abci.RequestApplySnapshotChunk{})). + Once(). + Return(&abci.ResponseApplySnapshotChunk{Result: abci.ResponseApplySnapshotChunk_COMPLETE_SNAPSHOT}, nil) // app query returns valid state app hash - rts.conn.On("Info", mock.Anything, &proxy.RequestInfo).Return(&abci.ResponseInfo{ - AppVersion: testAppVersion, - LastBlockHeight: snapshotHeight, - LastBlockAppHash: chain[snapshotHeight+1].AppHash, - }, nil) + rts.conn. + On("Info", mock.Anything, &proxy.RequestInfo). + Return(&abci.ResponseInfo{ + AppVersion: testAppVersion, + LastBlockHeight: snapshotHeight, + LastBlockAppHash: chain[snapshotHeight+1].AppHash, + }, nil) // store accepts state and validator sets - rts.stateStore.On("Bootstrap", mock.AnythingOfType("state.State")).Return(nil) - rts.stateStore.On("SaveValidatorSets", mock.AnythingOfType("int64"), mock.AnythingOfType("int64"), - mock.AnythingOfType("*types.ValidatorSet")).Return(nil) + rts.stateStore. + On("Bootstrap", mock.AnythingOfType("state.State")). + Return(nil) + rts.stateStore. + On("SaveValidatorSets", + mock.AnythingOfType("int64"), + mock.AnythingOfType("int64"), + mock.AnythingOfType("*types.ValidatorSet")). + Return(nil) closeCh := make(chan struct{}) defer close(closeCh) + + appHash := []byte{1, 2, 3} + go handleLightBlockRequests(ctx, t, chain, rts.blockOutCh, rts.blockInCh, closeCh, 0) go graduallyAddPeers(ctx, t, rts.peerUpdateCh, closeCh, 1*time.Second) go handleSnapshotRequests(ctx, t, rts.snapshotOutCh, rts.snapshotInCh, closeCh, []snapshot{ { - Height: uint64(snapshotHeight), - Format: 1, - Chunks: 1, + Height: uint64(snapshotHeight), + Version: 1, + Hash: appHash, }, }) - go handleChunkRequests(ctx, t, rts.chunkOutCh, rts.chunkInCh, closeCh, []byte("abc")) + go handleChunkRequests(ctx, t, rts.chunkOutCh, rts.chunkInCh, closeCh, appHash, []byte("abc")) go handleConsensusParamsRequest(ctx, t, rts.paramsOutCh, rts.paramsInCh, closeCh) @@ -293,30 +306,31 @@ func TestReactor_ChunkRequest_InvalidRequest(t *testing.T) { } func TestReactor_ChunkRequest(t *testing.T) { + chunkID := []byte{1, 2, 3, 4} testcases := map[string]struct { request *ssproto.ChunkRequest chunk []byte expectResponse *ssproto.ChunkResponse }{ "chunk is returned": { - &ssproto.ChunkRequest{Height: 1, Format: 1, Index: 1}, + &ssproto.ChunkRequest{Height: 1, Version: 1, ChunkId: chunkID}, []byte{1, 2, 3}, - &ssproto.ChunkResponse{Height: 1, Format: 1, Index: 1, Chunk: []byte{1, 2, 3}}, + &ssproto.ChunkResponse{Height: 1, Version: 1, ChunkId: chunkID, Chunk: []byte{1, 2, 3}}, }, "empty chunk is returned, as empty": { - &ssproto.ChunkRequest{Height: 1, Format: 1, Index: 1}, + &ssproto.ChunkRequest{Height: 1, Version: 1, ChunkId: chunkID}, []byte{}, - &ssproto.ChunkResponse{Height: 1, Format: 1, Index: 1, Chunk: []byte{}}, + &ssproto.ChunkResponse{Height: 1, Version: 1, ChunkId: chunkID, Chunk: []byte{}}, }, "nil (missing) chunk is returned as missing": { - &ssproto.ChunkRequest{Height: 1, Format: 1, Index: 1}, + &ssproto.ChunkRequest{Height: 1, Version: 1, ChunkId: chunkID}, nil, - &ssproto.ChunkResponse{Height: 1, Format: 1, Index: 1, Missing: true}, + &ssproto.ChunkResponse{Height: 1, Version: 1, ChunkId: chunkID, Missing: true}, }, "invalid request": { - &ssproto.ChunkRequest{Height: 1, Format: 1, Index: 1}, + &ssproto.ChunkRequest{Height: 1, Version: 1, ChunkId: chunkID}, nil, - &ssproto.ChunkResponse{Height: 1, Format: 1, Index: 1, Missing: true}, + &ssproto.ChunkResponse{Height: 1, Version: 1, ChunkId: chunkID, Missing: true}, }, } @@ -331,9 +345,9 @@ func TestReactor_ChunkRequest(t *testing.T) { // mock ABCI connection to return local snapshots conn := &clientmocks.Client{} conn.On("LoadSnapshotChunk", mock.Anything, &abci.RequestLoadSnapshotChunk{ - Height: tc.request.Height, - Format: tc.request.Format, - Chunk: tc.request.Index, + Height: tc.request.Height, + Version: tc.request.Version, + ChunkId: tc.request.ChunkId, }).Return(&abci.ResponseLoadSnapshotChunk{Chunk: tc.chunk}, nil) rts := setup(ctx, t, conn, nil, 2) @@ -380,30 +394,30 @@ func TestReactor_SnapshotsRequest(t *testing.T) { "no snapshots": {nil, []*ssproto.SnapshotsResponse{}}, ">10 unordered snapshots": { []*abci.Snapshot{ - {Height: 1, Format: 2, Chunks: 7, Hash: []byte{1, 2}, Metadata: []byte{1}}, - {Height: 2, Format: 2, Chunks: 7, Hash: []byte{2, 2}, Metadata: []byte{2}}, - {Height: 3, Format: 2, Chunks: 7, Hash: []byte{3, 2}, Metadata: []byte{3}}, - {Height: 1, Format: 1, Chunks: 7, Hash: []byte{1, 1}, Metadata: []byte{4}}, - {Height: 2, Format: 1, Chunks: 7, Hash: []byte{2, 1}, Metadata: []byte{5}}, - {Height: 3, Format: 1, Chunks: 7, Hash: []byte{3, 1}, Metadata: []byte{6}}, - {Height: 1, Format: 4, Chunks: 7, Hash: []byte{1, 4}, Metadata: []byte{7}}, - {Height: 2, Format: 4, Chunks: 7, Hash: []byte{2, 4}, Metadata: []byte{8}}, - {Height: 3, Format: 4, Chunks: 7, Hash: []byte{3, 4}, Metadata: []byte{9}}, - {Height: 1, Format: 3, Chunks: 7, Hash: []byte{1, 3}, Metadata: []byte{10}}, - {Height: 2, Format: 3, Chunks: 7, Hash: []byte{2, 3}, Metadata: []byte{11}}, - {Height: 3, Format: 3, Chunks: 7, Hash: []byte{3, 3}, Metadata: []byte{12}}, + {Height: 1, Version: 2, Hash: []byte{1, 2}, Metadata: []byte{1}}, + {Height: 2, Version: 2, Hash: []byte{2, 2}, Metadata: []byte{2}}, + {Height: 3, Version: 2, Hash: []byte{3, 2}, Metadata: []byte{3}}, + {Height: 1, Version: 1, Hash: []byte{1, 1}, Metadata: []byte{4}}, + {Height: 2, Version: 1, Hash: []byte{2, 1}, Metadata: []byte{5}}, + {Height: 3, Version: 1, Hash: []byte{3, 1}, Metadata: []byte{6}}, + {Height: 1, Version: 4, Hash: []byte{1, 4}, Metadata: []byte{7}}, + {Height: 2, Version: 4, Hash: []byte{2, 4}, Metadata: []byte{8}}, + {Height: 3, Version: 4, Hash: []byte{3, 4}, Metadata: []byte{9}}, + {Height: 1, Version: 3, Hash: []byte{1, 3}, Metadata: []byte{10}}, + {Height: 2, Version: 3, Hash: []byte{2, 3}, Metadata: []byte{11}}, + {Height: 3, Version: 3, Hash: []byte{3, 3}, Metadata: []byte{12}}, }, []*ssproto.SnapshotsResponse{ - {Height: 3, Format: 4, Chunks: 7, Hash: []byte{3, 4}, Metadata: []byte{9}}, - {Height: 3, Format: 3, Chunks: 7, Hash: []byte{3, 3}, Metadata: []byte{12}}, - {Height: 3, Format: 2, Chunks: 7, Hash: []byte{3, 2}, Metadata: []byte{3}}, - {Height: 3, Format: 1, Chunks: 7, Hash: []byte{3, 1}, Metadata: []byte{6}}, - {Height: 2, Format: 4, Chunks: 7, Hash: []byte{2, 4}, Metadata: []byte{8}}, - {Height: 2, Format: 3, Chunks: 7, Hash: []byte{2, 3}, Metadata: []byte{11}}, - {Height: 2, Format: 2, Chunks: 7, Hash: []byte{2, 2}, Metadata: []byte{2}}, - {Height: 2, Format: 1, Chunks: 7, Hash: []byte{2, 1}, Metadata: []byte{5}}, - {Height: 1, Format: 4, Chunks: 7, Hash: []byte{1, 4}, Metadata: []byte{7}}, - {Height: 1, Format: 3, Chunks: 7, Hash: []byte{1, 3}, Metadata: []byte{10}}, + {Height: 3, Version: 4, Hash: []byte{3, 4}, Metadata: []byte{9}}, + {Height: 3, Version: 3, Hash: []byte{3, 3}, Metadata: []byte{12}}, + {Height: 3, Version: 2, Hash: []byte{3, 2}, Metadata: []byte{3}}, + {Height: 3, Version: 1, Hash: []byte{3, 1}, Metadata: []byte{6}}, + {Height: 2, Version: 4, Hash: []byte{2, 4}, Metadata: []byte{8}}, + {Height: 2, Version: 3, Hash: []byte{2, 3}, Metadata: []byte{11}}, + {Height: 2, Version: 2, Hash: []byte{2, 2}, Metadata: []byte{2}}, + {Height: 2, Version: 1, Hash: []byte{2, 1}, Metadata: []byte{5}}, + {Height: 1, Version: 4, Hash: []byte{1, 4}, Metadata: []byte{7}}, + {Height: 1, Version: 3, Hash: []byte{1, 3}, Metadata: []byte{10}}, }, }, } @@ -633,7 +647,7 @@ func TestReactor_StateProviderP2P(t *testing.T) { require.Equal(t, commit.BlockID, state.LastBlockID) added, err := rts.reactor.getSyncer().AddSnapshot(peerA, &snapshot{ - Height: 1, Format: 2, Chunks: 7, Hash: []byte{1, 2}, Metadata: []byte{1}, + Height: 1, Version: 2, Hash: []byte{1, 2}, Metadata: []byte{1}, }) require.NoError(t, err) require.True(t, added) @@ -696,14 +710,19 @@ func TestReactor_Backfill(t *testing.T) { } trackingHeight := startHeight - rts.stateStore.On("SaveValidatorSets", mock.AnythingOfType("int64"), mock.AnythingOfType("int64"), - mock.AnythingOfType("*types.ValidatorSet")).Return(func(lh, uh int64, vals *types.ValidatorSet) error { - require.Equal(t, trackingHeight, lh) - require.Equal(t, lh, uh) - require.GreaterOrEqual(t, lh, stopHeight) - trackingHeight-- - return nil - }) + rts.stateStore. + On("SaveValidatorSets", + mock.AnythingOfType("int64"), + mock.AnythingOfType("int64"), + mock.AnythingOfType("*types.ValidatorSet")). + Maybe(). + Return(func(lh, uh int64, vals *types.ValidatorSet) error { + require.Equal(t, trackingHeight, lh) + require.Equal(t, lh, uh) + require.GreaterOrEqual(t, lh, stopHeight) + trackingHeight-- + return nil + }) chain := buildLightBlockChain(ctx, t, stopHeight-1, startHeight+1, stopTime, rts.privVal) @@ -948,8 +967,7 @@ func handleSnapshotRequests( ChannelID: SnapshotChannel, Message: &ssproto.SnapshotsResponse{ Height: snapshot.Height, - Format: snapshot.Format, - Chunks: snapshot.Chunks, + Version: snapshot.Version, Hash: snapshot.Hash, Metadata: snapshot.Metadata, }, @@ -965,6 +983,7 @@ func handleChunkRequests( receivingCh chan p2p.Envelope, sendingCh chan p2p.Envelope, closeCh chan struct{}, + chunkID []byte, chunk []byte, ) { t.Helper() @@ -981,9 +1000,9 @@ func handleChunkRequests( From: envelope.To, ChannelID: ChunkChannel, Message: &ssproto.ChunkResponse{ + ChunkId: chunkID, Height: msg.Height, - Format: msg.Format, - Index: msg.Index, + Version: msg.Version, Chunk: chunk, Missing: false, }, diff --git a/internal/statesync/snapshots.go b/internal/statesync/snapshots.go index 05f70ef57b..255b30fbe8 100644 --- a/internal/statesync/snapshots.go +++ b/internal/statesync/snapshots.go @@ -19,8 +19,7 @@ type snapshotKey [sha256.Size]byte // snapshot contains data about a snapshot. type snapshot struct { Height uint64 - Format uint32 - Chunks uint32 + Version uint32 Hash tmbytes.HexBytes Metadata []byte @@ -36,8 +35,7 @@ func (s *snapshot) Key() snapshotKey { bz := make([]byte, 0, (64+32+32)/8) bz = binary.LittleEndian.AppendUint64(bz, s.Height) - bz = binary.LittleEndian.AppendUint32(bz, s.Format) - bz = binary.LittleEndian.AppendUint32(bz, s.Chunks) + bz = binary.LittleEndian.AppendUint32(bz, s.Version) hasher.Write(bz) hasher.Write(s.Hash) hasher.Write(s.Metadata) @@ -53,9 +51,9 @@ type snapshotPool struct { snapshotPeers map[snapshotKey]map[types.NodeID]types.NodeID // indexes for fast searches - formatIndex map[uint32]map[snapshotKey]bool - heightIndex map[uint64]map[snapshotKey]bool - peerIndex map[types.NodeID]map[snapshotKey]bool + versionIndex map[uint32]map[snapshotKey]bool + heightIndex map[uint64]map[snapshotKey]bool + peerIndex map[types.NodeID]map[snapshotKey]bool // blacklists for rejected items formatBlacklist map[uint32]bool @@ -68,7 +66,7 @@ func newSnapshotPool() *snapshotPool { return &snapshotPool{ snapshots: make(map[snapshotKey]*snapshot), snapshotPeers: make(map[snapshotKey]map[types.NodeID]types.NodeID), - formatIndex: make(map[uint32]map[snapshotKey]bool), + versionIndex: make(map[uint32]map[snapshotKey]bool), heightIndex: make(map[uint64]map[snapshotKey]bool), peerIndex: make(map[types.NodeID]map[snapshotKey]bool), formatBlacklist: make(map[uint32]bool), @@ -88,7 +86,7 @@ func (p *snapshotPool) Add(peerID types.NodeID, snapshot *snapshot) (bool, error defer p.Unlock() switch { - case p.formatBlacklist[snapshot.Format]: + case p.formatBlacklist[snapshot.Version]: return false, nil case p.peerBlacklist[peerID]: return false, nil @@ -113,10 +111,10 @@ func (p *snapshotPool) Add(peerID types.NodeID, snapshot *snapshot) (bool, error } p.snapshots[key] = snapshot - if p.formatIndex[snapshot.Format] == nil { - p.formatIndex[snapshot.Format] = make(map[snapshotKey]bool) + if p.versionIndex[snapshot.Version] == nil { + p.versionIndex[snapshot.Version] = make(map[snapshotKey]bool) } - p.formatIndex[snapshot.Format][key] = true + p.versionIndex[snapshot.Version][key] = true if p.heightIndex[snapshot.Height] == nil { p.heightIndex[snapshot.Height] = make(map[snapshotKey]bool) @@ -216,9 +214,9 @@ func (p *snapshotPool) sorterFactory(candidates []*snapshot) func(int, int) bool return false case len(p.snapshotPeers[a.Key()]) > len(p.snapshotPeers[b.Key()]): return true - case a.Format > b.Format: + case a.Version > b.Version: return true - case a.Format < b.Format: + case a.Version < b.Version: return false default: return false @@ -236,13 +234,13 @@ func (p *snapshotPool) Reject(snapshot *snapshot) { p.removeSnapshot(key) } -// RejectFormat rejects a snapshot format. It will never be used again. -func (p *snapshotPool) RejectFormat(format uint32) { +// RejectVersion rejects a snapshot version. It will never be used again. +func (p *snapshotPool) RejectVersion(version uint32) { p.Lock() defer p.Unlock() - p.formatBlacklist[format] = true - for key := range p.formatIndex[format] { + p.formatBlacklist[version] = true + for key := range p.versionIndex[version] { p.removeSnapshot(key) } } @@ -287,7 +285,7 @@ func (p *snapshotPool) removeSnapshot(key snapshotKey) { } delete(p.snapshots, key) - delete(p.formatIndex[snapshot.Format], key) + delete(p.versionIndex[snapshot.Version], key) delete(p.heightIndex[snapshot.Height], key) for peerID := range p.snapshotPeers[key] { delete(p.peerIndex[peerID], key) diff --git a/internal/statesync/snapshots_test.go b/internal/statesync/snapshots_test.go index 08cb08269d..8e97f05c8f 100644 --- a/internal/statesync/snapshots_test.go +++ b/internal/statesync/snapshots_test.go @@ -12,19 +12,17 @@ func TestSnapshot_Key(t *testing.T) { testcases := map[string]struct { modify func(*snapshot) }{ - "new height": {func(s *snapshot) { s.Height = 9 }}, - "new format": {func(s *snapshot) { s.Format = 9 }}, - "new chunk count": {func(s *snapshot) { s.Chunks = 9 }}, - "new hash": {func(s *snapshot) { s.Hash = []byte{9} }}, - "no metadata": {func(s *snapshot) { s.Metadata = nil }}, + "new height": {func(s *snapshot) { s.Height = 9 }}, + "new format": {func(s *snapshot) { s.Version = 9 }}, + "new hash": {func(s *snapshot) { s.Hash = []byte{9} }}, + "no metadata": {func(s *snapshot) { s.Metadata = nil }}, } for name, tc := range testcases { tc := tc t.Run(name, func(t *testing.T) { s := snapshot{ Height: 3, - Format: 1, - Chunks: 7, + Version: 1, Hash: []byte{1, 2, 3}, Metadata: []byte{255}, } @@ -42,10 +40,9 @@ func TestSnapshotPool_Add(t *testing.T) { // Adding to the pool should work pool := newSnapshotPool() added, err := pool.Add(peerID, &snapshot{ - Height: 1, - Format: 1, - Chunks: 1, - Hash: []byte{1}, + Height: 1, + Version: 1, + Hash: []byte{1}, }) require.NoError(t, err) require.True(t, added) @@ -53,10 +50,9 @@ func TestSnapshotPool_Add(t *testing.T) { // Adding again from a different peer should return false otherNodeID := types.NodeID("bb") added, err = pool.Add(otherNodeID, &snapshot{ - Height: 1, - Format: 1, - Chunks: 1, - Hash: []byte{1}, + Height: 1, + Version: 1, + Hash: []byte{1}, }) require.NoError(t, err) require.False(t, added) @@ -68,7 +64,7 @@ func TestSnapshotPool_Add(t *testing.T) { func TestSnapshotPool_GetPeer(t *testing.T) { pool := newSnapshotPool() - s := &snapshot{Height: 1, Format: 1, Chunks: 1, Hash: []byte{1}} + s := &snapshot{Height: 1, Version: 1, Hash: []byte{1}} peerAID := types.NodeID("aa") peerBID := types.NodeID("bb") @@ -79,7 +75,7 @@ func TestSnapshotPool_GetPeer(t *testing.T) { _, err = pool.Add(peerBID, s) require.NoError(t, err) - _, err = pool.Add(peerAID, &snapshot{Height: 2, Format: 1, Chunks: 1, Hash: []byte{1}}) + _, err = pool.Add(peerAID, &snapshot{Height: 2, Version: 1, Hash: []byte{1}}) require.NoError(t, err) // GetPeer currently picks a random peer, so lets run it until we've seen both. @@ -96,14 +92,14 @@ func TestSnapshotPool_GetPeer(t *testing.T) { } // GetPeer should return empty for an unknown snapshot - peer := pool.GetPeer(&snapshot{Height: 9, Format: 9}) + peer := pool.GetPeer(&snapshot{Height: 9, Version: 9}) require.EqualValues(t, "", peer) } func TestSnapshotPool_GetPeers(t *testing.T) { pool := newSnapshotPool() - s := &snapshot{Height: 1, Format: 1, Chunks: 1, Hash: []byte{1}} + s := &snapshot{Height: 1, Version: 1, Hash: []byte{1}} peerAID := types.NodeID("aa") peerBID := types.NodeID("bb") @@ -114,7 +110,7 @@ func TestSnapshotPool_GetPeers(t *testing.T) { _, err = pool.Add(peerBID, s) require.NoError(t, err) - _, err = pool.Add(peerAID, &snapshot{Height: 2, Format: 1, Chunks: 1, Hash: []byte{2}}) + _, err = pool.Add(peerAID, &snapshot{Height: 2, Version: 1, Hash: []byte{2}}) require.NoError(t, err) peers := pool.GetPeers(s) @@ -133,11 +129,11 @@ func TestSnapshotPool_Ranked_Best(t *testing.T) { snapshot *snapshot peers []types.NodeID }{ - {&snapshot{Height: 2, Format: 2, Chunks: 4, Hash: []byte{1, 3}}, []types.NodeID{"AA", "BB", "CC", "DD"}}, - {&snapshot{Height: 1, Format: 1, Chunks: 4, Hash: []byte{1, 2}}, []types.NodeID{"AA", "BB", "CC", "DD"}}, - {&snapshot{Height: 2, Format: 2, Chunks: 5, Hash: []byte{1, 2}}, []types.NodeID{"AA", "BB", "CC"}}, - {&snapshot{Height: 2, Format: 1, Chunks: 3, Hash: []byte{1, 2}}, []types.NodeID{"AA", "BB", "CC"}}, - {&snapshot{Height: 1, Format: 2, Chunks: 5, Hash: []byte{1, 2}}, []types.NodeID{"AA", "BB", "CC"}}, + {&snapshot{Height: 2, Version: 2, Hash: []byte{1, 3}}, []types.NodeID{"AA", "BB", "CC", "DD"}}, + {&snapshot{Height: 1, Version: 1, Hash: []byte{1, 2}}, []types.NodeID{"AA", "BB", "CC", "DD"}}, + {&snapshot{Height: 2, Version: 2, Hash: []byte{1, 2}}, []types.NodeID{"AA", "BB", "CC"}}, + {&snapshot{Height: 2, Version: 1, Hash: []byte{1, 2}}, []types.NodeID{"AA", "BB", "CC"}}, + {&snapshot{Height: 1, Version: 2, Hash: []byte{1, 2}}, []types.NodeID{"AA", "BB", "CC"}}, } // Add snapshots in reverse order, to make sure the pool enforces some order. @@ -172,10 +168,10 @@ func TestSnapshotPool_Reject(t *testing.T) { peerID := types.NodeID("aa") snapshots := []*snapshot{ - {Height: 2, Format: 2, Chunks: 1, Hash: []byte{1, 2}}, - {Height: 2, Format: 1, Chunks: 1, Hash: []byte{1, 2}}, - {Height: 1, Format: 2, Chunks: 1, Hash: []byte{1, 2}}, - {Height: 1, Format: 1, Chunks: 1, Hash: []byte{1, 2}}, + {Height: 2, Version: 2, Hash: []byte{1, 2}}, + {Height: 2, Version: 1, Hash: []byte{1, 2}}, + {Height: 1, Version: 2, Hash: []byte{1, 2}}, + {Height: 1, Version: 1, Hash: []byte{1, 2}}, } for _, s := range snapshots { _, err := pool.Add(peerID, s) @@ -189,7 +185,7 @@ func TestSnapshotPool_Reject(t *testing.T) { require.NoError(t, err) require.False(t, added) - added, err = pool.Add(peerID, &snapshot{Height: 3, Format: 3, Chunks: 1, Hash: []byte{1}}) + added, err = pool.Add(peerID, &snapshot{Height: 3, Version: 3, Hash: []byte{1}}) require.NoError(t, err) require.True(t, added) } @@ -200,25 +196,25 @@ func TestSnapshotPool_RejectFormat(t *testing.T) { peerID := types.NodeID("aa") snapshots := []*snapshot{ - {Height: 2, Format: 2, Chunks: 1, Hash: []byte{1, 2}}, - {Height: 2, Format: 1, Chunks: 1, Hash: []byte{1, 2}}, - {Height: 1, Format: 2, Chunks: 1, Hash: []byte{1, 2}}, - {Height: 1, Format: 1, Chunks: 1, Hash: []byte{1, 2}}, + {Height: 2, Version: 2, Hash: []byte{1, 2}}, + {Height: 2, Version: 1, Hash: []byte{1, 2}}, + {Height: 1, Version: 2, Hash: []byte{1, 2}}, + {Height: 1, Version: 1, Hash: []byte{1, 2}}, } for _, s := range snapshots { _, err := pool.Add(peerID, s) require.NoError(t, err) } - pool.RejectFormat(1) + pool.RejectVersion(1) require.Equal(t, []*snapshot{snapshots[0], snapshots[2]}, pool.Ranked()) - added, err := pool.Add(peerID, &snapshot{Height: 3, Format: 1, Chunks: 1, Hash: []byte{1}}) + added, err := pool.Add(peerID, &snapshot{Height: 3, Version: 1, Hash: []byte{1}}) require.NoError(t, err) require.False(t, added) require.Equal(t, []*snapshot{snapshots[0], snapshots[2]}, pool.Ranked()) - added, err = pool.Add(peerID, &snapshot{Height: 3, Format: 3, Chunks: 1, Hash: []byte{1}}) + added, err = pool.Add(peerID, &snapshot{Height: 3, Version: 3, Hash: []byte{1}}) require.NoError(t, err) require.True(t, added) } @@ -229,9 +225,9 @@ func TestSnapshotPool_RejectPeer(t *testing.T) { peerAID := types.NodeID("aa") peerBID := types.NodeID("bb") - s1 := &snapshot{Height: 1, Format: 1, Chunks: 1, Hash: []byte{1}} - s2 := &snapshot{Height: 2, Format: 1, Chunks: 1, Hash: []byte{2}} - s3 := &snapshot{Height: 3, Format: 1, Chunks: 1, Hash: []byte{2}} + s1 := &snapshot{Height: 1, Version: 1, Hash: []byte{1}} + s2 := &snapshot{Height: 2, Version: 1, Hash: []byte{2}} + s3 := &snapshot{Height: 3, Version: 1, Hash: []byte{2}} _, err := pool.Add(peerAID, s1) require.NoError(t, err) @@ -269,8 +265,8 @@ func TestSnapshotPool_RemovePeer(t *testing.T) { peerAID := types.NodeID("aa") peerBID := types.NodeID("bb") - s1 := &snapshot{Height: 1, Format: 1, Chunks: 1, Hash: []byte{1}} - s2 := &snapshot{Height: 2, Format: 1, Chunks: 1, Hash: []byte{2}} + s1 := &snapshot{Height: 1, Version: 1, Hash: []byte{1}} + s2 := &snapshot{Height: 2, Version: 1, Hash: []byte{2}} _, err := pool.Add(peerAID, s1) require.NoError(t, err) diff --git a/internal/statesync/syncer.go b/internal/statesync/syncer.go index 03bedb75e4..9dcfb08fea 100644 --- a/internal/statesync/syncer.go +++ b/internal/statesync/syncer.go @@ -28,6 +28,8 @@ const ( // minimumDiscoveryTime is the lowest allowable time for a // SyncAny discovery time. minimumDiscoveryTime = 5 * time.Second + + dequeueChunkIDTimeoutDefault = 2 * time.Second ) var ( @@ -47,7 +49,8 @@ var ( // errTimeout is returned by Sync() when we've waited too long to receive a chunk. errTimeout = errors.New("timed out waiting for chunk") // errNoSnapshots is returned by SyncAny() if no snapshots are found and discovery is disabled. - errNoSnapshots = errors.New("no suitable snapshots found") + errNoSnapshots = errors.New("no suitable snapshots found") + errStatesyncNotInProgress = errors.New("no state sync in progress") ) // syncer runs a state sync against an ABCI app. Use either SyncAny() to automatically attempt to @@ -61,12 +64,14 @@ type syncer struct { snapshotCh p2p.Channel chunkCh p2p.Channel tempDir string - fetchers int32 + fetchers int retryTimeout time.Duration - mtx sync.RWMutex - chunks *chunkQueue - metrics *Metrics + dequeueChunkIDTimeout time.Duration + + mtx sync.RWMutex + chunkQueue *chunkQueue + metrics *Metrics avgChunkTime int64 lastSyncedSnapshotHeight int64 @@ -78,17 +83,26 @@ type syncer struct { func (s *syncer) AddChunk(chunk *chunk) (bool, error) { s.mtx.RLock() defer s.mtx.RUnlock() - if s.chunks == nil { - return false, errors.New("no state sync in progress") + if s.chunkQueue == nil { + return false, errStatesyncNotInProgress + } + keyVals := []any{ + "height", chunk.Height, + "version", chunk.Version, + "chunk", chunk.ID, } - added, err := s.chunks.Add(chunk) + added, err := s.chunkQueue.Add(chunk) if err != nil { + if errors.Is(err, errNilSnapshot) { + s.logger.Error("Can't add a chunk because of a snapshot is nil", keyVals...) + return false, nil + } return false, err } if added { - s.logger.Debug("Added chunk to queue", "height", chunk.Height, "format", chunk.Format, "chunk", chunk.Index) + s.logger.Debug("Added chunk to queue", keyVals...) } else { - s.logger.Debug("Ignoring duplicate chunk in queue", "height", chunk.Height, "format", chunk.Format, "chunk", chunk.Index) + s.logger.Debug("Ignoring duplicate chunk in requestQueue", keyVals...) } return added, nil } @@ -102,7 +116,9 @@ func (s *syncer) AddSnapshot(peerID types.NodeID, snapshot *snapshot) (bool, err } if added { s.metrics.TotalSnapshots.Add(1) - s.logger.Info("Discovered new snapshot", "height", snapshot.Height, "format", snapshot.Format, + s.logger.Info("Discovered new snapshot", + "height", snapshot.Height, + "format", snapshot.Version, "hash", snapshot.Hash.ShortString()) } return added, nil @@ -157,7 +173,7 @@ func (s *syncer) SyncAny( // the snapshot and chunk queue from the previous loop iteration. var ( snapshot *snapshot - chunks *chunkQueue + queue *chunkQueue err error iters int ) @@ -167,7 +183,7 @@ func (s *syncer) SyncAny( // If not nil, we're going to retry restoration of the same snapshot. if snapshot == nil { snapshot = s.snapshots.Best() - chunks = nil + queue = nil } if snapshot == nil { if discoveryTime == 0 { @@ -184,18 +200,18 @@ func (s *syncer) SyncAny( continue } } - if chunks == nil { - chunks, err = newChunkQueue(snapshot, s.tempDir) + if queue == nil { + queue, err = newChunkQueue(snapshot, s.tempDir, s.fetchers) if err != nil { return sm.State{}, nil, fmt.Errorf("failed to create chunk queue: %w", err) } - defer chunks.Close() // in case we forget to close it elsewhere + defer queue.Close() // in case we forget to close it elsewhere } + queue.Enqueue(snapshot.Hash) s.processingSnapshot = snapshot - s.metrics.SnapshotChunkTotal.Set(float64(snapshot.Chunks)) - newState, commit, err := s.Sync(ctx, snapshot, chunks) + newState, commit, err := s.Sync(ctx, snapshot, queue) switch { case err == nil: s.metrics.SnapshotHeight.Set(float64(snapshot.Height)) @@ -206,27 +222,35 @@ func (s *syncer) SyncAny( return sm.State{}, nil, err case errors.Is(err, errRetrySnapshot): - chunks.RetryAll() - s.logger.Info("Retrying snapshot", "height", snapshot.Height, "format", snapshot.Format, + queue.RetryAll() + s.logger.Info("Retrying snapshot", + "height", snapshot.Height, + "format", snapshot.Version, "hash", snapshot.Hash) continue case errors.Is(err, errTimeout): s.snapshots.Reject(snapshot) s.logger.Error("Timed out waiting for snapshot chunks, rejected snapshot", - "height", snapshot.Height, "format", snapshot.Format, "hash", snapshot.Hash) + "height", snapshot.Height, + "format", snapshot.Version, + "hash", snapshot.Hash) case errors.Is(err, errRejectSnapshot): s.snapshots.Reject(snapshot) - s.logger.Info("Snapshot rejected", "height", snapshot.Height, "format", snapshot.Format, + s.logger.Info("Snapshot rejected", + "height", snapshot.Height, + "format", snapshot.Version, "hash", snapshot.Hash) case errors.Is(err, errRejectFormat): - s.snapshots.RejectFormat(snapshot.Format) - s.logger.Info("Snapshot format rejected", "format", snapshot.Format) + s.snapshots.RejectVersion(snapshot.Version) + s.logger.Info("Snapshot format rejected", "format", snapshot.Version) case errors.Is(err, errRejectSender): - s.logger.Info("Snapshot senders rejected", "height", snapshot.Height, "format", snapshot.Format, + s.logger.Info("Snapshot senders rejected", + "height", snapshot.Height, + "format", snapshot.Version, "hash", snapshot.Hash) for _, peer := range s.snapshots.GetPeers(snapshot) { s.snapshots.RejectPeer(peer) @@ -238,29 +262,29 @@ func (s *syncer) SyncAny( } // Discard snapshot and chunks for next iteration - err = chunks.Close() + err = queue.Close() if err != nil { s.logger.Error("Failed to clean up chunk queue", "err", err) } snapshot = nil - chunks = nil + queue = nil s.processingSnapshot = nil } } // Sync executes a sync for a specific snapshot, returning the latest state and block commit which // the caller must use to bootstrap the node. -func (s *syncer) Sync(ctx context.Context, snapshot *snapshot, chunks *chunkQueue) (sm.State, *types.Commit, error) { +func (s *syncer) Sync(ctx context.Context, snapshot *snapshot, queue *chunkQueue) (sm.State, *types.Commit, error) { s.mtx.Lock() - if s.chunks != nil { + if s.chunkQueue != nil { s.mtx.Unlock() return sm.State{}, nil, errors.New("a state sync is already in progress") } - s.chunks = chunks + s.chunkQueue = queue s.mtx.Unlock() defer func() { s.mtx.Lock() - s.chunks = nil + s.chunkQueue = nil s.mtx.Unlock() }() @@ -280,7 +304,8 @@ func (s *syncer) Sync(ctx context.Context, snapshot *snapshot, chunks *chunkQueu fmt.Errorf("failed to get app hash at height %d. No witnesses remaining", snapshot.Height) } s.logger.Info("failed to get and verify tendermint state. Dropping snapshot and trying again", - "err", err, "height", snapshot.Height) + "error", err, + "height", snapshot.Height) return sm.State{}, nil, errRejectSnapshot } snapshot.trustedAppHash = appHash @@ -288,6 +313,11 @@ func (s *syncer) Sync(ctx context.Context, snapshot *snapshot, chunks *chunkQueu // Offer snapshot to ABCI app. err = s.offerSnapshot(ctx, snapshot) if err != nil { + s.logger.Error("Snapshot wasn't accepted", + "height", snapshot.Height, + "format", snapshot.Version, + "hash", snapshot.Hash, + "error", err) return sm.State{}, nil, err } @@ -295,8 +325,11 @@ func (s *syncer) Sync(ctx context.Context, snapshot *snapshot, chunks *chunkQueu fetchCtx, cancel := context.WithCancel(ctx) defer cancel() fetchStartTime := time.Now() - for i := int32(0); i < s.fetchers; i++ { - go s.fetchChunks(fetchCtx, snapshot, chunks) + + // TODO: this approach of creating will be deprecated in favor of new design + // This epic https://dashpay.atlassian.net/browse/TD-161 contains all the tasks for refactoring + for i := 0; i < s.fetchers; i++ { + go s.fetchChunks(fetchCtx, snapshot, queue) } pctx, pcancel := context.WithTimeout(ctx, 1*time.Minute) @@ -333,7 +366,7 @@ func (s *syncer) Sync(ctx context.Context, snapshot *snapshot, chunks *chunkQueu } // Restore snapshot - err = s.applyChunks(ctx, chunks, fetchStartTime) + err = s.applyChunks(ctx, queue, fetchStartTime) if err != nil { return sm.State{}, nil, err } @@ -344,7 +377,9 @@ func (s *syncer) Sync(ctx context.Context, snapshot *snapshot, chunks *chunkQueu } // Done! 🎉 - s.logger.Info("Snapshot restored", "height", snapshot.Height, "format", snapshot.Format, + s.logger.Info("Snapshot restored", + "height", snapshot.Height, + "version", snapshot.Version, "hash", snapshot.Hash) return state, commit, nil @@ -353,13 +388,14 @@ func (s *syncer) Sync(ctx context.Context, snapshot *snapshot, chunks *chunkQueu // offerSnapshot offers a snapshot to the app. It returns various errors depending on the app's // response, or nil if the snapshot was accepted. func (s *syncer) offerSnapshot(ctx context.Context, snapshot *snapshot) error { - s.logger.Info("Offering snapshot to ABCI app", "height", snapshot.Height, - "format", snapshot.Format, "hash", snapshot.Hash) + s.logger.Info("Offering snapshot to ABCI app", + "height", snapshot.Height, + "version", snapshot.Version, + "hash", snapshot.Hash) resp, err := s.conn.OfferSnapshot(ctx, &abci.RequestOfferSnapshot{ Snapshot: &abci.Snapshot{ Height: snapshot.Height, - Format: snapshot.Format, - Chunks: snapshot.Chunks, + Version: snapshot.Version, Hash: snapshot.Hash, Metadata: snapshot.Metadata, }, @@ -370,8 +406,10 @@ func (s *syncer) offerSnapshot(ctx context.Context, snapshot *snapshot) error { } switch resp.Result { case abci.ResponseOfferSnapshot_ACCEPT: - s.logger.Info("Snapshot accepted, restoring", "height", snapshot.Height, - "format", snapshot.Format, "hash", snapshot.Hash) + s.logger.Info("Snapshot accepted, restoring", + "height", snapshot.Height, + "format", snapshot.Version, + "hash", snapshot.Hash) return nil case abci.ResponseOfferSnapshot_ABORT: return errAbort @@ -388,32 +426,33 @@ func (s *syncer) offerSnapshot(ctx context.Context, snapshot *snapshot) error { // applyChunks applies chunks to the app. It returns various errors depending on the app's // response, or nil once the snapshot is fully restored. -func (s *syncer) applyChunks(ctx context.Context, chunks *chunkQueue, start time.Time) error { +func (s *syncer) applyChunks(ctx context.Context, queue *chunkQueue, start time.Time) error { for { - chunk, err := chunks.Next() - if err == errDone { - return nil - } else if err != nil { + chunk, err := queue.Next() + if err != nil { return fmt.Errorf("failed to fetch chunk: %w", err) } resp, err := s.conn.ApplySnapshotChunk(ctx, &abci.RequestApplySnapshotChunk{ - Index: chunk.Index, - Chunk: chunk.Chunk, - Sender: string(chunk.Sender), + ChunkId: chunk.ID, + Chunk: chunk.Chunk, + Sender: string(chunk.Sender), }) if err != nil { - return fmt.Errorf("failed to apply chunk %v: %w", chunk.Index, err) + return fmt.Errorf("failed to apply chunkID %x: %w", chunk.ID, err) } - s.logger.Info("Applied snapshot chunk to ABCI app", "height", chunk.Height, - "format", chunk.Format, "chunk", chunk.Index, "total", chunks.Size()) + s.logger.Info("applied snapshot chunk to ABCI app", + "height", chunk.Height, + "version", chunk.Version, + "chunkID", chunk.ID.String()) // Discard and refetch any chunks as requested by the app - for _, index := range resp.RefetchChunks { - err := chunks.Discard(index) + for _, chunkID := range resp.RefetchChunks { + err := queue.Discard(chunkID) if err != nil { - return fmt.Errorf("failed to discard chunk %v: %w", index, err) + return fmt.Errorf("failed to discard chunkID %x: %w", chunkID, err) } + queue.Enqueue(chunkID) } // Reject any senders as requested by the app @@ -422,21 +461,27 @@ func (s *syncer) applyChunks(ctx context.Context, chunks *chunkQueue, start time peerID := types.NodeID(sender) s.snapshots.RejectPeer(peerID) - if err := chunks.DiscardSender(peerID); err != nil { + if err := queue.DiscardSender(peerID); err != nil { return fmt.Errorf("failed to reject sender: %w", err) } } } + s.logger.Debug("snapshot chunk applied", + "result", resp.Result.String(), + "chunkID", chunk.ID.String()) + switch resp.Result { case abci.ResponseApplySnapshotChunk_ACCEPT: - s.metrics.SnapshotChunk.Add(1) - s.avgChunkTime = time.Since(start).Nanoseconds() / int64(chunks.numChunksReturned()) - s.metrics.ChunkProcessAvgTime.Set(float64(s.avgChunkTime)) + queue.Enqueue(resp.NextChunks...) + s.acceptChunk(queue, start) + case abci.ResponseApplySnapshotChunk_COMPLETE_SNAPSHOT: + s.acceptChunk(queue, start) + return nil case abci.ResponseApplySnapshotChunk_ABORT: return errAbort case abci.ResponseApplySnapshotChunk_RETRY: - chunks.Retry(chunk.Index) + queue.Retry(chunk.ID) case abci.ResponseApplySnapshotChunk_RETRY_SNAPSHOT: return errRetrySnapshot case abci.ResponseApplySnapshotChunk_REJECT_SNAPSHOT: @@ -447,55 +492,50 @@ func (s *syncer) applyChunks(ctx context.Context, chunks *chunkQueue, start time } } -// fetchChunks requests chunks from peers, receiving allocations from the chunk queue. Chunks -// will be received from the reactor via syncer.AddChunks() to chunkQueue.Add(). -func (s *syncer) fetchChunks(ctx context.Context, snapshot *snapshot, chunks *chunkQueue) { - var ( - next = true - index uint32 - err error - ) +func (s *syncer) acceptChunk(queue *chunkQueue, start time.Time) { + s.metrics.SnapshotChunk.Add(1) + s.avgChunkTime = time.Since(start).Nanoseconds() / int64(queue.DoneChunksCount()) + s.metrics.ChunkProcessAvgTime.Set(float64(s.avgChunkTime)) +} +// fetchChunks requests chunks from peers, receiving allocations from the chunk queue. Chunks +// will be received from the reactor via syncer.AddChunks() to queue.Add(). +func (s *syncer) fetchChunks(ctx context.Context, snapshot *snapshot, queue *chunkQueue) { + ticker := time.NewTicker(s.retryTimeout) + defer ticker.Stop() + dequeueChunkIDTimeout := s.dequeueChunkIDTimeout + if dequeueChunkIDTimeout == 0 { + dequeueChunkIDTimeout = dequeueChunkIDTimeoutDefault + } for { - if next { - index, err = chunks.Allocate() - if errors.Is(err, errDone) { - // Keep checking until the context is canceled (restore is done), in case any - // chunks need to be refetched. - select { - case <-ctx.Done(): - return - case <-time.After(2 * time.Second): - continue - } - } - if err != nil { - s.logger.Error("Failed to allocate chunk from queue", "err", err) + if queue.IsRequestQueueEmpty() { + select { + case <-ctx.Done(): return + case <-time.After(dequeueChunkIDTimeout): + continue } } - s.logger.Info("Fetching snapshot chunk", "height", snapshot.Height, - "format", snapshot.Format, "chunk", index, "total", chunks.Size()) - - ticker := time.NewTicker(s.retryTimeout) - defer ticker.Stop() - - if err := s.requestChunk(ctx, snapshot, index); err != nil { + ID, err := queue.Dequeue() + if errors.Is(err, errQueueEmpty) { + continue + } + s.logger.Info("Fetching snapshot chunk", + "height", snapshot.Height, + "version", snapshot.Version, + "chunk", ID) + ticker.Reset(s.retryTimeout) + if err := s.requestChunk(ctx, snapshot, ID); err != nil { return } - select { - case <-chunks.WaitFor(index): - next = true - + case <-queue.WaitFor(ID): + // do nothing case <-ticker.C: - next = false - + s.chunkQueue.Enqueue(ID) case <-ctx.Done(): return } - - ticker.Stop() } } @@ -504,33 +544,32 @@ func (s *syncer) fetchChunks(ctx context.Context, snapshot *snapshot, chunks *ch // returns nil if there are no peers for the given snapshot or the // request is successfully made and an error if the request cannot be // completed -func (s *syncer) requestChunk(ctx context.Context, snapshot *snapshot, chunk uint32) error { +func (s *syncer) requestChunk(ctx context.Context, snapshot *snapshot, chunkID tmbytes.HexBytes) error { peer := s.snapshots.GetPeer(snapshot) if peer == "" { - s.logger.Error("No valid peers found for snapshot", "height", snapshot.Height, - "format", snapshot.Format, "hash", snapshot.Hash) + s.logger.Error("No valid peers found for snapshot", + "height", snapshot.Height, + "version", snapshot.Version, + "hash", snapshot.Hash) return nil } s.logger.Debug("Requesting snapshot chunk", "height", snapshot.Height, - "format", snapshot.Format, - "chunk", chunk, + "version", snapshot.Version, + "chunkID", chunkID.String(), "peer", peer) msg := p2p.Envelope{ To: peer, Message: &ssproto.ChunkRequest{ - Height: snapshot.Height, - Format: snapshot.Format, - Index: chunk, + Height: snapshot.Height, + Version: snapshot.Version, + ChunkId: chunkID, }, } - if err := s.chunkCh.Send(ctx, msg); err != nil { - return err - } - return nil + return s.chunkCh.Send(ctx, msg) } // verifyApp verifies the sync, checking the app hash, last block height and app version @@ -543,7 +582,7 @@ func (s *syncer) verifyApp(ctx context.Context, snapshot *snapshot, appVersion u // sanity check that the app version in the block matches the application's own record // of its version if resp.AppVersion != appVersion { - // An error here most likely means that the app hasn't inplemented state sync + // An error here most likely means that the app hasn't implemented state sync // or the Info call correctly return fmt.Errorf("app version mismatch. Expected: %d, got: %d", appVersion, resp.AppVersion) diff --git a/internal/statesync/syncer_test.go b/internal/statesync/syncer_test.go index 94ae2d74fb..d1b9172333 100644 --- a/internal/statesync/syncer_test.go +++ b/internal/statesync/syncer_test.go @@ -6,30 +6,72 @@ import ( "testing" "time" - sync "github.com/sasha-s/go-deadlock" - - "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" - "github.com/stretchr/testify/require" + "github.com/stretchr/testify/suite" clientmocks "github.com/tendermint/tendermint/abci/client/mocks" abci "github.com/tendermint/tendermint/abci/types" "github.com/tendermint/tendermint/crypto" + "github.com/tendermint/tendermint/internal/p2p" "github.com/tendermint/tendermint/internal/proxy" sm "github.com/tendermint/tendermint/internal/state" "github.com/tendermint/tendermint/internal/statesync/mocks" tmbytes "github.com/tendermint/tendermint/libs/bytes" + "github.com/tendermint/tendermint/libs/log" ssproto "github.com/tendermint/tendermint/proto/tendermint/statesync" "github.com/tendermint/tendermint/types" "github.com/tendermint/tendermint/version" ) -func TestSyncer_SyncAny(t *testing.T) { +type SyncerTestSuite struct { + suite.Suite + + ctx context.Context + conn *clientmocks.Client + stateProvider *mocks.StateProvider + syncer *syncer + logger log.Logger + snapshotChannel p2p.Channel + snapshotInCh chan p2p.Envelope + snapshotOutCh chan p2p.Envelope + chunkChannel p2p.Channel + chunkInCh chan p2p.Envelope + chunkOutCh chan p2p.Envelope +} + +func TestSyncerTestSuite(t *testing.T) { + suite.Run(t, new(SyncerTestSuite)) +} + +func (suite *SyncerTestSuite) SetupTest() { + suite.ctx = context.Background() + suite.stateProvider = mocks.NewStateProvider(suite.T()) + + suite.snapshotChannel, suite.snapshotInCh, suite.snapshotOutCh, _ = makeChannel(SnapshotChannel, "snapshot") + suite.chunkChannel, suite.chunkInCh, suite.chunkOutCh, _ = makeChannel(ChunkChannel, "chunk") + suite.conn = clientmocks.NewClient(suite.T()) + suite.logger = log.NewNopLogger() + suite.syncer = &syncer{ + logger: suite.logger, + stateProvider: suite.stateProvider, + conn: suite.conn, + snapshots: newSnapshotPool(), + tempDir: suite.T().TempDir(), + fetchers: 1, + snapshotCh: suite.snapshotChannel, + chunkCh: suite.chunkChannel, + retryTimeout: 100 * time.Millisecond, + dequeueChunkIDTimeout: 50 * time.Millisecond, + metrics: NopMetrics(), + } +} + +func (suite *SyncerTestSuite) TestSyncAny() { if testing.Short() { - t.Skip("skipping test in short mode") + suite.T().Skip("skipping test in short mode") } - ctx, cancel := context.WithCancel(context.Background()) + ctx, cancel := context.WithCancel(suite.ctx) defer cancel() state := sm.State{ @@ -60,300 +102,315 @@ func TestSyncer_SyncAny(t *testing.T) { } commit := &types.Commit{BlockID: types.BlockID{Hash: []byte("blockhash")}} + s := &snapshot{Height: 1, Version: 1, Hash: []byte{0}} chunks := []*chunk{ - {Height: 1, Format: 1, Index: 0, Chunk: []byte{1, 1, 0}}, - {Height: 1, Format: 1, Index: 1, Chunk: []byte{1, 1, 1}}, - {Height: 1, Format: 1, Index: 2, Chunk: []byte{1, 1, 2}}, + {Height: 1, Version: 1, ID: []byte{0}, Chunk: []byte{0}}, + {Height: 1, Version: 1, ID: []byte{1}, Chunk: []byte{1}}, + {Height: 1, Version: 1, ID: []byte{2}, Chunk: []byte{2}}, + {Height: 1, Version: 1, ID: []byte{3}, Chunk: []byte{3}}, } - s := &snapshot{Height: 1, Format: 1, Chunks: 3, Hash: []byte{1, 2, 3}} - stateProvider := &mocks.StateProvider{} - stateProvider.On("AppHash", mock.Anything, uint64(1)).Return(state.LastAppHash, nil) - stateProvider.On("AppHash", mock.Anything, uint64(2)).Return(tmbytes.HexBytes("app_hash_2"), nil) - stateProvider.On("Commit", mock.Anything, uint64(1)).Return(commit, nil) - stateProvider.On("State", mock.Anything, uint64(1)).Return(state, nil) - conn := &clientmocks.Client{} + suite.stateProvider. + On("AppHash", mock.Anything, uint64(1)). + Return(state.LastAppHash, nil) + suite.stateProvider. + On("AppHash", mock.Anything, uint64(2)). + Return(tmbytes.HexBytes("app_hash_2"), nil) + suite.stateProvider. + On("Commit", mock.Anything, uint64(1)). + Return(commit, nil) + suite.stateProvider. + On("State", mock.Anything, uint64(1)). + Return(state, nil) peerAID := types.NodeID("aa") peerBID := types.NodeID("bb") peerCID := types.NodeID("cc") - rts := setup(ctx, t, conn, stateProvider, 4) - - rts.reactor.syncer = rts.syncer // Adding a chunk should error when no sync is in progress - _, err := rts.syncer.AddChunk(&chunk{Height: 1, Format: 1, Index: 0, Chunk: []byte{1}}) - require.Error(t, err) + _, err := suite.syncer.AddChunk(&chunk{Height: 1, Version: 1, ID: []byte{0}, Chunk: []byte{1}}) + suite.Require().Error(err) // Adding a couple of peers should trigger snapshot discovery messages - err = rts.syncer.AddPeer(ctx, peerAID) - require.NoError(t, err) - e := <-rts.snapshotOutCh - require.Equal(t, &ssproto.SnapshotsRequest{}, e.Message) - require.Equal(t, peerAID, e.To) - - err = rts.syncer.AddPeer(ctx, peerBID) - require.NoError(t, err) - e = <-rts.snapshotOutCh - require.Equal(t, &ssproto.SnapshotsRequest{}, e.Message) - require.Equal(t, peerBID, e.To) + err = suite.syncer.AddPeer(ctx, peerAID) + suite.Require().NoError(err) + e := <-suite.snapshotOutCh + suite.Require().Equal(&ssproto.SnapshotsRequest{}, e.Message) + suite.Require().Equal(peerAID, e.To) + + err = suite.syncer.AddPeer(ctx, peerBID) + suite.Require().NoError(err) + e = <-suite.snapshotOutCh + suite.Require().Equal(&ssproto.SnapshotsRequest{}, e.Message) + suite.Require().Equal(peerBID, e.To) // Both peers report back with snapshots. One of them also returns a snapshot we don't want, in // format 2, which will be rejected by the ABCI application. - new, err := rts.syncer.AddSnapshot(peerAID, s) - require.NoError(t, err) - require.True(t, new) + added, err := suite.syncer.AddSnapshot(peerAID, s) + suite.Require().NoError(err) + suite.Require().True(added) - new, err = rts.syncer.AddSnapshot(peerBID, s) - require.NoError(t, err) - require.False(t, new) + added, err = suite.syncer.AddSnapshot(peerBID, s) + suite.Require().NoError(err) + suite.Require().False(added) - s2 := &snapshot{Height: 2, Format: 2, Chunks: 3, Hash: []byte{1}} - new, err = rts.syncer.AddSnapshot(peerBID, s2) - require.NoError(t, err) - require.True(t, new) + s2 := &snapshot{Height: 2, Version: 2, Hash: []byte{1}} + added, err = suite.syncer.AddSnapshot(peerBID, s2) + suite.Require().NoError(err) + suite.Require().True(added) - new, err = rts.syncer.AddSnapshot(peerCID, s2) - require.NoError(t, err) - require.False(t, new) + added, err = suite.syncer.AddSnapshot(peerCID, s2) + suite.Require().NoError(err) + suite.Require().False(added) // We start a sync, with peers sending back chunks when requested. We first reject the snapshot // with height 2 format 2, and accept the snapshot at height 1. - conn.On("OfferSnapshot", mock.Anything, &abci.RequestOfferSnapshot{ - Snapshot: &abci.Snapshot{ - Height: 2, - Format: 2, - Chunks: 3, - Hash: []byte{1}, - }, - AppHash: []byte("app_hash_2"), - }).Return(&abci.ResponseOfferSnapshot{Result: abci.ResponseOfferSnapshot_REJECT_FORMAT}, nil) - conn.On("OfferSnapshot", mock.Anything, &abci.RequestOfferSnapshot{ - Snapshot: &abci.Snapshot{ - Height: s.Height, - Format: s.Format, - Chunks: s.Chunks, - Hash: s.Hash, - Metadata: s.Metadata, - }, - AppHash: []byte("app_hash"), - }).Times(2).Return(&abci.ResponseOfferSnapshot{Result: abci.ResponseOfferSnapshot_ACCEPT}, nil) - - chunkRequests := make(map[uint32]int) - chunkRequestsMtx := sync.Mutex{} - - chunkProcessDone := make(chan struct{}) + suite.conn. + On("OfferSnapshot", mock.Anything, &abci.RequestOfferSnapshot{ + Snapshot: &abci.Snapshot{ + Height: 2, + Version: 2, + Hash: []byte{1}, + }, + AppHash: []byte("app_hash_2"), + }). + Once(). + Return(&abci.ResponseOfferSnapshot{Result: abci.ResponseOfferSnapshot_REJECT_FORMAT}, nil) + suite.conn. + On("OfferSnapshot", mock.Anything, &abci.RequestOfferSnapshot{ + Snapshot: &abci.Snapshot{ + Height: s.Height, + Version: s.Version, + Hash: s.Hash, + Metadata: s.Metadata, + }, + AppHash: []byte("app_hash"), + }). + Once(). + Return(&abci.ResponseOfferSnapshot{Result: abci.ResponseOfferSnapshot_ACCEPT}, nil) + chunkRequests := make([]int, len(chunks)) go func() { - defer close(chunkProcessDone) - var seen int - for { - if seen >= 4 { - return - } - + for i := 0; i < 5; i++ { select { case <-ctx.Done(): - t.Logf("sent %d chunks", seen) return - case e := <-rts.chunkOutCh: + case e := <-suite.chunkOutCh: msg, ok := e.Message.(*ssproto.ChunkRequest) - assert.True(t, ok) + suite.Require().True(ok) - assert.EqualValues(t, 1, msg.Height) - assert.EqualValues(t, 1, msg.Format) - assert.LessOrEqual(t, msg.Index, uint32(len(chunks))) + suite.Require().EqualValues(1, msg.Height) + suite.Require().EqualValues(1, msg.Version) - added, err := rts.syncer.AddChunk(chunks[msg.Index]) - assert.NoError(t, err) - assert.True(t, added) + added, err := suite.syncer.AddChunk(chunks[msg.ChunkId[0]]) + suite.Require().NoError(err) + suite.Require().True(added) - chunkRequestsMtx.Lock() - chunkRequests[msg.Index]++ - chunkRequestsMtx.Unlock() - seen++ - t.Logf("added chunk (%d of 4): %d", seen, msg.Index) + chunkRequests[msg.ChunkId[0]]++ + + suite.T().Logf("added chunkID %x", msg.ChunkId) } } }() - - // The first time we're applying chunk 2 we tell it to retry the snapshot and discard chunk 1, - // which should cause it to keep the existing chunk 0 and 2, and restart restoration from - // beginning. We also wait for a little while, to exercise the retry logic in fetchChunks(). - conn.On("ApplySnapshotChunk", mock.Anything, &abci.RequestApplySnapshotChunk{ - Index: 2, Chunk: []byte{1, 1, 2}, - }).Once().Run(func(args mock.Arguments) { time.Sleep(1 * time.Second) }).Return( - &abci.ResponseApplySnapshotChunk{ - Result: abci.ResponseApplySnapshotChunk_RETRY_SNAPSHOT, - RefetchChunks: []uint32{1}, + var reqs []*abci.RequestApplySnapshotChunk + for i := 0; i < len(chunks); i++ { + reqs = append(reqs, &abci.RequestApplySnapshotChunk{ + ChunkId: chunks[i].ID, + Chunk: chunks[i].Chunk, + }) + } + resps := []*abci.ResponseApplySnapshotChunk{ + { + Result: abci.ResponseApplySnapshotChunk_ACCEPT, + NextChunks: [][]byte{chunks[1].ID}, + }, + { + Result: abci.ResponseApplySnapshotChunk_ACCEPT, + NextChunks: [][]byte{chunks[2].ID}, + }, + { + Result: abci.ResponseApplySnapshotChunk_ACCEPT, + RefetchChunks: [][]byte{chunks[0].ID}, + }, + { + Result: abci.ResponseApplySnapshotChunk_ACCEPT, + NextChunks: [][]byte{chunks[3].ID}, + }, + {Result: abci.ResponseApplySnapshotChunk_COMPLETE_SNAPSHOT}, + } + applySnapshotChunks := []struct { + req *abci.RequestApplySnapshotChunk + resp *abci.ResponseApplySnapshotChunk + }{ + {req: reqs[0], resp: resps[0]}, + {req: reqs[1], resp: resps[1]}, + {req: reqs[2], resp: resps[2]}, + {req: reqs[0], resp: resps[3]}, + {req: reqs[3], resp: resps[4]}, + } + for _, asc := range applySnapshotChunks { + suite.conn. + On("ApplySnapshotChunk", mock.Anything, asc.req). + Once(). + Return(asc.resp, nil) + } + suite.conn. + On("Info", mock.Anything, &proxy.RequestInfo). + Once(). + Return(&abci.ResponseInfo{ + AppVersion: testAppVersion, + LastBlockHeight: 1, + LastBlockAppHash: []byte("app_hash"), }, nil) - conn.On("ApplySnapshotChunk", mock.Anything, &abci.RequestApplySnapshotChunk{ - Index: 0, Chunk: []byte{1, 1, 0}, - }).Times(2).Return(&abci.ResponseApplySnapshotChunk{Result: abci.ResponseApplySnapshotChunk_ACCEPT}, nil) - conn.On("ApplySnapshotChunk", mock.Anything, &abci.RequestApplySnapshotChunk{ - Index: 1, Chunk: []byte{1, 1, 1}, - }).Times(2).Return(&abci.ResponseApplySnapshotChunk{Result: abci.ResponseApplySnapshotChunk_ACCEPT}, nil) - conn.On("ApplySnapshotChunk", mock.Anything, &abci.RequestApplySnapshotChunk{ - Index: 2, Chunk: []byte{1, 1, 2}, - }).Once().Return(&abci.ResponseApplySnapshotChunk{Result: abci.ResponseApplySnapshotChunk_ACCEPT}, nil) - conn.On("Info", mock.Anything, &proxy.RequestInfo).Return(&abci.ResponseInfo{ - AppVersion: testAppVersion, - LastBlockHeight: 1, - LastBlockAppHash: []byte("app_hash"), - }, nil) - - newState, lastCommit, err := rts.syncer.SyncAny(ctx, 0, func() error { return nil }) - require.NoError(t, err) - - <-chunkProcessDone - - chunkRequestsMtx.Lock() - require.Equal(t, map[uint32]int{0: 1, 1: 2, 2: 1}, chunkRequests) - chunkRequestsMtx.Unlock() - - expectState := state - require.Equal(t, expectState, newState) - require.Equal(t, commit, lastCommit) + newState, lastCommit, err := suite.syncer.SyncAny(ctx, 0, func() error { return nil }) + suite.Require().NoError(err) - require.Equal(t, len(chunks), int(rts.syncer.processingSnapshot.Chunks)) - require.Equal(t, expectState.LastBlockHeight, rts.syncer.lastSyncedSnapshotHeight) - require.True(t, rts.syncer.avgChunkTime > 0) + suite.Require().Equal([]int{0: 2, 1: 1, 2: 1, 3: 1}, chunkRequests) - require.Equal(t, int64(rts.syncer.processingSnapshot.Chunks), rts.reactor.SnapshotChunksTotal()) - require.Equal(t, rts.syncer.lastSyncedSnapshotHeight, rts.reactor.SnapshotHeight()) - require.Equal(t, time.Duration(rts.syncer.avgChunkTime), rts.reactor.ChunkProcessAvgTime()) - require.Equal(t, int64(len(rts.syncer.snapshots.snapshots)), rts.reactor.TotalSnapshots()) - require.Equal(t, int64(0), rts.reactor.SnapshotChunksCount()) + expectState := state + suite.Require().Equal(expectState, newState) + suite.Require().Equal(commit, lastCommit) - conn.AssertExpectations(t) + suite.Require().Equal(expectState.LastBlockHeight, suite.syncer.lastSyncedSnapshotHeight) + suite.Require().True(suite.syncer.avgChunkTime > 0) } -func TestSyncer_SyncAny_noSnapshots(t *testing.T) { - stateProvider := &mocks.StateProvider{} - stateProvider.On("AppHash", mock.Anything, mock.Anything).Return(tmbytes.HexBytes("app_hash"), nil) - - ctx, cancel := context.WithCancel(context.Background()) +func (suite *SyncerTestSuite) TestSyncAnyNoSnapshots() { + ctx, cancel := context.WithCancel(suite.ctx) defer cancel() - rts := setup(ctx, t, nil, stateProvider, 2) - - _, _, err := rts.syncer.SyncAny(ctx, 0, func() error { return nil }) - require.Equal(t, errNoSnapshots, err) + _, _, err := suite.syncer.SyncAny(ctx, 0, func() error { return nil }) + suite.Require().Equal(errNoSnapshots, err) } -func TestSyncer_SyncAny_abort(t *testing.T) { - stateProvider := &mocks.StateProvider{} - stateProvider.On("AppHash", mock.Anything, mock.Anything).Return(tmbytes.HexBytes("app_hash"), nil) - - ctx, cancel := context.WithCancel(context.Background()) +func (suite *SyncerTestSuite) TestSyncAnyAbort() { + ctx, cancel := context.WithCancel(suite.ctx) defer cancel() - rts := setup(ctx, t, nil, stateProvider, 2) + suite.stateProvider. + On("AppHash", mock.Anything, mock.Anything). + Maybe(). + Return(tmbytes.HexBytes("app_hash"), nil) - s := &snapshot{Height: 1, Format: 1, Chunks: 3, Hash: []byte{1, 2, 3}} + s := &snapshot{Height: 1, Version: 1, Hash: []byte{1, 2, 3}} peerID := types.NodeID("aa") - _, err := rts.syncer.AddSnapshot(peerID, s) - require.NoError(t, err) + _, err := suite.syncer.AddSnapshot(peerID, s) + suite.Require().NoError(err) - rts.conn.On("OfferSnapshot", mock.Anything, &abci.RequestOfferSnapshot{ - Snapshot: toABCI(s), AppHash: []byte("app_hash"), - }).Once().Return(&abci.ResponseOfferSnapshot{Result: abci.ResponseOfferSnapshot_ABORT}, nil) + suite.conn. + On("OfferSnapshot", mock.Anything, &abci.RequestOfferSnapshot{ + Snapshot: toABCI(s), AppHash: []byte("app_hash"), + }). + Once(). + Return(&abci.ResponseOfferSnapshot{Result: abci.ResponseOfferSnapshot_ABORT}, nil) - _, _, err = rts.syncer.SyncAny(ctx, 0, func() error { return nil }) - require.Equal(t, errAbort, err) - rts.conn.AssertExpectations(t) + _, _, err = suite.syncer.SyncAny(ctx, 0, func() error { return nil }) + suite.Require().Equal(errAbort, err) } -func TestSyncer_SyncAny_reject(t *testing.T) { - stateProvider := &mocks.StateProvider{} - stateProvider.On("AppHash", mock.Anything, mock.Anything).Return(tmbytes.HexBytes("app_hash"), nil) - - ctx, cancel := context.WithCancel(context.Background()) +func (suite *SyncerTestSuite) TestSyncAnyReject() { + ctx, cancel := context.WithCancel(suite.ctx) defer cancel() - rts := setup(ctx, t, nil, stateProvider, 2) + suite.stateProvider. + On("AppHash", mock.Anything, mock.Anything). + Maybe(). + Return(tmbytes.HexBytes("app_hash"), nil) // s22 is tried first, then s12, then s11, then errNoSnapshots - s22 := &snapshot{Height: 2, Format: 2, Chunks: 3, Hash: []byte{1, 2, 3}} - s12 := &snapshot{Height: 1, Format: 2, Chunks: 3, Hash: []byte{1, 2, 3}} - s11 := &snapshot{Height: 1, Format: 1, Chunks: 3, Hash: []byte{1, 2, 3}} + s22 := &snapshot{Height: 2, Version: 2, Hash: []byte{1, 2, 3}} + s12 := &snapshot{Height: 1, Version: 2, Hash: []byte{1, 2, 3}} + s11 := &snapshot{Height: 1, Version: 1, Hash: []byte{1, 2, 3}} peerID := types.NodeID("aa") - _, err := rts.syncer.AddSnapshot(peerID, s22) - require.NoError(t, err) - - _, err = rts.syncer.AddSnapshot(peerID, s12) - require.NoError(t, err) - - _, err = rts.syncer.AddSnapshot(peerID, s11) - require.NoError(t, err) - - rts.conn.On("OfferSnapshot", mock.Anything, &abci.RequestOfferSnapshot{ - Snapshot: toABCI(s22), AppHash: []byte("app_hash"), - }).Once().Return(&abci.ResponseOfferSnapshot{Result: abci.ResponseOfferSnapshot_REJECT}, nil) - - rts.conn.On("OfferSnapshot", mock.Anything, &abci.RequestOfferSnapshot{ - Snapshot: toABCI(s12), AppHash: []byte("app_hash"), - }).Once().Return(&abci.ResponseOfferSnapshot{Result: abci.ResponseOfferSnapshot_REJECT}, nil) - - rts.conn.On("OfferSnapshot", mock.Anything, &abci.RequestOfferSnapshot{ - Snapshot: toABCI(s11), AppHash: []byte("app_hash"), - }).Once().Return(&abci.ResponseOfferSnapshot{Result: abci.ResponseOfferSnapshot_REJECT}, nil) - - _, _, err = rts.syncer.SyncAny(ctx, 0, func() error { return nil }) - require.Equal(t, errNoSnapshots, err) - rts.conn.AssertExpectations(t) + _, err := suite.syncer.AddSnapshot(peerID, s22) + suite.Require().NoError(err) + + _, err = suite.syncer.AddSnapshot(peerID, s12) + suite.Require().NoError(err) + + _, err = suite.syncer.AddSnapshot(peerID, s11) + suite.Require().NoError(err) + + suite.conn. + On("OfferSnapshot", mock.Anything, &abci.RequestOfferSnapshot{ + Snapshot: toABCI(s22), AppHash: []byte("app_hash"), + }). + Once(). + Return(&abci.ResponseOfferSnapshot{Result: abci.ResponseOfferSnapshot_REJECT}, nil) + + suite.conn. + On("OfferSnapshot", mock.Anything, &abci.RequestOfferSnapshot{ + Snapshot: toABCI(s12), AppHash: []byte("app_hash"), + }). + Once(). + Return(&abci.ResponseOfferSnapshot{Result: abci.ResponseOfferSnapshot_REJECT}, nil) + + suite.conn. + On("OfferSnapshot", mock.Anything, &abci.RequestOfferSnapshot{ + Snapshot: toABCI(s11), AppHash: []byte("app_hash"), + }). + Once(). + Return(&abci.ResponseOfferSnapshot{Result: abci.ResponseOfferSnapshot_REJECT}, nil) + + _, _, err = suite.syncer.SyncAny(ctx, 0, func() error { return nil }) + suite.Require().Equal(errNoSnapshots, err) } -func TestSyncer_SyncAny_reject_format(t *testing.T) { - stateProvider := &mocks.StateProvider{} - stateProvider.On("AppHash", mock.Anything, mock.Anything).Return(tmbytes.HexBytes("app_hash"), nil) - - ctx, cancel := context.WithCancel(context.Background()) +func (suite *SyncerTestSuite) TestSyncAnyRejectFormat() { + ctx, cancel := context.WithCancel(suite.ctx) defer cancel() - rts := setup(ctx, t, nil, stateProvider, 2) + suite.stateProvider. + On("AppHash", mock.Anything, mock.Anything). + Maybe(). + Return(tmbytes.HexBytes("app_hash"), nil) // s22 is tried first, which reject s22 and s12, then s11 will abort. - s22 := &snapshot{Height: 2, Format: 2, Chunks: 3, Hash: []byte{1, 2, 3}} - s12 := &snapshot{Height: 1, Format: 2, Chunks: 3, Hash: []byte{1, 2, 3}} - s11 := &snapshot{Height: 1, Format: 1, Chunks: 3, Hash: []byte{1, 2, 3}} + s22 := &snapshot{Height: 2, Version: 2, Hash: []byte{1, 2, 3}} + s12 := &snapshot{Height: 1, Version: 2, Hash: []byte{1, 2, 3}} + s11 := &snapshot{Height: 1, Version: 1, Hash: []byte{1, 2, 3}} peerID := types.NodeID("aa") - _, err := rts.syncer.AddSnapshot(peerID, s22) - require.NoError(t, err) + _, err := suite.syncer.AddSnapshot(peerID, s22) + suite.Require().NoError(err) - _, err = rts.syncer.AddSnapshot(peerID, s12) - require.NoError(t, err) + _, err = suite.syncer.AddSnapshot(peerID, s12) + suite.Require().NoError(err) - _, err = rts.syncer.AddSnapshot(peerID, s11) - require.NoError(t, err) + _, err = suite.syncer.AddSnapshot(peerID, s11) + suite.Require().NoError(err) - rts.conn.On("OfferSnapshot", mock.Anything, &abci.RequestOfferSnapshot{ - Snapshot: toABCI(s22), AppHash: []byte("app_hash"), - }).Once().Return(&abci.ResponseOfferSnapshot{Result: abci.ResponseOfferSnapshot_REJECT_FORMAT}, nil) + suite.conn. + On("OfferSnapshot", mock.Anything, &abci.RequestOfferSnapshot{ + Snapshot: toABCI(s22), AppHash: []byte("app_hash"), + }). + Once(). + Return(&abci.ResponseOfferSnapshot{Result: abci.ResponseOfferSnapshot_REJECT_FORMAT}, nil) - rts.conn.On("OfferSnapshot", mock.Anything, &abci.RequestOfferSnapshot{ - Snapshot: toABCI(s11), AppHash: []byte("app_hash"), - }).Once().Return(&abci.ResponseOfferSnapshot{Result: abci.ResponseOfferSnapshot_ABORT}, nil) + suite.conn. + On("OfferSnapshot", mock.Anything, &abci.RequestOfferSnapshot{ + Snapshot: toABCI(s11), AppHash: []byte("app_hash"), + }). + Once(). + Return(&abci.ResponseOfferSnapshot{Result: abci.ResponseOfferSnapshot_ABORT}, nil) - _, _, err = rts.syncer.SyncAny(ctx, 0, func() error { return nil }) - require.Equal(t, errAbort, err) - rts.conn.AssertExpectations(t) + _, _, err = suite.syncer.SyncAny(ctx, 0, func() error { return nil }) + suite.Require().Equal(errAbort, err) } -func TestSyncer_SyncAny_reject_sender(t *testing.T) { - stateProvider := &mocks.StateProvider{} - stateProvider.On("AppHash", mock.Anything, mock.Anything).Return(tmbytes.HexBytes("app_hash"), nil) - - ctx, cancel := context.WithCancel(context.Background()) +func (suite *SyncerTestSuite) TestSyncAnyRejectSender() { + ctx, cancel := context.WithCancel(suite.ctx) defer cancel() - rts := setup(ctx, t, nil, stateProvider, 2) + suite.stateProvider. + On("AppHash", mock.Anything, mock.Anything). + Maybe(). + Return(tmbytes.HexBytes("app_hash"), nil) peerAID := types.NodeID("aa") peerBID := types.NodeID("bb") @@ -362,70 +419,77 @@ func TestSyncer_SyncAny_reject_sender(t *testing.T) { // sbc will be offered first, which will be rejected with reject_sender, causing all snapshots // submitted by both b and c (i.e. sb, sc, sbc) to be rejected. Finally, sa will reject and // errNoSnapshots is returned. - sa := &snapshot{Height: 1, Format: 1, Chunks: 3, Hash: []byte{1, 2, 3}} - sb := &snapshot{Height: 2, Format: 1, Chunks: 3, Hash: []byte{1, 2, 3}} - sc := &snapshot{Height: 3, Format: 1, Chunks: 3, Hash: []byte{1, 2, 3}} - sbc := &snapshot{Height: 4, Format: 1, Chunks: 3, Hash: []byte{1, 2, 3}} - - _, err := rts.syncer.AddSnapshot(peerAID, sa) - require.NoError(t, err) - - _, err = rts.syncer.AddSnapshot(peerBID, sb) - require.NoError(t, err) - - _, err = rts.syncer.AddSnapshot(peerCID, sc) - require.NoError(t, err) - - _, err = rts.syncer.AddSnapshot(peerBID, sbc) - require.NoError(t, err) - - _, err = rts.syncer.AddSnapshot(peerCID, sbc) - require.NoError(t, err) - - rts.conn.On("OfferSnapshot", mock.Anything, &abci.RequestOfferSnapshot{ - Snapshot: toABCI(sbc), AppHash: []byte("app_hash"), - }).Once().Return(&abci.ResponseOfferSnapshot{Result: abci.ResponseOfferSnapshot_REJECT_SENDER}, nil) - - rts.conn.On("OfferSnapshot", mock.Anything, &abci.RequestOfferSnapshot{ - Snapshot: toABCI(sa), AppHash: []byte("app_hash"), - }).Once().Return(&abci.ResponseOfferSnapshot{Result: abci.ResponseOfferSnapshot_REJECT}, nil) + sa := &snapshot{Height: 1, Version: 1, Hash: []byte{1, 2, 3}} + sb := &snapshot{Height: 2, Version: 1, Hash: []byte{1, 2, 3}} + sc := &snapshot{Height: 3, Version: 1, Hash: []byte{1, 2, 3}} + sbc := &snapshot{Height: 4, Version: 1, Hash: []byte{1, 2, 3}} + + snapshots := []struct { + peerID types.NodeID + snapshot *snapshot + }{ + {peerAID, sa}, + {peerBID, sb}, + {peerCID, sc}, + {peerBID, sbc}, + {peerCID, sbc}, + } + for _, s := range snapshots { + _, err := suite.syncer.AddSnapshot(s.peerID, s.snapshot) + suite.Require().NoError(err) + } - _, _, err = rts.syncer.SyncAny(ctx, 0, func() error { return nil }) - require.Equal(t, errNoSnapshots, err) - rts.conn.AssertExpectations(t) + suite.conn. + On("OfferSnapshot", mock.Anything, &abci.RequestOfferSnapshot{ + Snapshot: toABCI(sbc), AppHash: []byte("app_hash"), + }). + Once(). + Return(&abci.ResponseOfferSnapshot{Result: abci.ResponseOfferSnapshot_REJECT_SENDER}, nil) + + suite.conn. + On("OfferSnapshot", mock.Anything, &abci.RequestOfferSnapshot{ + Snapshot: toABCI(sa), AppHash: []byte("app_hash"), + }). + Once(). + Return(&abci.ResponseOfferSnapshot{Result: abci.ResponseOfferSnapshot_REJECT}, nil) + + _, _, err := suite.syncer.SyncAny(ctx, 0, func() error { return nil }) + suite.Require().Equal(errNoSnapshots, err) } -func TestSyncer_SyncAny_abciError(t *testing.T) { - stateProvider := &mocks.StateProvider{} - stateProvider.On("AppHash", mock.Anything, mock.Anything).Return(tmbytes.HexBytes("app_hash"), nil) - - ctx, cancel := context.WithCancel(context.Background()) +func (suite *SyncerTestSuite) TestSyncAnyAbciError() { + ctx, cancel := context.WithCancel(suite.ctx) defer cancel() - rts := setup(ctx, t, nil, stateProvider, 2) + suite.stateProvider. + On("AppHash", mock.Anything, mock.Anything). + Maybe(). + Return(tmbytes.HexBytes("app_hash"), nil) errBoom := errors.New("boom") - s := &snapshot{Height: 1, Format: 1, Chunks: 3, Hash: []byte{1, 2, 3}} + s := &snapshot{Height: 1, Version: 1, Hash: []byte{1, 2, 3}} peerID := types.NodeID("aa") - _, err := rts.syncer.AddSnapshot(peerID, s) - require.NoError(t, err) + _, err := suite.syncer.AddSnapshot(peerID, s) + suite.Require().NoError(err) - rts.conn.On("OfferSnapshot", mock.Anything, &abci.RequestOfferSnapshot{ - Snapshot: toABCI(s), AppHash: []byte("app_hash"), - }).Once().Return(nil, errBoom) + suite.conn. + On("OfferSnapshot", mock.Anything, &abci.RequestOfferSnapshot{ + Snapshot: toABCI(s), AppHash: []byte("app_hash"), + }). + Once(). + Return(nil, errBoom) - _, _, err = rts.syncer.SyncAny(ctx, 0, func() error { return nil }) - require.True(t, errors.Is(err, errBoom)) - rts.conn.AssertExpectations(t) + _, _, err = suite.syncer.SyncAny(ctx, 0, func() error { return nil }) + suite.Require().True(errors.Is(err, errBoom)) } -func TestSyncer_offerSnapshot(t *testing.T) { +func (suite *SyncerTestSuite) TestOfferSnapshot() { unknownErr := errors.New("unknown error") boom := errors.New("boom") - testcases := map[string]struct { + testCases := map[string]struct { result abci.ResponseOfferSnapshot_Result err error expectErr error @@ -440,300 +504,373 @@ func TestSyncer_offerSnapshot(t *testing.T) { "unknown non-zero": {9, nil, unknownErr}, } - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - - for name, tc := range testcases { - tc := tc - t.Run(name, func(t *testing.T) { - ctx, cancel := context.WithCancel(ctx) + for name, tc := range testCases { + suite.Run(name, func() { + suite.SetupTest() // reset + ctx, cancel := context.WithCancel(suite.ctx) defer cancel() - stateProvider := &mocks.StateProvider{} - stateProvider.On("AppHash", mock.Anything, mock.Anything).Return(tmbytes.HexBytes("app_hash"), nil) + s := &snapshot{Height: 1, Version: 1, Hash: []byte{1, 2, 3}, trustedAppHash: []byte("app_hash")} + suite.conn. + On("OfferSnapshot", mock.Anything, &abci.RequestOfferSnapshot{ + Snapshot: toABCI(s), + AppHash: []byte("app_hash"), + }). + Return(&abci.ResponseOfferSnapshot{Result: tc.result}, tc.err) - rts := setup(ctx, t, nil, stateProvider, 2) - - s := &snapshot{Height: 1, Format: 1, Chunks: 3, Hash: []byte{1, 2, 3}, trustedAppHash: []byte("app_hash")} - rts.conn.On("OfferSnapshot", mock.Anything, &abci.RequestOfferSnapshot{ - Snapshot: toABCI(s), - AppHash: []byte("app_hash"), - }).Return(&abci.ResponseOfferSnapshot{Result: tc.result}, tc.err) - - err := rts.syncer.offerSnapshot(ctx, s) + err := suite.syncer.offerSnapshot(ctx, s) if tc.expectErr == unknownErr { - require.Error(t, err) + suite.Require().Error(err) } else { unwrapped := errors.Unwrap(err) if unwrapped != nil { err = unwrapped } - require.Equal(t, tc.expectErr, err) + suite.Require().Equal(tc.expectErr, err) } }) } } -func TestSyncer_applyChunks_Results(t *testing.T) { +func (suite *SyncerTestSuite) TestApplyChunksResults() { unknownErr := errors.New("unknown error") boom := errors.New("boom") - testcases := map[string]struct { - result abci.ResponseApplySnapshotChunk_Result + suite.stateProvider. + On("AppHash", mock.Anything, mock.Anything). + Maybe(). + Return(tmbytes.HexBytes("app_hash"), nil) + + testCases := map[string]struct { + resps []*abci.ResponseApplySnapshotChunk err error expectErr error }{ - "accept": {abci.ResponseApplySnapshotChunk_ACCEPT, nil, nil}, - "abort": {abci.ResponseApplySnapshotChunk_ABORT, nil, errAbort}, - "retry": {abci.ResponseApplySnapshotChunk_RETRY, nil, nil}, - "retry_snapshot": {abci.ResponseApplySnapshotChunk_RETRY_SNAPSHOT, nil, errRetrySnapshot}, - "reject_snapshot": {abci.ResponseApplySnapshotChunk_REJECT_SNAPSHOT, nil, errRejectSnapshot}, - "unknown": {abci.ResponseApplySnapshotChunk_UNKNOWN, nil, unknownErr}, - "error": {0, boom, boom}, - "unknown non-zero": {9, nil, unknownErr}, + "accept": { + resps: []*abci.ResponseApplySnapshotChunk{ + {Result: abci.ResponseApplySnapshotChunk_ACCEPT, NextChunks: [][]byte{{1}}}, + {Result: abci.ResponseApplySnapshotChunk_COMPLETE_SNAPSHOT}, + }, + }, + "abort": { + resps: []*abci.ResponseApplySnapshotChunk{ + {Result: abci.ResponseApplySnapshotChunk_ABORT}, + }, + err: errAbort, + expectErr: errAbort, + }, + "retry": { + resps: []*abci.ResponseApplySnapshotChunk{ + {Result: abci.ResponseApplySnapshotChunk_RETRY}, + {Result: abci.ResponseApplySnapshotChunk_COMPLETE_SNAPSHOT}, + }, + }, + "retry_snapshot": { + resps: []*abci.ResponseApplySnapshotChunk{ + {Result: abci.ResponseApplySnapshotChunk_RETRY_SNAPSHOT}, + }, + err: errRejectSnapshot, + expectErr: errRejectSnapshot, + }, + "reject_snapshot": { + resps: []*abci.ResponseApplySnapshotChunk{ + {Result: abci.ResponseApplySnapshotChunk_RETRY_SNAPSHOT}, + }, + err: errRejectSnapshot, + expectErr: errRejectSnapshot, + }, + "unknown": { + resps: []*abci.ResponseApplySnapshotChunk{ + {Result: abci.ResponseApplySnapshotChunk_UNKNOWN}, + }, + err: unknownErr, + expectErr: unknownErr, + }, + "error": { + resps: []*abci.ResponseApplySnapshotChunk{ + {Result: abci.ResponseApplySnapshotChunk_ACCEPT}, + }, + err: boom, + expectErr: boom, + }, + "unknown non-zero": { + resps: []*abci.ResponseApplySnapshotChunk{ + {Result: abci.ResponseApplySnapshotChunk_ACCEPT}, + }, + err: unknownErr, + expectErr: unknownErr, + }, } - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - - for name, tc := range testcases { + for name, tc := range testCases { tc := tc - t.Run(name, func(t *testing.T) { - ctx, cancel := context.WithCancel(ctx) + suite.Run(name, func() { + suite.SetupTest() // reset + ctx, cancel := context.WithCancel(suite.ctx) defer cancel() - stateProvider := &mocks.StateProvider{} - stateProvider.On("AppHash", mock.Anything, mock.Anything).Return(tmbytes.HexBytes("app_hash"), nil) - - rts := setup(ctx, t, nil, stateProvider, 2) - + s := &snapshot{Height: 1, Version: 1, Hash: []byte{1, 2, 3}} body := []byte{1, 2, 3} - chunks, err := newChunkQueue(&snapshot{Height: 1, Format: 1, Chunks: 1}, t.TempDir()) - require.NoError(t, err) + chunks, err := newChunkQueue(s, suite.T().TempDir(), 10) + suite.Require().NoError(err) fetchStartTime := time.Now() - _, err = chunks.Add(&chunk{Height: 1, Format: 1, Index: 0, Chunk: body}) - require.NoError(t, err) - - rts.conn.On("ApplySnapshotChunk", mock.Anything, &abci.RequestApplySnapshotChunk{ - Index: 0, Chunk: body, - }).Once().Return(&abci.ResponseApplySnapshotChunk{Result: tc.result}, tc.err) - if tc.result == abci.ResponseApplySnapshotChunk_RETRY { - rts.conn.On("ApplySnapshotChunk", mock.Anything, &abci.RequestApplySnapshotChunk{ - Index: 0, Chunk: body, - }).Once().Return(&abci.ResponseApplySnapshotChunk{ - Result: abci.ResponseApplySnapshotChunk_ACCEPT}, nil) + c := &chunk{Height: 1, Version: 1, ID: []byte{0}, Chunk: body} + chunks.Enqueue(c.ID) + + for _, resp := range tc.resps { + suite.conn. + On("ApplySnapshotChunk", mock.Anything, mock.Anything). + Once(). + Return(resp, tc.err) } + go func() { + for i := 0; i < len(tc.resps); i++ { + for chunks.IsRequestQueueEmpty() { + time.Sleep(5 * time.Millisecond) + } + chunkID, err := chunks.Dequeue() + suite.Require().NoError(err) + added, err := chunks.Add(&chunk{Height: 1, Version: 1, ID: chunkID, Chunk: body}) + suite.Require().NoError(err) + suite.Require().True(added) + } + }() - err = rts.syncer.applyChunks(ctx, chunks, fetchStartTime) + err = suite.syncer.applyChunks(ctx, chunks, fetchStartTime) if tc.expectErr == unknownErr { - require.Error(t, err) + suite.Require().Error(err) } else { unwrapped := errors.Unwrap(err) if unwrapped != nil { err = unwrapped } - require.Equal(t, tc.expectErr, err) + suite.Require().Equal(tc.expectErr, err) } - - rts.conn.AssertExpectations(t) }) } } -func TestSyncer_applyChunks_RefetchChunks(t *testing.T) { +func (suite *SyncerTestSuite) TestApplyChunksRefetchChunks() { + suite.stateProvider. + On("AppHash", mock.Anything, mock.Anything). + Maybe(). + Return(tmbytes.HexBytes("app_hash"), nil) + // Discarding chunks via refetch_chunks should work the same for all results - testcases := map[string]struct { - result abci.ResponseApplySnapshotChunk_Result + testCases := map[string]struct { + resp []*abci.ResponseApplySnapshotChunk }{ - "accept": {abci.ResponseApplySnapshotChunk_ACCEPT}, - "abort": {abci.ResponseApplySnapshotChunk_ABORT}, - "retry": {abci.ResponseApplySnapshotChunk_RETRY}, - "retry_snapshot": {abci.ResponseApplySnapshotChunk_RETRY_SNAPSHOT}, - "reject_snapshot": {abci.ResponseApplySnapshotChunk_REJECT_SNAPSHOT}, + "accept": { + resp: []*abci.ResponseApplySnapshotChunk{ + {Result: abci.ResponseApplySnapshotChunk_ACCEPT, NextChunks: [][]byte{{1}}}, + { + Result: abci.ResponseApplySnapshotChunk_ACCEPT, + NextChunks: [][]byte{{2}}, + RefetchChunks: [][]byte{{1}}, + }, + {Result: abci.ResponseApplySnapshotChunk_ACCEPT}, + {Result: abci.ResponseApplySnapshotChunk_COMPLETE_SNAPSHOT}, + }, + }, + // TODO: disabled because refetch works the same for all results + //"abort": {abci.ResponseApplySnapshotChunk_ABORT}, + //"retry": {abci.ResponseApplySnapshotChunk_RETRY}, + //"retry_snapshot": {abci.ResponseApplySnapshotChunk_RETRY_SNAPSHOT}, + //"reject_snapshot": {abci.ResponseApplySnapshotChunk_REJECT_SNAPSHOT}, } - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - - for name, tc := range testcases { - tc := tc - t.Run(name, func(t *testing.T) { - ctx, cancel := context.WithCancel(ctx) - defer cancel() - - stateProvider := &mocks.StateProvider{} - stateProvider.On("AppHash", mock.Anything, mock.Anything).Return(tmbytes.HexBytes("app_hash"), nil) - - rts := setup(ctx, t, nil, stateProvider, 2) - chunks, err := newChunkQueue(&snapshot{Height: 1, Format: 1, Chunks: 3}, t.TempDir()) - require.NoError(t, err) + chunks := []*chunk{ + {Height: 1, Version: 1, ID: []byte{0}, Chunk: []byte{0}}, + {Height: 1, Version: 1, ID: []byte{1}, Chunk: []byte{1}}, + {Height: 1, Version: 1, ID: []byte{2}, Chunk: []byte{2}}, + } + ctx, cancel := context.WithCancel(suite.ctx) + defer cancel() + for name, tc := range testCases { + suite.Run(name, func() { + s := &snapshot{Height: 1, Version: 1, Hash: []byte{1, 2, 3}} + queue, err := newChunkQueue(s, suite.T().TempDir(), 1) + suite.Require().NoError(err) + queue.Enqueue(chunks[0].ID) fetchStartTime := time.Now() - - added, err := chunks.Add(&chunk{Height: 1, Format: 1, Index: 0, Chunk: []byte{0}}) - require.True(t, added) - require.NoError(t, err) - added, err = chunks.Add(&chunk{Height: 1, Format: 1, Index: 1, Chunk: []byte{1}}) - require.True(t, added) - require.NoError(t, err) - added, err = chunks.Add(&chunk{Height: 1, Format: 1, Index: 2, Chunk: []byte{2}}) - require.True(t, added) - require.NoError(t, err) - - // The first two chunks are accepted, before the last one asks for 1 to be refetched - rts.conn.On("ApplySnapshotChunk", mock.Anything, &abci.RequestApplySnapshotChunk{ - Index: 0, Chunk: []byte{0}, - }).Once().Return(&abci.ResponseApplySnapshotChunk{Result: abci.ResponseApplySnapshotChunk_ACCEPT}, nil) - rts.conn.On("ApplySnapshotChunk", mock.Anything, &abci.RequestApplySnapshotChunk{ - Index: 1, Chunk: []byte{1}, - }).Once().Return(&abci.ResponseApplySnapshotChunk{Result: abci.ResponseApplySnapshotChunk_ACCEPT}, nil) - rts.conn.On("ApplySnapshotChunk", mock.Anything, &abci.RequestApplySnapshotChunk{ - Index: 2, Chunk: []byte{2}, - }).Once().Return(&abci.ResponseApplySnapshotChunk{ - Result: tc.result, - RefetchChunks: []uint32{1}, - }, nil) - - // Since removing the chunk will cause Next() to block, we spawn a goroutine, then - // check the queue contents, and finally close the queue to end the goroutine. - // We don't really care about the result of applyChunks, since it has separate test. + for _, resp := range tc.resp { + suite.conn. + On("ApplySnapshotChunk", mock.Anything, mock.Anything). + Once(). + Return(resp, nil) + } go func() { - rts.syncer.applyChunks(ctx, chunks, fetchStartTime) //nolint:errcheck // purposefully ignore error + for i := 0; i < len(tc.resp); i++ { + for queue.IsRequestQueueEmpty() { + time.Sleep(10 * time.Millisecond) + } + chunkID, err := queue.Dequeue() + suite.Require().NoError(err) + added, err := queue.Add(chunks[int(chunkID[0])]) + suite.Require().NoError(err) + suite.Require().True(added) + } }() - - time.Sleep(50 * time.Millisecond) - require.True(t, chunks.Has(0)) - require.False(t, chunks.Has(1)) - require.True(t, chunks.Has(2)) - - require.NoError(t, chunks.Close()) + _ = suite.syncer.applyChunks(ctx, queue, fetchStartTime) + suite.Require().NoError(queue.Close()) }) } } -func TestSyncer_applyChunks_RejectSenders(t *testing.T) { - // Banning chunks senders via ban_chunk_senders should work the same for all results - testcases := map[string]struct { - result abci.ResponseApplySnapshotChunk_Result - }{ - "accept": {abci.ResponseApplySnapshotChunk_ACCEPT}, - "abort": {abci.ResponseApplySnapshotChunk_ABORT}, - "retry": {abci.ResponseApplySnapshotChunk_RETRY}, - "retry_snapshot": {abci.ResponseApplySnapshotChunk_RETRY_SNAPSHOT}, - "reject_snapshot": {abci.ResponseApplySnapshotChunk_REJECT_SNAPSHOT}, - } - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - - for name, tc := range testcases { - tc := tc - t.Run(name, func(t *testing.T) { - ctx, cancel := context.WithCancel(ctx) - defer cancel() - - stateProvider := &mocks.StateProvider{} - stateProvider.On("AppHash", mock.Anything, mock.Anything).Return(tmbytes.HexBytes("app_hash"), nil) - - rts := setup(ctx, t, nil, stateProvider, 2) - - // Set up three peers across two snapshots, and ask for one of them to be banned. - // It should be banned from all snapshots. - peerAID := types.NodeID("aa") - peerBID := types.NodeID("bb") - peerCID := types.NodeID("cc") - - s1 := &snapshot{Height: 1, Format: 1, Chunks: 3} - s2 := &snapshot{Height: 2, Format: 1, Chunks: 3} +func (suite *SyncerTestSuite) TestApplyChunksRejectSenders() { + suite.stateProvider. + On("AppHash", mock.Anything, mock.Anything). + Maybe(). + Return(tmbytes.HexBytes("app_hash"), nil) - _, err := rts.syncer.AddSnapshot(peerAID, s1) - require.NoError(t, err) + // Set up three peers across two snapshots, and ask for one of them to be banned. + // It should be banned from all snapshots. + peerAID := types.NodeID("aa") + peerBID := types.NodeID("bb") + peerCID := types.NodeID("cc") - _, err = rts.syncer.AddSnapshot(peerAID, s2) - require.NoError(t, err) + chunks := []*chunk{ + {Height: 1, Version: 1, ID: []byte{0}, Chunk: []byte{0}, Sender: peerAID}, + {Height: 1, Version: 1, ID: []byte{1}, Chunk: []byte{1}, Sender: peerBID}, + {Height: 1, Version: 1, ID: []byte{2}, Chunk: []byte{2}, Sender: peerCID}, + } - _, err = rts.syncer.AddSnapshot(peerBID, s1) - require.NoError(t, err) + s1 := &snapshot{Height: 1, Version: 1, Hash: []byte{1, 2, 3}} + s2 := &snapshot{Height: 2, Version: 1, Hash: []byte{1, 2, 3}} - _, err = rts.syncer.AddSnapshot(peerBID, s2) - require.NoError(t, err) + peerSnapshots := []struct { + peerID types.NodeID + snapshot []*snapshot + }{ + {peerID: peerAID, snapshot: []*snapshot{s1, s2}}, + {peerID: peerBID, snapshot: []*snapshot{s1, s2}}, + {peerID: peerCID, snapshot: []*snapshot{s1, s2}}, + } - _, err = rts.syncer.AddSnapshot(peerCID, s1) - require.NoError(t, err) + // Banning chunks senders via ban_chunk_senders should work the same for all results + testCases := map[string]struct { + chunks []*chunk + resps []*abci.ResponseApplySnapshotChunk + }{ + "accept": { + chunks: chunks, + resps: []*abci.ResponseApplySnapshotChunk{ + {Result: abci.ResponseApplySnapshotChunk_ACCEPT, NextChunks: [][]byte{{1}}}, + { + Result: abci.ResponseApplySnapshotChunk_ACCEPT, + NextChunks: [][]byte{{2}}, + RejectSenders: []string{string(peerBID)}, + }, + {Result: abci.ResponseApplySnapshotChunk_COMPLETE_SNAPSHOT}, + }, + }, + "abort": { + chunks: chunks, + resps: []*abci.ResponseApplySnapshotChunk{ + {Result: abci.ResponseApplySnapshotChunk_ACCEPT, NextChunks: [][]byte{{1}}}, + {Result: abci.ResponseApplySnapshotChunk_ACCEPT, NextChunks: [][]byte{{2}}}, + {Result: abci.ResponseApplySnapshotChunk_ABORT, RejectSenders: []string{string(peerBID)}}, + }, + }, + "retry": { + chunks: chunks, + resps: []*abci.ResponseApplySnapshotChunk{ + {Result: abci.ResponseApplySnapshotChunk_ACCEPT, NextChunks: [][]byte{{1}, {2}}}, + {Result: abci.ResponseApplySnapshotChunk_ACCEPT}, + {Result: abci.ResponseApplySnapshotChunk_RETRY, RejectSenders: []string{string(peerBID)}}, + {Result: abci.ResponseApplySnapshotChunk_COMPLETE_SNAPSHOT}, + }, + }, + "retry_snapshot": { + chunks: chunks, + resps: []*abci.ResponseApplySnapshotChunk{ + {Result: abci.ResponseApplySnapshotChunk_ACCEPT, NextChunks: [][]byte{{1}, {2}}}, + {Result: abci.ResponseApplySnapshotChunk_ACCEPT}, + {Result: abci.ResponseApplySnapshotChunk_RETRY_SNAPSHOT, RejectSenders: []string{string(peerBID)}}, + }, + }, + "reject_snapshot": { + chunks: chunks, + resps: []*abci.ResponseApplySnapshotChunk{ + {Result: abci.ResponseApplySnapshotChunk_ACCEPT, NextChunks: [][]byte{{1}, {2}}}, + {Result: abci.ResponseApplySnapshotChunk_ACCEPT}, + {Result: abci.ResponseApplySnapshotChunk_REJECT_SNAPSHOT, RejectSenders: []string{string(peerBID)}}, + }, + }, + } + ctx, cancel := context.WithCancel(suite.ctx) + defer cancel() - _, err = rts.syncer.AddSnapshot(peerCID, s2) - require.NoError(t, err) + for name, tc := range testCases { + tc := tc + suite.Run(name, func() { + for _, peerSnapshot := range peerSnapshots { + for _, s := range peerSnapshot.snapshot { + _, err := suite.syncer.AddSnapshot(peerSnapshot.peerID, s) + suite.Require().NoError(err) + } + } - chunks, err := newChunkQueue(s1, t.TempDir()) - require.NoError(t, err) + queue, err := newChunkQueue(s1, suite.T().TempDir(), 10) + suite.Require().NoError(err) + queue.Enqueue(tc.chunks[0].ID) fetchStartTime := time.Now() - added, err := chunks.Add(&chunk{Height: 1, Format: 1, Index: 0, Chunk: []byte{0}, Sender: peerAID}) - require.True(t, added) - require.NoError(t, err) - - added, err = chunks.Add(&chunk{Height: 1, Format: 1, Index: 1, Chunk: []byte{1}, Sender: peerBID}) - require.True(t, added) - require.NoError(t, err) - - added, err = chunks.Add(&chunk{Height: 1, Format: 1, Index: 2, Chunk: []byte{2}, Sender: peerCID}) - require.True(t, added) - require.NoError(t, err) - - // The first two chunks are accepted, before the last one asks for b sender to be rejected - rts.conn.On("ApplySnapshotChunk", mock.Anything, &abci.RequestApplySnapshotChunk{ - Index: 0, Chunk: []byte{0}, Sender: "aa", - }).Once().Return(&abci.ResponseApplySnapshotChunk{Result: abci.ResponseApplySnapshotChunk_ACCEPT}, nil) - rts.conn.On("ApplySnapshotChunk", mock.Anything, &abci.RequestApplySnapshotChunk{ - Index: 1, Chunk: []byte{1}, Sender: "bb", - }).Once().Return(&abci.ResponseApplySnapshotChunk{Result: abci.ResponseApplySnapshotChunk_ACCEPT}, nil) - rts.conn.On("ApplySnapshotChunk", mock.Anything, &abci.RequestApplySnapshotChunk{ - Index: 2, Chunk: []byte{2}, Sender: "cc", - }).Once().Return(&abci.ResponseApplySnapshotChunk{ - Result: tc.result, - RejectSenders: []string{string(peerBID)}, - }, nil) - - // On retry, the last chunk will be tried again, so we just accept it then. - if tc.result == abci.ResponseApplySnapshotChunk_RETRY { - rts.conn.On("ApplySnapshotChunk", mock.Anything, &abci.RequestApplySnapshotChunk{ - Index: 2, Chunk: []byte{2}, Sender: "cc", - }).Once().Return(&abci.ResponseApplySnapshotChunk{Result: abci.ResponseApplySnapshotChunk_ACCEPT}, nil) + go func() { + for i := 0; i < len(tc.resps); i++ { + for queue.IsRequestQueueEmpty() { + time.Sleep(10 * time.Millisecond) + } + chunkID, err := queue.Dequeue() + suite.Require().NoError(err) + added, err := queue.Add(chunks[int(chunkID[0])]) + suite.Require().True(added) + suite.Require().NoError(err) + } + }() + + for _, resp := range tc.resps { + suite.conn. + On("ApplySnapshotChunk", mock.Anything, mock.Anything). + Once(). + Return(resp, nil) } // We don't really care about the result of applyChunks, since it has separate test. // However, it will block on e.g. retry result, so we spawn a goroutine that will - // be shut down when the chunk queue closes. - go func() { - rts.syncer.applyChunks(ctx, chunks, fetchStartTime) //nolint:errcheck // purposefully ignore error - }() + // be shut down when the chunk requestQueue closes. - time.Sleep(50 * time.Millisecond) + _ = suite.syncer.applyChunks(ctx, queue, fetchStartTime) - s1peers := rts.syncer.snapshots.GetPeers(s1) - require.Len(t, s1peers, 2) - require.EqualValues(t, "aa", s1peers[0]) - require.EqualValues(t, "cc", s1peers[1]) + s1peers := suite.syncer.snapshots.GetPeers(s1) + suite.Require().Len(s1peers, 2) + suite.Require().EqualValues(peerAID, s1peers[0]) + suite.Require().EqualValues(peerCID, s1peers[1]) - rts.syncer.snapshots.GetPeers(s1) - require.Len(t, s1peers, 2) - require.EqualValues(t, "aa", s1peers[0]) - require.EqualValues(t, "cc", s1peers[1]) + suite.syncer.snapshots.GetPeers(s1) + suite.Require().Len(s1peers, 2) + suite.Require().EqualValues(peerAID, s1peers[0]) + suite.Require().EqualValues(peerCID, s1peers[1]) - require.NoError(t, chunks.Close()) + suite.Require().NoError(queue.Close()) }) } } -func TestSyncer_verifyApp(t *testing.T) { +func (suite *SyncerTestSuite) TestSyncerVerifyApp() { + ctx, cancel := context.WithCancel(suite.ctx) + defer cancel() + boom := errors.New("boom") const appVersion = 9 appVersionMismatchErr := errors.New("app version mismatch. Expected: 9, got: 2") - s := &snapshot{Height: 3, Format: 1, Chunks: 5, Hash: []byte{1, 2, 3}, trustedAppHash: []byte("app_hash")} + s := &snapshot{Height: 3, Version: 1, Hash: []byte{1, 2, 3}, trustedAppHash: []byte("app_hash")} - testcases := map[string]struct { + testCases := map[string]struct { response *abci.ResponseInfo err error expectErr error @@ -760,24 +897,19 @@ func TestSyncer_verifyApp(t *testing.T) { }, nil, errVerifyFailed}, "error": {nil, boom, boom}, } - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - for name, tc := range testcases { - tc := tc - t.Run(name, func(t *testing.T) { - ctx, cancel := context.WithCancel(ctx) - defer cancel() - - rts := setup(ctx, t, nil, nil, 2) - - rts.conn.On("Info", mock.Anything, &proxy.RequestInfo).Return(tc.response, tc.err) - err := rts.syncer.verifyApp(ctx, s, appVersion) + for name, tc := range testCases { + suite.Run(name, func() { + suite.conn. + On("Info", mock.Anything, &proxy.RequestInfo). + Once(). + Return(tc.response, tc.err) + err := suite.syncer.verifyApp(ctx, s, appVersion) unwrapped := errors.Unwrap(err) if unwrapped != nil { err = unwrapped } - require.Equal(t, tc.expectErr, err) + suite.Require().Equal(tc.expectErr, err) }) } } @@ -785,9 +917,15 @@ func TestSyncer_verifyApp(t *testing.T) { func toABCI(s *snapshot) *abci.Snapshot { return &abci.Snapshot{ Height: s.Height, - Format: s.Format, - Chunks: s.Chunks, + Version: s.Version, Hash: s.Hash, Metadata: s.Metadata, } } + +func makeChannel(ID p2p.ChannelID, name string) (p2p.Channel, chan p2p.Envelope, chan p2p.Envelope, chan p2p.PeerError) { + inCh := make(chan p2p.Envelope, 1) + outCh := make(chan p2p.Envelope, 1) + errCh := make(chan p2p.PeerError, 1) + return p2p.NewChannel(ID, name, inCh, outCh, errCh), inCh, outCh, errCh +} diff --git a/libs/ds/ordered_map.go b/libs/ds/ordered_map.go new file mode 100644 index 0000000000..a9325a5590 --- /dev/null +++ b/libs/ds/ordered_map.go @@ -0,0 +1,71 @@ +package ds + +// OrderedMap is a map with a deterministic iteration order +// this datastructure is not thread-safe +type OrderedMap[T comparable, V any] struct { + keys map[T]int + values []V +} + +// NewOrderedMap returns a new OrderedMap +func NewOrderedMap[T comparable, V any]() *OrderedMap[T, V] { + return &OrderedMap[T, V]{ + keys: make(map[T]int), + } +} + +// Put adds a key-value pair to the map +func (m *OrderedMap[T, V]) Put(key T, val V) { + i, ok := m.keys[key] + if ok { + m.values[i] = val + return + } + m.keys[key] = len(m.values) + m.values = append(m.values, val) +} + +// Get returns the value for a given key +func (m *OrderedMap[T, V]) Get(key T) (V, bool) { + i, ok := m.keys[key] + if !ok { + var v V + return v, false + } + return m.values[i], true +} + +// Has returns true if the map contains the given key +func (m *OrderedMap[T, V]) Has(key T) bool { + _, ok := m.keys[key] + return ok +} + +// Delete removes a key-value pair from the map +func (m *OrderedMap[T, V]) Delete(key T) { + i, ok := m.keys[key] + if !ok { + return + } + delete(m.keys, key) + m.values = append(m.values[:i], m.values[i+1:]...) +} + +// Values returns all values in the map +func (m *OrderedMap[T, V]) Values() []V { + return append([]V{}, m.values...) +} + +// Keys returns all keys in the map +func (m *OrderedMap[T, V]) Keys() []T { + keys := make([]T, len(m.keys)) + for k, v := range m.keys { + keys[v] = k + } + return keys +} + +// Len returns a number of the map +func (m *OrderedMap[T, V]) Len() int { + return len(m.keys) +} diff --git a/libs/ds/ordered_map_test.go b/libs/ds/ordered_map_test.go new file mode 100644 index 0000000000..15a96f0252 --- /dev/null +++ b/libs/ds/ordered_map_test.go @@ -0,0 +1,42 @@ +package ds + +import ( + "testing" + + "github.com/stretchr/testify/require" +) + +func TestOrderedMap(t *testing.T) { + om := NewOrderedMap[string, int]() + require.Equal(t, 0, om.Len()) + _, ok := om.Get("a") + require.False(t, ok) + require.False(t, om.Has("a")) + om.Put("a", 1) + require.True(t, om.Has("a")) + require.Equal(t, 1, om.Len()) + val, ok := om.Get("a") + require.Equal(t, 1, val) + require.True(t, ok) + require.Equal(t, 1, om.Len()) + om.Put("a", 2) + val, ok = om.Get("a") + require.Equal(t, 2, val) + require.True(t, ok) + require.Equal(t, 1, om.Len()) + om.Put("b", 3) + val, ok = om.Get("b") + require.Equal(t, 3, val) + require.True(t, ok) + require.Equal(t, 2, om.Len()) + + require.Equal(t, []int{2, 3}, om.Values()) + require.Equal(t, []string{"a", "b"}, om.Keys()) + + om.Delete("b") + require.Equal(t, []int{2}, om.Values()) + require.Equal(t, []string{"a"}, om.Keys()) + + // delete unknown key + om.Delete("c") +} diff --git a/proto/tendermint/abci/types.proto b/proto/tendermint/abci/types.proto index 6fffa43032..0c72d7d4c9 100644 --- a/proto/tendermint/abci/types.proto +++ b/proto/tendermint/abci/types.proto @@ -159,9 +159,9 @@ message RequestOfferSnapshot { // Used during state sync to retrieve snapshot chunks from peers. message RequestLoadSnapshotChunk { - uint64 height = 1; // The height of the snapshot the chunks belongs to. - uint32 format = 2; // The application-specific format of the snapshot the chunk belongs to. - uint32 chunk = 3; // The chunk index, starting from 0 for the initial chunk. + uint64 height = 1; // The height of the snapshot the chunks belongs to. + uint32 version = 2; // The application-specific format of the snapshot the chunk belongs to. + bytes chunk_id = 3; // The chunk id is a hash of the node of subtree of the snapshot. } // Applies a snapshot chunk. @@ -177,9 +177,9 @@ message RequestLoadSnapshotChunk { // it will reject the snapshot and try a different one via OfferSnapshot. The application should be prepared to reset // and accept it or abort as appropriate. message RequestApplySnapshotChunk { - uint32 index = 1; // The chunk index, starting from 0. Tenderdash applies chunks sequentially. - bytes chunk = 2; // The binary chunk contents, as returned by LoadSnapshotChunk. - string sender = 3; // The P2P ID of the node who sent this chunk. + bytes chunk_id = 1; // The chunk index, starting from 0. Tenderdash applies chunks sequentially. + bytes chunk = 2; // The binary chunk contents, as returned by LoadSnapshotChunk. + string sender = 3; // The P2P ID of the node who sent this chunk. } // Prepare new block proposal, potentially altering list of transactions. @@ -605,19 +605,22 @@ message ResponseApplySnapshotChunk { Result result = 1; // The result of applying this chunk. // Refetch and reapply the given chunks, regardless of `result`. // Only the listed chunks will be refetched, and reapplied in sequential order. - repeated uint32 refetch_chunks = 2; + repeated bytes refetch_chunks = 2; // Reject the given P2P senders, regardless of `Result`. Any chunks already applied will not be refetched // unless explicitly requested, but queued chunks from these senders will be discarded, and new chunks // or other snapshots rejected. repeated string reject_senders = 3; + // Next chunks provides the list of chunks that should be requested next, if any. + repeated bytes next_chunks = 4; enum Result { - UNKNOWN = 0; // Unknown result, abort all snapshot restoration - ACCEPT = 1; // Chunk successfully accepted - ABORT = 2; // Abort all snapshot restoration - RETRY = 3; // Retry chunk (combine with refetch and reject) - RETRY_SNAPSHOT = 4; // Retry snapshot (combine with refetch and reject) - REJECT_SNAPSHOT = 5; // Reject this snapshot, try others + UNKNOWN = 0; // Unknown result, abort all snapshot restoration + ACCEPT = 1; // Chunk successfully accepted + ABORT = 2; // Abort all snapshot restoration + RETRY = 3; // Retry chunk (combine with refetch and reject) + RETRY_SNAPSHOT = 4; // Retry snapshot (combine with refetch and reject) + REJECT_SNAPSHOT = 5; // Reject this snapshot, try others + COMPLETE_SNAPSHOT = 6; // Complete this snapshot, no more chunks } } @@ -825,8 +828,7 @@ message Misbehavior { message Snapshot { uint64 height = 1; // The height at which the snapshot was taken - uint32 format = 2; // The application-specific snapshot format - uint32 chunks = 3; // Number of chunks in the snapshot + uint32 version = 2; // The application-specific snapshot version bytes hash = 4; // Arbitrary snapshot hash, equal only if identical bytes metadata = 5; // Arbitrary application metadata } diff --git a/proto/tendermint/statesync/types.pb.go b/proto/tendermint/statesync/types.pb.go index 6f52e1dbb1..16e03447ec 100644 --- a/proto/tendermint/statesync/types.pb.go +++ b/proto/tendermint/statesync/types.pb.go @@ -62,10 +62,9 @@ var xxx_messageInfo_SnapshotsRequest proto.InternalMessageInfo type SnapshotsResponse struct { Height uint64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"` - Format uint32 `protobuf:"varint,2,opt,name=format,proto3" json:"format,omitempty"` - Chunks uint32 `protobuf:"varint,3,opt,name=chunks,proto3" json:"chunks,omitempty"` - Hash []byte `protobuf:"bytes,4,opt,name=hash,proto3" json:"hash,omitempty"` - Metadata []byte `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"` + Version uint32 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"` + Hash []byte `protobuf:"bytes,3,opt,name=hash,proto3" json:"hash,omitempty"` + Metadata []byte `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"` } func (m *SnapshotsResponse) Reset() { *m = SnapshotsResponse{} } @@ -108,16 +107,9 @@ func (m *SnapshotsResponse) GetHeight() uint64 { return 0 } -func (m *SnapshotsResponse) GetFormat() uint32 { +func (m *SnapshotsResponse) GetVersion() uint32 { if m != nil { - return m.Format - } - return 0 -} - -func (m *SnapshotsResponse) GetChunks() uint32 { - if m != nil { - return m.Chunks + return m.Version } return 0 } @@ -137,9 +129,9 @@ func (m *SnapshotsResponse) GetMetadata() []byte { } type ChunkRequest struct { - Height uint64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"` - Format uint32 `protobuf:"varint,2,opt,name=format,proto3" json:"format,omitempty"` - Index uint32 `protobuf:"varint,3,opt,name=index,proto3" json:"index,omitempty"` + Height uint64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"` + Version uint32 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"` + ChunkId []byte `protobuf:"bytes,3,opt,name=chunk_id,json=chunkId,proto3" json:"chunk_id,omitempty"` } func (m *ChunkRequest) Reset() { *m = ChunkRequest{} } @@ -182,24 +174,24 @@ func (m *ChunkRequest) GetHeight() uint64 { return 0 } -func (m *ChunkRequest) GetFormat() uint32 { +func (m *ChunkRequest) GetVersion() uint32 { if m != nil { - return m.Format + return m.Version } return 0 } -func (m *ChunkRequest) GetIndex() uint32 { +func (m *ChunkRequest) GetChunkId() []byte { if m != nil { - return m.Index + return m.ChunkId } - return 0 + return nil } type ChunkResponse struct { Height uint64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"` - Format uint32 `protobuf:"varint,2,opt,name=format,proto3" json:"format,omitempty"` - Index uint32 `protobuf:"varint,3,opt,name=index,proto3" json:"index,omitempty"` + Version uint32 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"` + ChunkId []byte `protobuf:"bytes,3,opt,name=chunk_id,json=chunkId,proto3" json:"chunk_id,omitempty"` Chunk []byte `protobuf:"bytes,4,opt,name=chunk,proto3" json:"chunk,omitempty"` Missing bool `protobuf:"varint,5,opt,name=missing,proto3" json:"missing,omitempty"` } @@ -244,18 +236,18 @@ func (m *ChunkResponse) GetHeight() uint64 { return 0 } -func (m *ChunkResponse) GetFormat() uint32 { +func (m *ChunkResponse) GetVersion() uint32 { if m != nil { - return m.Format + return m.Version } return 0 } -func (m *ChunkResponse) GetIndex() uint32 { +func (m *ChunkResponse) GetChunkId() []byte { if m != nil { - return m.Index + return m.ChunkId } - return 0 + return nil } func (m *ChunkResponse) GetChunk() []byte { @@ -470,34 +462,34 @@ func init() { func init() { proto.RegisterFile("tendermint/statesync/types.proto", fileDescriptor_a1c2869546ca7914) } var fileDescriptor_a1c2869546ca7914 = []byte{ - // 420 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x53, 0xcf, 0x8b, 0xd3, 0x40, - 0x14, 0xce, 0x68, 0x76, 0x5d, 0x5e, 0xb7, 0xba, 0x3b, 0x14, 0x09, 0x61, 0x8d, 0x31, 0x17, 0x0b, - 0x42, 0x02, 0xeb, 0x51, 0xbc, 0x6c, 0xaf, 0x1e, 0x24, 0xd5, 0x8b, 0x97, 0x32, 0x4d, 0xc7, 0x24, - 0xd8, 0xcc, 0xc4, 0xcc, 0x04, 0x2c, 0x78, 0xf5, 0xe4, 0xc5, 0x3f, 0xab, 0xc7, 0x1e, 0x3d, 0x89, - 0xb4, 0xff, 0x88, 0xcc, 0x8f, 0xb6, 0xc1, 0x16, 0x8a, 0xde, 0xde, 0xf7, 0xcd, 0xf7, 0xbe, 0x79, - 0x6f, 0xf8, 0x06, 0x42, 0x49, 0xd9, 0x8c, 0x36, 0x55, 0xc9, 0x64, 0x22, 0x24, 0x91, 0x54, 0x2c, - 0x58, 0x96, 0xc8, 0x45, 0x4d, 0x45, 0x5c, 0x37, 0x5c, 0x72, 0x3c, 0xd8, 0x2b, 0xe2, 0x9d, 0xc2, - 0x1f, 0xe4, 0x3c, 0xe7, 0x5a, 0x90, 0xa8, 0xca, 0x68, 0xfd, 0x9b, 0x8e, 0x9b, 0xf6, 0xe8, 0x3a, - 0xf9, 0x4f, 0x0e, 0x4e, 0x6b, 0xd2, 0x90, 0xca, 0x1e, 0x47, 0x18, 0xae, 0xc6, 0x8c, 0xd4, 0xa2, - 0xe0, 0x52, 0xa4, 0xf4, 0x73, 0x4b, 0x85, 0x8c, 0xbe, 0x23, 0xb8, 0xee, 0x90, 0xa2, 0xe6, 0x4c, - 0x50, 0xfc, 0x18, 0xce, 0x0b, 0x5a, 0xe6, 0x85, 0xf4, 0x50, 0x88, 0x86, 0x6e, 0x6a, 0x91, 0xe2, - 0x3f, 0xf2, 0xa6, 0x22, 0xd2, 0xbb, 0x17, 0xa2, 0x61, 0x3f, 0xb5, 0x48, 0xf1, 0x59, 0xd1, 0xb2, - 0x4f, 0xc2, 0xbb, 0x6f, 0x78, 0x83, 0x30, 0x06, 0xb7, 0x20, 0xa2, 0xf0, 0xdc, 0x10, 0x0d, 0x2f, - 0x53, 0x5d, 0x63, 0x1f, 0x2e, 0x2a, 0x2a, 0xc9, 0x8c, 0x48, 0xe2, 0x9d, 0x69, 0x7e, 0x87, 0xa3, - 0x77, 0x70, 0x39, 0x52, 0x9d, 0x76, 0xba, 0x7f, 0x9e, 0x63, 0x00, 0x67, 0x25, 0x9b, 0xd1, 0x2f, - 0x76, 0x0c, 0x03, 0xa2, 0x6f, 0x08, 0xfa, 0xd6, 0xf6, 0x3f, 0xf7, 0x3b, 0xea, 0xab, 0x58, 0xbd, - 0xa7, 0x5d, 0xcf, 0x00, 0xec, 0xc1, 0x83, 0xaa, 0x14, 0xa2, 0x64, 0xb9, 0x5e, 0xef, 0x22, 0xdd, - 0xc2, 0xe8, 0x05, 0x5c, 0xbf, 0x51, 0xd7, 0xdc, 0xcd, 0x79, 0x76, 0x6a, 0xc5, 0x68, 0x0c, 0xb8, - 0x2b, 0xb6, 0x83, 0xbf, 0x86, 0xde, 0x5c, 0xb1, 0x93, 0xa9, 0xa2, 0x75, 0x4b, 0xef, 0xf6, 0x26, - 0xee, 0x24, 0xc8, 0xe4, 0xa1, 0xd3, 0x0a, 0xf3, 0x5d, 0x1d, 0x3d, 0x87, 0xfe, 0x5b, 0x9d, 0x88, - 0x53, 0xb7, 0x7f, 0x85, 0x87, 0x5b, 0xe1, 0x89, 0x27, 0x4b, 0xe1, 0x2a, 0x53, 0x02, 0x26, 0x5a, - 0x31, 0x31, 0x71, 0xd3, 0x8f, 0xd7, 0xbb, 0x7d, 0x76, 0x38, 0xd6, 0x68, 0xab, 0x34, 0xe6, 0x77, - 0xee, 0xf2, 0xd7, 0x53, 0x27, 0x7d, 0x94, 0xfd, 0x45, 0xbf, 0x5f, 0xae, 0x03, 0xb4, 0x5a, 0x07, - 0xe8, 0xf7, 0x3a, 0x40, 0x3f, 0x36, 0x81, 0xb3, 0xda, 0x04, 0xce, 0xcf, 0x4d, 0xe0, 0x7c, 0x78, - 0x95, 0x97, 0xb2, 0x68, 0xa7, 0x71, 0xc6, 0xab, 0xa4, 0x1b, 0xf6, 0x7d, 0x69, 0xbe, 0xcc, 0xb1, - 0x4f, 0x37, 0x3d, 0xd7, 0x67, 0x2f, 0xff, 0x04, 0x00, 0x00, 0xff, 0xff, 0x04, 0xd6, 0xcd, 0xf3, - 0x93, 0x03, 0x00, 0x00, + // 418 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x53, 0xc1, 0xaa, 0xd3, 0x40, + 0x14, 0xcd, 0x68, 0xde, 0x7b, 0xe5, 0xf6, 0x55, 0x5f, 0x87, 0x22, 0x31, 0xd4, 0x18, 0xb3, 0x31, + 0x20, 0x24, 0x50, 0x97, 0xe2, 0xa6, 0x5d, 0x09, 0x2e, 0x24, 0xc5, 0x8d, 0x2e, 0xca, 0x34, 0x19, + 0x92, 0x60, 0x33, 0x13, 0x33, 0x13, 0xa1, 0xe0, 0x27, 0xb8, 0xf0, 0xb3, 0xba, 0xec, 0xd2, 0x95, + 0x48, 0xfb, 0x23, 0x92, 0x49, 0xd2, 0x06, 0xeb, 0xa3, 0xd0, 0xdd, 0x3d, 0x67, 0xce, 0x9c, 0x7b, + 0xef, 0x70, 0x06, 0x6c, 0x49, 0x59, 0x44, 0x8b, 0x2c, 0x65, 0xd2, 0x17, 0x92, 0x48, 0x2a, 0xd6, + 0x2c, 0xf4, 0xe5, 0x3a, 0xa7, 0xc2, 0xcb, 0x0b, 0x2e, 0x39, 0x1e, 0x1d, 0x15, 0xde, 0x41, 0x61, + 0x8e, 0x62, 0x1e, 0x73, 0x25, 0xf0, 0xab, 0xaa, 0xd6, 0x9a, 0xe3, 0x8e, 0x9b, 0xf2, 0xe8, 0x3a, + 0x99, 0xcf, 0x4e, 0x4e, 0x73, 0x52, 0x90, 0xac, 0x39, 0x76, 0x30, 0xdc, 0xcd, 0x19, 0xc9, 0x45, + 0xc2, 0xa5, 0x08, 0xe8, 0xd7, 0x92, 0x0a, 0xe9, 0x94, 0x30, 0xec, 0x70, 0x22, 0xe7, 0x4c, 0x50, + 0xfc, 0x04, 0xae, 0x13, 0x9a, 0xc6, 0x89, 0x34, 0x90, 0x8d, 0x5c, 0x3d, 0x68, 0x10, 0x36, 0xe0, + 0xe6, 0x1b, 0x2d, 0x44, 0xca, 0x99, 0xf1, 0xc0, 0x46, 0xee, 0x20, 0x68, 0x21, 0xc6, 0xa0, 0x27, + 0x44, 0x24, 0xc6, 0x43, 0x1b, 0xb9, 0xb7, 0x81, 0xaa, 0xb1, 0x09, 0xbd, 0x8c, 0x4a, 0x12, 0x11, + 0x49, 0x0c, 0x5d, 0xf1, 0x07, 0xec, 0x7c, 0x86, 0xdb, 0x59, 0x52, 0xb2, 0x2f, 0xcd, 0x18, 0x17, + 0x74, 0x7c, 0x0a, 0xbd, 0xb0, 0x72, 0x58, 0xa4, 0x51, 0xd3, 0xf5, 0x46, 0xe1, 0x77, 0x91, 0xf3, + 0x03, 0xc1, 0xa0, 0x71, 0xbf, 0x78, 0xa1, 0xfb, 0xed, 0xf1, 0x08, 0xae, 0x54, 0xd9, 0x2c, 0x55, + 0x83, 0xca, 0x2a, 0x4b, 0x85, 0x48, 0x59, 0x6c, 0x5c, 0xd9, 0xc8, 0xed, 0x05, 0x2d, 0x74, 0x5e, + 0xc1, 0xf0, 0x7d, 0xd5, 0x6d, 0xba, 0xe2, 0xe1, 0xb9, 0x85, 0x9d, 0x39, 0xe0, 0xae, 0xb8, 0x99, + 0xff, 0x2d, 0xf4, 0x57, 0x15, 0xbb, 0x58, 0x56, 0xb4, 0xba, 0xd2, 0x9f, 0x8c, 0xbd, 0x4e, 0x70, + 0xea, 0x18, 0x74, 0xae, 0xc2, 0xea, 0x50, 0x3b, 0x2f, 0x61, 0xf0, 0x41, 0x05, 0xe1, 0x5c, 0xf7, + 0xef, 0xf0, 0xa8, 0x15, 0x9e, 0x79, 0xb9, 0x00, 0xee, 0xc2, 0x4a, 0xc0, 0x44, 0x29, 0x16, 0x75, + 0xca, 0xd4, 0x13, 0xf6, 0x27, 0x2f, 0x4e, 0xc7, 0x9a, 0xb5, 0xca, 0xda, 0x7c, 0xaa, 0x6f, 0x7e, + 0x3f, 0xd7, 0x82, 0xc7, 0xe1, 0x3f, 0xf4, 0xc7, 0xcd, 0xce, 0x42, 0xdb, 0x9d, 0x85, 0xfe, 0xec, + 0x2c, 0xf4, 0x73, 0x6f, 0x69, 0xdb, 0xbd, 0xa5, 0xfd, 0xda, 0x5b, 0xda, 0xa7, 0x37, 0x71, 0x2a, + 0x93, 0x72, 0xe9, 0x85, 0x3c, 0xf3, 0xbb, 0x19, 0x3f, 0x96, 0xf5, 0x4f, 0xf9, 0xdf, 0x5f, 0x5b, + 0x5e, 0xab, 0xb3, 0xd7, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0xc2, 0xc9, 0x7f, 0x18, 0x8a, 0x03, + 0x00, 0x00, } func (m *SnapshotsRequest) Marshal() (dAtA []byte, err error) { @@ -548,22 +540,17 @@ func (m *SnapshotsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { copy(dAtA[i:], m.Metadata) i = encodeVarintTypes(dAtA, i, uint64(len(m.Metadata))) i-- - dAtA[i] = 0x2a + dAtA[i] = 0x22 } if len(m.Hash) > 0 { i -= len(m.Hash) copy(dAtA[i:], m.Hash) i = encodeVarintTypes(dAtA, i, uint64(len(m.Hash))) i-- - dAtA[i] = 0x22 + dAtA[i] = 0x1a } - if m.Chunks != 0 { - i = encodeVarintTypes(dAtA, i, uint64(m.Chunks)) - i-- - dAtA[i] = 0x18 - } - if m.Format != 0 { - i = encodeVarintTypes(dAtA, i, uint64(m.Format)) + if m.Version != 0 { + i = encodeVarintTypes(dAtA, i, uint64(m.Version)) i-- dAtA[i] = 0x10 } @@ -595,13 +582,15 @@ func (m *ChunkRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - if m.Index != 0 { - i = encodeVarintTypes(dAtA, i, uint64(m.Index)) + if len(m.ChunkId) > 0 { + i -= len(m.ChunkId) + copy(dAtA[i:], m.ChunkId) + i = encodeVarintTypes(dAtA, i, uint64(len(m.ChunkId))) i-- - dAtA[i] = 0x18 + dAtA[i] = 0x1a } - if m.Format != 0 { - i = encodeVarintTypes(dAtA, i, uint64(m.Format)) + if m.Version != 0 { + i = encodeVarintTypes(dAtA, i, uint64(m.Version)) i-- dAtA[i] = 0x10 } @@ -650,13 +639,15 @@ func (m *ChunkResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x22 } - if m.Index != 0 { - i = encodeVarintTypes(dAtA, i, uint64(m.Index)) + if len(m.ChunkId) > 0 { + i -= len(m.ChunkId) + copy(dAtA[i:], m.ChunkId) + i = encodeVarintTypes(dAtA, i, uint64(len(m.ChunkId))) i-- - dAtA[i] = 0x18 + dAtA[i] = 0x1a } - if m.Format != 0 { - i = encodeVarintTypes(dAtA, i, uint64(m.Format)) + if m.Version != 0 { + i = encodeVarintTypes(dAtA, i, uint64(m.Version)) i-- dAtA[i] = 0x10 } @@ -826,11 +817,8 @@ func (m *SnapshotsResponse) Size() (n int) { if m.Height != 0 { n += 1 + sovTypes(uint64(m.Height)) } - if m.Format != 0 { - n += 1 + sovTypes(uint64(m.Format)) - } - if m.Chunks != 0 { - n += 1 + sovTypes(uint64(m.Chunks)) + if m.Version != 0 { + n += 1 + sovTypes(uint64(m.Version)) } l = len(m.Hash) if l > 0 { @@ -852,11 +840,12 @@ func (m *ChunkRequest) Size() (n int) { if m.Height != 0 { n += 1 + sovTypes(uint64(m.Height)) } - if m.Format != 0 { - n += 1 + sovTypes(uint64(m.Format)) + if m.Version != 0 { + n += 1 + sovTypes(uint64(m.Version)) } - if m.Index != 0 { - n += 1 + sovTypes(uint64(m.Index)) + l = len(m.ChunkId) + if l > 0 { + n += 1 + l + sovTypes(uint64(l)) } return n } @@ -870,11 +859,12 @@ func (m *ChunkResponse) Size() (n int) { if m.Height != 0 { n += 1 + sovTypes(uint64(m.Height)) } - if m.Format != 0 { - n += 1 + sovTypes(uint64(m.Format)) + if m.Version != 0 { + n += 1 + sovTypes(uint64(m.Version)) } - if m.Index != 0 { - n += 1 + sovTypes(uint64(m.Index)) + l = len(m.ChunkId) + if l > 0 { + n += 1 + l + sovTypes(uint64(l)) } l = len(m.Chunk) if l > 0 { @@ -1043,9 +1033,9 @@ func (m *SnapshotsResponse) Unmarshal(dAtA []byte) error { } case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Format", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType) } - m.Format = 0 + m.Version = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTypes @@ -1055,31 +1045,12 @@ func (m *SnapshotsResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Format |= uint32(b&0x7F) << shift + m.Version |= uint32(b&0x7F) << shift if b < 0x80 { break } } case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Chunks", wireType) - } - m.Chunks = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Chunks |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 4: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Hash", wireType) } @@ -1113,7 +1084,7 @@ func (m *SnapshotsResponse) Unmarshal(dAtA []byte) error { m.Hash = []byte{} } iNdEx = postIndex - case 5: + case 4: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) } @@ -1218,9 +1189,9 @@ func (m *ChunkRequest) Unmarshal(dAtA []byte) error { } case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Format", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType) } - m.Format = 0 + m.Version = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTypes @@ -1230,16 +1201,16 @@ func (m *ChunkRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Format |= uint32(b&0x7F) << shift + m.Version |= uint32(b&0x7F) << shift if b < 0x80 { break } } case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Index", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ChunkId", wireType) } - m.Index = 0 + var byteLen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTypes @@ -1249,11 +1220,26 @@ func (m *ChunkRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Index |= uint32(b&0x7F) << shift + byteLen |= int(b&0x7F) << shift if b < 0x80 { break } } + if byteLen < 0 { + return ErrInvalidLengthTypes + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ChunkId = append(m.ChunkId[:0], dAtA[iNdEx:postIndex]...) + if m.ChunkId == nil { + m.ChunkId = []byte{} + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTypes(dAtA[iNdEx:]) @@ -1325,9 +1311,9 @@ func (m *ChunkResponse) Unmarshal(dAtA []byte) error { } case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Format", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType) } - m.Format = 0 + m.Version = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTypes @@ -1337,16 +1323,16 @@ func (m *ChunkResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Format |= uint32(b&0x7F) << shift + m.Version |= uint32(b&0x7F) << shift if b < 0x80 { break } } case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Index", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ChunkId", wireType) } - m.Index = 0 + var byteLen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTypes @@ -1356,11 +1342,26 @@ func (m *ChunkResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Index |= uint32(b&0x7F) << shift + byteLen |= int(b&0x7F) << shift if b < 0x80 { break } } + if byteLen < 0 { + return ErrInvalidLengthTypes + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ChunkId = append(m.ChunkId[:0], dAtA[iNdEx:postIndex]...) + if m.ChunkId == nil { + m.ChunkId = []byte{} + } + iNdEx = postIndex case 4: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Chunk", wireType) diff --git a/proto/tendermint/statesync/types.proto b/proto/tendermint/statesync/types.proto index 8b8bf1ccbf..764595cc2a 100644 --- a/proto/tendermint/statesync/types.proto +++ b/proto/tendermint/statesync/types.proto @@ -11,24 +11,23 @@ message SnapshotsRequest {} message SnapshotsResponse { uint64 height = 1; - uint32 format = 2; - uint32 chunks = 3; - bytes hash = 4; - bytes metadata = 5; + uint32 version = 2; + bytes hash = 3; + bytes metadata = 4; } message ChunkRequest { - uint64 height = 1; - uint32 format = 2; - uint32 index = 3; + uint64 height = 1; + uint32 version = 2; + bytes chunk_id = 3; } message ChunkResponse { - uint64 height = 1; - uint32 format = 2; - uint32 index = 3; - bytes chunk = 4; - bool missing = 5; + uint64 height = 1; + uint32 version = 2; + bytes chunk_id = 3; + bytes chunk = 4; + bool missing = 5; } message LightBlockRequest { diff --git a/rpc/client/mock/status_test.go b/rpc/client/mock/status_test.go index fb70ca9d93..9f250c53d4 100644 --- a/rpc/client/mock/status_test.go +++ b/rpc/client/mock/status_test.go @@ -31,7 +31,6 @@ func TestStatus(t *testing.T) { ChunkProcessAvgTime: time.Duration(10), SnapshotHeight: 10, SnapshotChunksCount: 9, - SnapshotChunksTotal: 10, BackFilledBlocks: 9, BackFillBlocksTotal: 10, }, @@ -69,7 +68,6 @@ func TestStatus(t *testing.T) { assert.EqualValues(t, time.Duration(10), st.SyncInfo.ChunkProcessAvgTime) assert.EqualValues(t, 10, st.SyncInfo.SnapshotHeight) assert.EqualValues(t, 9, status.SyncInfo.SnapshotChunksCount) - assert.EqualValues(t, 10, status.SyncInfo.SnapshotChunksTotal) assert.EqualValues(t, 9, status.SyncInfo.BackFilledBlocks) assert.EqualValues(t, 10, status.SyncInfo.BackFillBlocksTotal) } diff --git a/rpc/coretypes/responses.go b/rpc/coretypes/responses.go index 565394362d..04652b3c65 100644 --- a/rpc/coretypes/responses.go +++ b/rpc/coretypes/responses.go @@ -111,7 +111,6 @@ type SyncInfo struct { ChunkProcessAvgTime time.Duration `json:"chunk_process_avg_time,string"` SnapshotHeight int64 `json:"snapshot_height,string"` SnapshotChunksCount int64 `json:"snapshot_chunks_count,string"` - SnapshotChunksTotal int64 `json:"snapshot_chunks_total,string"` BackFilledBlocks int64 `json:"backfilled_blocks,string"` BackFillBlocksTotal int64 `json:"backfill_blocks_total,string"` } diff --git a/spec/abci++/api.md b/spec/abci++/api.md index 43a1d3e13e..eebd8feef0 100644 --- a/spec/abci++/api.md +++ b/spec/abci++/api.md @@ -267,7 +267,7 @@ Applies a snapshot chunk. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| index | [uint32](#uint32) | | The chunk index, starting from 0. Tenderdash applies chunks sequentially. | +| chunk_id | [bytes](#bytes) | | The chunk index, starting from 0. Tenderdash applies chunks sequentially. | | chunk | [bytes](#bytes) | | The binary chunk contents, as returned by LoadSnapshotChunk. | | sender | [string](#string) | | The P2P ID of the node who sent this chunk. | @@ -499,8 +499,8 @@ Used during state sync to retrieve snapshot chunks from peers. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | height | [uint64](#uint64) | | The height of the snapshot the chunks belongs to. | -| format | [uint32](#uint32) | | The application-specific format of the snapshot the chunk belongs to. | -| chunk | [uint32](#uint32) | | The chunk index, starting from 0 for the initial chunk. | +| version | [uint32](#uint32) | | The application-specific format of the snapshot the chunk belongs to. | +| chunk_id | [bytes](#bytes) | | The chunk id is a hash of the node of subtree of the snapshot. | @@ -819,8 +819,9 @@ from this condition, but not sure), and _p_ receives a Precommit message for rou | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | result | [ResponseApplySnapshotChunk.Result](#tendermint-abci-ResponseApplySnapshotChunk-Result) | | The result of applying this chunk. | -| refetch_chunks | [uint32](#uint32) | repeated | Refetch and reapply the given chunks, regardless of `result`. Only the listed chunks will be refetched, and reapplied in sequential order. | +| refetch_chunks | [bytes](#bytes) | repeated | Refetch and reapply the given chunks, regardless of `result`. Only the listed chunks will be refetched, and reapplied in sequential order. | | reject_senders | [string](#string) | repeated | Reject the given P2P senders, regardless of `Result`. Any chunks already applied will not be refetched unless explicitly requested, but queued chunks from these senders will be discarded, and new chunks or other snapshots rejected. | +| next_chunks | [bytes](#bytes) | repeated | Next chunks provides the list of chunks that should be requested next, if any. | @@ -1088,8 +1089,7 @@ nondeterministic | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | height | [uint64](#uint64) | | The height at which the snapshot was taken | -| format | [uint32](#uint32) | | The application-specific snapshot format | -| chunks | [uint32](#uint32) | | Number of chunks in the snapshot | +| version | [uint32](#uint32) | | The application-specific snapshot version | | hash | [bytes](#bytes) | | Arbitrary snapshot hash, equal only if identical | | metadata | [bytes](#bytes) | | Arbitrary application metadata | @@ -1256,6 +1256,7 @@ Type of transaction check | RETRY | 3 | Retry chunk (combine with refetch and reject) | | RETRY_SNAPSHOT | 4 | Retry snapshot (combine with refetch and reject) | | REJECT_SNAPSHOT | 5 | Reject this snapshot, try others | +| COMPLETE_SNAPSHOT | 6 | Complete this snapshot, no more chunks | From fe76d289e838d34a218f8d9f168f248d773de475 Mon Sep 17 00:00:00 2001 From: Dmitrii Golubev Date: Wed, 19 Jul 2023 18:11:43 +0200 Subject: [PATCH 09/19] chore(release): update changelog and version to 0.13.0-dev.2 (#664) --- CHANGELOG.md | 808 ++++++++++++++++++++++++--------------------- version/version.go | 2 +- 2 files changed, 431 insertions(+), 379 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 79c554ec7e..510c7f223e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,15 +1,21 @@ +## [0.13.0-dev.2] - 2023-07-19 + +### Features + +- Implement statesync spec for the new approach (#663) + ## [0.13.0-dev.1] - 2023-06-28 ### Bug Fixes +- [**breaking**] ProcessProposal should get CoreChainLockedHeight from block (#625) - [**breaking**] Remove unused SIGNED_MSG_TYPE_COMMIT (#638) - [**breaking**] Use millisecond resolution of block time (#650) -## [0.12.0] - 2023-05-23 - -### Bug Fixes +### Miscellaneous Tasks -- [**breaking**] ProcessProposal should get CoreChainLockedHeight from block (#625) +- Update changelog and version to 0.11.0 +- Update changelog and version to 0.13.0-dev.1 (#651) ### Testing @@ -20,12 +26,6 @@ - Catch up with the latest commits from v0.11 to v0.12 (#631) - Catch up the changes from v0.11 to v0.12 (#636) -## [0.11.0] - 2023-04-04 - -### Miscellaneous Tasks - -- Update changelog and version to 0.11.0 - ### Build - Fix broken github actions and regenerate some code (#615) @@ -240,6 +240,8 @@ ### Bug Fixes +- Commits received during state sync are lost (#513) +- Statesync stops the node when light block request fails (#514) - ProcessProposal executed twice for a block (#516) - Proposer-based timestamp broken during backport (#523) - Improve wal replay mechanism (#510) @@ -250,28 +252,13 @@ ### Miscellaneous Tasks -- [**breaking**] Rename genesis.json quorum fields (#515) -- [**breaking**] Remove Snapshot.core_chain_locked_height (#527) -- Update changelog and version to 0.10.0-dev.6 (#526) - -### Build - -- Bump actions/setup-go from 3.3.1 to 3.4.0 (#524) -- Bump bufbuild/buf-setup-action from 1.9.0 to 1.10.0 (#525) - -## [0.8.0] - 2022-12-07 - -### Bug Fixes - -- Commits received during state sync are lost (#513) -- Statesync stops the node when light block request fails (#514) - -### Miscellaneous Tasks - - Backport to 0.8 - Fix build - Fix abcidump after backport - Update changelog and version to 0.8.0 +- [**breaking**] Rename genesis.json quorum fields (#515) +- [**breaking**] Remove Snapshot.core_chain_locked_height (#527) +- Update changelog and version to 0.10.0-dev.6 (#526) ### Refactor @@ -287,6 +274,8 @@ - Fix missing dependencies in lint and tests - Fix superlinter yaml issues - Improve release script for v0.8 (#520) +- Bump actions/setup-go from 3.3.1 to 3.4.0 (#524) +- Bump bufbuild/buf-setup-action from 1.9.0 to 1.10.0 (#525) ## [0.10.0-dev.5] - 2022-11-23 @@ -698,6 +687,8 @@ ### Bug Fixes +- Network stuck due to outdated proposal block (#327) +- Don't process WAL logs for old rounds (#331) - Use thread-safely way to get pro-tx-hash from peer-state (#344) - Slightly modify a way of interacting with p2p channels in consensus reactor (#357) - Remove select block to don't block sending a witness response (#336) @@ -705,12 +696,24 @@ ### Miscellaneous Tasks +- Update changelog and version to 0.7.1 - If the tenderdash source code is not tracked by git then cloning "develop_0.1" branch as fallback scenario to build a project (#356) - If the tenderdash source code is not tracked by git then cloning "develop_0.1" branch as fallback scenario to build a project (#355) - Update changelog and version to 0.8.0-dev.2 (#333) +### Refactor + +- Consolidate redundant code (#322) + ### Security +- Bump github.com/lib/pq from 1.10.4 to 1.10.5 (#8283) +- Bump codecov/codecov-action from 2.1.0 to 3.0.0 (#8306) +- Bump actions/setup-go from 2 to 3 (#8305) +- Bump actions/stale from 4 to 5 (#8304) +- Bump actions/download-artifact from 2 to 3 (#8302) +- Bump actions/upload-artifact from 2 to 3 (#8303) +- Bump github.com/creachadair/tomledit from 0.0.11 to 0.0.13 (#8307) - Bump github.com/vektra/mockery/v2 from 2.10.4 to 2.10.6 (#8346) - Bump github.com/spf13/viper from 1.10.1 to 1.11.0 (#8344) - Bump github.com/creachadair/atomicfile from 0.2.4 to 0.2.5 (#8365) @@ -719,6 +722,7 @@ ### Testing +- Update oss-fuzz build script to match reality (#8296) - Convert to Go 1.18 native fuzzing (#8359) - Remove debug logging statement (#8385) @@ -729,10 +733,15 @@ ### Abci++ +- Only include meaningful header fields in data passed-through to application (#8216) - Sync implementation and spec for vote extensions (#8141) ### Build +- Implement full release workflow in the release script (#332) +- Use go install instead of go get. (#8299) +- Implement full release workflow in the release script (#332) (#345) +- Implement full release workflow in the release script (#332) (#345) - Bump async from 2.6.3 to 2.6.4 in /docs (#8357) ### Cleanup @@ -740,71 +749,6 @@ - Unused parameters (#8372) - Pin get-diff-action uses to major version only, not minor/patch (#8368) -### Confix - -- Convert tx-index.indexer from string to array (#8342) - -### Eventbus - -- Publish without contexts (#8369) - -### Keymigrate - -- Fix conversion of transaction hash keys (#8352) - -### Node - -- Use signals rather than ephemeral contexts (#8376) -- Cleanup setup for indexer and evidence components (#8378) - -### P2p - -- Fix setting in con-tracker (#8370) - -### Rpc - -- Reformat method signatures and use a context (#8377) - -## [0.7.1] - 2022-04-14 - -### Bug Fixes - -- Network stuck due to outdated proposal block (#327) -- Don't process WAL logs for old rounds (#331) - -### Miscellaneous Tasks - -- Update changelog and version to 0.7.1 - -### Refactor - -- Consolidate redundant code (#322) - -### Security - -- Bump github.com/lib/pq from 1.10.4 to 1.10.5 (#8283) -- Bump codecov/codecov-action from 2.1.0 to 3.0.0 (#8306) -- Bump actions/setup-go from 2 to 3 (#8305) -- Bump actions/stale from 4 to 5 (#8304) -- Bump actions/download-artifact from 2 to 3 (#8302) -- Bump actions/upload-artifact from 2 to 3 (#8303) -- Bump github.com/creachadair/tomledit from 0.0.11 to 0.0.13 (#8307) - -### Testing - -- Update oss-fuzz build script to match reality (#8296) - -### Abci++ - -- Only include meaningful header fields in data passed-through to application (#8216) - -### Build - -- Implement full release workflow in the release script (#332) -- Use go install instead of go get. (#8299) -- Implement full release workflow in the release script (#332) (#345) -- Implement full release workflow in the release script (#332) (#345) - ### Cli - Add graceful catches to SIGINT (#8308) @@ -814,11 +758,16 @@ - Clean up and document transformations (#8301) - Remove mempool.version in v0.36 (#8334) +- Convert tx-index.indexer from string to array (#8342) ### Consensus - Add nil check to gossip routine (#8288) +### Eventbus + +- Publish without contexts (#8369) + ### Events - Remove unused event code (#8313) @@ -826,15 +775,22 @@ ### Keymigrate - Fix decoding of block-hash row keys (#8294) +- Fix conversion of transaction hash keys (#8352) ### Node - Move handshake out of constructor (#8264) +- Use signals rather than ephemeral contexts (#8376) +- Cleanup setup for indexer and evidence components (#8378) ### Node+statesync - Normalize initialization (#8275) +### P2p + +- Fix setting in con-tracker (#8370) + ### Pubsub - [minor] remove unused stub method (#8316) @@ -843,6 +799,7 @@ - Add more nil checks in the status end point (#8287) - Avoid leaking threads (#8328) +- Reformat method signatures and use a context (#8377) ### Scmigrate @@ -864,6 +821,7 @@ ### Bug Fixes +- Remove option c form linux build (#305) - Cannot read properties of undefined - Network stuck due to outdated proposal block (#327) - Don't process WAL logs for old rounds (#331) @@ -1045,7 +1003,6 @@ ### Bug Fixes - Backport e2e tests (#248) -- Remove option c form linux build (#305) ### Docs @@ -1251,6 +1208,7 @@ ### Miscellaneous Tasks +- Update changelog and version to 0.7.0 - Update unit tests after backport fo tendermint v0.35 (#245) - Backport Tenderdash 0.7 to 0.8 (#246) - Fix e2e tests and protxhash population (#273) @@ -1357,6 +1315,7 @@ ### Consensus +- Use buffered channel in TestStateFullRound1 (#7668) - Remove unused closer construct (#7734) - Delay start of peer routines (#7753) - Delay start of peer routines (backport of #7753) (#7760) @@ -1468,6 +1427,10 @@ - Changed evidence message to contain evidence, not a list… (#394) +### Params + +- Increase default synchrony params (#7704) + ### Proto - Merge the proposer-based timestamps parameters (#393) @@ -1551,20 +1514,6 @@ - Emit events + metrics on evidence validation (#7802) -## [0.7.0] - 2022-01-27 - -### Miscellaneous Tasks - -- Update changelog and version to 0.7.0 - -### Consensus - -- Use buffered channel in TestStateFullRound1 (#7668) - -### Params - -- Increase default synchrony params (#7704) - ## [0.35.1] - 2022-01-26 ### ABCI++ @@ -8837,51 +8786,8 @@ ### Documentation -- Give index a Tools section -- Update and clean up adr -- Use README.rst to be pulled from tendermint -- Re-add the images -- Add original README's from tools repo -- Convert from md to rst -- Update index.rst -- Move images in from tools repo -- Harmonize headers for tools docs -- Add kubes docs to mintnet doc, from tools -- Add original tm-bench/monitor files -- Organize tm-bench/monitor description -- Pull from tools on build -- Finish pull from tools -- Organize the directory, #656 -- Add software.json from website (ecosystem) -- Rename file -- Add and re-format the ecosystem from website -- Pull from tools' master branch -- Using ABCI-CLI -- Remove last section from ecosystem -- Organize install a bit better -- Add ABCI implementations -- Added passchain to the ecosystem.rst in the applications section; -- Fix build warnings -- Add stratumn -- Add py-tendermint to abci-servers -- Remove mention of type byte -- Add info about tm-migrate -- Update abci example details [ci skip] -- Typo -- Smaller logo (200px) -- Comb through step by step -- Fixup abci guide - Fix links, closes #860 -### GroupReader#Read - -- Return io.EOF if file is empty - -### Makefile - -- Remove redundant lint -- Fix linter - ### PubKeyFromBytes - Return zero value PubKey on error @@ -8890,261 +8796,392 @@ - Use bytes.Equal for key comparison -### Testing - -- Add simple client/server test with no addr prefix -- Update for abci-cli consolidation. shell formatting - ### WIP - Begin parallel refactoring with go-wire Write methods and MConnection -### [docs - -- Typo fix] remove misplaced "the" -- Typo fix] add missing "have" - -### Adr - -- Add 005 consensus params +### Blockchain -### All +- Add comment in AddPeer. closes #666 -- No more anonymous imports +### Certifiers -### Autofile +- Test uses WaitForHeight -- Ensure file is open in Sync +### Clist -### Blockchain +- Reduce numTimes in test -- Fixing reactor tests -- Add comment in AddPeer. closes #666 +### Consensus -### Blockchain/pool +- Ensure prs.ProposalBlockParts is initialized. fixes #810 +- Fix for initializing block parts during catchup +- Make mempool_test deterministic +- Fix LastCommit log +- Crank timeout in timeoutWaitGroup -- Some comments and small changes +### Consensus/WAL -### Blockchain/reactor +- Benchmark WALDecode across data sizes -- RespondWithNoResponseMessage for missing height +### Db -### Blockchain/store +- Sort keys for memdb iterator -- Comment about panics +### Errcheck -### Certifiers +- PR comment fixes -- Test uses WaitForHeight +### Lint -### Changelog +- Apply deadcode/unused -- Add genesis amount->power +### Linter -### Circle +- Address deadcode, implement incremental lint testing +- Sort through each kind and address small fixes -- Add metalinter to test +### Linting -### Cli +- Replace megacheck with metalinter +- Apply 'gofmt -s -w' throughout +- Apply misspell +- Apply errcheck part1 +- Apply errcheck part2 +- Moar fixes +- Few more fixes -- Clean up error handling -- Use cobra's new ExactArgs() feature +### Node -### Clist +- Clean makeNodeInfo -- Reduce numTimes in test +### P2p -### Cmd +- Update readme, some minor things +- Some fixes re @odeke-em issues #813,#816,#817 +- Comment on the wg.Add before go saveRoutine() +- Peer should respect errors from SetDeadline +- Use fake net.Pipe since only >=Go1.10 implements SetDeadline +- NetPipe for bucketsNew/Old +- Simplify PickAddress +- AddAddress returns error. more defensive PickAddress +- Add non-terminating test +- Fix addToOldBucket +- Some comments -- Kill +### P2p/connetion -### Common +- Remove panics, test error cases -- Fingerprint comment -- WriteFileAtomic use tempfile in current dir +### P2p/pex -### Consensus +- Simplify ensurePeers -- Remove support for replay by #HEIGHT. closes #567 -- Use filepath for windows compatibility, closes #595 -- Kill process on app error -- Ensure prs.ProposalBlockParts is initialized. fixes #810 -- Fix for initializing block parts during catchup -- Make mempool_test deterministic -- Fix LastCommit log -- Crank timeout in timeoutWaitGroup +### Rpc -### Consensus/WAL +- Wait for rpc servers to be available in tests +- Fix tests -- Benchmark WALDecode across data sizes +### Rpc/lib/server -### Console +- Add handlers tests +- Update with @melekes and @ebuchman feedback +- Separate out Notifications test +- Minor changes to test -- Fix output, closes #93 -- Fix tests +### Rpc/lib/types -### Db +- RPCResponse.Result is not a pointer -- Fix MemDB.Close -- Sort keys for memdb iterator +### Rpc/wsevents -### Dummy +- Small cleanup -- Verify pubkey is go-crypto encoded in DeliverTx. closes #51 +### Server -### Errcheck +- Minor refactor -- PR comment fixes +### State -### Example +- Return to-be-used function -- Fix func suffix +### Types + +- Add gas and fee fields to CheckTx + +### WsConnection + +- Call onDisconnect + +## [0.12.0] - 2017-10-28 + +### Documentation + +- Add py-tendermint to abci-servers +- Remove mention of type byte +- Add info about tm-migrate +- Update abci example details [ci skip] +- Typo +- Smaller logo (200px) +- Comb through step by step +- Fixup abci guide + +### GroupReader#Read + +- Return io.EOF if file is empty + +### Makefile + +- Fix linter + +### Testing + +- Add simple client/server test with no addr prefix +- Update for abci-cli consolidation. shell formatting + +### Blockchain/pool + +- Some comments and small changes + +### Blockchain/store + +- Comment about panics + +### Cli + +- Clean up error handling +- Use cobra's new ExactArgs() feature + +### Cmn + +- Kill + +### Consensus + +- Kill process on app error + +### Console + +- Fix output, closes #93 +- Fix tests + +### Dummy + +- Verify pubkey is go-crypto encoded in DeliverTx. closes #51 ### Glide -- Update for autofile fix - More external deps locked to versions ### Keys - Transactions.go -> types.go -### Lint +### Linting -- Couple more fixes -- Apply deadcode/unused +- A few fixes + +### Rpc + +- Use /iavl repo in test (#713) + +### Rpc/client + +- Use compile time assertions instead of methods + +### Rpc/lib/client + +- Add jitter for exponential backoff of WSClient +- Jitter test updates and only to-be run on releases + +### Server + +- Use cmn.ProtocolAndAddress + +### SocketClient + +- Fix and test for StopForError deadlock + +### Types + +- ConsensusParams test + document the ranges/limits +- ConsensusParams: add feedback from @ebuchman and @melekes +- Unexpose valset.To/FromBytes + +## [0.11.1] - 2017-10-10 + +### Documentation + +- Add ABCI implementations +- Added passchain to the ecosystem.rst in the applications section; +- Fix build warnings +- Add stratumn + +### [docs + +- Typo fix] remove misplaced "the" +- Typo fix] add missing "have" + +### All + +- No more anonymous imports + +### Autofile + +- Ensure file is open in Sync + +### Blockchain + +- Fixing reactor tests + +### Blockchain/reactor + +- RespondWithNoResponseMessage for missing height + +### Changelog + +- Add genesis amount->power + +### Db + +- Fix MemDB.Close + +### Example + +- Fix func suffix + +### Glide + +- Update for autofile fix ### Linter - Couple fixes - Add metalinter to Makefile & apply some fixes - Last fixes & add to circle -- Address deadcode, implement incremental lint testing -- Sort through each kind and address small fixes ### Linting -- Cover the basics -- Catch some errors -- Add to Makefile & do some fixes -- Next round of fixes - Fixup some stuffs - Little more fixes -- A few fixes -- Replace megacheck with metalinter -- Apply 'gofmt -s -w' throughout -- Apply misspell -- Apply errcheck part1 -- Apply errcheck part2 -- Moar fixes -- Few more fixes ### Makefile - Remove megacheck -### Metalinter +### Rpc -- Add linter to Makefile like tendermint +- Fix client websocket timeout (#687) +- Subscribe on reconnection (#689) -### Node +### Rpc/lib -- NewNode takes DBProvider and GenDocProvider -- Clean makeNodeInfo +- Remove dead files, closes #710 -### P2p +### Types/heartbeat -- Fully test PeerSet, more docs, parallelize PeerSet tests -- Minor comment fixes -- Delete unused and untested *IPRangeCount functions -- Sw.AddPeer -> sw.addPeer -- Allow listener with no external connection -- Update readme, some minor things -- Some fixes re @odeke-em issues #813,#816,#817 -- Comment on the wg.Add before go saveRoutine() -- Peer should respect errors from SetDeadline -- Use fake net.Pipe since only >=Go1.10 implements SetDeadline -- NetPipe for bucketsNew/Old -- Simplify PickAddress -- AddAddress returns error. more defensive PickAddress -- Add non-terminating test -- Fix addToOldBucket -- Some comments +- Keep a link + +## [0.11.0] - 2017-09-22 + +### Documentation + +- Give index a Tools section +- Update and clean up adr +- Use README.rst to be pulled from tendermint +- Re-add the images +- Add original README's from tools repo +- Convert from md to rst +- Update index.rst +- Move images in from tools repo +- Harmonize headers for tools docs +- Add kubes docs to mintnet doc, from tools +- Add original tm-bench/monitor files +- Organize tm-bench/monitor description +- Pull from tools on build +- Finish pull from tools +- Organize the directory, #656 +- Add software.json from website (ecosystem) +- Rename file +- Add and re-format the ecosystem from website +- Pull from tools' master branch +- Using ABCI-CLI +- Remove last section from ecosystem +- Organize install a bit better -### P2p/connetion +### Makefile -- Remove panics, test error cases +- Remove redundant lint -### P2p/pex +### Adr -- Simplify ensurePeers +- Add 005 consensus params -### Readme +### Circle -- Re-organize & update docs links +- Add metalinter to test -### Rpc +### Cmd -- Fix client websocket timeout (#687) -- Subscribe on reconnection (#689) -- Use /iavl repo in test (#713) -- Wait for rpc servers to be available in tests -- Fix tests +- Dont wait for genesis. closes #562 -### Rpc/client +### Common -- Use compile time assertions instead of methods +- Fingerprint comment +- WriteFileAtomic use tempfile in current dir -### Rpc/lib +### Consensus -- Remove dead files, closes #710 +- Remove support for replay by #HEIGHT. closes #567 +- Use filepath for windows compatibility, closes #595 -### Rpc/lib/client +### Lint -- Add jitter for exponential backoff of WSClient -- Jitter test updates and only to-be run on releases +- Couple more fixes -### Rpc/lib/server +### Linting -- Add handlers tests -- Update with @melekes and @ebuchman feedback -- Separate out Notifications test -- Minor changes to test +- Cover the basics +- Catch some errors +- Add to Makefile & do some fixes +- Next round of fixes -### Rpc/lib/types +### Metalinter -- RPCResponse.Result is not a pointer +- Add linter to Makefile like tendermint -### Rpc/wsevents +### Node -- Small cleanup +- NewNode takes DBProvider and GenDocProvider -### Server +### P2p -- Use cmn.ProtocolAndAddress -- Minor refactor +- Fully test PeerSet, more docs, parallelize PeerSet tests +- Minor comment fixes +- Delete unused and untested *IPRangeCount functions +- Sw.AddPeer -> sw.addPeer +- Allow listener with no external connection -### SocketClient +### Readme -- Fix and test for StopForError deadlock +- Re-organize & update docs links ### State - Minor comment fixes -- Return to-be-used function ### Types @@ -9152,22 +9189,6 @@ - PrivVal.Sign returns an error - More . -> cmn - Comments -- ConsensusParams test + document the ranges/limits -- ConsensusParams: add feedback from @ebuchman and @melekes -- Unexpose valset.To/FromBytes -- Add gas and fee fields to CheckTx - -### Types/heartbeat - -- Test all Heartbeat functions - -### Upnp - -- Keep a link - -### WsConnection - -- Call onDisconnect ## [0.10.4] - 2017-09-05 @@ -9524,10 +9545,6 @@ - DumpConsensusState, not DialSeeds. Cleanup -### Connect2Switches - -- Panic on err - ### Makefile - Add gmt and lint @@ -9540,20 +9557,6 @@ ### Testing -- RandConsensusNet takes more args -- Crank circle timeouts -- Automate building consensus/test_data -- Circle artifacts -- Dont start cs until all peers connected -- Shorten timeouts -- Remove codecov patch threshold -- Kill and restart all nodes -- Use PROXY_APP=persistent_dummy -- Use fail-test failure indices -- More unique container names -- Set log_level=info -- Always rebuild grpc_client -- Split up test/net/test.sh - Unexport internal function. - Update docker to 1.7.4 - Dont use log files on circle @@ -9578,25 +9581,12 @@ - JTMSP -> jABCI -### Blockchain - -- Thread safe store.Height() - ### Cleanup - Replace common.Exit with log.Crit or log.Fatal ### Consensus -- Wal.Flush() and cleanup replay tests -- TimeoutTicker, skip TimeoutCommit on HasAll -- Mv timeoutRoutine into TimeoutTicker -- No internal vars in reactor.String() -- Sync wal.writeHeight -- Remove crankTimeoutPropose from tests -- Be more explicit when we need to write height after handshake -- Let time.Timer handle non-positive durations -- Check HasAll when TwoThirdsMajority - Nice error msg if ApplyBlock fails - Handshake replay test using wal - More handshake replay tests @@ -9608,7 +9598,6 @@ ### Glide -- Update go-wire - Use versions where applicable ### Lint @@ -9630,6 +9619,58 @@ - /commit - Fix SeenCommit condition +### State + +- Remove StateIntermediate + +### Types + +- Use mtx on PartSet.String() +- ValSet LastProposer->Proposer and Proposer()->GetProposer() + +## [0.8.0] - 2017-01-13 + +### Connect2Switches + +- Panic on err + +### Testing + +- RandConsensusNet takes more args +- Crank circle timeouts +- Automate building consensus/test_data +- Circle artifacts +- Dont start cs until all peers connected +- Shorten timeouts +- Remove codecov patch threshold +- Kill and restart all nodes +- Use PROXY_APP=persistent_dummy +- Use fail-test failure indices +- More unique container names +- Set log_level=info +- Always rebuild grpc_client +- Split up test/net/test.sh + +### Blockchain + +- Thread safe store.Height() + +### Consensus + +- Wal.Flush() and cleanup replay tests +- TimeoutTicker, skip TimeoutCommit on HasAll +- Mv timeoutRoutine into TimeoutTicker +- No internal vars in reactor.String() +- Sync wal.writeHeight +- Remove crankTimeoutPropose from tests +- Be more explicit when we need to write height after handshake +- Let time.Timer handle non-positive durations +- Check HasAll when TwoThirdsMajority + +### Glide + +- Update go-wire + ### Shame - Version bump 0.7.4 @@ -9637,7 +9678,6 @@ ### State - AppHashIsStale -> IntermediateState -- Remove StateIntermediate ### Tmsp @@ -9648,8 +9688,6 @@ - Benchmark WriteSignBytes - Canonical_json.go - SignatureEd25519 -> Signature -- Use mtx on PartSet.String() -- ValSet LastProposer->Proposer and Proposer()->GetProposer() ## [0.7.4] - 2016-12-14 @@ -9748,7 +9786,48 @@ - Bump 0.7.3 -## [0.7.2] - 2016-09-11 +## [0.7.1] - 2016-09-11 + +### Testing + +- Refactor bash; test fastsync (failing) +- Name client conts so we dont need to rm them because circle +- Test dummy using rpc query +- Add xxd dep to dockerfile +- More verbosity +- Add killall to dockerfile. cleanup + +### Client + +- Safe error handling + +### Config + +- All urls use tcp:// or unix:// prefix +- Filter_peers defaults to false +- Reduce timeouts during test + +### Consensus + +- Add note about replay test +- No sign err in replay; fix a race + +### Proxy + +- Typed app conns +- NewAppConns takes a NewTMSPClient func +- Wrap NewTMSPClient in ClientCreator +- Nil -> nilapp + +### Throttle_timer + +- Fix race, use mtx instead of atomic + +### Types + +- PrivVal.LastSignature. closes #247 + +## [0.7.0] - 2016-08-07 ### Documentation @@ -9767,12 +9846,6 @@ - Cleanup - Dont run cloud test on push to master - README.md -- Refactor bash; test fastsync (failing) -- Name client conts so we dont need to rm them because circle -- Test dummy using rpc query -- Add xxd dep to dockerfile -- More verbosity -- Add killall to dockerfile. cleanup ### Binary @@ -9791,7 +9864,6 @@ - ResultsCh chan json.RawMessage, ErrorsCh - Wsc.String() -- Safe error handling ### Config @@ -9800,9 +9872,6 @@ - Cswal_light, mempool_broadcast, mempool_reap - Toggle authenticated encryption - Disable_data_hash (for testing) -- All urls use tcp:// or unix:// prefix -- Filter_peers defaults to false -- Reduce timeouts during test ### Consensus @@ -9821,8 +9890,6 @@ - Hvs.Reset(height, valSet) - Increase mempool_test timeout - Don't print shared vars in cs.String() -- Add note about replay test -- No sign err in replay; fix a race ### Daemon @@ -9854,13 +9921,6 @@ - Broadcast spawns goroutine to Send on each peer and times out after 10 seconds. Closes #7 - Fix switch test for Broadcast returning success channel -### Proxy - -- Typed app conns -- NewAppConns takes a NewTMSPClient func -- Wrap NewTMSPClient in ClientCreator -- Nil -> nilapp - ### Rpc - Add status and net info @@ -9922,14 +9982,6 @@ - Fix GetStorage on blockcache with unknown account - FireEvents flag on ExecTx and fixes for GetAccount -### Throttle_timer - -- Fix race, use mtx instead of atomic - -### Types - -- PrivVal.LastSignature. closes #247 - ### Vm - Check errors early to avoid infinite loop diff --git a/version/version.go b/version/version.go index 82fc1a149d..c97f70e910 100644 --- a/version/version.go +++ b/version/version.go @@ -9,7 +9,7 @@ var ( const ( // TMVersionDefault is the used as the fallback version for Tenderdash // when not using git describe. It is formatted with semantic versioning. - TMVersionDefault = "0.13.0-dev.1" + TMVersionDefault = "0.13.0-dev.2" // ABCISemVer is the semantic version of the ABCI library ABCISemVer = "0.22.0" From e11684a9507162e50f3e39f60645f0a55ffa952f Mon Sep 17 00:00:00 2001 From: Dmitrii Golubev Date: Fri, 21 Jul 2023 10:45:53 +0200 Subject: [PATCH 10/19] feat: add wait for masternode-status "ready" (#659) * feat: add wait for masternode-status ready * feat: use "READY" to the state field in masternode-status mocked response for e2e test * refactor: some modifications according to PR feedback * Update dash/core/client.go --- dash/core/client.go | 28 +++ dash/core/client_test.go | 94 +++++++++ dash/core/mocks/client.go | 212 +++++++++++++++++++++ go.mod | 10 +- go.sum | 19 ++ node/setup.go | 7 + test/e2e/pkg/mockcoreserver/core_server.go | 1 + 7 files changed, 370 insertions(+), 1 deletion(-) create mode 100644 dash/core/client_test.go create mode 100644 dash/core/mocks/client.go diff --git a/dash/core/client.go b/dash/core/client.go index b3cd0f051a..b4d6941585 100644 --- a/dash/core/client.go +++ b/dash/core/client.go @@ -1,7 +1,10 @@ +//go:generate ../../scripts/mockery_generate.sh Client + package core import ( "fmt" + "time" "github.com/dashpay/dashd-go/btcjson" rpc "github.com/dashpay/dashd-go/rpcclient" @@ -13,6 +16,8 @@ import ( const ModuleName = "rpcclient" +var sleep = time.Sleep + // QuorumVerifier represents subset of priv validator features that // allows verification of threshold signatures. type QuorumVerifier interface { @@ -220,3 +225,26 @@ func (rpcClient *RPCClient) QuorumVerify( return resp, err } + +// WaitForMNReady waits until the masternode is ready +func WaitForMNReady(client Client, retryTimeout time.Duration) error { + for { + result, err := client.MasternodeStatus() + if err != nil { + return fmt.Errorf("failed to get masternode status: %w", err) + } + switch result.State { + case btcjson.MNStatusStateReady: + return nil + case btcjson.MNStatusStateWaitingForProtx: + sleep(retryTimeout) + case btcjson.MNStatusStatePoseBanned, + btcjson.MNStatusStateRemoved, + btcjson.MNStatusStateOperatorKeyChanged, + btcjson.MNStatusStateProtxIpChanged, + btcjson.MNStatusStateError, + btcjson.MNStatusStateUnknown: + return fmt.Errorf("unexpected masternode state %s", result.State) + } + } +} diff --git a/dash/core/client_test.go b/dash/core/client_test.go new file mode 100644 index 0000000000..f7d0e7e729 --- /dev/null +++ b/dash/core/client_test.go @@ -0,0 +1,94 @@ +package core + +import ( + "errors" + "fmt" + "testing" + "time" + + "github.com/dashpay/dashd-go/btcjson" + "github.com/stretchr/testify/require" + + "github.com/tendermint/tendermint/dash/core/mocks" +) + +func TestWaitForMNReady(t *testing.T) { + retryTimeout := 1 * time.Millisecond + sleep = func(d time.Duration) { + require.Equal(t, d, retryTimeout) + } + defer func() { sleep = time.Sleep }() + testCases := []struct { + states []btcjson.MNStatusState + wantErr string + }{ + { + states: []btcjson.MNStatusState{btcjson.MNStatusStateReady}, + }, + { + states: []btcjson.MNStatusState{ + btcjson.MNStatusStateWaitingForProtx, + btcjson.MNStatusStateReady, + }, + }, + { + states: []btcjson.MNStatusState{ + btcjson.MNStatusStateWaitingForProtx, + btcjson.MNStatusStateWaitingForProtx, + btcjson.MNStatusStateWaitingForProtx, + btcjson.MNStatusStateReady, + }, + }, + { + states: []btcjson.MNStatusState{btcjson.MNStatusStatePoseBanned}, + wantErr: string(btcjson.MNStatusStatePoseBanned), + }, + { + states: []btcjson.MNStatusState{btcjson.MNStatusStateRemoved}, + wantErr: string(btcjson.MNStatusStateRemoved), + }, + { + states: []btcjson.MNStatusState{btcjson.MNStatusStateOperatorKeyChanged}, + wantErr: string(btcjson.MNStatusStateOperatorKeyChanged), + }, + { + states: []btcjson.MNStatusState{btcjson.MNStatusStateProtxIpChanged}, + wantErr: string(btcjson.MNStatusStateProtxIpChanged), + }, + { + states: []btcjson.MNStatusState{btcjson.MNStatusStateError}, + wantErr: string(btcjson.MNStatusStateError), + }, + { + states: []btcjson.MNStatusState{btcjson.MNStatusStateUnknown}, + wantErr: string(btcjson.MNStatusStateUnknown), + }, + } + for i, tc := range testCases { + t.Run(fmt.Sprintf("%d", i), func(t *testing.T) { + client := mocks.NewClient(t) + for _, state := range tc.states { + client. + On("MasternodeStatus"). + Once(). + Return(&btcjson.MasternodeStatusResult{State: state}, nil) + } + err := WaitForMNReady(client, 1*time.Millisecond) + if tc.wantErr != "" { + require.ErrorContains(t, err, tc.wantErr) + } else { + require.NoError(t, err) + } + }) + } +} + +func TestWaitForMNReadyError(t *testing.T) { + err := errors.New("some error") + client := mocks.NewClient(t) + client. + On("MasternodeStatus"). + Once(). + Return(nil, err) + require.ErrorContains(t, WaitForMNReady(client, 1), err.Error()) +} diff --git a/dash/core/mocks/client.go b/dash/core/mocks/client.go new file mode 100644 index 0000000000..8e6345597c --- /dev/null +++ b/dash/core/mocks/client.go @@ -0,0 +1,212 @@ +// Code generated by mockery. DO NOT EDIT. + +package mocks + +import ( + btcjson "github.com/dashpay/dashd-go/btcjson" + bytes "github.com/tendermint/tendermint/libs/bytes" + + mock "github.com/stretchr/testify/mock" +) + +// Client is an autogenerated mock type for the Client type +type Client struct { + mock.Mock +} + +// Close provides a mock function with given fields: +func (_m *Client) Close() error { + ret := _m.Called() + + var r0 error + if rf, ok := ret.Get(0).(func() error); ok { + r0 = rf() + } else { + r0 = ret.Error(0) + } + + return r0 +} + +// GetNetworkInfo provides a mock function with given fields: +func (_m *Client) GetNetworkInfo() (*btcjson.GetNetworkInfoResult, error) { + ret := _m.Called() + + var r0 *btcjson.GetNetworkInfoResult + var r1 error + if rf, ok := ret.Get(0).(func() (*btcjson.GetNetworkInfoResult, error)); ok { + return rf() + } + if rf, ok := ret.Get(0).(func() *btcjson.GetNetworkInfoResult); ok { + r0 = rf() + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*btcjson.GetNetworkInfoResult) + } + } + + if rf, ok := ret.Get(1).(func() error); ok { + r1 = rf() + } else { + r1 = ret.Error(1) + } + + return r0, r1 +} + +// MasternodeListJSON provides a mock function with given fields: filter +func (_m *Client) MasternodeListJSON(filter string) (map[string]btcjson.MasternodelistResultJSON, error) { + ret := _m.Called(filter) + + var r0 map[string]btcjson.MasternodelistResultJSON + var r1 error + if rf, ok := ret.Get(0).(func(string) (map[string]btcjson.MasternodelistResultJSON, error)); ok { + return rf(filter) + } + if rf, ok := ret.Get(0).(func(string) map[string]btcjson.MasternodelistResultJSON); ok { + r0 = rf(filter) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(map[string]btcjson.MasternodelistResultJSON) + } + } + + if rf, ok := ret.Get(1).(func(string) error); ok { + r1 = rf(filter) + } else { + r1 = ret.Error(1) + } + + return r0, r1 +} + +// MasternodeStatus provides a mock function with given fields: +func (_m *Client) MasternodeStatus() (*btcjson.MasternodeStatusResult, error) { + ret := _m.Called() + + var r0 *btcjson.MasternodeStatusResult + var r1 error + if rf, ok := ret.Get(0).(func() (*btcjson.MasternodeStatusResult, error)); ok { + return rf() + } + if rf, ok := ret.Get(0).(func() *btcjson.MasternodeStatusResult); ok { + r0 = rf() + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*btcjson.MasternodeStatusResult) + } + } + + if rf, ok := ret.Get(1).(func() error); ok { + r1 = rf() + } else { + r1 = ret.Error(1) + } + + return r0, r1 +} + +// Ping provides a mock function with given fields: +func (_m *Client) Ping() error { + ret := _m.Called() + + var r0 error + if rf, ok := ret.Get(0).(func() error); ok { + r0 = rf() + } else { + r0 = ret.Error(0) + } + + return r0 +} + +// QuorumInfo provides a mock function with given fields: quorumType, quorumHash +func (_m *Client) QuorumInfo(quorumType btcjson.LLMQType, quorumHash bytes.HexBytes) (*btcjson.QuorumInfoResult, error) { + ret := _m.Called(quorumType, quorumHash) + + var r0 *btcjson.QuorumInfoResult + var r1 error + if rf, ok := ret.Get(0).(func(btcjson.LLMQType, bytes.HexBytes) (*btcjson.QuorumInfoResult, error)); ok { + return rf(quorumType, quorumHash) + } + if rf, ok := ret.Get(0).(func(btcjson.LLMQType, bytes.HexBytes) *btcjson.QuorumInfoResult); ok { + r0 = rf(quorumType, quorumHash) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*btcjson.QuorumInfoResult) + } + } + + if rf, ok := ret.Get(1).(func(btcjson.LLMQType, bytes.HexBytes) error); ok { + r1 = rf(quorumType, quorumHash) + } else { + r1 = ret.Error(1) + } + + return r0, r1 +} + +// QuorumSign provides a mock function with given fields: quorumType, requestID, messageHash, quorumHash +func (_m *Client) QuorumSign(quorumType btcjson.LLMQType, requestID bytes.HexBytes, messageHash bytes.HexBytes, quorumHash bytes.HexBytes) (*btcjson.QuorumSignResult, error) { + ret := _m.Called(quorumType, requestID, messageHash, quorumHash) + + var r0 *btcjson.QuorumSignResult + var r1 error + if rf, ok := ret.Get(0).(func(btcjson.LLMQType, bytes.HexBytes, bytes.HexBytes, bytes.HexBytes) (*btcjson.QuorumSignResult, error)); ok { + return rf(quorumType, requestID, messageHash, quorumHash) + } + if rf, ok := ret.Get(0).(func(btcjson.LLMQType, bytes.HexBytes, bytes.HexBytes, bytes.HexBytes) *btcjson.QuorumSignResult); ok { + r0 = rf(quorumType, requestID, messageHash, quorumHash) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*btcjson.QuorumSignResult) + } + } + + if rf, ok := ret.Get(1).(func(btcjson.LLMQType, bytes.HexBytes, bytes.HexBytes, bytes.HexBytes) error); ok { + r1 = rf(quorumType, requestID, messageHash, quorumHash) + } else { + r1 = ret.Error(1) + } + + return r0, r1 +} + +// QuorumVerify provides a mock function with given fields: quorumType, requestID, messageHash, signature, quorumHash +func (_m *Client) QuorumVerify(quorumType btcjson.LLMQType, requestID bytes.HexBytes, messageHash bytes.HexBytes, signature bytes.HexBytes, quorumHash bytes.HexBytes) (bool, error) { + ret := _m.Called(quorumType, requestID, messageHash, signature, quorumHash) + + var r0 bool + var r1 error + if rf, ok := ret.Get(0).(func(btcjson.LLMQType, bytes.HexBytes, bytes.HexBytes, bytes.HexBytes, bytes.HexBytes) (bool, error)); ok { + return rf(quorumType, requestID, messageHash, signature, quorumHash) + } + if rf, ok := ret.Get(0).(func(btcjson.LLMQType, bytes.HexBytes, bytes.HexBytes, bytes.HexBytes, bytes.HexBytes) bool); ok { + r0 = rf(quorumType, requestID, messageHash, signature, quorumHash) + } else { + r0 = ret.Get(0).(bool) + } + + if rf, ok := ret.Get(1).(func(btcjson.LLMQType, bytes.HexBytes, bytes.HexBytes, bytes.HexBytes, bytes.HexBytes) error); ok { + r1 = rf(quorumType, requestID, messageHash, signature, quorumHash) + } else { + r1 = ret.Error(1) + } + + return r0, r1 +} + +type mockConstructorTestingTNewClient interface { + mock.TestingT + Cleanup(func()) +} + +// NewClient creates a new instance of Client. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +func NewClient(t mockConstructorTestingTNewClient) *Client { + mock := &Client{} + mock.Mock.Test(t) + + t.Cleanup(func() { mock.AssertExpectations(t) }) + + return mock +} diff --git a/go.mod b/go.mod index 0fcaebb7f4..2320440541 100644 --- a/go.mod +++ b/go.mod @@ -9,7 +9,7 @@ require ( github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce github.com/containerd/continuity v0.3.0 // indirect github.com/dashpay/bls-signatures/go-bindings v0.0.0-20230207105415-06df92693ac8 - github.com/dashpay/dashd-go v0.24.0 + github.com/dashpay/dashd-go v0.24.1 github.com/dashpay/dashd-go/btcec/v2 v2.1.0 // indirect github.com/fortytw2/leaktest v1.3.0 github.com/fxamacker/cbor/v2 v2.4.0 @@ -57,17 +57,25 @@ require ( ) require ( + github.com/aead/siphash v1.0.1 // indirect github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f // indirect github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd // indirect + github.com/btcsuite/goleveldb v1.0.0 // indirect + github.com/btcsuite/snappy-go v1.0.0 // indirect github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792 // indirect + github.com/btcsuite/winsvc v1.0.0 // indirect github.com/dashpay/dashd-go/btcutil v1.2.0 // indirect github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 // indirect + github.com/decred/dcrd/lru v1.0.0 // indirect github.com/didip/tollbooth/v6 v6.0.1 // indirect github.com/didip/tollbooth_chi v0.0.0-20200524181329-8b84cd7183d9 // indirect github.com/go-chi/render v1.0.1 // indirect github.com/go-pkgz/expirable-cache v0.0.3 // indirect github.com/go-pkgz/rest v1.5.0 // indirect github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b // indirect + github.com/jessevdk/go-flags v1.4.0 // indirect + github.com/jrick/logrotate v1.0.0 // indirect + github.com/kkdai/bstream v1.0.0 // indirect github.com/pelletier/go-toml/v2 v2.0.5 // indirect github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 // indirect github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c // indirect diff --git a/go.sum b/go.sum index a8a10a935f..6693db9fe2 100644 --- a/go.sum +++ b/go.sum @@ -78,6 +78,7 @@ github.com/OpenPeeDeeP/depguard v1.1.0/go.mod h1:JtAMzWkmFEzDPyAd+W0NHl1lvpQKTvT github.com/VividCortex/gohistogram v1.0.0 h1:6+hBz+qvs0JOrrNhhmR7lFxo5sINxBCGXrdtl/UvroE= github.com/adlio/schema v1.3.3 h1:oBJn8I02PyTB466pZO1UZEn1TV5XLlifBSyMrmHl/1I= github.com/adlio/schema v1.3.3/go.mod h1:1EsRssiv9/Ce2CMzq5DoL7RiMshhuigQxrR4DMV9fHg= +github.com/aead/siphash v1.0.1 h1:FwHfE/T45KPKYuuSAKyyvE+oPWcaQ+CUmFW0bPlM+kg= github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= @@ -127,9 +128,14 @@ github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce/go.mod h1:0DVlH github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd h1:R/opQEbFEy9JGkIguV40SvRY1uliPX8ifOvi6ICsFCw= github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd/go.mod h1:HHNXQzUsZCxOoE+CPiyCTO6x34Zs86zZUiwtpXoGdtg= github.com/btcsuite/goleveldb v0.0.0-20160330041536-7834afc9e8cd/go.mod h1:F+uVaaLLH7j4eDXPRvw78tMflu7Ie2bzYOH4Y8rRKBY= +github.com/btcsuite/goleveldb v1.0.0 h1:Tvd0BfvqX9o823q1j2UZ/epQo09eJh6dTcRp79ilIN4= +github.com/btcsuite/goleveldb v1.0.0/go.mod h1:QiK9vBlgftBg6rWQIj6wFzbPfRjiykIEhBH4obrXJ/I= github.com/btcsuite/snappy-go v0.0.0-20151229074030-0bdef8d06723/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc= +github.com/btcsuite/snappy-go v1.0.0 h1:ZxaA6lo2EpxGddsA8JwWOcxlzRybb444sgmeJQMJGQE= +github.com/btcsuite/snappy-go v1.0.0/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc= github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792 h1:R8vQdOQdZ9Y3SkEwmHoWBmX1DNXhXZqlTpq6s4tyJGc= github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792/go.mod h1:ghJtEyQwv5/p4Mg4C0fgbePVuGr935/5ddU9Z3TmDRY= +github.com/btcsuite/winsvc v1.0.0 h1:J9B4L7e3oqhXOcm+2IuNApwzQec85lE+QaikUcCs+dk= github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46fmI40EZs= github.com/bufbuild/buf v1.4.0 h1:GqE3a8CMmcFvWPzuY3Mahf9Kf3S9XgZ/ORpfYFzO+90= github.com/bufbuild/buf v1.4.0/go.mod h1:mwHG7klTHnX+rM/ym8LXGl7vYpVmnwT96xWoRB4H5QI= @@ -195,6 +201,10 @@ github.com/dashpay/bls-signatures/go-bindings v0.0.0-20230207105415-06df92693ac8 github.com/dashpay/bls-signatures/go-bindings v0.0.0-20230207105415-06df92693ac8/go.mod h1:auvGS60NBZ+a21aCCQh366PdsjDvHinsCvl28VrYPu4= github.com/dashpay/dashd-go v0.24.0 h1:doC8GW2/ygu5JPCvYHQLx6TNza0TPcCR5rXUUS9CxY8= github.com/dashpay/dashd-go v0.24.0/go.mod h1:4yuk/laGME2RnQRTdqTbw87PhT+42hE1anLCnpkgls8= +github.com/dashpay/dashd-go v0.24.1-0.20230712150728-6f8baed01ca5 h1:Pnde8NKgvO2Aq2dVQxHeUYHfkVje4HVPCv2x5LKQ1Dk= +github.com/dashpay/dashd-go v0.24.1-0.20230712150728-6f8baed01ca5/go.mod h1:4yuk/laGME2RnQRTdqTbw87PhT+42hE1anLCnpkgls8= +github.com/dashpay/dashd-go v0.24.1 h1:w+F5pDt+fqud4QQM/O9sAJihbQ3oswO8DKOmDS/pcNw= +github.com/dashpay/dashd-go v0.24.1/go.mod h1:4yuk/laGME2RnQRTdqTbw87PhT+42hE1anLCnpkgls8= github.com/dashpay/dashd-go/btcec/v2 v2.1.0 h1:fXwlLf5H+TtgHxjGMU74NesKzk6NisjKMPF04pBcygk= github.com/dashpay/dashd-go/btcec/v2 v2.1.0/go.mod h1:1i8XtxdOmvK6mYEUCneVXTzFbrCUw3wq1u91j8gvsns= github.com/dashpay/dashd-go/btcutil v1.2.0 h1:YMq7L0V0au5bbphIhpsBBc+nfOZqU+gJ4pkgRZB7Eiw= @@ -207,6 +217,8 @@ github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs github.com/decred/dcrd/crypto/blake256 v1.0.0 h1:/8DMNYp9SGi5f0w7uCm6d6M4OU2rGFK09Y2A4Xv7EE0= github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 h1:HbphB4TFFXpv7MNrT52FGrrgVXF1owhMVTHFZIlnvd4= github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0/go.mod h1:DZGJHZMqrU4JJqFAWUS2UO1+lbSKsdiOoYi9Zzey7Fc= +github.com/decred/dcrd/lru v1.0.0 h1:Kbsb1SFDsIlaupWPwsPp+dkxiBY1frcS07PCPgotKz8= +github.com/decred/dcrd/lru v1.0.0/go.mod h1:mxKOwFd7lFjN2GZYsiz/ecgqR6kkYAl+0pz0tEMk218= github.com/denis-tingaikin/go-header v0.4.3 h1:tEaZKAlqql6SKCY++utLmkPLd6K8IBM20Ha7UVm+mtU= github.com/denis-tingaikin/go-header v0.4.3/go.mod h1:0wOCWuN71D5qIgE2nz9KrKmuYBAC2Mra5RassOIQ2/c= github.com/denisenkom/go-mssqldb v0.12.0 h1:VtrkII767ttSPNRfFekePK3sctr+joXgO58stqQbtUA= @@ -514,6 +526,8 @@ github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANyt github.com/jdxcode/netrc v0.0.0-20210204082910-926c7f70242a h1:d4+I1YEKVmWZrgkt6jpXBnLgV2ZjO0YxEtLDdfIZfH4= github.com/jdxcode/netrc v0.0.0-20210204082910-926c7f70242a/go.mod h1:Zi/ZFkEqFHTm7qkjyNJjaWH4LQA9LQhGJyF0lTYGpxw= github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= +github.com/jessevdk/go-flags v1.4.0 h1:4IU2WS7AumrZ/40jfhf4QVDMsQwqA7VEHozFRrGARJA= +github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jgautheron/goconst v1.5.1 h1:HxVbL1MhydKs8R8n/HE5NPvzfaYmQJA3o879lE4+WcM= github.com/jgautheron/goconst v1.5.1/go.mod h1:aAosetZ5zaeC/2EfMeRswtxUFBpe2Hr7HzkgX4fanO4= github.com/jhump/gopoet v0.0.0-20190322174617-17282ff210b3/go.mod h1:me9yfT6IJSlOL3FCfrg+L6yzUEZ+5jW6WHt4Sk+UPUI= @@ -540,6 +554,7 @@ github.com/jonboulle/clockwork v0.2.0/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUB github.com/jonboulle/clockwork v0.3.0 h1:9BSCMi8C+0qdApAp4auwX0RkLGUjs956h0EkuQymUhg= github.com/jonboulle/clockwork v0.3.0/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= +github.com/jrick/logrotate v1.0.0 h1:lQ1bL/n9mBNeIXoTUoYRlK4dHuNJVofX9oWqBtPnSzI= github.com/jrick/logrotate v1.0.0/go.mod h1:LNinyqDIJnpAur+b8yyulnQw/wDuN1+BYKlTRt3OuAQ= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= @@ -562,6 +577,8 @@ github.com/kisielk/errcheck v1.6.1/go.mod h1:nXw/i/MfnvRHqXa7XXmQMUB0oNFGuBrNI8d github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4= +github.com/kkdai/bstream v1.0.0 h1:Se5gHwgp2VT2uHfDrkbbgbgEvV9cimLELwrPJctSjg8= +github.com/kkdai/bstream v1.0.0/go.mod h1:FDnDOHt5Yx4p3FaHcioFT0QjDOtgUpvjeZqAs+NVZZA= github.com/klauspost/compress v1.15.10 h1:Ai8UzuomSCDw90e1qNMtb15msBXsNpH6gzkkENQNcJo= github.com/klauspost/compress v1.15.10/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= github.com/klauspost/pgzip v1.2.5 h1:qnWYvvKqedOF2ulHpMG72XQol4ILEJ8k2wwRl/Km8oE= @@ -701,6 +718,7 @@ github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= github.com/onsi/ginkgo/v2 v2.1.3/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= github.com/onsi/ginkgo/v2 v2.1.4 h1:GNapqRSid3zijZ9H77KrgVG4/8KqiyRsxcSxe+7ApXY= github.com/onsi/ginkgo/v2 v2.1.4/go.mod h1:um6tUpWM/cxCK3/FK8BXqEiUMUwRgSM4JXG47RKZmLU= +github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= @@ -1046,6 +1064,7 @@ golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2 golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.6.0 h1:b9gGHsz9/HhJ3HF5DHQytPpuwocVTChQJK3AvoLRD5I= golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI= +golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= diff --git a/node/setup.go b/node/setup.go index aba51f7a8b..f61fb708af 100644 --- a/node/setup.go +++ b/node/setup.go @@ -537,6 +537,13 @@ func createPrivval(ctx context.Context, logger log.Logger, conf *config.Config, return nil, fmt.Errorf("failed to create Dash Core RPC client: %w", err) } + logger.Info("Waiting for Dash Core RPC Client to be ready") + err = dashcore.WaitForMNReady(dashCoreRPCClient, time.Second) + if err != nil { + return nil, fmt.Errorf("failed to wait for masternode status 'ready': %w", err) + } + logger.Info("Dash Core RPC Client is ready") + // If a local port is provided for Dash Core rpc into the service to sign. privValidator, err := createAndStartPrivValidatorDashCoreClient( genDoc.QuorumType, diff --git a/test/e2e/pkg/mockcoreserver/core_server.go b/test/e2e/pkg/mockcoreserver/core_server.go index ef26284e87..e7772c3bbd 100644 --- a/test/e2e/pkg/mockcoreserver/core_server.go +++ b/test/e2e/pkg/mockcoreserver/core_server.go @@ -170,6 +170,7 @@ func (c *MockCoreServer) MasternodeStatus(ctx context.Context, _ btcjson.Mastern } return btcjson.MasternodeStatusResult{ ProTxHash: proTxHash.String(), + State: btcjson.MNStatusStateReady, } } From 8fe858f16f0cbadcb50870284734d5aeab5b26ef Mon Sep 17 00:00:00 2001 From: Dmitrii Golubev Date: Mon, 21 Aug 2023 12:00:36 +0200 Subject: [PATCH 11/19] refactor(statesync): implement statesync peer manager (#648) * refactor: implement a peer manager and some additional improvements * doc: add missed comments * refactor: LightBlockRepository * fix: lint issues * test: covers snapshotRepository with unit tests * chore: regenerate all mockery files * chore: regenerate all mockery files * fix: modifications after merge * chore: make mockery * chore: disable duplication lint * refactor: improve peer/store * refactor: move in-memory store in libs/store package * doc: add comments to SnapshotClient * Update internal/statesync/repo.go Co-authored-by: lklimek <842586+lklimek@users.noreply.github.com> * fix: typo * chore: regenerate mocks * chore: bump up mockery version --------- Co-authored-by: Lukasz Klimek <842586+lklimek@users.noreply.github.com> --- .github/workflows/check-generated.yml | 2 +- abci/client/mocks/client.go | 9 +- abci/types/application.go | 20 ++- abci/types/mocks/application.go | 9 +- internal/consensus/mocks/gossiper.go | 9 +- internal/evidence/mocks/block_store.go | 9 +- internal/mempool/mocks/mempool.go | 9 +- internal/p2p/channel_params.go | 80 ++++++++-- internal/p2p/client/client.go | 122 ++++++++++++-- internal/p2p/client/mocks/block_client.go | 9 +- internal/p2p/client/mocks/snapshot_client.go | 125 +++++++++++++++ internal/p2p/mocks/channel.go | 9 +- internal/p2p/mocks/connection.go | 9 +- internal/p2p/mocks/transport.go | 9 +- internal/state/indexer/mocks/event_sink.go | 9 +- internal/state/mocks/block_store.go | 9 +- internal/state/mocks/evidence_pool.go | 9 +- internal/state/mocks/executor.go | 9 +- internal/state/mocks/store.go | 9 +- internal/statesync/chunks_test.go | 2 +- internal/statesync/mocks/state_provider.go | 9 +- internal/statesync/peer.go | 154 ++++++++++++++++++ internal/statesync/peer_test.go | 78 +++++++++ internal/statesync/reactor.go | 2 +- internal/statesync/repo.go | 160 +++++++++++++++++++ internal/statesync/repo_test.go | 134 ++++++++++++++++ internal/statesync/snapshots_test.go | 2 +- internal/statesync/syncer.go | 20 +-- internal/statesync/syncer_test.go | 2 +- libs/ds/ordered_map.go | 20 ++- libs/store/mocks/store.go | 129 +++++++++++++++ libs/store/store.go | 126 +++++++++++++++ libs/store/store_test.go | 61 +++++++ light/provider/mocks/provider.go | 9 +- light/rpc/mocks/light_client.go | 9 +- rpc/client/mocks/abci_client.go | 9 +- rpc/client/mocks/client.go | 9 +- rpc/client/mocks/events_client.go | 9 +- rpc/client/mocks/evidence_client.go | 9 +- rpc/client/mocks/history_client.go | 9 +- rpc/client/mocks/mempool_client.go | 9 +- rpc/client/mocks/network_client.go | 9 +- rpc/client/mocks/remote_client.go | 9 +- rpc/client/mocks/sign_client.go | 9 +- rpc/client/mocks/status_client.go | 9 +- rpc/client/mocks/subscription_client.go | 9 +- types/mocks/block_event_publisher.go | 9 +- types/mocks/priv_validator.go | 9 +- 48 files changed, 1312 insertions(+), 197 deletions(-) create mode 100644 internal/p2p/client/mocks/snapshot_client.go create mode 100644 internal/statesync/peer.go create mode 100644 internal/statesync/peer_test.go create mode 100644 internal/statesync/repo.go create mode 100644 internal/statesync/repo_test.go create mode 100644 libs/store/mocks/store.go create mode 100644 libs/store/store.go create mode 100644 libs/store/store_test.go diff --git a/.github/workflows/check-generated.yml b/.github/workflows/check-generated.yml index f0bfd723d6..6ae3db0b17 100644 --- a/.github/workflows/check-generated.yml +++ b/.github/workflows/check-generated.yml @@ -31,7 +31,7 @@ jobs: run: | set -euo pipefail - readonly MOCKERY=2.23.1 # N.B. no leading "v" + readonly MOCKERY=2.32.0 # N.B. no leading "v" curl -sL "https://github.com/vektra/mockery/releases/download/v${MOCKERY}/mockery_${MOCKERY}_Linux_x86_64.tar.gz" | tar -C /usr/local/bin -xzf - make mockery 2>/dev/null diff --git a/abci/client/mocks/client.go b/abci/client/mocks/client.go index 8d77c50c42..e8789c1bc8 100644 --- a/abci/client/mocks/client.go +++ b/abci/client/mocks/client.go @@ -439,13 +439,12 @@ func (_m *Client) Wait() { _m.Called() } -type mockConstructorTestingTNewClient interface { +// NewClient creates a new instance of Client. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewClient(t interface { mock.TestingT Cleanup(func()) -} - -// NewClient creates a new instance of Client. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewClient(t mockConstructorTestingTNewClient) *Client { +}) *Client { mock := &Client{} mock.Mock.Test(t) diff --git a/abci/types/application.go b/abci/types/application.go index f42f185eb1..7c83022258 100644 --- a/abci/types/application.go +++ b/abci/types/application.go @@ -6,11 +6,25 @@ import ( "github.com/tendermint/tendermint/crypto" ) +// StateSyncer is an interface that handles the state sync protocol +type StateSyncer interface { + // ListSnapshots returns list available snapshots + ListSnapshots(context.Context, *RequestListSnapshots) (*ResponseListSnapshots, error) + // OfferSnapshot accepts or rejects an offered snapshot to the state synchronization + OfferSnapshot(context.Context, *RequestOfferSnapshot) (*ResponseOfferSnapshot, error) + // LoadSnapshotChunk loads a chunk of snapshot + LoadSnapshotChunk(context.Context, *RequestLoadSnapshotChunk) (*ResponseLoadSnapshotChunk, error) + // ApplySnapshotChunk applies a chunk of snapshot + ApplySnapshotChunk(context.Context, *RequestApplySnapshotChunk) (*ResponseApplySnapshotChunk, error) +} + // Application is an interface that enables any finite, deterministic state machine // to be driven by a blockchain-based replication engine via the ABCI. // //go:generate ../../scripts/mockery_generate.sh Application type Application interface { + StateSyncer + // Info/Query Connection Info(context.Context, *RequestInfo) (*ResponseInfo, error) // Return application info Query(context.Context, *RequestQuery) (*ResponseQuery, error) // Query for state @@ -28,12 +42,6 @@ type Application interface { VerifyVoteExtension(context.Context, *RequestVerifyVoteExtension) (*ResponseVerifyVoteExtension, error) // Deliver the decided block with its txs to the Application FinalizeBlock(context.Context, *RequestFinalizeBlock) (*ResponseFinalizeBlock, error) - - // State Sync Connection - ListSnapshots(context.Context, *RequestListSnapshots) (*ResponseListSnapshots, error) // List available snapshots - OfferSnapshot(context.Context, *RequestOfferSnapshot) (*ResponseOfferSnapshot, error) // Offer a snapshot to the application - LoadSnapshotChunk(context.Context, *RequestLoadSnapshotChunk) (*ResponseLoadSnapshotChunk, error) // Load a snapshot chunk - ApplySnapshotChunk(context.Context, *RequestApplySnapshotChunk) (*ResponseApplySnapshotChunk, error) // Apply a shapshot chunk } //------------------------------------------------------- diff --git a/abci/types/mocks/application.go b/abci/types/mocks/application.go index be32ed8e17..980f15febb 100644 --- a/abci/types/mocks/application.go +++ b/abci/types/mocks/application.go @@ -352,13 +352,12 @@ func (_m *Application) VerifyVoteExtension(_a0 context.Context, _a1 *types.Reque return r0, r1 } -type mockConstructorTestingTNewApplication interface { +// NewApplication creates a new instance of Application. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewApplication(t interface { mock.TestingT Cleanup(func()) -} - -// NewApplication creates a new instance of Application. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewApplication(t mockConstructorTestingTNewApplication) *Application { +}) *Application { mock := &Application{} mock.Mock.Test(t) diff --git a/internal/consensus/mocks/gossiper.go b/internal/consensus/mocks/gossiper.go index f9c69f9752..b61f289f0e 100644 --- a/internal/consensus/mocks/gossiper.go +++ b/internal/consensus/mocks/gossiper.go @@ -44,13 +44,12 @@ func (_m *Gossiper) GossipVoteSetMaj23(ctx context.Context, rs types.RoundState, _m.Called(ctx, rs, prs) } -type mockConstructorTestingTNewGossiper interface { +// NewGossiper creates a new instance of Gossiper. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewGossiper(t interface { mock.TestingT Cleanup(func()) -} - -// NewGossiper creates a new instance of Gossiper. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewGossiper(t mockConstructorTestingTNewGossiper) *Gossiper { +}) *Gossiper { mock := &Gossiper{} mock.Mock.Test(t) diff --git a/internal/evidence/mocks/block_store.go b/internal/evidence/mocks/block_store.go index e61c4e0aeb..bb8d8e1a4c 100644 --- a/internal/evidence/mocks/block_store.go +++ b/internal/evidence/mocks/block_store.go @@ -58,13 +58,12 @@ func (_m *BlockStore) LoadBlockMeta(height int64) *types.BlockMeta { return r0 } -type mockConstructorTestingTNewBlockStore interface { +// NewBlockStore creates a new instance of BlockStore. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewBlockStore(t interface { mock.TestingT Cleanup(func()) -} - -// NewBlockStore creates a new instance of BlockStore. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewBlockStore(t mockConstructorTestingTNewBlockStore) *BlockStore { +}) *BlockStore { mock := &BlockStore{} mock.Mock.Test(t) diff --git a/internal/mempool/mocks/mempool.go b/internal/mempool/mocks/mempool.go index e244c765de..e069c07c28 100644 --- a/internal/mempool/mocks/mempool.go +++ b/internal/mempool/mocks/mempool.go @@ -171,13 +171,12 @@ func (_m *Mempool) Update(ctx context.Context, blockHeight int64, blockTxs types return r0 } -type mockConstructorTestingTNewMempool interface { +// NewMempool creates a new instance of Mempool. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewMempool(t interface { mock.TestingT Cleanup(func()) -} - -// NewMempool creates a new instance of Mempool. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewMempool(t mockConstructorTestingTNewMempool) *Mempool { +}) *Mempool { mock := &Mempool{} mock.Mock.Test(t) diff --git a/internal/p2p/channel_params.go b/internal/p2p/channel_params.go index c7e685cb44..888127cf27 100644 --- a/internal/p2p/channel_params.go +++ b/internal/p2p/channel_params.go @@ -19,10 +19,27 @@ const ( ErrorChannel = ChannelID(0x10) // BlockSyncChannel is a channelStore for blocks and status updates BlockSyncChannel = ChannelID(0x40) + // SnapshotChannel exchanges snapshot metadata + SnapshotChannel = ChannelID(0x60) + // ChunkChannel exchanges chunk contents + ChunkChannel = ChannelID(0x61) + // LightBlockChannel exchanges light blocks + LightBlockChannel = ChannelID(0x62) + // ParamsChannel exchanges consensus params + ParamsChannel = ChannelID(0x63) MempoolChannel = ChannelID(0x30) blockMaxMsgSize = 1048576 // 1MB TODO make it configurable + + // snapshotMsgSize is the maximum size of a snapshotResponseMessage + snapshotMsgSize = int(4e6) // ~4MB + // chunkMsgSize is the maximum size of a chunkResponseMessage + chunkMsgSize = int(16e6) // ~16MB + // lightBlockMsgSize is the maximum size of a lightBlockResponseMessage + lightBlockMsgSize = int(1e7) // ~1MB + // paramMsgSize is the maximum size of a paramsResponseMessage + paramMsgSize = int(1e5) // ~100kb ) // ChannelDescriptors returns a map of all supported descriptors @@ -52,6 +69,38 @@ func ChannelDescriptors(cfg *config.Config) map[ChannelID]*ChannelDescriptor { RecvBufferCapacity: 128, Name: "mempool", }, + SnapshotChannel: { + ID: SnapshotChannel, + Priority: 6, + SendQueueCapacity: 10, + RecvMessageCapacity: snapshotMsgSize, + RecvBufferCapacity: 128, + Name: "snapshot", + }, + ChunkChannel: { + ID: ChunkChannel, + Priority: 3, + SendQueueCapacity: 4, + RecvMessageCapacity: chunkMsgSize, + RecvBufferCapacity: 128, + Name: "chunk", + }, + LightBlockChannel: { + ID: LightBlockChannel, + Priority: 5, + SendQueueCapacity: 10, + RecvMessageCapacity: lightBlockMsgSize, + RecvBufferCapacity: 128, + Name: "light-block", + }, + ParamsChannel: { + ID: ParamsChannel, + Priority: 2, + SendQueueCapacity: 10, + RecvMessageCapacity: paramMsgSize, + RecvBufferCapacity: 128, + Name: "params", + }, } } @@ -65,6 +114,18 @@ func ResolveChannelID(msg proto.Message) ChannelID { *blocksync.StatusRequest, *blocksync.StatusResponse: return BlockSyncChannel + case *statesync.ChunkRequest, + *statesync.ChunkResponse: + return ChunkChannel + case *statesync.SnapshotsRequest, + *statesync.SnapshotsResponse: + return SnapshotChannel + case *statesync.ParamsRequest, + *statesync.ParamsResponse: + return ParamsChannel + case *statesync.LightBlockRequest, + *statesync.LightBlockResponse: + return LightBlockChannel case *consensus.NewRoundStep, *consensus.NewValidBlock, *consensus.Proposal, @@ -75,15 +136,16 @@ func ResolveChannelID(msg proto.Message) ChannelID { *consensus.VoteSetMaj23, *consensus.VoteSetBits, *consensus.Commit, - *consensus.HasCommit, - *statesync.SnapshotsRequest, - *statesync.SnapshotsResponse, - *statesync.ChunkRequest, - *statesync.ChunkResponse, - *statesync.LightBlockRequest, - *statesync.LightBlockResponse, - *statesync.ParamsRequest, - *statesync.ParamsResponse: + *consensus.HasCommit: + // TODO: enable these channels when they are implemented + //*statesync.SnapshotsRequest, + //*statesync.SnapshotsResponse, + //*statesync.ChunkRequest, + //*statesync.ChunkResponse, + //*statesync.LightBlockRequest, + //*statesync.LightBlockResponse, + //*statesync.ParamsRequest, + //*statesync.ParamsResponse: case *p2pproto.PexRequest, *p2pproto.PexResponse, *p2pproto.Echo: diff --git a/internal/p2p/client/client.go b/internal/p2p/client/client.go index 0f32bd9d7d..2c30caaec9 100644 --- a/internal/p2p/client/client.go +++ b/internal/p2p/client/client.go @@ -1,4 +1,5 @@ //go:generate ../../../scripts/mockery_generate.sh BlockClient +//go:generate ../../../scripts/mockery_generate.sh SnapshotClient package client @@ -19,6 +20,7 @@ import ( "github.com/tendermint/tendermint/libs/promise" bcproto "github.com/tendermint/tendermint/proto/tendermint/blocksync" protomem "github.com/tendermint/tendermint/proto/tendermint/mempool" + "github.com/tendermint/tendermint/proto/tendermint/statesync" "github.com/tendermint/tendermint/types" ) @@ -52,7 +54,39 @@ type ( // GetSyncStatus requests a block synchronization status from all connected peers GetSyncStatus(ctx context.Context) error } + // SnapshotClient defines the methods which must be implemented by snapshot client + SnapshotClient interface { + // GetSnapshots requests a list of available snapshots from a peer without handling the response. + // The snapshots will be sent by peer asynchronously and should be received by reading the channel separately. + // The method returns an error if the request is not possible to send to the peer. + GetSnapshots(ctx context.Context, peerID types.NodeID) error + // GetChunk requests a snapshot chunk from a peer and returns a promise.Promise which will be resolved + // as a response will be received or rejected by timeout, otherwise returns an error + GetChunk( + ctx context.Context, + peerID types.NodeID, + height uint64, + format uint32, + index uint32, + ) (*promise.Promise[*statesync.ChunkResponse], error) + // GetParams requests a snapshot params from a peer. + // The method returns a promise.Promise which will be resolved. + GetParams( + ctx context.Context, + peerID types.NodeID, + height uint64, + ) (*promise.Promise[*statesync.ParamsResponse], error) + // GetLightBlock requests a light block from a peer. + // The method returns a promise.Promise which will be resolved. + GetLightBlock( + ctx context.Context, + peerID types.NodeID, + height uint64, + ) (*promise.Promise[*statesync.LightBlockResponse], error) + } + // TxSender is the interface that wraps SendTxs method TxSender interface { + // SendTxs sends a transaction to a peer SendTxs(ctx context.Context, peerID types.NodeID, tx types.Tx) error } // Client is a stateful implementation of a client, which means that the client stores a request ID @@ -113,22 +147,68 @@ func New(descriptors map[p2p.ChannelID]*p2p.ChannelDescriptor, creator p2p.Chann // if response received in time otherwise reject func (c *Client) GetBlock(ctx context.Context, height int64, peerID types.NodeID) (*promise.Promise[*bcproto.BlockResponse], error) { reqID := uuid.NewString() - err := c.Send(ctx, p2p.Envelope{ - Attributes: map[string]string{RequestIDAttribute: reqID}, + msg := &bcproto.BlockRequest{Height: height} + respCh, err := c.sendWithResponse(ctx, reqID, peerID, msg) + if err != nil { + return nil, err + } + return newPromise[*bcproto.BlockResponse](ctx, peerID, reqID, respCh, c), nil +} + +// GetChunk requests a chunk from a peer and returns promise.Promise which resolve the result +func (c *Client) GetChunk( + ctx context.Context, + peerID types.NodeID, + height uint64, + version uint32, + chunkID []byte, +) (*promise.Promise[*statesync.ChunkResponse], error) { + reqID := uuid.NewString() + msg := &statesync.ChunkRequest{Height: height, Version: version, ChunkId: chunkID} + respCh, err := c.sendWithResponse(ctx, reqID, peerID, msg) + if err != nil { + return nil, err + } + return newPromise[*statesync.ChunkResponse](ctx, peerID, reqID, respCh, c), nil +} + +// GetSnapshots requests snapshots from a peer +func (c *Client) GetSnapshots(ctx context.Context, peerID types.NodeID) error { + return c.Send(ctx, p2p.Envelope{ + Attributes: map[string]string{RequestIDAttribute: uuid.NewString()}, To: peerID, - Message: &bcproto.BlockRequest{Height: height}, + Message: &statesync.SnapshotsRequest{}, }) +} + +// GetParams returns a promise.Promise which resolve the result if response received in time otherwise reject +func (c *Client) GetParams( + ctx context.Context, + peerID types.NodeID, + height uint64, +) (*promise.Promise[*statesync.ParamsResponse], error) { + reqID := uuid.NewString() + msg := &statesync.ParamsRequest{Height: height} + respCh, err := c.sendWithResponse(ctx, reqID, peerID, msg) if err != nil { - errSendError := c.Send(ctx, p2p.PeerError{ - NodeID: peerID, - Err: err, - }) - if errSendError != nil { - return nil, multierror.Append(err, errSendError) - } + return nil, err } - respCh := c.addPending(reqID) - return newPromise[*bcproto.BlockResponse](ctx, peerID, reqID, respCh, c), nil + return newPromise[*statesync.ParamsResponse](ctx, peerID, reqID, respCh, c), nil +} + +// GetLightBlock returns a promise.Promise which resolve the result if response received in time otherwise reject +func (c *Client) GetLightBlock( + ctx context.Context, + peerID types.NodeID, + height uint64, +) (*promise.Promise[*statesync.LightBlockResponse], error) { + reqID := uuid.NewString() + msg := &statesync.LightBlockRequest{Height: height} + respCh, err := c.sendWithResponse(ctx, reqID, peerID, msg) + if err != nil { + return nil, err + } + return newPromise[*statesync.LightBlockResponse](ctx, peerID, reqID, respCh, c), nil } // GetSyncStatus requests a block synchronization status from all connected peers @@ -238,6 +318,24 @@ func (c *Client) resolveMessage(ctx context.Context, respID string, res result) return nil } +func (c *Client) sendWithResponse(ctx context.Context, reqID string, peerID types.NodeID, msg proto.Message) (chan result, error) { + err := c.Send(ctx, p2p.Envelope{ + Attributes: map[string]string{RequestIDAttribute: reqID}, + To: peerID, + Message: msg, + }) + if err != nil { + errSendError := c.Send(ctx, p2p.PeerError{ + NodeID: peerID, + Err: err, + }) + if errSendError != nil { + return nil, multierror.Append(err, errSendError) + } + } + return c.addPending(reqID), nil +} + func (c *Client) addPending(reqID string) chan result { respCh := make(chan result, 1) c.pending.Store(reqID, respCh) diff --git a/internal/p2p/client/mocks/block_client.go b/internal/p2p/client/mocks/block_client.go index cd428e08b6..2960e66e1f 100644 --- a/internal/p2p/client/mocks/block_client.go +++ b/internal/p2p/client/mocks/block_client.go @@ -73,13 +73,12 @@ func (_m *BlockClient) Send(ctx context.Context, msg interface{}) error { return r0 } -type mockConstructorTestingTNewBlockClient interface { +// NewBlockClient creates a new instance of BlockClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewBlockClient(t interface { mock.TestingT Cleanup(func()) -} - -// NewBlockClient creates a new instance of BlockClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewBlockClient(t mockConstructorTestingTNewBlockClient) *BlockClient { +}) *BlockClient { mock := &BlockClient{} mock.Mock.Test(t) diff --git a/internal/p2p/client/mocks/snapshot_client.go b/internal/p2p/client/mocks/snapshot_client.go new file mode 100644 index 0000000000..af0b42fc34 --- /dev/null +++ b/internal/p2p/client/mocks/snapshot_client.go @@ -0,0 +1,125 @@ +// Code generated by mockery. DO NOT EDIT. + +package mocks + +import ( + context "context" + + mock "github.com/stretchr/testify/mock" + promise "github.com/tendermint/tendermint/libs/promise" + + statesync "github.com/tendermint/tendermint/proto/tendermint/statesync" + + types "github.com/tendermint/tendermint/types" +) + +// SnapshotClient is an autogenerated mock type for the SnapshotClient type +type SnapshotClient struct { + mock.Mock +} + +// GetChunk provides a mock function with given fields: ctx, peerID, height, format, index +func (_m *SnapshotClient) GetChunk(ctx context.Context, peerID types.NodeID, height uint64, format uint32, index uint32) (*promise.Promise[*statesync.ChunkResponse], error) { + ret := _m.Called(ctx, peerID, height, format, index) + + var r0 *promise.Promise[*statesync.ChunkResponse] + var r1 error + if rf, ok := ret.Get(0).(func(context.Context, types.NodeID, uint64, uint32, uint32) (*promise.Promise[*statesync.ChunkResponse], error)); ok { + return rf(ctx, peerID, height, format, index) + } + if rf, ok := ret.Get(0).(func(context.Context, types.NodeID, uint64, uint32, uint32) *promise.Promise[*statesync.ChunkResponse]); ok { + r0 = rf(ctx, peerID, height, format, index) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*promise.Promise[*statesync.ChunkResponse]) + } + } + + if rf, ok := ret.Get(1).(func(context.Context, types.NodeID, uint64, uint32, uint32) error); ok { + r1 = rf(ctx, peerID, height, format, index) + } else { + r1 = ret.Error(1) + } + + return r0, r1 +} + +// GetLightBlock provides a mock function with given fields: ctx, peerID, height +func (_m *SnapshotClient) GetLightBlock(ctx context.Context, peerID types.NodeID, height uint64) (*promise.Promise[*statesync.LightBlockResponse], error) { + ret := _m.Called(ctx, peerID, height) + + var r0 *promise.Promise[*statesync.LightBlockResponse] + var r1 error + if rf, ok := ret.Get(0).(func(context.Context, types.NodeID, uint64) (*promise.Promise[*statesync.LightBlockResponse], error)); ok { + return rf(ctx, peerID, height) + } + if rf, ok := ret.Get(0).(func(context.Context, types.NodeID, uint64) *promise.Promise[*statesync.LightBlockResponse]); ok { + r0 = rf(ctx, peerID, height) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*promise.Promise[*statesync.LightBlockResponse]) + } + } + + if rf, ok := ret.Get(1).(func(context.Context, types.NodeID, uint64) error); ok { + r1 = rf(ctx, peerID, height) + } else { + r1 = ret.Error(1) + } + + return r0, r1 +} + +// GetParams provides a mock function with given fields: ctx, peerID, height +func (_m *SnapshotClient) GetParams(ctx context.Context, peerID types.NodeID, height uint64) (*promise.Promise[*statesync.ParamsResponse], error) { + ret := _m.Called(ctx, peerID, height) + + var r0 *promise.Promise[*statesync.ParamsResponse] + var r1 error + if rf, ok := ret.Get(0).(func(context.Context, types.NodeID, uint64) (*promise.Promise[*statesync.ParamsResponse], error)); ok { + return rf(ctx, peerID, height) + } + if rf, ok := ret.Get(0).(func(context.Context, types.NodeID, uint64) *promise.Promise[*statesync.ParamsResponse]); ok { + r0 = rf(ctx, peerID, height) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*promise.Promise[*statesync.ParamsResponse]) + } + } + + if rf, ok := ret.Get(1).(func(context.Context, types.NodeID, uint64) error); ok { + r1 = rf(ctx, peerID, height) + } else { + r1 = ret.Error(1) + } + + return r0, r1 +} + +// GetSnapshots provides a mock function with given fields: ctx, peerID +func (_m *SnapshotClient) GetSnapshots(ctx context.Context, peerID types.NodeID) error { + ret := _m.Called(ctx, peerID) + + var r0 error + if rf, ok := ret.Get(0).(func(context.Context, types.NodeID) error); ok { + r0 = rf(ctx, peerID) + } else { + r0 = ret.Error(0) + } + + return r0 +} + +// NewSnapshotClient creates a new instance of SnapshotClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewSnapshotClient(t interface { + mock.TestingT + Cleanup(func()) +}) *SnapshotClient { + mock := &SnapshotClient{} + mock.Mock.Test(t) + + t.Cleanup(func() { mock.AssertExpectations(t) }) + + return mock +} diff --git a/internal/p2p/mocks/channel.go b/internal/p2p/mocks/channel.go index 9890baac6c..ca8c03b052 100644 --- a/internal/p2p/mocks/channel.go +++ b/internal/p2p/mocks/channel.go @@ -86,13 +86,12 @@ func (_m *Channel) String() string { return r0 } -type mockConstructorTestingTNewChannel interface { +// NewChannel creates a new instance of Channel. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewChannel(t interface { mock.TestingT Cleanup(func()) -} - -// NewChannel creates a new instance of Channel. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewChannel(t mockConstructorTestingTNewChannel) *Channel { +}) *Channel { mock := &Channel{} mock.Mock.Test(t) diff --git a/internal/p2p/mocks/connection.go b/internal/p2p/mocks/connection.go index 520c7e6894..82430b2f7a 100644 --- a/internal/p2p/mocks/connection.go +++ b/internal/p2p/mocks/connection.go @@ -159,13 +159,12 @@ func (_m *Connection) String() string { return r0 } -type mockConstructorTestingTNewConnection interface { +// NewConnection creates a new instance of Connection. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewConnection(t interface { mock.TestingT Cleanup(func()) -} - -// NewConnection creates a new instance of Connection. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewConnection(t mockConstructorTestingTNewConnection) *Connection { +}) *Connection { mock := &Connection{} mock.Mock.Test(t) diff --git a/internal/p2p/mocks/transport.go b/internal/p2p/mocks/transport.go index 7135a7ce4f..3398b21c69 100644 --- a/internal/p2p/mocks/transport.go +++ b/internal/p2p/mocks/transport.go @@ -158,13 +158,12 @@ func (_m *Transport) String() string { return r0 } -type mockConstructorTestingTNewTransport interface { +// NewTransport creates a new instance of Transport. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewTransport(t interface { mock.TestingT Cleanup(func()) -} - -// NewTransport creates a new instance of Transport. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewTransport(t mockConstructorTestingTNewTransport) *Transport { +}) *Transport { mock := &Transport{} mock.Mock.Test(t) diff --git a/internal/state/indexer/mocks/event_sink.go b/internal/state/indexer/mocks/event_sink.go index c62ad7ee7d..86a5b31432 100644 --- a/internal/state/indexer/mocks/event_sink.go +++ b/internal/state/indexer/mocks/event_sink.go @@ -178,13 +178,12 @@ func (_m *EventSink) Type() indexer.EventSinkType { return r0 } -type mockConstructorTestingTNewEventSink interface { +// NewEventSink creates a new instance of EventSink. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewEventSink(t interface { mock.TestingT Cleanup(func()) -} - -// NewEventSink creates a new instance of EventSink. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewEventSink(t mockConstructorTestingTNewEventSink) *EventSink { +}) *EventSink { mock := &EventSink{} mock.Mock.Test(t) diff --git a/internal/state/mocks/block_store.go b/internal/state/mocks/block_store.go index e4e2bb4aed..6dc0ce7d06 100644 --- a/internal/state/mocks/block_store.go +++ b/internal/state/mocks/block_store.go @@ -242,13 +242,12 @@ func (_m *BlockStore) Size() int64 { return r0 } -type mockConstructorTestingTNewBlockStore interface { +// NewBlockStore creates a new instance of BlockStore. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewBlockStore(t interface { mock.TestingT Cleanup(func()) -} - -// NewBlockStore creates a new instance of BlockStore. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewBlockStore(t mockConstructorTestingTNewBlockStore) *BlockStore { +}) *BlockStore { mock := &BlockStore{} mock.Mock.Test(t) diff --git a/internal/state/mocks/evidence_pool.go b/internal/state/mocks/evidence_pool.go index 4d90d986a5..c7cc9dcca6 100644 --- a/internal/state/mocks/evidence_pool.go +++ b/internal/state/mocks/evidence_pool.go @@ -75,13 +75,12 @@ func (_m *EvidencePool) Update(_a0 context.Context, _a1 state.State, _a2 types.E _m.Called(_a0, _a1, _a2) } -type mockConstructorTestingTNewEvidencePool interface { +// NewEvidencePool creates a new instance of EvidencePool. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewEvidencePool(t interface { mock.TestingT Cleanup(func()) -} - -// NewEvidencePool creates a new instance of EvidencePool. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewEvidencePool(t mockConstructorTestingTNewEvidencePool) *EvidencePool { +}) *EvidencePool { mock := &EvidencePool{} mock.Mock.Test(t) diff --git a/internal/state/mocks/executor.go b/internal/state/mocks/executor.go index 0539d96753..b102fb36e1 100644 --- a/internal/state/mocks/executor.go +++ b/internal/state/mocks/executor.go @@ -168,13 +168,12 @@ func (_m *Executor) VerifyVoteExtension(ctx context.Context, vote *types.Vote) e return r0 } -type mockConstructorTestingTNewExecutor interface { +// NewExecutor creates a new instance of Executor. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewExecutor(t interface { mock.TestingT Cleanup(func()) -} - -// NewExecutor creates a new instance of Executor. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewExecutor(t mockConstructorTestingTNewExecutor) *Executor { +}) *Executor { mock := &Executor{} mock.Mock.Test(t) diff --git a/internal/state/mocks/store.go b/internal/state/mocks/store.go index 086b3f06bf..6d51274f9a 100644 --- a/internal/state/mocks/store.go +++ b/internal/state/mocks/store.go @@ -199,13 +199,12 @@ func (_m *Store) SaveValidatorSets(_a0 int64, _a1 int64, _a2 *types.ValidatorSet return r0 } -type mockConstructorTestingTNewStore interface { +// NewStore creates a new instance of Store. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewStore(t interface { mock.TestingT Cleanup(func()) -} - -// NewStore creates a new instance of Store. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewStore(t mockConstructorTestingTNewStore) *Store { +}) *Store { mock := &Store{} mock.Mock.Test(t) diff --git a/internal/statesync/chunks_test.go b/internal/statesync/chunks_test.go index 1ba6af6612..eae4040120 100644 --- a/internal/statesync/chunks_test.go +++ b/internal/statesync/chunks_test.go @@ -137,7 +137,7 @@ func (suite *ChunkQueueTestSuite) TestAddChunkErrors() { "nil chunk": {nil}, "nil body": {&chunk{Height: 3, Version: 1, ID: []byte{1}, Chunk: nil}}, "wrong height": {&chunk{Height: 9, Version: 1, ID: []byte{2}, Chunk: []byte{2}}}, - "wrong format": {&chunk{Height: 3, Version: 9, ID: []byte{3}, Chunk: []byte{3}}}, + "wrong version": {&chunk{Height: 3, Version: 9, ID: []byte{3}, Chunk: []byte{3}}}, "invalid index": {&chunk{Height: 3, Version: 1, ID: []byte{4}, Chunk: []byte{4}}}, } for name, tc := range testCases { diff --git a/internal/statesync/mocks/state_provider.go b/internal/statesync/mocks/state_provider.go index 108ae499bc..acd99f42cf 100644 --- a/internal/statesync/mocks/state_provider.go +++ b/internal/statesync/mocks/state_provider.go @@ -95,13 +95,12 @@ func (_m *StateProvider) State(ctx context.Context, height uint64) (state.State, return r0, r1 } -type mockConstructorTestingTNewStateProvider interface { +// NewStateProvider creates a new instance of StateProvider. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewStateProvider(t interface { mock.TestingT Cleanup(func()) -} - -// NewStateProvider creates a new instance of StateProvider. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewStateProvider(t mockConstructorTestingTNewStateProvider) *StateProvider { +}) *StateProvider { mock := &StateProvider{} mock.Mock.Test(t) diff --git a/internal/statesync/peer.go b/internal/statesync/peer.go new file mode 100644 index 0000000000..f15e3fe1f9 --- /dev/null +++ b/internal/statesync/peer.go @@ -0,0 +1,154 @@ +package statesync + +import ( + "context" + + "github.com/tendermint/tendermint/internal/p2p" + "github.com/tendermint/tendermint/internal/p2p/client" + "github.com/tendermint/tendermint/libs/log" + "github.com/tendermint/tendermint/libs/store" + "github.com/tendermint/tendermint/types" +) + +type ( + // HandlerFunc is peer update event handler + HandlerFunc func(ctx context.Context, update p2p.PeerUpdate) error + // PeerManager is a manager for peers + PeerManager struct { + logger log.Logger + client client.SnapshotClient + peerStore store.Store[types.NodeID, PeerData] + peerSubs *PeerSubscriber + } + // PeerSubscriber is a subscriber for peer events + PeerSubscriber struct { + logger log.Logger + sub p2p.PeerEventSubscriber + handles map[p2p.PeerStatus]HandlerFunc + stopCh chan struct{} + stoppedCh chan struct{} + } + // PeerStatus is a status of a peer + PeerStatus int + // PeerData is a data of a peer + PeerData struct { + Snapshots []Snapshot + Status PeerStatus + } + // Snapshot is a snapshot of a peer + Snapshot struct { + Height int64 + } +) + +// List of peer statuses +const ( + PeerNotReady PeerStatus = iota + PeerReady +) + +// NewPeerSubscriber creates a new peer subscriber +func NewPeerSubscriber(logger log.Logger, sub p2p.PeerEventSubscriber) *PeerSubscriber { + return &PeerSubscriber{ + logger: logger, + sub: sub, + handles: make(map[p2p.PeerStatus]HandlerFunc), + stopCh: make(chan struct{}), + stoppedCh: make(chan struct{}), + } +} + +// On adds a handler for a peer update event +func (p *PeerSubscriber) On(eventName p2p.PeerStatus, handler HandlerFunc) { + p.handles[eventName] = handler +} + +// Start starts the peer subscriber +func (p *PeerSubscriber) Start(ctx context.Context) { + peerUpdates := p.sub(ctx, "statesync") + defer close(p.stoppedCh) + for { + select { + case <-ctx.Done(): + return + case peerUpdate := <-peerUpdates.Updates(): + err := p.execute(ctx, peerUpdate) + if err != nil { + p.logger.Error("failed to execute peer update event handler ", "err", err.Error()) + } + case <-p.stopCh: + return + } + } +} + +// Stop stops the peer subscriber +func (p *PeerSubscriber) Stop(ctx context.Context) { + close(p.stopCh) + select { + case <-ctx.Done(): + return + case <-p.stoppedCh: + return + } +} + +// processPeerUpdate processes a PeerUpdate, returning an error upon failing to +// handle the PeerUpdate or if a panic is recovered. +func (p *PeerSubscriber) execute(ctx context.Context, peerUpdate p2p.PeerUpdate) error { + p.logger.Info("received peer update", "peer", peerUpdate.NodeID, "status", peerUpdate.Status) + handler, ok := p.handles[peerUpdate.Status] + if !ok { + // TODO: return error or write a log + return nil // ignore + } + err := handler(ctx, peerUpdate) + if err != nil { + return err + } + p.logger.Info("processed peer update", "peer", peerUpdate.NodeID, "status", peerUpdate.Status) + return nil +} + +// NewPeerManager creates a new peer manager +func NewPeerManager( + logger log.Logger, + client client.SnapshotClient, + peerStore store.Store[types.NodeID, PeerData], + peerSubs *PeerSubscriber, +) *PeerManager { + return &PeerManager{ + logger: logger, + client: client, + peerStore: peerStore, + peerSubs: peerSubs, + } +} + +// Start starts the peer manager and its peer update listeners +func (p *PeerManager) Start(ctx context.Context) { + p.peerSubs.On(p2p.PeerStatusUp, func(ctx context.Context, update p2p.PeerUpdate) error { + p.peerStore.Put(update.NodeID, PeerData{Status: PeerNotReady}) + err := p.client.GetSnapshots(ctx, update.NodeID) + if err != nil { + p.logger.Error("failed to get snapshots promise", "err", err) + return err + } + return nil + }) + p.peerSubs.On(p2p.PeerStatusDown, func(ctx context.Context, update p2p.PeerUpdate) error { + p.peerStore.Delete(update.NodeID) + return nil + }) + p.peerSubs.Start(ctx) +} + +// Stop stops the peer manager and its peer update listeners +func (p *PeerManager) Stop(ctx context.Context) { + p.peerSubs.Stop(ctx) +} + +// NewPeerStore returns a new in-memory peer store +func NewPeerStore() *store.InMemStore[types.NodeID, PeerData] { + return store.NewInMemStore[types.NodeID, PeerData]() +} diff --git a/internal/statesync/peer_test.go b/internal/statesync/peer_test.go new file mode 100644 index 0000000000..184361821d --- /dev/null +++ b/internal/statesync/peer_test.go @@ -0,0 +1,78 @@ +package statesync + +import ( + "context" + "testing" + "time" + + "github.com/tendermint/tendermint/internal/p2p" + "github.com/tendermint/tendermint/internal/p2p/client/mocks" + "github.com/tendermint/tendermint/libs/log" + peerMocks "github.com/tendermint/tendermint/libs/store/mocks" + "github.com/tendermint/tendermint/types" +) + +func TestPeerSubscriberBasic(t *testing.T) { + ctx, cancel := context.WithTimeout(context.Background(), 10*time.Millisecond) + defer cancel() + inCh := make(chan p2p.PeerUpdate) + peerUpdates := p2p.NewPeerUpdates(inCh, 0, "test") + events := []p2p.PeerUpdate{ + {NodeID: "test", Status: p2p.PeerStatusUp}, + {NodeID: "test", Status: p2p.PeerStatusDown}, + } + p2pSub := func(context.Context, string) *p2p.PeerUpdates { + return peerUpdates + } + peerSub := NewPeerSubscriber(log.NewNopLogger(), p2pSub) + outCh := make(chan struct{}) + peerSub.On(p2p.PeerStatusUp, func(ctx context.Context, update p2p.PeerUpdate) error { + outCh <- struct{}{} + return nil + }) + peerSub.On(p2p.PeerStatusDown, func(ctx context.Context, update p2p.PeerUpdate) error { + outCh <- struct{}{} + return nil + }) + go func() { + peerSub.Start(ctx) + }() + go func() { + for _, event := range events { + inCh <- event + } + }() + for i := 0; i < len(events); i++ { + <-outCh + } + peerSub.Stop(ctx) +} + +func TestPeerManagerBasic(t *testing.T) { + ctx := context.Background() + peerID := types.NodeID("testID") + logger := log.NewNopLogger() + fakeClient := mocks.NewSnapshotClient(t) + fakeClient. + On("GetSnapshots", ctx, peerID). + Once(). + Return(nil) + peerUpdateCh := make(chan p2p.PeerUpdate) + peerSubs := NewPeerSubscriber(logger, func(context.Context, string) *p2p.PeerUpdates { + return p2p.NewPeerUpdates(peerUpdateCh, 0, "test") + }) + peerStore := peerMocks.NewStore[types.NodeID, PeerData](t) + peerStore. + On("Put", peerID, PeerData{Status: PeerNotReady}). + Once(). + Return(nil) + peerStore. + On("Delete", peerID). + Once(). + Return(nil) + manager := NewPeerManager(logger, fakeClient, peerStore, peerSubs) + go manager.Start(ctx) + peerUpdateCh <- p2p.PeerUpdate{NodeID: peerID, Status: p2p.PeerStatusUp} + peerUpdateCh <- p2p.PeerUpdate{NodeID: peerID, Status: p2p.PeerStatusDown} + manager.Stop(ctx) +} diff --git a/internal/statesync/reactor.go b/internal/statesync/reactor.go index 961a8f9591..bd7bf59d91 100644 --- a/internal/statesync/reactor.go +++ b/internal/statesync/reactor.go @@ -715,7 +715,7 @@ func (r *Reactor) handleSnapshotMessage(ctx context.Context, envelope *p2p.Envel logger.Info("received snapshot", "height", msg.Height, - "format", msg.Version) + "version", msg.Version) _, err := syncer.AddSnapshot(envelope.From, &snapshot{ Height: msg.Height, Version: msg.Version, diff --git a/internal/statesync/repo.go b/internal/statesync/repo.go new file mode 100644 index 0000000000..857faecf42 --- /dev/null +++ b/internal/statesync/repo.go @@ -0,0 +1,160 @@ +package statesync + +import ( + "context" + "fmt" + "sort" + + abciclient "github.com/tendermint/tendermint/abci/client" + abci "github.com/tendermint/tendermint/abci/types" + sm "github.com/tendermint/tendermint/internal/state" + "github.com/tendermint/tendermint/internal/store" + "github.com/tendermint/tendermint/libs/log" + "github.com/tendermint/tendermint/types" +) + +// LightBlockRepository is a repository for light blocks +type LightBlockRepository struct { + stateStore sm.Store + blockStore *store.BlockStore +} + +// Get works out whether the node has a light block at a particular +// height and if so returns it so it can be gossiped to peers +func (r *LightBlockRepository) Get(height uint64) (*types.LightBlock, error) { + h := int64(height) + + blockMeta := r.blockStore.LoadBlockMeta(h) + if blockMeta == nil { + return nil, nil + } + + commit := r.blockStore.LoadBlockCommit(h) + if commit == nil { + return nil, nil + } + + vals, err := r.stateStore.LoadValidators(h) + if err != nil { + return nil, err + } + if vals == nil { + return nil, nil + } + + return &types.LightBlock{ + SignedHeader: &types.SignedHeader{ + Header: &blockMeta.Header, + Commit: commit, + }, + ValidatorSet: vals, + }, nil +} + +// snapshotRepository is a repository for snapshots +type snapshotRepository struct { + logger log.Logger + client abci.StateSyncer +} + +// newSnapshotRepository creates a new snapshot repository +func newSnapshotRepository(client abciclient.Client, logger log.Logger) *snapshotRepository { + return &snapshotRepository{ + logger: logger, + client: client, + } +} + +// offerSnapshot offers a snapshot to the app. It returns various errors depending on the app's +// response, or nil if the snapshot was accepted. +func (r *snapshotRepository) offerSnapshot(ctx context.Context, snapshot *snapshot) error { //nolint:dupl + r.logger.Info("Offering snapshot to ABCI app", + "height", snapshot.Height, + "version", snapshot.Version, + "hash", snapshot.Hash) + resp, err := r.client.OfferSnapshot(ctx, &abci.RequestOfferSnapshot{ + Snapshot: &abci.Snapshot{ + Height: snapshot.Height, + Version: snapshot.Version, + Hash: snapshot.Hash, + Metadata: snapshot.Metadata, + }, + AppHash: snapshot.trustedAppHash, + }) + if err != nil { + return fmt.Errorf("failed to offer snapshot: %w", err) + } + switch resp.Result { + case abci.ResponseOfferSnapshot_ACCEPT: + r.logger.Info("Snapshot accepted, restoring", + "height", snapshot.Height, + "version", snapshot.Version, + "hash", snapshot.Hash) + return nil + case abci.ResponseOfferSnapshot_ABORT: + return errAbort + case abci.ResponseOfferSnapshot_REJECT: + return errRejectSnapshot + case abci.ResponseOfferSnapshot_REJECT_FORMAT: + return errRejectFormat + case abci.ResponseOfferSnapshot_REJECT_SENDER: + return errRejectSender + default: + return fmt.Errorf("unknown ResponseOfferSnapshot result %v", resp.Result) + } +} + +// loadSnapshotChunk loads a chunk of a snapshot from the app +func (r *snapshotRepository) loadSnapshotChunk( + ctx context.Context, + height uint64, + version uint32, + chunkID []byte, +) (*abci.ResponseLoadSnapshotChunk, error) { + return r.client.LoadSnapshotChunk(ctx, &abci.RequestLoadSnapshotChunk{ + Height: height, + Version: version, + ChunkId: chunkID, + }) +} + +// recentSnapshots fetches the n most recent snapshots from the app +func (r *snapshotRepository) recentSnapshots(ctx context.Context, n uint32) ([]*snapshot, error) { + resp, err := r.client.ListSnapshots(ctx, &abci.RequestListSnapshots{}) + if err != nil { + return nil, err + } + sortSnapshots(resp.Snapshots) + if n > recentSnapshots { + n = recentSnapshots + } + snapshots := make([]*snapshot, 0, n) + for _, s := range resp.Snapshots[:n] { + snapshots = append(snapshots, newSnapshotFromABCI(s)) + } + return snapshots, nil +} + +func sortSnapshots(snapshots []*abci.Snapshot) { + sort.Slice(snapshots, func(i, j int) bool { + a := snapshots[i] + b := snapshots[j] + switch { + case a.Height > b.Height: + return true + case a.Height == b.Height && a.Version > b.Version: + return true + default: + return false + } + }) +} + +func newSnapshotFromABCI(s *abci.Snapshot) *snapshot { + return &snapshot{ + Height: s.Height, + Version: s.Version, + Hash: s.Hash, + Metadata: s.Metadata, + } +} diff --git a/internal/statesync/repo_test.go b/internal/statesync/repo_test.go new file mode 100644 index 0000000000..1284e3d6b2 --- /dev/null +++ b/internal/statesync/repo_test.go @@ -0,0 +1,134 @@ +package statesync + +import ( + "context" + "fmt" + "math/rand" + "testing" + + "github.com/stretchr/testify/suite" + + clientmocks "github.com/tendermint/tendermint/abci/client/mocks" + abci "github.com/tendermint/tendermint/abci/types" + "github.com/tendermint/tendermint/libs/log" +) + +type snapshotRepositoryTestSuite struct { + suite.Suite + + client *clientmocks.Client + repo *snapshotRepository +} + +func TestSnapshotRepository(t *testing.T) { + suite.Run(t, new(snapshotRepositoryTestSuite)) +} + +func (suite *snapshotRepositoryTestSuite) SetupTest() { + suite.client = clientmocks.NewClient(suite.T()) + suite.repo = newSnapshotRepository(suite.client, log.NewNopLogger()) +} + +func (suite *snapshotRepositoryTestSuite) TestOfferSnapshot() { + ctx := context.Background() + fakeSnapshot := &snapshot{ + Height: 1, + Version: 0, + Hash: []byte{1, 2, 3, 4, 5}, + } + req := &abci.RequestOfferSnapshot{ + Snapshot: &abci.Snapshot{ + Height: fakeSnapshot.Height, + Version: fakeSnapshot.Version, + Hash: fakeSnapshot.Hash, + Metadata: fakeSnapshot.Metadata, + }, + } + testCases := []struct { + snapshot *snapshot + wantErr string + result abci.ResponseOfferSnapshot_Result + }{ + { + snapshot: fakeSnapshot, + result: abci.ResponseOfferSnapshot_ACCEPT, + }, + { + snapshot: fakeSnapshot, + result: abci.ResponseOfferSnapshot_ABORT, + wantErr: errAbort.Error(), + }, + { + snapshot: fakeSnapshot, + result: abci.ResponseOfferSnapshot_REJECT, + wantErr: errRejectSnapshot.Error(), + }, + { + snapshot: fakeSnapshot, + result: abci.ResponseOfferSnapshot_REJECT_FORMAT, + wantErr: errRejectFormat.Error(), + }, + { + snapshot: fakeSnapshot, + result: abci.ResponseOfferSnapshot_REJECT_SENDER, + wantErr: errRejectSender.Error(), + }, + } + for i, tc := range testCases { + suite.Run(fmt.Sprintf("%d", i), func() { + suite.client. + On("OfferSnapshot", ctx, req). + Once(). + Return(&abci.ResponseOfferSnapshot{Result: tc.result}, nil) + err := suite.repo.offerSnapshot(ctx, tc.snapshot) + if tc.wantErr != "" { + suite.Require().ErrorContains(err, tc.wantErr) + } else { + suite.Require().NoError(err) + } + }) + } +} + +func (suite *snapshotRepositoryTestSuite) TestLoadSnapshotChunk() { + ctx := context.Background() + data := []byte{1, 2, 3, 4, 5} + suite.client. + On("LoadSnapshotChunk", ctx, &abci.RequestLoadSnapshotChunk{ + Height: 1, + Version: 2, + ChunkId: []byte{3}, + }). + Once(). + Return(&abci.ResponseLoadSnapshotChunk{Chunk: data}, nil) + resp, err := suite.repo.loadSnapshotChunk(ctx, 1, 2, []byte{3}) + suite.Require().NoError(err) + suite.Require().Equal(data, resp.Chunk) +} + +func (suite *snapshotRepositoryTestSuite) TestRecentSnapshots() { + ctx := context.Background() + const storedLen = 20 + storedSnapshots := make([]*abci.Snapshot, 0, storedLen) + for i := 1; i <= storedLen; i++ { + storedSnapshots = append(storedSnapshots, &abci.Snapshot{ + Height: uint64(i * 1000), + Version: 0, + }) + } + rand.Shuffle(20, func(i, j int) { + storedSnapshots[i], storedSnapshots[j] = storedSnapshots[j], storedSnapshots[i] + }) + suite.client. + On("ListSnapshots", ctx, &abci.RequestListSnapshots{}). + Once(). + Return(&abci.ResponseListSnapshots{Snapshots: storedSnapshots}, nil) + snapshots, err := suite.repo.recentSnapshots(ctx, 5) + suite.Require().NoError(err) + suite.Require().Len(snapshots, 5) + heights := make([]uint64, 0, 5) + for _, ss := range snapshots { + heights = append(heights, ss.Height) + } + suite.Require().Equal([]uint64{20000, 19000, 18000, 17000, 16000}, heights) +} diff --git a/internal/statesync/snapshots_test.go b/internal/statesync/snapshots_test.go index 8e97f05c8f..76b94396f7 100644 --- a/internal/statesync/snapshots_test.go +++ b/internal/statesync/snapshots_test.go @@ -13,7 +13,7 @@ func TestSnapshot_Key(t *testing.T) { modify func(*snapshot) }{ "new height": {func(s *snapshot) { s.Height = 9 }}, - "new format": {func(s *snapshot) { s.Version = 9 }}, + "new version": {func(s *snapshot) { s.Version = 9 }}, "new hash": {func(s *snapshot) { s.Hash = []byte{9} }}, "no metadata": {func(s *snapshot) { s.Metadata = nil }}, } diff --git a/internal/statesync/syncer.go b/internal/statesync/syncer.go index 9dcfb08fea..d9f3f086d5 100644 --- a/internal/statesync/syncer.go +++ b/internal/statesync/syncer.go @@ -40,7 +40,7 @@ var ( // errRejectSnapshot is returned by Sync() when the snapshot is rejected. errRejectSnapshot = errors.New("snapshot was rejected") // errRejectFormat is returned by Sync() when the snapshot format is rejected. - errRejectFormat = errors.New("snapshot format was rejected") + errRejectFormat = errors.New("snapshot version was rejected") // errRejectSender is returned by Sync() when the snapshot sender is rejected. errRejectSender = errors.New("snapshot sender was rejected") // errVerifyFailed is returned by Sync() when app hash or last height @@ -118,7 +118,7 @@ func (s *syncer) AddSnapshot(peerID types.NodeID, snapshot *snapshot) (bool, err s.metrics.TotalSnapshots.Add(1) s.logger.Info("Discovered new snapshot", "height", snapshot.Height, - "format", snapshot.Version, + "version", snapshot.Version, "hash", snapshot.Hash.ShortString()) } return added, nil @@ -225,7 +225,7 @@ func (s *syncer) SyncAny( queue.RetryAll() s.logger.Info("Retrying snapshot", "height", snapshot.Height, - "format", snapshot.Version, + "version", snapshot.Version, "hash", snapshot.Hash) continue @@ -233,24 +233,24 @@ func (s *syncer) SyncAny( s.snapshots.Reject(snapshot) s.logger.Error("Timed out waiting for snapshot chunks, rejected snapshot", "height", snapshot.Height, - "format", snapshot.Version, + "version", snapshot.Version, "hash", snapshot.Hash) case errors.Is(err, errRejectSnapshot): s.snapshots.Reject(snapshot) s.logger.Info("Snapshot rejected", "height", snapshot.Height, - "format", snapshot.Version, + "version", snapshot.Version, "hash", snapshot.Hash) case errors.Is(err, errRejectFormat): s.snapshots.RejectVersion(snapshot.Version) - s.logger.Info("Snapshot format rejected", "format", snapshot.Version) + s.logger.Info("Snapshot version rejected", "version", snapshot.Version) case errors.Is(err, errRejectSender): s.logger.Info("Snapshot senders rejected", "height", snapshot.Height, - "format", snapshot.Version, + "version", snapshot.Version, "hash", snapshot.Hash) for _, peer := range s.snapshots.GetPeers(snapshot) { s.snapshots.RejectPeer(peer) @@ -315,7 +315,7 @@ func (s *syncer) Sync(ctx context.Context, snapshot *snapshot, queue *chunkQueue if err != nil { s.logger.Error("Snapshot wasn't accepted", "height", snapshot.Height, - "format", snapshot.Version, + "version", snapshot.Version, "hash", snapshot.Hash, "error", err) return sm.State{}, nil, err @@ -387,7 +387,7 @@ func (s *syncer) Sync(ctx context.Context, snapshot *snapshot, queue *chunkQueue // offerSnapshot offers a snapshot to the app. It returns various errors depending on the app's // response, or nil if the snapshot was accepted. -func (s *syncer) offerSnapshot(ctx context.Context, snapshot *snapshot) error { +func (s *syncer) offerSnapshot(ctx context.Context, snapshot *snapshot) error { //nolint:dupl s.logger.Info("Offering snapshot to ABCI app", "height", snapshot.Height, "version", snapshot.Version, @@ -408,7 +408,7 @@ func (s *syncer) offerSnapshot(ctx context.Context, snapshot *snapshot) error { case abci.ResponseOfferSnapshot_ACCEPT: s.logger.Info("Snapshot accepted, restoring", "height", snapshot.Height, - "format", snapshot.Version, + "version", snapshot.Version, "hash", snapshot.Hash) return nil case abci.ResponseOfferSnapshot_ABORT: diff --git a/internal/statesync/syncer_test.go b/internal/statesync/syncer_test.go index d1b9172333..e3850fe43e 100644 --- a/internal/statesync/syncer_test.go +++ b/internal/statesync/syncer_test.go @@ -497,7 +497,7 @@ func (suite *SyncerTestSuite) TestOfferSnapshot() { "accept": {abci.ResponseOfferSnapshot_ACCEPT, nil, nil}, "abort": {abci.ResponseOfferSnapshot_ABORT, nil, errAbort}, "reject": {abci.ResponseOfferSnapshot_REJECT, nil, errRejectSnapshot}, - "reject_format": {abci.ResponseOfferSnapshot_REJECT_FORMAT, nil, errRejectFormat}, + "reject_version": {abci.ResponseOfferSnapshot_REJECT_FORMAT, nil, errRejectFormat}, "reject_sender": {abci.ResponseOfferSnapshot_REJECT_SENDER, nil, errRejectSender}, "unknown": {abci.ResponseOfferSnapshot_UNKNOWN, nil, unknownErr}, "error": {0, boom, boom}, diff --git a/libs/ds/ordered_map.go b/libs/ds/ordered_map.go index a9325a5590..99e471c066 100644 --- a/libs/ds/ordered_map.go +++ b/libs/ds/ordered_map.go @@ -3,6 +3,7 @@ package ds // OrderedMap is a map with a deterministic iteration order // this datastructure is not thread-safe type OrderedMap[T comparable, V any] struct { + len int keys map[T]int values []V } @@ -21,8 +22,13 @@ func (m *OrderedMap[T, V]) Put(key T, val V) { m.values[i] = val return } - m.keys[key] = len(m.values) - m.values = append(m.values, val) + m.keys[key] = m.len + if len(m.values) == m.len { + m.values = append(m.values, val) + } else { + m.values[m.len] = val + } + m.len++ } // Get returns the value for a given key @@ -47,13 +53,17 @@ func (m *OrderedMap[T, V]) Delete(key T) { if !ok { return } + i++ + for ; i < len(m.values); i++ { + m.values[i-1] = m.values[i] + } delete(m.keys, key) - m.values = append(m.values[:i], m.values[i+1:]...) + m.len-- } // Values returns all values in the map func (m *OrderedMap[T, V]) Values() []V { - return append([]V{}, m.values...) + return append([]V{}, m.values[0:m.len]...) } // Keys returns all keys in the map @@ -67,5 +77,5 @@ func (m *OrderedMap[T, V]) Keys() []T { // Len returns a number of the map func (m *OrderedMap[T, V]) Len() int { - return len(m.keys) + return m.len } diff --git a/libs/store/mocks/store.go b/libs/store/mocks/store.go new file mode 100644 index 0000000000..dea945aed5 --- /dev/null +++ b/libs/store/mocks/store.go @@ -0,0 +1,129 @@ +// Code generated by mockery. DO NOT EDIT. + +package mocks + +import ( + mock "github.com/stretchr/testify/mock" + store "github.com/tendermint/tendermint/libs/store" +) + +// Store is an autogenerated mock type for the Store type +type Store[K comparable, V interface{}] struct { + mock.Mock +} + +// All provides a mock function with given fields: +func (_m *Store[K, V]) All() []V { + ret := _m.Called() + + var r0 []V + if rf, ok := ret.Get(0).(func() []V); ok { + r0 = rf() + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).([]V) + } + } + + return r0 +} + +// Delete provides a mock function with given fields: key +func (_m *Store[K, V]) Delete(key K) { + _m.Called(key) +} + +// Get provides a mock function with given fields: key +func (_m *Store[K, V]) Get(key K) (V, bool) { + ret := _m.Called(key) + + var r0 V + var r1 bool + if rf, ok := ret.Get(0).(func(K) (V, bool)); ok { + return rf(key) + } + if rf, ok := ret.Get(0).(func(K) V); ok { + r0 = rf(key) + } else { + r0 = ret.Get(0).(V) + } + + if rf, ok := ret.Get(1).(func(K) bool); ok { + r1 = rf(key) + } else { + r1 = ret.Get(1).(bool) + } + + return r0, r1 +} + +// GetAndDelete provides a mock function with given fields: key +func (_m *Store[K, V]) GetAndDelete(key K) (V, bool) { + ret := _m.Called(key) + + var r0 V + var r1 bool + if rf, ok := ret.Get(0).(func(K) (V, bool)); ok { + return rf(key) + } + if rf, ok := ret.Get(0).(func(K) V); ok { + r0 = rf(key) + } else { + r0 = ret.Get(0).(V) + } + + if rf, ok := ret.Get(1).(func(K) bool); ok { + r1 = rf(key) + } else { + r1 = ret.Get(1).(bool) + } + + return r0, r1 +} + +// Put provides a mock function with given fields: key, data +func (_m *Store[K, V]) Put(key K, data V) { + _m.Called(key, data) +} + +// Query provides a mock function with given fields: spec, limit +func (_m *Store[K, V]) Query(spec store.QueryFunc[K, V], limit int) []*V { + ret := _m.Called(spec, limit) + + var r0 []*V + if rf, ok := ret.Get(0).(func(store.QueryFunc[K, V], int) []*V); ok { + r0 = rf(spec, limit) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).([]*V) + } + } + + return r0 +} + +// Update provides a mock function with given fields: key, updates +func (_m *Store[K, V]) Update(key K, updates ...store.UpdateFunc[K, V]) { + _va := make([]interface{}, len(updates)) + for _i := range updates { + _va[_i] = updates[_i] + } + var _ca []interface{} + _ca = append(_ca, key) + _ca = append(_ca, _va...) + _m.Called(_ca...) +} + +// NewStore creates a new instance of Store. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewStore[K comparable, V interface{}](t interface { + mock.TestingT + Cleanup(func()) +}) *Store[K, V] { + mock := &Store[K, V]{} + mock.Mock.Test(t) + + t.Cleanup(func() { mock.AssertExpectations(t) }) + + return mock +} diff --git a/libs/store/store.go b/libs/store/store.go new file mode 100644 index 0000000000..ed086937ff --- /dev/null +++ b/libs/store/store.go @@ -0,0 +1,126 @@ +//go:generate ../../scripts/mockery_generate.sh Store + +package store + +import ( + sync "github.com/sasha-s/go-deadlock" + "github.com/tendermint/tendermint/libs/ds" +) + +type ( + Store[K comparable, V any] interface { + Get(key K) (V, bool) + GetAndDelete(key K) (V, bool) + Put(key K, data V) + Delete(key K) + Update(key K, updates ...UpdateFunc[K, V]) + Query(spec QueryFunc[K, V], limit int) []*V + All() []V + } + // QueryFunc is a function type for a specification function + QueryFunc[K comparable, V any] func(key K, data V) bool + // UpdateFunc is a function type for an item update functions + UpdateFunc[K comparable, V any] func(key K, item *V) + // InMemStore in-memory peer store + InMemStore[K comparable, T any] struct { + mtx sync.RWMutex + items *ds.OrderedMap[K, T] + } +) + +// NewInMemStore creates a new in-memory peer store +func NewInMemStore[K comparable, V any]() *InMemStore[K, V] { + mem := &InMemStore[K, V]{ + items: ds.NewOrderedMap[K, V](), + } + return mem +} + +// Get returns peer's data and true if the peer is found otherwise empty structure and false +func (p *InMemStore[K, T]) Get(key K) (T, bool) { + p.mtx.RLock() + defer p.mtx.RUnlock() + return p.items.Get(key) +} + +// GetAndDelete combines Get operation and Delete in one call +func (p *InMemStore[K, T]) GetAndDelete(key K) (T, bool) { + p.mtx.Lock() + defer p.mtx.Unlock() + val, found := p.items.Get(key) + if found { + p.items.Delete(key) + return val, true + } + var zero T + return zero, found +} + +// Put adds the peer data to the store if the peer does not exist, otherwise update the current value +func (p *InMemStore[K, T]) Put(key K, data T) { + p.mtx.Lock() + defer p.mtx.Unlock() + p.items.Put(key, data) +} + +// Delete removes the peer data from the store +func (p *InMemStore[K, T]) Delete(key K) { + p.mtx.Lock() + defer p.mtx.Unlock() + p.items.Delete(key) +} + +// Update applies update functions to the peer if it exists +func (p *InMemStore[K, T]) Update(key K, updates ...UpdateFunc[K, T]) { + p.mtx.Lock() + defer p.mtx.Unlock() + val, found := p.items.Get(key) + if !found { + return + } + for _, update := range updates { + update(key, &val) + } + p.items.Put(key, val) +} + +// Query finds and returns the copy of values by specification conditions +func (p *InMemStore[K, T]) Query(spec QueryFunc[K, T], limit int) []T { + p.mtx.RLock() + defer p.mtx.RUnlock() + return p.query(spec, limit) +} + +// All returns all stored values in the store +func (p *InMemStore[K, T]) All() []T { + p.mtx.RLock() + defer p.mtx.RUnlock() + return p.items.Values() +} + +// Len returns the count of all stored values +func (p *InMemStore[K, T]) Len() int { + p.mtx.RLock() + defer p.mtx.RUnlock() + return p.items.Len() +} + +// IsZero returns true if the store doesn't have a peer yet otherwise false +func (p *InMemStore[K, T]) IsZero() bool { + return p.Len() == 0 +} + +func (p *InMemStore[K, T]) query(spec QueryFunc[K, T], limit int) []T { + var res []T + keys := p.items.Keys() + vals := p.items.Values() + for i := 0; i < len(keys); i++ { + if spec(keys[i], vals[i]) { + res = append(res, vals[i]) + if limit > 0 && limit == len(res) { + return res + } + } + } + return res +} diff --git a/libs/store/store_test.go b/libs/store/store_test.go new file mode 100644 index 0000000000..47db3cbf67 --- /dev/null +++ b/libs/store/store_test.go @@ -0,0 +1,61 @@ +package store + +import ( + "testing" + + "github.com/stretchr/testify/require" +) + +func TestInMemStore(t *testing.T) { + type pair struct { + key string + val int + } + store := NewInMemStore[string, int]() + require.True(t, store.IsZero()) + pairs := []pair{{"key1", 1}, {"key2", 2}, {"key3", 3}} + for _, p := range pairs { + store.Put(p.key, p.val) + } + for _, p := range pairs { + val, ok := store.Get(p.key) + require.True(t, ok) + require.Equal(t, p.val, val) + } + require.Equal(t, 3, store.Len()) + require.False(t, store.IsZero()) + require.Equal(t, []int{1, 2, 3}, store.All()) + // Query test + { + vals := store.Query(func(key string, val int) bool { + return val > 1 + }, 0) + require.Equal(t, []int{2, 3}, vals) + } + // GetAndDelete test + { + val, ok := store.GetAndDelete(pairs[0].key) + require.True(t, ok) + require.Equal(t, pairs[0].val, val) + _, ok = store.Get(pairs[0].key) + require.False(t, ok) + _, ok = store.GetAndDelete(pairs[0].key) + require.False(t, ok) + } + // Delete test + { + store.Delete(pairs[1].key) + _, ok := store.Get(pairs[1].key) + require.False(t, ok) + } + // Update test + { + updateFun := func(key string, it *int) { + *it++ + } + store.Update(pairs[2].key, updateFun) + val, ok := store.Get(pairs[2].key) + require.True(t, ok) + require.Equal(t, pairs[2].val+1, val) + } +} diff --git a/light/provider/mocks/provider.go b/light/provider/mocks/provider.go index dd6a7487a7..3a71108e40 100644 --- a/light/provider/mocks/provider.go +++ b/light/provider/mocks/provider.go @@ -69,13 +69,12 @@ func (_m *Provider) ReportEvidence(_a0 context.Context, _a1 types.Evidence) erro return r0 } -type mockConstructorTestingTNewProvider interface { +// NewProvider creates a new instance of Provider. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewProvider(t interface { mock.TestingT Cleanup(func()) -} - -// NewProvider creates a new instance of Provider. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewProvider(t mockConstructorTestingTNewProvider) *Provider { +}) *Provider { mock := &Provider{} mock.Mock.Test(t) diff --git a/light/rpc/mocks/light_client.go b/light/rpc/mocks/light_client.go index 117df9f2bf..0212394edd 100644 --- a/light/rpc/mocks/light_client.go +++ b/light/rpc/mocks/light_client.go @@ -125,13 +125,12 @@ func (_m *LightClient) VerifyLightBlockAtHeight(ctx context.Context, height int6 return r0, r1 } -type mockConstructorTestingTNewLightClient interface { +// NewLightClient creates a new instance of LightClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewLightClient(t interface { mock.TestingT Cleanup(func()) -} - -// NewLightClient creates a new instance of LightClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewLightClient(t mockConstructorTestingTNewLightClient) *LightClient { +}) *LightClient { mock := &LightClient{} mock.Mock.Test(t) diff --git a/rpc/client/mocks/abci_client.go b/rpc/client/mocks/abci_client.go index 504c4efd87..743a093ef5 100644 --- a/rpc/client/mocks/abci_client.go +++ b/rpc/client/mocks/abci_client.go @@ -202,13 +202,12 @@ func (_m *ABCIClient) BroadcastTxSync(_a0 context.Context, _a1 types.Tx) (*coret return r0, r1 } -type mockConstructorTestingTNewABCIClient interface { +// NewABCIClient creates a new instance of ABCIClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewABCIClient(t interface { mock.TestingT Cleanup(func()) -} - -// NewABCIClient creates a new instance of ABCIClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewABCIClient(t mockConstructorTestingTNewABCIClient) *ABCIClient { +}) *ABCIClient { mock := &ABCIClient{} mock.Mock.Test(t) diff --git a/rpc/client/mocks/client.go b/rpc/client/mocks/client.go index daf2207c8b..c76739cd79 100644 --- a/rpc/client/mocks/client.go +++ b/rpc/client/mocks/client.go @@ -915,13 +915,12 @@ func (_m *Client) Validators(ctx context.Context, height *int64, page *int, perP return r0, r1 } -type mockConstructorTestingTNewClient interface { +// NewClient creates a new instance of Client. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewClient(t interface { mock.TestingT Cleanup(func()) -} - -// NewClient creates a new instance of Client. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewClient(t mockConstructorTestingTNewClient) *Client { +}) *Client { mock := &Client{} mock.Mock.Test(t) diff --git a/rpc/client/mocks/events_client.go b/rpc/client/mocks/events_client.go index 0e158f9cd2..35ac0a8bca 100644 --- a/rpc/client/mocks/events_client.go +++ b/rpc/client/mocks/events_client.go @@ -40,13 +40,12 @@ func (_m *EventsClient) Events(ctx context.Context, req *coretypes.RequestEvents return r0, r1 } -type mockConstructorTestingTNewEventsClient interface { +// NewEventsClient creates a new instance of EventsClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewEventsClient(t interface { mock.TestingT Cleanup(func()) -} - -// NewEventsClient creates a new instance of EventsClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewEventsClient(t mockConstructorTestingTNewEventsClient) *EventsClient { +}) *EventsClient { mock := &EventsClient{} mock.Mock.Test(t) diff --git a/rpc/client/mocks/evidence_client.go b/rpc/client/mocks/evidence_client.go index 9c95244d2d..88905be0ca 100644 --- a/rpc/client/mocks/evidence_client.go +++ b/rpc/client/mocks/evidence_client.go @@ -42,13 +42,12 @@ func (_m *EvidenceClient) BroadcastEvidence(_a0 context.Context, _a1 types.Evide return r0, r1 } -type mockConstructorTestingTNewEvidenceClient interface { +// NewEvidenceClient creates a new instance of EvidenceClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewEvidenceClient(t interface { mock.TestingT Cleanup(func()) -} - -// NewEvidenceClient creates a new instance of EvidenceClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewEvidenceClient(t mockConstructorTestingTNewEvidenceClient) *EvidenceClient { +}) *EvidenceClient { mock := &EvidenceClient{} mock.Mock.Test(t) diff --git a/rpc/client/mocks/history_client.go b/rpc/client/mocks/history_client.go index 3e7d6f0541..5d6fb88b5f 100644 --- a/rpc/client/mocks/history_client.go +++ b/rpc/client/mocks/history_client.go @@ -92,13 +92,12 @@ func (_m *HistoryClient) GenesisChunked(_a0 context.Context, _a1 uint) (*coretyp return r0, r1 } -type mockConstructorTestingTNewHistoryClient interface { +// NewHistoryClient creates a new instance of HistoryClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewHistoryClient(t interface { mock.TestingT Cleanup(func()) -} - -// NewHistoryClient creates a new instance of HistoryClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewHistoryClient(t mockConstructorTestingTNewHistoryClient) *HistoryClient { +}) *HistoryClient { mock := &HistoryClient{} mock.Mock.Test(t) diff --git a/rpc/client/mocks/mempool_client.go b/rpc/client/mocks/mempool_client.go index 3ac15fc2eb..718acedf21 100644 --- a/rpc/client/mocks/mempool_client.go +++ b/rpc/client/mocks/mempool_client.go @@ -108,13 +108,12 @@ func (_m *MempoolClient) UnconfirmedTxs(ctx context.Context, page *int, perPage return r0, r1 } -type mockConstructorTestingTNewMempoolClient interface { +// NewMempoolClient creates a new instance of MempoolClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewMempoolClient(t interface { mock.TestingT Cleanup(func()) -} - -// NewMempoolClient creates a new instance of MempoolClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewMempoolClient(t mockConstructorTestingTNewMempoolClient) *MempoolClient { +}) *MempoolClient { mock := &MempoolClient{} mock.Mock.Test(t) diff --git a/rpc/client/mocks/network_client.go b/rpc/client/mocks/network_client.go index d09b3c8dcf..8fc8564a58 100644 --- a/rpc/client/mocks/network_client.go +++ b/rpc/client/mocks/network_client.go @@ -144,13 +144,12 @@ func (_m *NetworkClient) NetInfo(_a0 context.Context) (*coretypes.ResultNetInfo, return r0, r1 } -type mockConstructorTestingTNewNetworkClient interface { +// NewNetworkClient creates a new instance of NetworkClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewNetworkClient(t interface { mock.TestingT Cleanup(func()) -} - -// NewNetworkClient creates a new instance of NetworkClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewNetworkClient(t mockConstructorTestingTNewNetworkClient) *NetworkClient { +}) *NetworkClient { mock := &NetworkClient{} mock.Mock.Test(t) diff --git a/rpc/client/mocks/remote_client.go b/rpc/client/mocks/remote_client.go index ddb932981c..1df630e0db 100644 --- a/rpc/client/mocks/remote_client.go +++ b/rpc/client/mocks/remote_client.go @@ -929,13 +929,12 @@ func (_m *RemoteClient) Validators(ctx context.Context, height *int64, page *int return r0, r1 } -type mockConstructorTestingTNewRemoteClient interface { +// NewRemoteClient creates a new instance of RemoteClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewRemoteClient(t interface { mock.TestingT Cleanup(func()) -} - -// NewRemoteClient creates a new instance of RemoteClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewRemoteClient(t mockConstructorTestingTNewRemoteClient) *RemoteClient { +}) *RemoteClient { mock := &RemoteClient{} mock.Mock.Test(t) diff --git a/rpc/client/mocks/sign_client.go b/rpc/client/mocks/sign_client.go index aa192a75c3..fbbe98632e 100644 --- a/rpc/client/mocks/sign_client.go +++ b/rpc/client/mocks/sign_client.go @@ -277,13 +277,12 @@ func (_m *SignClient) Validators(ctx context.Context, height *int64, page *int, return r0, r1 } -type mockConstructorTestingTNewSignClient interface { +// NewSignClient creates a new instance of SignClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewSignClient(t interface { mock.TestingT Cleanup(func()) -} - -// NewSignClient creates a new instance of SignClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewSignClient(t mockConstructorTestingTNewSignClient) *SignClient { +}) *SignClient { mock := &SignClient{} mock.Mock.Test(t) diff --git a/rpc/client/mocks/status_client.go b/rpc/client/mocks/status_client.go index 801bd3112c..0c476a1897 100644 --- a/rpc/client/mocks/status_client.go +++ b/rpc/client/mocks/status_client.go @@ -40,13 +40,12 @@ func (_m *StatusClient) Status(_a0 context.Context) (*coretypes.ResultStatus, er return r0, r1 } -type mockConstructorTestingTNewStatusClient interface { +// NewStatusClient creates a new instance of StatusClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewStatusClient(t interface { mock.TestingT Cleanup(func()) -} - -// NewStatusClient creates a new instance of StatusClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewStatusClient(t mockConstructorTestingTNewStatusClient) *StatusClient { +}) *StatusClient { mock := &StatusClient{} mock.Mock.Test(t) diff --git a/rpc/client/mocks/subscription_client.go b/rpc/client/mocks/subscription_client.go index 580809a8e1..2ce0795a04 100644 --- a/rpc/client/mocks/subscription_client.go +++ b/rpc/client/mocks/subscription_client.go @@ -75,13 +75,12 @@ func (_m *SubscriptionClient) UnsubscribeAll(ctx context.Context, subscriber str return r0 } -type mockConstructorTestingTNewSubscriptionClient interface { +// NewSubscriptionClient creates a new instance of SubscriptionClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewSubscriptionClient(t interface { mock.TestingT Cleanup(func()) -} - -// NewSubscriptionClient creates a new instance of SubscriptionClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewSubscriptionClient(t mockConstructorTestingTNewSubscriptionClient) *SubscriptionClient { +}) *SubscriptionClient { mock := &SubscriptionClient{} mock.Mock.Test(t) diff --git a/types/mocks/block_event_publisher.go b/types/mocks/block_event_publisher.go index b77fd67527..b9c4bcdc01 100644 --- a/types/mocks/block_event_publisher.go +++ b/types/mocks/block_event_publisher.go @@ -82,13 +82,12 @@ func (_m *BlockEventPublisher) PublishEventValidatorSetUpdates(_a0 types.EventDa return r0 } -type mockConstructorTestingTNewBlockEventPublisher interface { +// NewBlockEventPublisher creates a new instance of BlockEventPublisher. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewBlockEventPublisher(t interface { mock.TestingT Cleanup(func()) -} - -// NewBlockEventPublisher creates a new instance of BlockEventPublisher. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewBlockEventPublisher(t mockConstructorTestingTNewBlockEventPublisher) *BlockEventPublisher { +}) *BlockEventPublisher { mock := &BlockEventPublisher{} mock.Mock.Test(t) diff --git a/types/mocks/priv_validator.go b/types/mocks/priv_validator.go index 194fb36dba..d1cfd55ff7 100644 --- a/types/mocks/priv_validator.go +++ b/types/mocks/priv_validator.go @@ -239,13 +239,12 @@ func (_m *PrivValidator) UpdatePrivateKey(ctx context.Context, privateKey crypto _m.Called(ctx, privateKey, quorumHash, thresholdPublicKey, height) } -type mockConstructorTestingTNewPrivValidator interface { +// NewPrivValidator creates a new instance of PrivValidator. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewPrivValidator(t interface { mock.TestingT Cleanup(func()) -} - -// NewPrivValidator creates a new instance of PrivValidator. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewPrivValidator(t mockConstructorTestingTNewPrivValidator) *PrivValidator { +}) *PrivValidator { mock := &PrivValidator{} mock.Mock.Test(t) From d90e0588abed92f8a69fae57ae5c00f98de5157c Mon Sep 17 00:00:00 2001 From: Dmitrii Golubev Date: Mon, 21 Aug 2023 12:54:08 +0200 Subject: [PATCH 12/19] refactor(blocksync): migrate peer-manager on generic store (#666) * refactor: implement a peer manager and some additional improvements * refactor: move in-memory store in libs/store package * refactor: migrate blocksync peer-manager to libs/store * chore: regenerate mock libs/store/mocks * refactor: move AndX func to the libs/store --- internal/blocksync/block_fetch_job.go | 2 +- internal/blocksync/block_fetch_job_test.go | 4 +- internal/blocksync/peer_store.go | 192 ++++++--------------- internal/blocksync/peer_store_test.go | 8 +- internal/blocksync/synchronizer.go | 6 +- libs/store/mocks/store.go | 36 +++- libs/store/store.go | 16 +- 7 files changed, 111 insertions(+), 153 deletions(-) diff --git a/internal/blocksync/block_fetch_job.go b/internal/blocksync/block_fetch_job.go index 7c9a455597..fbab35034f 100644 --- a/internal/blocksync/block_fetch_job.go +++ b/internal/blocksync/block_fetch_job.go @@ -96,7 +96,7 @@ func (p *jobGenerator) nextJob(ctx context.Context) (*workerpool.Job, error) { if err != nil { return nil, err } - p.peerStore.PeerUpdate(peer.peerID, ResetMonitor(), AddNumPending(1)) + p.peerStore.Update(peer.peerID, ResetMonitor(), AddNumPending(1)) return workerpool.NewJob(blockFetchJobHandler(p.client, peer, height)), nil } diff --git a/internal/blocksync/block_fetch_job_test.go b/internal/blocksync/block_fetch_job_test.go index 123293ebd6..8ae9a76a15 100644 --- a/internal/blocksync/block_fetch_job_test.go +++ b/internal/blocksync/block_fetch_job_test.go @@ -102,7 +102,7 @@ func (suite *BlockFetchJobTestSuite) TestJobGeneratorNextJob() { logger := log.NewNopLogger() peerStore := NewInMemPeerStore() - peerStore.Put(suite.peer) + peerStore.Put(suite.peer.peerID, suite.peer) jobGen := newJobGenerator(5, logger, suite.client, peerStore) job, err := jobGen.nextJob(ctx) @@ -136,7 +136,7 @@ func (suite *BlockFetchJobTestSuite) TestGeneratorNextJobWaitForPeerAndPushBackH }() nextJobCh <- struct{}{} jobGen.pushBack(9) - peerStore.Put(suite.peer) + peerStore.Put(suite.peer.peerID, suite.peer) nextJobCh <- struct{}{} heightCheck := mock.MatchedBy(func(height int64) bool { return suite.Contains([]int64{5, 9}, height) diff --git a/internal/blocksync/peer_store.go b/internal/blocksync/peer_store.go index 750352ffcc..6bdb246141 100644 --- a/internal/blocksync/peer_store.go +++ b/internal/blocksync/peer_store.go @@ -8,19 +8,15 @@ import ( "golang.org/x/exp/constraints" "github.com/tendermint/tendermint/internal/libs/flowrate" + "github.com/tendermint/tendermint/libs/store" "github.com/tendermint/tendermint/types" ) type ( - // PeerQueryFunc is a function type for peer specification function - PeerQueryFunc func(peer PeerData) bool - // PeerUpdateFunc is a function type for peer update functions - PeerUpdateFunc func(peer *PeerData) // InMemPeerStore in-memory peer store InMemPeerStore struct { mtx sync.RWMutex - peerIDx map[types.NodeID]int - peers []*PeerData + store store.Store[types.NodeID, PeerData] maxHeight int64 } // PeerData uses to keep peer related data like base height and the current height etc @@ -41,56 +37,49 @@ const ( // NewInMemPeerStore creates a new in-memory peer store func NewInMemPeerStore(peers ...PeerData) *InMemPeerStore { mem := &InMemPeerStore{ - peerIDx: make(map[types.NodeID]int), + store: store.NewInMemStore[types.NodeID, PeerData](), } for _, peer := range peers { - mem.Put(peer) + mem.Put(peer.peerID, peer) } return mem } // Get returns peer's data and true if the peer is found otherwise empty structure and false func (p *InMemPeerStore) Get(peerID types.NodeID) (PeerData, bool) { - p.mtx.RLock() - defer p.mtx.RUnlock() - peer, found := p.get(peerID) - if found { - return *peer, true - } - return PeerData{}, false + return p.store.Get(peerID) } -// GetAndRemove combines Get operation and Remove in one call -func (p *InMemPeerStore) GetAndRemove(peerID types.NodeID) (PeerData, bool) { +// GetAndDelete combines Get operation and Delete in one call +func (p *InMemPeerStore) GetAndDelete(peerID types.NodeID) (PeerData, bool) { p.mtx.Lock() defer p.mtx.Unlock() - peer, found := p.get(peerID) - if found { - p.remove(peerID) - return *peer, true + peer, found := p.store.GetAndDelete(peerID) + if found && peer.height == p.maxHeight { + p.updateMaxHeight() } - return PeerData{}, found + return peer, found } // Put adds the peer data to the store if the peer does not exist, otherwise update the current value -func (p *InMemPeerStore) Put(newPeer PeerData) { +func (p *InMemPeerStore) Put(peerID types.NodeID, newPeer PeerData) { + p.store.Put(peerID, newPeer) p.mtx.Lock() defer p.mtx.Unlock() - _, ok := p.get(newPeer.peerID) - if !ok { - p.peers = append(p.peers, &newPeer) - p.peerIDx[newPeer.peerID] = len(p.peers) - 1 - p.maxHeight = max(p.maxHeight, newPeer.height) - return - } - p.update(newPeer) + p.maxHeight = max(p.maxHeight, newPeer.height) } -// Remove removes the peer data from the store -func (p *InMemPeerStore) Remove(peerID types.NodeID) { +// Delete deletes the peer data from the store +func (p *InMemPeerStore) Delete(peerID types.NodeID) { p.mtx.Lock() defer p.mtx.Unlock() - p.remove(peerID) + peer, found := p.store.GetAndDelete(peerID) + if !found { + return + } + if peer.height == p.maxHeight { + p.updateMaxHeight() + } } // MaxHeight looks at all the peers in the store to get the maximum peer height. @@ -100,24 +89,21 @@ func (p *InMemPeerStore) MaxHeight() int64 { return p.maxHeight } -// PeerUpdate applies update functions to the peer if it exists -func (p *InMemPeerStore) PeerUpdate(peerID types.NodeID, updates ...PeerUpdateFunc) { - p.mtx.Lock() - defer p.mtx.Unlock() - peer, found := p.get(peerID) +// Update applies update functions to the peer if it exists +func (p *InMemPeerStore) Update(peerID types.NodeID, updates ...store.UpdateFunc[types.NodeID, PeerData]) { + p.store.Update(peerID, updates...) + peer, found := p.store.Get(peerID) if !found { return } - for _, update := range updates { - update(peer) - } + p.mtx.Lock() + defer p.mtx.Unlock() + p.maxHeight = max(p.maxHeight, peer.height) } // Query finds and returns the copy of peers by specification conditions -func (p *InMemPeerStore) Query(spec PeerQueryFunc, limit int) []*PeerData { - p.mtx.RLock() - defer p.mtx.RUnlock() - return p.query(spec, limit) +func (p *InMemPeerStore) Query(spec store.QueryFunc[types.NodeID, PeerData], limit int) []PeerData { + return p.store.Query(spec, limit) } // FindPeer finds a peer for the request @@ -126,7 +112,7 @@ func (p *InMemPeerStore) Query(spec PeerQueryFunc, limit int) []*PeerData { // 2. the height must be between two values base and height // otherwise return the empty peer data and false func (p *InMemPeerStore) FindPeer(height int64) (PeerData, bool) { - spec := andX( + spec := store.AndX( peerNumPendingCond(maxPendingRequestsPerPeer, "<"), heightBetweenPeerHeightRange(height), ignoreTimedOutPeers(minRecvRate), @@ -135,12 +121,12 @@ func (p *InMemPeerStore) FindPeer(height int64) (PeerData, bool) { if len(peers) == 0 { return PeerData{}, false } - return *peers[0], true + return peers[0], true } // FindTimedoutPeers finds and returns the timed out peers -func (p *InMemPeerStore) FindTimedoutPeers() []*PeerData { - return p.Query(andX( +func (p *InMemPeerStore) FindTimedoutPeers() []PeerData { + return p.Query(store.AndX( peerNumPendingCond(0, ">"), transferRateNotZeroAndLessMinRate(minRecvRate), ), 0) @@ -148,88 +134,29 @@ func (p *InMemPeerStore) FindTimedoutPeers() []*PeerData { // All returns all stored peers in the store func (p *InMemPeerStore) All() []PeerData { - p.mtx.RLock() - defer p.mtx.RUnlock() - ret := make([]PeerData, len(p.peers)) - for i, peer := range p.peers { - ret[i] = *peer - } - return ret + return p.store.All() } // Len returns the count of all stored peers func (p *InMemPeerStore) Len() int { - p.mtx.RLock() - defer p.mtx.RUnlock() - return len(p.peers) + return p.store.Len() } // IsZero returns true if the store doesn't have a peer yet otherwise false func (p *InMemPeerStore) IsZero() bool { - return p.Len() == 0 -} - -func (p *InMemPeerStore) get(peerID types.NodeID) (*PeerData, bool) { - i, ok := p.peerIDx[peerID] - if !ok { - return nil, false - } - return p.peers[i], true -} - -func (p *InMemPeerStore) update(peer PeerData) { - i, ok := p.peerIDx[peer.peerID] - if !ok { - return - } - p.peers[i].height = peer.height - p.peers[i].base = peer.base - p.maxHeight = max(p.maxHeight, peer.height) -} - -func (p *InMemPeerStore) remove(peerID types.NodeID) { - i, ok := p.peerIDx[peerID] - if !ok { - return - } - peer := p.peers[i] - right := p.peers[i+1:] - for j, peer := range right { - p.peerIDx[peer.peerID] = i + j - } - left := p.peers[0:i] - p.peers = append(left, right...) - delete(p.peerIDx, peerID) - if peer.height == p.maxHeight { - p.updateMaxHeight() - } -} - -func (p *InMemPeerStore) query(spec PeerQueryFunc, limit int) []*PeerData { - var res []*PeerData - for _, i := range p.peerIDx { - peer := p.peers[i] - if spec(*peer) { - c := *peer - res = append(res, &c) - if limit > 0 && limit == len(res) { - return res - } - } - } - return res + return p.store.IsZero() } func (p *InMemPeerStore) updateMaxHeight() { p.maxHeight = 0 - for _, peer := range p.peers { + for _, peer := range p.store.All() { p.maxHeight = max(p.maxHeight, peer.height) } } // TODO with fixed worker pool size this condition is not needed anymore -func peerNumPendingCond(val int32, op string) PeerQueryFunc { - return func(peer PeerData) bool { +func peerNumPendingCond(val int32, op string) store.QueryFunc[types.NodeID, PeerData] { + return func(peerID types.NodeID, peer PeerData) bool { switch op { case "<": return peer.numPending < val @@ -240,21 +167,21 @@ func peerNumPendingCond(val int32, op string) PeerQueryFunc { } } -func heightBetweenPeerHeightRange(height int64) PeerQueryFunc { - return func(peer PeerData) bool { +func heightBetweenPeerHeightRange(height int64) store.QueryFunc[types.NodeID, PeerData] { + return func(peerID types.NodeID, peer PeerData) bool { return height >= peer.base && height <= peer.height } } -func transferRateNotZeroAndLessMinRate(minRate int64) PeerQueryFunc { - return func(peer PeerData) bool { +func transferRateNotZeroAndLessMinRate(minRate int64) store.QueryFunc[types.NodeID, PeerData] { + return func(peerID types.NodeID, peer PeerData) bool { curRate := peer.recvMonitor.CurrentTransferRate() return curRate != 0 && curRate < minRate } } -func ignoreTimedOutPeers(minRate int64) PeerQueryFunc { - return func(peer PeerData) bool { +func ignoreTimedOutPeers(minRate int64) store.QueryFunc[types.NodeID, PeerData] { + return func(peerID types.NodeID, peer PeerData) bool { curRate := peer.recvMonitor.CurrentTransferRate() if curRate == 0 { return true @@ -263,17 +190,6 @@ func ignoreTimedOutPeers(minRate int64) PeerQueryFunc { } } -func andX(specs ...PeerQueryFunc) PeerQueryFunc { - return func(peer PeerData) bool { - for _, spec := range specs { - if !spec(peer) { - return false - } - } - return true - } -} - func newPeerData(peerID types.NodeID, base, height int64) PeerData { startAt := time.Now() return PeerData{ @@ -292,15 +208,15 @@ func newPeerMonitor(at time.Time) *flowrate.Monitor { } // AddNumPending adds a value to the numPending field -func AddNumPending(val int32) PeerUpdateFunc { - return func(peer *PeerData) { +func AddNumPending(val int32) store.UpdateFunc[types.NodeID, PeerData] { + return func(peerID types.NodeID, peer *PeerData) { peer.numPending += val } } // UpdateMonitor adds a block size value to the peer monitor if numPending is greater than zero -func UpdateMonitor(recvSize int) PeerUpdateFunc { - return func(peer *PeerData) { +func UpdateMonitor(recvSize int) store.UpdateFunc[types.NodeID, PeerData] { + return func(peerID types.NodeID, peer *PeerData) { if peer.numPending > 0 { peer.recvMonitor.Update(recvSize) } @@ -308,8 +224,8 @@ func UpdateMonitor(recvSize int) PeerUpdateFunc { } // ResetMonitor replaces a peer monitor on a new one if numPending is zero -func ResetMonitor() PeerUpdateFunc { - return func(peer *PeerData) { +func ResetMonitor() store.UpdateFunc[types.NodeID, PeerData] { + return func(peerID types.NodeID, peer *PeerData) { if peer.numPending == 0 { peer.recvMonitor = newPeerMonitor(peer.startAt) } diff --git a/internal/blocksync/peer_store_test.go b/internal/blocksync/peer_store_test.go index d662ce9a0b..9251d17e8f 100644 --- a/internal/blocksync/peer_store_test.go +++ b/internal/blocksync/peer_store_test.go @@ -20,20 +20,20 @@ func TestInMemPeerStoreBasicOperations(t *testing.T) { require.False(t, found) // add a peer to store - inmem.Put(peer) + inmem.Put(peer.peerID, peer) foundPeer, found := inmem.Get(peerID) require.True(t, found) require.Equal(t, peer, foundPeer) // update a peer data updatedPeer := newPeerData(peerID, 100, 200) - inmem.Put(updatedPeer) + inmem.Put(updatedPeer.peerID, updatedPeer) foundPeer, found = inmem.Get(peerID) require.True(t, found) require.Equal(t, updatedPeer.height, foundPeer.height) require.Equal(t, updatedPeer.base, foundPeer.base) - inmem.PeerUpdate(peerID, AddNumPending(1)) + inmem.Update(peerID, AddNumPending(1)) require.Equal(t, int32(0), foundPeer.numPending) foundPeer, found = inmem.Get(peerID) require.True(t, found) @@ -42,7 +42,7 @@ func TestInMemPeerStoreBasicOperations(t *testing.T) { require.Equal(t, 1, inmem.Len()) require.False(t, inmem.IsZero()) - inmem.Remove(peerID) + inmem.Delete(peerID) require.Equal(t, 0, inmem.Len()) require.True(t, inmem.IsZero()) } diff --git a/internal/blocksync/synchronizer.go b/internal/blocksync/synchronizer.go index 442bcbb279..f10c4716f8 100644 --- a/internal/blocksync/synchronizer.go +++ b/internal/blocksync/synchronizer.go @@ -188,7 +188,7 @@ func (s *Synchronizer) consumeJobResult(ctx context.Context) { return } resp := res.Value.(*BlockResponse) - s.peerStore.PeerUpdate(resp.PeerID, AddNumPending(-1), UpdateMonitor(resp.Block.Size())) + s.peerStore.Update(resp.PeerID, AddNumPending(-1), UpdateMonitor(resp.Block.Size())) err = s.addBlock(*resp) if err != nil { s.logger.Error("cannot add a block to the pending list", @@ -266,7 +266,7 @@ func (s *Synchronizer) LastAdvance() time.Time { // AddPeer adds the peer's alleged blockchain base and height func (s *Synchronizer) AddPeer(peer PeerData) { - s.peerStore.Put(peer) + s.peerStore.Put(peer.peerID, peer) } // RemovePeer removes the peer with peerID from the synchronizer. If there's no peer @@ -283,7 +283,7 @@ func (s *Synchronizer) removePeer(peerID types.NodeID) { s.jobGen.pushBack(resp.Block.Height) } } - s.peerStore.Remove(peerID) + s.peerStore.Delete(peerID) } func (s *Synchronizer) applyBlock(ctx context.Context) error { diff --git a/libs/store/mocks/store.go b/libs/store/mocks/store.go index dea945aed5..50722fe4ba 100644 --- a/libs/store/mocks/store.go +++ b/libs/store/mocks/store.go @@ -81,21 +81,49 @@ func (_m *Store[K, V]) GetAndDelete(key K) (V, bool) { return r0, r1 } +// IsZero provides a mock function with given fields: +func (_m *Store[K, V]) IsZero() bool { + ret := _m.Called() + + var r0 bool + if rf, ok := ret.Get(0).(func() bool); ok { + r0 = rf() + } else { + r0 = ret.Get(0).(bool) + } + + return r0 +} + +// Len provides a mock function with given fields: +func (_m *Store[K, V]) Len() int { + ret := _m.Called() + + var r0 int + if rf, ok := ret.Get(0).(func() int); ok { + r0 = rf() + } else { + r0 = ret.Get(0).(int) + } + + return r0 +} + // Put provides a mock function with given fields: key, data func (_m *Store[K, V]) Put(key K, data V) { _m.Called(key, data) } // Query provides a mock function with given fields: spec, limit -func (_m *Store[K, V]) Query(spec store.QueryFunc[K, V], limit int) []*V { +func (_m *Store[K, V]) Query(spec store.QueryFunc[K, V], limit int) []V { ret := _m.Called(spec, limit) - var r0 []*V - if rf, ok := ret.Get(0).(func(store.QueryFunc[K, V], int) []*V); ok { + var r0 []V + if rf, ok := ret.Get(0).(func(store.QueryFunc[K, V], int) []V); ok { r0 = rf(spec, limit) } else { if ret.Get(0) != nil { - r0 = ret.Get(0).([]*V) + r0 = ret.Get(0).([]V) } } diff --git a/libs/store/store.go b/libs/store/store.go index ed086937ff..c3f7f08bb8 100644 --- a/libs/store/store.go +++ b/libs/store/store.go @@ -14,8 +14,10 @@ type ( Put(key K, data V) Delete(key K) Update(key K, updates ...UpdateFunc[K, V]) - Query(spec QueryFunc[K, V], limit int) []*V + Query(spec QueryFunc[K, V], limit int) []V All() []V + Len() int + IsZero() bool } // QueryFunc is a function type for a specification function QueryFunc[K comparable, V any] func(key K, data V) bool @@ -124,3 +126,15 @@ func (p *InMemStore[K, T]) query(spec QueryFunc[K, T], limit int) []T { } return res } + +// AndX combines multiple specification functions into one +func AndX[K comparable, V any](specs ...QueryFunc[K, V]) QueryFunc[K, V] { + return func(k K, v V) bool { + for _, spec := range specs { + if !spec(k, v) { + return false + } + } + return true + } +} From ecfc56fd49d4d2628041e3cfc1b0c441b4cff0d8 Mon Sep 17 00:00:00 2001 From: Dmitrii Golubev Date: Tue, 22 Aug 2023 09:45:36 +0200 Subject: [PATCH 13/19] refactor: change go module to dashpay/tenderdash (#670) * refactor: replace "github.com/tendermint/tendermint" to "github.com/dashpay/tenderdash" --- abci/client/client.go | 6 +- abci/client/grpc_client.go | 8 +- abci/client/local_client.go | 6 +- abci/client/mocks/client.go | 2 +- abci/client/socket_client.go | 8 +- abci/cmd/abci-cli/abci-cli.go | 21 +- abci/example/counter/counter.go | 8 +- abci/example/example_test.go | 15 +- abci/example/kvstore/config.go | 8 +- abci/example/kvstore/helpers_test.go | 8 +- abci/example/kvstore/kvstore.go | 18 +- abci/example/kvstore/kvstore_test.go | 22 +- abci/example/kvstore/snapshots.go | 8 +- abci/example/kvstore/state.go | 8 +- abci/example/kvstore/state_test.go | 4 +- abci/example/kvstore/tx.go | 6 +- abci/example/kvstore/verify.go | 10 +- abci/example/kvstore/verify_test.go | 14 +- abci/server/grpc_server.go | 8 +- abci/server/server.go | 6 +- abci/server/socket_server.go | 8 +- abci/tests/benchmarks/parallel/parallel.go | 4 +- abci/tests/benchmarks/simple/simple.go | 4 +- abci/tests/client_server_test.go | 8 +- abci/tests/server/client.go | 10 +- abci/types/application.go | 2 +- abci/types/messages.go | 2 +- abci/types/messages_test.go | 2 +- abci/types/mocks/application.go | 2 +- abci/types/types.go | 12 +- abci/types/types.pb.go | 461 +++++++++--------- abci/types/types_test.go | 6 +- abci/types/validator_set_update.go | 6 +- cmd/abcidump/cmd/capture.go | 4 +- cmd/abcidump/cmd/cbor_test.go | 2 +- cmd/abcidump/cmd/parse.go | 2 +- cmd/abcidump/cmd/parse_test.go | 7 +- cmd/abcidump/cmd/rootcmd.go | 2 +- cmd/abcidump/main.go | 2 +- cmd/abcidump/parser/parser.go | 2 +- cmd/abcidump/parser/parser_test.go | 2 +- cmd/abcidump/parser/types.go | 4 +- cmd/priv_val_server/main.go | 10 +- cmd/tenderdash/commands/compact.go | 8 +- cmd/tenderdash/commands/debug/debug.go | 2 +- cmd/tenderdash/commands/debug/dump.go | 8 +- cmd/tenderdash/commands/debug/kill.go | 8 +- cmd/tenderdash/commands/debug/util.go | 4 +- cmd/tenderdash/commands/gen_node_key.go | 10 +- cmd/tenderdash/commands/gen_node_key_test.go | 6 +- cmd/tenderdash/commands/gen_validator.go | 2 +- cmd/tenderdash/commands/init.go | 14 +- cmd/tenderdash/commands/inspect.go | 6 +- cmd/tenderdash/commands/key_migrate.go | 8 +- cmd/tenderdash/commands/light.go | 16 +- cmd/tenderdash/commands/reindex_event.go | 24 +- cmd/tenderdash/commands/reindex_event_test.go | 14 +- cmd/tenderdash/commands/replay.go | 6 +- cmd/tenderdash/commands/reset.go | 10 +- cmd/tenderdash/commands/reset_test.go | 8 +- cmd/tenderdash/commands/rollback.go | 4 +- cmd/tenderdash/commands/rollback_test.go | 12 +- cmd/tenderdash/commands/root.go | 6 +- cmd/tenderdash/commands/root_test.go | 8 +- cmd/tenderdash/commands/run_node.go | 4 +- cmd/tenderdash/commands/show_node_id.go | 2 +- cmd/tenderdash/commands/show_validator.go | 16 +- cmd/tenderdash/commands/testnet.go | 17 +- cmd/tenderdash/commands/version.go | 2 +- cmd/tenderdash/main.go | 12 +- config/config.go | 8 +- config/db.go | 4 +- config/toml.go | 6 +- crypto/batch/batch.go | 4 +- crypto/bls12381/bench_test.go | 4 +- crypto/bls12381/bls12381.go | 6 +- crypto/bls12381/bls12381_test.go | 5 +- crypto/crypto.go | 6 +- crypto/ed25519/bench_test.go | 4 +- crypto/ed25519/ed25519.go | 4 +- crypto/ed25519/ed25519_test.go | 6 +- crypto/encoding/codec.go | 13 +- crypto/internal/benchmarking/bench.go | 2 +- crypto/merkle/hash.go | 2 +- crypto/merkle/proof.go | 4 +- crypto/merkle/proof_op.go | 2 +- crypto/merkle/proof_test.go | 4 +- crypto/merkle/proof_value.go | 2 +- crypto/merkle/rfc6962_test.go | 2 +- crypto/merkle/tree_test.go | 6 +- crypto/random_test.go | 2 +- crypto/secp256k1/secp256k1.go | 4 +- crypto/secp256k1/secp256k1_test.go | 4 +- dash/context.go | 2 +- dash/core/client.go | 6 +- dash/core/mock.go | 6 +- dash/llmq/iter.go | 2 +- dash/llmq/llmq.go | 4 +- dash/llmq/llmq_test.go | 5 +- dash/quorum/mock/dash_dialer.go | 4 +- dash/quorum/mock/test_helpers.go | 8 +- dash/quorum/nodeid_resolver.go | 6 +- dash/quorum/nodeid_resolver_test.go | 5 +- dash/quorum/selectpeers/dip6.go | 4 +- dash/quorum/selectpeers/dip6_test.go | 7 +- dash/quorum/selectpeers/sortable_validator.go | 6 +- .../selectpeers/sortable_validator_test.go | 9 +- .../selectpeers/sorted_validator_list.go | 4 +- .../selectpeers/sorted_validator_list_test.go | 3 +- dash/quorum/selectpeers/validatorselector.go | 2 +- dash/quorum/utils.go | 4 +- dash/quorum/validator_conn_executor.go | 18 +- dash/quorum/validator_conn_executor_test.go | 34 +- dash/quorum/validator_map.go | 2 +- dash/quorum/validator_map_test.go | 4 +- go.mod | 52 +- go.sum | 103 ++-- internal/blocksync/applier.go | 8 +- internal/blocksync/applier_test.go | 10 +- internal/blocksync/block_fetch_job.go | 8 +- internal/blocksync/block_fetch_job_test.go | 20 +- internal/blocksync/mocks/block_client.go | 8 +- internal/blocksync/msgs.go | 4 +- internal/blocksync/p2p_msg_handler.go | 10 +- internal/blocksync/p2p_msg_handler_test.go | 18 +- internal/blocksync/peer_store.go | 6 +- internal/blocksync/peer_store_test.go | 4 +- internal/blocksync/reactor.go | 22 +- internal/blocksync/reactor_test.go | 32 +- internal/blocksync/synchronizer.go | 14 +- internal/blocksync/synchronizer_test.go | 24 +- internal/consensus/block_executor.go | 11 +- internal/consensus/block_executor_test.go | 16 +- internal/consensus/byzantine_test.go | 30 +- internal/consensus/common_test.go | 42 +- internal/consensus/core_chainlock_test.go | 12 +- internal/consensus/event_publisher.go | 10 +- internal/consensus/gossip_handlers.go | 6 +- internal/consensus/gossip_handlers_test.go | 18 +- internal/consensus/gossip_msg_sender.go | 10 +- internal/consensus/gossip_msg_sender_test.go | 12 +- internal/consensus/gossip_peer_worker.go | 2 +- internal/consensus/gossip_peer_worker_test.go | 4 +- internal/consensus/gossiper.go | 12 +- internal/consensus/gossiper_test.go | 22 +- internal/consensus/helper_test.go | 30 +- internal/consensus/invalid_test.go | 16 +- internal/consensus/mempool_test.go | 20 +- internal/consensus/metrics.go | 6 +- internal/consensus/mock_test.go | 2 +- internal/consensus/mocks/fast_sync_reactor.go | 2 +- internal/consensus/mocks/gossiper.go | 2 +- internal/consensus/msg_handlers.go | 4 +- internal/consensus/msg_queue.go | 4 +- internal/consensus/msg_queue_test.go | 2 +- internal/consensus/msgs.go | 14 +- internal/consensus/msgs_test.go | 22 +- internal/consensus/pbts_test.go | 18 +- internal/consensus/peer_state.go | 10 +- internal/consensus/peer_state_test.go | 6 +- internal/consensus/proposal_updater.go | 4 +- internal/consensus/reactor.go | 24 +- internal/consensus/reactor_test.go | 38 +- internal/consensus/replay.go | 14 +- internal/consensus/replay_file.go | 16 +- internal/consensus/replay_stubs.go | 16 +- internal/consensus/replay_test.go | 38 +- internal/consensus/replayer.go | 18 +- internal/consensus/replayer_test.go | 22 +- internal/consensus/round_scheduler.go | 4 +- internal/consensus/state.go | 24 +- internal/consensus/state_add_commit.go | 6 +- internal/consensus/state_add_prop_block.go | 10 +- internal/consensus/state_add_vote.go | 14 +- internal/consensus/state_add_vote_test.go | 20 +- internal/consensus/state_apply_commit.go | 6 +- internal/consensus/state_controller.go | 4 +- internal/consensus/state_data.go | 14 +- internal/consensus/state_data_test.go | 10 +- internal/consensus/state_enter_commit.go | 6 +- internal/consensus/state_enter_new_round.go | 8 +- internal/consensus/state_enter_precommit.go | 8 +- internal/consensus/state_enter_prevote.go | 4 +- internal/consensus/state_enter_propose.go | 8 +- internal/consensus/state_enter_wait.go | 4 +- internal/consensus/state_prevoter.go | 12 +- internal/consensus/state_prevoter_test.go | 18 +- internal/consensus/state_proposaler.go | 12 +- internal/consensus/state_proposaler_test.go | 16 +- internal/consensus/state_test.go | 38 +- internal/consensus/state_try_add_commit.go | 8 +- .../consensus/state_try_finalize_commit.go | 8 +- internal/consensus/ticker.go | 4 +- internal/consensus/types/height_vote_set.go | 6 +- .../consensus/types/height_vote_set_test.go | 10 +- internal/consensus/types/peer_round_state.go | 4 +- .../consensus/types/peer_round_state_test.go | 2 +- internal/consensus/types/round_state.go | 8 +- internal/consensus/types/types.go | 2 +- internal/consensus/vote_signer.go | 10 +- internal/consensus/vote_signer_test.go | 16 +- internal/consensus/wal.go | 14 +- internal/consensus/wal_generator_test.go | 4 +- internal/consensus/wal_iter.go | 4 +- internal/consensus/wal_iter_test.go | 6 +- internal/consensus/wal_test.go | 14 +- internal/eventbus/event_bus.go | 12 +- internal/eventbus/event_bus_test.go | 15 +- internal/eventlog/cursor/cursor_test.go | 2 +- internal/eventlog/eventlog.go | 4 +- internal/eventlog/eventlog_test.go | 6 +- internal/eventlog/item.go | 6 +- internal/evidence/mocks/block_store.go | 2 +- internal/evidence/pool.go | 12 +- internal/evidence/pool_test.go | 24 +- internal/evidence/reactor.go | 12 +- internal/evidence/reactor_test.go | 22 +- internal/evidence/services.go | 2 +- internal/evidence/verify.go | 2 +- internal/evidence/verify_test.go | 18 +- internal/inspect/inspect.go | 22 +- internal/inspect/inspect_test.go | 22 +- internal/inspect/rpc/rpc.go | 14 +- internal/jsontypes/jsontypes_test.go | 2 +- internal/libs/autofile/autofile.go | 2 +- internal/libs/autofile/cmd/logjack.go | 4 +- internal/libs/autofile/group.go | 4 +- internal/libs/autofile/group_test.go | 6 +- internal/libs/clist/clist_property_test.go | 2 +- internal/libs/confix/confix.go | 2 +- internal/libs/confix/confix_test.go | 2 +- internal/libs/protoio/io_test.go | 2 +- internal/libs/protoio/writer_test.go | 8 +- internal/libs/strings/string.go | 2 +- internal/libs/sync/waker_test.go | 2 +- internal/libs/tempfile/tempfile_test.go | 2 +- internal/mempool/cache.go | 2 +- internal/mempool/ids.go | 2 +- internal/mempool/ids_test.go | 2 +- internal/mempool/mempool.go | 17 +- internal/mempool/mempool_bench_test.go | 6 +- internal/mempool/mempool_test.go | 14 +- internal/mempool/mocks/mempool.go | 6 +- internal/mempool/p2p_msg_handler.go | 10 +- internal/mempool/p2p_msg_handler_test.go | 12 +- internal/mempool/reactor.go | 16 +- internal/mempool/reactor_test.go | 18 +- internal/mempool/tx.go | 2 +- internal/mempool/types.go | 4 +- internal/p2p/address.go | 2 +- internal/p2p/address_test.go | 7 +- internal/p2p/channel.go | 4 +- internal/p2p/channel_params.go | 16 +- internal/p2p/client/chanstore.go | 2 +- internal/p2p/client/client.go | 14 +- internal/p2p/client/client_test.go | 12 +- internal/p2p/client/consumer.go | 4 +- internal/p2p/client/consumer_test.go | 8 +- internal/p2p/client/mocks/block_client.go | 6 +- internal/p2p/client/mocks/snapshot_client.go | 6 +- internal/p2p/conn/connection.go | 18 +- internal/p2p/conn/connection_test.go | 12 +- .../p2p/conn/evil_secret_connection_test.go | 10 +- internal/p2p/conn/secret_connection.go | 12 +- internal/p2p/conn/secret_connection_test.go | 8 +- internal/p2p/dash_dialer.go | 4 +- internal/p2p/errors.go | 2 +- internal/p2p/metrics_test.go | 2 +- internal/p2p/mocks/channel.go | 2 +- internal/p2p/mocks/connection.go | 8 +- internal/p2p/mocks/transport.go | 4 +- internal/p2p/p2p_test.go | 8 +- internal/p2p/p2ptest/network.go | 14 +- internal/p2p/p2ptest/require.go | 4 +- internal/p2p/p2ptest/util.go | 4 +- internal/p2p/peermanager.go | 8 +- internal/p2p/peermanager_scoring_test.go | 4 +- internal/p2p/peermanager_test.go | 6 +- internal/p2p/pex/reactor.go | 12 +- internal/p2p/pex/reactor_test.go | 16 +- internal/p2p/pqueue.go | 2 +- internal/p2p/pqueue_test.go | 2 +- internal/p2p/router.go | 12 +- internal/p2p/router_filter_test.go | 2 +- internal/p2p/router_init_test.go | 4 +- internal/p2p/router_test.go | 14 +- internal/p2p/transport.go | 4 +- internal/p2p/transport_mconn.go | 13 +- internal/p2p/transport_mconn_test.go | 6 +- internal/p2p/transport_memory.go | 6 +- internal/p2p/transport_memory_test.go | 6 +- internal/p2p/transport_test.go | 8 +- internal/p2p/types.go | 2 +- internal/proxy/client.go | 12 +- internal/proxy/client_test.go | 14 +- internal/proxy/mocks/app_conn_mempool.go | 2 +- internal/proxy/mocks/app_conn_query.go | 2 +- internal/proxy/mocks/app_conn_snapshot.go | 2 +- internal/proxy/version.go | 4 +- internal/pubsub/example_test.go | 8 +- internal/pubsub/pubsub.go | 10 +- internal/pubsub/pubsub_test.go | 10 +- internal/pubsub/query/bench_test.go | 4 +- internal/pubsub/query/query.go | 4 +- internal/pubsub/query/query_test.go | 6 +- internal/pubsub/query/syntax/syntax_test.go | 2 +- internal/pubsub/subindex.go | 6 +- internal/pubsub/subscription.go | 6 +- internal/rpc/core/abci.go | 6 +- internal/rpc/core/blocks.go | 12 +- internal/rpc/core/blocks_test.go | 10 +- internal/rpc/core/consensus.go | 6 +- internal/rpc/core/dev.go | 2 +- internal/rpc/core/env.go | 40 +- internal/rpc/core/events.go | 14 +- internal/rpc/core/evidence.go | 2 +- internal/rpc/core/health.go | 2 +- internal/rpc/core/mempool.go | 10 +- internal/rpc/core/net.go | 2 +- internal/rpc/core/routes.go | 4 +- internal/rpc/core/status.go | 6 +- internal/rpc/core/tx.go | 10 +- internal/state/current_round_state.go | 8 +- internal/state/events.go | 5 +- internal/state/events_test.go | 7 +- internal/state/execution.go | 16 +- internal/state/execution_test.go | 42 +- internal/state/export_test.go | 4 +- internal/state/helpers_test.go | 16 +- internal/state/indexer/block/kv/kv.go | 10 +- internal/state/indexer/block/kv/kv_test.go | 8 +- internal/state/indexer/block/kv/util.go | 4 +- internal/state/indexer/block/null/null.go | 6 +- internal/state/indexer/eventsink.go | 6 +- internal/state/indexer/indexer.go | 6 +- internal/state/indexer/indexer_service.go | 12 +- .../state/indexer/indexer_service_test.go | 14 +- internal/state/indexer/mocks/event_sink.go | 12 +- internal/state/indexer/query_range.go | 2 +- internal/state/indexer/sink/kv/kv.go | 12 +- internal/state/indexer/sink/kv/kv_test.go | 10 +- internal/state/indexer/sink/null/null.go | 8 +- internal/state/indexer/sink/null/null_test.go | 4 +- internal/state/indexer/sink/psql/psql.go | 9 +- internal/state/indexer/sink/psql/psql_test.go | 8 +- internal/state/indexer/sink/sink.go | 10 +- internal/state/indexer/tx/kv/kv.go | 10 +- internal/state/indexer/tx/kv/kv_bench_test.go | 6 +- internal/state/indexer/tx/kv/kv_test.go | 10 +- internal/state/indexer/tx/null/null.go | 6 +- internal/state/mocks/block_store.go | 2 +- internal/state/mocks/event_sink.go | 8 +- internal/state/mocks/evidence_pool.go | 4 +- internal/state/mocks/executor.go | 4 +- internal/state/mocks/store.go | 7 +- internal/state/rollback.go | 2 +- internal/state/rollback_test.go | 10 +- internal/state/services.go | 2 +- internal/state/state.go | 14 +- internal/state/state_test.go | 24 +- internal/state/store.go | 10 +- internal/state/store_test.go | 14 +- internal/state/test/factory/block.go | 10 +- internal/state/tx_filter.go | 6 +- internal/state/tx_filter_test.go | 9 +- internal/state/validation.go | 9 +- internal/state/validation_test.go | 30 +- internal/statesync/block_queue.go | 2 +- internal/statesync/block_queue_test.go | 4 +- internal/statesync/chunks.go | 4 +- internal/statesync/chunks_test.go | 4 +- internal/statesync/dispatcher.go | 12 +- internal/statesync/dispatcher_test.go | 10 +- internal/statesync/mocks/state_provider.go | 6 +- internal/statesync/peer.go | 10 +- internal/statesync/peer_test.go | 10 +- internal/statesync/reactor.go | 28 +- internal/statesync/reactor_test.go | 32 +- internal/statesync/repo.go | 12 +- internal/statesync/repo_test.go | 6 +- internal/statesync/snapshots.go | 4 +- internal/statesync/snapshots_test.go | 2 +- internal/statesync/stateprovider.go | 28 +- internal/statesync/syncer.go | 20 +- internal/statesync/syncer_test.go | 24 +- internal/store/store.go | 4 +- internal/store/store_test.go | 20 +- internal/test/factory/block.go | 6 +- internal/test/factory/commit.go | 4 +- internal/test/factory/factory_test.go | 2 +- internal/test/factory/genesis.go | 8 +- internal/test/factory/p2p.go | 4 +- internal/test/factory/params.go | 2 +- internal/test/factory/tx.go | 4 +- internal/test/factory/validator_set.go | 8 +- internal/test/factory/vote.go | 4 +- libs/bits/bit_array.go | 4 +- libs/bits/bit_array_test.go | 4 +- libs/eventemitter/emitter.go | 2 +- libs/log/default_test.go | 2 +- libs/os/os_test.go | 2 +- libs/promise/promise_test.go | 2 +- libs/service/service.go | 2 +- libs/service/service_test.go | 2 +- libs/store/mocks/store.go | 2 +- libs/store/store.go | 2 +- libs/workerpool/worker.go | 2 +- libs/workerpool/worker_pool.go | 2 +- libs/workerpool/worker_pool_test.go | 2 +- light/client.go | 14 +- light/client_benchmark_test.go | 12 +- light/client_test.go | 14 +- light/detector.go | 4 +- light/errors.go | 2 +- light/example_test.go | 17 +- light/helpers_test.go | 10 +- light/light_test.go | 20 +- light/provider/http/http.go | 15 +- light/provider/http/http_test.go | 18 +- light/provider/mocks/provider.go | 2 +- light/provider/provider.go | 2 +- light/proxy/proxy.go | 14 +- light/proxy/routes.go | 6 +- light/rpc/client.go | 25 +- light/rpc/mocks/light_client.go | 2 +- light/setup.go | 8 +- light/store/db/db.go | 6 +- light/store/db/db_test.go | 8 +- light/store/store.go | 2 +- node/node.go | 60 +-- node/node_test.go | 46 +- node/public.go | 10 +- node/seed.go | 16 +- node/setup.go | 48 +- privval/dash_consensus_key.go | 4 +- privval/dash_core_mock_signer_server.go | 4 +- privval/dash_core_signer_client.go | 14 +- privval/file.go | 21 +- privval/file_test.go | 14 +- privval/grpc/client.go | 14 +- privval/grpc/client_test.go | 14 +- privval/grpc/server.go | 10 +- privval/grpc/server_test.go | 14 +- privval/grpc/util.go | 6 +- privval/msgs.go | 2 +- privval/msgs_test.go | 14 +- privval/retry_signer_client.go | 10 +- privval/secret_connection.go | 12 +- privval/signer_client.go | 14 +- privval/signer_client_test.go | 14 +- privval/signer_dialer_endpoint.go | 4 +- privval/signer_endpoint.go | 8 +- privval/signer_listener_endpoint.go | 6 +- privval/signer_listener_endpoint_test.go | 10 +- privval/signer_requestHandler.go | 12 +- privval/signer_server.go | 6 +- privval/socket_dialers.go | 4 +- privval/socket_dialers_test.go | 4 +- privval/socket_listeners.go | 2 +- privval/socket_listeners_test.go | 2 +- privval/utils.go | 6 +- proto/tendermint/abci/types.proto | 2 +- proto/tendermint/blocksync/types.pb.go | 13 +- proto/tendermint/blocksync/types.proto | 2 +- proto/tendermint/consensus/message_test.go | 4 +- proto/tendermint/consensus/types.pb.go | 118 ++--- proto/tendermint/consensus/types.proto | 2 +- proto/tendermint/consensus/wal.pb.go | 73 +-- proto/tendermint/consensus/wal.proto | 2 +- proto/tendermint/crypto/keys.pb.go | 11 +- proto/tendermint/crypto/keys.proto | 2 +- proto/tendermint/crypto/proof.pb.go | 47 +- proto/tendermint/crypto/proof.proto | 2 +- proto/tendermint/libs/bits/types.pb.go | 10 +- proto/tendermint/libs/bits/types.proto | 2 +- proto/tendermint/mempool/types.pb.go | 11 +- proto/tendermint/mempool/types.proto | 2 +- proto/tendermint/p2p/conn.pb.go | 54 +- proto/tendermint/p2p/conn.proto | 2 +- proto/tendermint/p2p/envelope.go | 10 +- proto/tendermint/p2p/pex.pb.go | 11 +- proto/tendermint/p2p/pex.proto | 2 +- proto/tendermint/p2p/types.pb.go | 192 ++++---- proto/tendermint/p2p/types.proto | 2 +- proto/tendermint/privval/service.pb.go | 41 +- proto/tendermint/privval/service.proto | 2 +- proto/tendermint/privval/types.pb.go | 128 ++--- proto/tendermint/privval/types.proto | 2 +- proto/tendermint/state/types.pb.go | 108 ++-- proto/tendermint/state/types.proto | 2 +- proto/tendermint/statesync/types.pb.go | 58 +-- proto/tendermint/statesync/types.proto | 2 +- proto/tendermint/types/block.pb.go | 42 +- proto/tendermint/types/block.proto | 2 +- proto/tendermint/types/canonical.go | 4 +- proto/tendermint/types/canonical.pb.go | 74 +-- proto/tendermint/types/canonical.proto | 2 +- proto/tendermint/types/dash.pb.go | 12 +- proto/tendermint/types/dash.proto | 2 +- proto/tendermint/types/events.pb.go | 11 +- proto/tendermint/types/events.proto | 2 +- proto/tendermint/types/evidence.pb.go | 51 +- proto/tendermint/types/evidence.proto | 2 +- proto/tendermint/types/params.pb.go | 94 ++-- proto/tendermint/types/params.proto | 2 +- proto/tendermint/types/types.go | 6 +- proto/tendermint/types/types.pb.go | 204 ++++---- proto/tendermint/types/types.proto | 2 +- proto/tendermint/types/types_test.go | 6 +- proto/tendermint/types/validator.pb.go | 64 +-- proto/tendermint/types/validator.proto | 2 +- proto/tendermint/version/types.pb.go | 12 +- proto/tendermint/version/types.proto | 2 +- rpc/client/event_test.go | 10 +- rpc/client/eventstream/eventstream.go | 2 +- rpc/client/eventstream/eventstream_test.go | 12 +- rpc/client/evidence_test.go | 12 +- rpc/client/examples_test.go | 8 +- rpc/client/helpers.go | 6 +- rpc/client/helpers_test.go | 6 +- rpc/client/http/http.go | 10 +- rpc/client/http/ws.go | 10 +- rpc/client/interface.go | 6 +- rpc/client/local/local.go | 18 +- rpc/client/main_test.go | 10 +- rpc/client/mock/abci.go | 14 +- rpc/client/mock/abci_test.go | 14 +- rpc/client/mock/client.go | 10 +- rpc/client/mock/status.go | 4 +- rpc/client/mock/status_test.go | 6 +- rpc/client/mocks/abci_client.go | 8 +- rpc/client/mocks/client.go | 8 +- rpc/client/mocks/events_client.go | 2 +- rpc/client/mocks/evidence_client.go | 4 +- rpc/client/mocks/history_client.go | 2 +- rpc/client/mocks/mempool_client.go | 4 +- rpc/client/mocks/network_client.go | 2 +- rpc/client/mocks/remote_client.go | 8 +- rpc/client/mocks/sign_client.go | 4 +- rpc/client/mocks/status_client.go | 2 +- rpc/client/mocks/subscription_client.go | 2 +- rpc/client/rpc_test.go | 29 +- rpc/coretypes/requests.go | 6 +- rpc/coretypes/responses.go | 10 +- rpc/coretypes/responses_test.go | 8 +- rpc/jsonrpc/client/decode.go | 2 +- rpc/jsonrpc/client/http_json_client.go | 2 +- rpc/jsonrpc/client/ws_client.go | 4 +- rpc/jsonrpc/client/ws_client_test.go | 2 +- rpc/jsonrpc/jsonrpc_test.go | 8 +- rpc/jsonrpc/server/http_json_handler.go | 4 +- rpc/jsonrpc/server/http_json_handler_test.go | 4 +- rpc/jsonrpc/server/http_server.go | 4 +- rpc/jsonrpc/server/http_server_test.go | 4 +- rpc/jsonrpc/server/http_uri_handler.go | 4 +- rpc/jsonrpc/server/parse_test.go | 2 +- rpc/jsonrpc/server/rpc_func.go | 4 +- rpc/jsonrpc/server/ws_handler.go | 4 +- rpc/jsonrpc/server/ws_handler_test.go | 4 +- rpc/jsonrpc/test/main.go | 4 +- rpc/jsonrpc/types/types.go | 2 +- rpc/test/helpers.go | 18 +- scripts/confix/confix.go | 2 +- scripts/estream/estream.go | 6 +- scripts/json2wal/main.go | 4 +- .../metricsdiff/metricsdiff_test.go | 2 +- scripts/metricsgen/metricsgen_test.go | 2 +- scripts/scmigrate/migrate.go | 4 +- scripts/scmigrate/migrate_test.go | 2 +- scripts/wal2json/main.go | 2 +- test/e2e/app/app.go | 12 +- test/e2e/app/app_test.go | 10 +- test/e2e/generator/generate.go | 6 +- test/e2e/generator/generate_test.go | 2 +- test/e2e/generator/main.go | 4 +- test/e2e/node/config.go | 2 +- test/e2e/node/main.go | 42 +- test/e2e/pkg/infra/docker/compose.go | 2 +- test/e2e/pkg/infra/docker/exec.go | 2 +- test/e2e/pkg/infra/docker/infra.go | 8 +- test/e2e/pkg/infra/infra.go | 2 +- test/e2e/pkg/manifest.go | 2 +- test/e2e/pkg/mockcoreserver/core_server.go | 6 +- test/e2e/pkg/mockcoreserver/server_test.go | 10 +- test/e2e/pkg/testnet.go | 18 +- test/e2e/pkg/utils.go | 4 +- test/e2e/runner/benchmark.go | 6 +- test/e2e/runner/cleanup.go | 4 +- test/e2e/runner/evidence.go | 19 +- test/e2e/runner/load.go | 10 +- test/e2e/runner/main.go | 8 +- test/e2e/runner/perturb.go | 8 +- test/e2e/runner/rpc.go | 10 +- test/e2e/runner/setup.go | 20 +- test/e2e/runner/start.go | 6 +- test/e2e/runner/test.go | 4 +- test/e2e/runner/wait.go | 4 +- test/e2e/tests/app_test.go | 10 +- test/e2e/tests/block_test.go | 4 +- test/e2e/tests/e2e_test.go | 8 +- test/e2e/tests/net_test.go | 4 +- test/e2e/tests/validator_test.go | 8 +- test/fuzz/tests/mempool_test.go | 10 +- test/fuzz/tests/p2p_secretconnection_test.go | 6 +- test/fuzz/tests/rpc_jsonrpc_server_test.go | 6 +- types/block.go | 18 +- types/block_dash.go | 2 +- types/block_meta.go | 2 +- types/block_meta_test.go | 4 +- types/block_test.go | 18 +- types/canonical.go | 4 +- types/canonical_test.go | 6 +- types/core_chainlock.go | 4 +- types/encoding_helper.go | 2 +- types/events.go | 8 +- types/evidence.go | 14 +- types/evidence_test.go | 6 +- types/generator.go | 4 +- types/genesis.go | 12 +- types/genesis_test.go | 10 +- types/light.go | 4 +- types/light_test.go | 4 +- types/mocks/block_event_publisher.go | 2 +- types/mocks/priv_validator.go | 10 +- types/node_id.go | 2 +- types/node_info.go | 9 +- types/node_info_test.go | 6 +- types/node_key.go | 8 +- types/node_key_test.go | 2 +- types/params.go | 12 +- types/params_test.go | 3 +- types/part_set.go | 13 +- types/part_set_test.go | 4 +- types/priv_validator.go | 13 +- types/proposal.go | 12 +- types/proposal_test.go | 10 +- types/protobuf.go | 14 +- types/protobuf_test.go | 8 +- types/quorum.go | 6 +- types/quorum_sign_data.go | 6 +- types/quorum_sign_data_test.go | 8 +- types/signable.go | 2 +- types/signed_msg_type.go | 2 +- types/signs_recoverer.go | 4 +- types/signs_recoverer_test.go | 6 +- types/test_util.go | 8 +- types/tx.go | 10 +- types/tx_test.go | 8 +- types/validation.go | 6 +- types/validation_test.go | 6 +- types/validator.go | 10 +- types/validator_address.go | 2 +- types/validator_address_test.go | 2 +- types/validator_set.go | 16 +- types/validator_set_test.go | 12 +- types/validator_test.go | 2 +- types/vote.go | 12 +- types/vote_dash.go | 2 +- types/vote_extension.go | 6 +- types/vote_set.go | 4 +- types/vote_set_test.go | 8 +- types/vote_test.go | 10 +- version/version.go | 2 +- 663 files changed, 3700 insertions(+), 3641 deletions(-) diff --git a/abci/client/client.go b/abci/client/client.go index 329b00aa52..c5afa771e2 100644 --- a/abci/client/client.go +++ b/abci/client/client.go @@ -6,9 +6,9 @@ import ( sync "github.com/sasha-s/go-deadlock" - "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/libs/service" + "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/libs/service" ) const ( diff --git a/abci/client/grpc_client.go b/abci/client/grpc_client.go index 459dfaf9a7..91e848f7bb 100644 --- a/abci/client/grpc_client.go +++ b/abci/client/grpc_client.go @@ -11,10 +11,10 @@ import ( "google.golang.org/grpc" "google.golang.org/grpc/credentials/insecure" - "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/libs/log" - tmnet "github.com/tendermint/tendermint/libs/net" - "github.com/tendermint/tendermint/libs/service" + "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/libs/log" + tmnet "github.com/dashpay/tenderdash/libs/net" + "github.com/dashpay/tenderdash/libs/service" ) // A gRPC client. diff --git a/abci/client/local_client.go b/abci/client/local_client.go index 1002c64e81..ecaa2e8300 100644 --- a/abci/client/local_client.go +++ b/abci/client/local_client.go @@ -3,9 +3,9 @@ package abciclient import ( "context" - types "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/libs/service" + types "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/libs/service" ) // NOTE: use defer to unlock mutex because Application might panic (e.g., in diff --git a/abci/client/mocks/client.go b/abci/client/mocks/client.go index e8789c1bc8..984e97ef7e 100644 --- a/abci/client/mocks/client.go +++ b/abci/client/mocks/client.go @@ -5,8 +5,8 @@ package mocks import ( context "context" + types "github.com/dashpay/tenderdash/abci/types" mock "github.com/stretchr/testify/mock" - types "github.com/tendermint/tendermint/abci/types" ) // Client is an autogenerated mock type for the Client type diff --git a/abci/client/socket_client.go b/abci/client/socket_client.go index 3867845e85..26adc2318f 100644 --- a/abci/client/socket_client.go +++ b/abci/client/socket_client.go @@ -12,10 +12,10 @@ import ( sync "github.com/sasha-s/go-deadlock" - "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/libs/log" - tmnet "github.com/tendermint/tendermint/libs/net" - "github.com/tendermint/tendermint/libs/service" + "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/libs/log" + tmnet "github.com/dashpay/tenderdash/libs/net" + "github.com/dashpay/tenderdash/libs/service" ) // This is goroutine-safe, but users should beware that the application in diff --git a/abci/cmd/abci-cli/abci-cli.go b/abci/cmd/abci-cli/abci-cli.go index f5c0f62e96..6680a8aefe 100644 --- a/abci/cmd/abci-cli/abci-cli.go +++ b/abci/cmd/abci-cli/abci-cli.go @@ -15,17 +15,16 @@ import ( "github.com/spf13/cobra" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/version" - - abciclient "github.com/tendermint/tendermint/abci/client" - "github.com/tendermint/tendermint/abci/example/code" - "github.com/tendermint/tendermint/abci/example/kvstore" - "github.com/tendermint/tendermint/abci/server" - servertest "github.com/tendermint/tendermint/abci/tests/server" - "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/proto/tendermint/crypto" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + abciclient "github.com/dashpay/tenderdash/abci/client" + "github.com/dashpay/tenderdash/abci/example/code" + "github.com/dashpay/tenderdash/abci/example/kvstore" + "github.com/dashpay/tenderdash/abci/server" + servertest "github.com/dashpay/tenderdash/abci/tests/server" + "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/proto/tendermint/crypto" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/version" ) // client is a global variable so it can be reused by the console diff --git a/abci/example/counter/counter.go b/abci/example/counter/counter.go index a2b56bb407..293e828f64 100644 --- a/abci/example/counter/counter.go +++ b/abci/example/counter/counter.go @@ -5,10 +5,10 @@ import ( "encoding/binary" "fmt" - "github.com/tendermint/tendermint/abci/example/code" - "github.com/tendermint/tendermint/abci/types" - tmcrypto "github.com/tendermint/tendermint/crypto" - tmtypes "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/abci/example/code" + "github.com/dashpay/tenderdash/abci/types" + tmcrypto "github.com/dashpay/tenderdash/crypto" + tmtypes "github.com/dashpay/tenderdash/types" ) type Application struct { diff --git a/abci/example/example_test.go b/abci/example/example_test.go index 54b6506528..d1f38df68d 100644 --- a/abci/example/example_test.go +++ b/abci/example/example_test.go @@ -14,14 +14,13 @@ import ( "google.golang.org/grpc" "google.golang.org/grpc/credentials/insecure" - "github.com/tendermint/tendermint/libs/log" - tmnet "github.com/tendermint/tendermint/libs/net" - - abciclient "github.com/tendermint/tendermint/abci/client" - "github.com/tendermint/tendermint/abci/example/code" - "github.com/tendermint/tendermint/abci/example/kvstore" - abciserver "github.com/tendermint/tendermint/abci/server" - "github.com/tendermint/tendermint/abci/types" + abciclient "github.com/dashpay/tenderdash/abci/client" + "github.com/dashpay/tenderdash/abci/example/code" + "github.com/dashpay/tenderdash/abci/example/kvstore" + abciserver "github.com/dashpay/tenderdash/abci/server" + "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/libs/log" + tmnet "github.com/dashpay/tenderdash/libs/net" ) func init() { diff --git a/abci/example/kvstore/config.go b/abci/example/kvstore/config.go index abd56d751e..4edebf81a1 100644 --- a/abci/example/kvstore/config.go +++ b/abci/example/kvstore/config.go @@ -10,10 +10,10 @@ import ( "github.com/gogo/protobuf/proto" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/bls12381" - "github.com/tendermint/tendermint/crypto/encoding" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/bls12381" + "github.com/dashpay/tenderdash/crypto/encoding" ) // Config allows for the setting of high level parameters for running the e2e Application diff --git a/abci/example/kvstore/helpers_test.go b/abci/example/kvstore/helpers_test.go index fe3ec1c825..6fe1208a7c 100644 --- a/abci/example/kvstore/helpers_test.go +++ b/abci/example/kvstore/helpers_test.go @@ -1,10 +1,10 @@ package kvstore import ( - "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/dash/llmq" - tmtypes "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/dash/llmq" + tmtypes "github.com/dashpay/tenderdash/types" ) // RandValidatorSetUpdate returns a list of cnt validators for initializing diff --git a/abci/example/kvstore/kvstore.go b/abci/example/kvstore/kvstore.go index d5f0f63c37..41e9c2e52d 100644 --- a/abci/example/kvstore/kvstore.go +++ b/abci/example/kvstore/kvstore.go @@ -16,15 +16,15 @@ import ( "github.com/gogo/protobuf/proto" dbm "github.com/tendermint/tm-db" - "github.com/tendermint/tendermint/abci/example/code" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/internal/libs/protoio" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/libs/log" - types1 "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" - "github.com/tendermint/tendermint/version" + "github.com/dashpay/tenderdash/abci/example/code" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/internal/libs/protoio" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/libs/log" + types1 "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" + "github.com/dashpay/tenderdash/version" ) const ProtocolVersion uint64 = 0x12345678 diff --git a/abci/example/kvstore/kvstore_test.go b/abci/example/kvstore/kvstore_test.go index caee1a4a4c..0041c0e4ff 100644 --- a/abci/example/kvstore/kvstore_test.go +++ b/abci/example/kvstore/kvstore_test.go @@ -12,17 +12,17 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - abciclient "github.com/tendermint/tendermint/abci/client" - "github.com/tendermint/tendermint/abci/example/code" - abciserver "github.com/tendermint/tendermint/abci/server" - "github.com/tendermint/tendermint/abci/types" - tmcrypto "github.com/tendermint/tendermint/crypto" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/libs/service" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - tmtypes "github.com/tendermint/tendermint/types" - "github.com/tendermint/tendermint/version" + abciclient "github.com/dashpay/tenderdash/abci/client" + "github.com/dashpay/tenderdash/abci/example/code" + abciserver "github.com/dashpay/tenderdash/abci/server" + "github.com/dashpay/tenderdash/abci/types" + tmcrypto "github.com/dashpay/tenderdash/crypto" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/libs/service" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + tmtypes "github.com/dashpay/tenderdash/types" + "github.com/dashpay/tenderdash/version" ) const ( diff --git a/abci/example/kvstore/snapshots.go b/abci/example/kvstore/snapshots.go index 375ef89771..13eb2ebb2f 100644 --- a/abci/example/kvstore/snapshots.go +++ b/abci/example/kvstore/snapshots.go @@ -12,10 +12,10 @@ import ( sync "github.com/sasha-s/go-deadlock" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/crypto" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/libs/ds" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/crypto" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/libs/ds" ) const ( diff --git a/abci/example/kvstore/state.go b/abci/example/kvstore/state.go index 0c32913c5a..fc4b2321c8 100644 --- a/abci/example/kvstore/state.go +++ b/abci/example/kvstore/state.go @@ -8,10 +8,10 @@ import ( dbm "github.com/tendermint/tm-db" - "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/crypto" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - types1 "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/crypto" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + types1 "github.com/dashpay/tenderdash/types" ) // State represents kvstore app state at some height. diff --git a/abci/example/kvstore/state_test.go b/abci/example/kvstore/state_test.go index 452db37171..e2ba12102d 100644 --- a/abci/example/kvstore/state_test.go +++ b/abci/example/kvstore/state_test.go @@ -8,8 +8,8 @@ import ( "github.com/stretchr/testify/require" dbm "github.com/tendermint/tm-db" - "github.com/tendermint/tendermint/crypto" - tmbytes "github.com/tendermint/tendermint/libs/bytes" + "github.com/dashpay/tenderdash/crypto" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" ) func TestStateMarshalUnmarshal(t *testing.T) { diff --git a/abci/example/kvstore/tx.go b/abci/example/kvstore/tx.go index 12743afbb2..53a4b1987f 100644 --- a/abci/example/kvstore/tx.go +++ b/abci/example/kvstore/tx.go @@ -5,9 +5,9 @@ import ( "errors" "fmt" - "github.com/tendermint/tendermint/abci/example/code" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/abci/example/code" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/types" ) // PrepareTxsFunc prepares transactions, possibly adding and/or removing some of them diff --git a/abci/example/kvstore/verify.go b/abci/example/kvstore/verify.go index 6ddad0002e..5e81aa18a1 100644 --- a/abci/example/kvstore/verify.go +++ b/abci/example/kvstore/verify.go @@ -6,11 +6,11 @@ import ( "github.com/dashpay/dashd-go/btcjson" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/crypto/encoding" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - types1 "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/crypto/encoding" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + types1 "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) func (app *Application) verifyBlockCommit(qsd types.QuorumSignData, commit abci.CommitInfo) error { diff --git a/abci/example/kvstore/verify_test.go b/abci/example/kvstore/verify_test.go index 88b37268d0..cb381a9fc9 100644 --- a/abci/example/kvstore/verify_test.go +++ b/abci/example/kvstore/verify_test.go @@ -9,13 +9,13 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/config" - sm "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/internal/test/factory" - "github.com/tendermint/tendermint/libs/log" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/config" + sm "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/internal/test/factory" + "github.com/dashpay/tenderdash/libs/log" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) func TestVerifyBlockCommit(t *testing.T) { diff --git a/abci/server/grpc_server.go b/abci/server/grpc_server.go index 9aab08fd49..00821a843c 100644 --- a/abci/server/grpc_server.go +++ b/abci/server/grpc_server.go @@ -6,10 +6,10 @@ import ( "google.golang.org/grpc" - "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/libs/log" - tmnet "github.com/tendermint/tendermint/libs/net" - "github.com/tendermint/tendermint/libs/service" + "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/libs/log" + tmnet "github.com/dashpay/tenderdash/libs/net" + "github.com/dashpay/tenderdash/libs/service" ) type GRPCServer struct { diff --git a/abci/server/server.go b/abci/server/server.go index 0e731d404d..738c2c25c7 100644 --- a/abci/server/server.go +++ b/abci/server/server.go @@ -10,9 +10,9 @@ package server import ( "fmt" - "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/libs/service" + "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/libs/service" ) func NewServer(logger log.Logger, protoAddr, transport string, app types.Application) (service.Service, error) { diff --git a/abci/server/socket_server.go b/abci/server/socket_server.go index 4bd6aa7994..ac40a604bb 100644 --- a/abci/server/socket_server.go +++ b/abci/server/socket_server.go @@ -11,10 +11,10 @@ import ( sync "github.com/sasha-s/go-deadlock" - "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/libs/log" - tmnet "github.com/tendermint/tendermint/libs/net" - "github.com/tendermint/tendermint/libs/service" + "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/libs/log" + tmnet "github.com/dashpay/tenderdash/libs/net" + "github.com/dashpay/tenderdash/libs/service" ) // var maxNumberConnections = 2 diff --git a/abci/tests/benchmarks/parallel/parallel.go b/abci/tests/benchmarks/parallel/parallel.go index fe213313d4..9fd6ca813f 100644 --- a/abci/tests/benchmarks/parallel/parallel.go +++ b/abci/tests/benchmarks/parallel/parallel.go @@ -5,8 +5,8 @@ import ( "fmt" "log" - "github.com/tendermint/tendermint/abci/types" - tmnet "github.com/tendermint/tendermint/libs/net" + "github.com/dashpay/tenderdash/abci/types" + tmnet "github.com/dashpay/tenderdash/libs/net" ) func main() { diff --git a/abci/tests/benchmarks/simple/simple.go b/abci/tests/benchmarks/simple/simple.go index b18eaa580b..c7edf1231a 100644 --- a/abci/tests/benchmarks/simple/simple.go +++ b/abci/tests/benchmarks/simple/simple.go @@ -7,8 +7,8 @@ import ( "log" "reflect" - "github.com/tendermint/tendermint/abci/types" - tmnet "github.com/tendermint/tendermint/libs/net" + "github.com/dashpay/tenderdash/abci/types" + tmnet "github.com/dashpay/tenderdash/libs/net" ) func main() { diff --git a/abci/tests/client_server_test.go b/abci/tests/client_server_test.go index 15c1db2ecb..f95c124e5b 100644 --- a/abci/tests/client_server_test.go +++ b/abci/tests/client_server_test.go @@ -8,10 +8,10 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - abciclientent "github.com/tendermint/tendermint/abci/client" - "github.com/tendermint/tendermint/abci/example/kvstore" - abciserver "github.com/tendermint/tendermint/abci/server" - "github.com/tendermint/tendermint/libs/log" + abciclientent "github.com/dashpay/tenderdash/abci/client" + "github.com/dashpay/tenderdash/abci/example/kvstore" + abciserver "github.com/dashpay/tenderdash/abci/server" + "github.com/dashpay/tenderdash/libs/log" ) func TestClientServerNoAddrPrefix(t *testing.T) { diff --git a/abci/tests/server/client.go b/abci/tests/server/client.go index f3a40c242a..162f1a0007 100644 --- a/abci/tests/server/client.go +++ b/abci/tests/server/client.go @@ -6,11 +6,11 @@ import ( "errors" "fmt" - abciclient "github.com/tendermint/tendermint/abci/client" - "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/dash/llmq" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + abciclient "github.com/dashpay/tenderdash/abci/client" + "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/dash/llmq" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" ) func InitChain(ctx context.Context, client abciclient.Client) error { diff --git a/abci/types/application.go b/abci/types/application.go index 7c83022258..19b52612f3 100644 --- a/abci/types/application.go +++ b/abci/types/application.go @@ -3,7 +3,7 @@ package types import ( "context" - "github.com/tendermint/tendermint/crypto" + "github.com/dashpay/tenderdash/crypto" ) // StateSyncer is an interface that handles the state sync protocol diff --git a/abci/types/messages.go b/abci/types/messages.go index bfcd392b38..4a749fc83a 100644 --- a/abci/types/messages.go +++ b/abci/types/messages.go @@ -5,7 +5,7 @@ import ( "github.com/gogo/protobuf/proto" - "github.com/tendermint/tendermint/internal/libs/protoio" + "github.com/dashpay/tenderdash/internal/libs/protoio" ) const ( diff --git a/abci/types/messages_test.go b/abci/types/messages_test.go index 404d552225..7e79f1d353 100644 --- a/abci/types/messages_test.go +++ b/abci/types/messages_test.go @@ -9,7 +9,7 @@ import ( "github.com/gogo/protobuf/proto" "github.com/stretchr/testify/assert" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" ) func TestMarshalJSON(t *testing.T) { diff --git a/abci/types/mocks/application.go b/abci/types/mocks/application.go index 980f15febb..e7767821d9 100644 --- a/abci/types/mocks/application.go +++ b/abci/types/mocks/application.go @@ -5,8 +5,8 @@ package mocks import ( context "context" + types "github.com/dashpay/tenderdash/abci/types" mock "github.com/stretchr/testify/mock" - types "github.com/tendermint/tendermint/abci/types" ) // Application is an autogenerated mock type for the Application type diff --git a/abci/types/types.go b/abci/types/types.go index f3e26886b8..3d82902597 100644 --- a/abci/types/types.go +++ b/abci/types/types.go @@ -7,12 +7,12 @@ import ( "github.com/gogo/protobuf/jsonpb" - "github.com/tendermint/tendermint/crypto" - cryptoenc "github.com/tendermint/tendermint/crypto/encoding" - "github.com/tendermint/tendermint/crypto/merkle" - "github.com/tendermint/tendermint/internal/jsontypes" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/proto/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + cryptoenc "github.com/dashpay/tenderdash/crypto/encoding" + "github.com/dashpay/tenderdash/crypto/merkle" + "github.com/dashpay/tenderdash/internal/jsontypes" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/proto/tendermint/types" ) const ( diff --git a/abci/types/types.pb.go b/abci/types/types.pb.go index 024e6774f7..5b4fd87a45 100644 --- a/abci/types/types.pb.go +++ b/abci/types/types.pb.go @@ -6,13 +6,13 @@ package types import ( context "context" fmt "fmt" + crypto "github.com/dashpay/tenderdash/proto/tendermint/crypto" + types1 "github.com/dashpay/tenderdash/proto/tendermint/types" + version "github.com/dashpay/tenderdash/proto/tendermint/version" _ "github.com/gogo/protobuf/gogoproto" proto "github.com/gogo/protobuf/proto" _ "github.com/gogo/protobuf/types" github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" - crypto "github.com/tendermint/tendermint/proto/tendermint/crypto" - types1 "github.com/tendermint/tendermint/proto/tendermint/types" - version "github.com/tendermint/tendermint/proto/tendermint/version" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" @@ -4275,233 +4275,234 @@ func init() { func init() { proto.RegisterFile("tendermint/abci/types.proto", fileDescriptor_252557cfdd89a31a) } var fileDescriptor_252557cfdd89a31a = []byte{ - // 3616 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x5b, 0x4d, 0x70, 0x1b, 0x57, - 0x72, 0xc6, 0xe0, 0x1f, 0x8d, 0x5f, 0x3e, 0x52, 0x12, 0x04, 0x49, 0x24, 0x3d, 0x8a, 0x2d, 0x59, - 0xb6, 0x49, 0x5b, 0x8a, 0x2d, 0x3b, 0x76, 0x92, 0x02, 0x41, 0x28, 0xa0, 0x44, 0x91, 0xf4, 0x10, - 0xa4, 0xcb, 0x71, 0xec, 0xa9, 0x21, 0xf0, 0x48, 0x8c, 0x05, 0x60, 0xc6, 0x33, 0x03, 0x0a, 0xf4, - 0x35, 0x71, 0x0e, 0x3e, 0xf9, 0x96, 0x93, 0x8f, 0x39, 0xe6, 0x92, 0x53, 0x2a, 0x87, 0xa4, 0xf6, - 0xe6, 0xad, 0xbd, 0xf8, 0xb8, 0x97, 0xd5, 0xba, 0xe4, 0xcb, 0xd6, 0xde, 0xf6, 0xb4, 0xb7, 0xad, - 0xad, 0xf7, 0x33, 0xbf, 0x98, 0xc1, 0x8f, 0xe5, 0xaa, 0xad, 0xbd, 0xe1, 0xf5, 0xeb, 0xee, 0x79, - 0x3f, 0xfd, 0xba, 0xfb, 0x7d, 0xfd, 0x00, 0xd7, 0x2c, 0x3c, 0xec, 0x62, 0x63, 0xa0, 0x0e, 0xad, - 0x4d, 0xe5, 0xa4, 0xa3, 0x6e, 0x5a, 0x17, 0x3a, 0x36, 0x37, 0x74, 0x43, 0xb3, 0x34, 0x54, 0x76, - 0x3b, 0x37, 0x48, 0x67, 0xed, 0x86, 0x87, 0xbb, 0x63, 0x5c, 0xe8, 0x96, 0xb6, 0xa9, 0x1b, 0x9a, - 0x76, 0xca, 0xf8, 0x6b, 0x5e, 0x65, 0x54, 0xcf, 0x66, 0x57, 0x31, 0x7b, 0xbc, 0xf3, 0xfa, 0x44, - 0xe7, 0x49, 0x5f, 0xeb, 0x3c, 0x89, 0xec, 0xf5, 0x0c, 0xc4, 0xd7, 0xcb, 0xbf, 0xfb, 0x04, 0x5f, - 0xd8, 0xbd, 0x37, 0x26, 0x64, 0x75, 0xc5, 0x50, 0x06, 0x76, 0xf7, 0xaa, 0xa7, 0xfb, 0x1c, 0x1b, - 0xa6, 0xaa, 0x0d, 0x7d, 0xca, 0xd7, 0xce, 0x34, 0xed, 0xac, 0x8f, 0x37, 0x69, 0xeb, 0x64, 0x74, - 0xba, 0x69, 0xa9, 0x03, 0x6c, 0x5a, 0xca, 0x40, 0xe7, 0x0c, 0x2b, 0x67, 0xda, 0x99, 0x46, 0x7f, - 0x6e, 0x92, 0x5f, 0x8c, 0x2a, 0x7e, 0x95, 0x83, 0x8c, 0x84, 0xbf, 0x18, 0x61, 0xd3, 0x42, 0x77, - 0x21, 0x89, 0x3b, 0x3d, 0xad, 0x2a, 0xac, 0x0b, 0xb7, 0xf3, 0x77, 0xaf, 0x6f, 0x04, 0xd6, 0x6d, - 0x83, 0xf3, 0x35, 0x3b, 0x3d, 0xad, 0x15, 0x93, 0x28, 0x2f, 0x7a, 0x1b, 0x52, 0xa7, 0xfd, 0x91, - 0xd9, 0xab, 0xc6, 0xa9, 0xd0, 0x8d, 0x28, 0xa1, 0x07, 0x84, 0xa9, 0x15, 0x93, 0x18, 0x37, 0xf9, - 0x94, 0x3a, 0x3c, 0xd5, 0xaa, 0x89, 0xe9, 0x9f, 0xda, 0x19, 0x9e, 0xd2, 0x4f, 0x11, 0x5e, 0xb4, - 0x05, 0xa0, 0x0e, 0x55, 0x4b, 0xee, 0xf4, 0x14, 0x75, 0x58, 0x4d, 0x52, 0xc9, 0x97, 0xa2, 0x25, - 0x55, 0xab, 0x41, 0x18, 0x5b, 0x31, 0x29, 0xa7, 0xda, 0x0d, 0x32, 0xdc, 0x2f, 0x46, 0xd8, 0xb8, - 0xa8, 0xa6, 0xa6, 0x0f, 0xf7, 0x43, 0xc2, 0x44, 0x86, 0x4b, 0xb9, 0xd1, 0x07, 0x90, 0xed, 0xf4, - 0x70, 0xe7, 0x89, 0x6c, 0x8d, 0xab, 0x19, 0x2a, 0xb9, 0x16, 0x25, 0xd9, 0x20, 0x7c, 0xed, 0x71, - 0x2b, 0x26, 0x65, 0x3a, 0xec, 0x27, 0xda, 0x83, 0x52, 0x5f, 0x35, 0x2d, 0xd9, 0x1c, 0x2a, 0xba, - 0xd9, 0xd3, 0x2c, 0xb3, 0x9a, 0xa7, 0x3a, 0x5e, 0x8e, 0xd2, 0xb1, 0xab, 0x9a, 0xd6, 0xa1, 0xcd, - 0xdc, 0x8a, 0x49, 0xc5, 0xbe, 0x97, 0x40, 0xf4, 0x69, 0xa7, 0xa7, 0xd8, 0x70, 0x14, 0x56, 0x0b, - 0xd3, 0xf5, 0xed, 0x13, 0x6e, 0x5b, 0x9e, 0xe8, 0xd3, 0xbc, 0x04, 0xf4, 0x09, 0x2c, 0xf7, 0x35, - 0xa5, 0xeb, 0xa8, 0x93, 0x3b, 0xbd, 0xd1, 0xf0, 0x49, 0xb5, 0x48, 0x95, 0xbe, 0x1a, 0x39, 0x48, - 0x4d, 0xe9, 0xda, 0x2a, 0x1a, 0x44, 0xa0, 0x15, 0x93, 0x96, 0xfa, 0x41, 0x22, 0xfa, 0x0c, 0x56, - 0x14, 0x5d, 0xef, 0x5f, 0x04, 0xb5, 0x97, 0xa8, 0xf6, 0x3b, 0x51, 0xda, 0xeb, 0x44, 0x26, 0xa8, - 0x1e, 0x29, 0x13, 0x54, 0xd4, 0x86, 0x8a, 0x6e, 0x60, 0x5d, 0x31, 0xb0, 0xac, 0x1b, 0x9a, 0xae, - 0x99, 0x4a, 0xbf, 0x5a, 0xa6, 0xba, 0x6f, 0x45, 0xe9, 0x3e, 0x60, 0xfc, 0x07, 0x9c, 0xbd, 0x15, - 0x93, 0xca, 0xba, 0x9f, 0xc4, 0xb4, 0x6a, 0x1d, 0x6c, 0x9a, 0xae, 0xd6, 0xca, 0x2c, 0xad, 0x94, - 0xdf, 0xaf, 0xd5, 0x47, 0x42, 0x4d, 0xc8, 0xe3, 0x31, 0x11, 0x97, 0xcf, 0x35, 0x0b, 0x57, 0x97, - 0xa8, 0x42, 0x31, 0xf2, 0x9c, 0x51, 0xd6, 0x63, 0xcd, 0xc2, 0xad, 0x98, 0x04, 0xd8, 0x69, 0x21, - 0x05, 0x2e, 0x9d, 0x63, 0x43, 0x3d, 0xbd, 0xa0, 0x6a, 0x64, 0xda, 0x43, 0xfc, 0x41, 0x15, 0x51, - 0x85, 0xaf, 0x45, 0x29, 0x3c, 0xa6, 0x42, 0x44, 0x45, 0xd3, 0x16, 0x69, 0xc5, 0xa4, 0xe5, 0xf3, - 0x49, 0x32, 0x31, 0xb1, 0x53, 0x75, 0xa8, 0xf4, 0xd5, 0x2f, 0xb1, 0x4c, 0x1d, 0x5c, 0x75, 0x79, - 0xba, 0x89, 0x3d, 0xe0, 0xdc, 0x5b, 0x84, 0x99, 0x98, 0xd8, 0xa9, 0x97, 0xb0, 0x95, 0x81, 0xd4, - 0xb9, 0xd2, 0x1f, 0xe1, 0x87, 0xc9, 0x6c, 0xba, 0x92, 0x79, 0x98, 0xcc, 0x66, 0x2b, 0xb9, 0x87, - 0xc9, 0x6c, 0xae, 0x02, 0x0f, 0x93, 0x59, 0xa8, 0xe4, 0xc5, 0x5b, 0x90, 0xf7, 0xb8, 0x17, 0x54, - 0x85, 0xcc, 0x00, 0x9b, 0xa6, 0x72, 0x86, 0xa9, 0x37, 0xca, 0x49, 0x76, 0x53, 0x2c, 0x41, 0xc1, - 0xeb, 0x52, 0xc4, 0x6f, 0x04, 0x47, 0x92, 0x78, 0x0b, 0x22, 0xc9, 0xdd, 0xa3, 0x2d, 0xc9, 0x9b, - 0xe8, 0x26, 0x14, 0xe9, 0x54, 0x64, 0xbb, 0x9f, 0xb8, 0xac, 0xa4, 0x54, 0xa0, 0xc4, 0x63, 0xce, - 0xb4, 0x06, 0x79, 0xfd, 0xae, 0xee, 0xb0, 0x24, 0x28, 0x0b, 0xe8, 0x77, 0x75, 0x9b, 0xe1, 0x25, - 0x28, 0x90, 0x79, 0x3b, 0x1c, 0x49, 0xfa, 0x91, 0x3c, 0xa1, 0x71, 0x16, 0xf1, 0xdf, 0x12, 0x50, - 0x09, 0xba, 0x21, 0xf4, 0x2e, 0x24, 0x89, 0x47, 0xe6, 0xce, 0xb5, 0xb6, 0xc1, 0xdc, 0xf5, 0x86, - 0xed, 0xae, 0x37, 0xda, 0xb6, 0xbb, 0xde, 0xca, 0x7e, 0xf7, 0x6c, 0x2d, 0xf6, 0xcd, 0x6f, 0xd7, - 0x04, 0x89, 0x4a, 0xa0, 0xab, 0xc4, 0xf9, 0x28, 0xea, 0x50, 0x56, 0xbb, 0x74, 0xc8, 0x39, 0xe2, - 0x59, 0x14, 0x75, 0xb8, 0xd3, 0x45, 0xbb, 0x50, 0xe9, 0x68, 0x43, 0x13, 0x0f, 0xcd, 0x91, 0x29, - 0xb3, 0x70, 0xc1, 0x5d, 0xaa, 0xcf, 0x31, 0xb2, 0x38, 0xd1, 0xb0, 0x39, 0x0f, 0x28, 0xa3, 0x54, - 0xee, 0xf8, 0x09, 0x68, 0x0f, 0x8a, 0xe7, 0x4a, 0x5f, 0xed, 0x2a, 0x96, 0x66, 0xc8, 0x26, 0xb6, - 0xb8, 0x8f, 0xbd, 0x39, 0xb1, 0xe7, 0xc7, 0x36, 0xd7, 0x21, 0xb6, 0x8e, 0xf4, 0xae, 0x62, 0xe1, - 0xad, 0xe4, 0x77, 0xcf, 0xd6, 0x04, 0xa9, 0x70, 0xee, 0xe9, 0x41, 0xaf, 0x40, 0x59, 0xd1, 0x75, - 0xd9, 0xb4, 0x14, 0x0b, 0xcb, 0x27, 0x17, 0x16, 0x36, 0xa9, 0xdb, 0x2d, 0x48, 0x45, 0x45, 0xd7, - 0x0f, 0x09, 0x75, 0x8b, 0x10, 0xd1, 0xcb, 0x50, 0x22, 0x1e, 0x5a, 0x55, 0xfa, 0x72, 0x0f, 0xab, - 0x67, 0x3d, 0xab, 0x9a, 0x5e, 0x17, 0x6e, 0x27, 0xa4, 0x22, 0xa7, 0xb6, 0x28, 0x11, 0x6d, 0xc0, - 0xb2, 0xcd, 0xd6, 0xd1, 0x0c, 0x6c, 0xf3, 0x12, 0x7f, 0x5c, 0x94, 0x96, 0x78, 0x57, 0x43, 0x33, - 0x30, 0xe3, 0x17, 0xbb, 0x8e, 0xa5, 0x50, 0x6f, 0x8e, 0x10, 0x24, 0xbb, 0x8a, 0xa5, 0xd0, 0x1d, - 0x28, 0x48, 0xf4, 0x37, 0xa1, 0xe9, 0x8a, 0xd5, 0xe3, 0xeb, 0x4a, 0x7f, 0xa3, 0xcb, 0x90, 0xe6, - 0xaa, 0x13, 0x74, 0x18, 0xbc, 0x85, 0x56, 0x20, 0xa5, 0x1b, 0xda, 0x39, 0xa6, 0xcb, 0x92, 0x95, - 0x58, 0x43, 0x94, 0xa0, 0xe4, 0xf7, 0xfc, 0xa8, 0x04, 0x71, 0x6b, 0xcc, 0xbf, 0x12, 0xb7, 0xc6, - 0xe8, 0x4d, 0x48, 0x92, 0x0d, 0xa0, 0xdf, 0x28, 0x85, 0xc4, 0x3a, 0x2e, 0xd7, 0xbe, 0xd0, 0xb1, - 0x44, 0x39, 0xc5, 0xcb, 0xb0, 0x12, 0x16, 0x09, 0xc4, 0x9e, 0x43, 0xf7, 0x79, 0x74, 0xf4, 0x36, - 0x64, 0x9d, 0x50, 0xc0, 0xec, 0xeb, 0xea, 0xc4, 0x57, 0x6c, 0x66, 0xc9, 0x61, 0x25, 0x86, 0x45, - 0xf6, 0xa7, 0xa7, 0xf0, 0xf0, 0x5d, 0x90, 0x32, 0x8a, 0xae, 0xb7, 0x14, 0xb3, 0x27, 0x9e, 0x41, - 0x35, 0xca, 0xcd, 0x7b, 0xd6, 0x47, 0xa0, 0xa7, 0xc3, 0x5e, 0x1f, 0xcf, 0xc9, 0x8b, 0xd3, 0x3d, - 0x71, 0x4e, 0x1e, 0xb5, 0xe0, 0xd1, 0xf0, 0x09, 0xb1, 0xe0, 0x04, 0xfb, 0x10, 0x6d, 0xef, 0x74, - 0xc5, 0x2e, 0x5c, 0x8d, 0xf4, 0xf8, 0x3e, 0x39, 0xc1, 0x27, 0x47, 0x36, 0x83, 0xc5, 0x11, 0x36, - 0x70, 0xd6, 0x20, 0x43, 0x33, 0xe9, 0xbc, 0xe9, 0x67, 0x72, 0x12, 0x6f, 0x89, 0x7f, 0x48, 0xc2, - 0xe5, 0x70, 0xe7, 0x8f, 0xd6, 0xa1, 0x30, 0x50, 0xc6, 0xb2, 0x35, 0xe6, 0x16, 0x2a, 0xd0, 0x3d, - 0x87, 0x81, 0x32, 0x6e, 0x8f, 0x99, 0x79, 0x56, 0x20, 0x61, 0x8d, 0xcd, 0x6a, 0x7c, 0x3d, 0x71, - 0xbb, 0x20, 0x91, 0x9f, 0xe8, 0x31, 0x2c, 0xf5, 0xb5, 0x8e, 0xd2, 0x97, 0xfb, 0x8a, 0x69, 0xc9, - 0x1d, 0x6d, 0x30, 0x50, 0x2d, 0x7e, 0xee, 0xae, 0x4d, 0x6e, 0x2f, 0xed, 0x26, 0xbe, 0x89, 0x1e, - 0x92, 0x98, 0x54, 0xa6, 0xb2, 0xbb, 0x8a, 0x69, 0xb1, 0x2e, 0xb4, 0x0d, 0xf9, 0x81, 0x6a, 0x9e, - 0xe0, 0x9e, 0x72, 0xae, 0x6a, 0x46, 0x35, 0xb9, 0x9e, 0x08, 0xcd, 0x89, 0x1e, 0xbb, 0x3c, 0x5c, - 0x93, 0x57, 0xcc, 0xb3, 0x2d, 0x29, 0x9f, 0xd9, 0xda, 0x8e, 0x27, 0xbd, 0xb0, 0xe3, 0x79, 0x13, - 0x56, 0x86, 0x78, 0x6c, 0xc9, 0xce, 0xa1, 0x36, 0x99, 0xad, 0x64, 0xe8, 0x92, 0x23, 0xd2, 0xe7, - 0x78, 0x02, 0x93, 0x98, 0x0d, 0xd9, 0x15, 0x43, 0x1b, 0x0d, 0xbb, 0xd5, 0xec, 0xba, 0x70, 0x3b, - 0x25, 0xb1, 0x06, 0xba, 0x0f, 0x55, 0x7a, 0x60, 0x99, 0x17, 0x23, 0xde, 0x16, 0x77, 0xed, 0xd3, - 0x9b, 0xa3, 0x96, 0x72, 0x89, 0xf4, 0x53, 0x3f, 0xb9, 0x4b, 0x7b, 0xf9, 0x89, 0xdf, 0x84, 0x15, - 0x16, 0x7d, 0xb1, 0x41, 0xc2, 0x30, 0xd9, 0x24, 0x3a, 0x00, 0xa0, 0x03, 0x58, 0xb2, 0xfb, 0x0e, - 0x0c, 0xad, 0x3d, 0xa6, 0xdf, 0x7f, 0xd3, 0x11, 0xe8, 0xca, 0xc4, 0xb4, 0x6d, 0x7b, 0xcc, 0x53, - 0x43, 0x45, 0x76, 0x5f, 0x5d, 0x77, 0xdc, 0xf9, 0x7d, 0xd7, 0x68, 0x0b, 0x93, 0x29, 0x21, 0xef, - 0x72, 0x5d, 0xa7, 0x6b, 0xd3, 0x6b, 0x90, 0xff, 0x62, 0xa4, 0x19, 0xa3, 0x01, 0x1b, 0x52, 0x91, - 0x0e, 0x09, 0x18, 0x89, 0x1e, 0xa1, 0xff, 0x4f, 0x79, 0x6c, 0xce, 0x9f, 0x07, 0x70, 0x8b, 0x12, - 0x5c, 0x8b, 0x3a, 0xf4, 0x0c, 0xdc, 0x6b, 0x54, 0xf1, 0x79, 0x8d, 0xca, 0x99, 0x5b, 0xb4, 0x5d, - 0x25, 0x7e, 0x9a, 0x5d, 0x21, 0x48, 0xd2, 0x19, 0x26, 0x99, 0xdb, 0x24, 0xbf, 0x23, 0x6d, 0xcd, - 0xd9, 0xff, 0xb4, 0x77, 0xff, 0x6d, 0x0b, 0xcc, 0xfc, 0x6c, 0x16, 0x98, 0x8d, 0xb4, 0xc0, 0x9f, - 0x6c, 0x6b, 0x6d, 0xb8, 0x1c, 0x10, 0x94, 0x47, 0x34, 0xb4, 0x51, 0x6b, 0x0b, 0x24, 0xfc, 0x76, - 0x40, 0xf5, 0x28, 0x92, 0x96, 0x7d, 0x7a, 0x59, 0x58, 0x8c, 0xb4, 0xe0, 0xfc, 0xa2, 0x16, 0x5c, - 0x98, 0xc7, 0x82, 0x8b, 0x2f, 0x62, 0xc1, 0xa5, 0x09, 0x0b, 0x3e, 0x82, 0xa5, 0x89, 0x54, 0xd4, - 0x31, 0x07, 0x21, 0xd4, 0x1c, 0xe2, 0xe1, 0xe6, 0x90, 0xf0, 0x98, 0x83, 0xf8, 0x83, 0x00, 0xb5, - 0xe8, 0x8c, 0x34, 0xf4, 0x03, 0x6f, 0xc1, 0x25, 0x37, 0x33, 0xf1, 0xae, 0x23, 0xf3, 0xfe, 0xc8, - 0xe9, 0x74, 0x17, 0x72, 0x4a, 0x14, 0x67, 0x63, 0x4a, 0x7a, 0x4d, 0xf4, 0x31, 0x94, 0xfd, 0xb9, - 0x34, 0x49, 0x55, 0xc8, 0x71, 0xf9, 0x9b, 0x89, 0xe3, 0xe2, 0xae, 0x85, 0x33, 0x66, 0xa9, 0x74, - 0xee, 0x6d, 0x9a, 0xe2, 0xaf, 0xe2, 0x4e, 0xa4, 0xf6, 0x25, 0xc6, 0xe8, 0x3d, 0x48, 0xf3, 0x93, - 0x2d, 0xcc, 0x7b, 0xb2, 0xb9, 0x40, 0xf0, 0x34, 0xc7, 0x5f, 0xec, 0x34, 0x27, 0x42, 0xb7, 0x2f, - 0x19, 0xbe, 0x54, 0x29, 0xef, 0x52, 0xbd, 0x01, 0x29, 0x76, 0x23, 0x60, 0x01, 0xe5, 0xca, 0xe4, - 0xb9, 0xa0, 0x53, 0x95, 0x18, 0x17, 0xaa, 0x43, 0x96, 0x65, 0xdd, 0x6a, 0x97, 0x3b, 0x80, 0xab, - 0x11, 0x12, 0x3b, 0xdb, 0x5b, 0xf9, 0xe7, 0xcf, 0xd6, 0x32, 0xbc, 0x21, 0x65, 0xa8, 0xdc, 0x4e, - 0x57, 0xfc, 0x45, 0x0e, 0xb2, 0x12, 0x36, 0x75, 0x62, 0xc2, 0x68, 0x0b, 0x72, 0x78, 0xdc, 0xc1, - 0xba, 0x65, 0x67, 0xf8, 0xe1, 0x37, 0x28, 0xc6, 0xdd, 0xb4, 0x39, 0x5b, 0x31, 0xc9, 0x15, 0x43, - 0xf7, 0x38, 0xd0, 0x11, 0x8d, 0x59, 0x70, 0x71, 0x2f, 0xd2, 0xf1, 0x8e, 0x8d, 0x74, 0xb0, 0x40, - 0xbf, 0x1a, 0x29, 0x15, 0x80, 0x3a, 0xee, 0x71, 0xa8, 0x23, 0x39, 0xe3, 0x63, 0x3e, 0xac, 0xa3, - 0xe1, 0xc3, 0x3a, 0x52, 0x33, 0xa6, 0x19, 0x01, 0x76, 0xbc, 0x63, 0x83, 0x1d, 0xe9, 0x19, 0x23, - 0x0e, 0xa0, 0x1d, 0x7f, 0x3f, 0x81, 0x76, 0xac, 0x47, 0x8a, 0x86, 0xc0, 0x1d, 0xfb, 0x13, 0x70, - 0x47, 0x96, 0x2a, 0x79, 0x25, 0x52, 0xc9, 0x0c, 0xbc, 0x63, 0x7f, 0x02, 0xef, 0xc8, 0xcd, 0x50, - 0x38, 0x03, 0xf0, 0xf8, 0x97, 0x70, 0xc0, 0x03, 0x22, 0x21, 0x09, 0x3e, 0xcc, 0xf9, 0x10, 0x0f, - 0x39, 0x02, 0xf1, 0xc8, 0x47, 0xde, 0xce, 0x99, 0xfa, 0xb9, 0x21, 0x8f, 0xa3, 0x10, 0xc8, 0x83, - 0x25, 0x2f, 0xb7, 0x23, 0x95, 0xcf, 0x81, 0x79, 0x1c, 0x85, 0x60, 0x1e, 0xc5, 0x99, 0x6a, 0x67, - 0x82, 0x1e, 0x0f, 0xfc, 0xa0, 0x47, 0x29, 0xe2, 0x4e, 0xe9, 0x1e, 0xd9, 0x08, 0xd4, 0xe3, 0x24, - 0x0a, 0xf5, 0x60, 0x68, 0xcf, 0xeb, 0x91, 0x1a, 0x17, 0x80, 0x3d, 0xf6, 0x27, 0x60, 0x8f, 0xca, - 0x0c, 0x4b, 0x9b, 0x13, 0xf7, 0x10, 0x5f, 0x25, 0xb1, 0x34, 0xe0, 0x94, 0x88, 0x83, 0xc5, 0x86, - 0xa1, 0x19, 0x1c, 0xa9, 0x60, 0x0d, 0xf1, 0x36, 0xb9, 0xb7, 0xba, 0x0e, 0x68, 0x0a, 0x16, 0x52, - 0x86, 0xa2, 0xcf, 0xe9, 0x88, 0xff, 0x23, 0xb8, 0xb2, 0x14, 0x0d, 0xf1, 0xde, 0x79, 0x73, 0xfc, - 0xce, 0x1b, 0xb8, 0xa7, 0xe5, 0x7c, 0x19, 0x81, 0x37, 0xe7, 0xe0, 0xe0, 0x87, 0xe2, 0xe6, 0x1a, - 0x77, 0x60, 0x89, 0x66, 0xa7, 0xcc, 0xa3, 0xfb, 0x82, 0x46, 0x99, 0x74, 0xb0, 0x55, 0x60, 0xd1, - 0xe3, 0x0d, 0x58, 0xf6, 0xf0, 0x3a, 0x17, 0x4d, 0x86, 0x00, 0x54, 0x1c, 0xee, 0x3a, 0xbf, 0x71, - 0xfe, 0x2e, 0xee, 0xae, 0x90, 0x8b, 0x9a, 0x84, 0x01, 0x1c, 0xc2, 0x4f, 0x06, 0x38, 0xa2, 0x2f, - 0xbc, 0xe8, 0x13, 0x58, 0xf1, 0x61, 0x1f, 0x76, 0xf2, 0x97, 0x58, 0x0c, 0x02, 0x89, 0x79, 0x72, - 0x11, 0xa7, 0x07, 0x7d, 0x0a, 0xd7, 0x68, 0x1a, 0x1b, 0x91, 0x60, 0x26, 0xe7, 0x4b, 0x30, 0xaf, - 0x10, 0x1d, 0x8d, 0x90, 0x24, 0x33, 0x02, 0x18, 0x49, 0x45, 0x01, 0x23, 0x7f, 0x14, 0x5c, 0xbb, - 0x71, 0xa0, 0x91, 0x8e, 0xd6, 0x65, 0xf6, 0x55, 0x94, 0xe8, 0x6f, 0x72, 0x49, 0xe9, 0x6b, 0x67, - 0xdc, 0x44, 0xc8, 0x4f, 0xc2, 0xe5, 0x80, 0xf6, 0x39, 0x1e, 0xa8, 0x56, 0x20, 0xa5, 0x0e, 0xbb, - 0x78, 0xcc, 0xad, 0x80, 0x35, 0x88, 0xec, 0x13, 0x7c, 0xc1, 0xf7, 0x9a, 0xfc, 0x24, 0x7c, 0xf4, - 0x20, 0xd0, 0x58, 0x54, 0x90, 0x58, 0x03, 0xbd, 0x0b, 0x39, 0x5a, 0x79, 0x91, 0x35, 0xdd, 0xe4, - 0xa1, 0xc6, 0x97, 0x11, 0xb1, 0x2a, 0xc9, 0xc6, 0x01, 0xe1, 0xd9, 0xd7, 0x4d, 0x29, 0xab, 0xf3, - 0x5f, 0x9e, 0x9c, 0x25, 0xeb, 0xcb, 0x59, 0xae, 0x43, 0x8e, 0x8c, 0xde, 0xd4, 0x95, 0x0e, 0xa6, - 0x61, 0x22, 0x27, 0xb9, 0x04, 0xf1, 0xff, 0x04, 0x28, 0x07, 0x22, 0x57, 0xe8, 0xdc, 0xed, 0x63, - 0x13, 0xf7, 0x43, 0x45, 0x13, 0xb3, 0xbf, 0x01, 0x70, 0xa6, 0x98, 0xf2, 0x53, 0x65, 0x68, 0xe1, - 0x2e, 0x5f, 0x82, 0xdc, 0x99, 0x62, 0x7e, 0x44, 0x09, 0xfe, 0xc1, 0xa4, 0x02, 0x83, 0xf1, 0x80, - 0x15, 0x69, 0x2f, 0x58, 0x81, 0x6a, 0x90, 0xd5, 0x0d, 0x55, 0x33, 0x54, 0xeb, 0x82, 0xae, 0x49, - 0x42, 0x72, 0xda, 0xe2, 0x01, 0x5c, 0x0a, 0x0d, 0x9a, 0xe8, 0x3e, 0xe4, 0xdc, 0x78, 0x2b, 0xd0, - 0xdc, 0x70, 0x0a, 0x06, 0xe4, 0xf2, 0x92, 0x25, 0xb9, 0x14, 0x1a, 0x36, 0x51, 0x13, 0xd2, 0x06, - 0x36, 0x47, 0x7d, 0x96, 0xab, 0x96, 0xee, 0xbe, 0x31, 0x5f, 0xb8, 0x25, 0xd4, 0x51, 0xdf, 0x92, - 0xb8, 0xb0, 0xf8, 0x19, 0xa4, 0x19, 0x05, 0xe5, 0x21, 0x73, 0xb4, 0xf7, 0x68, 0x6f, 0xff, 0xa3, - 0xbd, 0x4a, 0x0c, 0x01, 0xa4, 0xeb, 0x8d, 0x46, 0xf3, 0xa0, 0x5d, 0x11, 0x50, 0x0e, 0x52, 0xf5, - 0xad, 0x7d, 0xa9, 0x5d, 0x89, 0x13, 0xb2, 0xd4, 0x7c, 0xd8, 0x6c, 0xb4, 0x2b, 0x09, 0xb4, 0x04, - 0x45, 0xf6, 0x5b, 0x7e, 0xb0, 0x2f, 0x3d, 0xae, 0xb7, 0x2b, 0x49, 0x0f, 0xe9, 0xb0, 0xb9, 0xb7, - 0xdd, 0x94, 0x2a, 0x29, 0xf1, 0x2d, 0xb8, 0x1a, 0x19, 0xa0, 0x5d, 0x98, 0x48, 0xf0, 0xc0, 0x44, - 0xe2, 0xf7, 0x71, 0x72, 0x03, 0x89, 0x8a, 0xba, 0xe8, 0x61, 0x60, 0xe2, 0x77, 0x17, 0x08, 0xd9, - 0x81, 0xd9, 0xa3, 0x97, 0xa1, 0x64, 0xe0, 0x53, 0x6c, 0x75, 0x7a, 0x2c, 0x0b, 0xb0, 0x71, 0xa4, - 0x22, 0xa7, 0x52, 0x21, 0x93, 0xb1, 0x7d, 0x8e, 0x3b, 0x96, 0xcc, 0x8c, 0xc0, 0xa4, 0xb7, 0xf5, - 0x1c, 0x61, 0x23, 0xd4, 0x43, 0x46, 0x24, 0x0e, 0x9a, 0x39, 0x12, 0xa6, 0x2a, 0x49, 0x55, 0x01, - 0xf5, 0x0b, 0x94, 0x22, 0x3e, 0x5d, 0x68, 0xb1, 0x73, 0x90, 0x92, 0x9a, 0x6d, 0xe9, 0xe3, 0x4a, - 0x02, 0x21, 0x28, 0xd1, 0x9f, 0xf2, 0xe1, 0x5e, 0xfd, 0xe0, 0xb0, 0xb5, 0x4f, 0x16, 0x7b, 0x19, - 0xca, 0xf6, 0x62, 0xdb, 0xc4, 0x14, 0xba, 0x04, 0x4b, 0x8d, 0xfd, 0xc7, 0x07, 0xbb, 0xcd, 0x76, - 0xd3, 0x25, 0xa7, 0xc5, 0xff, 0x4d, 0xc0, 0x95, 0x88, 0x5c, 0x03, 0xbd, 0x0b, 0x60, 0x8d, 0x65, - 0x03, 0x77, 0x34, 0xa3, 0x1b, 0x6d, 0x9c, 0xed, 0xb1, 0x44, 0x39, 0xa4, 0x9c, 0xc5, 0x7f, 0x4d, - 0x75, 0xd8, 0x1f, 0x70, 0xa5, 0x64, 0xb2, 0x26, 0xc7, 0x36, 0x6e, 0x84, 0x5c, 0xd6, 0x70, 0x87, - 0x28, 0xa6, 0x7b, 0x42, 0x15, 0x53, 0x7e, 0xf4, 0x31, 0x5c, 0x09, 0xc4, 0x15, 0xee, 0x8c, 0xcd, - 0xb0, 0xc2, 0x62, 0x78, 0x78, 0xb9, 0xe4, 0x0f, 0x2f, 0xcc, 0x19, 0x9b, 0x53, 0x80, 0x84, 0xd4, - 0x0b, 0x00, 0x09, 0x51, 0xf1, 0x29, 0xbd, 0x28, 0x44, 0x1f, 0x12, 0x9f, 0xc4, 0xff, 0xf6, 0x6d, - 0x9e, 0x3f, 0x7d, 0xdb, 0x87, 0xb4, 0x69, 0x29, 0xd6, 0xc8, 0xe4, 0x87, 0xe1, 0xfe, 0xbc, 0xb9, - 0xe0, 0x86, 0xfd, 0xe3, 0x90, 0x8a, 0x4b, 0x5c, 0xcd, 0x5f, 0xe5, 0x9e, 0x46, 0xad, 0x7e, 0xea, - 0xe7, 0x58, 0xfd, 0xb7, 0xa1, 0xe4, 0x5f, 0xaa, 0xe8, 0xb3, 0xeb, 0x7a, 0xc7, 0xb8, 0xd8, 0x87, - 0xe5, 0x10, 0x28, 0x02, 0xdd, 0xe7, 0xd5, 0x06, 0xb6, 0x5b, 0x37, 0x27, 0xa7, 0xec, 0x63, 0x77, - 0x8b, 0x0e, 0x24, 0x58, 0xb9, 0x39, 0x35, 0xdb, 0x18, 0x97, 0x20, 0x76, 0x00, 0x4d, 0x66, 0xe8, - 0x61, 0xb0, 0x89, 0xf0, 0x02, 0xb0, 0xc9, 0x7f, 0x0a, 0x70, 0x6d, 0x4a, 0xd6, 0x8e, 0x3e, 0x0c, - 0xd8, 0xe2, 0x7b, 0x8b, 0xe4, 0xfc, 0x1b, 0x8c, 0xe6, 0xb7, 0x46, 0xf1, 0x1e, 0x14, 0xbc, 0xf4, - 0xf9, 0x96, 0xfe, 0xdf, 0x3d, 0x31, 0xd3, 0x8f, 0xef, 0xb4, 0x20, 0x8d, 0xcf, 0xf1, 0xd0, 0x89, - 0xc1, 0x97, 0x27, 0xd7, 0x81, 0x74, 0x6f, 0x55, 0x49, 0xae, 0xf8, 0xfb, 0x67, 0x6b, 0x15, 0xc6, - 0xfd, 0xba, 0x36, 0x50, 0x2d, 0x3c, 0xd0, 0xad, 0x0b, 0x89, 0xcb, 0xa3, 0x9b, 0x50, 0x34, 0xb0, - 0x45, 0x5c, 0x88, 0x0f, 0x5a, 0x2b, 0x30, 0x22, 0xcf, 0xe4, 0x7e, 0x29, 0x00, 0xb8, 0x80, 0x91, - 0x0b, 0xd8, 0x08, 0x5e, 0xc0, 0x26, 0x80, 0xf3, 0xc5, 0x83, 0x38, 0x1f, 0xba, 0x05, 0x65, 0x96, - 0xa4, 0x9b, 0xea, 0xd9, 0x50, 0xb1, 0x46, 0x06, 0xe6, 0xf0, 0x50, 0x89, 0x92, 0x0f, 0x6d, 0x2a, - 0xfa, 0x04, 0xae, 0x5a, 0x3d, 0x03, 0x9b, 0x3d, 0xad, 0xdf, 0x95, 0x83, 0x1b, 0xcf, 0xca, 0x16, - 0x6b, 0x33, 0x0c, 0x4e, 0xba, 0xe2, 0x68, 0x38, 0xf6, 0x6f, 0xfe, 0x97, 0x90, 0xa2, 0x6b, 0x43, - 0x12, 0x2d, 0xc7, 0x82, 0x73, 0xdc, 0x38, 0x3f, 0x05, 0x50, 0x2c, 0xcb, 0x50, 0x4f, 0x46, 0xe4, - 0x38, 0xc7, 0x27, 0x3f, 0xe5, 0xae, 0x6d, 0xdd, 0xe6, 0xdb, 0xba, 0xce, 0x17, 0x79, 0xc5, 0x15, - 0xf5, 0x2c, 0xb4, 0x47, 0xa1, 0xb8, 0x07, 0x25, 0xbf, 0xac, 0x9d, 0xc1, 0xb2, 0x31, 0xf8, 0x33, - 0x58, 0x96, 0x11, 0xf3, 0x0c, 0xd6, 0xc9, 0x7f, 0x13, 0xac, 0x28, 0x48, 0x1b, 0xe2, 0x9f, 0x04, - 0x28, 0x78, 0xdd, 0xd4, 0xdc, 0x49, 0x26, 0x4f, 0xba, 0x13, 0x93, 0x49, 0x77, 0x32, 0x32, 0xed, - 0x4c, 0x05, 0xd3, 0xce, 0xab, 0x90, 0x25, 0xdd, 0x23, 0x13, 0x77, 0x79, 0x25, 0x35, 0x73, 0xa6, - 0x98, 0x47, 0x26, 0xee, 0x7a, 0xec, 0x33, 0xf3, 0x82, 0xf6, 0xe9, 0xcb, 0x6d, 0xb3, 0xc1, 0x44, - 0xfb, 0x2b, 0x01, 0xb2, 0xce, 0xe4, 0xfd, 0x05, 0x43, 0x1f, 0xbe, 0xc8, 0xd6, 0x8e, 0x95, 0x0b, - 0xf9, 0xdd, 0x81, 0x95, 0x4f, 0x13, 0x4e, 0xf9, 0xf4, 0x7d, 0x27, 0x1b, 0x8b, 0x42, 0xd0, 0xbc, - 0x2b, 0x6d, 0x83, 0xa6, 0x3c, 0xf9, 0xfc, 0x0f, 0x3e, 0x0e, 0x92, 0x4e, 0xa0, 0xbf, 0x83, 0xb4, - 0xd2, 0x71, 0x70, 0xc3, 0x52, 0x08, 0xa0, 0x66, 0xb3, 0x6e, 0xb4, 0xc7, 0x75, 0xca, 0x29, 0x71, - 0x09, 0x3e, 0xaa, 0xb8, 0x3d, 0x2a, 0xf1, 0x1f, 0x89, 0x5e, 0xc6, 0xe3, 0xf7, 0x19, 0x25, 0x80, - 0xa3, 0xbd, 0xc7, 0xfb, 0xdb, 0x3b, 0x0f, 0x76, 0x9a, 0xdb, 0x3c, 0xdd, 0xda, 0xde, 0x6e, 0x6e, - 0x57, 0xe2, 0x84, 0x4f, 0x6a, 0x3e, 0xde, 0x3f, 0x6e, 0x6e, 0x57, 0x12, 0x62, 0x1d, 0x72, 0x4e, - 0x94, 0xa0, 0xa5, 0x65, 0xed, 0x29, 0x36, 0xf8, 0x02, 0xb1, 0x06, 0x5a, 0x85, 0xfc, 0x24, 0xd6, - 0x4d, 0x2e, 0x4c, 0x0c, 0xe2, 0x16, 0xff, 0x4b, 0x80, 0xb2, 0xa3, 0x83, 0xe7, 0x09, 0xef, 0x43, - 0x46, 0x1f, 0x9d, 0xc8, 0xb6, 0xed, 0x06, 0x10, 0x62, 0xfb, 0x3e, 0x35, 0x3a, 0xe9, 0xab, 0x9d, - 0x47, 0xf8, 0x82, 0x47, 0xa5, 0xb4, 0x3e, 0x3a, 0x79, 0xc4, 0x4c, 0x9c, 0x0d, 0x23, 0x3e, 0x65, - 0x18, 0x89, 0xc0, 0x30, 0xd0, 0x2d, 0x28, 0x0c, 0xb5, 0x2e, 0x96, 0x95, 0x6e, 0xd7, 0xc0, 0x26, - 0x0b, 0xb6, 0x39, 0xae, 0x39, 0x4f, 0x7a, 0xea, 0xac, 0x43, 0xfc, 0x41, 0x00, 0x34, 0x19, 0x19, - 0xd1, 0x21, 0x2c, 0xb9, 0xc1, 0xd5, 0x8e, 0xd8, 0xcc, 0x7d, 0xae, 0x47, 0x47, 0x56, 0xdf, 0xa5, - 0xbb, 0x72, 0xee, 0x27, 0x93, 0x2c, 0x6c, 0xc5, 0x75, 0x55, 0x3a, 0x9d, 0x2f, 0x5d, 0x94, 0xf8, - 0x9c, 0x8b, 0x12, 0x93, 0x90, 0x23, 0xef, 0xf4, 0x04, 0x5d, 0x69, 0x62, 0xa2, 0x64, 0xa2, 0x43, - 0xb5, 0x3d, 0x21, 0xc6, 0xe7, 0x19, 0x35, 0x24, 0xe1, 0x45, 0x86, 0x24, 0xde, 0x83, 0xca, 0x87, - 0xce, 0xf7, 0xf9, 0x97, 0x02, 0xc3, 0x14, 0x26, 0x86, 0x79, 0x0e, 0x59, 0xe2, 0x7d, 0x69, 0xd0, - 0xf8, 0x07, 0xc8, 0x39, 0xab, 0xe7, 0xbc, 0x4e, 0x89, 0x5c, 0x76, 0x3e, 0x12, 0x57, 0x04, 0xdd, - 0x81, 0x25, 0x12, 0x37, 0xec, 0xc2, 0x25, 0x83, 0xcd, 0xe2, 0xd4, 0x1b, 0x96, 0x59, 0xc7, 0xae, - 0x8d, 0xf5, 0x90, 0x00, 0x5f, 0x61, 0x89, 0x00, 0xee, 0xfe, 0x25, 0x06, 0x40, 0xee, 0x59, 0x01, - 0xf4, 0x90, 0xed, 0x61, 0xd1, 0x97, 0x89, 0x88, 0xff, 0x1a, 0x87, 0xbc, 0xa7, 0x90, 0x82, 0xfe, - 0xd6, 0x97, 0x54, 0xad, 0x4f, 0x2b, 0xba, 0x78, 0x32, 0x2a, 0xdf, 0xc4, 0xe2, 0x8b, 0x4f, 0x2c, - 0xaa, 0x84, 0x65, 0xd7, 0x53, 0x93, 0x0b, 0xd7, 0x53, 0x5f, 0x07, 0x64, 0x69, 0x96, 0xd2, 0x27, - 0xc1, 0x5b, 0x1d, 0x9e, 0xc9, 0xec, 0xb4, 0xb3, 0x00, 0x52, 0xa1, 0x3d, 0xc7, 0xb4, 0xe3, 0x80, - 0xd0, 0xc5, 0x3e, 0x64, 0x1d, 0x30, 0x60, 0xf1, 0x47, 0x1f, 0x61, 0x75, 0xe3, 0x1a, 0x64, 0x07, - 0xd8, 0x52, 0x68, 0xd8, 0x63, 0xe0, 0x90, 0xd3, 0xbe, 0xf3, 0x1e, 0xe4, 0x3d, 0x2f, 0x61, 0x48, - 0x24, 0xdc, 0x6b, 0x7e, 0x54, 0x89, 0xd5, 0x32, 0x5f, 0x7f, 0xbb, 0x9e, 0xd8, 0xc3, 0x4f, 0xc9, - 0xa7, 0xa4, 0x66, 0xa3, 0xd5, 0x6c, 0x3c, 0xaa, 0x08, 0xb5, 0xfc, 0xd7, 0xdf, 0xae, 0x67, 0x24, - 0x4c, 0x6b, 0x0e, 0x77, 0x1e, 0x41, 0x39, 0xb0, 0x03, 0x7e, 0x9f, 0x8c, 0xa0, 0xb4, 0x7d, 0x74, - 0xb0, 0xbb, 0xd3, 0xa8, 0xb7, 0x9b, 0xf2, 0xf1, 0x7e, 0xbb, 0x59, 0x11, 0xd0, 0x15, 0x58, 0xde, - 0xdd, 0xf9, 0xa7, 0x56, 0x5b, 0x6e, 0xec, 0xee, 0x34, 0xf7, 0xda, 0x72, 0xbd, 0xdd, 0xae, 0x37, - 0x1e, 0x55, 0xe2, 0x77, 0x7f, 0x03, 0x50, 0xae, 0x6f, 0x35, 0x76, 0xc8, 0xdd, 0x5e, 0xed, 0x28, - 0xd4, 0xc3, 0x37, 0x20, 0x49, 0xa1, 0xd8, 0xa9, 0x6f, 0x62, 0x6b, 0xd3, 0x0b, 0x49, 0xe8, 0x01, - 0xa4, 0x28, 0x4a, 0x8b, 0xa6, 0x3f, 0x92, 0xad, 0xcd, 0xa8, 0x2c, 0x91, 0xc1, 0xd0, 0x73, 0x33, - 0xf5, 0xd5, 0x6c, 0x6d, 0x7a, 0xa1, 0x09, 0xed, 0x42, 0xc6, 0x06, 0xc0, 0x66, 0x3d, 0x65, 0xad, - 0xcd, 0xac, 0xfe, 0x90, 0xa9, 0x31, 0x20, 0x71, 0xfa, 0x83, 0xda, 0xda, 0x8c, 0x12, 0x14, 0x92, - 0x20, 0xe7, 0x62, 0xbf, 0xb3, 0xdf, 0xf6, 0xd6, 0xe6, 0x28, 0x89, 0xa1, 0xcf, 0xa0, 0xe8, 0x87, - 0xca, 0xe6, 0x7b, 0x76, 0x5b, 0x9b, 0xb3, 0x5c, 0x45, 0xf4, 0xfb, 0x71, 0xb3, 0xf9, 0x9e, 0xe1, - 0xd6, 0xe6, 0xac, 0x5e, 0xa1, 0xcf, 0x61, 0x69, 0x12, 0xd7, 0x9a, 0xff, 0x55, 0x6e, 0x6d, 0x81, - 0x7a, 0x16, 0x1a, 0x00, 0x0a, 0xc1, 0xc3, 0x16, 0x78, 0xa4, 0x5b, 0x5b, 0xa4, 0xbc, 0x85, 0xba, - 0x50, 0x0e, 0x62, 0x45, 0xf3, 0x3e, 0xda, 0xad, 0xcd, 0x5d, 0xea, 0x62, 0x5f, 0xf1, 0x83, 0x1a, - 0xf3, 0x3e, 0xe2, 0xad, 0xcd, 0x5d, 0xf9, 0x42, 0x47, 0x00, 0x9e, 0x8b, 0xf1, 0x1c, 0x8f, 0x7a, - 0x6b, 0xf3, 0xd4, 0xc0, 0x90, 0x0e, 0xcb, 0x61, 0x37, 0xe1, 0x45, 0xde, 0xf8, 0xd6, 0x16, 0x2a, - 0x8d, 0x11, 0x7b, 0xf6, 0xdf, 0x69, 0xe7, 0x7b, 0xf3, 0x5b, 0x9b, 0xb3, 0x46, 0xb6, 0xd5, 0xfc, - 0xee, 0xf9, 0xaa, 0xf0, 0xfd, 0xf3, 0x55, 0xe1, 0x87, 0xe7, 0xab, 0xc2, 0x37, 0x3f, 0xae, 0xc6, - 0xbe, 0xff, 0x71, 0x35, 0xf6, 0xeb, 0x1f, 0x57, 0x63, 0xff, 0xfc, 0xda, 0x99, 0x6a, 0xf5, 0x46, - 0x27, 0x1b, 0x1d, 0x6d, 0xb0, 0xe9, 0xfd, 0x33, 0x44, 0xd8, 0x7f, 0x3b, 0x4e, 0xd2, 0x34, 0xdc, - 0xdd, 0xfb, 0x73, 0x00, 0x00, 0x00, 0xff, 0xff, 0x25, 0x24, 0x2d, 0xe9, 0xfb, 0x31, 0x00, 0x00, + // 3618 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x5b, 0x3d, 0x70, 0x1b, 0xd7, + 0xf1, 0xc7, 0xe1, 0x1b, 0x8b, 0x4f, 0x3e, 0x52, 0x12, 0x04, 0x49, 0x24, 0x7d, 0xfa, 0xdb, 0x92, + 0xf5, 0xb7, 0x49, 0x5b, 0x8a, 0x2d, 0x3b, 0x76, 0x92, 0x01, 0x41, 0x28, 0xa0, 0x44, 0x91, 0xf4, + 0x11, 0xa4, 0xc7, 0x71, 0xec, 0x9b, 0x23, 0xf0, 0x08, 0x9c, 0x05, 0xe0, 0xce, 0x77, 0x07, 0x0a, + 0x74, 0x9b, 0x38, 0x85, 0x2b, 0x77, 0xa9, 0x5c, 0xa6, 0x4c, 0x93, 0x2a, 0x93, 0x22, 0x99, 0x74, + 0xce, 0xa4, 0x71, 0x99, 0x26, 0x8a, 0x47, 0x6e, 0x32, 0xe9, 0x52, 0xa5, 0xcb, 0x64, 0xde, 0xc7, + 0x7d, 0x02, 0x87, 0x0f, 0xcb, 0x33, 0x99, 0x74, 0x78, 0xfb, 0x76, 0xf7, 0xde, 0xc7, 0xbe, 0xdd, + 0x7d, 0xbf, 0x7d, 0x80, 0x2b, 0x16, 0x1e, 0xb4, 0xb1, 0xd1, 0x57, 0x07, 0xd6, 0xa6, 0x72, 0xd2, + 0x52, 0x37, 0xad, 0x73, 0x1d, 0x9b, 0x1b, 0xba, 0xa1, 0x59, 0x1a, 0x2a, 0xba, 0x9d, 0x1b, 0xa4, + 0xb3, 0x72, 0xcd, 0xc3, 0xdd, 0x32, 0xce, 0x75, 0x4b, 0xdb, 0xd4, 0x0d, 0x4d, 0x3b, 0x65, 0xfc, + 0x15, 0xaf, 0x32, 0xaa, 0x67, 0xb3, 0xad, 0x98, 0x5d, 0xde, 0x79, 0x75, 0xac, 0xf3, 0xa4, 0xa7, + 0xb5, 0x1e, 0x85, 0xf6, 0x7a, 0x06, 0xe2, 0xeb, 0xe5, 0xdf, 0x7d, 0x84, 0xcf, 0xed, 0xde, 0x6b, + 0x63, 0xb2, 0xba, 0x62, 0x28, 0x7d, 0xbb, 0x7b, 0xd5, 0xd3, 0x7d, 0x86, 0x0d, 0x53, 0xd5, 0x06, + 0x3e, 0xe5, 0x6b, 0x1d, 0x4d, 0xeb, 0xf4, 0xf0, 0x26, 0x6d, 0x9d, 0x0c, 0x4f, 0x37, 0x2d, 0xb5, + 0x8f, 0x4d, 0x4b, 0xe9, 0xeb, 0x9c, 0x61, 0xa5, 0xa3, 0x75, 0x34, 0xfa, 0x73, 0x93, 0xfc, 0x62, + 0x54, 0xf1, 0xd3, 0x0c, 0xa4, 0x24, 0xfc, 0xf1, 0x10, 0x9b, 0x16, 0xba, 0x0d, 0x71, 0xdc, 0xea, + 0x6a, 0x65, 0x61, 0x5d, 0xb8, 0x99, 0xbd, 0x7d, 0x75, 0x23, 0xb0, 0x6e, 0x1b, 0x9c, 0xaf, 0xde, + 0xea, 0x6a, 0x8d, 0x88, 0x44, 0x79, 0xd1, 0x6b, 0x90, 0x38, 0xed, 0x0d, 0xcd, 0x6e, 0x39, 0x4a, + 0x85, 0xae, 0x85, 0x09, 0xdd, 0x23, 0x4c, 0x8d, 0x88, 0xc4, 0xb8, 0xc9, 0xa7, 0xd4, 0xc1, 0xa9, + 0x56, 0x8e, 0x4d, 0xff, 0xd4, 0xce, 0xe0, 0x94, 0x7e, 0x8a, 0xf0, 0xa2, 0x2d, 0x00, 0x75, 0xa0, + 0x5a, 0x72, 0xab, 0xab, 0xa8, 0x83, 0x72, 0x9c, 0x4a, 0x3e, 0x17, 0x2e, 0xa9, 0x5a, 0x35, 0xc2, + 0xd8, 0x88, 0x48, 0x19, 0xd5, 0x6e, 0x90, 0xe1, 0x7e, 0x3c, 0xc4, 0xc6, 0x79, 0x39, 0x31, 0x7d, + 0xb8, 0xef, 0x10, 0x26, 0x32, 0x5c, 0xca, 0x8d, 0xde, 0x86, 0x74, 0xab, 0x8b, 0x5b, 0x8f, 0x64, + 0x6b, 0x54, 0x4e, 0x51, 0xc9, 0xb5, 0x30, 0xc9, 0x1a, 0xe1, 0x6b, 0x8e, 0x1a, 0x11, 0x29, 0xd5, + 0x62, 0x3f, 0xd1, 0x1e, 0x14, 0x7a, 0xaa, 0x69, 0xc9, 0xe6, 0x40, 0xd1, 0xcd, 0xae, 0x66, 0x99, + 0xe5, 0x2c, 0xd5, 0xf1, 0x7c, 0x98, 0x8e, 0x5d, 0xd5, 0xb4, 0x0e, 0x6d, 0xe6, 0x46, 0x44, 0xca, + 0xf7, 0xbc, 0x04, 0xa2, 0x4f, 0x3b, 0x3d, 0xc5, 0x86, 0xa3, 0xb0, 0x9c, 0x9b, 0xae, 0x6f, 0x9f, + 0x70, 0xdb, 0xf2, 0x44, 0x9f, 0xe6, 0x25, 0xa0, 0xf7, 0x61, 0xb9, 0xa7, 0x29, 0x6d, 0x47, 0x9d, + 0xdc, 0xea, 0x0e, 0x07, 0x8f, 0xca, 0x79, 0xaa, 0xf4, 0xc5, 0xd0, 0x41, 0x6a, 0x4a, 0xdb, 0x56, + 0x51, 0x23, 0x02, 0x8d, 0x88, 0xb4, 0xd4, 0x0b, 0x12, 0xd1, 0x87, 0xb0, 0xa2, 0xe8, 0x7a, 0xef, + 0x3c, 0xa8, 0xbd, 0x40, 0xb5, 0xdf, 0x0a, 0xd3, 0x5e, 0x25, 0x32, 0x41, 0xf5, 0x48, 0x19, 0xa3, + 0xa2, 0x26, 0x94, 0x74, 0x03, 0xeb, 0x8a, 0x81, 0x65, 0xdd, 0xd0, 0x74, 0xcd, 0x54, 0x7a, 0xe5, + 0x22, 0xd5, 0x7d, 0x23, 0x4c, 0xf7, 0x01, 0xe3, 0x3f, 0xe0, 0xec, 0x8d, 0x88, 0x54, 0xd4, 0xfd, + 0x24, 0xa6, 0x55, 0x6b, 0x61, 0xd3, 0x74, 0xb5, 0x96, 0x66, 0x69, 0xa5, 0xfc, 0x7e, 0xad, 0x3e, + 0x12, 0xaa, 0x43, 0x16, 0x8f, 0x88, 0xb8, 0x7c, 0xa6, 0x59, 0xb8, 0xbc, 0x44, 0x15, 0x8a, 0xa1, + 0xe7, 0x8c, 0xb2, 0x1e, 0x6b, 0x16, 0x6e, 0x44, 0x24, 0xc0, 0x4e, 0x0b, 0x29, 0x70, 0xe1, 0x0c, + 0x1b, 0xea, 0xe9, 0x39, 0x55, 0x23, 0xd3, 0x1e, 0xe2, 0x0f, 0xca, 0x88, 0x2a, 0xfc, 0xff, 0x30, + 0x85, 0xc7, 0x54, 0x88, 0xa8, 0xa8, 0xdb, 0x22, 0x8d, 0x88, 0xb4, 0x7c, 0x36, 0x4e, 0x26, 0x26, + 0x76, 0xaa, 0x0e, 0x94, 0x9e, 0xfa, 0x09, 0x96, 0xa9, 0x83, 0x2b, 0x2f, 0x4f, 0x37, 0xb1, 0x7b, + 0x9c, 0x7b, 0x8b, 0x30, 0x13, 0x13, 0x3b, 0xf5, 0x12, 0xb6, 0x52, 0x90, 0x38, 0x53, 0x7a, 0x43, + 0x7c, 0x3f, 0x9e, 0x4e, 0x96, 0x52, 0xf7, 0xe3, 0xe9, 0x74, 0x29, 0x73, 0x3f, 0x9e, 0xce, 0x94, + 0xe0, 0x7e, 0x3c, 0x0d, 0xa5, 0xac, 0x78, 0x03, 0xb2, 0x1e, 0xf7, 0x82, 0xca, 0x90, 0xea, 0x63, + 0xd3, 0x54, 0x3a, 0x98, 0x7a, 0xa3, 0x8c, 0x64, 0x37, 0xc5, 0x02, 0xe4, 0xbc, 0x2e, 0x45, 0xfc, + 0x5c, 0x70, 0x24, 0x89, 0xb7, 0x20, 0x92, 0xdc, 0x3d, 0xda, 0x92, 0xbc, 0x89, 0xae, 0x43, 0x9e, + 0x4e, 0x45, 0xb6, 0xfb, 0x89, 0xcb, 0x8a, 0x4b, 0x39, 0x4a, 0x3c, 0xe6, 0x4c, 0x6b, 0x90, 0xd5, + 0x6f, 0xeb, 0x0e, 0x4b, 0x8c, 0xb2, 0x80, 0x7e, 0x5b, 0xb7, 0x19, 0x9e, 0x83, 0x1c, 0x99, 0xb7, + 0xc3, 0x11, 0xa7, 0x1f, 0xc9, 0x12, 0x1a, 0x67, 0x11, 0x7f, 0x1e, 0x83, 0x52, 0xd0, 0x0d, 0xa1, + 0x37, 0x20, 0x4e, 0x3c, 0x32, 0x77, 0xae, 0x95, 0x0d, 0xe6, 0xae, 0x37, 0x6c, 0x77, 0xbd, 0xd1, + 0xb4, 0xdd, 0xf5, 0x56, 0xfa, 0xcb, 0x27, 0x6b, 0x91, 0xcf, 0xff, 0xb6, 0x26, 0x48, 0x54, 0x02, + 0x5d, 0x26, 0xce, 0x47, 0x51, 0x07, 0xb2, 0xda, 0xa6, 0x43, 0xce, 0x10, 0xcf, 0xa2, 0xa8, 0x83, + 0x9d, 0x36, 0xda, 0x85, 0x52, 0x4b, 0x1b, 0x98, 0x78, 0x60, 0x0e, 0x4d, 0x99, 0x85, 0x0b, 0xee, + 0x52, 0x7d, 0x8e, 0x91, 0xc5, 0x89, 0x9a, 0xcd, 0x79, 0x40, 0x19, 0xa5, 0x62, 0xcb, 0x4f, 0x40, + 0x7b, 0x90, 0x3f, 0x53, 0x7a, 0x6a, 0x5b, 0xb1, 0x34, 0x43, 0x36, 0xb1, 0xc5, 0x7d, 0xec, 0xf5, + 0xb1, 0x3d, 0x3f, 0xb6, 0xb9, 0x0e, 0xb1, 0x75, 0xa4, 0xb7, 0x15, 0x0b, 0x6f, 0xc5, 0xbf, 0x7c, + 0xb2, 0x26, 0x48, 0xb9, 0x33, 0x4f, 0x0f, 0x7a, 0x01, 0x8a, 0x8a, 0xae, 0xcb, 0xa6, 0xa5, 0x58, + 0x58, 0x3e, 0x39, 0xb7, 0xb0, 0x49, 0xdd, 0x6e, 0x4e, 0xca, 0x2b, 0xba, 0x7e, 0x48, 0xa8, 0x5b, + 0x84, 0x88, 0x9e, 0x87, 0x02, 0xf1, 0xd0, 0xaa, 0xd2, 0x93, 0xbb, 0x58, 0xed, 0x74, 0xad, 0x72, + 0x72, 0x5d, 0xb8, 0x19, 0x93, 0xf2, 0x9c, 0xda, 0xa0, 0x44, 0xb4, 0x01, 0xcb, 0x36, 0x5b, 0x4b, + 0x33, 0xb0, 0xcd, 0x4b, 0xfc, 0x71, 0x5e, 0x5a, 0xe2, 0x5d, 0x35, 0xcd, 0xc0, 0x8c, 0x5f, 0x6c, + 0x3b, 0x96, 0x42, 0xbd, 0x39, 0x42, 0x10, 0x6f, 0x2b, 0x96, 0x42, 0x77, 0x20, 0x27, 0xd1, 0xdf, + 0x84, 0xa6, 0x2b, 0x56, 0x97, 0xaf, 0x2b, 0xfd, 0x8d, 0x2e, 0x42, 0x92, 0xab, 0x8e, 0xd1, 0x61, + 0xf0, 0x16, 0x5a, 0x81, 0x84, 0x6e, 0x68, 0x67, 0x98, 0x2e, 0x4b, 0x5a, 0x62, 0x0d, 0x51, 0x82, + 0x82, 0xdf, 0xf3, 0xa3, 0x02, 0x44, 0xad, 0x11, 0xff, 0x4a, 0xd4, 0x1a, 0xa1, 0x57, 0x20, 0x4e, + 0x36, 0x80, 0x7e, 0xa3, 0x30, 0x21, 0xd6, 0x71, 0xb9, 0xe6, 0xb9, 0x8e, 0x25, 0xca, 0x29, 0x5e, + 0x84, 0x95, 0x49, 0x91, 0x40, 0xec, 0x3a, 0x74, 0x9f, 0x47, 0x47, 0xaf, 0x41, 0xda, 0x09, 0x05, + 0xcc, 0xbe, 0x2e, 0x8f, 0x7d, 0xc5, 0x66, 0x96, 0x1c, 0x56, 0x62, 0x58, 0x64, 0x7f, 0xba, 0x0a, + 0x0f, 0xdf, 0x39, 0x29, 0xa5, 0xe8, 0x7a, 0x43, 0x31, 0xbb, 0x62, 0x07, 0xca, 0x61, 0x6e, 0xde, + 0xb3, 0x3e, 0x02, 0x3d, 0x1d, 0xf6, 0xfa, 0x78, 0x4e, 0x5e, 0x94, 0xee, 0x89, 0x73, 0xf2, 0xa8, + 0x05, 0x0f, 0x07, 0x8f, 0x88, 0x05, 0xc7, 0xd8, 0x87, 0x68, 0x7b, 0xa7, 0x2d, 0xb6, 0xe1, 0x72, + 0xa8, 0xc7, 0xf7, 0xc9, 0x09, 0x3e, 0x39, 0xb2, 0x19, 0x2c, 0x8e, 0xb0, 0x81, 0xb3, 0x06, 0x19, + 0x9a, 0x49, 0xe7, 0x4d, 0x3f, 0x93, 0x91, 0x78, 0x4b, 0xfc, 0x67, 0x1c, 0x2e, 0x4e, 0x76, 0xfe, + 0x68, 0x1d, 0x72, 0x7d, 0x65, 0x24, 0x5b, 0x23, 0x6e, 0xa1, 0x02, 0xdd, 0x73, 0xe8, 0x2b, 0xa3, + 0xe6, 0x88, 0x99, 0x67, 0x09, 0x62, 0xd6, 0xc8, 0x2c, 0x47, 0xd7, 0x63, 0x37, 0x73, 0x12, 0xf9, + 0x89, 0x1e, 0xc2, 0x52, 0x4f, 0x6b, 0x29, 0x3d, 0xb9, 0xa7, 0x98, 0x96, 0xdc, 0xd2, 0xfa, 0x7d, + 0xd5, 0xe2, 0xe7, 0xee, 0xca, 0xf8, 0xf6, 0xd2, 0x6e, 0xe2, 0x9b, 0xe8, 0x21, 0x89, 0x48, 0x45, + 0x2a, 0xbb, 0xab, 0x98, 0x16, 0xeb, 0x42, 0xdb, 0x90, 0xed, 0xab, 0xe6, 0x09, 0xee, 0x2a, 0x67, + 0xaa, 0x66, 0x94, 0xe3, 0xeb, 0xb1, 0x89, 0x39, 0xd1, 0x43, 0x97, 0x87, 0x6b, 0xf2, 0x8a, 0x79, + 0xb6, 0x25, 0xe1, 0x33, 0x5b, 0xdb, 0xf1, 0x24, 0x17, 0x76, 0x3c, 0xaf, 0xc0, 0xca, 0x00, 0x8f, + 0x2c, 0xd9, 0x39, 0xd4, 0x26, 0xb3, 0x95, 0x14, 0x5d, 0x72, 0x44, 0xfa, 0x1c, 0x4f, 0x60, 0x12, + 0xb3, 0x21, 0xbb, 0x62, 0x68, 0xc3, 0x41, 0xbb, 0x9c, 0x5e, 0x17, 0x6e, 0x26, 0x24, 0xd6, 0x40, + 0x77, 0xa1, 0x4c, 0x0f, 0x2c, 0xf3, 0x62, 0xc4, 0xdb, 0xe2, 0xb6, 0x7d, 0x7a, 0x33, 0xd4, 0x52, + 0x2e, 0x90, 0x7e, 0xea, 0x27, 0x77, 0x69, 0x2f, 0x3f, 0xf1, 0x9b, 0xb0, 0xc2, 0xa2, 0x2f, 0x36, + 0x48, 0x18, 0x26, 0x9b, 0x44, 0x07, 0x00, 0x74, 0x00, 0x4b, 0x76, 0xdf, 0x81, 0xa1, 0x35, 0x47, + 0xf4, 0xfb, 0xaf, 0x38, 0x02, 0x6d, 0x99, 0x98, 0xb6, 0x6d, 0x8f, 0x59, 0x6a, 0xa8, 0xc8, 0xee, + 0xab, 0xea, 0x8e, 0x3b, 0xbf, 0xeb, 0x1a, 0x6d, 0x6e, 0x3c, 0x25, 0xe4, 0x5d, 0xae, 0xeb, 0x74, + 0x6d, 0x7a, 0x0d, 0xb2, 0x1f, 0x0f, 0x35, 0x63, 0xd8, 0x67, 0x43, 0xca, 0xd3, 0x21, 0x01, 0x23, + 0xd1, 0x23, 0xf4, 0x87, 0x84, 0xc7, 0xe6, 0xfc, 0x79, 0x00, 0xb7, 0x28, 0xc1, 0xb5, 0xa8, 0x43, + 0xcf, 0xc0, 0xbd, 0x46, 0x15, 0x9d, 0xd7, 0xa8, 0x9c, 0xb9, 0x85, 0xdb, 0x55, 0xec, 0xdb, 0xd9, + 0x15, 0x82, 0x38, 0x9d, 0x61, 0x9c, 0xb9, 0x4d, 0xf2, 0x3b, 0xd4, 0xd6, 0x9c, 0xfd, 0x4f, 0x7a, + 0xf7, 0xdf, 0xb6, 0xc0, 0xd4, 0x77, 0x66, 0x81, 0xe9, 0x50, 0x0b, 0xfc, 0xd6, 0xb6, 0xd6, 0x84, + 0x8b, 0x01, 0x41, 0x79, 0x48, 0x43, 0x1b, 0xb5, 0xb6, 0x40, 0xc2, 0x6f, 0x07, 0x54, 0x8f, 0x22, + 0x69, 0xd9, 0xa7, 0x97, 0x85, 0xc5, 0x50, 0x0b, 0xce, 0x2e, 0x6a, 0xc1, 0xb9, 0x79, 0x2c, 0x38, + 0xff, 0x2c, 0x16, 0x5c, 0x18, 0xb3, 0xe0, 0x23, 0x58, 0x1a, 0x4b, 0x45, 0x1d, 0x73, 0x10, 0x26, + 0x9a, 0x43, 0x74, 0xb2, 0x39, 0xc4, 0x3c, 0xe6, 0x20, 0x7e, 0x2d, 0x40, 0x25, 0x3c, 0x23, 0x9d, + 0xf8, 0x81, 0x57, 0xe1, 0x82, 0x9b, 0x99, 0x78, 0xd7, 0x91, 0x79, 0x7f, 0xe4, 0x74, 0xba, 0x0b, + 0x39, 0x25, 0x8a, 0xb3, 0x31, 0xc5, 0xbd, 0x26, 0xfa, 0x10, 0x8a, 0xfe, 0x5c, 0x9a, 0xa4, 0x2a, + 0xe4, 0xb8, 0xfc, 0xdf, 0xd8, 0x71, 0x71, 0xd7, 0xc2, 0x19, 0xb3, 0x54, 0x38, 0xf3, 0x36, 0x4d, + 0xf1, 0xcf, 0x51, 0x27, 0x52, 0xfb, 0x12, 0x63, 0xf4, 0x26, 0x24, 0xf9, 0xc9, 0x16, 0xe6, 0x3d, + 0xd9, 0x5c, 0x20, 0x78, 0x9a, 0xa3, 0xcf, 0x76, 0x9a, 0x63, 0x13, 0xb7, 0x2f, 0x3e, 0x79, 0xa9, + 0x12, 0xde, 0xa5, 0x7a, 0x19, 0x12, 0xec, 0x46, 0xc0, 0x02, 0xca, 0xa5, 0xf1, 0x73, 0x41, 0xa7, + 0x2a, 0x31, 0x2e, 0x54, 0x85, 0x34, 0xcb, 0xba, 0xd5, 0x36, 0x77, 0x00, 0x97, 0x43, 0x24, 0x76, + 0xb6, 0xb7, 0xb2, 0x4f, 0x9f, 0xac, 0xa5, 0x78, 0x43, 0x4a, 0x51, 0xb9, 0x9d, 0xb6, 0xf8, 0xc7, + 0x0c, 0xa4, 0x25, 0x6c, 0xea, 0xc4, 0x84, 0xd1, 0x16, 0x64, 0xf0, 0xa8, 0x85, 0x75, 0xcb, 0xce, + 0xf0, 0x27, 0xdf, 0xa0, 0x18, 0x77, 0xdd, 0xe6, 0x6c, 0x44, 0x24, 0x57, 0x0c, 0xdd, 0xe1, 0x40, + 0x47, 0x38, 0x66, 0xc1, 0xc5, 0xbd, 0x48, 0xc7, 0xeb, 0x36, 0xd2, 0xc1, 0x02, 0xfd, 0x6a, 0xa8, + 0x54, 0x00, 0xea, 0xb8, 0xc3, 0xa1, 0x8e, 0xf8, 0x8c, 0x8f, 0xf9, 0xb0, 0x8e, 0x9a, 0x0f, 0xeb, + 0x48, 0xcc, 0x98, 0x66, 0x08, 0xd8, 0xf1, 0xba, 0x0d, 0x76, 0x24, 0x67, 0x8c, 0x38, 0x80, 0x76, + 0xfc, 0x60, 0x0c, 0xed, 0x58, 0x0f, 0x15, 0x9d, 0x00, 0x77, 0xec, 0x8f, 0xc1, 0x1d, 0x69, 0xaa, + 0xe4, 0x85, 0x50, 0x25, 0x33, 0xf0, 0x8e, 0xfd, 0x31, 0xbc, 0x23, 0x33, 0x43, 0xe1, 0x0c, 0xc0, + 0xe3, 0xa7, 0x93, 0x01, 0x0f, 0x08, 0x85, 0x24, 0xf8, 0x30, 0xe7, 0x43, 0x3c, 0xe4, 0x10, 0xc4, + 0x23, 0x1b, 0x7a, 0x3b, 0x67, 0xea, 0xe7, 0x86, 0x3c, 0x8e, 0x26, 0x40, 0x1e, 0x2c, 0x79, 0xb9, + 0x19, 0xaa, 0x7c, 0x0e, 0xcc, 0xe3, 0x68, 0x02, 0xe6, 0x91, 0x9f, 0xa9, 0x76, 0x26, 0xe8, 0x71, + 0xcf, 0x0f, 0x7a, 0x14, 0x42, 0xee, 0x94, 0xee, 0x91, 0x0d, 0x41, 0x3d, 0x4e, 0xc2, 0x50, 0x0f, + 0x86, 0xf6, 0xbc, 0x14, 0xaa, 0x71, 0x01, 0xd8, 0x63, 0x7f, 0x0c, 0xf6, 0x28, 0xcd, 0xb0, 0xb4, + 0x39, 0x71, 0x0f, 0xf1, 0x45, 0x12, 0x4b, 0x03, 0x4e, 0x89, 0x38, 0x58, 0x6c, 0x18, 0x9a, 0xc1, + 0x91, 0x0a, 0xd6, 0x10, 0x6f, 0x92, 0x7b, 0xab, 0xeb, 0x80, 0xa6, 0x60, 0x21, 0x45, 0xc8, 0xfb, + 0x9c, 0x8e, 0xf8, 0x5b, 0xc1, 0x95, 0xa5, 0x68, 0x88, 0xf7, 0xce, 0x9b, 0xe1, 0x77, 0xde, 0xc0, + 0x3d, 0x2d, 0xe3, 0xcb, 0x08, 0xbc, 0x39, 0x07, 0x07, 0x3f, 0x14, 0x37, 0xd7, 0xb8, 0x05, 0x4b, + 0x34, 0x3b, 0x65, 0x1e, 0xdd, 0x17, 0x34, 0x8a, 0xa4, 0x83, 0xad, 0x02, 0x8b, 0x1e, 0x2f, 0xc3, + 0xb2, 0x87, 0xd7, 0xb9, 0x68, 0x32, 0x04, 0xa0, 0xe4, 0x70, 0x57, 0xf9, 0x8d, 0xf3, 0xef, 0x51, + 0x77, 0x85, 0x5c, 0xd4, 0x64, 0x12, 0xc0, 0x21, 0x7c, 0x6b, 0x80, 0x23, 0xfc, 0xc2, 0x8b, 0xde, + 0x87, 0x15, 0x1f, 0xf6, 0x61, 0x27, 0x7f, 0xb1, 0xc5, 0x20, 0x90, 0x88, 0x27, 0x17, 0x71, 0x7a, + 0xd0, 0x07, 0x70, 0x85, 0xa6, 0xb1, 0x21, 0x09, 0x66, 0x7c, 0xbe, 0x04, 0xf3, 0x12, 0xd1, 0x51, + 0x9b, 0x90, 0x64, 0x86, 0x00, 0x23, 0x89, 0x30, 0x60, 0xe4, 0x5f, 0x82, 0x6b, 0x37, 0x0e, 0x34, + 0xd2, 0xd2, 0xda, 0xcc, 0xbe, 0xf2, 0x12, 0xfd, 0x4d, 0x2e, 0x29, 0x3d, 0xad, 0xc3, 0x4d, 0x84, + 0xfc, 0x24, 0x5c, 0x0e, 0x68, 0x9f, 0xe1, 0x81, 0x6a, 0x05, 0x12, 0xea, 0xa0, 0x8d, 0x47, 0xdc, + 0x0a, 0x58, 0x83, 0xc8, 0x3e, 0xc2, 0xe7, 0x7c, 0xaf, 0xc9, 0x4f, 0xc2, 0x47, 0x0f, 0x02, 0x8d, + 0x45, 0x39, 0x89, 0x35, 0xd0, 0x1b, 0x90, 0xa1, 0x95, 0x17, 0x59, 0xd3, 0x4d, 0x1e, 0x6a, 0x7c, + 0x19, 0x11, 0xab, 0x92, 0x6c, 0x1c, 0x10, 0x9e, 0x7d, 0xdd, 0x94, 0xd2, 0x3a, 0xff, 0xe5, 0xc9, + 0x59, 0xd2, 0xbe, 0x9c, 0xe5, 0x2a, 0x64, 0xc8, 0xe8, 0x4d, 0x5d, 0x69, 0x61, 0x1a, 0x26, 0x32, + 0x92, 0x4b, 0x10, 0x7f, 0x2f, 0x40, 0x31, 0x10, 0xb9, 0x26, 0xce, 0xdd, 0x3e, 0x36, 0x51, 0x3f, + 0x54, 0x34, 0x36, 0xfb, 0x6b, 0x00, 0x1d, 0xc5, 0x94, 0x1f, 0x2b, 0x03, 0x0b, 0xb7, 0xf9, 0x12, + 0x64, 0x3a, 0x8a, 0xf9, 0x2e, 0x25, 0xf8, 0x07, 0x93, 0x08, 0x0c, 0xc6, 0x03, 0x56, 0x24, 0xbd, + 0x60, 0x05, 0xaa, 0x40, 0x5a, 0x37, 0x54, 0xcd, 0x50, 0xad, 0x73, 0xba, 0x26, 0x31, 0xc9, 0x69, + 0x8b, 0x07, 0x70, 0x61, 0x62, 0xd0, 0x44, 0x77, 0x21, 0xe3, 0xc6, 0x5b, 0x81, 0xe6, 0x86, 0x53, + 0x30, 0x20, 0x97, 0x97, 0x2c, 0xc9, 0x85, 0x89, 0x61, 0x13, 0xd5, 0x21, 0x69, 0x60, 0x73, 0xd8, + 0x63, 0xb9, 0x6a, 0xe1, 0xf6, 0xcb, 0xf3, 0x85, 0x5b, 0x42, 0x1d, 0xf6, 0x2c, 0x89, 0x0b, 0x8b, + 0x1f, 0x42, 0x92, 0x51, 0x50, 0x16, 0x52, 0x47, 0x7b, 0x0f, 0xf6, 0xf6, 0xdf, 0xdd, 0x2b, 0x45, + 0x10, 0x40, 0xb2, 0x5a, 0xab, 0xd5, 0x0f, 0x9a, 0x25, 0x01, 0x65, 0x20, 0x51, 0xdd, 0xda, 0x97, + 0x9a, 0xa5, 0x28, 0x21, 0x4b, 0xf5, 0xfb, 0xf5, 0x5a, 0xb3, 0x14, 0x43, 0x4b, 0x90, 0x67, 0xbf, + 0xe5, 0x7b, 0xfb, 0xd2, 0xc3, 0x6a, 0xb3, 0x14, 0xf7, 0x90, 0x0e, 0xeb, 0x7b, 0xdb, 0x75, 0xa9, + 0x94, 0x10, 0x5f, 0x85, 0xcb, 0xa1, 0x01, 0xda, 0x85, 0x89, 0x04, 0x0f, 0x4c, 0x24, 0x7e, 0x15, + 0x25, 0x37, 0x90, 0xb0, 0xa8, 0x8b, 0xee, 0x07, 0x26, 0x7e, 0x7b, 0x81, 0x90, 0x1d, 0x98, 0x3d, + 0x7a, 0x1e, 0x0a, 0x06, 0x3e, 0xc5, 0x56, 0xab, 0xcb, 0xb2, 0x00, 0x1b, 0x47, 0xca, 0x73, 0x2a, + 0x15, 0x32, 0x19, 0xdb, 0x47, 0xb8, 0x65, 0xc9, 0xcc, 0x08, 0x4c, 0x7a, 0x5b, 0xcf, 0x10, 0x36, + 0x42, 0x3d, 0x64, 0x44, 0xe2, 0xa0, 0x99, 0x23, 0x61, 0xaa, 0xe2, 0x54, 0x15, 0x50, 0xbf, 0x40, + 0x29, 0xe2, 0xe3, 0x85, 0x16, 0x3b, 0x03, 0x09, 0xa9, 0xde, 0x94, 0xde, 0x2b, 0xc5, 0x10, 0x82, + 0x02, 0xfd, 0x29, 0x1f, 0xee, 0x55, 0x0f, 0x0e, 0x1b, 0xfb, 0x64, 0xb1, 0x97, 0xa1, 0x68, 0x2f, + 0xb6, 0x4d, 0x4c, 0xa0, 0x0b, 0xb0, 0x54, 0xdb, 0x7f, 0x78, 0xb0, 0x5b, 0x6f, 0xd6, 0x5d, 0x72, + 0x52, 0xfc, 0x5d, 0x0c, 0x2e, 0x85, 0xe4, 0x1a, 0xe8, 0x0d, 0x00, 0x6b, 0x24, 0x1b, 0xb8, 0xa5, + 0x19, 0xed, 0x70, 0xe3, 0x6c, 0x8e, 0x24, 0xca, 0x21, 0x65, 0x2c, 0xfe, 0x6b, 0xaa, 0xc3, 0x7e, + 0x9b, 0x2b, 0x25, 0x93, 0x35, 0x39, 0xb6, 0x71, 0x6d, 0xc2, 0x65, 0x0d, 0xb7, 0x88, 0x62, 0xba, + 0x27, 0x54, 0x31, 0xe5, 0x47, 0xef, 0xc1, 0xa5, 0x40, 0x5c, 0xe1, 0xce, 0xd8, 0x9c, 0x54, 0x58, + 0x9c, 0x1c, 0x5e, 0x2e, 0xf8, 0xc3, 0x0b, 0x73, 0xc6, 0xe6, 0x14, 0x20, 0x21, 0xf1, 0x0c, 0x40, + 0x42, 0x58, 0x7c, 0x4a, 0x2e, 0x0a, 0xd1, 0x4f, 0x88, 0x4f, 0xe2, 0x6f, 0x7c, 0x9b, 0xe7, 0x4f, + 0xdf, 0xf6, 0x21, 0x69, 0x5a, 0x8a, 0x35, 0x34, 0xf9, 0x61, 0xb8, 0x3b, 0x6f, 0x2e, 0xb8, 0x61, + 0xff, 0x38, 0xa4, 0xe2, 0x12, 0x57, 0xf3, 0x3f, 0xb9, 0xa7, 0x61, 0xab, 0x9f, 0xf8, 0x2e, 0x56, + 0xff, 0x35, 0x28, 0xf8, 0x97, 0x2a, 0xfc, 0xec, 0xba, 0xde, 0x31, 0x2a, 0xf6, 0x60, 0x79, 0x02, + 0x14, 0x81, 0xee, 0xf2, 0x6a, 0x03, 0xdb, 0xad, 0xeb, 0xe3, 0x53, 0xf6, 0xb1, 0xbb, 0x45, 0x07, + 0x12, 0xac, 0xdc, 0x9c, 0x9a, 0x6d, 0x8c, 0x4b, 0x10, 0x5b, 0x80, 0xc6, 0x33, 0xf4, 0x49, 0xb0, + 0x89, 0xf0, 0x0c, 0xb0, 0xc9, 0xaf, 0x04, 0xb8, 0x32, 0x25, 0x6b, 0x47, 0xef, 0x04, 0x6c, 0xf1, + 0xcd, 0x45, 0x72, 0xfe, 0x0d, 0x46, 0xf3, 0x5b, 0xa3, 0x78, 0x07, 0x72, 0x5e, 0xfa, 0x7c, 0x4b, + 0xff, 0x0b, 0x4f, 0xcc, 0xf4, 0xe3, 0x3b, 0x0d, 0x48, 0xe2, 0x33, 0x3c, 0x70, 0x62, 0xf0, 0xc5, + 0xf1, 0x75, 0x20, 0xdd, 0x5b, 0x65, 0x92, 0x2b, 0xfe, 0xe3, 0xc9, 0x5a, 0x89, 0x71, 0xbf, 0xa4, + 0xf5, 0x55, 0x0b, 0xf7, 0x75, 0xeb, 0x5c, 0xe2, 0xf2, 0xe8, 0x3a, 0xe4, 0x0d, 0x6c, 0x11, 0x17, + 0xe2, 0x83, 0xd6, 0x72, 0x8c, 0xc8, 0x33, 0xb9, 0x3f, 0x09, 0x00, 0x2e, 0x60, 0xe4, 0x02, 0x36, + 0x82, 0x17, 0xb0, 0x09, 0xe0, 0x7c, 0xd1, 0x20, 0xce, 0x87, 0x6e, 0x40, 0x91, 0x25, 0xe9, 0xa6, + 0xda, 0x19, 0x28, 0xd6, 0xd0, 0xc0, 0x1c, 0x1e, 0x2a, 0x50, 0xf2, 0xa1, 0x4d, 0x45, 0xef, 0xc3, + 0x65, 0xab, 0x6b, 0x60, 0xb3, 0xab, 0xf5, 0xda, 0x72, 0x70, 0xe3, 0x59, 0xd9, 0x62, 0x6d, 0x86, + 0xc1, 0x49, 0x97, 0x1c, 0x0d, 0xc7, 0xfe, 0xcd, 0xff, 0x04, 0x12, 0x74, 0x6d, 0x48, 0xa2, 0xe5, + 0x58, 0x70, 0x86, 0x1b, 0xe7, 0x07, 0x00, 0x8a, 0x65, 0x19, 0xea, 0xc9, 0x90, 0x1c, 0xe7, 0xe8, + 0xf8, 0xa7, 0xdc, 0xb5, 0xad, 0xda, 0x7c, 0x5b, 0x57, 0xf9, 0x22, 0xaf, 0xb8, 0xa2, 0x9e, 0x85, + 0xf6, 0x28, 0x14, 0xf7, 0xa0, 0xe0, 0x97, 0xb5, 0x33, 0x58, 0x36, 0x06, 0x7f, 0x06, 0xcb, 0x32, + 0x62, 0x9e, 0xc1, 0x3a, 0xf9, 0x6f, 0x8c, 0x15, 0x05, 0x69, 0x43, 0xfc, 0xb7, 0x00, 0x39, 0xaf, + 0x9b, 0x9a, 0x3b, 0xc9, 0xe4, 0x49, 0x77, 0x6c, 0x3c, 0xe9, 0x8e, 0x87, 0xa6, 0x9d, 0x89, 0x60, + 0xda, 0x79, 0x19, 0xd2, 0xa4, 0x7b, 0x68, 0xe2, 0x36, 0xaf, 0xa4, 0xa6, 0x3a, 0x8a, 0x79, 0x64, + 0xe2, 0xb6, 0xc7, 0x3e, 0x53, 0xcf, 0x68, 0x9f, 0xbe, 0xdc, 0x36, 0x1d, 0x4c, 0xb4, 0x3f, 0x15, + 0x20, 0xed, 0x4c, 0xde, 0x5f, 0x30, 0xf4, 0xe1, 0x8b, 0x6c, 0xed, 0x58, 0xb9, 0x90, 0xdf, 0x1d, + 0x58, 0xf9, 0x34, 0xe6, 0x94, 0x4f, 0xdf, 0x72, 0xb2, 0xb1, 0x30, 0x04, 0xcd, 0xbb, 0xd2, 0x36, + 0x68, 0xca, 0x93, 0xcf, 0x5f, 0xf2, 0x71, 0x90, 0x74, 0x02, 0x7d, 0x1f, 0x92, 0x4a, 0xcb, 0xc1, + 0x0d, 0x0b, 0x13, 0x00, 0x35, 0x9b, 0x75, 0xa3, 0x39, 0xaa, 0x52, 0x4e, 0x89, 0x4b, 0xf0, 0x51, + 0x45, 0xed, 0x51, 0x89, 0x3f, 0x22, 0x7a, 0x19, 0x8f, 0xdf, 0x67, 0x14, 0x00, 0x8e, 0xf6, 0x1e, + 0xee, 0x6f, 0xef, 0xdc, 0xdb, 0xa9, 0x6f, 0xf3, 0x74, 0x6b, 0x7b, 0xbb, 0xbe, 0x5d, 0x8a, 0x12, + 0x3e, 0xa9, 0xfe, 0x70, 0xff, 0xb8, 0xbe, 0x5d, 0x8a, 0x89, 0x55, 0xc8, 0x38, 0x51, 0x82, 0x96, + 0x96, 0xb5, 0xc7, 0xd8, 0xe0, 0x0b, 0xc4, 0x1a, 0x68, 0x15, 0xb2, 0xe3, 0x58, 0x37, 0xb9, 0x30, + 0x31, 0x88, 0x5b, 0xfc, 0xb5, 0x00, 0x45, 0x47, 0x07, 0xcf, 0x13, 0xde, 0x82, 0x94, 0x3e, 0x3c, + 0x91, 0x6d, 0xdb, 0x0d, 0x20, 0xc4, 0xf6, 0x7d, 0x6a, 0x78, 0xd2, 0x53, 0x5b, 0x0f, 0xf0, 0x39, + 0x8f, 0x4a, 0x49, 0x7d, 0x78, 0xf2, 0x80, 0x99, 0x38, 0x1b, 0x46, 0x74, 0xca, 0x30, 0x62, 0x81, + 0x61, 0xa0, 0x1b, 0x90, 0x1b, 0x68, 0x6d, 0x2c, 0x2b, 0xed, 0xb6, 0x81, 0x4d, 0x16, 0x6c, 0x33, + 0x5c, 0x73, 0x96, 0xf4, 0x54, 0x59, 0x87, 0xf8, 0xb5, 0x00, 0x68, 0x3c, 0x32, 0xa2, 0x43, 0x58, + 0x72, 0x83, 0xab, 0x1d, 0xb1, 0x99, 0xfb, 0x5c, 0x0f, 0x8f, 0xac, 0xbe, 0x4b, 0x77, 0xe9, 0xcc, + 0x4f, 0x26, 0x59, 0xd8, 0x8a, 0xeb, 0xaa, 0x74, 0x3a, 0x5f, 0xba, 0x28, 0xd1, 0x39, 0x17, 0x25, + 0x22, 0x21, 0x47, 0xde, 0xe9, 0x09, 0xba, 0xd2, 0xd8, 0x58, 0xc9, 0x44, 0x87, 0x72, 0x73, 0x4c, + 0x8c, 0xcf, 0x33, 0x6c, 0x48, 0xc2, 0xb3, 0x0c, 0x49, 0xbc, 0x03, 0xa5, 0x77, 0x9c, 0xef, 0xf3, + 0x2f, 0x05, 0x86, 0x29, 0x8c, 0x0d, 0xf3, 0x0c, 0xd2, 0xc4, 0xfb, 0xd2, 0xa0, 0xf1, 0x43, 0xc8, + 0x38, 0xab, 0xe7, 0xbc, 0x4e, 0x09, 0x5d, 0x76, 0x3e, 0x12, 0x57, 0x04, 0xdd, 0x82, 0x25, 0x12, + 0x37, 0xec, 0xc2, 0x25, 0x83, 0xcd, 0xa2, 0xd4, 0x1b, 0x16, 0x59, 0xc7, 0xae, 0x8d, 0xf5, 0x90, + 0x00, 0x5f, 0x62, 0x89, 0x00, 0x6e, 0xff, 0x37, 0x06, 0x40, 0xee, 0x59, 0x01, 0xf4, 0x90, 0xed, + 0x61, 0xde, 0x97, 0x89, 0x88, 0x3f, 0x8b, 0x42, 0xd6, 0x53, 0x48, 0x41, 0xdf, 0xf3, 0x25, 0x55, + 0xeb, 0xd3, 0x8a, 0x2e, 0x9e, 0x8c, 0xca, 0x37, 0xb1, 0xe8, 0xe2, 0x13, 0x0b, 0x2b, 0x61, 0xd9, + 0xf5, 0xd4, 0xf8, 0xc2, 0xf5, 0xd4, 0x97, 0x00, 0x59, 0x9a, 0xa5, 0xf4, 0x48, 0xf0, 0x56, 0x07, + 0x1d, 0x99, 0x9d, 0x76, 0x16, 0x40, 0x4a, 0xb4, 0xe7, 0x98, 0x76, 0x1c, 0x10, 0xba, 0xd8, 0x83, + 0xb4, 0x03, 0x06, 0x2c, 0xfe, 0xe8, 0x63, 0x52, 0xdd, 0xb8, 0x02, 0xe9, 0x3e, 0xb6, 0x14, 0x1a, + 0xf6, 0x18, 0x38, 0xe4, 0xb4, 0x6f, 0xbd, 0x09, 0x59, 0xcf, 0x4b, 0x18, 0x12, 0x09, 0xf7, 0xea, + 0xef, 0x96, 0x22, 0x95, 0xd4, 0x67, 0x5f, 0xac, 0xc7, 0xf6, 0xf0, 0x63, 0xf2, 0x29, 0xa9, 0x5e, + 0x6b, 0xd4, 0x6b, 0x0f, 0x4a, 0x42, 0x25, 0xfb, 0xd9, 0x17, 0xeb, 0x29, 0x09, 0xd3, 0x9a, 0xc3, + 0xad, 0x07, 0x50, 0x0c, 0xec, 0x80, 0xdf, 0x27, 0x23, 0x28, 0x6c, 0x1f, 0x1d, 0xec, 0xee, 0xd4, + 0xaa, 0xcd, 0xba, 0x7c, 0xbc, 0xdf, 0xac, 0x97, 0x04, 0x74, 0x09, 0x96, 0x77, 0x77, 0x7e, 0xdc, + 0x68, 0xca, 0xb5, 0xdd, 0x9d, 0xfa, 0x5e, 0x53, 0xae, 0x36, 0x9b, 0xd5, 0xda, 0x83, 0x52, 0xf4, + 0xf6, 0x5f, 0x01, 0x8a, 0xd5, 0xad, 0xda, 0x0e, 0xb9, 0xdb, 0xab, 0x2d, 0x85, 0x7a, 0xf8, 0x1a, + 0xc4, 0x29, 0x14, 0x3b, 0xf5, 0x4d, 0x6c, 0x65, 0x7a, 0x21, 0x09, 0xdd, 0x83, 0x04, 0x45, 0x69, + 0xd1, 0xf4, 0x47, 0xb2, 0x95, 0x19, 0x95, 0x25, 0x32, 0x18, 0x7a, 0x6e, 0xa6, 0xbe, 0x9a, 0xad, + 0x4c, 0x2f, 0x34, 0xa1, 0x5d, 0x48, 0xd9, 0x00, 0xd8, 0xac, 0xa7, 0xac, 0x95, 0x99, 0xd5, 0x1f, + 0x32, 0x35, 0x06, 0x24, 0x4e, 0x7f, 0x50, 0x5b, 0x99, 0x51, 0x82, 0x42, 0x12, 0x64, 0x5c, 0xec, + 0x77, 0xf6, 0xdb, 0xde, 0xca, 0x1c, 0x25, 0x31, 0xf4, 0x21, 0xe4, 0xfd, 0x50, 0xd9, 0x7c, 0xcf, + 0x6e, 0x2b, 0x73, 0x96, 0xab, 0x88, 0x7e, 0x3f, 0x6e, 0x36, 0xdf, 0x33, 0xdc, 0xca, 0x9c, 0xd5, + 0x2b, 0xf4, 0x11, 0x2c, 0x8d, 0xe3, 0x5a, 0xf3, 0xbf, 0xca, 0xad, 0x2c, 0x50, 0xcf, 0x42, 0x7d, + 0x40, 0x13, 0xf0, 0xb0, 0x05, 0x1e, 0xe9, 0x56, 0x16, 0x29, 0x6f, 0xa1, 0x36, 0x14, 0x83, 0x58, + 0xd1, 0xbc, 0x8f, 0x76, 0x2b, 0x73, 0x97, 0xba, 0xd8, 0x57, 0xfc, 0xa0, 0xc6, 0xbc, 0x8f, 0x78, + 0x2b, 0x73, 0x57, 0xbe, 0xd0, 0x11, 0x80, 0xe7, 0x62, 0x3c, 0xc7, 0xa3, 0xde, 0xca, 0x3c, 0x35, + 0x30, 0xa4, 0xc3, 0xf2, 0xa4, 0x9b, 0xf0, 0x22, 0x6f, 0x7c, 0x2b, 0x0b, 0x95, 0xc6, 0x88, 0x3d, + 0xfb, 0xef, 0xb4, 0xf3, 0xbd, 0xf9, 0xad, 0xcc, 0x59, 0x23, 0xdb, 0xda, 0xfa, 0xf2, 0xe9, 0xaa, + 0xf0, 0xd5, 0xd3, 0x55, 0xe1, 0xeb, 0xa7, 0xab, 0xc2, 0xe7, 0xdf, 0xac, 0x46, 0xbe, 0xfa, 0x66, + 0x35, 0xf2, 0x97, 0x6f, 0x56, 0x23, 0x3f, 0xb9, 0xd9, 0x51, 0xad, 0xee, 0xf0, 0x64, 0xa3, 0xa5, + 0xf5, 0xe9, 0x5f, 0x2e, 0x74, 0xe5, 0x7c, 0x93, 0xe9, 0x24, 0x2d, 0xcf, 0x1f, 0x3b, 0x4e, 0x92, + 0x34, 0xd6, 0xdd, 0xf9, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc7, 0x2e, 0x77, 0x7c, 0xf8, 0x31, + 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/abci/types/types_test.go b/abci/types/types_test.go index bd8695d4f0..b55ffe8bec 100644 --- a/abci/types/types_test.go +++ b/abci/types/types_test.go @@ -7,9 +7,9 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/crypto/merkle" - "github.com/tendermint/tendermint/types" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/crypto/merkle" + "github.com/dashpay/tenderdash/types" ) func TestHashAndProveResults(t *testing.T) { diff --git a/abci/types/validator_set_update.go b/abci/types/validator_set_update.go index dfb56fc878..dbdcc9c3cf 100644 --- a/abci/types/validator_set_update.go +++ b/abci/types/validator_set_update.go @@ -1,9 +1,9 @@ package types import ( - "github.com/tendermint/tendermint/crypto" - cryptoenc "github.com/tendermint/tendermint/crypto/encoding" - "github.com/tendermint/tendermint/dash/llmq" + "github.com/dashpay/tenderdash/crypto" + cryptoenc "github.com/dashpay/tenderdash/crypto/encoding" + "github.com/dashpay/tenderdash/dash/llmq" ) // QuorumOptionFunc is an option function for quorum config diff --git a/cmd/abcidump/cmd/capture.go b/cmd/abcidump/cmd/capture.go index c1ab558d3f..f05d359efe 100644 --- a/cmd/abcidump/cmd/capture.go +++ b/cmd/abcidump/cmd/capture.go @@ -11,8 +11,8 @@ import ( "github.com/google/gopacket/pcap" "github.com/spf13/cobra" - "github.com/tendermint/tendermint/cmd/abcidump/parser" - tmbytes "github.com/tendermint/tendermint/libs/bytes" + "github.com/dashpay/tenderdash/cmd/abcidump/parser" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" ) const ( diff --git a/cmd/abcidump/cmd/cbor_test.go b/cmd/abcidump/cmd/cbor_test.go index 3200c50e9b..1e9f2fad86 100644 --- a/cmd/abcidump/cmd/cbor_test.go +++ b/cmd/abcidump/cmd/cbor_test.go @@ -7,7 +7,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/libs/log" + "github.com/dashpay/tenderdash/libs/log" ) func TestCborBase64(t *testing.T) { diff --git a/cmd/abcidump/cmd/parse.go b/cmd/abcidump/cmd/parse.go index 2505ef61cd..7739a7967a 100644 --- a/cmd/abcidump/cmd/parse.go +++ b/cmd/abcidump/cmd/parse.go @@ -11,7 +11,7 @@ import ( "github.com/spf13/cobra" - "github.com/tendermint/tendermint/cmd/abcidump/parser" + "github.com/dashpay/tenderdash/cmd/abcidump/parser" ) const ( diff --git a/cmd/abcidump/cmd/parse_test.go b/cmd/abcidump/cmd/parse_test.go index aaf25ca43c..9e5ee5e839 100644 --- a/cmd/abcidump/cmd/parse_test.go +++ b/cmd/abcidump/cmd/parse_test.go @@ -11,10 +11,9 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/abci/types" - - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/libs/log" + "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/libs/log" ) func TestParse(t *testing.T) { diff --git a/cmd/abcidump/cmd/rootcmd.go b/cmd/abcidump/cmd/rootcmd.go index 90ea6f0ab2..872400a0cd 100644 --- a/cmd/abcidump/cmd/rootcmd.go +++ b/cmd/abcidump/cmd/rootcmd.go @@ -5,7 +5,7 @@ import ( "github.com/spf13/cobra" - "github.com/tendermint/tendermint/libs/log" + "github.com/dashpay/tenderdash/libs/log" ) var logger log.Logger diff --git a/cmd/abcidump/main.go b/cmd/abcidump/main.go index 2347e7ba76..2e60a40b25 100644 --- a/cmd/abcidump/main.go +++ b/cmd/abcidump/main.go @@ -4,7 +4,7 @@ import ( "fmt" "os" - "github.com/tendermint/tendermint/cmd/abcidump/cmd" + "github.com/dashpay/tenderdash/cmd/abcidump/cmd" ) func main() { diff --git a/cmd/abcidump/parser/parser.go b/cmd/abcidump/parser/parser.go index 3de891a2c5..e29e8b15ed 100644 --- a/cmd/abcidump/parser/parser.go +++ b/cmd/abcidump/parser/parser.go @@ -7,7 +7,7 @@ import ( "github.com/gogo/protobuf/jsonpb" "github.com/gogo/protobuf/proto" - "github.com/tendermint/tendermint/abci/types" + "github.com/dashpay/tenderdash/abci/types" ) // Parser reads protobuf data from In, parses it and writes to Out in JSON format diff --git a/cmd/abcidump/parser/parser_test.go b/cmd/abcidump/parser/parser_test.go index 36f29eee74..871a63ecb7 100644 --- a/cmd/abcidump/parser/parser_test.go +++ b/cmd/abcidump/parser/parser_test.go @@ -8,7 +8,7 @@ import ( "github.com/gogo/protobuf/proto" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/abci/types" + "github.com/dashpay/tenderdash/abci/types" ) func TestParser(t *testing.T) { diff --git a/cmd/abcidump/parser/types.go b/cmd/abcidump/parser/types.go index 6d84aa65c0..15fb4447ff 100644 --- a/cmd/abcidump/parser/types.go +++ b/cmd/abcidump/parser/types.go @@ -7,8 +7,8 @@ import ( "github.com/gogo/protobuf/proto" - protoAbci "github.com/tendermint/tendermint/abci/types" - protoP2p "github.com/tendermint/tendermint/proto/tendermint/p2p" + protoAbci "github.com/dashpay/tenderdash/abci/types" + protoP2p "github.com/dashpay/tenderdash/proto/tendermint/p2p" ) // ensure we have some dependencies compiled in diff --git a/cmd/priv_val_server/main.go b/cmd/priv_val_server/main.go index 9014221450..0866830269 100644 --- a/cmd/priv_val_server/main.go +++ b/cmd/priv_val_server/main.go @@ -19,11 +19,11 @@ import ( "google.golang.org/grpc" "google.golang.org/grpc/credentials" - "github.com/tendermint/tendermint/libs/log" - tmnet "github.com/tendermint/tendermint/libs/net" - "github.com/tendermint/tendermint/privval" - grpcprivval "github.com/tendermint/tendermint/privval/grpc" - privvalproto "github.com/tendermint/tendermint/proto/tendermint/privval" + "github.com/dashpay/tenderdash/libs/log" + tmnet "github.com/dashpay/tenderdash/libs/net" + "github.com/dashpay/tenderdash/privval" + grpcprivval "github.com/dashpay/tenderdash/privval/grpc" + privvalproto "github.com/dashpay/tenderdash/proto/tendermint/privval" ) var ( diff --git a/cmd/tenderdash/commands/compact.go b/cmd/tenderdash/commands/compact.go index 56f4998470..93903f3dad 100644 --- a/cmd/tenderdash/commands/compact.go +++ b/cmd/tenderdash/commands/compact.go @@ -11,8 +11,8 @@ import ( "github.com/syndtr/goleveldb/leveldb/opt" "github.com/syndtr/goleveldb/leveldb/util" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/libs/log" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/libs/log" ) func MakeCompactDBCommand(cfg *config.Config, logger log.Logger) *cobra.Command { @@ -20,8 +20,8 @@ func MakeCompactDBCommand(cfg *config.Config, logger log.Logger) *cobra.Command Use: "experimental-compact-goleveldb", Short: "force compacts the tendermint storage engine (only GoLevelDB supported)", Long: ` -This is a temporary utility command that performs a force compaction on the state -and blockstores to reduce disk space for a pruning node. This should only be run +This is a temporary utility command that performs a force compaction on the state +and blockstores to reduce disk space for a pruning node. This should only be run once the node has stopped. This command will likely be omitted in the future after the planned refactor to the storage engine. diff --git a/cmd/tenderdash/commands/debug/debug.go b/cmd/tenderdash/commands/debug/debug.go index 7fd5b030f7..284dc7776e 100644 --- a/cmd/tenderdash/commands/debug/debug.go +++ b/cmd/tenderdash/commands/debug/debug.go @@ -3,7 +3,7 @@ package debug import ( "github.com/spf13/cobra" - "github.com/tendermint/tendermint/libs/log" + "github.com/dashpay/tenderdash/libs/log" ) const ( diff --git a/cmd/tenderdash/commands/debug/dump.go b/cmd/tenderdash/commands/debug/dump.go index d84f6e10aa..4797b33b49 100644 --- a/cmd/tenderdash/commands/debug/dump.go +++ b/cmd/tenderdash/commands/debug/dump.go @@ -11,10 +11,10 @@ import ( "github.com/spf13/cobra" "github.com/spf13/viper" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/libs/cli" - "github.com/tendermint/tendermint/libs/log" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/libs/cli" + "github.com/dashpay/tenderdash/libs/log" + rpchttp "github.com/dashpay/tenderdash/rpc/client/http" ) func getDumpCmd(logger log.Logger) *cobra.Command { diff --git a/cmd/tenderdash/commands/debug/kill.go b/cmd/tenderdash/commands/debug/kill.go index 7755817a63..c137475a98 100644 --- a/cmd/tenderdash/commands/debug/kill.go +++ b/cmd/tenderdash/commands/debug/kill.go @@ -13,10 +13,10 @@ import ( "github.com/spf13/cobra" "github.com/spf13/viper" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/libs/cli" - "github.com/tendermint/tendermint/libs/log" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/libs/cli" + "github.com/dashpay/tenderdash/libs/log" + rpchttp "github.com/dashpay/tenderdash/rpc/client/http" ) func getKillCmd(logger log.Logger) *cobra.Command { diff --git a/cmd/tenderdash/commands/debug/util.go b/cmd/tenderdash/commands/debug/util.go index 24626207f5..4bc169b4fa 100644 --- a/cmd/tenderdash/commands/debug/util.go +++ b/cmd/tenderdash/commands/debug/util.go @@ -9,8 +9,8 @@ import ( "path" "path/filepath" - "github.com/tendermint/tendermint/config" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" + "github.com/dashpay/tenderdash/config" + rpchttp "github.com/dashpay/tenderdash/rpc/client/http" ) // dumpStatus gets node status state dump from the Tendermint RPC and writes it diff --git a/cmd/tenderdash/commands/gen_node_key.go b/cmd/tenderdash/commands/gen_node_key.go index dbd22d19cd..3141662058 100644 --- a/cmd/tenderdash/commands/gen_node_key.go +++ b/cmd/tenderdash/commands/gen_node_key.go @@ -14,10 +14,10 @@ import ( "github.com/tyler-smith/go-bip39" "golang.org/x/term" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/crypto/ed25519" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/crypto/ed25519" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/types" ) const ( @@ -39,7 +39,7 @@ func MakeGenNodeKeyCommand(*config.Config, log.Logger) *cobra.Command { cmd := &cobra.Command{ Use: "gen-node-key", Short: "Generate a new node key for this node and print its ID", - Long: `Generate a new node key for this node and print its ID. + Long: `Generate a new node key for this node and print its ID. Note that the key is not saved to disk. Node key can be generated randomly (default) or derived from BIP39 mnemonic phrase. diff --git a/cmd/tenderdash/commands/gen_node_key_test.go b/cmd/tenderdash/commands/gen_node_key_test.go index 7ad8e99983..196b280a76 100644 --- a/cmd/tenderdash/commands/gen_node_key_test.go +++ b/cmd/tenderdash/commands/gen_node_key_test.go @@ -6,9 +6,9 @@ import ( "github.com/stretchr/testify/assert" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/types" ) func TestGenNodeKeyFromPem(t *testing.T) { diff --git a/cmd/tenderdash/commands/gen_validator.go b/cmd/tenderdash/commands/gen_validator.go index bbe09e9127..23214e38b7 100644 --- a/cmd/tenderdash/commands/gen_validator.go +++ b/cmd/tenderdash/commands/gen_validator.go @@ -6,7 +6,7 @@ import ( "github.com/spf13/cobra" - "github.com/tendermint/tendermint/privval" + "github.com/dashpay/tenderdash/privval" ) // MakeGenValidatorCommand allows the generation of a keypair for a diff --git a/cmd/tenderdash/commands/init.go b/cmd/tenderdash/commands/init.go index 30443599ca..9cd4b28640 100644 --- a/cmd/tenderdash/commands/init.go +++ b/cmd/tenderdash/commands/init.go @@ -8,13 +8,13 @@ import ( "github.com/dashpay/dashd-go/btcjson" "github.com/spf13/cobra" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/libs/log" - tmos "github.com/tendermint/tendermint/libs/os" - tmrand "github.com/tendermint/tendermint/libs/rand" - tmtime "github.com/tendermint/tendermint/libs/time" - "github.com/tendermint/tendermint/privval" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/libs/log" + tmos "github.com/dashpay/tenderdash/libs/os" + tmrand "github.com/dashpay/tenderdash/libs/rand" + tmtime "github.com/dashpay/tenderdash/libs/time" + "github.com/dashpay/tenderdash/privval" + "github.com/dashpay/tenderdash/types" ) type nodeConfig struct { diff --git a/cmd/tenderdash/commands/inspect.go b/cmd/tenderdash/commands/inspect.go index 9c12ef5cf6..84bbb1e18f 100644 --- a/cmd/tenderdash/commands/inspect.go +++ b/cmd/tenderdash/commands/inspect.go @@ -6,9 +6,9 @@ import ( "github.com/spf13/cobra" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/internal/inspect" - "github.com/tendermint/tendermint/libs/log" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/internal/inspect" + "github.com/dashpay/tenderdash/libs/log" ) // InspectCmd constructs the command to start an inspect server. diff --git a/cmd/tenderdash/commands/key_migrate.go b/cmd/tenderdash/commands/key_migrate.go index 88b9dfe715..cf20d76a02 100644 --- a/cmd/tenderdash/commands/key_migrate.go +++ b/cmd/tenderdash/commands/key_migrate.go @@ -6,10 +6,10 @@ import ( "github.com/spf13/cobra" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/scripts/keymigrate" - "github.com/tendermint/tendermint/scripts/scmigrate" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/scripts/keymigrate" + "github.com/dashpay/tenderdash/scripts/scmigrate" ) func MakeKeyMigrateCommand(conf *config.Config, logger log.Logger) *cobra.Command { diff --git a/cmd/tenderdash/commands/light.go b/cmd/tenderdash/commands/light.go index 9ebff8e275..acbe7ac21b 100644 --- a/cmd/tenderdash/commands/light.go +++ b/cmd/tenderdash/commands/light.go @@ -14,14 +14,14 @@ import ( "github.com/spf13/cobra" dbm "github.com/tendermint/tm-db" - "github.com/tendermint/tendermint/config" - dashcore "github.com/tendermint/tendermint/dash/core" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/light" - lproxy "github.com/tendermint/tendermint/light/proxy" - lrpc "github.com/tendermint/tendermint/light/rpc" - dbs "github.com/tendermint/tendermint/light/store/db" - rpcserver "github.com/tendermint/tendermint/rpc/jsonrpc/server" + "github.com/dashpay/tenderdash/config" + dashcore "github.com/dashpay/tenderdash/dash/core" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/light" + lproxy "github.com/dashpay/tenderdash/light/proxy" + lrpc "github.com/dashpay/tenderdash/light/rpc" + dbs "github.com/dashpay/tenderdash/light/store/db" + rpcserver "github.com/dashpay/tenderdash/rpc/jsonrpc/server" ) // LightCmd constructs the base command called when invoked without any subcommands. diff --git a/cmd/tenderdash/commands/reindex_event.go b/cmd/tenderdash/commands/reindex_event.go index 797819449f..961a60e635 100644 --- a/cmd/tenderdash/commands/reindex_event.go +++ b/cmd/tenderdash/commands/reindex_event.go @@ -9,18 +9,18 @@ import ( "github.com/spf13/cobra" dbm "github.com/tendermint/tm-db" - abcitypes "github.com/tendermint/tendermint/abci/types" - tmcfg "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/internal/libs/progressbar" - "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/internal/state/indexer" - "github.com/tendermint/tendermint/internal/state/indexer/sink/kv" - "github.com/tendermint/tendermint/internal/state/indexer/sink/psql" - "github.com/tendermint/tendermint/internal/store" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/libs/os" - "github.com/tendermint/tendermint/rpc/coretypes" - "github.com/tendermint/tendermint/types" + abcitypes "github.com/dashpay/tenderdash/abci/types" + tmcfg "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/internal/libs/progressbar" + "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/internal/state/indexer" + "github.com/dashpay/tenderdash/internal/state/indexer/sink/kv" + "github.com/dashpay/tenderdash/internal/state/indexer/sink/psql" + "github.com/dashpay/tenderdash/internal/store" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/libs/os" + "github.com/dashpay/tenderdash/rpc/coretypes" + "github.com/dashpay/tenderdash/types" ) const ( diff --git a/cmd/tenderdash/commands/reindex_event_test.go b/cmd/tenderdash/commands/reindex_event_test.go index e88d4fb009..37f58d9529 100644 --- a/cmd/tenderdash/commands/reindex_event_test.go +++ b/cmd/tenderdash/commands/reindex_event_test.go @@ -10,13 +10,13 @@ import ( "github.com/stretchr/testify/require" dbm "github.com/tendermint/tm-db" - abcitypes "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/internal/state/indexer" - "github.com/tendermint/tendermint/internal/state/mocks" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/proto/tendermint/state" - "github.com/tendermint/tendermint/types" + abcitypes "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/internal/state/indexer" + "github.com/dashpay/tenderdash/internal/state/mocks" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/proto/tendermint/state" + "github.com/dashpay/tenderdash/types" _ "github.com/lib/pq" // for the psql sink ) diff --git a/cmd/tenderdash/commands/replay.go b/cmd/tenderdash/commands/replay.go index fb6f19e55d..57059ae975 100644 --- a/cmd/tenderdash/commands/replay.go +++ b/cmd/tenderdash/commands/replay.go @@ -3,9 +3,9 @@ package commands import ( "github.com/spf13/cobra" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/internal/consensus" - "github.com/tendermint/tendermint/libs/log" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/internal/consensus" + "github.com/dashpay/tenderdash/libs/log" ) // MakeReplayCommand constructs a command to replay messages from the WAL into consensus. diff --git a/cmd/tenderdash/commands/reset.go b/cmd/tenderdash/commands/reset.go index 38beffb629..a8c491dcfe 100644 --- a/cmd/tenderdash/commands/reset.go +++ b/cmd/tenderdash/commands/reset.go @@ -6,11 +6,11 @@ import ( "github.com/spf13/cobra" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/libs/log" - tmos "github.com/tendermint/tendermint/libs/os" - "github.com/tendermint/tendermint/privval" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/libs/log" + tmos "github.com/dashpay/tenderdash/libs/os" + "github.com/dashpay/tenderdash/privval" + "github.com/dashpay/tenderdash/types" ) // MakeResetCommand constructs a command that removes the database of diff --git a/cmd/tenderdash/commands/reset_test.go b/cmd/tenderdash/commands/reset_test.go index fd3963e885..673afd772c 100644 --- a/cmd/tenderdash/commands/reset_test.go +++ b/cmd/tenderdash/commands/reset_test.go @@ -7,10 +7,10 @@ import ( "github.com/stretchr/testify/require" - cfg "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/privval" - "github.com/tendermint/tendermint/types" + cfg "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/privval" + "github.com/dashpay/tenderdash/types" ) func Test_ResetAll(t *testing.T) { diff --git a/cmd/tenderdash/commands/rollback.go b/cmd/tenderdash/commands/rollback.go index a604341783..1dd88ccb6e 100644 --- a/cmd/tenderdash/commands/rollback.go +++ b/cmd/tenderdash/commands/rollback.go @@ -5,8 +5,8 @@ import ( "github.com/spf13/cobra" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/internal/state" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/internal/state" ) func MakeRollbackStateCommand(conf *config.Config) *cobra.Command { diff --git a/cmd/tenderdash/commands/rollback_test.go b/cmd/tenderdash/commands/rollback_test.go index 55817cc9c4..00294a403a 100644 --- a/cmd/tenderdash/commands/rollback_test.go +++ b/cmd/tenderdash/commands/rollback_test.go @@ -7,12 +7,12 @@ import ( "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/abci/example/kvstore" - "github.com/tendermint/tendermint/cmd/tenderdash/commands" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/rpc/client/local" - rpctest "github.com/tendermint/tendermint/rpc/test" - e2e "github.com/tendermint/tendermint/test/e2e/app" + "github.com/dashpay/tenderdash/abci/example/kvstore" + "github.com/dashpay/tenderdash/cmd/tenderdash/commands" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/rpc/client/local" + rpctest "github.com/dashpay/tenderdash/rpc/test" + e2e "github.com/dashpay/tenderdash/test/e2e/app" ) func TestRollbackIntegration(t *testing.T) { diff --git a/cmd/tenderdash/commands/root.go b/cmd/tenderdash/commands/root.go index fdee638bcb..2c2b2bff84 100644 --- a/cmd/tenderdash/commands/root.go +++ b/cmd/tenderdash/commands/root.go @@ -9,9 +9,9 @@ import ( "github.com/spf13/cobra" "github.com/spf13/viper" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/libs/cli" - "github.com/tendermint/tendermint/libs/log" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/libs/cli" + "github.com/dashpay/tenderdash/libs/log" ) const ctxTimeout = 4 * time.Second diff --git a/cmd/tenderdash/commands/root_test.go b/cmd/tenderdash/commands/root_test.go index a4f4fb08d5..f3719220cd 100644 --- a/cmd/tenderdash/commands/root_test.go +++ b/cmd/tenderdash/commands/root_test.go @@ -12,10 +12,10 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - cfg "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/libs/cli" - "github.com/tendermint/tendermint/libs/log" - tmos "github.com/tendermint/tendermint/libs/os" + cfg "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/libs/cli" + "github.com/dashpay/tenderdash/libs/log" + tmos "github.com/dashpay/tenderdash/libs/os" ) // writeConfigVals writes a toml file with the given values. diff --git a/cmd/tenderdash/commands/run_node.go b/cmd/tenderdash/commands/run_node.go index d5a47e84af..8abe55755c 100644 --- a/cmd/tenderdash/commands/run_node.go +++ b/cmd/tenderdash/commands/run_node.go @@ -11,8 +11,8 @@ import ( "github.com/spf13/cobra" - cfg "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/libs/log" + cfg "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/libs/log" ) var ( diff --git a/cmd/tenderdash/commands/show_node_id.go b/cmd/tenderdash/commands/show_node_id.go index ffc6c4d5e0..d9e381d1b0 100644 --- a/cmd/tenderdash/commands/show_node_id.go +++ b/cmd/tenderdash/commands/show_node_id.go @@ -5,7 +5,7 @@ import ( "github.com/spf13/cobra" - "github.com/tendermint/tendermint/config" + "github.com/dashpay/tenderdash/config" ) // MakeShowNodeIDCommand constructs a command to dump the node ID to stdout. diff --git a/cmd/tenderdash/commands/show_validator.go b/cmd/tenderdash/commands/show_validator.go index 548b2a3c51..67a2be4cb6 100644 --- a/cmd/tenderdash/commands/show_validator.go +++ b/cmd/tenderdash/commands/show_validator.go @@ -6,14 +6,14 @@ import ( "github.com/spf13/cobra" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/internal/jsontypes" - "github.com/tendermint/tendermint/libs/log" - tmnet "github.com/tendermint/tendermint/libs/net" - tmos "github.com/tendermint/tendermint/libs/os" - "github.com/tendermint/tendermint/privval" - tmgrpc "github.com/tendermint/tendermint/privval/grpc" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/internal/jsontypes" + "github.com/dashpay/tenderdash/libs/log" + tmnet "github.com/dashpay/tenderdash/libs/net" + tmos "github.com/dashpay/tenderdash/libs/os" + "github.com/dashpay/tenderdash/privval" + tmgrpc "github.com/dashpay/tenderdash/privval/grpc" ) // MakeShowValidatorCommand constructs a command to show the validator info. diff --git a/cmd/tenderdash/commands/testnet.go b/cmd/tenderdash/commands/testnet.go index 8b1dbaebab..3906f740dc 100644 --- a/cmd/tenderdash/commands/testnet.go +++ b/cmd/tenderdash/commands/testnet.go @@ -8,18 +8,17 @@ import ( "path/filepath" "strings" - "github.com/tendermint/tendermint/crypto" - "github.com/spf13/cobra" "github.com/spf13/viper" - cfg "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/libs/log" - tmrand "github.com/tendermint/tendermint/libs/rand" - tmtime "github.com/tendermint/tendermint/libs/time" - "github.com/tendermint/tendermint/privval" - "github.com/tendermint/tendermint/types" + cfg "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/libs/log" + tmrand "github.com/dashpay/tenderdash/libs/rand" + tmtime "github.com/dashpay/tenderdash/libs/time" + "github.com/dashpay/tenderdash/privval" + "github.com/dashpay/tenderdash/types" ) const ( diff --git a/cmd/tenderdash/commands/version.go b/cmd/tenderdash/commands/version.go index 4927ea1348..71c504b00d 100644 --- a/cmd/tenderdash/commands/version.go +++ b/cmd/tenderdash/commands/version.go @@ -6,7 +6,7 @@ import ( "github.com/sasha-s/go-deadlock" "github.com/spf13/cobra" - "github.com/tendermint/tendermint/version" + "github.com/dashpay/tenderdash/version" ) // VersionCmd ... diff --git a/cmd/tenderdash/main.go b/cmd/tenderdash/main.go index fb879c3446..6ab26dc628 100644 --- a/cmd/tenderdash/main.go +++ b/cmd/tenderdash/main.go @@ -6,12 +6,12 @@ import ( "io" "os" - "github.com/tendermint/tendermint/cmd/tenderdash/commands" - "github.com/tendermint/tendermint/cmd/tenderdash/commands/debug" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/libs/cli" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/node" + "github.com/dashpay/tenderdash/cmd/tenderdash/commands" + "github.com/dashpay/tenderdash/cmd/tenderdash/commands/debug" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/libs/cli" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/node" ) func main() { diff --git a/config/config.go b/config/config.go index cc7265f2f9..985236acef 100644 --- a/config/config.go +++ b/config/config.go @@ -13,10 +13,10 @@ import ( "github.com/dashpay/dashd-go/btcjson" - "github.com/tendermint/tendermint/internal/test/factory" - "github.com/tendermint/tendermint/libs/log" - tmos "github.com/tendermint/tendermint/libs/os" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/internal/test/factory" + "github.com/dashpay/tenderdash/libs/log" + tmos "github.com/dashpay/tenderdash/libs/os" + "github.com/dashpay/tenderdash/types" ) const ( diff --git a/config/db.go b/config/db.go index bbc2869446..19874b1dab 100644 --- a/config/db.go +++ b/config/db.go @@ -5,8 +5,8 @@ import ( dbm "github.com/tendermint/tm-db" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/libs/service" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/libs/service" ) // ServiceProvider takes a config and a logger and returns a ready to go Node. diff --git a/config/toml.go b/config/toml.go index bfb1f9e43e..d3e7aa2eca 100644 --- a/config/toml.go +++ b/config/toml.go @@ -9,9 +9,9 @@ import ( "strings" "text/template" - "github.com/tendermint/tendermint/internal/test/factory" - tmos "github.com/tendermint/tendermint/libs/os" - tmrand "github.com/tendermint/tendermint/libs/rand" + "github.com/dashpay/tenderdash/internal/test/factory" + tmos "github.com/dashpay/tenderdash/libs/os" + tmrand "github.com/dashpay/tenderdash/libs/rand" ) // defaultDirPerm is the default permissions used when creating directories. diff --git a/crypto/batch/batch.go b/crypto/batch/batch.go index 465aeffef4..cdbf535bbf 100644 --- a/crypto/batch/batch.go +++ b/crypto/batch/batch.go @@ -1,8 +1,8 @@ package batch import ( - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/ed25519" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/ed25519" ) // CreateBatchVerifier checks if a key type implements the batch verifier interface. diff --git a/crypto/bls12381/bench_test.go b/crypto/bls12381/bench_test.go index 4544aa5373..46fbf08093 100644 --- a/crypto/bls12381/bench_test.go +++ b/crypto/bls12381/bench_test.go @@ -4,8 +4,8 @@ import ( "io" "testing" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/internal/benchmarking" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/internal/benchmarking" ) func BenchmarkKeyGeneration(b *testing.B) { diff --git a/crypto/bls12381/bls12381.go b/crypto/bls12381/bls12381.go index b09cd837c5..f9bb042dd9 100644 --- a/crypto/bls12381/bls12381.go +++ b/crypto/bls12381/bls12381.go @@ -10,10 +10,10 @@ import ( "io" bls "github.com/dashpay/bls-signatures/go-bindings" - "github.com/tendermint/tendermint/internal/jsontypes" - "github.com/tendermint/tendermint/crypto" - tmbytes "github.com/tendermint/tendermint/libs/bytes" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/internal/jsontypes" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" ) //------------------------------------- diff --git a/crypto/bls12381/bls12381_test.go b/crypto/bls12381/bls12381_test.go index 14d9eae588..8a05069ba0 100644 --- a/crypto/bls12381/bls12381_test.go +++ b/crypto/bls12381/bls12381_test.go @@ -9,8 +9,9 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/crypto" - tmbytes "github.com/tendermint/tendermint/libs/bytes" + + "github.com/dashpay/tenderdash/crypto" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" ) func TestSignAndValidateBLS12381(t *testing.T) { diff --git a/crypto/crypto.go b/crypto/crypto.go index c7631cd937..48a51193b7 100644 --- a/crypto/crypto.go +++ b/crypto/crypto.go @@ -9,8 +9,8 @@ import ( "github.com/dashpay/dashd-go/btcjson" - "github.com/tendermint/tendermint/internal/jsontypes" - tmbytes "github.com/tendermint/tendermint/libs/bytes" + "github.com/dashpay/tenderdash/internal/jsontypes" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" ) const ( @@ -205,7 +205,7 @@ type HexStringer interface { } // BatchVerifier If a new key type implements batch verification, -// the key type must be registered in github.com/tendermint/tendermint/crypto/batch +// the key type must be registered in github.com/dashpay/tenderdash/crypto/batch type BatchVerifier interface { // Add appends an entry into the BatchVerifier. Add(key PubKey, message, signature []byte) error diff --git a/crypto/ed25519/bench_test.go b/crypto/ed25519/bench_test.go index 49fcd15041..ece3518759 100644 --- a/crypto/ed25519/bench_test.go +++ b/crypto/ed25519/bench_test.go @@ -7,8 +7,8 @@ import ( "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/internal/benchmarking" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/internal/benchmarking" ) func BenchmarkKeyGeneration(b *testing.B) { diff --git a/crypto/ed25519/ed25519.go b/crypto/ed25519/ed25519.go index d865a38503..9e45e98972 100644 --- a/crypto/ed25519/ed25519.go +++ b/crypto/ed25519/ed25519.go @@ -15,8 +15,8 @@ import ( "github.com/oasisprotocol/curve25519-voi/primitives/ed25519" "github.com/oasisprotocol/curve25519-voi/primitives/ed25519/extra/cache" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/internal/jsontypes" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/internal/jsontypes" ) //------------------------------------- diff --git a/crypto/ed25519/ed25519_test.go b/crypto/ed25519/ed25519_test.go index 4aa107dcb0..a854059cc8 100644 --- a/crypto/ed25519/ed25519_test.go +++ b/crypto/ed25519/ed25519_test.go @@ -10,9 +10,9 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/ed25519" - tmrand "github.com/tendermint/tendermint/libs/rand" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/ed25519" + tmrand "github.com/dashpay/tenderdash/libs/rand" ) func TestSignAndValidateEd25519(t *testing.T) { diff --git a/crypto/encoding/codec.go b/crypto/encoding/codec.go index 8ca540ecd2..9d6cabd861 100644 --- a/crypto/encoding/codec.go +++ b/crypto/encoding/codec.go @@ -3,13 +3,12 @@ package encoding import ( "fmt" - "github.com/tendermint/tendermint/crypto/bls12381" - - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/ed25519" - "github.com/tendermint/tendermint/crypto/secp256k1" - "github.com/tendermint/tendermint/internal/jsontypes" - cryptoproto "github.com/tendermint/tendermint/proto/tendermint/crypto" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/bls12381" + "github.com/dashpay/tenderdash/crypto/ed25519" + "github.com/dashpay/tenderdash/crypto/secp256k1" + "github.com/dashpay/tenderdash/internal/jsontypes" + cryptoproto "github.com/dashpay/tenderdash/proto/tendermint/crypto" ) func init() { diff --git a/crypto/internal/benchmarking/bench.go b/crypto/internal/benchmarking/bench.go index aae0720f50..37e6f23389 100644 --- a/crypto/internal/benchmarking/bench.go +++ b/crypto/internal/benchmarking/bench.go @@ -4,7 +4,7 @@ import ( "io" "testing" - "github.com/tendermint/tendermint/crypto" + "github.com/dashpay/tenderdash/crypto" ) // The code in this file is adapted from agl/ed25519. diff --git a/crypto/merkle/hash.go b/crypto/merkle/hash.go index 0bb5448d71..42deb46b70 100644 --- a/crypto/merkle/hash.go +++ b/crypto/merkle/hash.go @@ -3,7 +3,7 @@ package merkle import ( "hash" - "github.com/tendermint/tendermint/crypto" + "github.com/dashpay/tenderdash/crypto" ) // TODO: make these have a large predefined capacity diff --git a/crypto/merkle/proof.go b/crypto/merkle/proof.go index 226e24b9d5..8dce4774b3 100644 --- a/crypto/merkle/proof.go +++ b/crypto/merkle/proof.go @@ -5,8 +5,8 @@ import ( "errors" "fmt" - "github.com/tendermint/tendermint/crypto" - tmcrypto "github.com/tendermint/tendermint/proto/tendermint/crypto" + "github.com/dashpay/tenderdash/crypto" + tmcrypto "github.com/dashpay/tenderdash/proto/tendermint/crypto" ) const ( diff --git a/crypto/merkle/proof_op.go b/crypto/merkle/proof_op.go index 038037cf53..bbdfe756bc 100644 --- a/crypto/merkle/proof_op.go +++ b/crypto/merkle/proof_op.go @@ -5,7 +5,7 @@ import ( "errors" "fmt" - tmcrypto "github.com/tendermint/tendermint/proto/tendermint/crypto" + tmcrypto "github.com/dashpay/tenderdash/proto/tendermint/crypto" ) //---------------------------------------- diff --git a/crypto/merkle/proof_test.go b/crypto/merkle/proof_test.go index 02866de931..5c6cddccf9 100644 --- a/crypto/merkle/proof_test.go +++ b/crypto/merkle/proof_test.go @@ -10,8 +10,8 @@ import ( "github.com/stretchr/testify/require" goanimo "github.com/tendermint/go-amino" - "github.com/tendermint/tendermint/crypto" - tmcrypto "github.com/tendermint/tendermint/proto/tendermint/crypto" + "github.com/dashpay/tenderdash/crypto" + tmcrypto "github.com/dashpay/tenderdash/proto/tendermint/crypto" ) const ProofOpDomino = "test:domino" diff --git a/crypto/merkle/proof_value.go b/crypto/merkle/proof_value.go index 2379b8858a..1d1aca2b8a 100644 --- a/crypto/merkle/proof_value.go +++ b/crypto/merkle/proof_value.go @@ -5,7 +5,7 @@ import ( "crypto/sha256" "fmt" - tmcrypto "github.com/tendermint/tendermint/proto/tendermint/crypto" + tmcrypto "github.com/dashpay/tenderdash/proto/tendermint/crypto" ) const ProofOpValue = "simple:v" diff --git a/crypto/merkle/rfc6962_test.go b/crypto/merkle/rfc6962_test.go index 443656c175..4e9dbaf4e3 100644 --- a/crypto/merkle/rfc6962_test.go +++ b/crypto/merkle/rfc6962_test.go @@ -20,7 +20,7 @@ import ( "encoding/hex" "testing" - "github.com/tendermint/tendermint/crypto" + "github.com/dashpay/tenderdash/crypto" ) func TestRFC6962Hasher(t *testing.T) { diff --git a/crypto/merkle/tree_test.go b/crypto/merkle/tree_test.go index 72b260178f..384749c6a5 100644 --- a/crypto/merkle/tree_test.go +++ b/crypto/merkle/tree_test.go @@ -7,9 +7,9 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/crypto" - ctest "github.com/tendermint/tendermint/internal/libs/test" - tmrand "github.com/tendermint/tendermint/libs/rand" + "github.com/dashpay/tenderdash/crypto" + ctest "github.com/dashpay/tenderdash/internal/libs/test" + tmrand "github.com/dashpay/tenderdash/libs/rand" ) type testItem []byte diff --git a/crypto/random_test.go b/crypto/random_test.go index 34f7372fe2..67b6af3f3b 100644 --- a/crypto/random_test.go +++ b/crypto/random_test.go @@ -5,7 +5,7 @@ import ( "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/crypto" + "github.com/dashpay/tenderdash/crypto" ) // the purpose of this test is primarily to ensure that the randomness diff --git a/crypto/secp256k1/secp256k1.go b/crypto/secp256k1/secp256k1.go index 1655472028..1827a126f8 100644 --- a/crypto/secp256k1/secp256k1.go +++ b/crypto/secp256k1/secp256k1.go @@ -13,8 +13,8 @@ import ( secp256k1 "github.com/btcsuite/btcd/btcec" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/internal/jsontypes" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/internal/jsontypes" // necessary for Bitcoin address format "golang.org/x/crypto/ripemd160" //nolint:staticcheck diff --git a/crypto/secp256k1/secp256k1_test.go b/crypto/secp256k1/secp256k1_test.go index 6cd53704c5..0ee45013f9 100644 --- a/crypto/secp256k1/secp256k1_test.go +++ b/crypto/secp256k1/secp256k1_test.go @@ -10,8 +10,8 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/secp256k1" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/secp256k1" ) type keyData struct { diff --git a/dash/context.go b/dash/context.go index 7547a29ba2..370a65136b 100644 --- a/dash/context.go +++ b/dash/context.go @@ -4,7 +4,7 @@ import ( "context" "errors" - "github.com/tendermint/tendermint/crypto" + "github.com/dashpay/tenderdash/crypto" ) type contextKey string diff --git a/dash/core/client.go b/dash/core/client.go index b3cd0f051a..0ea829798c 100644 --- a/dash/core/client.go +++ b/dash/core/client.go @@ -6,9 +6,9 @@ import ( "github.com/dashpay/dashd-go/btcjson" rpc "github.com/dashpay/dashd-go/rpcclient" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/libs/log" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/libs/log" ) const ModuleName = "rpcclient" diff --git a/dash/core/mock.go b/dash/core/mock.go index 0adb1c8094..e396f646a7 100644 --- a/dash/core/mock.go +++ b/dash/core/mock.go @@ -8,9 +8,9 @@ import ( "github.com/dashpay/dashd-go/btcjson" - "github.com/tendermint/tendermint/crypto" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/types" ) // MockClient is an implementation of a mock core-server diff --git a/dash/llmq/iter.go b/dash/llmq/iter.go index 0423879758..e94d5d23a7 100644 --- a/dash/llmq/iter.go +++ b/dash/llmq/iter.go @@ -1,6 +1,6 @@ package llmq -import "github.com/tendermint/tendermint/crypto" +import "github.com/dashpay/tenderdash/crypto" // Iter creates and returns LLMQ iterator func (l *Data) Iter() *Iter { diff --git a/dash/llmq/llmq.go b/dash/llmq/llmq.go index 13fb0813ad..19ee0ec23d 100644 --- a/dash/llmq/llmq.go +++ b/dash/llmq/llmq.go @@ -11,8 +11,8 @@ import ( bls "github.com/dashpay/bls-signatures/go-bindings" "github.com/dashpay/dashd-go/btcjson" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/bls12381" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/bls12381" ) var ( diff --git a/dash/llmq/llmq_test.go b/dash/llmq/llmq_test.go index c84c7f5e84..25827eea10 100644 --- a/dash/llmq/llmq_test.go +++ b/dash/llmq/llmq_test.go @@ -9,8 +9,9 @@ import ( bls "github.com/dashpay/bls-signatures/go-bindings" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/bls12381" + + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/bls12381" ) const defaultSeedSource = 999 diff --git a/dash/quorum/mock/dash_dialer.go b/dash/quorum/mock/dash_dialer.go index 4c8ca2d49a..9a94ea73bd 100644 --- a/dash/quorum/mock/dash_dialer.go +++ b/dash/quorum/mock/dash_dialer.go @@ -6,8 +6,8 @@ import ( sync "github.com/sasha-s/go-deadlock" - "github.com/tendermint/tendermint/internal/p2p" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/internal/p2p" + "github.com/dashpay/tenderdash/types" ) const ( diff --git a/dash/quorum/mock/test_helpers.go b/dash/quorum/mock/test_helpers.go index ee9e2aab08..0710d32ab3 100644 --- a/dash/quorum/mock/test_helpers.go +++ b/dash/quorum/mock/test_helpers.go @@ -6,10 +6,10 @@ import ( "fmt" "math" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/internal/p2p" - "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/internal/p2p" + "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/types" ) // NewNodeAddress generates a string that is accepted as validator address. diff --git a/dash/quorum/nodeid_resolver.go b/dash/quorum/nodeid_resolver.go index e9ad714451..a86954e90f 100644 --- a/dash/quorum/nodeid_resolver.go +++ b/dash/quorum/nodeid_resolver.go @@ -5,9 +5,9 @@ import ( "net" "time" - "github.com/tendermint/tendermint/internal/p2p" - "github.com/tendermint/tendermint/internal/p2p/conn" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/internal/p2p" + "github.com/dashpay/tenderdash/internal/p2p/conn" + "github.com/dashpay/tenderdash/types" ) const ( diff --git a/dash/quorum/nodeid_resolver_test.go b/dash/quorum/nodeid_resolver_test.go index 49d1d9a64a..287d93f078 100644 --- a/dash/quorum/nodeid_resolver_test.go +++ b/dash/quorum/nodeid_resolver_test.go @@ -7,8 +7,9 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/types" + + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/types" ) // TestNewValidator checks if new validator can be created with some validator address, and then the address can be diff --git a/dash/quorum/selectpeers/dip6.go b/dash/quorum/selectpeers/dip6.go index 2999bc7328..01a0b8ff1b 100644 --- a/dash/quorum/selectpeers/dip6.go +++ b/dash/quorum/selectpeers/dip6.go @@ -6,8 +6,8 @@ import ( "fmt" "math" - "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/types" ) // minValidators is a minimum number of validators needed in order to execute the selection diff --git a/dash/quorum/selectpeers/dip6_test.go b/dash/quorum/selectpeers/dip6_test.go index 791ae26059..2491eb3e0d 100644 --- a/dash/quorum/selectpeers/dip6_test.go +++ b/dash/quorum/selectpeers/dip6_test.go @@ -5,9 +5,10 @@ import ( "testing" "github.com/stretchr/testify/assert" - "github.com/tendermint/tendermint/dash/quorum/mock" - "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/types" + + "github.com/dashpay/tenderdash/dash/quorum/mock" + "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/types" ) const ( diff --git a/dash/quorum/selectpeers/sortable_validator.go b/dash/quorum/selectpeers/sortable_validator.go index 35ff19f8f8..602a918308 100644 --- a/dash/quorum/selectpeers/sortable_validator.go +++ b/dash/quorum/selectpeers/sortable_validator.go @@ -3,9 +3,9 @@ package selectpeers import ( "bytes" - "github.com/tendermint/tendermint/crypto" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/types" ) // sortableValidator is a `types.Validator` which can generate SortKey(), as specified in DIP-6 diff --git a/dash/quorum/selectpeers/sortable_validator_test.go b/dash/quorum/selectpeers/sortable_validator_test.go index 943154b507..108d6134c0 100644 --- a/dash/quorum/selectpeers/sortable_validator_test.go +++ b/dash/quorum/selectpeers/sortable_validator_test.go @@ -4,10 +4,11 @@ import ( "testing" "github.com/stretchr/testify/assert" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/dash/quorum/mock" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/types" + + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/dash/quorum/mock" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/types" ) // Test_sortableValidator_SortKey checks if the sortableValidatorList.Index() works correctly diff --git a/dash/quorum/selectpeers/sorted_validator_list.go b/dash/quorum/selectpeers/sorted_validator_list.go index 5bdfb6a8b8..09455d3f17 100644 --- a/dash/quorum/selectpeers/sorted_validator_list.go +++ b/dash/quorum/selectpeers/sorted_validator_list.go @@ -4,8 +4,8 @@ import ( "bytes" "sort" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/types" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/types" ) // sortedValidatorList is a list of sortableValidators that are sorted by `sortableValidator.SortKey()` diff --git a/dash/quorum/selectpeers/sorted_validator_list_test.go b/dash/quorum/selectpeers/sorted_validator_list_test.go index 36e90d6e52..972efc5577 100644 --- a/dash/quorum/selectpeers/sorted_validator_list_test.go +++ b/dash/quorum/selectpeers/sorted_validator_list_test.go @@ -4,7 +4,8 @@ import ( "testing" "github.com/stretchr/testify/assert" - "github.com/tendermint/tendermint/dash/quorum/mock" + + "github.com/dashpay/tenderdash/dash/quorum/mock" ) // Test_sortableValidatorList_Index checks if the sortableValidatorList.Index() works correctly diff --git a/dash/quorum/selectpeers/validatorselector.go b/dash/quorum/selectpeers/validatorselector.go index a0887d039a..f83f19eab1 100644 --- a/dash/quorum/selectpeers/validatorselector.go +++ b/dash/quorum/selectpeers/validatorselector.go @@ -1,6 +1,6 @@ package selectpeers -import "github.com/tendermint/tendermint/types" +import "github.com/dashpay/tenderdash/types" // ValidatorSelector represents an algorithm that chooses some validators from provided list type ValidatorSelector interface { diff --git a/dash/quorum/utils.go b/dash/quorum/utils.go index 35cee87d84..21f7a46ee8 100644 --- a/dash/quorum/utils.go +++ b/dash/quorum/utils.go @@ -1,8 +1,8 @@ package quorum import ( - "github.com/tendermint/tendermint/internal/p2p" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/internal/p2p" + "github.com/dashpay/tenderdash/types" ) // nodeAddress converts ValidatorAddress to a NodeAddress object diff --git a/dash/quorum/validator_conn_executor.go b/dash/quorum/validator_conn_executor.go index 4c54a43931..ffad0b475b 100644 --- a/dash/quorum/validator_conn_executor.go +++ b/dash/quorum/validator_conn_executor.go @@ -10,15 +10,15 @@ import ( "github.com/hashicorp/go-multierror" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/dash/quorum/selectpeers" - "github.com/tendermint/tendermint/internal/eventbus" - "github.com/tendermint/tendermint/internal/p2p" - tmpubsub "github.com/tendermint/tendermint/internal/pubsub" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/libs/service" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/dash/quorum/selectpeers" + "github.com/dashpay/tenderdash/internal/eventbus" + "github.com/dashpay/tenderdash/internal/p2p" + tmpubsub "github.com/dashpay/tenderdash/internal/pubsub" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/libs/service" + "github.com/dashpay/tenderdash/types" ) const ( diff --git a/dash/quorum/validator_conn_executor_test.go b/dash/quorum/validator_conn_executor_test.go index 2966466544..e5fb35705c 100644 --- a/dash/quorum/validator_conn_executor_test.go +++ b/dash/quorum/validator_conn_executor_test.go @@ -11,23 +11,23 @@ import ( "github.com/stretchr/testify/require" dbm "github.com/tendermint/tm-db" - abciclient "github.com/tendermint/tendermint/abci/client" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/dash" - "github.com/tendermint/tendermint/dash/quorum/mock" - "github.com/tendermint/tendermint/dash/quorum/selectpeers" - "github.com/tendermint/tendermint/internal/eventbus" - "github.com/tendermint/tendermint/internal/mempool/mocks" - "github.com/tendermint/tendermint/internal/p2p" - "github.com/tendermint/tendermint/internal/proxy" - "github.com/tendermint/tendermint/internal/pubsub" - sm "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/internal/store" - "github.com/tendermint/tendermint/internal/test/factory" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/types" + abciclient "github.com/dashpay/tenderdash/abci/client" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/dash" + "github.com/dashpay/tenderdash/dash/quorum/mock" + "github.com/dashpay/tenderdash/dash/quorum/selectpeers" + "github.com/dashpay/tenderdash/internal/eventbus" + "github.com/dashpay/tenderdash/internal/mempool/mocks" + "github.com/dashpay/tenderdash/internal/p2p" + "github.com/dashpay/tenderdash/internal/proxy" + "github.com/dashpay/tenderdash/internal/pubsub" + sm "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/internal/store" + "github.com/dashpay/tenderdash/internal/test/factory" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/types" ) const ( diff --git a/dash/quorum/validator_map.go b/dash/quorum/validator_map.go index ca9d1da40a..5ca6829807 100644 --- a/dash/quorum/validator_map.go +++ b/dash/quorum/validator_map.go @@ -4,7 +4,7 @@ import ( "sort" "strings" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/types" ) // validatorMapIndexType represents data that is used to index `validatorMap` elements diff --git a/dash/quorum/validator_map_test.go b/dash/quorum/validator_map_test.go index 76c196b8d2..38a3debc47 100644 --- a/dash/quorum/validator_map_test.go +++ b/dash/quorum/validator_map_test.go @@ -3,9 +3,9 @@ package quorum import ( "testing" + "github.com/dashpay/tenderdash/dash/quorum/mock" + "github.com/dashpay/tenderdash/types" "github.com/stretchr/testify/assert" - "github.com/tendermint/tendermint/dash/quorum/mock" - "github.com/tendermint/tendermint/types" ) func Test_validatorMap_String(t *testing.T) { diff --git a/go.mod b/go.mod index 0fcaebb7f4..f0e423c3c2 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module github.com/tendermint/tendermint +module github.com/dashpay/tenderdash go 1.19 @@ -18,7 +18,7 @@ require ( github.com/gogo/protobuf v1.3.2 github.com/golang/protobuf v1.5.2 github.com/golang/snappy v0.0.4 // indirect - github.com/golangci/golangci-lint v1.47.2 + github.com/golangci/golangci-lint v1.48.0 github.com/google/btree v1.1.2 // indirect github.com/google/gopacket v1.1.19 github.com/google/orderedcode v0.0.1 @@ -47,7 +47,7 @@ require ( ) require ( - github.com/bufbuild/buf v1.4.0 + github.com/bufbuild/buf v1.7.0 github.com/creachadair/atomicfile v0.2.6 github.com/creachadair/taskgroup v0.3.2 github.com/go-pkgz/jrpc v0.2.0 @@ -60,17 +60,34 @@ require ( github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f // indirect github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd // indirect github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792 // indirect + github.com/bufbuild/connect-go v0.2.0 // indirect + github.com/containerd/containerd v1.6.6 // indirect + github.com/containerd/typeurl v1.0.2 // indirect github.com/dashpay/dashd-go/btcutil v1.2.0 // indirect github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 // indirect github.com/didip/tollbooth/v6 v6.0.1 // indirect github.com/didip/tollbooth_chi v0.0.0-20200524181329-8b84cd7183d9 // indirect + github.com/docker/distribution v2.8.1+incompatible // indirect + github.com/docker/docker v20.10.17+incompatible // indirect + github.com/go-chi/chi/v5 v5.0.7 // indirect github.com/go-chi/render v1.0.1 // indirect + github.com/go-kit/log v0.2.1 // indirect + github.com/go-logfmt/logfmt v0.5.1 // indirect + github.com/go-logr/logr v1.2.3 // indirect + github.com/go-logr/stdr v1.2.2 // indirect github.com/go-pkgz/expirable-cache v0.0.3 // indirect github.com/go-pkgz/rest v1.5.0 // indirect github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b // indirect + github.com/moby/buildkit v0.10.3 // indirect + github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6 // indirect + github.com/morikuni/aec v1.0.0 // indirect github.com/pelletier/go-toml/v2 v2.0.5 // indirect github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 // indirect + github.com/sashamelentyev/usestdlibvars v1.8.0 // indirect github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.33.0 // indirect + go.opentelemetry.io/otel v1.8.0 // indirect + go.opentelemetry.io/otel/trace v1.8.0 // indirect golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac // indirect google.golang.org/genproto v0.0.0-20220725144611-272f38e5d71b // indirect ) @@ -82,13 +99,13 @@ require ( github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect github.com/DataDog/zstd v1.4.1 // indirect github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 // indirect - github.com/GaijinEntertainment/go-exhaustruct/v2 v2.2.0 // indirect + github.com/GaijinEntertainment/go-exhaustruct/v2 v2.2.2 // indirect github.com/Masterminds/semver v1.5.0 // indirect github.com/Microsoft/go-winio v0.5.2 // indirect github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 // indirect github.com/OpenPeeDeeP/depguard v1.1.0 // indirect github.com/alexkohler/prealloc v1.0.0 // indirect - github.com/alingse/asasalint v0.0.10 // indirect + github.com/alingse/asasalint v0.0.11 // indirect github.com/ashanbrown/forbidigo v1.3.0 // indirect github.com/ashanbrown/makezero v1.1.1 // indirect github.com/beorn7/perks v1.0.1 // indirect @@ -104,7 +121,7 @@ require ( github.com/charithe/durationcheck v0.0.9 // indirect github.com/chavacava/garif v0.0.0-20220316182200-5cad0b5181d4 // indirect github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect - github.com/daixiang0/gci v0.4.3 // indirect + github.com/daixiang0/gci v0.6.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/denis-tingaikin/go-header v0.4.3 // indirect github.com/dgraph-io/badger/v2 v2.2007.2 // indirect @@ -115,7 +132,6 @@ require ( github.com/dustin/go-humanize v1.0.0 // indirect github.com/esimonov/ifshort v1.0.4 // indirect github.com/ettle/strcase v0.1.1 // indirect - github.com/facebookgo/stack v0.0.0-20160209184415-751773369052 // indirect github.com/fatih/color v1.13.0 // indirect github.com/fatih/structtag v1.2.0 // indirect github.com/firefart/nonamedreturns v1.0.4 // indirect @@ -141,14 +157,13 @@ require ( github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0 // indirect github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca // indirect github.com/golangci/misspell v0.3.5 // indirect - github.com/golangci/revgrep v0.0.0-20210930125155-c22e5001d4f2 // indirect + github.com/golangci/revgrep v0.0.0-20220804021717-745bb2f7c2e6 // indirect github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4 // indirect github.com/gordonklaus/ineffassign v0.0.0-20210914165742-4cc7213b9bc8 // indirect github.com/gostaticanalysis/analysisutil v0.7.1 // indirect github.com/gostaticanalysis/comment v1.4.2 // indirect github.com/gostaticanalysis/forcetypeassert v0.1.0 // indirect github.com/gostaticanalysis/nilerr v0.1.1 // indirect - github.com/gotestyourself/gotestyourself v2.2.0+incompatible // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-multierror v1.1.1 github.com/hashicorp/go-version v1.6.0 // indirect @@ -158,12 +173,12 @@ require ( github.com/jdxcode/netrc v0.0.0-20210204082910-926c7f70242a // indirect github.com/jgautheron/goconst v1.5.1 // indirect github.com/jhump/protocompile v0.0.0-20220216033700-d705409f108f // indirect - github.com/jhump/protoreflect v1.12.1-0.20220417024638-438db461d753 // indirect + github.com/jhump/protoreflect v1.12.1-0.20220721211354-060cc04fc18b // indirect github.com/jingyugao/rowserrcheck v1.1.1 // indirect github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af // indirect github.com/jmhodges/levigo v1.0.0 // indirect github.com/julz/importas v0.1.0 // indirect - github.com/kisielk/errcheck v1.6.1 // indirect + github.com/kisielk/errcheck v1.6.2 // indirect github.com/kisielk/gotool v1.0.0 // indirect github.com/klauspost/compress v1.15.10 // indirect github.com/klauspost/pgzip v1.2.5 // indirect @@ -192,7 +207,7 @@ require ( github.com/nishanths/predeclared v0.2.2 // indirect github.com/olekukonko/tablewriter v0.0.5 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect - github.com/opencontainers/image-spec v1.0.2 // indirect + github.com/opencontainers/image-spec v1.0.3-0.20211202183452-c5a74bcca799 // indirect github.com/opencontainers/runc v1.1.3 // indirect github.com/pelletier/go-toml v1.9.5 // indirect github.com/phayes/checkstyle v0.0.0-20170904204023-bfd46e6a821d // indirect @@ -209,14 +224,14 @@ require ( github.com/quasilyte/regex/syntax v0.0.0-20200407221936-30656e2c4a95 // indirect github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect - github.com/ryancurrah/gomodguard v1.2.3 // indirect + github.com/ryancurrah/gomodguard v1.2.4 // indirect github.com/ryanrolds/sqlclosecheck v0.3.0 // indirect github.com/sanposhiho/wastedassign/v2 v2.0.6 // indirect github.com/securego/gosec/v2 v2.12.0 // indirect github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c // indirect - github.com/sirupsen/logrus v1.8.1 // indirect + github.com/sirupsen/logrus v1.9.0 // indirect github.com/sivchari/containedctx v1.0.2 // indirect - github.com/sivchari/nosnakecase v1.5.0 // indirect + github.com/sivchari/nosnakecase v1.7.0 // indirect github.com/sivchari/tenv v1.7.0 // indirect github.com/sonatard/noctx v0.0.1 // indirect github.com/sourcegraph/go-diff v0.6.1 // indirect @@ -240,7 +255,7 @@ require ( github.com/x448/float16 v0.8.4 // indirect github.com/yagipy/maintidx v1.0.0 // indirect github.com/yeya24/promlinter v0.2.0 // indirect - gitlab.com/bosi/decorder v0.2.2 // indirect + gitlab.com/bosi/decorder v0.2.3 // indirect go.etcd.io/bbolt v1.3.6 // indirect go.opencensus.io v0.23.0 // indirect go.uber.org/atomic v1.10.0 // indirect @@ -256,7 +271,7 @@ require ( gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - honnef.co/go/tools v0.3.2 // indirect + honnef.co/go/tools v0.3.3 // indirect mvdan.cc/gofumpt v0.3.1 // indirect mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed // indirect mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b // indirect @@ -270,8 +285,7 @@ require ( github.com/sasha-s/go-deadlock v0.3.1 github.com/syndtr/goleveldb v1.0.1-0.20200815110645-5c35d600f0ca github.com/tendermint/go-amino v0.16.0 + github.com/tendermint/tendermint v0.34.21 github.com/tyler-smith/go-bip39 v1.1.0 golang.org/x/exp v0.0.0-20230213192124-5e25df0256eb ) - -replace github.com/tendermint/tendermint => ./ diff --git a/go.sum b/go.sum index a8a10a935f..7e4ff6ecb6 100644 --- a/go.sum +++ b/go.sum @@ -21,12 +21,14 @@ cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHOb cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= +cloud.google.com/go v0.100.2 h1:t9Iw5QH5v4XtlEQaCtUY7x6sCABps8sW0acw7e2WQ6Y= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= +cloud.google.com/go/compute v1.6.1 h1:2sMmt8prCn7DPaG4Pmh0N3Inmc8cT8ae5k1M6VJ9Wqc= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= @@ -59,8 +61,8 @@ github.com/DataDog/zstd v1.4.1 h1:3oxKN3wbHibqx897utPC2LTQU4J+IHWWJO+glkAkpFM= github.com/DataDog/zstd v1.4.1/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 h1:sHglBQTwgx+rWPdisA5ynNEsoARbiCBOyGcJM4/OzsM= github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24/go.mod h1:4UJr5HIiMZrwgkSPdsjy2uOQExX/WEILpIrO9UPGuXs= -github.com/GaijinEntertainment/go-exhaustruct/v2 v2.2.0 h1:V9xVvhKbLt7unNEGAruK1xXglyc668Pq3Xx0MNTNqpo= -github.com/GaijinEntertainment/go-exhaustruct/v2 v2.2.0/go.mod h1:n/vLeA7V+QY84iYAGwMkkUUp9ooeuftMEvaDrSVch+Q= +github.com/GaijinEntertainment/go-exhaustruct/v2 v2.2.2 h1:DGdS4FlsdM6OkluXOhgkvwx05ZjD3Idm9WqtYnOmSuY= +github.com/GaijinEntertainment/go-exhaustruct/v2 v2.2.2/go.mod h1:xj0D2jwLdp6tOKLheyZCsfL0nz8DaicmJxSwj3VcHtY= github.com/Masterminds/goutils v1.1.0/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= github.com/Masterminds/semver v1.4.2/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= @@ -86,8 +88,8 @@ github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRF github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= github.com/alexkohler/prealloc v1.0.0 h1:Hbq0/3fJPQhNkN0dR95AVrr6R7tou91y0uHG5pOcUuw= github.com/alexkohler/prealloc v1.0.0/go.mod h1:VetnK3dIgFBBKmg0YnD9F9x6Icjd+9cvfHR56wJVlKE= -github.com/alingse/asasalint v0.0.10 h1:qqGPDTV0ff0tWHN/nnIlSdjlU/EwRPaUY4SfpE1rnms= -github.com/alingse/asasalint v0.0.10/go.mod h1:nCaoMhw7a9kSJObvQyVzNTPBDbNpdocqrSP7t/cW5+I= +github.com/alingse/asasalint v0.0.11 h1:SFwnQXJ49Kx/1GghOFz1XGqHYKp21Kq1nHad/0WQRnw= +github.com/alingse/asasalint v0.0.11/go.mod h1:nCaoMhw7a9kSJObvQyVzNTPBDbNpdocqrSP7t/cW5+I= github.com/antihax/optional v0.0.0-20180407024304-ca021399b1a6/go.mod h1:V8iCPQYkqmusNa815XgQio277wI47sdRh1dUOLdyC6Q= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/aokoli/goutils v1.0.1/go.mod h1:SijmP0QR8LtwsmDs8Yii5Z/S4trXFGFC2oO5g9DP+DQ= @@ -131,8 +133,10 @@ github.com/btcsuite/snappy-go v0.0.0-20151229074030-0bdef8d06723/go.mod h1:8woku github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792 h1:R8vQdOQdZ9Y3SkEwmHoWBmX1DNXhXZqlTpq6s4tyJGc= github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792/go.mod h1:ghJtEyQwv5/p4Mg4C0fgbePVuGr935/5ddU9Z3TmDRY= github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46fmI40EZs= -github.com/bufbuild/buf v1.4.0 h1:GqE3a8CMmcFvWPzuY3Mahf9Kf3S9XgZ/ORpfYFzO+90= -github.com/bufbuild/buf v1.4.0/go.mod h1:mwHG7klTHnX+rM/ym8LXGl7vYpVmnwT96xWoRB4H5QI= +github.com/bufbuild/buf v1.7.0 h1:uWRjhIXcrWkzIkA5TqXGyJbF51VW54QJsQZ3nwaes5Q= +github.com/bufbuild/buf v1.7.0/go.mod h1:Go40fMAF46PnPLC7jJgTQhAI95pmC0+VtxFKVC0qLq0= +github.com/bufbuild/connect-go v0.2.0 h1:WuMI/jLiJIhysHWvLWlxRozV67mGjCOUuDSl/lkDVic= +github.com/bufbuild/connect-go v0.2.0/go.mod h1:4efZ2eXFENwd4p7tuLaL9m0qtTsCOzuBvrohvRGevDM= github.com/butuzov/ireturn v0.1.1 h1:QvrO2QF2+/Cx1WA/vETCIYBKtRjc30vesdoPUNo1EbY= github.com/butuzov/ireturn v0.1.1/go.mod h1:Wh6Zl3IMtTpaIKbmwzqi6olnM9ptYQxxVacMsOEFPoc= github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= @@ -163,8 +167,12 @@ github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWH github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= github.com/containerd/console v1.0.3/go.mod h1:7LqA/THxQ86k76b8c/EMSiaJ3h1eZkMkXar0TQ1gf3U= +github.com/containerd/containerd v1.6.6 h1:xJNPhbrmz8xAMDNoVjHy9YHtWwEQNS+CDkcIRh7t8Y0= +github.com/containerd/containerd v1.6.6/go.mod h1:ZoP1geJldzCVY3Tonoz7b1IXk8rIX0Nltt5QE4OMNk0= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= github.com/containerd/continuity v0.3.0/go.mod h1:wJEAIwKOm/pBZuBd0JmeTvnLquTB1Ag8espWhkykbPM= +github.com/containerd/typeurl v1.0.2 h1:Chlt8zIieDbzQFzXzAeBEF92KhExuE4p9p92/QmY7aY= +github.com/containerd/typeurl v1.0.2/go.mod h1:9trJWW2sRlGub4wZJRTW83VtbOLS6hwcDZXTn6oPz9s= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= @@ -188,9 +196,11 @@ github.com/creachadair/tomledit v0.0.23 h1:ohYJjMsxwzj4dDzKaBWFbWH5J+3LO/8CYnlVY github.com/creachadair/tomledit v0.0.23/go.mod h1:cIu/4x5L855oSRejIqr+WRFh+mv9g4fWLiUFaApYn/Y= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/creack/pty v1.1.11 h1:07n33Z8lZxZ2qwegKbObQohDhXDQxiMMz1NOUGYlesw= +github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/cyphar/filepath-securejoin v0.2.3/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= -github.com/daixiang0/gci v0.4.3 h1:wf7x0xRjQqTlA2dzHTI0A/xPyp7VcBatBG9nwGatwbQ= -github.com/daixiang0/gci v0.4.3/go.mod h1:EpVfrztufwVgQRXjnX4zuNinEpLj5OmMjtu/+MB0V0c= +github.com/daixiang0/gci v0.6.2 h1:TXCP5RqjE/UupXO+p33MEhqdv7QxjKGw5MVkt9ATiMs= +github.com/daixiang0/gci v0.6.2/go.mod h1:EpVfrztufwVgQRXjnX4zuNinEpLj5OmMjtu/+MB0V0c= github.com/dashpay/bls-signatures/go-bindings v0.0.0-20230207105415-06df92693ac8 h1:v4K3CiDoFY1gjcWL/scRcwzyjBwh8TVG3ek8cWolK1g= github.com/dashpay/bls-signatures/go-bindings v0.0.0-20230207105415-06df92693ac8/go.mod h1:auvGS60NBZ+a21aCCQh366PdsjDvHinsCvl28VrYPu4= github.com/dashpay/dashd-go v0.24.0 h1:doC8GW2/ygu5JPCvYHQLx6TNza0TPcCR5rXUUS9CxY8= @@ -223,7 +233,10 @@ github.com/didip/tollbooth/v6 v6.0.1/go.mod h1:j2pKs+JQ5PvU/K4jFnrnwntrmfUbYLJE5 github.com/didip/tollbooth_chi v0.0.0-20200524181329-8b84cd7183d9 h1:gTh8fKuI/yLqQtZEPlDX3ZGsiTPZIe0ADHsxXSbwO1I= github.com/didip/tollbooth_chi v0.0.0-20200524181329-8b84cd7183d9/go.mod h1:YWyIfq3y4ArRfWZ9XksmuusP+7Mad+T0iFZ0kv0XG/M= github.com/docker/cli v20.10.17+incompatible h1:eO2KS7ZFeov5UJeaDmIs1NFEDRf32PaqRpvoEkKBy5M= +github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68= +github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker v20.10.17+incompatible h1:JYCuMrWaVNophQTOrMMoSwudOVEfcegoZZrleKc1xwE= +github.com/docker/docker v20.10.17+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= @@ -247,7 +260,6 @@ github.com/ettle/strcase v0.1.1 h1:htFueZyVeE1XNnMEfbqp5r67qAN/4r6ya1ysq8Q+Zcw= github.com/ettle/strcase v0.1.1/go.mod h1:hzDLsPC7/lwKyBOywSHEP89nt2pDgdy+No1NBA9o9VY= github.com/facebookgo/ensure v0.0.0-20200202191622-63f1cf65ac4c h1:8ISkoahWXwZR41ois5lSJBSVw4D0OV19Ht/JSTzvSv0= github.com/facebookgo/stack v0.0.0-20160209184415-751773369052 h1:JWuenKqqX8nojtoVVWjGfOF9635RETekkoH6Cc9SX0A= -github.com/facebookgo/stack v0.0.0-20160209184415-751773369052/go.mod h1:UbMTZqLaRiH3MsBH8va0n7s1pQYcu3uTb8G4tygF4Zg= github.com/facebookgo/subset v0.0.0-20200203212716-c811ad88dec4 h1:7HZCaLC5+BZpmbhCOZJ293Lz68O7PYrF2EzeiFMwCLk= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= @@ -274,6 +286,8 @@ github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeME github.com/go-chi/chi v4.1.1+incompatible/go.mod h1:eB3wogJHnLi3x/kFX2A+IbTBlXxmMeXJVKy9tTv1XzQ= github.com/go-chi/chi v4.1.2+incompatible h1:fGFk2Gmi/YKXk0OmGfBh0WgmN3XB8lVnEyNz34tQRec= github.com/go-chi/chi v4.1.2+incompatible/go.mod h1:eB3wogJHnLi3x/kFX2A+IbTBlXxmMeXJVKy9tTv1XzQ= +github.com/go-chi/chi/v5 v5.0.7 h1:rDTPXLDHGATaeHvVlLcR4Qe0zftYethFucbjVQ1PxU8= +github.com/go-chi/chi/v5 v5.0.7/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8= github.com/go-chi/render v1.0.1 h1:4/5tis2cKaNdnv9zFLfXzcquC9HbeZgCnxGnKrltBS8= github.com/go-chi/render v1.0.1/go.mod h1:pq4Rr7HbnsdaeHagklXub+p6Wd16Af5l9koip1OvJns= github.com/go-critic/go-critic v0.6.3 h1:abibh5XYBTASawfTQ0rA7dVtQT+6KzpGqb/J+DxRDaw= @@ -287,10 +301,18 @@ github.com/go-kit/kit v0.12.0 h1:e4o3o3IsBfAKQh5Qbbiqyfu97Ku7jrO/JbohvztANh4= github.com/go-kit/kit v0.12.0/go.mod h1:lHd+EkCZPIwYItmGDDRdhinkzX2A1sj+M9biaEaizzs= github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= +github.com/go-kit/log v0.2.1 h1:MRVx0/zhvdseW+Gza6N9rVzU/IVzaeE1SFI4raAhmBU= +github.com/go-kit/log v0.2.1/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= +github.com/go-logfmt/logfmt v0.5.1 h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNVA= github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= +github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= +github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= +github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-pkgz/expirable-cache v0.0.3 h1:rTh6qNPp78z0bQE6HDhXBHUwqnV9i09Vm6dksJLXQDc= github.com/go-pkgz/expirable-cache v0.0.3/go.mod h1:+IauqN00R2FqNRLCLA+X5YljQJrwB179PfiAoMPlTlQ= github.com/go-pkgz/jrpc v0.2.0 h1:CLy/eZyekjraVrxZV18N2R1mYLMJ/nWrgdfyIOGPY/E= @@ -383,16 +405,16 @@ github.com/golangci/go-misc v0.0.0-20220329215616-d24fe342adfe h1:6RGUuS7EGotKx6 github.com/golangci/go-misc v0.0.0-20220329215616-d24fe342adfe/go.mod h1:gjqyPShc/m8pEMpk0a3SeagVb0kaqvhscv+i9jI5ZhQ= github.com/golangci/gofmt v0.0.0-20190930125516-244bba706f1a h1:iR3fYXUjHCR97qWS8ch1y9zPNsgXThGwjKPrYfqMPks= github.com/golangci/gofmt v0.0.0-20190930125516-244bba706f1a/go.mod h1:9qCChq59u/eW8im404Q2WWTrnBUQKjpNYKMbU4M7EFU= -github.com/golangci/golangci-lint v1.47.2 h1:qvMDVv49Hrx3PSEXZ0bD/yhwSbhsOihQjFYCKieegIw= -github.com/golangci/golangci-lint v1.47.2/go.mod h1:lpS2pjBZtRyXewUcOY7yUL3K4KfpoWz072yRN8AuhHg= +github.com/golangci/golangci-lint v1.48.0 h1:hRiBNk9iRqdAKMa06ntfEiLyza1/3IE9rHLNJaek4a8= +github.com/golangci/golangci-lint v1.48.0/go.mod h1:5N+oxduCho+7yuccW69upg/O7cxjfR/d+IQeiNxGmKM= github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0 h1:MfyDlzVjl1hoaPzPD4Gpb/QgoRfSBR0jdhwGyAWwMSA= github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0/go.mod h1:66R6K6P6VWk9I95jvqGxkqJxVWGFy9XlDwLwVz1RCFg= github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca h1:kNY3/svz5T29MYHubXix4aDDuE3RWHkPvopM/EDv/MA= github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca/go.mod h1:tvlJhZqDe4LMs4ZHD0oMUlt9G2LWuDGoisJTBzLMV9o= github.com/golangci/misspell v0.3.5 h1:pLzmVdl3VxTOncgzHcvLOKirdvcx/TydsClUQXTehjo= github.com/golangci/misspell v0.3.5/go.mod h1:dEbvlSfYbMQDtrpRMQU675gSDLDNa8sCPPChZ7PhiVA= -github.com/golangci/revgrep v0.0.0-20210930125155-c22e5001d4f2 h1:SgM7GDZTxtTTQPU84heOxy34iG5Du7F2jcoZnvp+fXI= -github.com/golangci/revgrep v0.0.0-20210930125155-c22e5001d4f2/go.mod h1:LK+zW4MpyytAWQRz0M4xnzEk50lSvqDQKfx304apFkY= +github.com/golangci/revgrep v0.0.0-20220804021717-745bb2f7c2e6 h1:DIPQnGy2Gv2FSA4B/hh8Q7xx3B7AIDk3DAMeHclH1vQ= +github.com/golangci/revgrep v0.0.0-20220804021717-745bb2f7c2e6/go.mod h1:0AKcRCkMoKvUvlf89F6O7H2LYdhr1zBh736mBItOdRs= github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4 h1:zwtduBRr5SSWhqsYNgcuWO2kFlpdOZbP0+yRjmvPGys= github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4/go.mod h1:Izgrg8RkN3rCIMLGE9CyYmU9pY2Jer6DgANEnZ/L/cQ= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= @@ -416,8 +438,8 @@ github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg= github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= -github.com/google/gofuzz v1.0.0 h1:A8PeW59pxE9IoFRqBp37U+mSNaQoZ46F1f0f863XSXw= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/gopacket v1.1.19 h1:ves8RnFZPGiFnTS0uPQStjwru6uO6h+nlr9j6fL7kF8= github.com/google/gopacket v1.1.19/go.mod h1:iJ8V8n6KS+z2U1A8pUwu8bW5SyEMkXJB8Yo/Vo+TKTo= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= @@ -475,7 +497,6 @@ github.com/gostaticanalysis/nilerr v0.1.1/go.mod h1:wZYb6YI5YAxxq0i1+VJbY0s2YONW github.com/gostaticanalysis/testutil v0.3.1-0.20210208050101-bfb5c8eec0e4/go.mod h1:D+FIZ+7OahH3ePw/izIEeH5I06eKs1IKI4Xr64/Am3M= github.com/gostaticanalysis/testutil v0.4.0 h1:nhdCmubdmDF6VEatUNjgUZBJKWRqugoISdUv3PPQgHY= github.com/gotestyourself/gotestyourself v2.2.0+incompatible h1:AQwinXlbQR2HvPjQZOmDhRqsv5mZf+Jb1RnSLxcqZcI= -github.com/gotestyourself/gotestyourself v2.2.0+incompatible/go.mod h1:zZKM6oeNM8k+FRljX1mnzVYeS8wiGgQyvST1/GafPbY= github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-middleware v1.2.2/go.mod h1:EaizFBKfUKtMIF5iaDEhniwNedqGo9FuLFzppDr3uwI= @@ -523,8 +544,8 @@ github.com/jhump/protocompile v0.0.0-20220216033700-d705409f108f h1:BNuUg9k2EiJm github.com/jhump/protocompile v0.0.0-20220216033700-d705409f108f/go.mod h1:qr2b5kx4HbFS7/g4uYO5qv9ei8303JMsC7ESbYiqr2Q= github.com/jhump/protoreflect v1.6.1/go.mod h1:RZQ/lnuN+zqeRVpQigTwO6o0AJUkxbnSnpuG7toUTG4= github.com/jhump/protoreflect v1.11.0/go.mod h1:U7aMIjN0NWq9swDP7xDdoMfRHb35uiuTd3Z9nFXJf5E= -github.com/jhump/protoreflect v1.12.1-0.20220417024638-438db461d753 h1:uFlcJKZPLQd7rmOY/RrvBuUaYmAFnlFHKLivhO6cOy8= -github.com/jhump/protoreflect v1.12.1-0.20220417024638-438db461d753/go.mod h1:JytZfP5d0r8pVNLZvai7U/MCuTWITgrI4tTg7puQFKI= +github.com/jhump/protoreflect v1.12.1-0.20220721211354-060cc04fc18b h1:izTof8BKh/nE1wrKOrloNA5q4odOarjf+Xpe+4qow98= +github.com/jhump/protoreflect v1.12.1-0.20220721211354-060cc04fc18b/go.mod h1:JytZfP5d0r8pVNLZvai7U/MCuTWITgrI4tTg7puQFKI= github.com/jingyugao/rowserrcheck v1.1.1 h1:zibz55j/MJtLsjP1OF4bSdgXxwL1b+Vn7Tjzq7gFzUs= github.com/jingyugao/rowserrcheck v1.1.1/go.mod h1:4yvlZSDb3IyDTUZJUmpZfm2Hwok+Dtp+nu2qOq+er9c= github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af h1:KA9BjwUk7KlCh6S9EAGWBt1oExIUv9WyNCiRz5amv48= @@ -557,8 +578,8 @@ github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88/go.mod h1:3w7q github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/errcheck v1.6.1 h1:cErYo+J4SmEjdXZrVXGwLJCE2sB06s23LpkcyWNrT+s= -github.com/kisielk/errcheck v1.6.1/go.mod h1:nXw/i/MfnvRHqXa7XXmQMUB0oNFGuBrNI8d8NLy0LPw= +github.com/kisielk/errcheck v1.6.2 h1:uGQ9xI8/pgc9iOoCe7kWQgRE6SBTrCGmTSf0LrEtY7c= +github.com/kisielk/errcheck v1.6.2/go.mod h1:nXw/i/MfnvRHqXa7XXmQMUB0oNFGuBrNI8d8NLy0LPw= github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4= @@ -649,8 +670,11 @@ github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyua github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/mitchellh/reflectwalk v1.0.1/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= +github.com/moby/buildkit v0.10.3 h1:/dGykD8FW+H4p++q5+KqKEo6gAkYKyBQHdawdjVwVAU= +github.com/moby/buildkit v0.10.3/go.mod h1:jxeOuly98l9gWHai0Ojrbnczrk/rf+o9/JqNhY+UCSo= github.com/moby/sys/mountinfo v0.5.0/go.mod h1:3bMD3Rg+zkqx8MRYPi7Pyb0Ie97QEBmdxbhnCLlSvSU= github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6 h1:dcztxKSvZ4Id8iPpHERQBbIJfabdt4wUm5qy3wOL2Zc= +github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6/go.mod h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= @@ -659,6 +683,8 @@ github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjY github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8= github.com/moricho/tparallel v0.2.1 h1:95FytivzT6rYzdJLdtfn6m1bfFJylOJK41+lgv/EHf4= github.com/moricho/tparallel v0.2.1/go.mod h1:fXEIZxG2vdfl0ZF8b42f5a78EhjjD5mX8qUplsoSU4k= +github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A= +github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= github.com/mozilla/scribe v0.0.0-20180711195314-fb71baf557c1/go.mod h1:FIczTrinKo8VaLxe6PWTPEXRXDIHz2QAwiaBaP5/4a8= github.com/mozilla/tls-observatory v0.0.0-20210609171429-7bc42856d2e5/go.mod h1:FUqVoUPHSEdDR0MnFM3Dh8AU0pZHLXUD127SAJGER/s= github.com/mroth/weightedrand v0.4.1 h1:rHcbUBopmi/3x4nnrvwGJBhX9d0vk+KgoLUZeDP6YyI= @@ -709,8 +735,8 @@ github.com/onsi/gomega v1.19.0 h1:4ieX6qQjPP/BfC3mpsAtIGGlxTWPeA3Inl/7DtXw1tw= github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9yPro= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= -github.com/opencontainers/image-spec v1.0.2 h1:9yCKha/T5XdGtO0q9Q9a6T5NUCsTn/DrBg0D7ufOcFM= -github.com/opencontainers/image-spec v1.0.2/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= +github.com/opencontainers/image-spec v1.0.3-0.20211202183452-c5a74bcca799 h1:rc3tiVYb5z54aKaDfakKn0dDjIyPpTtszkjuMzyt7ec= +github.com/opencontainers/image-spec v1.0.3-0.20211202183452-c5a74bcca799/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= github.com/opencontainers/runc v1.1.3 h1:vIXrkId+0/J2Ymu2m7VjGvbSlAId9XNRPhn2p4b+d8w= github.com/opencontainers/runc v1.1.3/go.mod h1:1J5XiS+vdZ3wCyZybsuxXZWGrgSr8fFJHLXuG2PsnNg= github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= @@ -803,14 +829,16 @@ github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/ryancurrah/gomodguard v1.2.3 h1:ww2fsjqocGCAFamzvv/b8IsRduuHHeK2MHTcTxZTQX8= -github.com/ryancurrah/gomodguard v1.2.3/go.mod h1:rYbA/4Tg5c54mV1sv4sQTP5WOPBcoLtnBZ7/TEhXAbg= +github.com/ryancurrah/gomodguard v1.2.4 h1:CpMSDKan0LtNGGhPrvupAoLeObRFjND8/tU1rEOtBp4= +github.com/ryancurrah/gomodguard v1.2.4/go.mod h1:+Kem4VjWwvFpUJRJSwa16s1tBJe+vbv02+naTow2f6M= github.com/ryanrolds/sqlclosecheck v0.3.0 h1:AZx+Bixh8zdUBxUA1NxbxVAS78vTPq4rCb8OUZI9xFw= github.com/ryanrolds/sqlclosecheck v0.3.0/go.mod h1:1gREqxyTGR3lVtpngyFo3hZAgk0KCtEdgEkHwDbigdA= github.com/sanposhiho/wastedassign/v2 v2.0.6 h1:+6/hQIHKNJAUixEj6EmOngGIisyeI+T3335lYTyxRoA= github.com/sanposhiho/wastedassign/v2 v2.0.6/go.mod h1:KyZ0MWTwxxBmfwn33zh3k1dmsbF2ud9pAAGfoLfjhtI= github.com/sasha-s/go-deadlock v0.3.1 h1:sqv7fDNShgjcaxkO0JNcOAlr8B9+cV5Ey/OB71efZx0= github.com/sasha-s/go-deadlock v0.3.1/go.mod h1:F73l+cr82YSh10GxyRI6qZiCgK64VaZjwesgfQ1/iLM= +github.com/sashamelentyev/usestdlibvars v1.8.0 h1:QnWP9IOEuRyYKH+IG0LlQIjuJlc0rfdo4K3/Zh3WRMw= +github.com/sashamelentyev/usestdlibvars v1.8.0/go.mod h1:BFt7b5mSVHaaa26ZupiNRV2ODViQBxZZVhtAxAJRrjs= github.com/seccomp/libseccomp-golang v0.9.2-0.20220502022130-f33da4d89646/go.mod h1:JA8cRccbGaA1s33RQf7Y1+q9gHmZX1yB/z9WDN1C6fg= github.com/securego/gosec/v2 v2.12.0 h1:CQWdW7ATFpvLSohMVsajscfyHJ5rsGmEXmsNcsDNmAg= github.com/securego/gosec/v2 v2.12.0/go.mod h1:iTpT+eKTw59bSgklBHlSnH5O2tNygHMDxfvMubA4i7I= @@ -824,12 +852,13 @@ github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPx github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE= github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= +github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/sivchari/containedctx v1.0.2 h1:0hLQKpgC53OVF1VT7CeoFHk9YKstur1XOgfYIc1yrHI= github.com/sivchari/containedctx v1.0.2/go.mod h1:PwZOeqm4/DLoJOqMSIJs3aKqXRX4YO+uXww087KZ7Bw= -github.com/sivchari/nosnakecase v1.5.0 h1:ZBvAu1H3uteN0KQ0IsLpIFOwYgPEhKLyv2ahrVkub6M= -github.com/sivchari/nosnakecase v1.5.0/go.mod h1:CwDzrzPea40/GB6uynrNLiorAlgFRvRbFSgJx2Gs+QY= +github.com/sivchari/nosnakecase v1.7.0 h1:7QkpWIRMe8x25gckkFd2A5Pi6Ymo0qgr4JrhGt95do8= +github.com/sivchari/nosnakecase v1.7.0/go.mod h1:CwDzrzPea40/GB6uynrNLiorAlgFRvRbFSgJx2Gs+QY= github.com/sivchari/tenv v1.7.0 h1:d4laZMBK6jpe5PWepxlV9S+LC0yXqvYHiq8E6ceoVVE= github.com/sivchari/tenv v1.7.0/go.mod h1:64yStXKSOxDfX47NlhVwND4dHwfZDdbp2Lyl018Icvg= github.com/snikch/goodman v0.0.0-20171125024755-10e37e294daa h1:YJfZp12Z3AFhSBeXOlv4BO55RMwPn2NoQeDsrdWnBtY= @@ -895,6 +924,8 @@ github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c h1:g+WoO5jjkqGAzH github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c/go.mod h1:ahpPrc7HpcfEWDQRZEmnXMzHY03mLDYMCxeDzy46i+8= github.com/tendermint/go-amino v0.16.0 h1:GyhmgQKvqF82e2oZeuMSp9JTN0N09emoSZlb2lyGa2E= github.com/tendermint/go-amino v0.16.0/go.mod h1:TQU0M1i/ImAo+tYpZi73AU3V/dKeCoMC9Sphe2ZwGME= +github.com/tendermint/tendermint v0.34.21 h1:UiGGnBFHVrZhoQVQ7EfwSOLuCtarqCSsRf8VrklqB7s= +github.com/tendermint/tendermint v0.34.21/go.mod h1:XDvfg6U7grcFTDx7VkzxnhazQ/bspGJAn4DZ6DcLLjQ= github.com/tendermint/tm-db v0.6.6 h1:EzhaOfR0bdKyATqcd5PNeyeq8r+V4bRPHBfyFdD9kGM= github.com/tendermint/tm-db v0.6.6/go.mod h1:wP8d49A85B7/erz/r4YbKssKw6ylsO/hKtFk7E1aWZI= github.com/tenntenn/modver v1.0.1 h1:2klLppGhDgzJrScMpkj9Ujy3rXPUspSjAcev9tSEBgA= @@ -950,8 +981,8 @@ github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -gitlab.com/bosi/decorder v0.2.2 h1:LRfb3lP6mZWjUzpMOCLTVjcnl/SqZWBWmKNqQvMocQs= -gitlab.com/bosi/decorder v0.2.2/go.mod h1:9K1RB5+VPNQYtXtTDAzd2OEftsZb1oV0IrJrzChSdGE= +gitlab.com/bosi/decorder v0.2.3 h1:gX4/RgK16ijY8V+BRQHAySfQAb354T7/xQpDB2n10P0= +gitlab.com/bosi/decorder v0.2.3/go.mod h1:9K1RB5+VPNQYtXtTDAzd2OEftsZb1oV0IrJrzChSdGE= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.4/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= go.etcd.io/bbolt v1.3.6 h1:/ecaJf0sk1l4l6V4awd65v2C3ILy7MSj+s/x1ADCIMU= @@ -966,6 +997,12 @@ go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.33.0 h1:z6rnla1Asjzn0FrhohzIbDi4bxbtc6EMmQ7f5ZPn+pA= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.33.0/go.mod h1:y/SlJpJQPd2UzfBCj0E9Flk9FDCtTyqUmaCB41qFrWI= +go.opentelemetry.io/otel v1.8.0 h1:zcvBFizPbpa1q7FehvFiHbQwGzmPILebO0tyqIR5Djg= +go.opentelemetry.io/otel v1.8.0/go.mod h1:2pkj+iMj0o03Y+cW6/m8Y4WkRdYN3AvCXCnzRMp9yvM= +go.opentelemetry.io/otel/trace v1.8.0 h1:cSy0DF9eGI5WIfNwZ1q2iUyGj00tGzP24dE1lOlHrfY= +go.opentelemetry.io/otel/trace v1.8.0/go.mod h1:0Bt3PXY8w+3pheS3hQUt+wow8b1ojPaTBoTCh2zIFI4= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= @@ -1108,6 +1145,7 @@ golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5 h1:OSnWWcOd/CtWQC2cYSBgbTSJv3ciqd8r54ySIW2y3RE= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1202,6 +1240,7 @@ golang.org/x/sys v0.0.0-20220319134239-a9b59b0215f8/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220702020025-31831981b65f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0 h1:kunALQeHf1/185U1i0GOB/fy1IPRDDpuoOOqRReG57U= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1245,6 +1284,7 @@ golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBn golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190910044552-dd2b5c81c578/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -1351,6 +1391,7 @@ google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww google.golang.org/appengine v1.6.2/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/genproto v0.0.0-20170818010345-ee236bd376b0/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= @@ -1475,6 +1516,8 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= +gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= +gotest.tools/v3 v3.0.3 h1:4AuOwCGf4lLR9u3YOe2awrHygurzhO/HeQ6laiA6Sx0= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= @@ -1482,8 +1525,8 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -honnef.co/go/tools v0.3.2 h1:ytYb4rOqyp1TSa2EPvNVwtPQJctSELKaMyLfqNP4+34= -honnef.co/go/tools v0.3.2/go.mod h1:jzwdWgg7Jdq75wlfblQxO4neNaFFSvgc1tD5Wv8U0Yw= +honnef.co/go/tools v0.3.3 h1:oDx7VAwstgpYpb3wv0oxiZlxY+foCpRAwY7Vk6XpAgA= +honnef.co/go/tools v0.3.3/go.mod h1:jzwdWgg7Jdq75wlfblQxO4neNaFFSvgc1tD5Wv8U0Yw= mvdan.cc/gofumpt v0.3.1 h1:avhhrOmv0IuvQVK7fvwV91oFSGAk5/6Po8GXTzICeu8= mvdan.cc/gofumpt v0.3.1/go.mod h1:w3ymliuxvzVx8DAutBnVyDqYb1Niy/yCJt/lk821YCE= mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed h1:WX1yoOaKQfddO/mLzdV4wptyWgoH/6hwLs7QHTixo0I= diff --git a/internal/blocksync/applier.go b/internal/blocksync/applier.go index 528efd8d51..1fe63d0de3 100644 --- a/internal/blocksync/applier.go +++ b/internal/blocksync/applier.go @@ -6,10 +6,10 @@ import ( sync "github.com/sasha-s/go-deadlock" - "github.com/tendermint/tendermint/internal/consensus" - sm "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/internal/consensus" + sm "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/types" ) type ( diff --git a/internal/blocksync/applier_test.go b/internal/blocksync/applier_test.go index 382a76f4d2..a7f57b832d 100644 --- a/internal/blocksync/applier_test.go +++ b/internal/blocksync/applier_test.go @@ -9,11 +9,11 @@ import ( "github.com/stretchr/testify/mock" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/internal/state/mocks" - statefactory "github.com/tendermint/tendermint/internal/state/test/factory" - "github.com/tendermint/tendermint/internal/test/factory" - tmrequire "github.com/tendermint/tendermint/internal/test/require" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/internal/state/mocks" + statefactory "github.com/dashpay/tenderdash/internal/state/test/factory" + "github.com/dashpay/tenderdash/internal/test/factory" + tmrequire "github.com/dashpay/tenderdash/internal/test/require" + "github.com/dashpay/tenderdash/types" ) func TestBlockApplierApply(t *testing.T) { diff --git a/internal/blocksync/block_fetch_job.go b/internal/blocksync/block_fetch_job.go index fbab35034f..9701f151d9 100644 --- a/internal/blocksync/block_fetch_job.go +++ b/internal/blocksync/block_fetch_job.go @@ -6,10 +6,10 @@ import ( sync "github.com/sasha-s/go-deadlock" - "github.com/tendermint/tendermint/internal/p2p/client" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/libs/workerpool" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/internal/p2p/client" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/libs/workerpool" + "github.com/dashpay/tenderdash/types" ) type ( diff --git a/internal/blocksync/block_fetch_job_test.go b/internal/blocksync/block_fetch_job_test.go index 8ae9a76a15..16af32b27e 100644 --- a/internal/blocksync/block_fetch_job_test.go +++ b/internal/blocksync/block_fetch_job_test.go @@ -10,16 +10,16 @@ import ( "github.com/stretchr/testify/mock" "github.com/stretchr/testify/suite" - "github.com/tendermint/tendermint/internal/p2p/client" - "github.com/tendermint/tendermint/internal/p2p/client/mocks" - statefactory "github.com/tendermint/tendermint/internal/state/test/factory" - "github.com/tendermint/tendermint/internal/test/factory" - tmrequire "github.com/tendermint/tendermint/internal/test/require" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/libs/promise" - "github.com/tendermint/tendermint/libs/workerpool" - bcproto "github.com/tendermint/tendermint/proto/tendermint/blocksync" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/internal/p2p/client" + "github.com/dashpay/tenderdash/internal/p2p/client/mocks" + statefactory "github.com/dashpay/tenderdash/internal/state/test/factory" + "github.com/dashpay/tenderdash/internal/test/factory" + tmrequire "github.com/dashpay/tenderdash/internal/test/require" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/libs/promise" + "github.com/dashpay/tenderdash/libs/workerpool" + bcproto "github.com/dashpay/tenderdash/proto/tendermint/blocksync" + "github.com/dashpay/tenderdash/types" ) type BlockFetchJobTestSuite struct { diff --git a/internal/blocksync/mocks/block_client.go b/internal/blocksync/mocks/block_client.go index 9f4ef98e5f..bdf95bee04 100644 --- a/internal/blocksync/mocks/block_client.go +++ b/internal/blocksync/mocks/block_client.go @@ -5,13 +5,11 @@ package mocks import ( context "context" - blocksync "github.com/tendermint/tendermint/proto/tendermint/blocksync" - mock "github.com/stretchr/testify/mock" - promise "github.com/tendermint/tendermint/libs/promise" - - types "github.com/tendermint/tendermint/types" + promise "github.com/dashpay/tenderdash/libs/promise" + blocksync "github.com/dashpay/tenderdash/proto/tendermint/blocksync" + types "github.com/dashpay/tenderdash/types" ) // BlockClient is an autogenerated mock type for the BlockClient type diff --git a/internal/blocksync/msgs.go b/internal/blocksync/msgs.go index 9613dd2bad..d54174cc9e 100644 --- a/internal/blocksync/msgs.go +++ b/internal/blocksync/msgs.go @@ -1,8 +1,8 @@ package blocksync import ( - p2pproto "github.com/tendermint/tendermint/proto/tendermint/p2p" - "github.com/tendermint/tendermint/types" + p2pproto "github.com/dashpay/tenderdash/proto/tendermint/p2p" + "github.com/dashpay/tenderdash/types" ) const ( diff --git a/internal/blocksync/p2p_msg_handler.go b/internal/blocksync/p2p_msg_handler.go index eac2a603e2..babb5966de 100644 --- a/internal/blocksync/p2p_msg_handler.go +++ b/internal/blocksync/p2p_msg_handler.go @@ -6,11 +6,11 @@ import ( "github.com/gogo/protobuf/proto" - "github.com/tendermint/tendermint/internal/p2p" - "github.com/tendermint/tendermint/internal/p2p/client" - sm "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/libs/log" - bcproto "github.com/tendermint/tendermint/proto/tendermint/blocksync" + "github.com/dashpay/tenderdash/internal/p2p" + "github.com/dashpay/tenderdash/internal/p2p/client" + sm "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/libs/log" + bcproto "github.com/dashpay/tenderdash/proto/tendermint/blocksync" ) type ( diff --git a/internal/blocksync/p2p_msg_handler_test.go b/internal/blocksync/p2p_msg_handler_test.go index 993a1ab5c8..2e85d1c1e0 100644 --- a/internal/blocksync/p2p_msg_handler_test.go +++ b/internal/blocksync/p2p_msg_handler_test.go @@ -10,15 +10,15 @@ import ( "github.com/stretchr/testify/mock" "github.com/stretchr/testify/suite" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/internal/p2p" - "github.com/tendermint/tendermint/internal/p2p/client" - p2pmocks "github.com/tendermint/tendermint/internal/p2p/mocks" - "github.com/tendermint/tendermint/internal/state/mocks" - tmrequire "github.com/tendermint/tendermint/internal/test/require" - "github.com/tendermint/tendermint/libs/log" - bcproto "github.com/tendermint/tendermint/proto/tendermint/blocksync" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/internal/p2p" + "github.com/dashpay/tenderdash/internal/p2p/client" + p2pmocks "github.com/dashpay/tenderdash/internal/p2p/mocks" + "github.com/dashpay/tenderdash/internal/state/mocks" + tmrequire "github.com/dashpay/tenderdash/internal/test/require" + "github.com/dashpay/tenderdash/libs/log" + bcproto "github.com/dashpay/tenderdash/proto/tendermint/blocksync" + "github.com/dashpay/tenderdash/types" ) type BlockP2PMessageHandlerTestSuite struct { diff --git a/internal/blocksync/peer_store.go b/internal/blocksync/peer_store.go index 6bdb246141..2ec26cbb1b 100644 --- a/internal/blocksync/peer_store.go +++ b/internal/blocksync/peer_store.go @@ -7,9 +7,9 @@ import ( "golang.org/x/exp/constraints" - "github.com/tendermint/tendermint/internal/libs/flowrate" - "github.com/tendermint/tendermint/libs/store" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/internal/libs/flowrate" + "github.com/dashpay/tenderdash/libs/store" + "github.com/dashpay/tenderdash/types" ) type ( diff --git a/internal/blocksync/peer_store_test.go b/internal/blocksync/peer_store_test.go index 9251d17e8f..a954b604ca 100644 --- a/internal/blocksync/peer_store_test.go +++ b/internal/blocksync/peer_store_test.go @@ -8,8 +8,8 @@ import ( "github.com/jonboulle/clockwork" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/internal/libs/flowrate" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/internal/libs/flowrate" + "github.com/dashpay/tenderdash/types" ) func TestInMemPeerStoreBasicOperations(t *testing.T) { diff --git a/internal/blocksync/reactor.go b/internal/blocksync/reactor.go index afb51c3fba..822550f165 100644 --- a/internal/blocksync/reactor.go +++ b/internal/blocksync/reactor.go @@ -7,17 +7,17 @@ import ( "sync/atomic" "time" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/internal/consensus" - "github.com/tendermint/tendermint/internal/eventbus" - "github.com/tendermint/tendermint/internal/p2p" - "github.com/tendermint/tendermint/internal/p2p/client" - sm "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/internal/store" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/libs/service" - bcproto "github.com/tendermint/tendermint/proto/tendermint/blocksync" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/internal/consensus" + "github.com/dashpay/tenderdash/internal/eventbus" + "github.com/dashpay/tenderdash/internal/p2p" + "github.com/dashpay/tenderdash/internal/p2p/client" + sm "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/internal/store" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/libs/service" + bcproto "github.com/dashpay/tenderdash/proto/tendermint/blocksync" + "github.com/dashpay/tenderdash/types" ) var _ service.Service = (*Reactor)(nil) diff --git a/internal/blocksync/reactor_test.go b/internal/blocksync/reactor_test.go index 6054fecbbc..a882b2e2a4 100644 --- a/internal/blocksync/reactor_test.go +++ b/internal/blocksync/reactor_test.go @@ -12,22 +12,22 @@ import ( "github.com/stretchr/testify/require" dbm "github.com/tendermint/tm-db" - abciclient "github.com/tendermint/tendermint/abci/client" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/internal/consensus" - "github.com/tendermint/tendermint/internal/eventbus" - mpmocks "github.com/tendermint/tendermint/internal/mempool/mocks" - "github.com/tendermint/tendermint/internal/p2p" - "github.com/tendermint/tendermint/internal/p2p/client" - "github.com/tendermint/tendermint/internal/p2p/p2ptest" - "github.com/tendermint/tendermint/internal/proxy" - sm "github.com/tendermint/tendermint/internal/state" - sf "github.com/tendermint/tendermint/internal/state/test/factory" - "github.com/tendermint/tendermint/internal/store" - "github.com/tendermint/tendermint/internal/test/factory" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/types" + abciclient "github.com/dashpay/tenderdash/abci/client" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/internal/consensus" + "github.com/dashpay/tenderdash/internal/eventbus" + mpmocks "github.com/dashpay/tenderdash/internal/mempool/mocks" + "github.com/dashpay/tenderdash/internal/p2p" + "github.com/dashpay/tenderdash/internal/p2p/client" + "github.com/dashpay/tenderdash/internal/p2p/p2ptest" + "github.com/dashpay/tenderdash/internal/proxy" + sm "github.com/dashpay/tenderdash/internal/state" + sf "github.com/dashpay/tenderdash/internal/state/test/factory" + "github.com/dashpay/tenderdash/internal/store" + "github.com/dashpay/tenderdash/internal/test/factory" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/types" ) type reactorTestSuite struct { diff --git a/internal/blocksync/synchronizer.go b/internal/blocksync/synchronizer.go index f10c4716f8..f035fd56b4 100644 --- a/internal/blocksync/synchronizer.go +++ b/internal/blocksync/synchronizer.go @@ -10,13 +10,13 @@ import ( "github.com/jonboulle/clockwork" sync "github.com/sasha-s/go-deadlock" - "github.com/tendermint/tendermint/internal/p2p" - "github.com/tendermint/tendermint/internal/p2p/client" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/libs/service" - "github.com/tendermint/tendermint/libs/workerpool" - bcproto "github.com/tendermint/tendermint/proto/tendermint/blocksync" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/internal/p2p" + "github.com/dashpay/tenderdash/internal/p2p/client" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/libs/service" + "github.com/dashpay/tenderdash/libs/workerpool" + bcproto "github.com/dashpay/tenderdash/proto/tendermint/blocksync" + "github.com/dashpay/tenderdash/types" ) /* diff --git a/internal/blocksync/synchronizer_test.go b/internal/blocksync/synchronizer_test.go index b4fb653511..8c9c544c10 100644 --- a/internal/blocksync/synchronizer_test.go +++ b/internal/blocksync/synchronizer_test.go @@ -14,18 +14,18 @@ import ( "github.com/stretchr/testify/require" "github.com/stretchr/testify/suite" - "github.com/tendermint/tendermint/internal/p2p" - clientmocks "github.com/tendermint/tendermint/internal/p2p/client/mocks" - sm "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/internal/state/mocks" - statefactory "github.com/tendermint/tendermint/internal/state/test/factory" - "github.com/tendermint/tendermint/internal/test/factory" - "github.com/tendermint/tendermint/libs/promise" - tmrand "github.com/tendermint/tendermint/libs/rand" - "github.com/tendermint/tendermint/libs/workerpool" - "github.com/tendermint/tendermint/proto/tendermint/blocksync" - "github.com/tendermint/tendermint/types" - "github.com/tendermint/tendermint/version" + "github.com/dashpay/tenderdash/internal/p2p" + clientmocks "github.com/dashpay/tenderdash/internal/p2p/client/mocks" + sm "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/internal/state/mocks" + statefactory "github.com/dashpay/tenderdash/internal/state/test/factory" + "github.com/dashpay/tenderdash/internal/test/factory" + "github.com/dashpay/tenderdash/libs/promise" + tmrand "github.com/dashpay/tenderdash/libs/rand" + "github.com/dashpay/tenderdash/libs/workerpool" + "github.com/dashpay/tenderdash/proto/tendermint/blocksync" + "github.com/dashpay/tenderdash/types" + "github.com/dashpay/tenderdash/version" ) type SynchronizerTestSuite struct { diff --git a/internal/consensus/block_executor.go b/internal/consensus/block_executor.go index 762586afad..69783a3c8a 100644 --- a/internal/consensus/block_executor.go +++ b/internal/consensus/block_executor.go @@ -6,11 +6,12 @@ import ( "fmt" sync "github.com/sasha-s/go-deadlock" - cstypes "github.com/tendermint/tendermint/internal/consensus/types" - sm "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/libs/eventemitter" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/types" + + cstypes "github.com/dashpay/tenderdash/internal/consensus/types" + sm "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/libs/eventemitter" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/types" ) type blockExecutor struct { diff --git a/internal/consensus/block_executor_test.go b/internal/consensus/block_executor_test.go index 2e89c565e6..842d0495cf 100644 --- a/internal/consensus/block_executor_test.go +++ b/internal/consensus/block_executor_test.go @@ -10,14 +10,14 @@ import ( "github.com/stretchr/testify/require" "github.com/stretchr/testify/suite" - "github.com/tendermint/tendermint/crypto" - cstypes "github.com/tendermint/tendermint/internal/consensus/types" - sm "github.com/tendermint/tendermint/internal/state" - smmocks "github.com/tendermint/tendermint/internal/state/mocks" - tmrequire "github.com/tendermint/tendermint/internal/test/require" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/types" - "github.com/tendermint/tendermint/types/mocks" + "github.com/dashpay/tenderdash/crypto" + cstypes "github.com/dashpay/tenderdash/internal/consensus/types" + sm "github.com/dashpay/tenderdash/internal/state" + smmocks "github.com/dashpay/tenderdash/internal/state/mocks" + tmrequire "github.com/dashpay/tenderdash/internal/test/require" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/types" + "github.com/dashpay/tenderdash/types/mocks" ) type BockExecutorTestSuite struct { diff --git a/internal/consensus/byzantine_test.go b/internal/consensus/byzantine_test.go index 62e211d6c3..79ec408e07 100644 --- a/internal/consensus/byzantine_test.go +++ b/internal/consensus/byzantine_test.go @@ -13,21 +13,21 @@ import ( "github.com/stretchr/testify/require" dbm "github.com/tendermint/tm-db" - abciclient "github.com/tendermint/tendermint/abci/client" - "github.com/tendermint/tendermint/abci/example/kvstore" - abci "github.com/tendermint/tendermint/abci/types" - cstypes "github.com/tendermint/tendermint/internal/consensus/types" - "github.com/tendermint/tendermint/internal/eventbus" - "github.com/tendermint/tendermint/internal/evidence" - "github.com/tendermint/tendermint/internal/mempool" - "github.com/tendermint/tendermint/internal/p2p" - sm "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/internal/store" - "github.com/tendermint/tendermint/internal/test/factory" - "github.com/tendermint/tendermint/libs/log" - tmcons "github.com/tendermint/tendermint/proto/tendermint/consensus" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + abciclient "github.com/dashpay/tenderdash/abci/client" + "github.com/dashpay/tenderdash/abci/example/kvstore" + abci "github.com/dashpay/tenderdash/abci/types" + cstypes "github.com/dashpay/tenderdash/internal/consensus/types" + "github.com/dashpay/tenderdash/internal/eventbus" + "github.com/dashpay/tenderdash/internal/evidence" + "github.com/dashpay/tenderdash/internal/mempool" + "github.com/dashpay/tenderdash/internal/p2p" + sm "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/internal/store" + "github.com/dashpay/tenderdash/internal/test/factory" + "github.com/dashpay/tenderdash/libs/log" + tmcons "github.com/dashpay/tenderdash/proto/tendermint/consensus" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) // Byzantine node sends two different prevotes (nil and blockID) to the same diff --git a/internal/consensus/common_test.go b/internal/consensus/common_test.go index 15ed677fa7..807dbea5d0 100644 --- a/internal/consensus/common_test.go +++ b/internal/consensus/common_test.go @@ -19,27 +19,27 @@ import ( "github.com/stretchr/testify/require" dbm "github.com/tendermint/tm-db" - abciclient "github.com/tendermint/tendermint/abci/client" - "github.com/tendermint/tendermint/abci/example/kvstore" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/dash" - "github.com/tendermint/tendermint/dash/llmq" - cstypes "github.com/tendermint/tendermint/internal/consensus/types" - "github.com/tendermint/tendermint/internal/eventbus" - "github.com/tendermint/tendermint/internal/mempool" - tmpubsub "github.com/tendermint/tendermint/internal/pubsub" - sm "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/internal/store" - "github.com/tendermint/tendermint/internal/test/factory" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/libs/log" - tmos "github.com/tendermint/tendermint/libs/os" - tmtime "github.com/tendermint/tendermint/libs/time" - "github.com/tendermint/tendermint/privval" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + abciclient "github.com/dashpay/tenderdash/abci/client" + "github.com/dashpay/tenderdash/abci/example/kvstore" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/dash" + "github.com/dashpay/tenderdash/dash/llmq" + cstypes "github.com/dashpay/tenderdash/internal/consensus/types" + "github.com/dashpay/tenderdash/internal/eventbus" + "github.com/dashpay/tenderdash/internal/mempool" + tmpubsub "github.com/dashpay/tenderdash/internal/pubsub" + sm "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/internal/store" + "github.com/dashpay/tenderdash/internal/test/factory" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/libs/log" + tmos "github.com/dashpay/tenderdash/libs/os" + tmtime "github.com/dashpay/tenderdash/libs/time" + "github.com/dashpay/tenderdash/privval" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) const ( diff --git a/internal/consensus/core_chainlock_test.go b/internal/consensus/core_chainlock_test.go index 80d485e2f5..227d40bf56 100644 --- a/internal/consensus/core_chainlock_test.go +++ b/internal/consensus/core_chainlock_test.go @@ -13,12 +13,12 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/abci/example/counter" - abci "github.com/tendermint/tendermint/abci/types" - cstypes "github.com/tendermint/tendermint/internal/consensus/types" - "github.com/tendermint/tendermint/internal/eventbus" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/abci/example/counter" + abci "github.com/dashpay/tenderdash/abci/types" + cstypes "github.com/dashpay/tenderdash/internal/consensus/types" + "github.com/dashpay/tenderdash/internal/eventbus" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/types" ) func TestValidProposalChainLocks(t *testing.T) { diff --git a/internal/consensus/event_publisher.go b/internal/consensus/event_publisher.go index 6356185eee..411ddd5824 100644 --- a/internal/consensus/event_publisher.go +++ b/internal/consensus/event_publisher.go @@ -1,11 +1,11 @@ package consensus import ( - cstypes "github.com/tendermint/tendermint/internal/consensus/types" - "github.com/tendermint/tendermint/internal/eventbus" - "github.com/tendermint/tendermint/libs/eventemitter" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/types" + cstypes "github.com/dashpay/tenderdash/internal/consensus/types" + "github.com/dashpay/tenderdash/internal/eventbus" + "github.com/dashpay/tenderdash/libs/eventemitter" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/types" ) // EventPublisher is event message sender to event-bus and event-switch diff --git a/internal/consensus/gossip_handlers.go b/internal/consensus/gossip_handlers.go index 49c7db2054..d9bddb8c8c 100644 --- a/internal/consensus/gossip_handlers.go +++ b/internal/consensus/gossip_handlers.go @@ -3,9 +3,9 @@ package consensus import ( "context" - cstypes "github.com/tendermint/tendermint/internal/consensus/types" - sm "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/libs/log" + cstypes "github.com/dashpay/tenderdash/internal/consensus/types" + sm "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/libs/log" ) func queryMaj23GossipHandler(ps *PeerState, gossiper Gossiper) gossipHandlerFunc { diff --git a/internal/consensus/gossip_handlers_test.go b/internal/consensus/gossip_handlers_test.go index 5983e2895f..efacd73674 100644 --- a/internal/consensus/gossip_handlers_test.go +++ b/internal/consensus/gossip_handlers_test.go @@ -9,15 +9,15 @@ import ( "github.com/stretchr/testify/require" "github.com/stretchr/testify/suite" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/internal/consensus/mocks" - cstypes "github.com/tendermint/tendermint/internal/consensus/types" - sm "github.com/tendermint/tendermint/internal/state" - statemocks "github.com/tendermint/tendermint/internal/state/mocks" - "github.com/tendermint/tendermint/internal/test/factory" - "github.com/tendermint/tendermint/libs/log" - tmrand "github.com/tendermint/tendermint/libs/rand" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/internal/consensus/mocks" + cstypes "github.com/dashpay/tenderdash/internal/consensus/types" + sm "github.com/dashpay/tenderdash/internal/state" + statemocks "github.com/dashpay/tenderdash/internal/state/mocks" + "github.com/dashpay/tenderdash/internal/test/factory" + "github.com/dashpay/tenderdash/libs/log" + tmrand "github.com/dashpay/tenderdash/libs/rand" + "github.com/dashpay/tenderdash/types" ) type GossipHandlerTestSuite struct { diff --git a/internal/consensus/gossip_msg_sender.go b/internal/consensus/gossip_msg_sender.go index 3e6ee648f9..21a544a92a 100644 --- a/internal/consensus/gossip_msg_sender.go +++ b/internal/consensus/gossip_msg_sender.go @@ -7,11 +7,11 @@ import ( "github.com/gogo/protobuf/proto" - "github.com/tendermint/tendermint/internal/p2p" - "github.com/tendermint/tendermint/libs/log" - tmcons "github.com/tendermint/tendermint/proto/tendermint/consensus" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/internal/p2p" + "github.com/dashpay/tenderdash/libs/log" + tmcons "github.com/dashpay/tenderdash/proto/tendermint/consensus" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) var ( diff --git a/internal/consensus/gossip_msg_sender_test.go b/internal/consensus/gossip_msg_sender_test.go index 9e7d6f0e39..15684d9520 100644 --- a/internal/consensus/gossip_msg_sender_test.go +++ b/internal/consensus/gossip_msg_sender_test.go @@ -8,12 +8,12 @@ import ( "github.com/gogo/protobuf/proto" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/internal/p2p" - "github.com/tendermint/tendermint/internal/p2p/mocks" - "github.com/tendermint/tendermint/libs/log" - tmcons "github.com/tendermint/tendermint/proto/tendermint/consensus" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/internal/p2p" + "github.com/dashpay/tenderdash/internal/p2p/mocks" + "github.com/dashpay/tenderdash/libs/log" + tmcons "github.com/dashpay/tenderdash/proto/tendermint/consensus" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) func TestP2PMsgSender_Send(t *testing.T) { diff --git a/internal/consensus/gossip_peer_worker.go b/internal/consensus/gossip_peer_worker.go index 524b16dd14..f4c12d177d 100644 --- a/internal/consensus/gossip_peer_worker.go +++ b/internal/consensus/gossip_peer_worker.go @@ -7,7 +7,7 @@ import ( "github.com/jonboulle/clockwork" - "github.com/tendermint/tendermint/libs/log" + "github.com/dashpay/tenderdash/libs/log" ) type gossipHandlerFunc func(ctx context.Context, appState StateData) diff --git a/internal/consensus/gossip_peer_worker_test.go b/internal/consensus/gossip_peer_worker_test.go index 95b744c4f9..23edd6b80c 100644 --- a/internal/consensus/gossip_peer_worker_test.go +++ b/internal/consensus/gossip_peer_worker_test.go @@ -9,8 +9,8 @@ import ( "github.com/jonboulle/clockwork" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/libs/eventemitter" - "github.com/tendermint/tendermint/libs/log" + "github.com/dashpay/tenderdash/libs/eventemitter" + "github.com/dashpay/tenderdash/libs/log" ) func TestPeerGossipWorker(t *testing.T) { diff --git a/internal/consensus/gossiper.go b/internal/consensus/gossiper.go index 8e14bb3022..0221e2d7a9 100644 --- a/internal/consensus/gossiper.go +++ b/internal/consensus/gossiper.go @@ -9,12 +9,12 @@ import ( "github.com/gogo/protobuf/proto" "github.com/hashicorp/go-multierror" - cstypes "github.com/tendermint/tendermint/internal/consensus/types" - sm "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/libs/log" - tmcons "github.com/tendermint/tendermint/proto/tendermint/consensus" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + cstypes "github.com/dashpay/tenderdash/internal/consensus/types" + sm "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/libs/log" + tmcons "github.com/dashpay/tenderdash/proto/tendermint/consensus" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) // Gossiper is the interface that wraps the methods needed to gossip a state between connected peers diff --git a/internal/consensus/gossiper_test.go b/internal/consensus/gossiper_test.go index 00bcb0fe42..09d0cd9347 100644 --- a/internal/consensus/gossiper_test.go +++ b/internal/consensus/gossiper_test.go @@ -10,17 +10,17 @@ import ( "github.com/gogo/protobuf/proto" "github.com/stretchr/testify/suite" - "github.com/tendermint/tendermint/crypto" - cstypes "github.com/tendermint/tendermint/internal/consensus/types" - "github.com/tendermint/tendermint/internal/p2p" - p2pmocks "github.com/tendermint/tendermint/internal/p2p/mocks" - "github.com/tendermint/tendermint/internal/state/mocks" - "github.com/tendermint/tendermint/internal/test/factory" - "github.com/tendermint/tendermint/libs/log" - tmrand "github.com/tendermint/tendermint/libs/rand" - tmcons "github.com/tendermint/tendermint/proto/tendermint/consensus" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + cstypes "github.com/dashpay/tenderdash/internal/consensus/types" + "github.com/dashpay/tenderdash/internal/p2p" + p2pmocks "github.com/dashpay/tenderdash/internal/p2p/mocks" + "github.com/dashpay/tenderdash/internal/state/mocks" + "github.com/dashpay/tenderdash/internal/test/factory" + "github.com/dashpay/tenderdash/libs/log" + tmrand "github.com/dashpay/tenderdash/libs/rand" + tmcons "github.com/dashpay/tenderdash/proto/tendermint/consensus" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) type GossiperSuiteTest struct { diff --git a/internal/consensus/helper_test.go b/internal/consensus/helper_test.go index 135e4a037d..7864364a45 100644 --- a/internal/consensus/helper_test.go +++ b/internal/consensus/helper_test.go @@ -7,21 +7,21 @@ import ( "github.com/stretchr/testify/require" dbm "github.com/tendermint/tm-db" - abciclient "github.com/tendermint/tendermint/abci/client" - "github.com/tendermint/tendermint/abci/example/kvstore" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/dash" - "github.com/tendermint/tendermint/internal/eventbus" - "github.com/tendermint/tendermint/internal/mempool" - "github.com/tendermint/tendermint/internal/proxy" - sm "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/internal/store" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/privval" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + abciclient "github.com/dashpay/tenderdash/abci/client" + "github.com/dashpay/tenderdash/abci/example/kvstore" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/dash" + "github.com/dashpay/tenderdash/internal/eventbus" + "github.com/dashpay/tenderdash/internal/mempool" + "github.com/dashpay/tenderdash/internal/proxy" + sm "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/internal/store" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/privval" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) type nodeGen struct { diff --git a/internal/consensus/invalid_test.go b/internal/consensus/invalid_test.go index 5ec265c654..679bbedde9 100644 --- a/internal/consensus/invalid_test.go +++ b/internal/consensus/invalid_test.go @@ -11,14 +11,14 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/internal/eventbus" - "github.com/tendermint/tendermint/internal/p2p" - "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/libs/log" - tmrand "github.com/tendermint/tendermint/libs/rand" - tmcons "github.com/tendermint/tendermint/proto/tendermint/consensus" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/internal/eventbus" + "github.com/dashpay/tenderdash/internal/p2p" + "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/libs/log" + tmrand "github.com/dashpay/tenderdash/libs/rand" + tmcons "github.com/dashpay/tenderdash/proto/tendermint/consensus" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) func TestReactorInvalidPrecommit(t *testing.T) { diff --git a/internal/consensus/mempool_test.go b/internal/consensus/mempool_test.go index e3af7caf49..a3f75e729e 100644 --- a/internal/consensus/mempool_test.go +++ b/internal/consensus/mempool_test.go @@ -13,16 +13,16 @@ import ( "github.com/stretchr/testify/require" dbm "github.com/tendermint/tm-db" - "github.com/tendermint/tendermint/abci/example/code" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/internal/mempool" - sm "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/internal/store" - "github.com/tendermint/tendermint/internal/test/factory" - "github.com/tendermint/tendermint/libs/log" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/abci/example/code" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/internal/mempool" + sm "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/internal/store" + "github.com/dashpay/tenderdash/internal/test/factory" + "github.com/dashpay/tenderdash/libs/log" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) // for testing diff --git a/internal/consensus/metrics.go b/internal/consensus/metrics.go index bdf0eb412c..2ffe67920b 100644 --- a/internal/consensus/metrics.go +++ b/internal/consensus/metrics.go @@ -6,9 +6,9 @@ import ( "github.com/go-kit/kit/metrics" - cstypes "github.com/tendermint/tendermint/internal/consensus/types" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + cstypes "github.com/dashpay/tenderdash/internal/consensus/types" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) const ( diff --git a/internal/consensus/mock_test.go b/internal/consensus/mock_test.go index a5dd87f9d2..3857e95063 100644 --- a/internal/consensus/mock_test.go +++ b/internal/consensus/mock_test.go @@ -5,7 +5,7 @@ import ( "github.com/stretchr/testify/mock" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/types" ) type mockConstructorTesting interface { diff --git a/internal/consensus/mocks/fast_sync_reactor.go b/internal/consensus/mocks/fast_sync_reactor.go index 06886de27b..ea4907e268 100644 --- a/internal/consensus/mocks/fast_sync_reactor.go +++ b/internal/consensus/mocks/fast_sync_reactor.go @@ -5,7 +5,7 @@ package mocks import ( mock "github.com/stretchr/testify/mock" - state "github.com/tendermint/tendermint/internal/state" + state "github.com/dashpay/tenderdash/internal/state" time "time" ) diff --git a/internal/consensus/mocks/gossiper.go b/internal/consensus/mocks/gossiper.go index b61f289f0e..b2f91225a9 100644 --- a/internal/consensus/mocks/gossiper.go +++ b/internal/consensus/mocks/gossiper.go @@ -5,8 +5,8 @@ package mocks import ( context "context" + types "github.com/dashpay/tenderdash/internal/consensus/types" mock "github.com/stretchr/testify/mock" - types "github.com/tendermint/tendermint/internal/consensus/types" ) // Gossiper is an autogenerated mock type for the Gossiper type diff --git a/internal/consensus/msg_handlers.go b/internal/consensus/msg_handlers.go index b4473bfc72..0d3e637904 100644 --- a/internal/consensus/msg_handlers.go +++ b/internal/consensus/msg_handlers.go @@ -4,8 +4,8 @@ import ( "context" "fmt" - cstypes "github.com/tendermint/tendermint/internal/consensus/types" - "github.com/tendermint/tendermint/libs/log" + cstypes "github.com/dashpay/tenderdash/internal/consensus/types" + "github.com/dashpay/tenderdash/libs/log" ) type msgInfoDispatcher struct { diff --git a/internal/consensus/msg_queue.go b/internal/consensus/msg_queue.go index dfc9a3fc4c..7fe524e789 100644 --- a/internal/consensus/msg_queue.go +++ b/internal/consensus/msg_queue.go @@ -4,8 +4,8 @@ import ( "context" "fmt" - tmtime "github.com/tendermint/tendermint/libs/time" - "github.com/tendermint/tendermint/types" + tmtime "github.com/dashpay/tenderdash/libs/time" + "github.com/dashpay/tenderdash/types" ) type msgEnvelope struct { diff --git a/internal/consensus/msg_queue_test.go b/internal/consensus/msg_queue_test.go index d0bafa575f..0507e10c39 100644 --- a/internal/consensus/msg_queue_test.go +++ b/internal/consensus/msg_queue_test.go @@ -7,7 +7,7 @@ import ( "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/types" ) func TestChanQueue(t *testing.T) { diff --git a/internal/consensus/msgs.go b/internal/consensus/msgs.go index b69af6d4c8..bde6a81353 100644 --- a/internal/consensus/msgs.go +++ b/internal/consensus/msgs.go @@ -6,13 +6,13 @@ import ( "github.com/gogo/protobuf/proto" - cstypes "github.com/tendermint/tendermint/internal/consensus/types" - "github.com/tendermint/tendermint/internal/jsontypes" - "github.com/tendermint/tendermint/libs/bits" - tmmath "github.com/tendermint/tendermint/libs/math" - tmcons "github.com/tendermint/tendermint/proto/tendermint/consensus" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + cstypes "github.com/dashpay/tenderdash/internal/consensus/types" + "github.com/dashpay/tenderdash/internal/jsontypes" + "github.com/dashpay/tenderdash/libs/bits" + tmmath "github.com/dashpay/tenderdash/libs/math" + tmcons "github.com/dashpay/tenderdash/proto/tendermint/consensus" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) // Message defines an interface that the consensus domain types implement. When diff --git a/internal/consensus/msgs_test.go b/internal/consensus/msgs_test.go index e68b15e3c4..73b5a1dede 100644 --- a/internal/consensus/msgs_test.go +++ b/internal/consensus/msgs_test.go @@ -12,17 +12,17 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/merkle" - cstypes "github.com/tendermint/tendermint/internal/consensus/types" - "github.com/tendermint/tendermint/internal/test/factory" - "github.com/tendermint/tendermint/libs/bits" - "github.com/tendermint/tendermint/libs/bytes" - tmrand "github.com/tendermint/tendermint/libs/rand" - tmtime "github.com/tendermint/tendermint/libs/time" - tmcons "github.com/tendermint/tendermint/proto/tendermint/consensus" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/merkle" + cstypes "github.com/dashpay/tenderdash/internal/consensus/types" + "github.com/dashpay/tenderdash/internal/test/factory" + "github.com/dashpay/tenderdash/libs/bits" + "github.com/dashpay/tenderdash/libs/bytes" + tmrand "github.com/dashpay/tenderdash/libs/rand" + tmtime "github.com/dashpay/tenderdash/libs/time" + tmcons "github.com/dashpay/tenderdash/proto/tendermint/consensus" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) func TestMsgToProto(t *testing.T) { diff --git a/internal/consensus/pbts_test.go b/internal/consensus/pbts_test.go index aaabbcfe1d..203fc32f46 100644 --- a/internal/consensus/pbts_test.go +++ b/internal/consensus/pbts_test.go @@ -11,15 +11,15 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/abci/example/kvstore" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/internal/eventbus" - tmpubsub "github.com/tendermint/tendermint/internal/pubsub" - "github.com/tendermint/tendermint/internal/test/factory" - "github.com/tendermint/tendermint/libs/log" - tmtime "github.com/tendermint/tendermint/libs/time" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/abci/example/kvstore" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/internal/eventbus" + tmpubsub "github.com/dashpay/tenderdash/internal/pubsub" + "github.com/dashpay/tenderdash/internal/test/factory" + "github.com/dashpay/tenderdash/libs/log" + tmtime "github.com/dashpay/tenderdash/libs/time" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) const ( diff --git a/internal/consensus/peer_state.go b/internal/consensus/peer_state.go index b343b75979..ffcb697ca5 100644 --- a/internal/consensus/peer_state.go +++ b/internal/consensus/peer_state.go @@ -11,11 +11,11 @@ import ( "github.com/rs/zerolog" - cstypes "github.com/tendermint/tendermint/internal/consensus/types" - "github.com/tendermint/tendermint/libs/bits" - "github.com/tendermint/tendermint/libs/log" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + cstypes "github.com/dashpay/tenderdash/internal/consensus/types" + "github.com/dashpay/tenderdash/libs/bits" + "github.com/dashpay/tenderdash/libs/log" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) var ( diff --git a/internal/consensus/peer_state_test.go b/internal/consensus/peer_state_test.go index 97be569ff0..9c4b6fdcbc 100644 --- a/internal/consensus/peer_state_test.go +++ b/internal/consensus/peer_state_test.go @@ -5,9 +5,9 @@ import ( "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/libs/log" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/libs/log" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) func peerStateSetup(h, r, v int) *PeerState { diff --git a/internal/consensus/proposal_updater.go b/internal/consensus/proposal_updater.go index 3950fbbf02..727a125f90 100644 --- a/internal/consensus/proposal_updater.go +++ b/internal/consensus/proposal_updater.go @@ -1,8 +1,8 @@ package consensus import ( - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/types" ) type proposalUpdater struct { diff --git a/internal/consensus/reactor.go b/internal/consensus/reactor.go index b99a2281c7..12e22f798d 100644 --- a/internal/consensus/reactor.go +++ b/internal/consensus/reactor.go @@ -11,18 +11,18 @@ import ( "github.com/gogo/protobuf/proto" - cstypes "github.com/tendermint/tendermint/internal/consensus/types" - "github.com/tendermint/tendermint/internal/eventbus" - tmstrings "github.com/tendermint/tendermint/internal/libs/strings" - "github.com/tendermint/tendermint/internal/p2p" - sm "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/libs/bits" - "github.com/tendermint/tendermint/libs/eventemitter" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/libs/service" - tmcons "github.com/tendermint/tendermint/proto/tendermint/consensus" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + cstypes "github.com/dashpay/tenderdash/internal/consensus/types" + "github.com/dashpay/tenderdash/internal/eventbus" + tmstrings "github.com/dashpay/tenderdash/internal/libs/strings" + "github.com/dashpay/tenderdash/internal/p2p" + sm "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/libs/bits" + "github.com/dashpay/tenderdash/libs/eventemitter" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/libs/service" + tmcons "github.com/dashpay/tenderdash/proto/tendermint/consensus" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) var ( diff --git a/internal/consensus/reactor_test.go b/internal/consensus/reactor_test.go index 3f10ad6025..fde234c87a 100644 --- a/internal/consensus/reactor_test.go +++ b/internal/consensus/reactor_test.go @@ -15,25 +15,25 @@ import ( "github.com/stretchr/testify/require" dbm "github.com/tendermint/tm-db" - abciclient "github.com/tendermint/tendermint/abci/client" - "github.com/tendermint/tendermint/abci/example/kvstore" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/dash" - "github.com/tendermint/tendermint/dash/llmq" - "github.com/tendermint/tendermint/internal/eventbus" - "github.com/tendermint/tendermint/internal/mempool" - "github.com/tendermint/tendermint/internal/p2p" - "github.com/tendermint/tendermint/internal/p2p/p2ptest" - tmpubsub "github.com/tendermint/tendermint/internal/pubsub" - sm "github.com/tendermint/tendermint/internal/state" - statemocks "github.com/tendermint/tendermint/internal/state/mocks" - "github.com/tendermint/tendermint/internal/store" - "github.com/tendermint/tendermint/internal/test/factory" - "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/types" + abciclient "github.com/dashpay/tenderdash/abci/client" + "github.com/dashpay/tenderdash/abci/example/kvstore" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/dash" + "github.com/dashpay/tenderdash/dash/llmq" + "github.com/dashpay/tenderdash/internal/eventbus" + "github.com/dashpay/tenderdash/internal/mempool" + "github.com/dashpay/tenderdash/internal/p2p" + "github.com/dashpay/tenderdash/internal/p2p/p2ptest" + tmpubsub "github.com/dashpay/tenderdash/internal/pubsub" + sm "github.com/dashpay/tenderdash/internal/state" + statemocks "github.com/dashpay/tenderdash/internal/state/mocks" + "github.com/dashpay/tenderdash/internal/store" + "github.com/dashpay/tenderdash/internal/test/factory" + "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/types" ) var ( diff --git a/internal/consensus/replay.go b/internal/consensus/replay.go index 4f45b8cbe7..f905500d95 100644 --- a/internal/consensus/replay.go +++ b/internal/consensus/replay.go @@ -10,13 +10,13 @@ import ( "reflect" "time" - abciclient "github.com/tendermint/tendermint/abci/client" - "github.com/tendermint/tendermint/internal/eventbus" - "github.com/tendermint/tendermint/internal/proxy" - sm "github.com/tendermint/tendermint/internal/state" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/types" + abciclient "github.com/dashpay/tenderdash/abci/client" + "github.com/dashpay/tenderdash/internal/eventbus" + "github.com/dashpay/tenderdash/internal/proxy" + sm "github.com/dashpay/tenderdash/internal/state" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/types" ) var crc32c = crc32.MakeTable(crc32.Castagnoli) diff --git a/internal/consensus/replay_file.go b/internal/consensus/replay_file.go index eacf22081c..0c13b4dd27 100644 --- a/internal/consensus/replay_file.go +++ b/internal/consensus/replay_file.go @@ -12,14 +12,14 @@ import ( dbm "github.com/tendermint/tm-db" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/internal/eventbus" - "github.com/tendermint/tendermint/internal/proxy" - tmpubsub "github.com/tendermint/tendermint/internal/pubsub" - sm "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/internal/store" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/internal/eventbus" + "github.com/dashpay/tenderdash/internal/proxy" + tmpubsub "github.com/dashpay/tenderdash/internal/pubsub" + sm "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/internal/store" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/types" ) const ( diff --git a/internal/consensus/replay_stubs.go b/internal/consensus/replay_stubs.go index d2188a4388..e02fc9e728 100644 --- a/internal/consensus/replay_stubs.go +++ b/internal/consensus/replay_stubs.go @@ -3,14 +3,14 @@ package consensus import ( "context" - abciclient "github.com/tendermint/tendermint/abci/client" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/internal/libs/clist" - "github.com/tendermint/tendermint/internal/mempool" - "github.com/tendermint/tendermint/internal/proxy" - "github.com/tendermint/tendermint/libs/log" - tmstate "github.com/tendermint/tendermint/proto/tendermint/state" - "github.com/tendermint/tendermint/types" + abciclient "github.com/dashpay/tenderdash/abci/client" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/internal/libs/clist" + "github.com/dashpay/tenderdash/internal/mempool" + "github.com/dashpay/tenderdash/internal/proxy" + "github.com/dashpay/tenderdash/libs/log" + tmstate "github.com/dashpay/tenderdash/proto/tendermint/state" + "github.com/dashpay/tenderdash/types" ) //----------------------------------------------------------------------------- diff --git a/internal/consensus/replay_test.go b/internal/consensus/replay_test.go index ceb4480f6f..a82fe66731 100644 --- a/internal/consensus/replay_test.go +++ b/internal/consensus/replay_test.go @@ -19,25 +19,25 @@ import ( "github.com/stretchr/testify/require" dbm "github.com/tendermint/tm-db" - abciclient "github.com/tendermint/tendermint/abci/client" - "github.com/tendermint/tendermint/abci/example/kvstore" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/dash" - "github.com/tendermint/tendermint/internal/eventbus" - "github.com/tendermint/tendermint/internal/mempool" - "github.com/tendermint/tendermint/internal/proxy" - "github.com/tendermint/tendermint/internal/pubsub" - sm "github.com/tendermint/tendermint/internal/state" - sf "github.com/tendermint/tendermint/internal/state/test/factory" - "github.com/tendermint/tendermint/internal/store" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/libs/log" - tmrand "github.com/tendermint/tendermint/libs/rand" - "github.com/tendermint/tendermint/privval" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + abciclient "github.com/dashpay/tenderdash/abci/client" + "github.com/dashpay/tenderdash/abci/example/kvstore" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/dash" + "github.com/dashpay/tenderdash/internal/eventbus" + "github.com/dashpay/tenderdash/internal/mempool" + "github.com/dashpay/tenderdash/internal/proxy" + "github.com/dashpay/tenderdash/internal/pubsub" + sm "github.com/dashpay/tenderdash/internal/state" + sf "github.com/dashpay/tenderdash/internal/state/test/factory" + "github.com/dashpay/tenderdash/internal/store" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/libs/log" + tmrand "github.com/dashpay/tenderdash/libs/rand" + "github.com/dashpay/tenderdash/privval" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) // These tests ensure we can always recover from failure at any part of the consensus process. diff --git a/internal/consensus/replayer.go b/internal/consensus/replayer.go index 5e796a2b21..1ccdad0e0d 100644 --- a/internal/consensus/replayer.go +++ b/internal/consensus/replayer.go @@ -4,15 +4,15 @@ import ( "context" "fmt" - abciclient "github.com/tendermint/tendermint/abci/client" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/merkle" - "github.com/tendermint/tendermint/internal/eventbus" - sm "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/libs/log" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + abciclient "github.com/dashpay/tenderdash/abci/client" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/merkle" + "github.com/dashpay/tenderdash/internal/eventbus" + sm "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/libs/log" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) // NewReplayBlockExecutor returns a new instance of state.BlockExecutor configured for BlockReplayer diff --git a/internal/consensus/replayer_test.go b/internal/consensus/replayer_test.go index 0606c3b0ef..06605849aa 100644 --- a/internal/consensus/replayer_test.go +++ b/internal/consensus/replayer_test.go @@ -8,17 +8,17 @@ import ( "github.com/stretchr/testify/require" dbm "github.com/tendermint/tm-db" - abciclient "github.com/tendermint/tendermint/abci/client" - "github.com/tendermint/tendermint/abci/example/kvstore" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/internal/eventbus" - "github.com/tendermint/tendermint/internal/proxy" - sm "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/internal/store" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/libs/log" - tmtypes "github.com/tendermint/tendermint/types" + abciclient "github.com/dashpay/tenderdash/abci/client" + "github.com/dashpay/tenderdash/abci/example/kvstore" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/internal/eventbus" + "github.com/dashpay/tenderdash/internal/proxy" + sm "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/internal/store" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/libs/log" + tmtypes "github.com/dashpay/tenderdash/types" ) func TestBlockReplayerReplay(t *testing.T) { diff --git a/internal/consensus/round_scheduler.go b/internal/consensus/round_scheduler.go index 984c245304..f26732abb2 100644 --- a/internal/consensus/round_scheduler.go +++ b/internal/consensus/round_scheduler.go @@ -3,8 +3,8 @@ package consensus import ( "time" - cstypes "github.com/tendermint/tendermint/internal/consensus/types" - tmtime "github.com/tendermint/tendermint/libs/time" + cstypes "github.com/dashpay/tenderdash/internal/consensus/types" + tmtime "github.com/dashpay/tenderdash/libs/time" ) type roundScheduler struct { diff --git a/internal/consensus/state.go b/internal/consensus/state.go index 0fa433b01d..81e1036756 100644 --- a/internal/consensus/state.go +++ b/internal/consensus/state.go @@ -11,18 +11,18 @@ import ( sync "github.com/sasha-s/go-deadlock" - "github.com/tendermint/tendermint/config" - cstypes "github.com/tendermint/tendermint/internal/consensus/types" - "github.com/tendermint/tendermint/internal/eventbus" - "github.com/tendermint/tendermint/internal/jsontypes" - "github.com/tendermint/tendermint/internal/libs/autofile" - sm "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/libs/eventemitter" - "github.com/tendermint/tendermint/libs/log" - tmos "github.com/tendermint/tendermint/libs/os" - "github.com/tendermint/tendermint/libs/service" - tmtime "github.com/tendermint/tendermint/libs/time" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/config" + cstypes "github.com/dashpay/tenderdash/internal/consensus/types" + "github.com/dashpay/tenderdash/internal/eventbus" + "github.com/dashpay/tenderdash/internal/jsontypes" + "github.com/dashpay/tenderdash/internal/libs/autofile" + sm "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/libs/eventemitter" + "github.com/dashpay/tenderdash/libs/log" + tmos "github.com/dashpay/tenderdash/libs/os" + "github.com/dashpay/tenderdash/libs/service" + tmtime "github.com/dashpay/tenderdash/libs/time" + "github.com/dashpay/tenderdash/types" ) // consensus events diff --git a/internal/consensus/state_add_commit.go b/internal/consensus/state_add_commit.go index fb5180009c..17981f909f 100644 --- a/internal/consensus/state_add_commit.go +++ b/internal/consensus/state_add_commit.go @@ -4,9 +4,9 @@ import ( "context" "fmt" - cstypes "github.com/tendermint/tendermint/internal/consensus/types" - tmtime "github.com/tendermint/tendermint/libs/time" - "github.com/tendermint/tendermint/types" + cstypes "github.com/dashpay/tenderdash/internal/consensus/types" + tmtime "github.com/dashpay/tenderdash/libs/time" + "github.com/dashpay/tenderdash/types" ) type AddCommitEvent struct { diff --git a/internal/consensus/state_add_prop_block.go b/internal/consensus/state_add_prop_block.go index 945282ec03..b123ba9cb9 100644 --- a/internal/consensus/state_add_prop_block.go +++ b/internal/consensus/state_add_prop_block.go @@ -8,11 +8,11 @@ import ( "github.com/gogo/protobuf/proto" - cstypes "github.com/tendermint/tendermint/internal/consensus/types" - tmstrings "github.com/tendermint/tendermint/internal/libs/strings" - "github.com/tendermint/tendermint/libs/log" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + cstypes "github.com/dashpay/tenderdash/internal/consensus/types" + tmstrings "github.com/dashpay/tenderdash/internal/libs/strings" + "github.com/dashpay/tenderdash/libs/log" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) type AddProposalBlockPartEvent struct { diff --git a/internal/consensus/state_add_vote.go b/internal/consensus/state_add_vote.go index c7e55ab0ac..dd835c9ff8 100644 --- a/internal/consensus/state_add_vote.go +++ b/internal/consensus/state_add_vote.go @@ -4,13 +4,13 @@ import ( "context" "errors" - cstypes "github.com/tendermint/tendermint/internal/consensus/types" - tmstrings "github.com/tendermint/tendermint/internal/libs/strings" - sm "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/libs/eventemitter" - "github.com/tendermint/tendermint/libs/log" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + cstypes "github.com/dashpay/tenderdash/internal/consensus/types" + tmstrings "github.com/dashpay/tenderdash/internal/libs/strings" + sm "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/libs/eventemitter" + "github.com/dashpay/tenderdash/libs/log" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) type ( diff --git a/internal/consensus/state_add_vote_test.go b/internal/consensus/state_add_vote_test.go index 1c1b14a1ed..c1caff2734 100644 --- a/internal/consensus/state_add_vote_test.go +++ b/internal/consensus/state_add_vote_test.go @@ -8,17 +8,17 @@ import ( "github.com/stretchr/testify/require" "github.com/stretchr/testify/suite" - "github.com/tendermint/tendermint/types" - cstypes "github.com/tendermint/tendermint/internal/consensus/types" - "github.com/tendermint/tendermint/internal/eventbus" - sm "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/internal/test/factory" - tmrequire "github.com/tendermint/tendermint/internal/test/require" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/libs/eventemitter" - "github.com/tendermint/tendermint/libs/log" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + cstypes "github.com/dashpay/tenderdash/internal/consensus/types" + "github.com/dashpay/tenderdash/internal/eventbus" + sm "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/internal/test/factory" + tmrequire "github.com/dashpay/tenderdash/internal/test/require" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/libs/eventemitter" + "github.com/dashpay/tenderdash/libs/log" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) type AddVoteTestSuite struct { diff --git a/internal/consensus/state_apply_commit.go b/internal/consensus/state_apply_commit.go index 68c104cf23..4fa2d9ad61 100644 --- a/internal/consensus/state_apply_commit.go +++ b/internal/consensus/state_apply_commit.go @@ -4,9 +4,9 @@ import ( "context" "fmt" - sm "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/types" + sm "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/types" ) type ApplyCommitEvent struct { diff --git a/internal/consensus/state_controller.go b/internal/consensus/state_controller.go index 62b717f312..6a303d91ac 100644 --- a/internal/consensus/state_controller.go +++ b/internal/consensus/state_controller.go @@ -4,8 +4,8 @@ import ( "context" "errors" - cstypes "github.com/tendermint/tendermint/internal/consensus/types" - "github.com/tendermint/tendermint/libs/eventemitter" + cstypes "github.com/dashpay/tenderdash/internal/consensus/types" + "github.com/dashpay/tenderdash/libs/eventemitter" ) // EventType is an integer representation of a transition event diff --git a/internal/consensus/state_data.go b/internal/consensus/state_data.go index e4591b70de..589f1bec37 100644 --- a/internal/consensus/state_data.go +++ b/internal/consensus/state_data.go @@ -7,13 +7,13 @@ import ( "sync" "time" - "github.com/tendermint/tendermint/config" - cstypes "github.com/tendermint/tendermint/internal/consensus/types" - sm "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/libs/eventemitter" - "github.com/tendermint/tendermint/libs/log" - tmtime "github.com/tendermint/tendermint/libs/time" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/config" + cstypes "github.com/dashpay/tenderdash/internal/consensus/types" + sm "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/libs/eventemitter" + "github.com/dashpay/tenderdash/libs/log" + tmtime "github.com/dashpay/tenderdash/libs/time" + "github.com/dashpay/tenderdash/types" ) var ( diff --git a/internal/consensus/state_data_test.go b/internal/consensus/state_data_test.go index 55678f4d35..09824c9bfa 100644 --- a/internal/consensus/state_data_test.go +++ b/internal/consensus/state_data_test.go @@ -5,11 +5,11 @@ import ( "testing" "time" - cstypes "github.com/tendermint/tendermint/internal/consensus/types" - sm "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/internal/test/factory" - tmrequire "github.com/tendermint/tendermint/internal/test/require" - "github.com/tendermint/tendermint/types" + cstypes "github.com/dashpay/tenderdash/internal/consensus/types" + sm "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/internal/test/factory" + tmrequire "github.com/dashpay/tenderdash/internal/test/require" + "github.com/dashpay/tenderdash/types" ) func TestIsValidForPrevote(t *testing.T) { diff --git a/internal/consensus/state_enter_commit.go b/internal/consensus/state_enter_commit.go index fc8daa194b..d210b6377e 100644 --- a/internal/consensus/state_enter_commit.go +++ b/internal/consensus/state_enter_commit.go @@ -3,9 +3,9 @@ package consensus import ( "context" - cstypes "github.com/tendermint/tendermint/internal/consensus/types" - "github.com/tendermint/tendermint/libs/log" - tmtime "github.com/tendermint/tendermint/libs/time" + cstypes "github.com/dashpay/tenderdash/internal/consensus/types" + "github.com/dashpay/tenderdash/libs/log" + tmtime "github.com/dashpay/tenderdash/libs/time" ) type EnterCommitEvent struct { diff --git a/internal/consensus/state_enter_new_round.go b/internal/consensus/state_enter_new_round.go index f0049b6884..dcc23afeb8 100644 --- a/internal/consensus/state_enter_new_round.go +++ b/internal/consensus/state_enter_new_round.go @@ -4,10 +4,10 @@ import ( "context" "time" - "github.com/tendermint/tendermint/config" - cstypes "github.com/tendermint/tendermint/internal/consensus/types" - "github.com/tendermint/tendermint/libs/log" - tmtime "github.com/tendermint/tendermint/libs/time" + "github.com/dashpay/tenderdash/config" + cstypes "github.com/dashpay/tenderdash/internal/consensus/types" + "github.com/dashpay/tenderdash/libs/log" + tmtime "github.com/dashpay/tenderdash/libs/time" ) // EnterNewRoundEvent ... diff --git a/internal/consensus/state_enter_precommit.go b/internal/consensus/state_enter_precommit.go index 75c306e811..8834850666 100644 --- a/internal/consensus/state_enter_precommit.go +++ b/internal/consensus/state_enter_precommit.go @@ -4,10 +4,10 @@ import ( "context" "fmt" - cstypes "github.com/tendermint/tendermint/internal/consensus/types" - "github.com/tendermint/tendermint/libs/log" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + cstypes "github.com/dashpay/tenderdash/internal/consensus/types" + "github.com/dashpay/tenderdash/libs/log" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) type EnterPrecommitEvent struct { diff --git a/internal/consensus/state_enter_prevote.go b/internal/consensus/state_enter_prevote.go index cc1a0dd1ac..e57559e093 100644 --- a/internal/consensus/state_enter_prevote.go +++ b/internal/consensus/state_enter_prevote.go @@ -3,8 +3,8 @@ package consensus import ( "context" - cstypes "github.com/tendermint/tendermint/internal/consensus/types" - "github.com/tendermint/tendermint/libs/log" + cstypes "github.com/dashpay/tenderdash/internal/consensus/types" + "github.com/dashpay/tenderdash/libs/log" ) type EnterPrevoteEvent struct { diff --git a/internal/consensus/state_enter_propose.go b/internal/consensus/state_enter_propose.go index 5c5e15df17..5def6c122c 100644 --- a/internal/consensus/state_enter_propose.go +++ b/internal/consensus/state_enter_propose.go @@ -3,10 +3,10 @@ package consensus import ( "context" - "github.com/tendermint/tendermint/dash" - cstypes "github.com/tendermint/tendermint/internal/consensus/types" - "github.com/tendermint/tendermint/libs/log" - tmtime "github.com/tendermint/tendermint/libs/time" + "github.com/dashpay/tenderdash/dash" + cstypes "github.com/dashpay/tenderdash/internal/consensus/types" + "github.com/dashpay/tenderdash/libs/log" + tmtime "github.com/dashpay/tenderdash/libs/time" ) type EnterProposeEvent struct { diff --git a/internal/consensus/state_enter_wait.go b/internal/consensus/state_enter_wait.go index 95951d47be..c938b89742 100644 --- a/internal/consensus/state_enter_wait.go +++ b/internal/consensus/state_enter_wait.go @@ -4,8 +4,8 @@ import ( "context" "fmt" - cstypes "github.com/tendermint/tendermint/internal/consensus/types" - "github.com/tendermint/tendermint/libs/log" + cstypes "github.com/dashpay/tenderdash/internal/consensus/types" + "github.com/dashpay/tenderdash/libs/log" ) type EnterPrecommitWaitEvent struct { diff --git a/internal/consensus/state_prevoter.go b/internal/consensus/state_prevoter.go index b68f1c2e05..c9ac3e686a 100644 --- a/internal/consensus/state_prevoter.go +++ b/internal/consensus/state_prevoter.go @@ -6,12 +6,12 @@ import ( "fmt" "time" - cstypes "github.com/tendermint/tendermint/internal/consensus/types" - sm "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/libs/log" - tmtime "github.com/tendermint/tendermint/libs/time" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + cstypes "github.com/dashpay/tenderdash/internal/consensus/types" + sm "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/libs/log" + tmtime "github.com/dashpay/tenderdash/libs/time" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) type Prevoter interface { diff --git a/internal/consensus/state_prevoter_test.go b/internal/consensus/state_prevoter_test.go index 091f81d6e5..efd8f7ee07 100644 --- a/internal/consensus/state_prevoter_test.go +++ b/internal/consensus/state_prevoter_test.go @@ -9,15 +9,15 @@ import ( "github.com/stretchr/testify/mock" "github.com/stretchr/testify/suite" - cstypes "github.com/tendermint/tendermint/internal/consensus/types" - sm "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/internal/state/mocks" - "github.com/tendermint/tendermint/internal/test/factory" - tmrequire "github.com/tendermint/tendermint/internal/test/require" - "github.com/tendermint/tendermint/libs/log" - tmtime "github.com/tendermint/tendermint/libs/time" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + cstypes "github.com/dashpay/tenderdash/internal/consensus/types" + sm "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/internal/state/mocks" + "github.com/dashpay/tenderdash/internal/test/factory" + tmrequire "github.com/dashpay/tenderdash/internal/test/require" + "github.com/dashpay/tenderdash/libs/log" + tmtime "github.com/dashpay/tenderdash/libs/time" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) type PrevoterTestSuite struct { diff --git a/internal/consensus/state_proposaler.go b/internal/consensus/state_proposaler.go index 8c8b40cbfb..69db2a01b3 100644 --- a/internal/consensus/state_proposaler.go +++ b/internal/consensus/state_proposaler.go @@ -5,12 +5,12 @@ import ( "fmt" "time" - cstypes "github.com/tendermint/tendermint/internal/consensus/types" - sm "github.com/tendermint/tendermint/internal/state" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/libs/eventemitter" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/types" + cstypes "github.com/dashpay/tenderdash/internal/consensus/types" + sm "github.com/dashpay/tenderdash/internal/state" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/libs/eventemitter" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/types" ) // Proposaler is used to set and create a proposal diff --git a/internal/consensus/state_proposaler_test.go b/internal/consensus/state_proposaler_test.go index e9c4e58cde..9d98ddf956 100644 --- a/internal/consensus/state_proposaler_test.go +++ b/internal/consensus/state_proposaler_test.go @@ -9,14 +9,14 @@ import ( "github.com/stretchr/testify/mock" "github.com/stretchr/testify/suite" - cstypes "github.com/tendermint/tendermint/internal/consensus/types" - sm "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/internal/state/mocks" - "github.com/tendermint/tendermint/internal/test/factory" - tmrequire "github.com/tendermint/tendermint/internal/test/require" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/types" + cstypes "github.com/dashpay/tenderdash/internal/consensus/types" + sm "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/internal/state/mocks" + "github.com/dashpay/tenderdash/internal/test/factory" + tmrequire "github.com/dashpay/tenderdash/internal/test/require" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/types" ) type ProposalerTestSuite struct { diff --git a/internal/consensus/state_test.go b/internal/consensus/state_test.go index 9800fb6481..2c3587b114 100644 --- a/internal/consensus/state_test.go +++ b/internal/consensus/state_test.go @@ -12,25 +12,25 @@ import ( "github.com/stretchr/testify/mock" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/abci/example/kvstore" - abci "github.com/tendermint/tendermint/abci/types" - abcimocks "github.com/tendermint/tendermint/abci/types/mocks" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/dash" - cstypes "github.com/tendermint/tendermint/internal/consensus/types" - "github.com/tendermint/tendermint/internal/eventbus" - "github.com/tendermint/tendermint/internal/mempool" - tmpubsub "github.com/tendermint/tendermint/internal/pubsub" - tmquery "github.com/tendermint/tendermint/internal/pubsub/query" - sf "github.com/tendermint/tendermint/internal/state/test/factory" - "github.com/tendermint/tendermint/internal/test/factory" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - tmevents "github.com/tendermint/tendermint/libs/eventemitter" - "github.com/tendermint/tendermint/libs/log" - tmrand "github.com/tendermint/tendermint/libs/rand" - tmtime "github.com/tendermint/tendermint/libs/time" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/abci/example/kvstore" + abci "github.com/dashpay/tenderdash/abci/types" + abcimocks "github.com/dashpay/tenderdash/abci/types/mocks" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/dash" + cstypes "github.com/dashpay/tenderdash/internal/consensus/types" + "github.com/dashpay/tenderdash/internal/eventbus" + "github.com/dashpay/tenderdash/internal/mempool" + tmpubsub "github.com/dashpay/tenderdash/internal/pubsub" + tmquery "github.com/dashpay/tenderdash/internal/pubsub/query" + sf "github.com/dashpay/tenderdash/internal/state/test/factory" + "github.com/dashpay/tenderdash/internal/test/factory" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + tmevents "github.com/dashpay/tenderdash/libs/eventemitter" + "github.com/dashpay/tenderdash/libs/log" + tmrand "github.com/dashpay/tenderdash/libs/rand" + tmtime "github.com/dashpay/tenderdash/libs/time" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) /* diff --git a/internal/consensus/state_try_add_commit.go b/internal/consensus/state_try_add_commit.go index 4fb7474677..b141c78dd6 100644 --- a/internal/consensus/state_try_add_commit.go +++ b/internal/consensus/state_try_add_commit.go @@ -4,10 +4,10 @@ import ( "context" "fmt" - "github.com/tendermint/tendermint/dash" - cstypes "github.com/tendermint/tendermint/internal/consensus/types" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/dash" + cstypes "github.com/dashpay/tenderdash/internal/consensus/types" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/types" ) type TryAddCommitEvent struct { diff --git a/internal/consensus/state_try_finalize_commit.go b/internal/consensus/state_try_finalize_commit.go index bdd1097cf8..ea449d6b20 100644 --- a/internal/consensus/state_try_finalize_commit.go +++ b/internal/consensus/state_try_finalize_commit.go @@ -4,10 +4,10 @@ import ( "context" "fmt" - cstypes "github.com/tendermint/tendermint/internal/consensus/types" - tmstrings "github.com/tendermint/tendermint/internal/libs/strings" - sm "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/libs/log" + cstypes "github.com/dashpay/tenderdash/internal/consensus/types" + tmstrings "github.com/dashpay/tenderdash/internal/libs/strings" + sm "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/libs/log" ) type TryFinalizeCommitEvent struct { diff --git a/internal/consensus/ticker.go b/internal/consensus/ticker.go index 2594f96aaa..3e8f5eb9a9 100644 --- a/internal/consensus/ticker.go +++ b/internal/consensus/ticker.go @@ -4,8 +4,8 @@ import ( "context" "time" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/libs/service" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/libs/service" ) var ( diff --git a/internal/consensus/types/height_vote_set.go b/internal/consensus/types/height_vote_set.go index 34112ac847..2730f41c42 100644 --- a/internal/consensus/types/height_vote_set.go +++ b/internal/consensus/types/height_vote_set.go @@ -8,9 +8,9 @@ import ( sync "github.com/sasha-s/go-deadlock" - tmmath "github.com/tendermint/tendermint/libs/math" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + tmmath "github.com/dashpay/tenderdash/libs/math" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) type RoundVoteSet struct { diff --git a/internal/consensus/types/height_vote_set_test.go b/internal/consensus/types/height_vote_set_test.go index 4e43a9599e..19223279b3 100644 --- a/internal/consensus/types/height_vote_set_test.go +++ b/internal/consensus/types/height_vote_set_test.go @@ -7,11 +7,11 @@ import ( "github.com/dashpay/dashd-go/btcjson" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/crypto" - tmrand "github.com/tendermint/tendermint/libs/rand" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/crypto" + tmrand "github.com/dashpay/tenderdash/libs/rand" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) func TestPeerCatchupRounds(t *testing.T) { diff --git a/internal/consensus/types/peer_round_state.go b/internal/consensus/types/peer_round_state.go index 1de9c8d7b2..e5e2e3e6fb 100644 --- a/internal/consensus/types/peer_round_state.go +++ b/internal/consensus/types/peer_round_state.go @@ -6,8 +6,8 @@ import ( "github.com/rs/zerolog" - "github.com/tendermint/tendermint/libs/bits" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/libs/bits" + "github.com/dashpay/tenderdash/types" ) //----------------------------------------------------------------------------- diff --git a/internal/consensus/types/peer_round_state_test.go b/internal/consensus/types/peer_round_state_test.go index 6d76750a76..cbd59d6d45 100644 --- a/internal/consensus/types/peer_round_state_test.go +++ b/internal/consensus/types/peer_round_state_test.go @@ -5,7 +5,7 @@ import ( "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/libs/bits" + "github.com/dashpay/tenderdash/libs/bits" ) func TestCopy(t *testing.T) { diff --git a/internal/consensus/types/round_state.go b/internal/consensus/types/round_state.go index 1eef19644e..a1150b2741 100644 --- a/internal/consensus/types/round_state.go +++ b/internal/consensus/types/round_state.go @@ -6,10 +6,10 @@ import ( "strconv" "time" - sm "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/libs/bytes" - tmcons "github.com/tendermint/tendermint/proto/tendermint/consensus" - "github.com/tendermint/tendermint/types" + sm "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/libs/bytes" + tmcons "github.com/dashpay/tenderdash/proto/tendermint/consensus" + "github.com/dashpay/tenderdash/types" ) //----------------------------------------------------------------------------- diff --git a/internal/consensus/types/types.go b/internal/consensus/types/types.go index b2bd40fc8e..55dbb373db 100644 --- a/internal/consensus/types/types.go +++ b/internal/consensus/types/types.go @@ -4,7 +4,7 @@ import ( "context" "time" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/types" ) // ProposalSetter updates a proposal for the round if all conditions are met diff --git a/internal/consensus/vote_signer.go b/internal/consensus/vote_signer.go index 727dd405ac..54b0877d09 100644 --- a/internal/consensus/vote_signer.go +++ b/internal/consensus/vote_signer.go @@ -4,11 +4,11 @@ import ( "context" "time" - sm "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/libs/eventemitter" - "github.com/tendermint/tendermint/libs/log" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + sm "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/libs/eventemitter" + "github.com/dashpay/tenderdash/libs/log" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) // voteSigner provides the ability to sign and add a vote diff --git a/internal/consensus/vote_signer_test.go b/internal/consensus/vote_signer_test.go index 43ca8582cd..c9b2369691 100644 --- a/internal/consensus/vote_signer_test.go +++ b/internal/consensus/vote_signer_test.go @@ -10,14 +10,14 @@ import ( bls "github.com/dashpay/bls-signatures/go-bindings" - cstypes "github.com/tendermint/tendermint/internal/consensus/types" - sm "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/internal/state/mocks" - "github.com/tendermint/tendermint/internal/test/factory" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/libs/log" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + cstypes "github.com/dashpay/tenderdash/internal/consensus/types" + sm "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/internal/state/mocks" + "github.com/dashpay/tenderdash/internal/test/factory" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/libs/log" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) func TestVoteSigner_signAddVote(t *testing.T) { diff --git a/internal/consensus/wal.go b/internal/consensus/wal.go index 94f9483c74..b615058bb1 100644 --- a/internal/consensus/wal.go +++ b/internal/consensus/wal.go @@ -12,13 +12,13 @@ import ( "github.com/gogo/protobuf/proto" - "github.com/tendermint/tendermint/internal/jsontypes" - auto "github.com/tendermint/tendermint/internal/libs/autofile" - "github.com/tendermint/tendermint/libs/log" - tmos "github.com/tendermint/tendermint/libs/os" - "github.com/tendermint/tendermint/libs/service" - tmtime "github.com/tendermint/tendermint/libs/time" - tmcons "github.com/tendermint/tendermint/proto/tendermint/consensus" + "github.com/dashpay/tenderdash/internal/jsontypes" + auto "github.com/dashpay/tenderdash/internal/libs/autofile" + "github.com/dashpay/tenderdash/libs/log" + tmos "github.com/dashpay/tenderdash/libs/os" + "github.com/dashpay/tenderdash/libs/service" + tmtime "github.com/dashpay/tenderdash/libs/time" + tmcons "github.com/dashpay/tenderdash/proto/tendermint/consensus" ) const ( diff --git a/internal/consensus/wal_generator_test.go b/internal/consensus/wal_generator_test.go index 8d73ba4652..15a1a9d9c6 100644 --- a/internal/consensus/wal_generator_test.go +++ b/internal/consensus/wal_generator_test.go @@ -11,9 +11,9 @@ import ( "testing" "time" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/libs/log" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/libs/log" ) // WALGenerateNBlocks generates a consensus WAL. It does this by diff --git a/internal/consensus/wal_iter.go b/internal/consensus/wal_iter.go index bbe45aa769..5e52b11e87 100644 --- a/internal/consensus/wal_iter.go +++ b/internal/consensus/wal_iter.go @@ -4,8 +4,8 @@ import ( "fmt" "io" - cstypes "github.com/tendermint/tendermint/internal/consensus/types" - "github.com/tendermint/tendermint/types" + cstypes "github.com/dashpay/tenderdash/internal/consensus/types" + "github.com/dashpay/tenderdash/types" ) type walIter interface { diff --git a/internal/consensus/wal_iter_test.go b/internal/consensus/wal_iter_test.go index d6550c26ba..74e7d05fa5 100644 --- a/internal/consensus/wal_iter_test.go +++ b/internal/consensus/wal_iter_test.go @@ -9,9 +9,9 @@ import ( "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/internal/consensus/types" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - tmtypes "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/internal/consensus/types" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + tmtypes "github.com/dashpay/tenderdash/types" ) func TestWalIter_Next(t *testing.T) { diff --git a/internal/consensus/wal_test.go b/internal/consensus/wal_test.go index 77fb3f7a3f..cdc703da21 100644 --- a/internal/consensus/wal_test.go +++ b/internal/consensus/wal_test.go @@ -13,13 +13,13 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/merkle" - "github.com/tendermint/tendermint/internal/consensus/types" - "github.com/tendermint/tendermint/internal/libs/autofile" - "github.com/tendermint/tendermint/libs/log" - tmtime "github.com/tendermint/tendermint/libs/time" - tmtypes "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/merkle" + "github.com/dashpay/tenderdash/internal/consensus/types" + "github.com/dashpay/tenderdash/internal/libs/autofile" + "github.com/dashpay/tenderdash/libs/log" + tmtime "github.com/dashpay/tenderdash/libs/time" + tmtypes "github.com/dashpay/tenderdash/types" ) const walTestFlushInterval = 100 * time.Millisecond diff --git a/internal/eventbus/event_bus.go b/internal/eventbus/event_bus.go index 0743b04b09..05dbdcbc82 100644 --- a/internal/eventbus/event_bus.go +++ b/internal/eventbus/event_bus.go @@ -5,12 +5,12 @@ import ( "fmt" "strings" - abci "github.com/tendermint/tendermint/abci/types" - tmpubsub "github.com/tendermint/tendermint/internal/pubsub" - tmquery "github.com/tendermint/tendermint/internal/pubsub/query" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/libs/service" - "github.com/tendermint/tendermint/types" + abci "github.com/dashpay/tenderdash/abci/types" + tmpubsub "github.com/dashpay/tenderdash/internal/pubsub" + tmquery "github.com/dashpay/tenderdash/internal/pubsub/query" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/libs/service" + "github.com/dashpay/tenderdash/types" ) // Subscription is a proxy interface for a pubsub Subscription. diff --git a/internal/eventbus/event_bus_test.go b/internal/eventbus/event_bus_test.go index d1899d4019..c0d5b3bb79 100644 --- a/internal/eventbus/event_bus_test.go +++ b/internal/eventbus/event_bus_test.go @@ -11,14 +11,13 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/crypto" - - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/internal/eventbus" - tmpubsub "github.com/tendermint/tendermint/internal/pubsub" - tmquery "github.com/tendermint/tendermint/internal/pubsub/query" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/types" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/internal/eventbus" + tmpubsub "github.com/dashpay/tenderdash/internal/pubsub" + tmquery "github.com/dashpay/tenderdash/internal/pubsub/query" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/types" ) func TestEventBusPublishEventTx(t *testing.T) { diff --git a/internal/eventlog/cursor/cursor_test.go b/internal/eventlog/cursor/cursor_test.go index 31701ddf79..fc3947d7a1 100644 --- a/internal/eventlog/cursor/cursor_test.go +++ b/internal/eventlog/cursor/cursor_test.go @@ -5,7 +5,7 @@ import ( "testing" "time" - "github.com/tendermint/tendermint/internal/eventlog/cursor" + "github.com/dashpay/tenderdash/internal/eventlog/cursor" ) func mustParse(t *testing.T, s string) cursor.Cursor { diff --git a/internal/eventlog/eventlog.go b/internal/eventlog/eventlog.go index eb8f08b7ff..a778186e77 100644 --- a/internal/eventlog/eventlog.go +++ b/internal/eventlog/eventlog.go @@ -13,8 +13,8 @@ import ( sync "github.com/sasha-s/go-deadlock" - "github.com/tendermint/tendermint/internal/eventlog/cursor" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/internal/eventlog/cursor" + "github.com/dashpay/tenderdash/types" ) // A Log is a reverse time-ordered log of events in a sliding window of time diff --git a/internal/eventlog/eventlog_test.go b/internal/eventlog/eventlog_test.go index c90fce7ed0..8344b1ebaf 100644 --- a/internal/eventlog/eventlog_test.go +++ b/internal/eventlog/eventlog_test.go @@ -14,9 +14,9 @@ import ( "github.com/fortytw2/leaktest" "github.com/google/go-cmp/cmp" - "github.com/tendermint/tendermint/internal/eventlog" - "github.com/tendermint/tendermint/internal/eventlog/cursor" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/internal/eventlog" + "github.com/dashpay/tenderdash/internal/eventlog/cursor" + "github.com/dashpay/tenderdash/types" ) // fakeTime is a fake clock to use to control cursor assignment. diff --git a/internal/eventlog/item.go b/internal/eventlog/item.go index f1f43b46d0..8d834b289e 100644 --- a/internal/eventlog/item.go +++ b/internal/eventlog/item.go @@ -3,9 +3,9 @@ package eventlog import ( "strings" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/internal/eventlog/cursor" - "github.com/tendermint/tendermint/types" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/internal/eventlog/cursor" + "github.com/dashpay/tenderdash/types" ) // Cached constants for the pieces of reserved event names. diff --git a/internal/evidence/mocks/block_store.go b/internal/evidence/mocks/block_store.go index bb8d8e1a4c..344c2f7992 100644 --- a/internal/evidence/mocks/block_store.go +++ b/internal/evidence/mocks/block_store.go @@ -3,8 +3,8 @@ package mocks import ( + types "github.com/dashpay/tenderdash/types" mock "github.com/stretchr/testify/mock" - types "github.com/tendermint/tendermint/types" ) // BlockStore is an autogenerated mock type for the BlockStore type diff --git a/internal/evidence/pool.go b/internal/evidence/pool.go index 117c002819..bf8f607ffc 100644 --- a/internal/evidence/pool.go +++ b/internal/evidence/pool.go @@ -15,12 +15,12 @@ import ( "github.com/google/orderedcode" dbm "github.com/tendermint/tm-db" - "github.com/tendermint/tendermint/internal/eventbus" - clist "github.com/tendermint/tendermint/internal/libs/clist" - sm "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/libs/log" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/internal/eventbus" + clist "github.com/dashpay/tenderdash/internal/libs/clist" + sm "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/libs/log" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) // key prefixes diff --git a/internal/evidence/pool_test.go b/internal/evidence/pool_test.go index 378be22e67..1669a47146 100644 --- a/internal/evidence/pool_test.go +++ b/internal/evidence/pool_test.go @@ -11,18 +11,18 @@ import ( "github.com/stretchr/testify/require" dbm "github.com/tendermint/tm-db" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/internal/eventbus" - "github.com/tendermint/tendermint/internal/evidence" - "github.com/tendermint/tendermint/internal/evidence/mocks" - tmpubsub "github.com/tendermint/tendermint/internal/pubsub" - tmquery "github.com/tendermint/tendermint/internal/pubsub/query" - sm "github.com/tendermint/tendermint/internal/state" - smmocks "github.com/tendermint/tendermint/internal/state/mocks" - "github.com/tendermint/tendermint/internal/store" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/types" - "github.com/tendermint/tendermint/version" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/internal/eventbus" + "github.com/dashpay/tenderdash/internal/evidence" + "github.com/dashpay/tenderdash/internal/evidence/mocks" + tmpubsub "github.com/dashpay/tenderdash/internal/pubsub" + tmquery "github.com/dashpay/tenderdash/internal/pubsub/query" + sm "github.com/dashpay/tenderdash/internal/state" + smmocks "github.com/dashpay/tenderdash/internal/state/mocks" + "github.com/dashpay/tenderdash/internal/store" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/types" + "github.com/dashpay/tenderdash/version" ) const evidenceChainID = "test_chain" diff --git a/internal/evidence/reactor.go b/internal/evidence/reactor.go index e59b951aeb..79478761f8 100644 --- a/internal/evidence/reactor.go +++ b/internal/evidence/reactor.go @@ -8,12 +8,12 @@ import ( sync "github.com/sasha-s/go-deadlock" - clist "github.com/tendermint/tendermint/internal/libs/clist" - "github.com/tendermint/tendermint/internal/p2p" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/libs/service" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + clist "github.com/dashpay/tenderdash/internal/libs/clist" + "github.com/dashpay/tenderdash/internal/p2p" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/libs/service" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) var _ service.Service = (*Reactor)(nil) diff --git a/internal/evidence/reactor_test.go b/internal/evidence/reactor_test.go index 5c39ff0adf..5fb858511c 100644 --- a/internal/evidence/reactor_test.go +++ b/internal/evidence/reactor_test.go @@ -16,17 +16,17 @@ import ( "github.com/stretchr/testify/require" dbm "github.com/tendermint/tm-db" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/bls12381" - "github.com/tendermint/tendermint/internal/eventbus" - "github.com/tendermint/tendermint/internal/evidence" - "github.com/tendermint/tendermint/internal/evidence/mocks" - "github.com/tendermint/tendermint/internal/p2p" - "github.com/tendermint/tendermint/internal/p2p/p2ptest" - sm "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/libs/log" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/bls12381" + "github.com/dashpay/tenderdash/internal/eventbus" + "github.com/dashpay/tenderdash/internal/evidence" + "github.com/dashpay/tenderdash/internal/evidence/mocks" + "github.com/dashpay/tenderdash/internal/p2p" + "github.com/dashpay/tenderdash/internal/p2p/p2ptest" + sm "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/libs/log" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) var ( diff --git a/internal/evidence/services.go b/internal/evidence/services.go index 473999b217..c71783a273 100644 --- a/internal/evidence/services.go +++ b/internal/evidence/services.go @@ -1,7 +1,7 @@ package evidence import ( - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/types" ) //go:generate ../../scripts/mockery_generate.sh BlockStore diff --git a/internal/evidence/verify.go b/internal/evidence/verify.go index 58c4c4a2d3..8e4d7998dc 100644 --- a/internal/evidence/verify.go +++ b/internal/evidence/verify.go @@ -5,7 +5,7 @@ import ( "context" "fmt" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/types" ) // verify verifies the evidence fully by checking: diff --git a/internal/evidence/verify_test.go b/internal/evidence/verify_test.go index 43c093b05d..39e678f51c 100644 --- a/internal/evidence/verify_test.go +++ b/internal/evidence/verify_test.go @@ -10,15 +10,15 @@ import ( "github.com/stretchr/testify/require" dbm "github.com/tendermint/tm-db" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/internal/eventbus" - "github.com/tendermint/tendermint/internal/evidence" - "github.com/tendermint/tendermint/internal/evidence/mocks" - sm "github.com/tendermint/tendermint/internal/state" - smmocks "github.com/tendermint/tendermint/internal/state/mocks" - "github.com/tendermint/tendermint/libs/log" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/internal/eventbus" + "github.com/dashpay/tenderdash/internal/evidence" + "github.com/dashpay/tenderdash/internal/evidence/mocks" + sm "github.com/dashpay/tenderdash/internal/state" + smmocks "github.com/dashpay/tenderdash/internal/state/mocks" + "github.com/dashpay/tenderdash/libs/log" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) type voteData struct { diff --git a/internal/inspect/inspect.go b/internal/inspect/inspect.go index 573b63f406..4db926bdb3 100644 --- a/internal/inspect/inspect.go +++ b/internal/inspect/inspect.go @@ -7,17 +7,17 @@ import ( "net" "net/http" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/internal/eventbus" - "github.com/tendermint/tendermint/internal/inspect/rpc" - tmstrings "github.com/tendermint/tendermint/internal/libs/strings" - rpccore "github.com/tendermint/tendermint/internal/rpc/core" - "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/internal/state/indexer" - "github.com/tendermint/tendermint/internal/state/indexer/sink" - "github.com/tendermint/tendermint/internal/store" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/internal/eventbus" + "github.com/dashpay/tenderdash/internal/inspect/rpc" + tmstrings "github.com/dashpay/tenderdash/internal/libs/strings" + rpccore "github.com/dashpay/tenderdash/internal/rpc/core" + "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/internal/state/indexer" + "github.com/dashpay/tenderdash/internal/state/indexer/sink" + "github.com/dashpay/tenderdash/internal/store" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/types" "golang.org/x/sync/errgroup" ) diff --git a/internal/inspect/inspect_test.go b/internal/inspect/inspect_test.go index 8159285d24..f5e7fcdb1b 100644 --- a/internal/inspect/inspect_test.go +++ b/internal/inspect/inspect_test.go @@ -16,17 +16,17 @@ import ( "github.com/stretchr/testify/mock" "github.com/stretchr/testify/require" - abcitypes "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/internal/inspect" - "github.com/tendermint/tendermint/internal/pubsub/query" - "github.com/tendermint/tendermint/internal/state/indexer" - indexermocks "github.com/tendermint/tendermint/internal/state/indexer/mocks" - statemocks "github.com/tendermint/tendermint/internal/state/mocks" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/proto/tendermint/state" - httpclient "github.com/tendermint/tendermint/rpc/client/http" - "github.com/tendermint/tendermint/types" + abcitypes "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/internal/inspect" + "github.com/dashpay/tenderdash/internal/pubsub/query" + "github.com/dashpay/tenderdash/internal/state/indexer" + indexermocks "github.com/dashpay/tenderdash/internal/state/indexer/mocks" + statemocks "github.com/dashpay/tenderdash/internal/state/mocks" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/proto/tendermint/state" + httpclient "github.com/dashpay/tenderdash/rpc/client/http" + "github.com/dashpay/tenderdash/types" ) func TestInspectConstructor(t *testing.T) { diff --git a/internal/inspect/rpc/rpc.go b/internal/inspect/rpc/rpc.go index d706168346..16a9dc53c5 100644 --- a/internal/inspect/rpc/rpc.go +++ b/internal/inspect/rpc/rpc.go @@ -7,13 +7,13 @@ import ( "github.com/rs/cors" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/internal/pubsub" - "github.com/tendermint/tendermint/internal/rpc/core" - "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/internal/state/indexer" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/rpc/jsonrpc/server" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/internal/pubsub" + "github.com/dashpay/tenderdash/internal/rpc/core" + "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/internal/state/indexer" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/rpc/jsonrpc/server" ) // Server defines parameters for running an Inspector rpc server. diff --git a/internal/jsontypes/jsontypes_test.go b/internal/jsontypes/jsontypes_test.go index 223e25c343..8e666cebbf 100644 --- a/internal/jsontypes/jsontypes_test.go +++ b/internal/jsontypes/jsontypes_test.go @@ -3,7 +3,7 @@ package jsontypes_test import ( "testing" - "github.com/tendermint/tendermint/internal/jsontypes" + "github.com/dashpay/tenderdash/internal/jsontypes" ) type testPtrType struct { diff --git a/internal/libs/autofile/autofile.go b/internal/libs/autofile/autofile.go index c51480f4d7..7f2dcc0ee8 100644 --- a/internal/libs/autofile/autofile.go +++ b/internal/libs/autofile/autofile.go @@ -12,7 +12,7 @@ import ( sync "github.com/sasha-s/go-deadlock" - tmrand "github.com/tendermint/tendermint/libs/rand" + tmrand "github.com/dashpay/tenderdash/libs/rand" ) /* AutoFile usage diff --git a/internal/libs/autofile/cmd/logjack.go b/internal/libs/autofile/cmd/logjack.go index c3c4665038..d1bacbbb71 100644 --- a/internal/libs/autofile/cmd/logjack.go +++ b/internal/libs/autofile/cmd/logjack.go @@ -12,8 +12,8 @@ import ( "strings" "syscall" - auto "github.com/tendermint/tendermint/internal/libs/autofile" - "github.com/tendermint/tendermint/libs/log" + auto "github.com/dashpay/tenderdash/internal/libs/autofile" + "github.com/dashpay/tenderdash/libs/log" ) const Version = "0.0.1" diff --git a/internal/libs/autofile/group.go b/internal/libs/autofile/group.go index 34097c1953..fbc77fde01 100644 --- a/internal/libs/autofile/group.go +++ b/internal/libs/autofile/group.go @@ -15,8 +15,8 @@ import ( sync "github.com/sasha-s/go-deadlock" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/libs/service" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/libs/service" ) const ( diff --git a/internal/libs/autofile/group_test.go b/internal/libs/autofile/group_test.go index 4f5e346c2a..337e36f729 100644 --- a/internal/libs/autofile/group_test.go +++ b/internal/libs/autofile/group_test.go @@ -10,9 +10,9 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/libs/log" - tmos "github.com/tendermint/tendermint/libs/os" - tmrand "github.com/tendermint/tendermint/libs/rand" + "github.com/dashpay/tenderdash/libs/log" + tmos "github.com/dashpay/tenderdash/libs/os" + tmrand "github.com/dashpay/tenderdash/libs/rand" ) func createTestGroupWithHeadSizeLimit(ctx context.Context, t *testing.T, logger log.Logger, headSizeLimit int64) *Group { diff --git a/internal/libs/clist/clist_property_test.go b/internal/libs/clist/clist_property_test.go index cdc173ee53..b33ab21aa3 100644 --- a/internal/libs/clist/clist_property_test.go +++ b/internal/libs/clist/clist_property_test.go @@ -6,7 +6,7 @@ import ( "github.com/stretchr/testify/require" "pgregory.net/rapid" - "github.com/tendermint/tendermint/internal/libs/clist" + "github.com/dashpay/tenderdash/internal/libs/clist" ) func TestCListProperties(t *testing.T) { diff --git a/internal/libs/confix/confix.go b/internal/libs/confix/confix.go index a9449fa228..872964fcc8 100644 --- a/internal/libs/confix/confix.go +++ b/internal/libs/confix/confix.go @@ -16,7 +16,7 @@ import ( "github.com/creachadair/tomledit/transform" "github.com/spf13/viper" - "github.com/tendermint/tendermint/config" + "github.com/dashpay/tenderdash/config" ) // Upgrade reads the configuration file at configPath and applies any diff --git a/internal/libs/confix/confix_test.go b/internal/libs/confix/confix_test.go index dc0042fe59..4ef1574d3e 100644 --- a/internal/libs/confix/confix_test.go +++ b/internal/libs/confix/confix_test.go @@ -9,7 +9,7 @@ import ( "github.com/creachadair/tomledit" "github.com/google/go-cmp/cmp" - "github.com/tendermint/tendermint/internal/libs/confix" + "github.com/dashpay/tenderdash/internal/libs/confix" ) func mustParseConfig(t *testing.T, path string) *tomledit.Document { diff --git a/internal/libs/protoio/io_test.go b/internal/libs/protoio/io_test.go index 4420ad7863..4c57005e47 100644 --- a/internal/libs/protoio/io_test.go +++ b/internal/libs/protoio/io_test.go @@ -41,7 +41,7 @@ import ( "github.com/gogo/protobuf/test" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/internal/libs/protoio" + "github.com/dashpay/tenderdash/internal/libs/protoio" ) func iotest(t *testing.T, writer protoio.WriteCloser, reader protoio.ReadCloser) error { diff --git a/internal/libs/protoio/writer_test.go b/internal/libs/protoio/writer_test.go index 520bac1f6b..d1a3a8cee0 100644 --- a/internal/libs/protoio/writer_test.go +++ b/internal/libs/protoio/writer_test.go @@ -6,10 +6,10 @@ import ( "github.com/gogo/protobuf/proto" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/internal/libs/protoio" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/internal/libs/protoio" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) func aVote(t testing.TB) *types.Vote { diff --git a/internal/libs/strings/string.go b/internal/libs/strings/string.go index 067f31ffc3..fb5b1c7856 100644 --- a/internal/libs/strings/string.go +++ b/internal/libs/strings/string.go @@ -4,7 +4,7 @@ import ( "fmt" "strings" - tmbytes "github.com/tendermint/tendermint/libs/bytes" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" ) type lazyStringf struct { diff --git a/internal/libs/sync/waker_test.go b/internal/libs/sync/waker_test.go index b63dc5eb1f..ed99d96e77 100644 --- a/internal/libs/sync/waker_test.go +++ b/internal/libs/sync/waker_test.go @@ -5,7 +5,7 @@ import ( "github.com/stretchr/testify/require" - tmsync "github.com/tendermint/tendermint/internal/libs/sync" + tmsync "github.com/dashpay/tenderdash/internal/libs/sync" ) func TestWaker(t *testing.T) { diff --git a/internal/libs/tempfile/tempfile_test.go b/internal/libs/tempfile/tempfile_test.go index aee540c591..7e984b85a5 100644 --- a/internal/libs/tempfile/tempfile_test.go +++ b/internal/libs/tempfile/tempfile_test.go @@ -11,7 +11,7 @@ import ( "github.com/stretchr/testify/require" - tmrand "github.com/tendermint/tendermint/libs/rand" + tmrand "github.com/dashpay/tenderdash/libs/rand" ) func TestWriteFileAtomic(t *testing.T) { diff --git a/internal/mempool/cache.go b/internal/mempool/cache.go index 140ea9791b..7dfbff2b47 100644 --- a/internal/mempool/cache.go +++ b/internal/mempool/cache.go @@ -5,7 +5,7 @@ import ( sync "github.com/sasha-s/go-deadlock" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/types" ) // TxCache defines an interface for raw transaction caching in a mempool. diff --git a/internal/mempool/ids.go b/internal/mempool/ids.go index 28867023ae..74ca28001b 100644 --- a/internal/mempool/ids.go +++ b/internal/mempool/ids.go @@ -5,7 +5,7 @@ import ( sync "github.com/sasha-s/go-deadlock" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/types" ) type IDs struct { diff --git a/internal/mempool/ids_test.go b/internal/mempool/ids_test.go index 6601706bcd..42fb4412ab 100644 --- a/internal/mempool/ids_test.go +++ b/internal/mempool/ids_test.go @@ -5,7 +5,7 @@ import ( "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/types" ) func TestMempoolIDsBasic(t *testing.T) { diff --git a/internal/mempool/mempool.go b/internal/mempool/mempool.go index c885351076..e75707e306 100644 --- a/internal/mempool/mempool.go +++ b/internal/mempool/mempool.go @@ -8,17 +8,16 @@ import ( "sync/atomic" "time" - sync "github.com/sasha-s/go-deadlock" - "github.com/creachadair/taskgroup" + sync "github.com/sasha-s/go-deadlock" - abciclient "github.com/tendermint/tendermint/abci/client" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/internal/libs/clist" - tmstrings "github.com/tendermint/tendermint/internal/libs/strings" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/types" + abciclient "github.com/dashpay/tenderdash/abci/client" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/internal/libs/clist" + tmstrings "github.com/dashpay/tenderdash/internal/libs/strings" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/types" ) var _ Mempool = (*TxMempool)(nil) diff --git a/internal/mempool/mempool_bench_test.go b/internal/mempool/mempool_bench_test.go index e4d84a700a..bf79d32598 100644 --- a/internal/mempool/mempool_bench_test.go +++ b/internal/mempool/mempool_bench_test.go @@ -9,9 +9,9 @@ import ( "github.com/stretchr/testify/require" - abciclient "github.com/tendermint/tendermint/abci/client" - "github.com/tendermint/tendermint/abci/example/kvstore" - "github.com/tendermint/tendermint/libs/log" + abciclient "github.com/dashpay/tenderdash/abci/client" + "github.com/dashpay/tenderdash/abci/example/kvstore" + "github.com/dashpay/tenderdash/libs/log" ) func BenchmarkTxMempool_CheckTx(b *testing.B) { diff --git a/internal/mempool/mempool_test.go b/internal/mempool/mempool_test.go index 50b6f73c84..61796affa6 100644 --- a/internal/mempool/mempool_test.go +++ b/internal/mempool/mempool_test.go @@ -18,13 +18,13 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - abciclient "github.com/tendermint/tendermint/abci/client" - "github.com/tendermint/tendermint/abci/example/code" - "github.com/tendermint/tendermint/abci/example/kvstore" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/types" + abciclient "github.com/dashpay/tenderdash/abci/client" + "github.com/dashpay/tenderdash/abci/example/code" + "github.com/dashpay/tenderdash/abci/example/kvstore" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/types" ) // application extends the KV store application by overriding CheckTx to provide diff --git a/internal/mempool/mocks/mempool.go b/internal/mempool/mocks/mempool.go index e069c07c28..890e3d7b41 100644 --- a/internal/mempool/mocks/mempool.go +++ b/internal/mempool/mocks/mempool.go @@ -5,13 +5,13 @@ package mocks import ( context "context" - abcitypes "github.com/tendermint/tendermint/abci/types" + abcitypes "github.com/dashpay/tenderdash/abci/types" - mempool "github.com/tendermint/tendermint/internal/mempool" + mempool "github.com/dashpay/tenderdash/internal/mempool" mock "github.com/stretchr/testify/mock" - types "github.com/tendermint/tendermint/types" + types "github.com/dashpay/tenderdash/types" ) // Mempool is an autogenerated mock type for the Mempool type diff --git a/internal/mempool/p2p_msg_handler.go b/internal/mempool/p2p_msg_handler.go index de44b8782b..c93fc6177d 100644 --- a/internal/mempool/p2p_msg_handler.go +++ b/internal/mempool/p2p_msg_handler.go @@ -5,11 +5,11 @@ import ( "errors" "fmt" - "github.com/tendermint/tendermint/internal/p2p" - "github.com/tendermint/tendermint/internal/p2p/client" - "github.com/tendermint/tendermint/libs/log" - protomem "github.com/tendermint/tendermint/proto/tendermint/mempool" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/internal/p2p" + "github.com/dashpay/tenderdash/internal/p2p/client" + "github.com/dashpay/tenderdash/libs/log" + protomem "github.com/dashpay/tenderdash/proto/tendermint/mempool" + "github.com/dashpay/tenderdash/types" ) type ( diff --git a/internal/mempool/p2p_msg_handler_test.go b/internal/mempool/p2p_msg_handler_test.go index 02b2d8ea0f..b9d39793bf 100644 --- a/internal/mempool/p2p_msg_handler_test.go +++ b/internal/mempool/p2p_msg_handler_test.go @@ -7,12 +7,12 @@ import ( "github.com/stretchr/testify/mock" - abcitypes "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/internal/p2p" - tmrequire "github.com/tendermint/tendermint/internal/test/require" - "github.com/tendermint/tendermint/libs/log" - protomem "github.com/tendermint/tendermint/proto/tendermint/mempool" - "github.com/tendermint/tendermint/types" + abcitypes "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/internal/p2p" + tmrequire "github.com/dashpay/tenderdash/internal/test/require" + "github.com/dashpay/tenderdash/libs/log" + protomem "github.com/dashpay/tenderdash/proto/tendermint/mempool" + "github.com/dashpay/tenderdash/types" ) func TestMempoolP2PMessageHandler(t *testing.T) { diff --git a/internal/mempool/reactor.go b/internal/mempool/reactor.go index 91ad7aad6c..6794e8a62a 100644 --- a/internal/mempool/reactor.go +++ b/internal/mempool/reactor.go @@ -6,14 +6,14 @@ import ( sync "github.com/sasha-s/go-deadlock" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/internal/libs/clist" - tmstrings "github.com/tendermint/tendermint/internal/libs/strings" - "github.com/tendermint/tendermint/internal/p2p" - "github.com/tendermint/tendermint/internal/p2p/client" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/libs/service" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/internal/libs/clist" + tmstrings "github.com/dashpay/tenderdash/internal/libs/strings" + "github.com/dashpay/tenderdash/internal/p2p" + "github.com/dashpay/tenderdash/internal/p2p/client" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/libs/service" + "github.com/dashpay/tenderdash/types" ) var ( diff --git a/internal/mempool/reactor_test.go b/internal/mempool/reactor_test.go index df34c33293..6ebbdae2ca 100644 --- a/internal/mempool/reactor_test.go +++ b/internal/mempool/reactor_test.go @@ -13,15 +13,15 @@ import ( sync "github.com/sasha-s/go-deadlock" "github.com/stretchr/testify/require" - abciclient "github.com/tendermint/tendermint/abci/client" - "github.com/tendermint/tendermint/abci/example/kvstore" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/internal/p2p" - "github.com/tendermint/tendermint/internal/p2p/p2ptest" - "github.com/tendermint/tendermint/libs/log" - tmrand "github.com/tendermint/tendermint/libs/rand" - "github.com/tendermint/tendermint/types" + abciclient "github.com/dashpay/tenderdash/abci/client" + "github.com/dashpay/tenderdash/abci/example/kvstore" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/internal/p2p" + "github.com/dashpay/tenderdash/internal/p2p/p2ptest" + "github.com/dashpay/tenderdash/libs/log" + tmrand "github.com/dashpay/tenderdash/libs/rand" + "github.com/dashpay/tenderdash/types" ) type reactorTestSuite struct { diff --git a/internal/mempool/tx.go b/internal/mempool/tx.go index eef2d283c3..e27b19905e 100644 --- a/internal/mempool/tx.go +++ b/internal/mempool/tx.go @@ -5,7 +5,7 @@ import ( sync "github.com/sasha-s/go-deadlock" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/types" ) // TxInfo are parameters that get passed when attempting to add a tx to the diff --git a/internal/mempool/types.go b/internal/mempool/types.go index d4e552c96f..28b3dc7f34 100644 --- a/internal/mempool/types.go +++ b/internal/mempool/types.go @@ -5,8 +5,8 @@ import ( "fmt" "math" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/types" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/types" ) const ( diff --git a/internal/p2p/address.go b/internal/p2p/address.go index 0f4066fafd..45224f506f 100644 --- a/internal/p2p/address.go +++ b/internal/p2p/address.go @@ -10,7 +10,7 @@ import ( "strconv" "strings" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/types" ) var ( diff --git a/internal/p2p/address_test.go b/internal/p2p/address_test.go index bd1dda75cb..f8c0572d73 100644 --- a/internal/p2p/address_test.go +++ b/internal/p2p/address_test.go @@ -7,9 +7,10 @@ import ( "testing" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/crypto/ed25519" - "github.com/tendermint/tendermint/internal/p2p" - "github.com/tendermint/tendermint/types" + + "github.com/dashpay/tenderdash/crypto/ed25519" + "github.com/dashpay/tenderdash/internal/p2p" + "github.com/dashpay/tenderdash/types" ) func TestNewNodeID(t *testing.T) { diff --git a/internal/p2p/channel.go b/internal/p2p/channel.go index 3a416001f9..9e8cb3283d 100644 --- a/internal/p2p/channel.go +++ b/internal/p2p/channel.go @@ -13,8 +13,8 @@ import ( "github.com/rs/zerolog" sync "github.com/sasha-s/go-deadlock" - "github.com/tendermint/tendermint/proto/tendermint/p2p" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/proto/tendermint/p2p" + "github.com/dashpay/tenderdash/types" ) // Envelope contains a message with sender/receiver routing info. diff --git a/internal/p2p/channel_params.go b/internal/p2p/channel_params.go index 888127cf27..8a0aa8418b 100644 --- a/internal/p2p/channel_params.go +++ b/internal/p2p/channel_params.go @@ -5,14 +5,14 @@ import ( "github.com/gogo/protobuf/proto" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/proto/tendermint/blocksync" - "github.com/tendermint/tendermint/proto/tendermint/consensus" - "github.com/tendermint/tendermint/proto/tendermint/mempool" - p2pproto "github.com/tendermint/tendermint/proto/tendermint/p2p" - "github.com/tendermint/tendermint/proto/tendermint/statesync" - prototypes "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/proto/tendermint/blocksync" + "github.com/dashpay/tenderdash/proto/tendermint/consensus" + "github.com/dashpay/tenderdash/proto/tendermint/mempool" + p2pproto "github.com/dashpay/tenderdash/proto/tendermint/p2p" + "github.com/dashpay/tenderdash/proto/tendermint/statesync" + prototypes "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) const ( diff --git a/internal/p2p/client/chanstore.go b/internal/p2p/client/chanstore.go index 59e8657b08..e49c3994f4 100644 --- a/internal/p2p/client/chanstore.go +++ b/internal/p2p/client/chanstore.go @@ -5,7 +5,7 @@ import ( "fmt" "sync" - "github.com/tendermint/tendermint/internal/p2p" + "github.com/dashpay/tenderdash/internal/p2p" ) type ( diff --git a/internal/p2p/client/client.go b/internal/p2p/client/client.go index 2c30caaec9..fffc4a36df 100644 --- a/internal/p2p/client/client.go +++ b/internal/p2p/client/client.go @@ -15,13 +15,13 @@ import ( "github.com/hashicorp/go-multierror" "github.com/jonboulle/clockwork" - "github.com/tendermint/tendermint/internal/p2p" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/libs/promise" - bcproto "github.com/tendermint/tendermint/proto/tendermint/blocksync" - protomem "github.com/tendermint/tendermint/proto/tendermint/mempool" - "github.com/tendermint/tendermint/proto/tendermint/statesync" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/internal/p2p" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/libs/promise" + bcproto "github.com/dashpay/tenderdash/proto/tendermint/blocksync" + protomem "github.com/dashpay/tenderdash/proto/tendermint/mempool" + "github.com/dashpay/tenderdash/proto/tendermint/statesync" + "github.com/dashpay/tenderdash/types" ) // These attributes should use as a key in Envelope.Attributes map diff --git a/internal/p2p/client/client_test.go b/internal/p2p/client/client_test.go index c401ebaabb..5a02123db0 100644 --- a/internal/p2p/client/client_test.go +++ b/internal/p2p/client/client_test.go @@ -14,12 +14,12 @@ import ( "github.com/stretchr/testify/mock" "github.com/stretchr/testify/suite" - "github.com/tendermint/tendermint/internal/p2p" - "github.com/tendermint/tendermint/internal/p2p/mocks" - tmrequire "github.com/tendermint/tendermint/internal/test/require" - bcproto "github.com/tendermint/tendermint/proto/tendermint/blocksync" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/internal/p2p" + "github.com/dashpay/tenderdash/internal/p2p/mocks" + tmrequire "github.com/dashpay/tenderdash/internal/test/require" + bcproto "github.com/dashpay/tenderdash/proto/tendermint/blocksync" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) const testChannelID = 0x1 diff --git a/internal/p2p/client/consumer.go b/internal/p2p/client/consumer.go index 3308c4e158..6038737d7b 100644 --- a/internal/p2p/client/consumer.go +++ b/internal/p2p/client/consumer.go @@ -5,8 +5,8 @@ import ( "errors" "fmt" - "github.com/tendermint/tendermint/internal/p2p" - "github.com/tendermint/tendermint/libs/log" + "github.com/dashpay/tenderdash/internal/p2p" + "github.com/dashpay/tenderdash/libs/log" ) var ( diff --git a/internal/p2p/client/consumer_test.go b/internal/p2p/client/consumer_test.go index 328db810b5..cfacda0267 100644 --- a/internal/p2p/client/consumer_test.go +++ b/internal/p2p/client/consumer_test.go @@ -9,11 +9,11 @@ import ( "github.com/google/uuid" "github.com/stretchr/testify/mock" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/internal/p2p" - tmrequire "github.com/tendermint/tendermint/internal/test/require" - bcproto "github.com/tendermint/tendermint/proto/tendermint/blocksync" + "github.com/dashpay/tenderdash/internal/p2p" + tmrequire "github.com/dashpay/tenderdash/internal/test/require" + "github.com/dashpay/tenderdash/libs/log" + bcproto "github.com/dashpay/tenderdash/proto/tendermint/blocksync" ) func TestErrorLoggerP2PMessageHandler(t *testing.T) { diff --git a/internal/p2p/client/mocks/block_client.go b/internal/p2p/client/mocks/block_client.go index 2960e66e1f..b094d38ccb 100644 --- a/internal/p2p/client/mocks/block_client.go +++ b/internal/p2p/client/mocks/block_client.go @@ -3,15 +3,15 @@ package mocks import ( - blocksync "github.com/tendermint/tendermint/proto/tendermint/blocksync" + blocksync "github.com/dashpay/tenderdash/proto/tendermint/blocksync" context "context" mock "github.com/stretchr/testify/mock" - promise "github.com/tendermint/tendermint/libs/promise" + promise "github.com/dashpay/tenderdash/libs/promise" - types "github.com/tendermint/tendermint/types" + types "github.com/dashpay/tenderdash/types" ) // BlockClient is an autogenerated mock type for the BlockClient type diff --git a/internal/p2p/client/mocks/snapshot_client.go b/internal/p2p/client/mocks/snapshot_client.go index af0b42fc34..e2eb8d643d 100644 --- a/internal/p2p/client/mocks/snapshot_client.go +++ b/internal/p2p/client/mocks/snapshot_client.go @@ -5,12 +5,12 @@ package mocks import ( context "context" + promise "github.com/dashpay/tenderdash/libs/promise" mock "github.com/stretchr/testify/mock" - promise "github.com/tendermint/tendermint/libs/promise" - statesync "github.com/tendermint/tendermint/proto/tendermint/statesync" + statesync "github.com/dashpay/tenderdash/proto/tendermint/statesync" - types "github.com/tendermint/tendermint/types" + types "github.com/dashpay/tenderdash/types" ) // SnapshotClient is an autogenerated mock type for the SnapshotClient type diff --git a/internal/p2p/conn/connection.go b/internal/p2p/conn/connection.go index 824788efd0..1ecdd1a4dc 100644 --- a/internal/p2p/conn/connection.go +++ b/internal/p2p/conn/connection.go @@ -17,13 +17,13 @@ import ( "github.com/gogo/protobuf/proto" - "github.com/tendermint/tendermint/internal/libs/flowrate" - "github.com/tendermint/tendermint/internal/libs/protoio" - "github.com/tendermint/tendermint/internal/libs/timer" - "github.com/tendermint/tendermint/libs/log" - tmmath "github.com/tendermint/tendermint/libs/math" - "github.com/tendermint/tendermint/libs/service" - tmp2p "github.com/tendermint/tendermint/proto/tendermint/p2p" + "github.com/dashpay/tenderdash/internal/libs/flowrate" + "github.com/dashpay/tenderdash/internal/libs/protoio" + "github.com/dashpay/tenderdash/internal/libs/timer" + "github.com/dashpay/tenderdash/libs/log" + tmmath "github.com/dashpay/tenderdash/libs/math" + "github.com/dashpay/tenderdash/libs/service" + tmp2p "github.com/dashpay/tenderdash/proto/tendermint/p2p" ) const ( @@ -534,7 +534,7 @@ FOR_LOOP: switch pkt := packet.Sum.(type) { case *tmp2p.Packet_PacketPing: // TODO: prevent abuse, as they cause flush()'s. - // https://github.com/tendermint/tendermint/issues/1190 + // https://github.com/dashpay/tenderdash/issues/1190 select { case c.pong <- struct{}{}: default: @@ -643,7 +643,7 @@ type channel struct { // Exponential moving average. // This field must be accessed atomically. // It is first in the struct to ensure correct alignment. - // See https://github.com/tendermint/tendermint/issues/7000. + // See https://github.com/dashpay/tenderdash/issues/7000. recentlySent int64 conn *MConnection diff --git a/internal/p2p/conn/connection_test.go b/internal/p2p/conn/connection_test.go index 578bc3ef2d..55c2460c65 100644 --- a/internal/p2p/conn/connection_test.go +++ b/internal/p2p/conn/connection_test.go @@ -15,11 +15,11 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/internal/libs/protoio" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/libs/service" - tmp2p "github.com/tendermint/tendermint/proto/tendermint/p2p" - "github.com/tendermint/tendermint/proto/tendermint/types" + "github.com/dashpay/tenderdash/internal/libs/protoio" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/libs/service" + tmp2p "github.com/dashpay/tenderdash/proto/tendermint/p2p" + "github.com/dashpay/tenderdash/proto/tendermint/types" ) const maxPingPongPacketSize = 1024 // bytes @@ -289,7 +289,7 @@ func TestMConnectionMultiplePings(t *testing.T) { t.Cleanup(waitAll(mconn)) // sending 3 pings in a row (abuse) - // see https://github.com/tendermint/tendermint/issues/1190 + // see https://github.com/dashpay/tenderdash/issues/1190 protoReader := protoio.NewDelimitedReader(server, maxPingPongPacketSize) protoWriter := protoio.NewDelimitedWriter(server) var pkt tmp2p.Packet diff --git a/internal/p2p/conn/evil_secret_connection_test.go b/internal/p2p/conn/evil_secret_connection_test.go index fe213959c4..08d426e9bd 100644 --- a/internal/p2p/conn/evil_secret_connection_test.go +++ b/internal/p2p/conn/evil_secret_connection_test.go @@ -11,11 +11,11 @@ import ( "github.com/stretchr/testify/assert" "golang.org/x/crypto/chacha20poly1305" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/ed25519" - "github.com/tendermint/tendermint/crypto/encoding" - "github.com/tendermint/tendermint/internal/libs/protoio" - tmp2p "github.com/tendermint/tendermint/proto/tendermint/p2p" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/ed25519" + "github.com/dashpay/tenderdash/crypto/encoding" + "github.com/dashpay/tenderdash/internal/libs/protoio" + tmp2p "github.com/dashpay/tenderdash/proto/tendermint/p2p" ) type buffer struct { diff --git a/internal/p2p/conn/secret_connection.go b/internal/p2p/conn/secret_connection.go index 54a1903bbf..caf3150528 100644 --- a/internal/p2p/conn/secret_connection.go +++ b/internal/p2p/conn/secret_connection.go @@ -23,12 +23,12 @@ import ( "golang.org/x/crypto/hkdf" "golang.org/x/crypto/nacl/box" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/ed25519" - "github.com/tendermint/tendermint/crypto/encoding" - "github.com/tendermint/tendermint/internal/libs/async" - "github.com/tendermint/tendermint/internal/libs/protoio" - tmp2p "github.com/tendermint/tendermint/proto/tendermint/p2p" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/ed25519" + "github.com/dashpay/tenderdash/crypto/encoding" + "github.com/dashpay/tenderdash/internal/libs/async" + "github.com/dashpay/tenderdash/internal/libs/protoio" + tmp2p "github.com/dashpay/tenderdash/proto/tendermint/p2p" ) // 4 + 1024 == 1028 total frame size diff --git a/internal/p2p/conn/secret_connection_test.go b/internal/p2p/conn/secret_connection_test.go index a29d9aaf84..1c544354da 100644 --- a/internal/p2p/conn/secret_connection_test.go +++ b/internal/p2p/conn/secret_connection_test.go @@ -19,10 +19,10 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/crypto/bls12381" - "github.com/tendermint/tendermint/crypto/ed25519" - "github.com/tendermint/tendermint/internal/libs/async" - tmrand "github.com/tendermint/tendermint/libs/rand" + "github.com/dashpay/tenderdash/crypto/bls12381" + "github.com/dashpay/tenderdash/crypto/ed25519" + "github.com/dashpay/tenderdash/internal/libs/async" + tmrand "github.com/dashpay/tenderdash/libs/rand" ) // Run go test -update from within this module diff --git a/internal/p2p/dash_dialer.go b/internal/p2p/dash_dialer.go index e787626a24..64d70ecff3 100644 --- a/internal/p2p/dash_dialer.go +++ b/internal/p2p/dash_dialer.go @@ -6,8 +6,8 @@ import ( "net" "time" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/types" ) const ( diff --git a/internal/p2p/errors.go b/internal/p2p/errors.go index d4df287926..9e1ad2d05c 100644 --- a/internal/p2p/errors.go +++ b/internal/p2p/errors.go @@ -4,7 +4,7 @@ import ( "fmt" "net" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/types" ) // ErrFilterTimeout indicates that a filter operation timed out. diff --git a/internal/p2p/metrics_test.go b/internal/p2p/metrics_test.go index 98523fe822..e9404dd722 100644 --- a/internal/p2p/metrics_test.go +++ b/internal/p2p/metrics_test.go @@ -5,7 +5,7 @@ import ( "github.com/stretchr/testify/assert" - "github.com/tendermint/tendermint/proto/tendermint/p2p" + "github.com/dashpay/tenderdash/proto/tendermint/p2p" ) func TestValueToMetricsLabel(t *testing.T) { diff --git a/internal/p2p/mocks/channel.go b/internal/p2p/mocks/channel.go index ca8c03b052..ebee0c7670 100644 --- a/internal/p2p/mocks/channel.go +++ b/internal/p2p/mocks/channel.go @@ -5,8 +5,8 @@ package mocks import ( context "context" + p2p "github.com/dashpay/tenderdash/internal/p2p" mock "github.com/stretchr/testify/mock" - p2p "github.com/tendermint/tendermint/internal/p2p" ) // Channel is an autogenerated mock type for the Channel type diff --git a/internal/p2p/mocks/connection.go b/internal/p2p/mocks/connection.go index 82430b2f7a..447bb925ab 100644 --- a/internal/p2p/mocks/connection.go +++ b/internal/p2p/mocks/connection.go @@ -5,17 +5,17 @@ package mocks import ( context "context" - conn "github.com/tendermint/tendermint/internal/p2p/conn" + conn "github.com/dashpay/tenderdash/internal/p2p/conn" - crypto "github.com/tendermint/tendermint/crypto" + crypto "github.com/dashpay/tenderdash/crypto" mock "github.com/stretchr/testify/mock" - p2p "github.com/tendermint/tendermint/internal/p2p" + p2p "github.com/dashpay/tenderdash/internal/p2p" time "time" - types "github.com/tendermint/tendermint/types" + types "github.com/dashpay/tenderdash/types" ) // Connection is an autogenerated mock type for the Connection type diff --git a/internal/p2p/mocks/transport.go b/internal/p2p/mocks/transport.go index 3398b21c69..0901d27c84 100644 --- a/internal/p2p/mocks/transport.go +++ b/internal/p2p/mocks/transport.go @@ -5,11 +5,11 @@ package mocks import ( context "context" - conn "github.com/tendermint/tendermint/internal/p2p/conn" + conn "github.com/dashpay/tenderdash/internal/p2p/conn" mock "github.com/stretchr/testify/mock" - p2p "github.com/tendermint/tendermint/internal/p2p" + p2p "github.com/dashpay/tenderdash/internal/p2p" ) // Transport is an autogenerated mock type for the Transport type diff --git a/internal/p2p/p2p_test.go b/internal/p2p/p2p_test.go index f2fde10e34..97a008d025 100644 --- a/internal/p2p/p2p_test.go +++ b/internal/p2p/p2p_test.go @@ -1,10 +1,10 @@ package p2p_test import ( - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/ed25519" - "github.com/tendermint/tendermint/internal/p2p" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/ed25519" + "github.com/dashpay/tenderdash/internal/p2p" + "github.com/dashpay/tenderdash/types" ) // Common setup for P2P tests. diff --git a/internal/p2p/p2ptest/network.go b/internal/p2p/p2ptest/network.go index b8ea7bcd2a..5c0163ab0f 100644 --- a/internal/p2p/p2ptest/network.go +++ b/internal/p2p/p2ptest/network.go @@ -9,13 +9,13 @@ import ( "github.com/stretchr/testify/require" dbm "github.com/tendermint/tm-db" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/ed25519" - "github.com/tendermint/tendermint/internal/p2p" - p2pclient "github.com/tendermint/tendermint/internal/p2p/client" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/ed25519" + "github.com/dashpay/tenderdash/internal/p2p" + p2pclient "github.com/dashpay/tenderdash/internal/p2p/client" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/types" ) // Network sets up an in-memory network that can be used for high-level P2P diff --git a/internal/p2p/p2ptest/require.go b/internal/p2p/p2ptest/require.go index 50358e2c0b..af49bc18eb 100644 --- a/internal/p2p/p2ptest/require.go +++ b/internal/p2p/p2ptest/require.go @@ -10,8 +10,8 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/internal/p2p" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/internal/p2p" + "github.com/dashpay/tenderdash/types" ) // RequireEmpty requires that the given channel is empty. diff --git a/internal/p2p/p2ptest/util.go b/internal/p2p/p2ptest/util.go index 43fc16d286..2483dee0bb 100644 --- a/internal/p2p/p2ptest/util.go +++ b/internal/p2p/p2ptest/util.go @@ -1,8 +1,8 @@ package p2ptest import ( - "github.com/tendermint/tendermint/proto/tendermint/p2p" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/proto/tendermint/p2p" + "github.com/dashpay/tenderdash/types" ) // Message is a simple message containing a string-typed Value field. diff --git a/internal/p2p/peermanager.go b/internal/p2p/peermanager.go index a0f7de5a92..e38b7751b1 100644 --- a/internal/p2p/peermanager.go +++ b/internal/p2p/peermanager.go @@ -17,10 +17,10 @@ import ( sync "github.com/sasha-s/go-deadlock" dbm "github.com/tendermint/tm-db" - tmsync "github.com/tendermint/tendermint/internal/libs/sync" - "github.com/tendermint/tendermint/libs/log" - p2pproto "github.com/tendermint/tendermint/proto/tendermint/p2p" - "github.com/tendermint/tendermint/types" + tmsync "github.com/dashpay/tenderdash/internal/libs/sync" + "github.com/dashpay/tenderdash/libs/log" + p2pproto "github.com/dashpay/tenderdash/proto/tendermint/p2p" + "github.com/dashpay/tenderdash/types" ) const ( diff --git a/internal/p2p/peermanager_scoring_test.go b/internal/p2p/peermanager_scoring_test.go index 717123b173..0ca50775cc 100644 --- a/internal/p2p/peermanager_scoring_test.go +++ b/internal/p2p/peermanager_scoring_test.go @@ -9,8 +9,8 @@ import ( "github.com/stretchr/testify/require" dbm "github.com/tendermint/tm-db" - "github.com/tendermint/tendermint/crypto/ed25519" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/crypto/ed25519" + "github.com/dashpay/tenderdash/types" ) func TestPeerScoring(t *testing.T) { diff --git a/internal/p2p/peermanager_test.go b/internal/p2p/peermanager_test.go index a2f8d5452c..7440c4a929 100644 --- a/internal/p2p/peermanager_test.go +++ b/internal/p2p/peermanager_test.go @@ -13,9 +13,9 @@ import ( "github.com/stretchr/testify/require" dbm "github.com/tendermint/tm-db" - "github.com/tendermint/tendermint/internal/p2p" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/internal/p2p" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/types" ) // FIXME: We should probably have some randomized property-based tests for the diff --git a/internal/p2p/pex/reactor.go b/internal/p2p/pex/reactor.go index 758f5ef520..79bfada9bc 100644 --- a/internal/p2p/pex/reactor.go +++ b/internal/p2p/pex/reactor.go @@ -7,12 +7,12 @@ import ( sync "github.com/sasha-s/go-deadlock" - "github.com/tendermint/tendermint/internal/p2p" - "github.com/tendermint/tendermint/internal/p2p/conn" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/libs/service" - p2pproto "github.com/tendermint/tendermint/proto/tendermint/p2p" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/internal/p2p" + "github.com/dashpay/tenderdash/internal/p2p/conn" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/libs/service" + p2pproto "github.com/dashpay/tenderdash/proto/tendermint/p2p" + "github.com/dashpay/tenderdash/types" ) var ( diff --git a/internal/p2p/pex/reactor_test.go b/internal/p2p/pex/reactor_test.go index 005587ef90..cd66af1421 100644 --- a/internal/p2p/pex/reactor_test.go +++ b/internal/p2p/pex/reactor_test.go @@ -11,14 +11,14 @@ import ( "github.com/stretchr/testify/require" dbm "github.com/tendermint/tm-db" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/crypto/ed25519" - "github.com/tendermint/tendermint/internal/p2p" - "github.com/tendermint/tendermint/internal/p2p/p2ptest" - "github.com/tendermint/tendermint/internal/p2p/pex" - "github.com/tendermint/tendermint/libs/log" - p2pproto "github.com/tendermint/tendermint/proto/tendermint/p2p" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/crypto/ed25519" + "github.com/dashpay/tenderdash/internal/p2p" + "github.com/dashpay/tenderdash/internal/p2p/p2ptest" + "github.com/dashpay/tenderdash/internal/p2p/pex" + "github.com/dashpay/tenderdash/libs/log" + p2pproto "github.com/dashpay/tenderdash/proto/tendermint/p2p" + "github.com/dashpay/tenderdash/types" ) const ( diff --git a/internal/p2p/pqueue.go b/internal/p2p/pqueue.go index 4ebbe1e102..350c38ce0b 100644 --- a/internal/p2p/pqueue.go +++ b/internal/p2p/pqueue.go @@ -11,7 +11,7 @@ import ( "github.com/gogo/protobuf/proto" - "github.com/tendermint/tendermint/libs/log" + "github.com/dashpay/tenderdash/libs/log" ) // pqEnvelope defines a wrapper around an Envelope with priority to be inserted diff --git a/internal/p2p/pqueue_test.go b/internal/p2p/pqueue_test.go index d1057ac7e2..3e1594d79c 100644 --- a/internal/p2p/pqueue_test.go +++ b/internal/p2p/pqueue_test.go @@ -7,7 +7,7 @@ import ( gogotypes "github.com/gogo/protobuf/types" - "github.com/tendermint/tendermint/libs/log" + "github.com/dashpay/tenderdash/libs/log" ) type testMessage = gogotypes.StringValue diff --git a/internal/p2p/router.go b/internal/p2p/router.go index 1649f80601..7adc3d0dfa 100644 --- a/internal/p2p/router.go +++ b/internal/p2p/router.go @@ -13,12 +13,12 @@ import ( "github.com/gogo/protobuf/proto" - "github.com/tendermint/tendermint/crypto" - tmstrings "github.com/tendermint/tendermint/internal/libs/strings" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/libs/service" - "github.com/tendermint/tendermint/proto/tendermint/p2p" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + tmstrings "github.com/dashpay/tenderdash/internal/libs/strings" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/libs/service" + "github.com/dashpay/tenderdash/proto/tendermint/p2p" + "github.com/dashpay/tenderdash/types" ) const queueBufferDefault = 32 diff --git a/internal/p2p/router_filter_test.go b/internal/p2p/router_filter_test.go index 217be8d322..e0aea8cfa7 100644 --- a/internal/p2p/router_filter_test.go +++ b/internal/p2p/router_filter_test.go @@ -9,7 +9,7 @@ import ( "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/libs/log" + "github.com/dashpay/tenderdash/libs/log" ) func TestConnectionFiltering(t *testing.T) { diff --git a/internal/p2p/router_init_test.go b/internal/p2p/router_init_test.go index 20c3cb6dc9..f316c23bde 100644 --- a/internal/p2p/router_init_test.go +++ b/internal/p2p/router_init_test.go @@ -7,8 +7,8 @@ import ( "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/types" ) func TestRouter_ConstructQueueFactory(t *testing.T) { diff --git a/internal/p2p/router_test.go b/internal/p2p/router_test.go index 8a16c9750b..37aa4e2c76 100644 --- a/internal/p2p/router_test.go +++ b/internal/p2p/router_test.go @@ -16,13 +16,13 @@ import ( "github.com/stretchr/testify/require" dbm "github.com/tendermint/tm-db" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/internal/p2p" - "github.com/tendermint/tendermint/internal/p2p/mocks" - "github.com/tendermint/tendermint/internal/p2p/p2ptest" - "github.com/tendermint/tendermint/libs/log" - p2pproto "github.com/tendermint/tendermint/proto/tendermint/p2p" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/internal/p2p" + "github.com/dashpay/tenderdash/internal/p2p/mocks" + "github.com/dashpay/tenderdash/internal/p2p/p2ptest" + "github.com/dashpay/tenderdash/libs/log" + p2pproto "github.com/dashpay/tenderdash/proto/tendermint/p2p" + "github.com/dashpay/tenderdash/types" ) func echoReactor(ctx context.Context, channel p2p.Channel) { diff --git a/internal/p2p/transport.go b/internal/p2p/transport.go index da67cacaf7..1caaecbdb1 100644 --- a/internal/p2p/transport.go +++ b/internal/p2p/transport.go @@ -7,8 +7,8 @@ import ( "net" "time" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/types" ) //go:generate ../../scripts/mockery_generate.sh Transport|Connection diff --git a/internal/p2p/transport_mconn.go b/internal/p2p/transport_mconn.go index 07a9f6adcb..7d4b3d046f 100644 --- a/internal/p2p/transport_mconn.go +++ b/internal/p2p/transport_mconn.go @@ -11,15 +11,14 @@ import ( "time" sync "github.com/sasha-s/go-deadlock" - "golang.org/x/net/netutil" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/internal/libs/protoio" - "github.com/tendermint/tendermint/internal/p2p/conn" - "github.com/tendermint/tendermint/libs/log" - p2pproto "github.com/tendermint/tendermint/proto/tendermint/p2p" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/internal/libs/protoio" + "github.com/dashpay/tenderdash/internal/p2p/conn" + "github.com/dashpay/tenderdash/libs/log" + p2pproto "github.com/dashpay/tenderdash/proto/tendermint/p2p" + "github.com/dashpay/tenderdash/types" ) const ( diff --git a/internal/p2p/transport_mconn_test.go b/internal/p2p/transport_mconn_test.go index 6fafd01aeb..3cbcac3dc3 100644 --- a/internal/p2p/transport_mconn_test.go +++ b/internal/p2p/transport_mconn_test.go @@ -10,9 +10,9 @@ import ( "github.com/fortytw2/leaktest" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/internal/p2p" - "github.com/tendermint/tendermint/internal/p2p/conn" - "github.com/tendermint/tendermint/libs/log" + "github.com/dashpay/tenderdash/internal/p2p" + "github.com/dashpay/tenderdash/internal/p2p/conn" + "github.com/dashpay/tenderdash/libs/log" ) // Transports are mainly tested by common tests in transport_test.go, we diff --git a/internal/p2p/transport_memory.go b/internal/p2p/transport_memory.go index 6bdc9506be..c4c5873a99 100644 --- a/internal/p2p/transport_memory.go +++ b/internal/p2p/transport_memory.go @@ -10,9 +10,9 @@ import ( sync "github.com/sasha-s/go-deadlock" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/types" ) const ( diff --git a/internal/p2p/transport_memory_test.go b/internal/p2p/transport_memory_test.go index 33d96cdb84..2d5a759ab5 100644 --- a/internal/p2p/transport_memory_test.go +++ b/internal/p2p/transport_memory_test.go @@ -7,9 +7,9 @@ import ( "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/internal/p2p" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/internal/p2p" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/types" ) // Transports are mainly tested by common tests in transport_test.go, we diff --git a/internal/p2p/transport_test.go b/internal/p2p/transport_test.go index d58c23955b..d22dbb9e28 100644 --- a/internal/p2p/transport_test.go +++ b/internal/p2p/transport_test.go @@ -11,10 +11,10 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/crypto/ed25519" - "github.com/tendermint/tendermint/internal/p2p" - "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/crypto/ed25519" + "github.com/dashpay/tenderdash/internal/p2p" + "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/types" ) // transportFactory is used to set up transports for tests. diff --git a/internal/p2p/types.go b/internal/p2p/types.go index bee99a4fe6..882ea9e02a 100644 --- a/internal/p2p/types.go +++ b/internal/p2p/types.go @@ -1,7 +1,7 @@ package p2p import ( - "github.com/tendermint/tendermint/internal/p2p/conn" + "github.com/dashpay/tenderdash/internal/p2p/conn" ) type ChannelDescriptor = conn.ChannelDescriptor diff --git a/internal/proxy/client.go b/internal/proxy/client.go index 60af994933..4ed8395759 100644 --- a/internal/proxy/client.go +++ b/internal/proxy/client.go @@ -9,12 +9,12 @@ import ( "github.com/go-kit/kit/metrics" - abciclient "github.com/tendermint/tendermint/abci/client" - "github.com/tendermint/tendermint/abci/example/kvstore" - "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/libs/service" - e2e "github.com/tendermint/tendermint/test/e2e/app" + abciclient "github.com/dashpay/tenderdash/abci/client" + "github.com/dashpay/tenderdash/abci/example/kvstore" + "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/libs/service" + e2e "github.com/dashpay/tenderdash/test/e2e/app" ) // ClientFactory returns a client object, which will create a local diff --git a/internal/proxy/client_test.go b/internal/proxy/client_test.go index 9fb321ae73..700ee47a65 100644 --- a/internal/proxy/client_test.go +++ b/internal/proxy/client_test.go @@ -16,13 +16,13 @@ import ( "gotest.tools/assert" - abciclient "github.com/tendermint/tendermint/abci/client" - abcimocks "github.com/tendermint/tendermint/abci/client/mocks" - "github.com/tendermint/tendermint/abci/example/kvstore" - "github.com/tendermint/tendermint/abci/server" - "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/libs/log" - tmrand "github.com/tendermint/tendermint/libs/rand" + abciclient "github.com/dashpay/tenderdash/abci/client" + abcimocks "github.com/dashpay/tenderdash/abci/client/mocks" + "github.com/dashpay/tenderdash/abci/example/kvstore" + "github.com/dashpay/tenderdash/abci/server" + "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/libs/log" + tmrand "github.com/dashpay/tenderdash/libs/rand" ) //---------------------------------------- diff --git a/internal/proxy/mocks/app_conn_mempool.go b/internal/proxy/mocks/app_conn_mempool.go index fd5acef7d8..67a1f7e382 100644 --- a/internal/proxy/mocks/app_conn_mempool.go +++ b/internal/proxy/mocks/app_conn_mempool.go @@ -7,7 +7,7 @@ import ( mock "github.com/stretchr/testify/mock" - types "github.com/tendermint/tendermint/abci/types" + types "github.com/dashpay/tenderdash/abci/types" ) // AppConnMempool is an autogenerated mock type for the AppConnMempool type diff --git a/internal/proxy/mocks/app_conn_query.go b/internal/proxy/mocks/app_conn_query.go index e515cb784e..996bc2eef2 100644 --- a/internal/proxy/mocks/app_conn_query.go +++ b/internal/proxy/mocks/app_conn_query.go @@ -7,7 +7,7 @@ import ( mock "github.com/stretchr/testify/mock" - types "github.com/tendermint/tendermint/abci/types" + types "github.com/dashpay/tenderdash/abci/types" ) // AppConnQuery is an autogenerated mock type for the AppConnQuery type diff --git a/internal/proxy/mocks/app_conn_snapshot.go b/internal/proxy/mocks/app_conn_snapshot.go index 0b3f06ad70..4b438e16a5 100644 --- a/internal/proxy/mocks/app_conn_snapshot.go +++ b/internal/proxy/mocks/app_conn_snapshot.go @@ -7,7 +7,7 @@ import ( mock "github.com/stretchr/testify/mock" - types "github.com/tendermint/tendermint/abci/types" + types "github.com/dashpay/tenderdash/abci/types" ) // AppConnSnapshot is an autogenerated mock type for the AppConnSnapshot type diff --git a/internal/proxy/version.go b/internal/proxy/version.go index 1107570285..b3ab1898b1 100644 --- a/internal/proxy/version.go +++ b/internal/proxy/version.go @@ -1,8 +1,8 @@ package proxy import ( - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/version" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/version" ) // RequestInfo contains all the information for sending diff --git a/internal/pubsub/example_test.go b/internal/pubsub/example_test.go index c4b5dc5c94..17fa950294 100644 --- a/internal/pubsub/example_test.go +++ b/internal/pubsub/example_test.go @@ -6,10 +6,10 @@ import ( "github.com/stretchr/testify/require" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/internal/pubsub" - "github.com/tendermint/tendermint/internal/pubsub/query" - "github.com/tendermint/tendermint/libs/log" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/internal/pubsub" + "github.com/dashpay/tenderdash/internal/pubsub/query" + "github.com/dashpay/tenderdash/libs/log" ) func TestExample(t *testing.T) { diff --git a/internal/pubsub/pubsub.go b/internal/pubsub/pubsub.go index f2317e00e5..063aba5681 100644 --- a/internal/pubsub/pubsub.go +++ b/internal/pubsub/pubsub.go @@ -40,11 +40,11 @@ import ( sync "github.com/sasha-s/go-deadlock" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/internal/pubsub/query" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/libs/service" - "github.com/tendermint/tendermint/types" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/internal/pubsub/query" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/libs/service" + "github.com/dashpay/tenderdash/types" ) var ( diff --git a/internal/pubsub/pubsub_test.go b/internal/pubsub/pubsub_test.go index e366977b54..ca4a8432b8 100644 --- a/internal/pubsub/pubsub_test.go +++ b/internal/pubsub/pubsub_test.go @@ -9,11 +9,11 @@ import ( "github.com/stretchr/testify/require" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/internal/pubsub" - "github.com/tendermint/tendermint/internal/pubsub/query" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/types" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/internal/pubsub" + "github.com/dashpay/tenderdash/internal/pubsub/query" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/types" ) const ( diff --git a/internal/pubsub/query/bench_test.go b/internal/pubsub/query/bench_test.go index 0916e9c8af..008898f34b 100644 --- a/internal/pubsub/query/bench_test.go +++ b/internal/pubsub/query/bench_test.go @@ -3,8 +3,8 @@ package query_test import ( "testing" - "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/internal/pubsub/query" + "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/internal/pubsub/query" ) const testQuery = `tm.events.type='NewBlock' AND abci.account.name='Igor'` diff --git a/internal/pubsub/query/query.go b/internal/pubsub/query/query.go index cba494729a..db954fa82e 100644 --- a/internal/pubsub/query/query.go +++ b/internal/pubsub/query/query.go @@ -18,8 +18,8 @@ import ( "strings" "time" - "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/internal/pubsub/query/syntax" + "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/internal/pubsub/query/syntax" ) // All is a query that matches all events. diff --git a/internal/pubsub/query/query_test.go b/internal/pubsub/query/query_test.go index f6affb2d92..d6ec236d92 100644 --- a/internal/pubsub/query/query_test.go +++ b/internal/pubsub/query/query_test.go @@ -6,9 +6,9 @@ import ( "testing" "time" - "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/internal/pubsub/query" - "github.com/tendermint/tendermint/internal/pubsub/query/syntax" + "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/internal/pubsub/query" + "github.com/dashpay/tenderdash/internal/pubsub/query/syntax" ) // Example events from the OpenAPI documentation: diff --git a/internal/pubsub/query/syntax/syntax_test.go b/internal/pubsub/query/syntax/syntax_test.go index ac0473beb1..03b80becde 100644 --- a/internal/pubsub/query/syntax/syntax_test.go +++ b/internal/pubsub/query/syntax/syntax_test.go @@ -6,7 +6,7 @@ import ( "strings" "testing" - "github.com/tendermint/tendermint/internal/pubsub/query/syntax" + "github.com/dashpay/tenderdash/internal/pubsub/query/syntax" ) func TestScanner(t *testing.T) { diff --git a/internal/pubsub/subindex.go b/internal/pubsub/subindex.go index eadb193af2..b22072cde6 100644 --- a/internal/pubsub/subindex.go +++ b/internal/pubsub/subindex.go @@ -1,9 +1,9 @@ package pubsub import ( - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/internal/pubsub/query" - "github.com/tendermint/tendermint/types" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/internal/pubsub/query" + "github.com/dashpay/tenderdash/types" ) // An item to be published to subscribers. diff --git a/internal/pubsub/subscription.go b/internal/pubsub/subscription.go index fd1a239296..fd8c7cee58 100644 --- a/internal/pubsub/subscription.go +++ b/internal/pubsub/subscription.go @@ -6,9 +6,9 @@ import ( "github.com/google/uuid" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/internal/libs/queue" - "github.com/tendermint/tendermint/types" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/internal/libs/queue" + "github.com/dashpay/tenderdash/types" ) var ( diff --git a/internal/rpc/core/abci.go b/internal/rpc/core/abci.go index fa45c6b456..5de75ea5ee 100644 --- a/internal/rpc/core/abci.go +++ b/internal/rpc/core/abci.go @@ -3,9 +3,9 @@ package core import ( "context" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/internal/proxy" - "github.com/tendermint/tendermint/rpc/coretypes" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/internal/proxy" + "github.com/dashpay/tenderdash/rpc/coretypes" ) // ABCIQuery queries the application for some information. diff --git a/internal/rpc/core/blocks.go b/internal/rpc/core/blocks.go index 3eabb3636d..85e6f79903 100644 --- a/internal/rpc/core/blocks.go +++ b/internal/rpc/core/blocks.go @@ -5,12 +5,12 @@ import ( "fmt" "sort" - tmquery "github.com/tendermint/tendermint/internal/pubsub/query" - "github.com/tendermint/tendermint/internal/state/indexer" - tmmath "github.com/tendermint/tendermint/libs/math" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/rpc/coretypes" - "github.com/tendermint/tendermint/types" + tmquery "github.com/dashpay/tenderdash/internal/pubsub/query" + "github.com/dashpay/tenderdash/internal/state/indexer" + tmmath "github.com/dashpay/tenderdash/libs/math" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/rpc/coretypes" + "github.com/dashpay/tenderdash/types" ) // BlockchainInfo gets block headers for minHeight <= height <= maxHeight. diff --git a/internal/rpc/core/blocks_test.go b/internal/rpc/core/blocks_test.go index 3cb810e72d..3138210e28 100644 --- a/internal/rpc/core/blocks_test.go +++ b/internal/rpc/core/blocks_test.go @@ -10,11 +10,11 @@ import ( dbm "github.com/tendermint/tm-db" - abci "github.com/tendermint/tendermint/abci/types" - sm "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/internal/state/mocks" - "github.com/tendermint/tendermint/proto/tendermint/state" - "github.com/tendermint/tendermint/rpc/coretypes" + abci "github.com/dashpay/tenderdash/abci/types" + sm "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/internal/state/mocks" + "github.com/dashpay/tenderdash/proto/tendermint/state" + "github.com/dashpay/tenderdash/rpc/coretypes" ) func TestBlockchainInfo(t *testing.T) { diff --git a/internal/rpc/core/consensus.go b/internal/rpc/core/consensus.go index 8de2612f7d..ecacb6f1c0 100644 --- a/internal/rpc/core/consensus.go +++ b/internal/rpc/core/consensus.go @@ -3,9 +3,9 @@ package core import ( "context" - "github.com/tendermint/tendermint/libs" - tmmath "github.com/tendermint/tendermint/libs/math" - "github.com/tendermint/tendermint/rpc/coretypes" + "github.com/dashpay/tenderdash/libs" + tmmath "github.com/dashpay/tenderdash/libs/math" + "github.com/dashpay/tenderdash/rpc/coretypes" ) // Validators gets the validator set at the given block height. diff --git a/internal/rpc/core/dev.go b/internal/rpc/core/dev.go index 702413ab89..8d6b099ec7 100644 --- a/internal/rpc/core/dev.go +++ b/internal/rpc/core/dev.go @@ -3,7 +3,7 @@ package core import ( "context" - "github.com/tendermint/tendermint/rpc/coretypes" + "github.com/dashpay/tenderdash/rpc/coretypes" ) // UnsafeFlushMempool removes all transactions from the mempool. diff --git a/internal/rpc/core/env.go b/internal/rpc/core/env.go index ab46003a04..fd16d667d4 100644 --- a/internal/rpc/core/env.go +++ b/internal/rpc/core/env.go @@ -11,25 +11,25 @@ import ( "github.com/rs/cors" - abciclient "github.com/tendermint/tendermint/abci/client" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/internal/blocksync" - "github.com/tendermint/tendermint/internal/consensus" - "github.com/tendermint/tendermint/internal/eventbus" - "github.com/tendermint/tendermint/internal/eventlog" - "github.com/tendermint/tendermint/internal/libs/strings" - "github.com/tendermint/tendermint/internal/mempool" - "github.com/tendermint/tendermint/internal/p2p" - tmpubsub "github.com/tendermint/tendermint/internal/pubsub" - "github.com/tendermint/tendermint/internal/pubsub/query" - sm "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/internal/state/indexer" - "github.com/tendermint/tendermint/internal/statesync" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/rpc/coretypes" - rpcserver "github.com/tendermint/tendermint/rpc/jsonrpc/server" - "github.com/tendermint/tendermint/types" + abciclient "github.com/dashpay/tenderdash/abci/client" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/internal/blocksync" + "github.com/dashpay/tenderdash/internal/consensus" + "github.com/dashpay/tenderdash/internal/eventbus" + "github.com/dashpay/tenderdash/internal/eventlog" + "github.com/dashpay/tenderdash/internal/libs/strings" + "github.com/dashpay/tenderdash/internal/mempool" + "github.com/dashpay/tenderdash/internal/p2p" + tmpubsub "github.com/dashpay/tenderdash/internal/pubsub" + "github.com/dashpay/tenderdash/internal/pubsub/query" + sm "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/internal/state/indexer" + "github.com/dashpay/tenderdash/internal/statesync" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/rpc/coretypes" + rpcserver "github.com/dashpay/tenderdash/rpc/jsonrpc/server" + "github.com/dashpay/tenderdash/types" ) const ( @@ -227,7 +227,7 @@ func (env *Environment) StartService(ctx context.Context, conf *config.Config) ( cfg.MaxOpenConnections = conf.RPC.MaxOpenConnections // If necessary adjust global WriteTimeout to ensure it's greater than // TimeoutBroadcastTxCommit. - // See https://github.com/tendermint/tendermint/issues/3435 + // See https://github.com/dashpay/tenderdash/issues/3435 // Note we don't need to adjust anything if the timeout is already unlimited. if cfg.WriteTimeout > 0 && cfg.WriteTimeout <= conf.RPC.TimeoutBroadcastTxCommit { cfg.WriteTimeout = conf.RPC.TimeoutBroadcastTxCommit + 1*time.Second diff --git a/internal/rpc/core/events.go b/internal/rpc/core/events.go index 3f289bfa70..023d45a2d7 100644 --- a/internal/rpc/core/events.go +++ b/internal/rpc/core/events.go @@ -6,13 +6,13 @@ import ( "fmt" "time" - "github.com/tendermint/tendermint/internal/eventlog" - "github.com/tendermint/tendermint/internal/eventlog/cursor" - "github.com/tendermint/tendermint/internal/jsontypes" - tmpubsub "github.com/tendermint/tendermint/internal/pubsub" - tmquery "github.com/tendermint/tendermint/internal/pubsub/query" - "github.com/tendermint/tendermint/rpc/coretypes" - rpctypes "github.com/tendermint/tendermint/rpc/jsonrpc/types" + "github.com/dashpay/tenderdash/internal/eventlog" + "github.com/dashpay/tenderdash/internal/eventlog/cursor" + "github.com/dashpay/tenderdash/internal/jsontypes" + tmpubsub "github.com/dashpay/tenderdash/internal/pubsub" + tmquery "github.com/dashpay/tenderdash/internal/pubsub/query" + "github.com/dashpay/tenderdash/rpc/coretypes" + rpctypes "github.com/dashpay/tenderdash/rpc/jsonrpc/types" ) const ( diff --git a/internal/rpc/core/evidence.go b/internal/rpc/core/evidence.go index 5de93d2c2b..f87e5ec162 100644 --- a/internal/rpc/core/evidence.go +++ b/internal/rpc/core/evidence.go @@ -4,7 +4,7 @@ import ( "context" "fmt" - "github.com/tendermint/tendermint/rpc/coretypes" + "github.com/dashpay/tenderdash/rpc/coretypes" ) // BroadcastEvidence broadcasts evidence of the misbehavior. diff --git a/internal/rpc/core/health.go b/internal/rpc/core/health.go index c55aa58dca..438f994859 100644 --- a/internal/rpc/core/health.go +++ b/internal/rpc/core/health.go @@ -3,7 +3,7 @@ package core import ( "context" - "github.com/tendermint/tendermint/rpc/coretypes" + "github.com/dashpay/tenderdash/rpc/coretypes" ) // Health gets node health. Returns empty result (200 OK) on success, no diff --git a/internal/rpc/core/mempool.go b/internal/rpc/core/mempool.go index a5c22195f5..adfd86176f 100644 --- a/internal/rpc/core/mempool.go +++ b/internal/rpc/core/mempool.go @@ -7,11 +7,11 @@ import ( "math/rand" "time" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/internal/mempool" - "github.com/tendermint/tendermint/internal/state/indexer" - tmmath "github.com/tendermint/tendermint/libs/math" - "github.com/tendermint/tendermint/rpc/coretypes" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/internal/mempool" + "github.com/dashpay/tenderdash/internal/state/indexer" + tmmath "github.com/dashpay/tenderdash/libs/math" + "github.com/dashpay/tenderdash/rpc/coretypes" ) //----------------------------------------------------------------------------- diff --git a/internal/rpc/core/net.go b/internal/rpc/core/net.go index b18f1e2fc5..3914ecb85e 100644 --- a/internal/rpc/core/net.go +++ b/internal/rpc/core/net.go @@ -5,7 +5,7 @@ import ( "errors" "fmt" - "github.com/tendermint/tendermint/rpc/coretypes" + "github.com/dashpay/tenderdash/rpc/coretypes" ) // NetInfo returns network info. diff --git a/internal/rpc/core/routes.go b/internal/rpc/core/routes.go index 107b0e226d..49c493e1fa 100644 --- a/internal/rpc/core/routes.go +++ b/internal/rpc/core/routes.go @@ -3,8 +3,8 @@ package core import ( "context" - "github.com/tendermint/tendermint/rpc/coretypes" - rpc "github.com/tendermint/tendermint/rpc/jsonrpc/server" + "github.com/dashpay/tenderdash/rpc/coretypes" + rpc "github.com/dashpay/tenderdash/rpc/jsonrpc/server" ) // TODO: better system than "unsafe" prefix diff --git a/internal/rpc/core/status.go b/internal/rpc/core/status.go index 9086c71feb..c83cb30f86 100644 --- a/internal/rpc/core/status.go +++ b/internal/rpc/core/status.go @@ -5,9 +5,9 @@ import ( "fmt" "time" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/rpc/coretypes" - "github.com/tendermint/tendermint/types" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/rpc/coretypes" + "github.com/dashpay/tenderdash/types" ) // Status returns Tendermint status including node info, pubkey, latest block diff --git a/internal/rpc/core/tx.go b/internal/rpc/core/tx.go index cd643b8441..1258ae41ee 100644 --- a/internal/rpc/core/tx.go +++ b/internal/rpc/core/tx.go @@ -6,11 +6,11 @@ import ( "fmt" "sort" - tmquery "github.com/tendermint/tendermint/internal/pubsub/query" - "github.com/tendermint/tendermint/internal/state/indexer" - tmmath "github.com/tendermint/tendermint/libs/math" - "github.com/tendermint/tendermint/rpc/coretypes" - "github.com/tendermint/tendermint/types" + tmquery "github.com/dashpay/tenderdash/internal/pubsub/query" + "github.com/dashpay/tenderdash/internal/state/indexer" + tmmath "github.com/dashpay/tenderdash/libs/math" + "github.com/dashpay/tenderdash/rpc/coretypes" + "github.com/dashpay/tenderdash/types" ) // Tx allows you to query the transaction results. `nil` could mean the diff --git a/internal/state/current_round_state.go b/internal/state/current_round_state.go index 046680a383..b88ed95a59 100644 --- a/internal/state/current_round_state.go +++ b/internal/state/current_round_state.go @@ -4,10 +4,10 @@ import ( "bytes" "fmt" - abci "github.com/tendermint/tendermint/abci/types" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - tmtypes "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + abci "github.com/dashpay/tenderdash/abci/types" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + tmtypes "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) const ( diff --git a/internal/state/events.go b/internal/state/events.go index d20c689dc6..50c55e1ee6 100644 --- a/internal/state/events.go +++ b/internal/state/events.go @@ -4,8 +4,9 @@ import ( "fmt" "github.com/hashicorp/go-multierror" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/types" + + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/types" ) // EventSet is a set of events that are published immediately after the block is committed. diff --git a/internal/state/events_test.go b/internal/state/events_test.go index 77078a1c21..14e9486b95 100644 --- a/internal/state/events_test.go +++ b/internal/state/events_test.go @@ -6,9 +6,10 @@ import ( "github.com/stretchr/testify/mock" "github.com/stretchr/testify/require" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/types" - "github.com/tendermint/tendermint/types/mocks" + + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/types" + "github.com/dashpay/tenderdash/types/mocks" ) type mockEvidence struct{ types.Evidence } diff --git a/internal/state/execution.go b/internal/state/execution.go index fbc1aaaa13..359d9aedc6 100644 --- a/internal/state/execution.go +++ b/internal/state/execution.go @@ -9,14 +9,14 @@ import ( "fmt" "time" - abciclient "github.com/tendermint/tendermint/abci/client" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/internal/eventbus" - "github.com/tendermint/tendermint/internal/mempool" - "github.com/tendermint/tendermint/libs/log" - tmstate "github.com/tendermint/tendermint/proto/tendermint/state" - "github.com/tendermint/tendermint/types" + abciclient "github.com/dashpay/tenderdash/abci/client" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/internal/eventbus" + "github.com/dashpay/tenderdash/internal/mempool" + "github.com/dashpay/tenderdash/libs/log" + tmstate "github.com/dashpay/tenderdash/proto/tendermint/state" + "github.com/dashpay/tenderdash/types" ) //----------------------------------------------------------------------------- diff --git a/internal/state/execution_test.go b/internal/state/execution_test.go index 7f3f2c34c1..cdcdbf2bb4 100644 --- a/internal/state/execution_test.go +++ b/internal/state/execution_test.go @@ -13,27 +13,27 @@ import ( "github.com/stretchr/testify/require" dbm "github.com/tendermint/tm-db" - abciclient "github.com/tendermint/tendermint/abci/client" - abciclientmocks "github.com/tendermint/tendermint/abci/client/mocks" - abci "github.com/tendermint/tendermint/abci/types" - abcimocks "github.com/tendermint/tendermint/abci/types/mocks" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/bls12381" - "github.com/tendermint/tendermint/crypto/encoding" - "github.com/tendermint/tendermint/dash" - "github.com/tendermint/tendermint/internal/eventbus" - mpmocks "github.com/tendermint/tendermint/internal/mempool/mocks" - "github.com/tendermint/tendermint/internal/proxy" - "github.com/tendermint/tendermint/internal/pubsub" - sm "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/internal/state/mocks" - sf "github.com/tendermint/tendermint/internal/state/test/factory" - "github.com/tendermint/tendermint/internal/store" - "github.com/tendermint/tendermint/internal/test/factory" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/libs/rand" - tmtypes "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + abciclient "github.com/dashpay/tenderdash/abci/client" + abciclientmocks "github.com/dashpay/tenderdash/abci/client/mocks" + abci "github.com/dashpay/tenderdash/abci/types" + abcimocks "github.com/dashpay/tenderdash/abci/types/mocks" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/bls12381" + "github.com/dashpay/tenderdash/crypto/encoding" + "github.com/dashpay/tenderdash/dash" + "github.com/dashpay/tenderdash/internal/eventbus" + mpmocks "github.com/dashpay/tenderdash/internal/mempool/mocks" + "github.com/dashpay/tenderdash/internal/proxy" + "github.com/dashpay/tenderdash/internal/pubsub" + sm "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/internal/state/mocks" + sf "github.com/dashpay/tenderdash/internal/state/test/factory" + "github.com/dashpay/tenderdash/internal/store" + "github.com/dashpay/tenderdash/internal/test/factory" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/libs/rand" + tmtypes "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) var ( diff --git a/internal/state/export_test.go b/internal/state/export_test.go index 5f41108653..d99b509777 100644 --- a/internal/state/export_test.go +++ b/internal/state/export_test.go @@ -1,8 +1,8 @@ package state import ( - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/types" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/types" ) // ValidateValidatorUpdates is an alias for validateValidatorUpdates exported diff --git a/internal/state/helpers_test.go b/internal/state/helpers_test.go index 51d0e7ba63..699f855b56 100644 --- a/internal/state/helpers_test.go +++ b/internal/state/helpers_test.go @@ -9,14 +9,14 @@ import ( "github.com/stretchr/testify/require" dbm "github.com/tendermint/tm-db" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/crypto" - sm "github.com/tendermint/tendermint/internal/state" - sf "github.com/tendermint/tendermint/internal/state/test/factory" - "github.com/tendermint/tendermint/internal/test/factory" - tmstate "github.com/tendermint/tendermint/proto/tendermint/state" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/crypto" + sm "github.com/dashpay/tenderdash/internal/state" + sf "github.com/dashpay/tenderdash/internal/state/test/factory" + "github.com/dashpay/tenderdash/internal/test/factory" + tmstate "github.com/dashpay/tenderdash/proto/tendermint/state" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) const ( diff --git a/internal/state/indexer/block/kv/kv.go b/internal/state/indexer/block/kv/kv.go index 1b9a3120b9..ccba695093 100644 --- a/internal/state/indexer/block/kv/kv.go +++ b/internal/state/indexer/block/kv/kv.go @@ -11,11 +11,11 @@ import ( "github.com/google/orderedcode" dbm "github.com/tendermint/tm-db" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/internal/pubsub/query" - "github.com/tendermint/tendermint/internal/pubsub/query/syntax" - "github.com/tendermint/tendermint/internal/state/indexer" - "github.com/tendermint/tendermint/types" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/internal/pubsub/query" + "github.com/dashpay/tenderdash/internal/pubsub/query/syntax" + "github.com/dashpay/tenderdash/internal/state/indexer" + "github.com/dashpay/tenderdash/types" ) var _ indexer.BlockIndexer = (*BlockerIndexer)(nil) diff --git a/internal/state/indexer/block/kv/kv_test.go b/internal/state/indexer/block/kv/kv_test.go index 0bca43848b..20cda5a82c 100644 --- a/internal/state/indexer/block/kv/kv_test.go +++ b/internal/state/indexer/block/kv/kv_test.go @@ -8,10 +8,10 @@ import ( "github.com/stretchr/testify/require" dbm "github.com/tendermint/tm-db" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/internal/pubsub/query" - blockidxkv "github.com/tendermint/tendermint/internal/state/indexer/block/kv" - "github.com/tendermint/tendermint/types" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/internal/pubsub/query" + blockidxkv "github.com/dashpay/tenderdash/internal/state/indexer/block/kv" + "github.com/dashpay/tenderdash/types" ) func TestBlockIndexer(t *testing.T) { diff --git a/internal/state/indexer/block/kv/util.go b/internal/state/indexer/block/kv/util.go index fd68462739..57b841d370 100644 --- a/internal/state/indexer/block/kv/util.go +++ b/internal/state/indexer/block/kv/util.go @@ -7,8 +7,8 @@ import ( "github.com/google/orderedcode" - "github.com/tendermint/tendermint/internal/pubsub/query/syntax" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/internal/pubsub/query/syntax" + "github.com/dashpay/tenderdash/types" ) func intInSlice(a int, list []int) bool { diff --git a/internal/state/indexer/block/null/null.go b/internal/state/indexer/block/null/null.go index 7d5453848e..e864490aa4 100644 --- a/internal/state/indexer/block/null/null.go +++ b/internal/state/indexer/block/null/null.go @@ -4,9 +4,9 @@ import ( "context" "errors" - "github.com/tendermint/tendermint/internal/pubsub/query" - "github.com/tendermint/tendermint/internal/state/indexer" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/internal/pubsub/query" + "github.com/dashpay/tenderdash/internal/state/indexer" + "github.com/dashpay/tenderdash/types" ) var _ indexer.BlockIndexer = (*BlockerIndexer)(nil) diff --git a/internal/state/indexer/eventsink.go b/internal/state/indexer/eventsink.go index 9b4d6f5614..1aa1882c84 100644 --- a/internal/state/indexer/eventsink.go +++ b/internal/state/indexer/eventsink.go @@ -3,9 +3,9 @@ package indexer import ( "context" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/internal/pubsub/query" - "github.com/tendermint/tendermint/types" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/internal/pubsub/query" + "github.com/dashpay/tenderdash/types" ) type EventSinkType string diff --git a/internal/state/indexer/indexer.go b/internal/state/indexer/indexer.go index 7ff6733db3..6a366833b0 100644 --- a/internal/state/indexer/indexer.go +++ b/internal/state/indexer/indexer.go @@ -4,9 +4,9 @@ import ( "context" "errors" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/internal/pubsub/query" - "github.com/tendermint/tendermint/types" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/internal/pubsub/query" + "github.com/dashpay/tenderdash/types" ) // TxIndexer interface defines methods to index and search transactions. diff --git a/internal/state/indexer/indexer_service.go b/internal/state/indexer/indexer_service.go index d6db82806a..8a857aba2c 100644 --- a/internal/state/indexer/indexer_service.go +++ b/internal/state/indexer/indexer_service.go @@ -4,12 +4,12 @@ import ( "context" "time" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/internal/eventbus" - "github.com/tendermint/tendermint/internal/pubsub" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/libs/service" - "github.com/tendermint/tendermint/types" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/internal/eventbus" + "github.com/dashpay/tenderdash/internal/pubsub" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/libs/service" + "github.com/dashpay/tenderdash/types" ) // Service connects event bus, transaction and block indexers together in diff --git a/internal/state/indexer/indexer_service_test.go b/internal/state/indexer/indexer_service_test.go index 6dc1bdf504..b3a3843a75 100644 --- a/internal/state/indexer/indexer_service_test.go +++ b/internal/state/indexer/indexer_service_test.go @@ -15,13 +15,13 @@ import ( "github.com/stretchr/testify/require" dbm "github.com/tendermint/tm-db" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/internal/eventbus" - "github.com/tendermint/tendermint/internal/state/indexer" - "github.com/tendermint/tendermint/internal/state/indexer/sink/kv" - "github.com/tendermint/tendermint/internal/state/indexer/sink/psql" - tmlog "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/types" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/internal/eventbus" + "github.com/dashpay/tenderdash/internal/state/indexer" + "github.com/dashpay/tenderdash/internal/state/indexer/sink/kv" + "github.com/dashpay/tenderdash/internal/state/indexer/sink/psql" + tmlog "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/types" // Register the Postgre database driver. _ "github.com/lib/pq" diff --git a/internal/state/indexer/mocks/event_sink.go b/internal/state/indexer/mocks/event_sink.go index 86a5b31432..45d3f22c8a 100644 --- a/internal/state/indexer/mocks/event_sink.go +++ b/internal/state/indexer/mocks/event_sink.go @@ -5,14 +5,14 @@ package mocks import ( context "context" + indexer "github.com/dashpay/tenderdash/internal/state/indexer" mock "github.com/stretchr/testify/mock" - indexer "github.com/tendermint/tendermint/internal/state/indexer" - query "github.com/tendermint/tendermint/internal/pubsub/query" + query "github.com/dashpay/tenderdash/internal/pubsub/query" - tenderminttypes "github.com/tendermint/tendermint/types" + tenderdashtypes "github.com/dashpay/tenderdash/types" - types "github.com/tendermint/tendermint/abci/types" + types "github.com/dashpay/tenderdash/abci/types" ) // EventSink is an autogenerated mock type for the EventSink type @@ -71,11 +71,11 @@ func (_m *EventSink) HasBlock(_a0 int64) (bool, error) { } // IndexBlockEvents provides a mock function with given fields: _a0 -func (_m *EventSink) IndexBlockEvents(_a0 tenderminttypes.EventDataNewBlockHeader) error { +func (_m *EventSink) IndexBlockEvents(_a0 tenderdashtypes.EventDataNewBlockHeader) error { ret := _m.Called(_a0) var r0 error - if rf, ok := ret.Get(0).(func(tenderminttypes.EventDataNewBlockHeader) error); ok { + if rf, ok := ret.Get(0).(func(tenderdashtypes.EventDataNewBlockHeader) error); ok { r0 = rf(_a0) } else { r0 = ret.Error(0) diff --git a/internal/state/indexer/query_range.go b/internal/state/indexer/query_range.go index ff54cd32b8..e160b9f8e3 100644 --- a/internal/state/indexer/query_range.go +++ b/internal/state/indexer/query_range.go @@ -3,7 +3,7 @@ package indexer import ( "time" - "github.com/tendermint/tendermint/internal/pubsub/query/syntax" + "github.com/dashpay/tenderdash/internal/pubsub/query/syntax" ) // QueryRanges defines a mapping between a composite event key and a QueryRange. diff --git a/internal/state/indexer/sink/kv/kv.go b/internal/state/indexer/sink/kv/kv.go index 10282fd340..688841097a 100644 --- a/internal/state/indexer/sink/kv/kv.go +++ b/internal/state/indexer/sink/kv/kv.go @@ -5,12 +5,12 @@ import ( dbm "github.com/tendermint/tm-db" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/internal/pubsub/query" - "github.com/tendermint/tendermint/internal/state/indexer" - kvb "github.com/tendermint/tendermint/internal/state/indexer/block/kv" - kvt "github.com/tendermint/tendermint/internal/state/indexer/tx/kv" - "github.com/tendermint/tendermint/types" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/internal/pubsub/query" + "github.com/dashpay/tenderdash/internal/state/indexer" + kvb "github.com/dashpay/tenderdash/internal/state/indexer/block/kv" + kvt "github.com/dashpay/tenderdash/internal/state/indexer/tx/kv" + "github.com/dashpay/tenderdash/types" ) var _ indexer.EventSink = (*EventSink)(nil) diff --git a/internal/state/indexer/sink/kv/kv_test.go b/internal/state/indexer/sink/kv/kv_test.go index d4b110f4ae..690e9d5be0 100644 --- a/internal/state/indexer/sink/kv/kv_test.go +++ b/internal/state/indexer/sink/kv/kv_test.go @@ -11,11 +11,11 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/internal/pubsub/query" - "github.com/tendermint/tendermint/internal/state/indexer" - kvtx "github.com/tendermint/tendermint/internal/state/indexer/tx/kv" - "github.com/tendermint/tendermint/types" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/internal/pubsub/query" + "github.com/dashpay/tenderdash/internal/state/indexer" + kvtx "github.com/dashpay/tenderdash/internal/state/indexer/tx/kv" + "github.com/dashpay/tenderdash/types" ) func TestType(t *testing.T) { diff --git a/internal/state/indexer/sink/null/null.go b/internal/state/indexer/sink/null/null.go index c436bdf0f1..6632eeb8f5 100644 --- a/internal/state/indexer/sink/null/null.go +++ b/internal/state/indexer/sink/null/null.go @@ -3,10 +3,10 @@ package null import ( "context" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/internal/pubsub/query" - "github.com/tendermint/tendermint/internal/state/indexer" - "github.com/tendermint/tendermint/types" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/internal/pubsub/query" + "github.com/dashpay/tenderdash/internal/state/indexer" + "github.com/dashpay/tenderdash/types" ) var _ indexer.EventSink = (*EventSink)(nil) diff --git a/internal/state/indexer/sink/null/null_test.go b/internal/state/indexer/sink/null/null_test.go index 9af66027f6..c6cdc6c6e0 100644 --- a/internal/state/indexer/sink/null/null_test.go +++ b/internal/state/indexer/sink/null/null_test.go @@ -6,8 +6,8 @@ import ( "github.com/stretchr/testify/assert" - "github.com/tendermint/tendermint/internal/state/indexer" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/internal/state/indexer" + "github.com/dashpay/tenderdash/types" ) func TestNullEventSink(t *testing.T) { diff --git a/internal/state/indexer/sink/psql/psql.go b/internal/state/indexer/sink/psql/psql.go index 57f5e5c3d6..9d8c68761f 100644 --- a/internal/state/indexer/sink/psql/psql.go +++ b/internal/state/indexer/sink/psql/psql.go @@ -10,10 +10,11 @@ import ( "time" "github.com/gogo/protobuf/jsonpb" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/internal/pubsub/query" - "github.com/tendermint/tendermint/internal/state/indexer" - "github.com/tendermint/tendermint/types" + + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/internal/pubsub/query" + "github.com/dashpay/tenderdash/internal/state/indexer" + "github.com/dashpay/tenderdash/types" ) const ( diff --git a/internal/state/indexer/sink/psql/psql_test.go b/internal/state/indexer/sink/psql/psql_test.go index 0ef9218d28..17c457530e 100644 --- a/internal/state/indexer/sink/psql/psql_test.go +++ b/internal/state/indexer/sink/psql/psql_test.go @@ -19,10 +19,10 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/internal/state/indexer" - "github.com/tendermint/tendermint/types" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/internal/state/indexer" + "github.com/dashpay/tenderdash/types" // Register the Postgres database driver. _ "github.com/lib/pq" diff --git a/internal/state/indexer/sink/sink.go b/internal/state/indexer/sink/sink.go index cae861416c..1bc6d4cc92 100644 --- a/internal/state/indexer/sink/sink.go +++ b/internal/state/indexer/sink/sink.go @@ -4,11 +4,11 @@ import ( "errors" "strings" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/internal/state/indexer" - "github.com/tendermint/tendermint/internal/state/indexer/sink/kv" - "github.com/tendermint/tendermint/internal/state/indexer/sink/null" - "github.com/tendermint/tendermint/internal/state/indexer/sink/psql" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/internal/state/indexer" + "github.com/dashpay/tenderdash/internal/state/indexer/sink/kv" + "github.com/dashpay/tenderdash/internal/state/indexer/sink/null" + "github.com/dashpay/tenderdash/internal/state/indexer/sink/psql" ) // EventSinksFromConfig constructs a slice of indexer.EventSink using the provided diff --git a/internal/state/indexer/tx/kv/kv.go b/internal/state/indexer/tx/kv/kv.go index ef362425bd..d9e93f2c8a 100644 --- a/internal/state/indexer/tx/kv/kv.go +++ b/internal/state/indexer/tx/kv/kv.go @@ -11,11 +11,11 @@ import ( "github.com/google/orderedcode" dbm "github.com/tendermint/tm-db" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/internal/pubsub/query" - "github.com/tendermint/tendermint/internal/pubsub/query/syntax" - "github.com/tendermint/tendermint/internal/state/indexer" - "github.com/tendermint/tendermint/types" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/internal/pubsub/query" + "github.com/dashpay/tenderdash/internal/pubsub/query/syntax" + "github.com/dashpay/tenderdash/internal/state/indexer" + "github.com/dashpay/tenderdash/types" ) var _ indexer.TxIndexer = (*TxIndex)(nil) diff --git a/internal/state/indexer/tx/kv/kv_bench_test.go b/internal/state/indexer/tx/kv/kv_bench_test.go index 7007d5bb5b..c0e4d89ae7 100644 --- a/internal/state/indexer/tx/kv/kv_bench_test.go +++ b/internal/state/indexer/tx/kv/kv_bench_test.go @@ -8,9 +8,9 @@ import ( dbm "github.com/tendermint/tm-db" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/internal/pubsub/query" - "github.com/tendermint/tendermint/types" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/internal/pubsub/query" + "github.com/dashpay/tenderdash/types" ) func BenchmarkTxSearch(b *testing.B) { diff --git a/internal/state/indexer/tx/kv/kv_test.go b/internal/state/indexer/tx/kv/kv_test.go index 8004c0f27e..79f8b32173 100644 --- a/internal/state/indexer/tx/kv/kv_test.go +++ b/internal/state/indexer/tx/kv/kv_test.go @@ -10,11 +10,11 @@ import ( "github.com/stretchr/testify/require" dbm "github.com/tendermint/tm-db" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/internal/pubsub/query" - "github.com/tendermint/tendermint/internal/state/indexer" - tmrand "github.com/tendermint/tendermint/libs/rand" - "github.com/tendermint/tendermint/types" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/internal/pubsub/query" + "github.com/dashpay/tenderdash/internal/state/indexer" + tmrand "github.com/dashpay/tenderdash/libs/rand" + "github.com/dashpay/tenderdash/types" ) func TestTxIndex(t *testing.T) { diff --git a/internal/state/indexer/tx/null/null.go b/internal/state/indexer/tx/null/null.go index dea5d570f8..d6a1be056f 100644 --- a/internal/state/indexer/tx/null/null.go +++ b/internal/state/indexer/tx/null/null.go @@ -4,9 +4,9 @@ import ( "context" "errors" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/internal/pubsub/query" - "github.com/tendermint/tendermint/internal/state/indexer" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/internal/pubsub/query" + "github.com/dashpay/tenderdash/internal/state/indexer" ) var _ indexer.TxIndexer = (*TxIndex)(nil) diff --git a/internal/state/mocks/block_store.go b/internal/state/mocks/block_store.go index 6dc0ce7d06..f4a0636d78 100644 --- a/internal/state/mocks/block_store.go +++ b/internal/state/mocks/block_store.go @@ -5,7 +5,7 @@ package mocks import ( mock "github.com/stretchr/testify/mock" - types "github.com/tendermint/tendermint/types" + types "github.com/dashpay/tenderdash/types" ) // BlockStore is an autogenerated mock type for the BlockStore type diff --git a/internal/state/mocks/event_sink.go b/internal/state/mocks/event_sink.go index 9f2d2daf3c..6d2d679432 100644 --- a/internal/state/mocks/event_sink.go +++ b/internal/state/mocks/event_sink.go @@ -7,13 +7,13 @@ import ( mock "github.com/stretchr/testify/mock" - indexer "github.com/tendermint/tendermint/internal/state/indexer" + indexer "github.com/dashpay/tenderdash/internal/state/indexer" - query "github.com/tendermint/tendermint/internal/pubsub/query" + query "github.com/dashpay/tenderdash/internal/pubsub/query" - tenderminttypes "github.com/tendermint/tendermint/types" + tenderminttypes "github.com/dashpay/tenderdash/types" - types "github.com/tendermint/tendermint/abci/types" + types "github.com/dashpay/tenderdash/abci/types" ) // EventSink is an autogenerated mock type for the EventSink type diff --git a/internal/state/mocks/evidence_pool.go b/internal/state/mocks/evidence_pool.go index c7cc9dcca6..162d1035d3 100644 --- a/internal/state/mocks/evidence_pool.go +++ b/internal/state/mocks/evidence_pool.go @@ -5,10 +5,10 @@ package mocks import ( context "context" + state "github.com/dashpay/tenderdash/internal/state" mock "github.com/stretchr/testify/mock" - state "github.com/tendermint/tendermint/internal/state" - types "github.com/tendermint/tendermint/types" + types "github.com/dashpay/tenderdash/types" ) // EvidencePool is an autogenerated mock type for the EvidencePool type diff --git a/internal/state/mocks/executor.go b/internal/state/mocks/executor.go index b102fb36e1..daa92ee0dc 100644 --- a/internal/state/mocks/executor.go +++ b/internal/state/mocks/executor.go @@ -5,10 +5,10 @@ package mocks import ( context "context" + state "github.com/dashpay/tenderdash/internal/state" mock "github.com/stretchr/testify/mock" - state "github.com/tendermint/tendermint/internal/state" - types "github.com/tendermint/tendermint/types" + types "github.com/dashpay/tenderdash/types" ) // Executor is an autogenerated mock type for the Executor type diff --git a/internal/state/mocks/store.go b/internal/state/mocks/store.go index 6d51274f9a..8f8fc65857 100644 --- a/internal/state/mocks/store.go +++ b/internal/state/mocks/store.go @@ -3,11 +3,12 @@ package mocks import ( + state "github.com/dashpay/tenderdash/internal/state" mock "github.com/stretchr/testify/mock" - state "github.com/tendermint/tendermint/internal/state" - tendermintstate "github.com/tendermint/tendermint/proto/tendermint/state" - types "github.com/tendermint/tendermint/types" + tendermintstate "github.com/dashpay/tenderdash/proto/tendermint/state" + + types "github.com/dashpay/tenderdash/types" ) // Store is an autogenerated mock type for the Store type diff --git a/internal/state/rollback.go b/internal/state/rollback.go index 9818b8da22..5f077c70b1 100644 --- a/internal/state/rollback.go +++ b/internal/state/rollback.go @@ -4,7 +4,7 @@ import ( "errors" "fmt" - "github.com/tendermint/tendermint/version" + "github.com/dashpay/tenderdash/version" ) // Rollback overwrites the current Tendermint state (height n) with the most diff --git a/internal/state/rollback_test.go b/internal/state/rollback_test.go index 02c939f56d..4ca126c110 100644 --- a/internal/state/rollback_test.go +++ b/internal/state/rollback_test.go @@ -6,11 +6,11 @@ import ( "github.com/stretchr/testify/require" dbm "github.com/tendermint/tm-db" - "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/internal/state/mocks" - "github.com/tendermint/tendermint/internal/test/factory" - "github.com/tendermint/tendermint/types" - "github.com/tendermint/tendermint/version" + "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/internal/state/mocks" + "github.com/dashpay/tenderdash/internal/test/factory" + "github.com/dashpay/tenderdash/types" + "github.com/dashpay/tenderdash/version" ) func TestRollback(t *testing.T) { diff --git a/internal/state/services.go b/internal/state/services.go index c8f4ffe5ee..ad104641dc 100644 --- a/internal/state/services.go +++ b/internal/state/services.go @@ -3,7 +3,7 @@ package state import ( "context" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/types" ) //------------------------------------------------------ diff --git a/internal/state/state.go b/internal/state/state.go index 8a9fd03c7b..0b7b994d5b 100644 --- a/internal/state/state.go +++ b/internal/state/state.go @@ -10,13 +10,13 @@ import ( "github.com/gogo/protobuf/proto" - "github.com/tendermint/tendermint/dash" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - tmtime "github.com/tendermint/tendermint/libs/time" - tmstate "github.com/tendermint/tendermint/proto/tendermint/state" - tmversion "github.com/tendermint/tendermint/proto/tendermint/version" - "github.com/tendermint/tendermint/types" - "github.com/tendermint/tendermint/version" + "github.com/dashpay/tenderdash/dash" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + tmtime "github.com/dashpay/tenderdash/libs/time" + tmstate "github.com/dashpay/tenderdash/proto/tendermint/state" + tmversion "github.com/dashpay/tenderdash/proto/tendermint/version" + "github.com/dashpay/tenderdash/types" + "github.com/dashpay/tenderdash/version" ) //----------------------------------------------------------------------------- diff --git a/internal/state/state_test.go b/internal/state/state_test.go index 128994c877..5c2e05056d 100644 --- a/internal/state/state_test.go +++ b/internal/state/state_test.go @@ -12,18 +12,18 @@ import ( "github.com/stretchr/testify/require" dbm "github.com/tendermint/tm-db" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/bls12381" - cryptoenc "github.com/tendermint/tendermint/crypto/encoding" - "github.com/tendermint/tendermint/crypto/merkle" - "github.com/tendermint/tendermint/dash" - "github.com/tendermint/tendermint/dash/llmq" - sm "github.com/tendermint/tendermint/internal/state" - statefactory "github.com/tendermint/tendermint/internal/state/test/factory" - tmstate "github.com/tendermint/tendermint/proto/tendermint/state" - "github.com/tendermint/tendermint/types" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/bls12381" + cryptoenc "github.com/dashpay/tenderdash/crypto/encoding" + "github.com/dashpay/tenderdash/crypto/merkle" + "github.com/dashpay/tenderdash/dash" + "github.com/dashpay/tenderdash/dash/llmq" + sm "github.com/dashpay/tenderdash/internal/state" + statefactory "github.com/dashpay/tenderdash/internal/state/test/factory" + tmstate "github.com/dashpay/tenderdash/proto/tendermint/state" + "github.com/dashpay/tenderdash/types" ) // setupTestCase does setup common to all test cases. diff --git a/internal/state/store.go b/internal/state/store.go index 56549e10b2..0c97f9af30 100644 --- a/internal/state/store.go +++ b/internal/state/store.go @@ -9,11 +9,11 @@ import ( "github.com/google/orderedcode" dbm "github.com/tendermint/tm-db" - abci "github.com/tendermint/tendermint/abci/types" - tmmath "github.com/tendermint/tendermint/libs/math" - tmstate "github.com/tendermint/tendermint/proto/tendermint/state" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + abci "github.com/dashpay/tenderdash/abci/types" + tmmath "github.com/dashpay/tenderdash/libs/math" + tmstate "github.com/dashpay/tenderdash/proto/tendermint/state" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) const ( diff --git a/internal/state/store_test.go b/internal/state/store_test.go index 6d38a9131d..153fa4bd7b 100644 --- a/internal/state/store_test.go +++ b/internal/state/store_test.go @@ -10,13 +10,13 @@ import ( "github.com/stretchr/testify/require" dbm "github.com/tendermint/tm-db" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/bls12381" - sm "github.com/tendermint/tendermint/internal/state" - tmstate "github.com/tendermint/tendermint/proto/tendermint/state" - "github.com/tendermint/tendermint/types" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/bls12381" + sm "github.com/dashpay/tenderdash/internal/state" + tmstate "github.com/dashpay/tenderdash/proto/tendermint/state" + "github.com/dashpay/tenderdash/types" ) const ( diff --git a/internal/state/test/factory/block.go b/internal/state/test/factory/block.go index d17330a79d..d6ff4f237a 100644 --- a/internal/state/test/factory/block.go +++ b/internal/state/test/factory/block.go @@ -9,11 +9,11 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/crypto" - sm "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/internal/test/factory" - "github.com/tendermint/tendermint/types" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/crypto" + sm "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/internal/test/factory" + "github.com/dashpay/tenderdash/types" ) func MakeBlocks(ctx context.Context, t *testing.T, n int, state *sm.State, privVals []types.PrivValidator, proposedAppVersion uint64) []*types.Block { diff --git a/internal/state/tx_filter.go b/internal/state/tx_filter.go index f0ba76a1ad..4b1afd8d87 100644 --- a/internal/state/tx_filter.go +++ b/internal/state/tx_filter.go @@ -5,9 +5,9 @@ import ( sync "github.com/sasha-s/go-deadlock" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/internal/mempool" - "github.com/tendermint/tendermint/types" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/internal/mempool" + "github.com/dashpay/tenderdash/types" ) func cachingStateFetcher(store Store) func() (State, error) { diff --git a/internal/state/tx_filter_test.go b/internal/state/tx_filter_test.go index 7df56d2f01..bec5162434 100644 --- a/internal/state/tx_filter_test.go +++ b/internal/state/tx_filter_test.go @@ -4,14 +4,13 @@ import ( "strconv" "testing" - tmrand "github.com/tendermint/tendermint/libs/rand" - "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - sm "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/internal/test/factory" - "github.com/tendermint/tendermint/types" + sm "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/internal/test/factory" + tmrand "github.com/dashpay/tenderdash/libs/rand" + "github.com/dashpay/tenderdash/types" ) func TestTxFilter(t *testing.T) { diff --git a/internal/state/validation.go b/internal/state/validation.go index 76d236533d..ceb0884f6b 100644 --- a/internal/state/validation.go +++ b/internal/state/validation.go @@ -5,11 +5,10 @@ import ( "errors" "fmt" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/crypto" - cryptoenc "github.com/tendermint/tendermint/crypto/encoding" - - "github.com/tendermint/tendermint/types" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/crypto" + cryptoenc "github.com/dashpay/tenderdash/crypto/encoding" + "github.com/dashpay/tenderdash/types" ) //----------------------------------------------------- diff --git a/internal/state/validation_test.go b/internal/state/validation_test.go index 950c7ff18b..281ac4eb7e 100644 --- a/internal/state/validation_test.go +++ b/internal/state/validation_test.go @@ -12,21 +12,21 @@ import ( "github.com/stretchr/testify/require" dbm "github.com/tendermint/tm-db" - abciclient "github.com/tendermint/tendermint/abci/client" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/internal/eventbus" - mpmocks "github.com/tendermint/tendermint/internal/mempool/mocks" - "github.com/tendermint/tendermint/internal/proxy" - sm "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/internal/state/mocks" - statefactory "github.com/tendermint/tendermint/internal/state/test/factory" - "github.com/tendermint/tendermint/internal/store" - testfactory "github.com/tendermint/tendermint/internal/test/factory" - "github.com/tendermint/tendermint/libs/log" - tmrand "github.com/tendermint/tendermint/libs/rand" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + abciclient "github.com/dashpay/tenderdash/abci/client" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/internal/eventbus" + mpmocks "github.com/dashpay/tenderdash/internal/mempool/mocks" + "github.com/dashpay/tenderdash/internal/proxy" + sm "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/internal/state/mocks" + statefactory "github.com/dashpay/tenderdash/internal/state/test/factory" + "github.com/dashpay/tenderdash/internal/store" + testfactory "github.com/dashpay/tenderdash/internal/test/factory" + "github.com/dashpay/tenderdash/libs/log" + tmrand "github.com/dashpay/tenderdash/libs/rand" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) const validationTestsStopHeight int64 = 10 diff --git a/internal/statesync/block_queue.go b/internal/statesync/block_queue.go index 123ff89c91..04ff84f6fd 100644 --- a/internal/statesync/block_queue.go +++ b/internal/statesync/block_queue.go @@ -7,7 +7,7 @@ import ( sync "github.com/sasha-s/go-deadlock" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/types" ) type lightBlockResponse struct { diff --git a/internal/statesync/block_queue_test.go b/internal/statesync/block_queue_test.go index 64c1216804..5b3d0bc05b 100644 --- a/internal/statesync/block_queue_test.go +++ b/internal/statesync/block_queue_test.go @@ -11,8 +11,8 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/internal/test/factory" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/internal/test/factory" + "github.com/dashpay/tenderdash/types" ) var ( diff --git a/internal/statesync/chunks.go b/internal/statesync/chunks.go index 2a49bceb88..bd9d23e880 100644 --- a/internal/statesync/chunks.go +++ b/internal/statesync/chunks.go @@ -9,8 +9,8 @@ import ( sync "github.com/sasha-s/go-deadlock" - "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/types" ) // errDone is returned by chunkQueue.Next() when all chunks have been returned. diff --git a/internal/statesync/chunks_test.go b/internal/statesync/chunks_test.go index eae4040120..0ecb01946e 100644 --- a/internal/statesync/chunks_test.go +++ b/internal/statesync/chunks_test.go @@ -6,8 +6,8 @@ import ( "github.com/stretchr/testify/suite" - "github.com/tendermint/tendermint/internal/test/factory" - "github.com/tendermint/tendermint/libs/bytes" + "github.com/dashpay/tenderdash/internal/test/factory" + "github.com/dashpay/tenderdash/libs/bytes" ) type ChunkQueueTestSuite struct { diff --git a/internal/statesync/dispatcher.go b/internal/statesync/dispatcher.go index 3a7fef5dd1..5ded294ca1 100644 --- a/internal/statesync/dispatcher.go +++ b/internal/statesync/dispatcher.go @@ -8,12 +8,12 @@ import ( sync "github.com/sasha-s/go-deadlock" - "github.com/tendermint/tendermint/internal/p2p" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/light/provider" - ssproto "github.com/tendermint/tendermint/proto/tendermint/statesync" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/internal/p2p" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/light/provider" + ssproto "github.com/dashpay/tenderdash/proto/tendermint/statesync" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) var ( diff --git a/internal/statesync/dispatcher_test.go b/internal/statesync/dispatcher_test.go index 88add1e06b..b80884e7ab 100644 --- a/internal/statesync/dispatcher_test.go +++ b/internal/statesync/dispatcher_test.go @@ -12,11 +12,11 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/internal/p2p" - "github.com/tendermint/tendermint/internal/test/factory" - "github.com/tendermint/tendermint/libs/log" - ssproto "github.com/tendermint/tendermint/proto/tendermint/statesync" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/internal/p2p" + "github.com/dashpay/tenderdash/internal/test/factory" + "github.com/dashpay/tenderdash/libs/log" + ssproto "github.com/dashpay/tenderdash/proto/tendermint/statesync" + "github.com/dashpay/tenderdash/types" ) type channelInternal struct { diff --git a/internal/statesync/mocks/state_provider.go b/internal/statesync/mocks/state_provider.go index acd99f42cf..b4301dffcb 100644 --- a/internal/statesync/mocks/state_provider.go +++ b/internal/statesync/mocks/state_provider.go @@ -5,13 +5,13 @@ package mocks import ( context "context" - bytes "github.com/tendermint/tendermint/libs/bytes" + bytes "github.com/dashpay/tenderdash/libs/bytes" mock "github.com/stretchr/testify/mock" - state "github.com/tendermint/tendermint/internal/state" + state "github.com/dashpay/tenderdash/internal/state" - types "github.com/tendermint/tendermint/types" + types "github.com/dashpay/tenderdash/types" ) // StateProvider is an autogenerated mock type for the StateProvider type diff --git a/internal/statesync/peer.go b/internal/statesync/peer.go index f15e3fe1f9..bc53201de1 100644 --- a/internal/statesync/peer.go +++ b/internal/statesync/peer.go @@ -3,11 +3,11 @@ package statesync import ( "context" - "github.com/tendermint/tendermint/internal/p2p" - "github.com/tendermint/tendermint/internal/p2p/client" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/libs/store" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/internal/p2p" + "github.com/dashpay/tenderdash/internal/p2p/client" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/libs/store" + "github.com/dashpay/tenderdash/types" ) type ( diff --git a/internal/statesync/peer_test.go b/internal/statesync/peer_test.go index 184361821d..23d6d0d7f8 100644 --- a/internal/statesync/peer_test.go +++ b/internal/statesync/peer_test.go @@ -5,11 +5,11 @@ import ( "testing" "time" - "github.com/tendermint/tendermint/internal/p2p" - "github.com/tendermint/tendermint/internal/p2p/client/mocks" - "github.com/tendermint/tendermint/libs/log" - peerMocks "github.com/tendermint/tendermint/libs/store/mocks" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/internal/p2p" + "github.com/dashpay/tenderdash/internal/p2p/client/mocks" + "github.com/dashpay/tenderdash/libs/log" + peerMocks "github.com/dashpay/tenderdash/libs/store/mocks" + "github.com/dashpay/tenderdash/types" ) func TestPeerSubscriberBasic(t *testing.T) { diff --git a/internal/statesync/reactor.go b/internal/statesync/reactor.go index bd7bf59d91..d1b64b329a 100644 --- a/internal/statesync/reactor.go +++ b/internal/statesync/reactor.go @@ -12,20 +12,20 @@ import ( sync "github.com/sasha-s/go-deadlock" - abciclient "github.com/tendermint/tendermint/abci/client" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/config" - dashcore "github.com/tendermint/tendermint/dash/core" - "github.com/tendermint/tendermint/internal/consensus" - "github.com/tendermint/tendermint/internal/eventbus" - "github.com/tendermint/tendermint/internal/p2p" - sm "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/internal/store" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/libs/service" - "github.com/tendermint/tendermint/light/provider" - ssproto "github.com/tendermint/tendermint/proto/tendermint/statesync" - "github.com/tendermint/tendermint/types" + abciclient "github.com/dashpay/tenderdash/abci/client" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/config" + dashcore "github.com/dashpay/tenderdash/dash/core" + "github.com/dashpay/tenderdash/internal/consensus" + "github.com/dashpay/tenderdash/internal/eventbus" + "github.com/dashpay/tenderdash/internal/p2p" + sm "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/internal/store" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/libs/service" + "github.com/dashpay/tenderdash/light/provider" + ssproto "github.com/dashpay/tenderdash/proto/tendermint/statesync" + "github.com/dashpay/tenderdash/types" ) var ( diff --git a/internal/statesync/reactor_test.go b/internal/statesync/reactor_test.go index dcee612c6b..17a6895c1a 100644 --- a/internal/statesync/reactor_test.go +++ b/internal/statesync/reactor_test.go @@ -16,22 +16,22 @@ import ( "github.com/stretchr/testify/require" dbm "github.com/tendermint/tm-db" - clientmocks "github.com/tendermint/tendermint/abci/client/mocks" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/crypto" - dashcore "github.com/tendermint/tendermint/dash/core" - "github.com/tendermint/tendermint/internal/p2p" - "github.com/tendermint/tendermint/internal/proxy" - smmocks "github.com/tendermint/tendermint/internal/state/mocks" - "github.com/tendermint/tendermint/internal/statesync/mocks" - "github.com/tendermint/tendermint/internal/store" - "github.com/tendermint/tendermint/internal/test/factory" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/light/provider" - ssproto "github.com/tendermint/tendermint/proto/tendermint/statesync" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + clientmocks "github.com/dashpay/tenderdash/abci/client/mocks" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/crypto" + dashcore "github.com/dashpay/tenderdash/dash/core" + "github.com/dashpay/tenderdash/internal/p2p" + "github.com/dashpay/tenderdash/internal/proxy" + smmocks "github.com/dashpay/tenderdash/internal/state/mocks" + "github.com/dashpay/tenderdash/internal/statesync/mocks" + "github.com/dashpay/tenderdash/internal/store" + "github.com/dashpay/tenderdash/internal/test/factory" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/light/provider" + ssproto "github.com/dashpay/tenderdash/proto/tendermint/statesync" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) const ( diff --git a/internal/statesync/repo.go b/internal/statesync/repo.go index 857faecf42..fa5fb4084d 100644 --- a/internal/statesync/repo.go +++ b/internal/statesync/repo.go @@ -5,12 +5,12 @@ import ( "fmt" "sort" - abciclient "github.com/tendermint/tendermint/abci/client" - abci "github.com/tendermint/tendermint/abci/types" - sm "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/internal/store" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/types" + abciclient "github.com/dashpay/tenderdash/abci/client" + abci "github.com/dashpay/tenderdash/abci/types" + sm "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/internal/store" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/types" ) // LightBlockRepository is a repository for light blocks diff --git a/internal/statesync/repo_test.go b/internal/statesync/repo_test.go index 1284e3d6b2..9376e449ff 100644 --- a/internal/statesync/repo_test.go +++ b/internal/statesync/repo_test.go @@ -8,9 +8,9 @@ import ( "github.com/stretchr/testify/suite" - clientmocks "github.com/tendermint/tendermint/abci/client/mocks" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/libs/log" + clientmocks "github.com/dashpay/tenderdash/abci/client/mocks" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/libs/log" ) type snapshotRepositoryTestSuite struct { diff --git a/internal/statesync/snapshots.go b/internal/statesync/snapshots.go index 255b30fbe8..e7fad3c3a2 100644 --- a/internal/statesync/snapshots.go +++ b/internal/statesync/snapshots.go @@ -9,8 +9,8 @@ import ( sync "github.com/sasha-s/go-deadlock" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/types" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/types" ) // snapshotKey is a snapshot key used for lookups. diff --git a/internal/statesync/snapshots_test.go b/internal/statesync/snapshots_test.go index 76b94396f7..fd2d37da81 100644 --- a/internal/statesync/snapshots_test.go +++ b/internal/statesync/snapshots_test.go @@ -5,7 +5,7 @@ import ( "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/types" ) func TestSnapshot_Key(t *testing.T) { diff --git a/internal/statesync/stateprovider.go b/internal/statesync/stateprovider.go index 85cf42e814..2d98e82c51 100644 --- a/internal/statesync/stateprovider.go +++ b/internal/statesync/stateprovider.go @@ -12,20 +12,20 @@ import ( dbm "github.com/tendermint/tm-db" - dashcore "github.com/tendermint/tendermint/dash/core" - "github.com/tendermint/tendermint/internal/p2p" - sm "github.com/tendermint/tendermint/internal/state" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/light" - lightprovider "github.com/tendermint/tendermint/light/provider" - lighthttp "github.com/tendermint/tendermint/light/provider/http" - lightrpc "github.com/tendermint/tendermint/light/rpc" - lightdb "github.com/tendermint/tendermint/light/store/db" - ssproto "github.com/tendermint/tendermint/proto/tendermint/statesync" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" - "github.com/tendermint/tendermint/types" - "github.com/tendermint/tendermint/version" + dashcore "github.com/dashpay/tenderdash/dash/core" + "github.com/dashpay/tenderdash/internal/p2p" + sm "github.com/dashpay/tenderdash/internal/state" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/light" + lightprovider "github.com/dashpay/tenderdash/light/provider" + lighthttp "github.com/dashpay/tenderdash/light/provider/http" + lightrpc "github.com/dashpay/tenderdash/light/rpc" + lightdb "github.com/dashpay/tenderdash/light/store/db" + ssproto "github.com/dashpay/tenderdash/proto/tendermint/statesync" + rpchttp "github.com/dashpay/tenderdash/rpc/client/http" + "github.com/dashpay/tenderdash/types" + "github.com/dashpay/tenderdash/version" ) //go:generate ../../scripts/mockery_generate.sh StateProvider diff --git a/internal/statesync/syncer.go b/internal/statesync/syncer.go index d9f3f086d5..24ce2eb0a6 100644 --- a/internal/statesync/syncer.go +++ b/internal/statesync/syncer.go @@ -9,16 +9,16 @@ import ( sync "github.com/sasha-s/go-deadlock" - abciclient "github.com/tendermint/tendermint/abci/client" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/internal/p2p" - "github.com/tendermint/tendermint/internal/proxy" - sm "github.com/tendermint/tendermint/internal/state" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/light" - ssproto "github.com/tendermint/tendermint/proto/tendermint/statesync" - "github.com/tendermint/tendermint/types" + abciclient "github.com/dashpay/tenderdash/abci/client" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/internal/p2p" + "github.com/dashpay/tenderdash/internal/proxy" + sm "github.com/dashpay/tenderdash/internal/state" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/light" + ssproto "github.com/dashpay/tenderdash/proto/tendermint/statesync" + "github.com/dashpay/tenderdash/types" ) const ( diff --git a/internal/statesync/syncer_test.go b/internal/statesync/syncer_test.go index e3850fe43e..e5934608a1 100644 --- a/internal/statesync/syncer_test.go +++ b/internal/statesync/syncer_test.go @@ -9,18 +9,18 @@ import ( "github.com/stretchr/testify/mock" "github.com/stretchr/testify/suite" - clientmocks "github.com/tendermint/tendermint/abci/client/mocks" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/internal/p2p" - "github.com/tendermint/tendermint/internal/proxy" - sm "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/internal/statesync/mocks" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/libs/log" - ssproto "github.com/tendermint/tendermint/proto/tendermint/statesync" - "github.com/tendermint/tendermint/types" - "github.com/tendermint/tendermint/version" + clientmocks "github.com/dashpay/tenderdash/abci/client/mocks" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/internal/p2p" + "github.com/dashpay/tenderdash/internal/proxy" + sm "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/internal/statesync/mocks" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/libs/log" + ssproto "github.com/dashpay/tenderdash/proto/tendermint/statesync" + "github.com/dashpay/tenderdash/types" + "github.com/dashpay/tenderdash/version" ) type SyncerTestSuite struct { diff --git a/internal/store/store.go b/internal/store/store.go index f023a7ab4c..04d3d8ccdc 100644 --- a/internal/store/store.go +++ b/internal/store/store.go @@ -10,8 +10,8 @@ import ( "github.com/google/orderedcode" dbm "github.com/tendermint/tm-db" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) /* diff --git a/internal/store/store_test.go b/internal/store/store_test.go index 58101f06b7..1b03e7ef25 100644 --- a/internal/store/store_test.go +++ b/internal/store/store_test.go @@ -13,16 +13,16 @@ import ( "github.com/stretchr/testify/require" dbm "github.com/tendermint/tm-db" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/bls12381" - sm "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/internal/state/test/factory" - tmrand "github.com/tendermint/tendermint/libs/rand" - tmtime "github.com/tendermint/tendermint/libs/time" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" - "github.com/tendermint/tendermint/version" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/bls12381" + sm "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/internal/state/test/factory" + tmrand "github.com/dashpay/tenderdash/libs/rand" + tmtime "github.com/dashpay/tenderdash/libs/time" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" + "github.com/dashpay/tenderdash/version" ) // make a Commit with a single vote containing just the height and a timestamp diff --git a/internal/test/factory/block.go b/internal/test/factory/block.go index f483df7457..13a1f8e8f1 100644 --- a/internal/test/factory/block.go +++ b/internal/test/factory/block.go @@ -6,9 +6,9 @@ import ( "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/types" - "github.com/tendermint/tendermint/version" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/types" + "github.com/dashpay/tenderdash/version" ) const ( diff --git a/internal/test/factory/commit.go b/internal/test/factory/commit.go index 720b8e8245..80c52ea7e8 100644 --- a/internal/test/factory/commit.go +++ b/internal/test/factory/commit.go @@ -3,8 +3,8 @@ package factory import ( "context" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) func MakeCommit( diff --git a/internal/test/factory/factory_test.go b/internal/test/factory/factory_test.go index 6cdc2aed96..aa21964188 100644 --- a/internal/test/factory/factory_test.go +++ b/internal/test/factory/factory_test.go @@ -3,7 +3,7 @@ package factory import ( "testing" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/types" ) func TestMakeHeader(t *testing.T) { diff --git a/internal/test/factory/genesis.go b/internal/test/factory/genesis.go index d57522ce93..899c654162 100644 --- a/internal/test/factory/genesis.go +++ b/internal/test/factory/genesis.go @@ -3,10 +3,10 @@ package factory import ( "github.com/dashpay/dashd-go/btcjson" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/libs/bytes" - tmtime "github.com/tendermint/tendermint/libs/time" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/libs/bytes" + tmtime "github.com/dashpay/tenderdash/libs/time" + "github.com/dashpay/tenderdash/types" ) // MinimalGenesisDoc generates a minimal working genesis doc. diff --git a/internal/test/factory/p2p.go b/internal/test/factory/p2p.go index e2edcba6a4..ed5afba6bf 100644 --- a/internal/test/factory/p2p.go +++ b/internal/test/factory/p2p.go @@ -7,8 +7,8 @@ import ( "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/libs/rand" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/libs/rand" + "github.com/dashpay/tenderdash/types" ) // NodeID returns a valid NodeID based on an inputted string diff --git a/internal/test/factory/params.go b/internal/test/factory/params.go index 1dda2b4092..dcbe137a2e 100644 --- a/internal/test/factory/params.go +++ b/internal/test/factory/params.go @@ -3,7 +3,7 @@ package factory import ( "time" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/types" ) // ConsensusParams returns a default set of ConsensusParams that are suitable diff --git a/internal/test/factory/tx.go b/internal/test/factory/tx.go index a252222f41..c544312440 100644 --- a/internal/test/factory/tx.go +++ b/internal/test/factory/tx.go @@ -1,8 +1,8 @@ package factory import ( - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/types" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/types" ) func MakeNTxs(height, n int64) types.Txs { diff --git a/internal/test/factory/validator_set.go b/internal/test/factory/validator_set.go index 710723a0a8..45ccddcd63 100644 --- a/internal/test/factory/validator_set.go +++ b/internal/test/factory/validator_set.go @@ -3,10 +3,10 @@ package factory import ( "github.com/dashpay/dashd-go/btcjson" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/bls12381" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/bls12381" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/types" ) // MockValidatorSet returns static validator set with 2 validators and 2 private keys diff --git a/internal/test/factory/vote.go b/internal/test/factory/vote.go index b4f69fe84a..40c0a33c40 100644 --- a/internal/test/factory/vote.go +++ b/internal/test/factory/vote.go @@ -3,8 +3,8 @@ package factory import ( "context" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) func MakeVote( diff --git a/libs/bits/bit_array.go b/libs/bits/bit_array.go index 442aae7501..5083a36d59 100644 --- a/libs/bits/bit_array.go +++ b/libs/bits/bit_array.go @@ -11,8 +11,8 @@ import ( sync "github.com/sasha-s/go-deadlock" - tmmath "github.com/tendermint/tendermint/libs/math" - tmprotobits "github.com/tendermint/tendermint/proto/tendermint/libs/bits" + tmmath "github.com/dashpay/tenderdash/libs/math" + tmprotobits "github.com/dashpay/tenderdash/proto/tendermint/libs/bits" ) // BitArray is a thread-safe implementation of a bit array. diff --git a/libs/bits/bit_array_test.go b/libs/bits/bit_array_test.go index e4bf45c387..fb7af5dd16 100644 --- a/libs/bits/bit_array_test.go +++ b/libs/bits/bit_array_test.go @@ -9,8 +9,8 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - tmrand "github.com/tendermint/tendermint/libs/rand" - tmprotobits "github.com/tendermint/tendermint/proto/tendermint/libs/bits" + tmrand "github.com/dashpay/tenderdash/libs/rand" + tmprotobits "github.com/dashpay/tenderdash/proto/tendermint/libs/bits" ) func randBitArray(bits int) *BitArray { diff --git a/libs/eventemitter/emitter.go b/libs/eventemitter/emitter.go index 263bb72349..3cd1476229 100644 --- a/libs/eventemitter/emitter.go +++ b/libs/eventemitter/emitter.go @@ -3,7 +3,7 @@ package eventemitter import ( sync "github.com/sasha-s/go-deadlock" - "github.com/tendermint/tendermint/libs/log" + "github.com/dashpay/tenderdash/libs/log" ) // ListenerFunc is a type function of an event listener diff --git a/libs/log/default_test.go b/libs/log/default_test.go index 6ea723c519..5d828a5444 100644 --- a/libs/log/default_test.go +++ b/libs/log/default_test.go @@ -5,7 +5,7 @@ import ( "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/libs/log" + "github.com/dashpay/tenderdash/libs/log" ) func TestNewDefaultLogger(t *testing.T) { diff --git a/libs/os/os_test.go b/libs/os/os_test.go index ca7050156d..28bf73ce90 100644 --- a/libs/os/os_test.go +++ b/libs/os/os_test.go @@ -9,7 +9,7 @@ import ( "github.com/stretchr/testify/require" - tmos "github.com/tendermint/tendermint/libs/os" + tmos "github.com/dashpay/tenderdash/libs/os" ) func TestCopyFile(t *testing.T) { diff --git a/libs/promise/promise_test.go b/libs/promise/promise_test.go index 907e8d2929..2062c06c0d 100644 --- a/libs/promise/promise_test.go +++ b/libs/promise/promise_test.go @@ -9,7 +9,7 @@ import ( sync "github.com/sasha-s/go-deadlock" "github.com/stretchr/testify/require" - tmrequire "github.com/tendermint/tendermint/internal/test/require" + tmrequire "github.com/dashpay/tenderdash/internal/test/require" ) func TestPromise(t *testing.T) { diff --git a/libs/service/service.go b/libs/service/service.go index 431cafe06a..43d2fa3133 100644 --- a/libs/service/service.go +++ b/libs/service/service.go @@ -6,7 +6,7 @@ import ( sync "github.com/sasha-s/go-deadlock" - "github.com/tendermint/tendermint/libs/log" + "github.com/dashpay/tenderdash/libs/log" ) var ( diff --git a/libs/service/service_test.go b/libs/service/service_test.go index 9c8c18c7f8..548b8861b3 100644 --- a/libs/service/service_test.go +++ b/libs/service/service_test.go @@ -11,7 +11,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/libs/log" + "github.com/dashpay/tenderdash/libs/log" ) type testService struct { diff --git a/libs/store/mocks/store.go b/libs/store/mocks/store.go index 50722fe4ba..aa0d3779b8 100644 --- a/libs/store/mocks/store.go +++ b/libs/store/mocks/store.go @@ -3,8 +3,8 @@ package mocks import ( + store "github.com/dashpay/tenderdash/libs/store" mock "github.com/stretchr/testify/mock" - store "github.com/tendermint/tendermint/libs/store" ) // Store is an autogenerated mock type for the Store type diff --git a/libs/store/store.go b/libs/store/store.go index c3f7f08bb8..d57d7d2361 100644 --- a/libs/store/store.go +++ b/libs/store/store.go @@ -3,8 +3,8 @@ package store import ( + "github.com/dashpay/tenderdash/libs/ds" sync "github.com/sasha-s/go-deadlock" - "github.com/tendermint/tendermint/libs/ds" ) type ( diff --git a/libs/workerpool/worker.go b/libs/workerpool/worker.go index f304cc4ded..c706deaa1c 100644 --- a/libs/workerpool/worker.go +++ b/libs/workerpool/worker.go @@ -3,7 +3,7 @@ package workerpool import ( "context" - "github.com/tendermint/tendermint/libs/log" + "github.com/dashpay/tenderdash/libs/log" ) type worker struct { diff --git a/libs/workerpool/worker_pool.go b/libs/workerpool/worker_pool.go index bbe3b1ea9a..97312ab776 100644 --- a/libs/workerpool/worker_pool.go +++ b/libs/workerpool/worker_pool.go @@ -7,7 +7,7 @@ import ( sync "github.com/sasha-s/go-deadlock" - "github.com/tendermint/tendermint/libs/log" + "github.com/dashpay/tenderdash/libs/log" ) var ( diff --git a/libs/workerpool/worker_pool_test.go b/libs/workerpool/worker_pool_test.go index ee3b9e3374..62dbe1664c 100644 --- a/libs/workerpool/worker_pool_test.go +++ b/libs/workerpool/worker_pool_test.go @@ -10,7 +10,7 @@ import ( sync "github.com/sasha-s/go-deadlock" "github.com/stretchr/testify/require" - tmrequire "github.com/tendermint/tendermint/internal/test/require" + tmrequire "github.com/dashpay/tenderdash/internal/test/require" ) func TestWorkerPool_Basic(t *testing.T) { diff --git a/light/client.go b/light/client.go index e37da257f6..d31157f51e 100644 --- a/light/client.go +++ b/light/client.go @@ -10,13 +10,13 @@ import ( sync "github.com/sasha-s/go-deadlock" - "github.com/tendermint/tendermint/crypto" - dashcore "github.com/tendermint/tendermint/dash/core" - tmstrings "github.com/tendermint/tendermint/internal/libs/strings" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/light/provider" - "github.com/tendermint/tendermint/light/store" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + dashcore "github.com/dashpay/tenderdash/dash/core" + tmstrings "github.com/dashpay/tenderdash/internal/libs/strings" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/light/provider" + "github.com/dashpay/tenderdash/light/store" + "github.com/dashpay/tenderdash/types" ) type mode byte diff --git a/light/client_benchmark_test.go b/light/client_benchmark_test.go index e05f943e37..d4fbf86fc5 100644 --- a/light/client_benchmark_test.go +++ b/light/client_benchmark_test.go @@ -8,12 +8,12 @@ import ( dbm "github.com/tendermint/tm-db" - dashcore "github.com/tendermint/tendermint/dash/core" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/light" - "github.com/tendermint/tendermint/light/provider" - dbs "github.com/tendermint/tendermint/light/store/db" - "github.com/tendermint/tendermint/types" + dashcore "github.com/dashpay/tenderdash/dash/core" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/light" + "github.com/dashpay/tenderdash/light/provider" + dbs "github.com/dashpay/tenderdash/light/store/db" + "github.com/dashpay/tenderdash/types" ) // NOTE: block is produced every minute. Make sure the verification time diff --git a/light/client_test.go b/light/client_test.go index 852c9cbbbe..34daf19e03 100644 --- a/light/client_test.go +++ b/light/client_test.go @@ -14,13 +14,13 @@ import ( "github.com/stretchr/testify/require" dbm "github.com/tendermint/tm-db" - dashcore "github.com/tendermint/tendermint/dash/core" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/light" - "github.com/tendermint/tendermint/light/provider" - provider_mocks "github.com/tendermint/tendermint/light/provider/mocks" - dbs "github.com/tendermint/tendermint/light/store/db" - "github.com/tendermint/tendermint/types" + dashcore "github.com/dashpay/tenderdash/dash/core" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/light" + "github.com/dashpay/tenderdash/light/provider" + provider_mocks "github.com/dashpay/tenderdash/light/provider/mocks" + dbs "github.com/dashpay/tenderdash/light/store/db" + "github.com/dashpay/tenderdash/types" ) const ( diff --git a/light/detector.go b/light/detector.go index 78d148b749..e5464be9d6 100644 --- a/light/detector.go +++ b/light/detector.go @@ -6,8 +6,8 @@ import ( "errors" "time" - "github.com/tendermint/tendermint/light/provider" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/light/provider" + "github.com/dashpay/tenderdash/types" ) // compareNewHeaderWithWitness takes the verified header from the primary and compares it with a diff --git a/light/errors.go b/light/errors.go index 8ceed4b76d..a1465e6471 100644 --- a/light/errors.go +++ b/light/errors.go @@ -5,7 +5,7 @@ import ( "fmt" "time" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/types" ) // ErrOldHeaderExpired means the old (trusted) header has expired according to diff --git a/light/example_test.go b/light/example_test.go index ae452f1c77..55e9a33164 100644 --- a/light/example_test.go +++ b/light/example_test.go @@ -9,15 +9,14 @@ import ( "github.com/stretchr/testify/require" dbm "github.com/tendermint/tm-db" - "github.com/tendermint/tendermint/privval" - - "github.com/tendermint/tendermint/abci/example/kvstore" - dashcore "github.com/tendermint/tendermint/dash/core" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/light" - httpp "github.com/tendermint/tendermint/light/provider/http" - dbs "github.com/tendermint/tendermint/light/store/db" - rpctest "github.com/tendermint/tendermint/rpc/test" + "github.com/dashpay/tenderdash/abci/example/kvstore" + dashcore "github.com/dashpay/tenderdash/dash/core" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/light" + httpp "github.com/dashpay/tenderdash/light/provider/http" + dbs "github.com/dashpay/tenderdash/light/store/db" + "github.com/dashpay/tenderdash/privval" + rpctest "github.com/dashpay/tenderdash/rpc/test" ) // Manually getting light blocks and verifying them. diff --git a/light/helpers_test.go b/light/helpers_test.go index 2d703c2135..4b68cfc953 100644 --- a/light/helpers_test.go +++ b/light/helpers_test.go @@ -8,11 +8,11 @@ import ( "github.com/stretchr/testify/mock" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/crypto" - provider_mocks "github.com/tendermint/tendermint/light/provider/mocks" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" - "github.com/tendermint/tendermint/version" + "github.com/dashpay/tenderdash/crypto" + provider_mocks "github.com/dashpay/tenderdash/light/provider/mocks" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" + "github.com/dashpay/tenderdash/version" ) // privKeys is a helper type for testing. diff --git a/light/light_test.go b/light/light_test.go index a906a9582d..e54a220a1f 100644 --- a/light/light_test.go +++ b/light/light_test.go @@ -10,16 +10,16 @@ import ( "github.com/dashpay/dashd-go/btcjson" - "github.com/tendermint/tendermint/abci/example/kvstore" - dashcore "github.com/tendermint/tendermint/dash/core" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/light" - "github.com/tendermint/tendermint/light/provider" - httpp "github.com/tendermint/tendermint/light/provider/http" - dbs "github.com/tendermint/tendermint/light/store/db" - "github.com/tendermint/tendermint/privval" - rpctest "github.com/tendermint/tendermint/rpc/test" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/abci/example/kvstore" + dashcore "github.com/dashpay/tenderdash/dash/core" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/light" + "github.com/dashpay/tenderdash/light/provider" + httpp "github.com/dashpay/tenderdash/light/provider/http" + dbs "github.com/dashpay/tenderdash/light/store/db" + "github.com/dashpay/tenderdash/privval" + rpctest "github.com/dashpay/tenderdash/rpc/test" + "github.com/dashpay/tenderdash/types" ) // NOTE: these are ports of the tests from example_test.go but diff --git a/light/provider/http/http.go b/light/provider/http/http.go index f65262b420..546d2334d4 100644 --- a/light/provider/http/http.go +++ b/light/provider/http/http.go @@ -11,14 +11,13 @@ import ( "github.com/dashpay/dashd-go/btcjson" - "github.com/tendermint/tendermint/crypto" - - "github.com/tendermint/tendermint/light/provider" - rpcclient "github.com/tendermint/tendermint/rpc/client" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" - "github.com/tendermint/tendermint/rpc/coretypes" - rpctypes "github.com/tendermint/tendermint/rpc/jsonrpc/types" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/light/provider" + rpcclient "github.com/dashpay/tenderdash/rpc/client" + rpchttp "github.com/dashpay/tenderdash/rpc/client/http" + "github.com/dashpay/tenderdash/rpc/coretypes" + rpctypes "github.com/dashpay/tenderdash/rpc/jsonrpc/types" + "github.com/dashpay/tenderdash/types" ) var defaultOptions = Options{ diff --git a/light/provider/http/http_test.go b/light/provider/http/http_test.go index fc69274900..a62c52444e 100644 --- a/light/provider/http/http_test.go +++ b/light/provider/http/http_test.go @@ -10,15 +10,15 @@ import ( testify "github.com/stretchr/testify/mock" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/abci/example/kvstore" - "github.com/tendermint/tendermint/light/provider" - lighthttp "github.com/tendermint/tendermint/light/provider/http" - rpcclient "github.com/tendermint/tendermint/rpc/client" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" - rpcmock "github.com/tendermint/tendermint/rpc/client/mocks" - "github.com/tendermint/tendermint/rpc/coretypes" - rpctest "github.com/tendermint/tendermint/rpc/test" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/abci/example/kvstore" + "github.com/dashpay/tenderdash/light/provider" + lighthttp "github.com/dashpay/tenderdash/light/provider/http" + rpcclient "github.com/dashpay/tenderdash/rpc/client" + rpchttp "github.com/dashpay/tenderdash/rpc/client/http" + rpcmock "github.com/dashpay/tenderdash/rpc/client/mocks" + "github.com/dashpay/tenderdash/rpc/coretypes" + rpctest "github.com/dashpay/tenderdash/rpc/test" + "github.com/dashpay/tenderdash/types" ) func TestNewProvider(t *testing.T) { diff --git a/light/provider/mocks/provider.go b/light/provider/mocks/provider.go index 3a71108e40..93042ab3dc 100644 --- a/light/provider/mocks/provider.go +++ b/light/provider/mocks/provider.go @@ -7,7 +7,7 @@ import ( mock "github.com/stretchr/testify/mock" - types "github.com/tendermint/tendermint/types" + types "github.com/dashpay/tenderdash/types" ) // Provider is an autogenerated mock type for the Provider type diff --git a/light/provider/provider.go b/light/provider/provider.go index d1b3304daa..31204f6a45 100644 --- a/light/provider/provider.go +++ b/light/provider/provider.go @@ -3,7 +3,7 @@ package provider import ( "context" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/types" ) //go:generate ../../scripts/mockery_generate.sh Provider diff --git a/light/proxy/proxy.go b/light/proxy/proxy.go index 6e7a5ff2a6..bea109e490 100644 --- a/light/proxy/proxy.go +++ b/light/proxy/proxy.go @@ -6,13 +6,13 @@ import ( "net" "net/http" - tmpubsub "github.com/tendermint/tendermint/internal/pubsub" - rpccore "github.com/tendermint/tendermint/internal/rpc/core" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/light" - lrpc "github.com/tendermint/tendermint/light/rpc" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" - rpcserver "github.com/tendermint/tendermint/rpc/jsonrpc/server" + tmpubsub "github.com/dashpay/tenderdash/internal/pubsub" + rpccore "github.com/dashpay/tenderdash/internal/rpc/core" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/light" + lrpc "github.com/dashpay/tenderdash/light/rpc" + rpchttp "github.com/dashpay/tenderdash/rpc/client/http" + rpcserver "github.com/dashpay/tenderdash/rpc/jsonrpc/server" ) // A Proxy defines parameters for running an HTTP server proxy. diff --git a/light/proxy/routes.go b/light/proxy/routes.go index df8b5f9dba..e00091dc70 100644 --- a/light/proxy/routes.go +++ b/light/proxy/routes.go @@ -3,9 +3,9 @@ package proxy import ( "context" - lrpc "github.com/tendermint/tendermint/light/rpc" - rpcclient "github.com/tendermint/tendermint/rpc/client" - "github.com/tendermint/tendermint/rpc/coretypes" + lrpc "github.com/dashpay/tenderdash/light/rpc" + rpcclient "github.com/dashpay/tenderdash/rpc/client" + "github.com/dashpay/tenderdash/rpc/coretypes" ) // proxyService wraps a light RPC client to export the RPC service interfaces. diff --git a/light/rpc/client.go b/light/rpc/client.go index 9c6df91bf2..af282d6fa6 100644 --- a/light/rpc/client.go +++ b/light/rpc/client.go @@ -10,19 +10,18 @@ import ( "github.com/dashpay/dashd-go/btcjson" - "github.com/tendermint/tendermint/libs" - - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/merkle" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/libs/log" - tmmath "github.com/tendermint/tendermint/libs/math" - service "github.com/tendermint/tendermint/libs/service" - rpcclient "github.com/tendermint/tendermint/rpc/client" - "github.com/tendermint/tendermint/rpc/coretypes" - rpctypes "github.com/tendermint/tendermint/rpc/jsonrpc/types" - "github.com/tendermint/tendermint/types" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/merkle" + "github.com/dashpay/tenderdash/libs" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/libs/log" + tmmath "github.com/dashpay/tenderdash/libs/math" + service "github.com/dashpay/tenderdash/libs/service" + rpcclient "github.com/dashpay/tenderdash/rpc/client" + "github.com/dashpay/tenderdash/rpc/coretypes" + rpctypes "github.com/dashpay/tenderdash/rpc/jsonrpc/types" + "github.com/dashpay/tenderdash/types" ) // KeyPathFunc builds a merkle path out of the given path and key. diff --git a/light/rpc/mocks/light_client.go b/light/rpc/mocks/light_client.go index 0212394edd..deb22f7d2a 100644 --- a/light/rpc/mocks/light_client.go +++ b/light/rpc/mocks/light_client.go @@ -9,7 +9,7 @@ import ( time "time" - types "github.com/tendermint/tendermint/types" + types "github.com/dashpay/tenderdash/types" ) // LightClient is an autogenerated mock type for the LightClient type diff --git a/light/setup.go b/light/setup.go index a6c3e6703b..9733802e0b 100644 --- a/light/setup.go +++ b/light/setup.go @@ -3,10 +3,10 @@ package light import ( "context" - dashcore "github.com/tendermint/tendermint/dash/core" - "github.com/tendermint/tendermint/light/provider" - "github.com/tendermint/tendermint/light/provider/http" - "github.com/tendermint/tendermint/light/store" + dashcore "github.com/dashpay/tenderdash/dash/core" + "github.com/dashpay/tenderdash/light/provider" + "github.com/dashpay/tenderdash/light/provider/http" + "github.com/dashpay/tenderdash/light/store" ) // NewHTTPClient initiates an instance of a light client using HTTP addresses diff --git a/light/store/db/db.go b/light/store/db/db.go index c72898f140..30b3a50026 100644 --- a/light/store/db/db.go +++ b/light/store/db/db.go @@ -9,9 +9,9 @@ import ( "github.com/google/orderedcode" dbm "github.com/tendermint/tm-db" - "github.com/tendermint/tendermint/light/store" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/light/store" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) // key prefixes diff --git a/light/store/db/db_test.go b/light/store/db/db_test.go index e1d8c8be28..a0742c5af6 100644 --- a/light/store/db/db_test.go +++ b/light/store/db/db_test.go @@ -11,10 +11,10 @@ import ( "github.com/stretchr/testify/require" dbm "github.com/tendermint/tm-db" - "github.com/tendermint/tendermint/crypto" - tmrand "github.com/tendermint/tendermint/libs/rand" - "github.com/tendermint/tendermint/types" - "github.com/tendermint/tendermint/version" + "github.com/dashpay/tenderdash/crypto" + tmrand "github.com/dashpay/tenderdash/libs/rand" + "github.com/dashpay/tenderdash/types" + "github.com/dashpay/tenderdash/version" ) func TestLast_FirstLightBlockHeight(t *testing.T) { diff --git a/light/store/store.go b/light/store/store.go index a4991f0cc6..019e255ff3 100644 --- a/light/store/store.go +++ b/light/store/store.go @@ -1,6 +1,6 @@ package store -import "github.com/tendermint/tendermint/types" +import "github.com/dashpay/tenderdash/types" // Store is anything that can persistently store headers. type Store interface { diff --git a/node/node.go b/node/node.go index 2257781765..b46ec76b08 100644 --- a/node/node.go +++ b/node/node.go @@ -9,35 +9,35 @@ import ( "strings" "time" - abciclient "github.com/tendermint/tendermint/abci/client" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/dash" - "github.com/tendermint/tendermint/dash/core" - dashquorum "github.com/tendermint/tendermint/dash/quorum" - "github.com/tendermint/tendermint/internal/blocksync" - "github.com/tendermint/tendermint/internal/consensus" - "github.com/tendermint/tendermint/internal/eventbus" - "github.com/tendermint/tendermint/internal/eventlog" - "github.com/tendermint/tendermint/internal/evidence" - "github.com/tendermint/tendermint/internal/mempool" - "github.com/tendermint/tendermint/internal/p2p" - p2pclient "github.com/tendermint/tendermint/internal/p2p/client" - "github.com/tendermint/tendermint/internal/p2p/pex" - "github.com/tendermint/tendermint/internal/proxy" - rpccore "github.com/tendermint/tendermint/internal/rpc/core" - sm "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/internal/state/indexer" - "github.com/tendermint/tendermint/internal/state/indexer/sink" - "github.com/tendermint/tendermint/internal/statesync" - "github.com/tendermint/tendermint/internal/store" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/libs/service" - tmtime "github.com/tendermint/tendermint/libs/time" - "github.com/tendermint/tendermint/privval" - "github.com/tendermint/tendermint/types" + abciclient "github.com/dashpay/tenderdash/abci/client" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/dash" + "github.com/dashpay/tenderdash/dash/core" + dashquorum "github.com/dashpay/tenderdash/dash/quorum" + "github.com/dashpay/tenderdash/internal/blocksync" + "github.com/dashpay/tenderdash/internal/consensus" + "github.com/dashpay/tenderdash/internal/eventbus" + "github.com/dashpay/tenderdash/internal/eventlog" + "github.com/dashpay/tenderdash/internal/evidence" + "github.com/dashpay/tenderdash/internal/mempool" + "github.com/dashpay/tenderdash/internal/p2p" + p2pclient "github.com/dashpay/tenderdash/internal/p2p/client" + "github.com/dashpay/tenderdash/internal/p2p/pex" + "github.com/dashpay/tenderdash/internal/proxy" + rpccore "github.com/dashpay/tenderdash/internal/rpc/core" + sm "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/internal/state/indexer" + "github.com/dashpay/tenderdash/internal/state/indexer/sink" + "github.com/dashpay/tenderdash/internal/statesync" + "github.com/dashpay/tenderdash/internal/store" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/libs/service" + tmtime "github.com/dashpay/tenderdash/libs/time" + "github.com/dashpay/tenderdash/privval" + "github.com/dashpay/tenderdash/types" _ "net/http/pprof" //nolint: gosec // securely exposed on separate, optional port @@ -410,7 +410,7 @@ func makeNode( // Set up state sync reactor, and schedule a sync if requested. // FIXME The way we do phased startups (e.g. replay -> block sync -> consensus) is very messy, // we should clean this whole thing up. See: - // https://github.com/tendermint/tendermint/issues/4644 + // https://github.com/dashpay/tenderdash/issues/4644 node.services = append(node.services, statesync.NewReactor( genDoc.ChainID, genDoc.InitialHeight, diff --git a/node/node_test.go b/node/node_test.go index 9c6930b2d8..4376202e41 100644 --- a/node/node_test.go +++ b/node/node_test.go @@ -15,29 +15,29 @@ import ( "github.com/stretchr/testify/require" dbm "github.com/tendermint/tm-db" - abciclient "github.com/tendermint/tendermint/abci/client" - "github.com/tendermint/tendermint/abci/example/kvstore" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/bls12381" - "github.com/tendermint/tendermint/crypto/ed25519" - "github.com/tendermint/tendermint/dash/quorum" - "github.com/tendermint/tendermint/internal/eventbus" - "github.com/tendermint/tendermint/internal/evidence" - "github.com/tendermint/tendermint/internal/mempool" - "github.com/tendermint/tendermint/internal/proxy" - "github.com/tendermint/tendermint/internal/pubsub" - sm "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/internal/state/indexer" - "github.com/tendermint/tendermint/internal/state/indexer/sink" - "github.com/tendermint/tendermint/internal/store" - "github.com/tendermint/tendermint/internal/test/factory" - "github.com/tendermint/tendermint/libs/log" - tmrand "github.com/tendermint/tendermint/libs/rand" - "github.com/tendermint/tendermint/libs/service" - tmtime "github.com/tendermint/tendermint/libs/time" - "github.com/tendermint/tendermint/privval" - "github.com/tendermint/tendermint/types" + abciclient "github.com/dashpay/tenderdash/abci/client" + "github.com/dashpay/tenderdash/abci/example/kvstore" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/bls12381" + "github.com/dashpay/tenderdash/crypto/ed25519" + "github.com/dashpay/tenderdash/dash/quorum" + "github.com/dashpay/tenderdash/internal/eventbus" + "github.com/dashpay/tenderdash/internal/evidence" + "github.com/dashpay/tenderdash/internal/mempool" + "github.com/dashpay/tenderdash/internal/proxy" + "github.com/dashpay/tenderdash/internal/pubsub" + sm "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/internal/state/indexer" + "github.com/dashpay/tenderdash/internal/state/indexer/sink" + "github.com/dashpay/tenderdash/internal/store" + "github.com/dashpay/tenderdash/internal/test/factory" + "github.com/dashpay/tenderdash/libs/log" + tmrand "github.com/dashpay/tenderdash/libs/rand" + "github.com/dashpay/tenderdash/libs/service" + tmtime "github.com/dashpay/tenderdash/libs/time" + "github.com/dashpay/tenderdash/privval" + "github.com/dashpay/tenderdash/types" ) func TestNodeStartStop(t *testing.T) { diff --git a/node/public.go b/node/public.go index 66b7492700..db1b80530a 100644 --- a/node/public.go +++ b/node/public.go @@ -5,11 +5,11 @@ import ( "context" "fmt" - abciclient "github.com/tendermint/tendermint/abci/client" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/libs/service" - "github.com/tendermint/tendermint/types" + abciclient "github.com/dashpay/tenderdash/abci/client" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/libs/service" + "github.com/dashpay/tenderdash/types" ) // NewDefault constructs a tendermint node service for use in go diff --git a/node/seed.go b/node/seed.go index e0023c9c5f..9142fedee2 100644 --- a/node/seed.go +++ b/node/seed.go @@ -7,14 +7,14 @@ import ( "strings" "time" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/internal/p2p" - "github.com/tendermint/tendermint/internal/p2p/pex" - sm "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/libs/service" - tmtime "github.com/tendermint/tendermint/libs/time" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/internal/p2p" + "github.com/dashpay/tenderdash/internal/p2p/pex" + sm "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/libs/service" + tmtime "github.com/dashpay/tenderdash/libs/time" + "github.com/dashpay/tenderdash/types" ) type seedNodeImpl struct { diff --git a/node/setup.go b/node/setup.go index aba51f7a8b..970a4373fa 100644 --- a/node/setup.go +++ b/node/setup.go @@ -12,30 +12,30 @@ import ( "github.com/prometheus/client_golang/prometheus/promhttp" dbm "github.com/tendermint/tm-db" - abciclient "github.com/tendermint/tendermint/abci/client" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/crypto" - dashcore "github.com/tendermint/tendermint/dash/core" - "github.com/tendermint/tendermint/internal/consensus" - "github.com/tendermint/tendermint/internal/eventbus" - "github.com/tendermint/tendermint/internal/evidence" - tmstrings "github.com/tendermint/tendermint/internal/libs/strings" - "github.com/tendermint/tendermint/internal/mempool" - "github.com/tendermint/tendermint/internal/p2p" - "github.com/tendermint/tendermint/internal/p2p/client" - "github.com/tendermint/tendermint/internal/p2p/conn" - "github.com/tendermint/tendermint/internal/p2p/pex" - sm "github.com/tendermint/tendermint/internal/state" - "github.com/tendermint/tendermint/internal/state/indexer" - "github.com/tendermint/tendermint/internal/statesync" - "github.com/tendermint/tendermint/internal/store" - "github.com/tendermint/tendermint/libs/log" - tmnet "github.com/tendermint/tendermint/libs/net" - "github.com/tendermint/tendermint/libs/service" - "github.com/tendermint/tendermint/privval" - tmgrpc "github.com/tendermint/tendermint/privval/grpc" - "github.com/tendermint/tendermint/types" - "github.com/tendermint/tendermint/version" + abciclient "github.com/dashpay/tenderdash/abci/client" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/crypto" + dashcore "github.com/dashpay/tenderdash/dash/core" + "github.com/dashpay/tenderdash/internal/consensus" + "github.com/dashpay/tenderdash/internal/eventbus" + "github.com/dashpay/tenderdash/internal/evidence" + tmstrings "github.com/dashpay/tenderdash/internal/libs/strings" + "github.com/dashpay/tenderdash/internal/mempool" + "github.com/dashpay/tenderdash/internal/p2p" + "github.com/dashpay/tenderdash/internal/p2p/client" + "github.com/dashpay/tenderdash/internal/p2p/conn" + "github.com/dashpay/tenderdash/internal/p2p/pex" + sm "github.com/dashpay/tenderdash/internal/state" + "github.com/dashpay/tenderdash/internal/state/indexer" + "github.com/dashpay/tenderdash/internal/statesync" + "github.com/dashpay/tenderdash/internal/store" + "github.com/dashpay/tenderdash/libs/log" + tmnet "github.com/dashpay/tenderdash/libs/net" + "github.com/dashpay/tenderdash/libs/service" + "github.com/dashpay/tenderdash/privval" + tmgrpc "github.com/dashpay/tenderdash/privval/grpc" + "github.com/dashpay/tenderdash/types" + "github.com/dashpay/tenderdash/version" "net/http" _ "net/http/pprof" //nolint: gosec // securely exposed on separate, optional port diff --git a/privval/dash_consensus_key.go b/privval/dash_consensus_key.go index 96a1a5ba20..5eb6a909d3 100644 --- a/privval/dash_consensus_key.go +++ b/privval/dash_consensus_key.go @@ -8,8 +8,8 @@ import ( "github.com/dashpay/dashd-go/btcjson" - tmcrypto "github.com/tendermint/tendermint/crypto" - tmbytes "github.com/tendermint/tendermint/libs/bytes" + tmcrypto "github.com/dashpay/tenderdash/crypto" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" ) type dashConsensusPrivateKey struct { diff --git a/privval/dash_core_mock_signer_server.go b/privval/dash_core_mock_signer_server.go index 4ba7c51d0f..a096320dff 100644 --- a/privval/dash_core_mock_signer_server.go +++ b/privval/dash_core_mock_signer_server.go @@ -3,8 +3,8 @@ package privval import ( "github.com/go-pkgz/jrpc" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/types" ) type DashCoreMockSignerServer struct { diff --git a/privval/dash_core_signer_client.go b/privval/dash_core_signer_client.go index 8a5627f434..56185952b4 100644 --- a/privval/dash_core_signer_client.go +++ b/privval/dash_core_signer_client.go @@ -9,13 +9,13 @@ import ( "github.com/dashpay/dashd-go/btcjson" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/bls12381" - dashcore "github.com/tendermint/tendermint/dash/core" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/libs/log" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/bls12381" + dashcore "github.com/dashpay/tenderdash/dash/core" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/libs/log" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) // DashPrivValidator is a PrivValidator that uses Dash-specific logic diff --git a/privval/file.go b/privval/file.go index 9842328ace..3f6492841f 100644 --- a/privval/file.go +++ b/privval/file.go @@ -10,19 +10,18 @@ import ( "os" "strconv" - sync "github.com/sasha-s/go-deadlock" - "github.com/dashpay/dashd-go/btcjson" + sync "github.com/sasha-s/go-deadlock" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/bls12381" - "github.com/tendermint/tendermint/internal/libs/tempfile" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/libs/log" - tmos "github.com/tendermint/tendermint/libs/os" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/bls12381" + "github.com/dashpay/tenderdash/internal/libs/tempfile" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/libs/log" + tmos "github.com/dashpay/tenderdash/libs/os" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) // TODO: type ? diff --git a/privval/file_test.go b/privval/file_test.go index fd33c2e014..2a89fa1925 100644 --- a/privval/file_test.go +++ b/privval/file_test.go @@ -14,13 +14,13 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/bls12381" - "github.com/tendermint/tendermint/libs/log" - tmrand "github.com/tendermint/tendermint/libs/rand" - tmtime "github.com/tendermint/tendermint/libs/time" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/bls12381" + "github.com/dashpay/tenderdash/libs/log" + tmrand "github.com/dashpay/tenderdash/libs/rand" + tmtime "github.com/dashpay/tenderdash/libs/time" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) func TestGenLoadValidator(t *testing.T) { diff --git a/privval/grpc/client.go b/privval/grpc/client.go index 851b6840ac..7a031f3680 100644 --- a/privval/grpc/client.go +++ b/privval/grpc/client.go @@ -9,13 +9,13 @@ import ( "google.golang.org/grpc" "google.golang.org/grpc/status" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/encoding" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/libs/log" - privvalproto "github.com/tendermint/tendermint/proto/tendermint/privval" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/encoding" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/libs/log" + privvalproto "github.com/dashpay/tenderdash/proto/tendermint/privval" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) // SignerClient implements PrivValidator. diff --git a/privval/grpc/client_test.go b/privval/grpc/client_test.go index 31f9cf6a3b..9b3fca568d 100644 --- a/privval/grpc/client_test.go +++ b/privval/grpc/client_test.go @@ -13,13 +13,13 @@ import ( "google.golang.org/grpc/credentials/insecure" "google.golang.org/grpc/test/bufconn" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/libs/log" - tmrand "github.com/tendermint/tendermint/libs/rand" - tmgrpc "github.com/tendermint/tendermint/privval/grpc" - privvalproto "github.com/tendermint/tendermint/proto/tendermint/privval" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/libs/log" + tmrand "github.com/dashpay/tenderdash/libs/rand" + tmgrpc "github.com/dashpay/tenderdash/privval/grpc" + privvalproto "github.com/dashpay/tenderdash/proto/tendermint/privval" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) const chainID = "chain-id" diff --git a/privval/grpc/server.go b/privval/grpc/server.go index 9e911a27dc..928f031691 100644 --- a/privval/grpc/server.go +++ b/privval/grpc/server.go @@ -7,11 +7,11 @@ import ( "google.golang.org/grpc/codes" "google.golang.org/grpc/status" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/encoding" - "github.com/tendermint/tendermint/libs/log" - privvalproto "github.com/tendermint/tendermint/proto/tendermint/privval" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/encoding" + "github.com/dashpay/tenderdash/libs/log" + privvalproto "github.com/dashpay/tenderdash/proto/tendermint/privval" + "github.com/dashpay/tenderdash/types" ) // SignerServer implements PrivValidatorAPIServer 9generated via protobuf services) diff --git a/privval/grpc/server_test.go b/privval/grpc/server_test.go index fcfe78f3cd..219134e15c 100644 --- a/privval/grpc/server_test.go +++ b/privval/grpc/server_test.go @@ -9,13 +9,13 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/libs/log" - tmrand "github.com/tendermint/tendermint/libs/rand" - tmgrpc "github.com/tendermint/tendermint/privval/grpc" - privvalproto "github.com/tendermint/tendermint/proto/tendermint/privval" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/libs/log" + tmrand "github.com/dashpay/tenderdash/libs/rand" + tmgrpc "github.com/dashpay/tenderdash/privval/grpc" + privvalproto "github.com/dashpay/tenderdash/proto/tendermint/privval" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) const ChainID = "123" diff --git a/privval/grpc/util.go b/privval/grpc/util.go index a3ea6c532d..46b0ba12de 100644 --- a/privval/grpc/util.go +++ b/privval/grpc/util.go @@ -15,9 +15,9 @@ import ( "google.golang.org/grpc/credentials/insecure" "google.golang.org/grpc/keepalive" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/libs/log" - tmnet "github.com/tendermint/tendermint/libs/net" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/libs/log" + tmnet "github.com/dashpay/tenderdash/libs/net" ) // DefaultDialOptions constructs a list of grpc dial options diff --git a/privval/msgs.go b/privval/msgs.go index 1480ce7c87..b0056ad4ba 100644 --- a/privval/msgs.go +++ b/privval/msgs.go @@ -5,7 +5,7 @@ import ( "github.com/gogo/protobuf/proto" - privvalproto "github.com/tendermint/tendermint/proto/tendermint/privval" + privvalproto "github.com/dashpay/tenderdash/proto/tendermint/privval" ) // TODO: Add ChainIDRequest diff --git a/privval/msgs_test.go b/privval/msgs_test.go index 296b7e83db..bbb4d5f339 100644 --- a/privval/msgs_test.go +++ b/privval/msgs_test.go @@ -9,13 +9,13 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/bls12381" - "github.com/tendermint/tendermint/crypto/encoding" - cryptoproto "github.com/tendermint/tendermint/proto/tendermint/crypto" - privproto "github.com/tendermint/tendermint/proto/tendermint/privval" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/bls12381" + "github.com/dashpay/tenderdash/crypto/encoding" + cryptoproto "github.com/dashpay/tenderdash/proto/tendermint/crypto" + privproto "github.com/dashpay/tenderdash/proto/tendermint/privval" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) var stamp = time.Date(2019, 10, 13, 16, 14, 44, 0, time.UTC) diff --git a/privval/retry_signer_client.go b/privval/retry_signer_client.go index 20128d259c..c3590f85fd 100644 --- a/privval/retry_signer_client.go +++ b/privval/retry_signer_client.go @@ -8,11 +8,11 @@ import ( "github.com/dashpay/dashd-go/btcjson" - "github.com/tendermint/tendermint/crypto" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/libs/log" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/libs/log" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) // RetrySignerClient wraps SignerClient adding retry for each operation (except diff --git a/privval/secret_connection.go b/privval/secret_connection.go index ba651d7553..2c69517a39 100644 --- a/privval/secret_connection.go +++ b/privval/secret_connection.go @@ -23,12 +23,12 @@ import ( "golang.org/x/crypto/hkdf" "golang.org/x/crypto/nacl/box" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/ed25519" - "github.com/tendermint/tendermint/crypto/encoding" - "github.com/tendermint/tendermint/internal/libs/async" - "github.com/tendermint/tendermint/internal/libs/protoio" - tmprivval "github.com/tendermint/tendermint/proto/tendermint/privval" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/ed25519" + "github.com/dashpay/tenderdash/crypto/encoding" + "github.com/dashpay/tenderdash/internal/libs/async" + "github.com/dashpay/tenderdash/internal/libs/protoio" + tmprivval "github.com/dashpay/tenderdash/proto/tendermint/privval" ) // This code has been duplicated from p2p/conn prior to the P2P refactor. diff --git a/privval/signer_client.go b/privval/signer_client.go index ab6baeaf97..8b5a74c80f 100644 --- a/privval/signer_client.go +++ b/privval/signer_client.go @@ -8,13 +8,13 @@ import ( "github.com/dashpay/dashd-go/btcjson" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/encoding" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/libs/log" - privvalproto "github.com/tendermint/tendermint/proto/tendermint/privval" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/encoding" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/libs/log" + privvalproto "github.com/dashpay/tenderdash/proto/tendermint/privval" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) // SignerClient implements PrivValidator. diff --git a/privval/signer_client_test.go b/privval/signer_client_test.go index 994b5fc0f5..73496b82fd 100644 --- a/privval/signer_client_test.go +++ b/privval/signer_client_test.go @@ -11,13 +11,13 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/libs/log" - tmrand "github.com/tendermint/tendermint/libs/rand" - cryptoproto "github.com/tendermint/tendermint/proto/tendermint/crypto" - privvalproto "github.com/tendermint/tendermint/proto/tendermint/privval" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/libs/log" + tmrand "github.com/dashpay/tenderdash/libs/rand" + cryptoproto "github.com/dashpay/tenderdash/proto/tendermint/crypto" + privvalproto "github.com/dashpay/tenderdash/proto/tendermint/privval" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) type signerTestCase struct { diff --git a/privval/signer_dialer_endpoint.go b/privval/signer_dialer_endpoint.go index b291a7ef5e..e68c45e37a 100644 --- a/privval/signer_dialer_endpoint.go +++ b/privval/signer_dialer_endpoint.go @@ -4,8 +4,8 @@ import ( "context" "time" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/libs/service" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/libs/service" ) const ( diff --git a/privval/signer_endpoint.go b/privval/signer_endpoint.go index 8795268c42..96ae1f5564 100644 --- a/privval/signer_endpoint.go +++ b/privval/signer_endpoint.go @@ -8,10 +8,10 @@ import ( sync "github.com/sasha-s/go-deadlock" - "github.com/tendermint/tendermint/internal/libs/protoio" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/libs/service" - privvalproto "github.com/tendermint/tendermint/proto/tendermint/privval" + "github.com/dashpay/tenderdash/internal/libs/protoio" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/libs/service" + privvalproto "github.com/dashpay/tenderdash/proto/tendermint/privval" ) const ( diff --git a/privval/signer_listener_endpoint.go b/privval/signer_listener_endpoint.go index bb6104dfc5..fd1b40dd62 100644 --- a/privval/signer_listener_endpoint.go +++ b/privval/signer_listener_endpoint.go @@ -8,9 +8,9 @@ import ( sync "github.com/sasha-s/go-deadlock" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/libs/service" - privvalproto "github.com/tendermint/tendermint/proto/tendermint/privval" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/libs/service" + privvalproto "github.com/dashpay/tenderdash/proto/tendermint/privval" ) // SignerListenerEndpointOption sets an optional parameter on the SignerListenerEndpoint. diff --git a/privval/signer_listener_endpoint_test.go b/privval/signer_listener_endpoint_test.go index 6049c62450..42a818528d 100644 --- a/privval/signer_listener_endpoint_test.go +++ b/privval/signer_listener_endpoint_test.go @@ -10,11 +10,11 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/crypto/ed25519" - "github.com/tendermint/tendermint/libs/log" - tmnet "github.com/tendermint/tendermint/libs/net" - tmrand "github.com/tendermint/tendermint/libs/rand" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/crypto/ed25519" + "github.com/dashpay/tenderdash/libs/log" + tmnet "github.com/dashpay/tenderdash/libs/net" + tmrand "github.com/dashpay/tenderdash/libs/rand" + "github.com/dashpay/tenderdash/types" ) var ( diff --git a/privval/signer_requestHandler.go b/privval/signer_requestHandler.go index 636f946731..5431e17c7c 100644 --- a/privval/signer_requestHandler.go +++ b/privval/signer_requestHandler.go @@ -8,12 +8,12 @@ import ( "github.com/gogo/protobuf/proto" - "github.com/tendermint/tendermint/crypto" - cryptoenc "github.com/tendermint/tendermint/crypto/encoding" - cryptoproto "github.com/tendermint/tendermint/proto/tendermint/crypto" - privvalproto "github.com/tendermint/tendermint/proto/tendermint/privval" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + cryptoenc "github.com/dashpay/tenderdash/crypto/encoding" + cryptoproto "github.com/dashpay/tenderdash/proto/tendermint/crypto" + privvalproto "github.com/dashpay/tenderdash/proto/tendermint/privval" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) func DefaultValidationRequestHandler( diff --git a/privval/signer_server.go b/privval/signer_server.go index 2de8b68274..20554332f3 100644 --- a/privval/signer_server.go +++ b/privval/signer_server.go @@ -6,9 +6,9 @@ import ( sync "github.com/sasha-s/go-deadlock" - "github.com/tendermint/tendermint/libs/service" - privvalproto "github.com/tendermint/tendermint/proto/tendermint/privval" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/libs/service" + privvalproto "github.com/dashpay/tenderdash/proto/tendermint/privval" + "github.com/dashpay/tenderdash/types" ) // ValidationRequestHandlerFunc handles different remoteSigner requests diff --git a/privval/socket_dialers.go b/privval/socket_dialers.go index 9be84e02d7..befb0ab45e 100644 --- a/privval/socket_dialers.go +++ b/privval/socket_dialers.go @@ -5,8 +5,8 @@ import ( "net" "time" - "github.com/tendermint/tendermint/crypto" - tmnet "github.com/tendermint/tendermint/libs/net" + "github.com/dashpay/tenderdash/crypto" + tmnet "github.com/dashpay/tenderdash/libs/net" ) // Socket errors. diff --git a/privval/socket_dialers_test.go b/privval/socket_dialers_test.go index 7ec8fe30f6..4e7100f7c4 100644 --- a/privval/socket_dialers_test.go +++ b/privval/socket_dialers_test.go @@ -8,8 +8,8 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/crypto/ed25519" - tmnet "github.com/tendermint/tendermint/libs/net" + "github.com/dashpay/tenderdash/crypto/ed25519" + tmnet "github.com/dashpay/tenderdash/libs/net" ) // getFreeLocalhostAddrPort returns a free localhost:port address diff --git a/privval/socket_listeners.go b/privval/socket_listeners.go index 1ae95634a4..3e5ab7c56c 100644 --- a/privval/socket_listeners.go +++ b/privval/socket_listeners.go @@ -4,7 +4,7 @@ import ( "net" "time" - "github.com/tendermint/tendermint/crypto/ed25519" + "github.com/dashpay/tenderdash/crypto/ed25519" ) const ( diff --git a/privval/socket_listeners_test.go b/privval/socket_listeners_test.go index e91d111d00..02a959bca7 100644 --- a/privval/socket_listeners_test.go +++ b/privval/socket_listeners_test.go @@ -8,7 +8,7 @@ import ( "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/crypto/ed25519" + "github.com/dashpay/tenderdash/crypto/ed25519" ) //------------------------------------------- diff --git a/privval/utils.go b/privval/utils.go index a2cbbf5014..5b51da4f19 100644 --- a/privval/utils.go +++ b/privval/utils.go @@ -5,9 +5,9 @@ import ( "fmt" "net" - "github.com/tendermint/tendermint/crypto/ed25519" - "github.com/tendermint/tendermint/libs/log" - tmnet "github.com/tendermint/tendermint/libs/net" + "github.com/dashpay/tenderdash/crypto/ed25519" + "github.com/dashpay/tenderdash/libs/log" + tmnet "github.com/dashpay/tenderdash/libs/net" ) // IsConnTimeout returns a boolean indicating whether the error is known to diff --git a/proto/tendermint/abci/types.proto b/proto/tendermint/abci/types.proto index 0c72d7d4c9..e5d66e39f6 100644 --- a/proto/tendermint/abci/types.proto +++ b/proto/tendermint/abci/types.proto @@ -1,7 +1,7 @@ syntax = "proto3"; package tendermint.abci; -option go_package = "github.com/tendermint/tendermint/abci/types"; +option go_package = "github.com/dashpay/tenderdash/abci/types"; import "tendermint/crypto/proof.proto"; import "tendermint/types/dash.proto"; diff --git a/proto/tendermint/blocksync/types.pb.go b/proto/tendermint/blocksync/types.pb.go index acb1317365..b969b4abd4 100644 --- a/proto/tendermint/blocksync/types.pb.go +++ b/proto/tendermint/blocksync/types.pb.go @@ -5,8 +5,8 @@ package blocksync import ( fmt "fmt" + types "github.com/dashpay/tenderdash/proto/tendermint/types" proto "github.com/gogo/protobuf/proto" - types "github.com/tendermint/tendermint/proto/tendermint/types" io "io" math "math" math_bits "math/bits" @@ -268,7 +268,7 @@ func init() { func init() { proto.RegisterFile("tendermint/blocksync/types.proto", fileDescriptor_19b397c236e0fa07) } var fileDescriptor_19b397c236e0fa07 = []byte{ - // 267 bytes of a gzipped FileDescriptorProto + // 275 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x28, 0x49, 0xcd, 0x4b, 0x49, 0x2d, 0xca, 0xcd, 0xcc, 0x2b, 0xd1, 0x4f, 0xca, 0xc9, 0x4f, 0xce, 0x2e, 0xae, 0xcc, 0x4b, 0xd6, 0x2f, 0xa9, 0x2c, 0x48, 0x2d, 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x12, 0x41, 0xa8, @@ -281,11 +281,12 @@ var fileDescriptor_19b397c236e0fa07 = []byte{ 0xe4, 0xfc, 0xdc, 0xdc, 0xcc, 0x12, 0x09, 0x26, 0xb0, 0x7a, 0x09, 0x4c, 0xf5, 0xce, 0x60, 0xf9, 0x20, 0xa8, 0x3a, 0x25, 0x7e, 0x2e, 0xde, 0xe0, 0x92, 0xc4, 0x92, 0xd2, 0x62, 0xa8, 0x2f, 0x94, 0x6c, 0xb8, 0xf8, 0x60, 0x02, 0xf8, 0x1d, 0x2b, 0x24, 0xc4, 0xc5, 0x92, 0x94, 0x58, 0x9c, 0x0a, - 0xb6, 0x8a, 0x39, 0x08, 0xcc, 0x76, 0x0a, 0x3d, 0xf1, 0x48, 0x8e, 0xf1, 0xc2, 0x23, 0x39, 0xc6, + 0xb6, 0x8a, 0x39, 0x08, 0xcc, 0x76, 0x0a, 0x3a, 0xf1, 0x48, 0x8e, 0xf1, 0xc2, 0x23, 0x39, 0xc6, 0x07, 0x8f, 0xe4, 0x18, 0x27, 0x3c, 0x96, 0x63, 0xb8, 0xf0, 0x58, 0x8e, 0xe1, 0xc6, 0x63, 0x39, - 0x86, 0x28, 0xeb, 0xf4, 0xcc, 0x92, 0x8c, 0xd2, 0x24, 0xbd, 0xe4, 0xfc, 0x5c, 0x7d, 0xe4, 0x60, - 0x45, 0x30, 0xc1, 0xa1, 0xaa, 0x8f, 0x2d, 0x22, 0x93, 0xd8, 0xc0, 0x72, 0xc6, 0x80, 0x00, 0x00, - 0x00, 0xff, 0xff, 0x73, 0xe1, 0x09, 0xcb, 0xe7, 0x01, 0x00, 0x00, + 0x86, 0x28, 0x8b, 0xf4, 0xcc, 0x92, 0x8c, 0xd2, 0x24, 0xbd, 0xe4, 0xfc, 0x5c, 0xfd, 0x94, 0xc4, + 0xe2, 0x8c, 0x82, 0xc4, 0x4a, 0x7d, 0x88, 0xe3, 0x40, 0x3c, 0x7d, 0x70, 0x90, 0xea, 0x63, 0x8b, + 0xc5, 0x24, 0x36, 0xb0, 0x9c, 0x31, 0x20, 0x00, 0x00, 0xff, 0xff, 0x3d, 0x3d, 0xc3, 0xea, 0xe4, + 0x01, 0x00, 0x00, } func (m *BlockRequest) Marshal() (dAtA []byte, err error) { diff --git a/proto/tendermint/blocksync/types.proto b/proto/tendermint/blocksync/types.proto index 457b52284f..3b229350d0 100644 --- a/proto/tendermint/blocksync/types.proto +++ b/proto/tendermint/blocksync/types.proto @@ -1,7 +1,7 @@ syntax = "proto3"; package tendermint.blocksync; -option go_package = "github.com/tendermint/tendermint/proto/tendermint/blocksync"; +option go_package = "github.com/dashpay/tenderdash/proto/tendermint/blocksync"; import "tendermint/types/block.proto"; import "tendermint/types/types.proto"; diff --git a/proto/tendermint/consensus/message_test.go b/proto/tendermint/consensus/message_test.go index 21c3c4faa0..8c1a2c9a97 100644 --- a/proto/tendermint/consensus/message_test.go +++ b/proto/tendermint/consensus/message_test.go @@ -8,8 +8,8 @@ import ( "github.com/gogo/protobuf/proto" "github.com/stretchr/testify/require" - tmcons "github.com/tendermint/tendermint/proto/tendermint/consensus" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + tmcons "github.com/dashpay/tenderdash/proto/tendermint/consensus" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" ) func TestHasVoteVector(t *testing.T) { diff --git a/proto/tendermint/consensus/types.pb.go b/proto/tendermint/consensus/types.pb.go index 859ddabc70..076ffe4a37 100644 --- a/proto/tendermint/consensus/types.pb.go +++ b/proto/tendermint/consensus/types.pb.go @@ -5,10 +5,10 @@ package consensus import ( fmt "fmt" + bits "github.com/dashpay/tenderdash/proto/tendermint/libs/bits" + types "github.com/dashpay/tenderdash/proto/tendermint/types" _ "github.com/gogo/protobuf/gogoproto" proto "github.com/gogo/protobuf/proto" - bits "github.com/tendermint/tendermint/proto/tendermint/libs/bits" - types "github.com/tendermint/tendermint/proto/tendermint/types" io "io" math "math" math_bits "math/bits" @@ -930,65 +930,65 @@ func init() { func init() { proto.RegisterFile("tendermint/consensus/types.proto", fileDescriptor_81a22d2efc008981) } var fileDescriptor_81a22d2efc008981 = []byte{ - // 914 bytes of a gzipped FileDescriptorProto + // 920 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x56, 0xcd, 0x6e, 0x23, 0x45, 0x10, 0x9e, 0x21, 0xfe, 0xad, 0xc9, 0x0f, 0xb4, 0xb2, 0x2b, 0x13, 0x16, 0x27, 0x0c, 0x97, 0x08, - 0x21, 0x7b, 0xe5, 0x48, 0x20, 0x02, 0x12, 0x60, 0x7e, 0x76, 0x76, 0xb5, 0xd9, 0xb5, 0xc6, 0xcb, - 0x0a, 0x71, 0x19, 0x8d, 0x3d, 0x2d, 0xbb, 0x59, 0x7b, 0x7a, 0x34, 0xdd, 0x49, 0xc8, 0x95, 0x27, - 0xe0, 0x01, 0x78, 0x0d, 0x24, 0x1e, 0x61, 0x8f, 0x7b, 0xe4, 0xb4, 0x42, 0xc9, 0x0b, 0x20, 0x21, - 0xee, 0xa8, 0xab, 0xdb, 0xe3, 0x0e, 0x99, 0x04, 0x7c, 0x41, 0xda, 0xdb, 0xcc, 0x54, 0xd5, 0xd7, - 0x55, 0x5f, 0x55, 0x7d, 0x3d, 0xb0, 0x27, 0x69, 0x9a, 0xd0, 0x7c, 0xce, 0x52, 0xd9, 0x1d, 0xf3, - 0x54, 0xd0, 0x54, 0x1c, 0x8b, 0xae, 0x3c, 0xcb, 0xa8, 0xe8, 0x64, 0x39, 0x97, 0x9c, 0x6c, 0x2f, - 0x3d, 0x3a, 0x85, 0xc7, 0xce, 0xf6, 0x84, 0x4f, 0x38, 0x3a, 0x74, 0xd5, 0x93, 0xf6, 0xdd, 0xb9, - 0x63, 0xa1, 0x21, 0x86, 0x8d, 0xb4, 0x63, 0x9f, 0x35, 0x63, 0x23, 0xd1, 0x1d, 0x31, 0x79, 0xc9, - 0xc3, 0xff, 0xc5, 0x85, 0xf5, 0x47, 0xf4, 0x34, 0xe4, 0xc7, 0x69, 0x32, 0x94, 0x34, 0x23, 0xb7, - 0xa1, 0x36, 0xa5, 0x6c, 0x32, 0x95, 0x2d, 0x77, 0xcf, 0xdd, 0x5f, 0x0b, 0xcd, 0x1b, 0xd9, 0x86, - 0x6a, 0xae, 0x9c, 0x5a, 0xaf, 0xed, 0xb9, 0xfb, 0xd5, 0x50, 0xbf, 0x10, 0x02, 0x15, 0x21, 0x69, - 0xd6, 0x5a, 0xdb, 0x73, 0xf7, 0x37, 0x42, 0x7c, 0x26, 0x1f, 0x42, 0x4b, 0xd0, 0x31, 0x4f, 0x13, - 0x11, 0x09, 0x96, 0x8e, 0x69, 0x24, 0x64, 0x9c, 0xcb, 0x48, 0xb2, 0x39, 0x6d, 0x55, 0x10, 0xf3, - 0x96, 0xb1, 0x0f, 0x95, 0x79, 0xa8, 0xac, 0x4f, 0xd8, 0x9c, 0x92, 0xf7, 0xe0, 0x8d, 0x59, 0x2c, - 0x64, 0x34, 0xe6, 0xf3, 0x39, 0x93, 0x91, 0x3e, 0xae, 0x8a, 0xc7, 0x6d, 0x29, 0xc3, 0x17, 0xf8, - 0x1d, 0x53, 0xf5, 0xff, 0x72, 0x61, 0xe3, 0x11, 0x3d, 0x7d, 0x1a, 0xcf, 0x58, 0xd2, 0x9f, 0xf1, - 0xf1, 0xb3, 0x15, 0x13, 0xff, 0x16, 0x6e, 0x8d, 0x54, 0x58, 0x94, 0xa9, 0xdc, 0x04, 0x95, 0xd1, - 0x94, 0xc6, 0x09, 0xcd, 0xb1, 0x12, 0xaf, 0xb7, 0xdb, 0xb1, 0x7a, 0xa0, 0xf9, 0x1a, 0xc4, 0xb9, - 0x1c, 0x52, 0x19, 0xa0, 0x5b, 0xbf, 0xf2, 0xfc, 0xe5, 0xae, 0x13, 0x12, 0xc4, 0xb8, 0x64, 0x21, - 0x9f, 0x82, 0xb7, 0x44, 0x16, 0x58, 0xb1, 0xd7, 0x6b, 0xdb, 0x78, 0xaa, 0x13, 0x1d, 0xd5, 0x89, - 0x4e, 0x9f, 0xc9, 0xcf, 0xf3, 0x3c, 0x3e, 0x0b, 0xa1, 0x00, 0x12, 0xe4, 0x2d, 0x68, 0x32, 0x61, - 0x48, 0xc0, 0xf2, 0x1b, 0x61, 0x83, 0x09, 0x5d, 0xbc, 0x1f, 0x40, 0x63, 0x90, 0xf3, 0x8c, 0x8b, - 0x78, 0x46, 0x3e, 0x81, 0x46, 0x66, 0x9e, 0xb1, 0x66, 0xaf, 0xb7, 0x53, 0x92, 0xb6, 0xf1, 0x30, - 0x19, 0x17, 0x11, 0xfe, 0xcf, 0x2e, 0x78, 0x0b, 0xe3, 0xe0, 0xf1, 0xc3, 0x6b, 0xf9, 0x7b, 0x1f, - 0xc8, 0x22, 0x26, 0xca, 0xf8, 0x2c, 0xb2, 0xc9, 0x7c, 0x7d, 0x61, 0x19, 0xf0, 0x19, 0xf6, 0x85, - 0xdc, 0x83, 0x75, 0xdb, 0xdb, 0xd0, 0xf9, 0x2f, 0xe5, 0x9b, 0xdc, 0x3c, 0x0b, 0xcd, 0x7f, 0x06, - 0xcd, 0xfe, 0x82, 0x93, 0x15, 0x7b, 0x7b, 0x17, 0x2a, 0x8a, 0x7b, 0x73, 0xf6, 0xed, 0xf2, 0x56, - 0x9a, 0x33, 0xd1, 0xd3, 0xef, 0x41, 0xe5, 0x29, 0x97, 0x6a, 0x02, 0x2b, 0x27, 0x5c, 0x52, 0xc3, - 0x66, 0x49, 0xa4, 0xf2, 0x0a, 0xd1, 0xc7, 0xff, 0xd1, 0x85, 0x7a, 0x10, 0x0b, 0x8c, 0x5b, 0x2d, - 0xbf, 0x03, 0xa8, 0x28, 0x34, 0xcc, 0x6f, 0xb3, 0x6c, 0xd4, 0x86, 0x6c, 0x92, 0xd2, 0xe4, 0x48, - 0x4c, 0x9e, 0x9c, 0x65, 0x34, 0x44, 0x67, 0x05, 0xc5, 0xd2, 0x84, 0xfe, 0x80, 0x03, 0x55, 0x0d, - 0xf5, 0x8b, 0x7f, 0x08, 0x35, 0x3d, 0x18, 0xe4, 0x2e, 0xd4, 0xcc, 0xc8, 0xe8, 0xe4, 0x5b, 0x57, - 0x61, 0xcd, 0xfe, 0x18, 0x3f, 0xff, 0x23, 0x68, 0x06, 0xb1, 0x99, 0xab, 0xd5, 0x2a, 0xf0, 0x7f, - 0x75, 0x61, 0x5d, 0x15, 0x3e, 0xa4, 0xf2, 0x28, 0xfe, 0xbe, 0x77, 0xf0, 0x7f, 0x10, 0xf0, 0x15, - 0x34, 0xf4, 0x5e, 0xb1, 0xc4, 0x2c, 0xd5, 0x9b, 0x57, 0x03, 0x71, 0x64, 0xee, 0x7f, 0xd9, 0xdf, - 0x52, 0xcd, 0x3d, 0x7f, 0xb9, 0x5b, 0x37, 0x1f, 0xc2, 0x3a, 0xc6, 0xde, 0x4f, 0xfc, 0x3f, 0x5d, - 0xf0, 0x4c, 0xea, 0x7d, 0x26, 0xc5, 0xab, 0x93, 0x39, 0x39, 0x84, 0xaa, 0x1a, 0x3c, 0x81, 0x9a, - 0xf0, 0x5f, 0x77, 0x4a, 0x87, 0xf8, 0x7f, 0x54, 0xa1, 0x7e, 0x44, 0x85, 0x88, 0x27, 0x94, 0x3c, - 0x80, 0xcd, 0x94, 0x9e, 0xea, 0x3d, 0x8e, 0x50, 0xbd, 0xf5, 0xc4, 0xf8, 0x9d, 0xb2, 0x7b, 0xa7, - 0x63, 0xdf, 0x0e, 0x81, 0x13, 0xae, 0xa7, 0xf6, 0x6d, 0x71, 0x04, 0x5b, 0x0a, 0xeb, 0x44, 0xc9, - 0x70, 0x84, 0x89, 0x22, 0x5f, 0x5e, 0xef, 0xdd, 0x6b, 0xc1, 0x96, 0x92, 0x1d, 0x38, 0xe1, 0x46, - 0x7a, 0x49, 0xc3, 0x6d, 0x45, 0x2b, 0x51, 0x8e, 0x25, 0xce, 0x42, 0xb8, 0x02, 0x4b, 0xd1, 0xc8, - 0xd7, 0xff, 0xd0, 0x1e, 0xcd, 0xf5, 0x3b, 0x37, 0x23, 0x0c, 0x1e, 0x3f, 0x0c, 0x2e, 0x4b, 0x0f, - 0xf9, 0x0c, 0x60, 0xa9, 0xe0, 0x86, 0xed, 0xdd, 0x72, 0x94, 0x42, 0xa2, 0x02, 0x27, 0x6c, 0x16, - 0x1a, 0xae, 0x14, 0x08, 0x75, 0xa4, 0x76, 0x55, 0x95, 0x97, 0xb1, 0x6a, 0x0a, 0x03, 0x47, 0xab, - 0x09, 0x39, 0x84, 0xc6, 0x34, 0x16, 0x11, 0x46, 0xd5, 0x31, 0xea, 0xed, 0xf2, 0x28, 0x23, 0x39, - 0x81, 0x13, 0xd6, 0xa7, 0x46, 0x7d, 0x1e, 0xc0, 0xa6, 0x8a, 0xc3, 0x5b, 0x6c, 0xae, 0xd6, 0xb1, - 0xd5, 0xb8, 0xa9, 0xa1, 0xf6, 0xe2, 0xaa, 0x86, 0x9e, 0xd8, 0x8b, 0x7c, 0x0f, 0x36, 0x0a, 0x2c, - 0x35, 0x4f, 0xad, 0xe6, 0x4d, 0x24, 0x5a, 0x8b, 0xa4, 0x48, 0x3c, 0xb1, 0xf6, 0xea, 0x83, 0x42, - 0x8f, 0x00, 0x11, 0xee, 0x94, 0x23, 0x68, 0xf9, 0x09, 0x9c, 0x85, 0x2a, 0x29, 0xf2, 0x15, 0x11, - 0x26, 0xd6, 0xbb, 0x89, 0xfc, 0x42, 0xbd, 0x14, 0xf9, 0xd3, 0xc5, 0x4b, 0xbf, 0x0a, 0x6b, 0xe2, - 0x78, 0xde, 0xff, 0xe6, 0xf9, 0x79, 0xdb, 0x7d, 0x71, 0xde, 0x76, 0x7f, 0x3f, 0x6f, 0xbb, 0x3f, - 0x5d, 0xb4, 0x9d, 0x17, 0x17, 0x6d, 0xe7, 0xb7, 0x8b, 0xb6, 0xf3, 0xdd, 0xc7, 0x13, 0x26, 0xa7, - 0xc7, 0xa3, 0xce, 0x98, 0xcf, 0xbb, 0xf6, 0xef, 0xd3, 0xf2, 0x51, 0xff, 0x66, 0x95, 0xfd, 0xa8, - 0x8d, 0x6a, 0x68, 0x3b, 0xf8, 0x3b, 0x00, 0x00, 0xff, 0xff, 0xfd, 0xb1, 0x2b, 0x7f, 0xc7, 0x09, - 0x00, 0x00, + 0x21, 0x7b, 0xe5, 0x48, 0xfc, 0x44, 0x48, 0x80, 0xf9, 0xd9, 0xd9, 0xd5, 0x66, 0xd7, 0x6a, 0xaf, + 0x56, 0x88, 0xcb, 0x68, 0xec, 0x69, 0xd9, 0xcd, 0xda, 0xd3, 0xa3, 0xe9, 0x4e, 0x42, 0xae, 0x3c, + 0x01, 0x0f, 0xc0, 0x6b, 0x20, 0xf1, 0x08, 0x7b, 0xdc, 0x23, 0xa7, 0x15, 0x4a, 0x5e, 0x00, 0x09, + 0x71, 0x47, 0x5d, 0xdd, 0xb6, 0x3b, 0x64, 0x36, 0x90, 0x0b, 0x12, 0xb7, 0x69, 0x57, 0xd5, 0xd7, + 0x55, 0x5f, 0x55, 0x7d, 0x6d, 0xd8, 0x53, 0x2c, 0x4b, 0x59, 0x31, 0xe7, 0x99, 0xea, 0x8e, 0x45, + 0x26, 0x59, 0x26, 0x8f, 0x65, 0x57, 0x9d, 0xe5, 0x4c, 0x76, 0xf2, 0x42, 0x28, 0x41, 0xb6, 0x57, + 0x1e, 0x9d, 0xa5, 0xc7, 0xce, 0xf6, 0x44, 0x4c, 0x04, 0x3a, 0x74, 0xf5, 0x97, 0xf1, 0xdd, 0xb9, + 0xe3, 0xa0, 0x21, 0x86, 0x8b, 0xb4, 0xe3, 0xde, 0x35, 0xe3, 0x23, 0xd9, 0x1d, 0x71, 0x75, 0xc9, + 0x23, 0xfc, 0xd9, 0x87, 0xf5, 0x47, 0xec, 0x94, 0x8a, 0xe3, 0x2c, 0x1d, 0x2a, 0x96, 0x93, 0xdb, + 0x50, 0x9b, 0x32, 0x3e, 0x99, 0xaa, 0x96, 0xbf, 0xe7, 0xef, 0xaf, 0x51, 0x7b, 0x22, 0xdb, 0x50, + 0x2d, 0xb4, 0x53, 0xeb, 0xb5, 0x3d, 0x7f, 0xbf, 0x4a, 0xcd, 0x81, 0x10, 0xa8, 0x48, 0xc5, 0xf2, + 0xd6, 0xda, 0x9e, 0xbf, 0xbf, 0x41, 0xf1, 0x9b, 0x7c, 0x08, 0x2d, 0xc9, 0xc6, 0x22, 0x4b, 0x65, + 0x2c, 0x79, 0x36, 0x66, 0xb1, 0x54, 0x49, 0xa1, 0x62, 0xc5, 0xe7, 0xac, 0x55, 0x41, 0xcc, 0x5b, + 0xd6, 0x3e, 0xd4, 0xe6, 0xa1, 0xb6, 0x3e, 0xe1, 0x73, 0x46, 0xde, 0x83, 0x37, 0x66, 0x89, 0x54, + 0xf1, 0x58, 0xcc, 0xe7, 0x5c, 0xc5, 0xe6, 0xba, 0x2a, 0x5e, 0xb7, 0xa5, 0x0d, 0x5f, 0xe0, 0xef, + 0x98, 0x6a, 0xf8, 0xa7, 0x0f, 0x1b, 0x8f, 0xd8, 0xe9, 0xd3, 0x64, 0xc6, 0xd3, 0xfe, 0x4c, 0x8c, + 0x9f, 0xdd, 0x30, 0xf1, 0x6f, 0xe0, 0xd6, 0x48, 0x87, 0xc5, 0xb9, 0xce, 0x4d, 0x32, 0x15, 0x4f, + 0x59, 0x92, 0xb2, 0x02, 0x2b, 0x09, 0x7a, 0xbb, 0x1d, 0xa7, 0x07, 0x86, 0xaf, 0x41, 0x52, 0xa8, + 0x21, 0x53, 0x11, 0xba, 0xf5, 0x2b, 0xcf, 0x5f, 0xee, 0x7a, 0x94, 0x20, 0xc6, 0x25, 0x0b, 0xf9, + 0x14, 0x82, 0x15, 0xb2, 0xc4, 0x8a, 0x83, 0x5e, 0xdb, 0xc5, 0xd3, 0x9d, 0xe8, 0xe8, 0x4e, 0x74, + 0xfa, 0x5c, 0x7d, 0x5e, 0x14, 0xc9, 0x19, 0x85, 0x25, 0x90, 0x24, 0x6f, 0x41, 0x93, 0x4b, 0x4b, + 0x02, 0x96, 0xdf, 0xa0, 0x0d, 0x2e, 0x4d, 0xf1, 0x61, 0x04, 0x8d, 0x41, 0x21, 0x72, 0x21, 0x93, + 0x19, 0xf9, 0x04, 0x1a, 0xb9, 0xfd, 0xc6, 0x9a, 0x83, 0xde, 0x4e, 0x49, 0xda, 0xd6, 0xc3, 0x66, + 0xbc, 0x8c, 0x08, 0x7f, 0xf2, 0x21, 0x58, 0x18, 0x07, 0x8f, 0x1f, 0xbe, 0x92, 0xbf, 0xf7, 0x81, + 0x2c, 0x62, 0xe2, 0x5c, 0xcc, 0x62, 0x97, 0xcc, 0xd7, 0x17, 0x96, 0x81, 0x98, 0x61, 0x5f, 0xc8, + 0x3d, 0x58, 0x77, 0xbd, 0x2d, 0x9d, 0xff, 0x50, 0xbe, 0xcd, 0x2d, 0x70, 0xd0, 0xc2, 0x67, 0xd0, + 0xec, 0x2f, 0x38, 0xb9, 0x61, 0x6f, 0xef, 0x42, 0x45, 0x73, 0x6f, 0xef, 0xbe, 0x5d, 0xde, 0x4a, + 0x7b, 0x27, 0x7a, 0x86, 0x3d, 0xa8, 0x3c, 0x15, 0x4a, 0x4f, 0x60, 0xe5, 0x44, 0x28, 0x66, 0xd9, + 0x2c, 0x89, 0xd4, 0x5e, 0x14, 0x7d, 0xc2, 0x1f, 0x7c, 0xa8, 0x47, 0x89, 0xc4, 0xb8, 0x9b, 0xe5, + 0x77, 0x00, 0x15, 0x8d, 0x86, 0xf9, 0x6d, 0x96, 0x8d, 0xda, 0x90, 0x4f, 0x32, 0x96, 0x1e, 0xc9, + 0xc9, 0x93, 0xb3, 0x9c, 0x51, 0x74, 0xd6, 0x50, 0x3c, 0x4b, 0xd9, 0xf7, 0x38, 0x50, 0x55, 0x6a, + 0x0e, 0xe1, 0x21, 0xd4, 0xcc, 0x60, 0x90, 0xbb, 0x50, 0xb3, 0x23, 0x63, 0x92, 0x6f, 0x5d, 0x85, + 0xb5, 0xfb, 0x63, 0xfd, 0xc2, 0x8f, 0xa1, 0x19, 0x25, 0x76, 0xae, 0x6e, 0x56, 0x41, 0xf8, 0x8b, + 0x0f, 0xeb, 0xba, 0xf0, 0x21, 0x53, 0x47, 0xc9, 0x77, 0xbd, 0x83, 0xff, 0x82, 0x80, 0xaf, 0xa0, + 0x61, 0xf6, 0x8a, 0xa7, 0x76, 0xa9, 0xde, 0xbc, 0x1a, 0x88, 0x23, 0x73, 0xff, 0xcb, 0xfe, 0x96, + 0x6e, 0xee, 0xf9, 0xcb, 0xdd, 0xba, 0xfd, 0x81, 0xd6, 0x31, 0xf6, 0x7e, 0x1a, 0xfe, 0xe1, 0x43, + 0x60, 0x53, 0xef, 0x73, 0x25, 0xff, 0x3f, 0x99, 0x93, 0x43, 0xa8, 0xea, 0xc1, 0x93, 0xa8, 0x09, + 0xff, 0x76, 0xa7, 0x4c, 0x48, 0xf8, 0x7b, 0x15, 0xea, 0x47, 0x4c, 0xca, 0x64, 0xc2, 0xc8, 0x03, + 0xd8, 0xcc, 0xd8, 0xa9, 0xd9, 0xe3, 0x18, 0xd5, 0xdb, 0x4c, 0x4c, 0xd8, 0x29, 0x7b, 0x77, 0x3a, + 0xee, 0xeb, 0x10, 0x79, 0x74, 0x3d, 0x73, 0x5f, 0x8b, 0x23, 0xd8, 0xd2, 0x58, 0x27, 0x5a, 0x86, + 0x63, 0x4c, 0x14, 0xf9, 0x0a, 0x7a, 0xef, 0xbe, 0x12, 0x6c, 0x25, 0xd9, 0x91, 0x47, 0x37, 0xb2, + 0x4b, 0x1a, 0xee, 0x2a, 0x5a, 0x89, 0x72, 0xac, 0x70, 0x16, 0xc2, 0x15, 0x39, 0x8a, 0x46, 0xbe, + 0xfe, 0x9b, 0xf6, 0x18, 0xae, 0xdf, 0xb9, 0x1e, 0x61, 0xf0, 0xf8, 0x61, 0x74, 0x59, 0x7a, 0xc8, + 0x67, 0x00, 0x2b, 0x05, 0xb7, 0x6c, 0xef, 0x96, 0xa3, 0x2c, 0x25, 0x2a, 0xf2, 0x68, 0x73, 0xa9, + 0xe1, 0x5a, 0x81, 0x50, 0x47, 0x6a, 0x57, 0x55, 0x79, 0x15, 0xab, 0xa7, 0x30, 0xf2, 0x8c, 0x9a, + 0x90, 0x43, 0x68, 0x4c, 0x13, 0x19, 0x63, 0x54, 0x1d, 0xa3, 0xde, 0x2e, 0x8f, 0xb2, 0x92, 0x13, + 0x79, 0xb4, 0x3e, 0xb5, 0xea, 0xf3, 0x00, 0x36, 0x75, 0x1c, 0xbe, 0x62, 0x73, 0xbd, 0x8e, 0xad, + 0xc6, 0x75, 0x0d, 0x75, 0x17, 0x57, 0x37, 0xf4, 0xc4, 0x5d, 0xe4, 0x7b, 0xb0, 0xb1, 0xc4, 0xd2, + 0xf3, 0xd4, 0x6a, 0x5e, 0x47, 0xa2, 0xb3, 0x48, 0x9a, 0xc4, 0x13, 0x67, 0xaf, 0x3e, 0x58, 0xea, + 0x11, 0x20, 0xc2, 0x9d, 0x72, 0x04, 0x23, 0x3f, 0x91, 0xb7, 0x50, 0x25, 0x4d, 0xbe, 0x26, 0xc2, + 0xc6, 0x06, 0xd7, 0x91, 0xbf, 0x54, 0x2f, 0x4d, 0xfe, 0x74, 0x71, 0xe8, 0x57, 0x61, 0x4d, 0x1e, + 0xcf, 0xfb, 0xf4, 0xf9, 0x79, 0xdb, 0x7f, 0x71, 0xde, 0xf6, 0x7f, 0x3b, 0x6f, 0xfb, 0x3f, 0x5e, + 0xb4, 0xbd, 0x17, 0x17, 0x6d, 0xef, 0xd7, 0x8b, 0xb6, 0xf7, 0xed, 0x47, 0x13, 0xae, 0xa6, 0xc7, + 0xa3, 0xce, 0x58, 0xcc, 0xbb, 0x69, 0x22, 0xa7, 0x79, 0x72, 0xd6, 0x35, 0x17, 0xe8, 0x53, 0xd7, + 0xfc, 0xc7, 0x2a, 0xfb, 0x97, 0x36, 0xaa, 0xa1, 0xed, 0xe0, 0xaf, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x45, 0xea, 0xd4, 0x6b, 0xc4, 0x09, 0x00, 0x00, } func (m *NewRoundStep) Marshal() (dAtA []byte, err error) { diff --git a/proto/tendermint/consensus/types.proto b/proto/tendermint/consensus/types.proto index 034cf503dd..1ade2d0a27 100644 --- a/proto/tendermint/consensus/types.proto +++ b/proto/tendermint/consensus/types.proto @@ -1,7 +1,7 @@ syntax = "proto3"; package tendermint.consensus; -option go_package = "github.com/tendermint/tendermint/proto/tendermint/consensus"; +option go_package = "github.com/dashpay/tenderdash/proto/tendermint/consensus"; import "gogoproto/gogo.proto"; import "tendermint/types/types.proto"; diff --git a/proto/tendermint/consensus/wal.pb.go b/proto/tendermint/consensus/wal.pb.go index fd80819cd0..c4722100f2 100644 --- a/proto/tendermint/consensus/wal.pb.go +++ b/proto/tendermint/consensus/wal.pb.go @@ -5,12 +5,12 @@ package consensus import ( fmt "fmt" + types "github.com/dashpay/tenderdash/proto/tendermint/types" _ "github.com/gogo/protobuf/gogoproto" proto "github.com/gogo/protobuf/proto" _ "github.com/gogo/protobuf/types" github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" _ "github.com/golang/protobuf/ptypes/duration" - types "github.com/tendermint/tendermint/proto/tendermint/types" io "io" math "math" math_bits "math/bits" @@ -372,41 +372,42 @@ func init() { func init() { proto.RegisterFile("tendermint/consensus/wal.proto", fileDescriptor_ed0b60c2d348ab09) } var fileDescriptor_ed0b60c2d348ab09 = []byte{ - // 539 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x53, 0xdd, 0x8a, 0xd3, 0x40, - 0x14, 0xce, 0x6c, 0xff, 0x4f, 0x15, 0x21, 0x96, 0xa5, 0x16, 0x36, 0x8d, 0x5d, 0x84, 0x5e, 0x25, - 0xb0, 0x22, 0x88, 0x5e, 0xa8, 0xa5, 0x2b, 0x2d, 0xb8, 0x20, 0xe3, 0x8a, 0x20, 0x42, 0x48, 0x37, - 0xa7, 0x69, 0x60, 0x33, 0x53, 0x32, 0x13, 0xc5, 0x2b, 0x5f, 0xa1, 0x97, 0xbe, 0x89, 0xaf, 0xb0, - 0x97, 0x7b, 0xe9, 0xd5, 0x2a, 0xed, 0x8b, 0x48, 0x66, 0xd2, 0x36, 0xb8, 0xd9, 0xbb, 0x39, 0x73, - 0xbe, 0x73, 0xbe, 0x73, 0xbe, 0x6f, 0x06, 0x2c, 0x89, 0x2c, 0xc0, 0x24, 0x8e, 0x98, 0x74, 0x2f, - 0x38, 0x13, 0xc8, 0x44, 0x2a, 0xdc, 0x6f, 0xfe, 0xa5, 0xb3, 0x4c, 0xb8, 0xe4, 0x66, 0x67, 0x9f, - 0x77, 0x76, 0xf9, 0x5e, 0x27, 0xe4, 0x21, 0x57, 0x00, 0x37, 0x3b, 0x69, 0x6c, 0xcf, 0x2e, 0xed, - 0x25, 0xbf, 0x2f, 0x51, 0xe4, 0x88, 0xa3, 0x02, 0x42, 0xdd, 0xbb, 0xf8, 0x15, 0x99, 0xdc, 0xa6, - 0xad, 0x90, 0xf3, 0xf0, 0x12, 0x5d, 0x15, 0xcd, 0xd2, 0xb9, 0x1b, 0xa4, 0x89, 0x2f, 0x23, 0xce, - 0xf2, 0x7c, 0xff, 0xff, 0xbc, 0x8c, 0x62, 0x14, 0xd2, 0x8f, 0x97, 0x1a, 0x30, 0x40, 0x68, 0x9c, - 0x89, 0x70, 0xca, 0xe6, 0xdc, 0x7c, 0x06, 0x95, 0x58, 0x84, 0x5d, 0x62, 0x93, 0x61, 0xfb, 0xe4, - 0xc8, 0x29, 0x5b, 0xc3, 0x39, 0x43, 0x21, 0xfc, 0x10, 0x47, 0xd5, 0xab, 0x9b, 0xbe, 0x41, 0x33, - 0xbc, 0x79, 0x0c, 0x8d, 0x25, 0x62, 0xe2, 0x45, 0x41, 0xf7, 0xc0, 0x26, 0xc3, 0xd6, 0x08, 0xd6, - 0x37, 0xfd, 0xfa, 0x7b, 0xc4, 0x64, 0x3a, 0xa6, 0xf5, 0x2c, 0x35, 0x0d, 0x06, 0x2b, 0x02, 0xed, - 0xf3, 0x28, 0x46, 0x9e, 0x4a, 0xc5, 0xf5, 0x0a, 0x9a, 0xdb, 0x49, 0x73, 0xc2, 0x47, 0x8e, 0x1e, - 0xd5, 0xd9, 0x8e, 0xea, 0x8c, 0x73, 0xc0, 0xa8, 0x99, 0x91, 0xfd, 0xfc, 0xd3, 0x27, 0x74, 0x57, - 0x64, 0x1e, 0x42, 0x7d, 0x81, 0x51, 0xb8, 0x90, 0x8a, 0xb4, 0x42, 0xf3, 0xc8, 0xec, 0x40, 0x2d, - 0xe1, 0x29, 0x0b, 0xba, 0x15, 0x9b, 0x0c, 0x6b, 0x54, 0x07, 0xa6, 0x09, 0x55, 0x21, 0x71, 0xd9, - 0xad, 0xda, 0x64, 0x78, 0x9f, 0xaa, 0xf3, 0xe0, 0x18, 0x5a, 0xa7, 0x2c, 0x98, 0xe8, 0xb2, 0x7d, - 0x3b, 0x52, 0x6c, 0x37, 0xf8, 0x75, 0x00, 0xf0, 0xe9, 0xcd, 0xbb, 0x7c, 0x6d, 0xf3, 0x0b, 0x1c, - 0x2a, 0xf9, 0xbd, 0xc0, 0x97, 0xbe, 0xa7, 0x7a, 0x7b, 0x42, 0xfa, 0x12, 0xf3, 0x25, 0x9e, 0x14, - 0x55, 0xd3, 0x36, 0x9e, 0x66, 0xf8, 0xb1, 0x2f, 0x7d, 0x9a, 0xa1, 0x3f, 0x64, 0xe0, 0x89, 0x41, - 0x1f, 0xe2, 0xed, 0x6b, 0xf3, 0x05, 0x34, 0x63, 0x11, 0x7a, 0x11, 0x9b, 0x73, 0xb5, 0xd5, 0xdd, - 0x2e, 0x68, 0xc7, 0x26, 0x06, 0x6d, 0xc4, 0xb9, 0x79, 0x6f, 0xe1, 0x9e, 0xd4, 0xfa, 0xea, 0xfa, - 0x8a, 0xaa, 0x7f, 0x5c, 0x5e, 0x5f, 0x70, 0x62, 0x62, 0xd0, 0xb6, 0x2c, 0x18, 0xf3, 0x1a, 0x00, - 0x59, 0xe0, 0xe5, 0x62, 0x54, 0x55, 0x97, 0x7e, 0x79, 0x97, 0x9d, 0x7a, 0x13, 0x83, 0xb6, 0x70, - 0x1b, 0x8c, 0x6a, 0x50, 0x11, 0x69, 0x3c, 0xf8, 0x01, 0x0f, 0x32, 0x9a, 0xa0, 0xa0, 0xde, 0x73, - 0xa8, 0x66, 0x54, 0xb9, 0x56, 0xbd, 0x5b, 0x86, 0x9f, 0x6f, 0xdf, 0xa6, 0x76, 0x7c, 0x95, 0x39, - 0xae, 0x2a, 0xcc, 0x13, 0xfd, 0x34, 0xb5, 0x28, 0x76, 0xf9, 0x38, 0x7b, 0x22, 0xf5, 0x2e, 0x47, - 0x1f, 0xaf, 0xd6, 0x16, 0xb9, 0x5e, 0x5b, 0xe4, 0xef, 0xda, 0x22, 0xab, 0x8d, 0x65, 0x5c, 0x6f, - 0x2c, 0xe3, 0xf7, 0xc6, 0x32, 0x3e, 0xbf, 0x0c, 0x23, 0xb9, 0x48, 0x67, 0xce, 0x05, 0x8f, 0xdd, - 0xe2, 0xf7, 0xda, 0x1f, 0xf5, 0x47, 0x2d, 0xfb, 0x9c, 0xb3, 0xba, 0xca, 0x3d, 0xfd, 0x17, 0x00, - 0x00, 0xff, 0xff, 0x0b, 0xad, 0x1c, 0x1b, 0x07, 0x04, 0x00, 0x00, + // 547 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x53, 0xdf, 0x6a, 0xdb, 0x3e, + 0x14, 0xb6, 0x9a, 0x34, 0x7f, 0x94, 0xdf, 0x8f, 0x81, 0x17, 0x4a, 0x16, 0xa8, 0xe3, 0xa5, 0x0c, + 0x72, 0x65, 0x43, 0xc7, 0xa0, 0xec, 0x66, 0x5b, 0x48, 0x47, 0x02, 0x2b, 0x0c, 0xad, 0x30, 0x18, + 0x03, 0xa3, 0xd4, 0x27, 0x8e, 0xa1, 0x96, 0x8c, 0x25, 0x6f, 0xf4, 0x6a, 0xaf, 0x90, 0xcb, 0xbd, + 0xc9, 0x5e, 0xa1, 0x97, 0xbd, 0xdc, 0x55, 0x37, 0x92, 0x17, 0x19, 0x92, 0x9c, 0xc4, 0xac, 0xde, + 0x9d, 0x8e, 0xce, 0x77, 0xce, 0x77, 0xce, 0xf7, 0x49, 0xd8, 0x91, 0xc0, 0x42, 0xc8, 0x92, 0x98, + 0x49, 0xff, 0x8a, 0x33, 0x01, 0x4c, 0xe4, 0xc2, 0xff, 0x4a, 0xaf, 0xbd, 0x34, 0xe3, 0x92, 0xdb, + 0xdd, 0x7d, 0xde, 0xdb, 0xe5, 0xfb, 0xdd, 0x88, 0x47, 0x5c, 0x03, 0x7c, 0x75, 0x32, 0xd8, 0xbe, + 0x5b, 0xd9, 0x4b, 0xde, 0xa4, 0x20, 0x0a, 0xc4, 0x71, 0x09, 0xa1, 0xef, 0x7d, 0xf8, 0x02, 0x4c, + 0x6e, 0xd3, 0x4e, 0xc4, 0x79, 0x74, 0x0d, 0xbe, 0x8e, 0xe6, 0xf9, 0xc2, 0x0f, 0xf3, 0x8c, 0xca, + 0x98, 0xb3, 0x22, 0x3f, 0xf8, 0x3b, 0x2f, 0xe3, 0x04, 0x84, 0xa4, 0x49, 0x6a, 0x00, 0x43, 0xc0, + 0xcd, 0x0b, 0x11, 0xcd, 0xd8, 0x82, 0xdb, 0x2f, 0x70, 0x2d, 0x11, 0x51, 0x0f, 0xb9, 0x68, 0xd4, + 0x39, 0x3d, 0xf6, 0xaa, 0xd6, 0xf0, 0x2e, 0x40, 0x08, 0x1a, 0xc1, 0xb8, 0x7e, 0x7b, 0x3f, 0xb0, + 0x88, 0xc2, 0xdb, 0x27, 0xb8, 0x99, 0x02, 0x64, 0x41, 0x1c, 0xf6, 0x0e, 0x5c, 0x34, 0x6a, 0x8f, + 0xf1, 0xfa, 0x7e, 0xd0, 0x78, 0x0f, 0x90, 0xcd, 0x26, 0xa4, 0xa1, 0x52, 0xb3, 0x70, 0xb8, 0x42, + 0xb8, 0x73, 0x19, 0x27, 0xc0, 0x73, 0xa9, 0xb9, 0x5e, 0xe1, 0xd6, 0x76, 0xd2, 0x82, 0xf0, 0x89, + 0x67, 0x46, 0xf5, 0xb6, 0xa3, 0x7a, 0x93, 0x02, 0x30, 0x6e, 0x29, 0xb2, 0xef, 0xbf, 0x06, 0x88, + 0xec, 0x8a, 0xec, 0x23, 0xdc, 0x58, 0x42, 0x1c, 0x2d, 0xa5, 0x26, 0xad, 0x91, 0x22, 0xb2, 0xbb, + 0xf8, 0x30, 0xe3, 0x39, 0x0b, 0x7b, 0x35, 0x17, 0x8d, 0x0e, 0x89, 0x09, 0x6c, 0x1b, 0xd7, 0x85, + 0x84, 0xb4, 0x57, 0x77, 0xd1, 0xe8, 0x7f, 0xa2, 0xcf, 0xc3, 0x13, 0xdc, 0x3e, 0x67, 0xe1, 0xd4, + 0x94, 0xed, 0xdb, 0xa1, 0x72, 0xbb, 0xe1, 0x8f, 0x03, 0x8c, 0x3f, 0xbe, 0x79, 0x57, 0xac, 0x6d, + 0x7f, 0xc6, 0x47, 0x5a, 0xfe, 0x20, 0xa4, 0x92, 0x06, 0xba, 0x77, 0x20, 0x24, 0x95, 0x50, 0x2c, + 0xf1, 0xac, 0xac, 0x9a, 0xb1, 0xf1, 0x5c, 0xe1, 0x27, 0x54, 0x52, 0xa2, 0xd0, 0x1f, 0x14, 0x78, + 0x6a, 0x91, 0xc7, 0xf0, 0xf0, 0xda, 0x7e, 0x89, 0x5b, 0x89, 0x88, 0x82, 0x98, 0x2d, 0xb8, 0xde, + 0xea, 0xdf, 0x2e, 0x18, 0xc7, 0xa6, 0x16, 0x69, 0x26, 0x85, 0x79, 0x6f, 0xf1, 0x7f, 0xd2, 0xe8, + 0x6b, 0xea, 0x6b, 0xba, 0xfe, 0x69, 0x75, 0x7d, 0xc9, 0x89, 0xa9, 0x45, 0x3a, 0xb2, 0x64, 0xcc, + 0x6b, 0x8c, 0x81, 0x85, 0x41, 0x21, 0x46, 0x5d, 0x77, 0x19, 0x54, 0x77, 0xd9, 0xa9, 0x37, 0xb5, + 0x48, 0x1b, 0xb6, 0xc1, 0xf8, 0x10, 0xd7, 0x44, 0x9e, 0x0c, 0xbf, 0xe1, 0x47, 0x8a, 0x26, 0x2c, + 0xa9, 0x77, 0x86, 0xeb, 0x8a, 0xaa, 0xd0, 0xaa, 0xff, 0xc0, 0xf0, 0xcb, 0xed, 0xdb, 0x34, 0x8e, + 0xaf, 0x94, 0xe3, 0xba, 0xc2, 0x3e, 0x35, 0x4f, 0xd3, 0x88, 0xe2, 0x56, 0x8f, 0xb3, 0x27, 0xd2, + 0xef, 0x72, 0x4c, 0x6e, 0xd7, 0x0e, 0xba, 0x5b, 0x3b, 0xe8, 0xf7, 0xda, 0x41, 0xab, 0x8d, 0x63, + 0xdd, 0x6d, 0x1c, 0xeb, 0xe7, 0xc6, 0xb1, 0x3e, 0x9d, 0x45, 0xb1, 0x5c, 0xe6, 0x73, 0xef, 0x8a, + 0x27, 0x7e, 0x48, 0xc5, 0x32, 0xa5, 0x37, 0xbe, 0x69, 0xa9, 0x22, 0xf3, 0x57, 0xfc, 0xaa, 0x9f, + 0x39, 0x6f, 0xe8, 0xdc, 0xf3, 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x41, 0x48, 0x0d, 0x5a, 0x04, + 0x04, 0x00, 0x00, } func (m *MsgInfo) Marshal() (dAtA []byte, err error) { diff --git a/proto/tendermint/consensus/wal.proto b/proto/tendermint/consensus/wal.proto index 44afa2c0c3..e2adeb0b27 100644 --- a/proto/tendermint/consensus/wal.proto +++ b/proto/tendermint/consensus/wal.proto @@ -1,7 +1,7 @@ syntax = "proto3"; package tendermint.consensus; -option go_package = "github.com/tendermint/tendermint/proto/tendermint/consensus"; +option go_package = "github.com/dashpay/tenderdash/proto/tendermint/consensus"; import "gogoproto/gogo.proto"; import "tendermint/consensus/types.proto"; diff --git a/proto/tendermint/crypto/keys.pb.go b/proto/tendermint/crypto/keys.pb.go index 35b568c62a..f1b862ea75 100644 --- a/proto/tendermint/crypto/keys.pb.go +++ b/proto/tendermint/crypto/keys.pb.go @@ -133,7 +133,7 @@ func init() { func init() { proto.RegisterFile("tendermint/crypto/keys.proto", fileDescriptor_cb048658b234868c) } var fileDescriptor_cb048658b234868c = []byte{ - // 217 bytes of a gzipped FileDescriptorProto + // 225 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x29, 0x49, 0xcd, 0x4b, 0x49, 0x2d, 0xca, 0xcd, 0xcc, 0x2b, 0xd1, 0x4f, 0x2e, 0xaa, 0x2c, 0x28, 0xc9, 0xd7, 0xcf, 0x4e, 0xad, 0x2c, 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x12, 0x44, 0xc8, 0xea, 0x41, 0x64, 0xa5, @@ -143,11 +143,12 @@ var fileDescriptor_cb048658b234868c = []byte{ 0x8e, 0x8b, 0xb3, 0x38, 0x35, 0xb9, 0xc0, 0xc8, 0xd4, 0x2c, 0xdb, 0x50, 0x82, 0x09, 0x2a, 0x8b, 0x10, 0x12, 0x92, 0xe1, 0xe2, 0x48, 0xca, 0x29, 0x36, 0x34, 0x32, 0xb6, 0x30, 0x94, 0x60, 0x86, 0x4a, 0xc3, 0x45, 0xac, 0x38, 0x5e, 0x2c, 0x90, 0x67, 0x7c, 0xb1, 0x50, 0x9e, 0xd1, 0x89, 0x95, - 0x8b, 0xb9, 0xb8, 0x34, 0xd7, 0x29, 0xe8, 0xc4, 0x23, 0x39, 0xc6, 0x0b, 0x8f, 0xe4, 0x18, 0x1f, + 0x8b, 0xb9, 0xb8, 0x34, 0xd7, 0xc9, 0xff, 0xc4, 0x23, 0x39, 0xc6, 0x0b, 0x8f, 0xe4, 0x18, 0x1f, 0x3c, 0x92, 0x63, 0x9c, 0xf0, 0x58, 0x8e, 0xe1, 0xc2, 0x63, 0x39, 0x86, 0x1b, 0x8f, 0xe5, 0x18, - 0xa2, 0x2c, 0xd2, 0x33, 0x4b, 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0x91, 0xfc, 0x88, - 0xc4, 0x84, 0x78, 0x02, 0xc3, 0xff, 0x49, 0x6c, 0x60, 0x09, 0x63, 0x40, 0x00, 0x00, 0x00, 0xff, - 0xff, 0x95, 0x99, 0x37, 0xba, 0x1b, 0x01, 0x00, 0x00, + 0xa2, 0x4c, 0xd3, 0x33, 0x4b, 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0x53, 0x12, 0x8b, + 0x33, 0x0a, 0x12, 0x2b, 0xf5, 0x21, 0xbe, 0x01, 0xf1, 0xf4, 0x21, 0x3e, 0xc0, 0xf0, 0x7c, 0x12, + 0x1b, 0x58, 0xc2, 0x18, 0x10, 0x00, 0x00, 0xff, 0xff, 0x0b, 0x91, 0xb6, 0x11, 0x18, 0x01, 0x00, + 0x00, } func (this *PublicKey) Compare(that interface{}) int { diff --git a/proto/tendermint/crypto/keys.proto b/proto/tendermint/crypto/keys.proto index e9228e38dc..9b4b64df3c 100644 --- a/proto/tendermint/crypto/keys.proto +++ b/proto/tendermint/crypto/keys.proto @@ -1,7 +1,7 @@ syntax = "proto3"; package tendermint.crypto; -option go_package = "github.com/tendermint/tendermint/proto/tendermint/crypto"; +option go_package = "github.com/dashpay/tenderdash/proto/tendermint/crypto"; import "gogoproto/gogo.proto"; diff --git a/proto/tendermint/crypto/proof.pb.go b/proto/tendermint/crypto/proof.pb.go index 82fb943fcd..5ece1e5579 100644 --- a/proto/tendermint/crypto/proof.pb.go +++ b/proto/tendermint/crypto/proof.pb.go @@ -324,29 +324,30 @@ func init() { func init() { proto.RegisterFile("tendermint/crypto/proof.proto", fileDescriptor_6b60b6ba2ab5b856) } var fileDescriptor_6b60b6ba2ab5b856 = []byte{ - // 351 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x52, 0xbb, 0x4e, 0xc3, 0x30, - 0x14, 0x4d, 0xea, 0xf4, 0x75, 0xdb, 0x01, 0xac, 0x0a, 0x45, 0x45, 0x84, 0x28, 0x53, 0xa6, 0x44, - 0x2a, 0x0b, 0x13, 0x43, 0x61, 0x40, 0x30, 0x14, 0x79, 0x60, 0x60, 0x41, 0x6e, 0xeb, 0x36, 0x11, - 0x6d, 0x6c, 0x25, 0x8e, 0x44, 0xff, 0x82, 0xcf, 0xea, 0xd8, 0x91, 0x09, 0xa1, 0xf6, 0x47, 0x90, - 0xed, 0xa0, 0x16, 0x55, 0x6c, 0xe7, 0x71, 0x7d, 0x7c, 0xac, 0x6b, 0xb8, 0x90, 0x2c, 0x9b, 0xb2, - 0x7c, 0x99, 0x66, 0x32, 0x9e, 0xe4, 0x2b, 0x21, 0x79, 0x2c, 0x72, 0xce, 0x67, 0x91, 0xc8, 0xb9, - 0xe4, 0xf8, 0x74, 0x6f, 0x47, 0xc6, 0xee, 0xf7, 0xe6, 0x7c, 0xce, 0xb5, 0x1b, 0x2b, 0x64, 0x06, - 0x83, 0x19, 0xd4, 0x9f, 0xd4, 0x39, 0xdc, 0x83, 0xba, 0xe4, 0x92, 0x2e, 0x5c, 0xdb, 0xb7, 0x43, - 0x44, 0x0c, 0x51, 0x6a, 0x9a, 0x4d, 0xd9, 0xbb, 0x5b, 0x33, 0xaa, 0x26, 0xf8, 0x1c, 0xda, 0x0b, - 0x46, 0x67, 0xaf, 0x09, 0x2d, 0x12, 0x17, 0xf9, 0x76, 0xd8, 0x25, 0x2d, 0x25, 0xdc, 0xd3, 0x22, - 0x51, 0x47, 0x68, 0x99, 0xc9, 0xc2, 0x75, 0x7c, 0x14, 0x76, 0x89, 0x21, 0xc1, 0x23, 0x34, 0x9f, - 0xe9, 0xa2, 0x64, 0x23, 0x81, 0x4f, 0x00, 0xbd, 0xb1, 0x95, 0xbe, 0xa7, 0x4b, 0x14, 0xc4, 0x11, - 0xd4, 0x75, 0x79, 0x7d, 0x4b, 0x67, 0xe0, 0x46, 0x47, 0xed, 0x23, 0x5d, 0x92, 0x98, 0xb1, 0xe0, - 0x01, 0x5a, 0x77, 0x7c, 0x99, 0x66, 0xfc, 0x6f, 0x5a, 0xdb, 0xa4, 0xe9, 0xce, 0xa2, 0x94, 0x3a, - 0xad, 0x4d, 0x0c, 0xc1, 0x67, 0xd0, 0xe0, 0xa5, 0x54, 0x32, 0xd2, 0x72, 0xc5, 0x82, 0x5b, 0x68, - 0xea, 0xec, 0x91, 0xc0, 0x18, 0x1c, 0xb9, 0x12, 0xac, 0xca, 0xd2, 0xf8, 0x37, 0xbe, 0xb6, 0x2f, - 0x8b, 0xc1, 0x99, 0x52, 0x49, 0xab, 0x77, 0x6b, 0x1c, 0xdc, 0x40, 0xab, 0x0a, 0x29, 0xf0, 0x00, - 0x10, 0x17, 0x85, 0x6b, 0xfb, 0x28, 0xec, 0x0c, 0xfa, 0xff, 0x3d, 0x65, 0x24, 0x86, 0xce, 0xfa, - 0xeb, 0xd2, 0x22, 0x6a, 0x78, 0x48, 0xd6, 0x5b, 0xcf, 0xde, 0x6c, 0x3d, 0xfb, 0x7b, 0xeb, 0xd9, - 0x1f, 0x3b, 0xcf, 0xda, 0xec, 0x3c, 0xeb, 0x73, 0xe7, 0x59, 0x2f, 0xd7, 0xf3, 0x54, 0x26, 0xe5, - 0x38, 0x9a, 0xf0, 0x65, 0x7c, 0xb0, 0xf2, 0x03, 0x68, 0x56, 0x7a, 0xf4, 0x1d, 0xc6, 0x0d, 0x6d, - 0x5c, 0xfd, 0x04, 0x00, 0x00, 0xff, 0xff, 0x43, 0x5d, 0xb9, 0x45, 0x2a, 0x02, 0x00, 0x00, + // 357 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x92, 0xbd, 0x4e, 0xc3, 0x30, + 0x14, 0x85, 0x93, 0x26, 0xfd, 0xbb, 0xed, 0x00, 0x56, 0x85, 0xa2, 0x22, 0x42, 0x94, 0x29, 0x53, + 0x22, 0x15, 0xb1, 0x32, 0x14, 0x06, 0x04, 0x43, 0x90, 0x07, 0x06, 0x16, 0xe4, 0x36, 0x6e, 0x13, + 0xd1, 0xc6, 0x56, 0xe2, 0x48, 0xe4, 0x2d, 0x78, 0xac, 0x8e, 0x1d, 0x99, 0x10, 0x6a, 0x5f, 0x04, + 0xd9, 0x0e, 0xaa, 0x50, 0xc5, 0x76, 0xcf, 0x39, 0xd7, 0x9f, 0x8f, 0x95, 0xc0, 0x85, 0xa0, 0x79, + 0x42, 0x8b, 0x75, 0x96, 0x8b, 0x68, 0x5e, 0xd4, 0x5c, 0xb0, 0x88, 0x17, 0x8c, 0x2d, 0x42, 0x5e, + 0x30, 0xc1, 0xd0, 0xe9, 0x21, 0x0e, 0x75, 0x3c, 0x1e, 0x2d, 0xd9, 0x92, 0xa9, 0x34, 0x92, 0x93, + 0x5e, 0xf4, 0x17, 0xd0, 0x7e, 0x92, 0xe7, 0xd0, 0x08, 0xda, 0x82, 0x09, 0xb2, 0x72, 0x4c, 0xcf, + 0x0c, 0x2c, 0xac, 0x85, 0x74, 0xb3, 0x3c, 0xa1, 0xef, 0x4e, 0x4b, 0xbb, 0x4a, 0xa0, 0x73, 0xe8, + 0xaf, 0x28, 0x59, 0xbc, 0xa6, 0xa4, 0x4c, 0x1d, 0xcb, 0x33, 0x83, 0x21, 0xee, 0x49, 0xe3, 0x9e, + 0x94, 0xa9, 0x3c, 0x42, 0xaa, 0x5c, 0x94, 0x8e, 0xed, 0x59, 0xc1, 0x10, 0x6b, 0xe1, 0x3f, 0x42, + 0xf7, 0x99, 0xac, 0x2a, 0x1a, 0x73, 0x74, 0x02, 0xd6, 0x1b, 0xad, 0xd5, 0x3d, 0x43, 0x2c, 0x47, + 0x14, 0x42, 0x5b, 0x95, 0x57, 0xb7, 0x0c, 0x26, 0x4e, 0x78, 0xd4, 0x3e, 0x54, 0x25, 0xb1, 0x5e, + 0xf3, 0x1f, 0xa0, 0x77, 0xc7, 0xd6, 0x59, 0xce, 0xfe, 0xd2, 0xfa, 0x9a, 0xa6, 0x3a, 0xf3, 0x4a, + 0x28, 0x5a, 0x1f, 0x6b, 0x81, 0xce, 0xa0, 0xc3, 0x2a, 0x21, 0x6d, 0x4b, 0xd9, 0x8d, 0xf2, 0x6f, + 0xa1, 0xab, 0xd8, 0x31, 0x47, 0x08, 0x6c, 0x51, 0x73, 0xda, 0xb0, 0xd4, 0xfc, 0x8b, 0x6f, 0x1d, + 0xca, 0x22, 0xb0, 0x13, 0x22, 0x48, 0xf3, 0x6e, 0x35, 0xfb, 0x37, 0xd0, 0x6b, 0x20, 0x25, 0x9a, + 0x80, 0xc5, 0x78, 0xe9, 0x98, 0x9e, 0x15, 0x0c, 0x26, 0xe3, 0xff, 0x9e, 0x12, 0xf3, 0xa9, 0xbd, + 0xf9, 0xba, 0x34, 0xb0, 0x5c, 0x9e, 0xc6, 0x9b, 0x9d, 0x6b, 0x6e, 0x77, 0xae, 0xf9, 0xbd, 0x73, + 0xcd, 0x8f, 0xbd, 0x6b, 0x6c, 0xf7, 0xae, 0xf1, 0xb9, 0x77, 0x8d, 0x97, 0xeb, 0x65, 0x26, 0xd2, + 0x6a, 0x16, 0xce, 0xd9, 0x3a, 0x4a, 0x48, 0x99, 0x72, 0x52, 0x47, 0x1a, 0x29, 0x55, 0xa4, 0xbf, + 0xe7, 0xd1, 0xbf, 0x30, 0xeb, 0xa8, 0xe0, 0xea, 0x27, 0x00, 0x00, 0xff, 0xff, 0x91, 0x1f, 0xd8, + 0x7b, 0x27, 0x02, 0x00, 0x00, } func (m *Proof) Marshal() (dAtA []byte, err error) { diff --git a/proto/tendermint/crypto/proof.proto b/proto/tendermint/crypto/proof.proto index 975df76853..36a5acf084 100644 --- a/proto/tendermint/crypto/proof.proto +++ b/proto/tendermint/crypto/proof.proto @@ -1,7 +1,7 @@ syntax = "proto3"; package tendermint.crypto; -option go_package = "github.com/tendermint/tendermint/proto/tendermint/crypto"; +option go_package = "github.com/dashpay/tenderdash/proto/tendermint/crypto"; import "gogoproto/gogo.proto"; diff --git a/proto/tendermint/libs/bits/types.pb.go b/proto/tendermint/libs/bits/types.pb.go index c0ebcb9760..29bb8e901d 100644 --- a/proto/tendermint/libs/bits/types.pb.go +++ b/proto/tendermint/libs/bits/types.pb.go @@ -81,18 +81,18 @@ func init() { func init() { proto.RegisterFile("tendermint/libs/bits/types.proto", fileDescriptor_e91ab2672920d7d4) } var fileDescriptor_e91ab2672920d7d4 = []byte{ - // 168 bytes of a gzipped FileDescriptorProto + // 176 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x28, 0x49, 0xcd, 0x4b, 0x49, 0x2d, 0xca, 0xcd, 0xcc, 0x2b, 0xd1, 0xcf, 0xc9, 0x4c, 0x2a, 0xd6, 0x4f, 0xca, 0x2c, 0x29, 0xd6, 0x2f, 0xa9, 0x2c, 0x48, 0x2d, 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x12, 0x41, 0xa8, 0xd0, 0x03, 0xa9, 0xd0, 0x03, 0xa9, 0x50, 0x32, 0xe1, 0xe2, 0x70, 0xca, 0x2c, 0x71, 0x2c, 0x2a, 0x4a, 0xac, 0x14, 0x12, 0xe2, 0x62, 0x01, 0x89, 0x49, 0x30, 0x2a, 0x30, 0x6a, 0x30, 0x07, 0x81, 0xd9, 0x42, 0x22, 0x5c, 0xac, 0xa9, 0x39, 0xa9, 0xb9, 0xc5, 0x12, 0x4c, 0x0a, 0xcc, 0x1a, 0x2c, - 0x41, 0x10, 0x8e, 0x53, 0xe8, 0x89, 0x47, 0x72, 0x8c, 0x17, 0x1e, 0xc9, 0x31, 0x3e, 0x78, 0x24, + 0x41, 0x10, 0x8e, 0x53, 0xd0, 0x89, 0x47, 0x72, 0x8c, 0x17, 0x1e, 0xc9, 0x31, 0x3e, 0x78, 0x24, 0xc7, 0x38, 0xe1, 0xb1, 0x1c, 0xc3, 0x85, 0xc7, 0x72, 0x0c, 0x37, 0x1e, 0xcb, 0x31, 0x44, 0x59, - 0xa7, 0x67, 0x96, 0x64, 0x94, 0x26, 0xe9, 0x25, 0xe7, 0xe7, 0xea, 0x23, 0x39, 0x09, 0x89, 0x09, - 0x76, 0x8d, 0x3e, 0x36, 0xe7, 0x26, 0xb1, 0x81, 0xe5, 0x8c, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, - 0x5b, 0x0c, 0xe3, 0x3e, 0xcd, 0x00, 0x00, 0x00, + 0xa4, 0x67, 0x96, 0x64, 0x94, 0x26, 0xe9, 0x25, 0xe7, 0xe7, 0xea, 0xa7, 0x24, 0x16, 0x67, 0x14, + 0x24, 0x56, 0xea, 0x43, 0x2c, 0x06, 0xf1, 0xf4, 0xc1, 0x4e, 0xd1, 0xc7, 0xe6, 0xd6, 0x24, 0x36, + 0xb0, 0x9c, 0x31, 0x20, 0x00, 0x00, 0xff, 0xff, 0xdd, 0x08, 0x27, 0x9d, 0xca, 0x00, 0x00, 0x00, } func (m *BitArray) Marshal() (dAtA []byte, err error) { diff --git a/proto/tendermint/libs/bits/types.proto b/proto/tendermint/libs/bits/types.proto index 3111d113a5..48ab07aa9f 100644 --- a/proto/tendermint/libs/bits/types.proto +++ b/proto/tendermint/libs/bits/types.proto @@ -1,7 +1,7 @@ syntax = "proto3"; package tendermint.libs.bits; -option go_package = "github.com/tendermint/tendermint/proto/tendermint/libs/bits"; +option go_package = "github.com/dashpay/tenderdash/proto/tendermint/libs/bits"; message BitArray { int64 bits = 1; diff --git a/proto/tendermint/mempool/types.pb.go b/proto/tendermint/mempool/types.pb.go index c3a80bcde6..ab074c9c35 100644 --- a/proto/tendermint/mempool/types.pb.go +++ b/proto/tendermint/mempool/types.pb.go @@ -73,16 +73,17 @@ func init() { func init() { proto.RegisterFile("tendermint/mempool/types.proto", fileDescriptor_2af51926fdbcbc05) } var fileDescriptor_2af51926fdbcbc05 = []byte{ - // 141 bytes of a gzipped FileDescriptorProto + // 149 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x2b, 0x49, 0xcd, 0x4b, 0x49, 0x2d, 0xca, 0xcd, 0xcc, 0x2b, 0xd1, 0xcf, 0x4d, 0xcd, 0x2d, 0xc8, 0xcf, 0xcf, 0xd1, 0x2f, 0xa9, 0x2c, 0x48, 0x2d, 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x12, 0x42, 0xc8, 0xeb, 0x41, 0xe5, 0x95, 0xc4, 0xb9, 0x98, 0x43, 0x2a, 0x8a, 0x85, 0x04, 0xb8, 0x98, 0x4b, 0x2a, 0x8a, 0x25, - 0x18, 0x15, 0x98, 0x35, 0x78, 0x82, 0x40, 0x4c, 0xa7, 0xe0, 0x13, 0x8f, 0xe4, 0x18, 0x2f, 0x3c, + 0x18, 0x15, 0x98, 0x35, 0x78, 0x82, 0x40, 0x4c, 0xa7, 0x80, 0x13, 0x8f, 0xe4, 0x18, 0x2f, 0x3c, 0x92, 0x63, 0x7c, 0xf0, 0x48, 0x8e, 0x71, 0xc2, 0x63, 0x39, 0x86, 0x0b, 0x8f, 0xe5, 0x18, 0x6e, - 0x3c, 0x96, 0x63, 0x88, 0xb2, 0x4c, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, - 0x47, 0xb2, 0x11, 0x89, 0x09, 0xb6, 0x4e, 0x1f, 0xd3, 0x35, 0x49, 0x6c, 0x60, 0x19, 0x63, 0x40, - 0x00, 0x00, 0x00, 0xff, 0xff, 0x48, 0x57, 0x8e, 0xa7, 0xaa, 0x00, 0x00, 0x00, + 0x3c, 0x96, 0x63, 0x88, 0x32, 0x4b, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, + 0x4f, 0x49, 0x2c, 0xce, 0x28, 0x48, 0xac, 0xd4, 0x87, 0x98, 0x0c, 0xe2, 0xe9, 0x83, 0xed, 0xd2, + 0xc7, 0x74, 0x4a, 0x12, 0x1b, 0x58, 0xc6, 0x18, 0x10, 0x00, 0x00, 0xff, 0xff, 0x3c, 0x67, 0x13, + 0xf0, 0xa7, 0x00, 0x00, 0x00, } func (m *Txs) Marshal() (dAtA []byte, err error) { diff --git a/proto/tendermint/mempool/types.proto b/proto/tendermint/mempool/types.proto index fff3e93e56..0bddaea436 100644 --- a/proto/tendermint/mempool/types.proto +++ b/proto/tendermint/mempool/types.proto @@ -1,7 +1,7 @@ syntax = "proto3"; package tendermint.mempool; -option go_package = "github.com/tendermint/tendermint/proto/tendermint/mempool"; +option go_package = "github.com/dashpay/tenderdash/proto/tendermint/mempool"; message Txs { repeated bytes txs = 1; diff --git a/proto/tendermint/p2p/conn.pb.go b/proto/tendermint/p2p/conn.pb.go index 16ee463a6a..3a2727cd08 100644 --- a/proto/tendermint/p2p/conn.pb.go +++ b/proto/tendermint/p2p/conn.pb.go @@ -5,9 +5,9 @@ package p2p import ( fmt "fmt" + crypto "github.com/dashpay/tenderdash/proto/tendermint/crypto" _ "github.com/gogo/protobuf/gogoproto" proto "github.com/gogo/protobuf/proto" - crypto "github.com/tendermint/tendermint/proto/tendermint/crypto" io "io" math "math" math_bits "math/bits" @@ -318,32 +318,32 @@ func init() { func init() { proto.RegisterFile("tendermint/p2p/conn.proto", fileDescriptor_22474b5527c8fa9f) } var fileDescriptor_22474b5527c8fa9f = []byte{ - // 395 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x52, 0x3d, 0x8f, 0xd3, 0x40, - 0x10, 0xf5, 0xe2, 0xbb, 0x1c, 0x99, 0x84, 0x13, 0x5a, 0x51, 0x24, 0xd1, 0xc9, 0x89, 0x5c, 0xa5, - 0x40, 0xb6, 0x64, 0x44, 0x03, 0xa2, 0xc0, 0x7c, 0x88, 0xd3, 0x29, 0xba, 0xc8, 0x74, 0x34, 0x96, - 0x3f, 0x96, 0xf5, 0x2a, 0xe7, 0xdd, 0x55, 0x76, 0x5d, 0xf8, 0x5f, 0xf0, 0xb3, 0x8e, 0xee, 0x4a, - 0xaa, 0x08, 0x39, 0x7f, 0x04, 0x79, 0x1d, 0x88, 0x23, 0x71, 0xdd, 0x7b, 0x33, 0xf3, 0xe6, 0x43, - 0xf3, 0x60, 0xaa, 0x09, 0xcf, 0xc9, 0xb6, 0x64, 0x5c, 0xfb, 0x32, 0x90, 0x7e, 0x26, 0x38, 0xf7, - 0xe4, 0x56, 0x68, 0x81, 0x2f, 0x8f, 0x29, 0x4f, 0x06, 0x72, 0xf6, 0x82, 0x0a, 0x2a, 0x4c, 0xca, - 0x6f, 0x51, 0x57, 0x35, 0xbb, 0xea, 0x35, 0xc8, 0xb6, 0xb5, 0xd4, 0xc2, 0xdf, 0x90, 0x5a, 0x75, - 0x59, 0x77, 0x0c, 0xb0, 0x4e, 0xb2, 0x0d, 0xd1, 0x6b, 0xc6, 0x69, 0x8f, 0x09, 0x4e, 0xdd, 0x02, - 0x86, 0x1d, 0x5b, 0x29, 0x8a, 0x5f, 0x02, 0x64, 0x45, 0xc2, 0x39, 0xb9, 0x8b, 0x59, 0x3e, 0x41, - 0x0b, 0xb4, 0x3c, 0x0f, 0x9f, 0x35, 0xbb, 0xf9, 0xf0, 0x43, 0x17, 0xbd, 0xfe, 0x18, 0x0d, 0x0f, - 0x05, 0xd7, 0x39, 0x9e, 0x82, 0x4d, 0xc4, 0xf7, 0xc9, 0x93, 0x05, 0x5a, 0x3e, 0x0d, 0x2f, 0x9a, - 0xdd, 0xdc, 0xfe, 0x74, 0xfb, 0x39, 0x6a, 0x63, 0x18, 0xc3, 0x59, 0x9e, 0xe8, 0x64, 0x62, 0x2f, - 0xd0, 0x72, 0x1c, 0x19, 0xec, 0xfe, 0x44, 0x30, 0xe8, 0x46, 0xe1, 0x77, 0x30, 0x92, 0x06, 0xc5, - 0x92, 0x71, 0x6a, 0x06, 0x8d, 0x82, 0x99, 0x77, 0x7a, 0xaa, 0x77, 0xdc, 0xf9, 0x8b, 0x15, 0x81, - 0xfc, 0xc7, 0xfa, 0x72, 0xc1, 0xa9, 0x59, 0xe0, 0x71, 0xb9, 0x38, 0x91, 0x0b, 0x4e, 0xf1, 0x1b, - 0x38, 0xb0, 0xb8, 0x54, 0xd4, 0xac, 0x38, 0x0a, 0xa6, 0xff, 0x57, 0xaf, 0x54, 0x2b, 0x1e, 0xca, - 0xbf, 0x24, 0x3c, 0x07, 0x5b, 0x55, 0xa5, 0x1b, 0xc3, 0xe5, 0xfb, 0x4a, 0x17, 0x5f, 0x19, 0x5d, - 0x11, 0xa5, 0x12, 0x4a, 0xf0, 0x5b, 0xb8, 0x90, 0x55, 0x1a, 0x6f, 0x48, 0x7d, 0x38, 0xe7, 0xaa, - 0xdf, 0xb1, 0xfb, 0x89, 0xb7, 0xae, 0xd2, 0x3b, 0x96, 0xdd, 0x90, 0x3a, 0x3c, 0xbb, 0xdf, 0xcd, - 0xad, 0x68, 0x20, 0xab, 0xf4, 0x86, 0xd4, 0xf8, 0x39, 0xd8, 0x8a, 0x75, 0x87, 0x8c, 0xa3, 0x16, - 0x86, 0xb7, 0xf7, 0x8d, 0x83, 0x1e, 0x1a, 0x07, 0xfd, 0x6e, 0x1c, 0xf4, 0x63, 0xef, 0x58, 0x0f, - 0x7b, 0xc7, 0xfa, 0xb5, 0x77, 0xac, 0x6f, 0xaf, 0x29, 0xd3, 0x45, 0x95, 0x7a, 0x99, 0x28, 0xfd, - 0xde, 0xd7, 0xfb, 0x0e, 0x32, 0xee, 0x38, 0xb5, 0x54, 0x3a, 0x30, 0xd1, 0x57, 0x7f, 0x02, 0x00, - 0x00, 0xff, 0xff, 0x30, 0xfd, 0xb2, 0x8d, 0x6b, 0x02, 0x00, 0x00, + // 399 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x92, 0xcb, 0x8e, 0xd3, 0x30, + 0x14, 0x86, 0x63, 0x32, 0xd3, 0x21, 0xa7, 0x65, 0x84, 0x2c, 0x16, 0x6d, 0x35, 0x4a, 0xab, 0xac, + 0xba, 0x40, 0x89, 0x14, 0x76, 0x20, 0x16, 0x84, 0x8b, 0x18, 0x0d, 0x15, 0x55, 0xd8, 0xb1, 0x89, + 0x72, 0x31, 0x8e, 0xd5, 0x89, 0x6d, 0xd5, 0xce, 0x22, 0x6f, 0xc1, 0x63, 0x0d, 0xbb, 0x59, 0xb2, + 0xaa, 0x50, 0xfa, 0x22, 0x28, 0x71, 0x61, 0x52, 0x09, 0x76, 0xff, 0x77, 0x8e, 0xff, 0x73, 0x91, + 0x0f, 0xcc, 0x34, 0xe1, 0x05, 0xd9, 0x55, 0x8c, 0xeb, 0x40, 0x86, 0x32, 0xc8, 0x05, 0xe7, 0xbe, + 0xdc, 0x09, 0x2d, 0xf0, 0xe5, 0x43, 0xca, 0x97, 0xa1, 0x9c, 0x3f, 0xa3, 0x82, 0x8a, 0x3e, 0x15, + 0x74, 0xca, 0xbc, 0x9a, 0x5f, 0x0d, 0x0a, 0xe4, 0xbb, 0x46, 0x6a, 0x11, 0x6c, 0x49, 0xa3, 0x4c, + 0xd6, 0x9b, 0x00, 0x6c, 0xd2, 0x7c, 0x4b, 0xf4, 0x86, 0x71, 0x3a, 0x20, 0xc1, 0xa9, 0x57, 0x82, + 0x63, 0x68, 0xad, 0x28, 0x7e, 0x0e, 0x90, 0x97, 0x29, 0xe7, 0xe4, 0x36, 0x61, 0xc5, 0x14, 0x2d, + 0xd1, 0xea, 0x3c, 0x7a, 0xd2, 0xee, 0x17, 0xce, 0x5b, 0x13, 0xbd, 0x7e, 0x17, 0x3b, 0xc7, 0x07, + 0xd7, 0x05, 0x9e, 0x81, 0x4d, 0xc4, 0xb7, 0xe9, 0xa3, 0x25, 0x5a, 0x3d, 0x8e, 0x2e, 0xda, 0xfd, + 0xc2, 0x7e, 0xff, 0xf9, 0x43, 0xdc, 0xc5, 0x30, 0x86, 0xb3, 0x22, 0xd5, 0xe9, 0xd4, 0x5e, 0xa2, + 0xd5, 0x24, 0xee, 0xb5, 0xf7, 0x03, 0xc1, 0xc8, 0xb4, 0xc2, 0xaf, 0x61, 0x2c, 0x7b, 0x95, 0x48, + 0xc6, 0x69, 0xdf, 0x68, 0x1c, 0xce, 0xfd, 0xd3, 0x55, 0xfd, 0x87, 0x99, 0x3f, 0x5a, 0x31, 0xc8, + 0xbf, 0x34, 0xb4, 0x0b, 0x4e, 0xfb, 0x01, 0xfe, 0x6f, 0x17, 0x27, 0x76, 0xc1, 0x29, 0x7e, 0x09, + 0x47, 0x4a, 0x2a, 0x45, 0xfb, 0x11, 0xc7, 0xe1, 0xec, 0xdf, 0xee, 0xb5, 0xea, 0xcc, 0x8e, 0xfc, + 0x03, 0xd1, 0x39, 0xd8, 0xaa, 0xae, 0xbc, 0x04, 0x2e, 0xdf, 0xd4, 0xba, 0xfc, 0xc2, 0xe8, 0x9a, + 0x28, 0x95, 0x52, 0x82, 0x5f, 0xc1, 0x85, 0xac, 0xb3, 0x64, 0x4b, 0x9a, 0xe3, 0x3a, 0x57, 0xc3, + 0x8a, 0xe6, 0x4f, 0xfc, 0x4d, 0x9d, 0xdd, 0xb2, 0xfc, 0x86, 0x34, 0xd1, 0xd9, 0xdd, 0x7e, 0x61, + 0xc5, 0x23, 0x59, 0x67, 0x37, 0xa4, 0xc1, 0x4f, 0xc1, 0x56, 0xcc, 0x2c, 0x32, 0x89, 0x3b, 0x19, + 0x7d, 0xba, 0x6b, 0x5d, 0x74, 0xdf, 0xba, 0xe8, 0x57, 0xeb, 0xa2, 0xef, 0x07, 0xd7, 0xba, 0x3f, + 0xb8, 0xd6, 0xcf, 0x83, 0x6b, 0x7d, 0x0d, 0x29, 0xd3, 0x65, 0x9d, 0xf9, 0xb9, 0xa8, 0x82, 0x22, + 0x55, 0xa5, 0x4c, 0x9b, 0xc0, 0x74, 0xea, 0x28, 0x30, 0xa7, 0x71, 0x7a, 0x4f, 0xd9, 0xa8, 0x8f, + 0xbe, 0xf8, 0x1d, 0x00, 0x00, 0xff, 0xff, 0x5d, 0xa5, 0x2b, 0x72, 0x68, 0x02, 0x00, 0x00, } func (m *PacketPing) Marshal() (dAtA []byte, err error) { diff --git a/proto/tendermint/p2p/conn.proto b/proto/tendermint/p2p/conn.proto index b12de6c827..82cd0161ac 100644 --- a/proto/tendermint/p2p/conn.proto +++ b/proto/tendermint/p2p/conn.proto @@ -1,7 +1,7 @@ syntax = "proto3"; package tendermint.p2p; -option go_package = "github.com/tendermint/tendermint/proto/tendermint/p2p"; +option go_package = "github.com/dashpay/tenderdash/proto/tendermint/p2p"; import "gogoproto/gogo.proto"; import "tendermint/crypto/keys.proto"; diff --git a/proto/tendermint/p2p/envelope.go b/proto/tendermint/p2p/envelope.go index 11a8b9a076..de9d60414f 100644 --- a/proto/tendermint/p2p/envelope.go +++ b/proto/tendermint/p2p/envelope.go @@ -5,11 +5,11 @@ import ( "github.com/gogo/protobuf/proto" - "github.com/tendermint/tendermint/proto/tendermint/blocksync" - "github.com/tendermint/tendermint/proto/tendermint/consensus" - "github.com/tendermint/tendermint/proto/tendermint/mempool" - "github.com/tendermint/tendermint/proto/tendermint/statesync" - "github.com/tendermint/tendermint/proto/tendermint/types" + "github.com/dashpay/tenderdash/proto/tendermint/blocksync" + "github.com/dashpay/tenderdash/proto/tendermint/consensus" + "github.com/dashpay/tenderdash/proto/tendermint/mempool" + "github.com/dashpay/tenderdash/proto/tendermint/statesync" + "github.com/dashpay/tenderdash/proto/tendermint/types" ) const ( diff --git a/proto/tendermint/p2p/pex.pb.go b/proto/tendermint/p2p/pex.pb.go index 4f7bf0a2df..750596fa0a 100644 --- a/proto/tendermint/p2p/pex.pb.go +++ b/proto/tendermint/p2p/pex.pb.go @@ -156,7 +156,7 @@ func init() { func init() { proto.RegisterFile("tendermint/p2p/pex.proto", fileDescriptor_81c2f011fd13be57) } var fileDescriptor_81c2f011fd13be57 = []byte{ - // 220 bytes of a gzipped FileDescriptorProto + // 228 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x28, 0x49, 0xcd, 0x4b, 0x49, 0x2d, 0xca, 0xcd, 0xcc, 0x2b, 0xd1, 0x2f, 0x30, 0x2a, 0xd0, 0x2f, 0x48, 0xad, 0xd0, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x43, 0xc8, 0xe8, 0x15, 0x18, 0x15, 0x48, 0x89, 0xa4, 0xe7, @@ -166,11 +166,12 @@ var fileDescriptor_81c2f011fd13be57 = []byte{ 0x4a, 0x3c, 0x60, 0x85, 0x41, 0xa9, 0x85, 0xa5, 0xa9, 0xc5, 0x25, 0x4a, 0xbe, 0x5c, 0xdc, 0x60, 0x5e, 0x71, 0x41, 0x7e, 0x5e, 0x71, 0xaa, 0x90, 0x1d, 0x17, 0x67, 0x22, 0xc4, 0x88, 0xd4, 0x62, 0x09, 0x46, 0x05, 0x66, 0x0d, 0x6e, 0x23, 0x29, 0x3d, 0x54, 0xfb, 0xf5, 0x10, 0xd6, 0x38, 0xb1, - 0x9c, 0xb8, 0x27, 0xcf, 0x10, 0x84, 0xd0, 0xe2, 0xe4, 0x7f, 0xe2, 0x91, 0x1c, 0xe3, 0x85, 0x47, + 0x9c, 0xb8, 0x27, 0xcf, 0x10, 0x84, 0xd0, 0xe2, 0xe4, 0x73, 0xe2, 0x91, 0x1c, 0xe3, 0x85, 0x47, 0x72, 0x8c, 0x0f, 0x1e, 0xc9, 0x31, 0x4e, 0x78, 0x2c, 0xc7, 0x70, 0xe1, 0xb1, 0x1c, 0xc3, 0x8d, - 0xc7, 0x72, 0x0c, 0x51, 0xa6, 0xe9, 0x99, 0x25, 0x19, 0xa5, 0x49, 0x7a, 0xc9, 0xf9, 0xb9, 0xfa, - 0x48, 0x5e, 0x45, 0xf6, 0x35, 0xd8, 0x4b, 0xa8, 0xc1, 0x90, 0xc4, 0x06, 0x16, 0x35, 0x06, 0x04, - 0x00, 0x00, 0xff, 0xff, 0xe7, 0x5b, 0xe7, 0x33, 0x1f, 0x01, 0x00, 0x00, + 0xc7, 0x72, 0x0c, 0x51, 0x46, 0xe9, 0x99, 0x25, 0x19, 0xa5, 0x49, 0x7a, 0xc9, 0xf9, 0xb9, 0xfa, + 0x29, 0x89, 0xc5, 0x19, 0x05, 0x89, 0x95, 0xfa, 0x10, 0x83, 0x41, 0x3c, 0x7d, 0x88, 0x7f, 0x50, + 0xc3, 0x20, 0x89, 0x0d, 0x2c, 0x6a, 0x0c, 0x08, 0x00, 0x00, 0xff, 0xff, 0x8f, 0x25, 0xe4, 0x91, + 0x1c, 0x01, 0x00, 0x00, } func (m *PexAddress) Marshal() (dAtA []byte, err error) { diff --git a/proto/tendermint/p2p/pex.proto b/proto/tendermint/p2p/pex.proto index 04e17256c8..dcc8367d1c 100644 --- a/proto/tendermint/p2p/pex.proto +++ b/proto/tendermint/p2p/pex.proto @@ -1,7 +1,7 @@ syntax = "proto3"; package tendermint.p2p; -option go_package = "github.com/tendermint/tendermint/proto/tendermint/p2p"; +option go_package = "github.com/dashpay/tenderdash/proto/tendermint/p2p"; import "gogoproto/gogo.proto"; diff --git a/proto/tendermint/p2p/types.pb.go b/proto/tendermint/p2p/types.pb.go index 937d2b1427..14aeefe3cb 100644 --- a/proto/tendermint/p2p/types.pb.go +++ b/proto/tendermint/p2p/types.pb.go @@ -5,15 +5,15 @@ package p2p import ( fmt "fmt" + blocksync "github.com/dashpay/tenderdash/proto/tendermint/blocksync" + consensus "github.com/dashpay/tenderdash/proto/tendermint/consensus" + mempool "github.com/dashpay/tenderdash/proto/tendermint/mempool" + statesync "github.com/dashpay/tenderdash/proto/tendermint/statesync" + types1 "github.com/dashpay/tenderdash/proto/tendermint/types" _ "github.com/gogo/protobuf/gogoproto" proto "github.com/gogo/protobuf/proto" _ "github.com/gogo/protobuf/types" github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" - blocksync "github.com/tendermint/tendermint/proto/tendermint/blocksync" - consensus "github.com/tendermint/tendermint/proto/tendermint/consensus" - mempool "github.com/tendermint/tendermint/proto/tendermint/mempool" - statesync "github.com/tendermint/tendermint/proto/tendermint/statesync" - types1 "github.com/tendermint/tendermint/proto/tendermint/types" io "io" math "math" math_bits "math/bits" @@ -899,97 +899,97 @@ func init() { func init() { proto.RegisterFile("tendermint/p2p/types.proto", fileDescriptor_c8a29e659aeca578) } var fileDescriptor_c8a29e659aeca578 = []byte{ - // 1433 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x57, 0x4b, 0x6f, 0xdb, 0xc6, - 0x16, 0x96, 0xe4, 0x97, 0x74, 0x64, 0x59, 0xf6, 0xc4, 0x37, 0x61, 0x9c, 0x44, 0xf2, 0x75, 0xee, - 0xc3, 0xb8, 0x0b, 0xe9, 0x42, 0x41, 0x8b, 0x34, 0x68, 0x80, 0x44, 0x8e, 0x13, 0xb9, 0x70, 0x62, - 0x81, 0x76, 0x83, 0xbe, 0x00, 0x82, 0x22, 0xc7, 0x26, 0x6b, 0x6a, 0x66, 0xca, 0x19, 0x29, 0xf2, - 0xbf, 0xc8, 0xcf, 0xca, 0xa2, 0x8b, 0x2c, 0xbb, 0x72, 0x0b, 0x67, 0xd1, 0x45, 0xfb, 0x23, 0x8a, - 0x19, 0x0e, 0x1f, 0xa2, 0x5c, 0x25, 0xbb, 0x39, 0x67, 0xbe, 0xef, 0xd3, 0x99, 0xef, 0x1c, 0x0d, - 0x49, 0xd8, 0x12, 0x98, 0xb8, 0x38, 0x1c, 0xfa, 0x44, 0xb4, 0x59, 0x87, 0xb5, 0xc5, 0x05, 0xc3, - 0xbc, 0xc5, 0x42, 0x2a, 0x28, 0x5a, 0x4b, 0xf7, 0x5a, 0xac, 0xc3, 0xb6, 0x36, 0xcf, 0xe8, 0x19, - 0x55, 0x5b, 0x6d, 0xb9, 0x8a, 0x50, 0x5b, 0xdb, 0x19, 0x85, 0x41, 0x40, 0x9d, 0x73, 0x7e, 0x41, - 0x9c, 0xac, 0xce, 0x14, 0xc2, 0xa1, 0x84, 0x63, 0xc2, 0x47, 0xfc, 0x6f, 0x11, 0x5c, 0xd8, 0x02, - 0xcf, 0x68, 0x34, 0x33, 0x08, 0x95, 0x6f, 0xe3, 0xb1, 0xef, 0x62, 0xe2, 0x60, 0x0d, 0x68, 0x64, - 0x00, 0x43, 0x3c, 0x64, 0x94, 0x06, 0x53, 0x02, 0x46, 0xee, 0xa0, 0x0c, 0x4f, 0x62, 0xe9, 0x33, - 0x4a, 0xcf, 0x02, 0xdc, 0x56, 0xd1, 0x60, 0x74, 0xda, 0x16, 0xfe, 0x10, 0x73, 0x61, 0x0f, 0x59, - 0x04, 0xd8, 0x39, 0x81, 0x7a, 0x5f, 0x2e, 0x1c, 0x1a, 0xbc, 0xc6, 0x21, 0xf7, 0x29, 0x41, 0xb7, - 0x61, 0x81, 0x75, 0x98, 0x51, 0xdc, 0x2e, 0xee, 0x2e, 0x76, 0x57, 0xae, 0x2e, 0x9b, 0x0b, 0xfd, - 0x4e, 0xdf, 0x94, 0x39, 0xb4, 0x09, 0x4b, 0xca, 0x06, 0xa3, 0x24, 0x37, 0xcd, 0x28, 0x40, 0xeb, - 0xb0, 0x60, 0x33, 0x66, 0x2c, 0xa8, 0x9c, 0x5c, 0xee, 0xfc, 0x5e, 0x82, 0xf2, 0x2b, 0xea, 0xe2, - 0x03, 0x72, 0x4a, 0x51, 0x1f, 0xd6, 0x99, 0xfe, 0x09, 0x6b, 0x1c, 0xfd, 0x86, 0x12, 0xaf, 0x76, - 0x9a, 0xad, 0xe9, 0x2e, 0xb4, 0x72, 0xa5, 0x74, 0x17, 0xdf, 0x5d, 0x36, 0x0b, 0x66, 0x9d, 0xe5, - 0x2a, 0xbc, 0x0f, 0x2b, 0x84, 0xba, 0xd8, 0xf2, 0x5d, 0x55, 0x48, 0xa5, 0x0b, 0x57, 0x97, 0xcd, - 0x65, 0xf5, 0x83, 0xcf, 0xcc, 0x65, 0xb9, 0x75, 0xe0, 0xa2, 0x26, 0x54, 0x03, 0x9f, 0x0b, 0x4c, - 0x2c, 0xdb, 0x75, 0x43, 0x55, 0x5d, 0xc5, 0x84, 0x28, 0xf5, 0xd4, 0x75, 0x43, 0x64, 0xc0, 0x0a, - 0xc1, 0xe2, 0x0d, 0x0d, 0xcf, 0x8d, 0x45, 0xb5, 0x19, 0x87, 0x72, 0x27, 0x2e, 0x74, 0x29, 0xda, - 0xd1, 0x21, 0xda, 0x82, 0xb2, 0xe3, 0xd9, 0x84, 0xe0, 0x80, 0x1b, 0xcb, 0xdb, 0xc5, 0xdd, 0x55, - 0x33, 0x89, 0x25, 0x6b, 0x48, 0x89, 0x7f, 0x8e, 0x43, 0x63, 0x25, 0x62, 0xe9, 0x10, 0x7d, 0x01, - 0x4b, 0x54, 0x78, 0x38, 0x34, 0xca, 0xea, 0xd8, 0xf7, 0xf2, 0xc7, 0x8e, 0xad, 0x3a, 0x92, 0x20, - 0x7d, 0xe8, 0x88, 0x81, 0x1a, 0x50, 0x65, 0x21, 0xb5, 0xc4, 0xc4, 0xf2, 0x6c, 0xee, 0x19, 0x15, - 0xf5, 0x9b, 0x15, 0x16, 0xd2, 0x93, 0x49, 0xcf, 0xe6, 0xde, 0xce, 0xf7, 0x50, 0x9b, 0x62, 0xa3, - 0xdb, 0x50, 0x16, 0x13, 0xcb, 0x27, 0x2e, 0x9e, 0x28, 0x97, 0x2b, 0xe6, 0x8a, 0x98, 0x1c, 0xc8, - 0x10, 0xb5, 0xa1, 0x1a, 0x32, 0x47, 0xd9, 0x81, 0x39, 0xd7, 0xd6, 0xad, 0x5d, 0x5d, 0x36, 0xc1, - 0xec, 0xef, 0x3d, 0x8d, 0xb2, 0x26, 0x84, 0xcc, 0xd1, 0xeb, 0x9d, 0x3f, 0x8a, 0x50, 0xee, 0x63, - 0x1c, 0xaa, 0x36, 0xde, 0x84, 0x92, 0xef, 0x46, 0x92, 0xdd, 0xe5, 0xab, 0xcb, 0x66, 0xe9, 0xe0, - 0x99, 0x59, 0xf2, 0x5d, 0xd4, 0x85, 0x55, 0xad, 0x68, 0xf9, 0xe4, 0x94, 0x1a, 0xa5, 0xed, 0x85, - 0x6b, 0x5b, 0x8b, 0x71, 0xa8, 0x75, 0xa5, 0x9c, 0x59, 0xb5, 0xd3, 0x00, 0xbd, 0x80, 0xb5, 0xc0, - 0xe6, 0xc2, 0x72, 0x28, 0x21, 0xd8, 0x11, 0xd8, 0x55, 0xed, 0xaa, 0x76, 0xb6, 0x5a, 0xd1, 0xfc, - 0xb6, 0xe2, 0xf9, 0x6d, 0x9d, 0xc4, 0xf3, 0xdb, 0x5d, 0x7c, 0xfb, 0x6b, 0xb3, 0x68, 0xd6, 0x24, - 0x6f, 0x2f, 0xa6, 0xc9, 0xfe, 0xf8, 0xc4, 0x76, 0x84, 0x3f, 0xc6, 0xaa, 0xa9, 0x65, 0x33, 0x89, - 0xf3, 0x56, 0x2e, 0xe5, 0xad, 0xfc, 0xb3, 0x08, 0xf5, 0x5c, 0x95, 0xb2, 0xa7, 0xb1, 0x5d, 0xda, - 0x4c, 0x1d, 0xa2, 0x43, 0xd8, 0x50, 0x25, 0xbb, 0xbe, 0x1d, 0x58, 0x7c, 0xe4, 0x38, 0xb1, 0xa5, - 0x9f, 0x52, 0x75, 0x5d, 0x52, 0x9f, 0xf9, 0x76, 0x70, 0x1c, 0x11, 0xa7, 0xd5, 0x4e, 0x6d, 0x3f, - 0x18, 0x85, 0xf8, 0x93, 0x3d, 0x48, 0xd4, 0x9e, 0x47, 0x44, 0x74, 0x1f, 0x6a, 0x59, 0x21, 0xae, - 0xac, 0xa8, 0x99, 0xab, 0x6e, 0x8a, 0xe1, 0x3b, 0x77, 0x61, 0x71, 0xdf, 0xf1, 0xa8, 0xfc, 0x4f, - 0x8f, 0xed, 0x60, 0x84, 0xf5, 0x01, 0xa3, 0x60, 0xe7, 0xe7, 0x0d, 0x28, 0xef, 0x93, 0x31, 0x0e, - 0x28, 0xc3, 0xa8, 0x07, 0x60, 0x0b, 0x11, 0xfa, 0x83, 0x91, 0xc0, 0xd2, 0x08, 0xd9, 0xe0, 0xdd, - 0x7c, 0x83, 0x63, 0x74, 0xeb, 0x69, 0x02, 0xdd, 0x27, 0x22, 0xbc, 0x30, 0x33, 0x5c, 0xf4, 0x3f, - 0x58, 0xc4, 0x8e, 0x47, 0xb5, 0x51, 0x9b, 0x33, 0x1a, 0x8e, 0x47, 0x7b, 0x05, 0x53, 0x61, 0xd0, - 0x63, 0xa8, 0x32, 0x3c, 0xb1, 0x42, 0xfc, 0xd3, 0x08, 0x73, 0x91, 0xb8, 0x31, 0x33, 0x57, 0x13, - 0x33, 0x42, 0xf4, 0x0a, 0x26, 0xb0, 0x24, 0x42, 0x4f, 0x60, 0x35, 0xa2, 0x73, 0x26, 0xef, 0x65, - 0xe5, 0x41, 0xb5, 0x73, 0xe7, 0x5a, 0x7e, 0x04, 0xe9, 0x15, 0xcc, 0x2a, 0x4b, 0x43, 0xf4, 0x10, - 0xca, 0xf1, 0x45, 0xac, 0xa6, 0x25, 0xf7, 0xeb, 0xd1, 0x0d, 0xbc, 0xaf, 0x11, 0xbd, 0x82, 0x99, - 0xa0, 0xd1, 0x23, 0xa8, 0xea, 0x7b, 0xda, 0x12, 0x93, 0xe8, 0xa6, 0xa8, 0x76, 0x6e, 0x65, 0xc9, - 0x7a, 0xbb, 0x75, 0x32, 0xe1, 0xb2, 0x6e, 0x1d, 0x9e, 0x4c, 0x38, 0x3a, 0x80, 0x9a, 0xba, 0x56, - 0x93, 0x83, 0xaf, 0x28, 0xf6, 0x4e, 0x96, 0x9d, 0x3c, 0x8b, 0x5a, 0x5d, 0xb9, 0x4a, 0x0d, 0x58, - 0x1d, 0x64, 0x62, 0x74, 0x0c, 0x1b, 0x84, 0x5a, 0xb1, 0x9a, 0xf6, 0x21, 0xba, 0x83, 0xfe, 0x7d, - 0xbd, 0xdc, 0x2b, 0xaa, 0x05, 0x13, 0x47, 0xea, 0x64, 0x3a, 0x85, 0x0e, 0x61, 0x2d, 0xa7, 0x58, - 0x51, 0x8a, 0xf7, 0xe7, 0x16, 0x98, 0xe8, 0xd5, 0x06, 0x79, 0x35, 0xf9, 0x50, 0x1c, 0xf1, 0xe4, - 0xb8, 0x30, 0x4f, 0xed, 0x58, 0x61, 0xd3, 0xf3, 0xd6, 0x78, 0x36, 0x81, 0x8e, 0xa0, 0x9e, 0xa8, - 0xe9, 0xe2, 0xaa, 0x4a, 0xee, 0x5f, 0xf3, 0xe5, 0x92, 0xea, 0xd6, 0xf8, 0x54, 0x06, 0x7d, 0x0d, - 0x1b, 0x9c, 0xd8, 0x8c, 0x7b, 0x54, 0xa4, 0x15, 0xae, 0x2a, 0xc9, 0xff, 0x64, 0x25, 0x93, 0x07, - 0x7b, 0xeb, 0x38, 0x86, 0xa7, 0x45, 0xae, 0xf3, 0x5c, 0x0e, 0x7d, 0x03, 0x28, 0x2b, 0xab, 0x4b, - 0xad, 0x29, 0xdd, 0xff, 0x7e, 0x54, 0x37, 0xa9, 0x76, 0x83, 0xe7, 0x93, 0x72, 0x7a, 0x1c, 0x6f, - 0x44, 0xd2, 0xe9, 0x59, 0x9b, 0x9d, 0x9e, 0x54, 0x74, 0x4f, 0x42, 0x33, 0xd3, 0xe3, 0x64, 0x62, - 0xd9, 0x9a, 0x58, 0x4a, 0x17, 0x58, 0x9f, 0x6d, 0xcd, 0x8c, 0x56, 0xda, 0x68, 0x27, 0x9b, 0x40, - 0xdf, 0xc2, 0x8d, 0xc0, 0x3f, 0xf3, 0x84, 0x35, 0x3d, 0xdc, 0xeb, 0xf3, 0xce, 0x7c, 0x28, 0x09, - 0xb9, 0x09, 0xdf, 0x08, 0xf2, 0x49, 0xf4, 0x03, 0x6c, 0x4e, 0x4b, 0xeb, 0x72, 0x37, 0x94, 0xf6, - 0xee, 0xc7, 0xb5, 0x93, 0x9a, 0x51, 0x30, 0x93, 0x95, 0x36, 0x30, 0x3b, 0xb4, 0x87, 0x69, 0xff, - 0xd1, 0x3c, 0x1b, 0xfa, 0x0a, 0x9b, 0x99, 0x50, 0x96, 0x4d, 0xc8, 0x09, 0x4d, 0xd4, 0x74, 0x99, - 0x37, 0x66, 0x27, 0x74, 0x56, 0x2e, 0x9d, 0x50, 0x36, 0x95, 0x41, 0x5f, 0xc1, 0x1a, 0xc1, 0x6f, - 0xac, 0x90, 0x8e, 0x88, 0x6b, 0x71, 0x81, 0x99, 0xb1, 0x39, 0xdb, 0xf1, 0xe4, 0xcd, 0xb4, 0xf5, - 0x0a, 0xbf, 0x31, 0x25, 0xf4, 0x58, 0x60, 0x26, 0x3b, 0x4e, 0x32, 0x31, 0x7a, 0x09, 0x75, 0xa9, - 0x35, 0xb6, 0x03, 0xdf, 0x8d, 0xcc, 0x34, 0xfe, 0x31, 0x7b, 0xd6, 0x29, 0xb1, 0xd7, 0x12, 0xab, - 0x0c, 0x93, 0x67, 0x25, 0xd9, 0x04, 0xfa, 0x12, 0xca, 0x2c, 0xa4, 0x8c, 0x72, 0x3b, 0x30, 0x6e, - 0x2a, 0x9d, 0xc6, 0xf5, 0x3a, 0x7d, 0x8d, 0x92, 0x77, 0x68, 0xcc, 0x40, 0xcf, 0x61, 0x35, 0x5e, - 0x5b, 0x8c, 0x06, 0xc6, 0x2d, 0xa5, 0xf0, 0xcf, 0xf9, 0x0a, 0xfd, 0xa3, 0x43, 0x75, 0x8b, 0xc7, - 0x21, 0x0d, 0xd0, 0x13, 0x80, 0x68, 0x2e, 0x98, 0x1d, 0x0a, 0xc3, 0x98, 0x7d, 0xf1, 0x4c, 0x55, - 0x54, 0xd9, 0x7d, 0x3b, 0x94, 0x7d, 0xab, 0x0c, 0xe2, 0x00, 0xfd, 0x1f, 0x16, 0xc7, 0x54, 0x60, - 0xe3, 0xf6, 0xec, 0x33, 0x20, 0xe5, 0xbe, 0xa6, 0x42, 0xb6, 0x47, 0x21, 0xd1, 0x23, 0x28, 0x7b, - 0x36, 0xb7, 0x14, 0x6b, 0x6b, 0xf6, 0x9d, 0x2f, 0x65, 0xf5, 0x6c, 0xae, 0x89, 0x2b, 0x5e, 0xb4, - 0x94, 0x0d, 0x95, 0x3c, 0x8b, 0x63, 0x61, 0x0d, 0xed, 0x1f, 0x3b, 0x0f, 0x8c, 0x3b, 0xf3, 0x1a, - 0x2a, 0x39, 0xc7, 0x58, 0xbc, 0x94, 0x48, 0xd9, 0xd0, 0x71, 0x26, 0x46, 0x2f, 0xa0, 0x96, 0x68, - 0x0d, 0x7c, 0xc1, 0x8d, 0xbb, 0xf3, 0x4c, 0xd4, 0x52, 0x5d, 0x5f, 0xc8, 0x67, 0x52, 0x75, 0x9c, - 0x86, 0xe8, 0x73, 0x58, 0x76, 0xe8, 0x70, 0xe8, 0x0b, 0xe3, 0x9e, 0x52, 0xb8, 0x7b, 0xbd, 0xc2, - 0x9e, 0xc2, 0xf4, 0x0a, 0xa6, 0x46, 0x4b, 0xf3, 0xa5, 0x11, 0x9a, 0xdb, 0x98, 0x67, 0x7e, 0xcf, - 0xe6, 0x09, 0xbd, 0xe2, 0xc5, 0xc1, 0xd6, 0x63, 0xa8, 0xe7, 0x5e, 0x28, 0xe4, 0xf7, 0xc6, 0x39, - 0xbe, 0xd0, 0xef, 0x2b, 0x72, 0x99, 0xbe, 0xc3, 0x94, 0x32, 0xef, 0x30, 0x8f, 0x4a, 0x0f, 0x8b, - 0xdd, 0x25, 0x58, 0xe0, 0xa3, 0x61, 0xf7, 0xe8, 0xdd, 0x55, 0xa3, 0xf8, 0xfe, 0xaa, 0x51, 0xfc, - 0xed, 0xaa, 0x51, 0x7c, 0xfb, 0xa1, 0x51, 0x78, 0xff, 0xa1, 0x51, 0xf8, 0xe5, 0x43, 0xa3, 0xf0, - 0xdd, 0x67, 0x67, 0xbe, 0xf0, 0x46, 0x83, 0x96, 0x43, 0x87, 0xed, 0xec, 0x77, 0x58, 0xe6, 0x8b, - 0x4a, 0x7d, 0x15, 0x4e, 0x7f, 0x62, 0x0d, 0x96, 0x55, 0xf6, 0xc1, 0x5f, 0x01, 0x00, 0x00, 0xff, - 0xff, 0x67, 0xb5, 0x6a, 0x42, 0x64, 0x0e, 0x00, 0x00, + // 1436 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x57, 0x4b, 0x6f, 0xdb, 0x46, + 0x17, 0x95, 0xe4, 0x97, 0x74, 0x65, 0x59, 0xf6, 0xc4, 0x5f, 0xc2, 0x38, 0x89, 0xe4, 0xcf, 0xe9, + 0xc3, 0xe8, 0x42, 0x2a, 0x14, 0xa0, 0x48, 0x83, 0x06, 0x48, 0xe4, 0x38, 0x91, 0x0b, 0x27, 0x11, + 0x68, 0x37, 0xe8, 0x0b, 0x20, 0x28, 0x72, 0x6c, 0xb2, 0xa6, 0x66, 0xa6, 0x9c, 0x91, 0x22, 0xff, + 0x8b, 0xfc, 0xac, 0x2c, 0xba, 0xc8, 0xb2, 0x2b, 0xb7, 0x70, 0x16, 0x5d, 0xb4, 0x3f, 0xa2, 0x98, + 0xe1, 0xf0, 0x21, 0xca, 0x55, 0xb2, 0x9b, 0x7b, 0xe7, 0x9c, 0xc3, 0x3b, 0xe7, 0x5e, 0x0d, 0x29, + 0xd8, 0x12, 0x98, 0xb8, 0x38, 0x1c, 0xfa, 0x44, 0xb4, 0x59, 0x87, 0xb5, 0xc5, 0x39, 0xc3, 0xbc, + 0xc5, 0x42, 0x2a, 0x28, 0x5a, 0x4b, 0xf7, 0x5a, 0xac, 0xc3, 0xb6, 0x36, 0x4f, 0xe9, 0x29, 0x55, + 0x5b, 0x6d, 0xb9, 0x8a, 0x50, 0x5b, 0xdb, 0x19, 0x85, 0x41, 0x40, 0x9d, 0x33, 0x7e, 0x4e, 0x9c, + 0xac, 0xce, 0x14, 0xc2, 0xa1, 0x84, 0x63, 0xc2, 0x47, 0xfc, 0x3f, 0x11, 0x5c, 0xd8, 0x02, 0xcf, + 0x68, 0x34, 0x33, 0x08, 0x95, 0x6f, 0xe3, 0xb1, 0xef, 0x62, 0xe2, 0x60, 0x0d, 0x68, 0x64, 0x00, + 0x43, 0x3c, 0x64, 0x94, 0x06, 0x53, 0x02, 0x46, 0xee, 0xa0, 0x0c, 0x4f, 0x62, 0xe9, 0x53, 0x4a, + 0x4f, 0x03, 0xdc, 0x56, 0xd1, 0x60, 0x74, 0xd2, 0x16, 0xfe, 0x10, 0x73, 0x61, 0x0f, 0x59, 0x04, + 0xd8, 0x39, 0x86, 0x7a, 0x5f, 0x2e, 0x1c, 0x1a, 0xbc, 0xc2, 0x21, 0xf7, 0x29, 0x41, 0x37, 0x61, + 0x81, 0x75, 0x98, 0x51, 0xdc, 0x2e, 0xee, 0x2e, 0x76, 0x57, 0x2e, 0x2f, 0x9a, 0x0b, 0xfd, 0x4e, + 0xdf, 0x94, 0x39, 0xb4, 0x09, 0x4b, 0xca, 0x06, 0xa3, 0x24, 0x37, 0xcd, 0x28, 0x40, 0xeb, 0xb0, + 0x60, 0x33, 0x66, 0x2c, 0xa8, 0x9c, 0x5c, 0xee, 0xfc, 0x55, 0x82, 0xf2, 0x0b, 0xea, 0xe2, 0x03, + 0x72, 0x42, 0x51, 0x1f, 0xd6, 0x99, 0x7e, 0x84, 0x35, 0x8e, 0x9e, 0xa1, 0xc4, 0xab, 0x9d, 0x66, + 0x6b, 0xba, 0x0b, 0xad, 0x5c, 0x29, 0xdd, 0xc5, 0xb7, 0x17, 0xcd, 0x82, 0x59, 0x67, 0xb9, 0x0a, + 0xef, 0xc2, 0x0a, 0xa1, 0x2e, 0xb6, 0x7c, 0x57, 0x15, 0x52, 0xe9, 0xc2, 0xe5, 0x45, 0x73, 0x59, + 0x3d, 0xf0, 0x89, 0xb9, 0x2c, 0xb7, 0x0e, 0x5c, 0xd4, 0x84, 0x6a, 0xe0, 0x73, 0x81, 0x89, 0x65, + 0xbb, 0x6e, 0xa8, 0xaa, 0xab, 0x98, 0x10, 0xa5, 0x1e, 0xbb, 0x6e, 0x88, 0x0c, 0x58, 0x21, 0x58, + 0xbc, 0xa6, 0xe1, 0x99, 0xb1, 0xa8, 0x36, 0xe3, 0x50, 0xee, 0xc4, 0x85, 0x2e, 0x45, 0x3b, 0x3a, + 0x44, 0x5b, 0x50, 0x76, 0x3c, 0x9b, 0x10, 0x1c, 0x70, 0x63, 0x79, 0xbb, 0xb8, 0xbb, 0x6a, 0x26, + 0xb1, 0x64, 0x0d, 0x29, 0xf1, 0xcf, 0x70, 0x68, 0xac, 0x44, 0x2c, 0x1d, 0xa2, 0xaf, 0x61, 0x89, + 0x0a, 0x0f, 0x87, 0x46, 0x59, 0x1d, 0xfb, 0x4e, 0xfe, 0xd8, 0xb1, 0x55, 0x2f, 0x25, 0x48, 0x1f, + 0x3a, 0x62, 0xa0, 0x06, 0x54, 0x59, 0x48, 0x2d, 0x31, 0xb1, 0x3c, 0x9b, 0x7b, 0x46, 0x45, 0x3d, + 0xb3, 0xc2, 0x42, 0x7a, 0x3c, 0xe9, 0xd9, 0xdc, 0xdb, 0xf9, 0x09, 0x6a, 0x53, 0x6c, 0x74, 0x13, + 0xca, 0x62, 0x62, 0xf9, 0xc4, 0xc5, 0x13, 0xe5, 0x72, 0xc5, 0x5c, 0x11, 0x93, 0x03, 0x19, 0xa2, + 0x36, 0x54, 0x43, 0xe6, 0x28, 0x3b, 0x30, 0xe7, 0xda, 0xba, 0xb5, 0xcb, 0x8b, 0x26, 0x98, 0xfd, + 0xbd, 0xc7, 0x51, 0xd6, 0x84, 0x90, 0x39, 0x7a, 0xbd, 0xf3, 0x77, 0x11, 0xca, 0x7d, 0x8c, 0x43, + 0xd5, 0xc6, 0xeb, 0x50, 0xf2, 0xdd, 0x48, 0xb2, 0xbb, 0x7c, 0x79, 0xd1, 0x2c, 0x1d, 0x3c, 0x31, + 0x4b, 0xbe, 0x8b, 0xba, 0xb0, 0xaa, 0x15, 0x2d, 0x9f, 0x9c, 0x50, 0xa3, 0xb4, 0xbd, 0x70, 0x65, + 0x6b, 0x31, 0x0e, 0xb5, 0xae, 0x94, 0x33, 0xab, 0x76, 0x1a, 0xa0, 0x67, 0xb0, 0x16, 0xd8, 0x5c, + 0x58, 0x0e, 0x25, 0x04, 0x3b, 0x02, 0xbb, 0xaa, 0x5d, 0xd5, 0xce, 0x56, 0x2b, 0x9a, 0xdf, 0x56, + 0x3c, 0xbf, 0xad, 0xe3, 0x78, 0x7e, 0xbb, 0x8b, 0x6f, 0xfe, 0x68, 0x16, 0xcd, 0x9a, 0xe4, 0xed, + 0xc5, 0x34, 0xd9, 0x1f, 0x9f, 0xd8, 0x8e, 0xf0, 0xc7, 0x58, 0x35, 0xb5, 0x6c, 0x26, 0x71, 0xde, + 0xca, 0xa5, 0xbc, 0x95, 0xff, 0x14, 0xa1, 0x9e, 0xab, 0x52, 0xf6, 0x34, 0xb6, 0x4b, 0x9b, 0xa9, + 0x43, 0x74, 0x08, 0x1b, 0xaa, 0x64, 0xd7, 0xb7, 0x03, 0x8b, 0x8f, 0x1c, 0x27, 0xb6, 0xf4, 0x63, + 0xaa, 0xae, 0x4b, 0xea, 0x13, 0xdf, 0x0e, 0x8e, 0x22, 0xe2, 0xb4, 0xda, 0x89, 0xed, 0x07, 0xa3, + 0x10, 0x7f, 0xb4, 0x07, 0x89, 0xda, 0xd3, 0x88, 0x88, 0xee, 0x42, 0x2d, 0x2b, 0xc4, 0x95, 0x15, + 0x35, 0x73, 0xd5, 0x4d, 0x31, 0x7c, 0xe7, 0x36, 0x2c, 0xee, 0x3b, 0x1e, 0x95, 0xbf, 0xe9, 0xb1, + 0x1d, 0x8c, 0xb0, 0x3e, 0x60, 0x14, 0xec, 0xfc, 0xb6, 0x01, 0xe5, 0x7d, 0x32, 0xc6, 0x01, 0x65, + 0x18, 0xf5, 0x00, 0x6c, 0x21, 0x42, 0x7f, 0x30, 0x12, 0x58, 0x1a, 0x21, 0x1b, 0xbc, 0x9b, 0x6f, + 0x70, 0x8c, 0x6e, 0x3d, 0x4e, 0xa0, 0xfb, 0x44, 0x84, 0xe7, 0x66, 0x86, 0x8b, 0xbe, 0x80, 0x45, + 0xec, 0x78, 0x54, 0x1b, 0xb5, 0x39, 0xa3, 0xe1, 0x78, 0xb4, 0x57, 0x30, 0x15, 0x06, 0x3d, 0x84, + 0x2a, 0xc3, 0x13, 0x2b, 0xc4, 0xbf, 0x8e, 0x30, 0x17, 0x89, 0x1b, 0x33, 0x73, 0x35, 0x31, 0x23, + 0x44, 0xaf, 0x60, 0x02, 0x4b, 0x22, 0xf4, 0x08, 0x56, 0x23, 0x3a, 0x67, 0xf2, 0x5e, 0x56, 0x1e, + 0x54, 0x3b, 0xb7, 0xae, 0xe4, 0x47, 0x90, 0x5e, 0xc1, 0xac, 0xb2, 0x34, 0x44, 0xf7, 0xa1, 0x1c, + 0x5f, 0xc4, 0x6a, 0x5a, 0x72, 0x4f, 0x8f, 0x6e, 0xe0, 0x7d, 0x8d, 0xe8, 0x15, 0xcc, 0x04, 0x8d, + 0x1e, 0x40, 0x55, 0xdf, 0xd3, 0x96, 0x98, 0x44, 0x37, 0x45, 0xb5, 0x73, 0x23, 0x4b, 0xd6, 0xdb, + 0xad, 0xe3, 0x09, 0x97, 0x75, 0xeb, 0xf0, 0x78, 0xc2, 0xd1, 0x01, 0xd4, 0xd4, 0xb5, 0x9a, 0x1c, + 0x7c, 0x45, 0xb1, 0x77, 0xb2, 0xec, 0xe4, 0x5d, 0xd4, 0xea, 0xca, 0x55, 0x6a, 0xc0, 0xea, 0x20, + 0x13, 0xa3, 0x23, 0xd8, 0x20, 0xd4, 0x8a, 0xd5, 0xb4, 0x0f, 0xd1, 0x1d, 0xf4, 0xe9, 0xd5, 0x72, + 0x2f, 0xa8, 0x16, 0x4c, 0x1c, 0xa9, 0x93, 0xe9, 0x14, 0x3a, 0x84, 0xb5, 0x9c, 0x62, 0x45, 0x29, + 0xde, 0x9d, 0x5b, 0x60, 0xa2, 0x57, 0x1b, 0xe4, 0xd5, 0xe4, 0x4b, 0x71, 0xc4, 0x93, 0xe3, 0xc2, + 0x3c, 0xb5, 0x23, 0x85, 0x4d, 0xcf, 0x5b, 0xe3, 0xd9, 0x04, 0x7a, 0x09, 0xf5, 0x44, 0x4d, 0x17, + 0x57, 0x55, 0x72, 0x9f, 0xcc, 0x97, 0x4b, 0xaa, 0x5b, 0xe3, 0x53, 0x19, 0xf4, 0x1d, 0x6c, 0x70, + 0x62, 0x33, 0xee, 0x51, 0x91, 0x56, 0xb8, 0xaa, 0x24, 0x3f, 0xcb, 0x4a, 0x26, 0x2f, 0xf6, 0xd6, + 0x51, 0x0c, 0x4f, 0x8b, 0x5c, 0xe7, 0xb9, 0x1c, 0xfa, 0x1e, 0x50, 0x56, 0x56, 0x97, 0x5a, 0x53, + 0xba, 0x9f, 0x7f, 0x50, 0x37, 0xa9, 0x76, 0x83, 0xe7, 0x93, 0x72, 0x7a, 0x1c, 0x6f, 0x44, 0xd2, + 0xe9, 0x59, 0x9b, 0x9d, 0x9e, 0x54, 0x74, 0x4f, 0x42, 0x33, 0xd3, 0xe3, 0x64, 0x62, 0xd9, 0x9a, + 0x58, 0x4a, 0x17, 0x58, 0x9f, 0x6d, 0xcd, 0x8c, 0x56, 0xda, 0x68, 0x27, 0x9b, 0x40, 0x3f, 0xc0, + 0xb5, 0xc0, 0x3f, 0xf5, 0x84, 0x35, 0x3d, 0xdc, 0xeb, 0xf3, 0xce, 0x7c, 0x28, 0x09, 0xb9, 0x09, + 0xdf, 0x08, 0xf2, 0x49, 0xf4, 0x33, 0x6c, 0x4e, 0x4b, 0xeb, 0x72, 0x37, 0x94, 0xf6, 0xee, 0x87, + 0xb5, 0x93, 0x9a, 0x51, 0x30, 0x93, 0x95, 0x36, 0x30, 0x3b, 0xb4, 0x87, 0x69, 0xff, 0xd1, 0x3c, + 0x1b, 0xfa, 0x0a, 0x9b, 0x99, 0x50, 0x96, 0x4d, 0xc8, 0x09, 0x4d, 0xd4, 0x74, 0x99, 0xd7, 0x66, + 0x27, 0x74, 0x56, 0x2e, 0x9d, 0x50, 0x36, 0x95, 0x41, 0xdf, 0xc2, 0x1a, 0xc1, 0xaf, 0xad, 0x90, + 0x8e, 0x88, 0x6b, 0x71, 0x81, 0x99, 0xb1, 0x39, 0xdb, 0xf1, 0xe4, 0xcb, 0xb4, 0xf5, 0x02, 0xbf, + 0x36, 0x25, 0xf4, 0x48, 0x60, 0x26, 0x3b, 0x4e, 0x32, 0x31, 0x7a, 0x0e, 0x75, 0xa9, 0x35, 0xb6, + 0x03, 0xdf, 0x8d, 0xcc, 0x34, 0xfe, 0x37, 0x7b, 0xd6, 0x29, 0xb1, 0x57, 0x12, 0xab, 0x0c, 0x93, + 0x67, 0x25, 0xd9, 0x04, 0xfa, 0x06, 0xca, 0x2c, 0xa4, 0x8c, 0x72, 0x3b, 0x30, 0xae, 0x2b, 0x9d, + 0xc6, 0xd5, 0x3a, 0x7d, 0x8d, 0x92, 0x77, 0x68, 0xcc, 0x40, 0x4f, 0x61, 0x35, 0x5e, 0x5b, 0x8c, + 0x06, 0xc6, 0x0d, 0xa5, 0xf0, 0xff, 0xf9, 0x0a, 0xfd, 0x97, 0x87, 0xea, 0x16, 0x8f, 0x43, 0x1a, + 0xa0, 0x47, 0x00, 0xd1, 0x5c, 0x30, 0x3b, 0x14, 0x86, 0x31, 0xfb, 0xe1, 0x99, 0xaa, 0xa8, 0xb2, + 0xfb, 0x76, 0x28, 0xfb, 0x56, 0x19, 0xc4, 0x01, 0xfa, 0x12, 0x16, 0xc7, 0x54, 0x60, 0xe3, 0xe6, + 0xec, 0x3b, 0x20, 0xe5, 0xbe, 0xa2, 0x42, 0xb6, 0x47, 0x21, 0xd1, 0x03, 0x28, 0x7b, 0x36, 0xb7, + 0x14, 0x6b, 0x6b, 0xf6, 0x9b, 0x2f, 0x65, 0xf5, 0x6c, 0xae, 0x89, 0x2b, 0x5e, 0xb4, 0x94, 0x0d, + 0x95, 0x3c, 0x8b, 0x63, 0x61, 0x0d, 0xed, 0x5f, 0x3a, 0xf7, 0x8c, 0x5b, 0xf3, 0x1a, 0x2a, 0x39, + 0x47, 0x58, 0x3c, 0x97, 0x48, 0xd9, 0xd0, 0x71, 0x26, 0x46, 0xcf, 0xa0, 0x96, 0x68, 0x0d, 0x7c, + 0xc1, 0x8d, 0xdb, 0xf3, 0x4c, 0xd4, 0x52, 0x5d, 0x5f, 0xc8, 0x77, 0x52, 0x75, 0x9c, 0x86, 0xe8, + 0x2b, 0x58, 0x76, 0xe8, 0x70, 0xe8, 0x0b, 0xe3, 0x8e, 0x52, 0xb8, 0x7d, 0xb5, 0xc2, 0x9e, 0xc2, + 0xf4, 0x0a, 0xa6, 0x46, 0x4b, 0xf3, 0xa5, 0x11, 0x9a, 0xdb, 0x98, 0x67, 0x7e, 0xcf, 0xe6, 0x09, + 0xbd, 0xe2, 0xc5, 0xc1, 0xd6, 0x43, 0xa8, 0xe7, 0x3e, 0x28, 0xe4, 0xff, 0x8d, 0x33, 0x7c, 0xae, + 0xbf, 0x57, 0xe4, 0x32, 0xfd, 0x86, 0x29, 0x65, 0xbe, 0x61, 0x1e, 0x94, 0xee, 0x17, 0xbb, 0x4b, + 0xb0, 0xc0, 0x47, 0xc3, 0xee, 0xe1, 0xdb, 0xcb, 0x46, 0xf1, 0xdd, 0x65, 0xa3, 0xf8, 0xe7, 0x65, + 0xa3, 0xf8, 0xe6, 0x7d, 0xa3, 0xf0, 0xee, 0x7d, 0xa3, 0xf0, 0xfb, 0xfb, 0x46, 0xe1, 0xc7, 0xce, + 0xa9, 0x2f, 0xbc, 0xd1, 0xa0, 0xe5, 0xd0, 0x61, 0xdb, 0xb5, 0xb9, 0xc7, 0xec, 0xf3, 0x76, 0x54, + 0x9f, 0x8c, 0xa2, 0x3f, 0x4e, 0xed, 0xe9, 0xff, 0x57, 0x83, 0x65, 0x95, 0xbd, 0xf7, 0x6f, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x5d, 0xf9, 0xc2, 0xa1, 0x61, 0x0e, 0x00, 0x00, } func (m *ProtocolVersion) Marshal() (dAtA []byte, err error) { diff --git a/proto/tendermint/p2p/types.proto b/proto/tendermint/p2p/types.proto index 5c8d2fa7ce..9baa663eca 100644 --- a/proto/tendermint/p2p/types.proto +++ b/proto/tendermint/p2p/types.proto @@ -1,7 +1,7 @@ syntax = "proto3"; package tendermint.p2p; -option go_package = "github.com/tendermint/tendermint/proto/tendermint/p2p"; +option go_package = "github.com/dashpay/tenderdash/proto/tendermint/p2p"; import "gogoproto/gogo.proto"; import "tendermint/blocksync/types.proto"; diff --git a/proto/tendermint/privval/service.pb.go b/proto/tendermint/privval/service.pb.go index 59ace7536a..7b0d696549 100644 --- a/proto/tendermint/privval/service.pb.go +++ b/proto/tendermint/privval/service.pb.go @@ -27,26 +27,27 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package func init() { proto.RegisterFile("tendermint/privval/service.proto", fileDescriptor_7afe74f9f46d3dc9) } var fileDescriptor_7afe74f9f46d3dc9 = []byte{ - // 304 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x92, 0xcd, 0x4a, 0xc3, 0x40, - 0x14, 0x85, 0x5b, 0x04, 0xd1, 0xa1, 0x0b, 0x99, 0x65, 0x17, 0x83, 0xff, 0x42, 0x85, 0x04, 0x74, - 0xe5, 0x52, 0x37, 0x55, 0xdc, 0x84, 0xb6, 0x54, 0xd0, 0x55, 0x7e, 0x2e, 0xcd, 0x40, 0x92, 0x1b, - 0x67, 0x6e, 0x82, 0x7d, 0x0b, 0x1f, 0xcb, 0x65, 0x97, 0x2e, 0x25, 0x79, 0x01, 0x1f, 0x41, 0x6a, - 0x32, 0x54, 0x6d, 0xa2, 0x6e, 0xe7, 0x7c, 0xe7, 0x3b, 0xb3, 0xb8, 0x6c, 0x97, 0x20, 0x09, 0x40, - 0xc5, 0x32, 0x21, 0x3b, 0x55, 0x32, 0xcf, 0xdd, 0xc8, 0xd6, 0xa0, 0x72, 0xe9, 0x83, 0x95, 0x2a, - 0x24, 0xe4, 0x7c, 0x45, 0x58, 0x35, 0xd1, 0x17, 0x0d, 0x2d, 0x9a, 0xa7, 0xa0, 0xab, 0xce, 0xd9, - 0xfb, 0x06, 0xdb, 0x71, 0x94, 0xcc, 0xa7, 0x6e, 0x24, 0x03, 0x97, 0x50, 0x5d, 0x3a, 0x37, 0x7c, - 0xc4, 0xb6, 0x87, 0x40, 0x4e, 0xe6, 0xdd, 0xc2, 0x9c, 0xef, 0x59, 0xeb, 0x5a, 0xab, 0xca, 0x46, - 0xf0, 0x98, 0x81, 0xa6, 0xfe, 0xfe, 0x6f, 0x88, 0x4e, 0x31, 0xd1, 0xc0, 0x1f, 0x58, 0x6f, 0xe9, - 0x54, 0x38, 0x79, 0xba, 0x76, 0x75, 0xc8, 0x0f, 0x1b, 0x3b, 0x26, 0x36, 0xe6, 0xa3, 0x3f, 0xa8, - 0x5a, 0x1e, 0x33, 0x3e, 0x04, 0x9a, 0x84, 0x0a, 0x74, 0x88, 0x51, 0x50, 0xff, 0x7c, 0xd0, 0x54, - 0xfe, 0x01, 0x99, 0xa1, 0xd3, 0x7f, 0xb1, 0xf5, 0xdc, 0x1d, 0xdb, 0x1a, 0xcb, 0x59, 0x32, 0x45, - 0x02, 0x7e, 0xd0, 0x54, 0x34, 0xa9, 0xb1, 0x1f, 0xb7, 0x41, 0x10, 0x54, 0x58, 0x2d, 0xf6, 0x59, - 0x6f, 0xf9, 0xea, 0x28, 0x4c, 0x51, 0xbb, 0x11, 0x3f, 0x69, 0xeb, 0x19, 0xc2, 0x0c, 0x0c, 0xda, - 0x07, 0x56, 0x68, 0x35, 0x72, 0x35, 0x7e, 0x29, 0x44, 0x77, 0x51, 0x88, 0xee, 0x5b, 0x21, 0xba, - 0xcf, 0xa5, 0xe8, 0x2c, 0x4a, 0xd1, 0x79, 0x2d, 0x45, 0xe7, 0xfe, 0x62, 0x26, 0x29, 0xcc, 0x3c, - 0xcb, 0xc7, 0xd8, 0xfe, 0x72, 0x37, 0xdf, 0x4e, 0x08, 0x09, 0xed, 0xf5, 0x9b, 0xf2, 0x36, 0x3f, - 0x93, 0xf3, 0x8f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd8, 0xfe, 0xa1, 0xc7, 0xa6, 0x02, 0x00, 0x00, + // 309 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x92, 0x4f, 0x4b, 0xc3, 0x30, + 0x18, 0xc6, 0x57, 0x04, 0xd1, 0xb0, 0x83, 0xe4, 0xb8, 0x43, 0xf0, 0xbf, 0x30, 0xa1, 0x01, 0x05, + 0xef, 0x7a, 0x99, 0xe2, 0xa5, 0xcc, 0x31, 0x41, 0x4f, 0x69, 0xfb, 0xb2, 0x06, 0xda, 0x26, 0x26, + 0x69, 0xb1, 0xdf, 0xc2, 0x8f, 0xe5, 0x71, 0x47, 0x8f, 0xd2, 0x7e, 0x01, 0x3f, 0x82, 0x74, 0x6d, + 0x18, 0xb8, 0x56, 0x3d, 0xb6, 0xcf, 0xef, 0xf9, 0x3d, 0x39, 0xbc, 0x68, 0xdf, 0x40, 0x1a, 0x82, + 0x4a, 0x78, 0x6a, 0xa8, 0x54, 0x3c, 0xcf, 0x59, 0x4c, 0x35, 0xa8, 0x9c, 0x07, 0xe0, 0x4a, 0x25, + 0x8c, 0xc0, 0x78, 0x4d, 0xb8, 0x2d, 0x31, 0x22, 0x1d, 0x2d, 0x53, 0x48, 0xd0, 0x4d, 0xe7, 0xe2, + 0x6b, 0x0b, 0xed, 0x79, 0x8a, 0xe7, 0x73, 0x16, 0xf3, 0x90, 0x19, 0xa1, 0xae, 0xbd, 0x3b, 0x3c, + 0x45, 0xbb, 0x13, 0x30, 0x5e, 0xe6, 0xdf, 0x43, 0x81, 0x0f, 0xdc, 0x4d, 0xad, 0xdb, 0x64, 0x53, + 0x78, 0xc9, 0x40, 0x9b, 0xd1, 0xe1, 0x6f, 0x88, 0x96, 0x22, 0xd5, 0x80, 0x9f, 0xd1, 0xb0, 0x76, + 0x2a, 0x31, 0x7b, 0xbd, 0x65, 0x3a, 0xc2, 0xc7, 0x9d, 0x1d, 0x1b, 0x5b, 0xf3, 0xc9, 0x1f, 0x54, + 0x2b, 0x4f, 0x10, 0x9e, 0x80, 0x99, 0x45, 0x0a, 0x74, 0x24, 0xe2, 0xb0, 0x7d, 0xf9, 0xb8, 0xab, + 0xfc, 0x03, 0xb2, 0x43, 0xe7, 0xff, 0x62, 0xdb, 0xb9, 0x47, 0xb4, 0xf3, 0xc0, 0x17, 0xe9, 0x5c, + 0x18, 0xc0, 0x47, 0x5d, 0x45, 0x9b, 0x5a, 0xfb, 0x69, 0x1f, 0x04, 0x61, 0x83, 0xb5, 0xe2, 0x00, + 0x0d, 0xeb, 0xbf, 0x9e, 0x12, 0x52, 0x68, 0x16, 0xe3, 0xb3, 0xbe, 0x9e, 0x25, 0xec, 0xc0, 0xb8, + 0x7f, 0x60, 0x8d, 0x36, 0x23, 0x37, 0xde, 0x7b, 0x49, 0x9c, 0x65, 0x49, 0x9c, 0xcf, 0x92, 0x38, + 0x6f, 0x15, 0x19, 0x2c, 0x2b, 0x32, 0xf8, 0xa8, 0xc8, 0xe0, 0xe9, 0x6a, 0xc1, 0x4d, 0x94, 0xf9, + 0x6e, 0x20, 0x12, 0x1a, 0x32, 0x1d, 0x49, 0x56, 0xd0, 0xc6, 0x5b, 0x7f, 0xd1, 0xd5, 0xc5, 0xd0, + 0xcd, 0x83, 0xf2, 0xb7, 0x57, 0xc9, 0xe5, 0x77, 0x00, 0x00, 0x00, 0xff, 0xff, 0xed, 0x56, 0xac, + 0x80, 0xa3, 0x02, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/proto/tendermint/privval/service.proto b/proto/tendermint/privval/service.proto index 4ceac5695a..07f2fc55e1 100644 --- a/proto/tendermint/privval/service.proto +++ b/proto/tendermint/privval/service.proto @@ -1,6 +1,6 @@ syntax = "proto3"; package tendermint.privval; -option go_package = "github.com/tendermint/tendermint/proto/tendermint/privval"; +option go_package = "github.com/dashpay/tenderdash/proto/tendermint/privval"; import "tendermint/privval/types.proto"; diff --git a/proto/tendermint/privval/types.pb.go b/proto/tendermint/privval/types.pb.go index 540d82d094..7074783799 100644 --- a/proto/tendermint/privval/types.pb.go +++ b/proto/tendermint/privval/types.pb.go @@ -5,10 +5,10 @@ package privval import ( fmt "fmt" + crypto "github.com/dashpay/tenderdash/proto/tendermint/crypto" + types "github.com/dashpay/tenderdash/proto/tendermint/types" _ "github.com/gogo/protobuf/gogoproto" proto "github.com/gogo/protobuf/proto" - crypto "github.com/tendermint/tendermint/proto/tendermint/crypto" - types "github.com/tendermint/tendermint/proto/tendermint/types" io "io" math "math" math_bits "math/bits" @@ -1034,68 +1034,68 @@ func init() { func init() { proto.RegisterFile("tendermint/privval/types.proto", fileDescriptor_cb4e437a5328cf9c) } var fileDescriptor_cb4e437a5328cf9c = []byte{ - // 971 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x56, 0xdd, 0x6e, 0xe3, 0x44, - 0x14, 0xb6, 0x37, 0x49, 0x7f, 0x4e, 0xd2, 0x34, 0x9d, 0x96, 0x36, 0x8d, 0x96, 0xb4, 0x84, 0xbf, - 0x55, 0x11, 0x09, 0x5a, 0x24, 0x24, 0xb4, 0xdc, 0x6c, 0x5b, 0x0b, 0x47, 0xd1, 0x26, 0x61, 0xe2, - 0xb2, 0xab, 0x95, 0x90, 0x95, 0x9f, 0xc1, 0x31, 0xdb, 0x78, 0x66, 0x3d, 0x76, 0xb5, 0xb9, 0xe6, - 0x8e, 0x2b, 0xa4, 0xbd, 0xe3, 0x09, 0x10, 0x4f, 0xc0, 0x23, 0xec, 0xe5, 0x5e, 0x72, 0x85, 0x50, - 0xfb, 0x22, 0xc8, 0xe3, 0x89, 0xe3, 0xc4, 0x0e, 0x2c, 0x2a, 0x88, 0x3b, 0xcf, 0x39, 0x33, 0xdf, - 0xf9, 0x7c, 0xbe, 0x73, 0x66, 0x0e, 0x54, 0x3d, 0xe2, 0x8c, 0x88, 0x3b, 0xb1, 0x1d, 0xaf, 0xc1, - 0x5c, 0xfb, 0xea, 0xaa, 0x7f, 0xd9, 0xf0, 0xa6, 0x8c, 0xf0, 0x3a, 0x73, 0xa9, 0x47, 0x11, 0x9a, - 0xfb, 0xeb, 0xd2, 0x5f, 0xb9, 0x1b, 0x3b, 0x33, 0x74, 0xa7, 0xcc, 0xa3, 0x8d, 0x67, 0x64, 0x2a, - 0x4f, 0x2c, 0x78, 0x05, 0x52, 0x1c, 0xaf, 0xb2, 0x67, 0x51, 0x8b, 0x8a, 0xcf, 0x46, 0xf0, 0x15, - 0x5a, 0x6b, 0x4d, 0xd8, 0xc1, 0x64, 0x42, 0x3d, 0xd2, 0xb3, 0x2d, 0x87, 0xb8, 0x9a, 0xeb, 0x52, - 0x17, 0x21, 0xc8, 0x0e, 0xe9, 0x88, 0x94, 0xd5, 0x63, 0xf5, 0x5e, 0x0e, 0x8b, 0x6f, 0x74, 0x0c, - 0xf9, 0x11, 0xe1, 0x43, 0xd7, 0x66, 0x9e, 0x4d, 0x9d, 0xf2, 0x9d, 0x63, 0xf5, 0xde, 0x26, 0x8e, - 0x9b, 0x6a, 0x2d, 0xd8, 0xea, 0xfa, 0x83, 0x16, 0x99, 0x62, 0xf2, 0xdc, 0x27, 0xdc, 0x43, 0x87, - 0xb0, 0x31, 0x1c, 0xf7, 0x6d, 0xc7, 0xb4, 0x47, 0x02, 0x6a, 0x13, 0xaf, 0x8b, 0x75, 0x73, 0x84, - 0x8e, 0x20, 0xff, 0xdc, 0xa7, 0xae, 0x3f, 0x31, 0xc7, 0x7d, 0x3e, 0x16, 0x68, 0x05, 0x0c, 0xa1, - 0x49, 0xef, 0xf3, 0x71, 0xcd, 0x80, 0x7d, 0x63, 0xec, 0x12, 0x3e, 0xa6, 0x97, 0xa3, 0x7f, 0x0f, - 0xf5, 0x63, 0x28, 0x75, 0x5d, 0x6a, 0xbc, 0x08, 0x16, 0x7f, 0x8f, 0x57, 0xfb, 0x41, 0x85, 0xe2, - 0x2c, 0x38, 0x67, 0xd4, 0xe1, 0x04, 0x3d, 0x80, 0x75, 0xe6, 0x0f, 0xcc, 0x67, 0x64, 0x2a, 0x36, - 0xe7, 0xef, 0xdf, 0xad, 0xc7, 0x74, 0x0a, 0x35, 0xa9, 0x77, 0xfd, 0xc1, 0xa5, 0x3d, 0x6c, 0x91, - 0xe9, 0x69, 0xf6, 0xd5, 0xef, 0x47, 0x0a, 0x5e, 0x63, 0x02, 0x04, 0x3d, 0x80, 0x1c, 0x09, 0x12, - 0x2c, 0x98, 0xe5, 0xef, 0xbf, 0x5f, 0x4f, 0x4a, 0x5c, 0x4f, 0xa8, 0x81, 0xc3, 0x33, 0xb5, 0x97, - 0x2a, 0x1c, 0x24, 0x52, 0xf2, 0xbf, 0xb3, 0x62, 0xb0, 0x13, 0xcb, 0xa8, 0xa4, 0x53, 0x85, 0x3c, - 0x73, 0xa9, 0xe9, 0xbd, 0x08, 0x75, 0x50, 0x85, 0x0e, 0x9b, 0x6c, 0xb6, 0xef, 0x76, 0x11, 0x7f, - 0x52, 0x61, 0x3b, 0x30, 0x7f, 0x4d, 0x3d, 0x32, 0xd3, 0xf0, 0x04, 0xb2, 0x57, 0xd4, 0x23, 0xf2, - 0xe7, 0xf7, 0xe3, 0x78, 0x61, 0x0b, 0x88, 0xcd, 0x62, 0xcf, 0x82, 0xde, 0x77, 0x56, 0xd5, 0x4f, - 0x70, 0xaa, 0x9c, 0x11, 0xe5, 0x2f, 0xeb, 0xc7, 0x98, 0x32, 0xb2, 0x5c, 0x60, 0xd9, 0x44, 0x81, - 0x7d, 0xaf, 0x02, 0x12, 0x9c, 0x47, 0x21, 0x3d, 0x99, 0x90, 0x4f, 0xde, 0x84, 0x9f, 0x94, 0x25, - 0x64, 0x79, 0xab, 0x14, 0xfd, 0xa2, 0xc2, 0x6e, 0x60, 0xee, 0xba, 0x94, 0x51, 0xde, 0xbf, 0x9c, - 0xa5, 0xe9, 0x33, 0xd8, 0x60, 0xd2, 0x24, 0xa9, 0x54, 0x92, 0x54, 0xa2, 0x43, 0xd1, 0xde, 0xff, - 0x36, 0x65, 0x2f, 0x55, 0xd8, 0x0f, 0x53, 0x36, 0xa7, 0x2b, 0xd3, 0xf6, 0xc5, 0x3f, 0xe1, 0x2b, - 0xd3, 0x37, 0x67, 0x7d, 0xab, 0x14, 0x6e, 0x41, 0xbe, 0x6b, 0x3b, 0x96, 0xcc, 0x5c, 0xad, 0x08, - 0x85, 0x70, 0x19, 0x32, 0xab, 0xfd, 0xba, 0x01, 0xeb, 0x8f, 0x08, 0xe7, 0x7d, 0x8b, 0xa0, 0x16, - 0x6c, 0xcb, 0xe6, 0x33, 0xdd, 0x70, 0xbb, 0x24, 0xfb, 0x4e, 0x5a, 0xc4, 0x85, 0xcb, 0x4c, 0x57, - 0xf0, 0x16, 0x5b, 0xb8, 0xdd, 0xda, 0x50, 0x9a, 0x83, 0x85, 0xc1, 0x24, 0xff, 0xda, 0x5f, 0xa1, - 0x85, 0x3b, 0x75, 0x05, 0x17, 0xd9, 0xe2, 0xcd, 0xf0, 0x15, 0xec, 0x70, 0xdb, 0x72, 0xcc, 0xa0, - 0xa8, 0x22, 0x7a, 0x19, 0x01, 0xf8, 0x6e, 0x1a, 0xe0, 0x52, 0x67, 0xe9, 0x0a, 0xde, 0xe6, 0x4b, - 0xcd, 0xf6, 0x14, 0xf6, 0xb8, 0xd0, 0x6b, 0x06, 0x2a, 0x69, 0x66, 0x05, 0xea, 0x07, 0xab, 0x50, - 0x17, 0x5b, 0x42, 0x57, 0x30, 0xe2, 0xc9, 0x46, 0xf9, 0x06, 0xde, 0x12, 0x74, 0x67, 0x22, 0x46, - 0x94, 0x73, 0x02, 0xfc, 0xc3, 0x55, 0xe0, 0x4b, 0x95, 0xae, 0x2b, 0x78, 0x97, 0xa7, 0x34, 0xc0, - 0xb7, 0x50, 0x96, 0xd4, 0x63, 0x01, 0x24, 0xfd, 0x35, 0x11, 0xe1, 0x64, 0x35, 0xfd, 0xe5, 0xf2, - 0xd4, 0x15, 0xbc, 0xcf, 0xd3, 0x0b, 0xf7, 0x1c, 0x0a, 0xcc, 0x76, 0xac, 0x88, 0xfd, 0xba, 0xc0, - 0x3e, 0x4a, 0x55, 0x70, 0x5e, 0x65, 0xba, 0x82, 0xf3, 0x6c, 0xbe, 0x44, 0x5f, 0xc2, 0x96, 0x44, - 0x91, 0x14, 0x37, 0x04, 0xcc, 0xf1, 0x6a, 0x98, 0x88, 0x58, 0x81, 0xc5, 0xd6, 0xe8, 0x02, 0x76, - 0x63, 0xf7, 0x71, 0xc4, 0x6a, 0x53, 0xc0, 0xbd, 0x97, 0x0a, 0xb7, 0xf4, 0x4a, 0xea, 0x0a, 0x2e, - 0xb1, 0xe5, 0x97, 0xf3, 0x09, 0xec, 0x2d, 0xc2, 0x4a, 0x9a, 0xb0, 0xba, 0xdf, 0x12, 0x6f, 0x85, - 0xae, 0xe0, 0x1d, 0x96, 0x78, 0x40, 0x2c, 0x38, 0xf4, 0x66, 0x4f, 0x9d, 0xb9, 0xdc, 0x5c, 0xf9, - 0xd5, 0x42, 0xa5, 0x8f, 0x0c, 0x81, 0x50, 0x5e, 0xfa, 0x30, 0xf1, 0x1d, 0x54, 0xd2, 0x02, 0xc9, - 0x1f, 0x29, 0x88, 0x48, 0x1f, 0xbd, 0x51, 0xa4, 0xe8, 0x77, 0x0e, 0xbc, 0x74, 0xd7, 0x69, 0x0e, - 0x32, 0xdc, 0x9f, 0xd4, 0x4c, 0x28, 0x3e, 0xf4, 0xbd, 0x71, 0xcf, 0xb6, 0x66, 0x17, 0xc8, 0xad, - 0x5e, 0xef, 0x12, 0x64, 0xb8, 0x6d, 0xc9, 0x59, 0x27, 0xf8, 0x3c, 0xf9, 0x59, 0x85, 0x35, 0x71, - 0x97, 0x71, 0x84, 0xa0, 0xa8, 0x61, 0xdc, 0xc1, 0x3d, 0xf3, 0xa2, 0xdd, 0x6a, 0x77, 0x1e, 0xb7, - 0x4b, 0x0a, 0xaa, 0x42, 0x25, 0xb2, 0x69, 0x4f, 0xba, 0xda, 0x99, 0xa1, 0x9d, 0x9b, 0x58, 0xeb, - 0x75, 0x3b, 0xed, 0x9e, 0x56, 0x52, 0x51, 0x19, 0xf6, 0xa4, 0xbf, 0xdd, 0x31, 0xcf, 0x3a, 0xed, - 0xb6, 0x76, 0x66, 0x34, 0x3b, 0xed, 0xd2, 0x1d, 0xf4, 0x36, 0x1c, 0x4a, 0xcf, 0xdc, 0x6c, 0x1a, - 0xcd, 0x47, 0x5a, 0xe7, 0xc2, 0x28, 0x65, 0xd0, 0x01, 0xec, 0x4a, 0x37, 0xd6, 0x1e, 0x9e, 0x47, - 0x8e, 0x6c, 0x0c, 0xf1, 0x31, 0x6e, 0x1a, 0x5a, 0xe4, 0xc9, 0x9d, 0xf6, 0x5e, 0x5d, 0x57, 0xd5, - 0xd7, 0xd7, 0x55, 0xf5, 0x8f, 0xeb, 0xaa, 0xfa, 0xe3, 0x4d, 0x55, 0x79, 0x7d, 0x53, 0x55, 0x7e, - 0xbb, 0xa9, 0x2a, 0x4f, 0x3f, 0xb7, 0x6c, 0x6f, 0xec, 0x0f, 0xea, 0x43, 0x3a, 0x69, 0xc4, 0xc7, - 0xda, 0xf8, 0xcc, 0x1c, 0x8c, 0xb2, 0xc9, 0x21, 0x7a, 0xb0, 0x26, 0x3c, 0x9f, 0xfe, 0x19, 0x00, - 0x00, 0xff, 0xff, 0x20, 0x29, 0xf7, 0xf6, 0x61, 0x0b, 0x00, 0x00, + // 976 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x56, 0xcd, 0x6e, 0xdb, 0x46, + 0x10, 0x26, 0x23, 0xc9, 0x3f, 0x23, 0x59, 0x96, 0xd7, 0xae, 0x2d, 0x0b, 0xa9, 0xec, 0xaa, 0x7f, + 0x81, 0x8b, 0x4a, 0x45, 0x0a, 0xe4, 0x92, 0x5e, 0x62, 0x9b, 0x28, 0x05, 0x21, 0x92, 0xba, 0x92, + 0x9b, 0x20, 0x40, 0x41, 0xe8, 0x67, 0x4b, 0xb2, 0xb1, 0xb8, 0x1b, 0x2e, 0x69, 0x44, 0xe7, 0xde, + 0x7a, 0x2a, 0x90, 0x5b, 0x9f, 0xa0, 0xe8, 0x13, 0xf4, 0x11, 0x72, 0xcc, 0xb1, 0xa7, 0xa2, 0xb0, + 0x5f, 0xa4, 0xe0, 0x72, 0x45, 0x51, 0x22, 0xd5, 0xa6, 0x70, 0x8b, 0xde, 0xb8, 0x33, 0xb3, 0xdf, + 0x7c, 0x9c, 0x6f, 0x66, 0x77, 0xa1, 0xea, 0x11, 0x67, 0x4c, 0xdc, 0x89, 0xed, 0x78, 0x0d, 0xe6, + 0xda, 0x57, 0x57, 0x83, 0xcb, 0x86, 0x37, 0x65, 0x84, 0xd7, 0x99, 0x4b, 0x3d, 0x8a, 0xd0, 0xdc, + 0x5f, 0x97, 0xfe, 0xca, 0xdd, 0xd8, 0x9e, 0x91, 0x3b, 0x65, 0x1e, 0x6d, 0x3c, 0x27, 0x53, 0xb9, + 0x63, 0xc1, 0x2b, 0x90, 0xe2, 0x78, 0x95, 0x3d, 0x93, 0x9a, 0x54, 0x7c, 0x36, 0x82, 0xaf, 0xd0, + 0x5a, 0x6b, 0xc2, 0x0e, 0x26, 0x13, 0xea, 0x91, 0x9e, 0x6d, 0x3a, 0xc4, 0xd5, 0x5c, 0x97, 0xba, + 0x08, 0x41, 0x76, 0x44, 0xc7, 0xa4, 0xac, 0x1e, 0xab, 0xf7, 0x72, 0x58, 0x7c, 0xa3, 0x63, 0xc8, + 0x8f, 0x09, 0x1f, 0xb9, 0x36, 0xf3, 0x6c, 0xea, 0x94, 0xef, 0x1c, 0xab, 0xf7, 0x36, 0x71, 0xdc, + 0x54, 0x6b, 0xc1, 0x56, 0xd7, 0x1f, 0xb6, 0xc8, 0x14, 0x93, 0x17, 0x3e, 0xe1, 0x1e, 0x3a, 0x84, + 0x8d, 0x91, 0x35, 0xb0, 0x1d, 0xc3, 0x1e, 0x0b, 0xa8, 0x4d, 0xbc, 0x2e, 0xd6, 0xcd, 0x31, 0x3a, + 0x82, 0xfc, 0x0b, 0x9f, 0xba, 0xfe, 0xc4, 0xb0, 0x06, 0xdc, 0x12, 0x68, 0x05, 0x0c, 0xa1, 0x49, + 0x1f, 0x70, 0xab, 0xd6, 0x87, 0xfd, 0xbe, 0xe5, 0x12, 0x6e, 0xd1, 0xcb, 0xf1, 0xbf, 0x87, 0xfa, + 0x29, 0x94, 0xba, 0x2e, 0xed, 0xbf, 0x0c, 0x16, 0x7f, 0x8f, 0x57, 0xfb, 0x41, 0x85, 0xe2, 0x2c, + 0x39, 0x67, 0xd4, 0xe1, 0x04, 0x3d, 0x84, 0x75, 0xe6, 0x0f, 0x8d, 0xe7, 0x64, 0x2a, 0x82, 0xf3, + 0xf7, 0xef, 0xd6, 0x63, 0x3a, 0x85, 0x9a, 0xd4, 0xbb, 0xfe, 0xf0, 0xd2, 0x1e, 0xb5, 0xc8, 0xf4, + 0x34, 0xfb, 0xfa, 0xf7, 0x23, 0x05, 0xaf, 0x31, 0x01, 0x82, 0x1e, 0x42, 0x8e, 0x04, 0x05, 0x16, + 0xcc, 0xf2, 0xf7, 0x3f, 0xac, 0x27, 0x25, 0xae, 0x27, 0xd4, 0xc0, 0xe1, 0x9e, 0xda, 0x2b, 0x15, + 0x0e, 0x12, 0x25, 0xf9, 0xdf, 0x59, 0x31, 0xd8, 0x89, 0x55, 0x54, 0xd2, 0xa9, 0x42, 0x9e, 0xb9, + 0xd4, 0xf0, 0x5e, 0x86, 0x3a, 0xa8, 0x42, 0x87, 0x4d, 0x36, 0x8b, 0xbb, 0x5d, 0xc6, 0x9f, 0x54, + 0xd8, 0x0e, 0xcc, 0x5f, 0x53, 0x8f, 0xcc, 0x34, 0x3c, 0x81, 0xec, 0x15, 0xf5, 0x88, 0xfc, 0xf9, + 0xfd, 0x38, 0x5e, 0x38, 0x02, 0x22, 0x58, 0xc4, 0x2c, 0xe8, 0x7d, 0x67, 0x55, 0xff, 0x04, 0xbb, + 0xca, 0x19, 0xd1, 0xfe, 0xb2, 0x7f, 0xfa, 0x53, 0x46, 0x96, 0x1b, 0x2c, 0x9b, 0x68, 0xb0, 0xef, + 0x55, 0x40, 0x82, 0xf3, 0x38, 0xa4, 0x27, 0x0b, 0xf2, 0xd9, 0xdb, 0xf0, 0x93, 0xb2, 0x84, 0x2c, + 0x6f, 0x55, 0xa2, 0x5f, 0x54, 0xd8, 0x0d, 0xcc, 0x5d, 0x97, 0x32, 0xca, 0x07, 0x97, 0xb3, 0x32, + 0x3d, 0x80, 0x0d, 0x26, 0x4d, 0x92, 0x4a, 0x25, 0x49, 0x25, 0xda, 0x14, 0xc5, 0xfe, 0xb7, 0x25, + 0x7b, 0xa5, 0xc2, 0x7e, 0x58, 0xb2, 0x39, 0x5d, 0x59, 0xb6, 0x2f, 0xfe, 0x09, 0x5f, 0x59, 0xbe, + 0x39, 0xeb, 0x5b, 0x95, 0x70, 0x0b, 0xf2, 0x5d, 0xdb, 0x31, 0x65, 0xe5, 0x6a, 0x45, 0x28, 0x84, + 0xcb, 0x90, 0x59, 0xed, 0xd7, 0x0d, 0x58, 0x7f, 0x4c, 0x38, 0x1f, 0x98, 0x04, 0xb5, 0x60, 0x5b, + 0x0e, 0x9f, 0xe1, 0x86, 0xe1, 0x92, 0xec, 0x7b, 0x69, 0x19, 0x17, 0x0e, 0x33, 0x5d, 0xc1, 0x5b, + 0x6c, 0xe1, 0x74, 0x6b, 0x43, 0x69, 0x0e, 0x16, 0x26, 0x93, 0xfc, 0x6b, 0x7f, 0x85, 0x16, 0x46, + 0xea, 0x0a, 0x2e, 0xb2, 0xc5, 0x93, 0xe1, 0x2b, 0xd8, 0xe1, 0xb6, 0xe9, 0x18, 0x41, 0x53, 0x45, + 0xf4, 0x32, 0x02, 0xf0, 0xfd, 0x34, 0xc0, 0xa5, 0xc9, 0xd2, 0x15, 0xbc, 0xcd, 0x97, 0x86, 0xed, + 0x19, 0xec, 0x71, 0xa1, 0xd7, 0x0c, 0x54, 0xd2, 0xcc, 0x0a, 0xd4, 0x8f, 0x56, 0xa1, 0x2e, 0x8e, + 0x84, 0xae, 0x60, 0xc4, 0x93, 0x83, 0xf2, 0x0d, 0xbc, 0x23, 0xe8, 0xce, 0x44, 0x8c, 0x28, 0xe7, + 0x04, 0xf8, 0xc7, 0xab, 0xc0, 0x97, 0x3a, 0x5d, 0x57, 0xf0, 0x2e, 0x4f, 0x19, 0x80, 0x6f, 0xa1, + 0x2c, 0xa9, 0xc7, 0x12, 0x48, 0xfa, 0x6b, 0x22, 0xc3, 0xc9, 0x6a, 0xfa, 0xcb, 0xed, 0xa9, 0x2b, + 0x78, 0x9f, 0xa7, 0x37, 0xee, 0x39, 0x14, 0x98, 0xed, 0x98, 0x11, 0xfb, 0x75, 0x81, 0x7d, 0x94, + 0xaa, 0xe0, 0xbc, 0xcb, 0x74, 0x05, 0xe7, 0xd9, 0x7c, 0x89, 0xbe, 0x84, 0x2d, 0x89, 0x22, 0x29, + 0x6e, 0x08, 0x98, 0xe3, 0xd5, 0x30, 0x11, 0xb1, 0x02, 0x8b, 0xad, 0xd1, 0x05, 0xec, 0xc6, 0xce, + 0xe3, 0x88, 0xd5, 0xa6, 0x80, 0xfb, 0x20, 0x15, 0x6e, 0xe9, 0x96, 0xd4, 0x15, 0x5c, 0x62, 0xcb, + 0x37, 0xe7, 0x53, 0xd8, 0x5b, 0x84, 0x95, 0x34, 0x61, 0xf5, 0xbc, 0x25, 0xee, 0x0a, 0x5d, 0xc1, + 0x3b, 0x2c, 0x71, 0x81, 0x98, 0x70, 0xe8, 0xcd, 0xae, 0x3a, 0x63, 0x79, 0xb8, 0xf2, 0xab, 0x85, + 0x4a, 0x7f, 0x32, 0x04, 0x42, 0x79, 0xe9, 0x8f, 0x89, 0xef, 0xa0, 0x92, 0x96, 0x48, 0xfe, 0x48, + 0x41, 0x64, 0xfa, 0xe4, 0xad, 0x32, 0x45, 0xbf, 0x73, 0xe0, 0xa5, 0xbb, 0x4e, 0x73, 0x90, 0xe1, + 0xfe, 0xa4, 0x66, 0x40, 0xf1, 0x91, 0xef, 0x59, 0x3d, 0xdb, 0x9c, 0x1d, 0x20, 0xb7, 0xba, 0xbd, + 0x4b, 0x90, 0xe1, 0xb6, 0x29, 0xdf, 0x3a, 0xc1, 0xe7, 0xc9, 0xcf, 0x2a, 0xac, 0x89, 0xb3, 0x8c, + 0x23, 0x04, 0x45, 0x0d, 0xe3, 0x0e, 0xee, 0x19, 0x17, 0xed, 0x56, 0xbb, 0xf3, 0xa4, 0x5d, 0x52, + 0x50, 0x15, 0x2a, 0x91, 0x4d, 0x7b, 0xda, 0xd5, 0xce, 0xfa, 0xda, 0xb9, 0x81, 0xb5, 0x5e, 0xb7, + 0xd3, 0xee, 0x69, 0x25, 0x15, 0x95, 0x61, 0x4f, 0xfa, 0xdb, 0x1d, 0xe3, 0xac, 0xd3, 0x6e, 0x6b, + 0x67, 0xfd, 0x66, 0xa7, 0x5d, 0xba, 0x83, 0xde, 0x85, 0x43, 0xe9, 0x99, 0x9b, 0x8d, 0x7e, 0xf3, + 0xb1, 0xd6, 0xb9, 0xe8, 0x97, 0x32, 0xe8, 0x00, 0x76, 0xa5, 0x1b, 0x6b, 0x8f, 0xce, 0x23, 0x47, + 0x36, 0x86, 0xf8, 0x04, 0x37, 0xfb, 0x5a, 0xe4, 0xc9, 0x9d, 0x76, 0x5f, 0x5f, 0x57, 0xd5, 0x37, + 0xd7, 0x55, 0xf5, 0x8f, 0xeb, 0xaa, 0xfa, 0xe3, 0x4d, 0x55, 0x79, 0x73, 0x53, 0x55, 0x7e, 0xbb, + 0xa9, 0x2a, 0xcf, 0x1e, 0x98, 0xb6, 0x67, 0xf9, 0xc3, 0xfa, 0x88, 0x4e, 0x1a, 0xe3, 0x01, 0xb7, + 0xd8, 0x60, 0xda, 0x08, 0x8b, 0x12, 0xac, 0x1a, 0xe1, 0x3b, 0x36, 0xf9, 0x82, 0x1e, 0xae, 0x09, + 0xcf, 0xe7, 0x7f, 0x06, 0x00, 0x00, 0xff, 0xff, 0x39, 0x39, 0xd0, 0xeb, 0x5e, 0x0b, 0x00, 0x00, } func (m *RemoteSignerError) Marshal() (dAtA []byte, err error) { diff --git a/proto/tendermint/privval/types.proto b/proto/tendermint/privval/types.proto index 205899ae41..11ec14b39f 100644 --- a/proto/tendermint/privval/types.proto +++ b/proto/tendermint/privval/types.proto @@ -5,7 +5,7 @@ import "tendermint/crypto/keys.proto"; import "tendermint/types/types.proto"; import "gogoproto/gogo.proto"; -option go_package = "github.com/tendermint/tendermint/proto/tendermint/privval"; +option go_package = "github.com/dashpay/tenderdash/proto/tendermint/privval"; enum Errors { ERRORS_UNKNOWN = 0; diff --git a/proto/tendermint/state/types.pb.go b/proto/tendermint/state/types.pb.go index c4b931f04b..69ed892f8c 100644 --- a/proto/tendermint/state/types.pb.go +++ b/proto/tendermint/state/types.pb.go @@ -5,13 +5,13 @@ package state import ( fmt "fmt" + types "github.com/dashpay/tenderdash/abci/types" + types1 "github.com/dashpay/tenderdash/proto/tendermint/types" + version "github.com/dashpay/tenderdash/proto/tendermint/version" _ "github.com/gogo/protobuf/gogoproto" proto "github.com/gogo/protobuf/proto" _ "github.com/gogo/protobuf/types" github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" - types "github.com/tendermint/tendermint/abci/types" - types1 "github.com/tendermint/tendermint/proto/tendermint/types" - version "github.com/tendermint/tendermint/proto/tendermint/version" io "io" math "math" math_bits "math/bits" @@ -421,57 +421,57 @@ func init() { func init() { proto.RegisterFile("tendermint/state/types.proto", fileDescriptor_ccfacf933f22bf93) } var fileDescriptor_ccfacf933f22bf93 = []byte{ - // 797 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x55, 0xbf, 0x6f, 0xe3, 0x36, - 0x18, 0xb5, 0x9a, 0x1f, 0xb6, 0xe9, 0xc8, 0x4e, 0x98, 0x0c, 0x8a, 0xd3, 0xc8, 0xae, 0xdb, 0x06, - 0x46, 0x07, 0x19, 0x68, 0x87, 0xa2, 0x4b, 0x81, 0xd8, 0x41, 0x1b, 0xa3, 0x69, 0x91, 0x2a, 0x45, - 0x86, 0x2e, 0x02, 0x2d, 0xd1, 0x96, 0x50, 0x59, 0x14, 0x44, 0x3a, 0x6d, 0x6f, 0xbf, 0x3d, 0xeb, - 0xfd, 0x1d, 0x37, 0xdf, 0x9e, 0x31, 0xe3, 0x4d, 0xb9, 0x83, 0xf3, 0x8f, 0x1c, 0x44, 0x52, 0x12, - 0x65, 0xe7, 0x80, 0x1c, 0x6e, 0x33, 0xbf, 0xf7, 0xbe, 0xc7, 0xe7, 0x8f, 0xef, 0x83, 0xc0, 0x97, - 0x0c, 0x47, 0x1e, 0x4e, 0xe6, 0x41, 0xc4, 0x06, 0x94, 0x21, 0x86, 0x07, 0xec, 0xff, 0x18, 0x53, - 0x2b, 0x4e, 0x08, 0x23, 0x70, 0xb7, 0x40, 0x2d, 0x8e, 0xb6, 0x0f, 0x66, 0x64, 0x46, 0x38, 0x38, - 0x48, 0x7f, 0x09, 0x5e, 0xfb, 0x48, 0x51, 0x41, 0x13, 0x37, 0x50, 0x45, 0xda, 0xea, 0x15, 0xbc, - 0x5e, 0x42, 0x8f, 0xd6, 0x50, 0x0f, 0x51, 0x5f, 0x82, 0xdd, 0x35, 0xf0, 0x06, 0x85, 0x81, 0x87, - 0x18, 0x49, 0x24, 0xe3, 0x78, 0x8d, 0x11, 0xa3, 0x04, 0xcd, 0x33, 0x75, 0x53, 0x81, 0x6f, 0x70, - 0x42, 0x03, 0x12, 0x95, 0x6e, 0xef, 0xcc, 0x08, 0x99, 0x85, 0x78, 0xc0, 0x4f, 0x93, 0xc5, 0x74, - 0xc0, 0x82, 0x39, 0xa6, 0x0c, 0xcd, 0x63, 0x41, 0xe8, 0xbd, 0xd6, 0x80, 0x7e, 0x3a, 0x1c, 0x8d, - 0x6d, 0x4c, 0x63, 0x12, 0x51, 0x4c, 0xe1, 0x15, 0xd8, 0x8d, 0x13, 0xe2, 0x62, 0x4a, 0x9d, 0x38, - 0x21, 0x31, 0xa1, 0x28, 0x34, 0xb4, 0xae, 0xd6, 0x6f, 0x7c, 0xdf, 0xb7, 0x94, 0x71, 0xa5, 0x63, - 0xb0, 0xb2, 0xae, 0x4b, 0xd1, 0x70, 0x29, 0xf9, 0x76, 0x2b, 0x2e, 0x17, 0xe0, 0xef, 0xa0, 0x39, - 0x0d, 0x22, 0x14, 0x06, 0x2f, 0xb0, 0x33, 0x09, 0x89, 0xfb, 0x8f, 0xf1, 0x05, 0x97, 0x3c, 0xf9, - 0xa8, 0xe4, 0x2f, 0x92, 0x3e, 0x4c, 0xd9, 0xb6, 0x3e, 0x55, 0x8f, 0xbd, 0x97, 0x1a, 0x68, 0x5e, - 0x67, 0x93, 0xa2, 0xe3, 0x68, 0x4a, 0xe0, 0x08, 0xe8, 0xf9, 0xec, 0x1c, 0x8a, 0x99, 0xf4, 0x6c, - 0xaa, 0x17, 0x88, 0xc9, 0xe4, 0x8d, 0x57, 0x98, 0xd9, 0x3b, 0x37, 0xca, 0x09, 0x5a, 0x60, 0x3f, - 0x44, 0x94, 0x39, 0x3e, 0x0e, 0x66, 0x3e, 0x73, 0x5c, 0x1f, 0x45, 0x33, 0xec, 0x71, 0xaf, 0x1b, - 0xf6, 0x5e, 0x0a, 0x9d, 0x73, 0x64, 0x24, 0x80, 0xde, 0x2b, 0x0d, 0xec, 0x8f, 0x52, 0xb7, 0x11, - 0x5d, 0xd0, 0x4b, 0xfe, 0x30, 0xdc, 0x8c, 0x0d, 0x76, 0xdd, 0xac, 0xec, 0x88, 0x07, 0x93, 0x7e, - 0xbe, 0x5a, 0xf7, 0xb3, 0x22, 0x30, 0xdc, 0xbc, 0x7b, 0xe8, 0x54, 0xec, 0x96, 0x5b, 0x2e, 0x7f, - 0xb2, 0x37, 0x1f, 0x54, 0xaf, 0x45, 0x22, 0xe0, 0x29, 0xa8, 0xe7, 0x6a, 0xd2, 0xc7, 0xb1, 0xea, - 0x43, 0x26, 0xa7, 0x70, 0x22, 0x3d, 0x14, 0x5d, 0xb0, 0x0d, 0x6a, 0x94, 0x4c, 0xd9, 0xbf, 0x28, - 0xc1, 0xfc, 0xca, 0xba, 0x9d, 0x9f, 0x7b, 0x6f, 0xaa, 0x60, 0xeb, 0x2a, 0xdd, 0x1e, 0xf8, 0x13, - 0xa8, 0x4a, 0x2d, 0x79, 0xcd, 0xa1, 0xb5, 0xba, 0x61, 0x96, 0x34, 0x25, 0xaf, 0xc8, 0xf8, 0xf0, - 0x04, 0xd4, 0x5c, 0x1f, 0x05, 0x91, 0x13, 0x88, 0xff, 0x54, 0x1f, 0x36, 0x96, 0x0f, 0x9d, 0xea, - 0x28, 0xad, 0x8d, 0xcf, 0xec, 0x2a, 0x07, 0xc7, 0x1e, 0xfc, 0x16, 0x34, 0x83, 0x28, 0x60, 0x01, - 0x0a, 0xe5, 0x24, 0x8c, 0x0d, 0x3e, 0x01, 0x5d, 0x56, 0xc5, 0x10, 0xe0, 0x77, 0x80, 0x8f, 0x44, - 0x84, 0x2d, 0x63, 0x6e, 0x72, 0x66, 0x2b, 0x05, 0x78, 0x8e, 0x24, 0xd7, 0x06, 0xba, 0xc2, 0x0d, - 0x3c, 0x63, 0x6b, 0xdd, 0xbb, 0x78, 0x2a, 0xde, 0x35, 0x3e, 0x1b, 0xee, 0xa7, 0xde, 0x97, 0x0f, - 0x9d, 0xc6, 0x45, 0x26, 0x35, 0x3e, 0xb3, 0x1b, 0xb9, 0xee, 0xd8, 0x83, 0x17, 0xa0, 0xa5, 0x68, - 0xa6, 0x5b, 0x67, 0x6c, 0x73, 0xd5, 0xb6, 0x25, 0x56, 0xd2, 0xca, 0x56, 0xd2, 0xfa, 0x2b, 0x5b, - 0xc9, 0x61, 0x2d, 0x95, 0xbd, 0x7d, 0xd7, 0xd1, 0x6c, 0x3d, 0xd7, 0x4a, 0x51, 0xf8, 0x33, 0x00, - 0x79, 0x4e, 0xa9, 0x51, 0x7d, 0x56, 0xb2, 0x95, 0x0e, 0xf8, 0xab, 0x74, 0xa3, 0x88, 0xd4, 0x9e, - 0x25, 0xd2, 0x4c, 0xdb, 0x8a, 0x4d, 0x83, 0x23, 0x60, 0xaa, 0x21, 0x2c, 0xf4, 0xf2, 0x3c, 0xd6, - 0xf9, 0x8c, 0x8f, 0x8a, 0x3c, 0x16, 0xdd, 0x32, 0x99, 0x4f, 0x6e, 0x07, 0xf8, 0xcc, 0xed, 0xf8, - 0x03, 0x7c, 0x53, 0xda, 0x8e, 0x15, 0xfd, 0xdc, 0x5e, 0x83, 0xdb, 0xeb, 0x2a, 0xeb, 0x52, 0x16, - 0xca, 0x3c, 0x66, 0xf9, 0x49, 0x30, 0x5d, 0x84, 0x8c, 0x3a, 0x3e, 0xa2, 0xbe, 0xb1, 0xd3, 0xd5, - 0xfa, 0x3b, 0x22, 0x3f, 0xb6, 0xa8, 0x9f, 0x23, 0xea, 0xc3, 0x43, 0x50, 0x43, 0x71, 0x2c, 0x28, - 0x3a, 0xa7, 0x54, 0x51, 0x1c, 0x73, 0xe8, 0x37, 0xf0, 0x35, 0x97, 0x71, 0x49, 0x82, 0x1d, 0x91, - 0xef, 0xf4, 0x51, 0xb1, 0x57, 0x0e, 0x66, 0xb3, 0xab, 0xf5, 0x75, 0x9b, 0x8f, 0x76, 0x44, 0x12, - 0xcc, 0x43, 0x7f, 0xc1, 0x79, 0x6a, 0x4e, 0xaf, 0xc1, 0x41, 0x84, 0xff, 0x5b, 0x13, 0x33, 0x5a, - 0x7c, 0x76, 0x9d, 0xa7, 0x66, 0xa7, 0x68, 0xf1, 0xc9, 0x69, 0xf6, 0x5e, 0x2a, 0x51, 0x06, 0xfe, - 0xbc, 0x5b, 0x9a, 0xda, 0xfd, 0xd2, 0xd4, 0xde, 0x2f, 0x4d, 0xed, 0xf6, 0xd1, 0xac, 0xdc, 0x3f, - 0x9a, 0x95, 0xb7, 0x8f, 0x66, 0xe5, 0xef, 0x1f, 0x67, 0x01, 0xf3, 0x17, 0x13, 0xcb, 0x25, 0xf3, - 0x81, 0xfa, 0x21, 0x2a, 0x7e, 0x8a, 0x4f, 0xe5, 0xea, 0x47, 0x76, 0xb2, 0xcd, 0xeb, 0x3f, 0x7c, - 0x08, 0x00, 0x00, 0xff, 0xff, 0xfd, 0x22, 0xe7, 0xc7, 0x7f, 0x07, 0x00, 0x00, + // 799 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x55, 0x3f, 0x6f, 0xfb, 0x44, + 0x18, 0x8e, 0xf9, 0xb5, 0x4d, 0x72, 0xa9, 0x93, 0xf6, 0xda, 0xc1, 0x4d, 0xa9, 0x13, 0x02, 0x54, + 0x11, 0x83, 0x23, 0x01, 0x0b, 0x0b, 0x52, 0x93, 0x0a, 0x1a, 0x51, 0xaa, 0xca, 0x45, 0x1d, 0x58, + 0xac, 0x8b, 0x7d, 0x89, 0x2d, 0x1c, 0x9f, 0xe5, 0xbb, 0x14, 0xca, 0xce, 0xde, 0x95, 0xcf, 0xc1, + 0xcc, 0xde, 0xb1, 0x23, 0x53, 0x41, 0xe9, 0x17, 0x41, 0xf7, 0xc7, 0xce, 0x39, 0x29, 0x52, 0xd1, + 0x6f, 0xcb, 0xbd, 0xcf, 0xf3, 0x3e, 0xf7, 0xe4, 0xbd, 0xe7, 0x95, 0xc1, 0x87, 0x0c, 0x27, 0x01, + 0xce, 0xe6, 0x51, 0xc2, 0x06, 0x94, 0x21, 0x86, 0x07, 0xec, 0x3e, 0xc5, 0xd4, 0x49, 0x33, 0xc2, + 0x08, 0xdc, 0x5b, 0xa1, 0x8e, 0x40, 0xdb, 0x87, 0x33, 0x32, 0x23, 0x02, 0x1c, 0xf0, 0x5f, 0x92, + 0xd7, 0x3e, 0xd6, 0x54, 0xd0, 0xc4, 0x8f, 0x74, 0x91, 0xb6, 0x7e, 0x85, 0xa8, 0x97, 0xd0, 0xe3, + 0x0d, 0x34, 0x40, 0x34, 0x54, 0x60, 0x77, 0x03, 0xbc, 0x43, 0x71, 0x14, 0x20, 0x46, 0x32, 0xc5, + 0x38, 0xd9, 0x60, 0xa4, 0x28, 0x43, 0xf3, 0x5c, 0xdd, 0xd6, 0xe0, 0x3b, 0x9c, 0xd1, 0x88, 0x24, + 0xa5, 0xdb, 0x3b, 0x33, 0x42, 0x66, 0x31, 0x1e, 0x88, 0xd3, 0x64, 0x31, 0x1d, 0xb0, 0x68, 0x8e, + 0x29, 0x43, 0xf3, 0x54, 0x12, 0x7a, 0x7f, 0x18, 0xc0, 0x3c, 0x1b, 0x8e, 0xc6, 0x2e, 0xa6, 0x29, + 0x49, 0x28, 0xa6, 0xf0, 0x06, 0xec, 0xa5, 0x19, 0xf1, 0x31, 0xa5, 0x5e, 0x9a, 0x91, 0x94, 0x50, + 0x14, 0x5b, 0x46, 0xd7, 0xe8, 0x37, 0x3e, 0xef, 0x3b, 0xda, 0xb8, 0xf8, 0x18, 0x9c, 0xbc, 0xeb, + 0x5a, 0x36, 0x5c, 0x2b, 0xbe, 0xdb, 0x4a, 0xcb, 0x05, 0xf8, 0x3d, 0x68, 0x4e, 0xa3, 0x04, 0xc5, + 0xd1, 0xaf, 0xd8, 0x9b, 0xc4, 0xc4, 0xff, 0xc9, 0xfa, 0x40, 0x48, 0x9e, 0xfe, 0xa7, 0xe4, 0x37, + 0x8a, 0x3e, 0xe4, 0x6c, 0xd7, 0x9c, 0xea, 0xc7, 0xde, 0x6f, 0x06, 0x68, 0xde, 0xe6, 0x93, 0xa2, + 0xe3, 0x64, 0x4a, 0xe0, 0x08, 0x98, 0xc5, 0xec, 0x3c, 0x8a, 0x99, 0xf2, 0x6c, 0xeb, 0x17, 0xc8, + 0xc9, 0x14, 0x8d, 0x37, 0x98, 0xb9, 0xbb, 0x77, 0xda, 0x09, 0x3a, 0xe0, 0x20, 0x46, 0x94, 0x79, + 0x21, 0x8e, 0x66, 0x21, 0xf3, 0xfc, 0x10, 0x25, 0x33, 0x1c, 0x08, 0xaf, 0xef, 0xdc, 0x7d, 0x0e, + 0x5d, 0x08, 0x64, 0x24, 0x81, 0xde, 0xef, 0x06, 0x38, 0x18, 0x71, 0xb7, 0x09, 0x5d, 0xd0, 0x6b, + 0xf1, 0x30, 0xc2, 0x8c, 0x0b, 0xf6, 0xfc, 0xbc, 0xec, 0xc9, 0x07, 0x53, 0x7e, 0x3e, 0xda, 0xf4, + 0xb3, 0x26, 0x30, 0xdc, 0x7a, 0x7c, 0xee, 0x54, 0xdc, 0x96, 0x5f, 0x2e, 0xff, 0x6f, 0x6f, 0x21, + 0xa8, 0xde, 0xca, 0x44, 0xc0, 0x33, 0x50, 0x2f, 0xd4, 0x94, 0x8f, 0x13, 0xdd, 0x87, 0x4a, 0xce, + 0xca, 0x89, 0xf2, 0xb0, 0xea, 0x82, 0x6d, 0x50, 0xa3, 0x64, 0xca, 0x7e, 0x46, 0x19, 0x16, 0x57, + 0xd6, 0xdd, 0xe2, 0xdc, 0xfb, 0xb3, 0x0a, 0xb6, 0x6f, 0xf8, 0xf6, 0xc0, 0xaf, 0x40, 0x55, 0x69, + 0xa9, 0x6b, 0x8e, 0x9c, 0xf5, 0x0d, 0x73, 0x94, 0x29, 0x75, 0x45, 0xce, 0x87, 0xa7, 0xa0, 0xe6, + 0x87, 0x28, 0x4a, 0xbc, 0x48, 0xfe, 0xa7, 0xfa, 0xb0, 0xb1, 0x7c, 0xee, 0x54, 0x47, 0xbc, 0x36, + 0x3e, 0x77, 0xab, 0x02, 0x1c, 0x07, 0xf0, 0x53, 0xd0, 0x8c, 0x92, 0x88, 0x45, 0x28, 0x56, 0x93, + 0xb0, 0xde, 0x89, 0x09, 0x98, 0xaa, 0x2a, 0x87, 0x00, 0x3f, 0x03, 0x62, 0x24, 0x32, 0x6c, 0x39, + 0x73, 0x4b, 0x30, 0x5b, 0x1c, 0x10, 0x39, 0x52, 0x5c, 0x17, 0x98, 0x1a, 0x37, 0x0a, 0xac, 0xed, + 0x4d, 0xef, 0xf2, 0xa9, 0x44, 0xd7, 0xf8, 0x7c, 0x78, 0xc0, 0xbd, 0x2f, 0x9f, 0x3b, 0x8d, 0xcb, + 0x5c, 0x6a, 0x7c, 0xee, 0x36, 0x0a, 0xdd, 0x71, 0x00, 0x2f, 0x41, 0x4b, 0xd3, 0xe4, 0x5b, 0x67, + 0xed, 0x08, 0xd5, 0xb6, 0x23, 0x57, 0xd2, 0xc9, 0x57, 0xd2, 0xf9, 0x21, 0x5f, 0xc9, 0x61, 0x8d, + 0xcb, 0x3e, 0xfc, 0xdd, 0x31, 0x5c, 0xb3, 0xd0, 0xe2, 0x28, 0xfc, 0x1a, 0x80, 0x22, 0xa7, 0xd4, + 0xaa, 0xbe, 0x29, 0xd9, 0x5a, 0x07, 0xfc, 0x56, 0xb9, 0xd1, 0x44, 0x6a, 0x6f, 0x12, 0x69, 0xf2, + 0xb6, 0xd5, 0xa6, 0xc1, 0x11, 0xb0, 0xf5, 0x10, 0xae, 0xf4, 0x8a, 0x3c, 0xd6, 0xc5, 0x8c, 0x8f, + 0x57, 0x79, 0x5c, 0x75, 0xab, 0x64, 0xbe, 0xba, 0x1d, 0xe0, 0x3d, 0xb7, 0xe3, 0x0a, 0x7c, 0x52, + 0xda, 0x8e, 0x35, 0xfd, 0xc2, 0x5e, 0x43, 0xd8, 0xeb, 0x6a, 0xeb, 0x52, 0x16, 0xca, 0x3d, 0xe6, + 0xf9, 0xc9, 0x30, 0x5d, 0xc4, 0x8c, 0x7a, 0x21, 0xa2, 0xa1, 0xb5, 0xdb, 0x35, 0xfa, 0xbb, 0x32, + 0x3f, 0xae, 0xac, 0x5f, 0x20, 0x1a, 0xc2, 0x23, 0x50, 0x43, 0x69, 0x2a, 0x29, 0xa6, 0xa0, 0x54, + 0x51, 0x9a, 0x0a, 0xe8, 0x3b, 0xf0, 0xb1, 0x90, 0xf1, 0x49, 0x86, 0x3d, 0x99, 0x6f, 0xfe, 0xa8, + 0x38, 0x28, 0x07, 0xb3, 0xd9, 0x35, 0xfa, 0xa6, 0x2b, 0x46, 0x3b, 0x22, 0x19, 0x16, 0xa1, 0xbf, + 0x14, 0x3c, 0x3d, 0xa7, 0xb7, 0xe0, 0x30, 0xc1, 0xbf, 0x6c, 0x88, 0x59, 0x2d, 0x31, 0xbb, 0xce, + 0x6b, 0xb3, 0xd3, 0xb4, 0xc4, 0xe4, 0x0c, 0x77, 0x9f, 0x4b, 0x94, 0x81, 0xab, 0xc7, 0xa5, 0x6d, + 0x3c, 0x2d, 0x6d, 0xe3, 0x9f, 0xa5, 0x6d, 0x3c, 0xbc, 0xd8, 0x95, 0xa7, 0x17, 0xbb, 0xf2, 0xd7, + 0x8b, 0x5d, 0xf9, 0xf1, 0xcb, 0x59, 0xc4, 0xc2, 0xc5, 0xc4, 0xf1, 0xc9, 0x5c, 0x7c, 0xb6, 0x52, + 0x74, 0x3f, 0x90, 0xb7, 0xf0, 0x93, 0xfc, 0xaa, 0x0c, 0xd6, 0xbf, 0xb0, 0x93, 0x1d, 0x51, 0xff, + 0xe2, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x72, 0x4b, 0x4a, 0xb6, 0x7c, 0x07, 0x00, 0x00, } func (m *ABCIResponses) Marshal() (dAtA []byte, err error) { diff --git a/proto/tendermint/state/types.proto b/proto/tendermint/state/types.proto index f104881401..5445ac9922 100644 --- a/proto/tendermint/state/types.proto +++ b/proto/tendermint/state/types.proto @@ -1,7 +1,7 @@ syntax = "proto3"; package tendermint.state; -option go_package = "github.com/tendermint/tendermint/proto/tendermint/state"; +option go_package = "github.com/dashpay/tenderdash/proto/tendermint/state"; import "gogoproto/gogo.proto"; import "tendermint/abci/types.proto"; diff --git a/proto/tendermint/statesync/types.pb.go b/proto/tendermint/statesync/types.pb.go index 16e03447ec..bac29edb94 100644 --- a/proto/tendermint/statesync/types.pb.go +++ b/proto/tendermint/statesync/types.pb.go @@ -5,9 +5,9 @@ package statesync import ( fmt "fmt" + types "github.com/dashpay/tenderdash/proto/tendermint/types" _ "github.com/gogo/protobuf/gogoproto" proto "github.com/gogo/protobuf/proto" - types "github.com/tendermint/tendermint/proto/tendermint/types" io "io" math "math" math_bits "math/bits" @@ -462,34 +462,34 @@ func init() { func init() { proto.RegisterFile("tendermint/statesync/types.proto", fileDescriptor_a1c2869546ca7914) } var fileDescriptor_a1c2869546ca7914 = []byte{ - // 418 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x53, 0xc1, 0xaa, 0xd3, 0x40, - 0x14, 0xcd, 0x68, 0xde, 0x7b, 0xe5, 0xf6, 0x55, 0x5f, 0x87, 0x22, 0x31, 0xd4, 0x18, 0xb3, 0x31, - 0x20, 0x24, 0x50, 0x97, 0xe2, 0xa6, 0x5d, 0x09, 0x2e, 0x24, 0xc5, 0x8d, 0x2e, 0xca, 0x34, 0x19, - 0x92, 0x60, 0x33, 0x13, 0x33, 0x13, 0xa1, 0xe0, 0x27, 0xb8, 0xf0, 0xb3, 0xba, 0xec, 0xd2, 0x95, - 0x48, 0xfb, 0x23, 0x92, 0x49, 0xd2, 0x06, 0xeb, 0xa3, 0xd0, 0xdd, 0x3d, 0x67, 0xce, 0x9c, 0x7b, - 0xef, 0x70, 0x06, 0x6c, 0x49, 0x59, 0x44, 0x8b, 0x2c, 0x65, 0xd2, 0x17, 0x92, 0x48, 0x2a, 0xd6, - 0x2c, 0xf4, 0xe5, 0x3a, 0xa7, 0xc2, 0xcb, 0x0b, 0x2e, 0x39, 0x1e, 0x1d, 0x15, 0xde, 0x41, 0x61, - 0x8e, 0x62, 0x1e, 0x73, 0x25, 0xf0, 0xab, 0xaa, 0xd6, 0x9a, 0xe3, 0x8e, 0x9b, 0xf2, 0xe8, 0x3a, - 0x99, 0xcf, 0x4e, 0x4e, 0x73, 0x52, 0x90, 0xac, 0x39, 0x76, 0x30, 0xdc, 0xcd, 0x19, 0xc9, 0x45, - 0xc2, 0xa5, 0x08, 0xe8, 0xd7, 0x92, 0x0a, 0xe9, 0x94, 0x30, 0xec, 0x70, 0x22, 0xe7, 0x4c, 0x50, - 0xfc, 0x04, 0xae, 0x13, 0x9a, 0xc6, 0x89, 0x34, 0x90, 0x8d, 0x5c, 0x3d, 0x68, 0x10, 0x36, 0xe0, - 0xe6, 0x1b, 0x2d, 0x44, 0xca, 0x99, 0xf1, 0xc0, 0x46, 0xee, 0x20, 0x68, 0x21, 0xc6, 0xa0, 0x27, - 0x44, 0x24, 0xc6, 0x43, 0x1b, 0xb9, 0xb7, 0x81, 0xaa, 0xb1, 0x09, 0xbd, 0x8c, 0x4a, 0x12, 0x11, - 0x49, 0x0c, 0x5d, 0xf1, 0x07, 0xec, 0x7c, 0x86, 0xdb, 0x59, 0x52, 0xb2, 0x2f, 0xcd, 0x18, 0x17, - 0x74, 0x7c, 0x0a, 0xbd, 0xb0, 0x72, 0x58, 0xa4, 0x51, 0xd3, 0xf5, 0x46, 0xe1, 0x77, 0x91, 0xf3, - 0x03, 0xc1, 0xa0, 0x71, 0xbf, 0x78, 0xa1, 0xfb, 0xed, 0xf1, 0x08, 0xae, 0x54, 0xd9, 0x2c, 0x55, - 0x83, 0xca, 0x2a, 0x4b, 0x85, 0x48, 0x59, 0x6c, 0x5c, 0xd9, 0xc8, 0xed, 0x05, 0x2d, 0x74, 0x5e, - 0xc1, 0xf0, 0x7d, 0xd5, 0x6d, 0xba, 0xe2, 0xe1, 0xb9, 0x85, 0x9d, 0x39, 0xe0, 0xae, 0xb8, 0x99, - 0xff, 0x2d, 0xf4, 0x57, 0x15, 0xbb, 0x58, 0x56, 0xb4, 0xba, 0xd2, 0x9f, 0x8c, 0xbd, 0x4e, 0x70, - 0xea, 0x18, 0x74, 0xae, 0xc2, 0xea, 0x50, 0x3b, 0x2f, 0x61, 0xf0, 0x41, 0x05, 0xe1, 0x5c, 0xf7, - 0xef, 0xf0, 0xa8, 0x15, 0x9e, 0x79, 0xb9, 0x00, 0xee, 0xc2, 0x4a, 0xc0, 0x44, 0x29, 0x16, 0x75, - 0xca, 0xd4, 0x13, 0xf6, 0x27, 0x2f, 0x4e, 0xc7, 0x9a, 0xb5, 0xca, 0xda, 0x7c, 0xaa, 0x6f, 0x7e, - 0x3f, 0xd7, 0x82, 0xc7, 0xe1, 0x3f, 0xf4, 0xc7, 0xcd, 0xce, 0x42, 0xdb, 0x9d, 0x85, 0xfe, 0xec, - 0x2c, 0xf4, 0x73, 0x6f, 0x69, 0xdb, 0xbd, 0xa5, 0xfd, 0xda, 0x5b, 0xda, 0xa7, 0x37, 0x71, 0x2a, - 0x93, 0x72, 0xe9, 0x85, 0x3c, 0xf3, 0xbb, 0x19, 0x3f, 0x96, 0xf5, 0x4f, 0xf9, 0xdf, 0x5f, 0x5b, - 0x5e, 0xab, 0xb3, 0xd7, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0xc2, 0xc9, 0x7f, 0x18, 0x8a, 0x03, - 0x00, 0x00, + // 424 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x53, 0x41, 0x6b, 0xd4, 0x40, + 0x14, 0xce, 0x68, 0xda, 0x2e, 0x6f, 0xbb, 0xda, 0x0e, 0x8b, 0xc4, 0x50, 0x63, 0xcc, 0xc5, 0x80, + 0x90, 0x40, 0xbd, 0x78, 0xf1, 0xd2, 0x9e, 0x04, 0x0f, 0x32, 0xbd, 0xe9, 0x61, 0x99, 0x4d, 0x86, + 0x4c, 0x70, 0x33, 0x13, 0x33, 0x13, 0x61, 0xc1, 0x9f, 0xe0, 0xc1, 0x9f, 0xd5, 0x63, 0x8f, 0x9e, + 0x44, 0x76, 0xff, 0x88, 0xcc, 0x24, 0x59, 0x83, 0xb5, 0x2c, 0xf4, 0xf6, 0xbe, 0x6f, 0xbe, 0xf9, + 0xbe, 0xf7, 0x86, 0x37, 0x10, 0x6a, 0x26, 0x72, 0xd6, 0x54, 0xa5, 0xd0, 0xa9, 0xd2, 0x54, 0x33, + 0xb5, 0x16, 0x59, 0xaa, 0xd7, 0x35, 0x53, 0x49, 0xdd, 0x48, 0x2d, 0xf1, 0xfc, 0xaf, 0x22, 0xd9, + 0x29, 0xfc, 0x79, 0x21, 0x0b, 0x69, 0x05, 0xa9, 0xa9, 0x3a, 0xad, 0x7f, 0x36, 0x72, 0xb3, 0x1e, + 0x63, 0x27, 0xff, 0xd9, 0xad, 0xd3, 0x9a, 0x36, 0xb4, 0xea, 0x8f, 0x23, 0x0c, 0x27, 0x57, 0x82, + 0xd6, 0x8a, 0x4b, 0xad, 0x08, 0xfb, 0xd2, 0x32, 0xa5, 0xa3, 0x16, 0x4e, 0x47, 0x9c, 0xaa, 0xa5, + 0x50, 0x0c, 0x3f, 0x81, 0x43, 0xce, 0xca, 0x82, 0x6b, 0x0f, 0x85, 0x28, 0x76, 0x49, 0x8f, 0xb0, + 0x07, 0x47, 0x5f, 0x59, 0xa3, 0x4a, 0x29, 0xbc, 0x07, 0x21, 0x8a, 0x67, 0x64, 0x80, 0x18, 0x83, + 0xcb, 0xa9, 0xe2, 0xde, 0xc3, 0x10, 0xc5, 0xc7, 0xc4, 0xd6, 0xd8, 0x87, 0x49, 0xc5, 0x34, 0xcd, + 0xa9, 0xa6, 0x9e, 0x6b, 0xf9, 0x1d, 0x8e, 0x3e, 0xc1, 0xf1, 0x25, 0x6f, 0xc5, 0xe7, 0xbe, 0x8d, + 0x7b, 0x24, 0x3e, 0x85, 0x49, 0x66, 0x1c, 0x16, 0x65, 0xde, 0xa7, 0x1e, 0x59, 0xfc, 0x2e, 0x8f, + 0xbe, 0x23, 0x98, 0xf5, 0xee, 0xf7, 0x1e, 0xe8, 0x6e, 0x7b, 0x3c, 0x87, 0x03, 0x5b, 0xf6, 0x43, + 0x75, 0xc0, 0x58, 0x55, 0xa5, 0x52, 0xa5, 0x28, 0xbc, 0x83, 0x10, 0xc5, 0x13, 0x32, 0xc0, 0xe8, + 0x15, 0x9c, 0xbe, 0x37, 0x69, 0x17, 0x2b, 0x99, 0xed, 0x1b, 0x38, 0xba, 0x02, 0x3c, 0x16, 0xf7, + 0xfd, 0xbf, 0x85, 0xe9, 0xca, 0xb0, 0x8b, 0xa5, 0xa1, 0xed, 0x95, 0xe9, 0xf9, 0x59, 0x32, 0x5a, + 0x9c, 0x6e, 0x0d, 0x46, 0x57, 0x61, 0xb5, 0xab, 0xa3, 0x97, 0x30, 0xfb, 0x60, 0x17, 0x61, 0x5f, + 0xfa, 0x37, 0x78, 0x34, 0x08, 0xf7, 0xbc, 0x1c, 0x81, 0x93, 0xcc, 0x08, 0x84, 0x6a, 0xd5, 0xa2, + 0xdb, 0x32, 0xfb, 0x84, 0xd3, 0xf3, 0x17, 0xb7, 0xdb, 0xba, 0x1c, 0x94, 0x9d, 0xf9, 0x85, 0x7b, + 0xfd, 0xeb, 0xb9, 0x43, 0x1e, 0x67, 0xff, 0xd0, 0xe4, 0x7a, 0x13, 0xa0, 0x9b, 0x4d, 0x80, 0x7e, + 0x6f, 0x02, 0xf4, 0x63, 0x1b, 0x38, 0x37, 0xdb, 0xc0, 0xf9, 0xb9, 0x0d, 0x9c, 0x8f, 0x6f, 0x8a, + 0x52, 0xf3, 0x76, 0x99, 0x64, 0xb2, 0x4a, 0x73, 0xaa, 0x78, 0x4d, 0xd7, 0x69, 0x97, 0x62, 0x50, + 0xda, 0x7d, 0x93, 0xff, 0x7d, 0xb4, 0xe5, 0xa1, 0x3d, 0x7b, 0xfd, 0x27, 0x00, 0x00, 0xff, 0xff, + 0x53, 0xde, 0xda, 0xe0, 0x87, 0x03, 0x00, 0x00, } func (m *SnapshotsRequest) Marshal() (dAtA []byte, err error) { diff --git a/proto/tendermint/statesync/types.proto b/proto/tendermint/statesync/types.proto index 764595cc2a..fa18b6e350 100644 --- a/proto/tendermint/statesync/types.proto +++ b/proto/tendermint/statesync/types.proto @@ -1,7 +1,7 @@ syntax = "proto3"; package tendermint.statesync; -option go_package = "github.com/tendermint/tendermint/proto/tendermint/statesync"; +option go_package = "github.com/dashpay/tenderdash/proto/tendermint/statesync"; import "gogoproto/gogo.proto"; import "tendermint/types/types.proto"; diff --git a/proto/tendermint/types/block.pb.go b/proto/tendermint/types/block.pb.go index 4018535261..915151f4da 100644 --- a/proto/tendermint/types/block.pb.go +++ b/proto/tendermint/types/block.pb.go @@ -106,27 +106,27 @@ func init() { func init() { proto.RegisterFile("tendermint/types/block.proto", fileDescriptor_70840e82f4357ab1) } var fileDescriptor_70840e82f4357ab1 = []byte{ - // 313 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x91, 0x41, 0x4b, 0xc3, 0x30, - 0x14, 0xc7, 0x9b, 0xb9, 0x0d, 0xc9, 0x10, 0x25, 0x88, 0x84, 0x29, 0x99, 0x78, 0xf2, 0xd4, 0x8a, - 0x82, 0xe2, 0x4d, 0x36, 0x05, 0x0f, 0xf3, 0xe0, 0x8e, 0x5e, 0x4a, 0x9a, 0x86, 0x36, 0x6c, 0x6d, - 0x46, 0x1b, 0x05, 0xbf, 0x85, 0x5f, 0xc8, 0xfb, 0x8e, 0x3b, 0x7a, 0x12, 0x69, 0xbf, 0x88, 0xf4, - 0x35, 0x3a, 0x5d, 0xf5, 0x52, 0x1e, 0xef, 0xf7, 0xff, 0x95, 0x7f, 0x78, 0xf8, 0xc0, 0xc8, 0x34, - 0x94, 0x59, 0xa2, 0x52, 0xe3, 0x99, 0xe7, 0xb9, 0xcc, 0xbd, 0x60, 0xa6, 0xc5, 0xd4, 0x9d, 0x67, - 0xda, 0x68, 0xb2, 0xb3, 0xa2, 0x2e, 0xd0, 0xfe, 0x6e, 0xa4, 0x23, 0x0d, 0xd0, 0xab, 0xa6, 0x3a, - 0xd7, 0x6f, 0xfe, 0x05, 0xbe, 0x96, 0xee, 0x37, 0x68, 0xc8, 0xf3, 0xd8, 0xc2, 0x41, 0x03, 0xca, - 0x27, 0x15, 0xca, 0x54, 0xc8, 0x3a, 0x70, 0xf4, 0xda, 0xc2, 0x9d, 0x61, 0xd5, 0x89, 0x9c, 0xe3, - 0x6e, 0x2c, 0x79, 0x28, 0x33, 0x8a, 0x0e, 0xd1, 0x71, 0xef, 0x94, 0xba, 0xeb, 0xf5, 0xdc, 0x5b, - 0xe0, 0xc3, 0xf6, 0xe2, 0x7d, 0xe0, 0x4c, 0x6c, 0x9a, 0x9c, 0xe0, 0x76, 0xc8, 0x0d, 0xa7, 0x2d, - 0xb0, 0xf6, 0x9a, 0xd6, 0x35, 0x37, 0xdc, 0x3a, 0x90, 0x24, 0x57, 0x78, 0xf3, 0xab, 0x05, 0xdd, - 0x00, 0x8b, 0x35, 0xad, 0x1b, 0x9b, 0x18, 0xab, 0xdc, 0x58, 0xfb, 0xdb, 0x22, 0x97, 0xb8, 0x37, - 0xe3, 0xb9, 0xf1, 0x85, 0x4e, 0x12, 0x65, 0x68, 0xfb, 0xbf, 0xc2, 0x23, 0xe0, 0x13, 0x5c, 0x85, - 0xeb, 0x99, 0xdc, 0xe1, 0x6d, 0xa1, 0x33, 0xe9, 0x8b, 0x98, 0xab, 0xd4, 0xaf, 0x5e, 0x4e, 0x3b, - 0xa0, 0x0f, 0xfe, 0xd2, 0x33, 0x39, 0xaa, 0x72, 0x63, 0x2d, 0xa6, 0x50, 0x02, 0x4d, 0xb6, 0xc4, - 0xaf, 0xe5, 0xfd, 0xa2, 0x60, 0x68, 0x59, 0x30, 0xf4, 0x51, 0x30, 0xf4, 0x52, 0x32, 0x67, 0x59, - 0x32, 0xe7, 0xad, 0x64, 0xce, 0xc3, 0x45, 0xa4, 0x4c, 0xfc, 0x18, 0xb8, 0x42, 0x27, 0xde, 0xcf, - 0x2b, 0xac, 0xc6, 0xfa, 0xd0, 0xeb, 0x17, 0x0a, 0xba, 0xb0, 0x3f, 0xfb, 0x0c, 0x00, 0x00, 0xff, - 0xff, 0xa7, 0xb1, 0x4c, 0xad, 0x3d, 0x02, 0x00, 0x00, + // 319 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x91, 0x41, 0x4b, 0xf3, 0x30, + 0x18, 0xc7, 0x9b, 0xbd, 0xdb, 0x78, 0xc9, 0x10, 0x25, 0x88, 0x84, 0x29, 0x99, 0x78, 0xf2, 0xd4, + 0x8a, 0x8a, 0xe0, 0x4d, 0x36, 0x05, 0x0f, 0xd3, 0xc3, 0x8e, 0x5e, 0x46, 0x96, 0x86, 0x36, 0x6c, + 0x6d, 0x4a, 0x1b, 0x85, 0x7d, 0x0b, 0xbf, 0x90, 0xf7, 0x1d, 0x77, 0xf4, 0x24, 0xd2, 0x7e, 0x11, + 0xc9, 0xd3, 0xa8, 0xb8, 0xea, 0xa5, 0xa4, 0xcf, 0xef, 0xff, 0x6b, 0xff, 0xe1, 0xc1, 0x07, 0x46, + 0xa6, 0xa1, 0xcc, 0x13, 0x95, 0x9a, 0xc0, 0x2c, 0x33, 0x59, 0x04, 0xb3, 0x85, 0x16, 0x73, 0x3f, + 0xcb, 0xb5, 0xd1, 0x64, 0xe7, 0x9b, 0xfa, 0x40, 0xfb, 0xbb, 0x91, 0x8e, 0x34, 0xc0, 0xc0, 0x9e, + 0xea, 0x5c, 0xbf, 0xf9, 0x15, 0x78, 0x3a, 0xba, 0xdf, 0xa0, 0x21, 0x2f, 0x62, 0x07, 0x07, 0x0d, + 0x28, 0x9f, 0x54, 0x28, 0x53, 0x21, 0xeb, 0xc0, 0xd1, 0x4b, 0x0b, 0x77, 0x86, 0xb6, 0x13, 0xb9, + 0xc0, 0xdd, 0x58, 0xf2, 0x50, 0xe6, 0x14, 0x1d, 0xa2, 0xe3, 0xde, 0x29, 0xf5, 0x37, 0xeb, 0xf9, + 0xb7, 0xc0, 0x87, 0xed, 0xd5, 0xdb, 0xc0, 0x9b, 0xb8, 0x34, 0x39, 0xc1, 0xed, 0x90, 0x1b, 0x4e, + 0x5b, 0x60, 0xed, 0x35, 0xad, 0x6b, 0x6e, 0xb8, 0x73, 0x20, 0x49, 0xae, 0xf0, 0xff, 0xcf, 0x16, + 0xf4, 0x1f, 0x58, 0xac, 0x69, 0xdd, 0xb8, 0xc4, 0x58, 0x15, 0xc6, 0xd9, 0x5f, 0x16, 0xb9, 0xc4, + 0xbd, 0x05, 0x2f, 0xcc, 0x54, 0xe8, 0x24, 0x51, 0x86, 0xb6, 0xff, 0x2a, 0x3c, 0x02, 0x3e, 0xc1, + 0x36, 0x5c, 0x9f, 0xc9, 0x1d, 0xde, 0x16, 0x3a, 0x97, 0x53, 0x11, 0x73, 0x95, 0x4e, 0xed, 0xcd, + 0x69, 0x07, 0xf4, 0xc1, 0x6f, 0x7a, 0x2e, 0x47, 0x36, 0x37, 0xd6, 0x62, 0x0e, 0x25, 0xd0, 0x64, + 0x4b, 0xfc, 0x18, 0xde, 0xaf, 0x4a, 0x86, 0xd6, 0x25, 0x43, 0xef, 0x25, 0x43, 0xcf, 0x15, 0xf3, + 0xd6, 0x15, 0xf3, 0x5e, 0x2b, 0xe6, 0x3d, 0x9c, 0x47, 0xca, 0xc4, 0x8f, 0x33, 0x5f, 0xe8, 0x04, + 0x36, 0x92, 0xf1, 0x65, 0x50, 0xff, 0xc1, 0xbe, 0x05, 0xf5, 0x96, 0x37, 0xd7, 0x33, 0xeb, 0xc2, + 0xfc, 0xec, 0x23, 0x00, 0x00, 0xff, 0xff, 0x3c, 0x40, 0x9d, 0x2a, 0x3a, 0x02, 0x00, 0x00, } func (m *Block) Marshal() (dAtA []byte, err error) { diff --git a/proto/tendermint/types/block.proto b/proto/tendermint/types/block.proto index bcd9e8a93c..bcb111dbbd 100644 --- a/proto/tendermint/types/block.proto +++ b/proto/tendermint/types/block.proto @@ -1,7 +1,7 @@ syntax = "proto3"; package tendermint.types; -option go_package = "github.com/tendermint/tendermint/proto/tendermint/types"; +option go_package = "github.com/dashpay/tenderdash/proto/tendermint/types"; import "gogoproto/gogo.proto"; import "tendermint/types/types.proto"; diff --git a/proto/tendermint/types/canonical.go b/proto/tendermint/types/canonical.go index 281abb8089..57042ce27f 100644 --- a/proto/tendermint/types/canonical.go +++ b/proto/tendermint/types/canonical.go @@ -1,8 +1,8 @@ package types import ( - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/internal/libs/protoio" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/internal/libs/protoio" ) func (c CanonicalBlockID) signBytes() ([]byte, error) { diff --git a/proto/tendermint/types/canonical.pb.go b/proto/tendermint/types/canonical.pb.go index 97615fd677..62114e67d9 100644 --- a/proto/tendermint/types/canonical.pb.go +++ b/proto/tendermint/types/canonical.pb.go @@ -382,43 +382,43 @@ func init() { func init() { proto.RegisterFile("tendermint/types/canonical.proto", fileDescriptor_8d1a1a84ff7267ed) } var fileDescriptor_8d1a1a84ff7267ed = []byte{ - // 568 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x54, 0xcd, 0x6e, 0xd3, 0x4c, - 0x14, 0xcd, 0xa4, 0xf9, 0x71, 0xa6, 0xc9, 0xf7, 0x85, 0x51, 0x55, 0x85, 0x50, 0xd9, 0x91, 0x91, - 0x22, 0xb3, 0xb1, 0xa5, 0x76, 0xd1, 0xbd, 0x0b, 0x12, 0x41, 0x20, 0x2a, 0xa7, 0x74, 0xc1, 0x26, - 0x9a, 0xd8, 0x83, 0x6d, 0xe1, 0x78, 0x2c, 0x7b, 0x22, 0xd1, 0x0d, 0xcf, 0xd0, 0xc7, 0xe1, 0x11, - 0xba, 0xec, 0xb2, 0x6c, 0x02, 0x72, 0x76, 0x3c, 0x05, 0x9a, 0xf1, 0x2f, 0x0d, 0x54, 0x62, 0xc3, - 0x26, 0xba, 0xf7, 0x9e, 0x33, 0x77, 0xce, 0x3d, 0x37, 0x1e, 0x38, 0x61, 0x24, 0x74, 0x48, 0xbc, - 0xf2, 0x43, 0x66, 0xb0, 0xab, 0x88, 0x24, 0x86, 0x8d, 0x43, 0x1a, 0xfa, 0x36, 0x0e, 0xf4, 0x28, - 0xa6, 0x8c, 0xa2, 0x61, 0xc5, 0xd0, 0x05, 0x63, 0x7c, 0xe0, 0x52, 0x97, 0x0a, 0xd0, 0xe0, 0x51, - 0xc6, 0x1b, 0x1f, 0xed, 0x74, 0x12, 0xbf, 0x39, 0xfa, 0x64, 0x07, 0x75, 0x70, 0xe2, 0xe5, 0xa0, - 0xe2, 0x52, 0xea, 0x06, 0xc4, 0x10, 0xd9, 0x72, 0xfd, 0xc1, 0x60, 0xfe, 0x8a, 0x24, 0x0c, 0xaf, - 0xa2, 0x8c, 0xa0, 0x7e, 0x86, 0xc3, 0xb3, 0x42, 0x96, 0x19, 0x50, 0xfb, 0xe3, 0xec, 0x39, 0x42, - 0xb0, 0xe5, 0xe1, 0xc4, 0x1b, 0x81, 0x09, 0xd0, 0xfa, 0x96, 0x88, 0xd1, 0x25, 0xfc, 0x3f, 0xc2, - 0x31, 0x5b, 0x24, 0x84, 0x2d, 0x3c, 0x82, 0x1d, 0x12, 0x8f, 0x9a, 0x13, 0xa0, 0xed, 0x1f, 0x6b, - 0xfa, 0xfd, 0x29, 0xf4, 0xb2, 0xe1, 0x39, 0x8e, 0xd9, 0x9c, 0xb0, 0x97, 0x82, 0x6f, 0xb6, 0x6e, - 0x36, 0x4a, 0xc3, 0x1a, 0x44, 0xf5, 0xa2, 0x6a, 0xc2, 0xc3, 0xdf, 0xd3, 0xd1, 0x01, 0x6c, 0x33, - 0xca, 0x70, 0x20, 0x64, 0x0c, 0xac, 0x2c, 0x29, 0xb5, 0x35, 0x2b, 0x6d, 0xea, 0xd7, 0x26, 0x7c, - 0x54, 0x35, 0x89, 0x69, 0x44, 0x13, 0x1c, 0xa0, 0x13, 0xd8, 0xe2, 0x72, 0xc4, 0xf1, 0xff, 0x8e, - 0x95, 0x5d, 0x99, 0x73, 0xdf, 0x0d, 0x89, 0xf3, 0x26, 0x71, 0x2f, 0xae, 0x22, 0x62, 0x09, 0x32, - 0x3a, 0x84, 0x1d, 0x8f, 0xf8, 0xae, 0xc7, 0xc4, 0x05, 0x43, 0x2b, 0xcf, 0xb8, 0x98, 0x98, 0xae, - 0x43, 0x67, 0xb4, 0x27, 0xca, 0x59, 0x82, 0x9e, 0xc1, 0x5e, 0x44, 0x83, 0x45, 0x86, 0xb4, 0x26, - 0x40, 0xdb, 0x33, 0xfb, 0xe9, 0x46, 0x91, 0xce, 0xdf, 0xbe, 0xb6, 0x78, 0xcd, 0x92, 0x22, 0x1a, - 0x88, 0x08, 0xbd, 0x82, 0xd2, 0x92, 0xdb, 0xbb, 0xf0, 0x9d, 0x51, 0x5b, 0x18, 0xa7, 0x3e, 0x60, - 0x5c, 0xbe, 0x09, 0x73, 0x3f, 0xdd, 0x28, 0xdd, 0x3c, 0xb1, 0xba, 0xa2, 0xc1, 0xcc, 0x41, 0x26, - 0xec, 0x95, 0x6b, 0x1c, 0x75, 0x44, 0xb3, 0xb1, 0x9e, 0x2d, 0x5a, 0x2f, 0x16, 0xad, 0x5f, 0x14, - 0x0c, 0x53, 0xe2, 0xbe, 0x5f, 0x7f, 0x53, 0x80, 0x55, 0x1d, 0x43, 0x53, 0x28, 0xd9, 0x1e, 0xf6, - 0x43, 0xae, 0xa7, 0x3b, 0x01, 0x5a, 0x2f, 0xbb, 0xeb, 0x8c, 0xd7, 0xf8, 0x5d, 0x02, 0x9c, 0x39, - 0xea, 0x0f, 0x00, 0x07, 0xa5, 0xac, 0x4b, 0xca, 0xc8, 0xbf, 0xf0, 0x75, 0x5a, 0x33, 0x8b, 0xdb, - 0xda, 0xff, 0x83, 0x11, 0x53, 0x28, 0x25, 0x0c, 0x33, 0x52, 0x98, 0x9a, 0xf3, 0xe6, 0xbc, 0xc6, - 0x79, 0x02, 0xcc, 0x78, 0xe5, 0xb0, 0xf6, 0x03, 0xc3, 0x7e, 0x01, 0xb5, 0x7f, 0x23, 0x1f, 0xf6, - 0xc5, 0x27, 0x46, 0xc2, 0xc4, 0xa7, 0x21, 0x3a, 0x82, 0x3d, 0x52, 0x24, 0xf9, 0x87, 0x51, 0x15, - 0xfe, 0x72, 0xbc, 0xc7, 0x35, 0x39, 0x7c, 0xbc, 0x5e, 0xa9, 0x00, 0x9d, 0xe6, 0xe6, 0xb6, 0x85, - 0xb9, 0x4f, 0x77, 0xcd, 0xfd, 0x45, 0x55, 0x65, 0xb0, 0xf9, 0xee, 0x26, 0x95, 0xc1, 0x6d, 0x2a, - 0x83, 0xbb, 0x54, 0x06, 0xdf, 0x53, 0x19, 0x5c, 0x6f, 0xe5, 0xc6, 0xed, 0x56, 0x6e, 0xdc, 0x6d, - 0xe5, 0xc6, 0xfb, 0x53, 0xd7, 0x67, 0xde, 0x7a, 0xa9, 0xdb, 0x74, 0x65, 0xd4, 0x9f, 0x8b, 0x2a, - 0xcc, 0x1e, 0x9d, 0xfb, 0x4f, 0xc9, 0xb2, 0x23, 0xea, 0x27, 0x3f, 0x03, 0x00, 0x00, 0xff, 0xff, - 0x27, 0xae, 0x20, 0x03, 0xcd, 0x04, 0x00, 0x00, + // 572 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x54, 0xcd, 0x6e, 0xd3, 0x40, + 0x18, 0xcc, 0xb6, 0xf9, 0x71, 0xb6, 0x09, 0x84, 0x55, 0x55, 0x85, 0x50, 0xd9, 0x51, 0x90, 0xa2, + 0x70, 0xb1, 0xa5, 0x16, 0x89, 0xbb, 0x0b, 0x12, 0x41, 0x20, 0x2a, 0xa7, 0xea, 0x81, 0x4b, 0xb4, + 0xb1, 0x17, 0xdb, 0xc2, 0xf1, 0x5a, 0xf6, 0x46, 0x22, 0x17, 0x9e, 0xa1, 0x8f, 0xc3, 0x23, 0xf4, + 0xd8, 0x63, 0xb9, 0x04, 0xe4, 0xdc, 0x78, 0x0a, 0xb4, 0x9f, 0x1d, 0x3b, 0x34, 0x50, 0x89, 0x0b, + 0x97, 0x68, 0xbf, 0x99, 0xd9, 0x6f, 0xe7, 0x9b, 0x8d, 0x17, 0xf7, 0x05, 0x0b, 0x1d, 0x16, 0xcf, + 0xfd, 0x50, 0x18, 0x62, 0x19, 0xb1, 0xc4, 0xb0, 0x69, 0xc8, 0x43, 0xdf, 0xa6, 0x81, 0x1e, 0xc5, + 0x5c, 0x70, 0xd2, 0x29, 0x15, 0x3a, 0x28, 0x7a, 0x87, 0x2e, 0x77, 0x39, 0x90, 0x86, 0x5c, 0x65, + 0xba, 0xde, 0xf1, 0x4e, 0x27, 0xf8, 0xcd, 0xd9, 0x27, 0x3b, 0xac, 0x43, 0x13, 0x2f, 0x27, 0x35, + 0x97, 0x73, 0x37, 0x60, 0x06, 0x54, 0xb3, 0xc5, 0x47, 0x43, 0xf8, 0x73, 0x96, 0x08, 0x3a, 0x8f, + 0x32, 0xc1, 0xe0, 0x0b, 0xee, 0x9c, 0x6d, 0x6c, 0x99, 0x01, 0xb7, 0x3f, 0x8d, 0x5f, 0x12, 0x82, + 0xab, 0x1e, 0x4d, 0xbc, 0x2e, 0xea, 0xa3, 0x51, 0xcb, 0x82, 0x35, 0xb9, 0xc4, 0x0f, 0x23, 0x1a, + 0x8b, 0x69, 0xc2, 0xc4, 0xd4, 0x63, 0xd4, 0x61, 0x71, 0x77, 0xaf, 0x8f, 0x46, 0x07, 0x27, 0x23, + 0xfd, 0xee, 0x14, 0x7a, 0xd1, 0xf0, 0x9c, 0xc6, 0x62, 0xc2, 0xc4, 0x6b, 0xd0, 0x9b, 0xd5, 0xeb, + 0x95, 0x56, 0xb1, 0xda, 0xd1, 0x36, 0x38, 0x30, 0xf1, 0xd1, 0x9f, 0xe5, 0xe4, 0x10, 0xd7, 0x04, + 0x17, 0x34, 0x00, 0x1b, 0x6d, 0x2b, 0x2b, 0x0a, 0x6f, 0x7b, 0xa5, 0xb7, 0xc1, 0xb7, 0x3d, 0xfc, + 0xa8, 0x6c, 0x12, 0xf3, 0x88, 0x27, 0x34, 0x20, 0xa7, 0xb8, 0x2a, 0xed, 0xc0, 0xf6, 0x07, 0x27, + 0xda, 0xae, 0xcd, 0x89, 0xef, 0x86, 0xcc, 0x79, 0x97, 0xb8, 0x17, 0xcb, 0x88, 0x59, 0x20, 0x26, + 0x47, 0xb8, 0xee, 0x31, 0xdf, 0xf5, 0x04, 0x1c, 0xd0, 0xb1, 0xf2, 0x4a, 0x9a, 0x89, 0xf9, 0x22, + 0x74, 0xba, 0xfb, 0x00, 0x67, 0x05, 0x79, 0x86, 0x9b, 0x11, 0x0f, 0xa6, 0x19, 0x53, 0xed, 0xa3, + 0xd1, 0xbe, 0xd9, 0x4a, 0x57, 0x9a, 0x72, 0xfe, 0xfe, 0xad, 0x25, 0x31, 0x4b, 0x89, 0x78, 0x00, + 0x2b, 0xf2, 0x06, 0x2b, 0x33, 0x19, 0xef, 0xd4, 0x77, 0xba, 0x35, 0x08, 0x6e, 0x70, 0x4f, 0x70, + 0xf9, 0x4d, 0x98, 0x07, 0xe9, 0x4a, 0x6b, 0xe4, 0x85, 0xd5, 0x80, 0x06, 0x63, 0x87, 0x98, 0xb8, + 0x59, 0x5c, 0x63, 0xb7, 0x0e, 0xcd, 0x7a, 0x7a, 0x76, 0xd1, 0xfa, 0xe6, 0xa2, 0xf5, 0x8b, 0x8d, + 0xc2, 0x54, 0x64, 0xee, 0x57, 0xdf, 0x35, 0x64, 0x95, 0xdb, 0xc8, 0x10, 0x2b, 0xb6, 0x47, 0xfd, + 0x50, 0xfa, 0x69, 0xf4, 0xd1, 0xa8, 0x99, 0x9d, 0x75, 0x26, 0x31, 0x79, 0x16, 0x90, 0x63, 0x67, + 0xf0, 0x13, 0xe1, 0x76, 0x61, 0xeb, 0x92, 0x0b, 0xf6, 0x3f, 0x72, 0x1d, 0x6e, 0x85, 0x25, 0x63, + 0x6d, 0xfd, 0x25, 0x88, 0x21, 0x56, 0x12, 0x41, 0x05, 0xdb, 0x84, 0x9a, 0xeb, 0x26, 0x12, 0x93, + 0x3a, 0x20, 0x33, 0x5d, 0x31, 0xac, 0x7d, 0xcf, 0xb0, 0x5f, 0xd1, 0xd6, 0xbf, 0x51, 0x0e, 0xfb, + 0xea, 0xb3, 0x60, 0x61, 0xe2, 0xf3, 0x90, 0x1c, 0xe3, 0x26, 0xdb, 0x14, 0xf9, 0x87, 0x51, 0x02, + 0xff, 0x38, 0xde, 0xe3, 0x2d, 0x3b, 0x72, 0xbc, 0x66, 0xe1, 0x80, 0xbc, 0xc8, 0xc3, 0xad, 0x41, + 0xb8, 0x4f, 0x77, 0xc3, 0xfd, 0xcd, 0x55, 0x19, 0xb0, 0x69, 0x5d, 0xa7, 0x2a, 0xba, 0x49, 0x55, + 0x74, 0x9b, 0xaa, 0xe8, 0x47, 0xaa, 0xa2, 0xab, 0xb5, 0x5a, 0xb9, 0x59, 0xab, 0x95, 0xdb, 0xb5, + 0x5a, 0xf9, 0xf0, 0xdc, 0xf5, 0x85, 0xb7, 0x98, 0xe9, 0x36, 0x9f, 0xc3, 0xeb, 0x10, 0xd1, 0xa5, + 0x91, 0xb5, 0x96, 0x55, 0xf6, 0x3a, 0x18, 0x77, 0xdf, 0x91, 0x59, 0x1d, 0xf0, 0xd3, 0x5f, 0x01, + 0x00, 0x00, 0xff, 0xff, 0x6c, 0x81, 0xf7, 0xae, 0xca, 0x04, 0x00, 0x00, } func (m *CanonicalBlockID) Marshal() (dAtA []byte, err error) { diff --git a/proto/tendermint/types/canonical.proto b/proto/tendermint/types/canonical.proto index a8724a17a0..c88923b7a5 100644 --- a/proto/tendermint/types/canonical.proto +++ b/proto/tendermint/types/canonical.proto @@ -1,7 +1,7 @@ syntax = "proto3"; package tendermint.types; -option go_package = "github.com/tendermint/tendermint/proto/tendermint/types"; +option go_package = "github.com/dashpay/tenderdash/proto/tendermint/types"; option (gogoproto.stable_marshaler_all) = true; import "gogoproto/gogo.proto"; diff --git a/proto/tendermint/types/dash.pb.go b/proto/tendermint/types/dash.pb.go index b75988719e..661526d33a 100644 --- a/proto/tendermint/types/dash.pb.go +++ b/proto/tendermint/types/dash.pb.go @@ -181,7 +181,7 @@ func init() { func init() { proto.RegisterFile("tendermint/types/dash.proto", fileDescriptor_098b09a14a95d15e) } var fileDescriptor_098b09a14a95d15e = []byte{ - // 326 bytes of a gzipped FileDescriptorProto + // 332 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x2e, 0x49, 0xcd, 0x4b, 0x49, 0x2d, 0xca, 0xcd, 0xcc, 0x2b, 0xd1, 0x2f, 0xa9, 0x2c, 0x48, 0x2d, 0xd6, 0x4f, 0x49, 0x2c, 0xce, 0xd0, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x12, 0x40, 0x48, 0xea, 0x81, 0x25, 0xa5, 0x44, @@ -198,11 +198,11 @@ var fileDescriptor_098b09a14a95d15e = []byte{ 0x0c, 0x75, 0x10, 0x42, 0x00, 0xbf, 0x63, 0xb4, 0xcc, 0xb9, 0x04, 0x31, 0x8c, 0x15, 0xe2, 0xe6, 0x62, 0x77, 0x71, 0x75, 0x73, 0x0c, 0xf5, 0x09, 0x11, 0x60, 0x10, 0x12, 0xe5, 0x12, 0x0c, 0xf1, 0x08, 0x72, 0x0d, 0xf6, 0xf0, 0xf7, 0x71, 0x89, 0x0f, 0x72, 0x75, 0xf6, 0x0f, 0x73, 0x0d, 0x12, - 0x60, 0x74, 0x0a, 0x3c, 0xf1, 0x48, 0x8e, 0xf1, 0xc2, 0x23, 0x39, 0xc6, 0x07, 0x8f, 0xe4, 0x18, - 0x27, 0x3c, 0x96, 0x63, 0xb8, 0xf0, 0x58, 0x8e, 0xe1, 0xc6, 0x63, 0x39, 0x86, 0x28, 0xf3, 0xf4, - 0xcc, 0x92, 0x8c, 0xd2, 0x24, 0xbd, 0xe4, 0xfc, 0x5c, 0x7d, 0xe4, 0x38, 0x43, 0x30, 0x21, 0xd1, - 0x82, 0x1e, 0x9f, 0x49, 0x6c, 0x60, 0x71, 0x63, 0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0x90, 0x0c, - 0x0c, 0xeb, 0xea, 0x01, 0x00, 0x00, + 0x60, 0x74, 0xf2, 0x3b, 0xf1, 0x48, 0x8e, 0xf1, 0xc2, 0x23, 0x39, 0xc6, 0x07, 0x8f, 0xe4, 0x18, + 0x27, 0x3c, 0x96, 0x63, 0xb8, 0xf0, 0x58, 0x8e, 0xe1, 0xc6, 0x63, 0x39, 0x86, 0x28, 0x93, 0xf4, + 0xcc, 0x92, 0x8c, 0xd2, 0x24, 0xbd, 0xe4, 0xfc, 0x5c, 0x70, 0x14, 0x15, 0x24, 0x56, 0xea, 0x43, + 0xfc, 0x02, 0xe2, 0xe9, 0x43, 0xe2, 0x04, 0x3d, 0x32, 0x93, 0xd8, 0xc0, 0xe2, 0xc6, 0x80, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x57, 0xe9, 0x12, 0xcd, 0xe7, 0x01, 0x00, 0x00, } func (this *CoreChainLock) Equal(that interface{}) bool { diff --git a/proto/tendermint/types/dash.proto b/proto/tendermint/types/dash.proto index ad9f558ce5..237c3ed768 100644 --- a/proto/tendermint/types/dash.proto +++ b/proto/tendermint/types/dash.proto @@ -1,7 +1,7 @@ syntax = "proto3"; package tendermint.types; -option go_package = "github.com/tendermint/tendermint/proto/tendermint/types"; +option go_package = "github.com/dashpay/tenderdash/proto/tendermint/types"; import "gogoproto/gogo.proto"; diff --git a/proto/tendermint/types/events.pb.go b/proto/tendermint/types/events.pb.go index a9aa26a799..0dc9c69941 100644 --- a/proto/tendermint/types/events.pb.go +++ b/proto/tendermint/types/events.pb.go @@ -89,7 +89,7 @@ func init() { func init() { proto.RegisterFile("tendermint/types/events.proto", fileDescriptor_72cfafd446dedf7c) } var fileDescriptor_72cfafd446dedf7c = []byte{ - // 189 bytes of a gzipped FileDescriptorProto + // 198 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x2d, 0x49, 0xcd, 0x4b, 0x49, 0x2d, 0xca, 0xcd, 0xcc, 0x2b, 0xd1, 0x2f, 0xa9, 0x2c, 0x48, 0x2d, 0xd6, 0x4f, 0x2d, 0x4b, 0xcd, 0x2b, 0x29, 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x12, 0x40, 0x48, 0xeb, 0x81, 0xa5, @@ -97,11 +97,12 @@ var fileDescriptor_72cfafd446dedf7c = []byte{ 0x82, 0x4b, 0x12, 0x4b, 0x52, 0x85, 0xc4, 0xb8, 0xd8, 0x32, 0x52, 0x33, 0xd3, 0x33, 0x4a, 0x24, 0x18, 0x15, 0x18, 0x35, 0x98, 0x83, 0xa0, 0x3c, 0x21, 0x11, 0x2e, 0xd6, 0x22, 0x90, 0x2a, 0x09, 0x26, 0x05, 0x46, 0x0d, 0xd6, 0x20, 0x08, 0x47, 0x48, 0x88, 0x8b, 0xa5, 0xb8, 0x24, 0xb5, 0x40, - 0x82, 0x59, 0x81, 0x51, 0x83, 0x33, 0x08, 0xcc, 0x76, 0x0a, 0x3c, 0xf1, 0x48, 0x8e, 0xf1, 0xc2, + 0x82, 0x59, 0x81, 0x51, 0x83, 0x33, 0x08, 0xcc, 0x76, 0xf2, 0x3b, 0xf1, 0x48, 0x8e, 0xf1, 0xc2, 0x23, 0x39, 0xc6, 0x07, 0x8f, 0xe4, 0x18, 0x27, 0x3c, 0x96, 0x63, 0xb8, 0xf0, 0x58, 0x8e, 0xe1, - 0xc6, 0x63, 0x39, 0x86, 0x28, 0xf3, 0xf4, 0xcc, 0x92, 0x8c, 0xd2, 0x24, 0xbd, 0xe4, 0xfc, 0x5c, - 0x7d, 0x64, 0xe7, 0x22, 0x98, 0x60, 0xc7, 0xea, 0xa3, 0x7b, 0x25, 0x89, 0x0d, 0x2c, 0x6e, 0x0c, - 0x08, 0x00, 0x00, 0xff, 0xff, 0xc3, 0xe9, 0x14, 0x02, 0xe5, 0x00, 0x00, 0x00, + 0xc6, 0x63, 0x39, 0x86, 0x28, 0x93, 0xf4, 0xcc, 0x92, 0x8c, 0xd2, 0x24, 0xbd, 0xe4, 0xfc, 0x5c, + 0xfd, 0x94, 0xc4, 0xe2, 0x8c, 0x82, 0xc4, 0x4a, 0x7d, 0x88, 0xbb, 0x40, 0x3c, 0x7d, 0xb0, 0x4b, + 0xf5, 0xd1, 0xfd, 0x91, 0xc4, 0x06, 0x16, 0x37, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0x86, 0x61, + 0x58, 0x54, 0xe2, 0x00, 0x00, 0x00, } func (m *EventDataRoundState) Marshal() (dAtA []byte, err error) { diff --git a/proto/tendermint/types/events.proto b/proto/tendermint/types/events.proto index a1e5cc498d..f823b7f958 100644 --- a/proto/tendermint/types/events.proto +++ b/proto/tendermint/types/events.proto @@ -1,7 +1,7 @@ syntax = "proto3"; package tendermint.types; -option go_package = "github.com/tendermint/tendermint/proto/tendermint/types"; +option go_package = "github.com/dashpay/tenderdash/proto/tendermint/types"; message EventDataRoundState { int64 height = 1; diff --git a/proto/tendermint/types/evidence.pb.go b/proto/tendermint/types/evidence.pb.go index d791c7b967..741a8bd40d 100644 --- a/proto/tendermint/types/evidence.pb.go +++ b/proto/tendermint/types/evidence.pb.go @@ -230,31 +230,32 @@ func init() { func init() { proto.RegisterFile("tendermint/types/evidence.proto", fileDescriptor_6825fabc78e0a168) } var fileDescriptor_6825fabc78e0a168 = []byte{ - // 383 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x92, 0xcf, 0x4e, 0xea, 0x40, - 0x14, 0xc6, 0x5b, 0x0a, 0x84, 0x3b, 0xf7, 0xe6, 0x5e, 0xd2, 0x5c, 0xb4, 0x21, 0xa6, 0x25, 0x6c, - 0x60, 0xa1, 0xd3, 0x44, 0x17, 0x6e, 0xdc, 0xd8, 0x68, 0xe2, 0x82, 0x85, 0x36, 0x86, 0x85, 0x1b, - 0x32, 0xa5, 0x63, 0x9d, 0xa4, 0xed, 0x34, 0xed, 0x29, 0xc6, 0xb7, 0xe0, 0xb1, 0x58, 0xb2, 0x74, - 0xa5, 0x06, 0x5e, 0xc4, 0x74, 0xfa, 0x07, 0x02, 0x24, 0x6e, 0x9a, 0xe9, 0xf9, 0x7e, 0xe7, 0x7c, - 0x67, 0xce, 0x1c, 0x64, 0x00, 0x0d, 0x5d, 0x1a, 0x07, 0x2c, 0x04, 0x13, 0xde, 0x22, 0x9a, 0x98, - 0x74, 0xc6, 0x5c, 0x1a, 0x4e, 0x29, 0x8e, 0x62, 0x0e, 0x5c, 0x6d, 0x6f, 0x00, 0x2c, 0x80, 0xee, - 0x7f, 0x8f, 0x7b, 0x5c, 0x88, 0x66, 0x76, 0xca, 0xb9, 0xae, 0xe1, 0x71, 0xee, 0xf9, 0xd4, 0x14, - 0x7f, 0x4e, 0xfa, 0x6c, 0x02, 0x0b, 0x68, 0x02, 0x24, 0x88, 0x0a, 0xe0, 0x64, 0xcf, 0x49, 0x7c, - 0x73, 0xb5, 0x0f, 0xa8, 0x75, 0x5b, 0x18, 0xab, 0x04, 0x1d, 0xbb, 0x69, 0xe4, 0xb3, 0x29, 0x01, - 0x3a, 0x99, 0x71, 0xa0, 0x93, 0xb2, 0x27, 0x4d, 0xee, 0xc9, 0xc3, 0xdf, 0xe7, 0x03, 0xbc, 0xdb, - 0x14, 0xbe, 0x29, 0x13, 0xc6, 0x1c, 0x68, 0x59, 0xe9, 0x4e, 0xb2, 0x3b, 0xee, 0x21, 0xc1, 0x6a, - 0x20, 0x25, 0x49, 0x83, 0xfe, 0xbc, 0x86, 0x3a, 0x07, 0x33, 0xd5, 0x33, 0xd4, 0x14, 0xce, 0xa4, - 0xb0, 0x3c, 0xda, 0xb7, 0xcc, 0x78, 0xbb, 0x91, 0x51, 0xd7, 0x15, 0xee, 0x68, 0xb5, 0x9f, 0x71, - 0x4b, 0x3d, 0x45, 0x2a, 0x70, 0x20, 0x7e, 0x76, 0x3b, 0x16, 0x7a, 0x93, 0x88, 0xbf, 0xd2, 0x58, - 0x53, 0x7a, 0xf2, 0x50, 0xb1, 0xdb, 0x42, 0x19, 0x0b, 0xe1, 0x3e, 0x8b, 0xab, 0x03, 0xf4, 0x6f, - 0x46, 0x7c, 0xe6, 0x12, 0xe0, 0x71, 0x81, 0xd6, 0x05, 0xfa, 0xb7, 0x0a, 0xe7, 0xa0, 0x85, 0x7e, - 0x55, 0x53, 0xd7, 0x1a, 0xa2, 0x91, 0x2e, 0xce, 0xdf, 0x05, 0x97, 0xef, 0x82, 0x1f, 0x4b, 0xc2, - 0x6a, 0x2d, 0x3e, 0x0c, 0x69, 0xfe, 0x69, 0xc8, 0xf6, 0x26, 0xad, 0x3f, 0x42, 0x7f, 0xca, 0x21, - 0x8c, 0x58, 0x02, 0xea, 0x15, 0x6a, 0x6d, 0x4d, 0x5f, 0x11, 0x25, 0xf7, 0xee, 0x56, 0xcd, 0xb5, - 0x9e, 0x95, 0xb4, 0xab, 0x0c, 0xeb, 0x61, 0xb1, 0xd2, 0xe5, 0xe5, 0x4a, 0x97, 0xbf, 0x56, 0xba, - 0x3c, 0x5f, 0xeb, 0xd2, 0x72, 0xad, 0x4b, 0xef, 0x6b, 0x5d, 0x7a, 0xba, 0xf4, 0x18, 0xbc, 0xa4, - 0x0e, 0x9e, 0xf2, 0xc0, 0xdc, 0xde, 0x8c, 0xcd, 0x31, 0x5f, 0xb1, 0xdd, 0xad, 0x71, 0x9a, 0x22, - 0x7e, 0xf1, 0x1d, 0x00, 0x00, 0xff, 0xff, 0x36, 0x45, 0x0d, 0x06, 0xba, 0x02, 0x00, 0x00, + // 386 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x92, 0xcf, 0x4a, 0xc3, 0x40, + 0x10, 0xc6, 0x93, 0xa6, 0x2d, 0x75, 0x15, 0x2d, 0xc1, 0x6a, 0x28, 0x92, 0x94, 0x5e, 0xda, 0x83, + 0xee, 0x82, 0x7a, 0xf4, 0x62, 0x50, 0xf0, 0x50, 0x44, 0x82, 0xf4, 0xe0, 0xa5, 0x6c, 0x9a, 0x35, + 0x5d, 0x48, 0xb2, 0x21, 0xd9, 0x54, 0xfa, 0x16, 0x7d, 0xac, 0x1e, 0x7b, 0xf4, 0xa4, 0xd2, 0xbe, + 0x88, 0x64, 0xf3, 0xa7, 0xd2, 0x16, 0xbc, 0x84, 0xec, 0x7c, 0xbf, 0x99, 0x6f, 0x76, 0x76, 0x80, + 0xc1, 0x49, 0xe0, 0x90, 0xc8, 0xa7, 0x01, 0x47, 0x7c, 0x16, 0x92, 0x18, 0x91, 0x29, 0x75, 0x48, + 0x30, 0x26, 0x30, 0x8c, 0x18, 0x67, 0x6a, 0x73, 0x03, 0x40, 0x01, 0xb4, 0x4f, 0x5d, 0xe6, 0x32, + 0x21, 0xa2, 0xf4, 0x2f, 0xe3, 0xda, 0x86, 0xcb, 0x98, 0xeb, 0x11, 0x24, 0x4e, 0x76, 0xf2, 0x8e, + 0x38, 0xf5, 0x49, 0xcc, 0xb1, 0x1f, 0xe6, 0xc0, 0xc5, 0x8e, 0x93, 0xf8, 0x66, 0x6a, 0x97, 0x83, + 0xc6, 0x63, 0x6e, 0xac, 0x62, 0x70, 0xee, 0x24, 0xa1, 0x47, 0xc7, 0x98, 0x93, 0xd1, 0x94, 0x71, + 0x32, 0x2a, 0x7a, 0xd2, 0xe4, 0x8e, 0xdc, 0x3f, 0xbc, 0xee, 0xc1, 0xed, 0xa6, 0xe0, 0x43, 0x91, + 0x30, 0x64, 0x9c, 0x14, 0x95, 0x9e, 0x24, 0xab, 0xe5, 0xec, 0x13, 0xcc, 0x1a, 0x50, 0xe2, 0xc4, + 0xef, 0xce, 0x2b, 0xa0, 0xb5, 0x37, 0x53, 0xbd, 0x02, 0x75, 0xe1, 0x8c, 0x73, 0xcb, 0xb3, 0x5d, + 0xcb, 0x94, 0xb7, 0x6a, 0x29, 0x75, 0x5f, 0xe2, 0xb6, 0x56, 0xf9, 0x1f, 0x37, 0xd5, 0x4b, 0xa0, + 0x72, 0xc6, 0xb1, 0x97, 0xde, 0x8e, 0x06, 0xee, 0x28, 0x64, 0x1f, 0x24, 0xd2, 0x94, 0x8e, 0xdc, + 0x57, 0xac, 0xa6, 0x50, 0x86, 0x42, 0x78, 0x49, 0xe3, 0x6a, 0x0f, 0x9c, 0x4c, 0xb1, 0x47, 0x1d, + 0xcc, 0x59, 0x94, 0xa3, 0x55, 0x81, 0x1e, 0x97, 0xe1, 0x0c, 0x34, 0xc1, 0x41, 0x39, 0x75, 0xad, + 0x26, 0x1a, 0x69, 0xc3, 0xec, 0x5d, 0x60, 0xf1, 0x2e, 0xf0, 0xb5, 0x20, 0xcc, 0xc6, 0xe2, 0xcb, + 0x90, 0xe6, 0xdf, 0x86, 0x6c, 0x6d, 0xd2, 0xba, 0x03, 0x70, 0x54, 0x0c, 0x61, 0x40, 0x63, 0xae, + 0xde, 0x81, 0xc6, 0x9f, 0xe9, 0x2b, 0xa2, 0xe4, 0xce, 0xdd, 0xca, 0xb9, 0x56, 0xd3, 0x92, 0x56, + 0x99, 0x61, 0x3e, 0x2f, 0x56, 0xba, 0xbc, 0x5c, 0xe9, 0xf2, 0xcf, 0x4a, 0x97, 0xe7, 0x6b, 0x5d, + 0x5a, 0xae, 0x75, 0xe9, 0x73, 0xad, 0x4b, 0x6f, 0xb7, 0x2e, 0xe5, 0x93, 0xc4, 0x86, 0x63, 0xe6, + 0x23, 0x07, 0xc7, 0x93, 0x10, 0xcf, 0x50, 0x56, 0x37, 0x3d, 0x65, 0x6b, 0x84, 0xb6, 0x57, 0xc6, + 0xae, 0x8b, 0xf8, 0xcd, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x7c, 0xdf, 0x62, 0x23, 0xb7, 0x02, + 0x00, 0x00, } func (m *Evidence) Marshal() (dAtA []byte, err error) { diff --git a/proto/tendermint/types/evidence.proto b/proto/tendermint/types/evidence.proto index b09ae65715..00fcf75929 100644 --- a/proto/tendermint/types/evidence.proto +++ b/proto/tendermint/types/evidence.proto @@ -1,7 +1,7 @@ syntax = "proto3"; package tendermint.types; -option go_package = "github.com/tendermint/tendermint/proto/tendermint/types"; +option go_package = "github.com/dashpay/tenderdash/proto/tendermint/types"; import "gogoproto/gogo.proto"; import "google/protobuf/timestamp.proto"; diff --git a/proto/tendermint/types/params.pb.go b/proto/tendermint/types/params.pb.go index 0eb30849b9..1d48708289 100644 --- a/proto/tendermint/types/params.pb.go +++ b/proto/tendermint/types/params.pb.go @@ -636,53 +636,53 @@ func init() { func init() { proto.RegisterFile("tendermint/types/params.proto", fileDescriptor_e12598271a686f57) } var fileDescriptor_e12598271a686f57 = []byte{ - // 723 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x95, 0xdf, 0x6e, 0xd3, 0x30, - 0x14, 0xc6, 0x9b, 0xb5, 0xeb, 0xda, 0xd3, 0x75, 0x9d, 0x0c, 0x88, 0x30, 0x58, 0x3a, 0x72, 0x81, - 0x26, 0x4d, 0x4a, 0xa7, 0x4d, 0x68, 0x42, 0xe2, 0x8f, 0xd6, 0x16, 0x01, 0x42, 0x43, 0x28, 0x0c, - 0x2e, 0x76, 0x13, 0x39, 0xa9, 0x49, 0xa3, 0x35, 0x71, 0x14, 0x27, 0x55, 0xf3, 0x16, 0x5c, 0x21, - 0x1e, 0x01, 0x6e, 0x78, 0x8e, 0x5d, 0xee, 0x92, 0x2b, 0x40, 0xdd, 0x1b, 0xf0, 0x04, 0xc8, 0x8e, - 0xb3, 0xae, 0x1d, 0x63, 0xbd, 0x8a, 0xe3, 0xf3, 0xfd, 0x7c, 0xe2, 0xef, 0x9c, 0xd8, 0xb0, 0x1e, - 0x93, 0xa0, 0x47, 0x22, 0xdf, 0x0b, 0xe2, 0x56, 0x9c, 0x86, 0x84, 0xb5, 0x42, 0x1c, 0x61, 0x9f, - 0x19, 0x61, 0x44, 0x63, 0x8a, 0x56, 0x27, 0x61, 0x43, 0x84, 0xd7, 0x6e, 0xba, 0xd4, 0xa5, 0x22, - 0xd8, 0xe2, 0xa3, 0x4c, 0xb7, 0xa6, 0xb9, 0x94, 0xba, 0x03, 0xd2, 0x12, 0x6f, 0x76, 0xf2, 0xb1, - 0xd5, 0x4b, 0x22, 0x1c, 0x7b, 0x34, 0xc8, 0xe2, 0xfa, 0xf7, 0x22, 0x34, 0x3a, 0x34, 0x60, 0x24, - 0x60, 0x09, 0x7b, 0x2b, 0x32, 0xa0, 0x5d, 0x58, 0xb4, 0x07, 0xd4, 0x39, 0x56, 0x95, 0x0d, 0x65, - 0xb3, 0xb6, 0xb3, 0x6e, 0xcc, 0xe6, 0x32, 0xda, 0x3c, 0x9c, 0xa9, 0xcd, 0x4c, 0x8b, 0x1e, 0x43, - 0x85, 0x0c, 0xbd, 0x1e, 0x09, 0x1c, 0xa2, 0x2e, 0x08, 0x6e, 0xe3, 0x32, 0xf7, 0x5c, 0x2a, 0x24, - 0x7a, 0x4e, 0xa0, 0x67, 0x50, 0x1d, 0xe2, 0x81, 0xd7, 0xc3, 0x31, 0x8d, 0xd4, 0xa2, 0xc0, 0xef, - 0x5f, 0xc6, 0x3f, 0xe4, 0x12, 0xc9, 0x4f, 0x18, 0xf4, 0x08, 0x96, 0x86, 0x24, 0x62, 0x1e, 0x0d, - 0xd4, 0x92, 0xc0, 0x9b, 0xff, 0xc0, 0x33, 0x81, 0x84, 0x73, 0x3d, 0xcf, 0xcd, 0xd2, 0xc0, 0xe9, - 0x47, 0x34, 0x48, 0xd5, 0xc5, 0xab, 0x72, 0xbf, 0xcb, 0x25, 0x79, 0xee, 0x73, 0x86, 0xe7, 0x8e, - 0x3d, 0x9f, 0xd0, 0x24, 0x56, 0xcb, 0x57, 0xe5, 0x3e, 0xcc, 0x04, 0x79, 0x6e, 0xa9, 0x47, 0xdb, - 0x50, 0xc2, 0xb6, 0xe3, 0xa9, 0x4b, 0x82, 0xbb, 0x77, 0x99, 0xdb, 0x6f, 0x77, 0x5e, 0x49, 0x48, - 0x28, 0xf5, 0x0e, 0xd4, 0x2e, 0xb8, 0x8f, 0xee, 0x42, 0xd5, 0xc7, 0x23, 0xcb, 0x4e, 0x63, 0xc2, - 0x44, 0xbd, 0x8a, 0x66, 0xc5, 0xc7, 0xa3, 0x36, 0x7f, 0x47, 0xb7, 0x61, 0x89, 0x07, 0x5d, 0xcc, - 0x44, 0x49, 0x8a, 0x66, 0xd9, 0xc7, 0xa3, 0x17, 0x98, 0xe9, 0xdf, 0x14, 0x58, 0x99, 0xae, 0x05, - 0xda, 0x02, 0xc4, 0xb5, 0xd8, 0x25, 0x56, 0x90, 0xf8, 0x96, 0x28, 0x6a, 0xbe, 0x62, 0xc3, 0xc7, - 0xa3, 0x7d, 0x97, 0xbc, 0x49, 0x7c, 0x91, 0x9a, 0xa1, 0x03, 0x58, 0xcd, 0xc5, 0x79, 0x3f, 0xc9, - 0xa2, 0xdf, 0x31, 0xb2, 0x86, 0x33, 0xf2, 0x86, 0x33, 0xba, 0x52, 0xd0, 0xae, 0x9c, 0xfc, 0x6c, - 0x16, 0xbe, 0xfc, 0x6a, 0x2a, 0xe6, 0x4a, 0xb6, 0x5e, 0x1e, 0x99, 0xde, 0x44, 0x71, 0x7a, 0x13, - 0xfa, 0x43, 0x68, 0xcc, 0xd4, 0x1d, 0xe9, 0x50, 0x0f, 0x13, 0xdb, 0x3a, 0x26, 0xa9, 0x25, 0x5c, - 0x52, 0x95, 0x8d, 0xe2, 0x66, 0xd5, 0xac, 0x85, 0x89, 0xfd, 0x9a, 0xa4, 0x87, 0x7c, 0x4a, 0xdf, - 0x86, 0xfa, 0x54, 0xbd, 0x51, 0x13, 0x6a, 0x38, 0x0c, 0xad, 0xbc, 0x4b, 0xf8, 0xce, 0x4a, 0x26, - 0xe0, 0x30, 0x94, 0x32, 0xfd, 0x08, 0x96, 0x5f, 0x62, 0xd6, 0x27, 0x3d, 0x09, 0x3c, 0x80, 0x86, - 0x70, 0xc1, 0x9a, 0x35, 0xb8, 0x2e, 0xa6, 0x0f, 0x72, 0x97, 0x75, 0xa8, 0x4f, 0x74, 0x13, 0xaf, - 0x6b, 0xb9, 0x8a, 0x1b, 0xfe, 0x59, 0x81, 0xc6, 0x4c, 0x07, 0xa1, 0x2e, 0xd4, 0x7d, 0xc2, 0x98, - 0x30, 0x91, 0x0c, 0x70, 0x2a, 0x7f, 0xb7, 0xff, 0x38, 0x58, 0x12, 0xee, 0x2d, 0x4b, 0xaa, 0xcb, - 0x21, 0xf4, 0x04, 0xaa, 0x61, 0x44, 0x1c, 0x8f, 0xcd, 0x55, 0x83, 0x6c, 0x85, 0x09, 0xa1, 0xff, - 0x59, 0x80, 0xfa, 0x54, 0x6f, 0xf2, 0x6e, 0x0e, 0x23, 0x1a, 0x52, 0x46, 0xe6, 0xfd, 0xa0, 0x5c, - 0xcf, 0x77, 0x24, 0x87, 0x7c, 0x47, 0x31, 0x9e, 0xf7, 0x7b, 0x96, 0x25, 0xd5, 0xe5, 0x10, 0xda, - 0x85, 0xd2, 0x90, 0xc6, 0x44, 0x1e, 0x03, 0xd7, 0xc2, 0x42, 0x8c, 0x9e, 0x02, 0xf0, 0xa7, 0xcc, - 0x5b, 0x9a, 0xd3, 0x07, 0x8e, 0x64, 0x49, 0xf7, 0xa0, 0xec, 0x50, 0xdf, 0xf7, 0x62, 0x79, 0x02, - 0x5c, 0xcb, 0x4a, 0x39, 0xda, 0x81, 0x5b, 0x76, 0x1a, 0x62, 0xc6, 0xac, 0x6c, 0xc2, 0xba, 0x78, - 0x14, 0x54, 0xcc, 0x1b, 0x59, 0xb0, 0x23, 0x62, 0xd2, 0x68, 0x7d, 0x0b, 0x60, 0xf2, 0x5f, 0xa3, - 0x75, 0x80, 0x88, 0x38, 0x7d, 0xe2, 0x1c, 0x5b, 0xf1, 0x48, 0x78, 0x5e, 0x31, 0xab, 0x72, 0xe6, - 0x70, 0xd4, 0x7e, 0xff, 0x75, 0xac, 0x29, 0x27, 0x63, 0x4d, 0x39, 0x1d, 0x6b, 0xca, 0xef, 0xb1, - 0xa6, 0x7c, 0x3a, 0xd3, 0x0a, 0xa7, 0x67, 0x5a, 0xe1, 0xc7, 0x99, 0x56, 0x38, 0xda, 0x73, 0xbd, - 0xb8, 0x9f, 0xd8, 0x86, 0x43, 0xfd, 0xd6, 0xc5, 0x1b, 0x63, 0x32, 0xcc, 0xae, 0x84, 0xd9, 0xdb, - 0xc4, 0x2e, 0x8b, 0xf9, 0xdd, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xd1, 0x6f, 0x05, 0x4e, 0x68, - 0x06, 0x00, 0x00, + // 731 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x95, 0xcf, 0x6e, 0xd3, 0x4a, + 0x14, 0xc6, 0xe3, 0x26, 0x4d, 0x93, 0x93, 0xa6, 0xa9, 0xe6, 0xde, 0xab, 0xeb, 0xdb, 0x4b, 0x9d, + 0xe2, 0x05, 0xaa, 0x54, 0xc9, 0xae, 0x5a, 0x10, 0x42, 0xe2, 0x8f, 0x9a, 0x04, 0x01, 0x42, 0x45, + 0xc8, 0x54, 0x2c, 0xba, 0xb1, 0xc6, 0xce, 0xe0, 0x58, 0x8d, 0x3d, 0x96, 0xc7, 0x8e, 0xe2, 0xb7, + 0x60, 0x85, 0x78, 0x04, 0xd8, 0xf0, 0x1c, 0x5d, 0x76, 0xc9, 0x0a, 0x50, 0xfa, 0x06, 0x3c, 0x01, + 0x9a, 0xf1, 0xb8, 0x69, 0x52, 0x4a, 0xb3, 0x8a, 0x3d, 0xe7, 0xfb, 0xf9, 0xf3, 0x7c, 0xe7, 0x78, + 0x02, 0x9b, 0x09, 0x09, 0xfb, 0x24, 0x0e, 0xfc, 0x30, 0x31, 0x93, 0x2c, 0x22, 0xcc, 0x8c, 0x70, + 0x8c, 0x03, 0x66, 0x44, 0x31, 0x4d, 0x28, 0x5a, 0x9f, 0x96, 0x0d, 0x51, 0xde, 0xf8, 0xdb, 0xa3, + 0x1e, 0x15, 0x45, 0x93, 0x5f, 0xe5, 0xba, 0x0d, 0xcd, 0xa3, 0xd4, 0x1b, 0x12, 0x53, 0xdc, 0x39, + 0xe9, 0x3b, 0xb3, 0x9f, 0xc6, 0x38, 0xf1, 0x69, 0x98, 0xd7, 0xf5, 0x2f, 0x65, 0x68, 0x75, 0x69, + 0xc8, 0x48, 0xc8, 0x52, 0xf6, 0x5a, 0x38, 0xa0, 0x7d, 0x58, 0x76, 0x86, 0xd4, 0x3d, 0x51, 0x95, + 0x2d, 0x65, 0xbb, 0xb1, 0xb7, 0x69, 0xcc, 0x7b, 0x19, 0x1d, 0x5e, 0xce, 0xd5, 0x56, 0xae, 0x45, + 0x0f, 0xa1, 0x46, 0x46, 0x7e, 0x9f, 0x84, 0x2e, 0x51, 0x97, 0x04, 0xb7, 0x75, 0x95, 0x7b, 0x2a, + 0x15, 0x12, 0xbd, 0x20, 0xd0, 0x13, 0xa8, 0x8f, 0xf0, 0xd0, 0xef, 0xe3, 0x84, 0xc6, 0x6a, 0x59, + 0xe0, 0xb7, 0xaf, 0xe2, 0x6f, 0x0b, 0x89, 0xe4, 0xa7, 0x0c, 0x7a, 0x00, 0x2b, 0x23, 0x12, 0x33, + 0x9f, 0x86, 0x6a, 0x45, 0xe0, 0xed, 0xdf, 0xe0, 0xb9, 0x40, 0xc2, 0x85, 0x9e, 0x7b, 0xb3, 0x2c, + 0x74, 0x07, 0x31, 0x0d, 0x33, 0x75, 0xf9, 0x3a, 0xef, 0x37, 0x85, 0xa4, 0xf0, 0xbe, 0x60, 0xb8, + 0x77, 0xe2, 0x07, 0x84, 0xa6, 0x89, 0x5a, 0xbd, 0xce, 0xfb, 0x28, 0x17, 0x14, 0xde, 0x52, 0x8f, + 0x76, 0xa1, 0x82, 0x1d, 0xd7, 0x57, 0x57, 0x04, 0x77, 0xeb, 0x2a, 0x77, 0xd0, 0xe9, 0xbe, 0x90, + 0x90, 0x50, 0xea, 0x5d, 0x68, 0x5c, 0x4a, 0x1f, 0xfd, 0x0f, 0xf5, 0x00, 0x8f, 0x6d, 0x27, 0x4b, + 0x08, 0x13, 0xfd, 0x2a, 0x5b, 0xb5, 0x00, 0x8f, 0x3b, 0xfc, 0x1e, 0xfd, 0x0b, 0x2b, 0xbc, 0xe8, + 0x61, 0x26, 0x5a, 0x52, 0xb6, 0xaa, 0x01, 0x1e, 0x3f, 0xc3, 0x4c, 0xff, 0xac, 0xc0, 0xda, 0x6c, + 0x2f, 0xd0, 0x0e, 0x20, 0xae, 0xc5, 0x1e, 0xb1, 0xc3, 0x34, 0xb0, 0x45, 0x53, 0x8b, 0x27, 0xb6, + 0x02, 0x3c, 0x3e, 0xf0, 0xc8, 0xab, 0x34, 0x10, 0xd6, 0x0c, 0x1d, 0xc2, 0x7a, 0x21, 0x2e, 0xe6, + 0x49, 0x36, 0xfd, 0x3f, 0x23, 0x1f, 0x38, 0xa3, 0x18, 0x38, 0xa3, 0x27, 0x05, 0x9d, 0xda, 0xe9, + 0xb7, 0x76, 0xe9, 0xe3, 0xf7, 0xb6, 0x62, 0xad, 0xe5, 0xcf, 0x2b, 0x2a, 0xb3, 0x9b, 0x28, 0xcf, + 0x6e, 0x42, 0xbf, 0x07, 0xad, 0xb9, 0xbe, 0x23, 0x1d, 0x9a, 0x51, 0xea, 0xd8, 0x27, 0x24, 0xb3, + 0x45, 0x4a, 0xaa, 0xb2, 0x55, 0xde, 0xae, 0x5b, 0x8d, 0x28, 0x75, 0x5e, 0x92, 0xec, 0x88, 0x2f, + 0xe9, 0xbb, 0xd0, 0x9c, 0xe9, 0x37, 0x6a, 0x43, 0x03, 0x47, 0x91, 0x5d, 0x4c, 0x09, 0xdf, 0x59, + 0xc5, 0x02, 0x1c, 0x45, 0x52, 0xa6, 0x1f, 0xc3, 0xea, 0x73, 0xcc, 0x06, 0xa4, 0x2f, 0x81, 0x3b, + 0xd0, 0x12, 0x29, 0xd8, 0xf3, 0x01, 0x37, 0xc5, 0xf2, 0x61, 0x91, 0xb2, 0x0e, 0xcd, 0xa9, 0x6e, + 0x9a, 0x75, 0xa3, 0x50, 0xf1, 0xc0, 0x3f, 0x28, 0xd0, 0x9a, 0x9b, 0x20, 0xd4, 0x83, 0x66, 0x40, + 0x18, 0x13, 0x21, 0x92, 0x21, 0xce, 0xe4, 0xe7, 0xf6, 0x87, 0x04, 0x2b, 0x22, 0xbd, 0x55, 0x49, + 0xf5, 0x38, 0x84, 0x1e, 0x41, 0x3d, 0x8a, 0x89, 0xeb, 0xb3, 0x85, 0x7a, 0x90, 0x3f, 0x61, 0x4a, + 0xe8, 0x3f, 0x97, 0xa0, 0x39, 0x33, 0x9b, 0x7c, 0x9a, 0xa3, 0x98, 0x46, 0x94, 0x91, 0x45, 0x5f, + 0xa8, 0xd0, 0xf3, 0x1d, 0xc9, 0x4b, 0xbe, 0xa3, 0x04, 0x2f, 0xfa, 0x3e, 0xab, 0x92, 0xea, 0x71, + 0x08, 0xed, 0x43, 0x65, 0x44, 0x13, 0x22, 0x8f, 0x81, 0x1b, 0x61, 0x21, 0x46, 0x8f, 0x01, 0xf8, + 0xaf, 0xf4, 0xad, 0x2c, 0x98, 0x03, 0x47, 0x72, 0xd3, 0xfb, 0x50, 0x75, 0x69, 0x10, 0xf8, 0x89, + 0x3c, 0x01, 0x6e, 0x64, 0xa5, 0x1c, 0xed, 0xc1, 0x3f, 0x4e, 0x16, 0x61, 0xc6, 0xec, 0x7c, 0xc1, + 0xbe, 0x7c, 0x14, 0xd4, 0xac, 0xbf, 0xf2, 0x62, 0x57, 0xd4, 0x64, 0xd0, 0xfa, 0x0e, 0xc0, 0xf4, + 0xbb, 0x46, 0x9b, 0x00, 0x31, 0x71, 0x07, 0xc4, 0x3d, 0xb1, 0x93, 0xb1, 0xc8, 0xbc, 0x66, 0xd5, + 0xe5, 0xca, 0xd1, 0xb8, 0x63, 0x7d, 0x9a, 0x68, 0xca, 0xe9, 0x44, 0x53, 0xce, 0x26, 0x9a, 0xf2, + 0x63, 0xa2, 0x29, 0xef, 0xcf, 0xb5, 0xd2, 0xd9, 0xb9, 0x56, 0xfa, 0x7a, 0xae, 0x95, 0x8e, 0xef, + 0x7a, 0x7e, 0x32, 0x48, 0x1d, 0xc3, 0xa5, 0x81, 0xd9, 0xc7, 0x6c, 0x10, 0xe1, 0xcc, 0xcc, 0x0f, + 0x11, 0x7e, 0x97, 0x1f, 0xfb, 0xe6, 0xfc, 0x5f, 0x89, 0x53, 0x15, 0xeb, 0xfb, 0xbf, 0x02, 0x00, + 0x00, 0xff, 0xff, 0xaa, 0x0f, 0x78, 0xde, 0x65, 0x06, 0x00, 0x00, } func (this *ConsensusParams) Equal(that interface{}) bool { diff --git a/proto/tendermint/types/params.proto b/proto/tendermint/types/params.proto index b8139b20be..302ca71971 100644 --- a/proto/tendermint/types/params.proto +++ b/proto/tendermint/types/params.proto @@ -1,7 +1,7 @@ syntax = "proto3"; package tendermint.types; -option go_package = "github.com/tendermint/tendermint/proto/tendermint/types"; +option go_package = "github.com/dashpay/tenderdash/proto/tendermint/types"; import "gogoproto/gogo.proto"; import "google/protobuf/duration.proto"; diff --git a/proto/tendermint/types/types.go b/proto/tendermint/types/types.go index 7d96f13248..c32a9a1406 100644 --- a/proto/tendermint/types/types.go +++ b/proto/tendermint/types/types.go @@ -4,9 +4,9 @@ import ( "bytes" "fmt" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/internal/libs/protoio" - tmbytes "github.com/tendermint/tendermint/libs/bytes" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/internal/libs/protoio" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" ) // IsZero returns true when the object is a zero-value or nil diff --git a/proto/tendermint/types/types.pb.go b/proto/tendermint/types/types.pb.go index 092e0c4da1..07ec7decc8 100644 --- a/proto/tendermint/types/types.pb.go +++ b/proto/tendermint/types/types.pb.go @@ -6,12 +6,12 @@ package types import ( encoding_binary "encoding/binary" fmt "fmt" + crypto "github.com/dashpay/tenderdash/proto/tendermint/crypto" + version "github.com/dashpay/tenderdash/proto/tendermint/version" _ "github.com/gogo/protobuf/gogoproto" proto "github.com/gogo/protobuf/proto" _ "github.com/gogo/protobuf/types" github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" - crypto "github.com/tendermint/tendermint/proto/tendermint/crypto" - version "github.com/tendermint/tendermint/proto/tendermint/version" io "io" math "math" math_bits "math/bits" @@ -1150,106 +1150,106 @@ func init() { func init() { proto.RegisterFile("tendermint/types/types.proto", fileDescriptor_d3a6e55e2345de56) } var fileDescriptor_d3a6e55e2345de56 = []byte{ - // 1569 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x57, 0xcf, 0x6f, 0x1b, 0xc5, - 0x17, 0xf7, 0xc6, 0xbf, 0x9f, 0x7f, 0xc4, 0xd9, 0x26, 0xad, 0xe3, 0xb6, 0xf6, 0x7e, 0xfd, 0x15, - 0x34, 0x20, 0x70, 0x4a, 0x8b, 0x28, 0x54, 0xe2, 0x10, 0x3b, 0x69, 0x63, 0x35, 0x3f, 0xcc, 0xda, - 0x0d, 0x02, 0x0e, 0xab, 0x8d, 0x77, 0x6a, 0x9b, 0xda, 0xbb, 0xcb, 0xee, 0x38, 0x38, 0x3d, 0x71, - 0xa3, 0xca, 0xa9, 0x07, 0x84, 0x7a, 0x89, 0x44, 0x05, 0x07, 0xfe, 0x03, 0xee, 0x9c, 0x7a, 0xec, - 0x0d, 0x0e, 0x28, 0xa0, 0xf4, 0x5f, 0xe0, 0x0c, 0x68, 0xde, 0xcc, 0xda, 0xeb, 0x1f, 0x0d, 0x55, - 0x0f, 0x5c, 0xac, 0x9d, 0xf7, 0x3e, 0x6f, 0xe6, 0xbd, 0xcf, 0x7c, 0xde, 0xcc, 0x18, 0x2e, 0x51, - 0x62, 0x1a, 0xc4, 0xe9, 0x75, 0x4c, 0xba, 0x4a, 0x0f, 0x6d, 0xe2, 0xf2, 0xdf, 0x92, 0xed, 0x58, - 0xd4, 0x92, 0x33, 0x23, 0x6f, 0x09, 0xed, 0xb9, 0xc5, 0x96, 0xd5, 0xb2, 0xd0, 0xb9, 0xca, 0xbe, - 0x38, 0x2e, 0x57, 0x68, 0x59, 0x56, 0xab, 0x4b, 0x56, 0x71, 0xb4, 0xdf, 0xbf, 0xb7, 0x4a, 0x3b, - 0x3d, 0xe2, 0x52, 0xbd, 0x67, 0x0b, 0xc0, 0x65, 0xdf, 0x32, 0x4d, 0xe7, 0xd0, 0xa6, 0x16, 0xc3, - 0x5a, 0xf7, 0x84, 0x3b, 0xef, 0x73, 0x1f, 0x10, 0xc7, 0xed, 0x58, 0xa6, 0x3f, 0x8f, 0xdc, 0xc5, - 0xa9, 0x2c, 0x0d, 0xdd, 0x6d, 0x0b, 0xa7, 0x32, 0xe5, 0x3c, 0xd0, 0xbb, 0x1d, 0x43, 0xa7, 0x96, - 0xc3, 0x11, 0xc5, 0x0f, 0x20, 0x55, 0xd3, 0x1d, 0x5a, 0x27, 0x74, 0x93, 0xe8, 0x06, 0x71, 0xe4, - 0x45, 0x08, 0x53, 0x8b, 0xea, 0xdd, 0xac, 0xa4, 0x48, 0x2b, 0x29, 0x95, 0x0f, 0x64, 0x19, 0x42, - 0x6d, 0xdd, 0x6d, 0x67, 0xe7, 0x14, 0x69, 0x25, 0xa9, 0xe2, 0x77, 0xb1, 0x0d, 0x21, 0x16, 0xca, - 0x22, 0x3a, 0xa6, 0x41, 0x06, 0x5e, 0x04, 0x0e, 0x98, 0x75, 0xff, 0x90, 0x12, 0x57, 0x84, 0xf0, - 0x81, 0xfc, 0x2e, 0x84, 0xb1, 0xb8, 0x6c, 0x50, 0x91, 0x56, 0x12, 0xd7, 0xb2, 0x25, 0x1f, 0x8b, - 0xbc, 0xf8, 0x52, 0x8d, 0xf9, 0xcb, 0xa1, 0xa7, 0x27, 0x85, 0x80, 0xca, 0xc1, 0xc5, 0x6f, 0x24, - 0x88, 0x96, 0xbb, 0x56, 0xf3, 0x7e, 0x75, 0x7d, 0x98, 0x89, 0x34, 0xca, 0x44, 0xde, 0x86, 0x79, - 0x5b, 0x77, 0xa8, 0xe6, 0x12, 0xaa, 0xb5, 0xb1, 0x0c, 0x5c, 0x35, 0x71, 0xad, 0x50, 0x9a, 0xdc, - 0xa5, 0xd2, 0x58, 0xb5, 0x62, 0x99, 0x94, 0x3d, 0x46, 0xc1, 0xeb, 0x10, 0x73, 0xa9, 0x4e, 0x89, - 0xd6, 0x31, 0x30, 0xcf, 0x64, 0x39, 0x71, 0x7a, 0x52, 0x88, 0xd6, 0x99, 0xad, 0xba, 0xae, 0x46, - 0xd1, 0x59, 0x35, 0x8a, 0x7f, 0x4a, 0xe0, 0x19, 0xe5, 0x55, 0x48, 0xe8, 0xb6, 0xad, 0x89, 0x1d, - 0xc2, 0xec, 0x22, 0xe5, 0xf4, 0xe9, 0x49, 0x01, 0xd6, 0x6c, 0x7b, 0x8f, 0x5b, 0x55, 0xd0, 0x87, - 0xdf, 0xf2, 0x79, 0x88, 0xb4, 0x49, 0xa7, 0xd5, 0xa6, 0x98, 0x6a, 0x44, 0x15, 0x23, 0xb6, 0x38, - 0x9b, 0x08, 0x6b, 0xf4, 0x2d, 0xbe, 0x66, 0xdb, 0x9b, 0xba, 0xdb, 0x56, 0xa3, 0x3a, 0xff, 0x90, - 0x55, 0xc8, 0x36, 0x2d, 0x87, 0x68, 0xcd, 0xb6, 0xde, 0x31, 0x35, 0x46, 0x0e, 0x31, 0x34, 0x31, - 0x63, 0x48, 0x91, 0x56, 0xa2, 0xe5, 0xe5, 0xd3, 0x93, 0xc2, 0x52, 0xc5, 0x72, 0x48, 0x85, 0x41, - 0xb6, 0x10, 0xb1, 0x89, 0x00, 0x75, 0xa9, 0x39, 0xcb, 0xcc, 0xb8, 0x65, 0xea, 0xcc, 0x86, 0x31, - 0x23, 0xfc, 0xbe, 0x99, 0x79, 0xfc, 0x5d, 0x21, 0xf0, 0xf0, 0x49, 0x41, 0x7a, 0xfc, 0xa4, 0x20, - 0x7d, 0xf5, 0x9b, 0x12, 0x28, 0xfe, 0x15, 0x86, 0x88, 0x60, 0xea, 0x43, 0x88, 0xfa, 0x2b, 0x4e, - 0x5c, 0xbb, 0xec, 0x27, 0x5c, 0xb8, 0x4a, 0x15, 0xcb, 0x74, 0x89, 0xe9, 0xf6, 0x5d, 0x41, 0xb7, - 0x17, 0xc3, 0x6a, 0xe5, 0xe9, 0x77, 0x0c, 0x64, 0x21, 0xce, 0x6b, 0xc5, 0xc4, 0x18, 0xd1, 0xe8, - 0xac, 0x1a, 0x3e, 0xae, 0x18, 0x23, 0xc1, 0x21, 0x57, 0xef, 0x8b, 0x7c, 0x43, 0xb8, 0x76, 0xae, - 0xc4, 0x5b, 0xad, 0xe4, 0xb5, 0x5a, 0xa9, 0xe1, 0xb5, 0x5a, 0x39, 0xc6, 0x16, 0x7e, 0xf4, 0x7b, - 0x41, 0xe2, 0x55, 0xc9, 0x15, 0x48, 0x75, 0x75, 0x97, 0x6a, 0xfb, 0x8c, 0x38, 0xb6, 0x7c, 0x18, - 0xa7, 0x58, 0x9e, 0xd6, 0x8b, 0xd0, 0x9d, 0x48, 0x3d, 0xc1, 0xa2, 0xb8, 0xc9, 0x90, 0x57, 0x20, - 0x83, 0x93, 0x34, 0xad, 0x5e, 0xaf, 0x43, 0xf9, 0x96, 0x45, 0x50, 0x96, 0x69, 0x66, 0xaf, 0xa0, - 0x19, 0x37, 0xeb, 0x22, 0xc4, 0x0d, 0x9d, 0xea, 0x1c, 0x12, 0x45, 0x48, 0x8c, 0x19, 0xd0, 0x79, - 0x05, 0xe6, 0x87, 0x5d, 0xe9, 0x72, 0x48, 0x8c, 0xcf, 0x32, 0x32, 0x23, 0xf0, 0x2a, 0x2c, 0x9a, - 0x64, 0x40, 0xb5, 0x49, 0x74, 0x1c, 0xd1, 0x32, 0xf3, 0xed, 0x8d, 0x47, 0xbc, 0x06, 0xe9, 0xa6, - 0x47, 0x3e, 0xc7, 0x02, 0x62, 0x53, 0x43, 0x2b, 0xc2, 0x4a, 0x70, 0x0e, 0x27, 0x9e, 0xc0, 0x26, - 0x10, 0xbb, 0xc0, 0x5c, 0x95, 0x31, 0xfc, 0xb2, 0x4f, 0xa3, 0x49, 0x04, 0x0d, 0x65, 0xf9, 0x3f, - 0x48, 0x3a, 0xc4, 0xed, 0x77, 0xa9, 0x98, 0x23, 0x85, 0xee, 0x84, 0xb0, 0x21, 0xe4, 0xff, 0x90, - 0x22, 0x07, 0x1d, 0x83, 0x98, 0x4d, 0xc2, 0x31, 0x69, 0xc4, 0x24, 0x3d, 0xa3, 0x57, 0xab, 0xed, - 0x58, 0xb6, 0xe5, 0x12, 0x43, 0xf3, 0x37, 0xd6, 0xbc, 0x22, 0xad, 0x84, 0x54, 0xd9, 0xf3, 0x8d, - 0x9a, 0x4b, 0x5e, 0x1d, 0x46, 0x38, 0x9a, 0xed, 0x58, 0x1a, 0x1d, 0xf0, 0xd9, 0x33, 0xbc, 0x0a, - 0xcf, 0x57, 0x73, 0xac, 0xc6, 0x00, 0x97, 0xb8, 0x71, 0x46, 0x07, 0x2d, 0xe0, 0x51, 0x36, 0xbb, - 0x4d, 0x8a, 0x59, 0x08, 0xad, 0xeb, 0x54, 0x97, 0x33, 0x10, 0xa4, 0x03, 0x37, 0x2b, 0x29, 0xc1, - 0x95, 0xa4, 0xca, 0x3e, 0x8b, 0x7f, 0xcf, 0x41, 0x68, 0xcf, 0xa2, 0x44, 0xbe, 0x0e, 0x21, 0x26, - 0x1f, 0xec, 0x8a, 0xf4, 0xac, 0x63, 0xa8, 0xde, 0x69, 0x99, 0xc4, 0xd8, 0x76, 0x5b, 0x8d, 0x43, - 0x9b, 0xa8, 0x08, 0x9e, 0x38, 0x12, 0x46, 0x32, 0x5f, 0x84, 0xb0, 0x63, 0xf5, 0x4d, 0x7e, 0x18, - 0x85, 0x55, 0x3e, 0x90, 0x37, 0x20, 0x36, 0x54, 0x6f, 0xe8, 0xdf, 0xd4, 0x3b, 0xcf, 0xd4, 0xcb, - 0x7a, 0x4b, 0x18, 0xd4, 0xe8, 0xbe, 0x10, 0xf1, 0x3b, 0xb0, 0x34, 0xd4, 0xd3, 0x18, 0x6f, 0x61, - 0xae, 0xaa, 0xa1, 0x73, 0x44, 0x9c, 0x5f, 0xb0, 0x1a, 0x3f, 0xfa, 0x23, 0x98, 0xd9, 0x48, 0xb0, - 0x55, 0xbc, 0x03, 0xae, 0xc0, 0x3c, 0x4f, 0xd1, 0xed, 0xb4, 0x4c, 0x9d, 0xf6, 0x1d, 0x22, 0xc4, - 0x9f, 0x46, 0x73, 0xdd, 0xb3, 0xca, 0x9b, 0x30, 0x7f, 0x60, 0x51, 0xa2, 0x91, 0x01, 0x25, 0x26, - 0xdb, 0x4d, 0x37, 0x1b, 0x53, 0x82, 0xb3, 0x0f, 0x70, 0xc6, 0xef, 0x86, 0x87, 0x53, 0xd3, 0x07, - 0xfe, 0xa1, 0x5b, 0xfc, 0x69, 0x0e, 0x22, 0xbc, 0xf1, 0x7c, 0x74, 0x4a, 0xb3, 0xe9, 0x9c, 0x7b, - 0x11, 0x9d, 0xc1, 0x57, 0xa7, 0xb3, 0x00, 0x89, 0x2f, 0xfa, 0x96, 0xd3, 0xef, 0x71, 0x12, 0x43, - 0x58, 0x2e, 0x70, 0x13, 0x92, 0x77, 0x13, 0x96, 0x69, 0xdb, 0x21, 0x6e, 0xdb, 0xea, 0x1a, 0xda, - 0x24, 0x3b, 0x9c, 0xf3, 0x0b, 0x43, 0x40, 0x79, 0x9c, 0xa6, 0xcf, 0xfc, 0xb1, 0x93, 0x84, 0x45, - 0x5e, 0x8e, 0xb0, 0xd1, 0xe4, 0x7b, 0xe3, 0xcc, 0xfd, 0x1c, 0x84, 0x58, 0x0d, 0x9b, 0x44, 0xef, - 0xfe, 0x17, 0xfa, 0xbd, 0x08, 0x71, 0xdb, 0xea, 0x6a, 0xdc, 0x13, 0x42, 0x4f, 0xcc, 0xb6, 0xba, - 0xea, 0xd4, 0x6e, 0x84, 0x5f, 0x7d, 0x37, 0xca, 0x10, 0x1f, 0x3e, 0xb7, 0x50, 0xa3, 0x2f, 0x7b, - 0x4b, 0x8c, 0xc2, 0xe4, 0x4b, 0x10, 0x9f, 0x94, 0xef, 0xc8, 0x70, 0xe6, 0x21, 0x12, 0x3b, 0xe3, - 0x10, 0x91, 0x1b, 0x70, 0x7e, 0x22, 0x50, 0xeb, 0xdb, 0x86, 0x4e, 0x09, 0x1e, 0xe7, 0x33, 0x37, - 0x72, 0xec, 0x2e, 0x57, 0xcf, 0x8d, 0xcd, 0x7b, 0x17, 0x63, 0x8b, 0x0e, 0x24, 0xf9, 0xce, 0x88, - 0x0b, 0xfa, 0x2a, 0xdb, 0x12, 0x7c, 0x10, 0x49, 0xd3, 0x0f, 0x2e, 0x3e, 0x2b, 0x47, 0xaa, 0x02, - 0xc7, 0x22, 0xf8, 0x7d, 0x26, 0x9e, 0x50, 0xd9, 0x59, 0x79, 0x30, 0xbf, 0x2a, 0x70, 0xc5, 0x6f, - 0x25, 0x80, 0x2d, 0x56, 0x13, 0xd2, 0xcf, 0xae, 0x56, 0x17, 0x53, 0xd0, 0xc6, 0x56, 0xce, 0xbf, - 0x48, 0x43, 0x62, 0xfd, 0xa4, 0xeb, 0xcf, 0xbb, 0x02, 0xa9, 0xd1, 0x11, 0xe3, 0x12, 0x2f, 0x99, - 0x19, 0x93, 0x0c, 0x6f, 0xbc, 0x3a, 0xa1, 0x6a, 0xf2, 0xc0, 0x37, 0x2a, 0x7e, 0x3d, 0x07, 0x71, - 0xcc, 0x69, 0x9b, 0x50, 0x7d, 0x4c, 0x52, 0xd2, 0xab, 0x4b, 0xea, 0x32, 0x80, 0xd7, 0xb5, 0x0f, - 0x88, 0x10, 0x7a, 0x5c, 0x1c, 0x67, 0x0f, 0x88, 0xfc, 0xde, 0x90, 0xf0, 0xe0, 0xd9, 0x84, 0x8b, - 0x07, 0x85, 0x47, 0xfb, 0x05, 0x88, 0x9a, 0xfd, 0x9e, 0xc6, 0xee, 0x93, 0x10, 0x6f, 0x1e, 0xb3, - 0xdf, 0x6b, 0x0c, 0xdc, 0x51, 0xf3, 0x84, 0xfd, 0xcd, 0xf3, 0x36, 0x9c, 0x6b, 0xeb, 0xae, 0x36, - 0xa1, 0x20, 0x94, 0x78, 0x4c, 0xcd, 0xb4, 0x75, 0x77, 0x4c, 0x2b, 0xc5, 0xcf, 0x21, 0xda, 0x18, - 0xe0, 0xc3, 0x9a, 0xb5, 0x9d, 0x63, 0x59, 0xe2, 0xb5, 0xc2, 0x1f, 0xd1, 0x31, 0x66, 0xc0, 0xc3, - 0x49, 0x86, 0x10, 0x7b, 0x96, 0x78, 0xcf, 0x7c, 0xf6, 0x2d, 0x97, 0x5e, 0xf2, 0xc9, 0x2e, 0x1e, - 0xeb, 0x6f, 0xfe, 0x22, 0x41, 0x42, 0xb0, 0x76, 0xab, 0xab, 0xb7, 0xd8, 0x05, 0x53, 0xde, 0xda, - 0xad, 0xdc, 0xd1, 0xaa, 0xeb, 0xda, 0xad, 0xad, 0xb5, 0xdb, 0xda, 0xdd, 0x9d, 0x3b, 0x3b, 0xbb, - 0x1f, 0xef, 0x64, 0x02, 0xb9, 0xf3, 0x47, 0xc7, 0x8a, 0xec, 0xc3, 0xde, 0x35, 0xef, 0x9b, 0xd6, - 0x97, 0x78, 0x95, 0x8f, 0x87, 0xac, 0x95, 0xeb, 0x1b, 0x3b, 0x8d, 0x8c, 0x94, 0x5b, 0x3a, 0x3a, - 0x56, 0x16, 0x7c, 0x11, 0x6b, 0xfb, 0x2e, 0x31, 0xe9, 0x74, 0x40, 0x65, 0x77, 0x7b, 0xbb, 0xda, - 0xc8, 0xcc, 0x4d, 0x05, 0x88, 0xbb, 0xe1, 0x0d, 0x58, 0x18, 0x0f, 0xd8, 0xa9, 0x6e, 0x65, 0x82, - 0x39, 0xf9, 0xe8, 0x58, 0x49, 0xfb, 0xd0, 0x3b, 0x9d, 0x6e, 0x2e, 0xf6, 0xf0, 0xfb, 0x7c, 0xe0, - 0xc7, 0x1f, 0xf2, 0x12, 0xab, 0x2c, 0x35, 0x76, 0xee, 0xc9, 0x6f, 0xc1, 0x85, 0x7a, 0xf5, 0xf6, - 0xce, 0xc6, 0xba, 0xb6, 0x5d, 0xbf, 0xad, 0x35, 0x3e, 0xa9, 0x6d, 0xf8, 0xaa, 0x9b, 0x3f, 0x3a, - 0x56, 0x12, 0xa2, 0xa4, 0x17, 0xa1, 0x6b, 0xea, 0xc6, 0xde, 0x6e, 0x63, 0x23, 0x23, 0x71, 0x74, - 0xcd, 0x21, 0xec, 0x58, 0x47, 0xf4, 0x55, 0x58, 0x9e, 0x81, 0x1e, 0x16, 0xb6, 0x70, 0x74, 0xac, - 0xa4, 0x6a, 0x0e, 0xe1, 0x4d, 0x88, 0x11, 0x25, 0xc8, 0x4e, 0x47, 0xec, 0xd6, 0x76, 0xeb, 0x6b, - 0x5b, 0x19, 0x25, 0x97, 0x39, 0x3a, 0x56, 0x92, 0xde, 0x01, 0xcf, 0xf0, 0xa3, 0xca, 0xca, 0x1f, - 0x3d, 0x3d, 0xcd, 0x4b, 0xcf, 0x4e, 0xf3, 0xd2, 0x1f, 0xa7, 0x79, 0xe9, 0xd1, 0xf3, 0x7c, 0xe0, - 0xd9, 0xf3, 0x7c, 0xe0, 0xd7, 0xe7, 0xf9, 0xc0, 0xa7, 0x37, 0x5a, 0x1d, 0xda, 0xee, 0xef, 0x97, - 0x9a, 0x56, 0x6f, 0xd5, 0xff, 0x67, 0x72, 0xf4, 0xc9, 0xff, 0xf1, 0x4e, 0xfe, 0xd1, 0xdc, 0x8f, - 0xa0, 0xfd, 0xfa, 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x19, 0x2e, 0x00, 0x12, 0x46, 0x0f, 0x00, - 0x00, + // 1572 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x57, 0xcd, 0x6f, 0x1b, 0x45, + 0x14, 0xf7, 0xc6, 0xdf, 0xe3, 0x8f, 0x38, 0xdb, 0xa4, 0x75, 0xdc, 0xd6, 0x5e, 0x8c, 0xa0, 0x01, + 0x81, 0x5d, 0xda, 0x8a, 0x8f, 0x4a, 0x1c, 0x62, 0x27, 0x6d, 0xac, 0x26, 0x8e, 0xb5, 0x76, 0x83, + 0x80, 0xc3, 0x6a, 0xe3, 0x9d, 0xda, 0xa6, 0xf6, 0xce, 0xb2, 0x3b, 0x0e, 0x4e, 0x4f, 0xdc, 0xa8, + 0x72, 0xea, 0x01, 0xa1, 0x5e, 0x22, 0x51, 0xc1, 0x81, 0xff, 0x80, 0x3b, 0xa7, 0x1e, 0x7b, 0x83, + 0x03, 0x0a, 0x28, 0xfd, 0x17, 0x38, 0x03, 0x9a, 0x37, 0xb3, 0xf6, 0xae, 0xed, 0x86, 0xaa, 0x07, + 0x2e, 0xd6, 0xce, 0x7b, 0xbf, 0x37, 0xf3, 0xde, 0x6f, 0x7e, 0x6f, 0x66, 0x8c, 0x2e, 0x51, 0x6c, + 0x1a, 0xd8, 0x1e, 0xf4, 0x4c, 0x5a, 0xa6, 0x87, 0x16, 0x76, 0xf8, 0x6f, 0xc9, 0xb2, 0x09, 0x25, + 0x72, 0x66, 0xe2, 0x2d, 0x81, 0x3d, 0xb7, 0xdc, 0x21, 0x1d, 0x02, 0xce, 0x32, 0xfb, 0xe2, 0xb8, + 0x5c, 0xa1, 0x43, 0x48, 0xa7, 0x8f, 0xcb, 0x30, 0xda, 0x1f, 0xde, 0x2b, 0xd3, 0xde, 0x00, 0x3b, + 0x54, 0x1f, 0x58, 0x02, 0x70, 0xd9, 0xb3, 0x4c, 0xdb, 0x3e, 0xb4, 0x28, 0x61, 0x58, 0x72, 0x4f, + 0xb8, 0xf3, 0x1e, 0xf7, 0x01, 0xb6, 0x9d, 0x1e, 0x31, 0xbd, 0x79, 0xe4, 0x2e, 0xce, 0x64, 0x69, + 0xe8, 0x4e, 0x57, 0x38, 0x95, 0x19, 0xe7, 0x81, 0xde, 0xef, 0x19, 0x3a, 0x25, 0x36, 0x47, 0x14, + 0x3f, 0x42, 0xa9, 0x86, 0x6e, 0xd3, 0x26, 0xa6, 0x5b, 0x58, 0x37, 0xb0, 0x2d, 0x2f, 0xa3, 0x30, + 0x25, 0x54, 0xef, 0x67, 0x25, 0x45, 0x5a, 0x4b, 0xa9, 0x7c, 0x20, 0xcb, 0x28, 0xd4, 0xd5, 0x9d, + 0x6e, 0x76, 0x41, 0x91, 0xd6, 0x92, 0x2a, 0x7c, 0x17, 0xbb, 0x28, 0xc4, 0x42, 0x59, 0x44, 0xcf, + 0x34, 0xf0, 0xc8, 0x8d, 0x80, 0x01, 0xb3, 0xee, 0x1f, 0x52, 0xec, 0x88, 0x10, 0x3e, 0x90, 0x6f, + 0xa0, 0x30, 0x14, 0x97, 0x0d, 0x2a, 0xd2, 0x5a, 0xe2, 0x5a, 0xb6, 0xe4, 0x61, 0x91, 0x17, 0x5f, + 0x6a, 0x30, 0x7f, 0x25, 0xf4, 0xf4, 0xa4, 0x10, 0x50, 0x39, 0xb8, 0xf8, 0xad, 0x84, 0xa2, 0x95, + 0x3e, 0x69, 0xdf, 0xaf, 0x6d, 0x8c, 0x33, 0x91, 0x26, 0x99, 0xc8, 0x3b, 0x68, 0xd1, 0xd2, 0x6d, + 0xaa, 0x39, 0x98, 0x6a, 0x5d, 0x28, 0x03, 0x56, 0x4d, 0x5c, 0x2b, 0x94, 0xa6, 0x77, 0xa9, 0xe4, + 0xab, 0x56, 0x2c, 0x93, 0xb2, 0x7c, 0x14, 0xbc, 0x89, 0x62, 0x0e, 0xd5, 0x29, 0xd6, 0x7a, 0x06, + 0xe4, 0x99, 0xac, 0x24, 0x4e, 0x4f, 0x0a, 0xd1, 0x26, 0xb3, 0xd5, 0x36, 0xd4, 0x28, 0x38, 0x6b, + 0x46, 0xf1, 0x2f, 0x09, 0xb9, 0x46, 0xb9, 0x8c, 0x12, 0xba, 0x65, 0x69, 0x62, 0x87, 0x20, 0xbb, + 0x48, 0x25, 0x7d, 0x7a, 0x52, 0x40, 0xeb, 0x96, 0xb5, 0xc7, 0xad, 0x2a, 0xd2, 0xc7, 0xdf, 0xf2, + 0x79, 0x14, 0xe9, 0xe2, 0x5e, 0xa7, 0x4b, 0x21, 0xd5, 0x88, 0x2a, 0x46, 0x6c, 0x71, 0x36, 0x11, + 0xd4, 0xe8, 0x59, 0x7c, 0xdd, 0xb2, 0xb6, 0x74, 0xa7, 0xab, 0x46, 0x75, 0xfe, 0x21, 0xab, 0x28, + 0xdb, 0x26, 0x36, 0xd6, 0xda, 0x5d, 0xbd, 0x67, 0x6a, 0x8c, 0x1c, 0x6c, 0x68, 0x62, 0xc6, 0x90, + 0x22, 0xad, 0x45, 0x2b, 0xab, 0xa7, 0x27, 0x85, 0x95, 0x2a, 0xb1, 0x71, 0x95, 0x41, 0xb6, 0x01, + 0xb1, 0x05, 0x00, 0x75, 0xa5, 0x3d, 0xcf, 0xcc, 0xb8, 0x65, 0xea, 0xcc, 0x86, 0x21, 0x23, 0xf8, + 0xbe, 0x99, 0x79, 0xfc, 0x7d, 0x21, 0xf0, 0xf0, 0x49, 0x41, 0x7a, 0xfc, 0xa4, 0x20, 0x7d, 0xfd, + 0xbb, 0x12, 0x28, 0xfe, 0x1d, 0x46, 0x11, 0xc1, 0xd4, 0xc7, 0x28, 0xea, 0xad, 0x38, 0x71, 0xed, + 0xb2, 0x97, 0x70, 0xe1, 0x2a, 0x55, 0x89, 0xe9, 0x60, 0xd3, 0x19, 0x3a, 0x82, 0x6e, 0x37, 0x86, + 0xd5, 0xca, 0xd3, 0xef, 0x19, 0xc0, 0x42, 0x9c, 0xd7, 0x0a, 0x89, 0x31, 0xa2, 0xc1, 0x59, 0x33, + 0x3c, 0x5c, 0x31, 0x46, 0x82, 0x63, 0xae, 0x3e, 0x14, 0xf9, 0x86, 0x60, 0xed, 0x5c, 0x89, 0xb7, + 0x5a, 0xc9, 0x6d, 0xb5, 0x52, 0xcb, 0x6d, 0xb5, 0x4a, 0x8c, 0x2d, 0xfc, 0xe8, 0x8f, 0x82, 0xc4, + 0xab, 0x92, 0xab, 0x28, 0xd5, 0xd7, 0x1d, 0xaa, 0xed, 0x33, 0xe2, 0xd8, 0xf2, 0x61, 0x98, 0x62, + 0x75, 0x56, 0x2f, 0x42, 0x77, 0x22, 0xf5, 0x04, 0x8b, 0xe2, 0x26, 0x43, 0x5e, 0x43, 0x19, 0x98, + 0xa4, 0x4d, 0x06, 0x83, 0x1e, 0xe5, 0x5b, 0x16, 0x01, 0x59, 0xa6, 0x99, 0xbd, 0x0a, 0x66, 0xd8, + 0xac, 0x8b, 0x28, 0x6e, 0xe8, 0x54, 0xe7, 0x90, 0x28, 0x40, 0x62, 0xcc, 0x00, 0xce, 0x2b, 0x68, + 0x71, 0xdc, 0x95, 0x0e, 0x87, 0xc4, 0xf8, 0x2c, 0x13, 0x33, 0x00, 0xaf, 0xa2, 0x65, 0x13, 0x8f, + 0xa8, 0x36, 0x8d, 0x8e, 0x03, 0x5a, 0x66, 0xbe, 0x3d, 0x7f, 0xc4, 0x1b, 0x28, 0xdd, 0x76, 0xc9, + 0xe7, 0x58, 0x04, 0xd8, 0xd4, 0xd8, 0x0a, 0xb0, 0x12, 0x3a, 0x07, 0x13, 0x4f, 0x61, 0x13, 0x80, + 0x5d, 0x62, 0xae, 0xaa, 0x0f, 0xbf, 0xea, 0xd1, 0x68, 0x12, 0x40, 0x63, 0x59, 0xbe, 0x86, 0x92, + 0x36, 0x76, 0x86, 0x7d, 0x2a, 0xe6, 0x48, 0x81, 0x3b, 0x21, 0x6c, 0x00, 0x79, 0x1d, 0xa5, 0xf0, + 0x41, 0xcf, 0xc0, 0x66, 0x1b, 0x73, 0x4c, 0x1a, 0x30, 0x49, 0xd7, 0xe8, 0xd6, 0x6a, 0xd9, 0xc4, + 0x22, 0x0e, 0x36, 0x34, 0x6f, 0x63, 0x2d, 0x2a, 0xd2, 0x5a, 0x48, 0x95, 0x5d, 0xdf, 0xa4, 0xb9, + 0xe4, 0xf2, 0x38, 0xc2, 0xd6, 0x2c, 0x9b, 0x68, 0x74, 0xc4, 0x67, 0xcf, 0xf0, 0x2a, 0x5c, 0x5f, + 0xc3, 0x26, 0xad, 0x11, 0x2c, 0xf1, 0xc1, 0x19, 0x1d, 0xb4, 0x04, 0x47, 0xd9, 0xfc, 0x36, 0x29, + 0x66, 0x51, 0x68, 0x43, 0xa7, 0xba, 0x9c, 0x41, 0x41, 0x3a, 0x72, 0xb2, 0x92, 0x12, 0x5c, 0x4b, + 0xaa, 0xec, 0xb3, 0xf8, 0xcf, 0x02, 0x0a, 0xed, 0x11, 0x8a, 0xe5, 0xeb, 0x28, 0xc4, 0xe4, 0x03, + 0x5d, 0x91, 0x9e, 0x77, 0x0c, 0x35, 0x7b, 0x1d, 0x13, 0x1b, 0x3b, 0x4e, 0xa7, 0x75, 0x68, 0x61, + 0x15, 0xc0, 0x53, 0x47, 0xc2, 0x44, 0xe6, 0xcb, 0x28, 0x6c, 0x93, 0xa1, 0xc9, 0x0f, 0xa3, 0xb0, + 0xca, 0x07, 0xf2, 0x26, 0x8a, 0x8d, 0xd5, 0x1b, 0xfa, 0x2f, 0xf5, 0x2e, 0x32, 0xf5, 0xb2, 0xde, + 0x12, 0x06, 0x35, 0xba, 0x2f, 0x44, 0xfc, 0x1e, 0x5a, 0x19, 0xeb, 0xc9, 0xc7, 0x5b, 0x98, 0xab, + 0x6a, 0xec, 0x9c, 0x10, 0xe7, 0x15, 0xac, 0xc6, 0x8f, 0xfe, 0x08, 0x64, 0x36, 0x11, 0x6c, 0x0d, + 0xee, 0x80, 0x2b, 0x68, 0x91, 0xa7, 0xe8, 0xf4, 0x3a, 0xa6, 0x4e, 0x87, 0x36, 0x16, 0xe2, 0x4f, + 0x83, 0xb9, 0xe9, 0x5a, 0xe5, 0x2d, 0xb4, 0x78, 0x40, 0x28, 0xd6, 0xf0, 0x88, 0x62, 0x93, 0xed, + 0xa6, 0x93, 0x8d, 0x29, 0xc1, 0xf9, 0x07, 0x38, 0xe3, 0x77, 0xd3, 0xc5, 0xa9, 0xe9, 0x03, 0xef, + 0xd0, 0x29, 0xfe, 0xbc, 0x80, 0x22, 0xbc, 0xf1, 0x3c, 0x74, 0x4a, 0xf3, 0xe9, 0x5c, 0x78, 0x11, + 0x9d, 0xc1, 0x57, 0xa7, 0xb3, 0x80, 0x12, 0x5f, 0x0e, 0x89, 0x3d, 0x1c, 0x70, 0x12, 0x43, 0x50, + 0x2e, 0xe2, 0x26, 0x20, 0xef, 0x26, 0x5a, 0xa5, 0x5d, 0x1b, 0x3b, 0x5d, 0xd2, 0x37, 0xb4, 0x69, + 0x76, 0x38, 0xe7, 0x17, 0xc6, 0x80, 0x8a, 0x9f, 0xa6, 0xcf, 0xbd, 0xb1, 0xd3, 0x84, 0x45, 0x5e, + 0x8e, 0xb0, 0xc9, 0xe4, 0x7b, 0x7e, 0xe6, 0x7e, 0x09, 0xa2, 0x58, 0x03, 0x9a, 0x44, 0xef, 0xff, + 0x1f, 0xfa, 0xbd, 0x88, 0xe2, 0x16, 0xe9, 0x6b, 0xdc, 0x13, 0x02, 0x4f, 0xcc, 0x22, 0x7d, 0x75, + 0x66, 0x37, 0xc2, 0xaf, 0xbe, 0x1b, 0x15, 0x14, 0x1f, 0x3f, 0xb7, 0x40, 0xa3, 0x2f, 0x7b, 0x4b, + 0x4c, 0xc2, 0xe4, 0x4b, 0x28, 0x3e, 0x2d, 0xdf, 0x89, 0xe1, 0xcc, 0x43, 0x24, 0x76, 0xc6, 0x21, + 0x22, 0xb7, 0xd0, 0xf9, 0xa9, 0x40, 0x6d, 0x68, 0x19, 0x3a, 0xc5, 0x70, 0x9c, 0xcf, 0xdd, 0x48, + 0xdf, 0x5d, 0xae, 0x9e, 0xf3, 0xcd, 0x7b, 0x17, 0x62, 0x8b, 0x36, 0x4a, 0xf2, 0x9d, 0x11, 0x17, + 0xf4, 0x55, 0xb6, 0x25, 0xf0, 0x20, 0x92, 0x66, 0x1f, 0x5c, 0x7c, 0x56, 0x8e, 0x54, 0x05, 0x8e, + 0x45, 0xf0, 0xfb, 0x4c, 0x3c, 0xa1, 0xb2, 0xf3, 0xf2, 0x60, 0x7e, 0x55, 0xe0, 0x8a, 0xdf, 0x49, + 0x08, 0x6d, 0xb3, 0x9a, 0x80, 0x7e, 0x76, 0xb5, 0x3a, 0x90, 0x82, 0xe6, 0x5b, 0x39, 0xff, 0x22, + 0x0d, 0x89, 0xf5, 0x93, 0x8e, 0x37, 0xef, 0x2a, 0x4a, 0x4d, 0x8e, 0x18, 0x07, 0xbb, 0xc9, 0xcc, + 0x99, 0x64, 0x7c, 0xe3, 0x35, 0x31, 0x55, 0x93, 0x07, 0x9e, 0x51, 0xf1, 0x9b, 0x05, 0x14, 0x87, + 0x9c, 0x76, 0x30, 0xd5, 0x7d, 0x92, 0x92, 0x5e, 0x5d, 0x52, 0x97, 0x11, 0x72, 0xbb, 0xf6, 0x01, + 0x16, 0x42, 0x8f, 0x8b, 0xe3, 0xec, 0x01, 0x96, 0xdf, 0x1f, 0x13, 0x1e, 0x3c, 0x9b, 0x70, 0xf1, + 0xa0, 0x70, 0x69, 0xbf, 0x80, 0xa2, 0xe6, 0x70, 0xa0, 0xb1, 0xfb, 0x24, 0xc4, 0x9b, 0xc7, 0x1c, + 0x0e, 0x5a, 0x23, 0x67, 0xd2, 0x3c, 0x61, 0x6f, 0xf3, 0xbc, 0x8b, 0xce, 0x75, 0x75, 0x47, 0x9b, + 0x52, 0x10, 0x48, 0x3c, 0xa6, 0x66, 0xba, 0xba, 0xe3, 0xd3, 0x4a, 0xf1, 0x0b, 0x14, 0x6d, 0x8d, + 0xe0, 0x61, 0xcd, 0xda, 0xce, 0x26, 0x44, 0xbc, 0x56, 0xf8, 0x23, 0x3a, 0xc6, 0x0c, 0x70, 0x38, + 0xc9, 0x28, 0xc4, 0x9e, 0x25, 0xee, 0x33, 0x9f, 0x7d, 0xcb, 0xa5, 0x97, 0x7c, 0xb2, 0x8b, 0xc7, + 0xfa, 0xdb, 0xbf, 0x4a, 0x28, 0x21, 0x58, 0xbb, 0xd5, 0xd7, 0x3b, 0xec, 0x82, 0xa9, 0x6c, 0xef, + 0x56, 0xef, 0x68, 0xb5, 0x0d, 0xed, 0xd6, 0xf6, 0xfa, 0x6d, 0xed, 0x6e, 0xfd, 0x4e, 0x7d, 0xf7, + 0x93, 0x7a, 0x26, 0x90, 0x3b, 0x7f, 0x74, 0xac, 0xc8, 0x1e, 0xec, 0x5d, 0xf3, 0xbe, 0x49, 0xbe, + 0x82, 0xab, 0xdc, 0x1f, 0xb2, 0x5e, 0x69, 0x6e, 0xd6, 0x5b, 0x19, 0x29, 0xb7, 0x72, 0x74, 0xac, + 0x2c, 0x79, 0x22, 0xd6, 0xf7, 0x1d, 0x6c, 0xd2, 0xd9, 0x80, 0xea, 0xee, 0xce, 0x4e, 0xad, 0x95, + 0x59, 0x98, 0x09, 0x10, 0x77, 0xc3, 0x5b, 0x68, 0xc9, 0x1f, 0x50, 0xaf, 0x6d, 0x67, 0x82, 0x39, + 0xf9, 0xe8, 0x58, 0x49, 0x7b, 0xd0, 0xf5, 0x5e, 0x3f, 0x17, 0x7b, 0xf8, 0x43, 0x3e, 0xf0, 0xd3, + 0x8f, 0x79, 0x89, 0x55, 0x96, 0xf2, 0x9d, 0x7b, 0xf2, 0x3b, 0xe8, 0x42, 0xb3, 0x76, 0xbb, 0xbe, + 0xb9, 0xa1, 0xed, 0x34, 0x6f, 0x6b, 0xad, 0x4f, 0x1b, 0x9b, 0x9e, 0xea, 0x16, 0x8f, 0x8e, 0x95, + 0x84, 0x28, 0xe9, 0x45, 0xe8, 0x86, 0xba, 0xb9, 0xb7, 0xdb, 0xda, 0xcc, 0x48, 0x1c, 0xdd, 0xb0, + 0x31, 0x3b, 0xd6, 0x01, 0x7d, 0x15, 0xad, 0xce, 0x41, 0x8f, 0x0b, 0x5b, 0x3a, 0x3a, 0x56, 0x52, + 0x0d, 0x1b, 0xf3, 0x26, 0x84, 0x88, 0x12, 0xca, 0xce, 0x46, 0xec, 0x36, 0x76, 0x9b, 0xeb, 0xdb, + 0x19, 0x25, 0x97, 0x39, 0x3a, 0x56, 0x92, 0xee, 0x01, 0xcf, 0xf0, 0x93, 0xca, 0x2a, 0xf5, 0xa7, + 0xa7, 0x79, 0xe9, 0xd9, 0x69, 0x5e, 0xfa, 0xf3, 0x34, 0x2f, 0x3d, 0x7a, 0x9e, 0x0f, 0x3c, 0x7b, + 0x9e, 0x0f, 0xfc, 0xf6, 0x3c, 0x1f, 0xf8, 0xec, 0x46, 0xa7, 0x47, 0xbb, 0xc3, 0xfd, 0x52, 0x9b, + 0x0c, 0xe0, 0x8f, 0xa5, 0xa5, 0x1f, 0x96, 0xb9, 0x00, 0xd8, 0x88, 0xff, 0xab, 0x2d, 0x4f, 0xff, + 0xcb, 0xdc, 0x8f, 0x80, 0xfd, 0xfa, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xa8, 0xd9, 0x50, 0xe6, + 0x43, 0x0f, 0x00, 0x00, } func (m *PartSetHeader) Marshal() (dAtA []byte, err error) { diff --git a/proto/tendermint/types/types.proto b/proto/tendermint/types/types.proto index bba9c7d7b6..ea64fa29dc 100644 --- a/proto/tendermint/types/types.proto +++ b/proto/tendermint/types/types.proto @@ -1,7 +1,7 @@ syntax = "proto3"; package tendermint.types; -option go_package = "github.com/tendermint/tendermint/proto/tendermint/types"; +option go_package = "github.com/dashpay/tenderdash/proto/tendermint/types"; import "gogoproto/gogo.proto"; import "google/protobuf/timestamp.proto"; diff --git a/proto/tendermint/types/types_test.go b/proto/tendermint/types/types_test.go index b17844a135..117a4c0fe8 100644 --- a/proto/tendermint/types/types_test.go +++ b/proto/tendermint/types/types_test.go @@ -10,9 +10,9 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/internal/libs/protoio" - "github.com/tendermint/tendermint/libs/rand" - tmtime "github.com/tendermint/tendermint/libs/time" + "github.com/dashpay/tenderdash/internal/libs/protoio" + "github.com/dashpay/tenderdash/libs/rand" + tmtime "github.com/dashpay/tenderdash/libs/time" ) // TestVoteSignBytes checks if sign bytes are generated correctly. diff --git a/proto/tendermint/types/validator.pb.go b/proto/tendermint/types/validator.pb.go index 08df629cd7..a37aacd837 100644 --- a/proto/tendermint/types/validator.pb.go +++ b/proto/tendermint/types/validator.pb.go @@ -5,9 +5,9 @@ package types import ( fmt "fmt" + crypto "github.com/dashpay/tenderdash/proto/tendermint/crypto" _ "github.com/gogo/protobuf/gogoproto" proto "github.com/gogo/protobuf/proto" - crypto "github.com/tendermint/tendermint/proto/tendermint/crypto" io "io" math "math" math_bits "math/bits" @@ -253,37 +253,37 @@ func init() { func init() { proto.RegisterFile("tendermint/types/validator.proto", fileDescriptor_4e92274df03d3088) } var fileDescriptor_4e92274df03d3088 = []byte{ - // 469 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x53, 0xc1, 0x6a, 0xdb, 0x40, - 0x14, 0xf4, 0xda, 0x8e, 0x13, 0x3f, 0xb9, 0x24, 0x5d, 0x72, 0x10, 0x69, 0x50, 0x14, 0x1f, 0x8a, - 0xa0, 0x45, 0x82, 0x96, 0x92, 0x43, 0x4e, 0xcd, 0xa9, 0xd0, 0x8b, 0xab, 0x98, 0x1c, 0x7a, 0x11, - 0x92, 0xb5, 0x58, 0xc2, 0xb2, 0xdf, 0x76, 0x77, 0xe5, 0x46, 0x7f, 0xd1, 0xcf, 0xca, 0x31, 0xc7, - 0x42, 0xa1, 0x14, 0xfb, 0x0f, 0xfa, 0x05, 0x45, 0xab, 0x4a, 0x56, 0x73, 0x69, 0x72, 0x5b, 0x66, - 0xe6, 0xed, 0xbc, 0x19, 0x78, 0x60, 0x2b, 0xb6, 0x8a, 0x99, 0x58, 0xa6, 0x2b, 0xe5, 0xa9, 0x82, - 0x33, 0xe9, 0xad, 0xc3, 0x2c, 0x8d, 0x43, 0x85, 0xc2, 0xe5, 0x02, 0x15, 0xd2, 0xa3, 0x9d, 0xc2, - 0xd5, 0x8a, 0x93, 0xe3, 0x39, 0xce, 0x51, 0x93, 0x5e, 0xf9, 0xaa, 0x74, 0x27, 0xa7, 0xad, 0x9f, - 0x66, 0xa2, 0xe0, 0x0a, 0xbd, 0x05, 0x2b, 0x64, 0xc5, 0x8e, 0x7f, 0x77, 0x61, 0x74, 0x53, 0xff, - 0x7c, 0xcd, 0x14, 0xbd, 0x04, 0x68, 0x9c, 0xa4, 0x49, 0xec, 0x9e, 0x63, 0xbc, 0x79, 0xe1, 0x3e, - 0xf4, 0x72, 0x9b, 0x19, 0xbf, 0x25, 0xa7, 0x17, 0x70, 0xc0, 0x05, 0x72, 0x94, 0x4c, 0x98, 0x5d, - 0x9b, 0xfc, 0x6f, 0xb4, 0x11, 0xd3, 0xd7, 0x40, 0x15, 0xaa, 0x30, 0x0b, 0xd6, 0xa8, 0xd2, 0xd5, - 0x3c, 0xe0, 0xf8, 0x95, 0x09, 0xb3, 0x67, 0x13, 0xa7, 0xe7, 0x1f, 0x69, 0xe6, 0x46, 0x13, 0x93, - 0x12, 0xa7, 0x53, 0x38, 0x56, 0x89, 0x60, 0x32, 0xc1, 0x2c, 0x0e, 0x78, 0x1e, 0x65, 0xe9, 0x2c, - 0x58, 0xb0, 0xc2, 0xec, 0x6b, 0xcb, 0xd3, 0xb6, 0x65, 0x95, 0xd8, 0x9d, 0x68, 0xd1, 0x47, 0x56, - 0x5c, 0xf5, 0xef, 0x7e, 0x9e, 0x75, 0x7c, 0xda, 0xcc, 0x37, 0x0c, 0x3d, 0x03, 0xe3, 0x4b, 0x8e, - 0x22, 0x5f, 0x06, 0xe5, 0x9e, 0xe6, 0x9e, 0x4d, 0x9c, 0x3d, 0x1f, 0x2a, 0x68, 0x5a, 0x70, 0xd6, - 0x12, 0x24, 0xa1, 0x4c, 0xcc, 0x81, 0x4d, 0x9c, 0x51, 0x2d, 0xf8, 0x10, 0xca, 0x84, 0xbe, 0x84, - 0xc3, 0x24, 0x94, 0xad, 0x8d, 0xa4, 0xb9, 0x6f, 0x13, 0xe7, 0xc0, 0x7f, 0x96, 0x84, 0xb2, 0x31, - 0x92, 0xe3, 0x1f, 0x04, 0x86, 0x4d, 0x0b, 0xf4, 0x12, 0xf6, 0x79, 0x1e, 0xe9, 0x00, 0xe4, 0x91, - 0x01, 0x88, 0x3f, 0xe0, 0x79, 0x54, 0x2e, 0x7d, 0x0e, 0xa3, 0x7f, 0x2a, 0xeb, 0xea, 0xca, 0x8c, - 0x75, 0xab, 0xad, 0x57, 0xf0, 0xbc, 0xee, 0x39, 0xe0, 0x22, 0x45, 0x91, 0xaa, 0xa2, 0xae, 0xb6, - 0x26, 0x26, 0x7f, 0x71, 0x6a, 0x81, 0xc1, 0x05, 0x06, 0xea, 0xb6, 0xca, 0xd8, 0xd7, 0x19, 0x87, - 0x5c, 0xe0, 0xf4, 0x56, 0x47, 0x3c, 0x87, 0xd1, 0x0a, 0x63, 0x16, 0x84, 0x71, 0x2c, 0x98, 0x94, - 0xba, 0xa5, 0xa1, 0x6f, 0x94, 0xd8, 0xfb, 0x0a, 0x1a, 0x2f, 0xe0, 0xf0, 0x3a, 0x5d, 0xf2, 0x8c, - 0xed, 0x22, 0xbe, 0x7b, 0x52, 0xc4, 0x27, 0x84, 0xbb, 0xfa, 0x74, 0xb7, 0xb1, 0xc8, 0xfd, 0xc6, - 0x22, 0xbf, 0x36, 0x16, 0xf9, 0xb6, 0xb5, 0x3a, 0xf7, 0x5b, 0xab, 0xf3, 0x7d, 0x6b, 0x75, 0x3e, - 0x5f, 0xcc, 0x53, 0x95, 0xe4, 0x91, 0x3b, 0xc3, 0xa5, 0xd7, 0x3e, 0xa6, 0xdd, 0xb3, 0x3a, 0x95, - 0x87, 0x87, 0x16, 0x0d, 0x34, 0xfe, 0xf6, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x67, 0x5f, 0x53, - 0x78, 0x83, 0x03, 0x00, 0x00, + // 475 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x53, 0xcd, 0x6a, 0xdb, 0x40, + 0x18, 0xf4, 0xda, 0x8e, 0x13, 0xaf, 0x5c, 0x92, 0x2e, 0x39, 0x88, 0x34, 0x28, 0x8a, 0x0f, 0x45, + 0xd0, 0x22, 0x41, 0x7f, 0xe8, 0x21, 0xa7, 0xe6, 0x54, 0x28, 0x14, 0xa3, 0x98, 0x1c, 0x7a, 0x11, + 0x2b, 0x6b, 0xf1, 0x0a, 0xcb, 0xfe, 0xb6, 0xbb, 0x2b, 0x37, 0x7a, 0x8b, 0x3e, 0x56, 0x8e, 0x39, + 0x16, 0x0a, 0xa5, 0xd8, 0x6f, 0xd0, 0x27, 0x28, 0x5a, 0x55, 0x8a, 0x9a, 0x4b, 0xe3, 0x9b, 0x34, + 0x33, 0xdf, 0xce, 0x37, 0x03, 0x1f, 0x76, 0x35, 0x5b, 0x25, 0x4c, 0x2e, 0xd3, 0x95, 0x0e, 0x74, + 0x21, 0x98, 0x0a, 0xd6, 0x34, 0x4b, 0x13, 0xaa, 0x41, 0xfa, 0x42, 0x82, 0x06, 0x72, 0x74, 0xaf, + 0xf0, 0x8d, 0xe2, 0xe4, 0x78, 0x0e, 0x73, 0x30, 0x64, 0x50, 0x7e, 0x55, 0xba, 0x93, 0xd3, 0xd6, + 0x4b, 0x33, 0x59, 0x08, 0x0d, 0xc1, 0x82, 0x15, 0xaa, 0x62, 0xc7, 0xbf, 0xbb, 0x78, 0x74, 0x5d, + 0xbf, 0x7c, 0xc5, 0x34, 0xb9, 0xc0, 0xb8, 0x71, 0x52, 0x36, 0x72, 0x7b, 0x9e, 0xf5, 0xea, 0x99, + 0xff, 0xd0, 0xcb, 0x6f, 0x66, 0xc2, 0x96, 0x9c, 0xbc, 0xc3, 0x07, 0x42, 0x82, 0x00, 0xc5, 0xa4, + 0xdd, 0x75, 0xd1, 0xff, 0x46, 0x1b, 0x31, 0x79, 0x89, 0x89, 0x06, 0x4d, 0xb3, 0x68, 0x0d, 0x3a, + 0x5d, 0xcd, 0x23, 0x01, 0x5f, 0x99, 0xb4, 0x7b, 0x2e, 0xf2, 0x7a, 0xe1, 0x91, 0x61, 0xae, 0x0d, + 0x31, 0x29, 0x71, 0x32, 0xc5, 0xc7, 0x9a, 0x4b, 0xa6, 0x38, 0x64, 0x49, 0x24, 0xf2, 0x38, 0x4b, + 0x67, 0xd1, 0x82, 0x15, 0x76, 0xdf, 0x58, 0x9e, 0xb6, 0x2d, 0xab, 0xc4, 0xfe, 0xc4, 0x88, 0x3e, + 0xb2, 0xe2, 0xb2, 0x7f, 0xfb, 0xf3, 0xac, 0x13, 0x92, 0x66, 0xbe, 0x61, 0xc8, 0x19, 0xb6, 0xbe, + 0xe4, 0x20, 0xf3, 0x65, 0x54, 0xee, 0x69, 0xef, 0xb9, 0xc8, 0xdb, 0x0b, 0x71, 0x05, 0x4d, 0x0b, + 0xc1, 0x5a, 0x02, 0x4e, 0x15, 0xb7, 0x07, 0x2e, 0xf2, 0x46, 0xb5, 0xe0, 0x03, 0x55, 0x9c, 0x3c, + 0xc7, 0x87, 0x9c, 0xaa, 0xd6, 0x46, 0xca, 0xde, 0x77, 0x91, 0x77, 0x10, 0x3e, 0xe1, 0x54, 0x35, + 0x46, 0x6a, 0xfc, 0x03, 0xe1, 0x61, 0xd3, 0x02, 0xb9, 0xc0, 0xfb, 0x22, 0x8f, 0x4d, 0x00, 0xf4, + 0xc8, 0x00, 0x28, 0x1c, 0x88, 0x3c, 0x2e, 0x97, 0x3e, 0xc7, 0xa3, 0x7f, 0x2a, 0xeb, 0x9a, 0xca, + 0xac, 0x75, 0xab, 0xad, 0x17, 0xf8, 0x69, 0xdd, 0x73, 0x24, 0x64, 0x0a, 0x32, 0xd5, 0x45, 0x5d, + 0x6d, 0x4d, 0x4c, 0xfe, 0xe2, 0xc4, 0xc1, 0x96, 0x90, 0x10, 0xe9, 0x9b, 0x2a, 0x63, 0xdf, 0x64, + 0x1c, 0x0a, 0x09, 0xd3, 0x1b, 0x13, 0xf1, 0x1c, 0x8f, 0x56, 0x90, 0xb0, 0x88, 0x26, 0x89, 0x64, + 0x4a, 0x99, 0x96, 0x86, 0xa1, 0x55, 0x62, 0xef, 0x2b, 0x68, 0xbc, 0xc0, 0x87, 0x57, 0xe9, 0x52, + 0x64, 0xec, 0x3e, 0xe2, 0xdb, 0x9d, 0x22, 0xee, 0x10, 0xee, 0xf2, 0xd3, 0xed, 0xc6, 0x41, 0x77, + 0x1b, 0x07, 0xfd, 0xda, 0x38, 0xe8, 0xdb, 0xd6, 0xe9, 0xdc, 0x6d, 0x9d, 0xce, 0xf7, 0xad, 0xd3, + 0xf9, 0xfc, 0x66, 0x9e, 0x6a, 0x9e, 0xc7, 0xfe, 0x0c, 0x96, 0x41, 0x42, 0x15, 0x17, 0xb4, 0x08, + 0x2a, 0xd3, 0xf2, 0x2f, 0xa8, 0xee, 0xe4, 0xe1, 0x95, 0xc5, 0x03, 0x83, 0xbf, 0xfe, 0x13, 0x00, + 0x00, 0xff, 0xff, 0x84, 0xb2, 0x3f, 0xb9, 0x80, 0x03, 0x00, 0x00, } func (m *ValidatorSet) Marshal() (dAtA []byte, err error) { diff --git a/proto/tendermint/types/validator.proto b/proto/tendermint/types/validator.proto index 914278046a..9c0fe6ab17 100644 --- a/proto/tendermint/types/validator.proto +++ b/proto/tendermint/types/validator.proto @@ -1,7 +1,7 @@ syntax = "proto3"; package tendermint.types; -option go_package = "github.com/tendermint/tendermint/proto/tendermint/types"; +option go_package = "github.com/dashpay/tenderdash/proto/tendermint/types"; import "gogoproto/gogo.proto"; import "tendermint/crypto/keys.proto"; diff --git a/proto/tendermint/version/types.pb.go b/proto/tendermint/version/types.pb.go index 76a94fd3c0..2d0162356b 100644 --- a/proto/tendermint/version/types.pb.go +++ b/proto/tendermint/version/types.pb.go @@ -85,7 +85,7 @@ func init() { func init() { proto.RegisterFile("tendermint/version/types.proto", fileDescriptor_f9b42966edc5edad) } var fileDescriptor_f9b42966edc5edad = []byte{ - // 179 bytes of a gzipped FileDescriptorProto + // 188 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x2b, 0x49, 0xcd, 0x4b, 0x49, 0x2d, 0xca, 0xcd, 0xcc, 0x2b, 0xd1, 0x2f, 0x4b, 0x2d, 0x2a, 0xce, 0xcc, 0xcf, 0xd3, 0x2f, 0xa9, 0x2c, 0x48, 0x2d, 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x12, 0x42, 0xc8, 0xeb, 0x41, @@ -93,11 +93,11 @@ var fileDescriptor_f9b42966edc5edad = []byte{ 0x17, 0xa7, 0x73, 0x7e, 0x5e, 0x71, 0x6a, 0x5e, 0x71, 0x69, 0xb1, 0x90, 0x08, 0x17, 0x6b, 0x52, 0x4e, 0x7e, 0x72, 0xb6, 0x04, 0xa3, 0x02, 0xa3, 0x06, 0x4b, 0x10, 0x84, 0x23, 0x24, 0xc0, 0xc5, 0x9c, 0x58, 0x50, 0x20, 0xc1, 0x04, 0x16, 0x03, 0x31, 0xad, 0x58, 0x5e, 0x2c, 0x90, 0x67, 0x74, - 0x0a, 0x3e, 0xf1, 0x48, 0x8e, 0xf1, 0xc2, 0x23, 0x39, 0xc6, 0x07, 0x8f, 0xe4, 0x18, 0x27, 0x3c, - 0x96, 0x63, 0xb8, 0xf0, 0x58, 0x8e, 0xe1, 0xc6, 0x63, 0x39, 0x86, 0x28, 0xcb, 0xf4, 0xcc, 0x92, - 0x8c, 0xd2, 0x24, 0xbd, 0xe4, 0xfc, 0x5c, 0x7d, 0x24, 0x97, 0x22, 0x31, 0x21, 0xee, 0xc0, 0xf4, - 0x45, 0x12, 0x1b, 0x58, 0xc6, 0x18, 0x10, 0x00, 0x00, 0xff, 0xff, 0xf8, 0xf0, 0x65, 0xd2, 0xe2, - 0x00, 0x00, 0x00, + 0x0a, 0x38, 0xf1, 0x48, 0x8e, 0xf1, 0xc2, 0x23, 0x39, 0xc6, 0x07, 0x8f, 0xe4, 0x18, 0x27, 0x3c, + 0x96, 0x63, 0xb8, 0xf0, 0x58, 0x8e, 0xe1, 0xc6, 0x63, 0x39, 0x86, 0x28, 0xb3, 0xf4, 0xcc, 0x92, + 0x8c, 0xd2, 0x24, 0xbd, 0xe4, 0xfc, 0x5c, 0xfd, 0x94, 0xc4, 0xe2, 0x8c, 0x82, 0xc4, 0x4a, 0x7d, + 0x88, 0x8b, 0x40, 0x3c, 0x7d, 0x88, 0x23, 0x30, 0xbd, 0x90, 0xc4, 0x06, 0x96, 0x31, 0x06, 0x04, + 0x00, 0x00, 0xff, 0xff, 0x7d, 0xcb, 0x13, 0xbb, 0xdf, 0x00, 0x00, 0x00, } func (this *Consensus) Equal(that interface{}) bool { diff --git a/proto/tendermint/version/types.proto b/proto/tendermint/version/types.proto index 37124dd4e7..5bcc0a4000 100644 --- a/proto/tendermint/version/types.proto +++ b/proto/tendermint/version/types.proto @@ -1,7 +1,7 @@ syntax = "proto3"; package tendermint.version; -option go_package = "github.com/tendermint/tendermint/proto/tendermint/version"; +option go_package = "github.com/dashpay/tenderdash/proto/tendermint/version"; import "gogoproto/gogo.proto"; diff --git a/rpc/client/event_test.go b/rpc/client/event_test.go index e59fcc83b1..e5f285253f 100644 --- a/rpc/client/event_test.go +++ b/rpc/client/event_test.go @@ -9,11 +9,11 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - abci "github.com/tendermint/tendermint/abci/types" - tmrand "github.com/tendermint/tendermint/libs/rand" - "github.com/tendermint/tendermint/rpc/client" - "github.com/tendermint/tendermint/rpc/coretypes" - "github.com/tendermint/tendermint/types" + abci "github.com/dashpay/tenderdash/abci/types" + tmrand "github.com/dashpay/tenderdash/libs/rand" + "github.com/dashpay/tenderdash/rpc/client" + "github.com/dashpay/tenderdash/rpc/coretypes" + "github.com/dashpay/tenderdash/types" ) const waitForEventTimeout = 2 * time.Second diff --git a/rpc/client/eventstream/eventstream.go b/rpc/client/eventstream/eventstream.go index 59cfc8b5f0..807f3e8e59 100644 --- a/rpc/client/eventstream/eventstream.go +++ b/rpc/client/eventstream/eventstream.go @@ -9,7 +9,7 @@ import ( "fmt" "time" - "github.com/tendermint/tendermint/rpc/coretypes" + "github.com/dashpay/tenderdash/rpc/coretypes" ) // Client is the subset of the RPC client interface consumed by Stream. diff --git a/rpc/client/eventstream/eventstream_test.go b/rpc/client/eventstream/eventstream_test.go index 8cd9df30f8..84813ea108 100644 --- a/rpc/client/eventstream/eventstream_test.go +++ b/rpc/client/eventstream/eventstream_test.go @@ -10,12 +10,12 @@ import ( "github.com/fortytw2/leaktest" "github.com/google/go-cmp/cmp" - "github.com/tendermint/tendermint/internal/eventlog" - "github.com/tendermint/tendermint/internal/eventlog/cursor" - rpccore "github.com/tendermint/tendermint/internal/rpc/core" - "github.com/tendermint/tendermint/rpc/client/eventstream" - "github.com/tendermint/tendermint/rpc/coretypes" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/internal/eventlog" + "github.com/dashpay/tenderdash/internal/eventlog/cursor" + rpccore "github.com/dashpay/tenderdash/internal/rpc/core" + "github.com/dashpay/tenderdash/rpc/client/eventstream" + "github.com/dashpay/tenderdash/rpc/coretypes" + "github.com/dashpay/tenderdash/types" ) func TestStream_filterOrder(t *testing.T) { diff --git a/rpc/client/evidence_test.go b/rpc/client/evidence_test.go index 0a1e9ae6a7..5789e6a648 100644 --- a/rpc/client/evidence_test.go +++ b/rpc/client/evidence_test.go @@ -8,12 +8,12 @@ import ( "github.com/dashpay/dashd-go/btcjson" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/crypto" - tmrand "github.com/tendermint/tendermint/libs/rand" - "github.com/tendermint/tendermint/privval" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/rpc/client" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + tmrand "github.com/dashpay/tenderdash/libs/rand" + "github.com/dashpay/tenderdash/privval" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/rpc/client" + "github.com/dashpay/tenderdash/types" ) func newEvidence(t *testing.T, val *privval.FilePV, diff --git a/rpc/client/examples_test.go b/rpc/client/examples_test.go index 7cb2f795af..d2deedd5fe 100644 --- a/rpc/client/examples_test.go +++ b/rpc/client/examples_test.go @@ -11,10 +11,10 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/abci/example/kvstore" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" - "github.com/tendermint/tendermint/rpc/coretypes" - rpctest "github.com/tendermint/tendermint/rpc/test" + "github.com/dashpay/tenderdash/abci/example/kvstore" + rpchttp "github.com/dashpay/tenderdash/rpc/client/http" + "github.com/dashpay/tenderdash/rpc/coretypes" + rpctest "github.com/dashpay/tenderdash/rpc/test" ) func TestHTTPSimple(t *testing.T) { diff --git a/rpc/client/helpers.go b/rpc/client/helpers.go index 05694afff0..7c1b158f91 100644 --- a/rpc/client/helpers.go +++ b/rpc/client/helpers.go @@ -5,9 +5,9 @@ import ( "fmt" "time" - "github.com/tendermint/tendermint/internal/jsontypes" - "github.com/tendermint/tendermint/rpc/coretypes" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/internal/jsontypes" + "github.com/dashpay/tenderdash/rpc/coretypes" + "github.com/dashpay/tenderdash/types" ) // Waiter is informed of current height, decided whether to quit early diff --git a/rpc/client/helpers_test.go b/rpc/client/helpers_test.go index eb13e8d77e..29891762c9 100644 --- a/rpc/client/helpers_test.go +++ b/rpc/client/helpers_test.go @@ -9,9 +9,9 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/rpc/client" - "github.com/tendermint/tendermint/rpc/client/mock" - "github.com/tendermint/tendermint/rpc/coretypes" + "github.com/dashpay/tenderdash/rpc/client" + "github.com/dashpay/tenderdash/rpc/client/mock" + "github.com/dashpay/tenderdash/rpc/coretypes" ) func TestWaitForHeight(t *testing.T) { diff --git a/rpc/client/http/http.go b/rpc/client/http/http.go index c8d7b0bdba..7708e96196 100644 --- a/rpc/client/http/http.go +++ b/rpc/client/http/http.go @@ -7,11 +7,11 @@ import ( "net/http" "time" - "github.com/tendermint/tendermint/libs/bytes" - rpcclient "github.com/tendermint/tendermint/rpc/client" - "github.com/tendermint/tendermint/rpc/coretypes" - jsonrpcclient "github.com/tendermint/tendermint/rpc/jsonrpc/client" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/libs/bytes" + rpcclient "github.com/dashpay/tenderdash/rpc/client" + "github.com/dashpay/tenderdash/rpc/coretypes" + jsonrpcclient "github.com/dashpay/tenderdash/rpc/jsonrpc/client" + "github.com/dashpay/tenderdash/types" ) /* diff --git a/rpc/client/http/ws.go b/rpc/client/http/ws.go index a0128e845c..088beb2aae 100644 --- a/rpc/client/http/ws.go +++ b/rpc/client/http/ws.go @@ -9,11 +9,11 @@ import ( sync "github.com/sasha-s/go-deadlock" - "github.com/tendermint/tendermint/internal/pubsub" - "github.com/tendermint/tendermint/libs/log" - rpcclient "github.com/tendermint/tendermint/rpc/client" - "github.com/tendermint/tendermint/rpc/coretypes" - jsonrpcclient "github.com/tendermint/tendermint/rpc/jsonrpc/client" + "github.com/dashpay/tenderdash/internal/pubsub" + "github.com/dashpay/tenderdash/libs/log" + rpcclient "github.com/dashpay/tenderdash/rpc/client" + "github.com/dashpay/tenderdash/rpc/coretypes" + jsonrpcclient "github.com/dashpay/tenderdash/rpc/jsonrpc/client" ) // wsEvents is a wrapper around WSClient, which implements SubscriptionClient. diff --git a/rpc/client/interface.go b/rpc/client/interface.go index 169671fd61..7f011a828a 100644 --- a/rpc/client/interface.go +++ b/rpc/client/interface.go @@ -23,9 +23,9 @@ implementation. import ( "context" - "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/rpc/coretypes" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/rpc/coretypes" + "github.com/dashpay/tenderdash/types" ) //go:generate ../../scripts/mockery_generate.sh Client|RemoteClient diff --git a/rpc/client/local/local.go b/rpc/client/local/local.go index 6ed7cff684..bfcb39d590 100644 --- a/rpc/client/local/local.go +++ b/rpc/client/local/local.go @@ -6,15 +6,15 @@ import ( "fmt" "time" - "github.com/tendermint/tendermint/internal/eventbus" - "github.com/tendermint/tendermint/internal/pubsub" - "github.com/tendermint/tendermint/internal/pubsub/query" - rpccore "github.com/tendermint/tendermint/internal/rpc/core" - "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/libs/log" - rpcclient "github.com/tendermint/tendermint/rpc/client" - "github.com/tendermint/tendermint/rpc/coretypes" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/internal/eventbus" + "github.com/dashpay/tenderdash/internal/pubsub" + "github.com/dashpay/tenderdash/internal/pubsub/query" + rpccore "github.com/dashpay/tenderdash/internal/rpc/core" + "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/libs/log" + rpcclient "github.com/dashpay/tenderdash/rpc/client" + "github.com/dashpay/tenderdash/rpc/coretypes" + "github.com/dashpay/tenderdash/types" ) /* diff --git a/rpc/client/main_test.go b/rpc/client/main_test.go index 4749efee20..a8d4777949 100644 --- a/rpc/client/main_test.go +++ b/rpc/client/main_test.go @@ -7,11 +7,11 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/abci/example/kvstore" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/libs/service" - rpctest "github.com/tendermint/tendermint/rpc/test" + "github.com/dashpay/tenderdash/abci/example/kvstore" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/libs/service" + rpctest "github.com/dashpay/tenderdash/rpc/test" ) func NodeSuite(ctx context.Context, t *testing.T, logger log.Logger) (service.Service, *config.Config) { diff --git a/rpc/client/mock/abci.go b/rpc/client/mock/abci.go index c692fe0da4..1bdbfe2d8c 100644 --- a/rpc/client/mock/abci.go +++ b/rpc/client/mock/abci.go @@ -3,13 +3,13 @@ package mock import ( "context" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/internal/proxy" - "github.com/tendermint/tendermint/libs/bytes" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/rpc/client" - "github.com/tendermint/tendermint/rpc/coretypes" - "github.com/tendermint/tendermint/types" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/internal/proxy" + "github.com/dashpay/tenderdash/libs/bytes" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/rpc/client" + "github.com/dashpay/tenderdash/rpc/coretypes" + "github.com/dashpay/tenderdash/types" ) // ABCIApp will send all abci related request to the named app, diff --git a/rpc/client/mock/abci_test.go b/rpc/client/mock/abci_test.go index a10575abf9..deed35017e 100644 --- a/rpc/client/mock/abci_test.go +++ b/rpc/client/mock/abci_test.go @@ -9,13 +9,13 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/abci/example/kvstore" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/rpc/client" - "github.com/tendermint/tendermint/rpc/client/mock" - "github.com/tendermint/tendermint/rpc/coretypes" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/abci/example/kvstore" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/rpc/client" + "github.com/dashpay/tenderdash/rpc/client/mock" + "github.com/dashpay/tenderdash/rpc/coretypes" + "github.com/dashpay/tenderdash/types" ) func TestABCIMock(t *testing.T) { diff --git a/rpc/client/mock/client.go b/rpc/client/mock/client.go index bca155f744..4c368ace44 100644 --- a/rpc/client/mock/client.go +++ b/rpc/client/mock/client.go @@ -18,11 +18,11 @@ import ( "context" "reflect" - "github.com/tendermint/tendermint/internal/rpc/core" - "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/rpc/client" - "github.com/tendermint/tendermint/rpc/coretypes" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/internal/rpc/core" + "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/rpc/client" + "github.com/dashpay/tenderdash/rpc/coretypes" + "github.com/dashpay/tenderdash/types" ) // Client wraps arbitrary implementations of the various interfaces. diff --git a/rpc/client/mock/status.go b/rpc/client/mock/status.go index 22548e8911..1a446896e8 100644 --- a/rpc/client/mock/status.go +++ b/rpc/client/mock/status.go @@ -3,8 +3,8 @@ package mock import ( "context" - "github.com/tendermint/tendermint/rpc/client" - "github.com/tendermint/tendermint/rpc/coretypes" + "github.com/dashpay/tenderdash/rpc/client" + "github.com/dashpay/tenderdash/rpc/coretypes" ) // StatusMock returns the result specified by the Call diff --git a/rpc/client/mock/status_test.go b/rpc/client/mock/status_test.go index 9f250c53d4..7eb2b9ae14 100644 --- a/rpc/client/mock/status_test.go +++ b/rpc/client/mock/status_test.go @@ -8,9 +8,9 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/rpc/client/mock" - "github.com/tendermint/tendermint/rpc/coretypes" + "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/rpc/client/mock" + "github.com/dashpay/tenderdash/rpc/coretypes" ) func TestStatus(t *testing.T) { diff --git a/rpc/client/mocks/abci_client.go b/rpc/client/mocks/abci_client.go index 743a093ef5..fc06ed551d 100644 --- a/rpc/client/mocks/abci_client.go +++ b/rpc/client/mocks/abci_client.go @@ -3,16 +3,16 @@ package mocks import ( - bytes "github.com/tendermint/tendermint/libs/bytes" - client "github.com/tendermint/tendermint/rpc/client" + bytes "github.com/dashpay/tenderdash/libs/bytes" + client "github.com/dashpay/tenderdash/rpc/client" context "context" - coretypes "github.com/tendermint/tendermint/rpc/coretypes" + coretypes "github.com/dashpay/tenderdash/rpc/coretypes" mock "github.com/stretchr/testify/mock" - types "github.com/tendermint/tendermint/types" + types "github.com/dashpay/tenderdash/types" ) // ABCIClient is an autogenerated mock type for the ABCIClient type diff --git a/rpc/client/mocks/client.go b/rpc/client/mocks/client.go index c76739cd79..22533b3666 100644 --- a/rpc/client/mocks/client.go +++ b/rpc/client/mocks/client.go @@ -3,16 +3,16 @@ package mocks import ( - bytes "github.com/tendermint/tendermint/libs/bytes" - client "github.com/tendermint/tendermint/rpc/client" + bytes "github.com/dashpay/tenderdash/libs/bytes" + client "github.com/dashpay/tenderdash/rpc/client" context "context" - coretypes "github.com/tendermint/tendermint/rpc/coretypes" + coretypes "github.com/dashpay/tenderdash/rpc/coretypes" mock "github.com/stretchr/testify/mock" - types "github.com/tendermint/tendermint/types" + types "github.com/dashpay/tenderdash/types" ) // Client is an autogenerated mock type for the Client type diff --git a/rpc/client/mocks/events_client.go b/rpc/client/mocks/events_client.go index 35ac0a8bca..092e7b15e6 100644 --- a/rpc/client/mocks/events_client.go +++ b/rpc/client/mocks/events_client.go @@ -5,8 +5,8 @@ package mocks import ( context "context" + coretypes "github.com/dashpay/tenderdash/rpc/coretypes" mock "github.com/stretchr/testify/mock" - coretypes "github.com/tendermint/tendermint/rpc/coretypes" ) // EventsClient is an autogenerated mock type for the EventsClient type diff --git a/rpc/client/mocks/evidence_client.go b/rpc/client/mocks/evidence_client.go index 88905be0ca..1b7817a0f1 100644 --- a/rpc/client/mocks/evidence_client.go +++ b/rpc/client/mocks/evidence_client.go @@ -5,10 +5,10 @@ package mocks import ( context "context" + coretypes "github.com/dashpay/tenderdash/rpc/coretypes" mock "github.com/stretchr/testify/mock" - coretypes "github.com/tendermint/tendermint/rpc/coretypes" - types "github.com/tendermint/tendermint/types" + types "github.com/dashpay/tenderdash/types" ) // EvidenceClient is an autogenerated mock type for the EvidenceClient type diff --git a/rpc/client/mocks/history_client.go b/rpc/client/mocks/history_client.go index 5d6fb88b5f..280e1738a1 100644 --- a/rpc/client/mocks/history_client.go +++ b/rpc/client/mocks/history_client.go @@ -5,8 +5,8 @@ package mocks import ( context "context" + coretypes "github.com/dashpay/tenderdash/rpc/coretypes" mock "github.com/stretchr/testify/mock" - coretypes "github.com/tendermint/tendermint/rpc/coretypes" ) // HistoryClient is an autogenerated mock type for the HistoryClient type diff --git a/rpc/client/mocks/mempool_client.go b/rpc/client/mocks/mempool_client.go index 718acedf21..66c296e1fd 100644 --- a/rpc/client/mocks/mempool_client.go +++ b/rpc/client/mocks/mempool_client.go @@ -5,10 +5,10 @@ package mocks import ( context "context" + coretypes "github.com/dashpay/tenderdash/rpc/coretypes" mock "github.com/stretchr/testify/mock" - coretypes "github.com/tendermint/tendermint/rpc/coretypes" - types "github.com/tendermint/tendermint/types" + types "github.com/dashpay/tenderdash/types" ) // MempoolClient is an autogenerated mock type for the MempoolClient type diff --git a/rpc/client/mocks/network_client.go b/rpc/client/mocks/network_client.go index 8fc8564a58..f365a8a4c3 100644 --- a/rpc/client/mocks/network_client.go +++ b/rpc/client/mocks/network_client.go @@ -5,8 +5,8 @@ package mocks import ( context "context" + coretypes "github.com/dashpay/tenderdash/rpc/coretypes" mock "github.com/stretchr/testify/mock" - coretypes "github.com/tendermint/tendermint/rpc/coretypes" ) // NetworkClient is an autogenerated mock type for the NetworkClient type diff --git a/rpc/client/mocks/remote_client.go b/rpc/client/mocks/remote_client.go index 1df630e0db..a09c863c8f 100644 --- a/rpc/client/mocks/remote_client.go +++ b/rpc/client/mocks/remote_client.go @@ -3,16 +3,16 @@ package mocks import ( - bytes "github.com/tendermint/tendermint/libs/bytes" - client "github.com/tendermint/tendermint/rpc/client" + bytes "github.com/dashpay/tenderdash/libs/bytes" + client "github.com/dashpay/tenderdash/rpc/client" context "context" - coretypes "github.com/tendermint/tendermint/rpc/coretypes" + coretypes "github.com/dashpay/tenderdash/rpc/coretypes" mock "github.com/stretchr/testify/mock" - types "github.com/tendermint/tendermint/types" + types "github.com/dashpay/tenderdash/types" ) // RemoteClient is an autogenerated mock type for the RemoteClient type diff --git a/rpc/client/mocks/sign_client.go b/rpc/client/mocks/sign_client.go index fbbe98632e..9d312d993d 100644 --- a/rpc/client/mocks/sign_client.go +++ b/rpc/client/mocks/sign_client.go @@ -3,11 +3,11 @@ package mocks import ( - bytes "github.com/tendermint/tendermint/libs/bytes" + bytes "github.com/dashpay/tenderdash/libs/bytes" context "context" - coretypes "github.com/tendermint/tendermint/rpc/coretypes" + coretypes "github.com/dashpay/tenderdash/rpc/coretypes" mock "github.com/stretchr/testify/mock" ) diff --git a/rpc/client/mocks/status_client.go b/rpc/client/mocks/status_client.go index 0c476a1897..7094efff07 100644 --- a/rpc/client/mocks/status_client.go +++ b/rpc/client/mocks/status_client.go @@ -5,8 +5,8 @@ package mocks import ( context "context" + coretypes "github.com/dashpay/tenderdash/rpc/coretypes" mock "github.com/stretchr/testify/mock" - coretypes "github.com/tendermint/tendermint/rpc/coretypes" ) // StatusClient is an autogenerated mock type for the StatusClient type diff --git a/rpc/client/mocks/subscription_client.go b/rpc/client/mocks/subscription_client.go index 2ce0795a04..512da36df5 100644 --- a/rpc/client/mocks/subscription_client.go +++ b/rpc/client/mocks/subscription_client.go @@ -5,8 +5,8 @@ package mocks import ( context "context" + coretypes "github.com/dashpay/tenderdash/rpc/coretypes" mock "github.com/stretchr/testify/mock" - coretypes "github.com/tendermint/tendermint/rpc/coretypes" ) // SubscriptionClient is an autogenerated mock type for the SubscriptionClient type diff --git a/rpc/client/rpc_test.go b/rpc/client/rpc_test.go index e35da5e889..7544c9f846 100644 --- a/rpc/client/rpc_test.go +++ b/rpc/client/rpc_test.go @@ -18,21 +18,20 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/privval" - - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/internal/mempool" - rpccore "github.com/tendermint/tendermint/internal/rpc/core" - "github.com/tendermint/tendermint/libs/log" - tmmath "github.com/tendermint/tendermint/libs/math" - "github.com/tendermint/tendermint/libs/service" - "github.com/tendermint/tendermint/rpc/client" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" - rpclocal "github.com/tendermint/tendermint/rpc/client/local" - "github.com/tendermint/tendermint/rpc/coretypes" - rpcclient "github.com/tendermint/tendermint/rpc/jsonrpc/client" - "github.com/tendermint/tendermint/types" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/internal/mempool" + rpccore "github.com/dashpay/tenderdash/internal/rpc/core" + "github.com/dashpay/tenderdash/libs/log" + tmmath "github.com/dashpay/tenderdash/libs/math" + "github.com/dashpay/tenderdash/libs/service" + "github.com/dashpay/tenderdash/privval" + "github.com/dashpay/tenderdash/rpc/client" + rpchttp "github.com/dashpay/tenderdash/rpc/client/http" + rpclocal "github.com/dashpay/tenderdash/rpc/client/local" + "github.com/dashpay/tenderdash/rpc/coretypes" + rpcclient "github.com/dashpay/tenderdash/rpc/jsonrpc/client" + "github.com/dashpay/tenderdash/types" ) func getHTTPClient(t *testing.T, logger log.Logger, conf *config.Config) *rpchttp.HTTP { diff --git a/rpc/coretypes/requests.go b/rpc/coretypes/requests.go index ed90a11655..18870f50f3 100644 --- a/rpc/coretypes/requests.go +++ b/rpc/coretypes/requests.go @@ -5,9 +5,9 @@ import ( "strconv" "time" - "github.com/tendermint/tendermint/internal/jsontypes" - "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/internal/jsontypes" + "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/types" ) type RequestSubscribe struct { diff --git a/rpc/coretypes/responses.go b/rpc/coretypes/responses.go index 04652b3c65..329e1dc397 100644 --- a/rpc/coretypes/responses.go +++ b/rpc/coretypes/responses.go @@ -7,11 +7,11 @@ import ( "github.com/dashpay/dashd-go/btcjson" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/internal/jsontypes" - "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/types" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/internal/jsontypes" + "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/types" ) // List of standardized errors used across RPC diff --git a/rpc/coretypes/responses_test.go b/rpc/coretypes/responses_test.go index e1049cfa65..1ae6456207 100644 --- a/rpc/coretypes/responses_test.go +++ b/rpc/coretypes/responses_test.go @@ -11,10 +11,10 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/crypto" - pbcrypto "github.com/tendermint/tendermint/proto/tendermint/crypto" - "github.com/tendermint/tendermint/types" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/crypto" + pbcrypto "github.com/dashpay/tenderdash/proto/tendermint/crypto" + "github.com/dashpay/tenderdash/types" ) func TestStatusIndexer(t *testing.T) { diff --git a/rpc/jsonrpc/client/decode.go b/rpc/jsonrpc/client/decode.go index 2babcf70c3..2b7da2d942 100644 --- a/rpc/jsonrpc/client/decode.go +++ b/rpc/jsonrpc/client/decode.go @@ -4,7 +4,7 @@ import ( "encoding/json" "fmt" - rpctypes "github.com/tendermint/tendermint/rpc/jsonrpc/types" + rpctypes "github.com/dashpay/tenderdash/rpc/jsonrpc/types" ) func unmarshalResponseBytes(responseBytes []byte, expectedID string, result interface{}) error { diff --git a/rpc/jsonrpc/client/http_json_client.go b/rpc/jsonrpc/client/http_json_client.go index 0fd81aaba7..d5d6ae8e3e 100644 --- a/rpc/jsonrpc/client/http_json_client.go +++ b/rpc/jsonrpc/client/http_json_client.go @@ -15,7 +15,7 @@ import ( sync "github.com/sasha-s/go-deadlock" - rpctypes "github.com/tendermint/tendermint/rpc/jsonrpc/types" + rpctypes "github.com/dashpay/tenderdash/rpc/jsonrpc/types" ) const ( diff --git a/rpc/jsonrpc/client/ws_client.go b/rpc/jsonrpc/client/ws_client.go index 5df137f4aa..ed91fdec15 100644 --- a/rpc/jsonrpc/client/ws_client.go +++ b/rpc/jsonrpc/client/ws_client.go @@ -13,8 +13,8 @@ import ( "github.com/gorilla/websocket" - "github.com/tendermint/tendermint/libs/log" - rpctypes "github.com/tendermint/tendermint/rpc/jsonrpc/types" + "github.com/dashpay/tenderdash/libs/log" + rpctypes "github.com/dashpay/tenderdash/rpc/jsonrpc/types" ) // wsOptions carries optional settings for a websocket connection. diff --git a/rpc/jsonrpc/client/ws_client_test.go b/rpc/jsonrpc/client/ws_client_test.go index ff8196d47c..663973cc9f 100644 --- a/rpc/jsonrpc/client/ws_client_test.go +++ b/rpc/jsonrpc/client/ws_client_test.go @@ -15,7 +15,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - rpctypes "github.com/tendermint/tendermint/rpc/jsonrpc/types" + rpctypes "github.com/dashpay/tenderdash/rpc/jsonrpc/types" ) const wsCallTimeout = 5 * time.Second diff --git a/rpc/jsonrpc/jsonrpc_test.go b/rpc/jsonrpc/jsonrpc_test.go index 0586e3019f..b171de3cc3 100644 --- a/rpc/jsonrpc/jsonrpc_test.go +++ b/rpc/jsonrpc/jsonrpc_test.go @@ -16,10 +16,10 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/rpc/jsonrpc/client" - "github.com/tendermint/tendermint/rpc/jsonrpc/server" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/rpc/jsonrpc/client" + "github.com/dashpay/tenderdash/rpc/jsonrpc/server" ) // Client and Server should work over tcp or unix sockets diff --git a/rpc/jsonrpc/server/http_json_handler.go b/rpc/jsonrpc/server/http_json_handler.go index 4f9e28faa8..9ff030e5ec 100644 --- a/rpc/jsonrpc/server/http_json_handler.go +++ b/rpc/jsonrpc/server/http_json_handler.go @@ -9,8 +9,8 @@ import ( "net/http" "strings" - "github.com/tendermint/tendermint/libs/log" - rpctypes "github.com/tendermint/tendermint/rpc/jsonrpc/types" + "github.com/dashpay/tenderdash/libs/log" + rpctypes "github.com/dashpay/tenderdash/rpc/jsonrpc/types" ) // HTTP + JSON handler diff --git a/rpc/jsonrpc/server/http_json_handler_test.go b/rpc/jsonrpc/server/http_json_handler_test.go index dd4a9d8e23..033b39d9ff 100644 --- a/rpc/jsonrpc/server/http_json_handler_test.go +++ b/rpc/jsonrpc/server/http_json_handler_test.go @@ -12,8 +12,8 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/libs/log" - rpctypes "github.com/tendermint/tendermint/rpc/jsonrpc/types" + "github.com/dashpay/tenderdash/libs/log" + rpctypes "github.com/dashpay/tenderdash/rpc/jsonrpc/types" ) func testMux() *http.ServeMux { diff --git a/rpc/jsonrpc/server/http_server.go b/rpc/jsonrpc/server/http_server.go index fffc002f39..6d82f99980 100644 --- a/rpc/jsonrpc/server/http_server.go +++ b/rpc/jsonrpc/server/http_server.go @@ -14,8 +14,8 @@ import ( "golang.org/x/net/netutil" - "github.com/tendermint/tendermint/libs/log" - rpctypes "github.com/tendermint/tendermint/rpc/jsonrpc/types" + "github.com/dashpay/tenderdash/libs/log" + rpctypes "github.com/dashpay/tenderdash/rpc/jsonrpc/types" ) // Config is a RPC server configuration. diff --git a/rpc/jsonrpc/server/http_server_test.go b/rpc/jsonrpc/server/http_server_test.go index ac8f2886ec..646f120adc 100644 --- a/rpc/jsonrpc/server/http_server_test.go +++ b/rpc/jsonrpc/server/http_server_test.go @@ -18,8 +18,8 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/libs/log" - rpctypes "github.com/tendermint/tendermint/rpc/jsonrpc/types" + "github.com/dashpay/tenderdash/libs/log" + rpctypes "github.com/dashpay/tenderdash/rpc/jsonrpc/types" ) type sampleResult struct { diff --git a/rpc/jsonrpc/server/http_uri_handler.go b/rpc/jsonrpc/server/http_uri_handler.go index c755bbaf13..469c041009 100644 --- a/rpc/jsonrpc/server/http_uri_handler.go +++ b/rpc/jsonrpc/server/http_uri_handler.go @@ -9,8 +9,8 @@ import ( "strconv" "strings" - "github.com/tendermint/tendermint/libs/log" - rpctypes "github.com/tendermint/tendermint/rpc/jsonrpc/types" + "github.com/dashpay/tenderdash/libs/log" + rpctypes "github.com/dashpay/tenderdash/rpc/jsonrpc/types" ) // uriReqID is a placeholder ID used for GET requests, which do not receive a diff --git a/rpc/jsonrpc/server/parse_test.go b/rpc/jsonrpc/server/parse_test.go index 4a0e92ad13..c95cacf79f 100644 --- a/rpc/jsonrpc/server/parse_test.go +++ b/rpc/jsonrpc/server/parse_test.go @@ -9,7 +9,7 @@ import ( "github.com/stretchr/testify/assert" - "github.com/tendermint/tendermint/libs/bytes" + "github.com/dashpay/tenderdash/libs/bytes" ) func TestParseJSONMap(t *testing.T) { diff --git a/rpc/jsonrpc/server/rpc_func.go b/rpc/jsonrpc/server/rpc_func.go index 818ebb42e1..677106414f 100644 --- a/rpc/jsonrpc/server/rpc_func.go +++ b/rpc/jsonrpc/server/rpc_func.go @@ -11,8 +11,8 @@ import ( "strings" "time" - "github.com/tendermint/tendermint/libs/log" - rpctypes "github.com/tendermint/tendermint/rpc/jsonrpc/types" + "github.com/dashpay/tenderdash/libs/log" + rpctypes "github.com/dashpay/tenderdash/rpc/jsonrpc/types" ) // DefaultRPCTimeout is the default context timeout for calls to any RPC method diff --git a/rpc/jsonrpc/server/ws_handler.go b/rpc/jsonrpc/server/ws_handler.go index 3a259757b9..bb897680e4 100644 --- a/rpc/jsonrpc/server/ws_handler.go +++ b/rpc/jsonrpc/server/ws_handler.go @@ -10,8 +10,8 @@ import ( "github.com/gorilla/websocket" - "github.com/tendermint/tendermint/libs/log" - rpctypes "github.com/tendermint/tendermint/rpc/jsonrpc/types" + "github.com/dashpay/tenderdash/libs/log" + rpctypes "github.com/dashpay/tenderdash/rpc/jsonrpc/types" ) // WebSocket handler diff --git a/rpc/jsonrpc/server/ws_handler_test.go b/rpc/jsonrpc/server/ws_handler_test.go index ce1bcd9737..55ac0704eb 100644 --- a/rpc/jsonrpc/server/ws_handler_test.go +++ b/rpc/jsonrpc/server/ws_handler_test.go @@ -11,8 +11,8 @@ import ( "github.com/gorilla/websocket" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/libs/log" - rpctypes "github.com/tendermint/tendermint/rpc/jsonrpc/types" + "github.com/dashpay/tenderdash/libs/log" + rpctypes "github.com/dashpay/tenderdash/rpc/jsonrpc/types" ) func TestWebsocketManagerHandler(t *testing.T) { diff --git a/rpc/jsonrpc/test/main.go b/rpc/jsonrpc/test/main.go index 2ed013c177..d1b5928981 100644 --- a/rpc/jsonrpc/test/main.go +++ b/rpc/jsonrpc/test/main.go @@ -9,8 +9,8 @@ import ( "os/signal" "syscall" - "github.com/tendermint/tendermint/libs/log" - rpcserver "github.com/tendermint/tendermint/rpc/jsonrpc/server" + "github.com/dashpay/tenderdash/libs/log" + rpcserver "github.com/dashpay/tenderdash/rpc/jsonrpc/server" ) var routes = map[string]*rpcserver.RPCFunc{ diff --git a/rpc/jsonrpc/types/types.go b/rpc/jsonrpc/types/types.go index ded68bea2a..8e922b8f6d 100644 --- a/rpc/jsonrpc/types/types.go +++ b/rpc/jsonrpc/types/types.go @@ -11,7 +11,7 @@ import ( "strconv" "strings" - "github.com/tendermint/tendermint/rpc/coretypes" + "github.com/dashpay/tenderdash/rpc/coretypes" ) // ErrorCode is the type of JSON-RPC error codes. diff --git a/rpc/test/helpers.go b/rpc/test/helpers.go index c988cadb08..e2e64deabc 100644 --- a/rpc/test/helpers.go +++ b/rpc/test/helpers.go @@ -7,15 +7,15 @@ import ( "testing" "time" - abciclient "github.com/tendermint/tendermint/abci/client" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/libs/log" - tmnet "github.com/tendermint/tendermint/libs/net" - "github.com/tendermint/tendermint/libs/service" - "github.com/tendermint/tendermint/node" - "github.com/tendermint/tendermint/rpc/coretypes" - rpcclient "github.com/tendermint/tendermint/rpc/jsonrpc/client" + abciclient "github.com/dashpay/tenderdash/abci/client" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/libs/log" + tmnet "github.com/dashpay/tenderdash/libs/net" + "github.com/dashpay/tenderdash/libs/service" + "github.com/dashpay/tenderdash/node" + "github.com/dashpay/tenderdash/rpc/coretypes" + rpcclient "github.com/dashpay/tenderdash/rpc/jsonrpc/client" ) // Options helps with specifying some parameters for our RPC testing for greater diff --git a/scripts/confix/confix.go b/scripts/confix/confix.go index 29c5bb7531..5f284ea2a4 100644 --- a/scripts/confix/confix.go +++ b/scripts/confix/confix.go @@ -11,7 +11,7 @@ import ( "os" "path/filepath" - "github.com/tendermint/tendermint/internal/libs/confix" + "github.com/dashpay/tenderdash/internal/libs/confix" ) func init() { diff --git a/scripts/estream/estream.go b/scripts/estream/estream.go index c37bc5ba75..0e05ccf623 100644 --- a/scripts/estream/estream.go +++ b/scripts/estream/estream.go @@ -12,9 +12,9 @@ import ( "os/signal" "path/filepath" - "github.com/tendermint/tendermint/rpc/client/eventstream" - rpcclient "github.com/tendermint/tendermint/rpc/client/http" - "github.com/tendermint/tendermint/rpc/coretypes" + "github.com/dashpay/tenderdash/rpc/client/eventstream" + rpcclient "github.com/dashpay/tenderdash/rpc/client/http" + "github.com/dashpay/tenderdash/rpc/coretypes" ) var ( diff --git a/scripts/json2wal/main.go b/scripts/json2wal/main.go index e8d3fcf932..28d0591a51 100644 --- a/scripts/json2wal/main.go +++ b/scripts/json2wal/main.go @@ -15,8 +15,8 @@ import ( "os" "strings" - "github.com/tendermint/tendermint/internal/consensus" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/internal/consensus" + "github.com/dashpay/tenderdash/types" ) func main() { diff --git a/scripts/metricsgen/metricsdiff/metricsdiff_test.go b/scripts/metricsgen/metricsdiff/metricsdiff_test.go index ec27ef1e9b..56e1add7f1 100644 --- a/scripts/metricsgen/metricsdiff/metricsdiff_test.go +++ b/scripts/metricsgen/metricsdiff/metricsdiff_test.go @@ -5,8 +5,8 @@ import ( "io" "testing" + metricsdiff "github.com/dashpay/tenderdash/scripts/metricsgen/metricsdiff" "github.com/stretchr/testify/require" - metricsdiff "github.com/tendermint/tendermint/scripts/metricsgen/metricsdiff" ) func TestDiff(t *testing.T) { diff --git a/scripts/metricsgen/metricsgen_test.go b/scripts/metricsgen/metricsgen_test.go index f3c97854de..423417f3e4 100644 --- a/scripts/metricsgen/metricsgen_test.go +++ b/scripts/metricsgen/metricsgen_test.go @@ -13,7 +13,7 @@ import ( "github.com/stretchr/testify/require" - metricsgen "github.com/tendermint/tendermint/scripts/metricsgen" + metricsgen "github.com/dashpay/tenderdash/scripts/metricsgen" ) const testDataDir = "./testdata" diff --git a/scripts/scmigrate/migrate.go b/scripts/scmigrate/migrate.go index c8e1d94900..643dce671f 100644 --- a/scripts/scmigrate/migrate.go +++ b/scripts/scmigrate/migrate.go @@ -17,8 +17,8 @@ import ( "github.com/google/orderedcode" dbm "github.com/tendermint/tm-db" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) type toMigrate struct { diff --git a/scripts/scmigrate/migrate_test.go b/scripts/scmigrate/migrate_test.go index 900a15f857..3527e5d7af 100644 --- a/scripts/scmigrate/migrate_test.go +++ b/scripts/scmigrate/migrate_test.go @@ -9,7 +9,7 @@ import ( "github.com/gogo/protobuf/proto" dbm "github.com/tendermint/tm-db" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/types" ) func appendRandomMigrations(in []toMigrate, num int) []toMigrate { diff --git a/scripts/wal2json/main.go b/scripts/wal2json/main.go index 7ee7561068..22da871e16 100644 --- a/scripts/wal2json/main.go +++ b/scripts/wal2json/main.go @@ -13,7 +13,7 @@ import ( "io" "os" - "github.com/tendermint/tendermint/internal/consensus" + "github.com/dashpay/tenderdash/internal/consensus" ) func main() { diff --git a/test/e2e/app/app.go b/test/e2e/app/app.go index bb6251b349..aa250c4dd9 100644 --- a/test/e2e/app/app.go +++ b/test/e2e/app/app.go @@ -14,12 +14,12 @@ import ( sync "github.com/sasha-s/go-deadlock" db "github.com/tendermint/tm-db" - "github.com/tendermint/tendermint/abci/example/code" - "github.com/tendermint/tendermint/abci/example/kvstore" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/libs/log" - types1 "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/abci/example/code" + "github.com/dashpay/tenderdash/abci/example/kvstore" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/libs/log" + types1 "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/types" ) const ( diff --git a/test/e2e/app/app_test.go b/test/e2e/app/app_test.go index ff7f1e639b..a238be37b3 100644 --- a/test/e2e/app/app_test.go +++ b/test/e2e/app/app_test.go @@ -14,11 +14,11 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/abci/example/code" - "github.com/tendermint/tendermint/abci/example/kvstore" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/crypto" - tmtypes "github.com/tendermint/tendermint/proto/tendermint/types" + "github.com/dashpay/tenderdash/abci/example/code" + "github.com/dashpay/tenderdash/abci/example/kvstore" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/crypto" + tmtypes "github.com/dashpay/tenderdash/proto/tendermint/types" ) func newApp(t *testing.T) *Application { diff --git a/test/e2e/generator/generate.go b/test/e2e/generator/generate.go index ce2f86c312..66143562cd 100644 --- a/test/e2e/generator/generate.go +++ b/test/e2e/generator/generate.go @@ -8,9 +8,9 @@ import ( "strings" "time" - "github.com/tendermint/tendermint/abci/example/kvstore" - e2e "github.com/tendermint/tendermint/test/e2e/pkg" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/abci/example/kvstore" + e2e "github.com/dashpay/tenderdash/test/e2e/pkg" + "github.com/dashpay/tenderdash/types" ) var ( diff --git a/test/e2e/generator/generate_test.go b/test/e2e/generator/generate_test.go index 1edfa5fba3..55771c27d5 100644 --- a/test/e2e/generator/generate_test.go +++ b/test/e2e/generator/generate_test.go @@ -7,7 +7,7 @@ import ( "github.com/stretchr/testify/require" - e2e "github.com/tendermint/tendermint/test/e2e/pkg" + e2e "github.com/dashpay/tenderdash/test/e2e/pkg" ) func TestGenerator(t *testing.T) { diff --git a/test/e2e/generator/main.go b/test/e2e/generator/main.go index a74fb0637e..d1349aa9bc 100644 --- a/test/e2e/generator/main.go +++ b/test/e2e/generator/main.go @@ -10,8 +10,8 @@ import ( "github.com/spf13/cobra" - "github.com/tendermint/tendermint/libs/log" - e2e "github.com/tendermint/tendermint/test/e2e/pkg" + "github.com/dashpay/tenderdash/libs/log" + e2e "github.com/dashpay/tenderdash/test/e2e/pkg" ) const ( diff --git a/test/e2e/node/config.go b/test/e2e/node/config.go index b2e1b24ffe..8eb9ee74a7 100644 --- a/test/e2e/node/config.go +++ b/test/e2e/node/config.go @@ -7,7 +7,7 @@ import ( "github.com/BurntSushi/toml" - "github.com/tendermint/tendermint/abci/example/kvstore" + "github.com/dashpay/tenderdash/abci/example/kvstore" ) // Config is the application configuration. diff --git a/test/e2e/node/main.go b/test/e2e/node/main.go index 3cd3576963..caf90c2ac4 100644 --- a/test/e2e/node/main.go +++ b/test/e2e/node/main.go @@ -15,27 +15,27 @@ import ( "github.com/spf13/viper" "google.golang.org/grpc" - abciclient "github.com/tendermint/tendermint/abci/client" - "github.com/tendermint/tendermint/abci/example/kvstore" - "github.com/tendermint/tendermint/abci/server" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/crypto/ed25519" - dashcore "github.com/tendermint/tendermint/dash/core" - "github.com/tendermint/tendermint/internal/p2p" - "github.com/tendermint/tendermint/libs/log" - tmnet "github.com/tendermint/tendermint/libs/net" - "github.com/tendermint/tendermint/light" - lproxy "github.com/tendermint/tendermint/light/proxy" - lrpc "github.com/tendermint/tendermint/light/rpc" - dbs "github.com/tendermint/tendermint/light/store/db" - "github.com/tendermint/tendermint/node" - "github.com/tendermint/tendermint/privval" - grpcprivval "github.com/tendermint/tendermint/privval/grpc" - privvalproto "github.com/tendermint/tendermint/proto/tendermint/privval" - rpcserver "github.com/tendermint/tendermint/rpc/jsonrpc/server" - "github.com/tendermint/tendermint/test/e2e/app" - e2e "github.com/tendermint/tendermint/test/e2e/pkg" - "github.com/tendermint/tendermint/test/e2e/pkg/mockcoreserver" + abciclient "github.com/dashpay/tenderdash/abci/client" + "github.com/dashpay/tenderdash/abci/example/kvstore" + "github.com/dashpay/tenderdash/abci/server" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/crypto/ed25519" + dashcore "github.com/dashpay/tenderdash/dash/core" + "github.com/dashpay/tenderdash/internal/p2p" + "github.com/dashpay/tenderdash/libs/log" + tmnet "github.com/dashpay/tenderdash/libs/net" + "github.com/dashpay/tenderdash/light" + lproxy "github.com/dashpay/tenderdash/light/proxy" + lrpc "github.com/dashpay/tenderdash/light/rpc" + dbs "github.com/dashpay/tenderdash/light/store/db" + "github.com/dashpay/tenderdash/node" + "github.com/dashpay/tenderdash/privval" + grpcprivval "github.com/dashpay/tenderdash/privval/grpc" + privvalproto "github.com/dashpay/tenderdash/proto/tendermint/privval" + rpcserver "github.com/dashpay/tenderdash/rpc/jsonrpc/server" + "github.com/dashpay/tenderdash/test/e2e/app" + e2e "github.com/dashpay/tenderdash/test/e2e/pkg" + "github.com/dashpay/tenderdash/test/e2e/pkg/mockcoreserver" ) var ( diff --git a/test/e2e/pkg/infra/docker/compose.go b/test/e2e/pkg/infra/docker/compose.go index 8291d73961..a9453d8609 100644 --- a/test/e2e/pkg/infra/docker/compose.go +++ b/test/e2e/pkg/infra/docker/compose.go @@ -5,7 +5,7 @@ import ( "os" "text/template" - e2e "github.com/tendermint/tendermint/test/e2e/pkg" + e2e "github.com/dashpay/tenderdash/test/e2e/pkg" ) // makeDockerCompose generates a Docker Compose config for a testnet. diff --git a/test/e2e/pkg/infra/docker/exec.go b/test/e2e/pkg/infra/docker/exec.go index de0033e325..361c46308d 100644 --- a/test/e2e/pkg/infra/docker/exec.go +++ b/test/e2e/pkg/infra/docker/exec.go @@ -4,7 +4,7 @@ import ( "context" "path/filepath" - "github.com/tendermint/tendermint/test/e2e/pkg/exec" + "github.com/dashpay/tenderdash/test/e2e/pkg/exec" ) // execCompose runs a Docker Compose command for a testnet. diff --git a/test/e2e/pkg/infra/docker/infra.go b/test/e2e/pkg/infra/docker/infra.go index 382576c91d..f0b0902c8c 100644 --- a/test/e2e/pkg/infra/docker/infra.go +++ b/test/e2e/pkg/infra/docker/infra.go @@ -6,10 +6,10 @@ import ( "os" "path/filepath" - "github.com/tendermint/tendermint/libs/log" - e2e "github.com/tendermint/tendermint/test/e2e/pkg" - "github.com/tendermint/tendermint/test/e2e/pkg/exec" - "github.com/tendermint/tendermint/test/e2e/pkg/infra" + "github.com/dashpay/tenderdash/libs/log" + e2e "github.com/dashpay/tenderdash/test/e2e/pkg" + "github.com/dashpay/tenderdash/test/e2e/pkg/exec" + "github.com/dashpay/tenderdash/test/e2e/pkg/infra" ) // testnetInfra provides an API for provisioning and manipulating diff --git a/test/e2e/pkg/infra/infra.go b/test/e2e/pkg/infra/infra.go index 2fa7c5ad97..2cefa337e6 100644 --- a/test/e2e/pkg/infra/infra.go +++ b/test/e2e/pkg/infra/infra.go @@ -3,7 +3,7 @@ package infra import ( "context" - e2e "github.com/tendermint/tendermint/test/e2e/pkg" + e2e "github.com/dashpay/tenderdash/test/e2e/pkg" ) // TestnetInfra provides an API for manipulating the infrastructure of a diff --git a/test/e2e/pkg/manifest.go b/test/e2e/pkg/manifest.go index cc768f8784..9bd98e0a64 100644 --- a/test/e2e/pkg/manifest.go +++ b/test/e2e/pkg/manifest.go @@ -8,7 +8,7 @@ import ( "github.com/BurntSushi/toml" - "github.com/tendermint/tendermint/abci/example/kvstore" + "github.com/dashpay/tenderdash/abci/example/kvstore" ) // Manifest represents a TOML testnet manifest. diff --git a/test/e2e/pkg/mockcoreserver/core_server.go b/test/e2e/pkg/mockcoreserver/core_server.go index ef26284e87..390dbfe773 100644 --- a/test/e2e/pkg/mockcoreserver/core_server.go +++ b/test/e2e/pkg/mockcoreserver/core_server.go @@ -8,9 +8,9 @@ import ( "github.com/dashpay/dashd-go/btcjson" - "github.com/tendermint/tendermint/crypto" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/privval" + "github.com/dashpay/tenderdash/crypto" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/privval" ) // CoreServer is an interface of a mock core-server diff --git a/test/e2e/pkg/mockcoreserver/server_test.go b/test/e2e/pkg/mockcoreserver/server_test.go index edcfb3ca41..2d75db66e3 100644 --- a/test/e2e/pkg/mockcoreserver/server_test.go +++ b/test/e2e/pkg/mockcoreserver/server_test.go @@ -12,11 +12,11 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/bls12381" - dashcore "github.com/tendermint/tendermint/dash/core" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/privval" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/bls12381" + dashcore "github.com/dashpay/tenderdash/dash/core" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/privval" ) func TestServer(t *testing.T) { diff --git a/test/e2e/pkg/testnet.go b/test/e2e/pkg/testnet.go index 7e8cada563..6ec8295ea4 100644 --- a/test/e2e/pkg/testnet.go +++ b/test/e2e/pkg/testnet.go @@ -15,15 +15,15 @@ import ( "github.com/dashpay/dashd-go/btcjson" - "github.com/tendermint/tendermint/abci/example/kvstore" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/bls12381" - "github.com/tendermint/tendermint/crypto/ed25519" - "github.com/tendermint/tendermint/crypto/secp256k1" - "github.com/tendermint/tendermint/dash/llmq" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/abci/example/kvstore" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/bls12381" + "github.com/dashpay/tenderdash/crypto/ed25519" + "github.com/dashpay/tenderdash/crypto/secp256k1" + "github.com/dashpay/tenderdash/dash/llmq" + rpchttp "github.com/dashpay/tenderdash/rpc/client/http" + "github.com/dashpay/tenderdash/types" ) const ( diff --git a/test/e2e/pkg/utils.go b/test/e2e/pkg/utils.go index 9082dda487..5f58a1d0b0 100644 --- a/test/e2e/pkg/utils.go +++ b/test/e2e/pkg/utils.go @@ -7,8 +7,8 @@ import ( "math/rand" "strconv" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/dash/llmq" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/dash/llmq" ) // proTxHashGenerator generates pseudorandom proTxHash based on a seed. diff --git a/test/e2e/runner/benchmark.go b/test/e2e/runner/benchmark.go index 91c748ff73..d5f6ef553e 100644 --- a/test/e2e/runner/benchmark.go +++ b/test/e2e/runner/benchmark.go @@ -8,9 +8,9 @@ import ( "path/filepath" "time" - "github.com/tendermint/tendermint/libs/log" - e2e "github.com/tendermint/tendermint/test/e2e/pkg" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/libs/log" + e2e "github.com/dashpay/tenderdash/test/e2e/pkg" + "github.com/dashpay/tenderdash/types" ) // Benchmark is a simple function for fetching, calculating and printing diff --git a/test/e2e/runner/cleanup.go b/test/e2e/runner/cleanup.go index 5332af29cb..547aabf220 100644 --- a/test/e2e/runner/cleanup.go +++ b/test/e2e/runner/cleanup.go @@ -5,8 +5,8 @@ import ( "errors" "os" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/test/e2e/pkg/infra" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/test/e2e/pkg/infra" ) // Cleanup destroys all infrastructure and removes all generated testnet files. diff --git a/test/e2e/runner/evidence.go b/test/e2e/runner/evidence.go index bb5e4c35f7..84192cf2a1 100644 --- a/test/e2e/runner/evidence.go +++ b/test/e2e/runner/evidence.go @@ -10,16 +10,15 @@ import ( "path/filepath" "time" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/internal/test/factory" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - tmrand "github.com/tendermint/tendermint/libs/rand" - - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/privval" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - e2e "github.com/tendermint/tendermint/test/e2e/pkg" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/internal/test/factory" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/libs/log" + tmrand "github.com/dashpay/tenderdash/libs/rand" + "github.com/dashpay/tenderdash/privval" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + e2e "github.com/dashpay/tenderdash/test/e2e/pkg" + "github.com/dashpay/tenderdash/types" ) // InjectEvidence takes a running testnet and generates an amount of valid diff --git a/test/e2e/runner/load.go b/test/e2e/runner/load.go index eac2d682af..2a5eba24d8 100644 --- a/test/e2e/runner/load.go +++ b/test/e2e/runner/load.go @@ -7,11 +7,11 @@ import ( "math/rand" "time" - "github.com/tendermint/tendermint/libs/log" - tmrand "github.com/tendermint/tendermint/libs/rand" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" - e2e "github.com/tendermint/tendermint/test/e2e/pkg" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/libs/log" + tmrand "github.com/dashpay/tenderdash/libs/rand" + rpchttp "github.com/dashpay/tenderdash/rpc/client/http" + e2e "github.com/dashpay/tenderdash/test/e2e/pkg" + "github.com/dashpay/tenderdash/types" ) // Load generates transactions against the network until the given context is diff --git a/test/e2e/runner/main.go b/test/e2e/runner/main.go index 9a24f11417..e50b1eafd9 100644 --- a/test/e2e/runner/main.go +++ b/test/e2e/runner/main.go @@ -11,10 +11,10 @@ import ( "github.com/spf13/cobra" - "github.com/tendermint/tendermint/libs/log" - e2e "github.com/tendermint/tendermint/test/e2e/pkg" - "github.com/tendermint/tendermint/test/e2e/pkg/infra" - "github.com/tendermint/tendermint/test/e2e/pkg/infra/docker" + "github.com/dashpay/tenderdash/libs/log" + e2e "github.com/dashpay/tenderdash/test/e2e/pkg" + "github.com/dashpay/tenderdash/test/e2e/pkg/infra" + "github.com/dashpay/tenderdash/test/e2e/pkg/infra/docker" ) const randomSeed = 2308084734268 diff --git a/test/e2e/runner/perturb.go b/test/e2e/runner/perturb.go index 76a209ea24..edc238cced 100644 --- a/test/e2e/runner/perturb.go +++ b/test/e2e/runner/perturb.go @@ -5,10 +5,10 @@ import ( "fmt" "time" - "github.com/tendermint/tendermint/libs/log" - rpctypes "github.com/tendermint/tendermint/rpc/coretypes" - e2e "github.com/tendermint/tendermint/test/e2e/pkg" - "github.com/tendermint/tendermint/test/e2e/pkg/infra" + "github.com/dashpay/tenderdash/libs/log" + rpctypes "github.com/dashpay/tenderdash/rpc/coretypes" + e2e "github.com/dashpay/tenderdash/test/e2e/pkg" + "github.com/dashpay/tenderdash/test/e2e/pkg/infra" ) // Perturbs a running testnet. diff --git a/test/e2e/runner/rpc.go b/test/e2e/runner/rpc.go index f3538cc057..02875d6902 100644 --- a/test/e2e/runner/rpc.go +++ b/test/e2e/runner/rpc.go @@ -6,11 +6,11 @@ import ( "fmt" "time" - "github.com/tendermint/tendermint/libs/log" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" - rpctypes "github.com/tendermint/tendermint/rpc/coretypes" - e2e "github.com/tendermint/tendermint/test/e2e/pkg" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/libs/log" + rpchttp "github.com/dashpay/tenderdash/rpc/client/http" + rpctypes "github.com/dashpay/tenderdash/rpc/coretypes" + e2e "github.com/dashpay/tenderdash/test/e2e/pkg" + "github.com/dashpay/tenderdash/types" ) const ( diff --git a/test/e2e/runner/setup.go b/test/e2e/runner/setup.go index 63959b0a44..7e6a3ae23b 100644 --- a/test/e2e/runner/setup.go +++ b/test/e2e/runner/setup.go @@ -19,16 +19,16 @@ import ( "github.com/BurntSushi/toml" "github.com/gogo/protobuf/proto" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/bls12381" - cryptoenc "github.com/tendermint/tendermint/crypto/encoding" - "github.com/tendermint/tendermint/libs/log" - tmtime "github.com/tendermint/tendermint/libs/time" - "github.com/tendermint/tendermint/privval" - e2e "github.com/tendermint/tendermint/test/e2e/pkg" - "github.com/tendermint/tendermint/test/e2e/pkg/infra" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/bls12381" + cryptoenc "github.com/dashpay/tenderdash/crypto/encoding" + "github.com/dashpay/tenderdash/libs/log" + tmtime "github.com/dashpay/tenderdash/libs/time" + "github.com/dashpay/tenderdash/privval" + e2e "github.com/dashpay/tenderdash/test/e2e/pkg" + "github.com/dashpay/tenderdash/test/e2e/pkg/infra" + "github.com/dashpay/tenderdash/types" ) const ( diff --git a/test/e2e/runner/start.go b/test/e2e/runner/start.go index 5d5c2e7a96..3b45597fb9 100644 --- a/test/e2e/runner/start.go +++ b/test/e2e/runner/start.go @@ -6,9 +6,9 @@ import ( "sort" "time" - "github.com/tendermint/tendermint/libs/log" - e2e "github.com/tendermint/tendermint/test/e2e/pkg" - "github.com/tendermint/tendermint/test/e2e/pkg/infra" + "github.com/dashpay/tenderdash/libs/log" + e2e "github.com/dashpay/tenderdash/test/e2e/pkg" + "github.com/dashpay/tenderdash/test/e2e/pkg/infra" ) func Start(ctx context.Context, logger log.Logger, testnet *e2e.Testnet, ti infra.TestnetInfra) error { diff --git a/test/e2e/runner/test.go b/test/e2e/runner/test.go index 3d680d910d..c44f58acd4 100644 --- a/test/e2e/runner/test.go +++ b/test/e2e/runner/test.go @@ -4,8 +4,8 @@ import ( "context" "os" - e2e "github.com/tendermint/tendermint/test/e2e/pkg" - "github.com/tendermint/tendermint/test/e2e/pkg/exec" + e2e "github.com/dashpay/tenderdash/test/e2e/pkg" + "github.com/dashpay/tenderdash/test/e2e/pkg/exec" ) // Test runs test cases under tests/ diff --git a/test/e2e/runner/wait.go b/test/e2e/runner/wait.go index b8e8d0d4de..eac337823b 100644 --- a/test/e2e/runner/wait.go +++ b/test/e2e/runner/wait.go @@ -4,8 +4,8 @@ import ( "context" "fmt" - "github.com/tendermint/tendermint/libs/log" - e2e "github.com/tendermint/tendermint/test/e2e/pkg" + "github.com/dashpay/tenderdash/libs/log" + e2e "github.com/dashpay/tenderdash/test/e2e/pkg" ) // Wait waits for a number of blocks to be produced, and for all nodes to catch diff --git a/test/e2e/tests/app_test.go b/test/e2e/tests/app_test.go index 5560fbf4b3..7fe54e4f06 100644 --- a/test/e2e/tests/app_test.go +++ b/test/e2e/tests/app_test.go @@ -11,11 +11,11 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/abci/example/code" - tmrand "github.com/tendermint/tendermint/libs/rand" - "github.com/tendermint/tendermint/rpc/client/http" - e2e "github.com/tendermint/tendermint/test/e2e/pkg" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/abci/example/code" + tmrand "github.com/dashpay/tenderdash/libs/rand" + "github.com/dashpay/tenderdash/rpc/client/http" + e2e "github.com/dashpay/tenderdash/test/e2e/pkg" + "github.com/dashpay/tenderdash/types" ) const ( diff --git a/test/e2e/tests/block_test.go b/test/e2e/tests/block_test.go index 3ecbd8c001..d900a8b4ab 100644 --- a/test/e2e/tests/block_test.go +++ b/test/e2e/tests/block_test.go @@ -7,8 +7,8 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - e2e "github.com/tendermint/tendermint/test/e2e/pkg" - "github.com/tendermint/tendermint/types" + e2e "github.com/dashpay/tenderdash/test/e2e/pkg" + "github.com/dashpay/tenderdash/types" ) // Tests that block headers are identical across nodes where present. diff --git a/test/e2e/tests/e2e_test.go b/test/e2e/tests/e2e_test.go index 56db285fb7..c8e72d0b68 100644 --- a/test/e2e/tests/e2e_test.go +++ b/test/e2e/tests/e2e_test.go @@ -10,10 +10,10 @@ import ( "github.com/stretchr/testify/require" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" - rpctypes "github.com/tendermint/tendermint/rpc/coretypes" - e2e "github.com/tendermint/tendermint/test/e2e/pkg" - "github.com/tendermint/tendermint/types" + rpchttp "github.com/dashpay/tenderdash/rpc/client/http" + rpctypes "github.com/dashpay/tenderdash/rpc/coretypes" + e2e "github.com/dashpay/tenderdash/test/e2e/pkg" + "github.com/dashpay/tenderdash/types" ) func init() { diff --git a/test/e2e/tests/net_test.go b/test/e2e/tests/net_test.go index 43cab77e8a..194d3c68f3 100644 --- a/test/e2e/tests/net_test.go +++ b/test/e2e/tests/net_test.go @@ -6,8 +6,8 @@ import ( "github.com/stretchr/testify/require" - e2e "github.com/tendermint/tendermint/test/e2e/pkg" - "github.com/tendermint/tendermint/types" + e2e "github.com/dashpay/tenderdash/test/e2e/pkg" + "github.com/dashpay/tenderdash/types" ) // Tests that all nodes have peered with each other, regardless of discovery method. diff --git a/test/e2e/tests/validator_test.go b/test/e2e/tests/validator_test.go index 6e7da9d13d..23c4c2c3da 100644 --- a/test/e2e/tests/validator_test.go +++ b/test/e2e/tests/validator_test.go @@ -8,10 +8,10 @@ import ( "github.com/dashpay/dashd-go/btcjson" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/crypto" - cryptoenc "github.com/tendermint/tendermint/crypto/encoding" - e2e "github.com/tendermint/tendermint/test/e2e/pkg" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + cryptoenc "github.com/dashpay/tenderdash/crypto/encoding" + e2e "github.com/dashpay/tenderdash/test/e2e/pkg" + "github.com/dashpay/tenderdash/types" ) // Tests that validator sets are available and correct according to diff --git a/test/fuzz/tests/mempool_test.go b/test/fuzz/tests/mempool_test.go index bd14d43b46..7e65a8f6fb 100644 --- a/test/fuzz/tests/mempool_test.go +++ b/test/fuzz/tests/mempool_test.go @@ -8,11 +8,11 @@ import ( "github.com/stretchr/testify/require" - abciclient "github.com/tendermint/tendermint/abci/client" - "github.com/tendermint/tendermint/abci/example/kvstore" - "github.com/tendermint/tendermint/config" - "github.com/tendermint/tendermint/internal/mempool" - "github.com/tendermint/tendermint/libs/log" + abciclient "github.com/dashpay/tenderdash/abci/client" + "github.com/dashpay/tenderdash/abci/example/kvstore" + "github.com/dashpay/tenderdash/config" + "github.com/dashpay/tenderdash/internal/mempool" + "github.com/dashpay/tenderdash/libs/log" ) func FuzzMempool(f *testing.F) { diff --git a/test/fuzz/tests/p2p_secretconnection_test.go b/test/fuzz/tests/p2p_secretconnection_test.go index 65f268a7bf..b3227847ff 100644 --- a/test/fuzz/tests/p2p_secretconnection_test.go +++ b/test/fuzz/tests/p2p_secretconnection_test.go @@ -9,9 +9,9 @@ import ( "log" "testing" - "github.com/tendermint/tendermint/crypto/ed25519" - "github.com/tendermint/tendermint/internal/libs/async" - sc "github.com/tendermint/tendermint/internal/p2p/conn" + "github.com/dashpay/tenderdash/crypto/ed25519" + "github.com/dashpay/tenderdash/internal/libs/async" + sc "github.com/dashpay/tenderdash/internal/p2p/conn" ) func FuzzP2PSecretConnection(f *testing.F) { diff --git a/test/fuzz/tests/rpc_jsonrpc_server_test.go b/test/fuzz/tests/rpc_jsonrpc_server_test.go index 67dee9ef28..e62d586865 100644 --- a/test/fuzz/tests/rpc_jsonrpc_server_test.go +++ b/test/fuzz/tests/rpc_jsonrpc_server_test.go @@ -11,9 +11,9 @@ import ( "net/http/httptest" "testing" - "github.com/tendermint/tendermint/libs/log" - rpcserver "github.com/tendermint/tendermint/rpc/jsonrpc/server" - "github.com/tendermint/tendermint/rpc/jsonrpc/types" + "github.com/dashpay/tenderdash/libs/log" + rpcserver "github.com/dashpay/tenderdash/rpc/jsonrpc/server" + "github.com/dashpay/tenderdash/rpc/jsonrpc/types" ) func FuzzRPCJSONRPCServer(f *testing.F) { diff --git a/types/block.go b/types/block.go index 5035e8b87e..df65dc7be3 100644 --- a/types/block.go +++ b/types/block.go @@ -18,14 +18,14 @@ import ( gogotypes "github.com/gogo/protobuf/types" "github.com/rs/zerolog" - "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/merkle" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - tmmath "github.com/tendermint/tendermint/libs/math" - tmcons "github.com/tendermint/tendermint/proto/tendermint/consensus" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - "github.com/tendermint/tendermint/version" + "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/merkle" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + tmmath "github.com/dashpay/tenderdash/libs/math" + tmcons "github.com/dashpay/tenderdash/proto/tendermint/consensus" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + "github.com/dashpay/tenderdash/version" ) const ( @@ -398,7 +398,7 @@ func MakeBlock(height int64, txs []Tx, lastCommit *Commit, evidence []Evidence) // NOTE: changes to the Header should be duplicated in: // - header.Hash() // - abci.Header -// - https://github.com/tendermint/tendermint/blob/master/spec/core/data_structures.md +// - https://github.com/dashpay/tenderdash/blob/master/spec/core/data_structures.md type Header struct { // basic block info Version version.Consensus `json:"version"` diff --git a/types/block_dash.go b/types/block_dash.go index 5864735543..4af248c6b5 100644 --- a/types/block_dash.go +++ b/types/block_dash.go @@ -1,6 +1,6 @@ package types -import tmbytes "github.com/tendermint/tendermint/libs/bytes" +import tmbytes "github.com/dashpay/tenderdash/libs/bytes" // SetDashParams sets dash's some parameters to a block // this method should call if we need to provide specific dash data diff --git a/types/block_meta.go b/types/block_meta.go index 2a6d953475..f91a44a173 100644 --- a/types/block_meta.go +++ b/types/block_meta.go @@ -5,7 +5,7 @@ import ( "errors" "fmt" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" ) // BlockMeta contains meta information. diff --git a/types/block_meta_test.go b/types/block_meta_test.go index 6379177bf0..600b5592c4 100644 --- a/types/block_meta_test.go +++ b/types/block_meta_test.go @@ -5,8 +5,8 @@ import ( "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/crypto" - tmrand "github.com/tendermint/tendermint/libs/rand" + "github.com/dashpay/tenderdash/crypto" + tmrand "github.com/dashpay/tenderdash/libs/rand" ) func TestBlockMeta_ToProto(t *testing.T) { diff --git a/types/block_test.go b/types/block_test.go index adb797e555..f9a4af6489 100644 --- a/types/block_test.go +++ b/types/block_test.go @@ -18,15 +18,15 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/bls12381" - "github.com/tendermint/tendermint/crypto/merkle" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - tmrand "github.com/tendermint/tendermint/libs/rand" - tmtime "github.com/tendermint/tendermint/libs/time" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - tmversion "github.com/tendermint/tendermint/proto/tendermint/version" - "github.com/tendermint/tendermint/version" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/bls12381" + "github.com/dashpay/tenderdash/crypto/merkle" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + tmrand "github.com/dashpay/tenderdash/libs/rand" + tmtime "github.com/dashpay/tenderdash/libs/time" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" + tmversion "github.com/dashpay/tenderdash/proto/tendermint/version" + "github.com/dashpay/tenderdash/version" ) func TestMain(m *testing.M) { diff --git a/types/canonical.go b/types/canonical.go index dabca9da7f..e4c5d74f51 100644 --- a/types/canonical.go +++ b/types/canonical.go @@ -3,8 +3,8 @@ package types import ( "time" - tmtime "github.com/tendermint/tendermint/libs/time" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + tmtime "github.com/dashpay/tenderdash/libs/time" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" ) // Canonical* wraps the structs in types for amino encoding them for use in SignBytes / the Signable interface. diff --git a/types/canonical_test.go b/types/canonical_test.go index 97f50638d9..ab05d0b323 100644 --- a/types/canonical_test.go +++ b/types/canonical_test.go @@ -4,9 +4,9 @@ import ( "reflect" "testing" - "github.com/tendermint/tendermint/crypto" - tmrand "github.com/tendermint/tendermint/libs/rand" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + tmrand "github.com/dashpay/tenderdash/libs/rand" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" ) func TestCanonicalizeBlockID(t *testing.T) { diff --git a/types/core_chainlock.go b/types/core_chainlock.go index 431967d22b..b6c9d3b1c2 100644 --- a/types/core_chainlock.go +++ b/types/core_chainlock.go @@ -6,8 +6,8 @@ import ( "errors" "fmt" - "github.com/tendermint/tendermint/crypto" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" ) type CoreChainLock struct { diff --git a/types/encoding_helper.go b/types/encoding_helper.go index d0a731499e..28a238793a 100644 --- a/types/encoding_helper.go +++ b/types/encoding_helper.go @@ -3,7 +3,7 @@ package types import ( gogotypes "github.com/gogo/protobuf/types" - "github.com/tendermint/tendermint/libs/bytes" + "github.com/dashpay/tenderdash/libs/bytes" ) // cdcEncode returns nil if the input is nil, otherwise returns diff --git a/types/events.go b/types/events.go index 29ba52b690..90568bbc92 100644 --- a/types/events.go +++ b/types/events.go @@ -4,10 +4,10 @@ import ( "fmt" "strings" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/internal/jsontypes" - tmquery "github.com/tendermint/tendermint/internal/pubsub/query" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/internal/jsontypes" + tmquery "github.com/dashpay/tenderdash/internal/pubsub/query" ) // Reserved event types (alphabetically sorted). diff --git a/types/evidence.go b/types/evidence.go index ad782d747f..86e3f08631 100644 --- a/types/evidence.go +++ b/types/evidence.go @@ -11,13 +11,13 @@ import ( "github.com/dashpay/dashd-go/btcjson" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/merkle" - "github.com/tendermint/tendermint/internal/jsontypes" - tmmath "github.com/tendermint/tendermint/libs/math" - tmrand "github.com/tendermint/tendermint/libs/rand" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/merkle" + "github.com/dashpay/tenderdash/internal/jsontypes" + tmmath "github.com/dashpay/tenderdash/libs/math" + tmrand "github.com/dashpay/tenderdash/libs/rand" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" ) // Evidence represents any provable malicious activity by a validator. diff --git a/types/evidence_test.go b/types/evidence_test.go index 62058bb845..edee9d7248 100644 --- a/types/evidence_test.go +++ b/types/evidence_test.go @@ -11,9 +11,9 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/bls12381" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/bls12381" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" ) var defaultVoteTime = time.Date(2019, 1, 1, 0, 0, 0, 0, time.UTC) diff --git a/types/generator.go b/types/generator.go index 5ce8b00f1c..75c8f034f4 100644 --- a/types/generator.go +++ b/types/generator.go @@ -4,8 +4,8 @@ import ( "context" "sort" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/dash/llmq" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/dash/llmq" ) // RandValidatorSet returns a randomized validator set (size: +numValidators+), diff --git a/types/genesis.go b/types/genesis.go index bd6c8a8203..c98872fdd9 100644 --- a/types/genesis.go +++ b/types/genesis.go @@ -9,12 +9,12 @@ import ( "github.com/dashpay/dashd-go/btcjson" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/bls12381" - "github.com/tendermint/tendermint/internal/jsontypes" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - tmtime "github.com/tendermint/tendermint/libs/time" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/bls12381" + "github.com/dashpay/tenderdash/internal/jsontypes" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + tmtime "github.com/dashpay/tenderdash/libs/time" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" ) const ( diff --git a/types/genesis_test.go b/types/genesis_test.go index 7e29b5e8dc..92a918f01d 100644 --- a/types/genesis_test.go +++ b/types/genesis_test.go @@ -11,9 +11,9 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/bls12381" - tmtime "github.com/tendermint/tendermint/libs/time" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/bls12381" + tmtime "github.com/dashpay/tenderdash/libs/time" ) func TestGenesisBad(t *testing.T) { @@ -101,7 +101,7 @@ func TestGenesisBad(t *testing.T) { "chain_id":"mychain", "validator_quorum_threshold_public_key":{"type": "tendermint/PubKeyBLS12381","value":"F5BjXeh0DppqaxX7a3LzoWr6CXPZcZeba6VHYdbiUCxQ23b00mFD8FRZpCz9Ug1E"}, "validator_quorum_hash":"43FF39CC1F41B9FC63DFA5B1EDF3F0CA3AD5CAFAE4B12B4FE9263B08BB50C4CC", - "validator_quorum_type":100, + "validator_quorum_type":100, "validators":[{ "address": "A", "pub_key":{"type":"tendermint/PubKeyEd25519","value":"AT/+aaL1eB0477Mud9JMm8Sh8BIvOYlPGC9KkIUmFaE="}, @@ -122,7 +122,7 @@ func TestGenesisBad(t *testing.T) { "name":"", "pro_tx_hash":"51BF39CC1F41B9FC63DFA5B1EDF3F0CA3AD5CAFAE4B12B4FE9263B08BB50C45F" }], - "validator_quorum_type":100, + "validator_quorum_type":100, "validator_quorum_threshold_public_key":{ "type": "tendermint/PubKeyBLS12381", "value":"F5BjXeh0DppqaxX7a3LzoWr6CXPZcZeba6VHYdbiUCxQ23b00mFD8FRZpCz9Ug1E" diff --git a/types/light.go b/types/light.go index 0197a41294..0fdec40355 100644 --- a/types/light.go +++ b/types/light.go @@ -6,8 +6,8 @@ import ( "fmt" "time" - tbytes "github.com/tendermint/tendermint/libs/bytes" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + tbytes "github.com/dashpay/tenderdash/libs/bytes" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" ) // Info about the status of the light client diff --git a/types/light_test.go b/types/light_test.go index 72a275bc4b..bcb1bad17f 100644 --- a/types/light_test.go +++ b/types/light_test.go @@ -9,8 +9,8 @@ import ( "github.com/stretchr/testify/assert" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/version" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/version" ) func TestLightBlockValidateBasic(t *testing.T) { diff --git a/types/mocks/block_event_publisher.go b/types/mocks/block_event_publisher.go index b9c4bcdc01..8cd1f3d266 100644 --- a/types/mocks/block_event_publisher.go +++ b/types/mocks/block_event_publisher.go @@ -3,8 +3,8 @@ package mocks import ( + types "github.com/dashpay/tenderdash/types" mock "github.com/stretchr/testify/mock" - types "github.com/tendermint/tendermint/types" ) // BlockEventPublisher is an autogenerated mock type for the BlockEventPublisher type diff --git a/types/mocks/priv_validator.go b/types/mocks/priv_validator.go index d1cfd55ff7..9f75bf3771 100644 --- a/types/mocks/priv_validator.go +++ b/types/mocks/priv_validator.go @@ -4,19 +4,19 @@ package mocks import ( btcjson "github.com/dashpay/dashd-go/btcjson" - bytes "github.com/tendermint/tendermint/libs/bytes" + bytes "github.com/dashpay/tenderdash/libs/bytes" context "context" - crypto "github.com/tendermint/tendermint/crypto" + crypto "github.com/dashpay/tenderdash/crypto" - log "github.com/tendermint/tendermint/libs/log" + log "github.com/dashpay/tenderdash/libs/log" mock "github.com/stretchr/testify/mock" - tenderminttypes "github.com/tendermint/tendermint/proto/tendermint/types" + tenderminttypes "github.com/dashpay/tenderdash/proto/tendermint/types" - types "github.com/tendermint/tendermint/types" + types "github.com/dashpay/tenderdash/types" ) // PrivValidator is an autogenerated mock type for the PrivValidator type diff --git a/types/node_id.go b/types/node_id.go index a5db401598..e355a6f971 100644 --- a/types/node_id.go +++ b/types/node_id.go @@ -7,7 +7,7 @@ import ( "regexp" "strings" - "github.com/tendermint/tendermint/crypto" + "github.com/dashpay/tenderdash/crypto" ) // NodeIDByteLength is the length of a crypto.Address. Currently only 20. diff --git a/types/node_info.go b/types/node_info.go index be6e3bebaa..eb3720f890 100644 --- a/types/node_info.go +++ b/types/node_info.go @@ -7,11 +7,10 @@ import ( "strconv" "strings" - "github.com/tendermint/tendermint/crypto" - - tmstrings "github.com/tendermint/tendermint/internal/libs/strings" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - tmp2p "github.com/tendermint/tendermint/proto/tendermint/p2p" + "github.com/dashpay/tenderdash/crypto" + tmstrings "github.com/dashpay/tenderdash/internal/libs/strings" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + tmp2p "github.com/dashpay/tenderdash/proto/tendermint/p2p" ) const ( diff --git a/types/node_info_test.go b/types/node_info_test.go index f769d0255b..b600df5820 100644 --- a/types/node_info_test.go +++ b/types/node_info_test.go @@ -7,9 +7,9 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/crypto/ed25519" - tmnet "github.com/tendermint/tendermint/libs/net" - "github.com/tendermint/tendermint/version" + "github.com/dashpay/tenderdash/crypto/ed25519" + tmnet "github.com/dashpay/tenderdash/libs/net" + "github.com/dashpay/tenderdash/version" ) const testCh = 0x01 diff --git a/types/node_key.go b/types/node_key.go index 927e17065d..91fbe09b31 100644 --- a/types/node_key.go +++ b/types/node_key.go @@ -4,10 +4,10 @@ import ( "encoding/json" "os" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/ed25519" - "github.com/tendermint/tendermint/internal/jsontypes" - tmos "github.com/tendermint/tendermint/libs/os" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/ed25519" + "github.com/dashpay/tenderdash/internal/jsontypes" + tmos "github.com/dashpay/tenderdash/libs/os" ) //------------------------------------------------------------------------------ diff --git a/types/node_key_test.go b/types/node_key_test.go index 0dea771eaf..c58d3220ab 100644 --- a/types/node_key_test.go +++ b/types/node_key_test.go @@ -7,7 +7,7 @@ import ( "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/types" + "github.com/dashpay/tenderdash/types" ) func TestLoadOrGenNodeKey(t *testing.T) { diff --git a/types/params.go b/types/params.go index 66b4b7ae39..04ceda4693 100644 --- a/types/params.go +++ b/types/params.go @@ -6,12 +6,12 @@ import ( "fmt" "time" - "github.com/tendermint/tendermint/crypto/bls12381" - "github.com/tendermint/tendermint/crypto/ed25519" - "github.com/tendermint/tendermint/crypto/secp256k1" - tmstrings "github.com/tendermint/tendermint/internal/libs/strings" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + "github.com/dashpay/tenderdash/crypto/bls12381" + "github.com/dashpay/tenderdash/crypto/ed25519" + "github.com/dashpay/tenderdash/crypto/secp256k1" + tmstrings "github.com/dashpay/tenderdash/internal/libs/strings" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" ) const ( diff --git a/types/params_test.go b/types/params_test.go index 37a334bbb6..7e74c21315 100644 --- a/types/params_test.go +++ b/types/params_test.go @@ -7,7 +7,8 @@ import ( "time" "github.com/stretchr/testify/assert" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" ) var ( diff --git a/types/part_set.go b/types/part_set.go index 2f098c3217..044a68358c 100644 --- a/types/part_set.go +++ b/types/part_set.go @@ -7,15 +7,14 @@ import ( "fmt" "io" - sync "github.com/sasha-s/go-deadlock" - "github.com/rs/zerolog" + sync "github.com/sasha-s/go-deadlock" - "github.com/tendermint/tendermint/crypto/merkle" - "github.com/tendermint/tendermint/libs/bits" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - tmmath "github.com/tendermint/tendermint/libs/math" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + "github.com/dashpay/tenderdash/crypto/merkle" + "github.com/dashpay/tenderdash/libs/bits" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + tmmath "github.com/dashpay/tenderdash/libs/math" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" ) var ( diff --git a/types/part_set_test.go b/types/part_set_test.go index 760abe9224..04b342087f 100644 --- a/types/part_set_test.go +++ b/types/part_set_test.go @@ -7,8 +7,8 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/crypto/merkle" - tmrand "github.com/tendermint/tendermint/libs/rand" + "github.com/dashpay/tenderdash/crypto/merkle" + tmrand "github.com/dashpay/tenderdash/libs/rand" ) const ( diff --git a/types/priv_validator.go b/types/priv_validator.go index e4b5056a07..723d21af69 100644 --- a/types/priv_validator.go +++ b/types/priv_validator.go @@ -10,15 +10,14 @@ import ( "fmt" "strconv" - sync "github.com/sasha-s/go-deadlock" - "github.com/dashpay/dashd-go/btcjson" + sync "github.com/sasha-s/go-deadlock" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/bls12381" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/libs/log" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/bls12381" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/libs/log" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" ) // PrivValidatorType defines the implementation types. diff --git a/types/proposal.go b/types/proposal.go index 4844ccb059..9525556a0b 100644 --- a/types/proposal.go +++ b/types/proposal.go @@ -11,11 +11,11 @@ import ( "github.com/dashpay/dashd-go/btcjson" "github.com/rs/zerolog" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/internal/libs/protoio" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - tmtime "github.com/tendermint/tendermint/libs/time" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/internal/libs/protoio" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + tmtime "github.com/dashpay/tenderdash/libs/time" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" ) var ( @@ -107,7 +107,7 @@ func (p *Proposal) ValidateBasic() error { // localtime <= proposedBlockTime + MsgDelay + Precision // // For more information on the meaning of 'timely', see the proposer-based timestamp specification: -// https://github.com/tendermint/tendermint/tree/master/spec/consensus/proposer-based-timestamp +// https://github.com/dashpay/tenderdash/tree/master/spec/consensus/proposer-based-timestamp // // NOTE: by definition, at initial height, recvTime MUST be genesis time. func (p *Proposal) IsTimely(recvTime time.Time, sp SynchronyParams, round int32) bool { diff --git a/types/proposal_test.go b/types/proposal_test.go index 9a31ab51c1..a7f9d5ab9a 100644 --- a/types/proposal_test.go +++ b/types/proposal_test.go @@ -11,11 +11,11 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/internal/libs/protoio" - tmrand "github.com/tendermint/tendermint/libs/rand" - tmtime "github.com/tendermint/tendermint/libs/time" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/internal/libs/protoio" + tmrand "github.com/dashpay/tenderdash/libs/rand" + tmtime "github.com/dashpay/tenderdash/libs/time" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" ) func getTestProposal(t testing.TB) *Proposal { diff --git a/types/protobuf.go b/types/protobuf.go index 73d5d3c267..2bfa083b94 100644 --- a/types/protobuf.go +++ b/types/protobuf.go @@ -5,13 +5,13 @@ import ( "github.com/dashpay/dashd-go/btcjson" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/bls12381" - "github.com/tendermint/tendermint/crypto/ed25519" - cryptoenc "github.com/tendermint/tendermint/crypto/encoding" - "github.com/tendermint/tendermint/crypto/secp256k1" - crypto2 "github.com/tendermint/tendermint/proto/tendermint/crypto" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/bls12381" + "github.com/dashpay/tenderdash/crypto/ed25519" + cryptoenc "github.com/dashpay/tenderdash/crypto/encoding" + "github.com/dashpay/tenderdash/crypto/secp256k1" + crypto2 "github.com/dashpay/tenderdash/proto/tendermint/crypto" ) //------------------------------------------------------- diff --git a/types/protobuf_test.go b/types/protobuf_test.go index 7db7e6211b..4069c59d81 100644 --- a/types/protobuf_test.go +++ b/types/protobuf_test.go @@ -7,10 +7,10 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/bls12381" - "github.com/tendermint/tendermint/crypto/encoding" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/bls12381" + "github.com/dashpay/tenderdash/crypto/encoding" ) func TestABCIPubKey(t *testing.T) { diff --git a/types/quorum.go b/types/quorum.go index a8a66a86f7..5e0a5c7e67 100644 --- a/types/quorum.go +++ b/types/quorum.go @@ -3,9 +3,9 @@ package types import ( "fmt" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/libs/log" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/libs/log" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" ) // CommitSigns is used to combine threshold signatures and quorum-hash that were used diff --git a/types/quorum_sign_data.go b/types/quorum_sign_data.go index d090c0d2e0..9607131d6e 100644 --- a/types/quorum_sign_data.go +++ b/types/quorum_sign_data.go @@ -7,9 +7,9 @@ import ( "github.com/dashpay/dashd-go/btcjson" "github.com/rs/zerolog" - "github.com/tendermint/tendermint/crypto" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/proto/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/proto/tendermint/types" ) var ( diff --git a/types/quorum_sign_data_test.go b/types/quorum_sign_data_test.go index e6a56ba502..54467ab895 100644 --- a/types/quorum_sign_data_test.go +++ b/types/quorum_sign_data_test.go @@ -8,10 +8,10 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/crypto" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/proto/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/proto/tendermint/types" ) func TestBlockRequestID(t *testing.T) { diff --git a/types/signable.go b/types/signable.go index b2af3b3733..2b379ed744 100644 --- a/types/signable.go +++ b/types/signable.go @@ -1,7 +1,7 @@ package types import ( - "github.com/tendermint/tendermint/crypto/bls12381" + "github.com/dashpay/tenderdash/crypto/bls12381" ) const ( diff --git a/types/signed_msg_type.go b/types/signed_msg_type.go index 4ab5685a76..fb9c8ac264 100644 --- a/types/signed_msg_type.go +++ b/types/signed_msg_type.go @@ -1,6 +1,6 @@ package types -import tmproto "github.com/tendermint/tendermint/proto/tendermint/types" +import tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" // IsVoteTypeValid returns true if t is a valid vote type. func IsVoteTypeValid(t tmproto.SignedMsgType) bool { diff --git a/types/signs_recoverer.go b/types/signs_recoverer.go index 77a4088ba5..d9e7afdfa9 100644 --- a/types/signs_recoverer.go +++ b/types/signs_recoverer.go @@ -3,8 +3,8 @@ package types import ( "fmt" - "github.com/tendermint/tendermint/crypto/bls12381" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + "github.com/dashpay/tenderdash/crypto/bls12381" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" ) // SignsRecoverer is used to recover threshold block, state, and vote-extension signatures diff --git a/types/signs_recoverer_test.go b/types/signs_recoverer_test.go index 0df694e287..e805df56f8 100644 --- a/types/signs_recoverer_test.go +++ b/types/signs_recoverer_test.go @@ -7,9 +7,9 @@ import ( "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/bls12381" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/bls12381" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" ) func TestSigsRecoverer(t *testing.T) { diff --git a/types/test_util.go b/types/test_util.go index 5ec6f47a8e..1f0ca2b7f7 100644 --- a/types/test_util.go +++ b/types/test_util.go @@ -5,10 +5,10 @@ import ( "fmt" "math/rand" - "github.com/tendermint/tendermint/crypto" - tmrand "github.com/tendermint/tendermint/libs/rand" - tmtime "github.com/tendermint/tendermint/libs/time" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + tmrand "github.com/dashpay/tenderdash/libs/rand" + tmtime "github.com/dashpay/tenderdash/libs/time" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" ) const StateIDVersion = 1 diff --git a/types/tx.go b/types/tx.go index f815af80cb..6c5abb898a 100644 --- a/types/tx.go +++ b/types/tx.go @@ -7,11 +7,11 @@ import ( "fmt" "sort" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/merkle" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/merkle" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" ) // Tx is an arbitrary byte array. diff --git a/types/tx_test.go b/types/tx_test.go index 77afa1b23f..19bcdf18a6 100644 --- a/types/tx_test.go +++ b/types/tx_test.go @@ -8,10 +8,10 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - abci "github.com/tendermint/tendermint/abci/types" - ctest "github.com/tendermint/tendermint/internal/libs/test" - tmrand "github.com/tendermint/tendermint/libs/rand" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + abci "github.com/dashpay/tenderdash/abci/types" + ctest "github.com/dashpay/tenderdash/internal/libs/test" + tmrand "github.com/dashpay/tenderdash/libs/rand" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" ) func makeTxs(cnt, size int) Txs { diff --git a/types/validation.go b/types/validation.go index 7a1fd885da..0dfd8aceba 100644 --- a/types/validation.go +++ b/types/validation.go @@ -5,9 +5,9 @@ import ( "math/bits" "time" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/bls12381" - "github.com/tendermint/tendermint/crypto/ed25519" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/bls12381" + "github.com/dashpay/tenderdash/crypto/ed25519" ) // ValidateHash returns an error if the hash is not empty, but its diff --git a/types/validation_test.go b/types/validation_test.go index 295e8d00c4..8f5809cd44 100644 --- a/types/validation_test.go +++ b/types/validation_test.go @@ -8,9 +8,9 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/bls12381" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/bls12381" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" ) // Check VerifyCommit diff --git a/types/validator.go b/types/validator.go index 426d0e0caf..9316f96b53 100644 --- a/types/validator.go +++ b/types/validator.go @@ -9,11 +9,11 @@ import ( "github.com/rs/zerolog" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/bls12381" - ce "github.com/tendermint/tendermint/crypto/encoding" - "github.com/tendermint/tendermint/internal/jsontypes" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/bls12381" + ce "github.com/dashpay/tenderdash/crypto/encoding" + "github.com/dashpay/tenderdash/internal/jsontypes" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" ) // Validator Volatile state for each Validator diff --git a/types/validator_address.go b/types/validator_address.go index 3fb3b6faed..caa74ecd15 100644 --- a/types/validator_address.go +++ b/types/validator_address.go @@ -11,7 +11,7 @@ import ( "strconv" "strings" - tmrand "github.com/tendermint/tendermint/libs/rand" + tmrand "github.com/dashpay/tenderdash/libs/rand" ) var ( diff --git a/types/validator_address_test.go b/types/validator_address_test.go index ea794715dc..7929000587 100644 --- a/types/validator_address_test.go +++ b/types/validator_address_test.go @@ -7,7 +7,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/libs/rand" + "github.com/dashpay/tenderdash/libs/rand" ) func TestValidatorAddress_String(t *testing.T) { diff --git a/types/validator_set.go b/types/validator_set.go index 4ffb469849..01e0cf2925 100644 --- a/types/validator_set.go +++ b/types/validator_set.go @@ -12,14 +12,14 @@ import ( "github.com/dashpay/dashd-go/btcjson" "github.com/rs/zerolog" - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/bls12381" - cryptoenc "github.com/tendermint/tendermint/crypto/encoding" - "github.com/tendermint/tendermint/crypto/merkle" - "github.com/tendermint/tendermint/dash/llmq" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + abci "github.com/dashpay/tenderdash/abci/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/bls12381" + cryptoenc "github.com/dashpay/tenderdash/crypto/encoding" + "github.com/dashpay/tenderdash/crypto/merkle" + "github.com/dashpay/tenderdash/dash/llmq" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" ) const ( diff --git a/types/validator_set_test.go b/types/validator_set_test.go index e9578e666e..bc31df9dd8 100644 --- a/types/validator_set_test.go +++ b/types/validator_set_test.go @@ -15,12 +15,12 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/bls12381" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - tmmath "github.com/tendermint/tendermint/libs/math" - tmrand "github.com/tendermint/tendermint/libs/rand" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/bls12381" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + tmmath "github.com/dashpay/tenderdash/libs/math" + tmrand "github.com/dashpay/tenderdash/libs/rand" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" ) func TestValidatorSetBasic(t *testing.T) { diff --git a/types/validator_test.go b/types/validator_test.go index fcb377b71a..72d9051100 100644 --- a/types/validator_test.go +++ b/types/validator_test.go @@ -7,7 +7,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/crypto" + "github.com/dashpay/tenderdash/crypto" ) func TestValidatorProtoBuf(t *testing.T) { diff --git a/types/vote.go b/types/vote.go index a5901b3d3a..bf6b19c205 100644 --- a/types/vote.go +++ b/types/vote.go @@ -9,12 +9,12 @@ import ( "github.com/dashpay/dashd-go/btcjson" "github.com/rs/zerolog" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/bls12381" - "github.com/tendermint/tendermint/internal/libs/protoio" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - tmcons "github.com/tendermint/tendermint/proto/tendermint/consensus" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/bls12381" + "github.com/dashpay/tenderdash/internal/libs/protoio" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + tmcons "github.com/dashpay/tenderdash/proto/tendermint/consensus" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" ) const ( diff --git a/types/vote_dash.go b/types/vote_dash.go index b8fc4363d8..aae8f430b8 100644 --- a/types/vote_dash.go +++ b/types/vote_dash.go @@ -1,6 +1,6 @@ package types -import tmproto "github.com/tendermint/tendermint/proto/tendermint/types" +import tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" // PopulateSignsFromProto updates the signatures of the current Vote with values are taken from the Vote's protobuf func (vote *Vote) PopulateSignsFromProto(pv *tmproto.Vote) error { diff --git a/types/vote_extension.go b/types/vote_extension.go index 4ddcbb3fcf..dcce659a33 100644 --- a/types/vote_extension.go +++ b/types/vote_extension.go @@ -5,9 +5,9 @@ import ( "errors" "fmt" - abci "github.com/tendermint/tendermint/abci/types" - tmbytes "github.com/tendermint/tendermint/libs/bytes" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + abci "github.com/dashpay/tenderdash/abci/types" + tmbytes "github.com/dashpay/tenderdash/libs/bytes" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" ) var ( diff --git a/types/vote_set.go b/types/vote_set.go index 4f4782429a..103e86dcab 100644 --- a/types/vote_set.go +++ b/types/vote_set.go @@ -9,8 +9,8 @@ import ( "github.com/rs/zerolog" sync "github.com/sasha-s/go-deadlock" - "github.com/tendermint/tendermint/libs/bits" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + "github.com/dashpay/tenderdash/libs/bits" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" ) const ( diff --git a/types/vote_set_test.go b/types/vote_set_test.go index 757c111f49..6be1275fde 100644 --- a/types/vote_set_test.go +++ b/types/vote_set_test.go @@ -14,10 +14,10 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/dash/llmq" - tmrand "github.com/tendermint/tendermint/libs/rand" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/dash/llmq" + tmrand "github.com/dashpay/tenderdash/libs/rand" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" ) func TestVoteSet_AddVote_Good(t *testing.T) { diff --git a/types/vote_test.go b/types/vote_test.go index 573fcade17..0c05e9d502 100644 --- a/types/vote_test.go +++ b/types/vote_test.go @@ -12,11 +12,11 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/bls12381" - "github.com/tendermint/tendermint/libs/log" - "github.com/tendermint/tendermint/libs/rand" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + "github.com/dashpay/tenderdash/crypto" + "github.com/dashpay/tenderdash/crypto/bls12381" + "github.com/dashpay/tenderdash/libs/log" + "github.com/dashpay/tenderdash/libs/rand" + tmproto "github.com/dashpay/tenderdash/proto/tendermint/types" ) const ( diff --git a/version/version.go b/version/version.go index c97f70e910..2c7c9e0543 100644 --- a/version/version.go +++ b/version/version.go @@ -1,6 +1,6 @@ package version -import tmversion "github.com/tendermint/tendermint/proto/tendermint/version" +import tmversion "github.com/dashpay/tenderdash/proto/tendermint/version" var ( TMCoreSemVer = TMVersionDefault From 920f3460032994e38569838f5ac5951073104fb8 Mon Sep 17 00:00:00 2001 From: lklimek <842586+lklimek@users.noreply.github.com> Date: Wed, 13 Sep 2023 10:26:58 +0200 Subject: [PATCH 14/19] fix(consensus): PrepareProposal should not be called during replay (#678) --- internal/consensus/state_controller.go | 1 + internal/consensus/state_enter_propose.go | 7 +++++++ internal/consensus/types/round_state.go | 2 +- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/internal/consensus/state_controller.go b/internal/consensus/state_controller.go index 6a303d91ac..b0f4240ebe 100644 --- a/internal/consensus/state_controller.go +++ b/internal/consensus/state_controller.go @@ -87,6 +87,7 @@ func NewController(cs *State, wal *wrapWAL, statsQueue *chanQueue[msgInfo], prop scheduler: cs.roundScheduler, eventPublisher: cs.eventPublisher, proposalCreator: propler, + replayMode: cs.replayMode, }, AddProposalBlockPartType: &AddProposalBlockPartAction{ logger: cs.logger, diff --git a/internal/consensus/state_enter_propose.go b/internal/consensus/state_enter_propose.go index 5def6c122c..ee41820493 100644 --- a/internal/consensus/state_enter_propose.go +++ b/internal/consensus/state_enter_propose.go @@ -31,6 +31,7 @@ type EnterProposeAction struct { scheduler *roundScheduler eventPublisher *EventPublisher proposalCreator cstypes.ProposalCreator + replayMode bool } func (c *EnterProposeAction) Execute(ctx context.Context, stateEvent StateEvent) error { @@ -93,6 +94,12 @@ func (c *EnterProposeAction) Execute(ctx context.Context, stateEvent StateEvent) "node_proTxHash", proTxHash.String()) return nil } + // In replay mode, we don't propose blocks. + if c.replayMode { + logger.Debug("enter propose step; our turn to propose but in replay mode, not proposing") + return nil + } + logger.Debug("propose step; our turn to propose", "proposer_proTxHash", proTxHash.ShortString(), ) diff --git a/internal/consensus/types/round_state.go b/internal/consensus/types/round_state.go index a1150b2741..8c9181b9a0 100644 --- a/internal/consensus/types/round_state.go +++ b/internal/consensus/types/round_state.go @@ -97,7 +97,7 @@ type RoundState struct { // Last known round with POL for non-nil valid block. ValidRound int32 `json:"valid_round"` ValidBlock *types.Block `json:"valid_block"` // Last known block of POL mentioned above. - ValidBlockRecvTime time.Time `json:"valid_block_time"` // Receive time of ast known block of POL mentioned above. + ValidBlockRecvTime time.Time `json:"valid_block_time"` // Receive time of last known block of POL mentioned above. // Last known block parts of POL mentioned above. ValidBlockParts *types.PartSet `json:"valid_block_parts"` From 5edf5523e2ba33737762fdccb62f94787df3729f Mon Sep 17 00:00:00 2001 From: lklimek <842586+lklimek@users.noreply.github.com> Date: Wed, 13 Sep 2023 10:39:41 +0200 Subject: [PATCH 15/19] chore(consensus): improve logs (#679) * chore: decrease amount of logs and improve them * chore: improve logs --- internal/consensus/block_executor.go | 2 +- internal/consensus/event_publisher.go | 2 +- internal/consensus/gossip_peer_worker.go | 8 ++--- internal/consensus/gossiper.go | 10 +++--- internal/consensus/msg_handlers.go | 4 +-- internal/consensus/peer_state.go | 4 +-- internal/consensus/proposal_updater.go | 2 +- internal/consensus/reactor.go | 27 +++++++-------- internal/consensus/replay.go | 10 +++--- internal/consensus/replayer.go | 6 ++-- internal/consensus/round_scheduler.go | 1 - internal/consensus/state.go | 6 ++-- internal/consensus/state_add_prop_block.go | 34 +++++++++++-------- internal/consensus/state_add_vote.go | 12 +++---- internal/consensus/state_data.go | 14 ++++---- internal/consensus/state_enter_commit.go | 3 +- internal/consensus/state_enter_new_round.go | 7 ++-- internal/consensus/state_enter_precommit.go | 12 ++++--- internal/consensus/state_enter_prevote.go | 2 +- internal/consensus/state_enter_propose.go | 19 ++++++----- internal/consensus/state_enter_wait.go | 4 +-- internal/consensus/state_prevoter.go | 6 ++-- internal/consensus/state_proposaler.go | 8 ++--- internal/consensus/state_try_add_commit.go | 2 +- .../consensus/state_try_finalize_commit.go | 3 +- internal/consensus/ticker.go | 4 +-- internal/consensus/vote_signer.go | 4 +-- 27 files changed, 113 insertions(+), 103 deletions(-) diff --git a/internal/consensus/block_executor.go b/internal/consensus/block_executor.go index 69783a3c8a..c2beffcb46 100644 --- a/internal/consensus/block_executor.go +++ b/internal/consensus/block_executor.go @@ -65,7 +65,7 @@ func (c *blockExecutor) ensureProcess(ctx context.Context, rs *cstypes.RoundStat block := rs.ProposalBlock crs := rs.CurrentRoundState if crs.Params.Source != sm.ProcessProposalSource || !crs.MatchesBlock(block.Header, round) { - c.logger.Debug("CurrentRoundState is outdated", "crs", crs) + c.logger.Debug("CurrentRoundState is outdated, executing ProcessProposal", "crs", crs) uncommittedState, err := c.blockExec.ProcessProposal(ctx, block, round, c.committedState, true) if err != nil { return fmt.Errorf("ProcessProposal abci method: %w", err) diff --git a/internal/consensus/event_publisher.go b/internal/consensus/event_publisher.go index 411ddd5824..01984346c7 100644 --- a/internal/consensus/event_publisher.go +++ b/internal/consensus/event_publisher.go @@ -34,7 +34,7 @@ func (p *EventPublisher) PublishValidBlockEvent(rs cstypes.RoundState) { // PublishCommitEvent ... func (p *EventPublisher) PublishCommitEvent(commit *types.Commit) error { - p.logger.Debug("publish commit event", "commit", commit) + p.logger.Trace("publish commit event", "commit", commit) if err := p.eventBus.PublishEventCommit(types.EventDataCommit{Commit: commit}); err != nil { return err } diff --git a/internal/consensus/gossip_peer_worker.go b/internal/consensus/gossip_peer_worker.go index f4c12d177d..ca9e8c79cd 100644 --- a/internal/consensus/gossip_peer_worker.go +++ b/internal/consensus/gossip_peer_worker.go @@ -86,7 +86,7 @@ func (g *peerGossipWorker) Stop() { if !g.running.Swap(false) { return } - g.logger.Debug("peer gossip worker stopping") + g.logger.Trace("peer gossip worker stopping") close(g.stopCh) g.Wait() } @@ -94,7 +94,7 @@ func (g *peerGossipWorker) Stop() { func (g *peerGossipWorker) Wait() { for _, hd := range g.handlers { <-hd.stoppedCh - g.logger.Debug("peer gossip worker stopped") + g.logger.Trace("peer gossip worker stopped") } } @@ -107,11 +107,11 @@ func (g *peerGossipWorker) runHandler(ctx context.Context, hd gossipHandler) { select { case <-timer.Chan(): case <-g.stopCh: - g.logger.Debug("peer gossip worker got stop signal") + g.logger.Trace("peer gossip worker got stop signal") close(hd.stoppedCh) return case <-ctx.Done(): - g.logger.Debug("peer gossip worker got stop signal via context.Done") + g.logger.Trace("peer gossip worker got stop signal via context.Done") close(hd.stoppedCh) return } diff --git a/internal/consensus/gossiper.go b/internal/consensus/gossiper.go index 0221e2d7a9..4a3dc5991c 100644 --- a/internal/consensus/gossiper.go +++ b/internal/consensus/gossiper.go @@ -98,7 +98,7 @@ func (g *msgGossiper) GossipVoteSetMaj23( "round", prs.Round, }) for _, msg := range msgs { - logger.Debug("syncing vote set +2/3 message") + logger.Trace("syncing vote set +2/3 message") err := g.msgSender.send(ctx, msg) if err != nil { logger.Error("failed to syncing vote set +2/3 message to the peer", "error", err) @@ -121,7 +121,7 @@ func (g *msgGossiper) GossipProposalBlockParts( "round", prs.Round, "part_index", index, }) - logger.Debug("syncing proposal block part to the peer") + logger.Trace("syncing proposal block part to the peer") part := rs.ProposalBlockParts.GetPart(index) // NOTE: A peer might have received a different proposal message, so this Proposal msg will be rejected! err := g.syncProposalBlockPart(ctx, part, rs.Height, rs.Round) @@ -137,7 +137,7 @@ func (g *msgGossiper) GossipProposal(ctx context.Context, rs cstypes.RoundState, "round", prs.Round, }) // Proposal: share the proposal metadata with peer. - logger.Debug("syncing proposal") + logger.Trace("syncing proposal") err := g.sync(ctx, rs.Proposal.ToProto(), updatePeerProposal(g.ps, rs.Proposal)) if err != nil { logger.Error("failed to sync proposal to the peer", "error", err) @@ -156,7 +156,7 @@ func (g *msgGossiper) GossipProposal(ctx context.Context, rs cstypes.RoundState, ProposalPolRound: rs.Proposal.POLRound, ProposalPol: *pPolProto, } - logger.Debug("syncing proposal POL") + logger.Trace("syncing proposal POL") err = g.sync(ctx, propPOLMsg, nil) if err != nil { logger.Error("failed to sync proposal POL to the peer", "error", err) @@ -245,7 +245,7 @@ func (g *msgGossiper) GossipVote(ctx context.Context, rs cstypes.RoundState, prs "vote_round", vote.Round, "proto_vote_size", protoVote.Size(), }) - logger.Debug("syncing vote message") + logger.Trace("syncing vote message") err := g.sync(ctx, protoVote, updatePeerVote(g.ps, vote)) if err != nil { logger.Error("failed to sync vote message to the peer", "error", err) diff --git a/internal/consensus/msg_handlers.go b/internal/consensus/msg_handlers.go index 0d3e637904..8477e812b1 100644 --- a/internal/consensus/msg_handlers.go +++ b/internal/consensus/msg_handlers.go @@ -90,7 +90,7 @@ func blockPartMessageHandler(ctrl *Controller) msgHandlerFunc { FromReplay: envelope.fromReplay, }, stateData) if err != nil && msg.Round != stateData.Round { - logger.Debug("received block part from wrong round") + logger.Trace("received block part from wrong round") return nil } return err @@ -170,7 +170,7 @@ func loggingMiddleware(logger log.Logger) msgMiddlewareFunc { loggerWithArgs.Error("failed to process message", "error", err) return nil } - loggerWithArgs.Debug("message processed successfully") + loggerWithArgs.Trace("message processed successfully") return nil } } diff --git a/internal/consensus/peer_state.go b/internal/consensus/peer_state.go index ffcb697ca5..607fc3be86 100644 --- a/internal/consensus/peer_state.go +++ b/internal/consensus/peer_state.go @@ -427,7 +427,7 @@ func (ps *PeerState) SetHasVote(vote *types.Vote) error { // setHasVote will return an error when the index exceeds the bitArray length func (ps *PeerState) setHasVote(height int64, round int32, voteType tmproto.SignedMsgType, index int32) error { - ps.logger.Debug( + ps.logger.Trace( "peerState setHasVote", "peer", ps.peerID, "height", height, @@ -466,7 +466,7 @@ func (ps *PeerState) SetHasCommit(commit *types.Commit) { } func (ps *PeerState) setHasCommit(height int64, round int32) { - ps.logger.Debug( + ps.logger.Trace( "setHasCommit", "height", height, "round", round, diff --git a/internal/consensus/proposal_updater.go b/internal/consensus/proposal_updater.go index 727a125f90..d2c376453c 100644 --- a/internal/consensus/proposal_updater.go +++ b/internal/consensus/proposal_updater.go @@ -16,7 +16,7 @@ func (u *proposalUpdater) updateStateData(stateData *StateData, blockID types.Bl return nil } // If we don't have the block being committed, set up to get it. - u.logger.Info( + u.logger.Debug( "commit is for a block we do not know about; set ProposalBlock=nil", "proposal", stateData.ProposalBlock.Hash(), "commit", blockID.Hash, diff --git a/internal/consensus/reactor.go b/internal/consensus/reactor.go index 12e22f798d..bd789bfeec 100644 --- a/internal/consensus/reactor.go +++ b/internal/consensus/reactor.go @@ -166,7 +166,7 @@ type channelBundle struct { // messages on that p2p channel accordingly. The caller must be sure to execute // OnStop to ensure the outbound p2p Channels are closed. func (r *Reactor) OnStart(ctx context.Context) error { - r.logger.Debug("consensus wait sync", "wait_sync", r.WaitSync()) + r.logger.Trace("consensus wait sync", "wait_sync", r.WaitSync()) peerUpdates := r.peerEvents(ctx, "consensus") @@ -393,10 +393,10 @@ func (r *Reactor) broadcast(ctx context.Context, channel p2p.Channel, msg proto. // logResult creates a log that depends on value of err func (r *Reactor) logResult(err error, logger log.Logger, message string, keyvals ...interface{}) bool { if err != nil { - logger.Debug(message+" error", append(keyvals, "error", err)) + logger.Error(message+" error", append(keyvals, "error", err)) return false } - logger.Debug(message+" success", keyvals...) + logger.Trace(message+" success", keyvals...) return true } @@ -406,7 +406,7 @@ func (r *Reactor) logResult(err error, logger log.Logger, message string, keyval // the peer. During peer removal, we remove the peer for our set of peers and // signal to all spawned goroutines to gracefully exit in a non-blocking manner. func (r *Reactor) processPeerUpdate(ctx context.Context, peerUpdate p2p.PeerUpdate, chans channelBundle) { - r.logger.Debug("received peer update", "peer", peerUpdate.NodeID, "status", peerUpdate.Status, + r.logger.Trace("received peer update", "peer", peerUpdate.NodeID, "status", peerUpdate.Status, "peer_proTxHash", peerUpdate.ProTxHash.ShortString()) switch peerUpdate.Status { @@ -547,7 +547,7 @@ func (r *Reactor) handleStateMessage(ctx context.Context, envelope *p2p.Envelope case *tmcons.HasVote: if err := ps.ApplyHasVoteMessage(msgI.(*HasVoteMessage)); err != nil { - r.logger.Error("applying HasVote message", "msg", msg, "err", err) + r.logger.Error("applying HasVote message failed", "msg", msg, "err", err) return err } case *tmcons.VoteSetMaj23: @@ -619,11 +619,11 @@ func (r *Reactor) handleDataMessage(ctx context.Context, envelope *p2p.Envelope, } if r.WaitSync() { - logger.Info("ignoring message received during sync", "msg", tmstrings.LazySprintf("%T", msgI)) + logger.Debug("ignoring message received during sync", "msg", tmstrings.LazySprintf("%T", msgI)) return nil } - logger.Debug("data channel processing", "msg", envelope.Message, "type", fmt.Sprintf("%T", envelope.Message)) + logger.Trace("data channel processing", "msg", envelope.Message, "type", fmt.Sprintf("%T", envelope.Message)) switch msg := envelope.Message.(type) { case *tmcons.Proposal: @@ -660,11 +660,11 @@ func (r *Reactor) handleVoteMessage(ctx context.Context, envelope *p2p.Envelope, } if r.WaitSync() { - logger.Info("ignoring message received during sync", "msg", msgI) + logger.Debug("ignoring message received during sync", "msg", msgI) return nil } - logger.Debug("vote channel processing", "msg", envelope.Message, "type", fmt.Sprintf("%T", envelope.Message)) + logger.Trace("vote channel processing", "msg", envelope.Message, "type", fmt.Sprintf("%T", envelope.Message)) switch msg := envelope.Message.(type) { case *tmcons.Commit: @@ -715,7 +715,7 @@ func (r *Reactor) handleVoteSetBitsMessage(ctx context.Context, envelope *p2p.En } if r.WaitSync() { - logger.Info("ignoring message received during sync", "msg", msgI) + logger.Debug("ignoring message received during sync", "msg", msgI) return nil } @@ -779,8 +779,6 @@ func (r *Reactor) handleMessage(ctx context.Context, envelope *p2p.Envelope, cha return err } - //r.logger.Debug("received message", "ch_id", envelope.ChannelID, "message", msgI, "peer", envelope.From) - switch envelope.ChannelID { case StateChannel: err = r.handleStateMessage(ctx, envelope, msg, chans.voteSet) @@ -835,7 +833,7 @@ func (r *Reactor) processPeerUpdates(ctx context.Context, peerUpdates *p2p.PeerU func (r *Reactor) peerStatsRoutine(ctx context.Context, peerUpdates *p2p.PeerUpdates) { for { if !r.IsRunning() { - r.logger.Info("stopping peerStatsRoutine") + r.logger.Trace("stopping peerStatsRoutine") return } @@ -843,7 +841,8 @@ func (r *Reactor) peerStatsRoutine(ctx context.Context, peerUpdates *p2p.PeerUpd case msg := <-r.state.statsMsgQueue.ch: ps, ok := r.GetPeerState(msg.PeerID) if !ok || ps == nil { - r.logger.Debug("attempt to update stats for non-existent peer", "peer", msg.PeerID) + // it's quite common to happen when a peer is removed + r.logger.Trace("attempt to update stats for non-existent peer", "peer", msg.PeerID) continue } diff --git a/internal/consensus/replay.go b/internal/consensus/replay.go index f905500d95..d0b769b428 100644 --- a/internal/consensus/replay.go +++ b/internal/consensus/replay.go @@ -49,7 +49,7 @@ func (cs *State) readReplayMessage(ctx context.Context, msg *TimedWALMessage, ne // for logging switch m := msg.Msg.(type) { case types.EventDataRoundState: - cs.logger.Info("Replay: New Step", "height", m.Height, "round", m.Round, "step", m.Step) + cs.logger.Trace("Replay: New Step", "height", m.Height, "round", m.Round, "step", m.Step) // these are playback checks if newStepSub != nil { ctxto, cancel := context.WithTimeout(ctx, 2*time.Second) @@ -78,18 +78,18 @@ func (cs *State) readReplayMessage(ctx context.Context, msg *TimedWALMessage, ne stateData.Votes.SetRound(p.Round) stateData.Round = p.Round } - cs.logger.Info("Replay: Proposal", "height", p.Height, "round", p.Round, "cs.Round", stateData.Round, + cs.logger.Trace("Replay: Proposal", "height", p.Height, "round", p.Round, "cs.Round", stateData.Round, "header", p.BlockID.PartSetHeader, "pol", p.POLRound, "peer", peerID) case *BlockPartMessage: - cs.logger.Info("Replay: BlockPart", "height", msg.Height, "round", msg.Round, "peer", peerID) + cs.logger.Trace("Replay: BlockPart", "height", msg.Height, "round", msg.Round, "peer", peerID) case *VoteMessage: v := msg.Vote - cs.logger.Info("Replay: Vote", "height", v.Height, "round", v.Round, "type", v.Type, + cs.logger.Trace("Replay: Vote", "height", v.Height, "round", v.Round, "type", v.Type, "blockID", v.BlockID, "peer", peerID) } _ = cs.msgDispatcher.dispatch(ctx, &stateData, m, msgFromReplay()) case timeoutInfo: - cs.logger.Info("Replay: Timeout", "height", m.Height, "round", m.Round, "step", m.Step, "dur", m.Duration) + cs.logger.Trace("Replay: Timeout", "height", m.Height, "round", m.Round, "step", m.Step, "dur", m.Duration) cs.handleTimeout(ctx, m, &stateData) default: return fmt.Errorf("replay: Unknown TimedWALMessage type: %v", reflect.TypeOf(msg.Msg)) diff --git a/internal/consensus/replayer.go b/internal/consensus/replayer.go index 1ccdad0e0d..6cb6e3c646 100644 --- a/internal/consensus/replayer.go +++ b/internal/consensus/replayer.go @@ -272,7 +272,7 @@ func (r *BlockReplayer) replayBlock( state sm.State, height int64, ) (sm.CurrentRoundState, *abci.ResponseFinalizeBlock, error) { - r.logger.Info("Applying block", "height", height) + r.logger.Info("Replay: applying block", "height", height) // Extra check to ensure the app was not changed in a way it shouldn't have. ucState, err := r.blockExec.ProcessProposal(ctx, block, commit.Round, state, false) if err != nil { @@ -337,8 +337,8 @@ func (r *BlockReplayer) execInitChain(ctx context.Context, rs *replayState, stat } quorumType := state.Validators.QuorumType - if quorumType.Validate() != nil { - r.logger.Debug("state quorum type: %w", err) + if err := quorumType.Validate(); err != nil { + r.logger.Error("state quorum type validation failed: %w", err) quorumType = r.genDoc.QuorumType } diff --git a/internal/consensus/round_scheduler.go b/internal/consensus/round_scheduler.go index f26732abb2..a6df0c9369 100644 --- a/internal/consensus/round_scheduler.go +++ b/internal/consensus/round_scheduler.go @@ -15,7 +15,6 @@ type roundScheduler struct { // ScheduleRound0 enterNewRoundCommand(height, 0) at StartTime func (b *roundScheduler) ScheduleRound0(rs cstypes.RoundState) { - // b.logger.Info("scheduleRound0", "now", tmtime.Now(), "startTime", b.StartTime) sleepDuration := rs.StartTime.Sub(tmtime.Now()) b.ScheduleTimeout(sleepDuration, rs.Height, 0, cstypes.RoundStepNewHeight) } diff --git a/internal/consensus/state.go b/internal/consensus/state.go index 81e1036756..91af6fac30 100644 --- a/internal/consensus/state.go +++ b/internal/consensus/state.go @@ -459,7 +459,7 @@ func (cs *State) OnStart(ctx context.Context) error { return err } - cs.logger.Debug("backed up WAL file", "src", cs.config.WalFile(), "dst", corruptedFile) + cs.logger.Info("backed up WAL file", "src", cs.config.WalFile(), "dst", corruptedFile) // 3) try to repair (WAL file will be overwritten!) if err := repairWalFile(corruptedFile, cs.config.WalFile()); err != nil { @@ -722,7 +722,7 @@ func (cs *State) handleTimeout( ti timeoutInfo, stateData *StateData, ) { - cs.logger.Debug("received tock", "timeout", ti.Duration, "height", ti.Height, "round", ti.Round, "step", ti.Step) + cs.logger.Trace("received tock", "timeout", ti.Duration, "height", ti.Height, "round", ti.Round, "step", ti.Step) // timeouts must be for current height, round, step if ti.Height != stateData.Height || ti.Round < stateData.Round || (ti.Round == stateData.Round && ti.Step < stateData.Step) { @@ -801,7 +801,7 @@ func (cs *State) CreateProposalBlock(ctx context.Context) (*types.Block, error) // PublishCommitEvent ... func (cs *State) PublishCommitEvent(commit *types.Commit) error { - cs.logger.Debug("publish commit event", "commit", commit) + cs.logger.Trace("publish commit event", "commit", commit) if err := cs.eventBus.PublishEventCommit(types.EventDataCommit{Commit: commit}); err != nil { return err } diff --git a/internal/consensus/state_add_prop_block.go b/internal/consensus/state_add_prop_block.go index b123ba9cb9..bf2b5d4376 100644 --- a/internal/consensus/state_add_prop_block.go +++ b/internal/consensus/state_add_prop_block.go @@ -75,7 +75,7 @@ func (c *AddProposalBlockPartAction) addProposalBlockPart( peerID types.NodeID, ) (bool, error) { height, round, part := msg.Height, msg.Round, msg.Part - c.logger.Info( + c.logger.Trace( "addProposalBlockPart", "height", stateData.Height, "round", stateData.Round, @@ -158,20 +158,13 @@ func (c *AddProposalBlockPartAction) addProposalBlockPart( } // NOTE: it's possible to receive complete proposal blocks for future rounds without having the proposal - c.logger.Info( - "received complete proposal block", - "height", stateData.ProposalBlock.Height, - "hash", stateData.ProposalBlock.Hash(), - "round_height", stateData.RoundState.GetHeight(), - ) - - c.eventPublisher.PublishCompleteProposalEvent(stateData.CompleteProposalEvent()) if stateData.Commit != nil { - c.logger.Info("Proposal block fully received", "proposal", stateData.ProposalBlock) - c.logger.Info("Commit already present", "commit", stateData.Commit) - c.logger.Debug("adding commit after complete proposal", - "height", stateData.ProposalBlock.Height, + c.logger.Info("received complete proposal block and commit", + "proposal", stateData.ProposalBlock, + "commit", stateData.Commit, + "height", stateData.RoundState.Height, + "round", stateData.RoundState.Round, "hash", stateData.ProposalBlock.Hash(), ) // We received a commit before the block @@ -179,7 +172,16 @@ func (c *AddProposalBlockPartAction) addProposalBlockPart( return added, ctrl.Dispatch(ctx, &AddCommitEvent{Commit: stateData.Commit}, stateData) } - return added, nil + c.logger.Info( + "received complete proposal block", + "height", stateData.RoundState.Height, + "round", stateData.RoundState.Round, + "proposal_height", stateData.ProposalBlock.Height, + "hash", stateData.ProposalBlock.Hash(), + "round_height", stateData.RoundState.GetHeight(), + ) + + c.eventPublisher.PublishCompleteProposalEvent(stateData.CompleteProposalEvent()) } return added, nil @@ -231,7 +233,9 @@ func (c *ProposalCompletedAction) Execute(ctx context.Context, stateEvent StateE // Move onto the next step // We should allow old blocks if we are recovering from replay c.logger.Debug("entering prevote after complete proposal", - "height", stateData.ProposalBlock.Height, + "height", stateData.RoundState.Height, + "round", stateData.RoundState.Round, + "proposal_height", stateData.ProposalBlock.Height, "hash", stateData.ProposalBlock.Hash(), ) err := stateEvent.Ctrl.Dispatch(ctx, &EnterPrevoteEvent{ diff --git a/internal/consensus/state_add_vote.go b/internal/consensus/state_add_vote.go index dd835c9ff8..0644beb518 100644 --- a/internal/consensus/state_add_vote.go +++ b/internal/consensus/state_add_vote.go @@ -110,7 +110,7 @@ func addVoteToLastPrecommitMw(ep *EventPublisher, ctrl *Controller) AddVoteMiddl logger := log.FromCtxOrNop(ctx) if stateData.Step != cstypes.RoundStepNewHeight { // Late precommit at prior height is ignored - logger.Debug("precommit vote came in after commit timeout and has been ignored") + logger.Trace("precommit vote came in after commit timeout and has been ignored") return false, nil } if stateData.LastPrecommits == nil { @@ -122,7 +122,7 @@ func addVoteToLastPrecommitMw(ep *EventPublisher, ctrl *Controller) AddVoteMiddl logger.Debug("vote not added to last precommits", logKeyValsWithError(nil, err)...) return false, nil } - logger.Debug("added vote to last precommits", "last_precommits", stateData.LastPrecommits) + logger.Trace("added vote to last precommits", "last_precommits", stateData.LastPrecommits) err = ep.PublishVoteEvent(vote) if err != nil { @@ -341,7 +341,7 @@ func addVoteErrorMw(evpool evidencePool, logger log.Logger, privVal privValidato return added, err } if errors.Is(err, types.ErrVoteNonDeterministicSignature) { - logger.Debug("vote has non-deterministic signature", "err", err) + logger.Error("vote has non-deterministic signature", "err", err) return added, err } // If the vote height is off, we'll just ignore it, @@ -365,7 +365,7 @@ func addVoteErrorMw(evpool evidencePool, logger log.Logger, privVal privValidato // report conflicting votes to the evidence pool evpool.ReportConflictingVotes(voteErr.VoteA, voteErr.VoteB) - logger.Debug("found and sent conflicting votes to the evidence pool", + logger.Error("found and sent conflicting votes to the evidence pool", "vote_a", voteErr.VoteA, "vote_b", voteErr.VoteB) return added, err @@ -377,7 +377,7 @@ func addVoteLoggingMw() AddVoteMiddlewareFunc { return func(next AddVoteFunc) AddVoteFunc { return func(ctx context.Context, stateData *StateData, vote *types.Vote) (bool, error) { logger := log.FromCtxOrNop(ctx) - logger.Debug("adding vote to vote set") + logger.Trace("adding vote to vote set") added, err := next(ctx, stateData, vote) if !added { if err != nil { @@ -395,7 +395,7 @@ func addVoteLoggingMw() AddVoteMiddlewareFunc { return added, err } votes := stateData.Votes.GetVoteSet(vote.Round, vote.Type) - logger.Debug("vote added", "data", votes) + logger.Trace("vote added", "data", votes) return added, err } } diff --git a/internal/consensus/state_data.go b/internal/consensus/state_data.go index 589f1bec37..519d60175a 100644 --- a/internal/consensus/state_data.go +++ b/internal/consensus/state_data.go @@ -258,7 +258,7 @@ func (s *StateData) updateToState(state sm.State, commit *types.Commit) { height = state.InitialHeight } - s.logger.Debug("updating state height", "newHeight", height) + s.logger.Trace("updating state height", "newHeight", height) // RoundState fields s.updateHeight(height) @@ -350,11 +350,11 @@ func (s *StateData) verifyCommit(commit *types.Commit, peerID types.NodeID, igno // A commit for the previous height? // These come in while we wait timeoutCommit if commit.Height+1 == stateHeight { - s.logger.Debug("old commit ignored", "commit", commit) + s.logger.Trace("old commit ignored", "commit", commit) return false, nil } - s.logger.Debug( + s.logger.Trace( "verifying commit from remote", "commit_height", commit.Height, "cs_height", s.Height, @@ -377,9 +377,9 @@ func (s *StateData) verifyCommit(commit *types.Commit, peerID types.NodeID, igno if rs.Proposal == nil || ignoreProposalBlock { if ignoreProposalBlock { - s.logger.Info("Commit verified for future round", "height", commit.Height, "round", commit.Round) + s.logger.Debug("Commit verified for future round", "height", commit.Height, "round", commit.Round) } else { - s.logger.Info("Commit came in before proposal", "height", commit.Height, "round", commit.Round) + s.logger.Debug("Commit came in before proposal", "height", commit.Height, "round", commit.Round) } // We need to verify that it was properly signed @@ -389,7 +389,7 @@ func (s *StateData) verifyCommit(commit *types.Commit, peerID types.NodeID, igno } if !s.ProposalBlockParts.HasHeader(commit.BlockID.PartSetHeader) { - s.logger.Info("setting proposal block parts from commit", "partSetHeader", commit.BlockID.PartSetHeader) + s.logger.Debug("setting proposal block parts from commit", "partSetHeader", commit.BlockID.PartSetHeader) s.ProposalBlockParts = types.NewPartSetFromHeader(commit.BlockID.PartSetHeader) } @@ -426,7 +426,7 @@ func (s *StateData) replaceProposalBlockOnLockedBlock(blockID types.BlockID) { } s.ProposalBlock = s.LockedBlock s.ProposalBlockParts = s.LockedBlockParts - s.logger.Debug("commit is for a locked block; set ProposalBlock=LockedBlock", "block_hash", blockID.Hash) + s.logger.Trace("commit is for a locked block; set ProposalBlock=LockedBlock", "block_hash", blockID.Hash) } func (s *StateData) proposeTimeout(round int32) time.Duration { diff --git a/internal/consensus/state_enter_commit.go b/internal/consensus/state_enter_commit.go index d210b6377e..723f3ba710 100644 --- a/internal/consensus/state_enter_commit.go +++ b/internal/consensus/state_enter_commit.go @@ -36,7 +36,8 @@ func (c *EnterCommitAction) Execute(ctx context.Context, stateEvent StateEvent) logger := c.logger.With("new_height", height, "commit_round", commitRound) if stateData.Height != height || cstypes.RoundStepApplyCommit <= stateData.Step { - logger.Debug("entering commit step with invalid args", + // this is quite common event + logger.Trace("entering commit step with invalid args", "height", stateData.Height, "round", stateData.Round, "step", stateData.Step) diff --git a/internal/consensus/state_enter_new_round.go b/internal/consensus/state_enter_new_round.go index dcc23afeb8..d38bed9e90 100644 --- a/internal/consensus/state_enter_new_round.go +++ b/internal/consensus/state_enter_new_round.go @@ -49,7 +49,8 @@ func (c *EnterNewRoundAction) Execute(ctx context.Context, stateEvent StateEvent logger := c.logger.With("height", height, "round", round) if stateData.Height != height || round < stateData.Round || (stateData.Round == round && stateData.Step != cstypes.RoundStepNewHeight) { - logger.Debug("entering new round with invalid args", + // this is quite common event + logger.Trace("entering new round with invalid args", "height", stateData.Height, "round", stateData.Round, "step", stateData.Step) @@ -57,7 +58,7 @@ func (c *EnterNewRoundAction) Execute(ctx context.Context, stateEvent StateEvent } if now := tmtime.Now(); stateData.StartTime.After(now) { - logger.Debug("need to set a buffer and log message here for sanity", "start_time", stateData.StartTime, "now", now) + logger.Trace("need to set a buffer and log message here for sanity", "start_time", stateData.StartTime, "now", now) } logger.Debug("entering new round", @@ -82,7 +83,7 @@ func (c *EnterNewRoundAction) Execute(ctx context.Context, stateEvent StateEvent // and meanwhile we might have received a proposal // for round 0. } else { - logger.Debug("resetting proposal info") + logger.Trace("resetting proposal info") stateData.Proposal = nil stateData.ProposalReceiveTime = time.Time{} stateData.ProposalBlock = nil diff --git a/internal/consensus/state_enter_precommit.go b/internal/consensus/state_enter_precommit.go index 8834850666..41e53b1075 100644 --- a/internal/consensus/state_enter_precommit.go +++ b/internal/consensus/state_enter_precommit.go @@ -47,7 +47,7 @@ func (c *EnterPrecommitAction) Execute(ctx context.Context, stateEvent StateEven logger := c.logger.With("new_height", height, "new_round", round) if stateData.Height != height || round < stateData.Round || (stateData.Round == round && cstypes.RoundStepPrecommit <= stateData.Step) { - logger.Debug("entering precommit step with invalid args", + logger.Trace("entering precommit step with invalid args", "height", stateData.Height, "round", stateData.Round, "step", stateData.Step) @@ -68,11 +68,12 @@ func (c *EnterPrecommitAction) Execute(ctx context.Context, stateEvent StateEven blockID, ok := stateData.Votes.Prevotes(round).TwoThirdsMajority() // If we don't have a polka, we must precommit nil. + // From protocol perspective it's an error condition, so we log it on Error level. if !ok { if stateData.LockedBlock != nil { - logger.Debug("precommit step; no +2/3 prevotes during enterPrecommit while we are locked; precommitting nil") + logger.Error("precommit step; no +2/3 prevotes during enterPrecommit while we are locked; precommitting nil") } else { - logger.Debug("precommit step; no +2/3 prevotes during enterPrecommit; precommitting nil") + logger.Error("precommit step; no +2/3 prevotes during enterPrecommit; precommitting nil") } c.voteSigner.signAddVote(ctx, stateData, tmproto.PrecommitType, types.BlockID{}) @@ -90,7 +91,8 @@ func (c *EnterPrecommitAction) Execute(ctx context.Context, stateEvent StateEven // +2/3 prevoted nil. Precommit nil. if blockID.IsNil() { - logger.Debug("precommit step: +2/3 prevoted for nil; precommitting nil") + // From protocol perspective it's an error condition, so we log it on Error level. + logger.Error("precommit step: +2/3 prevoted for nil; precommitting nil") c.voteSigner.signAddVote(ctx, stateData, tmproto.PrecommitType, types.BlockID{}) return nil } @@ -105,7 +107,7 @@ func (c *EnterPrecommitAction) Execute(ctx context.Context, stateEvent StateEven // If the proposal time does not match the block time, precommit nil. if !stateData.Proposal.Timestamp.Equal(stateData.ProposalBlock.Header.Time) { - logger.Debug("precommit step: proposal timestamp not equal; precommitting nil") + logger.Error("precommit step: proposal timestamp not equal; precommitting nil") c.voteSigner.signAddVote(ctx, stateData, tmproto.PrecommitType, types.BlockID{}) return nil } diff --git a/internal/consensus/state_enter_prevote.go b/internal/consensus/state_enter_prevote.go index e57559e093..7e32071b93 100644 --- a/internal/consensus/state_enter_prevote.go +++ b/internal/consensus/state_enter_prevote.go @@ -42,7 +42,7 @@ func (c *EnterPrevoteAction) Execute(ctx context.Context, statEvent StateEvent) logger := c.logger.With("height", height, "round", round) if stateData.Height != height || round < stateData.Round || (stateData.Round == round && cstypes.RoundStepPrevote <= stateData.Step) { - logger.Debug("entering prevote step with invalid args", + logger.Trace("entering prevote step with invalid args", "height", stateData.Height, "round", stateData.Round, "step", stateData.Step) diff --git a/internal/consensus/state_enter_propose.go b/internal/consensus/state_enter_propose.go index ee41820493..e9ae2075c8 100644 --- a/internal/consensus/state_enter_propose.go +++ b/internal/consensus/state_enter_propose.go @@ -45,7 +45,7 @@ func (c *EnterProposeAction) Execute(ctx context.Context, stateEvent StateEvent) if stateData.Height != height || round < stateData.Round || (stateData.Round == round && cstypes.RoundStepPropose <= stateData.Step) { - logger.Debug("entering propose step with invalid args", "step", stateData.Step) + logger.Trace("entering propose step with invalid args", "step", stateData.Step) return nil } @@ -67,11 +67,6 @@ func (c *EnterProposeAction) Execute(ctx context.Context, stateEvent StateEvent) } } - logger.Debug("entering propose step", - "height", stateData.Height, - "round", stateData.Round, - "step", stateData.Step) - defer func() { // Done enterPropose: stateData.updateRoundStep(round, cstypes.RoundStepPropose) @@ -89,9 +84,12 @@ func (c *EnterProposeAction) Execute(ctx context.Context, stateEvent StateEvent) c.scheduler.ScheduleTimeout(stateData.proposeTimeout(round), height, round, cstypes.RoundStepPropose) if !isProposer { - logger.Debug("propose step; not our turn to propose", + logger.Info("propose step; not our turn to propose", "proposer_proTxHash", stateData.Validators.GetProposer().ProTxHash, - "node_proTxHash", proTxHash.String()) + "node_proTxHash", proTxHash.String(), + "height", stateData.Height, + "round", stateData.Round, + "step", stateData.Step) return nil } // In replay mode, we don't propose blocks. @@ -100,8 +98,11 @@ func (c *EnterProposeAction) Execute(ctx context.Context, stateEvent StateEvent) return nil } - logger.Debug("propose step; our turn to propose", + logger.Info("propose step; our turn to propose", "proposer_proTxHash", proTxHash.ShortString(), + "height", stateData.Height, + "round", stateData.Round, + "step", stateData.Step, ) // Flush the WAL. Otherwise, we may not recompute the same proposal to sign, // and the privVal will refuse to sign anything. diff --git a/internal/consensus/state_enter_wait.go b/internal/consensus/state_enter_wait.go index c938b89742..875d0bb928 100644 --- a/internal/consensus/state_enter_wait.go +++ b/internal/consensus/state_enter_wait.go @@ -35,7 +35,7 @@ func (c *EnterPrecommitWaitAction) Execute(ctx context.Context, stateEvent State logger := c.logger.With("new_height", height, "new_round", round) if stateData.Height != height || round < stateData.Round || (stateData.Round == round && stateData.TriggeredTimeoutPrecommit) { - logger.Debug("entering precommit wait step with invalid args", + logger.Trace("entering precommit wait step with invalid args", "triggered_timeout", stateData.TriggeredTimeoutPrecommit, "height", stateData.Height, "round", stateData.Round) @@ -94,7 +94,7 @@ func (c *EnterPrevoteWaitAction) Execute(ctx context.Context, stateEvent StateEv logger := c.logger.With("height", height, "round", round) if stateData.Height != height || round < stateData.Round || (stateData.Round == round && cstypes.RoundStepPrevoteWait <= stateData.Step) { - logger.Debug("entering prevote wait step with invalid args", + logger.Trace("entering prevote wait step with invalid args", "height", stateData.Height, "round", stateData.Round, "step", stateData.Step) diff --git a/internal/consensus/state_prevoter.go b/internal/consensus/state_prevoter.go index c9ac3e686a..fdc7913603 100644 --- a/internal/consensus/state_prevoter.go +++ b/internal/consensus/state_prevoter.go @@ -39,7 +39,7 @@ func (p *prevoter) Do(ctx context.Context, stateData *StateData) error { err := stateData.isValidForPrevote() if err != nil { keyVals := append(prevoteKeyVals(stateData), "error", err) - p.logger.Debug("prevote is invalid", keyVals...) + p.logger.Error("prevote is invalid", keyVals...) p.signAndAddNilVote(ctx, stateData) return nil } @@ -72,7 +72,7 @@ func (p *prevoter) handleError(err error, args ...any) { } func (p *prevoter) signAndAddNilVote(ctx context.Context, stateData *StateData) { - p.logger.Debug("prevote nil") + p.logger.Debug("prevote nil", "height", stateData.RoundState.Height, "round", stateData.RoundState.Round) p.voteSigner.signAddVote(ctx, stateData, tmproto.PrevoteType, types.BlockID{}) } @@ -142,9 +142,11 @@ func (p *prevoter) checkPrevoteMaj23(rs cstypes.RoundState) bool { return false } if rs.Proposal.POLRound < 0 { + p.logger.Debug("prevote step: ProposalBlock is valid but we have no Polka") return false } if rs.Proposal.POLRound >= rs.Round { + p.logger.Debug("prevote step: ProposalBlock is valid but POLRound is greater than or equal to our current round") return false } if rs.LockedRound <= rs.Proposal.POLRound { diff --git a/internal/consensus/state_proposaler.go b/internal/consensus/state_proposaler.go index 69db2a01b3..48848927b7 100644 --- a/internal/consensus/state_proposaler.go +++ b/internal/consensus/state_proposaler.go @@ -103,7 +103,7 @@ func (p *Proposaler) Create(ctx context.Context, height int64, round int32, rs * logger.Error("propose step; failed signing proposal", "error", err) return err } - p.logger.Debug("replay; failed signing proposal", "proposal", proposal, "error", err) + p.logger.Error("replay; failed signing proposal", "proposal", proposal, "error", err) return err } p.logger.Debug("signed proposal", "proposal", proposal) @@ -160,7 +160,7 @@ func (p *Proposaler) checkValidBlock(rs *cstypes.RoundState) bool { return rs.ValidBlock.Time.Equal(p.committedState.LastBlockTime) } if !rs.ValidBlock.IsTimely(rs.ValidBlockRecvTime, sp, rs.ValidRound) { - p.logger.Debug( + p.logger.Error( "proposal block is outdated", "height", rs.Height, "round", rs.ValidRound, @@ -209,7 +209,7 @@ func (p *Proposaler) verifyProposal(proposal *types.Proposal, rs *cstypes.RoundS if proposer.PubKey.VerifySignatureDigest(proposalBlockSignID, proposal.Signature) { return nil } - p.logger.Debug( + p.logger.Error( "error verifying signature", "height", rs.Height, "proposal_height", proposal.Height, @@ -234,7 +234,7 @@ func (p *Proposaler) verifyProposalForNonValidatorSet(proposal *types.Proposal, // We need to verify that the commit block id is equal to the proposal block id if !proposal.BlockID.Equals(commit.BlockID) { proposer := rs.Validators.GetProposer() - p.logger.Debug("proposal blockID isn't the same as the commit blockID", + p.logger.Error("proposal blockID isn't the same as the commit blockID", "height", proposal.Height, "round", proposal.Round, "proposer_proTxHash", proposer.ProTxHash.ShortString()) diff --git a/internal/consensus/state_try_add_commit.go b/internal/consensus/state_try_add_commit.go index b141c78dd6..4537d37a2d 100644 --- a/internal/consensus/state_try_add_commit.go +++ b/internal/consensus/state_try_add_commit.go @@ -46,7 +46,7 @@ func (cs *TryAddCommitAction) Execute(ctx context.Context, stateEvent StateEvent // We need to first verify that the commit received wasn't for a future round, // If it was then we must go to next round if commit.Height == rs.Height && commit.Round > rs.Round { - cs.logger.Debug("Commit received for a later round", "height", commit.Height, "our round", + cs.logger.Trace("Commit received for a later round", "height", commit.Height, "our round", rs.Round, "commit round", commit.Round) verified, err := cs.verifyCommit(ctx, stateData, commit, peerID, true) if err != nil { diff --git a/internal/consensus/state_try_finalize_commit.go b/internal/consensus/state_try_finalize_commit.go index ea449d6b20..dacdd443f6 100644 --- a/internal/consensus/state_try_finalize_commit.go +++ b/internal/consensus/state_try_finalize_commit.go @@ -47,7 +47,7 @@ func (cs *TryFinalizeCommitAction) Execute(ctx context.Context, stateEvent State if !stateData.ProposalBlock.HashesTo(blockID.Hash) { // TODO: this happens every time if we're not a validator (ugly logs) // TODO: ^^ wait, why does it matter that we're a validator? - logger.Debug("failed attempt to finalize commit; we do not have the commit block", + logger.Trace("failed attempt to finalize commit; we do not have the commit block", "proposal_block", tmstrings.LazyBlockHash(stateData.ProposalBlock), "commit_block", blockID.Hash, ) @@ -88,6 +88,7 @@ func (cs *TryFinalizeCommitAction) finalizeCommit(ctx context.Context, ctrl *Con "hash", tmstrings.LazyBlockHash(block), "root", block.AppHash, "num_txs", len(block.Txs), + "block", block, ) precommits := stateData.Votes.Precommits(stateData.CommitRound) diff --git a/internal/consensus/ticker.go b/internal/consensus/ticker.go index 3e8f5eb9a9..a768854c6f 100644 --- a/internal/consensus/ticker.go +++ b/internal/consensus/ticker.go @@ -93,7 +93,7 @@ func (t *timeoutTicker) timeoutRoutine(ctx context.Context) { for { select { case newti := <-t.tickChan: - t.logger.Debug("Received tick", "old_ti", ti, "new_ti", newti) + t.logger.Trace("Received tick", "old_ti", ti, "new_ti", newti) // ignore tickers for old height/round/step if newti.Height < ti.Height { @@ -115,7 +115,7 @@ func (t *timeoutTicker) timeoutRoutine(ctx context.Context) { // NOTE time.Timer allows duration to be non-positive ti = newti t.timer.Reset(ti.Duration) - t.logger.Debug("Internal state machine timeout scheduled", "duration", ti.Duration, "height", ti.Height, "round", ti.Round, "step", ti.Step.String()) + t.logger.Trace("Internal state machine timeout scheduled", "duration", ti.Duration, "height", ti.Height, "round", ti.Round, "step", ti.Step.String()) case <-t.timer.C: t.logger.Debug("Internal state machine timeout elapsed", "duration", ti.Duration, "height", ti.Height, "round", ti.Round, "step", ti.Step.String()) // go routine here guarantees timeoutRoutine doesn't block. diff --git a/internal/consensus/vote_signer.go b/internal/consensus/vote_signer.go index 54b0877d09..62ef6cee30 100644 --- a/internal/consensus/vote_signer.go +++ b/internal/consensus/vote_signer.go @@ -34,7 +34,7 @@ func (s *voteSigner) signAddVote( } // If the node not in the validator set, do nothing. if !stateData.Validators.HasProTxHash(s.privValidator.ProTxHash) { - s.logger.Debug("do nothing, node is not a part of validator set") + s.logger.Error("do nothing, node is not a part of validator set") return nil } keyVals := []any{"height", stateData.Height, "round", stateData.Round, "quorum_hash", stateData.Validators.QuorumHash} @@ -50,7 +50,7 @@ func (s *voteSigner) signAddVote( keyVals = append(keyVals, "error", err) } keyVals = append(keyVals, "vote", vote, "took", time.Since(start).String()) - s.logger.Debug("signed and pushed vote", keyVals...) + s.logger.Info("signed and pushed vote", keyVals...) return vote } From 213ed3bd26b8ee28dfe4f5264f7931087c94cfc9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 13 Sep 2023 10:41:27 +0200 Subject: [PATCH 16/19] build(deps): Bump actions/checkout from 3 to 4 (#676) Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/build.yml | 6 +++--- .github/workflows/check-generated.yml | 4 ++-- .github/workflows/docker.yml | 2 +- .github/workflows/docs-deployment.yml | 4 ++-- .github/workflows/e2e.yml | 2 +- .github/workflows/jepsen.yml | 2 +- .github/workflows/lint.yml | 2 +- .github/workflows/markdown-links.yml | 2 +- .github/workflows/markdown-linter.yml | 2 +- .github/workflows/proto-lint.yml | 2 +- .github/workflows/release.yml | 2 +- .github/workflows/tests.yml | 2 +- 12 files changed, 16 insertions(+), 16 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9bc0ec948b..4b41672941 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -24,7 +24,7 @@ jobs: - uses: actions/setup-go@v3.5.0 with: go-version: "1.19" - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: technote-space/get-diff-action@v6 with: PATTERNS: | @@ -55,7 +55,7 @@ jobs: - uses: actions/setup-go@v3.5.0 with: go-version: "1.19" - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: technote-space/get-diff-action@v6 with: PATTERNS: | @@ -80,7 +80,7 @@ jobs: - uses: actions/setup-go@v3.5.0 with: go-version: "1.19" - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: technote-space/get-diff-action@v6 with: PATTERNS: | diff --git a/.github/workflows/check-generated.yml b/.github/workflows/check-generated.yml index f0bfd723d6..96e9910776 100644 --- a/.github/workflows/check-generated.yml +++ b/.github/workflows/check-generated.yml @@ -25,7 +25,7 @@ jobs: with: go-version: "1.19" - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: "Check generated mocks" run: | @@ -51,7 +51,7 @@ jobs: with: go-version: "1.19" - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: 1 # we need a .git directory to run git diff diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 25492162b5..aff9dc0f66 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -17,7 +17,7 @@ jobs: build: runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up QEMU uses: docker/setup-qemu-action@master diff --git a/.github/workflows/docs-deployment.yml b/.github/workflows/docs-deployment.yml index 082484dd58..64dba8c761 100644 --- a/.github/workflows/docs-deployment.yml +++ b/.github/workflows/docs-deployment.yml @@ -28,7 +28,7 @@ jobs: - name: Install generator dependencies run: | apk add --no-cache make bash git npm - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: # We need to fetch full history so the backport branches for previous # versions will be available for the build. @@ -49,7 +49,7 @@ jobs: permissions: contents: write steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: actions/download-artifact@v3 with: name: build-output diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index aa4670f503..15afabe990 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -33,7 +33,7 @@ jobs: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2.4.1 - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: submodules: true - uses: technote-space/get-diff-action@v6 diff --git a/.github/workflows/jepsen.yml b/.github/workflows/jepsen.yml index 04e599564a..5a947f928c 100644 --- a/.github/workflows/jepsen.yml +++ b/.github/workflows/jepsen.yml @@ -46,7 +46,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout the Jepsen repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: repository: 'tendermint/jepsen' diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 0affc7a510..846eef16b3 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -25,7 +25,7 @@ jobs: CGO_LDFLAGS: "-L/usr/local/lib -ldashbls -lrelic_s -lmimalloc-secure -lgmp" CGO_CXXFLAGS: "-I/usr/local/include" steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: submodules: true - uses: actions/setup-go@v3.5.0 diff --git a/.github/workflows/markdown-links.yml b/.github/workflows/markdown-links.yml index 82a8b11c12..d8e6ac6e75 100644 --- a/.github/workflows/markdown-links.yml +++ b/.github/workflows/markdown-links.yml @@ -15,7 +15,7 @@ jobs: markdown-link-check: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: technote-space/get-diff-action@v6 with: PATTERNS: | diff --git a/.github/workflows/markdown-linter.yml b/.github/workflows/markdown-linter.yml index 37324acadd..6f28587aeb 100644 --- a/.github/workflows/markdown-linter.yml +++ b/.github/workflows/markdown-linter.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Install dependencies run: sudo apt-get update && sudo apt-get install -y libpcap-dev - name: Lint Code Base diff --git a/.github/workflows/proto-lint.yml b/.github/workflows/proto-lint.yml index 271decc37e..65b894272e 100644 --- a/.github/workflows/proto-lint.yml +++ b/.github/workflows/proto-lint.yml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 5 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: bufbuild/buf-setup-action@v1.14.0 - uses: bufbuild/buf-lint-action@v1 with: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b90ab8ba2b..0992fad38d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -8,7 +8,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 0 diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index aa7578b6f5..5d98b88e38 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -19,7 +19,7 @@ jobs: - uses: actions/setup-go@v3.5.0 with: go-version: "1.19" - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: technote-space/get-diff-action@v6 with: PATTERNS: | From be4282d3a01662eeb28be402d69da869b6444681 Mon Sep 17 00:00:00 2001 From: Lukasz Klimek <842586+lklimek@users.noreply.github.com> Date: Wed, 13 Sep 2023 10:49:08 +0200 Subject: [PATCH 17/19] chore: update mocks and .proto files after merge 12 to 13 --- abci/client/mocks/client.go | 9 ++++---- abci/types/mocks/application.go | 9 ++++---- dash/core/client_test.go | 2 +- dash/core/mocks/client.go | 2 +- go.sum | 22 -------------------- internal/consensus/mocks/gossiper.go | 9 ++++---- internal/evidence/mocks/block_store.go | 9 ++++---- internal/mempool/mocks/mempool.go | 9 ++++---- internal/p2p/client/mocks/block_client.go | 9 ++++---- internal/p2p/client/mocks/snapshot_client.go | 9 ++++---- internal/p2p/mocks/channel.go | 9 ++++---- internal/p2p/mocks/connection.go | 9 ++++---- internal/p2p/mocks/transport.go | 9 ++++---- internal/state/indexer/mocks/event_sink.go | 9 ++++---- internal/state/mocks/block_store.go | 9 ++++---- internal/state/mocks/evidence_pool.go | 9 ++++---- internal/state/mocks/executor.go | 9 ++++---- internal/state/mocks/store.go | 9 ++++---- internal/statesync/mocks/state_provider.go | 9 ++++---- libs/store/mocks/store.go | 9 ++++---- light/provider/mocks/provider.go | 9 ++++---- light/rpc/mocks/light_client.go | 9 ++++---- rpc/client/mocks/abci_client.go | 9 ++++---- rpc/client/mocks/client.go | 9 ++++---- rpc/client/mocks/events_client.go | 9 ++++---- rpc/client/mocks/evidence_client.go | 9 ++++---- rpc/client/mocks/history_client.go | 9 ++++---- rpc/client/mocks/mempool_client.go | 9 ++++---- rpc/client/mocks/network_client.go | 9 ++++---- rpc/client/mocks/remote_client.go | 9 ++++---- rpc/client/mocks/sign_client.go | 9 ++++---- rpc/client/mocks/status_client.go | 9 ++++---- rpc/client/mocks/subscription_client.go | 9 ++++---- types/mocks/block_event_publisher.go | 9 ++++---- types/mocks/priv_validator.go | 9 ++++---- 35 files changed, 162 insertions(+), 152 deletions(-) diff --git a/abci/client/mocks/client.go b/abci/client/mocks/client.go index 984e97ef7e..e5a6e144ea 100644 --- a/abci/client/mocks/client.go +++ b/abci/client/mocks/client.go @@ -439,12 +439,13 @@ func (_m *Client) Wait() { _m.Called() } -// NewClient creates a new instance of Client. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -// The first argument is typically a *testing.T value. -func NewClient(t interface { +type mockConstructorTestingTNewClient interface { mock.TestingT Cleanup(func()) -}) *Client { +} + +// NewClient creates a new instance of Client. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +func NewClient(t mockConstructorTestingTNewClient) *Client { mock := &Client{} mock.Mock.Test(t) diff --git a/abci/types/mocks/application.go b/abci/types/mocks/application.go index e7767821d9..9bb1424d86 100644 --- a/abci/types/mocks/application.go +++ b/abci/types/mocks/application.go @@ -352,12 +352,13 @@ func (_m *Application) VerifyVoteExtension(_a0 context.Context, _a1 *types.Reque return r0, r1 } -// NewApplication creates a new instance of Application. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -// The first argument is typically a *testing.T value. -func NewApplication(t interface { +type mockConstructorTestingTNewApplication interface { mock.TestingT Cleanup(func()) -}) *Application { +} + +// NewApplication creates a new instance of Application. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +func NewApplication(t mockConstructorTestingTNewApplication) *Application { mock := &Application{} mock.Mock.Test(t) diff --git a/dash/core/client_test.go b/dash/core/client_test.go index f7d0e7e729..9768a9b41e 100644 --- a/dash/core/client_test.go +++ b/dash/core/client_test.go @@ -9,7 +9,7 @@ import ( "github.com/dashpay/dashd-go/btcjson" "github.com/stretchr/testify/require" - "github.com/tendermint/tendermint/dash/core/mocks" + "github.com/dashpay/tenderdash/dash/core/mocks" ) func TestWaitForMNReady(t *testing.T) { diff --git a/dash/core/mocks/client.go b/dash/core/mocks/client.go index 8e6345597c..01d738a3db 100644 --- a/dash/core/mocks/client.go +++ b/dash/core/mocks/client.go @@ -4,7 +4,7 @@ package mocks import ( btcjson "github.com/dashpay/dashd-go/btcjson" - bytes "github.com/tendermint/tendermint/libs/bytes" + bytes "github.com/dashpay/tenderdash/libs/bytes" mock "github.com/stretchr/testify/mock" ) diff --git a/go.sum b/go.sum index c2a9d6d796..4e872e11d9 100644 --- a/go.sum +++ b/go.sum @@ -80,7 +80,6 @@ github.com/OpenPeeDeeP/depguard v1.1.0/go.mod h1:JtAMzWkmFEzDPyAd+W0NHl1lvpQKTvT github.com/VividCortex/gohistogram v1.0.0 h1:6+hBz+qvs0JOrrNhhmR7lFxo5sINxBCGXrdtl/UvroE= github.com/adlio/schema v1.3.3 h1:oBJn8I02PyTB466pZO1UZEn1TV5XLlifBSyMrmHl/1I= github.com/adlio/schema v1.3.3/go.mod h1:1EsRssiv9/Ce2CMzq5DoL7RiMshhuigQxrR4DMV9fHg= -github.com/aead/siphash v1.0.1 h1:FwHfE/T45KPKYuuSAKyyvE+oPWcaQ+CUmFW0bPlM+kg= github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= @@ -130,14 +129,9 @@ github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce/go.mod h1:0DVlH github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd h1:R/opQEbFEy9JGkIguV40SvRY1uliPX8ifOvi6ICsFCw= github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd/go.mod h1:HHNXQzUsZCxOoE+CPiyCTO6x34Zs86zZUiwtpXoGdtg= github.com/btcsuite/goleveldb v0.0.0-20160330041536-7834afc9e8cd/go.mod h1:F+uVaaLLH7j4eDXPRvw78tMflu7Ie2bzYOH4Y8rRKBY= -github.com/btcsuite/goleveldb v1.0.0 h1:Tvd0BfvqX9o823q1j2UZ/epQo09eJh6dTcRp79ilIN4= -github.com/btcsuite/goleveldb v1.0.0/go.mod h1:QiK9vBlgftBg6rWQIj6wFzbPfRjiykIEhBH4obrXJ/I= github.com/btcsuite/snappy-go v0.0.0-20151229074030-0bdef8d06723/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc= -github.com/btcsuite/snappy-go v1.0.0 h1:ZxaA6lo2EpxGddsA8JwWOcxlzRybb444sgmeJQMJGQE= -github.com/btcsuite/snappy-go v1.0.0/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc= github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792 h1:R8vQdOQdZ9Y3SkEwmHoWBmX1DNXhXZqlTpq6s4tyJGc= github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792/go.mod h1:ghJtEyQwv5/p4Mg4C0fgbePVuGr935/5ddU9Z3TmDRY= -github.com/btcsuite/winsvc v1.0.0 h1:J9B4L7e3oqhXOcm+2IuNApwzQec85lE+QaikUcCs+dk= github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46fmI40EZs= github.com/bufbuild/buf v1.7.0 h1:uWRjhIXcrWkzIkA5TqXGyJbF51VW54QJsQZ3nwaes5Q= github.com/bufbuild/buf v1.7.0/go.mod h1:Go40fMAF46PnPLC7jJgTQhAI95pmC0+VtxFKVC0qLq0= @@ -209,10 +203,6 @@ github.com/daixiang0/gci v0.6.2 h1:TXCP5RqjE/UupXO+p33MEhqdv7QxjKGw5MVkt9ATiMs= github.com/daixiang0/gci v0.6.2/go.mod h1:EpVfrztufwVgQRXjnX4zuNinEpLj5OmMjtu/+MB0V0c= github.com/dashpay/bls-signatures/go-bindings v0.0.0-20230207105415-06df92693ac8 h1:v4K3CiDoFY1gjcWL/scRcwzyjBwh8TVG3ek8cWolK1g= github.com/dashpay/bls-signatures/go-bindings v0.0.0-20230207105415-06df92693ac8/go.mod h1:auvGS60NBZ+a21aCCQh366PdsjDvHinsCvl28VrYPu4= -github.com/dashpay/dashd-go v0.24.0 h1:doC8GW2/ygu5JPCvYHQLx6TNza0TPcCR5rXUUS9CxY8= -github.com/dashpay/dashd-go v0.24.0/go.mod h1:4yuk/laGME2RnQRTdqTbw87PhT+42hE1anLCnpkgls8= -github.com/dashpay/dashd-go v0.24.1-0.20230712150728-6f8baed01ca5 h1:Pnde8NKgvO2Aq2dVQxHeUYHfkVje4HVPCv2x5LKQ1Dk= -github.com/dashpay/dashd-go v0.24.1-0.20230712150728-6f8baed01ca5/go.mod h1:4yuk/laGME2RnQRTdqTbw87PhT+42hE1anLCnpkgls8= github.com/dashpay/dashd-go v0.24.1 h1:w+F5pDt+fqud4QQM/O9sAJihbQ3oswO8DKOmDS/pcNw= github.com/dashpay/dashd-go v0.24.1/go.mod h1:4yuk/laGME2RnQRTdqTbw87PhT+42hE1anLCnpkgls8= github.com/dashpay/dashd-go/btcec/v2 v2.1.0 h1:fXwlLf5H+TtgHxjGMU74NesKzk6NisjKMPF04pBcygk= @@ -227,8 +217,6 @@ github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs github.com/decred/dcrd/crypto/blake256 v1.0.0 h1:/8DMNYp9SGi5f0w7uCm6d6M4OU2rGFK09Y2A4Xv7EE0= github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 h1:HbphB4TFFXpv7MNrT52FGrrgVXF1owhMVTHFZIlnvd4= github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0/go.mod h1:DZGJHZMqrU4JJqFAWUS2UO1+lbSKsdiOoYi9Zzey7Fc= -github.com/decred/dcrd/lru v1.0.0 h1:Kbsb1SFDsIlaupWPwsPp+dkxiBY1frcS07PCPgotKz8= -github.com/decred/dcrd/lru v1.0.0/go.mod h1:mxKOwFd7lFjN2GZYsiz/ecgqR6kkYAl+0pz0tEMk218= github.com/denis-tingaikin/go-header v0.4.3 h1:tEaZKAlqql6SKCY++utLmkPLd6K8IBM20Ha7UVm+mtU= github.com/denis-tingaikin/go-header v0.4.3/go.mod h1:0wOCWuN71D5qIgE2nz9KrKmuYBAC2Mra5RassOIQ2/c= github.com/denisenkom/go-mssqldb v0.12.0 h1:VtrkII767ttSPNRfFekePK3sctr+joXgO58stqQbtUA= @@ -313,12 +301,9 @@ github.com/go-kit/kit v0.12.0 h1:e4o3o3IsBfAKQh5Qbbiqyfu97Ku7jrO/JbohvztANh4= github.com/go-kit/kit v0.12.0/go.mod h1:lHd+EkCZPIwYItmGDDRdhinkzX2A1sj+M9biaEaizzs= github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= -github.com/go-kit/log v0.2.1 h1:MRVx0/zhvdseW+Gza6N9rVzU/IVzaeE1SFI4raAhmBU= -github.com/go-kit/log v0.2.1/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= -github.com/go-logfmt/logfmt v0.5.1 h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNVA= github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= @@ -547,8 +532,6 @@ github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANyt github.com/jdxcode/netrc v0.0.0-20210204082910-926c7f70242a h1:d4+I1YEKVmWZrgkt6jpXBnLgV2ZjO0YxEtLDdfIZfH4= github.com/jdxcode/netrc v0.0.0-20210204082910-926c7f70242a/go.mod h1:Zi/ZFkEqFHTm7qkjyNJjaWH4LQA9LQhGJyF0lTYGpxw= github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= -github.com/jessevdk/go-flags v1.4.0 h1:4IU2WS7AumrZ/40jfhf4QVDMsQwqA7VEHozFRrGARJA= -github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jgautheron/goconst v1.5.1 h1:HxVbL1MhydKs8R8n/HE5NPvzfaYmQJA3o879lE4+WcM= github.com/jgautheron/goconst v1.5.1/go.mod h1:aAosetZ5zaeC/2EfMeRswtxUFBpe2Hr7HzkgX4fanO4= github.com/jhump/gopoet v0.0.0-20190322174617-17282ff210b3/go.mod h1:me9yfT6IJSlOL3FCfrg+L6yzUEZ+5jW6WHt4Sk+UPUI= @@ -575,7 +558,6 @@ github.com/jonboulle/clockwork v0.2.0/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUB github.com/jonboulle/clockwork v0.3.0 h1:9BSCMi8C+0qdApAp4auwX0RkLGUjs956h0EkuQymUhg= github.com/jonboulle/clockwork v0.3.0/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= -github.com/jrick/logrotate v1.0.0 h1:lQ1bL/n9mBNeIXoTUoYRlK4dHuNJVofX9oWqBtPnSzI= github.com/jrick/logrotate v1.0.0/go.mod h1:LNinyqDIJnpAur+b8yyulnQw/wDuN1+BYKlTRt3OuAQ= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= @@ -598,8 +580,6 @@ github.com/kisielk/errcheck v1.6.2/go.mod h1:nXw/i/MfnvRHqXa7XXmQMUB0oNFGuBrNI8d github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4= -github.com/kkdai/bstream v1.0.0 h1:Se5gHwgp2VT2uHfDrkbbgbgEvV9cimLELwrPJctSjg8= -github.com/kkdai/bstream v1.0.0/go.mod h1:FDnDOHt5Yx4p3FaHcioFT0QjDOtgUpvjeZqAs+NVZZA= github.com/klauspost/compress v1.15.10 h1:Ai8UzuomSCDw90e1qNMtb15msBXsNpH6gzkkENQNcJo= github.com/klauspost/compress v1.15.10/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= github.com/klauspost/pgzip v1.2.5 h1:qnWYvvKqedOF2ulHpMG72XQol4ILEJ8k2wwRl/Km8oE= @@ -744,7 +724,6 @@ github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= github.com/onsi/ginkgo/v2 v2.1.3/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= github.com/onsi/ginkgo/v2 v2.1.4 h1:GNapqRSid3zijZ9H77KrgVG4/8KqiyRsxcSxe+7ApXY= github.com/onsi/ginkgo/v2 v2.1.4/go.mod h1:um6tUpWM/cxCK3/FK8BXqEiUMUwRgSM4JXG47RKZmLU= -github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= @@ -1101,7 +1080,6 @@ golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2 golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.6.0 h1:b9gGHsz9/HhJ3HF5DHQytPpuwocVTChQJK3AvoLRD5I= golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI= -golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= diff --git a/internal/consensus/mocks/gossiper.go b/internal/consensus/mocks/gossiper.go index b2f91225a9..9678d5b5c6 100644 --- a/internal/consensus/mocks/gossiper.go +++ b/internal/consensus/mocks/gossiper.go @@ -44,12 +44,13 @@ func (_m *Gossiper) GossipVoteSetMaj23(ctx context.Context, rs types.RoundState, _m.Called(ctx, rs, prs) } -// NewGossiper creates a new instance of Gossiper. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -// The first argument is typically a *testing.T value. -func NewGossiper(t interface { +type mockConstructorTestingTNewGossiper interface { mock.TestingT Cleanup(func()) -}) *Gossiper { +} + +// NewGossiper creates a new instance of Gossiper. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +func NewGossiper(t mockConstructorTestingTNewGossiper) *Gossiper { mock := &Gossiper{} mock.Mock.Test(t) diff --git a/internal/evidence/mocks/block_store.go b/internal/evidence/mocks/block_store.go index 344c2f7992..11b987fc56 100644 --- a/internal/evidence/mocks/block_store.go +++ b/internal/evidence/mocks/block_store.go @@ -58,12 +58,13 @@ func (_m *BlockStore) LoadBlockMeta(height int64) *types.BlockMeta { return r0 } -// NewBlockStore creates a new instance of BlockStore. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -// The first argument is typically a *testing.T value. -func NewBlockStore(t interface { +type mockConstructorTestingTNewBlockStore interface { mock.TestingT Cleanup(func()) -}) *BlockStore { +} + +// NewBlockStore creates a new instance of BlockStore. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +func NewBlockStore(t mockConstructorTestingTNewBlockStore) *BlockStore { mock := &BlockStore{} mock.Mock.Test(t) diff --git a/internal/mempool/mocks/mempool.go b/internal/mempool/mocks/mempool.go index 890e3d7b41..c11b277dd4 100644 --- a/internal/mempool/mocks/mempool.go +++ b/internal/mempool/mocks/mempool.go @@ -171,12 +171,13 @@ func (_m *Mempool) Update(ctx context.Context, blockHeight int64, blockTxs types return r0 } -// NewMempool creates a new instance of Mempool. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -// The first argument is typically a *testing.T value. -func NewMempool(t interface { +type mockConstructorTestingTNewMempool interface { mock.TestingT Cleanup(func()) -}) *Mempool { +} + +// NewMempool creates a new instance of Mempool. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +func NewMempool(t mockConstructorTestingTNewMempool) *Mempool { mock := &Mempool{} mock.Mock.Test(t) diff --git a/internal/p2p/client/mocks/block_client.go b/internal/p2p/client/mocks/block_client.go index b094d38ccb..d1c938434c 100644 --- a/internal/p2p/client/mocks/block_client.go +++ b/internal/p2p/client/mocks/block_client.go @@ -73,12 +73,13 @@ func (_m *BlockClient) Send(ctx context.Context, msg interface{}) error { return r0 } -// NewBlockClient creates a new instance of BlockClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -// The first argument is typically a *testing.T value. -func NewBlockClient(t interface { +type mockConstructorTestingTNewBlockClient interface { mock.TestingT Cleanup(func()) -}) *BlockClient { +} + +// NewBlockClient creates a new instance of BlockClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +func NewBlockClient(t mockConstructorTestingTNewBlockClient) *BlockClient { mock := &BlockClient{} mock.Mock.Test(t) diff --git a/internal/p2p/client/mocks/snapshot_client.go b/internal/p2p/client/mocks/snapshot_client.go index e2eb8d643d..81996d5048 100644 --- a/internal/p2p/client/mocks/snapshot_client.go +++ b/internal/p2p/client/mocks/snapshot_client.go @@ -110,12 +110,13 @@ func (_m *SnapshotClient) GetSnapshots(ctx context.Context, peerID types.NodeID) return r0 } -// NewSnapshotClient creates a new instance of SnapshotClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -// The first argument is typically a *testing.T value. -func NewSnapshotClient(t interface { +type mockConstructorTestingTNewSnapshotClient interface { mock.TestingT Cleanup(func()) -}) *SnapshotClient { +} + +// NewSnapshotClient creates a new instance of SnapshotClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +func NewSnapshotClient(t mockConstructorTestingTNewSnapshotClient) *SnapshotClient { mock := &SnapshotClient{} mock.Mock.Test(t) diff --git a/internal/p2p/mocks/channel.go b/internal/p2p/mocks/channel.go index ebee0c7670..849049467f 100644 --- a/internal/p2p/mocks/channel.go +++ b/internal/p2p/mocks/channel.go @@ -86,12 +86,13 @@ func (_m *Channel) String() string { return r0 } -// NewChannel creates a new instance of Channel. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -// The first argument is typically a *testing.T value. -func NewChannel(t interface { +type mockConstructorTestingTNewChannel interface { mock.TestingT Cleanup(func()) -}) *Channel { +} + +// NewChannel creates a new instance of Channel. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +func NewChannel(t mockConstructorTestingTNewChannel) *Channel { mock := &Channel{} mock.Mock.Test(t) diff --git a/internal/p2p/mocks/connection.go b/internal/p2p/mocks/connection.go index 447bb925ab..3ec653d85a 100644 --- a/internal/p2p/mocks/connection.go +++ b/internal/p2p/mocks/connection.go @@ -159,12 +159,13 @@ func (_m *Connection) String() string { return r0 } -// NewConnection creates a new instance of Connection. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -// The first argument is typically a *testing.T value. -func NewConnection(t interface { +type mockConstructorTestingTNewConnection interface { mock.TestingT Cleanup(func()) -}) *Connection { +} + +// NewConnection creates a new instance of Connection. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +func NewConnection(t mockConstructorTestingTNewConnection) *Connection { mock := &Connection{} mock.Mock.Test(t) diff --git a/internal/p2p/mocks/transport.go b/internal/p2p/mocks/transport.go index 0901d27c84..6d8c647197 100644 --- a/internal/p2p/mocks/transport.go +++ b/internal/p2p/mocks/transport.go @@ -158,12 +158,13 @@ func (_m *Transport) String() string { return r0 } -// NewTransport creates a new instance of Transport. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -// The first argument is typically a *testing.T value. -func NewTransport(t interface { +type mockConstructorTestingTNewTransport interface { mock.TestingT Cleanup(func()) -}) *Transport { +} + +// NewTransport creates a new instance of Transport. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +func NewTransport(t mockConstructorTestingTNewTransport) *Transport { mock := &Transport{} mock.Mock.Test(t) diff --git a/internal/state/indexer/mocks/event_sink.go b/internal/state/indexer/mocks/event_sink.go index 45d3f22c8a..3d6b29cf9d 100644 --- a/internal/state/indexer/mocks/event_sink.go +++ b/internal/state/indexer/mocks/event_sink.go @@ -178,12 +178,13 @@ func (_m *EventSink) Type() indexer.EventSinkType { return r0 } -// NewEventSink creates a new instance of EventSink. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -// The first argument is typically a *testing.T value. -func NewEventSink(t interface { +type mockConstructorTestingTNewEventSink interface { mock.TestingT Cleanup(func()) -}) *EventSink { +} + +// NewEventSink creates a new instance of EventSink. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +func NewEventSink(t mockConstructorTestingTNewEventSink) *EventSink { mock := &EventSink{} mock.Mock.Test(t) diff --git a/internal/state/mocks/block_store.go b/internal/state/mocks/block_store.go index f4a0636d78..bfe2feb53b 100644 --- a/internal/state/mocks/block_store.go +++ b/internal/state/mocks/block_store.go @@ -242,12 +242,13 @@ func (_m *BlockStore) Size() int64 { return r0 } -// NewBlockStore creates a new instance of BlockStore. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -// The first argument is typically a *testing.T value. -func NewBlockStore(t interface { +type mockConstructorTestingTNewBlockStore interface { mock.TestingT Cleanup(func()) -}) *BlockStore { +} + +// NewBlockStore creates a new instance of BlockStore. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +func NewBlockStore(t mockConstructorTestingTNewBlockStore) *BlockStore { mock := &BlockStore{} mock.Mock.Test(t) diff --git a/internal/state/mocks/evidence_pool.go b/internal/state/mocks/evidence_pool.go index 162d1035d3..4b42c8d3fa 100644 --- a/internal/state/mocks/evidence_pool.go +++ b/internal/state/mocks/evidence_pool.go @@ -75,12 +75,13 @@ func (_m *EvidencePool) Update(_a0 context.Context, _a1 state.State, _a2 types.E _m.Called(_a0, _a1, _a2) } -// NewEvidencePool creates a new instance of EvidencePool. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -// The first argument is typically a *testing.T value. -func NewEvidencePool(t interface { +type mockConstructorTestingTNewEvidencePool interface { mock.TestingT Cleanup(func()) -}) *EvidencePool { +} + +// NewEvidencePool creates a new instance of EvidencePool. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +func NewEvidencePool(t mockConstructorTestingTNewEvidencePool) *EvidencePool { mock := &EvidencePool{} mock.Mock.Test(t) diff --git a/internal/state/mocks/executor.go b/internal/state/mocks/executor.go index daa92ee0dc..13c643ad76 100644 --- a/internal/state/mocks/executor.go +++ b/internal/state/mocks/executor.go @@ -168,12 +168,13 @@ func (_m *Executor) VerifyVoteExtension(ctx context.Context, vote *types.Vote) e return r0 } -// NewExecutor creates a new instance of Executor. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -// The first argument is typically a *testing.T value. -func NewExecutor(t interface { +type mockConstructorTestingTNewExecutor interface { mock.TestingT Cleanup(func()) -}) *Executor { +} + +// NewExecutor creates a new instance of Executor. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +func NewExecutor(t mockConstructorTestingTNewExecutor) *Executor { mock := &Executor{} mock.Mock.Test(t) diff --git a/internal/state/mocks/store.go b/internal/state/mocks/store.go index 8f8fc65857..07ade95404 100644 --- a/internal/state/mocks/store.go +++ b/internal/state/mocks/store.go @@ -200,12 +200,13 @@ func (_m *Store) SaveValidatorSets(_a0 int64, _a1 int64, _a2 *types.ValidatorSet return r0 } -// NewStore creates a new instance of Store. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -// The first argument is typically a *testing.T value. -func NewStore(t interface { +type mockConstructorTestingTNewStore interface { mock.TestingT Cleanup(func()) -}) *Store { +} + +// NewStore creates a new instance of Store. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +func NewStore(t mockConstructorTestingTNewStore) *Store { mock := &Store{} mock.Mock.Test(t) diff --git a/internal/statesync/mocks/state_provider.go b/internal/statesync/mocks/state_provider.go index b4301dffcb..765120e166 100644 --- a/internal/statesync/mocks/state_provider.go +++ b/internal/statesync/mocks/state_provider.go @@ -95,12 +95,13 @@ func (_m *StateProvider) State(ctx context.Context, height uint64) (state.State, return r0, r1 } -// NewStateProvider creates a new instance of StateProvider. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -// The first argument is typically a *testing.T value. -func NewStateProvider(t interface { +type mockConstructorTestingTNewStateProvider interface { mock.TestingT Cleanup(func()) -}) *StateProvider { +} + +// NewStateProvider creates a new instance of StateProvider. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +func NewStateProvider(t mockConstructorTestingTNewStateProvider) *StateProvider { mock := &StateProvider{} mock.Mock.Test(t) diff --git a/libs/store/mocks/store.go b/libs/store/mocks/store.go index aa0d3779b8..5cc4d7b266 100644 --- a/libs/store/mocks/store.go +++ b/libs/store/mocks/store.go @@ -142,12 +142,13 @@ func (_m *Store[K, V]) Update(key K, updates ...store.UpdateFunc[K, V]) { _m.Called(_ca...) } -// NewStore creates a new instance of Store. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -// The first argument is typically a *testing.T value. -func NewStore[K comparable, V interface{}](t interface { +type mockConstructorTestingTNewStore interface { mock.TestingT Cleanup(func()) -}) *Store[K, V] { +} + +// NewStore creates a new instance of Store. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +func NewStore[K comparable, V interface{}](t mockConstructorTestingTNewStore) *Store[K, V] { mock := &Store[K, V]{} mock.Mock.Test(t) diff --git a/light/provider/mocks/provider.go b/light/provider/mocks/provider.go index 93042ab3dc..441b189e3e 100644 --- a/light/provider/mocks/provider.go +++ b/light/provider/mocks/provider.go @@ -69,12 +69,13 @@ func (_m *Provider) ReportEvidence(_a0 context.Context, _a1 types.Evidence) erro return r0 } -// NewProvider creates a new instance of Provider. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -// The first argument is typically a *testing.T value. -func NewProvider(t interface { +type mockConstructorTestingTNewProvider interface { mock.TestingT Cleanup(func()) -}) *Provider { +} + +// NewProvider creates a new instance of Provider. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +func NewProvider(t mockConstructorTestingTNewProvider) *Provider { mock := &Provider{} mock.Mock.Test(t) diff --git a/light/rpc/mocks/light_client.go b/light/rpc/mocks/light_client.go index deb22f7d2a..b9038f5ef7 100644 --- a/light/rpc/mocks/light_client.go +++ b/light/rpc/mocks/light_client.go @@ -125,12 +125,13 @@ func (_m *LightClient) VerifyLightBlockAtHeight(ctx context.Context, height int6 return r0, r1 } -// NewLightClient creates a new instance of LightClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -// The first argument is typically a *testing.T value. -func NewLightClient(t interface { +type mockConstructorTestingTNewLightClient interface { mock.TestingT Cleanup(func()) -}) *LightClient { +} + +// NewLightClient creates a new instance of LightClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +func NewLightClient(t mockConstructorTestingTNewLightClient) *LightClient { mock := &LightClient{} mock.Mock.Test(t) diff --git a/rpc/client/mocks/abci_client.go b/rpc/client/mocks/abci_client.go index fc06ed551d..e0bc01f54b 100644 --- a/rpc/client/mocks/abci_client.go +++ b/rpc/client/mocks/abci_client.go @@ -202,12 +202,13 @@ func (_m *ABCIClient) BroadcastTxSync(_a0 context.Context, _a1 types.Tx) (*coret return r0, r1 } -// NewABCIClient creates a new instance of ABCIClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -// The first argument is typically a *testing.T value. -func NewABCIClient(t interface { +type mockConstructorTestingTNewABCIClient interface { mock.TestingT Cleanup(func()) -}) *ABCIClient { +} + +// NewABCIClient creates a new instance of ABCIClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +func NewABCIClient(t mockConstructorTestingTNewABCIClient) *ABCIClient { mock := &ABCIClient{} mock.Mock.Test(t) diff --git a/rpc/client/mocks/client.go b/rpc/client/mocks/client.go index 22533b3666..dc5cab49b4 100644 --- a/rpc/client/mocks/client.go +++ b/rpc/client/mocks/client.go @@ -915,12 +915,13 @@ func (_m *Client) Validators(ctx context.Context, height *int64, page *int, perP return r0, r1 } -// NewClient creates a new instance of Client. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -// The first argument is typically a *testing.T value. -func NewClient(t interface { +type mockConstructorTestingTNewClient interface { mock.TestingT Cleanup(func()) -}) *Client { +} + +// NewClient creates a new instance of Client. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +func NewClient(t mockConstructorTestingTNewClient) *Client { mock := &Client{} mock.Mock.Test(t) diff --git a/rpc/client/mocks/events_client.go b/rpc/client/mocks/events_client.go index 092e7b15e6..994b5de7ba 100644 --- a/rpc/client/mocks/events_client.go +++ b/rpc/client/mocks/events_client.go @@ -40,12 +40,13 @@ func (_m *EventsClient) Events(ctx context.Context, req *coretypes.RequestEvents return r0, r1 } -// NewEventsClient creates a new instance of EventsClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -// The first argument is typically a *testing.T value. -func NewEventsClient(t interface { +type mockConstructorTestingTNewEventsClient interface { mock.TestingT Cleanup(func()) -}) *EventsClient { +} + +// NewEventsClient creates a new instance of EventsClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +func NewEventsClient(t mockConstructorTestingTNewEventsClient) *EventsClient { mock := &EventsClient{} mock.Mock.Test(t) diff --git a/rpc/client/mocks/evidence_client.go b/rpc/client/mocks/evidence_client.go index 1b7817a0f1..9ce339c7af 100644 --- a/rpc/client/mocks/evidence_client.go +++ b/rpc/client/mocks/evidence_client.go @@ -42,12 +42,13 @@ func (_m *EvidenceClient) BroadcastEvidence(_a0 context.Context, _a1 types.Evide return r0, r1 } -// NewEvidenceClient creates a new instance of EvidenceClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -// The first argument is typically a *testing.T value. -func NewEvidenceClient(t interface { +type mockConstructorTestingTNewEvidenceClient interface { mock.TestingT Cleanup(func()) -}) *EvidenceClient { +} + +// NewEvidenceClient creates a new instance of EvidenceClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +func NewEvidenceClient(t mockConstructorTestingTNewEvidenceClient) *EvidenceClient { mock := &EvidenceClient{} mock.Mock.Test(t) diff --git a/rpc/client/mocks/history_client.go b/rpc/client/mocks/history_client.go index 280e1738a1..b71bb98d4a 100644 --- a/rpc/client/mocks/history_client.go +++ b/rpc/client/mocks/history_client.go @@ -92,12 +92,13 @@ func (_m *HistoryClient) GenesisChunked(_a0 context.Context, _a1 uint) (*coretyp return r0, r1 } -// NewHistoryClient creates a new instance of HistoryClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -// The first argument is typically a *testing.T value. -func NewHistoryClient(t interface { +type mockConstructorTestingTNewHistoryClient interface { mock.TestingT Cleanup(func()) -}) *HistoryClient { +} + +// NewHistoryClient creates a new instance of HistoryClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +func NewHistoryClient(t mockConstructorTestingTNewHistoryClient) *HistoryClient { mock := &HistoryClient{} mock.Mock.Test(t) diff --git a/rpc/client/mocks/mempool_client.go b/rpc/client/mocks/mempool_client.go index 66c296e1fd..acc4e8debd 100644 --- a/rpc/client/mocks/mempool_client.go +++ b/rpc/client/mocks/mempool_client.go @@ -108,12 +108,13 @@ func (_m *MempoolClient) UnconfirmedTxs(ctx context.Context, page *int, perPage return r0, r1 } -// NewMempoolClient creates a new instance of MempoolClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -// The first argument is typically a *testing.T value. -func NewMempoolClient(t interface { +type mockConstructorTestingTNewMempoolClient interface { mock.TestingT Cleanup(func()) -}) *MempoolClient { +} + +// NewMempoolClient creates a new instance of MempoolClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +func NewMempoolClient(t mockConstructorTestingTNewMempoolClient) *MempoolClient { mock := &MempoolClient{} mock.Mock.Test(t) diff --git a/rpc/client/mocks/network_client.go b/rpc/client/mocks/network_client.go index f365a8a4c3..a1fdd7a418 100644 --- a/rpc/client/mocks/network_client.go +++ b/rpc/client/mocks/network_client.go @@ -144,12 +144,13 @@ func (_m *NetworkClient) NetInfo(_a0 context.Context) (*coretypes.ResultNetInfo, return r0, r1 } -// NewNetworkClient creates a new instance of NetworkClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -// The first argument is typically a *testing.T value. -func NewNetworkClient(t interface { +type mockConstructorTestingTNewNetworkClient interface { mock.TestingT Cleanup(func()) -}) *NetworkClient { +} + +// NewNetworkClient creates a new instance of NetworkClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +func NewNetworkClient(t mockConstructorTestingTNewNetworkClient) *NetworkClient { mock := &NetworkClient{} mock.Mock.Test(t) diff --git a/rpc/client/mocks/remote_client.go b/rpc/client/mocks/remote_client.go index a09c863c8f..d5b0060fb5 100644 --- a/rpc/client/mocks/remote_client.go +++ b/rpc/client/mocks/remote_client.go @@ -929,12 +929,13 @@ func (_m *RemoteClient) Validators(ctx context.Context, height *int64, page *int return r0, r1 } -// NewRemoteClient creates a new instance of RemoteClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -// The first argument is typically a *testing.T value. -func NewRemoteClient(t interface { +type mockConstructorTestingTNewRemoteClient interface { mock.TestingT Cleanup(func()) -}) *RemoteClient { +} + +// NewRemoteClient creates a new instance of RemoteClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +func NewRemoteClient(t mockConstructorTestingTNewRemoteClient) *RemoteClient { mock := &RemoteClient{} mock.Mock.Test(t) diff --git a/rpc/client/mocks/sign_client.go b/rpc/client/mocks/sign_client.go index 9d312d993d..89011e6996 100644 --- a/rpc/client/mocks/sign_client.go +++ b/rpc/client/mocks/sign_client.go @@ -277,12 +277,13 @@ func (_m *SignClient) Validators(ctx context.Context, height *int64, page *int, return r0, r1 } -// NewSignClient creates a new instance of SignClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -// The first argument is typically a *testing.T value. -func NewSignClient(t interface { +type mockConstructorTestingTNewSignClient interface { mock.TestingT Cleanup(func()) -}) *SignClient { +} + +// NewSignClient creates a new instance of SignClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +func NewSignClient(t mockConstructorTestingTNewSignClient) *SignClient { mock := &SignClient{} mock.Mock.Test(t) diff --git a/rpc/client/mocks/status_client.go b/rpc/client/mocks/status_client.go index 7094efff07..1d91bdee44 100644 --- a/rpc/client/mocks/status_client.go +++ b/rpc/client/mocks/status_client.go @@ -40,12 +40,13 @@ func (_m *StatusClient) Status(_a0 context.Context) (*coretypes.ResultStatus, er return r0, r1 } -// NewStatusClient creates a new instance of StatusClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -// The first argument is typically a *testing.T value. -func NewStatusClient(t interface { +type mockConstructorTestingTNewStatusClient interface { mock.TestingT Cleanup(func()) -}) *StatusClient { +} + +// NewStatusClient creates a new instance of StatusClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +func NewStatusClient(t mockConstructorTestingTNewStatusClient) *StatusClient { mock := &StatusClient{} mock.Mock.Test(t) diff --git a/rpc/client/mocks/subscription_client.go b/rpc/client/mocks/subscription_client.go index 512da36df5..585dc438b0 100644 --- a/rpc/client/mocks/subscription_client.go +++ b/rpc/client/mocks/subscription_client.go @@ -75,12 +75,13 @@ func (_m *SubscriptionClient) UnsubscribeAll(ctx context.Context, subscriber str return r0 } -// NewSubscriptionClient creates a new instance of SubscriptionClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -// The first argument is typically a *testing.T value. -func NewSubscriptionClient(t interface { +type mockConstructorTestingTNewSubscriptionClient interface { mock.TestingT Cleanup(func()) -}) *SubscriptionClient { +} + +// NewSubscriptionClient creates a new instance of SubscriptionClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +func NewSubscriptionClient(t mockConstructorTestingTNewSubscriptionClient) *SubscriptionClient { mock := &SubscriptionClient{} mock.Mock.Test(t) diff --git a/types/mocks/block_event_publisher.go b/types/mocks/block_event_publisher.go index 8cd1f3d266..aa6dc6274f 100644 --- a/types/mocks/block_event_publisher.go +++ b/types/mocks/block_event_publisher.go @@ -82,12 +82,13 @@ func (_m *BlockEventPublisher) PublishEventValidatorSetUpdates(_a0 types.EventDa return r0 } -// NewBlockEventPublisher creates a new instance of BlockEventPublisher. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -// The first argument is typically a *testing.T value. -func NewBlockEventPublisher(t interface { +type mockConstructorTestingTNewBlockEventPublisher interface { mock.TestingT Cleanup(func()) -}) *BlockEventPublisher { +} + +// NewBlockEventPublisher creates a new instance of BlockEventPublisher. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +func NewBlockEventPublisher(t mockConstructorTestingTNewBlockEventPublisher) *BlockEventPublisher { mock := &BlockEventPublisher{} mock.Mock.Test(t) diff --git a/types/mocks/priv_validator.go b/types/mocks/priv_validator.go index 9f75bf3771..1b3337cab3 100644 --- a/types/mocks/priv_validator.go +++ b/types/mocks/priv_validator.go @@ -239,12 +239,13 @@ func (_m *PrivValidator) UpdatePrivateKey(ctx context.Context, privateKey crypto _m.Called(ctx, privateKey, quorumHash, thresholdPublicKey, height) } -// NewPrivValidator creates a new instance of PrivValidator. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -// The first argument is typically a *testing.T value. -func NewPrivValidator(t interface { +type mockConstructorTestingTNewPrivValidator interface { mock.TestingT Cleanup(func()) -}) *PrivValidator { +} + +// NewPrivValidator creates a new instance of PrivValidator. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +func NewPrivValidator(t mockConstructorTestingTNewPrivValidator) *PrivValidator { mock := &PrivValidator{} mock.Mock.Test(t) From 0c9e74486c9aed285347085ccf6ce8c6b5bd442d Mon Sep 17 00:00:00 2001 From: Lukasz Klimek <842586+lklimek@users.noreply.github.com> Date: Wed, 13 Sep 2023 11:29:05 +0200 Subject: [PATCH 18/19] build: regenerate mocks --- .github/workflows/check-generated.yml | 2 +- abci/client/mocks/client.go | 9 +- abci/types/mocks/application.go | 9 +- dash/core/mocks/client.go | 9 +- go.mod | 56 +++++---- go.sum | 122 ++++++++++--------- internal/consensus/mocks/gossiper.go | 9 +- internal/evidence/mocks/block_store.go | 9 +- internal/mempool/mocks/mempool.go | 9 +- internal/p2p/client/mocks/block_client.go | 9 +- internal/p2p/client/mocks/snapshot_client.go | 9 +- internal/p2p/mocks/channel.go | 9 +- internal/p2p/mocks/connection.go | 9 +- internal/p2p/mocks/transport.go | 9 +- internal/state/indexer/mocks/event_sink.go | 9 +- internal/state/mocks/block_store.go | 9 +- internal/state/mocks/evidence_pool.go | 9 +- internal/state/mocks/executor.go | 9 +- internal/state/mocks/store.go | 9 +- internal/statesync/mocks/state_provider.go | 9 +- libs/store/mocks/store.go | 9 +- light/provider/mocks/provider.go | 9 +- light/rpc/mocks/light_client.go | 9 +- rpc/client/mocks/abci_client.go | 9 +- rpc/client/mocks/client.go | 9 +- rpc/client/mocks/events_client.go | 9 +- rpc/client/mocks/evidence_client.go | 9 +- rpc/client/mocks/history_client.go | 9 +- rpc/client/mocks/mempool_client.go | 9 +- rpc/client/mocks/network_client.go | 9 +- rpc/client/mocks/remote_client.go | 9 +- rpc/client/mocks/sign_client.go | 9 +- rpc/client/mocks/status_client.go | 9 +- rpc/client/mocks/subscription_client.go | 9 +- scripts/mockery_generate.sh | 9 +- types/mocks/block_event_publisher.go | 9 +- types/mocks/priv_validator.go | 9 +- 37 files changed, 234 insertions(+), 252 deletions(-) diff --git a/.github/workflows/check-generated.yml b/.github/workflows/check-generated.yml index eba1fcf76f..d5523b6f9d 100644 --- a/.github/workflows/check-generated.yml +++ b/.github/workflows/check-generated.yml @@ -31,7 +31,7 @@ jobs: run: | set -euo pipefail - readonly MOCKERY=2.32.0 # N.B. no leading "v" + readonly MOCKERY=2.33.2 # N.B. no leading "v" curl -sL "https://github.com/vektra/mockery/releases/download/v${MOCKERY}/mockery_${MOCKERY}_Linux_x86_64.tar.gz" | tar -C /usr/local/bin -xzf - make mockery 2>/dev/null diff --git a/abci/client/mocks/client.go b/abci/client/mocks/client.go index e5a6e144ea..984e97ef7e 100644 --- a/abci/client/mocks/client.go +++ b/abci/client/mocks/client.go @@ -439,13 +439,12 @@ func (_m *Client) Wait() { _m.Called() } -type mockConstructorTestingTNewClient interface { +// NewClient creates a new instance of Client. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewClient(t interface { mock.TestingT Cleanup(func()) -} - -// NewClient creates a new instance of Client. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewClient(t mockConstructorTestingTNewClient) *Client { +}) *Client { mock := &Client{} mock.Mock.Test(t) diff --git a/abci/types/mocks/application.go b/abci/types/mocks/application.go index 9bb1424d86..e7767821d9 100644 --- a/abci/types/mocks/application.go +++ b/abci/types/mocks/application.go @@ -352,13 +352,12 @@ func (_m *Application) VerifyVoteExtension(_a0 context.Context, _a1 *types.Reque return r0, r1 } -type mockConstructorTestingTNewApplication interface { +// NewApplication creates a new instance of Application. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewApplication(t interface { mock.TestingT Cleanup(func()) -} - -// NewApplication creates a new instance of Application. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewApplication(t mockConstructorTestingTNewApplication) *Application { +}) *Application { mock := &Application{} mock.Mock.Test(t) diff --git a/dash/core/mocks/client.go b/dash/core/mocks/client.go index 01d738a3db..8f5b8e7ba6 100644 --- a/dash/core/mocks/client.go +++ b/dash/core/mocks/client.go @@ -196,13 +196,12 @@ func (_m *Client) QuorumVerify(quorumType btcjson.LLMQType, requestID bytes.HexB return r0, r1 } -type mockConstructorTestingTNewClient interface { +// NewClient creates a new instance of Client. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewClient(t interface { mock.TestingT Cleanup(func()) -} - -// NewClient creates a new instance of Client. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewClient(t mockConstructorTestingTNewClient) *Client { +}) *Client { mock := &Client{} mock.Mock.Test(t) diff --git a/go.mod b/go.mod index d891bcb7de..e74beaf565 100644 --- a/go.mod +++ b/go.mod @@ -33,16 +33,16 @@ require ( github.com/ory/dockertest v3.3.5+incompatible github.com/prometheus/client_golang v1.13.0 github.com/rs/cors v1.8.2 - github.com/rs/zerolog v1.27.0 + github.com/rs/zerolog v1.29.0 github.com/snikch/goodman v0.0.0-20171125024755-10e37e294daa - github.com/spf13/cobra v1.5.0 - github.com/spf13/viper v1.13.0 - github.com/stretchr/testify v1.8.0 + github.com/spf13/cobra v1.6.1 + github.com/spf13/viper v1.15.0 + github.com/stretchr/testify v1.8.2 github.com/tendermint/tm-db v0.6.6 golang.org/x/crypto v0.1.0 - golang.org/x/net v0.1.0 - golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 - google.golang.org/grpc v1.49.0 + golang.org/x/net v0.8.0 + golang.org/x/sync v0.1.0 + google.golang.org/grpc v1.52.0 pgregory.net/rapid v0.4.8 ) @@ -51,8 +51,8 @@ require ( github.com/creachadair/atomicfile v0.2.6 github.com/creachadair/taskgroup v0.3.2 github.com/go-pkgz/jrpc v0.2.0 - github.com/google/go-cmp v0.5.8 - github.com/vektra/mockery/v2 v2.14.0 + github.com/google/go-cmp v0.5.9 + github.com/vektra/mockery/v2 v2.33.2 gotest.tools v2.2.0+incompatible ) @@ -61,6 +61,7 @@ require ( github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd // indirect github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792 // indirect github.com/bufbuild/connect-go v0.2.0 // indirect + github.com/chigopher/pathlib v0.15.0 // indirect github.com/containerd/containerd v1.6.6 // indirect github.com/containerd/typeurl v1.0.2 // indirect github.com/dashpay/dashd-go/btcutil v1.2.0 // indirect @@ -76,10 +77,12 @@ require ( github.com/go-pkgz/expirable-cache v0.0.3 // indirect github.com/go-pkgz/rest v1.5.0 // indirect github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b // indirect + github.com/iancoleman/strcase v0.2.0 // indirect + github.com/jinzhu/copier v0.3.5 // indirect github.com/moby/buildkit v0.10.3 // indirect github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6 // indirect github.com/morikuni/aec v1.0.0 // indirect - github.com/pelletier/go-toml/v2 v2.0.5 // indirect + github.com/pelletier/go-toml/v2 v2.0.6 // indirect github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 // indirect github.com/sashamelentyev/usestdlibvars v1.8.0 // indirect github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c // indirect @@ -87,8 +90,8 @@ require ( go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.33.0 // indirect go.opentelemetry.io/otel v1.8.0 // indirect go.opentelemetry.io/otel/trace v1.8.0 // indirect - golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac // indirect - google.golang.org/genproto v0.0.0-20220725144611-272f38e5d71b // indirect + golang.org/x/time v0.1.0 // indirect + google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef // indirect ) require ( @@ -134,7 +137,7 @@ require ( github.com/fatih/color v1.13.0 // indirect github.com/fatih/structtag v1.2.0 // indirect github.com/firefart/nonamedreturns v1.0.4 // indirect - github.com/fsnotify/fsnotify v1.5.4 // indirect + github.com/fsnotify/fsnotify v1.6.0 // indirect github.com/fzipp/gocyclo v0.6.0 // indirect github.com/go-critic/go-critic v0.6.3 // indirect github.com/go-toolsmith/astcast v1.0.0 // indirect @@ -168,7 +171,7 @@ require ( github.com/hashicorp/go-version v1.6.0 // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/hexops/gotextdiff v1.0.3 // indirect - github.com/inconshreveable/mousetrap v1.0.0 // indirect + github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/jdxcode/netrc v0.0.0-20210204082910-926c7f70242a // indirect github.com/jgautheron/goconst v1.5.1 // indirect github.com/jhump/protocompile v0.0.0-20220216033700-d705409f108f // indirect @@ -188,11 +191,11 @@ require ( github.com/ldez/tagliatelle v0.3.1 // indirect github.com/leonklingele/grouper v1.1.0 // indirect github.com/lufeee/execinquery v1.2.1 // indirect - github.com/magiconair/properties v1.8.6 // indirect + github.com/magiconair/properties v1.8.7 // indirect github.com/maratori/testpackage v1.1.0 // indirect github.com/matoous/godox v0.0.0-20210227103229-6504466cf951 // indirect - github.com/mattn/go-colorable v0.1.12 // indirect - github.com/mattn/go-isatty v0.0.16 // indirect + github.com/mattn/go-colorable v0.1.13 // indirect + github.com/mattn/go-isatty v0.0.17 // indirect github.com/mattn/go-runewidth v0.0.9 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect github.com/mbilski/exhaustivestruct v1.2.0 // indirect @@ -208,7 +211,6 @@ require ( github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opencontainers/image-spec v1.0.3-0.20211202183452-c5a74bcca799 // indirect github.com/opencontainers/runc v1.1.3 // indirect - github.com/pelletier/go-toml v1.9.5 // indirect github.com/phayes/checkstyle v0.0.0-20170904204023-bfd46e6a821d // indirect github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 // indirect github.com/pkg/errors v0.9.1 // indirect @@ -234,14 +236,14 @@ require ( github.com/sivchari/tenv v1.7.0 // indirect github.com/sonatard/noctx v0.0.1 // indirect github.com/sourcegraph/go-diff v0.6.1 // indirect - github.com/spf13/afero v1.8.2 // indirect + github.com/spf13/afero v1.9.3 // indirect github.com/spf13/cast v1.5.0 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/ssgreg/nlreturn/v2 v2.2.1 // indirect github.com/stbenjam/no-sprintf-host-port v0.1.1 // indirect - github.com/stretchr/objx v0.4.0 // indirect - github.com/subosito/gotenv v1.4.1 // indirect + github.com/stretchr/objx v0.5.0 // indirect + github.com/subosito/gotenv v1.4.2 // indirect github.com/sylvia7788/contextcheck v1.0.4 // indirect github.com/tdakkota/asciicheck v0.1.1 // indirect github.com/tetafro/godot v1.4.11 // indirect @@ -256,16 +258,16 @@ require ( github.com/yeya24/promlinter v0.2.0 // indirect gitlab.com/bosi/decorder v0.2.3 // indirect go.etcd.io/bbolt v1.3.6 // indirect - go.opencensus.io v0.23.0 // indirect + go.opencensus.io v0.24.0 // indirect go.uber.org/atomic v1.10.0 // indirect go.uber.org/multierr v1.8.0 // indirect go.uber.org/zap v1.23.0 // indirect golang.org/x/exp/typeparams v0.0.0-20220613132600-b0d781184e0d // indirect - golang.org/x/mod v0.6.0 // indirect - golang.org/x/sys v0.1.0 // indirect - golang.org/x/term v0.1.0 - golang.org/x/text v0.4.0 // indirect - golang.org/x/tools v0.2.0 // indirect + golang.org/x/mod v0.9.0 // indirect + golang.org/x/sys v0.6.0 // indirect + golang.org/x/term v0.6.0 + golang.org/x/text v0.8.0 // indirect + golang.org/x/tools v0.7.0 // indirect google.golang.org/protobuf v1.28.1 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/go.sum b/go.sum index 4e872e11d9..535782197a 100644 --- a/go.sum +++ b/go.sum @@ -21,14 +21,15 @@ cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHOb cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= -cloud.google.com/go v0.100.2 h1:t9Iw5QH5v4XtlEQaCtUY7x6sCABps8sW0acw7e2WQ6Y= +cloud.google.com/go v0.105.0 h1:DNtEKRBAAzeS4KyIory52wWHuClNaXJ5x1F7xa4q+5Y= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/compute v1.6.1 h1:2sMmt8prCn7DPaG4Pmh0N3Inmc8cT8ae5k1M6VJ9Wqc= +cloud.google.com/go/compute v1.14.0 h1:hfm2+FfxVmnRlh6LpB7cg1ZNU+5edAHmW679JePztk0= +cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= @@ -153,6 +154,8 @@ github.com/charithe/durationcheck v0.0.9/go.mod h1:SSbRIBVfMjCi/kEB6K65XEA83D6pr github.com/chavacava/garif v0.0.0-20220316182200-5cad0b5181d4 h1:tFXjAxje9thrTF4h57Ckik+scJjTWdwAtZqZPtOT48M= github.com/chavacava/garif v0.0.0-20220316182200-5cad0b5181d4/go.mod h1:W8EnPSQ8Nv4fUjc/v1/8tHFqhuOJXnRub0dTfuAQktU= github.com/checkpoint-restore/go-criu/v5 v5.3.0/go.mod h1:E/eQpaFtUKGOOSEBZgmKAcn+zUUwWxqcaKZlF54wK8E= +github.com/chigopher/pathlib v0.15.0 h1:1pg96WL3iC1/YyWV4UJSl3E0GBf4B+h5amBtsbAAieY= +github.com/chigopher/pathlib v0.15.0/go.mod h1:3+YPPV21mU9vyw8Mjp+F33CyCfE6iOzinpiqBcccv7I= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= @@ -272,11 +275,11 @@ github.com/firefart/nonamedreturns v1.0.4/go.mod h1:TDhe/tjI1BXo48CmYbUduTV7BdIg github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= -github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE= +github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= -github.com/fsnotify/fsnotify v1.5.4 h1:jRbGcIw6P2Meqdwuo0H1p6JVLbL5DHKAKlYndzMwVZI= -github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= +github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= +github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= github.com/fullstorydev/grpcurl v1.6.0/go.mod h1:ZQ+ayqbKMJNhzLmbpCiurTVlaK2M/3nqZCxaQ2Ze/sM= github.com/fxamacker/cbor/v2 v2.4.0 h1:ri0ArlOR+5XunOP8CRUowT0pSJOwhW098ZCUyskZD88= github.com/fxamacker/cbor/v2 v2.4.0/go.mod h1:TA1xS00nchWmaBnEIxPSE5oHLuJBAVvqrtAnWBwBCVo= @@ -432,8 +435,8 @@ github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg= -github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= +github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= @@ -522,13 +525,17 @@ github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSo github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/huandu/xstrings v1.0.0/go.mod h1:4qWG/gcEcfX4z/mBDHJ++3ReCw9ibxbsNJbcucJdbSo= github.com/huandu/xstrings v1.2.0/go.mod h1:DvyZB1rfVYsBIigL8HwpZgxHwXozlTgGqn63UyNX5k4= +github.com/iancoleman/strcase v0.2.0 h1:05I4QRnGpI0m37iZQRuskXh+w77mr6Z41lwQzuHLwW0= +github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/imdario/mergo v0.3.4/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= github.com/imdario/mergo v0.3.13 h1:lFzP57bqS/wsqKssCGmtLAb8A0wKjLGrve2q3PPVcBk= -github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= +github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= +github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/jdxcode/netrc v0.0.0-20210204082910-926c7f70242a h1:d4+I1YEKVmWZrgkt6jpXBnLgV2ZjO0YxEtLDdfIZfH4= github.com/jdxcode/netrc v0.0.0-20210204082910-926c7f70242a/go.mod h1:Zi/ZFkEqFHTm7qkjyNJjaWH4LQA9LQhGJyF0lTYGpxw= github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= @@ -545,6 +552,8 @@ github.com/jhump/protoreflect v1.12.1-0.20220721211354-060cc04fc18b h1:izTof8BKh github.com/jhump/protoreflect v1.12.1-0.20220721211354-060cc04fc18b/go.mod h1:JytZfP5d0r8pVNLZvai7U/MCuTWITgrI4tTg7puQFKI= github.com/jingyugao/rowserrcheck v1.1.1 h1:zibz55j/MJtLsjP1OF4bSdgXxwL1b+Vn7Tjzq7gFzUs= github.com/jingyugao/rowserrcheck v1.1.1/go.mod h1:4yvlZSDb3IyDTUZJUmpZfm2Hwok+Dtp+nu2qOq+er9c= +github.com/jinzhu/copier v0.3.5 h1:GlvfUwHk62RokgqVNvYsku0TATCF7bAHVwEXoBh3iJg= +github.com/jinzhu/copier v0.3.5/go.mod h1:DfbEm0FYsaqBcKcFuvmOZb218JkPGtvSHsKg8S8hyyg= github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af h1:KA9BjwUk7KlCh6S9EAGWBt1oExIUv9WyNCiRz5amv48= github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af/go.mod h1:HEWGJkRDzjJY2sqdDwxccsGicWEf9BQOZsq2tV+xzM0= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= @@ -620,8 +629,8 @@ github.com/libp2p/go-buffer-pool v0.1.0/go.mod h1:N+vh8gMqimBzdKkSMVuydVDq+UV5QT github.com/lufeee/execinquery v1.2.1 h1:hf0Ems4SHcUGBxpGN7Jz78z1ppVkP/837ZlETPCEtOM= github.com/lufeee/execinquery v1.2.1/go.mod h1:EC7DrEKView09ocscGHC+apXMIaorh4xqSxS/dy8SbM= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= -github.com/magiconair/properties v1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo= -github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= +github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= +github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= github.com/maratori/testpackage v1.1.0 h1:GJY4wlzQhuBusMF1oahQCBtUV/AQ/k69IZ68vxaac2Q= github.com/maratori/testpackage v1.1.0/go.mod h1:PeAhzU8qkCwdGEMTEupsHJNlQu2gZopMC6RjbhmHeDc= github.com/matoous/godox v0.0.0-20210227103229-6504466cf951 h1:pWxk9e//NbPwfxat7RXkts09K+dEBJWakUWwICVqYbA= @@ -632,15 +641,17 @@ github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaO github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-colorable v0.1.12 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40= github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= +github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= +github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= -github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/mattn/go-isatty v0.0.17 h1:BTarxUcIeDqL27Mc+vyvdWYSL28zpIhv3RoTdsLMPng= +github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.6/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= @@ -749,10 +760,8 @@ github.com/otiai10/curr v1.0.0/go.mod h1:LskTG5wDwr8Rs+nNQ+1LlxRjAtTZZjtJW4rMXl6 github.com/otiai10/mint v1.3.0/go.mod h1:F5AjcsTsWUqX+Na9fpHb52P8pcRX2CI6A3ctIT91xUo= github.com/otiai10/mint v1.3.1/go.mod h1:/yxELlJQ0ufhjUwhshSj+wFjZ78CnZ48/1wtmBH1OTc= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= -github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8= -github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= -github.com/pelletier/go-toml/v2 v2.0.5 h1:ipoSadvV8oGUjnUbMub59IDPPwfxF694nG/jwbMiyQg= -github.com/pelletier/go-toml/v2 v2.0.5/go.mod h1:OMHamSCAODeSsVrwwvcJOaoN0LIUIaFVNZzmWyNfXas= +github.com/pelletier/go-toml/v2 v2.0.6 h1:nrzqCb7j9cDFj2coyLNLaZuJTLjWjlaz6nvTvIwycIU= +github.com/pelletier/go-toml/v2 v2.0.6/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek= github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 h1:q2e307iGHPdTGp0hoxKjt1H5pDo6utceo3dQVK3I5XQ= github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5/go.mod h1:jvVRKCrJTQWu0XVbaOlby/2lO20uSCHEMzzplHXte1o= @@ -819,9 +828,9 @@ github.com/rogpeppe/go-internal v1.8.1 h1:geMPLpDpQOgVyCg5z5GoRwLHepNdb71NXb67XF github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= github.com/rs/cors v1.8.2 h1:KCooALfAYGs415Cwu5ABvv9n9509fSiG5SQJn/AQo4U= github.com/rs/cors v1.8.2/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= -github.com/rs/xid v1.3.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= -github.com/rs/zerolog v1.27.0 h1:1T7qCieN22GVc8S4Q2yuexzBb1EqjbgjSH9RohbMjKs= -github.com/rs/zerolog v1.27.0/go.mod h1:7frBqO0oezxmnO7GF86FY++uy8I0Tk/If5ni1G9Qc0U= +github.com/rs/xid v1.4.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= +github.com/rs/zerolog v1.29.0 h1:Zes4hju04hjbvkVkOhdl2HpZa+0PmVwigmo8XoORE5w= +github.com/rs/zerolog v1.29.0/go.mod h1:NILgTygv/Uej1ra5XxGf82ZFSLk58MFGAUS2o6usyD0= github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= @@ -869,15 +878,15 @@ github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasO github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= -github.com/spf13/afero v1.8.2 h1:xehSyVa0YnHWsJ49JFljMpg1HX19V6NDZ1fkm1Xznbo= -github.com/spf13/afero v1.8.2/go.mod h1:CtAatgMJh6bJEIs48Ay/FOnkljP3WeGUG0MC1RfAqwo= +github.com/spf13/afero v1.9.3 h1:41FoI0fD7OR7mGcKE/aOiLkGreyf8ifIOQmJANWogMk= +github.com/spf13/afero v1.9.3/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= -github.com/spf13/cobra v1.5.0 h1:X+jTBEBqF0bHN+9cSMgmfuvv2VHJ9ezmFNf9Y/XstYU= -github.com/spf13/cobra v1.5.0/go.mod h1:dWXEIy2H428czQCjInthrTRUg7yKbok+2Qi/yBIJoUM= +github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA= +github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= @@ -886,16 +895,17 @@ github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnIn github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= -github.com/spf13/viper v1.13.0 h1:BWSJ/M+f+3nmdz9bxB+bWX28kkALN2ok11D0rSo8EJU= -github.com/spf13/viper v1.13.0/go.mod h1:Icm2xNL3/8uyh/wFuB1jI7TiTNKp8632Nwegu+zgdYw= +github.com/spf13/viper v1.15.0 h1:js3yy885G8xwJa6iOISGFwd+qlUo5AvyXb7CiihdtiU= +github.com/spf13/viper v1.15.0/go.mod h1:fFcTBJxvhhzSJiZy8n+PeW6t8l+KeT/uTARa0jHOQLA= github.com/ssgreg/nlreturn/v2 v2.2.1 h1:X4XDI7jstt3ySqGU86YGAURbxw3oTDPK9sPEi6YEwQ0= github.com/ssgreg/nlreturn/v2 v2.2.1/go.mod h1:E/iiPB78hV7Szg2YfRgyIrk1AD6JVMTRkkxBiELzh2I= github.com/stbenjam/no-sprintf-host-port v0.1.1 h1:tYugd/yrm1O0dV+ThCbaKZh195Dfm07ysF0U6JQXczc= github.com/stbenjam/no-sprintf-host-port v0.1.1/go.mod h1:TLhvtIvONRzdmkFiio4O8LHsN9N74I+PhRquPsxpL0I= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0 h1:M2gUjqZET1qApGOWNSnZ49BAIMX4F/1plDv3+l31EJ4= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/testify v0.0.0-20170130113145-4d4bfba8f1d1/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.1.4/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= @@ -906,10 +916,12 @@ github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= -github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/subosito/gotenv v1.4.1 h1:jyEFiXpy21Wm81FBN71l9VoMMV8H8jG+qIK3GCpY6Qs= -github.com/subosito/gotenv v1.4.1/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= +github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8= +github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8= +github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= github.com/sylvia7788/contextcheck v1.0.4 h1:MsiVqROAdr0efZc/fOCt0c235qm9XJqHtWwM+2h2B04= github.com/sylvia7788/contextcheck v1.0.4/go.mod h1:vuPKJMQ7MQ91ZTqfdyreNKwZjyUg6KO+IebVyQDedZQ= github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= @@ -952,8 +964,8 @@ github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijb github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= github.com/uudashr/gocognit v1.0.6 h1:2Cgi6MweCsdB6kpcVQp7EW4U23iBFQWfTXiWlyp842Y= github.com/uudashr/gocognit v1.0.6/go.mod h1:nAIUuVBnYU7pcninia3BHOvQkpQCeO76Uscky5BOwcY= -github.com/vektra/mockery/v2 v2.14.0 h1:KZ1p5Hrn8tiY+LErRMr14HHle6khxo+JKOXLBW/yfqs= -github.com/vektra/mockery/v2 v2.14.0/go.mod h1:bnD1T8tExSgPD1ripLkDbr60JA9VtQeu12P3wgLZd7M= +github.com/vektra/mockery/v2 v2.33.2 h1:znIUwQ3FxnA5jvPy8irYBoiIqMZhuOJhoPOJYNoTJqU= +github.com/vektra/mockery/v2 v2.33.2/go.mod h1:9lREs4VEeQiUS3rizYQx1saxHu2JiIhThP0q9+fDegM= github.com/viki-org/dnscache v0.0.0-20130720023526-c70c1f23c5d8/go.mod h1:dniwbG03GafCjFohMDmz6Zc6oCuiqgH6tGNyXTkHzXE= github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE= github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df/go.mod h1:JP3t17pCcGlemwknint6hfoeCVQrEMVwxRLRjXpq+BU= @@ -992,8 +1004,8 @@ go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= -go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= -go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= +go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= +go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.33.0 h1:z6rnla1Asjzn0FrhohzIbDi4bxbtc6EMmQ7f5ZPn+pA= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.33.0/go.mod h1:y/SlJpJQPd2UzfBCj0E9Flk9FDCtTyqUmaCB41qFrWI= go.opentelemetry.io/otel v1.8.0 h1:zcvBFizPbpa1q7FehvFiHbQwGzmPILebO0tyqIR5Djg= @@ -1078,8 +1090,8 @@ golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.6.0 h1:b9gGHsz9/HhJ3HF5DHQytPpuwocVTChQJK3AvoLRD5I= -golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI= +golang.org/x/mod v0.9.0 h1:KENHtAZL2y3NLMYZeHY9DW8HW8V+kQyJsY/V9JlKvCs= +golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1129,8 +1141,8 @@ golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.1.0 h1:hZ/3BUoy5aId7sCpA/Tc5lt8DkFgdVS2onTpJsZ/fl0= -golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= +golang.org/x/net v0.8.0 h1:Zrh2ngAOFYneWTAIAPethzeaQLuHwhuBkuV6ZiRnUaQ= +golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1142,7 +1154,7 @@ golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5 h1:OSnWWcOd/CtWQC2cYSBgbTSJv3ciqd8r54ySIW2y3RE= +golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783 h1:nt+Q6cXKz4MosCSpnbMtqiQ8Oz0pxTef2B4Vca2lvfk= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1155,8 +1167,8 @@ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 h1:uVc8UZUe6tr40fFVnUP5Oj+veunVezqYl9z7DYw9xzw= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1235,17 +1247,17 @@ golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220319134239-a9b59b0215f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220702020025-31831981b65f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.1.0 h1:kunALQeHf1/185U1i0GOB/fy1IPRDDpuoOOqRReG57U= -golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.1.0 h1:g6Z6vPFA9dYBAF7DWcH6sCcOntplXsDKcliusYijMlw= -golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.6.0 h1:clScbb1cHjoCkyRbWwBEUZ5H/tIFu5TAXIqaZD0Gcjw= +golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1254,15 +1266,15 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.4.0 h1:BrVqGRd7+k1DiOgtnFvAkoQEWQvBc25ouMJM6429SFg= -golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.8.0 h1:57P1ETyNKtuIjB4SRd15iJxuhj8Gc416Y78H3qgMh68= +golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac h1:7zkz7BUtwNFFqcowJ+RIgu2MaV/MapERkDIy+mwPyjs= -golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.1.0 h1:xYY+Bajn2a7VBmTM5GikTmnK8ZuX8YgnQCqZpbBNtmA= +golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -1355,8 +1367,8 @@ golang.org/x/tools v0.1.9-0.20211228192929-ee1ca4ffc4da/go.mod h1:nABZi5QlRsZVlz golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= golang.org/x/tools v0.1.11/go.mod h1:SgwaegtQh8clINPpECJMqnxLv9I09HLqnW3RMqW0CA4= -golang.org/x/tools v0.2.0 h1:G6AHpWxTMGY1KyEYoAQ5WTtIekUUvDNjan3ugu60JvE= -golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA= +golang.org/x/tools v0.7.0 h1:W4OVu8VVOaIO0yzWMNdepAulS7YfoS3Zabrm8DOXXU4= +golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -1434,8 +1446,8 @@ google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20220725144611-272f38e5d71b h1:SfSkJugek6xm7lWywqth4r2iTrYLpD8lOj1nMIIhMNM= -google.golang.org/genproto v0.0.0-20220725144611-272f38e5d71b/go.mod h1:iHe1svFLAZg9VWz891+QbRMwUv9O/1Ww+/mngYeThbc= +google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef h1:uQ2vjV/sHTsWSqdKeLqmwitzgvjMl7o4IdtHwUDXSJY= +google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/grpc v1.8.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= @@ -1460,8 +1472,8 @@ google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAG google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= -google.golang.org/grpc v1.49.0 h1:WTLtQzmQori5FUH25Pq4WT22oCsv8USpQ+F6rqtsmxw= -google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= +google.golang.org/grpc v1.52.0 h1:kd48UiU7EHsV4rnLyOJRuP/Il/UHE7gdDAQ+SZI7nZk= +google.golang.org/grpc v1.52.0/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= diff --git a/internal/consensus/mocks/gossiper.go b/internal/consensus/mocks/gossiper.go index 9678d5b5c6..b2f91225a9 100644 --- a/internal/consensus/mocks/gossiper.go +++ b/internal/consensus/mocks/gossiper.go @@ -44,13 +44,12 @@ func (_m *Gossiper) GossipVoteSetMaj23(ctx context.Context, rs types.RoundState, _m.Called(ctx, rs, prs) } -type mockConstructorTestingTNewGossiper interface { +// NewGossiper creates a new instance of Gossiper. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewGossiper(t interface { mock.TestingT Cleanup(func()) -} - -// NewGossiper creates a new instance of Gossiper. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewGossiper(t mockConstructorTestingTNewGossiper) *Gossiper { +}) *Gossiper { mock := &Gossiper{} mock.Mock.Test(t) diff --git a/internal/evidence/mocks/block_store.go b/internal/evidence/mocks/block_store.go index 11b987fc56..344c2f7992 100644 --- a/internal/evidence/mocks/block_store.go +++ b/internal/evidence/mocks/block_store.go @@ -58,13 +58,12 @@ func (_m *BlockStore) LoadBlockMeta(height int64) *types.BlockMeta { return r0 } -type mockConstructorTestingTNewBlockStore interface { +// NewBlockStore creates a new instance of BlockStore. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewBlockStore(t interface { mock.TestingT Cleanup(func()) -} - -// NewBlockStore creates a new instance of BlockStore. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewBlockStore(t mockConstructorTestingTNewBlockStore) *BlockStore { +}) *BlockStore { mock := &BlockStore{} mock.Mock.Test(t) diff --git a/internal/mempool/mocks/mempool.go b/internal/mempool/mocks/mempool.go index c11b277dd4..890e3d7b41 100644 --- a/internal/mempool/mocks/mempool.go +++ b/internal/mempool/mocks/mempool.go @@ -171,13 +171,12 @@ func (_m *Mempool) Update(ctx context.Context, blockHeight int64, blockTxs types return r0 } -type mockConstructorTestingTNewMempool interface { +// NewMempool creates a new instance of Mempool. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewMempool(t interface { mock.TestingT Cleanup(func()) -} - -// NewMempool creates a new instance of Mempool. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewMempool(t mockConstructorTestingTNewMempool) *Mempool { +}) *Mempool { mock := &Mempool{} mock.Mock.Test(t) diff --git a/internal/p2p/client/mocks/block_client.go b/internal/p2p/client/mocks/block_client.go index d1c938434c..b094d38ccb 100644 --- a/internal/p2p/client/mocks/block_client.go +++ b/internal/p2p/client/mocks/block_client.go @@ -73,13 +73,12 @@ func (_m *BlockClient) Send(ctx context.Context, msg interface{}) error { return r0 } -type mockConstructorTestingTNewBlockClient interface { +// NewBlockClient creates a new instance of BlockClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewBlockClient(t interface { mock.TestingT Cleanup(func()) -} - -// NewBlockClient creates a new instance of BlockClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewBlockClient(t mockConstructorTestingTNewBlockClient) *BlockClient { +}) *BlockClient { mock := &BlockClient{} mock.Mock.Test(t) diff --git a/internal/p2p/client/mocks/snapshot_client.go b/internal/p2p/client/mocks/snapshot_client.go index 81996d5048..e2eb8d643d 100644 --- a/internal/p2p/client/mocks/snapshot_client.go +++ b/internal/p2p/client/mocks/snapshot_client.go @@ -110,13 +110,12 @@ func (_m *SnapshotClient) GetSnapshots(ctx context.Context, peerID types.NodeID) return r0 } -type mockConstructorTestingTNewSnapshotClient interface { +// NewSnapshotClient creates a new instance of SnapshotClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewSnapshotClient(t interface { mock.TestingT Cleanup(func()) -} - -// NewSnapshotClient creates a new instance of SnapshotClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewSnapshotClient(t mockConstructorTestingTNewSnapshotClient) *SnapshotClient { +}) *SnapshotClient { mock := &SnapshotClient{} mock.Mock.Test(t) diff --git a/internal/p2p/mocks/channel.go b/internal/p2p/mocks/channel.go index 849049467f..ebee0c7670 100644 --- a/internal/p2p/mocks/channel.go +++ b/internal/p2p/mocks/channel.go @@ -86,13 +86,12 @@ func (_m *Channel) String() string { return r0 } -type mockConstructorTestingTNewChannel interface { +// NewChannel creates a new instance of Channel. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewChannel(t interface { mock.TestingT Cleanup(func()) -} - -// NewChannel creates a new instance of Channel. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewChannel(t mockConstructorTestingTNewChannel) *Channel { +}) *Channel { mock := &Channel{} mock.Mock.Test(t) diff --git a/internal/p2p/mocks/connection.go b/internal/p2p/mocks/connection.go index 3ec653d85a..447bb925ab 100644 --- a/internal/p2p/mocks/connection.go +++ b/internal/p2p/mocks/connection.go @@ -159,13 +159,12 @@ func (_m *Connection) String() string { return r0 } -type mockConstructorTestingTNewConnection interface { +// NewConnection creates a new instance of Connection. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewConnection(t interface { mock.TestingT Cleanup(func()) -} - -// NewConnection creates a new instance of Connection. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewConnection(t mockConstructorTestingTNewConnection) *Connection { +}) *Connection { mock := &Connection{} mock.Mock.Test(t) diff --git a/internal/p2p/mocks/transport.go b/internal/p2p/mocks/transport.go index 6d8c647197..0901d27c84 100644 --- a/internal/p2p/mocks/transport.go +++ b/internal/p2p/mocks/transport.go @@ -158,13 +158,12 @@ func (_m *Transport) String() string { return r0 } -type mockConstructorTestingTNewTransport interface { +// NewTransport creates a new instance of Transport. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewTransport(t interface { mock.TestingT Cleanup(func()) -} - -// NewTransport creates a new instance of Transport. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewTransport(t mockConstructorTestingTNewTransport) *Transport { +}) *Transport { mock := &Transport{} mock.Mock.Test(t) diff --git a/internal/state/indexer/mocks/event_sink.go b/internal/state/indexer/mocks/event_sink.go index 3d6b29cf9d..45d3f22c8a 100644 --- a/internal/state/indexer/mocks/event_sink.go +++ b/internal/state/indexer/mocks/event_sink.go @@ -178,13 +178,12 @@ func (_m *EventSink) Type() indexer.EventSinkType { return r0 } -type mockConstructorTestingTNewEventSink interface { +// NewEventSink creates a new instance of EventSink. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewEventSink(t interface { mock.TestingT Cleanup(func()) -} - -// NewEventSink creates a new instance of EventSink. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewEventSink(t mockConstructorTestingTNewEventSink) *EventSink { +}) *EventSink { mock := &EventSink{} mock.Mock.Test(t) diff --git a/internal/state/mocks/block_store.go b/internal/state/mocks/block_store.go index bfe2feb53b..f4a0636d78 100644 --- a/internal/state/mocks/block_store.go +++ b/internal/state/mocks/block_store.go @@ -242,13 +242,12 @@ func (_m *BlockStore) Size() int64 { return r0 } -type mockConstructorTestingTNewBlockStore interface { +// NewBlockStore creates a new instance of BlockStore. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewBlockStore(t interface { mock.TestingT Cleanup(func()) -} - -// NewBlockStore creates a new instance of BlockStore. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewBlockStore(t mockConstructorTestingTNewBlockStore) *BlockStore { +}) *BlockStore { mock := &BlockStore{} mock.Mock.Test(t) diff --git a/internal/state/mocks/evidence_pool.go b/internal/state/mocks/evidence_pool.go index 4b42c8d3fa..162d1035d3 100644 --- a/internal/state/mocks/evidence_pool.go +++ b/internal/state/mocks/evidence_pool.go @@ -75,13 +75,12 @@ func (_m *EvidencePool) Update(_a0 context.Context, _a1 state.State, _a2 types.E _m.Called(_a0, _a1, _a2) } -type mockConstructorTestingTNewEvidencePool interface { +// NewEvidencePool creates a new instance of EvidencePool. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewEvidencePool(t interface { mock.TestingT Cleanup(func()) -} - -// NewEvidencePool creates a new instance of EvidencePool. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewEvidencePool(t mockConstructorTestingTNewEvidencePool) *EvidencePool { +}) *EvidencePool { mock := &EvidencePool{} mock.Mock.Test(t) diff --git a/internal/state/mocks/executor.go b/internal/state/mocks/executor.go index 13c643ad76..daa92ee0dc 100644 --- a/internal/state/mocks/executor.go +++ b/internal/state/mocks/executor.go @@ -168,13 +168,12 @@ func (_m *Executor) VerifyVoteExtension(ctx context.Context, vote *types.Vote) e return r0 } -type mockConstructorTestingTNewExecutor interface { +// NewExecutor creates a new instance of Executor. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewExecutor(t interface { mock.TestingT Cleanup(func()) -} - -// NewExecutor creates a new instance of Executor. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewExecutor(t mockConstructorTestingTNewExecutor) *Executor { +}) *Executor { mock := &Executor{} mock.Mock.Test(t) diff --git a/internal/state/mocks/store.go b/internal/state/mocks/store.go index 07ade95404..8f8fc65857 100644 --- a/internal/state/mocks/store.go +++ b/internal/state/mocks/store.go @@ -200,13 +200,12 @@ func (_m *Store) SaveValidatorSets(_a0 int64, _a1 int64, _a2 *types.ValidatorSet return r0 } -type mockConstructorTestingTNewStore interface { +// NewStore creates a new instance of Store. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewStore(t interface { mock.TestingT Cleanup(func()) -} - -// NewStore creates a new instance of Store. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewStore(t mockConstructorTestingTNewStore) *Store { +}) *Store { mock := &Store{} mock.Mock.Test(t) diff --git a/internal/statesync/mocks/state_provider.go b/internal/statesync/mocks/state_provider.go index 765120e166..b4301dffcb 100644 --- a/internal/statesync/mocks/state_provider.go +++ b/internal/statesync/mocks/state_provider.go @@ -95,13 +95,12 @@ func (_m *StateProvider) State(ctx context.Context, height uint64) (state.State, return r0, r1 } -type mockConstructorTestingTNewStateProvider interface { +// NewStateProvider creates a new instance of StateProvider. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewStateProvider(t interface { mock.TestingT Cleanup(func()) -} - -// NewStateProvider creates a new instance of StateProvider. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewStateProvider(t mockConstructorTestingTNewStateProvider) *StateProvider { +}) *StateProvider { mock := &StateProvider{} mock.Mock.Test(t) diff --git a/libs/store/mocks/store.go b/libs/store/mocks/store.go index 5cc4d7b266..aa0d3779b8 100644 --- a/libs/store/mocks/store.go +++ b/libs/store/mocks/store.go @@ -142,13 +142,12 @@ func (_m *Store[K, V]) Update(key K, updates ...store.UpdateFunc[K, V]) { _m.Called(_ca...) } -type mockConstructorTestingTNewStore interface { +// NewStore creates a new instance of Store. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewStore[K comparable, V interface{}](t interface { mock.TestingT Cleanup(func()) -} - -// NewStore creates a new instance of Store. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewStore[K comparable, V interface{}](t mockConstructorTestingTNewStore) *Store[K, V] { +}) *Store[K, V] { mock := &Store[K, V]{} mock.Mock.Test(t) diff --git a/light/provider/mocks/provider.go b/light/provider/mocks/provider.go index 441b189e3e..93042ab3dc 100644 --- a/light/provider/mocks/provider.go +++ b/light/provider/mocks/provider.go @@ -69,13 +69,12 @@ func (_m *Provider) ReportEvidence(_a0 context.Context, _a1 types.Evidence) erro return r0 } -type mockConstructorTestingTNewProvider interface { +// NewProvider creates a new instance of Provider. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewProvider(t interface { mock.TestingT Cleanup(func()) -} - -// NewProvider creates a new instance of Provider. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewProvider(t mockConstructorTestingTNewProvider) *Provider { +}) *Provider { mock := &Provider{} mock.Mock.Test(t) diff --git a/light/rpc/mocks/light_client.go b/light/rpc/mocks/light_client.go index b9038f5ef7..deb22f7d2a 100644 --- a/light/rpc/mocks/light_client.go +++ b/light/rpc/mocks/light_client.go @@ -125,13 +125,12 @@ func (_m *LightClient) VerifyLightBlockAtHeight(ctx context.Context, height int6 return r0, r1 } -type mockConstructorTestingTNewLightClient interface { +// NewLightClient creates a new instance of LightClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewLightClient(t interface { mock.TestingT Cleanup(func()) -} - -// NewLightClient creates a new instance of LightClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewLightClient(t mockConstructorTestingTNewLightClient) *LightClient { +}) *LightClient { mock := &LightClient{} mock.Mock.Test(t) diff --git a/rpc/client/mocks/abci_client.go b/rpc/client/mocks/abci_client.go index e0bc01f54b..fc06ed551d 100644 --- a/rpc/client/mocks/abci_client.go +++ b/rpc/client/mocks/abci_client.go @@ -202,13 +202,12 @@ func (_m *ABCIClient) BroadcastTxSync(_a0 context.Context, _a1 types.Tx) (*coret return r0, r1 } -type mockConstructorTestingTNewABCIClient interface { +// NewABCIClient creates a new instance of ABCIClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewABCIClient(t interface { mock.TestingT Cleanup(func()) -} - -// NewABCIClient creates a new instance of ABCIClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewABCIClient(t mockConstructorTestingTNewABCIClient) *ABCIClient { +}) *ABCIClient { mock := &ABCIClient{} mock.Mock.Test(t) diff --git a/rpc/client/mocks/client.go b/rpc/client/mocks/client.go index dc5cab49b4..22533b3666 100644 --- a/rpc/client/mocks/client.go +++ b/rpc/client/mocks/client.go @@ -915,13 +915,12 @@ func (_m *Client) Validators(ctx context.Context, height *int64, page *int, perP return r0, r1 } -type mockConstructorTestingTNewClient interface { +// NewClient creates a new instance of Client. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewClient(t interface { mock.TestingT Cleanup(func()) -} - -// NewClient creates a new instance of Client. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewClient(t mockConstructorTestingTNewClient) *Client { +}) *Client { mock := &Client{} mock.Mock.Test(t) diff --git a/rpc/client/mocks/events_client.go b/rpc/client/mocks/events_client.go index 994b5de7ba..092e7b15e6 100644 --- a/rpc/client/mocks/events_client.go +++ b/rpc/client/mocks/events_client.go @@ -40,13 +40,12 @@ func (_m *EventsClient) Events(ctx context.Context, req *coretypes.RequestEvents return r0, r1 } -type mockConstructorTestingTNewEventsClient interface { +// NewEventsClient creates a new instance of EventsClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewEventsClient(t interface { mock.TestingT Cleanup(func()) -} - -// NewEventsClient creates a new instance of EventsClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewEventsClient(t mockConstructorTestingTNewEventsClient) *EventsClient { +}) *EventsClient { mock := &EventsClient{} mock.Mock.Test(t) diff --git a/rpc/client/mocks/evidence_client.go b/rpc/client/mocks/evidence_client.go index 9ce339c7af..1b7817a0f1 100644 --- a/rpc/client/mocks/evidence_client.go +++ b/rpc/client/mocks/evidence_client.go @@ -42,13 +42,12 @@ func (_m *EvidenceClient) BroadcastEvidence(_a0 context.Context, _a1 types.Evide return r0, r1 } -type mockConstructorTestingTNewEvidenceClient interface { +// NewEvidenceClient creates a new instance of EvidenceClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewEvidenceClient(t interface { mock.TestingT Cleanup(func()) -} - -// NewEvidenceClient creates a new instance of EvidenceClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewEvidenceClient(t mockConstructorTestingTNewEvidenceClient) *EvidenceClient { +}) *EvidenceClient { mock := &EvidenceClient{} mock.Mock.Test(t) diff --git a/rpc/client/mocks/history_client.go b/rpc/client/mocks/history_client.go index b71bb98d4a..280e1738a1 100644 --- a/rpc/client/mocks/history_client.go +++ b/rpc/client/mocks/history_client.go @@ -92,13 +92,12 @@ func (_m *HistoryClient) GenesisChunked(_a0 context.Context, _a1 uint) (*coretyp return r0, r1 } -type mockConstructorTestingTNewHistoryClient interface { +// NewHistoryClient creates a new instance of HistoryClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewHistoryClient(t interface { mock.TestingT Cleanup(func()) -} - -// NewHistoryClient creates a new instance of HistoryClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewHistoryClient(t mockConstructorTestingTNewHistoryClient) *HistoryClient { +}) *HistoryClient { mock := &HistoryClient{} mock.Mock.Test(t) diff --git a/rpc/client/mocks/mempool_client.go b/rpc/client/mocks/mempool_client.go index acc4e8debd..66c296e1fd 100644 --- a/rpc/client/mocks/mempool_client.go +++ b/rpc/client/mocks/mempool_client.go @@ -108,13 +108,12 @@ func (_m *MempoolClient) UnconfirmedTxs(ctx context.Context, page *int, perPage return r0, r1 } -type mockConstructorTestingTNewMempoolClient interface { +// NewMempoolClient creates a new instance of MempoolClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewMempoolClient(t interface { mock.TestingT Cleanup(func()) -} - -// NewMempoolClient creates a new instance of MempoolClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewMempoolClient(t mockConstructorTestingTNewMempoolClient) *MempoolClient { +}) *MempoolClient { mock := &MempoolClient{} mock.Mock.Test(t) diff --git a/rpc/client/mocks/network_client.go b/rpc/client/mocks/network_client.go index a1fdd7a418..f365a8a4c3 100644 --- a/rpc/client/mocks/network_client.go +++ b/rpc/client/mocks/network_client.go @@ -144,13 +144,12 @@ func (_m *NetworkClient) NetInfo(_a0 context.Context) (*coretypes.ResultNetInfo, return r0, r1 } -type mockConstructorTestingTNewNetworkClient interface { +// NewNetworkClient creates a new instance of NetworkClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewNetworkClient(t interface { mock.TestingT Cleanup(func()) -} - -// NewNetworkClient creates a new instance of NetworkClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewNetworkClient(t mockConstructorTestingTNewNetworkClient) *NetworkClient { +}) *NetworkClient { mock := &NetworkClient{} mock.Mock.Test(t) diff --git a/rpc/client/mocks/remote_client.go b/rpc/client/mocks/remote_client.go index d5b0060fb5..a09c863c8f 100644 --- a/rpc/client/mocks/remote_client.go +++ b/rpc/client/mocks/remote_client.go @@ -929,13 +929,12 @@ func (_m *RemoteClient) Validators(ctx context.Context, height *int64, page *int return r0, r1 } -type mockConstructorTestingTNewRemoteClient interface { +// NewRemoteClient creates a new instance of RemoteClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewRemoteClient(t interface { mock.TestingT Cleanup(func()) -} - -// NewRemoteClient creates a new instance of RemoteClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewRemoteClient(t mockConstructorTestingTNewRemoteClient) *RemoteClient { +}) *RemoteClient { mock := &RemoteClient{} mock.Mock.Test(t) diff --git a/rpc/client/mocks/sign_client.go b/rpc/client/mocks/sign_client.go index 89011e6996..9d312d993d 100644 --- a/rpc/client/mocks/sign_client.go +++ b/rpc/client/mocks/sign_client.go @@ -277,13 +277,12 @@ func (_m *SignClient) Validators(ctx context.Context, height *int64, page *int, return r0, r1 } -type mockConstructorTestingTNewSignClient interface { +// NewSignClient creates a new instance of SignClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewSignClient(t interface { mock.TestingT Cleanup(func()) -} - -// NewSignClient creates a new instance of SignClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewSignClient(t mockConstructorTestingTNewSignClient) *SignClient { +}) *SignClient { mock := &SignClient{} mock.Mock.Test(t) diff --git a/rpc/client/mocks/status_client.go b/rpc/client/mocks/status_client.go index 1d91bdee44..7094efff07 100644 --- a/rpc/client/mocks/status_client.go +++ b/rpc/client/mocks/status_client.go @@ -40,13 +40,12 @@ func (_m *StatusClient) Status(_a0 context.Context) (*coretypes.ResultStatus, er return r0, r1 } -type mockConstructorTestingTNewStatusClient interface { +// NewStatusClient creates a new instance of StatusClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewStatusClient(t interface { mock.TestingT Cleanup(func()) -} - -// NewStatusClient creates a new instance of StatusClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewStatusClient(t mockConstructorTestingTNewStatusClient) *StatusClient { +}) *StatusClient { mock := &StatusClient{} mock.Mock.Test(t) diff --git a/rpc/client/mocks/subscription_client.go b/rpc/client/mocks/subscription_client.go index 585dc438b0..512da36df5 100644 --- a/rpc/client/mocks/subscription_client.go +++ b/rpc/client/mocks/subscription_client.go @@ -75,13 +75,12 @@ func (_m *SubscriptionClient) UnsubscribeAll(ctx context.Context, subscriber str return r0 } -type mockConstructorTestingTNewSubscriptionClient interface { +// NewSubscriptionClient creates a new instance of SubscriptionClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewSubscriptionClient(t interface { mock.TestingT Cleanup(func()) -} - -// NewSubscriptionClient creates a new instance of SubscriptionClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewSubscriptionClient(t mockConstructorTestingTNewSubscriptionClient) *SubscriptionClient { +}) *SubscriptionClient { mock := &SubscriptionClient{} mock.Mock.Test(t) diff --git a/scripts/mockery_generate.sh b/scripts/mockery_generate.sh index 2d6f40e638..3c7e8d3e46 100755 --- a/scripts/mockery_generate.sh +++ b/scripts/mockery_generate.sh @@ -6,10 +6,11 @@ # runs the published Docker container. This legerdemain is so that the CI build # and a local build can work off the same script. # -if ! which mockery ; then - mockery() { - docker run --rm -v "$PWD":/w --workdir=/w vektra/mockery:v2.12.3 - } +VERSION=v2.33.2 + +if ! mockery --version 2>/dev/null | grep $VERSION; then + echo "Please install mockery $VERSION" + exit 1 fi mockery --disable-version-string --case underscore --name "$@" diff --git a/types/mocks/block_event_publisher.go b/types/mocks/block_event_publisher.go index aa6dc6274f..8cd1f3d266 100644 --- a/types/mocks/block_event_publisher.go +++ b/types/mocks/block_event_publisher.go @@ -82,13 +82,12 @@ func (_m *BlockEventPublisher) PublishEventValidatorSetUpdates(_a0 types.EventDa return r0 } -type mockConstructorTestingTNewBlockEventPublisher interface { +// NewBlockEventPublisher creates a new instance of BlockEventPublisher. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewBlockEventPublisher(t interface { mock.TestingT Cleanup(func()) -} - -// NewBlockEventPublisher creates a new instance of BlockEventPublisher. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewBlockEventPublisher(t mockConstructorTestingTNewBlockEventPublisher) *BlockEventPublisher { +}) *BlockEventPublisher { mock := &BlockEventPublisher{} mock.Mock.Test(t) diff --git a/types/mocks/priv_validator.go b/types/mocks/priv_validator.go index 1b3337cab3..9f75bf3771 100644 --- a/types/mocks/priv_validator.go +++ b/types/mocks/priv_validator.go @@ -239,13 +239,12 @@ func (_m *PrivValidator) UpdatePrivateKey(ctx context.Context, privateKey crypto _m.Called(ctx, privateKey, quorumHash, thresholdPublicKey, height) } -type mockConstructorTestingTNewPrivValidator interface { +// NewPrivValidator creates a new instance of PrivValidator. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewPrivValidator(t interface { mock.TestingT Cleanup(func()) -} - -// NewPrivValidator creates a new instance of PrivValidator. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewPrivValidator(t mockConstructorTestingTNewPrivValidator) *PrivValidator { +}) *PrivValidator { mock := &PrivValidator{} mock.Mock.Test(t) From 561ea10c225555f226a7859e34c59a0529b183ab Mon Sep 17 00:00:00 2001 From: Lukasz Klimek <842586+lklimek@users.noreply.github.com> Date: Wed, 13 Sep 2023 12:33:42 +0200 Subject: [PATCH 19/19] chore(release): update changelog and version to 0.13.0 --- CHANGELOG.md | 2879 ++++++++++++++++++-------------------------- version/version.go | 2 +- 2 files changed, 1178 insertions(+), 1703 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 510c7f223e..596afdac06 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,160 +1,174 @@ -## [0.13.0-dev.2] - 2023-07-19 - -### Features - -- Implement statesync spec for the new approach (#663) - -## [0.13.0-dev.1] - 2023-06-28 +## [0.13.0] - 2023-09-13 ### Bug Fixes -- [**breaking**] ProcessProposal should get CoreChainLockedHeight from block (#625) -- [**breaking**] Remove unused SIGNED_MSG_TYPE_COMMIT (#638) -- [**breaking**] Use millisecond resolution of block time (#650) +- PrepareProposal should not be called during replay (#678) -### Miscellaneous Tasks +### Features -- Update changelog and version to 0.11.0 -- Update changelog and version to 0.13.0-dev.1 (#651) +- Implement statesync spec for the new approach (#663) +- Add wait for masternode-status "ready" (#659) -### Testing +### Miscellaneous Tasks -- Sign_bytes tests synchronized with rs-tenderdash-abci (#623) +- Merge changes from 'v0.11.3' into v0.12 +- Update changelog and version to 0.13.0-dev.2 (#664) +- Improve logs (#679) +- Update mocks and .proto files after merge 12 to 13 -### Backport +### Refactor -- Catch up with the latest commits from v0.11 to v0.12 (#631) -- Catch up the changes from v0.11 to v0.12 (#636) +- Implement statesync peer manager (#648) +- Migrate peer-manager on generic store (#666) +- Change go module to dashpay/tenderdash (#670) ### Build -- Fix broken github actions and regenerate some code (#615) +- Bump actions/checkout from 3 to 4 (#676) +- Regenerate mocks -## [0.12.0-dev.2] - 2023-04-04 +## [0.11.3] - 2023-06-29 ### Bug Fixes -- Nil voteset panics in rest handler (#609) -- Nil voteset panics in rest handler (#609) (#612) - -### Features - -- Use dashd-go 0.24.0 to support LLMQ type 6 (LLMQType_25_67) (#610) +- [**breaking**] Remove unused SIGNED_MSG_TYPE_COMMIT (#638) +- [**breaking**] Use millisecond resolution of block time (#650) +- Prod image high cpu load due to deadlock detection (#652) ### Miscellaneous Tasks -- Update changelog and version to 0.12.0-dev.2 (#613) - -### Backport - -- Use dashd-go 0.24.0 to support LLMQ type 6 (LLMQType_25_67) (#610) (#611) - -## [0.12.0-dev.1] - 2023-03-17 - -### Bug Fixes +- Update changelog and version to 0.13.0-dev.1 (#651) +- Update changelog and version to 0.11.3 -- Replace tenderdash init single with validator (#599) -- Broken error handling in ValueOp (VSA-2022-100) (#601) -- Broken error handling in ValueOp (VSA-2022-100) (#601) +## [0.12.0] - 2023-05-23 -### Documentation +### Features -- Improve protobuf documentation (#604) +- Add ability to write logs in a file (#632) ### Miscellaneous Tasks -- Add quote to CGO variables in Makefile (#597) -- Update changelog and version to 0.12.0-dev.1 (#608) - -### Refactor - -- Introduce p2p proto Envelope as a wrapper for p2p messages (#598) -- Consensus state to fix deadlock (#491) - -### Testing - -- Fix TestMakeHTTPDialerURL (#605) +- Catch up the changes from master into v0.11 dev (#629) ### Backport -- V0.10 to v0.11 (#596) - -## [0.11.0-dev.4] - 2023-02-22 - -### Miscellaneous Tasks - -- Update changelog and version to 0.11.0-dev.4 (#593) +- Catch up with the latest commits from v0.11 to v0.12 (#631) +- Catch up the changes from v0.11 to v0.12 (#636) -### Backport +## [0.11.1] - 2023-05-02 -- Catch up the recent changes from v0.10 to v0.11 (#589) +### Bug Fixes -## [0.10.0-dev.11] - 2023-02-22 +- [**breaking**] ProcessProposal should get CoreChainLockedHeight from block (#625) +- Update quorum params (#626) ### Miscellaneous Tasks -- Update changelog and version to 0.10.0-dev.11 (#591) - -### Refactor +- Update changelog and version to 0.11.1 (#627) -- Use llmq.Validate function to validate llmq type (#590) +### Testing -## [0.10.0-dev.10] - 2023-02-22 +- Sign_bytes tests synchronized with rs-tenderdash-abci (#623) -### Miscellaneous Tasks +### Build -- Bump up dashd-go version to v0.23.6 (#587) -- Update changelog and version to 0.10.0-dev.10 (#588) +- Bump github/super-linter from 4 to 5 (#624) -## [0.11.0-dev.3] - 2023-02-15 +## [0.11.0] - 2023-04-04 ### Bug Fixes +- ProcessProposal executed twice for a block (#516) +- Proposer-based timestamp broken during backport (#523) +- Improve wal replay mechanism (#510) +- Decrease log verbosity by logging send/recv logs on trace level (#533) +- Ensure process proposal was called on commit processing (#534) +- Ensure process proposal runs on complete proposal (#538) +- Peer notifications should be async to avoid deadlock in PeerUp (#509) +- Improve flaky TestWALRoundsSkipper (#539) +- Flaky TestReactor_Backfill test (#549) +- [**breaking**] Quorum type set to 0 during replay at genesis (#570) +- Seed doesn't respond to pex requests (#574) +- Docker tag is invalid for empty input.tag (#580) - Docker tag is invalid for empty input.tag (#580) (#585) - Signature verification (#584) +- Replace tenderdash init single with validator (#599) +- Broken error handling in ValueOp (VSA-2022-100) (#601) +- Broken error handling in ValueOp (VSA-2022-100) (#601) +- Nil voteset panics in rest handler (#609) +- Nil voteset panics in rest handler (#609) (#612) -### Miscellaneous Tasks - -- Update changelog and version to 0.11.0-dev.3 (#586) - -## [0.11.0-dev.2] - 2023-02-13 - -### Bug Fixes - -- Docker tag is invalid for empty input.tag (#580) - -### Miscellaneous Tasks - -- Update changelog and version to 0.11.0-dev.2 (#583) - -## [0.10.0-dev.9] - 2023-02-10 - -### Bug Fixes +### Documentation -- [**breaking**] Quorum type set to 0 during replay at genesis (#570) -- Seed doesn't respond to pex requests (#574) +- Improve protobuf documentation (#604) ### Features +- Upgrade bls library to version 1 (#224) +- Seed connectivity tuning options (max-incoming-connection-time,incoming-connection-window) (#532) +- [**breaking**] Verify next consensus params between nodes (#550) +- Add quorum hash to RequestPrepare/ProcessProposal (#553) - Derive node key from bip39 mnemonic (#562) - Conversion of PEM-encoded ED25519 node keys (#564) +- Use dashd-go 0.24.0 to support LLMQ type 6 (LLMQType_25_67) (#610) ### Miscellaneous Tasks +- [**breaking**] Rename genesis.json quorum fields (#515) +- [**breaking**] Remove Snapshot.core_chain_locked_height (#527) +- Update changelog and version to 0.10.0-dev.6 (#526) +- Update changelog and version to 0.11.0-dev.1 (#530) +- Update changelog and version to 0.10.0-dev.7 (#536) +- Update bls library (#535) - Update changelog and version to 0.10.0-dev.9 (#579) +- Update changelog and version to 0.11.0-dev.2 (#583) +- Update changelog and version to 0.11.0-dev.3 (#586) +- Bump up dashd-go version to v0.23.6 (#587) +- Update changelog and version to 0.10.0-dev.10 (#588) +- Update changelog and version to 0.10.0-dev.11 (#591) +- Update changelog and version to 0.11.0-dev.4 (#593) +- Add quote to CGO variables in Makefile (#597) +- Update changelog and version to 0.12.0-dev.1 (#608) +- Update changelog and version to 0.12.0-dev.2 (#613) +- Update changelog and version to 0.11.0 ### Refactor +- Use logger for log printing (#545) +- Blocksync.bpRequester should stop procedure if block was received (#546) +- [**breaking**] Cleanup protobuf definitions and reorganize fields (#552) - Replace peerID on proTxHash for peer catchup rounds in HeightVoteSet component (#559) - Sync node and seed implementation (#576) +- Use llmq.Validate function to validate llmq type (#590) +- Introduce p2p proto Envelope as a wrapper for p2p messages (#598) +- Consensus state to fix deadlock (#491) ### Testing +- Fix Index out of bounds on "runner logs" (#537) - Update test vectors for BLS - Refactor genesis doc generation (#573) +- Fix TestMakeHTTPDialerURL (#605) + +### Backport + +- Catch up on the latest changes from v0.10 (#528) +- Catch up the recent changes from v0.10 to v0.11 (#589) +- V0.10 to v0.11 (#596) +- Use dashd-go 0.24.0 to support LLMQ type 6 (LLMQType_25_67) (#610) (#611) ### Build +- Bump actions/setup-go from 3.3.1 to 3.4.0 (#524) +- Bump bufbuild/buf-setup-action from 1.9.0 to 1.10.0 (#525) +- CGO paths to BLS deps are incorrect (#531) +- Improve release script (#522) +- Bump goreleaser/goreleaser-action from 3 to 4 (#544) +- Bump actions/stale from 6 to 7 (#543) +- Bump actions/setup-go from 3.4.0 to 3.5.0 (#542) +- Bump bufbuild/buf-setup-action from 1.10.0 to 1.11.0 (#541) +- Use ubuntu 20.04 in github workflows (#547) +- Enable deadlock detection on -dev docker images (#540) - Bump bufbuild/buf-setup-action from 1.11.0 to 1.12.0 (#556) - Bump docker/build-push-action from 3.1.0 to 3.3.0 (#555) - Use version 1.2.5 of BLS lib in Docker (#557) @@ -168,167 +182,188 @@ - Bump docker/setup-buildx-action from 2.4.0 to 2.4.1 (#572) - Bump bufbuild/buf-setup-action from 1.13.1 to 1.14.0 (#577) - Move e2e-manual.yml logic to e2e.yml (#578) +- Fix broken github actions and regenerate some code (#615) -## [0.10.0-dev.8] - 2023-01-16 +## [0.8.0] - 2022-12-07 ### Bug Fixes -- Ensure process proposal runs on complete proposal (#538) -- Peer notifications should be async to avoid deadlock in PeerUp (#509) -- Improve flaky TestWALRoundsSkipper (#539) -- Flaky TestReactor_Backfill test (#549) - -### Features - -- [**breaking**] Verify next consensus params between nodes (#550) -- Add quorum hash to RequestPrepare/ProcessProposal (#553) +- Use thread-safely way to get pro-tx-hash from peer-state (#344) +- Slightly modify a way of interacting with p2p channels in consensus reactor (#357) +- Remove select block to don't block sending a witness response (#336) +- Unsupported priv validator type - dashcore.RPCClient (#353) +- Add a missed "info" field to broadcast-tx-response (#369) +- Consolidate all prerelease changes in latest full release changelog +- First part of modification after merge +- Mishandled pubkey read errors +- Eliminate compile level issues +- Unit tests in abci/example/kvstore +- Unit tests in dash/quorum package +- Deadlock at types.MockPV +- Blocksync package +- Evidence package +- Made some fixes/improvements +- Change a payload hash of a message vote +- Remove using a mutex in processPeerUpdate to fix a deadlock +- Remove double incrementing +- Some modifications for fixing unit tests +- Modify TestVoteString +- Some fixes / improvements +- Some fixes / improvements +- Override genesis time for pbst tests +- Pbst tests +- Disable checking duplicate votes +- Use the current time always when making proposal block +- Consensus state tests +- Consensus state tests +- Consensus state tests +- The tests inside state package +- Node tests +- Add custom marshalling/unmarshalling for coretypes.ResultValidators +- Add checking on nil in Vote.MarshalZerologObject +- Light client tests +- Rpc tests +- Remove duplicate test TestApp_Height +- Add mutex for transport_mconn.go +- Add required option "create-proof-block-range" in a config testdata +- Type error in generateDuplicateVoteEvidence +- Use thread safe way for interacting with consensus state +- Use a normal time ticker for some consensus unit tests +- E2e tests +- Lint issues +- Abci-cli +- Detected data race +- TestBlockProtoBuf +- Lint (proto and golang) modifications +- ProTxHash not correctly initialized +- Lint issue +- Proto lint +- Reuse setValSetUpdate to update validator index and validator-set-updates item in a storage +- Reuse setValSetUpdate to update validator index and validator-set-updates item in a storage +- Fix dependencies in e2e tests +- Install libpcap-dev before running go tests +- Install missing dependencies for linter +- Fix race conditions in reactor +- Specify alpine 3.15 in Dockerfile +- Release script tries to use non-existing file +- Go link issues +- Data-race issue +- Applied changes according to PR feedback +- Make NewSignItem and MakeSignID exported, revert to precalculate hash for SignItem +- Quorum_sign_data_test.go +- Lint issue +- Check a receiver of ValidatorSet on nil +- Invalid initial height in e2e vote extensions test (#419) +- A block with a height is equal initial-height uses current time instead of genesis last-block-time +- Update block time validation +- Change validateBlockTime function +- Update evidence_test.go +- Go lint issues (#455) +- TestReactorValidatorSetChanges (#468) +- Don't inc proposer prio when processing InitChain response (#470) +- Invalid error msg when verifying val power in genesis doc (#476) +- Revert ResponseCheckTx.info field and pass it to ResultBroadcastTx (#488) +- Fix p2p deadlock (#473) +- Abci Info() returns invalid height at genesis (#474) +- Catchup round number is not correct (#507) +- Commits received during state sync are lost (#513) +- Statesync stops the node when light block request fails (#514) -### Miscellaneous Tasks +### Documentation -- Update bls library (#535) +- Abcidump documentation +- Same-block execution docs and protobuf cleanup (#454) -### Refactor - -- Use logger for log printing (#545) -- Blocksync.bpRequester should stop procedure if block was received (#546) -- [**breaking**] Cleanup protobuf definitions and reorganize fields (#552) - -### Testing - -- Fix Index out of bounds on "runner logs" (#537) - -### Build - -- Bump goreleaser/goreleaser-action from 3 to 4 (#544) -- Bump actions/stale from 6 to 7 (#543) -- Bump actions/setup-go from 3.4.0 to 3.5.0 (#542) -- Bump bufbuild/buf-setup-action from 1.10.0 to 1.11.0 (#541) -- Use ubuntu 20.04 in github workflows (#547) -- Enable deadlock detection on -dev docker images (#540) - -## [0.10.0-dev.7] - 2022-12-20 - -### Bug Fixes - -- Decrease log verbosity by logging send/recv logs on trace level (#533) -- Ensure process proposal was called on commit processing (#534) - -### Features - -- Seed connectivity tuning options (max-incoming-connection-time,incoming-connection-window) (#532) - -### Miscellaneous Tasks - -- Update changelog and version to 0.10.0-dev.7 (#536) - -### Build - -- CGO paths to BLS deps are incorrect (#531) -- Improve release script (#522) - -## [0.11.0-dev.1] - 2022-12-15 - -### Miscellaneous Tasks - -- Update changelog and version to 0.11.0-dev.1 (#530) - -### Backport - -- Catch up on the latest changes from v0.10 (#528) - -## [0.10.0-dev.6] - 2022-12-15 - -### Bug Fixes - -- Commits received during state sync are lost (#513) -- Statesync stops the node when light block request fails (#514) -- ProcessProposal executed twice for a block (#516) -- Proposer-based timestamp broken during backport (#523) -- Improve wal replay mechanism (#510) - -### Features - -- Upgrade bls library to version 1 (#224) - -### Miscellaneous Tasks - -- Backport to 0.8 -- Fix build -- Fix abcidump after backport -- Update changelog and version to 0.8.0 -- [**breaking**] Rename genesis.json quorum fields (#515) -- [**breaking**] Remove Snapshot.core_chain_locked_height (#527) -- Update changelog and version to 0.10.0-dev.6 (#526) - -### Refactor - -- Optimize initialize priv-validator (#512) - -### Test - -- Add deadlock detection with go-deadlock (#471) - -### Build - -- Update go.mod -- Fix missing dependencies in lint and tests -- Fix superlinter yaml issues -- Improve release script for v0.8 (#520) -- Bump actions/setup-go from 3.3.1 to 3.4.0 (#524) -- Bump bufbuild/buf-setup-action from 1.9.0 to 1.10.0 (#525) - -## [0.10.0-dev.5] - 2022-11-23 - -### Bug Fixes - -- Catchup round number is not correct (#507) - -### Features - -- [**breaking**] Put full block in RequestFinalizeBlock (#505) - -### Miscellaneous Tasks - -- Update changelog and version to 0.10.0-dev.5 (#511) - -### Refactor - -- Make all genesis-doc fields (except chain_id) optional (#506) - -### Build - -- Save e2e failure logs as artifact (#508) -- Bump golangci/golangci-lint-action from 3.3.0 to 3.3.1 (#504) - -## [0.10.0-dev.4] - 2022-11-11 - -### Bug Fixes - -- TestReactorValidatorSetChanges (#468) -- Don't inc proposer prio when processing InitChain response (#470) -- Invalid error msg when verifying val power in genesis doc (#476) -- Revert ResponseCheckTx.info field and pass it to ResultBroadcastTx (#488) -- Fix p2p deadlock (#473) -- Abci Info() returns invalid height at genesis (#474) - -### Features +### Features +- Abci protocol parser +- Abci protocol parser - packet capture +- Parse CBOR messages +- Add missed fields (CoreChainLockedHeight, ProposerProTxHash and ProposedAppVersion) to RequestFinalizeBlock and PrepareProposal +- Add node's pro-tx-hash into a context (#416) +- Same-block execution (#418) - Implement import app-state in init-chain request (#472) - Consensus params updates support (#475) - Add round to Prepare/ProcessProposal, FinalizeBlock (#498) - Add core_chain_lock_update to RequestProcessProposal (#492) - [**breaking**] Include state id in block signature (#478) +- [**breaking**] Put full block in RequestFinalizeBlock (#505) ### Miscellaneous Tasks +- If the tenderdash source code is not tracked by git then cloning "develop_0.1" branch as fallback scenario to build a project (#356) +- If the tenderdash source code is not tracked by git then cloning "develop_0.1" branch as fallback scenario to build a project (#355) +- Update changelog and version to 0.8.0-dev.2 (#333) +- Update changelog and version to 0.8.0-dev.3 +- Update changelog and version to 0.8.0-dev.4 (#370) +- Don't fail due to missing bodyclose in go 1.18 +- Remove printing debug stacktrace for a duplicate vote +- Remove redundant mock cons_sync_reactor.go +- Remove github CI docs-toc.yml workflow +- Refactor e2e initialization +- Fix whitespace and comments +- Add unit tests for TestMakeBlockSignID, TestMakeStateSignID, TestMakeVoteExtensionSignIDs +- Some naming modifications +- Add verification for commit vote extension threshold signatures +- Modify a condition in VoteExtSigns2BytesSlices +- Remove recoverableVoteExtensionIndexes +- Some improvements +- Cleanup during self-review +- Remove duplicate test +- Update go.mod +- Update changelog and version to 0.8.0-dev.5 +- Update changelog and version to 0.8.0-dev.5 +- Preallocate the list +- Fix unit tests +- Fix unit tests +- Some modification after self-review +- Remove ThresholdVoteExtension as redundant, use VoteExtension instead +- Update order fields initialization +- Update abci++ spec +- Update changelog and version to 0.8.0-dev.6 +- Update changelog and version to 0.8.0-dev.7 +- Update alpine image version +- Update alpine image version +- Update changelog and version to 0.8.0-dev.8 +- Update changelog and version to 0.8.0-dev.9 +- Update changelog and version to 0.8.0-dev.10 +- Update changelog and version to 0.9.0-dev.1 +- Update changelog and version to 0.10.0-dev.1 (#456) - Revert `validateBlockTime` (#458) - Update changelog and version to 0.10.0-dev.2 (#489) - Improve validation of ResponsePrepare/ProcessProposal ExecTxResults (#477) - Update changelog and version to 0.10.0-dev.3 (#502) - Update changelog and version to 0.10.0-dev.4 (#503) +- Update changelog and version to 0.10.0-dev.5 (#511) +- Backport to 0.8 +- Fix build +- Fix abcidump after backport +- Update changelog and version to 0.8.0 + +### PBTS + +- System model made more precise (#8096) ### Refactor +- Single vote-extension field was modified on multiple ones. support default and threshold-recover types of extensions +- Simplify priv validator initialization code +- Add a centralized way for recovering threshold signatures, add a way of creating sign ids, refactor code to use one way of making sign data and recovering signs +- Standardize the naming of functions, variables +- Add some modifications by RP feedback +- Refactor cbor and apply review feedback +- Move abcidump from scripts/ to cmd/ +- Separate default and threshold-recover extensions between 2 independent list, persist threshold vote extensions with a commit +- Revert vote-extension protobuf structures to previous version +- The changes by PR feedback +- DashCoreSignerClient should return correct private key +- Modifications after merge +- Abci app expects tendermint.version.Consensus rather than proposed-app-version in RequestFinalizeBlock and RequestPrepareProposal +- Revert proposed_app_version +- Allow set 0 for 'create-proof-block-range' to ignore proof block app hash +- Start test of proof-block range from 0 height +- Allow set 0 for 'create-proof-block-range' to ignore proof block app hash +- Start test of proof-block range from 0 height - Enable building docker for develop branch (#443) - Publish block events after block commit (#459) - Handshake block-replay mechanism (#460) @@ -336,661 +371,153 @@ - Change a logic of usage CoreChainLockHeight (#485) - Remove unused P2P.PexReactor flag field in a config (#490) - Provide a current block commit with request finalize block request (#501) +- Make all genesis-doc fields (except chain_id) optional (#506) +- Optimize initialize priv-validator (#512) -### Testing - -- Skip broken PBTS tests (#500) - -### Build - -- Bump actions/stale from 5 to 6 -- Bump actions/setup-go from 3.2.1 to 3.3.1 -- Bump bufbuild/buf-setup-action from 1.6.0 to 1.9.0 -- Bump docker/setup-buildx-action from 2.0.0 to 2.2.1 -- Bump golangci/golangci-lint-action from 3.2.0 to 3.3.0 -- Remove unused nightly test runs (#499) - -## [0.10.0-dev.1] - 2022-09-09 - -### Bug Fixes - -- Go lint issues (#455) - -### Documentation - -- Same-block execution docs and protobuf cleanup (#454) - -### Features - -- Add node's pro-tx-hash into a context (#416) -- Same-block execution (#418) - -### Miscellaneous Tasks - -- Update changelog and version to 0.10.0-dev.1 (#456) - -### Backport - -- Tendermint v0.36 (#446) - -## [0.9.0-dev.1] - 2022-09-01 - -### Miscellaneous Tasks - -- Update changelog and version to 0.9.0-dev.1 - -### Refactor +### Security -- Allow set 0 for 'create-proof-block-range' to ignore proof block app hash -- Start test of proof-block range from 0 height +- Bump github.com/vektra/mockery/v2 from 2.10.4 to 2.10.6 (#8346) +- Bump github.com/spf13/viper from 1.10.1 to 1.11.0 (#8344) +- Bump github.com/creachadair/atomicfile from 0.2.4 to 0.2.5 (#8365) +- Bump github.com/vektra/mockery/v2 from 2.10.6 to 2.11.0 (#8374) +- Bump github.com/creachadair/tomledit from 0.0.16 to 0.0.18 (#8392) +- Bump bufbuild/buf-setup-action from 1.3.1 to 1.4.0 (#8405) +- Bump codecov/codecov-action from 3.0.0 to 3.1.0 (#8406) +- Bump google.golang.org/grpc from 1.45.0 to 1.46.0 (#8408) +- Bump github.com/vektra/mockery/v2 from 2.12.0 to 2.12.1 (#8417) +- Bump github.com/google/go-cmp from 0.5.7 to 0.5.8 (#8422) +- Bump github.com/creachadair/tomledit from 0.0.18 to 0.0.19 (#8440) +- Bump github.com/btcsuite/btcd from 0.22.0-beta to 0.22.1 (#8439) +- Bump docker/setup-buildx-action from 1.6.0 to 1.7.0 (#8451) +- Merge result of tendermint/master with v0.8-dev (#376) -## [0.8.0-dev.10] - 2022-08-16 +### Test -### Miscellaneous Tasks +- Add deadlock detection with go-deadlock (#471) -- Update changelog and version to 0.8.0-dev.10 +### Testing -### Refactor - -- Allow set 0 for 'create-proof-block-range' to ignore proof block app hash -- Start test of proof-block range from 0 height - -## [0.8.0-dev.9] - 2022-08-11 - -### Miscellaneous Tasks - -- Update changelog and version to 0.8.0-dev.9 - -## [0.8.0-dev.8] - 2022-08-11 - -### Miscellaneous Tasks - -- Update alpine image version -- Update alpine image version -- Update changelog and version to 0.8.0-dev.8 - -## [0.8.0-dev.7] - 2022-08-10 - -### Bug Fixes - -- Invalid initial height in e2e vote extensions test (#419) -- A block with a height is equal initial-height uses current time instead of genesis last-block-time -- Update block time validation -- Change validateBlockTime function -- Update evidence_test.go - -### Miscellaneous Tasks - -- Update changelog and version to 0.8.0-dev.7 - -### Build - -- Bump actions/setup-go from 3.2.0 to 3.2.1 - -## [0.8.0-dev.6] - 2022-07-15 - -### Bug Fixes - -- Release script tries to use non-existing file -- Go link issues -- Data-race issue -- Applied changes according to PR feedback -- Make NewSignItem and MakeSignID exported, revert to precalculate hash for SignItem -- Quorum_sign_data_test.go -- Lint issue -- Check a receiver of ValidatorSet on nil - -### Features - -- Add missed fields (CoreChainLockedHeight, ProposerProTxHash and ProposedAppVersion) to RequestFinalizeBlock and PrepareProposal - -### Miscellaneous Tasks - -- Preallocate the list -- Fix unit tests -- Fix unit tests -- Some modification after self-review -- Remove ThresholdVoteExtension as redundant, use VoteExtension instead -- Update order fields initialization -- Update abci++ spec -- Update changelog and version to 0.8.0-dev.6 - -### Refactor - -- Separate default and threshold-recover extensions between 2 independent list, persist threshold vote extensions with a commit -- Revert vote-extension protobuf structures to previous version -- The changes by PR feedback -- DashCoreSignerClient should return correct private key -- Modifications after merge -- Abci app expects tendermint.version.Consensus rather than proposed-app-version in RequestFinalizeBlock and RequestPrepareProposal -- Revert proposed_app_version - -## [0.8.0-dev.5] - 2022-06-14 - -### Bug Fixes - -- Consolidate all prerelease changes in latest full release changelog -- First part of modification after merge -- Mishandled pubkey read errors -- Eliminate compile level issues -- Unit tests in abci/example/kvstore -- Unit tests in dash/quorum package -- Deadlock at types.MockPV -- Blocksync package -- Evidence package -- Made some fixes/improvements -- Change a payload hash of a message vote -- Remove using a mutex in processPeerUpdate to fix a deadlock -- Remove double incrementing -- Some modifications for fixing unit tests -- Modify TestVoteString -- Some fixes / improvements -- Some fixes / improvements -- Override genesis time for pbst tests -- Pbst tests -- Disable checking duplicate votes -- Use the current time always when making proposal block -- Consensus state tests -- Consensus state tests -- Consensus state tests -- The tests inside state package -- Node tests -- Add custom marshalling/unmarshalling for coretypes.ResultValidators -- Add checking on nil in Vote.MarshalZerologObject -- Light client tests -- Rpc tests -- Remove duplicate test TestApp_Height -- Add mutex for transport_mconn.go -- Add required option "create-proof-block-range" in a config testdata -- Type error in generateDuplicateVoteEvidence -- Use thread safe way for interacting with consensus state -- Use a normal time ticker for some consensus unit tests -- E2e tests -- Lint issues -- Abci-cli -- Detected data race -- TestBlockProtoBuf -- Lint (proto and golang) modifications -- ProTxHash not correctly initialized -- Lint issue -- Proto lint -- Reuse setValSetUpdate to update validator index and validator-set-updates item in a storage -- Reuse setValSetUpdate to update validator index and validator-set-updates item in a storage -- Fix dependencies in e2e tests -- Install libpcap-dev before running go tests -- Install missing dependencies for linter -- Fix race conditions in reactor -- Specify alpine 3.15 in Dockerfile - -### Documentation - -- Abcidump documentation - -### Features - -- Abci protocol parser -- Abci protocol parser - packet capture -- Parse CBOR messages - -### Miscellaneous Tasks - -- Don't fail due to missing bodyclose in go 1.18 -- Remove printing debug stacktrace for a duplicate vote -- Remove redundant mock cons_sync_reactor.go -- Remove github CI docs-toc.yml workflow -- Refactor e2e initialization -- Fix whitespace and comments -- Add unit tests for TestMakeBlockSignID, TestMakeStateSignID, TestMakeVoteExtensionSignIDs -- Some naming modifications -- Add verification for commit vote extension threshold signatures -- Modify a condition in VoteExtSigns2BytesSlices -- Remove recoverableVoteExtensionIndexes -- Some improvements -- Cleanup during self-review -- Remove duplicate test -- Update go.mod -- Update changelog and version to 0.8.0-dev.5 -- Update changelog and version to 0.8.0-dev.5 - -### Refactor - -- Single vote-extension field was modified on multiple ones. support default and threshold-recover types of extensions -- Simplify priv validator initialization code -- Add a centralized way for recovering threshold signatures, add a way of creating sign ids, refactor code to use one way of making sign data and recovering signs -- Standardize the naming of functions, variables -- Add some modifications by RP feedback -- Refactor cbor and apply review feedback -- Move abcidump from scripts/ to cmd/ - -### Security - -- Merge result of tendermint/master with v0.8-dev (#376) - -### Testing - -- Use correct home path in TestRootConfig -- Add cbor test -- Add parse cmd test -- Test parser NewMessageType -- Test parser -- Replace hardcoded input data - -### Backport - -- Upgrade logging to v0.8 -- Update for new logging - -### Build - -- Bump docker/build-push-action from 2.9.0 to 3.0.0 -- Bump docker/login-action from 1.14.1 to 2.0.0 -- Bump docker/setup-buildx-action from 1.6.0 to 2.0.0 -- Use golang 1.18 -- Upgrade golangci-lint to 1.46 -- Bump actions/setup-go from 2 to 3.1.0 -- Bump golangci/golangci-lint-action from 3.1.0 to 3.2.0 -- Bump actions/setup-go from 3.1.0 to 3.2.0 -- Bump github.com/golangci/golangci-lint - -## [0.8.0-dev.4] - 2022-05-04 - -### Bug Fixes - -- Add a missed "info" field to broadcast-tx-response (#369) - -### Miscellaneous Tasks - -- Update changelog and version to 0.8.0-dev.4 (#370) - -### PBTS - -- System model made more precise (#8096) - -### Security - -- Bump bufbuild/buf-setup-action from 1.3.1 to 1.4.0 (#8405) -- Bump codecov/codecov-action from 3.0.0 to 3.1.0 (#8406) -- Bump google.golang.org/grpc from 1.45.0 to 1.46.0 (#8408) -- Bump github.com/vektra/mockery/v2 from 2.12.0 to 2.12.1 (#8417) -- Bump github.com/google/go-cmp from 0.5.7 to 0.5.8 (#8422) -- Bump github.com/creachadair/tomledit from 0.0.18 to 0.0.19 (#8440) -- Bump github.com/btcsuite/btcd from 0.22.0-beta to 0.22.1 (#8439) -- Bump docker/setup-buildx-action from 1.6.0 to 1.7.0 (#8451) - -### Abci - -- Application type should take contexts (#8388) -- Application should return errors errors and nilable response objects (#8396) -- Remove redundant methods in client (#8401) -- Remove unneccessary implementations (#8403) -- Interface should take pointers to arguments (#8404) - -### Abci++ - -- Remove intermediate protos (#8414) -- Vote extension cleanup (#8402) - -### Backport - -- V0.7.1 into v0.8-dev (#361) - -### Blocksync - -- Honor contexts supplied to BlockPool (#8447) - -### Config - -- Minor template infrastructure (#8411) - -### Consensus - -- Reduce size of validator set changes test (#8442) - -### Crypto - -- Remove unused code (#8412) -- Cleanup tmhash package (#8434) - -### Fuzz - -- Don't panic on expected errors (#8423) - -### Node - -- Start rpc service after reactors (#8426) - -### P2p - -- Remove support for multiple transports and endpoints (#8420) -- Use nodeinfo less often (#8427) -- Avoid using p2p.Channel internals (#8444) - -### Privval/grpc - -- Normalize signature (#8441) - -### Rpc - -- Fix byte string decoding for URL parameters (#8431) - -## [0.8.0-dev.3] - 2022-04-22 - -### Miscellaneous Tasks - -- Update changelog and version to 0.8.0-dev.3 - -### Build - -- Bump github.com/vektra/mockery/v2 from 2.11.0 to 2.12.0 (#8393) - -## [0.8.0-dev.2] - 2022-04-22 - -### Bug Fixes - -- Network stuck due to outdated proposal block (#327) -- Don't process WAL logs for old rounds (#331) -- Use thread-safely way to get pro-tx-hash from peer-state (#344) -- Slightly modify a way of interacting with p2p channels in consensus reactor (#357) -- Remove select block to don't block sending a witness response (#336) -- Unsupported priv validator type - dashcore.RPCClient (#353) - -### Miscellaneous Tasks - -- Update changelog and version to 0.7.1 -- If the tenderdash source code is not tracked by git then cloning "develop_0.1" branch as fallback scenario to build a project (#356) -- If the tenderdash source code is not tracked by git then cloning "develop_0.1" branch as fallback scenario to build a project (#355) -- Update changelog and version to 0.8.0-dev.2 (#333) - -### Refactor - -- Consolidate redundant code (#322) - -### Security - -- Bump github.com/lib/pq from 1.10.4 to 1.10.5 (#8283) -- Bump codecov/codecov-action from 2.1.0 to 3.0.0 (#8306) -- Bump actions/setup-go from 2 to 3 (#8305) -- Bump actions/stale from 4 to 5 (#8304) -- Bump actions/download-artifact from 2 to 3 (#8302) -- Bump actions/upload-artifact from 2 to 3 (#8303) -- Bump github.com/creachadair/tomledit from 0.0.11 to 0.0.13 (#8307) -- Bump github.com/vektra/mockery/v2 from 2.10.4 to 2.10.6 (#8346) -- Bump github.com/spf13/viper from 1.10.1 to 1.11.0 (#8344) -- Bump github.com/creachadair/atomicfile from 0.2.4 to 0.2.5 (#8365) -- Bump github.com/vektra/mockery/v2 from 2.10.6 to 2.11.0 (#8374) -- Bump github.com/creachadair/tomledit from 0.0.16 to 0.0.18 (#8392) - -### Testing - -- Update oss-fuzz build script to match reality (#8296) - Convert to Go 1.18 native fuzzing (#8359) - Remove debug logging statement (#8385) +- Use correct home path in TestRootConfig +- Add cbor test +- Add parse cmd test +- Test parser NewMessageType +- Test parser +- Replace hardcoded input data +- Skip broken PBTS tests (#500) -### Abci - -- Avoid having untracked requests in the channel (#8382) -- Streamline grpc application construction (#8383) - -### Abci++ - -- Only include meaningful header fields in data passed-through to application (#8216) -- Sync implementation and spec for vote extensions (#8141) - -### Build - -- Implement full release workflow in the release script (#332) -- Use go install instead of go get. (#8299) -- Implement full release workflow in the release script (#332) (#345) -- Implement full release workflow in the release script (#332) (#345) -- Bump async from 2.6.3 to 2.6.4 in /docs (#8357) - -### Cleanup - -- Unused parameters (#8372) -- Pin get-diff-action uses to major version only, not minor/patch (#8368) - -### Cli - -- Add graceful catches to SIGINT (#8308) -- Simplify resetting commands (#8312) - -### Confix - -- Clean up and document transformations (#8301) -- Remove mempool.version in v0.36 (#8334) -- Convert tx-index.indexer from string to array (#8342) - -### Consensus - -- Add nil check to gossip routine (#8288) - -### Eventbus - -- Publish without contexts (#8369) - -### Events - -- Remove unused event code (#8313) - -### Keymigrate - -- Fix decoding of block-hash row keys (#8294) -- Fix conversion of transaction hash keys (#8352) - -### Node - -- Move handshake out of constructor (#8264) -- Use signals rather than ephemeral contexts (#8376) -- Cleanup setup for indexer and evidence components (#8378) - -### Node+statesync - -- Normalize initialization (#8275) - -### P2p - -- Fix setting in con-tracker (#8370) - -### Pubsub - -- [minor] remove unused stub method (#8316) - -### Rpc - -- Add more nil checks in the status end point (#8287) -- Avoid leaking threads (#8328) -- Reformat method signatures and use a context (#8377) - -### Scmigrate - -- Ensure target key is correctly renamed (#8276) - -### Service - -- Minor cleanup of comments (#8314) - -### State - -- Remove unused weighted time (#8315) - -### Statesync+blocksync - -- Move event publications into the sync operations (#8274) - -## [0.7.1-dev.1] - 2022-04-07 - -### Bug Fixes - -- Remove option c form linux build (#305) -- Cannot read properties of undefined -- Network stuck due to outdated proposal block (#327) -- Don't process WAL logs for old rounds (#331) - -### Documentation - -- Go tutorial fixed for 0.35.0 version (#7329) (#7330) (#7331) -- Update go ws code snippets (#7486) (#7487) -- Remove spec section from v0.35 docs (#7899) - -### Miscellaneous Tasks - -- Temporarily disable ARM build which is broken -- Backport Tendermint 0.35.1 to Tenderdash 0.8 (#309) -- Update CI e2e action workflow (#319) -- Change dockerhub build target -- Inspect context -- Bump golang version -- Remove debug -- Use gha cache from docker -- Revert dev changes -- Remove obsolete cache step - -### Refactor - -- [**breaking**] Replace is-masternode config with mode=validator (#308) -- Add MustPubKeyToProto helper function (#311) -- Implementing LLMQ generator (#310) -- Move bls CI code to a separate action and improve ARM build (#314) -- Persistent kvstore abci (#313) -- Improve statesync.backfill (#316) -- Small improvement in test four add four minus one genesis validators (#318) - -### Security - -- Bump github.com/golangci/golangci-lint from 1.45.0 to 1.45.2 (#8192) -- Bump github.com/adlio/schema from 1.2.3 to 1.3.0 (#8201) -- Bump github.com/vektra/mockery/v2 from 2.10.0 to 2.10.1 (#8226) -- Bump github.com/vektra/mockery/v2 from 2.10.1 to 2.10.2 (#8246) -- Bump github.com/vektra/mockery/v2 from 2.10.2 to 2.10.4 (#8250) -- Bump github.com/BurntSushi/toml from 1.0.0 to 1.1.0 (#8251) - -### Testing - -- Fix validator conn executor test backport -- Update mockery mocks -- Fix test test_abci_cli - -### Abci++ - -- Correct max-size check to only operate on added and unmodified (#8242) - -### Backport - -- Add basic metrics to the indexer package. (#7250) (#7252) - -### Build - -- Bump google.golang.org/grpc from 1.41.0 to 1.42.0 (#7218) -- Bump github.com/lib/pq from 1.10.3 to 1.10.4 -- Bump github.com/tendermint/tm-db from 0.6.4 to 0.6.6 (#7285) -- Bump minimist from 1.2.5 to 1.2.6 in /docs (#8196) -- Bump bufbuild/buf-setup-action from 1.1.0 to 1.3.0 (#8199) -- Bump github.com/spf13/viper from 1.9.0 to 1.10.0 (#7435) -- Bump github.com/adlio/schema from 1.2.2 to 1.2.3 (#7436) -- Bump github.com/spf13/cobra from 1.2.1 to 1.3.0 (#7457) -- Bump github.com/rs/zerolog from 1.26.0 to 1.26.1 (#7467) -- Downgrade tm-db from v0.6.7 to v0.6.6 -- Use Go 1.18 to fix issue building curve25519-voi -- Bump bufbuild/buf-setup-action from 1.3.0 to 1.3.1 (#8245) -- Provide base branch to make as variable (#321) - -### Ci - -- Move test execution to makefile (#7372) (#7374) -- Update mergify for tenderdash 0.8 -- Cleanup build/test targets (backport #7393) (#7395) -- Skip docker image builds during PRs (#7397) (#7398) -- Fix super-linter configuration settings (backport #7708) (#7710) -- Fixes for arm builds - -### Cmd +### Abci -- Cosmetic changes for errors and print statements (#7377) (#7408) -- Add integration test for rollback functionality (backport #7315) (#7369) +- Avoid having untracked requests in the channel (#8382) +- Streamline grpc application construction (#8383) +- Application type should take contexts (#8388) +- Application should return errors errors and nilable response objects (#8396) +- Remove redundant methods in client (#8401) +- Remove unneccessary implementations (#8403) +- Interface should take pointers to arguments (#8404) -### Config +### Abci++ -- Add a Deprecation annotation to P2PConfig.Seeds. (#7496) (#7497) -- Default indexer configuration to null (#8222) +- Sync implementation and spec for vote extensions (#8141) +- Remove intermediate protos (#8414) +- Vote extension cleanup (#8402) -### Consensus +### Backport -- Add some more checks to vote counting (#7253) (#7262) -- Timeout params in toml used as overrides (#8186) -- Additional timing metrics (backport #7849) (#7875) -- Remove string indented function (#8257) -- Avoid panics during handshake (#8266) +- V0.7.1 into v0.8-dev (#361) +- Upgrade logging to v0.8 +- Update for new logging +- Tendermint v0.36 (#446) -### E2e +### Blocksync -- Stabilize validator update form (#7340) (#7351) -- Clarify apphash reporting (#7348) (#7352) -- Generate keys for more stable load (#7344) (#7353) -- App hash test cleanup (0.35 backport) (#7350) -- Fix hashing for app + Fix logic of TestApp_Hash (#8229) +- Honor contexts supplied to BlockPool (#8447) -### Evidence +### Build -- Remove source of non-determinism from test (#7266) (#7268) +- Bump async from 2.6.3 to 2.6.4 in /docs (#8357) +- Bump github.com/vektra/mockery/v2 from 2.11.0 to 2.12.0 (#8393) +- Bump docker/build-push-action from 2.9.0 to 3.0.0 +- Bump docker/login-action from 1.14.1 to 2.0.0 +- Bump docker/setup-buildx-action from 1.6.0 to 2.0.0 +- Use golang 1.18 +- Upgrade golangci-lint to 1.46 +- Bump actions/setup-go from 2 to 3.1.0 +- Bump golangci/golangci-lint-action from 3.1.0 to 3.2.0 +- Bump actions/setup-go from 3.1.0 to 3.2.0 +- Bump github.com/golangci/golangci-lint +- Bump actions/setup-go from 3.2.0 to 3.2.1 +- Bump actions/stale from 5 to 6 +- Bump actions/setup-go from 3.2.1 to 3.3.1 +- Bump bufbuild/buf-setup-action from 1.6.0 to 1.9.0 +- Bump docker/setup-buildx-action from 2.0.0 to 2.2.1 +- Bump golangci/golangci-lint-action from 3.2.0 to 3.3.0 +- Remove unused nightly test runs (#499) +- Save e2e failure logs as artifact (#508) +- Bump golangci/golangci-lint-action from 3.3.0 to 3.3.1 (#504) +- Update go.mod +- Fix missing dependencies in lint and tests +- Fix superlinter yaml issues +- Improve release script for v0.8 (#520) -### Internal/libs/protoio +### Cleanup -- Optimize MarshalDelimited by plain byteslice allocations+sync.Pool (#7325) (#7426) +- Unused parameters (#8372) +- Pin get-diff-action uses to major version only, not minor/patch (#8368) -### Internal/proxy +### Config -- Add initial set of abci metrics backport (#7342) +- Minor template infrastructure (#8411) -### Light +### Confix -- Remove untracked close channel (#8228) +- Convert tx-index.indexer from string to array (#8342) -### Lint +### Consensus -- Remove lll check (#7346) (#7357) -- Bump linter version in ci (#8234) +- Reduce size of validator set changes test (#8442) -### Migration +### Crypto -- Remove stale seen commits (#8205) +- Remove unused code (#8412) +- Cleanup tmhash package (#8434) -### Node +### Eventbus -- Remove channel and peer update initialization from construction (#8238) -- Reorder service construction (#8262) +- Publish without contexts (#8369) -### P2p +### Fuzz -- Reduce peer score for dial failures (backport #7265) (#7271) -- Plumb rudamentary service discovery to rectors and update statesync (backport #8030) (#8036) -- Update shim to transfer information about peers (#8047) -- Inject nodeinfo into router (#8261) +- Don't panic on expected errors (#8423) -### Pubsub +### Keymigrate -- Report a non-nil error when shutting down. (#7310) +- Fix conversion of transaction hash keys (#8352) -### Rpc +### Node -- Backport experimental buffer size control parameters from #7230 (tm v0.35.x) (#7276) -- Implement header and header_by_hash queries (backport #7270) (#7367) +- Use signals rather than ephemeral contexts (#8376) +- Cleanup setup for indexer and evidence components (#8378) +- Start rpc service after reactors (#8426) -### State +### P2p -- Avoid premature genericism (#8224) +- Fix setting in con-tracker (#8370) +- Remove support for multiple transports and endpoints (#8420) +- Use nodeinfo less often (#8427) +- Avoid using p2p.Channel internals (#8444) -### Statesync +### Privval/grpc -- Assert app version matches (backport #7856) (#7886) -- Avoid compounding retry logic for fetching consensus parameters (backport #8032) (#8041) -- Merge channel processing (#8240) -- Tweak test performance (#8267) +- Normalize signature (#8441) -### Types +### Rpc -- Fix path handling in node key tests (#7493) (#7502) +- Reformat method signatures and use a context (#8377) +- Fix byte string decoding for URL parameters (#8431) -## [0.8.0-dev.1] - 2022-03-24 +## [0.7.1] - 2022-04-14 ### ABCI++ @@ -1003,6 +530,12 @@ ### Bug Fixes - Backport e2e tests (#248) +- Remove option c form linux build (#305) +- Cannot read properties of undefined +- Network stuck due to outdated proposal block (#327) +- Don't process WAL logs for old rounds (#331) +- Network stuck due to outdated proposal block (#327) +- Don't process WAL logs for old rounds (#331) ### Docs @@ -1012,14 +545,36 @@ - Add an overview of the proposer-based timestamps algorithm (#8058) - PBTS synchrony issues runbook (#8129) +- Go tutorial fixed for 0.35.0 version (#7329) (#7330) (#7331) +- Update go ws code snippets (#7486) (#7487) +- Remove spec section from v0.35 docs (#7899) ### Miscellaneous Tasks - Stabilize consensus algorithm (#284) +- Temporarily disable ARM build which is broken +- Backport Tendermint 0.35.1 to Tenderdash 0.8 (#309) +- Update CI e2e action workflow (#319) +- Change dockerhub build target +- Inspect context +- Bump golang version +- Remove debug +- Use gha cache from docker +- Revert dev changes +- Remove obsolete cache step +- Update changelog and version to 0.7.1 ### Refactor - Replace several functions with an identical body (processStateCh,processDataCh,processVoteCh,processVoteSetBitsCh) on one function processMsgCh (#296) +- [**breaking**] Replace is-masternode config with mode=validator (#308) +- Add MustPubKeyToProto helper function (#311) +- Implementing LLMQ generator (#310) +- Move bls CI code to a separate action and improve ARM build (#314) +- Persistent kvstore abci (#313) +- Improve statesync.backfill (#316) +- Small improvement in test four add four minus one genesis validators (#318) +- Consolidate redundant code (#322) ### Security @@ -1032,11 +587,28 @@ - Bump gaurav-nelson/github-action-markdown-link-check from 1.0.13 to 1.0.14 (#8166) - Bump docker/build-push-action from 2.9.0 to 2.10.0 (#8167) - Bump github.com/golangci/golangci-lint from 1.44.2 to 1.45.0 (#8169) +- Bump github.com/golangci/golangci-lint from 1.45.0 to 1.45.2 (#8192) +- Bump github.com/adlio/schema from 1.2.3 to 1.3.0 (#8201) +- Bump github.com/vektra/mockery/v2 from 2.10.0 to 2.10.1 (#8226) +- Bump github.com/vektra/mockery/v2 from 2.10.1 to 2.10.2 (#8246) +- Bump github.com/vektra/mockery/v2 from 2.10.2 to 2.10.4 (#8250) +- Bump github.com/BurntSushi/toml from 1.0.0 to 1.1.0 (#8251) +- Bump github.com/lib/pq from 1.10.4 to 1.10.5 (#8283) +- Bump codecov/codecov-action from 2.1.0 to 3.0.0 (#8306) +- Bump actions/setup-go from 2 to 3 (#8305) +- Bump actions/stale from 4 to 5 (#8304) +- Bump actions/download-artifact from 2 to 3 (#8302) +- Bump actions/upload-artifact from 2 to 3 (#8303) +- Bump github.com/creachadair/tomledit from 0.0.11 to 0.0.13 (#8307) ### Testing - Logger cleanup (#8153) - KeepInvalidTxsInCache test is invalid +- Fix validator conn executor test backport +- Update mockery mocks +- Fix test test_abci_cli +- Update oss-fuzz build script to match reality (#8296) ### Abci @@ -1047,12 +619,18 @@ - Synchronize PrepareProposal with the newest version of the spec (#8094) - Remove app_signed_updates (#8128) - Remove CheckTx call from PrepareProposal flow (#8176) +- Correct max-size check to only operate on added and unmodified (#8242) +- Only include meaningful header fields in data passed-through to application (#8216) ### Autofile - Reduce minor panic and docs changes (#8122) - Remove vestigal close mechanism (#8150) +### Backport + +- Add basic metrics to the indexer package. (#7250) (#7252) + ### Blocksync - Drop redundant shutdown mechanisms (#8136) @@ -1062,14 +640,57 @@ - Bump docker/login-action from 1.13.0 to 1.14.1 - Bump golangci/golangci-lint-action from 2.5.2 to 3.1.0 +- Bump google.golang.org/grpc from 1.41.0 to 1.42.0 (#7218) +- Bump github.com/lib/pq from 1.10.3 to 1.10.4 +- Bump github.com/tendermint/tm-db from 0.6.4 to 0.6.6 (#7285) +- Bump minimist from 1.2.5 to 1.2.6 in /docs (#8196) +- Bump bufbuild/buf-setup-action from 1.1.0 to 1.3.0 (#8199) +- Bump github.com/spf13/viper from 1.9.0 to 1.10.0 (#7435) +- Bump github.com/adlio/schema from 1.2.2 to 1.2.3 (#7436) +- Bump github.com/spf13/cobra from 1.2.1 to 1.3.0 (#7457) +- Bump github.com/rs/zerolog from 1.26.0 to 1.26.1 (#7467) +- Downgrade tm-db from v0.6.7 to v0.6.6 +- Use Go 1.18 to fix issue building curve25519-voi +- Bump bufbuild/buf-setup-action from 1.3.0 to 1.3.1 (#8245) +- Provide base branch to make as variable (#321) +- Implement full release workflow in the release script (#332) +- Use go install instead of go get. (#8299) +- Implement full release workflow in the release script (#332) (#345) +- Implement full release workflow in the release script (#332) (#345) + +### Ci + +- Move test execution to makefile (#7372) (#7374) +- Update mergify for tenderdash 0.8 +- Cleanup build/test targets (backport #7393) (#7395) +- Skip docker image builds during PRs (#7397) (#7398) +- Fix super-linter configuration settings (backport #7708) (#7710) +- Fixes for arm builds ### Cleanup - Remove commented code (#8123) +### Cli + +- Add graceful catches to SIGINT (#8308) +- Simplify resetting commands (#8312) + ### Cmd - Make reset more safe (#8081) +- Cosmetic changes for errors and print statements (#7377) (#7408) +- Add integration test for rollback functionality (backport #7315) (#7369) + +### Config + +- Add a Deprecation annotation to P2PConfig.Seeds. (#7496) (#7497) +- Default indexer configuration to null (#8222) + +### Confix + +- Clean up and document transformations (#8301) +- Remove mempool.version in v0.36 (#8334) ### Consensus @@ -1086,14 +707,42 @@ - Cleanup tempfile explictly (#8184) - Add leaktest check to replay tests (#8185) - Update state machine to use the new consensus params (#8181) +- Add some more checks to vote counting (#7253) (#7262) +- Timeout params in toml used as overrides (#8186) +- Additional timing metrics (backport #7849) (#7875) +- Remove string indented function (#8257) +- Avoid panics during handshake (#8266) +- Add nil check to gossip routine (#8288) + +### E2e + +- Stabilize validator update form (#7340) (#7351) +- Clarify apphash reporting (#7348) (#7352) +- Generate keys for more stable load (#7344) (#7353) +- App hash test cleanup (0.35 backport) (#7350) +- Fix hashing for app + Fix logic of TestApp_Hash (#8229) ### Events - Remove service aspects of event switch (#8146) +- Remove unused event code (#8313) ### Evidence -- Manage and initialize state objects more clearly in the pool (#8080) +- Manage and initialize state objects more clearly in the pool (#8080) +- Remove source of non-determinism from test (#7266) (#7268) + +### Internal/libs/protoio + +- Optimize MarshalDelimited by plain byteslice allocations+sync.Pool (#7325) (#7426) + +### Internal/proxy + +- Add initial set of abci metrics backport (#7342) + +### Keymigrate + +- Fix decoding of block-hash row keys (#8294) ### Libs/clist @@ -1107,11 +756,24 @@ - Remove Must constructor (#8120) +### Light + +- Remove untracked close channel (#8228) + +### Lint + +- Remove lll check (#7346) (#7357) +- Bump linter version in ci (#8234) + ### Mempool - Test harness should expose application (#8143) - Reduce size of test (#8152) +### Migration + +- Remove stale seen commits (#8205) + ### Node - Excise node handle within rpc env (#8063) @@ -1119,12 +781,23 @@ - Pass eventbus at construction time (#8084) - Cleanup evidence db (#8119) - Always sync with the application at startup (#8159) +- Remove channel and peer update initialization from construction (#8238) +- Reorder service construction (#8262) +- Move handshake out of constructor (#8264) + +### Node+statesync + +- Normalize initialization (#8275) ### P2p - Update polling interval calculation for PEX requests (#8106) - Remove unnecessary panic handling in PEX reactor (#8110) - Adjust max non-persistent peer score (#8137) +- Reduce peer score for dial failures (backport #7265) (#7271) +- Plumb rudamentary service discovery to rectors and update statesync (backport #8030) (#8036) +- Update shim to transfer information about peers (#8047) +- Inject nodeinfo into router (#8261) ### P2p+flowrate @@ -1138,6 +811,11 @@ - Collapse triforcated abci.Client (#8067) +### Pubsub + +- Report a non-nil error when shutting down. (#7310) +- [minor] remove unused stub method (#8316) + ### Readme - Add vocdoni (#8117) @@ -1150,25 +828,48 @@ - Cleanup second node during test (#8175) +### Rpc + +- Backport experimental buffer size control parameters from #7230 (tm v0.35.x) (#7276) +- Implement header and header_by_hash queries (backport #7270) (#7367) +- Add more nil checks in the status end point (#8287) +- Avoid leaking threads (#8328) + +### Scmigrate + +- Ensure target key is correctly renamed (#8276) + ### Service - Add NopService and use for PexReactor (#8100) +- Minor cleanup of comments (#8314) ### State - Avoid panics for marshaling errors (#8125) - Panic on ResponsePrepareProposal validation error (#8145) - Propogate error from state store (#8171) +- Avoid premature genericism (#8224) +- Remove unused weighted time (#8315) ### Statesync - Avoid leaking a thread during tests (#8085) +- Assert app version matches (backport #7856) (#7886) +- Avoid compounding retry logic for fetching consensus parameters (backport #8032) (#8041) +- Merge channel processing (#8240) +- Tweak test performance (#8267) + +### Statesync+blocksync + +- Move event publications into the sync operations (#8274) ### Types - Update synchrony params to match checked in proto (#8142) - Minor cleanup of un or minimally used types (#8154) - Add TimeoutParams into ConsensusParams structs (#8177) +- Fix path handling in node key tests (#7493) (#7502) ## [0.35.2] - 2022-03-02 @@ -1208,7 +909,6 @@ ### Miscellaneous Tasks -- Update changelog and version to 0.7.0 - Update unit tests after backport fo tendermint v0.35 (#245) - Backport Tenderdash 0.7 to 0.8 (#246) - Fix e2e tests and protxhash population (#273) @@ -1315,7 +1015,6 @@ ### Consensus -- Use buffered channel in TestStateFullRound1 (#7668) - Remove unused closer construct (#7734) - Delay start of peer routines (#7753) - Delay start of peer routines (backport of #7753) (#7760) @@ -1427,10 +1126,6 @@ - Changed evidence message to contain evidence, not a list… (#394) -### Params - -- Increase default synchrony params (#7704) - ### Proto - Merge the proposer-based timestamps parameters (#393) @@ -1452,294 +1147,97 @@ - Update to better reflect v0.36 changes (#7774) -### Rpc - -- Add application info to `status` call (#7701) -- Remove unused websocket options (#7712) -- Clean up unused non-default websocket client options (#7713) -- Don't route websocket-only methods on GET requests (#7715) -- Clean up encoding of request and response messages (#7721) -- Simplify and consolidate response construction (#7725) -- Clean up unmarshaling of batch-valued responses (#7728) -- Simplify the handling of JSON-RPC request and response IDs (#7738) -- Fix layout of endpoint list (#7742) -- Fix layout of endpoint list (#7742) (#7744) -- Remove the placeholder RunState type. (#7749) -- Allow GET parameters that support encoding.TextUnmarshaler (#7800) -- Remove unused latency metric (#7810) -- Implement the eventlog defined by ADR 075 (#7825) -- Implement the ADR 075 /events method (#7965) -- Set a minimum long-polling interval for Events (#8050) - -### Rpc/client - -- Add Events method to the client interface (#7982) -- Rewrite the WaitForOneEvent helper (#7986) -- Add eventstream helper (#7987) - -### Service - -- Change stop interface (#7816) - -### Spec - -- Merge spec repo into tendermint repo (#7804) -- Merge spec repo into tendermint repo (#7804) -- Minor updates to spec merge PR (#7835) - -### State - -- Synchronize the ProcessProposal implementation with the latest version of the spec (#7961) - -### Statesync - -- Relax timing (#7819) -- Assert app version matches (#7856) -- Assert app version matches (backport #7856) (#7886) -- Avoid compounding retry logic for fetching consensus parameters (#8032) -- Avoid compounding retry logic for fetching consensus parameters (backport #8032) (#8041) - -### Sync+p2p - -- Remove closer (#7805) - -### Types - -- Make timely predicate adaptive after 10 rounds (#7739) -- Remove nested evidence field from block (#7765) -- Add string format to 64-bit integer JSON fields (#7787) -- Add default values for the synchrony parameters (#7788) - -### Types/events+evidence - -- Emit events + metrics on evidence validation (#7802) - -## [0.35.1] - 2022-01-26 - -### ABCI++ - -- Major refactor of spec's structure. Addressed Josef's comments. Merged ABCI's methods and data structs that didn't change. Added introductory paragraphs -- Found a solution to set the execution mode - -### ADR-74 - -- Migrate Timeout Parameters to Consensus Parameters (#7503) - -### Documentation - -- Fixup the builtin tutorial (#7488) - -### Miscellaneous Tasks - -- Create only 1 proof block by default -- Release script and initial changelog (#250) -- [**breaking**] Bump ABCI version and update release.sh to change TMVersionDefault automatically (#253) -- Eliminate compile errors after backport of tendermint 0.35 (#238) - -### RFC-009 - -- Consensus Parameter Upgrades (#7524) - -### Security - -- Bump github.com/BurntSushi/toml from 0.4.1 to 1.0.0 (#7562) -- Bump docker/build-push-action from 2.7.0 to 2.8.0 (#7679) -- Bump github.com/vektra/mockery/v2 from 2.9.4 to 2.10.0 (#7685) -- Bump github.com/golangci/golangci-lint from 1.43.0 to 1.44.0 (#7692) - -### Testing - -- Pass testing.T around rather than errors for test fixtures (#7518) -- Uniquify prom IDs (#7540) -- Remove in-test logging (#7558) -- Use noop loger with leakteset in more places (#7604) -- Update docker versions to match build version (#7646) -- Update cleanup opertunities (#7647) -- Reduce timeout to 4m from 8m (#7681) - -### Abci - -- Socket server shutdown response handler (#7547) - -### Abci/client - -- Use a no-op logger in the test (#7633) -- Simplify client interface (#7607) - -### Autofile - -- Ensure files are not reopened after closing (#7628) -- Avoid shutdown race (#7650) - -### Blocksync - -- Standardize construction process (#7531) - -### Build - -- Bump technote-space/get-diff-action from 5 to 6.0.1 (#7535) -- Bump github.com/BurntSushi/toml from 0.4.1 to 1.0.0 (#7560) -- Make sure to test packages with external tests (#7608) -- Make sure to test packages with external tests (backport #7608) (#7635) -- Bump github.com/prometheus/client_golang (#7636) -- Bump github.com/prometheus/client_golang (#7637) -- Bump docker/build-push-action from 2.7.0 to 2.8.0 (#389) -- Bump github.com/prometheus/client_golang (#249) -- Bump github.com/BurntSushi/toml from 0.4.1 to 1.0.0 -- Bump vuepress-theme-cosmos from 1.0.182 to 1.0.183 in /docs (#7680) -- Bump github.com/vektra/mockery/v2 from 2.9.4 to 2.10.0 (#7684) -- Bump google.golang.org/grpc from 1.43.0 to 1.44.0 (#7693) -- Bump github.com/golangci/golangci-lint (#7696) -- Bump google.golang.org/grpc from 1.43.0 to 1.44.0 (#7695) - -### Clist - -- Reduce size of test workload for clist implementation (#7682) - -### Consensus - -- Use noop logger for WAL test (#7580) -- Explicit test timeout (#7585) -- Test shutdown to avoid hangs (#7603) -- Calculate prevote message delay metric (#7551) -- Check proposal non-nil in prevote message delay metric (#7625) -- Calculate prevote message delay metric (backport #7551) (#7618) -- Check proposal non-nil in prevote message delay metric (#7625) (#7632) -- Use delivertxsync (#7616) -- Fix height advances in test state (#7648) - -### Consensus/state - -- Avert a data race with state update and tests (#7643) - -### Evidence - -- Reactor constructor (#7533) - -### Internal/libs - -- Delete unused functionality (#7569) - -### Jsontypes - -- Improve tests and error diagnostics (#7669) - -### Light - -- Avoid panic for integer underflow (#7589) -- Remove test panic (#7588) -- Convert validation panics to errors (#7597) -- Fix provider error plumbing (#7610) -- Return light client status on rpc /status (#7536) - -### Log - -- Remove support for traces (#7542) -- Avoid use of legacy test logging (#7583) - -### Logging - -- Remove reamining instances of SetLogger interface (#7572) - -### Mempool - -- Refactor mempool constructor (#7530) -- Reactor concurrency test tweaks (#7651) - -### Node - -- New concrete type for seed node implementation (#7521) -- Move seed node implementation to its own file (#7566) -- Collapse initialization internals (#7567) +### Rpc -### Node+autofile +- Add application info to `status` call (#7701) +- Remove unused websocket options (#7712) +- Clean up unused non-default websocket client options (#7713) +- Don't route websocket-only methods on GET requests (#7715) +- Clean up encoding of request and response messages (#7721) +- Simplify and consolidate response construction (#7725) +- Clean up unmarshaling of batch-valued responses (#7728) +- Simplify the handling of JSON-RPC request and response IDs (#7738) +- Fix layout of endpoint list (#7742) +- Fix layout of endpoint list (#7742) (#7744) +- Remove the placeholder RunState type. (#7749) +- Allow GET parameters that support encoding.TextUnmarshaler (#7800) +- Remove unused latency metric (#7810) +- Implement the eventlog defined by ADR 075 (#7825) +- Implement the ADR 075 /events method (#7965) +- Set a minimum long-polling interval for Events (#8050) -- Avoid leaks detected during WAL shutdown (#7599) +### Rpc/client -### Node+privval +- Add Events method to the client interface (#7982) +- Rewrite the WaitForOneEvent helper (#7986) +- Add eventstream helper (#7987) -- Refactor privval construction (#7574) +### Service -### Node+rpc +- Change stop interface (#7816) -- Rpc environment should own it's creation (#7573) +### Spec -### P2p +- Merge spec repo into tendermint repo (#7804) +- Merge spec repo into tendermint repo (#7804) +- Minor updates to spec merge PR (#7835) -- Always advertise self, to enable mutual address discovery (#7620) -- Always advertise self, to enable mutual address discovery (#7594) +### State -### Pex +- Synchronize the ProcessProposal implementation with the latest version of the spec (#7961) -- Regularize reactor constructor (#7532) -- Avert a data race on map access in the reactor (#7614) -- Do not send nil envelopes to the reactor (#7622) -- Improve handling of closed channels (#7623) +### Statesync -### Privval +- Relax timing (#7819) +- Assert app version matches (#7856) +- Assert app version matches (backport #7856) (#7886) +- Avoid compounding retry logic for fetching consensus parameters (#8032) +- Avoid compounding retry logic for fetching consensus parameters (backport #8032) (#8041) -- Improve client shutdown to prevent resource leak (#7544) -- Synchronize leak check with shutdown (#7629) -- Do not use old proposal timestamp (#7621) -- Avoid re-signing vote when RHS and signbytes are equal (#7592) +### Sync+p2p -### Protoio +- Remove closer (#7805) -- Fix incorrect test assertion (#7606) +### Types -### Pubsub +- Make timely predicate adaptive after 10 rounds (#7739) +- Remove nested evidence field from block (#7765) +- Add string format to 64-bit integer JSON fields (#7787) +- Add default values for the synchrony parameters (#7788) -- Use concrete queries instead of an interface (#7686) +### Types/events+evidence -### Reactors +- Emit events + metrics on evidence validation (#7802) -- Skip log on some routine cancels (#7556) +## [0.7.0] - 2022-01-27 -### Rpc +### Miscellaneous Tasks -- Remove positional parameter encoding from clients (#7545) -- Collapse Caller and HTTPClient interfaces. (#7548) -- Simplify the JSON-RPC client Caller interface (#7549) -- Replace anonymous arguments with structured types (#7552) -- Refactor the HTTP POST handler (#7555) -- Replace custom context-like argument with context.Context (#7559) -- Remove cache control settings from the HTTP server (#7568) -- Fix mock test cases (#7571) -- Rework how responses are written back via HTTP (#7575) -- Simplify panic recovery in the server middleware (#7578) -- Consolidate RPC route map construction (#7582) -- Clean up the RPCFunc constructor signature (#7586) -- Check RPC service functions more carefully (#7587) -- Update fuzz criteria to match the implementation (#7595) -- Remove dependency of URL (GET) requests on tmjson (#7590) -- Simplify the encoding of interface-typed arguments in JSON (#7600) -- Paginate mempool /unconfirmed_txs endpoint (#7612) -- Use encoding/json rather than tmjson (#7670) -- Check error code for broadcast_tx_commit (#7683) -- Check error code for broadcast_tx_commit (#7683) (#7688) +- Update changelog and version to 0.7.0 -### Service +### Consensus -- Avoid debug logs before error (#7564) +- Use buffered channel in TestStateFullRound1 (#7668) -### Statesync +### Params -- Reactor and channel construction (#7529) -- Use specific testing.T logger for tests (#7543) -- Clarify test cleanup (#7565) -- SyncAny test buffering (#7570) -- More orderly dispatcher shutdown (#7601) +- Increase default synchrony params (#7704) -### Types +## [0.35.1] - 2022-01-26 -- Rename and extend the EventData interface (#7687) +### ABCI++ -## [0.7.0-dev.6] - 2022-01-07 +- Major refactor of spec's structure. Addressed Josef's comments. Merged ABCI's methods and data structs that didn't change. Added introductory paragraphs +- Found a solution to set the execution mode ### ADR - Update the proposer-based timestamp spec per discussion with @cason (#7153) +### ADR-74 + +- Migrate Timeout Parameters to Consensus Parameters (#7503) + ### Bug Fixes - Panic on precommits does not have any +2/3 votes @@ -1758,6 +1256,7 @@ - Go tutorial fixed for 0.35.0 version (#7329) (#7330) (#7331) - Update go ws code snippets (#7486) - Update go ws code snippets (#7486) (#7487) +- Fixup the builtin tutorial (#7488) ### Features @@ -1767,11 +1266,22 @@ - Inter-validator set communication (#187) - Add create_proof_block_range config option (#243) +### Miscellaneous Tasks + +- Create only 1 proof block by default +- Release script and initial changelog (#250) +- [**breaking**] Bump ABCI version and update release.sh to change TMVersionDefault automatically (#253) +- Eliminate compile errors after backport of tendermint 0.35 (#238) + ### PBTS - New minimal set of changes in consensus algorithm (#369) - New system model and problem statement (#375) +### RFC-009 + +- Consensus Parameter Upgrades (#7524) + ### RFC006 - Semantic Versioning (#365) @@ -1794,6 +1304,10 @@ - Bump google.golang.org/grpc from 1.42.0 to 1.43.0 (#7455) - Bump github.com/spf13/viper from 1.10.0 to 1.10.1 (#7470) - Bump docker/login-action from 1.10.0 to 1.12.0 (#7494) +- Bump github.com/BurntSushi/toml from 0.4.1 to 1.0.0 (#7562) +- Bump docker/build-push-action from 2.7.0 to 2.8.0 (#7679) +- Bump github.com/vektra/mockery/v2 from 2.9.4 to 2.10.0 (#7685) +- Bump github.com/golangci/golangci-lint from 1.43.0 to 1.44.0 (#7692) ### Testing @@ -1803,6 +1317,22 @@ - Pass testing.T to assert and require always, assertion cleanup (#7508) - Remove background contexts (#7509) - Remove panics from test fixtures (#7522) +- Pass testing.T around rather than errors for test fixtures (#7518) +- Uniquify prom IDs (#7540) +- Remove in-test logging (#7558) +- Use noop loger with leakteset in more places (#7604) +- Update docker versions to match build version (#7646) +- Update cleanup opertunities (#7647) +- Reduce timeout to 4m from 8m (#7681) + +### Abci + +- Socket server shutdown response handler (#7547) + +### Abci/client + +- Use a no-op logger in the test (#7633) +- Simplify client interface (#7607) ### Acbi @@ -1812,10 +1342,19 @@ - Lib2p implementation plan (#7282) +### Autofile + +- Ensure files are not reopened after closing (#7628) +- Avoid shutdown race (#7650) + ### Backport - Add basic metrics to the indexer package. (#7250) (#7252) +### Blocksync + +- Standardize construction process (#7531) + ### Build - Bump google.golang.org/grpc from 1.41.0 to 1.42.0 (#7218) @@ -1845,6 +1384,20 @@ - Bump docker/login-action from 1.11.0 to 1.12.0 (#380) - Bump github.com/rs/cors from 1.8.0 to 1.8.2 (#7484) - Bump github.com/rs/cors from 1.8.0 to 1.8.2 (#7485) +- Bump technote-space/get-diff-action from 5 to 6.0.1 (#7535) +- Bump github.com/BurntSushi/toml from 0.4.1 to 1.0.0 (#7560) +- Make sure to test packages with external tests (#7608) +- Make sure to test packages with external tests (backport #7608) (#7635) +- Bump github.com/prometheus/client_golang (#7636) +- Bump github.com/prometheus/client_golang (#7637) +- Bump docker/build-push-action from 2.7.0 to 2.8.0 (#389) +- Bump github.com/prometheus/client_golang (#249) +- Bump github.com/BurntSushi/toml from 0.4.1 to 1.0.0 +- Bump vuepress-theme-cosmos from 1.0.182 to 1.0.183 in /docs (#7680) +- Bump github.com/vektra/mockery/v2 from 2.9.4 to 2.10.0 (#7684) +- Bump google.golang.org/grpc from 1.43.0 to 1.44.0 (#7693) +- Bump github.com/golangci/golangci-lint (#7696) +- Bump google.golang.org/grpc from 1.43.0 to 1.44.0 (#7695) ### Ci @@ -1857,6 +1410,10 @@ - Skip docker image builds during PRs (#7397) (#7398) - Tweak e2e configuration (#7400) +### Clist + +- Reduce size of test workload for clist implementation (#7682) + ### Cmd - Add integration test and fix bug in rollback command (#7315) @@ -1874,11 +1431,24 @@ - Add some more checks to vote counting (#7253) - Add some more checks to vote counting (#7253) (#7262) - Remove reactor options (#7526) +- Use noop logger for WAL test (#7580) +- Explicit test timeout (#7585) +- Test shutdown to avoid hangs (#7603) +- Calculate prevote message delay metric (#7551) +- Check proposal non-nil in prevote message delay metric (#7625) +- Calculate prevote message delay metric (backport #7551) (#7618) +- Check proposal non-nil in prevote message delay metric (#7625) (#7632) +- Use delivertxsync (#7616) +- Fix height advances in test state (#7648) ### Consensus+p2p - Change how consensus reactor is constructed (#7525) +### Consensus/state + +- Avert a data race with state update and tests (#7643) + ### Contexts - Remove all TODO instances (#7466) @@ -1915,6 +1485,11 @@ - Remove source of non-determinism from test (#7266) - Remove source of non-determinism from test (#7266) (#7268) +- Reactor constructor (#7533) + +### Internal/libs + +- Delete unused functionality (#7569) ### Internal/libs/protoio @@ -1925,6 +1500,10 @@ - Add initial set of abci metrics backport (#7342) +### Jsontypes + +- Improve tests and error diagnostics (#7669) + ### Libs/os - Remove arbitrary os.Exit (#7284) @@ -1941,6 +1520,11 @@ ### Light - Remove global context from tests (#7505) +- Avoid panic for integer underflow (#7589) +- Remove test panic (#7588) +- Convert validation panics to errors (#7597) +- Fix provider error plumbing (#7610) +- Return light client status on rpc /status (#7536) ### Lint @@ -1950,19 +1534,42 @@ ### Log - Dissallow nil loggers (#7445) +- Remove support for traces (#7542) +- Avoid use of legacy test logging (#7583) + +### Logging + +- Remove reamining instances of SetLogger interface (#7572) ### Mempool - Avoid arbitrary background contexts (#7409) +- Refactor mempool constructor (#7530) +- Reactor concurrency test tweaks (#7651) ### Node - Minor package cleanups (#7444) +- New concrete type for seed node implementation (#7521) +- Move seed node implementation to its own file (#7566) +- Collapse initialization internals (#7567) + +### Node+autofile + +- Avoid leaks detected during WAL shutdown (#7599) ### Node+consensus - Handshaker initialization (#7283) +### Node+privval + +- Refactor privval construction (#7574) + +### Node+rpc + +- Rpc environment should own it's creation (#7573) + ### P2p - Reduce peer score for dial failures (#7265) @@ -1973,6 +1580,8 @@ - Migrate to use new interface for channel errors (#7403) - Refactor channel Send/out (#7414) - Use recieve for channel iteration (#7425) +- Always advertise self, to enable mutual address discovery (#7620) +- Always advertise self, to enable mutual address discovery (#7594) ### P2p/upnp @@ -1981,11 +1590,19 @@ ### Pex - Improve goroutine lifecycle (#7343) +- Regularize reactor constructor (#7532) +- Avert a data race on map access in the reactor (#7614) +- Do not send nil envelopes to the reactor (#7622) +- Improve handling of closed channels (#7623) ### Privval - Remove panics in privval implementation (#7475) - Improve test hygine (#7511) +- Improve client shutdown to prevent resource leak (#7544) +- Synchronize leak check with shutdown (#7629) +- Do not use old proposal timestamp (#7621) +- Avoid re-signing vote when RHS and signbytes are equal (#7592) ### Proto @@ -1993,11 +1610,20 @@ - Abci++ changes (#348) - Rebuild the proto files from the spec repository (#7291) +### Protoio + +- Fix incorrect test assertion (#7606) + ### Pubsub - Move indexing out of the primary subscription path (#7231) - Report a non-nil error when shutting down. (#7310) - Make the queue unwritable after shutdown. (#7316) +- Use concrete queries instead of an interface (#7686) + +### Reactors + +- Skip log on some routine cancels (#7556) ### Rfc @@ -2010,6 +1636,26 @@ - Backport experimental buffer size control parameters from #7230 (tm v0.35.x) (#7276) - Implement header and header_by_hash queries (#7270) - Implement header and header_by_hash queries (backport #7270) (#7367) +- Remove positional parameter encoding from clients (#7545) +- Collapse Caller and HTTPClient interfaces. (#7548) +- Simplify the JSON-RPC client Caller interface (#7549) +- Replace anonymous arguments with structured types (#7552) +- Refactor the HTTP POST handler (#7555) +- Replace custom context-like argument with context.Context (#7559) +- Remove cache control settings from the HTTP server (#7568) +- Fix mock test cases (#7571) +- Rework how responses are written back via HTTP (#7575) +- Simplify panic recovery in the server middleware (#7578) +- Consolidate RPC route map construction (#7582) +- Clean up the RPCFunc constructor signature (#7586) +- Check RPC service functions more carefully (#7587) +- Update fuzz criteria to match the implementation (#7595) +- Remove dependency of URL (GET) requests on tmjson (#7590) +- Simplify the encoding of interface-typed arguments in JSON (#7600) +- Paginate mempool /unconfirmed_txs endpoint (#7612) +- Use encoding/json rather than tmjson (#7670) +- Check error code for broadcast_tx_commit (#7683) +- Check error code for broadcast_tx_commit (#7683) (#7688) ### Service @@ -2020,6 +1666,7 @@ - Remove exported logger from base implemenation (#7381) - Cleanup close channel in reactors (#7399) - Cleanup mempool and peer update shutdown (#7401) +- Avoid debug logs before error (#7564) ### State @@ -2028,6 +1675,11 @@ ### Statesync - Assert app version matches (#7463) +- Reactor and channel construction (#7529) +- Use specific testing.T logger for tests (#7543) +- Clarify test cleanup (#7565) +- SyncAny test buffering (#7570) +- More orderly dispatcher shutdown (#7601) ### Sync @@ -2047,6 +1699,7 @@ - Fix path handling in node key tests (#7493) (#7502) - Remove panic from block methods (#7501) - Tests should not panic (#7506) +- Rename and extend the EventData interface (#7687) ## [0.35.0] - 2021-11-04 @@ -2135,13 +1788,25 @@ ## [0.35.0-rc4] - 2021-10-29 +### Bug Fixes + +- Accessing validator state safetly +- Safe state access in TestValidProposalChainLocks +- Safe state access in TestReactorInvalidBlockChainLock +- Safe state access in TestReactorInvalidBlockChainLock +- Seeds should not hang when disconnected from all nodes + ### Documentation +- Add roadmap to repo (#7107) +- Add reactor sections (#6510) +- Add reactor sections (backport #6510) (#7151) - Fix broken links and layout (#7154) - Fix broken links and layout (#7154) (#7163) ### Security +- Bump actions/checkout from 2.3.4 to 2.3.5 (#7139) - Bump prismjs from 1.23.0 to 1.25.0 in /docs (#7168) - Bump postcss from 7.0.35 to 7.0.39 in /docs (#7167) - Bump ws from 6.2.1 to 6.2.2 in /docs (#7165) @@ -2157,12 +1822,19 @@ - Fix readme link (#7173) +### Blocksync + +- Remove v0 folder structure (#7128) + ### Buf +- Modify buf.yml, add buf generate (#5653) - Modify buf.yml, add buf generate (#5653) ### Build +- Bump rtCamp/action-slack-notify from 2.1.1 to 2.2.0 +- Fix proto-lint step in Makefile - Fix proto-lint step in Makefile ### Config @@ -2171,64 +1843,16 @@ - Expose ability to write config to arbitrary paths (#7174) - Backport file writing changes (#7182) -### Flowrate - -- Cleanup unused files (#7158) - -### Mempool - -- Port reactor tests from legacy implementation (#7162) -- Consoldate implementations (#7171) - -### P2p - -- Transport should be captive resposibility of router (#7160) -- Add message type into the send/recv bytes metrics (backport #7155) (#7161) - -### Pubsub - -- Use distinct client IDs for test subscriptions. (#7178) -- Use distinct client IDs for test subscriptions. (#7178) (#7179) - -## [0.6.1-dev.1] - 2021-10-26 - -### Bug Fixes - -- Accessing validator state safetly -- Safe state access in TestValidProposalChainLocks -- Safe state access in TestReactorInvalidBlockChainLock -- Safe state access in TestReactorInvalidBlockChainLock -- Seeds should not hang when disconnected from all nodes - -### Documentation - -- Add roadmap to repo (#7107) -- Add reactor sections (#6510) -- Add reactor sections (backport #6510) (#7151) - -### Security - -- Bump actions/checkout from 2.3.4 to 2.3.5 (#7139) - -### Blocksync - -- Remove v0 folder structure (#7128) - -### Buf - -- Modify buf.yml, add buf generate (#5653) - -### Build - -- Bump rtCamp/action-slack-notify from 2.1.1 to 2.2.0 -- Fix proto-lint step in Makefile - ### E2e - Always enable blocksync (#7144) - Avoid unset defaults in generated tests (#7145) - Evidence test refactor (#7146) +### Flowrate + +- Cleanup unused files (#7158) + ### Light - Fix panic when empty commit is received from server @@ -2237,6 +1861,8 @@ - Remove panic when recheck-tx was not sent to ABCI application (#7134) - Remove panic when recheck-tx was not sent to ABCI application (#7134) (#7142) +- Port reactor tests from legacy implementation (#7162) +- Consoldate implementations (#7171) ### Node,blocksync,config @@ -2251,6 +1877,8 @@ - Remove final shims from p2p package (#7136) - Use correct transport configuration (#7152) - Add message type into the send/recv bytes metrics (#7155) +- Transport should be captive resposibility of router (#7160) +- Add message type into the send/recv bytes metrics (backport #7155) (#7161) ### Pex @@ -2259,6 +1887,8 @@ ### Pubsub - Simplify and improve server concurrency handling (#7070) +- Use distinct client IDs for test subscriptions. (#7178) +- Use distinct client IDs for test subscriptions. (#7178) (#7179) ### State @@ -2512,6 +2142,7 @@ ### Features +- Info field with arbitrary data to ResultBroadcastTx - Add ProposedBlockGTimeWindow in a config ### Fix @@ -2533,6 +2164,10 @@ - Inverse behaviour of resetting fullnode pubkeys from FULLNODE_PUBKEY_RESET to FULLNODE_PUBKEY_KEEP env - Add runner/rotate task to simplify running rotate network +### Security + +- Bump github.com/rs/zerolog from 1.24.0 to 1.25.0 (#6923) + ### Testing - Add StateID unit tests @@ -2571,6 +2206,8 @@ ### Ci +- Drop codecov bot (#6917) +- Tweak code coverage settings (#6920) - Disable codecov patch status check (#6930) - Skip coverage for non-go changes (#6927) - Skip coverage tasks for test infrastructure (#6934) @@ -2592,6 +2229,10 @@ ### E2e +- Introduce canonical ordering of manifests (#6918) +- Load generation and logging changes (#6912) +- Increase retain height to at least twice evidence age (#6924) +- Test multiple broadcast tx methods (#6925) - Compile tests (#6926) - Improve p2p mode selection (#6929) - Reduce load volume (#6932) @@ -2643,6 +2284,7 @@ ### Rfc +- Database storage engine (#6897) - E2e improvements (#6941) - Add performance taxonomy rfc (#6921) - Fix a few typos and formatting glitches p2p roadmap (#6960) @@ -2650,6 +2292,7 @@ ### Rpc +- Fix hash encoding in JSON parameters (#6813) - Strip down the base RPC client interface. (#6971) - Implement BroadcastTxCommit without event subscriptions (#6984) @@ -2671,43 +2314,25 @@ - Move pacakge to internal (#6978) -## [0.6.0-dev.2] - 2021-09-10 - -### Features - -- Info field with arbitrary data to ResultBroadcastTx - -### Security - -- Bump github.com/rs/zerolog from 1.24.0 to 1.25.0 (#6923) - -### Ci - -- Drop codecov bot (#6917) -- Tweak code coverage settings (#6920) - -### E2e +## [0.35.0-rc1] - 2021-09-08 -- Introduce canonical ordering of manifests (#6918) -- Load generation and logging changes (#6912) -- Increase retain height to at least twice evidence age (#6924) -- Test multiple broadcast tx methods (#6925) +### Documentation -### Rfc +- Add package godoc for indexer (#6839) +- Remove return code in normal case from go built-in example (#6841) +- Fix a typo in the indexing section (#6909) -- Database storage engine (#6897) +### Features -### Rpc +- [**breaking**] Proposed app version (#148) -- Fix hash encoding in JSON parameters (#6813) +### Miscellaneous Tasks -## [0.35.0-rc1] - 2021-09-08 +- Bump tenderdash version to 0.6.0-dev.1 -### Documentation +### Testing -- Add package godoc for indexer (#6839) -- Remove return code in normal case from go built-in example (#6841) -- Fix a typo in the indexing section (#6909) +- Install abci-cli when running make tests_integrations (#6834) ### Abci @@ -2721,6 +2346,7 @@ ### Build +- Bump github.com/golangci/golangci-lint (#6837) - Bump docker/build-push-action from 2.6.1 to 2.7.0 (#6845) - Bump codecov/codecov-action from 2.0.2 to 2.0.3 (#6860) - Bump github.com/rs/zerolog from 1.23.0 to 1.24.0 (#6874) @@ -2728,6 +2354,11 @@ - Bump docker/setup-buildx-action from 1.5.0 to 1.6.0 (#6903) - Bump github.com/golangci/golangci-lint (#6907) +### Changelog + +- Update to reflect 0.34.12 release (#6833) +- Linkify the 0.34.11 release notes (#6836) + ### Cleanup - Fix order of linters in the golangci-lint config (#6910) @@ -2740,8 +2371,14 @@ - Remove release_notes.md reference (#6846) +### Core + +- Text cleanup (#332) + ### E2e +- Avoid starting nodes from the future (#6835) +- Avoid starting nodes from the future (#6835) (#6838) - Cleanup node start function (#6842) - Cleanup node start function (#6842) (#6848) - More consistent node selection during tests (#6857) @@ -2805,136 +2442,47 @@ - Improve stateprovider handling in the syncer (backport) (#6881) - Implement p2p state provider (#6807) -### Time - -- Make median time library type private (#6853) - -### Types - -- Move mempool error for consistency (#6875) - -### Upgrading - -- Add information into the UPGRADING.md for users of the codebase wishing to upgrade (#6898) - -## [0.6.0-dev.1] - 2021-08-19 - -### Features - -- [**breaking**] Proposed app version (#148) - -### Miscellaneous Tasks - -- Bump tenderdash version to 0.6.0-dev.1 - -### Testing - -- Install abci-cli when running make tests_integrations (#6834) - -### Build - -- Bump github.com/golangci/golangci-lint (#6837) - -### Changelog - -- Update to reflect 0.34.12 release (#6833) -- Linkify the 0.34.11 release notes (#6836) - -### Core - -- Text cleanup (#332) - -### E2e - -- Avoid starting nodes from the future (#6835) -- Avoid starting nodes from the future (#6835) (#6838) - -## [0.34.12] - 2021-08-17 - -### Documentation - -- Upgrade documentation for custom mempools (#6794) -- Fix typos in /tx_search and /tx. (#6823) - -### Security - -- Bump google.golang.org/grpc from 1.39.0 to 1.39.1 (#6801) -- Bump google.golang.org/grpc from 1.39.1 to 1.40.0 (#6819) - -### Adr - -- Node initialization (#6562) - -### Bytes - -- Clean up and simplify encoding of HexBytes (#6810) - -### Changelog - -- Prepare for v0.34.12 (#6831) - -### Changelog_pending - -- Add missing item (#6829) -- Add missing entry (#6830) - -### Commands - -- Add key migration cli (#6790) - -### Contributing - -- Update release instructions to use backport branches (#6827) - -### Node - -- Minimize hardcoded service initialization (#6798) - -### Pubsub - -- Unsubscribe locking handling (#6816) - -### Rpc - -- Avoid panics in unsafe rpc calls with new p2p stack (#6817) -- Support new p2p infrastructure (#6820) -- Log update (#6825) -- Log update (backport #6825) (#6826) -- Update peer format in specification in NetInfo operation (#331) - -### Statesync +### Time -- New messages for gossiping consensus params (#328) +- Make median time library type private (#6853) -### Version +### Types -- Bump for 0.34.12 (#6832) +- Move mempool error for consistency (#6875) -## [0.5.12-dev.1] - 2021-08-06 +### Upgrading + +- Add information into the UPGRADING.md for users of the codebase wishing to upgrade (#6898) + +## [0.34.12] - 2021-08-17 ### Documentation - Fix typo (#6789) - Fix a typo in the genesis_chunked description (#6792) +- Upgrade documentation for custom mempools (#6794) +- Fix typos in /tx_search and /tx. (#6823) -### Build +### Security -- Bump technote-space/get-diff-action from 4 to 5 (#6788) -- Bump github.com/BurntSushi/toml from 0.3.1 to 0.4.1 (#6796) +- Bump google.golang.org/grpc from 1.39.0 to 1.39.1 (#6801) +- Bump google.golang.org/grpc from 1.39.1 to 1.40.0 (#6819) -### Clist +### Testing -- Add simple property tests (#6791) +- Add mechanism to reproduce found fuzz errors (#6768) -### Evidence +### Abci -- Add section explaining evidence (#324) +- Add changelog entry for mempool_error field (#6770) -### Mempool/v1 +### Adr -- Test reactor does not panic on broadcast (#6772) +- Node initialization (#6562) + +### Blockchain -## [0.5.11-dev.4] - 2021-07-31 +- Rename to blocksync service (#6755) ### Blockstore @@ -2943,63 +2491,93 @@ ### Build - Bump styfle/cancel-workflow-action from 0.9.0 to 0.9.1 (#6786) +- Bump technote-space/get-diff-action from 4 to 5 (#6788) +- Bump github.com/BurntSushi/toml from 0.3.1 to 0.4.1 (#6796) -### State/privval - -- Vote timestamp fix (backport #6748) (#6783) +### Bytes -### Tools +- Clean up and simplify encoding of HexBytes (#6810) -- Add mockery to tools.go and remove mockery version strings (#6787) +### Changelog -## [0.5.11-dev.3] - 2021-07-30 +- Prepare for v0.34.12 (#6831) -### Blockchain +### Changelog_pending -- Rename to blocksync service (#6755) +- Add missing item (#6829) +- Add missing entry (#6830) ### Cleanup - Remove redundant error plumbing (#6778) -### Light - -- Replace homegrown mock with mockery (#6735) +### Cli/indexer -### Rpc +- Reindex events (#6676) -- Add documentation for genesis chunked api (#6776) +### Clist -### State/privval +- Add simple property tests (#6791) -- Vote timestamp fix (#6748) +### Commands -## [0.5.11-dev.2] - 2021-07-28 +- Add key migration cli (#6790) -### Abci +### Contributing -- Add changelog entry for mempool_error field (#6770) +- Update release instructions to use backport branches (#6827) -### Cli/indexer +### Evidence -- Reindex events (#6676) +- Add section explaining evidence (#324) ### Light - Wait for tendermint node to start before running example test (#6744) +- Replace homegrown mock with mockery (#6735) -## [0.5.10-dev.3] - 2021-07-26 +### Mempool/v1 -### Testing +- Test reactor does not panic on broadcast (#6772) -- Add mechanism to reproduce found fuzz errors (#6768) +### Node -## [0.5.10-dev.1] - 2021-07-26 +- Minimize hardcoded service initialization (#6798) ### P2p - Add test for pqueue dequeue full error (#6760) +### Pubsub + +- Unsubscribe locking handling (#6816) + +### Rpc + +- Add documentation for genesis chunked api (#6776) +- Avoid panics in unsafe rpc calls with new p2p stack (#6817) +- Support new p2p infrastructure (#6820) +- Log update (#6825) +- Log update (backport #6825) (#6826) +- Update peer format in specification in NetInfo operation (#331) + +### State/privval + +- Vote timestamp fix (#6748) +- Vote timestamp fix (backport #6748) (#6783) + +### Statesync + +- New messages for gossiping consensus params (#328) + +### Tools + +- Add mockery to tools.go and remove mockery version strings (#6787) + +### Version + +- Bump for 0.34.12 (#6832) + ## [0.5.10] - 2021-07-26 ### Testing @@ -8756,176 +8334,62 @@ - Return error on cached txs - Assert -> require in test -### P2p/trust - -- Split into multiple files and improve function order -- Lock on Copy() - -### Rpc - -- Make time human readable. closes #926 - -### Shame - -- Forgot to add new code pkg - -### Types - -- Use data.Bytes directly in type.proto via gogo/protobuf. wow -- Consolidate some file -- Add note about ReadMessage having no cap -- RequestBeginBlock includes absent and byzantine validators -- Drop uint64 from protobuf.go -- IsOK() -- Int32 with gogo int -- Fix for broken customtype int in gogo -- Add MarshalJSON funcs for Response types with a Code -- Add UnmarshalJSON funcs for Response types - -## [0.12.1] - 2017-11-28 - -### Documentation - -- Fix links, closes #860 - -### PubKeyFromBytes - -- Return zero value PubKey on error - -### Security - -- Use bytes.Equal for key comparison - -### WIP - -- Begin parallel refactoring with go-wire Write methods and MConnection - -### Blockchain - -- Add comment in AddPeer. closes #666 - -### Certifiers - -- Test uses WaitForHeight - -### Clist - -- Reduce numTimes in test - -### Consensus - -- Ensure prs.ProposalBlockParts is initialized. fixes #810 -- Fix for initializing block parts during catchup -- Make mempool_test deterministic -- Fix LastCommit log -- Crank timeout in timeoutWaitGroup - -### Consensus/WAL - -- Benchmark WALDecode across data sizes - -### Db - -- Sort keys for memdb iterator - -### Errcheck - -- PR comment fixes - -### Lint - -- Apply deadcode/unused - -### Linter - -- Address deadcode, implement incremental lint testing -- Sort through each kind and address small fixes - -### Linting - -- Replace megacheck with metalinter -- Apply 'gofmt -s -w' throughout -- Apply misspell -- Apply errcheck part1 -- Apply errcheck part2 -- Moar fixes -- Few more fixes - -### Node - -- Clean makeNodeInfo - -### P2p - -- Update readme, some minor things -- Some fixes re @odeke-em issues #813,#816,#817 -- Comment on the wg.Add before go saveRoutine() -- Peer should respect errors from SetDeadline -- Use fake net.Pipe since only >=Go1.10 implements SetDeadline -- NetPipe for bucketsNew/Old -- Simplify PickAddress -- AddAddress returns error. more defensive PickAddress -- Add non-terminating test -- Fix addToOldBucket -- Some comments - -### P2p/connetion - -- Remove panics, test error cases - -### P2p/pex - -- Simplify ensurePeers - -### Rpc - -- Wait for rpc servers to be available in tests -- Fix tests - -### Rpc/lib/server - -- Add handlers tests -- Update with @melekes and @ebuchman feedback -- Separate out Notifications test -- Minor changes to test - -### Rpc/lib/types - -- RPCResponse.Result is not a pointer - -### Rpc/wsevents +### P2p/trust -- Small cleanup +- Split into multiple files and improve function order +- Lock on Copy() -### Server +### Rpc -- Minor refactor +- Make time human readable. closes #926 -### State +### Shame -- Return to-be-used function +- Forgot to add new code pkg ### Types -- Add gas and fee fields to CheckTx - -### WsConnection - -- Call onDisconnect +- Use data.Bytes directly in type.proto via gogo/protobuf. wow +- Consolidate some file +- Add note about ReadMessage having no cap +- RequestBeginBlock includes absent and byzantine validators +- Drop uint64 from protobuf.go +- IsOK() +- Int32 with gogo int +- Fix for broken customtype int in gogo +- Add MarshalJSON funcs for Response types with a Code +- Add UnmarshalJSON funcs for Response types -## [0.12.0] - 2017-10-28 +## [0.12.1] - 2017-11-28 ### Documentation +- Give index a Tools section +- Update and clean up adr +- Use README.rst to be pulled from tendermint +- Re-add the images +- Add original README's from tools repo +- Convert from md to rst +- Update index.rst +- Move images in from tools repo +- Harmonize headers for tools docs +- Add kubes docs to mintnet doc, from tools +- Add original tm-bench/monitor files +- Organize tm-bench/monitor description +- Pull from tools on build +- Finish pull from tools +- Organize the directory, #656 +- Add software.json from website (ecosystem) +- Rename file +- Add and re-format the ecosystem from website +- Pull from tools' master branch +- Using ABCI-CLI +- Remove last section from ecosystem +- Organize install a bit better +- Add ABCI implementations +- Added passchain to the ecosystem.rst in the applications section; +- Fix build warnings +- Add stratumn - Add py-tendermint to abci-servers - Remove mention of type byte - Add info about tm-migrate @@ -8934,6 +8398,7 @@ - Smaller logo (200px) - Comb through step by step - Fixup abci guide +- Fix links, closes #860 ### GroupReader#Read @@ -8941,119 +8406,126 @@ ### Makefile +- Remove redundant lint - Fix linter -### Testing +### PubKeyFromBytes -- Add simple client/server test with no addr prefix -- Update for abci-cli consolidation. shell formatting +- Return zero value PubKey on error -### Blockchain/pool +### Security -- Some comments and small changes +- Use bytes.Equal for key comparison -### Blockchain/store +### Testing -- Comment about panics +- Add simple client/server test with no addr prefix +- Update for abci-cli consolidation. shell formatting -### Cli +### WIP -- Clean up error handling -- Use cobra's new ExactArgs() feature +- Begin parallel refactoring with go-wire Write methods and MConnection -### Cmn +### [docs -- Kill +- Typo fix] remove misplaced "the" +- Typo fix] add missing "have" -### Consensus +### Adr -- Kill process on app error +- Add 005 consensus params -### Console +### All -- Fix output, closes #93 -- Fix tests +- No more anonymous imports -### Dummy +### Autofile -- Verify pubkey is go-crypto encoded in DeliverTx. closes #51 +- Ensure file is open in Sync -### Glide +### Blockchain -- More external deps locked to versions +- Fixing reactor tests +- Add comment in AddPeer. closes #666 -### Keys +### Blockchain/pool -- Transactions.go -> types.go +- Some comments and small changes -### Linting +### Blockchain/reactor -- A few fixes +- RespondWithNoResponseMessage for missing height -### Rpc +### Blockchain/store -- Use /iavl repo in test (#713) +- Comment about panics -### Rpc/client +### Certifiers -- Use compile time assertions instead of methods +- Test uses WaitForHeight -### Rpc/lib/client +### Changelog -- Add jitter for exponential backoff of WSClient -- Jitter test updates and only to-be run on releases +- Add genesis amount->power -### Server +### Circle -- Use cmn.ProtocolAndAddress +- Add metalinter to test -### SocketClient +### Cli -- Fix and test for StopForError deadlock +- Clean up error handling +- Use cobra's new ExactArgs() feature -### Types +### Clist -- ConsensusParams test + document the ranges/limits -- ConsensusParams: add feedback from @ebuchman and @melekes -- Unexpose valset.To/FromBytes +- Reduce numTimes in test -## [0.11.1] - 2017-10-10 +### Cmd -### Documentation +- Dont wait for genesis. closes #562 -- Add ABCI implementations -- Added passchain to the ecosystem.rst in the applications section; -- Fix build warnings -- Add stratumn +### Cmn -### [docs +- Kill -- Typo fix] remove misplaced "the" -- Typo fix] add missing "have" +### Common -### All +- Fingerprint comment +- WriteFileAtomic use tempfile in current dir -- No more anonymous imports +### Consensus -### Autofile +- Remove support for replay by #HEIGHT. closes #567 +- Use filepath for windows compatibility, closes #595 +- Kill process on app error +- Ensure prs.ProposalBlockParts is initialized. fixes #810 +- Fix for initializing block parts during catchup +- Make mempool_test deterministic +- Fix LastCommit log +- Crank timeout in timeoutWaitGroup -- Ensure file is open in Sync +### Consensus/WAL -### Blockchain +- Benchmark WALDecode across data sizes -- Fixing reactor tests +### Console -### Blockchain/reactor +- Fix output, closes #93 +- Fix tests -- RespondWithNoResponseMessage for missing height +### Db -### Changelog +- Fix MemDB.Close +- Sort keys for memdb iterator -- Add genesis amount->power +### Dummy -### Db +- Verify pubkey is go-crypto encoded in DeliverTx. closes #51 -- Fix MemDB.Close +### Errcheck + +- PR comment fixes ### Example @@ -9062,126 +8534,144 @@ ### Glide - Update for autofile fix +- More external deps locked to versions + +### Keys + +- Transactions.go -> types.go + +### Lint + +- Couple more fixes +- Apply deadcode/unused ### Linter - Couple fixes - Add metalinter to Makefile & apply some fixes - Last fixes & add to circle +- Address deadcode, implement incremental lint testing +- Sort through each kind and address small fixes ### Linting +- Cover the basics +- Catch some errors +- Add to Makefile & do some fixes +- Next round of fixes - Fixup some stuffs - Little more fixes +- A few fixes +- Replace megacheck with metalinter +- Apply 'gofmt -s -w' throughout +- Apply misspell +- Apply errcheck part1 +- Apply errcheck part2 +- Moar fixes +- Few more fixes ### Makefile - Remove megacheck -### Rpc - -- Fix client websocket timeout (#687) -- Subscribe on reconnection (#689) - -### Rpc/lib - -- Remove dead files, closes #710 - -### Types/heartbeat - -- Test all Heartbeat functions +### Metalinter -### Upnp +- Add linter to Makefile like tendermint -- Keep a link +### Node -## [0.11.0] - 2017-09-22 +- NewNode takes DBProvider and GenDocProvider +- Clean makeNodeInfo -### Documentation +### P2p -- Give index a Tools section -- Update and clean up adr -- Use README.rst to be pulled from tendermint -- Re-add the images -- Add original README's from tools repo -- Convert from md to rst -- Update index.rst -- Move images in from tools repo -- Harmonize headers for tools docs -- Add kubes docs to mintnet doc, from tools -- Add original tm-bench/monitor files -- Organize tm-bench/monitor description -- Pull from tools on build -- Finish pull from tools -- Organize the directory, #656 -- Add software.json from website (ecosystem) -- Rename file -- Add and re-format the ecosystem from website -- Pull from tools' master branch -- Using ABCI-CLI -- Remove last section from ecosystem -- Organize install a bit better +- Fully test PeerSet, more docs, parallelize PeerSet tests +- Minor comment fixes +- Delete unused and untested *IPRangeCount functions +- Sw.AddPeer -> sw.addPeer +- Allow listener with no external connection +- Update readme, some minor things +- Some fixes re @odeke-em issues #813,#816,#817 +- Comment on the wg.Add before go saveRoutine() +- Peer should respect errors from SetDeadline +- Use fake net.Pipe since only >=Go1.10 implements SetDeadline +- NetPipe for bucketsNew/Old +- Simplify PickAddress +- AddAddress returns error. more defensive PickAddress +- Add non-terminating test +- Fix addToOldBucket +- Some comments -### Adr +### P2p/connetion -- Add 005 consensus params +- Remove panics, test error cases -### Circle +### P2p/pex -- Add metalinter to test +- Simplify ensurePeers -### Cmd +### Readme -- Dont wait for genesis. closes #562 +- Re-organize & update docs links -### Common +### Rpc -- Fingerprint comment -- WriteFileAtomic use tempfile in current dir +- Fix client websocket timeout (#687) +- Subscribe on reconnection (#689) +- Use /iavl repo in test (#713) +- Wait for rpc servers to be available in tests +- Fix tests -### Consensus +### Rpc/client -- Remove support for replay by #HEIGHT. closes #567 -- Use filepath for windows compatibility, closes #595 +- Use compile time assertions instead of methods -### Lint +### Rpc/lib -- Couple more fixes +- Remove dead files, closes #710 -### Linting +### Rpc/lib/client -- Cover the basics -- Catch some errors -- Add to Makefile & do some fixes -- Next round of fixes +- Add jitter for exponential backoff of WSClient +- Jitter test updates and only to-be run on releases -### Metalinter +### Rpc/lib/server -- Add linter to Makefile like tendermint +- Add handlers tests +- Update with @melekes and @ebuchman feedback +- Separate out Notifications test +- Minor changes to test -### Node +### Rpc/lib/types -- NewNode takes DBProvider and GenDocProvider +- RPCResponse.Result is not a pointer -### P2p +### Rpc/wsevents -- Fully test PeerSet, more docs, parallelize PeerSet tests -- Minor comment fixes -- Delete unused and untested *IPRangeCount functions -- Sw.AddPeer -> sw.addPeer -- Allow listener with no external connection +- Small cleanup -### Readme +### Server -- Re-organize & update docs links +- Use cmn.ProtocolAndAddress +- Minor refactor + +### SocketClient + +- Fix and test for StopForError deadlock ### State - Minor comment fixes +- Return to-be-used function ### Types @@ -9189,6 +8679,22 @@ - PrivVal.Sign returns an error - More . -> cmn - Comments +- ConsensusParams test + document the ranges/limits +- ConsensusParams: add feedback from @ebuchman and @melekes +- Unexpose valset.To/FromBytes +- Add gas and fee fields to CheckTx + +### Types/heartbeat + +- Test all Heartbeat functions + +### Upnp + +- Keep a link + +### WsConnection + +- Call onDisconnect ## [0.10.4] - 2017-09-05 @@ -9545,6 +9051,10 @@ - DumpConsensusState, not DialSeeds. Cleanup +### Connect2Switches + +- Panic on err + ### Makefile - Add gmt and lint @@ -9557,6 +9067,20 @@ ### Testing +- RandConsensusNet takes more args +- Crank circle timeouts +- Automate building consensus/test_data +- Circle artifacts +- Dont start cs until all peers connected +- Shorten timeouts +- Remove codecov patch threshold +- Kill and restart all nodes +- Use PROXY_APP=persistent_dummy +- Use fail-test failure indices +- More unique container names +- Set log_level=info +- Always rebuild grpc_client +- Split up test/net/test.sh - Unexport internal function. - Update docker to 1.7.4 - Dont use log files on circle @@ -9581,12 +9105,25 @@ - JTMSP -> jABCI +### Blockchain + +- Thread safe store.Height() + ### Cleanup - Replace common.Exit with log.Crit or log.Fatal ### Consensus +- Wal.Flush() and cleanup replay tests +- TimeoutTicker, skip TimeoutCommit on HasAll +- Mv timeoutRoutine into TimeoutTicker +- No internal vars in reactor.String() +- Sync wal.writeHeight +- Remove crankTimeoutPropose from tests +- Be more explicit when we need to write height after handshake +- Let time.Timer handle non-positive durations +- Check HasAll when TwoThirdsMajority - Nice error msg if ApplyBlock fails - Handshake replay test using wal - More handshake replay tests @@ -9598,6 +9135,7 @@ ### Glide +- Update go-wire - Use versions where applicable ### Lint @@ -9619,58 +9157,6 @@ - /commit - Fix SeenCommit condition -### State - -- Remove StateIntermediate - -### Types - -- Use mtx on PartSet.String() -- ValSet LastProposer->Proposer and Proposer()->GetProposer() - -## [0.8.0] - 2017-01-13 - -### Connect2Switches - -- Panic on err - -### Testing - -- RandConsensusNet takes more args -- Crank circle timeouts -- Automate building consensus/test_data -- Circle artifacts -- Dont start cs until all peers connected -- Shorten timeouts -- Remove codecov patch threshold -- Kill and restart all nodes -- Use PROXY_APP=persistent_dummy -- Use fail-test failure indices -- More unique container names -- Set log_level=info -- Always rebuild grpc_client -- Split up test/net/test.sh - -### Blockchain - -- Thread safe store.Height() - -### Consensus - -- Wal.Flush() and cleanup replay tests -- TimeoutTicker, skip TimeoutCommit on HasAll -- Mv timeoutRoutine into TimeoutTicker -- No internal vars in reactor.String() -- Sync wal.writeHeight -- Remove crankTimeoutPropose from tests -- Be more explicit when we need to write height after handshake -- Let time.Timer handle non-positive durations -- Check HasAll when TwoThirdsMajority - -### Glide - -- Update go-wire - ### Shame - Version bump 0.7.4 @@ -9678,6 +9164,7 @@ ### State - AppHashIsStale -> IntermediateState +- Remove StateIntermediate ### Tmsp @@ -9688,6 +9175,8 @@ - Benchmark WriteSignBytes - Canonical_json.go - SignatureEd25519 -> Signature +- Use mtx on PartSet.String() +- ValSet LastProposer->Proposer and Proposer()->GetProposer() ## [0.7.4] - 2016-12-14 @@ -9786,48 +9275,7 @@ - Bump 0.7.3 -## [0.7.1] - 2016-09-11 - -### Testing - -- Refactor bash; test fastsync (failing) -- Name client conts so we dont need to rm them because circle -- Test dummy using rpc query -- Add xxd dep to dockerfile -- More verbosity -- Add killall to dockerfile. cleanup - -### Client - -- Safe error handling - -### Config - -- All urls use tcp:// or unix:// prefix -- Filter_peers defaults to false -- Reduce timeouts during test - -### Consensus - -- Add note about replay test -- No sign err in replay; fix a race - -### Proxy - -- Typed app conns -- NewAppConns takes a NewTMSPClient func -- Wrap NewTMSPClient in ClientCreator -- Nil -> nilapp - -### Throttle_timer - -- Fix race, use mtx instead of atomic - -### Types - -- PrivVal.LastSignature. closes #247 - -## [0.7.0] - 2016-08-07 +## [0.7.2] - 2016-09-11 ### Documentation @@ -9846,6 +9294,12 @@ - Cleanup - Dont run cloud test on push to master - README.md +- Refactor bash; test fastsync (failing) +- Name client conts so we dont need to rm them because circle +- Test dummy using rpc query +- Add xxd dep to dockerfile +- More verbosity +- Add killall to dockerfile. cleanup ### Binary @@ -9864,6 +9318,7 @@ - ResultsCh chan json.RawMessage, ErrorsCh - Wsc.String() +- Safe error handling ### Config @@ -9872,6 +9327,9 @@ - Cswal_light, mempool_broadcast, mempool_reap - Toggle authenticated encryption - Disable_data_hash (for testing) +- All urls use tcp:// or unix:// prefix +- Filter_peers defaults to false +- Reduce timeouts during test ### Consensus @@ -9890,6 +9348,8 @@ - Hvs.Reset(height, valSet) - Increase mempool_test timeout - Don't print shared vars in cs.String() +- Add note about replay test +- No sign err in replay; fix a race ### Daemon @@ -9921,6 +9381,13 @@ - Broadcast spawns goroutine to Send on each peer and times out after 10 seconds. Closes #7 - Fix switch test for Broadcast returning success channel +### Proxy + +- Typed app conns +- NewAppConns takes a NewTMSPClient func +- Wrap NewTMSPClient in ClientCreator +- Nil -> nilapp + ### Rpc - Add status and net info @@ -9982,6 +9449,14 @@ - Fix GetStorage on blockcache with unknown account - FireEvents flag on ExecTx and fixes for GetAccount +### Throttle_timer + +- Fix race, use mtx instead of atomic + +### Types + +- PrivVal.LastSignature. closes #247 + ### Vm - Check errors early to avoid infinite loop diff --git a/version/version.go b/version/version.go index 2c7c9e0543..3fde6a38ae 100644 --- a/version/version.go +++ b/version/version.go @@ -9,7 +9,7 @@ var ( const ( // TMVersionDefault is the used as the fallback version for Tenderdash // when not using git describe. It is formatted with semantic versioning. - TMVersionDefault = "0.13.0-dev.2" + TMVersionDefault = "0.13.0" // ABCISemVer is the semantic version of the ABCI library ABCISemVer = "0.22.0"