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

fix(protocol): reward non-assigned prover 7/8 liveness bond #18132

Merged
merged 15 commits into from
Sep 18, 2024

Conversation

dantaik
Copy link
Contributor

@dantaik dantaik commented Sep 18, 2024

Without this small fix, provers other than the assigned prover won't have an incentive to prove a block out of the proving window.

@dantaik dantaik marked this pull request as ready for review September 18, 2024 03:10
@dantaik dantaik requested a review from smtmfft September 18, 2024 03:18
Copy link

openzeppelin-code bot commented Sep 18, 2024

fix(protocol): reward non-assigned prover 7/8 liveness bond

Generated at commit: 463012bce0cb94ed71a16be391565535dba06a7e

🚨 Report Summary

Severity Level Results
Contracts Critical
High
Medium
Low
Note
Total
2
2
0
8
43
55
Dependencies Critical
High
Medium
Low
Note
Total
0
0
0
0
0
0

For more details view the full report in OpenZeppelin Code Inspector

@dantaik dantaik changed the base branch from main to revert_runner September 18, 2024 03:24
Base automatically changed from revert_runner to main September 18, 2024 03:42
@dantaik dantaik enabled auto-merge September 18, 2024 04:26
@dantaik dantaik changed the title fix(protocol): reward actual prover 50% liveness bond if the block fix(protocol): reward non-assigned prover 7/8 liveness bond Sep 18, 2024
@adaki2004
Copy link
Contributor

Also since the proposer is paying the liveness bonds (in LibProposing):
LibBonds.debitBond(_state, _resolver, local.params.proposer, _config.livenessBond);

Should not we take into consideration the proposer when it comes to returning it ? Maybe it changed in the meantime, but i was in the belief that prover pays the bond, not the proposer. 🤔 (Or proposer == prover ? but i dont see this enforced anywhere )

@dantaik
Copy link
Contributor Author

dantaik commented Sep 18, 2024

Also since the proposer is paying the liveness bonds (in LibProposing): LibBonds.debitBond(_state, _resolver, local.params.proposer, _config.livenessBond);

Should not we take into consideration the proposer when it comes to returning it ? Maybe it changed in the meantime, but i was in the belief that prover pays the bond, not the proposer. 🤔 (Or proposer == prover ? but i dont see this enforced anywhere )

The proposer and assignedProver is the same address, we named them differently because of back-ward compatible reasons. They ARE the same.

@dantaik dantaik requested a review from adaki2004 September 18, 2024 15:21
@adaki2004 adaki2004 disabled auto-merge September 18, 2024 16:14
Copy link
Contributor

@adaki2004 adaki2004 left a comment

Choose a reason for hiding this comment

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

LGTM but for some reason L2 Genesis tests seems to be failing - so disabled the auto-merge.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants