Open manavdesai27 opened 1 year ago
Patch coverage: 76.47
% and project coverage change: +0.49
:tada:
Comparison is base (
a4bf281
) 70.26% compared to head (8e0bec0
) 70.75%.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.
This pr implements neutrino client mode. This has the commit history cleaned for better reviewing.
Added Neutrino node which will communicate with the network.
Added
sendGetCFilters
- Gets compact filters from peer.sendGetCFHeaders
- Gets Compact filter headers from peer.sendGetCFCheckpt
- Gets Filters using checkpointsAdded
saveFilter
andsaveFilterHeader
methods infilterIndexer
. While saving filterHeader I am keeping the filter field empty.Added
NeutrinoState
which helps to keep track of thefilterHeaderHeight
and thefilterHeight
Added
headersFull
, which indicates that we can start fetching filter headerscfheaders
event, which indicates that we can start fetching filters.cfilter
event, which sends the filter to the wallet and marks beginning of filter matching for the particular filter.Added
checkFilter
: Checks the filter against all address hashes in the wallet db. Address hashes are first converted to output scripts and that is then matched against the filter.Added
getBlockFromNode
andgetBlockPeer
: These methods help the client to download a particular block when any filter matches on the wallet side.Added RPC methods:
getfiltercount
: Gets the filter height in NeutrinoStategetfilterheadercount
: Gets the filter header height in NeutrinoStategetblockfilterheader
: Retrieves filter header for a particular block