Proto commits in skip-mev/mev-tendermint

These commits are when the Protocol Buffers files have changed: (only the last 100 relevant commits are shown)

Commit:eebb20b
Author:wllmshao
Committer:wllmshao

Squashed all commits on top of v0.34.25 up to 532afa4 (chore): Bumping version to v0.34.25-mev.15

Commit:a059b06
Author:Lasaro
Committer:GitHub

Rename package back to tendermint/tendermint and use replace to point… (#351) * Rename package back to tendermint/tendermint and use replace to point to the current repo * Rename package back to tendermint/tendermint in the proto files and generated files * Rename package back to tendermint/tendermint in the mocks * Remove useless replace * Apply suggestions from code review * Apply suggestions from code review

Commit:aaeb9d2
Author:wllmshao
Committer:bpiv400

Squashed all commits on top of v0.34.25 up to 532afa4 (chore): Bumping version to v0.34.25-mev.15

Commit:b22a3a6
Author:mergify[bot]
Committer:GitHub

0.34.x: Rename Tendermint to CometBFT: further actions (backport #224) (#255) * Rename Tendermint to CometBFT: further actions (#224) * rename: Tendermint -> CometBFT in README files * rename: Tendermint -> CometBFT in doc.go files * rename: Tendermint -> CometBFT in Go documentation * Removing unused/outdated CHANGELOGs * rename: using CometBFT in issues and PR templates * rename: references to tendermin in libs/events * rename: renaming on text files under rpc/ dir * rename: Tendermint-go -> CometBFT in proto docs * rename: Tendermint -> CometBFT in generated go docs * rename: renaming Tendermint -> CometBFT in scripts * rename: renaming to CometBFT in code comments * rename: general script files on repository root * rename: using CometBFT in github config files * rename: Go docs in .proto files, pb.go regenerated * rename: toml config file generated content * rename: avoiding unnecessary TM entries in comments * rename: renaming in log messages and strings * rename: upgrading instructions renamed, needs review * rename: fixing generated protobuf files * rename: fixing generated protobuf files * rename: fixing broken test, renamed string * Apply suggestions from code review * Update .github/PULL_REQUEST_TEMPLATE.md Co-authored-by: Thane Thomson <connect@thanethomson.com> * Update abci/README.md Co-authored-by: Thane Thomson <connect@thanethomson.com> * Update proto/README.md Co-authored-by: Thane Thomson <connect@thanethomson.com> * rename: removing unused files on repo root --------- Co-authored-by: Daniel Cason <cason@gandria> Co-authored-by: Thane Thomson <connect@thanethomson.com> (cherry picked from commit 1cb55d49baa86a227c4b9eadad2d7a344670eb51) # Conflicts: # .github/ISSUE_TEMPLATE/bug-report.md # .github/ISSUE_TEMPLATE/config.yml # .github/PULL_REQUEST_TEMPLATE.md # .github/issue_template.md # .github/workflows/janitor.yml # .github/workflows/lint.yml # .gitignore # .goreleaser.yml # UPGRADING.md # abci/README.md # abci/types/application.go # abci/types/mocks/base.go # cmd/cometbft/commands/version.go # config/config.go # config/toml.go # consensus/README.md # consensus/replay.go # consensus/replay_test.go # consensus/state.go # crypto/README.md # crypto/ed25519/ed25519.go # inspect/doc.go # inspect/inspect.go # internal/test/doc.go # libs/pubsub/query/query.go # libs/pubsub/query/syntax/doc.go # light/doc.go # networks/local/README.md # node/node.go # node/setup.go # p2p/README.md # proto/README.md # rpc/core/abci.go # rpc/core/blocks.go # rpc/core/consensus.go # rpc/core/doc.go # rpc/core/events.go # rpc/core/evidence.go # rpc/core/health.go # rpc/core/mempool.go # rpc/core/net.go # rpc/core/status.go # rpc/core/tx.go # rpc/jsonrpc/doc.go # rpc/openapi/openapi.yaml # scripts/metricsgen/metricsgen.go # test/fuzz/README.md # test/fuzz/oss-fuzz-build.sh # test/loadtime/cmd/load/main.go # tools/README.md # version/version.go * rename: fixing cherry-pick conflicts * rename: fixing cherry-pick conflicts Co-authored-by: Jasmina Malicevic <jasmina@informal.systems> * rename: fixing cherry-pick conflicts Co-authored-by: Jasmina Malicevic <jasmina@informal.systems> * rename: reverted changes on UPGRADING.md * rename: Tendermint Core -> CometBFT on intro * rename: further renaming Tendermint -> CometBFT * rename: Tendermint -> CometBFT under test/maverick/ * rename: further renaming Tendermint -> CometBFT * rename: removing copyright from internal package * rename: Tendermint -> CometBFT in /spec/abci * rename: further renaming Tendermint -> CometBFT * rename: undoing renaming of jTendermint * rename: removing reference to tendermint/go-amino * rename: tendermint -> cometbft on .circleci/ --------- Co-authored-by: Daniel <daniel.cason@informal.systems> Co-authored-by: Jasmina Malicevic <jasmina@informal.systems>

Commit:cec1a1f
Author:wllmshao
Committer:wllmshao

Squashed all commits on top of v0.34.24 up to 05e55d31d01faf3f0a333bd5a3c5f17e7ef5d581

Commit:db33c27
Author:Lasaro
Committer:GitHub

Update proto files, missing from PR 156 (#192)

Commit:7166071
Author:MaghnusM

Read GasWanted from gossip for sidecar txs

Commit:f21ce8c
Author:William Shao
Committer:wllmshao

Read GasWanted from gossip for sidecar txs (#77)

Commit:4024b21
Author:Barry Plunkett
Committer:wllmshao

Initializing v0.34.23 mev tendermint (#74) * squashed changes from v0.34.21-mev-tendermint * fixing metric name * implementing support for v1 mempool * readding support for legacy protobuf and channel * adding legacy sidecar gossiping support for mempool v1 * adding unit tests for legacy and new receive routines * adding legacy sidecar channel in nodes adding legacy sidecar channel in node * fixing linter problems * manually adding EnvelopeSender apis to peer mock Co-authored-by: wllmshao <wllmshao@gmail.com>

Commit:f15a132
Author:wllmshao

Cherry-pick changes from on top of v0.34.23-mev-tendermint Includes 0b72a61993e2d51d2169b1b5732d48cc18e63055 67720e838a9c083acd2b175c97bdcc3b08da94a9

Commit:0b72a61
Author:William Shao
Committer:GitHub

Read GasWanted from gossip for sidecar txs (#77)

Commit:4d110e0
Author:William Shao
Committer:wllmshao

Read GasWanted from gossip for sidecar txs (#76)

Commit:303faa3
Author:William Shao
Committer:GitHub

Read GasWanted from gossip for sidecar txs (#76)

Commit:86912b8
Author:wllmshao
Committer:wllmshao

Read GasWanted from gossip for sidecar txs

Commit:312c1c7
Author:wllmshao
Committer:wllmshao

Read GasWanted from gossip for sidecar txs

Commit:67720e8
Author:Barry Plunkett
Committer:GitHub

Initializing v0.34.23 mev tendermint (#74) * squashed changes from v0.34.21-mev-tendermint * fixing metric name * implementing support for v1 mempool * readding support for legacy protobuf and channel * adding legacy sidecar gossiping support for mempool v1 * adding unit tests for legacy and new receive routines * adding legacy sidecar channel in nodes adding legacy sidecar channel in node * fixing linter problems * manually adding EnvelopeSender apis to peer mock Co-authored-by: wllmshao <wllmshao@gmail.com>

Commit:4ce0130
Author:bpiv400

readding support for legacy protobuf and channel

Commit:cb6ef71
Author:wllmshao
Committer:bpiv400

squashed changes from v0.34.21-mev-tendermint

Commit:078743f
Author:wllmshao
Committer:MaghnusM

apply all mev-tendermint changes

Commit:41e1fc8
Author:MaghnusM

squashed changes for mev-tendermint

Commit:b67ba82
Author:Yun
Committer:MaghnusM

Merge tag 'v0.34.21' into release/v0.34.x Release v0.34.21 port over clist_sidecar.go port over reactor.go changes in mempool port over node.go and p2p changes for selective gossip begin to add changes and helper funcs before porting over actual tests (mostly compiles) fix mocks for peer and proto types migrate over clist_mempool and reactor tests fix maverick tests updating sidecar add readme update readme again update readme again readme readme once more markdown fix addr logs New config fields, use external address Remove logs Implement register with sentinel rename to relayer rpc addr make request nonblocking Update to onlyOnly register peerID, keep full relayer string in config Add sentinel peer and last bundle height to status Rename fields, add relayer as persistent, unconditional, private Remove unused getPrivateIds function Add non-register log Rename validatorAddrHash -> validatorAddrHex add image [Bug] Allowing empty relayer and empty peer ids add .1 to readme update logging to use native logger added metrics for sidecar and sentinel connection merge peer registration fixes update sidecar to use connection string (#49) Co-authored-by: MaghnusM <me@maghn.us> pass mempool logger into sentinel add metrics in addition to logger update readme keep logger private update metrics namespace remove namespace prefixes Fix lint issues have the relayer with its own connection loop (#55) * have the relayer with its own connection loop * add debugging * print persistent peers * print persistent peers * add pathway for relayer call to dialPeer * trace dialpeersasync * more logging * pass in correct relayer addr * remove relayer conn from ensure * logging * more logs * remove unneeded log * more logs * rename log * update with review comments Co-authored-by: MaghnusM <me@maghn.us> catching sentinel registration seg fault [ENG-130] Get all CI workflows passing (#53) * Add back abci/cmd * Readd gitignore * Fix e2e test * Fix unit tests * Fix unit tests pt2 * Update workflows to go1.19 * Extend timeout, revert lint version * Fix log output * Fix govet lint / race condition * Remove Senders from reaped txes * Lock AddTx race conditions [ENG-132] Unit tests for new mev-tendermint functionality (#57) * Add unit tests for untested new functionality * Fix lint issues * Address PR comments Api reconnection (#60) * first pass at relayer reregistration via api better prints on failure * update instantiation update readme, and better logs for RegisterPeer fix image in readme * add reregister logic to RegisterWithSentinel better logs * fix logging * print response status and code * case on status codes * case on status codes * nil checks Co-authored-by: MaghnusM <me@maghn.us> [ENG-172][ENG-169] Removing the validator hex from config and RegisterPeer endpoint (#63) * separating rpc and peer connections * linter fix * removing cons address from api call * deprecating old registration api * reordering args * resp nil check on successful register * print response and error * stringifying body * error handling (#64) * error handling * split > 1 Co-authored-by: MaghnusM <me@maghn.us> Co-authored-by: bpiv400 <bpiv400@gmail.com> * Fixing jsonrpc error handling * fixing error logging * fix linter Co-authored-by: MaghnusM <me@maghn.us> Co-authored-by: Maghnus Mareneck <MaghnusM@users.noreply.github.com> update readme update readme update readme

Commit:aeb019c
Author:wllmshao
Committer:wllmshao

All changes from on top of v0.34.21 squashed

Commit:d7902e1
Author:MaghnusM

port over reactor.go changes in mempool

Commit:c667557
Author:MaghnusM

first commit

Commit:6b45ecd
Author:MaghnusM
Committer:MaghnusM

add private sidecar mempool, selective gossip routines

The documentation is generated from this commit.

Commit:014d0d6
Author:mergify[bot]
Committer:GitHub

add separated runs by UUID (backport #9367) (#9380) * add separated runs by UUID (#9367) This _should_ be the last piece needed for this tool. This allows the tool to generate reports on multiple experimental runs that may have been performed against the same chain. The `load` tool has been updated to generate a `UUID` on startup to uniquely identify each experimental run. The `report` tool separates all of the results it reads by `UUID` and performs separate calculations for each discovered experiment. Sample output is as follows ``` Experiment ID: 6bd7d1e8-d82c-4dbe-a1b3-40ab99e4fa30 Connections: 1 Rate: 1000 Size: 1024 Total Valid Tx: 9000 Total Negative Latencies: 0 Minimum Latency: 86.632837ms Maximum Latency: 1.151089602s Average Latency: 813.759361ms Standard Deviation: 225.189977ms Experiment ID: 453960af-6295-4282-aed6-367fc17c0de0 Connections: 1 Rate: 1000 Size: 1024 Total Valid Tx: 9000 Total Negative Latencies: 0 Minimum Latency: 79.312992ms Maximum Latency: 1.162446243s Average Latency: 422.755139ms Standard Deviation: 241.832475ms Total Invalid Tx: 0 ``` closes: #9352 #### PR checklist - [ ] Tests written/updated, or no tests needed - [ ] `CHANGELOG_PENDING.md` updated, or no changelog entry needed - [ ] Updated relevant documentation (`docs/`) and code comments, or no documentation updates needed (cherry picked from commit 1067ba15719b89a74c89bcbec065062d2d0159d8) # Conflicts: # go.mod * fix merge conflict * fix lint Co-authored-by: William Banfield <4561443+williambanfield@users.noreply.github.com> Co-authored-by: William Banfield <wbanfield@gmail.com>

Commit:f573d3d
Author:William Banfield
Committer:GitHub

test: add the loadtime tool (Backport #9342) (#9358) * test: add the loadtime tool (#9342) This pull request adds the loadtime tool. This tool leverages the tm-load-test framework. Using the framework means that the only real logic that needs to be written is the logic for Tx generation. The framework does the rest. The tool writes a set of metadata into the transaction, including the current transaction rate, number of connections, specified size of the transaction, and the current time. * lint

Commit:c9408ab
Author:MaghnusM

add mev-tendermint changes

The documentation is generated from this commit.

Commit:fbd754b
Author:samricotta
Committer:GitHub

Backport of sam/abci-responses (#9090) (#9159) *backport of sam/abci-responses Co-authored-by: William Banfield <4561443+williambanfield@users.noreply.github.com>

Commit:3e96a37
Author:Callum Waters
Committer:GitHub

spec: merge v0.35 spec into tendermint (#9018)

Commit:6b7d30c
Author:Aleksandr Bezobchuk
Committer:GitHub

feat: v0.34.x Prioritized Mempool (#8695) * Updated mocks * add reactor tests * add v1 reactor tests * Fix fuzz test for priority mempool * e2e adapted to mempool v1; prio pool is default now * Reverted default mempool to be fifo * Changed buf version * Added priority mempool to ci testnet * Fixed linter * Updated makefile * Aligned makefile changes to v0.34.x * Added go install for proto * Add log message to warn about prioritized mempool bug Signed-off-by: Thane Thomson <connect@thanethomson.com> * Changelog message Co-authored-by: Jasmina Malicevic <jasmina.dustinac@gmail.com> Co-authored-by: Callum Waters <cmwaters19@gmail.com> Co-authored-by: Sam Kleinman <garen@tychoish.com> Co-authored-by: Thane Thomson <connect@thanethomson.com>

Commit:83526ca
Author:Sam Kleinman
Committer:GitHub

p2p: peer store and dialing changes (0.35.x backport) (#8740) * p2p: peer store and dialing changes (cherry picked from commit 9dbb13515214b3976bef3ad3a656786c47ac12fb) * reduce persistent peer max (cherry picked from commit b213a2766f62f2b1293d5fcf8262301d48956dcc) * don't gossip inactive peers (cherry picked from commit cc28ce298f8b8535860206305d58ebbe17ff73eb) * fix small case (cherry picked from commit 56a91642dc898a1992dd36c362e4df732f2fef1f) * fix error message (cherry picked from commit 86db59f53bde217f42ff58af43f993e58594c006) * remove seed flag (cherry picked from commit 000aa054852ad1f43280363ee903bf5cb937f4ce) * reduce logging level (cherry picked from commit 4e2bc8f51e6cd92c3c3ca5f8b541366071f7a210) * make const (cherry picked from commit e3068b50b272f28b5ba627cb4e92fef2b4de2e21) * update comment (cherry picked from commit 31bd396c88330f7f27bdf129d067a7f6685e9162) * cleanup (cherry picked from commit eddb23b5af6a74f39c5cc534af9556db938a1bce) * oops * overflows (cherry picked from commit 4c8651026a6147af70922cc0066e384156aaa07d) * Update internal/p2p/peermanager.go Co-authored-by: M. J. Fromberger <michael.j.fromberger@gmail.com> (cherry picked from commit f23f6e1089db9aa8ce266fc818a3a8e2e0bcc3d7) * Update internal/p2p/peermanager.go Co-authored-by: M. J. Fromberger <michael.j.fromberger@gmail.com> (cherry picked from commit 1c02758eaf2451684295544d252d3d0ad317e383) * comment (cherry picked from commit 9f604fd2ef184963d26e8e89189eb41879bd3391) * test: new scoring (cherry picked from commit 930fd7f2be8a0428fef864192d21ee1ae70cbb49) * fix scoring test (cherry picked from commit 9abc55f3a05e3d285e081a7ba6018e2522bf784a) * cleanup peer manager * fix panic * add metrics * fix compile * fix test * default metrics to noop * noop metrics * update metrics (cherry picked from commit 720600ef62e97260892db9c2d67952306223fa1e) * rename metrics * actually shuffle peers more * fix up advertise (cherry picked from commit 8195c975907d773f05ce7a3cfc55edf128e0db70) * add max dialing attempts * connection tracking * comments mostly (cherry picked from commit 053ecd9b8c6099e55887bafdb4b4c3f064c8e16a) * Apply suggestions from code review Co-authored-by: M. J. Fromberger <michael.j.fromberger@gmail.com> * comments * fix lint * cr feedback * fixup cherrypick * make wb happy * more comments * fixup * fix lint * iota fix * add skip * cleanup * remove comment * fix rand * fix rand * use numaddresses correctly * advertise fixes * remove some things * cleanup comment * more fixes * toml * fix comment * fix spell * dec limit * fixes * up the attmept max * cr feedback * probablistic test * fix spell * add metrics for peers stored on startup * p2p: peer score should not wrap around (#8790) (cherry picked from commit 4d820ff4f5c93cf00e7618b2d3086ad23e1bb5de) # Conflicts: # internal/p2p/peermanager.go * fix * wake more * wake if we need to Co-authored-by: M. J. Fromberger <michael.j.fromberger@gmail.com>

Commit:ce6485f
Author:Sergio Mena
Committer:GitHub

Remove the abci responses type - prune legacy responses (#8673) Closes #8069 * Type `ABCIResponses` was just wrapping type `ResponseFinalizeBlock`. This patch removes the former. * Did some renaming to avoid confusion on the data structure we are working with. * We also remove any stale ABCIResponses we may have in the state store at the time of pruning **IMPORTANT**: There is an undesirable side-effect of the unwrapping. An empty `ResponseFinalizeBlock` yields a 0-length proto-buf serialized buffer. This was not the case with `ABCIResponses`. I have added an interim solution, but open for suggestions on more elegant ones.

Commit:56fc80d
Author:Sergio Mena
Committer:GitHub

abci: Move `app_hash` parameter from `Commit` to `FinalizeBlock` (#8664) * Removed from proto * make proto-gen * make build works * make some tests pass * Fix TestMempoolTxConcurrentWithCommit * Minor change * Update abci/types/types.go * Update internal/state/execution.go * Update test/e2e/app/state.go Co-authored-by: Callum Waters <cmwaters19@gmail.com> * Updated changelog and `UPGRADING.md` * Fixed abci-cli tests, and doc * Addressed @cmwaters' comments * Addressed @cmwaters' comments, part 2 Co-authored-by: Callum Waters <cmwaters19@gmail.com>

Commit:571f26b
Author:Sergio Mena
Committer:GitHub

Remove obsolete abci methods, no longer called by ABCI++ Tendermint (#8633) * Remove ABCI methods marked as obsolete, but no longer called * Add links in ABCI++ section of 'UPGRADING.md' * make proto-gen * Ressurrect * make proto-gen2 * Fixed lint * Make proto-gen3 * Minor fix to comment * make proto-gen4

Commit:cb9722c
Author:Jasmina Malicevic
Committer:GitHub

abci: strip mempoolerror from responsechectx (#8620) * abci:mempoolError from ResponseCheckTx * responseCheckTx returns an error if Tendermint decides not to accept an app after CheckTx *updated spec, upgrading.md and changelog.md

Commit:b0ec8a0
Author:Callum Waters
Committer:GitHub

mempool: migrate rechecktx to be a consensus parameter (#8514)

Commit:4c857a7
Author:Jasmina Malicevic
Committer:GitHub

abci: remove unused fields from CheckTXResponse (part 1) (#8605) abci: Removed Info, Log, Events and GasUsed from ResponseCheckTx. spec: Updated info on ResponseCheckTx to reflect field removal.

Commit:1a52b7c
Author:Sergio Mena
Committer:GitHub

Removed redundant params in FinalizeBlock (#8598) The parameters added in this PR where coming from `Commit` in the first versions of the spec. Later on, we decided to keep `Commit` as it is. As a result, these parameters do not make sense, either in same-block or in next-block execution mode.

Commit:43313e9
Author:William Banfield
Committer:GitHub

abci++: add proto fields for enabling vote extensions (#8587) This pull requests adds the protocol buffer field for the `ABCI.VoteExtensionsEnableHeight` parameter. This proto field is threaded throughout all of the relevant places where consensus params are used and referenced. This PR also adds validation of the consensus param updates. Previous consensus param changes didn't depend on _previous_ versions of the params, so this change adds a method for validating against the old params as well. closes: #8453

Commit:1630611
Author:Yun Yeo

Revert "oracle mempool priority" This reverts commit 6805b4866bdbd6933000eb0e761acbf15edd8ed6.

Commit:06b1812
Author:Thane Thomson
Committer:GitHub

abci++: Propagate vote extensions (RFC 017) (#8433) * Add protos for ExtendedCommit Cherry-pick from e73f0178b72a16ee81f8e856aadf651f2c62ec6e just the changes to the .proto files, since we have deleted the .intermediate files. Signed-off-by: Thane Thomson <connect@thanethomson.com> * make proto-gen Signed-off-by: Thane Thomson <connect@thanethomson.com> * BlockStore holds extended commit Cherry-pick 8d504d4b50ec6afbdffe2df7ababbef30e15053d and fix conflicts. Signed-off-by: Thane Thomson <connect@thanethomson.com> * Reshuffle ExtendedCommit and ExtendedCommitSig Separate the data structures and functions from their Commit-oriented counterparts to adhere to the current coding style. Signed-off-by: Thane Thomson <connect@thanethomson.com> * Fix exit condition in blocksync * Add note to remove TxResult proto As Sergio pointed out in 3e31aa6f583cdc71e208ed03a82f1d804ec0de49, this proto message can probably be removed. We should do this in a separate PR. Signed-off-by: Thane Thomson <connect@thanethomson.com> * Lift termination condition into for loop Signed-off-by: Thane Thomson <connect@thanethomson.com> * Enforce vote extension signature requirement Signed-off-by: Thane Thomson <connect@thanethomson.com> * Expand on comment for PeekTwoBlocks for posterity Signed-off-by: Thane Thomson <connect@thanethomson.com> * Isolate TODO more clearly Signed-off-by: Thane Thomson <connect@thanethomson.com> * make mockery Signed-off-by: Thane Thomson <connect@thanethomson.com> * Fix comment Signed-off-by: Thane Thomson <connect@thanethomson.com> * Make panic output from BlockStore.SaveBlock more readable Signed-off-by: Thane Thomson <connect@thanethomson.com> * Add helper methods to ExtendedCommitSig and ExtendedCommit Signed-off-by: Thane Thomson <connect@thanethomson.com> * Fix most tests except TestHandshake* Signed-off-by: Thane Thomson <connect@thanethomson.com> * Fix store prefix collision Signed-off-by: Thane Thomson <connect@thanethomson.com> * Fix TestBlockFetchAtHeight Signed-off-by: Thane Thomson <connect@thanethomson.com> * Remove global state from store tests Signed-off-by: Thane Thomson <connect@thanethomson.com> * Apply suggestions from code review Co-authored-by: M. J. Fromberger <fromberger@interchain.io> Co-authored-by: Sergio Mena <sergio@informal.systems> * blocksync: Just return error Signed-off-by: Thane Thomson <connect@thanethomson.com> * make format Signed-off-by: Thane Thomson <connect@thanethomson.com> * types: Remove unused/commented-out code Signed-off-by: Thane Thomson <connect@thanethomson.com> * blocksync: Change pool AddBlock function signature to return errors Signed-off-by: Thane Thomson <connect@thanethomson.com> * types: Improve legibility of switch statements Signed-off-by: Thane Thomson <connect@thanethomson.com> * blocksync: Expand on extended commit requirement in AddBlock description Signed-off-by: Thane Thomson <connect@thanethomson.com> * blocksync: Return error without also logging it Signed-off-by: Thane Thomson <connect@thanethomson.com> * consensus: Rename short-lived local variable Signed-off-by: Thane Thomson <connect@thanethomson.com> * consensus: Allocate TODO to Sergio Signed-off-by: Thane Thomson <connect@thanethomson.com> * evidence/pool_test: Inline slice construction Signed-off-by: Thane Thomson <connect@thanethomson.com> * state: Rename LoadBlockExtCommit to LoadBlockExtendedCommit Signed-off-by: Thane Thomson <connect@thanethomson.com> * proto: Remove TODO on TxResult Signed-off-by: Thane Thomson <connect@thanethomson.com> * types: Minor format Signed-off-by: Thane Thomson <connect@thanethomson.com> * types: Reformat ExtendedCommitSig.BlockID Signed-off-by: Thane Thomson <connect@thanethomson.com> * types: Remove NewExtendedCommit constructor Signed-off-by: Thane Thomson <connect@thanethomson.com> * types: Remove NewCommit constructor Signed-off-by: Thane Thomson <connect@thanethomson.com> * types: Shorten receiver names for ExtendedCommit Signed-off-by: Thane Thomson <connect@thanethomson.com> * types: Convert ExtendedCommit.Copy to a deep clone Signed-off-by: Thane Thomson <connect@thanethomson.com> * types: Assign TODO to Sergio Signed-off-by: Thane Thomson <connect@thanethomson.com> * types: Fix legibility nits Signed-off-by: Thane Thomson <connect@thanethomson.com> * types: Improve legibility Signed-off-by: Thane Thomson <connect@thanethomson.com> * store/state: Add TODO to move prefixes to common package Signed-off-by: Thane Thomson <connect@thanethomson.com> * Propagate validator info to PrepareProposal In order to propagate validator voting power through to PrepareProposal, we need to load the validator set info from the height corresponding to the extended commit that we're passing through to PrepareProposal as the "LocalLastCommit". Signed-off-by: Thane Thomson <connect@thanethomson.com> * Rename local var for clarity Signed-off-by: Thane Thomson <connect@thanethomson.com> * Fix TestMaxProposalBlockSize Signed-off-by: Thane Thomson <connect@thanethomson.com> * Rename local var for clarity Signed-off-by: Thane Thomson <connect@thanethomson.com> * Remove debug log Signed-off-by: Thane Thomson <connect@thanethomson.com> * Remove CommigSig.ForBlock helper Signed-off-by: Thane Thomson <connect@thanethomson.com> * Remove CommigSig.Absent helper Signed-off-by: Thane Thomson <connect@thanethomson.com> * Remove ExtendedCommitSig.ForBlock helper Signed-off-by: Thane Thomson <connect@thanethomson.com> * Remove ExtendedCommitSig.Absent helper Signed-off-by: Thane Thomson <connect@thanethomson.com> * There are no extended commits below the initial height Signed-off-by: Thane Thomson <connect@thanethomson.com> * Fix comment grammar Signed-off-by: Thane Thomson <connect@thanethomson.com> * Remove JSON encoding from ExtendedCommit Signed-off-by: Thane Thomson <connect@thanethomson.com> * Embed CommitSig into ExtendedCommitSig instead of duplicating fields Signed-off-by: Thane Thomson <connect@thanethomson.com> * Rename ExtendedCommit vote_extension field to extension for consistency with domain types Signed-off-by: Thane Thomson <connect@thanethomson.com> * blocksync: Panic if we peek a block without an extended commit Signed-off-by: Thane Thomson <connect@thanethomson.com> * Apply suggestions from code review Co-authored-by: M. J. Fromberger <fromberger@interchain.io> * Remove Sergio from TODO Signed-off-by: Thane Thomson <connect@thanethomson.com> * Increase hard-coded vote extension max size to 1MB Signed-off-by: Thane Thomson <connect@thanethomson.com> * state: Remove unnecessary comment Signed-off-by: Thane Thomson <connect@thanethomson.com> * state: Ensure no of commit sigs equals validator set length Signed-off-by: Thane Thomson <connect@thanethomson.com> * make format Signed-off-by: Thane Thomson <connect@thanethomson.com> * types: Minor legibility improvements Signed-off-by: Thane Thomson <connect@thanethomson.com> * Improve legibility Signed-off-by: Thane Thomson <connect@thanethomson.com> * types: Remove unused GetVotes function on VoteSet Signed-off-by: Thane Thomson <connect@thanethomson.com> * Refactor TestMaxProposalBlockSize to construct more realistic extended commit Signed-off-by: Thane Thomson <connect@thanethomson.com> * Refactor buildExtendedCommitInfo to resemble buildLastCommitInfo Signed-off-by: Thane Thomson <connect@thanethomson.com> * Apply suggestions from code review Co-authored-by: M. J. Fromberger <fromberger@interchain.io> * abci++: Disable VerifyVoteExtension call on nil precommits (#8491) Signed-off-by: Thane Thomson <connect@thanethomson.com> * types: Require vote extensions on non-nil precommits and not otherwise Signed-off-by: Thane Thomson <connect@thanethomson.com> * Disable lint Signed-off-by: Thane Thomson <connect@thanethomson.com> * Increase timeout for TestReactorVotingPowerChange to counter flakiness Signed-off-by: Thane Thomson <connect@thanethomson.com> * Only sign and verify vote extensions in non-nil precommits Signed-off-by: Thane Thomson <connect@thanethomson.com> * Revert "Disable lint" This reverts commit 6fffbf94028a1ae78289abbad1b602c251f6f652. Signed-off-by: Thane Thomson <connect@thanethomson.com> * Add missing non-nil check uncovered non-deterministically in TestHandshakeReplayAll Signed-off-by: Thane Thomson <connect@thanethomson.com> * Expand error message for accuracy Signed-off-by: Thane Thomson <connect@thanethomson.com> * Only call ExtendVote when we make non-nil precommits Signed-off-by: Thane Thomson <connect@thanethomson.com> * Revert "Increase timeout for TestReactorVotingPowerChange to counter flakiness" This reverts commit af514939dbdf72ce275ef290a34c390a5e982563. Signed-off-by: Thane Thomson <connect@thanethomson.com> * Refactor ValidateBasic for ExtendedCommitSig for legibility Signed-off-by: Thane Thomson <connect@thanethomson.com> Co-authored-by: Sergio Mena <sergio@informal.systems> Co-authored-by: M. J. Fromberger <fromberger@interchain.io>

Commit:dcfbd9b
Author:Thane Thomson
Committer:GitHub

abci++: Remove intermediate protos (#8414) * Sync protos with their intermediates Signed-off-by: Thane Thomson <connect@thanethomson.com> * Remove intermediate protos and their supporting scripts Signed-off-by: Thane Thomson <connect@thanethomson.com> * make proto-gen Signed-off-by: Thane Thomson <connect@thanethomson.com>

Commit:a1104b9
Author:Thane Thomson
Committer:GitHub

abci++: Sync implementation and spec for vote extensions (#8141) * Refactor so building and linting works This is the first step towards implementing vote extensions: generating the relevant proto stubs and getting the build and linter to pass. Signed-off-by: Thane Thomson <connect@thanethomson.com> * Fix typo Signed-off-by: Thane Thomson <connect@thanethomson.com> * Better describe method given vote extensions Signed-off-by: Thane Thomson <connect@thanethomson.com> * Fix types tests Signed-off-by: Thane Thomson <connect@thanethomson.com> * Move CanonicalVoteExtension to canonical types proto defs Signed-off-by: Thane Thomson <connect@thanethomson.com> * Regenerate protos including latest PBTS synchrony params update Signed-off-by: Thane Thomson <connect@thanethomson.com> * Inject vote extensions into proposal Signed-off-by: Thane Thomson <connect@thanethomson.com> * Thread vote extensions through code and fix tests Signed-off-by: Thane Thomson <connect@thanethomson.com> * Remove extraneous empty value initialization Signed-off-by: Thane Thomson <connect@thanethomson.com> * Fix lint Signed-off-by: Thane Thomson <connect@thanethomson.com> * Fix missing VerifyVoteExtension request data Signed-off-by: Thane Thomson <connect@thanethomson.com> * Explicitly ensure length > 0 to sign vote extension Signed-off-by: Thane Thomson <connect@thanethomson.com> * Explicitly ensure length > 0 to sign vote extension Signed-off-by: Thane Thomson <connect@thanethomson.com> * Remove extraneous comment Signed-off-by: Thane Thomson <connect@thanethomson.com> * Update privval/file.go Co-authored-by: M. J. Fromberger <fromberger@interchain.io> * Update types/vote_test.go Co-authored-by: M. J. Fromberger <fromberger@interchain.io> * Format Signed-off-by: Thane Thomson <connect@thanethomson.com> * Fix ABCI proto generation scripts for Linux Signed-off-by: Thane Thomson <connect@thanethomson.com> * Sync intermediate and goal protos Signed-off-by: Thane Thomson <connect@thanethomson.com> * Update internal/consensus/common_test.go Co-authored-by: Sergio Mena <sergio@informal.systems> * Use dummy value with clearer meaning Signed-off-by: Thane Thomson <connect@thanethomson.com> * Rewrite loop for clarity Signed-off-by: Thane Thomson <connect@thanethomson.com> * Panic on ABCI++ method call failure Signed-off-by: Thane Thomson <connect@thanethomson.com> * Add strong correctness guarantees when constructing extended commit info for ABCI++ Signed-off-by: Thane Thomson <connect@thanethomson.com> * Add strong guarantee in extendedCommitInfo that the number of votes corresponds Signed-off-by: Thane Thomson <connect@thanethomson.com> * Make extendedCommitInfo function more robust At first extendedCommitInfo expected votes to be in the same order as their corresponding validators in the supplied CommitInfo struct, but this proved to be rather difficult since when a validator set's loaded from state it's first sorted by voting power and then by address. Instead of sorting the votes in the same way, this approach simply maps votes to their corresponding validator's address prior to constructing the extended commit info. This way it's easy to look up the corresponding vote and we don't need to care about vote order. Signed-off-by: Thane Thomson <connect@thanethomson.com> * Remove extraneous validator address assignment Signed-off-by: Thane Thomson <connect@thanethomson.com> * Sign over canonical vote extension Signed-off-by: Thane Thomson <connect@thanethomson.com> * Validate vote extension signature against canonical vote extension Signed-off-by: Thane Thomson <connect@thanethomson.com> * Update privval tests for more meaningful dummy value Signed-off-by: Thane Thomson <connect@thanethomson.com> * Add vote extension capability to E2E test app Signed-off-by: Thane Thomson <connect@thanethomson.com> * Disable lint for weak RNG usage for test app Signed-off-by: Thane Thomson <connect@thanethomson.com> * Use parseVoteExtension instead of custom parsing in PrepareProposal Signed-off-by: Thane Thomson <connect@thanethomson.com> * Only include extension if we have received txs It's unclear at this point why this is necessary to ensure that the application's local app_hash matches that committed in the previous block. Signed-off-by: Thane Thomson <connect@thanethomson.com> * Require app_hash from app to match that from last block Signed-off-by: Thane Thomson <connect@thanethomson.com> * Add contrived (possibly flaky) test to check that vote extensions code works Signed-off-by: Thane Thomson <connect@thanethomson.com> * Remove workaround for problem now solved by #8229 Signed-off-by: Thane Thomson <connect@thanethomson.com> * add tests for vote extension cases * Fix spelling mistake to appease linter Signed-off-by: Thane Thomson <connect@thanethomson.com> * Collapse redundant if statement Signed-off-by: Thane Thomson <connect@thanethomson.com> * Formatting Signed-off-by: Thane Thomson <connect@thanethomson.com> * Always expect an extension signature, regardless of whether an extension is present Signed-off-by: Thane Thomson <connect@thanethomson.com> * Votes constructed from commits cannot include extensions or signatures Signed-off-by: Thane Thomson <connect@thanethomson.com> * Pass through vote extension in test helpers Signed-off-by: Thane Thomson <connect@thanethomson.com> * Temporarily disable vote extension signature requirement Signed-off-by: Thane Thomson <connect@thanethomson.com> * Expand on vote equality test errors for clarity Signed-off-by: Thane Thomson <connect@thanethomson.com> * Expand on vote matching error messages in testing Signed-off-by: Thane Thomson <connect@thanethomson.com> * Allow for selective subscription by vote type This is an attempt to fix the intermittently failing `TestPrepareProposalReceivesVoteExtensions` test in the internal consensus package. Occasionally we get prevote messages via the subscription channel, and we're not interested in those. This change allows us to specify what types of votes we're interested in (i.e. precommits) and discard the rest. Signed-off-by: Thane Thomson <connect@thanethomson.com> * Read lock consensus state mutex in test helper to avoid data race Signed-off-by: Thane Thomson <connect@thanethomson.com> * Revert BlockIDFlag parameter in node test Signed-off-by: Thane Thomson <connect@thanethomson.com> * Perform additional check in ProcessProposal for special txs generated by vote extensions Signed-off-by: Thane Thomson <connect@thanethomson.com> * e2e: check that our added tx does not cause all txs to exceed req.MaxTxBytes Signed-off-by: Thane Thomson <connect@thanethomson.com> * Only set vote extension signatures when signing is successful Signed-off-by: Thane Thomson <connect@thanethomson.com> * Remove channel capacity constraint in test helper to avoid missing messages Signed-off-by: Thane Thomson <connect@thanethomson.com> * Add TODO to always require extension signatures in vote validation Signed-off-by: Thane Thomson <connect@thanethomson.com> * e2e: reject vote extensions if the request height does not match what we expect Signed-off-by: Thane Thomson <connect@thanethomson.com> * types: remove extraneous call to voteWithoutExtension in test Signed-off-by: Thane Thomson <connect@thanethomson.com> * Remove unnecessary address parameter from CanonicalVoteExtension Signed-off-by: Thane Thomson <connect@thanethomson.com> * privval: change test vote type to precommit since we use an extension Signed-off-by: Thane Thomson <connect@thanethomson.com> * privval: update signing logic to cater for vote extensions Signed-off-by: Thane Thomson <connect@thanethomson.com> * proto: update field descriptions for vote message Signed-off-by: Thane Thomson <connect@thanethomson.com> * proto: update field description for vote extension sig in vote message Signed-off-by: Thane Thomson <connect@thanethomson.com> * proto/types: use fixed-length 64-bit integers for rounds in CanonicalVoteExtension Signed-off-by: Thane Thomson <connect@thanethomson.com> * consensus: fix flaky TestPrepareProposalReceivesVoteExtensions Signed-off-by: Thane Thomson <connect@thanethomson.com> * consensus: remove previously added test helper functionality Signed-off-by: Thane Thomson <connect@thanethomson.com> * e2e: add error logs when we get an unexpected height in ExtendVote or VerifyVoteExtension requests Signed-off-by: Thane Thomson <connect@thanethomson.com> * node_test: get validator addresses from privvals Signed-off-by: Thane Thomson <connect@thanethomson.com> * privval/file_test: optimize filepv creation in tests Signed-off-by: Thane Thomson <connect@thanethomson.com> * privval: add test to check that vote extensions are always signed Signed-off-by: Thane Thomson <connect@thanethomson.com> * Add a script to check documentation for ToC entries. (#8356) This script verifies that each document in the docs and architecture directory has a corresponding table-of-contents entry in its README file. It can be run manually from the command line. - Hook up this script to run in CI (optional workflow). - Update ADR ToC to include missing entries this script found. * build(deps): Bump async from 2.6.3 to 2.6.4 in /docs (#8357) Bumps [async](https://github.com/caolan/async) from 2.6.3 to 2.6.4. - [Release notes](https://github.com/caolan/async/releases) - [Changelog](https://github.com/caolan/async/blob/v2.6.4/CHANGELOG.md) - [Commits](https://github.com/caolan/async/compare/v2.6.3...v2.6.4) --- updated-dependencies: - dependency-name: async dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * privval/file_test: reset vote ext sig before signing Signed-off-by: Thane Thomson <connect@thanethomson.com> Co-authored-by: M. J. Fromberger <fromberger@interchain.io> Co-authored-by: Sergio Mena <sergio@informal.systems> Co-authored-by: William Banfield <wbanfield@gmail.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

Commit:969690d
Author:William Banfield
Committer:GitHub

abci++: only include meaningful header fields in data passed-through to application (#8216) closes: #7950

Commit:8df38db
Author:Sergio Mena
Committer:GitHub

Remove `ModifiedTxStatus` from the spec and the code (#8210) * Outstanding abci-gen changes to 'pb.go' files * Removed modified_tx_status from spec and protobufs * Fix sed for OSX * Regenerated abci protobufs with 'abci-proto-gen' * Code changes. UTs e2e tests passing * Recovered UT: TestPrepareProposalModifiedTxStatusFalse * Adapted UT * Fixed UT * Revert "Fix sed for OSX" This reverts commit e576708c618f0ef732498f4d348503b823b6c9e8. * Update internal/state/execution_test.go Co-authored-by: William Banfield <4561443+williambanfield@users.noreply.github.com> * Update abci/example/kvstore/kvstore.go Co-authored-by: M. J. Fromberger <fromberger@interchain.io> * Update internal/state/execution_test.go Co-authored-by: William Banfield <4561443+williambanfield@users.noreply.github.com> * Update spec/abci++/abci++_tmint_expected_behavior_002_draft.md Co-authored-by: William Banfield <4561443+williambanfield@users.noreply.github.com> * Addressed some comments * Added one test that tests error at the ABCI client + Fixed some mock calls * Addressed remaining comments * Update abci/example/kvstore/kvstore.go Co-authored-by: William Banfield <4561443+williambanfield@users.noreply.github.com> * Update abci/example/kvstore/kvstore.go Co-authored-by: William Banfield <4561443+williambanfield@users.noreply.github.com> * Update abci/example/kvstore/kvstore.go Co-authored-by: William Banfield <4561443+williambanfield@users.noreply.github.com> * Update spec/abci++/abci++_tmint_expected_behavior_002_draft.md Co-authored-by: William Banfield <4561443+williambanfield@users.noreply.github.com> * Addressed William's latest comments * Adressed Michael's comment * Fixed UT * Some md fixes * More md fixes * gofmt Co-authored-by: William Banfield <4561443+williambanfield@users.noreply.github.com> Co-authored-by: M. J. Fromberger <fromberger@interchain.io>

Commit:6ed2c42
Author:William Banfield
Committer:GitHub

Document steps for updating the timeout parameters. (#8217) closes: #8182 This pull request adds documentation to the `UPGRADING.md` file as well as a set of deprecation checks for the old timeout parameters in the `config.toml` file. It additionally documents the parameters in the `genesis.md`.

Commit:e2fc50e
Author:William Banfield
Committer:GitHub

types: add TimeoutParams into ConsensusParams structs (#8177)

Commit:cc838a5
Author:William Banfield
Committer:GitHub

ABCI++: Update new protos to use enum instead of bool (#8158) closes: #8039 This pull request updates the new ABCI++ protos to use `enum`s in place of `bool`s. `enums` may be preferred over `bool` because an `enum` can be udpated to include new statuses in the future, whereas a `bool` cannot and is fixed as just `true` or `false` over the whole lifecycle of the API.

Commit:93c4e00
Author:William Banfield
Committer:GitHub

abci++: remove app_signed_updates (#8128)

Commit:72bbe64
Author:Thane Thomson
Committer:GitHub

proto: update proto generation to use buf (#7975) * Hard-code go_package option for .proto files Signed-off-by: Thane Thomson <connect@thanethomson.com> * Automatically relocate generated ABCI types after proto-gen Signed-off-by: Thane Thomson <connect@thanethomson.com> * Skip building gogoproto (i.e. only build our types) Signed-off-by: Thane Thomson <connect@thanethomson.com> * Remove unnecessary proto generation scripts Signed-off-by: Thane Thomson <connect@thanethomson.com> * Upgrade buf config from v1beta1 to v1 Signed-off-by: Thane Thomson <connect@thanethomson.com> * Add simple proto generation script Signed-off-by: Thane Thomson <connect@thanethomson.com> * Replace buf-based protobuf generation with simple protoc-based approach Signed-off-by: Thane Thomson <connect@thanethomson.com> * Remove custom buf-based Docker image generation config and Dockerfile Signed-off-by: Thane Thomson <connect@thanethomson.com> * Adopt Cosmos SDK's approach to Protobuf linting and breakage checking in CI Signed-off-by: Thane Thomson <connect@thanethomson.com> * Suppress command echo when running proto checks Signed-off-by: Thane Thomson <connect@thanethomson.com> * Fix proto-check workflow YAML indentation Signed-off-by: Thane Thomson <connect@thanethomson.com> * Restore proto-format target Signed-off-by: Thane Thomson <connect@thanethomson.com> * Replace custom BASH script with make equivalent Signed-off-by: Thane Thomson <connect@thanethomson.com> * Remove proto linting/breaking changes CI checks after discussion today Signed-off-by: Thane Thomson <connect@thanethomson.com> * Remove dangling reference to CI workflow that no longer exists Signed-off-by: Thane Thomson <connect@thanethomson.com> * Update contributing guidelines relating to protos Signed-off-by: Thane Thomson <connect@thanethomson.com> * Use buf instead for generating protos Signed-off-by: Thane Thomson <connect@thanethomson.com> * Remove unused buf config for gogoprotobuf Signed-off-by: Thane Thomson <connect@thanethomson.com> * Add reminder for if we migrate fully to buf Signed-off-by: Thane Thomson <connect@thanethomson.com> * Restore protopackage script for #8065 Signed-off-by: Thane Thomson <connect@thanethomson.com> * Fix permissions on protopackage script Signed-off-by: Thane Thomson <connect@thanethomson.com> * Update contributing guidelines to show building of protos using buf Signed-off-by: Thane Thomson <connect@thanethomson.com> * Fix breaking changes check and add disclaimer Signed-off-by: Thane Thomson <connect@thanethomson.com> * Expand on contributing guidelines for clarity Signed-off-by: Thane Thomson <connect@thanethomson.com> * Re-remove old proto workflows Signed-off-by: Thane Thomson <connect@thanethomson.com> * Add buf-based proto linting workflow in CI Signed-off-by: Thane Thomson <connect@thanethomson.com> * Superficially reorder proto targets Signed-off-by: Thane Thomson <connect@thanethomson.com> * Fix proto lints Signed-off-by: Thane Thomson <connect@thanethomson.com> * Fix GA workflow YAML indentation Signed-off-by: Thane Thomson <connect@thanethomson.com> * Temporarily use forked version of mlc Use forked version of markdown-link-check until https://github.com/gaurav-nelson/github-action-markdown-link-check/pull/126 lands. Signed-off-by: Thane Thomson <connect@thanethomson.com> * Temporarily disable markdown link checker Signed-off-by: Thane Thomson <connect@thanethomson.com> * Remove gogo protos - superseded by version from buf registry Signed-off-by: Thane Thomson <connect@thanethomson.com>

Commit:0b8a62c
Author:William Banfield
Committer:GitHub

abci: Synchronize FinalizeBlock with the updated specification (#7983) This change set implements the most recent version of `FinalizeBlock`. # What does this change actually contain? * This change set is rather large but fear not! The majority of the files touched and changes are renaming `ResponseDeliverTx` to `ExecTxResult`. This should be a pretty inoffensive change since they're effectively the same type but with a different name. * The `execBlockOnProxyApp` was totally removed since it served as just a wrapper around the logic that is now mostly encapsulated within `FinalizeBlock` * The `updateState` helper function has been made a public method on `State`. It was being exposed as a shim through the testing infrastructure, so this seemed innocuous. * Tests already existed to ensure that the application received the `ByzantineValidators` and the `ValidatorUpdates`, but one was fixed up to ensure that `LastCommitInfo` was being sent across. * Tests were removed from the `psql` indexer that seemed to search for an event in the indexer that was not being created. # Questions for reviewers * We store this [ABCIResponses](https://github.com/tendermint/tendermint/blob/5721a13ab1f4479f9807f449f0bf5c536b9a05f2/proto/tendermint/state/types.pb.go#L37) type in the data base as the block results. This type has changed since v0.35 to contain the `FinalizeBlock` response. I'm wondering if we need to do any shimming to keep the old data retrieveable? * Similarly, this change is exposed via the RPC through [ResultBlockResults](https://github.com/tendermint/tendermint/blob/5721a13ab1f4479f9807f449f0bf5c536b9a05f2/rpc/coretypes/responses.go#L69) changing. Should we somehow shim or notify for this change? closes: #7658

Commit:9accc1a
Author:William Banfield
Committer:GitHub

abci++ tooling: proto synchronization (#8065) This PR implements a hack. It does effectively 2 things: 1. It checks in a set of protos, suffixed with `.intermediate` that allow the abci proto generation to proceed. 2. Adds a script / makefile to enable the generation. The script is pretty simple. It copies over the 'intermediate' files over to be the `.proto` files for the `abci/types.proto` file and the `types/types.proto` files, generates all the protos, and then reverts all of the changes made to the `*.proto` files and the `*.pb.go` files, except for the single abci file. If this is too ugly, I'm happy to tweak it, but my goal here is to have some working version of the protos that currently build the abci code so that we can coordinate changes to the code and not have them all sit in different branches that make breaking changes across each other. The end goal is to have the `.intermediate` files disappear completely, since they should be moving towards containing everything that the `.proto` files contain.

Commit:7c4fe5b
Author:Sergio Mena
Committer:GitHub

Vote extensions: new design (#8031) * Changed the spec text to agreed VoteExtension solution * Revert "Removed protobufs related to vote extensions" This reverts commit 4566f1e3028278c5b3eca27b53254a48771b152b. * Changes to ABCI protocol buffers * Update spec/core/data_structures.md Co-authored-by: M. J. Fromberger <fromberger@interchain.io> * Update spec/core/data_structures.md Co-authored-by: M. J. Fromberger <fromberger@interchain.io> * Fix dangling link in ABCI++ readme * Addressed comments Co-authored-by: M. J. Fromberger <fromberger@interchain.io>

Commit:82a2ca4
Author:Manuel Bravo
Committer:GitHub

abci++ spec: remove new_hashes and discuss transaction traceability (#8002) * remove new_hashes, discuss traceability * Update spec/abci++/abci++_methods_002_draft.md Co-authored-by: Sergio Mena <sergio@informal.systems> * Update spec/abci++/abci++_methods_002_draft.md Co-authored-by: Sergio Mena <sergio@informal.systems> * Update spec/abci++/abci++_methods_002_draft.md Co-authored-by: Sergio Mena <sergio@informal.systems> * quote example traceability * remove new_hashes from protobuf Co-authored-by: Sergio Mena <sergio@informal.systems>

Commit:e81b0e2
Author:Callum Waters
Committer:Callum Waters

spec: merge spec repo into tendermint repo (#7804)

Commit:d3548eb
Author:Sergio Mena
Committer:GitHub

Completed the existing `FinalizeBlock` PR and rebased to master (#7798) * Rebased and git-squashed the commits in PR #6546 migrate abci to finalizeBlock work on abci, proxy and mempool abciresponse, blok events, indexer, some tests fix some tests fix errors fix errors in abci fix tests amd errors * Fixes after rebasing PR#6546 * Restored height to RequestFinalizeBlock & other * Fixed more UTs * Fixed kvstore * More UT fixes * last TC fixed * make format * Update internal/consensus/mempool_test.go Co-authored-by: William Banfield <4561443+williambanfield@users.noreply.github.com> * Addressed @williambanfield's comments * Fixed UTs * Addressed last comments from @williambanfield * make format Co-authored-by: marbar3778 <marbar3778@yahoo.com> Co-authored-by: William Banfield <4561443+williambanfield@users.noreply.github.com>

Commit:7fb4e04
Author:Callum Waters

Merge branch 'master' of github.com:tendermint/spec into callum/merge-spec

Commit:4566f1e
Author:Sergio Mena
Committer:Sergio Mena

Removed protobufs related to vote extensions

Commit:1543e41
Author:Sergio Mena
Committer:Sergio Mena

Added all ABCI++ APIs to protobufs

Commit:5e90a98
Author:Marko
Committer:Sergio Mena

proto: abci++ changes (#348) * abci++ proto updates * add finalizeblock * add deprecated fields

Commit:329da35
Author:William Banfield
Committer:GitHub

Add the newly defined timeout parameters to the consensus parameters (#400)

Commit:91f898c
Author:William Banfield
Committer:GitHub

proto: merge the proposer-based timestamps parameters (#393)

Commit:29f7573
Author:mconcat
Committer:Sergio Mena

abci: Vote Extension 1 (#6646) * add proto, add boilerplates * add canonical * fix tests * add vote signing test * Update internal/consensus/msgs_test.go * modify state execution in progress * add extension signing * VoteExtension -> ExtendVote * apply review * update data structures * Add comments * Apply suggestions from code review Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com> * *Signed -> *ToSign * add Vote to RequestExtendVote * apply reviews * Apply suggestions from code review Co-authored-by: Dev Ojha <ValarDragon@users.noreply.github.com> Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com> * fix typo, modify proto Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com> Co-authored-by: Dev Ojha <ValarDragon@users.noreply.github.com>

Commit:0aa3b0b
Author:William Banfield
Committer:GitHub

Proposer-Based Timestamps Merge (#7605) This pull request merges in the changes for implementing Proposer-based timestamps into `master`. The power was primarily being done in the `wb/proposer-based-timestamps` branch, with changes being merged into that branch during development. This pull request represents an amalgamation of the changes made into that development branch. All of the changes that were placed into that branch have been cleanly rebased on top of the latest `master`. The changes compile and the tests pass insofar as our tests in general pass. ### Note To Reviewers These changes have been extensively reviewed during development. There is not much new here. In the interest of making effective use of time, I would recommend against trying to perform a complete audit of the changes presented and instead examine for mistakes that may have occurred during the process of rebasing the changes. I gave the complete change set a first pass for any issues, but additional eyes would be very appreciated. In sum, this change set does the following: closes #6942 merges in #6849

Commit:6805b48
Author:Yun Yeo
Committer:Yun Yeo

oracle mempool priority

Commit:1c34d17
Author:William Banfield
Committer:GitHub

proto: rebuild the proto files from the spec repository (#7291) * proto: rebuild the proto files from the spec repository * remove proto checks

Commit:ffe8742
Author:William Banfield
Committer:GitHub

Revert "proto: abci++ changes (#348)" (#360) This reverts commit caaafc44498f06cda3af409ddca3338651b43e0d.

Commit:a00de71
Author:William Banfield
Committer:GitHub

update proto generation and testing pipelines (#358) This pull request aims to make it possible to generate, format, and lint the protos within this repo. To accomplish that end, the Dockerfile containing common tools for building the tendermint protos has been moved into this repository and several accompanying changes were made to streamline the proto generation process.

Commit:caaafc4
Author:Marko
Committer:GitHub

proto: abci++ changes (#348) * abci++ proto updates * add finalizeblock * add deprecated fields

Commit:19ec4a5
Author:Marko
Committer:GitHub

tools: clone proto files from spec (#6976) ## Description clone proto files from spec in order to have them in a single location closes https://github.com/tendermint/spec/issues/343

Commit:86f0013
Author:M. J. Fromberger
Committer:GitHub

rpc: Remove the deprecated gRPC interface to the RPC service (#7121) This change removes the partial gRPC interface to the RPC service, which was deprecated in resolution of #6718. Details: - rpc: Remove the client and server interfaces and proto definitions. - Remove the gRPC settings from the config library. - Remove gRPC setup for the RPC service in the node startup. - Fix various test helpers to remove gRPC bits. - Remove the --rpc.grpc-laddr flag from the CLI. Note that to satisfy the protobuf interface check, this change also includes a temporary edit to buf.yaml, that I will revert after this is merged.

Commit:a524e95
Author:Callum Waters
Committer:GitHub

pex: update pex messages (#352)

Commit:fa2ccc8
Author:Marko
Committer:GitHub

proto: add tendermint go changes (#349) * add missed proto files * add abci changes * rename blockchain to blocksync * Update proto/tendermint/abci/types.proto Co-authored-by: Callum Waters <cmwaters19@gmail.com> Co-authored-by: Callum Waters <cmwaters19@gmail.com>

Commit:bda948e
Author:Callum Waters
Committer:GitHub

statesync: implement p2p state provider (#6807)

Commit:41e6812
Author:William Banfield
Committer:GitHub

proto: move proto files under the correct directory related to their package name (#344)

Commit:72adbf9
Author:Callum Waters
Committer:GitHub

statesync: new messages for gossiping consensus params (#328)

Commit:6ff4c31
Author:Callum Waters
Committer:GitHub

blockchain: rename to blocksync service (#6755)

Commit:44ac574
Author:William Banfield
Committer:GitHub

abci: add changelog entry for mempool_error field (#6770) Follow up from PR: #6740

Commit:84c1585
Author:William Banfield
Committer:GitHub

mempool: return mempool errors to the abci client (#6740) This changes adds an `MempoolError` field to the `ResponseCheckTx`. This will allow clients to understand that their transaction was rejected from the mempool despite passing the ABCI check. This change also updates the code to make use of early returns to prevent highly nested code blocks. Namely, it returns when the type assertion fails at the beginning of the method, instead of wrapping the entire method in a large if statement. This has a somewhat large effect on the diff as rendered by github. addresses: #3546

Commit:8f9cd23
Author:Marko
Committer:GitHub

update proto files for release (#318)

Commit:6039594
Author:Callum Waters
Committer:GitHub

add new pex messages (#312)

Commit:6f6ac5c
Author:Callum Waters
Committer:GitHub

state sync: reverse sync implementation (#6463)

Commit:89d381f
Author:Aleksandr Bezobchuk
Committer:GitHub

update ResponseCheckTx (#306)

Commit:1e4bc04
Author:Aleksandr Bezobchuk
Committer:GitHub

mempool: v1 implementation (#6466)

Commit:f3216e6
Author:Yixin Luo
Committer:GitHub

rename HasVote to ReceivedVote (#289)

Commit:09a6ad7
Author:Aleksandr Bezobchuk
Committer:GitHub

types: Refactor EventAttribute (#6408)

Commit:9efc20c
Author:Callum Waters
Committer:GitHub

p2p: improve PEX reactor (#6305)

Commit:255942e
Author:Callum Waters
Committer:GitHub

p2p: update state sync messages for reverse sync (#285)

Commit:990504c
Author:Marko
Committer:GitHub

crypto: add sr25519 as a validator key (#6376) ## Description Add sr25519 as a validator key option. We support the crypto in tendermint and added batch verification recently.

Commit:11523b1
Author:mergify[bot]
Committer:GitHub

note: add nondeterministic note to events (#6220) (#6225) ## Description Since events are not hashed into the header they can be non deterministic. Changing an event is not consensus breaking. Will update docs in the spec (cherry picked from commit 884d4d525299e4d43ab881ac19062501c1e09ddf) Co-authored-by: Marko <marbar3778@yahoo.com>

Commit:884d4d5
Author:Marko
Committer:GitHub

note: add nondeterministic note to events (#6220) ## Description Since events are not hashed into the header they can be non deterministic. Changing an event is not consensus breaking. Will update docs in the spec

Commit:b315f04
Author:Marko
Committer:GitHub

proto: modify height int64 to uint64 (#253)

Commit:1f01e5d
Author:Marko
Committer:GitHub

params: remove blockTimeIota (#5987) ## Description - removes blocktimeiota - merges block params in abci and core state - spec change: https://github.com/tendermint/spec/pull/248 Closes: #5939

Commit:abaffef
Author:Marko
Committer:GitHub

proto: add files (#246) Co-authored-by: Erik Grinaker <erik@interchain.berlin>

Commit:7ea8746
Author:Erik Grinaker
Committer:GitHub

proto/p2p: rename PEX messages and fields (#5974) Fixes #5899 by renaming a bunch of P2P Protobuf entities (while maintaining wire compatibility): * `Message` to `PexMessage` (as it's only used for PEX messages). * `PexAddrs` to `PexResponse`. * `PexResponse.Addrs` to `PexResponse.Addresses`. * `NetAddress` to `PexAddress` (as it's only used by PEX).

Commit:a741314
Author:Erik Grinaker
Committer:GitHub

p2p: improve peerStore prototype (#5954) This improves the `peerStore` prototype by e.g.: * Using a database with Protobuf for persistence, but also keeping full peer set in memory for performance. * Simplifying the API, by taking/returning struct copies for safety, and removing errors for in-memory operations. * Caching the ranked peer set, as a temporary solution until a better data structure is implemented. * Adding `PeerManagerOptions.MaxPeers` and pruning the peer store (based on rank) when it's full. * Rewriting `PeerAddress` to be independent of `url.URL`, normalizing it and tightening semantics.

Commit:385ea1d
Author:Callum Waters
Committer:GitHub

store: use db iterators for pruning and range-based queries (#5848)

Commit:09cf0bc
Author:Marko
Committer:GitHub

privval: add grpc (#5725) Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com>

Commit:b4ce1de
Author:Erik Grinaker
Committer:Erik Grinaker

p2p: rename NodeInfo.DefaultNodeID to NodeID