openethereum/util
Dmitry Kashitsyn 9d7d6f7108 Client refactoring (#7038)
* Improves `BestBlock` comment

* Improves `TraceDB` comment

* Improves `journaldb::Algorithm` comment.

Probably the whole enum should be renamed to `Strategy` or something alike.

* Comments some of the `Client`'s fields

* Deglobs client imports

* Fixes comments

* Extracts `import_lock` to `Importer` struct

* Extracts `verifier` to `Importer` struct

* Extracts `block_queue` to `Importer` struct

* Extracts `miner` to `Importer` struct

* Extracts `ancient_verifier` to `Importer` struct

* Extracts `rng` to `Importer` struct

* Extracts `import_old_block` to `Importer` struct

* Adds `Nonce` trait

* Adds `Balance` trait

* Adds `ChainInfo` trait

* Fixes imports for tests using `chain_info` method

* Adds `BlockInfo` trait

* Adds more `ChainInfo` imports

* Adds `BlockInfo` imports

* Adds `ReopenBlock` trait

* Adds `PrepareOpenBlock` trait

* Fixes import in tests

* Adds `CallContract` trait

* Fixes imports in tests using `call_contract` method

* Adds `TransactionInfo` trait

* Adds `RegistryInfo` trait

* Fixes imports in tests using `registry_address` method

* Adds `ScheduleInfo` trait

* Adds `ImportSealedBlock` trait

* Fixes imports in test using `import_sealed_block` method

* Adds `BroadcastProposalBlock` trait

* Migrates `Miner` to static dispatch

* Fixes tests

* Moves `calculate_enacted_retracted` to `Importer`

* Moves import-related methods to `Importer`

* Removes redundant `import_old_block` wrapper

* Extracts `import_block*` into separate trait

* Fixes tests

* Handles `Pending` in `LightFetch`

* Handles `Pending` in filters

* Handles `Pending` in `ParityClient`

* Handles `Pending` in `EthClient`

* Removes `BlockId::Pending`, partly refactors dependent code

* Adds `StateInfo` trait

* Exports `StateOrBlock` and `BlockChain` types from `client` module

* Refactors `balance` RPC using generic API

* Refactors `storage_at` RPC using generic API

* Makes `MinerService::pending_state`'s return type dynamic

* Adds `StateOrBlock` and `BlockChain` types

* Adds impl of `client::BlockChain` for `Client`

* Exports `StateInfo` trait from `client` module

* Missing `self` use

To be fixed up to "Adds impl of `client::BlockChain` for `Client`"

* Adds `number_to_id` and refactors dependent RPC methods

* Refactors `code_at` using generic API

* Adds `StateClient` trait

* Refactors RPC to use `StateClient` trait

* Reverts `client::BlockChain` trait stuff, refactors methods to accept `StateOrBlock`

* Refactors TestClient

* Adds helper function `block_number_to_id`

* Uses `block_number_to_id` instead of local function

* Handles `Pending` in `list_accounts` and `list_storage_keys`

* Attempt to use associated types for state instead of trait objects

* Simplifies `state_at_beginning`

* Extracts `call` and `call_many` into separate trait

* Refactors `build_last_hashes` to accept reference

* Exports `Call` type from the module

* Refactors `call` and `call_many` to accept state and header

* Exports `state_at` in `StateClient`

* Exports `pending_block_header` from `MinerService`

* Refactors RPC `call` method using new API

* Adds missing parentheses

* Refactors `parity::call` to use new call API

* Update .gitlab-ci.yml

fix gitlab lint

* Fixes error handling

* Refactors `traces::call` and `call_many` to use new call API

* Refactors `call_contract`

* Refactors `block_header`

* Refactors internal RPC method `block`

* Moves `estimate_gas` to `Call` trait, refactors parameters

* Refactors `estimate_gas` in RPC

* Refactors `uncle`

* Refactors RPC `transaction`

* Covers missing branches

* Makes it all compile, fixes compiler grumbles

* Adds casts in `blockchain` module

* Fixes `PendingBlock` tests, work on `MinerService`

* Adds test stubs for StateClient and EngineInfo

* Makes `state_db` public

* Adds missing impls for `TestBlockChainClient`

* Adds trait documentation

* Adds missing docs to the `state_db` module

* Fixes trivial compilation errors

* Moves `code_hash` method to a `BlockInfo` trait

* Refactors `Verifier` to be generic over client

* Refactors `TransactionFilter` to be generic over client

* Refactors `Miner` and `Client` to reflect changes in verifier and txfilter API

* Moves `ServiceTransactionChecker` back to `ethcore`

* Fixes trait bounds in `Miner` API

* Fixes `Client`

* Fixes lifetime bound in `FullFamilyParams`

* Adds comments to `FullFamilyParams`

* Fixes imports in `ethcore`

* Fixes BlockNumber handling in `code_at` and `replay_block_transactions`

* fix compile issues

* First step to redundant trait merge

* Fixes compilation error in RPC tests

* Adds mock `State` as a stub for `TestClient`

* Handles `StateOrBlock::State` in `TestBlockChainClient::balance`

* Fixes `transaction_count` RPC

* Fixes `transaction_count`

* Moves `service_transaction.json` to the `contracts` subfolder

* Fixes compilation errors in tests

* Refactors client to use `AccountData`

* Refactors client to use `BlockChain`

* Refactors miner to use aggregate traits

* Adds `SealedBlockImporter` trait

* Refactors miner to use `SealedBlockImporter` trait

* Removes unused imports

* Simplifies `RegistryInfo::registry_address`

* Fixes indentation

* Removes commented out trait bound
2018-03-03 18:42:13 +01:00
..
bloom Problem: Cargo.toml file contains [project] key (#7346) 2017-12-20 16:41:52 +01:00
bytes prepare cargo configuration for upload of crates 2017-11-10 18:31:31 +01:00
dir ethabi version 5 (#7723) 2018-02-09 09:32:06 +01:00
error ethabi version 5 (#7723) 2018-02-09 09:32:06 +01:00
fetch Increase max download limit to 128MB (#7965) 2018-02-22 11:22:25 +01:00
hash ethabi version 5 (#7723) 2018-02-09 09:32:06 +01:00
hashdb ethabi version 5 (#7723) 2018-02-09 09:32:06 +01:00
io Updated dependencies (#7628) 2018-01-19 13:46:11 +01:00
journaldb Client refactoring (#7038) 2018-03-03 18:42:13 +01:00
kvdb simplify compression and move it out of rlp crate (#7957) 2018-02-23 10:12:52 +01:00
kvdb-memorydb simplify compression and move it out of rlp crate (#7957) 2018-02-23 10:12:52 +01:00
kvdb-rocksdb simplify compression and move it out of rlp crate (#7957) 2018-02-23 10:12:52 +01:00
macros Separate migrations from util (#6690) 2017-10-10 20:01:27 +02:00
memory_cache Uses dash instead of underscore in crate name 2017-10-16 11:05:54 +07:00
memorydb ethabi version 5 (#7723) 2018-02-09 09:32:06 +01:00
migration removed old migrations (#7974) 2018-02-22 14:53:10 +01:00
network ethabi version 5 (#7723) 2018-02-09 09:32:06 +01:00
panic_hook Moved panick_hook to util/panic_hook (#7629) 2018-01-20 20:28:25 +01:00
path splitting part of util into smaller crates (#4956) 2017-03-22 06:23:40 +01:00
patricia_trie bring back trie and triehash benches (#7926) 2018-02-19 12:03:54 +01:00
plain_hasher ethabi version 5 (#7723) 2018-02-09 09:32:06 +01:00
reactor Expose health status over RPC (#6274) 2017-08-28 14:11:55 +02:00
rlp simplify compression and move it out of rlp crate (#7957) 2018-02-23 10:12:52 +01:00
rlp_compress simplify compression and move it out of rlp crate (#7957) 2018-02-23 10:12:52 +01:00
rlp_derive rlp_derive (#6125) 2017-08-20 12:01:46 +08:00
stats Expose default gas price percentile configuration in CLI (#7497) 2018-01-09 12:43:36 +01:00
stop-guard Moved StopGaurd to it's own crate (#7635) 2018-01-19 13:46:31 +01:00
table Squash remaining warnings (#6789) 2017-10-16 12:31:52 +02:00
trace-time moved PerfTimer to a separate crate - "trace-time" (#7985) 2018-02-23 19:49:08 +01:00
trie-standardmap bring back trie and triehash benches (#7926) 2018-02-19 12:03:54 +01:00
triehash bring back trie and triehash benches (#7926) 2018-02-19 12:03:54 +01:00
unexpected UtilError uses error_chain!, moved OutOfBounds and Mismatched to unexpected crate 2017-09-05 12:14:03 +02:00
using_queue Fix whitespace (#4299) 2017-01-25 18:51:41 +01:00
version Fix checksums and auto-update push (#7846) 2018-02-13 19:31:06 +01:00