-
Notifications
You must be signed in to change notification settings - Fork 106
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
Un-reject transactions which depend on newly created outputs #2694
Comments
Hey team! Please add your planning poker estimate with ZenHub @conradoplg @dconnolly @jvff @oxarbitrage @teor2345 @upbqdn |
My arguments for the quick fix: When a transactions fails due to missing inputs, I think they just timeout. We'd need to detect that and include somehow the missing inputs in the error being returned, which seems tricky. Otherwise we can just query the state to get the missing inputs, but it also seems awkward... Also, in a sense, it seems this would basically recreate the timeout for missing inputs but elsewhere. Handling |
I'm probably going to run out of work tomorrow, and there are no unblocked tasks left in the sprint, so I'm moving this one back in. |
Motivation
Zebra rejects transactions that spend outputs that haven't been mined yet.
But when those outputs are mined, we continue to reject those transactions until:
Design
FailedVerification
andSpendConflict
rejections every time we get a new block.FailedVerification
andSpendConflict
list to 40,000 entriesThis size limit is the same as ZIP-401, but the lists should be separate.
This might mean that we need to split the error types and the lists again.
Alternative Designs
This alternative design depends on the
OutPoint
s and nullifiers from ticket #2631.We could keep lists of:
Invalid
rejection, and remove the rejection when all the inputs are minedSpendConflict
rejection, and remove the rejection if all its conflicting inputs are rejectedFollow Up
Split
transaction::Verifier
errors the same way, see #2834.The text was updated successfully, but these errors were encountered: