zebra/zebra-node-services/src
Arya 4213e82a4f
change(rpc): Adds a TrustedChainSync struct for keeping up with Zebra's non-finalized best chain from a separate process (#8596)
* Adds an init_read_only() fn in zebra-state

* moves elasticsearch initialization to `FinalizedState::new_with_debug()`

* Updates callers of `FinalizedState::{new, new_with_debug}` to pass a bool to try enabling elasticsearch

* Adds a non-finalized read state syncer to zebra-rpc

* moves, removes, updates, or addresses TODOs

* reduces disk IO while waiting for the a new chain tip & updates the chain tip sender when the finalized tip has changed.

* Returns boxed errors from RpcRequestClient methods instead of color_eyre type

* Avoids resetting the non-finalized state when there's an error getting a block unless it has the missing block error code.

* Adds stub for acceptance test(s) and removes outdated TODO

* adds TODOs for testing

* Tests that `ChainTipChange` is updated when the non-finalized best chain grows

* adds a last_chain_tip_hash and uses a FuturesOrdered for getblock requests

* Fixes a pre-flush sync issue by using a secondary db instead of a read-only db

* Moves disk IO to blocking tasks

* Updates acceptance test to how forks are handled

* Checks synced read state for all of the expected blocks

* checks that there isn't a tip change until the best chain changes

* checks for chain tip changes in test

* run test without feature

* fixes lint

* Fixes compilation/test issues

* Adds docs / comments, moves HexData out from behind the getblocktemplate-rpcs feature flag, moves test behind the mining feature flag.

* Fixes lints

* removes syncer and rpc-syncer features

* Fixes test on Windows, applies suggestions from code review

* Updates `POLL_DELAY` documentation

* Updates method docs

* Fixes a test bug

* use rpc-client feature in zebrad production code

* use rpc-client feature in zebra-node-services for building zebra-rpc crate

---------

Co-authored-by: Pili Guerra <mpguerra@users.noreply.github.com>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
2024-07-09 14:15:47 +00:00
..
mempool add(test): test disabled `lightwalletd` mempool gRPCs via zebrad logs (#5016) 2022-09-06 13:32:33 +00:00
scan_service fix(scan): Improve gRPC method errors and add timeout to scan service to avoid hanging (#8318) 2024-03-14 20:27:33 +00:00
constants.rs change(deps): Remove unused zebra-utils dependencies (#5961) 2023-01-16 21:39:47 +00:00
lib.rs add(scan): Implement SubscribeResults request for scan service (#8253) 2024-02-13 00:42:40 +00:00
mempool.rs fix(rpc): Check that mempool transactions are valid for the state's chain info in getblocktemplate (#6416) 2023-04-03 23:22:07 +00:00
rpc_client.rs change(rpc): Adds a TrustedChainSync struct for keeping up with Zebra's non-finalized best chain from a separate process (#8596) 2024-07-09 14:15:47 +00:00
scan_service.rs add(scan): Create a tower Service in zebra-scan (#8185) 2024-01-24 22:37:03 +00:00