-
Notifications
You must be signed in to change notification settings - Fork 15
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
Bundle passes validation step but fails to be sent to builder using refund-recipient
#20
Comments
I'd be interested in contributing to this repo |
I also posted a question about why a searcher would actually create a bundle like |
Pining you @dvush, since you edited those files most recently |
Thanks, taking a look! |
You are correct! Not all nested bundles can be converted to bundle with a fee recipient. Even though theoretically it makes sense in this case we did not implement this. First of all this case would be rare because such bundle is not the best representation of what you want (plain bundle with 2 txs). Second, I don't know how refund recipient handles more than two txs in a bundle, since it needs to distinguish between what is a backrun and what is user txs. Given that I don't think it's should be fixed unless there is a use case that you think is unsupported if we don't implement that. |
Description
There is a special case of nested bundles that can be sent to builders using the
v1.0
format but will fail to be sent to builders usingrefund-recipient
I identified this potential bug during a code review. I haven't tested it yet but my observations lead me to believe it's a bug.
Reproduction Steps
Send a bundle
B1
from searcherS1
that contains an inner bundle but all elements are matched. Set privacy hints so that the bundle is shared in the hint streamCreate a new bundle
B2
from searcherS2
that backruns bundleB1
. Make sure to set a builder in the privacy settings that relies on therefund-recipient
formatExpected Behavior
The bundle is sent to both the flashbots builder and the external builder.
Actual Behavior:
The bundle will be sent to the flashbots builder, since it relies on the
v1.0
format, but not to the builder relying on therefund-recipient
format.Additional Context:
The bundle
B2
passes the validation, because the max nesting level is 0.The unmatched bundle gets matched.
When the bundle gets sent to a builder that relies on the
refund-recipient
format the bundle must be converted. In the conversion the transactions are extracted, but this time the bundle will throw an error because the nesting level is 2.The text was updated successfully, but these errors were encountered: