ethereum libfuzzer integration small change (#9547)

* Minor changes for ethereum libfuzzer.
This commit is contained in:
cheme 2018-09-27 17:17:23 +02:00 committed by GitHub
parent 1e13f474cb
commit a8f6f5b974
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 16 additions and 1 deletions

View File

@ -182,6 +182,19 @@ impl<'a> EvmTestClient<'a> {
gas_used: 0.into(),
gas_limit: *genesis.gas_limit(),
};
self.call_envinfo(params, tracer, vm_tracer, info)
}
/// Execute the VM given envinfo, ActionParams and tracer.
/// Returns amount of gas left and the output.
pub fn call_envinfo<T: trace::Tracer, V: trace::VMTracer>(
&mut self,
params: ActionParams,
tracer: &mut T,
vm_tracer: &mut V,
info: client::EnvInfo,
) -> Result<FinalizationResult, EvmTestError>
{
let mut substate = state::Substate::new();
let machine = self.spec.engine.machine();
let schedule = machine.schedule(info.number);

View File

@ -159,6 +159,7 @@ pub mod header;
pub mod machine;
pub mod miner;
pub mod pod_state;
pub mod pod_account;
pub mod snapshot;
pub mod spec;
pub mod state;
@ -167,7 +168,6 @@ pub mod trace;
pub mod verification;
mod cache_manager;
mod pod_account;
mod account_db;
mod externalities;
mod blockchain;

View File

@ -14,6 +14,8 @@
// You should have received a copy of the GNU General Public License
// along with Parity. If not, see <http://www.gnu.org/licenses/>.
//! Account system expressed in Plain Old Data.
use std::fmt;
use std::collections::BTreeMap;
use itertools::Itertools;