* separate modules for consensus snapshot chunks
* bulk of authority warp logic
* finish authority warp implementation
* squash warnings and enable authority snapshot mode
* test harness for PoA
* fiddle with harness
* epoch generation proof fixes
* update constructor code
* store epoch transition proof after block commit
* basic snap and restore test
* use keyvaluedb in state restoration
* decompress chunks
* fix encoding issues
* fixed-to-contract-to-contract test
* implement ancient block import
* restore genesis transition in PoW snapshot
* add format version method to snapshot components
* supported version numbers in snapshot_components
* allow returning of ancient epoch transitions
* genesis hash mismatch check
* remove commented code
* fixed naming of rlp modules
* RlpStream cleanup
* appending short rlp lists (0...55 bytes) is 25% faster
* RlpStream does not use bytes module, nor trait Stream
* removed unused code from rlp module
* compiling ethcore-util with new rlp serialization
* compiling parity with new rlp serialization
* fixed compiling ethcore-light with new rlp serialization
* fixed compiling ethsync with new rlp serialization
* removed redundant comment, print
* removed redundant double-space
* replace usage of WriteBytesExt with ByteOrder
* owning views of blockchain data
* port blockchain and client traits to owning views
* fix ethcore tests
* use strong headers and bodies in ethcore_light
* port ethsync to use owning views
* port rpc to owning views
* port parity informant and blockchain export
* clarify "cancelled periodic snapshot" message
* more rigorous checks for snapshot validity
* verify ancient blocks on import
* limit number of fed blocks
* make it possible to feed snapshot service canonical hashes
* fix failing test build
* swap ethash DAG only when more recent
* allow taking snapshot from just-restored database without error
* make creation informant less spammy
* Ancestry iterator failure-resilient
* make uncle hash searching resilient to incomplete chain
* deduce pre-chunk info from last written block's details
* bloom crate link
* database layout and outdated tests
* state db alterations
* v10 migration run
* using arc
* bloom migration
* migration fixes and mess
* fix tests
Closes#2213
Omit transaction and receipt roots from abridged block.
No longer use RLP compression.
Make ordered_trie_root generic over an iterator to save an allocation.
Breaks snapshot format backwards compatibility (with other 1.4 snapshots -- it's already been broken with 1.3).
Documentation will need updating
* optionally use no mangling for accountdb
* add the recorder module
* get_recorded for tries, no virtual dispatch on readonly tries
* add recording test
* to_rlp takes self by-reference
* clean up some derefs
* out-of-order insertion for blockchain
* implement block rebuilder without verification
* group block chunk header into struct
* block rebuilder does verification
* integrate snapshot service with client service; flesh out implementation more
* initial implementation of snapshot service
* remove snapshottaker trait
* snapshot writer trait with packed and loose implementations
* write chunks using "snapshotwriter" in service
* have snapshot taking use snapshotwriter
* implement snapshot readers
* back up client dbs when replacing
* use snapshot reader in snapshot service
* describe offset format
* use new get_db_path in parity, allow some errors in service
* blockchain formatting
* implement parity snapshot
* implement snapshot restore
* force blocks to be submitted in order
* fix bug loading block hashes in packed reader
* fix seal field loading
* fix uncle hash computation
* fix a few bugs
* store genesis state in db. reverse block chunk order in packed writer
* allow out-of-order import for blocks
* bring restoration types together
* only snapshot the last 30000 blocks
* restore into overlaydb instead of journaldb
* commit version to database
* use memorydbs and commit directly
* fix trie test compilation
* fix failing tests
* sha3_null_rlp, not H256::zero
* move overlaydb to ref_overlaydb, add new overlaydb without on-disk rc
* port archivedb to new overlaydb
* add deletion mode tests for overlaydb
* use new overlaydb, check state root at end
* share chain info between state and block snapshotting
* create blocks snapshot using blockchain directly
* allow snapshot from arbitrary block, remove panickers from snapshot creation
* begin test framework
* blockchain chunking test
* implement stateproducer::tick
* state snapshot test
* create block and state chunks concurrently, better restoration informant
* fix tests
* add deletion mode tests for overlaydb
* address comments
* more tests
* Fix up tests.
* remove a few printlns
* add a little more documentation to `commit`
* fix tests
* fix ref_overlaydb test names
* snapshot command skeleton
* revert ref_overlaydb renaming
* reimplement snapshot commands
* fix many errors
* everything but inject
* get ethcore compiling
* get snapshot tests passing again
* instrument snapshot commands again
* fix fallout from other changes, mark snapshots as experimental
* optimize injection patterns
* do two injections
* fix up tests
* take snapshots from 1000 blocks efore
* address minor comments
* fix a few io crate related errors
* clarify names about total difficulty
[ci skip]