openethereum/parity
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
..
cli Support parity protocol. (#8035) 2018-03-02 10:26:49 +01:00
light_helpers dissolve util (#7460) 2018-01-10 15:35:18 +03:00
account.rs Fix #6209 - introduce standalone dir crate 2017-12-26 00:54:34 -08:00
blockchain.rs Client refactoring (#7038) 2018-03-03 18:42:13 +01:00
cache.rs Upgrade to RocksDB 5.8.8 and tune settings to reduce space amplification (#7348) 2018-01-03 11:00:37 +01:00
configuration.rs Support parity protocol. (#8035) 2018-03-02 10:26:49 +01:00
dapps.rs Client refactoring (#7038) 2018-03-03 18:42:13 +01:00
deprecated.rs Make CLI arguments parsing more backwards compatible 2017-11-08 12:33:56 +01:00
helpers.rs removed old migrations (#7974) 2018-02-22 14:53:10 +01:00
informant.rs Client refactoring (#7038) 2018-03-03 18:42:13 +01:00
ipfs.rs Fix default CORS settings. (#7387) 2017-12-27 18:56:06 +01:00
main.rs ethabi version 5 (#7723) 2018-02-09 09:32:06 +01:00
migration.rs removed old migrations (#7974) 2018-02-22 14:53:10 +01:00
modules.rs use error-chain in ethcore-network 2017-11-13 16:48:58 +01:00
params.rs Reduce usd_per_tx (#7058) 2018-01-30 16:10:12 +01:00
presale.rs Fix #6209 - introduce standalone dir crate 2017-12-26 00:54:34 -08:00
rpc_apis.rs Pending transactions subscription (#7906) 2018-02-16 16:51:34 +01:00
rpc.rs Support parity protocol. (#8035) 2018-03-02 10:26:49 +01:00
run.rs Extract the hard dependency on rocksdb from the light client (#8034) 2018-03-01 19:53:15 +01:00
secretstore.rs dissolve util (#7460) 2018-01-10 15:35:18 +03:00
signer.rs fix #6052. honor --no-color for signer command (#6100) 2017-07-28 19:07:38 +02:00
snapshot.rs finished 2017-08-31 11:35:41 +02:00
stratum.rs remove the deprecated options in rustfmt.toml (#5616) 2017-05-19 17:12:20 +02:00
upgrade.rs Fix #6209 - introduce standalone dir crate 2017-12-26 00:54:34 -08:00
url.rs Fix whitespace (#4299) 2017-01-25 18:51:41 +01:00
user_defaults.rs Refactors parity/parity to use journaldb crate (#6693) 2017-10-17 11:46:54 +07:00
whisper.rs Problem: sending any Whisper message fails 2018-01-01 20:54:15 -08:00