-
Notifications
You must be signed in to change notification settings - Fork 217
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
Min bid #274
Min bid #274
Conversation
Codecov ReportAttention: Patch coverage is
β Your organization needs to install the Codecov GitHub app to enable full functionality. Additional details and impacted files@@ Coverage Diff @@
## main #274 +/- ##
===========================================
- Coverage 82.12% 66.66% -15.47%
===========================================
Files 5 7 +2
Lines 677 879 +202
===========================================
+ Hits 556 586 +30
- Misses 92 261 +169
- Partials 29 32 +3
Flags with carried forward coverage won't be shown. Click here to find out more. β View full report in Codecov by Sentry. |
@metachris do you need anything else from me on this? |
looks like a good feature to have. left a few comments, also please rebase π |
Thanks for the comments, they should all be resolved in the above commit |
@allboxes, I think this PR is step in the right direction given that many people are wary of running mev-boost especially since the mev-boost reward has the possibility of being less than the reward you would have earned from a locally produced block. I have 2 comments (although this may be beyond the scope of the PR)
|
Hey @jumboshrimp100 I appreciate the questions!
That's an interesting idea, but not in scope for mev-boost. Later, when the execution API adds the
Personally, if I were to use this I'd like to keep my min-bid preference private. And this doesn't really align with how things work. A relay only has one opportunity to send a bid to mev-boost. If mev-boost rejects that bid, there is no higher bid that the relay can send, it's already sent it's highest value bid. |
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.
Overall, this looks pretty good. I like this feature. See my suggestions.
Co-authored-by: Justin Traglia <[email protected]>
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.
LGTM. Thanks for fixing those things.
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.
Thanks, I didn't see that typo.
cli/main.go
Outdated
@@ -25,6 +27,7 @@ var ( | |||
defaultListenAddr = getEnv("BOOST_LISTEN_ADDR", "localhost:18550") | |||
defaultRelayCheck = os.Getenv("RELAY_STARTUP_CHECK") != "" | |||
defaultGenesisForkVersion = getEnv("GENESIS_FORK_VERSION", "") | |||
defaultRelayMinBidEth = getEnvFloat64("MIN_BID_ETH", 0.001) |
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.
One more thing, the default minimum bid should be zero. It's up to the user (operator) to set this value based on their preferences. I'm just concerned with the side effects of this. For example, a default value of 0.001
would affect testnets (like sepolia) where the average mev reward is most likely to be below that threshold. I understand the desire for a non-zero default: low value blocks will be built using the local execution engine. But when CL clients start to compare the value to the block it built locally, I think that would serve as a better "default" minimum.
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.
Sure, that makes sense.
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.
Looks great. Thanks!
* add min-bid feature * Add Float to U256 test, other minor review changes * Re-wrote floatEthTo256Wei + addressed review comments * Apply suggestions from jtraglia's code review Co-authored-by: Justin Traglia <[email protected]> * fix typo * Changed default min-bid to 0 and added logging Co-authored-by: allboxes <[email protected]> Co-authored-by: Justin Traglia <[email protected]>
π Summary
Allow users to set a minimum bid to accept a block from a relay
β± Motivation and Context
#273
β I have run these commands
make lint
make test-race
go mod tidy