flashbots / mev-boost

MEV-Boost allows Ethereum validators to source high-MEV blocks from a competitive builder marketplace
https://boost.flashbots.net
MIT License
1.13k stars 198 forks source link

server: refactor handleGetHeader #643

Open MariusVanDerWijden opened 3 months ago

MariusVanDerWijden commented 3 months ago

📝 Summary

This pulls out the verification logic into verifyBid which makes it easier to unit test in the future. It also changes the logic for parallelizing the requests to the builder from using a shared mutex to computing the requests in parallel and assembling the best response after the fact on the main thread

⛱ Motivation and Context

This PR makes verifyBid easier to unit test as it does not depend on setting up multiple relays etc. This PR also removes some very un-standard logic of using a shared mutex to compute the best bid.

I am not 100% sure about the performance implications of this PR, but I think it should be faster in my opinion, since we do not need to wait for the locking of the mutex