make few functions compile only for test target
This commit is contained in:
parent
808e517ff0
commit
bc3c983c37
@ -21,6 +21,7 @@ pub struct Account {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl Account {
|
impl Account {
|
||||||
|
#[cfg(test)]
|
||||||
/// General constructor.
|
/// General constructor.
|
||||||
pub fn new(balance: U256, nonce: U256, storage: HashMap<H256, H256>, code: Bytes) -> Account {
|
pub fn new(balance: U256, nonce: U256, storage: HashMap<H256, H256>, code: Bytes) -> Account {
|
||||||
Account {
|
Account {
|
||||||
|
@ -16,6 +16,7 @@ pub struct PodAccount {
|
|||||||
|
|
||||||
impl PodAccount {
|
impl PodAccount {
|
||||||
/// Construct new object.
|
/// Construct new object.
|
||||||
|
#[cfg(test)]
|
||||||
pub fn new(balance: U256, nonce: U256, code: Bytes, storage: BTreeMap<H256, H256>) -> PodAccount {
|
pub fn new(balance: U256, nonce: U256, code: Bytes, storage: BTreeMap<H256, H256>) -> PodAccount {
|
||||||
PodAccount { balance: balance, nonce: nonce, code: code, storage: storage }
|
PodAccount { balance: balance, nonce: nonce, code: code, storage: storage }
|
||||||
}
|
}
|
||||||
|
@ -10,6 +10,7 @@ impl PodState {
|
|||||||
pub fn new() -> PodState { Default::default() }
|
pub fn new() -> PodState { Default::default() }
|
||||||
|
|
||||||
/// Contruct a new object from the `m`.
|
/// Contruct a new object from the `m`.
|
||||||
|
#[cfg(test)]
|
||||||
pub fn from(m: BTreeMap<Address, PodAccount>) -> PodState { PodState(m) }
|
pub fn from(m: BTreeMap<Address, PodAccount>) -> PodState { PodState(m) }
|
||||||
|
|
||||||
/// Get the underlying map.
|
/// Get the underlying map.
|
||||||
@ -21,6 +22,7 @@ impl PodState {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Drain object to get the underlying map.
|
/// Drain object to get the underlying map.
|
||||||
|
#[cfg(test)]
|
||||||
pub fn drain(self) -> BTreeMap<Address, PodAccount> { self.0 }
|
pub fn drain(self) -> BTreeMap<Address, PodAccount> { self.0 }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@ use common::*;
|
|||||||
use engine::Engine;
|
use engine::Engine;
|
||||||
use executive::Executive;
|
use executive::Executive;
|
||||||
use pod_account::*;
|
use pod_account::*;
|
||||||
use pod_state::*;
|
use pod_state::PodState;
|
||||||
//use state_diff::*; // TODO: uncomment once to_pod() works correctly.
|
//use state_diff::*; // TODO: uncomment once to_pod() works correctly.
|
||||||
|
|
||||||
/// TODO [Gav Wood] Please document me
|
/// TODO [Gav Wood] Please document me
|
||||||
@ -20,6 +20,7 @@ pub struct State {
|
|||||||
|
|
||||||
impl State {
|
impl State {
|
||||||
/// Creates new state with empty state root
|
/// Creates new state with empty state root
|
||||||
|
#[cfg(test)]
|
||||||
pub fn new(mut db: JournalDB, account_start_nonce: U256) -> State {
|
pub fn new(mut db: JournalDB, account_start_nonce: U256) -> State {
|
||||||
let mut root = H256::new();
|
let mut root = H256::new();
|
||||||
{
|
{
|
||||||
@ -60,11 +61,6 @@ impl State {
|
|||||||
&self.root
|
&self.root
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Expose the underlying database; good to use for calling `state.db().commit()`.
|
|
||||||
pub fn db(&mut self) -> &mut JournalDB {
|
|
||||||
&mut self.db
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Create a new contract at address `contract`. If there is already an account at the address
|
/// Create a new contract at address `contract`. If there is already an account at the address
|
||||||
/// it will have its code reset, ready for `init_code()`.
|
/// it will have its code reset, ready for `init_code()`.
|
||||||
pub fn new_contract(&mut self, contract: &Address, balance: U256) {
|
pub fn new_contract(&mut self, contract: &Address, balance: U256) {
|
||||||
@ -190,6 +186,7 @@ impl State {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Populate the state from `accounts`.
|
/// Populate the state from `accounts`.
|
||||||
|
#[cfg(test)]
|
||||||
pub fn populate_from(&mut self, accounts: PodState) {
|
pub fn populate_from(&mut self, accounts: PodState) {
|
||||||
for (add, acc) in accounts.drain().into_iter() {
|
for (add, acc) in accounts.drain().into_iter() {
|
||||||
self.cache.borrow_mut().insert(add, Some(Account::from_pod(acc)));
|
self.cache.borrow_mut().insert(add, Some(Account::from_pod(acc)));
|
||||||
@ -207,6 +204,7 @@ impl State {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
/// Populate a PodAccount map from this state.
|
/// Populate a PodAccount map from this state.
|
||||||
pub fn to_pod(&self) -> PodState {
|
pub fn to_pod(&self) -> PodState {
|
||||||
// TODO: handle database rather than just the cache.
|
// TODO: handle database rather than just the cache.
|
||||||
|
@ -6,11 +6,11 @@ use error::*;
|
|||||||
use evm::Schedule;
|
use evm::Schedule;
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
/// TODO [Gav Wood] Please document me
|
/// Transaction action type.
|
||||||
pub enum Action {
|
pub enum Action {
|
||||||
/// TODO [Gav Wood] Please document me
|
/// Create creates new contract.
|
||||||
Create,
|
Create,
|
||||||
/// TODO [debris] Please document me
|
/// Calls contract at given address.
|
||||||
Call(Address),
|
Call(Address),
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -49,6 +49,7 @@ pub struct Transaction {
|
|||||||
|
|
||||||
impl Transaction {
|
impl Transaction {
|
||||||
/// TODO [Gav Wood] Please document me
|
/// TODO [Gav Wood] Please document me
|
||||||
|
#[cfg(test)]
|
||||||
pub fn new() -> Self {
|
pub fn new() -> Self {
|
||||||
Transaction {
|
Transaction {
|
||||||
nonce: x!(0),
|
nonce: x!(0),
|
||||||
@ -66,6 +67,7 @@ impl Transaction {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Create a new message-call transaction.
|
/// Create a new message-call transaction.
|
||||||
|
#[cfg(test)]
|
||||||
pub fn new_call(to: Address, value: U256, data: Bytes, gas: U256, gas_price: U256, nonce: U256) -> Transaction {
|
pub fn new_call(to: Address, value: U256, data: Bytes, gas: U256, gas_price: U256, nonce: U256) -> Transaction {
|
||||||
Transaction {
|
Transaction {
|
||||||
nonce: nonce,
|
nonce: nonce,
|
||||||
@ -83,6 +85,7 @@ impl Transaction {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Create a new contract-creation transaction.
|
/// Create a new contract-creation transaction.
|
||||||
|
#[cfg(test)]
|
||||||
pub fn new_create(value: U256, data: Bytes, gas: U256, gas_price: U256, nonce: U256) -> Transaction {
|
pub fn new_create(value: U256, data: Bytes, gas: U256, gas_price: U256, nonce: U256) -> Transaction {
|
||||||
Transaction {
|
Transaction {
|
||||||
nonce: nonce,
|
nonce: nonce,
|
||||||
@ -201,6 +204,7 @@ impl Transaction {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Signs the transaction as coming from `sender`.
|
/// Signs the transaction as coming from `sender`.
|
||||||
|
#[cfg(test)]
|
||||||
pub fn signed(self, secret: &Secret) -> Transaction { let mut r = self; r.sign(secret); r }
|
pub fn signed(self, secret: &Secret) -> Transaction { let mut r = self; r.sign(secret); r }
|
||||||
|
|
||||||
/// Get the transaction cost in gas for the given params.
|
/// Get the transaction cost in gas for the given params.
|
||||||
|
Loading…
Reference in New Issue
Block a user