You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
What is this task and why do we need to work on it?
Develop an updated API to handle multiple sequencing fees per block.
HotShot needs to be able to accept multiple fees for a block to allow for multiple builders to submit bundles with requisite fees as a result of the Solver’s allocation result. Because of this, we’ll need to extend the flow of the Transactions task to support in-loop web requests depending on which version of the code we’re running. The existing flow in the Transactions task is as follows:
HotShotEvent::ViewChange() => {
...
let block = {ifself.decided_upgrade_certificate.as_ref().is_some_and(|cert| cert.upgrading_in(block_view)){None}else{self.wait_for_block().await}};ifletSome(BuilderResponses{
block_data,
blocks_initial_info,
block_header,}) = block
{// Broadcast the block
...}else{// If we couldn't get a block, send an empty blockwarn!("Failed to get a block for view {:?}, proposing empty block",
view
);// Construct a null block
...};
...}
This will be one of the first blocks of versioned code that we interact with. In this, we’ll adjust the wait logic to instead query the solver service via the Sequencer by leveraging the versioning check (defined below) to execute the proper code path depending on what version of hotshot we’re interacting with.
What is this task and why do we need to work on it?
Develop an updated API to handle multiple sequencing fees per block.
HotShot needs to be able to accept multiple fees for a block to allow for multiple builders to submit bundles with requisite fees as a result of the Solver’s allocation result. Because of this, we’ll need to extend the flow of the Transactions task to support in-loop web requests depending on which version of the code we’re running. The existing flow in the Transactions task is as follows:
This will be one of the first blocks of versioned code that we interact with. In this, we’ll adjust the wait logic to instead query the solver service via the Sequencer by leveraging the versioning check (defined below) to execute the proper code path depending on what version of hotshot we’re interacting with.
What work will need to be done to complete this task?
No response
Are there any other details to include?
Confirm with @QuentinI or @nyospe about the details of computing the block fields from the bundles.
What are the acceptance criteria to close this issue?
Tests are written and pass for the various code paths.
Branch work will be merged to (if not the default branch)
No response
The text was updated successfully, but these errors were encountered: