Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feature: add
block_headers
and blocks
streams full APIs (w/ check…
…point and reorg handling) (#10) * feature: implement an initial mempool.space websocket client, and library for block-events from #3 * feature: add unit and integration tests to block events from #8 * feat+test: add initial http client and tests * wip(feat): add initial approach for subscribing to blocks from a starting height * wip(feat): fix fn and use a tuple as return type for prev and new block streams * wip(refactor): initial updates for fns refactor and architecture change * wip(feat+refactor): add fn to process candidate BlockHeaders, handle reorg and yield BlockEvent * wip(refactor+docs): extract fns to cache struct, and add documentation for fns, enums and structs * wip(fixes+tests): fixes, improve error handling and add new integration tests * wip(fix+test): fix common ancestor and fork branch bug, add new reorg tests * fix: disconnected and connected block events emitting order for reorg events * chore: simplify cli usage and output * chore: update docs and readme examples, use u32 instead of u64 * fix: remaining cargo.toml conflicts from other branches * feat: add full block stream api, better error handling - use TryStream instead of stream, returning result instead - use `?` operator instead of unwraping and panicking - add new mempool.space endpoints for http client - add features for wss:// and https:// usage - add features for api versioning based on mempool.space backend * refactor: do not use features expect two base_url instead, and improve error handling - refactor and update http client, url usage and methods - refactor and add creation methods for cache struct, use specific method to build initial one - add `get_block_header` method in http client, and refactor lib to use `bitcoin::BlockHeader` instead of custom mempool.space `BlockExtended` struct - refactor lib and websocket to improve error handling, update some `unwrap()` usage and match errors for messages in `WebSocketStream` - remove duplicated/unused deps, and use only necessary features * chore: add and update CHANGELOG.md file * fix(test): docs and integration tests - bump mempool/backend docker container version to v2.4.1 - update api+websocket client to handle genesis blocks without prev_blockhash - update and fix integration tests to new fns and structure
- Loading branch information