* Mode improvements for UI (#3109)
* `--mode=off` now works.
* Add Mode::Off as a persistent CLI option.
* "last" not "auto" as default.
* Commit accidentally unsaved file.
* Whitespace
[ci:skip]
* Mode CLI parse fix
* or offline
* Save mode when it gets changed.
* Fix Offline mode
* Fix up mode operations.
* Make passive default, but not overriding.
* Fix test
* Maybe not everyone wants to run an archive node...
* Parity configuration settings, i.e. mode (#3212)
* Add initial page
* Add parity icon
* opacity for parity icon
* Mode selector
* Actually set mode when value changes
Former-commit-id: 64386d94adfa58aa30bab2005eeb64f6343c8248
* 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
* add auto compaction types
* pass db paths
* detect drive type on Linux
* use base db path
* add docstring
* limit the test to be side effect free
* use base db path
* more docs
* fix parsing test
* update error
* detect only on Linux
* make test Linux only
* add second device letter, update cli doc
* use spaces in cli doc
* import only on linux
* default->auto
* split journaldb commit into two functions: journal_under and mark_canonical
* use new commit mechanism in client
* Configurable history size in master
* Reduce DB history
* Configurable history size
* Set min history size
* Test
* Fixed a test and reduced the limit
* Actually enable fat db, and do RPCs for it.
* Implement HashDB traits for AccountDB.
* user defaults
* finished user defaults
* user defaults are network-dependent
* added tests for newly added functions, logger is initialized first
* dir cleanup in progress
* user_file is placed next to snapshots
* fixing requested change
* user defaults
* finished user defaults
* user defaults are network-dependent
* added tests for newly added functions, logger is initialized first
* dir cleanup in progress
* user_file is placed next to snapshots
* 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]