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

Allow zero-value payloads. #243

Closed
wants to merge 1 commit into from

Conversation

mcdee
Copy link

@mcdee mcdee commented Nov 11, 2024

📝 Summary

Allow payloads with transactions to propagate to relays, even if the payload value is 0.

Fixes #242

💡 Motivation and Context

If a payload contains transactions then it should be propagated, even if its value is 0. Although this may not seem like a particularly useful result, it is still a valid one and sending it to the relay provides useful information and allows for special-case processing of the payload.

✅ I have completed the following steps:

  • Run make lint
    • seeing error error: failed to run custom build command for reth-mdbx-sys v1.0.6 (https://github.com/paradigmxyz/reth?tag=v1.0.6#c228fe15)
  • Run make test
    • seeing error error: failed to run custom build command for reth-mdbx-sys v1.0.6 (https://github.com/paradigmxyz/reth?tag=v1.0.6#c228fe15)
  • Added tests (if applicable)
    • There do not appear to be tests for this part of the codebase

Copy link

Benchmark results for 50a486a

Report: https://flashbots-rbuilder-ci-stats.s3.us-east-2.amazonaws.com/benchmark/50a486a-70579d1/report/index.html

Date (UTC) 2024-11-14T16:59:23+00:00
Commit 50a486aa9def8fe8bd55e636f745e4d938838e4b
Base SHA 70579d128cda94081f1335e3cd3499ff94a7899a

Significant changes

Benchmark Mean Status
MEV-Boost SubmitBlock serialization/JSON encoding -15.58% Performance has improved.

@ferranbt
Copy link
Contributor

Hi @mcdee. Can you give more color on this feature? When is it required? Is it only for testing purposes? That was my impression.

@mcdee
Copy link
Author

mcdee commented Nov 20, 2024

@ferranbt pretty much as the description says: even if a payload has a nominal value of 0, if it contains transactions and is the highest value payload that can be built from the available transactions then it should be considered valid.

As to why 0 value transactions should be considered at all: not paying the (arbitrary) proposer any fees is a requirement for some transaction initiators, where they cannot make payments to the proposer without knowing who the are. The only real solution to this is to have a 0 tip for the transaction. And ultimately it is possible for a block to only consist of such transactions.

@ZanCorDX
Copy link
Contributor

Just talked with our relay expert and she said: "Relay will reject 0 eth / empty blocks at the moment" so I guess we should leave it as it is.

@mcdee
Copy link
Author

mcdee commented Nov 22, 2024

Just talked with our relay expert and she said: "Relay will reject 0 eth / empty blocks at the moment" so I guess we should leave it as it is.

Some relays will, not all of them.

@ZanCorDX
Copy link
Contributor

Closing it until we are sure we can get the relays to accept this.

@ZanCorDX ZanCorDX closed this Nov 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0-value payloads not propagated
3 participants