Ethcore crate split part 1 (#6041)
* split out types into separate crate * split out evm into its own crate
This commit is contained in:
committed by
Gav Wood
parent
24c8510932
commit
d365281cce
@@ -17,7 +17,6 @@
|
||||
use std::collections::{HashSet, HashMap, BTreeMap, VecDeque};
|
||||
use std::str::FromStr;
|
||||
use std::sync::{Arc, Weak};
|
||||
use std::fmt;
|
||||
use std::sync::atomic::{AtomicUsize, AtomicBool, Ordering as AtomicOrdering};
|
||||
use std::time::{Instant};
|
||||
use time::precise_time_ns;
|
||||
@@ -43,8 +42,8 @@ use client::{
|
||||
};
|
||||
use encoded;
|
||||
use engines::{Engine, EpochTransition};
|
||||
use env_info::EnvInfo;
|
||||
use env_info::LastHashes;
|
||||
use evm::env_info::EnvInfo;
|
||||
use evm::env_info::LastHashes;
|
||||
use error::{ImportError, ExecutionError, CallError, BlockError, ImportResult, Error as EthcoreError};
|
||||
use evm::{Factory as EvmFactory, Schedule};
|
||||
use executive::{Executive, Executed, TransactOptions, contract_address};
|
||||
@@ -84,12 +83,6 @@ const MAX_TX_QUEUE_SIZE: usize = 4096;
|
||||
const MAX_QUEUE_SIZE_TO_SLEEP_ON: usize = 2;
|
||||
const MIN_HISTORY_SIZE: u64 = 8;
|
||||
|
||||
impl fmt::Display for BlockChainInfo {
|
||||
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||
write!(f, "#{}.{}", self.best_block_number, self.best_block_hash)
|
||||
}
|
||||
}
|
||||
|
||||
/// Report on the status of a client.
|
||||
#[derive(Default, Clone, Debug, Eq, PartialEq)]
|
||||
pub struct ClientReport {
|
||||
|
||||
@@ -17,14 +17,16 @@
|
||||
use std::str::FromStr;
|
||||
use std::path::Path;
|
||||
use std::fmt::{Display, Formatter, Error as FmtError};
|
||||
|
||||
use mode::Mode as IpcMode;
|
||||
use verification::{VerifierType, QueueConfig};
|
||||
use util::{journaldb, CompactionProfile};
|
||||
|
||||
pub use std::time::Duration;
|
||||
pub use blockchain::Config as BlockChainConfig;
|
||||
pub use trace::Config as TraceConfig;
|
||||
pub use evm::VMType;
|
||||
|
||||
use verification::{VerifierType, QueueConfig};
|
||||
use util::{journaldb, CompactionProfile};
|
||||
|
||||
/// Client state db compaction profile
|
||||
#[derive(Debug, PartialEq, Clone)]
|
||||
pub enum DatabaseCompactionProfile {
|
||||
@@ -98,6 +100,29 @@ impl Display for Mode {
|
||||
}
|
||||
}
|
||||
|
||||
impl Into<IpcMode> for Mode {
|
||||
fn into(self) -> IpcMode {
|
||||
match self {
|
||||
Mode::Off => IpcMode::Off,
|
||||
Mode::Dark(timeout) => IpcMode::Dark(timeout.as_secs()),
|
||||
Mode::Passive(timeout, alarm) => IpcMode::Passive(timeout.as_secs(), alarm.as_secs()),
|
||||
Mode::Active => IpcMode::Active,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl From<IpcMode> for Mode {
|
||||
fn from(mode: IpcMode) -> Self {
|
||||
match mode {
|
||||
IpcMode::Off => Mode::Off,
|
||||
IpcMode::Dark(timeout) => Mode::Dark(Duration::from_secs(timeout)),
|
||||
IpcMode::Passive(timeout, alarm) => Mode::Passive(Duration::from_secs(timeout), Duration::from_secs(alarm)),
|
||||
IpcMode::Active => Mode::Active,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// Client configuration. Includes configs for all sub-systems.
|
||||
#[derive(Debug, PartialEq, Default)]
|
||||
pub struct ClientConfig {
|
||||
|
||||
@@ -23,7 +23,7 @@ use util::kvdb::{self, KeyValueDB};
|
||||
use {state, state_db, client, executive, trace, db, spec};
|
||||
use factory::Factories;
|
||||
use evm::{self, VMType};
|
||||
use action_params::ActionParams;
|
||||
use evm::action_params::ActionParams;
|
||||
|
||||
/// EVM test Error.
|
||||
#[derive(Debug)]
|
||||
|
||||
@@ -40,11 +40,9 @@ pub use types::pruning_info::PruningInfo;
|
||||
pub use types::call_analytics::CallAnalytics;
|
||||
|
||||
pub use executive::{Executed, Executive, TransactOptions};
|
||||
pub use env_info::{LastHashes, EnvInfo};
|
||||
pub use evm::env_info::{LastHashes, EnvInfo};
|
||||
|
||||
pub use block_import_error::BlockImportError;
|
||||
pub use transaction_import::TransactionImportResult;
|
||||
pub use transaction_import::TransactionImportError;
|
||||
pub use error::{BlockImportError, TransactionImportError, TransactionImportResult};
|
||||
pub use verification::VerifierType;
|
||||
|
||||
/// IPC interfaces
|
||||
|
||||
@@ -15,24 +15,27 @@
|
||||
// along with Parity. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
use std::collections::BTreeMap;
|
||||
use util::{U256, Address, H256, H2048, Bytes, Itertools};
|
||||
use util::hashdb::DBValue;
|
||||
use blockchain::TreeRoute;
|
||||
use verification::queue::QueueInfo as BlockQueueInfo;
|
||||
|
||||
use block::{OpenBlock, SealedBlock, ClosedBlock};
|
||||
use header::{BlockNumber};
|
||||
use transaction::{LocalizedTransaction, PendingTransaction, SignedTransaction};
|
||||
use transaction_import::TransactionImportResult;
|
||||
use log_entry::LocalizedLogEntry;
|
||||
use filter::Filter;
|
||||
use blockchain::TreeRoute;
|
||||
use encoded;
|
||||
use evm::env_info::LastHashes;
|
||||
use error::{ImportResult, CallError, Error as EthcoreError};
|
||||
use receipt::LocalizedReceipt;
|
||||
use trace::LocalizedTrace;
|
||||
use error::{TransactionImportResult, BlockImportError};
|
||||
use evm::{Factory as EvmFactory, Schedule};
|
||||
use executive::Executed;
|
||||
use env_info::LastHashes;
|
||||
use block_import_error::BlockImportError;
|
||||
use filter::Filter;
|
||||
use header::{BlockNumber};
|
||||
use ipc::IpcConfig;
|
||||
use log_entry::LocalizedLogEntry;
|
||||
use receipt::LocalizedReceipt;
|
||||
use trace::LocalizedTrace;
|
||||
use transaction::{LocalizedTransaction, PendingTransaction, SignedTransaction};
|
||||
use verification::queue::QueueInfo as BlockQueueInfo;
|
||||
|
||||
use util::{U256, Address, H256, H2048, Bytes, Itertools};
|
||||
use util::hashdb::DBValue;
|
||||
|
||||
use types::ids::*;
|
||||
use types::basic_account::BasicAccount;
|
||||
use types::trace_filter::Filter as TraceFilter;
|
||||
@@ -41,7 +44,6 @@ use types::blockchain_info::BlockChainInfo;
|
||||
use types::block_status::BlockStatus;
|
||||
use types::mode::Mode;
|
||||
use types::pruning_info::PruningInfo;
|
||||
use encoded;
|
||||
|
||||
#[ipc(client_ident="RemoteClient")]
|
||||
/// Blockchain database client. Owns and manages a blockchain and a block queue.
|
||||
|
||||
Reference in New Issue
Block a user