-
Notifications
You must be signed in to change notification settings - Fork 107
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
fix(rpc): Refactor getrawtransaction
& RPC error handling
#9049
Conversation
We don't need such a test anymore because the deserialization is handled by Serde now.
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
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 good to me, it would be nice to apply this suggestion but it could also be removed in the next PR so I don't think it's a blocker.
The lightwalletd tests seem to be required now, they should pass once #9052 has merged. There was a timeout here: https://github.com/ZcashFoundation/zebra/actions/runs/12265821808/job/34222718084?pr=9049#step:12:2016, but the same tests passed with rust stable so it was likely spurious. |
@mergify update |
✅ Branch has been successfully updated |
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.
I think there might be a bug, I'm looking into it
Yep, e.g.
on
|
Thanks for spotting the bug. I'll switch back to |
Fixed. |
Deriving `serde::Serialize` & `serde::Deserialize` for `transaction::Hash` was superfluous, and we didn't need it anywhere in the code.
Motivation
Close #8945.
Specifications & References
Solution
getrawtransaction
output conflicts withzcashd
output #8744. Note thatzcashd
stores transactions in orphaned blocks and responds to queries requesting such transactions withheight
to -1. Since Zebra doesn't keep orphaned blocks below the rollback limit, it now returns the error "No such mempool or blockchain transaction". If we wanted to matchzcashd
, we'd need to start storing orphaned blocks.getrawtransaction
and some other RPCs.Network
s.Tests
Update and add
to check the new error codes.
Follow-up Work
PR Author's Checklist
PR Reviewer's Checklist