commit
93f82a1164
@ -66,6 +66,7 @@ json-tests = ["ethcore/json-tests"]
|
|||||||
stratum = ["ipc"]
|
stratum = ["ipc"]
|
||||||
ethkey-cli = ["ethcore/ethkey-cli"]
|
ethkey-cli = ["ethcore/ethkey-cli"]
|
||||||
ethstore-cli = ["ethcore/ethstore-cli"]
|
ethstore-cli = ["ethcore/ethstore-cli"]
|
||||||
|
evm-debug = ["ethcore/evm-debug"]
|
||||||
|
|
||||||
[[bin]]
|
[[bin]]
|
||||||
path = "parity/main.rs"
|
path = "parity/main.rs"
|
||||||
|
@ -113,7 +113,10 @@ impl<'a> Finalize for Result<GasLeft<'a>> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Cost calculation type. For low-gas usage we calculate costs using usize instead of U256
|
/// Cost calculation type. For low-gas usage we calculate costs using usize instead of U256
|
||||||
pub trait CostType: ops::Mul<Output=Self> + ops::Div<Output=Self> + ops::Add<Output=Self> + ops::Sub<Output=Self> + ops::Shr<usize, Output=Self> + ops::Shl<usize, Output=Self> + cmp::Ord + Sized + From<usize> + Copy {
|
pub trait CostType: Sized + From<usize> + Copy
|
||||||
|
+ ops::Mul<Output=Self> + ops::Div<Output=Self> + ops::Add<Output=Self> +ops::Sub<Output=Self>
|
||||||
|
+ ops::Shr<usize, Output=Self> + ops::Shl<usize, Output=Self>
|
||||||
|
+ cmp::Ord + fmt::Debug {
|
||||||
/// Converts this cost into `U256`
|
/// Converts this cost into `U256`
|
||||||
fn as_u256(&self) -> U256;
|
fn as_u256(&self) -> U256;
|
||||||
/// Tries to fit `U256` into this `Cost` type
|
/// Tries to fit `U256` into this `Cost` type
|
||||||
|
@ -126,7 +126,7 @@ impl<Cost: CostType> evm::Evm for Interpreter<Cost> {
|
|||||||
gasometer.current_gas = gasometer.current_gas - gas_cost;
|
gasometer.current_gas = gasometer.current_gas - gas_cost;
|
||||||
|
|
||||||
evm_debug!({
|
evm_debug!({
|
||||||
println!("[0x{:x}][{}(0x{:x}) Gas: {:x}\n Gas Before: {:x}",
|
println!("[0x{:x}][{}(0x{:x}) Gas: {:?}\n Gas Before: {:?}",
|
||||||
reader.position,
|
reader.position,
|
||||||
color(instruction, info.name),
|
color(instruction, info.name),
|
||||||
instruction,
|
instruction,
|
||||||
|
Loading…
Reference in New Issue
Block a user