More merging with master
This commit is contained in:
parent
39a7576ddb
commit
b7e7518b8e
@ -41,7 +41,7 @@ pub trait Ext {
|
|||||||
fn extcode(&self, address: &Address) -> Vec<u8>;
|
fn extcode(&self, address: &Address) -> Vec<u8>;
|
||||||
|
|
||||||
/// Creates log entry with given topics and data
|
/// Creates log entry with given topics and data
|
||||||
fn log(&mut self, topics: Vec<H256>, data: &[u8]);
|
fn log(&mut self, topics: Vec<H256>, data: Vec<u8>);
|
||||||
|
|
||||||
/// Should be called when transaction calls `RETURN` opcode.
|
/// Should be called when transaction calls `RETURN` opcode.
|
||||||
/// Returns gas_left if cost of returning the data is not too high.
|
/// Returns gas_left if cost of returning the data is not too high.
|
||||||
|
@ -499,7 +499,7 @@ impl Interpreter {
|
|||||||
.iter()
|
.iter()
|
||||||
.map(H256::from)
|
.map(H256::from)
|
||||||
.collect();
|
.collect();
|
||||||
ext.log(topics, mem.read_slice(offset, size));
|
ext.log(topics, mem.read_slice(offset, size).to_vec());
|
||||||
},
|
},
|
||||||
instructions::PUSH1...instructions::PUSH32 => {
|
instructions::PUSH1...instructions::PUSH32 => {
|
||||||
let bytes = instructions::get_push_bytes(instruction);
|
let bytes = instructions::get_push_bytes(instruction);
|
||||||
|
@ -284,7 +284,7 @@ impl<'a> evmjit::Ext for ExtAdapter<'a> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let bytes_ref: &[u8] = slice::from_raw_parts(beg, size as usize);
|
let bytes_ref: &[u8] = slice::from_raw_parts(beg, size as usize);
|
||||||
self.ext.log(topics, bytes_ref);
|
self.ext.log(topics, bytes_ref.to_vec());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -70,10 +70,10 @@ impl Ext for FakeExt {
|
|||||||
self.codes.get(address).unwrap_or(&Bytes::new()).clone()
|
self.codes.get(address).unwrap_or(&Bytes::new()).clone()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn log(&mut self, topics: Vec<H256>, data: &[u8]) {
|
fn log(&mut self, topics: Vec<H256>, data: Vec<u8>) {
|
||||||
self.logs.push(FakeLogEntry {
|
self.logs.push(FakeLogEntry {
|
||||||
topics: topics,
|
topics: topics,
|
||||||
data: data.to_vec()
|
data: data
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
use common::*;
|
use common::*;
|
||||||
use state::*;
|
use state::*;
|
||||||
use engine::*;
|
use engine::*;
|
||||||
use evm::{self, Factory, Ext};
|
use evm::{self, Ext};
|
||||||
use externalities::*;
|
use externalities::*;
|
||||||
use substate::*;
|
use substate::*;
|
||||||
|
|
||||||
@ -270,7 +270,6 @@ impl<'a> Executive<'a> {
|
|||||||
refunded: U256::zero(),
|
refunded: U256::zero(),
|
||||||
cumulative_gas_used: self.info.gas_used + t.gas,
|
cumulative_gas_used: self.info.gas_used + t.gas,
|
||||||
logs: vec![],
|
logs: vec![],
|
||||||
excepted: true,
|
|
||||||
contracts_created: vec![]
|
contracts_created: vec![]
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@ -283,16 +282,6 @@ impl<'a> Executive<'a> {
|
|||||||
logs: substate.logs,
|
logs: substate.logs,
|
||||||
contracts_created: substate.contracts_created
|
contracts_created: substate.contracts_created
|
||||||
})
|
})
|
||||||
},
|
|
||||||
_err => {
|
|
||||||
Ok(Executed {
|
|
||||||
gas: t.gas,
|
|
||||||
gas_used: t.gas,
|
|
||||||
refunded: U256::zero(),
|
|
||||||
cumulative_gas_used: self.info.gas_used + t.gas,
|
|
||||||
logs: vec![],
|
|
||||||
contracts_created: vec![]
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -320,7 +309,7 @@ mod tests {
|
|||||||
use ethereum;
|
use ethereum;
|
||||||
use engine::*;
|
use engine::*;
|
||||||
use spec::*;
|
use spec::*;
|
||||||
use evm::Schedule;
|
use evm::{Schedule, Factory, VMType};
|
||||||
use substate::*;
|
use substate::*;
|
||||||
|
|
||||||
struct TestEngine {
|
struct TestEngine {
|
||||||
|
@ -135,7 +135,7 @@ impl<'a> Ext for TestExt<'a> {
|
|||||||
self.ext.extcode(address)
|
self.ext.extcode(address)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn log(&mut self, topics: Vec<H256>, data: &[u8]) {
|
fn log(&mut self, topics: Vec<H256>, data: Vec<u8>) {
|
||||||
self.ext.log(topics, data)
|
self.ext.log(topics, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user