Merge pull request #100 from paritytech/no-constructor

The constructor arg removed from
This commit is contained in:
Nikolay Volf 2018-08-06 15:40:04 +03:00 committed by GitHub
commit 67d67f3fba
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 12 deletions

View File

@ -160,7 +160,6 @@ fn do_main() -> Result<(), Error> {
let (module, ctor_module) = build( let (module, ctor_module) = build(
module, module,
true,
source_input.target(), source_input.target(),
runtime_type_version, runtime_type_version,
&public_api_entries, &public_api_entries,
@ -174,10 +173,13 @@ fn do_main() -> Result<(), Error> {
parity_wasm::serialize_to_file(save_raw_path, module.clone()).map_err(Error::Encoding)?; parity_wasm::serialize_to_file(save_raw_path, module.clone()).map_err(Error::Encoding)?;
} }
if let Some(ctor_module) = ctor_module {
parity_wasm::serialize_to_file( parity_wasm::serialize_to_file(
&path, &path,
ctor_module.expect("ctor_module can't be None, because 'constructor' argument is set to true in build"), ctor_module,
).map_err(Error::Encoding)?; ).map_err(Error::Encoding)?;
}
Ok(()) Ok(())
} }

View File

@ -18,7 +18,6 @@ use parity_wasm::elements;
pub enum Error { pub enum Error {
Encoding(elements::Error), Encoding(elements::Error),
Packing(PackingError), Packing(PackingError),
NoCreateSymbolFound,
Optimizer, Optimizer,
} }
@ -47,7 +46,6 @@ impl std::fmt::Display for Error {
Encoding(ref err) => write!(f, "Encoding error ({})", err), Encoding(ref err) => write!(f, "Encoding error ({})", err),
Optimizer => write!(f, "Optimization error due to missing export section. Pointed wrong file?"), Optimizer => write!(f, "Optimization error due to missing export section. Pointed wrong file?"),
Packing(ref e) => write!(f, "Packing failed due to module structure error: {}. Sure used correct libraries for building contracts?", e), Packing(ref e) => write!(f, "Packing failed due to module structure error: {}. Sure used correct libraries for building contracts?", e),
NoCreateSymbolFound => write!(f, "Packing failed: no \"{}\" symbol found?", CREATE_SYMBOL),
} }
} }
} }
@ -62,7 +60,6 @@ fn has_ctor(module: &elements::Module) -> bool {
pub fn build( pub fn build(
mut module: elements::Module, mut module: elements::Module,
constructor: bool,
source_target: SourceTarget, source_target: SourceTarget,
runtime_type_version: Option<([u8; 4], u32)>, runtime_type_version: Option<([u8; 4], u32)>,
public_api_entries: &[&str], public_api_entries: &[&str],
@ -105,10 +102,7 @@ pub fn build(
)?; )?;
} }
if constructor { if has_ctor(&ctor_module) {
if !has_ctor(&ctor_module) {
Err(Error::NoCreateSymbolFound)?
}
if !skip_optimization { if !skip_optimization {
optimize(&mut ctor_module, vec![CREATE_SYMBOL])?; optimize(&mut ctor_module, vec![CREATE_SYMBOL])?;
} }