* Create new column family for local node info
* remove DBTransaction::new reliance on DB
* KeyValueDB trait
* InMemory KeyValueDB implementation
* journaldb generic over KVDB
* make most of `ethcore` generic over KVDB
* fix json tests compilation
* get all tests compiling
* implement local store (just for transactions)
* finish local store API, test
* put everything into place
* better test for skipping bad transactions
* fix warning
* update local store every 15 minutes
* remove superfluous `{}`s
* CHT builder and prover
* use CHT abstraction in provider
* hide CHT internals from header chain
* fix itertools conflict by updating all to 0.5
* cht proof checker, use it in on_demand
* remove register_account_provider
* build rpc module
* new dummy client
* common EngineSigner struct
* from -> into
* initial report via call
* separate safe from regular contract
* transact_contract
* fix build
* return Signature, docs
* add sign method to some engines
* add safeContract spec
* update specs to new contracts
* use AuthorityRound for contract spec
* add more reporting
* add reporting test
* use gas floor
* shorter
* prune states based on memory param
* pruning memory CLI and usage in sync
* return purged value from memorydb
* calculate memory used incrementally in overlayrecentdb
* refactor shared history pruning code in client
* Fixed usage alignment
* journal_size function for fast memory calculation
* remove old lint silencer
* dispatch requests only to peers with higher TD
* dynamic target for sync rounds
* use round pivots instead of frames, fix test
* fix total difficulty calculation for test client
* fix broken reorg algorithm
* fork test, fix ancestor search
* Return 0 instead of error with out of gas on estimate_gas
* Fix stuff up.
* Another estimate gas fix.
* Alter balance to maximum possible rather than GP=0.
* Only increase to amount strictly necessary.
* Improvements and optimisations to estimate_gas.
- Introduce proper error type
- Avoid building costly traces
* Fix tests.
* Actually fix testsActually fix tests
* Return 0 instead of error with out of gas on estimate_gas
* Fix stuff up.
* Another estimate gas fix.
* Alter balance to maximum possible rather than GP=0.
* Only increase to amount strictly necessary.
* make on_connect/disconnect public
* free flow params constructor
* Shared ownership of LES handlers
* light provider impl for test client
* skeleton for testing light sync
* have test_client use actual genesis
* fix underflow in provider
* test harnesses for lightsync
* fix tests
* fix test failure caused by test_client changes
* Moving logs to separate, testable function
* Adding test
* Fixing log index
* Adding transaction log index
* Fixing rpc tests
* Making interface of a bit cleaner.
* 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
* Allow sync reorg up to pruning history size
* Peer difficulty tracking
* Abort downloading block if received with NewBlock
* Set pruning history to 1200
* Renamed history size field
* `--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...
* The front-end for each hard-fork, also EIP-160.
* Address EIP161 a/c
* Include EIP-161b
* EIP-161 part d.
* Fix test build.
* Fix one test, add another.
* Fix use of bloom & renaming.
* Initial groundwork for EIP-155
* Fix minor bug.
* Fix all tests finally.
* Rest of EIP-155.
* Add tests for EIP-155 algorithm.
Update transaction tests validation.
* Minor reformat.
* Address grumbles.
* Remove unused code.
* Fix SUICIDE gas mechanism and add consensus tests.
* Remove commented code.
* Set Frontier hardfork block number
* Fix warning.
* Transaction tests,
* provide snapshot sync info in eth_syncing
* specify block gap in eth_syncing
* Extend eth_syncing with warp, format the output properly
* adjust serialization tests for sync info
* whitespace
* gas price distribution + median + tests
* put histogram in util
* use the util histogram
* remove the default gas price implementation
* histogram rpc
* fix empty corpus
* Add JS ethcore_gasPriceHistogram
* Fix typo (s/types/type/) & subsequent failing test
* Fix return type & formatting
* bucketBounds
* Add jsapi e2e test verification
* 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
* 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
* Handle reorganizations in the state cache
* Renamed and documented a few methods
* Basic test
* Renamed pending to buffered
* Updated cache on sealed block
* More renames and updated documentation
* Minor doc tweaks
* bloom crate link
* database layout and outdated tests
* state db alterations
* v10 migration run
* using arc
* bloom migration
* migration fixes and mess
* fix tests
* 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
* State cache
* Reduced copying data between caches
Whitespace and optional symbols
* Reduced copying data between caches
Whitespace and optional symbols
* Set a limit on storage cache
* Style and docs
* move block queue to own module, a couple readability changes
* make block queue generic over verifiable data
also fixes heap size calculation
* make block queue into a more generic verification queue
* some module reoganization
* implement header queue
* clean up verification error messages
* 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
* Make the block header struct's internals private
Currently, this involves a lot of explicit cloning, but we
could migrate the return types of the get_* functions to
be copies rather than references since they are mostly copy
types anyway.
I opted to eliminate the constructor in favor of using
Default::default() plus calling a bunch of setters. This
is similar to the model that a Google Protobuf client uses
and I think it looks fine.
* Drop some unnecessary cloning by comparing references
* Fix compiler errors from callsites in tests.
* Address renamed to H160 at bigint library level
* moved uint specific test from util to bigint library
* naming
* unifing hashes in progress
* unifing hashes
* cleanup redundant unwraps in tests
* Removing util/crypto in progress.
* fixed compiling
* signature cleanup in progress
* new module - ethcrypto used by ethstore and ethcore-network
* fixed compiling
* fixed compiling
* fixed merge
* 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]