wasm-utils/cli/gas/main.rs

25 lines
644 B
Rust
Raw Normal View History

2017-04-12 17:58:28 +03:00
extern crate parity_wasm;
2018-03-13 15:58:18 +03:00
extern crate pwasm_utils as utils;
extern crate pwasm_utils_cli as logger;
2017-04-12 17:58:28 +03:00
use std::env;
2017-04-12 19:41:36 +03:00
2017-04-12 17:58:28 +03:00
fn main() {
logger::init_log();
2017-05-05 16:06:16 +03:00
2017-05-19 16:54:53 +03:00
let args = env::args().collect::<Vec<_>>();
if args.len() != 3 {
println!("Usage: {} input_file.wasm output_file.wasm", args[0]);
return;
}
2017-04-12 17:58:28 +03:00
2017-05-19 16:54:53 +03:00
// Loading module
let module = parity_wasm::deserialize_file(&args[1]).expect("Module deserialization to succeed");
2017-04-12 17:58:28 +03:00
2018-03-13 15:58:18 +03:00
let result = utils::inject_gas_counter(
2018-02-19 19:28:12 +03:00
module, &Default::default()
).expect("Failed to inject gas. Some forbidden opcodes?");
2017-04-12 17:58:28 +03:00
2017-10-04 13:53:03 +03:00
parity_wasm::serialize_to_file(&args[2], result).expect("Module serialization to succeed")
2017-04-12 17:58:28 +03:00
}