Extract spec to own crate (#10978)
* 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 * Move many traits from ethcore/client/traits to client-traits crate Initial version of extracted Engine trait * Move snapshot related traits to the engine crate (eew) * Move a few snapshot related types to common_types Cleanup Executed as exported from machine crate * fix warning * Gradually introduce new engine crate: snapshot * ethcore typechecks with new engine crate * Sort out types outside ethcore * Add an EpochVerifier to ethash and use that in Engine.epoch_verifier() Cleanup * Document pub members * Sort out tests Sort out default impls for EpochVerifier * Add test-helpers feature and move EngineSigner impl to the right place * Sort out tests * Sort out tests and refactor verification types * Fix missing traits * More missing traits Fix Histogram * Fix tests and cleanup * cleanup * Put back needed logger import * Don't rexport common_types from ethcore/src/client Don't export ethcore::client::* * Remove files no longer used Use types from the engine crate Explicit exports from engine::engine * Get rid of itertools * Move a few more traits from ethcore to client-traits: BlockChainReset, ScheduleInfo, StateClient * Move ProvingBlockChainClient to client-traits * Don't re-export ForkChoice and Transition from ethcore * Address grumbles: sort imports, remove commented out code * Fix merge resolution error * Extract the Clique engine to own crate * Extract NullEngine and the block_reward module from ethcore * Extract InstantSeal engine to own crate * Extract remaining engines * Extract executive_state to own crate so it can be used by engine crates * Remove snapshot stuff from the engine crate * Put snapshot traits back in ethcore * cleanup * Remove stuff from ethcore * Don't use itertools * itertools in aura is legit-ish * More post-merge fixes * Re-export less types in client * cleanup * Extract spec to own crate * Put back the test-helpers from basic-authority * Fix ethcore benchmarks * Reduce the public api of ethcore/verification * Update ethcore/block-reward/Cargo.toml Co-Authored-By: Tomasz Drwięga <tomusdrw@users.noreply.github.com> * Update ethcore/engines/basic-authority/Cargo.toml Co-Authored-By: Tomasz Drwięga <tomusdrw@users.noreply.github.com> * Update ethcore/engines/ethash/Cargo.toml Co-Authored-By: Tomasz Drwięga <tomusdrw@users.noreply.github.com> * Update ethcore/engines/clique/src/lib.rs Co-Authored-By: Tomasz Drwięga <tomusdrw@users.noreply.github.com> * signers is already a ref * Add an EngineType enum to tighten up Engine.name() * Introduce Snapshotting enum to distinguish the type of snapshots a chain uses * Rename supports_warp to snapshot_mode * Missing import * Update ethcore/src/snapshot/consensus/mod.rs Co-Authored-By: Tomasz Drwięga <tomusdrw@users.noreply.github.com> * missing import * Fix import * double semi
This commit is contained in:
@@ -146,10 +146,12 @@ impl ValidatorSet for ValidatorContract {
|
||||
mod tests {
|
||||
use std::sync::Arc;
|
||||
|
||||
use accounts::AccountProvider;
|
||||
use call_contract::CallContract;
|
||||
use common_types::{header::Header, ids::BlockId};
|
||||
use client_traits::{BlockChainClient, ChainInfo, BlockInfo};
|
||||
use ethcore::{
|
||||
miner::{self, MinerService},
|
||||
spec,
|
||||
test_helpers::generate_dummy_client_with_spec,
|
||||
};
|
||||
use ethereum_types::{H520, Address};
|
||||
@@ -157,9 +159,7 @@ mod tests {
|
||||
use parity_bytes::ToPretty;
|
||||
use rlp::encode;
|
||||
use rustc_hex::FromHex;
|
||||
use accounts::AccountProvider;
|
||||
use call_contract::CallContract;
|
||||
use client_traits::{BlockChainClient, ChainInfo, BlockInfo};
|
||||
use spec;
|
||||
|
||||
use super::super::ValidatorSet;
|
||||
use super::ValidatorContract;
|
||||
|
||||
@@ -156,22 +156,21 @@ mod tests {
|
||||
use std::collections::BTreeMap;
|
||||
|
||||
use accounts::AccountProvider;
|
||||
use client_traits::{BlockChainClient, BlockInfo, ChainInfo, ImportBlock, EngineClient};
|
||||
use common_types::{
|
||||
header::Header,
|
||||
ids::BlockId,
|
||||
verification::Unverified,
|
||||
};
|
||||
use client_traits::{BlockChainClient, BlockInfo, ChainInfo, ImportBlock, EngineClient};
|
||||
use engine::EpochChange;
|
||||
|
||||
use ethkey::Secret;
|
||||
use ethcore::{
|
||||
miner::{self, MinerService},
|
||||
test_helpers::{generate_dummy_client_with_spec, generate_dummy_client_with_spec_and_data},
|
||||
spec,
|
||||
};
|
||||
use ethereum_types::Address;
|
||||
use ethkey::Secret;
|
||||
use keccak_hash::keccak;
|
||||
use spec;
|
||||
|
||||
use crate::ValidatorSet;
|
||||
use super::Multi;
|
||||
|
||||
@@ -251,7 +251,7 @@ impl ValidatorSafeContract {
|
||||
|
||||
LogEntry {
|
||||
address: self.contract_address,
|
||||
topics: topics,
|
||||
topics,
|
||||
data: Vec::new(), // irrelevant for bloom.
|
||||
}.bloom()
|
||||
}
|
||||
@@ -467,7 +467,6 @@ mod tests {
|
||||
use client_traits::{BlockInfo, ChainInfo, ImportBlock, EngineClient};
|
||||
use engine::{EpochChange, Proof};
|
||||
use ethcore::{
|
||||
spec,
|
||||
miner::{self, MinerService},
|
||||
test_helpers::{generate_dummy_client_with_spec, generate_dummy_client_with_spec_and_data}
|
||||
};
|
||||
@@ -475,6 +474,7 @@ mod tests {
|
||||
use ethereum_types::Address;
|
||||
use keccak_hash::keccak;
|
||||
use rustc_hex::FromHex;
|
||||
use spec;
|
||||
|
||||
use super::super::ValidatorSet;
|
||||
use super::{ValidatorSafeContract, EVENT_NAME_HASH};
|
||||
|
||||
Reference in New Issue
Block a user