-
Notifications
You must be signed in to change notification settings - Fork 671
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: wait for outstanding proposals #5284
base: develop
Are you sure you want to change the base?
Conversation
* adds new config option `miner.wait_for_proposals_secs: Option<u64>` to control the maximum time that a miner will wait for any of its parent's outstanding block proposals to be confirmed. Default value is 10 seconds.
Marking as a draft for now while I try to figure out the best way to test this! |
…get_slot_for_miner
Signed-off-by: Jacinta Ferrant <[email protected]>
@kantai I think the main "blocker" here is that the previous miner is going to hit the |
Hmm -- in the normal mining behavior, whether or not the previous miner hits the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This approach looks good to me!
Ok, I've got a new signer test that verifies this behavior as working! Ready for review |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🙌
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No issues with the code, but if you could run clippy on the stacks-node and on libsigner would be awesome.
Also some conflicts need to be addressed.
for e.g. cargo clippy -p stacks-node --no-deps --tests --all-features
Description
This PR adds a new heuristic to the nakamoto miner: on the first block of their tenure, if it sees an outstanding proposal from the parent tenure, it will wait a configurable amount of time for the signer set to confirm that proposal and process it. This check occurs before the miner begins block assembly.