- In this PR I extract from the crate `db` to the new `storage` crate all traits that is not specifically related to the concrete implementation of database. So I now can use `verification` crate without `rocksdb` dependency.
- Also I modify the `HeaderAcceptor` so that can be constructed without the private `BlockDeployments`.
* added couple of debug helpers to deal with panics
* trying to fix compilation
* trying to fix compilation
* test
* Revert "test"
This reverts commit 6169f7e1eb5cc7b43ea2e538686cb0144bf64712.
* p2p <-> sync interfaces proposal
* updated with example
* send errors will be handled in p2p module => no need to return to the sync
* poc of outbound sync connection
* simplified send_to_peer
* context has cpu pool and enent loop handles
* on_message won't return ProtocolAction anymore
* session initialized sync protocol, remove retain cycles on P2P::drop
* removed ProtocolAction
* uncommented ping protocol
* node_table sorts nodes also by recently used time
* started work on sync package
* send getaddr on connect
* fixed node_table insert, added insert_many
* addr protocol
* sync headers response
* continue sync
* continue sync protocol
* separated sync connection start from sync connection creation
* switched to getblocks (instead of getheaders)
* starting to receive blocks in sync
* deal with orphaned blocks in sync::local_chain
* continue sync
* fix warnings
* removed TODOs
* protocol::sync is back to private state
* fixed grumbes