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](5721a13ab1/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](5721a13ab1/rpc/coretypes/responses.go (L69)) changing. Should we somehow shim or notify for this change?
closes: #7658
This change adds an overview of the proposer-based timestamps algorithm. The goal of this documentation is to give a plain enough explanation of the algorithm so that application developers and validators can understand both the utility of the algorithm and understand how the new constrains may affect their network and topology.
I'm blanking on the scheme we decided on for docs linking, so if anyone could remind me what link format we decided on, I'll go clean that up ASAP.
Once this is merged, I intend to create a runbook for chains that see slower block-times or higher nil prevotes and link that runbook to this document to provide a higher-level overview.
closes: #8046
* Changed the spec text to agreed VoteExtension solution
* Revert "Removed protobufs related to vote extensions"
This reverts commit 4566f1e302.
* 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>
* PBTS: brief context and proposal added to README
* PBTS: summary of algorithmic solution added to README
* PBTS: Context section of README improved
* PBTS: fixing links and page titles
* PBTS: moved first drafts to v1/, links updated
* PBTS: added issues to README, link to arXiv PDF
* PBTS: brief context and proposal added to README
* PBTS: summary of algorithmic solution added to README
* PBTS: Context section of README improved
* PBTS: fixing links and page titles
* PBTS: moved first drafts to v1/, links updated
* PBTS: added issues to README, link to arXiv PDF
* Apply suggestions from code review
Co-authored-by: William Banfield <4561443+williambanfield@users.noreply.github.com>
Co-authored-by: Josef Widder <44643235+josef-widder@users.noreply.github.com>
* Fixing linting problems
Co-authored-by: Daniel Cason <cason@gandria>
Co-authored-by: William Banfield <4561443+williambanfield@users.noreply.github.com>
Co-authored-by: Josef Widder <44643235+josef-widder@users.noreply.github.com>
* p2p/message: Changed evidence message to contain evidence, not a list of evidence
* Update spec/p2p/messages/evidence.md
Co-authored-by: Callum Waters <cmwaters19@gmail.com>
Co-authored-by: Callum Waters <cmwaters19@gmail.com>
* PBTS: second version of system model
* PBTS: new model referred in algorithm spec
* PBTS: removed model discussion from algorithm spec
* PBTS: corrections on the ystem model
* PBTS: a pretty complex problem statement
* PBTS: minor fixes on the problem spefication
* PBTS: liveness part of problem specification
* PBTS: link updated, outdated note on sysmodel_v1
* Update spec/consensus/proposer-based-timestamp/pbts-algorithm_002_draft.md
Co-authored-by: William Banfield <4561443+williambanfield@users.noreply.github.com>
* Apply William's suggestions from code review
Co-authored-by: William Banfield <4561443+williambanfield@users.noreply.github.com>
* PBTS: new discussion and definition for accuracy
* Apply Josef's suggestion from code review
Co-authored-by: Josef Widder <44643235+josef-widder@users.noreply.github.com>
* PBTS: some tags added to sysmodel
* PBTS: motivation and link to Issue #371
* PBTS: fixing lint error
Co-authored-by: William Banfield <4561443+williambanfield@users.noreply.github.com>
Co-authored-by: Josef Widder <44643235+josef-widder@users.noreply.github.com>