Skip to content
This repository was archived by the owner on Feb 23, 2022. It is now read-only.

proto: abci++ changes#348

Merged
tac0turtle merged 4 commits intomasterfrom
marko/abci++_proto
Nov 16, 2021
Merged

proto: abci++ changes#348
tac0turtle merged 4 commits intomasterfrom
marko/abci++_proto

Conversation

@tac0turtle
Copy link
Contributor

@tac0turtle tac0turtle commented Sep 23, 2021

Description

Add proto files to reflect changes being made for abci++

@tac0turtle
Copy link
Contributor Author

marking as R4R to get reviews in, but there will be further doc changes

@tac0turtle tac0turtle marked this pull request as ready for review September 23, 2021 10:44
@tac0turtle tac0turtle changed the title proto: abci++ proto changes proto: abci++ changes Sep 23, 2021
Copy link
Contributor

@cmwaters cmwaters left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking good so far. I assume there are more changes to come but I have a few comments in the meantime

RequestCheckTx check_tx = 7;
RequestDeliverTx deliver_tx = 8 [deprecated = true];
RequestEndBlock end_block = 9 [deprecated = true];
RequestCommit commit = 10;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't this also being deprecated?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This stays

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's the flow here? something like this:

  1. Receive 2/3+ precommits
  2. Execute FinalizeBlock
  3. Persist the block and state changes
  4. Execute Commit

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, this would be the flow

enum Result {
UNKNOWN = 0; // Unknown result, treat as ACCEPT by default
ACCEPT = 1; // Vote extension verified, include the vote
SLASH = 2; // Vote extension verification aborted, continue but slash validator
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does this mean for tendermint? i.e. what does tendermint do when it gets a SLASH response?

RequestOfferSnapshot offer_snapshot = 12;
RequestLoadSnapshotChunk load_snapshot_chunk = 13;
RequestApplySnapshotChunk apply_snapshot_chunk = 14;
RequestPrepareProposal prepare_proposal = 15;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tag 15 was removed in 82e4693c, we should probably not re-use it.

Was:

RequestApplySnapshotChunk apply_snapshot_chunk = 15;

We can use a reserved clause to avoid old tags in the future.

I'm not sure if this is the only one, but it's the only one I found offhand.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

changing the number format in major releases, while not preferable, should be fine. Apps should refetch all the proto files when updating otherwise they could encounter other errors.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah it seems like we actually removed set_option:

RequestSetOption          set_option           = 4;

and pushed everything up so really we should reserve 4 but I think we can get away with this (we already did this in 0.34).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess as long as chains don't persist old ABCI messages (just their contents) it's probably OK. We should probably get in the habit of not reusing tag numbers, though. That's one of the hardest breaking changes to detect and fix in protobuf.

@github-actions
Copy link

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@github-actions github-actions bot added the Stale label Oct 21, 2021
@tac0turtle tac0turtle removed the Stale label Oct 21, 2021
@tac0turtle tac0turtle requested a review from cmwaters October 21, 2021 07:41
Copy link
Contributor

@cmwaters cmwaters left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 🥇

@github-actions
Copy link

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@github-actions github-actions bot added the Stale label Nov 16, 2021
@tac0turtle tac0turtle merged commit caaafc4 into master Nov 16, 2021
@tac0turtle tac0turtle deleted the marko/abci++_proto branch November 16, 2021 09:43
williambanfield added a commit that referenced this pull request Nov 16, 2021
williambanfield added a commit that referenced this pull request Nov 16, 2021
sergio-mena pushed a commit that referenced this pull request Jan 28, 2022
* abci++ proto updates

* add finalizeblock

* add deprecated fields
evan-forbes pushed a commit to celestiaorg/spec that referenced this pull request Feb 2, 2022
* abci++ proto updates

* add finalizeblock

* add deprecated fields
sergio-mena pushed a commit that referenced this pull request Feb 4, 2022
* abci++ proto updates

* add finalizeblock

* add deprecated fields
sergio-mena pushed a commit that referenced this pull request Feb 4, 2022
* abci++ proto updates

* add finalizeblock

* add deprecated fields
sergio-mena pushed a commit that referenced this pull request Feb 4, 2022
* abci++ proto updates

* add finalizeblock

* add deprecated fields
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants