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: Trusted Builder MVP(W.I.P) #1356

Closed
wants to merge 23 commits into from

Conversation

bharath-123
Copy link
Contributor

@bharath-123 bharath-123 commented Aug 7, 2024

Summary

This PR describes the changes made to the composer and conductor for the Trusted Builder MVP.

Background

A Trusted Builder is a sophisticated rollup entity who is responsible for creating high value bundles. Composer is part of the trusted builder. The trusted builder's composer is responsible for simulating the bundle created by the builder and removing any invalid or reverting txs. To achieve this, we have made changes to the ExecuteBlock method/ to have a simulateOnly mode and to return txs that have been successfully included in a block.

More details on Trusted Builder are included in https://www.notion.so/astria-org/Trusted-Block-Builder-MVP-8eba7cd7cbd34e4e90a4adf726879028?pvs=4

Changes

  • Update ExecuteBlock method to take in a field simulateOnly which indicates that the ExecuteBlock run is only for simulation.
  • Update ExecuteBlock method to return the included transactions list along with the returned block.
  • Add a BundleSimulator type which is responsible for simulating a given bundle. To simulate, we call GetCommitmentState followed by an ExecuteBlock with simulateOnly as true. We then create a BuilderBundlePacket with the included transactions and submit it to the sequencer.
  • We update the ExecutionAPI protos and add some boilerplate for the BuilderBundle and BuilderBundlePacket protos to convert it from the raw protobuf and the original struct.

Testing

Modifying Unit tests.
Deploying locally and running spamooor against it.

Related Issues

#1322

closes

@github-actions github-actions bot added conductor pertaining to the astria-conductor crate proto pertaining to the Astria Protobuf spec sequencer pertaining to the astria-sequencer crate composer pertaining to composer cd labels Aug 7, 2024
@bharath-123 bharath-123 force-pushed the bharath/composer-execution-api-integration branch from acec62b to ef45ebd Compare August 13, 2024 10:58
@bharath-123 bharath-123 force-pushed the bharath/composer-execution-api-integration branch from b708e5f to 051735f Compare August 20, 2024 07:55
@quasystaty1 quasystaty1 added preview demo docker-build used to trigger docker builds on PRs labels Aug 20, 2024
@aajimal aajimal removed the preview label Aug 29, 2024
@bharath-123 bharath-123 force-pushed the bharath/composer-execution-api-integration branch from 36e4abd to 0f07816 Compare September 6, 2024 15:33
@bharath-123 bharath-123 closed this Nov 7, 2024
@bharath-123 bharath-123 deleted the bharath/composer-execution-api-integration branch November 7, 2024 16:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cd composer pertaining to composer conductor pertaining to the astria-conductor crate demo docker-build used to trigger docker builds on PRs proto pertaining to the Astria Protobuf spec sequencer pertaining to the astria-sequencer crate
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants