Commit Graph

10007 Commits

Author SHA1 Message Date
William Banfield
9481aac897 gofmt 2022-03-04 17:20:37 -05:00
William Banfield
794bed175d update test.sh to use 'finalize_block' 2022-03-04 17:14:24 -05:00
William Banfield
89e425e54f catch final 'tx_events' 2022-03-04 16:30:18 -05:00
William Banfield
8fe4aaad96 use legacy events field names 2022-03-04 16:28:38 -05:00
William Banfield
ab9963acb3 apply the renames to LastCommitInfo 2022-03-04 16:21:27 -05:00
William Banfield
b6a42d5d4e synchronize the intermediate proto file 2022-03-04 16:21:14 -05:00
William Banfield
102bda3dba Merge remote-tracking branch 'origin/master' into wb/abci-finalize-block-synchronize 2022-03-04 16:04:53 -05:00
William Banfield
9accc1a531 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.
2022-03-04 20:09:49 +00:00
Sam Kleinman
0167f0d527 node: nodes should fetch state on startup (#8062) 2022-03-04 12:23:57 -05:00
William Banfield
5c04e1973b fixup abci-cli for use with finalize_block 2022-03-03 18:10:07 -05:00
William Banfield
da1d210c86 rename addTxCmd -> finalizeBlockCmd 2022-03-03 17:56:59 -05:00
William Banfield
c8c248d733 docs: add an overview of the proposer-based timestamps algorithm (#8058)
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
2022-03-03 22:25:06 +00:00
Sam Kleinman
9d98484845 node: excise node handle within rpc env (#8063) 2022-03-03 15:17:45 -05:00
M. J. Fromberger
63ff2f052d Remove now-unused and deprecated Subscribe methods. (#8064)
Both pubsub and eventbus are internal packages now, and all the existing use
has been updated to use the SubscribeWithArgs methods instead.
2022-03-03 10:03:38 -08:00
William Banfield
df4851a7b1 Merge remote-tracking branch 'origin/wb/abci-finalize-block-synchronize' into wb/abci-finalize-block-synchronize 2022-03-02 18:15:05 -05:00
William Banfield
6dfde7ea84 delete logger 2022-03-02 17:51:54 -05:00
William Banfield
edb26469f4 swtich assertion of expectation 2022-03-02 17:51:20 -05:00
William Banfield
c96f7b0d63 fixup error messages 2022-03-02 17:27:10 -05:00
William Banfield
7648ad11c4 change absent check 2022-03-02 17:10:46 -05:00
William Banfield
a5e27fed6f Update internal/consensus/state_test.go
Co-authored-by: Thane Thomson <connect@thanethomson.com>
2022-03-02 16:47:23 -05:00
Sergio Mena
7c4fe5b108 Vote extensions: new design (#8031)
* 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>
2022-03-02 22:12:01 +01:00
Sam Kleinman
a3881f0fb1 consensus: improve wal test cleanup (#8059)
I believe that this gets rid of our temp-file related test errors.
2022-03-02 18:35:39 +00:00
M. J. Fromberger
59eaa4dba0 Revert "Remove master from versions and copy it from the latest. (#7980)" (#8053)
This reverts commit f939f962b1.

A lot of inbound links are still broken, so we will need to find a different
approach to suppressing unreleased docs.
2022-03-02 08:50:35 -08:00
M. J. Fromberger
33e6f7af11 Forward-port changelog updates for v0.35.2 to master. (#8054) 2022-03-02 16:43:11 +00:00
M. J. Fromberger
af96ef2fe4 rpc: set a minimum long-polling interval for Events (#8050)
Since the goal of reading events at the head of the event log is to satisfy a
subscription style interface, there is no point in allowing head polling with
no wait interval. The pagination case already bypasses long polling, so the
extra option is unneessary.

Set a minimum default long-polling interval for the head case.
Add a test for minimum delay.
2022-03-02 08:12:18 -08:00
Thane Thomson
65065e6054 docs: update ADR template (#7789)
* Update ADR template

The reason for this proposed update to the ADR template is twofold:

1. There's currently no easy way to cross-reference between ADRs and
   issues/PRs on GitHub. This may be easy to manage for those with
   context while they're working on implementing an ADR, but after time
   passes and for complex ADRs it gets more difficult for newcomers to
   the codebase to track both the implementation status of the ADR or
   its historical context and discussions.
2. We should not allow for "proposed" ADRs. An ADR is a **decision
   record**, which implies acceptance, and not a proposal. RFCs provide
   a mechanism to make proposals.

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Add example of one ADR superseding another

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Move "Proposed" ToC entries to "Accepted".

It's possible some of these should actually be "Implemented", but I did not try
to go through each one to distinguish.

* Revert "Move "Proposed" ToC entries to "Accepted"."

This reverts commit d8d2907e98.

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Fix Markdown formatting

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Add "Deprecated" section to ADR TOC

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Expand ADR template to explicitly cater for rejected ADRs

Signed-off-by: Thane Thomson <connect@thanethomson.com>

Co-authored-by: M. J. Fromberger <fromberger@interchain.io>
2022-03-02 10:25:30 -05:00
William Banfield
6bc343c626 remove polRound variable 2022-03-02 09:57:47 -05:00
William Banfield
cdaf6cbfa9 readability fixups 2022-03-02 09:50:14 -05:00
William Banfield
927a423c17 Update internal/consensus/mempool_test.go
Co-authored-by: M. J. Fromberger <fromberger@interchain.io>
2022-03-02 09:49:17 -05:00
William Banfield
01a1379dbf Update internal/state/execution_test.go
Co-authored-by: M. J. Fromberger <fromberger@interchain.io>
2022-03-02 09:49:10 -05:00
William Banfield
c3ee75413d Update internal/state/indexer/block/kv/kv.go
Co-authored-by: M. J. Fromberger <fromberger@interchain.io>
2022-03-02 09:44:15 -05:00
M. J. Fromberger
c42c6d06d2 Migration of TLA+ files from the spec repo (#8004) (#8018)
Co-authored-by: Kukovec <jure.kukovec@gmail.com>
2022-03-02 09:08:39 -05:00
William Banfield
5721a13ab1 remove validate precommit 2022-03-01 18:57:32 -05:00
William Banfield
4e859073c6 lint++ 2022-03-01 18:39:48 -05:00
William Banfield
ef41b126d9 fix message test 2022-03-01 18:39:08 -05:00
William Banfield
5425c83f1b finish Update refactor 2022-03-01 18:20:33 -05:00
William Banfield
750551e855 make state update a public method 2022-03-01 17:49:58 -05:00
William Banfield
69599dbed7 update signature for state update function 2022-03-01 17:43:08 -05:00
William Banfield
9528a22b37 use abci responses for hash creation 2022-03-01 16:57:54 -05:00
William Banfield
2d2114463b remove overuse of abciresponses variable 2022-03-01 15:40:32 -05:00
M. J. Fromberger
a22942504c p2p: re-enable tests previously disabled (#8049) 2022-03-01 12:25:11 -08:00
William Banfield
52815091b3 remove finalize block helper function 2022-03-01 15:19:10 -05:00
William Banfield
844f1075fb fixups 2022-03-01 14:58:51 -05:00
William Banfield
d31d222e83 lint fixups 2022-03-01 14:53:59 -05:00
William Banfield
95b6c7ab77 merge fixups 2022-03-01 14:52:42 -05:00
William Banfield
fafdc320b0 state tests passing 2022-03-01 14:46:13 -05:00
William Banfield
dcf47ec76f fixup last commit test 2022-03-01 14:46:13 -05:00
William Banfield
8103b94044 wip on test fix 2022-03-01 14:46:13 -05:00
William Banfield
c941d8e0e9 add test case to ensure call to finalize block 2022-03-01 14:46:13 -05:00
William Banfield
5e210ce5d8 remove assertion that finalize block being generated for psql indexer 2022-03-01 14:46:13 -05:00