- 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.
* db refactor in progress, refactored kvdb
* kvdb refactor
* removed unused RwLock
* removed unused RwLock
* BlockChainDatabase
* db refactor in progress
* implemented BlockProvider for newdb
* fixed compiling
* newdb TransactionMeta
* newdb tests
* reopen tests for newdb
* replaced old db with new db
* chain_verifier uses new db
* sync module uses refactored db
* check double spends in verification layer
* added Forkable trait to satisfy resolving recursive types by compiler
* new db regtests in progress
* fixed verification and sync unit tests
* fixed miner and rpc unit tests
* implemented fmt::Debug for few structs
* removed commented out code
* fixed bencher target
* removing commented out code, polishing db_refactor pr
* 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