Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(protos): add auction result to bundle protos #1795

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

itamarreif
Copy link
Contributor

@itamarreif itamarreif commented Nov 7, 2024

Summary

This PR adds the auction result definition to the bundle api protos.

Background

The auctioneer chooses a winning bundle which it needs to submit in a RollupDataSubmission to the sequencer. The winning bundle needs to be signed first, and this PR adds a wrapper object that includes the signature and public key required to verify the signature was done by the correct Auctioneer.

Changes

  • Add AuctionResult defintion to the bundle api

Changelogs

  • Added AuctionResult definition to the bundle api protos

Related Issues

closes #1790

@itamarreif itamarreif self-assigned this Nov 7, 2024
@github-actions github-actions bot added the proto pertaining to the Astria Protobuf spec label Nov 7, 2024
@itamarreif itamarreif force-pushed the itamarreif/auctioneer/eng-998 branch from da3b5f5 to c00046b Compare November 7, 2024 19:43
@itamarreif itamarreif force-pushed the itamarreif/auctioneer/eng-998 branch from c00046b to e50a5a0 Compare November 7, 2024 19:44
@itamarreif itamarreif marked this pull request as ready for review November 7, 2024 19:53
@itamarreif itamarreif requested review from a team as code owners November 7, 2024 19:53
@itamarreif itamarreif force-pushed the itamarreif/auctioneer/eng-998 branch from e50a5a0 to a2643ed Compare November 7, 2024 22:50
@itamarreif itamarreif changed the base branch from main to itamarreif/auctioneer/protos-v1-update November 7, 2024 22:52
// The rollup will verify the signature and public key against its configuration,
// then unbundle the body into rollup transactions and execute them first in the
// block.
message AuctionResult {
Copy link
Member

Choose a reason for hiding this comment

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

I have to walk back my suggestion for calling this a Result because it would clash with a regular Rust Result: Result<AuctionResult, E>.

Let's go with WinningBundle instead?

Copy link
Member

Choose a reason for hiding this comment

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

I think it's probably fine to just call this a SignedBundle? That's what it is and provides a more generic option. IE this could allow it to be a bundle generated and signed by a TEE and submitted.

The fact that this signer indicates it is a Auction Result bundle is an implementation detail for the rollup?

Copy link
Member

Choose a reason for hiding this comment

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

After discussion online, I'm ok with allocation.

Long term we will want something generic for signed data probably.

Copy link
Member

@SuperFluffy SuperFluffy left a comment

Choose a reason for hiding this comment

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

Setting this to requesting changes to make it clear that this PR was reviewed and needs further action.

@itamarreif itamarreif force-pushed the itamarreif/auctioneer/protos-v1-update branch from d1edce9 to 4287b94 Compare November 18, 2024 03:09
@itamarreif
Copy link
Contributor Author

Changed the name of the envelope type to Allocation, following the terminology in auction theory (i.e. the auctioneer decides on an allocation).

// rollup.
bytes public_key = 2;
// The bundle that was allocated the winning slot by the Auctioneer.
Bundle payload = 3;
Copy link
Member

Choose a reason for hiding this comment

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

I think we want to follow sequencer's Transaction and make this an opaque Any type so that we need not worry about differences in protobuf encoders.

Base automatically changed from itamarreif/auctioneer/protos-v1-update to main November 19, 2024 06:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
auctioneer proto pertaining to the Astria Protobuf spec
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add signed auction result to bundle API
3 participants