Extract Machine from ethcore (#10949)

* Add client-traits crate
Move the BlockInfo trait to new crate

* New crate `machine`
Contains code extracted from ethcore that defines `Machine`, `Externalities` and other execution related code.

* Use new machine and client-traits crates in ethcore

* Use new crates machine and client-traits instead of ethcore where appropriate

* Fix tests

* Don't re-export so many types from ethcore::client

* Fixing more fallout from removing re-export

* fix test

* More fallout from not re-exporting types

* Add some docs

* cleanup

* import the macro edition style

* Tweak docs

* Add missing import

* remove unused ethabi_derive imports

* Use latest ethabi-contract
This commit is contained in:
David
2019-08-13 12:33:34 +02:00
committed by GitHub
parent 509fda727b
commit 73f4564b66
107 changed files with 1042 additions and 583 deletions

View File

@@ -15,8 +15,10 @@
// along with Parity Ethereum. If not, see <http://www.gnu.org/licenses/>.
use std::sync::Arc;
use ethcore::client::{TestBlockChainClient, BlockChainClient, BlockId, EachBlockWith, ChainInfo, BlockInfo};
use chain::{SyncState};
use types::ids::BlockId;
use ethcore::client::{TestBlockChainClient, BlockChainClient, EachBlockWith, ChainInfo};
use client_traits::BlockInfo;
use chain::SyncState;
use super::helpers::*;
use {SyncConfig, WarpSync};
use ethcore::spec;

View File

@@ -19,15 +19,17 @@ use hash::keccak;
use io::{IoHandler, IoChannel};
use types::transaction::{Transaction, Action};
use types::ids::BlockId;
use ethcore::CreateContractAddress;
use ethcore::client::{ClientIoMessage, BlockChainClient};
use ethcore::executive::contract_address;
use ethcore::engines;
use ethcore::miner::{self, MinerService};
use ethcore::spec::Spec;
use ethcore::test_helpers::{push_block_with_transactions};
use ethcore::{
CreateContractAddress,
client::{ClientIoMessage, BlockChainClient},
engines,
miner::{self, MinerService},
spec::Spec,
test_helpers::push_block_with_transactions,
};
use ethcore_private_tx::{Provider, ProviderConfig, NoopEncryptor, Importer, SignedPrivateTransaction, StoringKeyProvider};
use ethkey::KeyPair;
use machine::executive::contract_address;
use tests::helpers::{TestNet, TestIoHandler};
use rustc_hex::FromHex;
use rlp::Rlp;