971765ab30
## Motivation The zebra-state service needs to be able to handle duplicate blocks. ## Solution This implements changes already outlined by [The State RFC](https://zebra.zfnd.org/dev/rfcs/0005-state-updates.html). We check for successfully committed blocks first, since interacting with the queued blocks struct at this point just complicates the implimentation. If the block has not already been committed we then check if the block has already been queued, if not we handle the block normally (normally here being the bit we already had implemented). ## Documentation Changes - [x] Update the state RFC to match the ways this fix departs from the design - the main thing is that I switched the order of checking for duplicates - [x] ~~Add newly added functions to the state rfc~~ Decided not to do this because they're minor getters that don't influence the rest of the design and aren't exposed as part of the API - [x] Document newly added functions inline ## Testing ## Related Issues - fixes https://github.com/ZcashFoundation/zebra/issues/1182 - tracking issue https://github.com/ZcashFoundation/zebra/issues/1049 Co-authored-by: teor <teor@riseup.net> |
||
---|---|---|
.. | ||
src | ||
tests | ||
Cargo.toml |