From 9d0f6d1bc0af2ea6e220f3986609eee0c99fe5ed Mon Sep 17 00:00:00 2001 From: Sergey Pepyakin Date: Thu, 26 Jul 2018 13:22:29 +0300 Subject: [PATCH 01/21] Convert T in vm::Ext to a associated type --- substrate/runtime/contract/src/exec.rs | 4 +- substrate/runtime/contract/src/vm.rs | 409 +++++++++++++------------ 2 files changed, 212 insertions(+), 201 deletions(-) diff --git a/substrate/runtime/contract/src/exec.rs b/substrate/runtime/contract/src/exec.rs index 7755582245cce..a62e2ce97f972 100644 --- a/substrate/runtime/contract/src/exec.rs +++ b/substrate/runtime/contract/src/exec.rs @@ -226,7 +226,9 @@ struct CallContext<'a, 'b: 'a, T: Trait + 'b> { _caller: T::AccountId, } -impl<'a, 'b: 'a, T: Trait + 'b> vm::Ext for CallContext<'a, 'b, T> { +impl<'a, 'b: 'a, T: Trait + 'b> vm::Ext for CallContext<'a, 'b, T> { + type T = T; + fn get_storage(&self, key: &[u8]) -> Option> { self.ctx.overlay.get_storage(&self.ctx.self_account, key) } diff --git a/substrate/runtime/contract/src/vm.rs b/substrate/runtime/contract/src/vm.rs index 1e594883eeb15..b5ac23e283c49 100644 --- a/substrate/runtime/contract/src/vm.rs +++ b/substrate/runtime/contract/src/vm.rs @@ -30,13 +30,20 @@ use gas::{GasMeter, GasMeterResult}; use runtime_primitives::traits::{As, CheckedMul}; use {Trait}; use exec::{CallReceipt, CreateReceipt}; +use system; +use staking; + +type BalanceOf = ::Balance; +type AccountIdOf = ::AccountId; /// An interface that provides an access to the external environment in which the /// smart-contract is executed. /// /// This interface is specialised to an account of the executing code, so all /// operations are implicitly performed on that account. -pub trait Ext { +pub trait Ext { + type T: Trait; + /// Returns the storage entry of the executing account by the given key. fn get_storage(&self, key: &[u8]) -> Option>; @@ -51,17 +58,17 @@ pub trait Ext { fn create( &mut self, code: &[u8], - value: T::Balance, - gas_meter: &mut GasMeter, + value: BalanceOf, + gas_meter: &mut GasMeter, data: &[u8], - ) -> Result, ()>; + ) -> Result, ()>; /// Call (possibly transfering some amount of funds) into the specified account. fn call( &mut self, - to: &T::AccountId, - value: T::Balance, - gas_meter: &mut GasMeter, + to: &AccountIdOf, + value: BalanceOf, + gas_meter: &mut GasMeter, data: &[u8], ) -> Result; } @@ -116,14 +123,14 @@ enum SpecialTrap { Return(Vec), } -struct Runtime<'a, T: Trait + 'a, E: Ext + 'a> { +struct Runtime<'a, E: Ext + 'a> { ext: &'a mut E, - config: &'a Config, + config: &'a Config, memory: sandbox::Memory, - gas_meter: &'a mut GasMeter, + gas_meter: &'a mut GasMeter, special_trap: Option, } -impl<'a, T: Trait, E: Ext + 'a> Runtime<'a, T, E> { +impl<'a, E: Ext + 'a> Runtime<'a, E> { fn memory(&self) -> &sandbox::Memory { &self.memory } @@ -133,7 +140,7 @@ impl<'a, T: Trait, E: Ext + 'a> Runtime<'a, T, E> { /// /// Returns `Err` if there is not enough gas. fn store_return_data(&mut self, data: Vec) -> Result<(), ()> { - let data_len = >::sa(data.len() as u64); + let data_len = <<::T as Trait>::Gas as As>::sa(data.len() as u64); let price = (self.config.return_data_per_byte_cost) .checked_mul(&data_len) .ok_or_else(|| ())?; @@ -148,8 +155,8 @@ impl<'a, T: Trait, E: Ext + 'a> Runtime<'a, T, E> { } } -fn to_execution_result>( - runtime: Runtime, +fn to_execution_result( + runtime: Runtime, run_err: Option, ) -> Result { // Check the exact type of the error. It could be plain trap or @@ -184,198 +191,198 @@ pub struct ExecutionResult { pub return_data: Vec, } -/// Execute the given code as a contract. -pub fn execute<'a, T: Trait, E: Ext>( - code: &[u8], - ext: &'a mut E, - gas_meter: &mut GasMeter, -) -> Result { - // TODO: Receive data as an argument - - // ext_gas(amount: u32) - // - // Account for used gas. Traps if gas used is greater than gas limit. - // - // - amount: How much gas is used. - fn ext_gas>( - e: &mut Runtime, - args: &[sandbox::TypedValue], - ) -> Result { - let amount = args[0].as_i32().unwrap() as u32; - let amount = >::sa(amount); - - match e.gas_meter.charge(amount) { - GasMeterResult::Proceed => Ok(sandbox::ReturnValue::Unit), - GasMeterResult::OutOfGas => Err(sandbox::HostError), - } +// ext_gas(amount: u32) +// +// Account for used gas. Traps if gas used is greater than gas limit. +// +// - amount: How much gas is used. +fn ext_gas( + e: &mut Runtime, + args: &[sandbox::TypedValue], +) -> Result { + let amount = args[0].as_i32().unwrap() as u32; + let amount = <<::T as Trait>::Gas as As>::sa(amount); + + match e.gas_meter.charge(amount) { + GasMeterResult::Proceed => Ok(sandbox::ReturnValue::Unit), + GasMeterResult::OutOfGas => Err(sandbox::HostError), } +} - // ext_put_storage(location_ptr: u32, value_non_null: u32, value_ptr: u32); - // - // Change the value at the given location in storage or remove it. - // - // - location_ptr: pointer into the linear - // memory where the location of the requested value is placed. - // - value_non_null: if set to 0, then the entry - // at the given location will be removed. - // - value_ptr: pointer into the linear memory - // where the value to set is placed. If `value_non_null` is set to 0, then this parameter is ignored. - fn ext_set_storage>( - e: &mut Runtime, - args: &[sandbox::TypedValue], - ) -> Result { - let location_ptr = args[0].as_i32().unwrap() as u32; - let value_non_null = args[1].as_i32().unwrap() as u32; - let value_ptr = args[2].as_i32().unwrap() as u32; - - let mut location = [0; 32]; - - e.memory().get(location_ptr, &mut location)?; - - let value = if value_non_null != 0 { - let mut value = [0; 32]; - e.memory().get(value_ptr, &mut value)?; - Some(value.to_vec()) - } else { - None - }; - e.ext.set_storage(&location, value); - - Ok(sandbox::ReturnValue::Unit) - } +// ext_put_storage(location_ptr: u32, value_non_null: u32, value_ptr: u32); +// +// Change the value at the given location in storage or remove it. +// +// - location_ptr: pointer into the linear +// memory where the location of the requested value is placed. +// - value_non_null: if set to 0, then the entry +// at the given location will be removed. +// - value_ptr: pointer into the linear memory +// where the value to set is placed. If `value_non_null` is set to 0, then this parameter is ignored. +fn ext_set_storage( + e: &mut Runtime, + args: &[sandbox::TypedValue], +) -> Result { + let location_ptr = args[0].as_i32().unwrap() as u32; + let value_non_null = args[1].as_i32().unwrap() as u32; + let value_ptr = args[2].as_i32().unwrap() as u32; + + let mut location = [0; 32]; + + e.memory().get(location_ptr, &mut location)?; + + let value = if value_non_null != 0 { + let mut value = [0; 32]; + e.memory().get(value_ptr, &mut value)?; + Some(value.to_vec()) + } else { + None + }; + e.ext.set_storage(&location, value); - // ext_get_storage(location_ptr: u32, dest_ptr: u32); - // - // Retrieve the value at the given location from the strorage. - // If there is no entry at the given location then all-zero-value - // will be returned. - // - // - location_ptr: pointer into the linear - // memory where the location of the requested value is placed. - // - dest_ptr: pointer where contents of the specified storage location - // should be placed. - fn ext_get_storage>( - e: &mut Runtime, - args: &[sandbox::TypedValue], - ) -> Result { - let location_ptr = args[0].as_i32().unwrap() as u32; - let dest_ptr = args[1].as_i32().unwrap() as u32; - - let mut location = [0; 32]; - e.memory().get(location_ptr, &mut location)?; - - if let Some(value) = e.ext.get_storage(&location) { - e.memory().set(dest_ptr, &value)?; - } else { - e.memory().set(dest_ptr, &[0u8; 32])?; - } + Ok(sandbox::ReturnValue::Unit) +} - Ok(sandbox::ReturnValue::Unit) +// ext_get_storage(location_ptr: u32, dest_ptr: u32); +// +// Retrieve the value at the given location from the strorage. +// If there is no entry at the given location then all-zero-value +// will be returned. +// +// - location_ptr: pointer into the linear +// memory where the location of the requested value is placed. +// - dest_ptr: pointer where contents of the specified storage location +// should be placed. +fn ext_get_storage( + e: &mut Runtime, + args: &[sandbox::TypedValue], +) -> Result { + let location_ptr = args[0].as_i32().unwrap() as u32; + let dest_ptr = args[1].as_i32().unwrap() as u32; + + let mut location = [0; 32]; + e.memory().get(location_ptr, &mut location)?; + + if let Some(value) = e.ext.get_storage(&location) { + e.memory().set(dest_ptr, &value)?; + } else { + e.memory().set(dest_ptr, &[0u8; 32])?; } - // ext_transfer(transfer_to: u32, transfer_to_len: u32, value_ptr: u32, value_len: u32) - fn ext_transfer>( - e: &mut Runtime, - args: &[sandbox::TypedValue], - ) -> Result { - let transfer_to_ptr = args[0].as_i32().unwrap() as u32; - let transfer_to_len = args[1].as_i32().unwrap() as u32; - let value_ptr = args[2].as_i32().unwrap() as u32; - let value_len = args[3].as_i32().unwrap() as u32; - - let mut transfer_to = Vec::new(); - transfer_to.resize(transfer_to_len as usize, 0); - e.memory().get(transfer_to_ptr, &mut transfer_to)?; - let transfer_to = T::AccountId::decode(&mut &transfer_to[..]).unwrap(); - - let mut value_buf = Vec::new(); - value_buf.resize(value_len as usize, 0); - e.memory().get(value_ptr, &mut value_buf)?; - let value = T::Balance::decode(&mut &value_buf[..]).unwrap(); - - // TODO: Read input data from memory. - let input_data = Vec::new(); - - // TODO: Let user to choose how much gas to allocate for the execution. - let nested_gas_limit = e.gas_meter.gas_left(); - let ext = &mut e.ext; - let call_outcome = e.gas_meter.with_nested(nested_gas_limit, |nested_meter| { - match nested_meter { - Some(nested_meter) => ext.call(&transfer_to, value, nested_meter, &input_data), - // there is not enough gas to allocate for the nested call. - None => Err(()), - } - }); + Ok(sandbox::ReturnValue::Unit) +} - match call_outcome { - // TODO: Find a way how to pass return_data back to the this sandbox. - Ok(CallReceipt { .. }) => Ok(sandbox::ReturnValue::Unit), - // TODO: Return a status code value that can be handled by the caller instead of a trap. - Err(_) => Err(sandbox::HostError), +// ext_transfer(transfer_to: u32, transfer_to_len: u32, value_ptr: u32, value_len: u32) +fn ext_transfer( + e: &mut Runtime, + args: &[sandbox::TypedValue], +) -> Result { + let transfer_to_ptr = args[0].as_i32().unwrap() as u32; + let transfer_to_len = args[1].as_i32().unwrap() as u32; + let value_ptr = args[2].as_i32().unwrap() as u32; + let value_len = args[3].as_i32().unwrap() as u32; + + let mut transfer_to = Vec::new(); + transfer_to.resize(transfer_to_len as usize, 0); + e.memory().get(transfer_to_ptr, &mut transfer_to)?; + let transfer_to = <::T as system::Trait>::AccountId::decode(&mut &transfer_to[..]).unwrap(); + + let mut value_buf = Vec::new(); + value_buf.resize(value_len as usize, 0); + e.memory().get(value_ptr, &mut value_buf)?; + let value = BalanceOf::<::T>::decode(&mut &value_buf[..]).unwrap(); + + // TODO: Read input data from memory. + let input_data = Vec::new(); + + // TODO: Let user to choose how much gas to allocate for the execution. + let nested_gas_limit = e.gas_meter.gas_left(); + let ext = &mut e.ext; + let call_outcome = e.gas_meter.with_nested(nested_gas_limit, |nested_meter| { + match nested_meter { + Some(nested_meter) => ext.call(&transfer_to, value, nested_meter, &input_data), + // there is not enough gas to allocate for the nested call. + None => Err(()), } - } + }); - // ext_create(code_ptr: u32, code_len: u32, value_ptr: u32, value_len: u32) - fn ext_create>( - e: &mut Runtime, - args: &[sandbox::TypedValue], - ) -> Result { - let code_ptr = args[0].as_i32().unwrap() as u32; - let code_len = args[1].as_i32().unwrap() as u32; - let value_ptr = args[2].as_i32().unwrap() as u32; - let value_len = args[3].as_i32().unwrap() as u32; - - let mut value_buf = Vec::new(); - value_buf.resize(value_len as usize, 0); - e.memory().get(value_ptr, &mut value_buf)?; - let value = T::Balance::decode(&mut &value_buf[..]).unwrap(); - - let mut code = Vec::new(); - code.resize(code_len as usize, 0u8); - e.memory().get(code_ptr, &mut code)?; - - // TODO: Read input data from the sandbox. - let input_data = Vec::new(); - - // TODO: Let user to choose how much gas to allocate for the execution. - let nested_gas_limit = e.gas_meter.gas_left(); - let ext = &mut e.ext; - let create_outcome = e.gas_meter.with_nested(nested_gas_limit, |nested_meter| { - match nested_meter { - Some(nested_meter) => ext.create(&code, value, nested_meter, &input_data), - // there is not enough gas to allocate for the nested call. - None => Err(()), - } - }); + match call_outcome { + // TODO: Find a way how to pass return_data back to the this sandbox. + Ok(CallReceipt { .. }) => Ok(sandbox::ReturnValue::Unit), + // TODO: Return a status code value that can be handled by the caller instead of a trap. + Err(_) => Err(sandbox::HostError), + } +} - match create_outcome { - // TODO: Copy an address of the created contract in the sandbox. - Ok(CreateReceipt { .. }) => Ok(sandbox::ReturnValue::Unit), - // TODO: Return a status code value that can be handled by the caller instead of a trap. - Err(_) => Err(sandbox::HostError), +// ext_create(code_ptr: u32, code_len: u32, value_ptr: u32, value_len: u32) +fn ext_create( + e: &mut Runtime, + args: &[sandbox::TypedValue], +) -> Result { + let code_ptr = args[0].as_i32().unwrap() as u32; + let code_len = args[1].as_i32().unwrap() as u32; + let value_ptr = args[2].as_i32().unwrap() as u32; + let value_len = args[3].as_i32().unwrap() as u32; + + let mut value_buf = Vec::new(); + value_buf.resize(value_len as usize, 0); + e.memory().get(value_ptr, &mut value_buf)?; + let value = BalanceOf::<::T>::decode(&mut &value_buf[..]).unwrap(); + + let mut code = Vec::new(); + code.resize(code_len as usize, 0u8); + e.memory().get(code_ptr, &mut code)?; + + // TODO: Read input data from the sandbox. + let input_data = Vec::new(); + + // TODO: Let user to choose how much gas to allocate for the execution. + let nested_gas_limit = e.gas_meter.gas_left(); + let ext = &mut e.ext; + let create_outcome = e.gas_meter.with_nested(nested_gas_limit, |nested_meter| { + match nested_meter { + Some(nested_meter) => ext.create(&code, value, nested_meter, &input_data), + // there is not enough gas to allocate for the nested call. + None => Err(()), } - } + }); - // ext_return(data_ptr: u32, data_len: u32) -> ! - fn ext_return>( - e: &mut Runtime, - args: &[sandbox::TypedValue], - ) -> Result { - let data_ptr = args[0].as_i32().unwrap() as u32; - let data_len = args[1].as_i32().unwrap() as u32; - - let mut data_buf = Vec::new(); - data_buf.resize(data_len as usize, 0); - e.memory().get(data_ptr, &mut data_buf)?; - - e.store_return_data(data_buf) - .map_err(|_| sandbox::HostError)?; - - // The trap mechanism is used to immediately terminate the execution. - // This trap should be handled appropriately before returning the result - // to the user of this crate. - Err(sandbox::HostError) + match create_outcome { + // TODO: Copy an address of the created contract in the sandbox. + Ok(CreateReceipt { .. }) => Ok(sandbox::ReturnValue::Unit), + // TODO: Return a status code value that can be handled by the caller instead of a trap. + Err(_) => Err(sandbox::HostError), } +} + +// ext_return(data_ptr: u32, data_len: u32) -> ! +fn ext_return( + e: &mut Runtime, + args: &[sandbox::TypedValue], +) -> Result { + let data_ptr = args[0].as_i32().unwrap() as u32; + let data_len = args[1].as_i32().unwrap() as u32; + + let mut data_buf = Vec::new(); + data_buf.resize(data_len as usize, 0); + e.memory().get(data_ptr, &mut data_buf)?; + + e.store_return_data(data_buf) + .map_err(|_| sandbox::HostError)?; + + // The trap mechanism is used to immediately terminate the execution. + // This trap should be handled appropriately before returning the result + // to the user of this crate. + Err(sandbox::HostError) +} + +/// Execute the given code as a contract. +pub fn execute<'a, E: Ext>( + code: &[u8], + ext: &'a mut E, + gas_meter: &mut GasMeter, +) -> Result { + // TODO: Receive data as an argument let config = Config::default(); @@ -385,13 +392,13 @@ pub fn execute<'a, T: Trait, E: Ext>( } = prepare_contract(code, &config)?; let mut imports = sandbox::EnvironmentDefinitionBuilder::new(); - imports.add_host_func("env", "gas", ext_gas::); - imports.add_host_func("env", "ext_set_storage", ext_set_storage::); - imports.add_host_func("env", "ext_get_storage", ext_get_storage::); + imports.add_host_func("env", "gas", ext_gas::); + imports.add_host_func("env", "ext_set_storage", ext_set_storage::); + imports.add_host_func("env", "ext_get_storage", ext_get_storage::); // TODO: Rename it to ext_call. - imports.add_host_func("env", "ext_transfer", ext_transfer::); - imports.add_host_func("env", "ext_create", ext_create::); - imports.add_host_func("env", "ext_return", ext_return::); + imports.add_host_func("env", "ext_transfer", ext_transfer::); + imports.add_host_func("env", "ext_create", ext_create::); + imports.add_host_func("env", "ext_return", ext_return::); // TODO: ext_balance, ext_address, ext_callvalue, etc. imports.add_memory("env", "memory", memory.clone()); @@ -611,7 +618,9 @@ mod tests { transfers: Vec, next_account_id: u64, } - impl Ext for MockExt { + impl Ext for MockExt { + type T = Test; + fn get_storage(&self, key: &[u8]) -> Option> { self.storage.get(key).cloned() } From e4a855f4d93a9e2eeb9d14d2a57b9d48fbbfeeea Mon Sep 17 00:00:00 2001 From: Sergey Pepyakin Date: Thu, 26 Jul 2018 19:35:46 +0300 Subject: [PATCH 02/21] WIP --- substrate/runtime/contract/src/vm.rs | 94 +++++++++++++++++++++++++++- 1 file changed, 93 insertions(+), 1 deletion(-) diff --git a/substrate/runtime/contract/src/vm.rs b/substrate/runtime/contract/src/vm.rs index b5ac23e283c49..e90ecd84175cb 100644 --- a/substrate/runtime/contract/src/vm.rs +++ b/substrate/runtime/contract/src/vm.rs @@ -21,10 +21,11 @@ //! to each other and operate on a simple key-value storage. use codec::Decode; -use parity_wasm::elements::{self, External, MemoryType}; +use parity_wasm::elements::{self, External, MemoryType, Type, FunctionType}; use pwasm_utils; use pwasm_utils::rules; use rstd::prelude::*; +use rstd::collections::BTreeMap; use sandbox; use gas::{GasMeter, GasMeterResult}; use runtime_primitives::traits::{As, CheckedMul}; @@ -376,6 +377,73 @@ fn ext_return( Err(sandbox::HostError) } +// trait Param { +// fn new(&sandbox::TypedValue) -> Self; +// } + +// trait Params { +// fn new(&[sandbox::TypedValue]) -> Self; +// } + +// impl Params for () { +// fn new(_args: &[sandbox::TypedValue]) -> Self { () } +// } + +// impl Params for (A1, A2) { +// fn new(args: &[sandbox::TypedValue]) -> Self { +// assert!(args.len() == 2); +// let a1 = A1::new(&args[0]); +// let a2 = A2::new(&args[1]); +// (a1, a2) +// } +// } + +// impl Params for (A1, A2, A3) { +// fn new(args: &[sandbox::TypedValue]) -> Self { +// assert!(args.len() == 3); +// let a1 = A1::new(&args[0]); +// let a2 = A2::new(&args[1]); +// let a3 = A3::new(&args[2]); +// (a1, a2, a3) +// } +// } + +// trait ExternalFunction { +// type Result; + +// /// Something that can be created from &[TypedValue] +// /// + something that can be compared to a parity-wasm's signature +// type Params: Params; + +// /// Logic that will be executed upon a call. +// fn call(e: &mut Runtime, params: Self::Params) -> Result; +// fn signature() -> FunctionType; +// } + +// fn ext_wrapper>( +// e: &mut Runtime, +// args: &[sandbox::TypedValue], +// ) -> Result { +// let args = F::Params::new(args); +// let result = F::call(e, args); +// panic!() +// } + +struct ExtFunc { + f: fn(&mut Runtime, &[sandbox::TypedValue]) -> Result, + func_type: FunctionType, +} + +impl ExtFunc { + fn type_matches(&self, func_type: &FunctionType) -> bool { + panic!() + } +} + +struct ExtFunctions { + funcs: BTreeMap>, +} + /// Execute the given code as a contract. pub fn execute<'a, E: Ext>( code: &[u8], @@ -538,6 +606,30 @@ impl<'a, T: Trait> ContractModule<'a, T> { None } + fn check_signatures(&self) -> Result<(), Error> { + // TODO: Merge it with `find_mem_import`? + let module = self + .module + .as_ref() + .expect("On entry to the function `module` can't be `None`; qed"); + + let types = module.type_section().map(|ts| ts.types()).unwrap_or(&[]); + let import_entries = module.import_section().map(|is| is.entries()).unwrap_or(&[]); + + for import in import_entries { + if let ("env", "memory", &External::Function(ref type_index)) = + (import.module(), import.field(), import.external()) + { + let Type::Function(ref func_ty) = types + .get(*type_index as usize) + .ok_or_else(|| Error::Deserialization)?; + + + } + } + Ok(()) + } + fn into_wasm_code(mut self) -> Result, Error> { elements::serialize( self.module From 7c0f06ab4857e5ab4c7454d308235b7d75e1980f Mon Sep 17 00:00:00 2001 From: Sergey Pepyakin Date: Sun, 29 Jul 2018 21:03:38 +0300 Subject: [PATCH 03/21] Fix BTreeMap --- substrate/runtime/contract/src/vm.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/substrate/runtime/contract/src/vm.rs b/substrate/runtime/contract/src/vm.rs index e90ecd84175cb..a92c992d35608 100644 --- a/substrate/runtime/contract/src/vm.rs +++ b/substrate/runtime/contract/src/vm.rs @@ -25,7 +25,7 @@ use parity_wasm::elements::{self, External, MemoryType, Type, FunctionType}; use pwasm_utils; use pwasm_utils::rules; use rstd::prelude::*; -use rstd::collections::BTreeMap; +use rstd::collections::btree_map::BTreeMap; use sandbox; use gas::{GasMeter, GasMeterResult}; use runtime_primitives::traits::{As, CheckedMul}; From 7eed7d60a138b6c64af2e286ea26de19603cd698 Mon Sep 17 00:00:00 2001 From: Sergey Pepyakin Date: Mon, 30 Jul 2018 10:55:22 +0300 Subject: [PATCH 04/21] Extract prepare module from vm. --- .../runtime/contract/src/{vm.rs => vm/mod.rs} | 233 +----------------- substrate/runtime/contract/src/vm/prepare.rs | 206 ++++++++++++++++ 2 files changed, 218 insertions(+), 221 deletions(-) rename substrate/runtime/contract/src/{vm.rs => vm/mod.rs} (74%) create mode 100644 substrate/runtime/contract/src/vm/prepare.rs diff --git a/substrate/runtime/contract/src/vm.rs b/substrate/runtime/contract/src/vm/mod.rs similarity index 74% rename from substrate/runtime/contract/src/vm.rs rename to substrate/runtime/contract/src/vm/mod.rs index a92c992d35608..f9db6acc67f0d 100644 --- a/substrate/runtime/contract/src/vm.rs +++ b/substrate/runtime/contract/src/vm/mod.rs @@ -21,9 +21,7 @@ //! to each other and operate on a simple key-value storage. use codec::Decode; -use parity_wasm::elements::{self, External, MemoryType, Type, FunctionType}; -use pwasm_utils; -use pwasm_utils::rules; +use parity_wasm::elements::{FunctionType}; use rstd::prelude::*; use rstd::collections::btree_map::BTreeMap; use sandbox; @@ -37,6 +35,10 @@ use staking; type BalanceOf = ::Balance; type AccountIdOf = ::AccountId; +mod prepare; + +use self::prepare::{prepare_contract, PreparedContract}; + /// An interface that provides an access to the external environment in which the /// smart-contract is executed. /// @@ -377,70 +379,19 @@ fn ext_return( Err(sandbox::HostError) } -// trait Param { -// fn new(&sandbox::TypedValue) -> Self; -// } - -// trait Params { -// fn new(&[sandbox::TypedValue]) -> Self; -// } - -// impl Params for () { -// fn new(_args: &[sandbox::TypedValue]) -> Self { () } -// } - -// impl Params for (A1, A2) { -// fn new(args: &[sandbox::TypedValue]) -> Self { -// assert!(args.len() == 2); -// let a1 = A1::new(&args[0]); -// let a2 = A2::new(&args[1]); -// (a1, a2) -// } -// } - -// impl Params for (A1, A2, A3) { -// fn new(args: &[sandbox::TypedValue]) -> Self { -// assert!(args.len() == 3); -// let a1 = A1::new(&args[0]); -// let a2 = A2::new(&args[1]); -// let a3 = A3::new(&args[2]); -// (a1, a2, a3) -// } -// } - -// trait ExternalFunction { -// type Result; - -// /// Something that can be created from &[TypedValue] -// /// + something that can be compared to a parity-wasm's signature -// type Params: Params; - -// /// Logic that will be executed upon a call. -// fn call(e: &mut Runtime, params: Self::Params) -> Result; -// fn signature() -> FunctionType; -// } - -// fn ext_wrapper>( -// e: &mut Runtime, -// args: &[sandbox::TypedValue], -// ) -> Result { -// let args = F::Params::new(args); -// let result = F::call(e, args); -// panic!() -// } - struct ExtFunc { f: fn(&mut Runtime, &[sandbox::TypedValue]) -> Result, func_type: FunctionType, } impl ExtFunc { - fn type_matches(&self, func_type: &FunctionType) -> bool { + fn types_match(&self, func_type: &FunctionType) -> bool { panic!() } } -struct ExtFunctions { +struct Environment { + /// Functions which defined in the environment. funcs: BTreeMap>, } @@ -453,11 +404,12 @@ pub fn execute<'a, E: Ext>( // TODO: Receive data as an argument let config = Config::default(); + let sigs = BTreeMap::>::default(); let PreparedContract { instrumented_code, memory, - } = prepare_contract(code, &config)?; + } = prepare_contract(code, &config, &sigs)?; let mut imports = sandbox::EnvironmentDefinitionBuilder::new(); imports.add_host_func("env", "gas", ext_gas::); @@ -521,168 +473,6 @@ impl Default for Config { } } -struct ContractModule<'a, T: Trait + 'a> { - // An `Option` is used here for loaning (`take()`-ing) the module. - // Invariant: Can't be `None` (i.e. on enter and on exit from the function - // the value *must* be `Some`). - module: Option, - config: &'a Config, -} - -impl<'a, T: Trait> ContractModule<'a, T> { - fn new(original_code: &[u8], config: &'a Config) -> Result, Error> { - let module = - elements::deserialize_buffer(original_code).map_err(|_| Error::Deserialization)?; - Ok(ContractModule { - module: Some(module), - config, - }) - } - - /// Ensures that module doesn't declare internal memories. - /// - /// In this runtime we only allow wasm module to import memory from the environment. - /// Memory section contains declarations of internal linear memories, so if we find one - /// we reject such a module. - fn ensure_no_internal_memory(&self) -> Result<(), Error> { - let module = self - .module - .as_ref() - .expect("On entry to the function `module` can't be None; qed"); - if module - .memory_section() - .map_or(false, |ms| ms.entries().len() > 0) - { - return Err(Error::InternalMemoryDeclared); - } - Ok(()) - } - - fn inject_gas_metering(&mut self) -> Result<(), Error> { - let gas_rules = rules::Set::new(self.config.regular_op_cost.as_(), Default::default()) - .with_grow_cost(self.config.grow_mem_cost.as_()) - .with_forbidden_floats(); - - let module = self - .module - .take() - .expect("On entry to the function `module` can't be `None`; qed"); - - let contract_module = pwasm_utils::inject_gas_counter(module, &gas_rules) - .map_err(|_| Error::GasInstrumentation)?; - - self.module = Some(contract_module); - Ok(()) - } - - fn inject_stack_height_metering(&mut self) -> Result<(), Error> { - let module = self - .module - .take() - .expect("On entry to the function `module` can't be `None`; qed"); - - let contract_module = - pwasm_utils::stack_height::inject_limiter(module, self.config.max_stack_height) - .map_err(|_| Error::StackHeightInstrumentation)?; - - self.module = Some(contract_module); - Ok(()) - } - - /// Find the memory import entry and return it's descriptor. - fn find_mem_import(&self) -> Option<&MemoryType> { - let import_section = self - .module - .as_ref() - .expect("On entry to the function `module` can't be `None`; qed") - .import_section()?; - for import in import_section.entries() { - if let ("env", "memory", &External::Memory(ref memory_type)) = - (import.module(), import.field(), import.external()) - { - return Some(memory_type); - } - } - None - } - - fn check_signatures(&self) -> Result<(), Error> { - // TODO: Merge it with `find_mem_import`? - let module = self - .module - .as_ref() - .expect("On entry to the function `module` can't be `None`; qed"); - - let types = module.type_section().map(|ts| ts.types()).unwrap_or(&[]); - let import_entries = module.import_section().map(|is| is.entries()).unwrap_or(&[]); - - for import in import_entries { - if let ("env", "memory", &External::Function(ref type_index)) = - (import.module(), import.field(), import.external()) - { - let Type::Function(ref func_ty) = types - .get(*type_index as usize) - .ok_or_else(|| Error::Deserialization)?; - - - } - } - Ok(()) - } - - fn into_wasm_code(mut self) -> Result, Error> { - elements::serialize( - self.module - .take() - .expect("On entry to the function `module` can't be `None`; qed"), - ).map_err(|_| Error::Serialization) - } -} - -struct PreparedContract { - instrumented_code: Vec, - memory: sandbox::Memory, -} - -fn prepare_contract(original_code: &[u8], config: &Config) -> Result { - let mut contract_module = ContractModule::new(original_code, config)?; - contract_module.ensure_no_internal_memory()?; - contract_module.inject_gas_metering()?; - contract_module.inject_stack_height_metering()?; - - // Inspect the module to extract the initial and maximum page count. - let memory = if let Some(memory_type) = contract_module.find_mem_import() { - let limits = memory_type.limits(); - match (limits.initial(), limits.maximum()) { - (initial, Some(maximum)) if initial > maximum => { - // Requested initial number of pages should not exceed the requested maximum. - return Err(Error::Memory); - } - (_, Some(maximum)) if maximum > config.max_memory_pages => { - // Maximum number of pages should not exceed the configured maximum. - return Err(Error::Memory); - } - (_, None) => { - // Maximum number of pages should be always declared. - // This isn't a hard requirement and can be treated as a maxiumum set - // to configured maximum. - return Err(Error::Memory); - } - (initial, maximum) => sandbox::Memory::new(initial, maximum), - } - } else { - // If none memory imported then just crate an empty placeholder. - // Any access to it will lead to out of bounds trap. - sandbox::Memory::new(0, Some(0)) - }; - let memory = memory.map_err(|_| Error::Memory)?; - - Ok(PreparedContract { - instrumented_code: contract_module.into_wasm_code()?, - memory, - }) -} - #[cfg(test)] mod tests { use super::*; @@ -763,7 +553,8 @@ mod tests { fn parse_and_prepare_wat(wat: &str) -> Result { let wasm = wabt::Wat2Wasm::new().validate(false).convert(wat).unwrap(); let config = Config::::default(); - prepare_contract(wasm.as_ref(), &config) + let sigs = BTreeMap::default(); + prepare_contract::(wasm.as_ref(), &config, &sigs) } #[test] diff --git a/substrate/runtime/contract/src/vm/prepare.rs b/substrate/runtime/contract/src/vm/prepare.rs new file mode 100644 index 0000000000000..fbae8514e4269 --- /dev/null +++ b/substrate/runtime/contract/src/vm/prepare.rs @@ -0,0 +1,206 @@ +// Copyright 2018 Parity Technologies (UK) Ltd. +// This file is part of Substrate. + +// Substrate is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Substrate is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Substrate. If not, see . + +use super::{Config, Error, Ext, ExtFunc}; +use parity_wasm::elements::{self, External, FunctionType, MemoryType, Type}; +use pwasm_utils; +use pwasm_utils::rules; +use rstd::collections::btree_map::BTreeMap; +use runtime_primitives::traits::As; +use sandbox; +use Trait; + +struct ContractModule<'a, T: Trait + 'a> { + // An `Option` is used here for loaning (`take()`-ing) the module. + // Invariant: Can't be `None` (i.e. on enter and on exit from the function + // the value *must* be `Some`). + module: Option, + config: &'a Config, +} + +impl<'a, T: Trait> ContractModule<'a, T> { + fn new(original_code: &[u8], config: &'a Config) -> Result, Error> { + let module = + elements::deserialize_buffer(original_code).map_err(|_| Error::Deserialization)?; + Ok(ContractModule { + module: Some(module), + config, + }) + } + + /// Ensures that module doesn't declare internal memories. + /// + /// In this runtime we only allow wasm module to import memory from the environment. + /// Memory section contains declarations of internal linear memories, so if we find one + /// we reject such a module. + fn ensure_no_internal_memory(&self) -> Result<(), Error> { + let module = self + .module + .as_ref() + .expect("On entry to the function `module` can't be None; qed"); + if module + .memory_section() + .map_or(false, |ms| ms.entries().len() > 0) + { + return Err(Error::InternalMemoryDeclared); + } + Ok(()) + } + + fn inject_gas_metering(&mut self) -> Result<(), Error> { + let gas_rules = rules::Set::new(self.config.regular_op_cost.as_(), Default::default()) + .with_grow_cost(self.config.grow_mem_cost.as_()) + .with_forbidden_floats(); + + let module = self + .module + .take() + .expect("On entry to the function `module` can't be `None`; qed"); + + let contract_module = pwasm_utils::inject_gas_counter(module, &gas_rules) + .map_err(|_| Error::GasInstrumentation)?; + + self.module = Some(contract_module); + Ok(()) + } + + fn inject_stack_height_metering(&mut self) -> Result<(), Error> { + let module = self + .module + .take() + .expect("On entry to the function `module` can't be `None`; qed"); + + let contract_module = + pwasm_utils::stack_height::inject_limiter(module, self.config.max_stack_height) + .map_err(|_| Error::StackHeightInstrumentation)?; + + self.module = Some(contract_module); + Ok(()) + } + + /// Find the memory import entry and return it's descriptor. + fn find_mem_import(&self) -> Option<&MemoryType> { + let import_section = self + .module + .as_ref() + .expect("On entry to the function `module` can't be `None`; qed") + .import_section()?; + for import in import_section.entries() { + if let ("env", "memory", &External::Memory(ref memory_type)) = + (import.module(), import.field(), import.external()) + { + return Some(memory_type); + } + } + None + } + + fn check_signatures(&self, sigs: &BTreeMap>) -> Result<(), Error> { + // TODO: Merge it with `find_mem_import`? + let module = self + .module + .as_ref() + .expect("On entry to the function `module` can't be `None`; qed"); + + let types = module.type_section().map(|ts| ts.types()).unwrap_or(&[]); + let import_entries = module + .import_section() + .map(|is| is.entries()) + .unwrap_or(&[]); + + for import in import_entries { + let type_idx = match import.external() { + &External::Function(ref type_idx) => type_idx, + _ => continue, + }; + + let Type::Function(ref func_ty) = types + .get(*type_idx as usize) + .ok_or_else(|| Error::Deserialization)?; + + if import.module() != "env" { + // This import tries to import something from non-"env" module, + // but all imports are located in "env" at the moment. + return Err(Error::Deserialization); + } + + let ext_func = sigs + .get(import.field()) + .ok_or_else(|| Error::Deserialization)?; + if !ext_func.types_match(func_ty) { + return Err(Error::Instantiate); + } + } + Ok(()) + } + + fn into_wasm_code(mut self) -> Result, Error> { + elements::serialize( + self.module + .take() + .expect("On entry to the function `module` can't be `None`; qed"), + ).map_err(|_| Error::Serialization) + } +} + +pub(super) struct PreparedContract { + pub instrumented_code: Vec, + pub memory: sandbox::Memory, +} + +pub(super) fn prepare_contract( + original_code: &[u8], + config: &Config, + sigs: &BTreeMap>, +) -> Result { + let mut contract_module = ContractModule::new(original_code, config)?; + contract_module.ensure_no_internal_memory()?; + contract_module.inject_gas_metering()?; + contract_module.inject_stack_height_metering()?; + contract_module.check_signatures(sigs)?; + + // Inspect the module to extract the initial and maximum page count. + let memory = if let Some(memory_type) = contract_module.find_mem_import() { + let limits = memory_type.limits(); + match (limits.initial(), limits.maximum()) { + (initial, Some(maximum)) if initial > maximum => { + // Requested initial number of pages should not exceed the requested maximum. + return Err(Error::Memory); + } + (_, Some(maximum)) if maximum > config.max_memory_pages => { + // Maximum number of pages should not exceed the configured maximum. + return Err(Error::Memory); + } + (_, None) => { + // Maximum number of pages should be always declared. + // This isn't a hard requirement and can be treated as a maxiumum set + // to configured maximum. + return Err(Error::Memory); + } + (initial, maximum) => sandbox::Memory::new(initial, maximum), + } + } else { + // If none memory imported then just crate an empty placeholder. + // Any access to it will lead to out of bounds trap. + sandbox::Memory::new(0, Some(0)) + }; + let memory = memory.map_err(|_| Error::Memory)?; + + Ok(PreparedContract { + instrumented_code: contract_module.into_wasm_code()?, + memory, + }) +} From def291f87e70aa16fa2666f97f1120e36211ab25 Mon Sep 17 00:00:00 2001 From: Sergey Pepyakin Date: Mon, 30 Jul 2018 10:59:30 +0300 Subject: [PATCH 05/21] Move tests as well. --- substrate/runtime/contract/src/vm/mod.rs | 52 +---------------- substrate/runtime/contract/src/vm/prepare.rs | 60 +++++++++++++++++++- 2 files changed, 60 insertions(+), 52 deletions(-) diff --git a/substrate/runtime/contract/src/vm/mod.rs b/substrate/runtime/contract/src/vm/mod.rs index f9db6acc67f0d..fb90e0e66739a 100644 --- a/substrate/runtime/contract/src/vm/mod.rs +++ b/substrate/runtime/contract/src/vm/mod.rs @@ -477,7 +477,6 @@ impl Default for Config { mod tests { use super::*; use std::collections::HashMap; - use std::fmt; use wabt; use gas::GasMeter; use ::tests::Test; @@ -494,7 +493,7 @@ mod tests { value: u64, } #[derive(Default)] - struct MockExt { + pub struct MockExt { storage: HashMap, Vec>, creates: Vec, transfers: Vec, @@ -544,55 +543,6 @@ mod tests { } } - impl fmt::Debug for PreparedContract { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - write!(f, "PreparedContract {{ .. }}") - } - } - - fn parse_and_prepare_wat(wat: &str) -> Result { - let wasm = wabt::Wat2Wasm::new().validate(false).convert(wat).unwrap(); - let config = Config::::default(); - let sigs = BTreeMap::default(); - prepare_contract::(wasm.as_ref(), &config, &sigs) - } - - #[test] - fn internal_memory_declaration() { - let r = parse_and_prepare_wat(r#"(module (memory 1 1))"#); - assert_matches!(r, Err(Error::InternalMemoryDeclared)); - } - - #[test] - fn memory() { - // This test assumes that maximum page number is configured to a certain number. - assert_eq!(Config::::default().max_memory_pages, 16); - - let r = parse_and_prepare_wat(r#"(module (import "env" "memory" (memory 1 1)))"#); - assert_matches!(r, Ok(_)); - - // No memory import - let r = parse_and_prepare_wat(r#"(module)"#); - assert_matches!(r, Ok(_)); - - // incorrect import name. That's kinda ok, since this will fail - // at later stage when imports will be resolved. - let r = parse_and_prepare_wat(r#"(module (import "vne" "memory" (memory 1 1)))"#); - assert_matches!(r, Ok(_)); - - // initial exceed maximum - let r = parse_and_prepare_wat(r#"(module (import "env" "memory" (memory 16 1)))"#); - assert_matches!(r, Err(Error::Memory)); - - // no maximum - let r = parse_and_prepare_wat(r#"(module (import "env" "memory" (memory 1)))"#); - assert_matches!(r, Err(Error::Memory)); - - // requested maximum exceed configured maximum - let r = parse_and_prepare_wat(r#"(module (import "env" "memory" (memory 1 17)))"#); - assert_matches!(r, Err(Error::Memory)); - } - const CODE_TRANSFER: &str = r#" (module ;; ext_transfer(transfer_to: u32, transfer_to_len: u32, value_ptr: u32, value_len: u32) diff --git a/substrate/runtime/contract/src/vm/prepare.rs b/substrate/runtime/contract/src/vm/prepare.rs index fbae8514e4269..7c1ccb7d257b1 100644 --- a/substrate/runtime/contract/src/vm/prepare.rs +++ b/substrate/runtime/contract/src/vm/prepare.rs @@ -15,7 +15,7 @@ // along with Substrate. If not, see . use super::{Config, Error, Ext, ExtFunc}; -use parity_wasm::elements::{self, External, FunctionType, MemoryType, Type}; +use parity_wasm::elements::{self, External, MemoryType, Type}; use pwasm_utils; use pwasm_utils::rules; use rstd::collections::btree_map::BTreeMap; @@ -204,3 +204,61 @@ pub(super) fn prepare_contract( memory, }) } + +#[cfg(test)] +mod tests { + use std::fmt; + use wabt; + use ::tests::Test; + use super::*; + use vm::tests::MockExt; + + impl fmt::Debug for PreparedContract { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + write!(f, "PreparedContract {{ .. }}") + } + } + + fn parse_and_prepare_wat(wat: &str) -> Result { + let wasm = wabt::Wat2Wasm::new().validate(false).convert(wat).unwrap(); + let config = Config::::default(); + let sigs = BTreeMap::default(); + prepare_contract::(wasm.as_ref(), &config, &sigs) + } + + #[test] + fn internal_memory_declaration() { + let r = parse_and_prepare_wat(r#"(module (memory 1 1))"#); + assert_matches!(r, Err(Error::InternalMemoryDeclared)); + } + + #[test] + fn memory() { + // This test assumes that maximum page number is configured to a certain number. + assert_eq!(Config::::default().max_memory_pages, 16); + + let r = parse_and_prepare_wat(r#"(module (import "env" "memory" (memory 1 1)))"#); + assert_matches!(r, Ok(_)); + + // No memory import + let r = parse_and_prepare_wat(r#"(module)"#); + assert_matches!(r, Ok(_)); + + // incorrect import name. That's kinda ok, since this will fail + // at later stage when imports will be resolved. + let r = parse_and_prepare_wat(r#"(module (import "vne" "memory" (memory 1 1)))"#); + assert_matches!(r, Ok(_)); + + // initial exceed maximum + let r = parse_and_prepare_wat(r#"(module (import "env" "memory" (memory 16 1)))"#); + assert_matches!(r, Err(Error::Memory)); + + // no maximum + let r = parse_and_prepare_wat(r#"(module (import "env" "memory" (memory 1)))"#); + assert_matches!(r, Err(Error::Memory)); + + // requested maximum exceed configured maximum + let r = parse_and_prepare_wat(r#"(module (import "env" "memory" (memory 1 17)))"#); + assert_matches!(r, Err(Error::Memory)); + } +} From ffcf8d7b8204a2f475a25fe0a5cb3abc3b24df79 Mon Sep 17 00:00:00 2001 From: Sergey Pepyakin Date: Mon, 30 Jul 2018 11:02:20 +0300 Subject: [PATCH 06/21] Fix doc comment. --- substrate/runtime/contract/src/vm/mod.rs | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/substrate/runtime/contract/src/vm/mod.rs b/substrate/runtime/contract/src/vm/mod.rs index fb90e0e66739a..f6934c77e868b 100644 --- a/substrate/runtime/contract/src/vm/mod.rs +++ b/substrate/runtime/contract/src/vm/mod.rs @@ -14,11 +14,8 @@ // You should have received a copy of the GNU General Public License // along with Substrate. If not, see . -//! Crate for executing smart-contracts. -//! -//! It provides an means for executing contracts represented in WebAssembly (Wasm for short). -//! Contracts are able to create other contracts, transfer funds -//! to each other and operate on a simple key-value storage. +//! This module provides a means for executing contracts +//! represented in wasm. use codec::Decode; use parity_wasm::elements::{FunctionType}; From b0e02cc1abcf368b896d27125bebe141c7ec6357 Mon Sep 17 00:00:00 2001 From: Sergey Pepyakin Date: Mon, 30 Jul 2018 22:50:56 +0300 Subject: [PATCH 07/21] macro for env defintion --- .../runtime/contract/src/vm/env_def/macros.rs | 256 ++++++++++++++++++ .../runtime/contract/src/vm/env_def/mod.rs | 234 ++++++++++++++++ substrate/runtime/contract/src/vm/mod.rs | 225 +-------------- substrate/runtime/contract/src/vm/prepare.rs | 18 +- 4 files changed, 514 insertions(+), 219 deletions(-) create mode 100644 substrate/runtime/contract/src/vm/env_def/macros.rs create mode 100644 substrate/runtime/contract/src/vm/env_def/mod.rs diff --git a/substrate/runtime/contract/src/vm/env_def/macros.rs b/substrate/runtime/contract/src/vm/env_def/macros.rs new file mode 100644 index 0000000000000..e4fab3382b5c1 --- /dev/null +++ b/substrate/runtime/contract/src/vm/env_def/macros.rs @@ -0,0 +1,256 @@ +// Copyright 2018 Parity Technologies (UK) Ltd. +// This file is part of Substrate. + +// Substrate is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Substrate is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Substrate. If not, see . + +// TODO: Deglob +use super::super::*; +use super::{ConvertibleToWasm, Environment}; +use parity_wasm::elements::FunctionType; +use parity_wasm::elements::ValueType; +use rstd::collections::btree_map::BTreeMap; +use runtime_primitives::traits::Zero; +use sandbox::ReturnValue; +use sandbox::TypedValue; + +#[macro_export] +macro_rules! convert_args { + () => ([]); + ( $( $t:ty ),* ) => ( vec![ $( { use $crate::vm::env_def::ConvertibleToWasm; <$t>::VALUE_TYPE }, )* ] ); +} + +#[macro_export] +macro_rules! gen_signature { + ( ( $( $params: ty ),* ) ) => ( + { + FunctionType::new(convert_args!($($params),*), None) + } + ); + + ( ( $( $params: ty ),* ) -> $returns: ty ) => ( + { + FunctionType::new(convert_args!($($params),*), Some({ + use $crate::vm::env_def::ConvertibleToWasm; <$returns>::VALUE_TYPE + })) + } + ); +} + +#[test] +fn macro_gen_signature() { + assert_eq!( + gen_signature!((i32)), + FunctionType::new(vec![ValueType::I32], None), + ); + + assert_eq!( + gen_signature!( (i32, u32) -> u32 ), + FunctionType::new(vec![ValueType::I32, ValueType::I32], Some(ValueType::I32)), + ); +} + +/// Unmarshall arguments and then execute `body` expression and return its result. +macro_rules! unmarshall_then_body { + ( $body:tt, $ctx:ident, $args_iter:ident, $( $names:ident : $params:ty ),* ) => ({ + $( + let $names : <$params as $crate::vm::env_def::ConvertibleToWasm>::NativeType = + $args_iter.next() + .and_then(|v| <$params as $crate::vm::env_def::ConvertibleToWasm>::from_typed_value(v.clone())) + .expect("TODO"); // TODO + )* + $body + }) +} + +#[test] +fn macro_unmarshall_then_body() { + let args = vec![TypedValue::I32(5), TypedValue::I32(3)]; + let mut args = args.iter(); + + let ctx: &mut u32 = &mut 0; + + let r = unmarshall_then_body!( + { + *ctx = a + b; + a * b + }, + ctx, + args, + a: u32, + b: u32 + ); + + assert_eq!(*ctx, 8); + assert_eq!(r, 15); +} + +/// Since we can't specify the type of closure directly at binding site: +/// +/// ```rust,ignore +/// let f: FnOnce() -> Result<::NativeType, _> = || { /* ... */ }; +/// ``` +/// +/// we use this function to constrain the type of the closure. +#[inline(always)] +pub fn constrain_closure(f: F) -> F +where + F: FnOnce() -> Result, +{ + f +} + +#[macro_export] +macro_rules! unmarshall_then_body_then_marshall { + ( $args_iter:ident, $ctx:ident, ( $( $names:ident : $params:ty ),* ) -> $returns:ty => $body:tt ) => ({ + let body = $crate::vm::env_def::macros::constrain_closure::< + <$returns as $crate::vm::env_def::ConvertibleToWasm>::NativeType, _ + >(|| { + unmarshall_then_body!($body, $ctx, $args_iter, $( $names : $params ),*) + }); + let r = body()?; + return Ok(ReturnValue::Value({ use $crate::vm::env_def::ConvertibleToWasm; r.to_typed_value() })) + }); + ( $args_iter:ident, $ctx:ident, ( $( $names:ident : $params:ty ),* ) => $body:tt ) => ({ + let body = $crate::vm::env_def::macros::constrain_closure::<(), _>(|| { + unmarshall_then_body!($body, $ctx, $args_iter, $( $names : $params ),*) + }); + body()?; + return Ok($crate::sandbox::ReturnValue::Unit) + }) +} + +#[test] +fn macro_unmarshall_then_body_then_marshall_value_or_trap() { + fn test_value( + _ctx: &mut u32, + args: &[sandbox::TypedValue], + ) -> Result { + let mut args = args.iter(); + unmarshall_then_body_then_marshall!( + args, + _ctx, + (a: u32, b: u32) -> u32 => { + if b == 0 { + Err(sandbox::HostError) + } else { + Ok(a / b) + } + } + ) + } + + let ctx = &mut 0; + assert_eq!( + test_value(ctx, &[TypedValue::I32(15), TypedValue::I32(3)]).unwrap(), + ReturnValue::Value(TypedValue::I32(5)), + ); + assert!(test_value(ctx, &[TypedValue::I32(15), TypedValue::I32(0)]).is_err()); +} + +#[test] +fn macro_unmarshall_then_body_then_marshall_unit() { + fn test_unit( + ctx: &mut u32, + args: &[sandbox::TypedValue], + ) -> Result { + let mut args = args.iter(); + unmarshall_then_body_then_marshall!( + args, + ctx, + (a: u32, b: u32) => { + *ctx = a + b; + Ok(()) + } + ) + } + + let ctx = &mut 0; + let result = test_unit(ctx, &[TypedValue::I32(2), TypedValue::I32(3)]).unwrap(); + assert_eq!(result, ReturnValue::Unit); + assert_eq!(*ctx, 5); +} + +#[macro_export] +macro_rules! define_func { + ( < E: $ext_ty:tt > $name:ident ( $ctx: ident, $($names:ident : $params:ty),*) $(-> $returns:ty)* => $body:tt ) => { + fn $name< E: $ext_ty >( + $ctx: &mut $crate::vm::Runtime, + args: &[$crate::sandbox::TypedValue], + ) -> Result { + #[allow(unused)] + let mut args = args.iter(); + + unmarshall_then_body_then_marshall!( + args, + $ctx, + ( $( $names : $params ),* ) $( -> $returns )* => $body + ) + } + }; +} + +#[test] +fn macro_define_func() { + define_func!( ext_gas (_ctx, amount: u32) => { + let amount = <<::T as Trait>::Gas as As>::sa(amount); + if !amount.is_zero() { + Ok(()) + } else { + Err(sandbox::HostError) + } + }); + let _f: fn(&mut Runtime<::vm::tests::MockExt>, &[sandbox::TypedValue]) + -> Result = ext_gas::<::vm::tests::MockExt>; +} + +macro_rules! define_env { + ( < E: $ext_ty:tt > , $( $name:ident ( $ctx:ident, $( $names:ident : $params:ty ),* ) $( -> $returns:ty )* => $body:tt , )* ) => { + pub fn init_env() -> Environment { + let mut env = Environment { + funcs: BTreeMap::new(), + }; + + $( + env.funcs.insert( + stringify!( $name ).to_string(), + ExtFunc { + func_type: gen_signature!( ( $( $params ),* ) $( -> $returns )* ), + f: { + define_func!( + < E: $ext_ty > $name ( $ctx, $( $names : $params ),* ) $( -> $returns )* => $body + ); + $name:: + }, + }, + ); + )* + + env + } + }; +} + +#[test] +fn macro_define_env() { + define_env!(, + ext_gas( ctx, amount: u32 ) => { + let amount = <<::T as Trait>::Gas as As>::sa(amount); + if !amount.is_zero() { + Ok(()) + } else { + Err(sandbox::HostError) + } + }, + ); +} diff --git a/substrate/runtime/contract/src/vm/env_def/mod.rs b/substrate/runtime/contract/src/vm/env_def/mod.rs new file mode 100644 index 0000000000000..de74caba558d0 --- /dev/null +++ b/substrate/runtime/contract/src/vm/env_def/mod.rs @@ -0,0 +1,234 @@ +// Copyright 2018 Parity Technologies (UK) Ltd. +// This file is part of Substrate. + +// Substrate is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Substrate is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Substrate. If not, see . + +use super::{CallReceipt, CreateReceipt, Ext, GasMeterResult, Runtime}; +use codec::Decode; +use parity_wasm::elements::{FunctionType, ValueType}; +use rstd::collections::btree_map::BTreeMap; +use runtime_primitives::traits::{As, Zero}; +use sandbox::{self, TypedValue}; +use staking; +use system; +use Trait; + +#[macro_use] +mod macros; + +type BalanceOf = ::Balance; +type AccountIdOf = ::AccountId; + +pub trait ConvertibleToWasm: Sized { + const VALUE_TYPE: ValueType; + type NativeType; + fn to_typed_value(self) -> TypedValue; + fn from_typed_value(TypedValue) -> Option; +} +impl ConvertibleToWasm for i32 { + type NativeType = i32; + const VALUE_TYPE: ValueType = ValueType::I32; + fn to_typed_value(self) -> TypedValue { + TypedValue::I32(self) + } + fn from_typed_value(v: TypedValue) -> Option { + v.as_i32() + } +} +impl ConvertibleToWasm for u32 { + type NativeType = u32; + const VALUE_TYPE: ValueType = ValueType::I32; + fn to_typed_value(self) -> TypedValue { + TypedValue::I32(self as i32) + } + fn from_typed_value(v: TypedValue) -> Option { + v.as_i32().map(|v| v as u32) + } +} + +pub struct Environment { + /// Functions which defined in the environment. + pub funcs: BTreeMap>, +} + +impl Environment { + pub fn new() -> Self { + Environment { + funcs: BTreeMap::new(), + } + } +} + +pub struct ExtFunc { + pub(crate) f: fn(&mut Runtime, &[sandbox::TypedValue]) + -> Result, + func_type: FunctionType, +} + +impl ExtFunc { + pub fn func_type_matches(&self, func_type: &FunctionType) -> bool { + &self.func_type == func_type + } +} + +define_env!( + , + + // gas(amount: u32) + // + // Account for used gas. Traps if gas used is greater than gas limit. + // + // - amount: How much gas is used. + gas(ctx, amount: u32) => { + let amount = <<::T as Trait>::Gas as As>::sa(amount); + + match ctx.gas_meter.charge(amount) { + GasMeterResult::Proceed => Ok(()), + GasMeterResult::OutOfGas => Err(sandbox::HostError), + } + }, + + // ext_put_storage(location_ptr: u32, value_non_null: u32, value_ptr: u32); + // + // Change the value at the given location in storage or remove it. + // + // - location_ptr: pointer into the linear + // memory where the location of the requested value is placed. + // - value_non_null: if set to 0, then the entry + // at the given location will be removed. + // - value_ptr: pointer into the linear memory + // where the value to set is placed. If `value_non_null` is set to 0, then this parameter is ignored. + ext_set_storage(ctx, location_ptr: u32, value_non_null: u32, value_ptr: u32) => { + let mut location = [0; 32]; + + ctx.memory().get(location_ptr, &mut location)?; + + let value = if value_non_null != 0 { + let mut value = [0; 32]; + ctx.memory().get(value_ptr, &mut value)?; + Some(value.to_vec()) + } else { + None + }; + ctx.ext.set_storage(&location, value); + + Ok(()) + }, + + // ext_get_storage(location_ptr: u32, dest_ptr: u32); + // + // Retrieve the value at the given location from the strorage. + // If there is no entry at the given location then all-zero-value + // will be returned. + // + // - location_ptr: pointer into the linear + // memory where the location of the requested value is placed. + // - dest_ptr: pointer where contents of the specified storage location + // should be placed. + ext_get_storage(ctx, location_ptr: u32, dest_ptr: u32) => { + let mut location = [0; 32]; + ctx.memory().get(location_ptr, &mut location)?; + + if let Some(value) = ctx.ext.get_storage(&location) { + ctx.memory().set(dest_ptr, &value)?; + } else { + ctx.memory().set(dest_ptr, &[0u8; 32])?; + } + + Ok(()) + }, + + // ext_transfer(transfer_to_ptr: u32, transfer_to_len: u32, value_ptr: u32, value_len: u32) + ext_transfer(ctx, transfer_to_ptr: u32, transfer_to_len: u32, value_ptr: u32, value_len: u32) => { + let mut transfer_to = Vec::new(); + transfer_to.resize(transfer_to_len as usize, 0); + ctx.memory().get(transfer_to_ptr, &mut transfer_to)?; + let transfer_to = + <::T as system::Trait>::AccountId::decode(&mut &transfer_to[..]).unwrap(); + + let mut value_buf = Vec::new(); + value_buf.resize(value_len as usize, 0); + ctx.memory().get(value_ptr, &mut value_buf)?; + let value = BalanceOf::<::T>::decode(&mut &value_buf[..]).unwrap(); + + // TODO: Read input data from memory. + let input_data = Vec::new(); + + // TODO: Let user to choose how much gas to allocate for the execution. + let nested_gas_limit = ctx.gas_meter.gas_left(); + let ext = &mut ctx.ext; + let call_outcome = ctx.gas_meter.with_nested(nested_gas_limit, |nested_meter| { + match nested_meter { + Some(nested_meter) => ext.call(&transfer_to, value, nested_meter, &input_data), + // there is not enough gas to allocate for the nested call. + None => Err(()), + } + }); + + match call_outcome { + // TODO: Find a way how to pass return_data back to the this sandbox. + Ok(CallReceipt { .. }) => Ok(()), + // TODO: Return a status code value that can be handled by the caller instead of a trap. + Err(_) => Err(sandbox::HostError), + } + }, + + // ext_create(code_ptr: u32, code_len: u32, value_ptr: u32, value_len: u32) + ext_create(ctx, code_ptr: u32, code_len: u32, value_ptr: u32, value_len: u32) => { + let mut value_buf = Vec::new(); + value_buf.resize(value_len as usize, 0); + ctx.memory().get(value_ptr, &mut value_buf)?; + let value = BalanceOf::<::T>::decode(&mut &value_buf[..]).unwrap(); + + let mut code = Vec::new(); + code.resize(code_len as usize, 0u8); + ctx.memory().get(code_ptr, &mut code)?; + + // TODO: Read input data from the sandbox. + let input_data = Vec::new(); + + // TODO: Let user to choose how much gas to allocate for the execution. + let nested_gas_limit = ctx.gas_meter.gas_left(); + let ext = &mut ctx.ext; + let create_outcome = ctx.gas_meter.with_nested(nested_gas_limit, |nested_meter| { + match nested_meter { + Some(nested_meter) => ext.create(&code, value, nested_meter, &input_data), + // there is not enough gas to allocate for the nested call. + None => Err(()), + } + }); + + match create_outcome { + // TODO: Copy an address of the created contract in the sandbox. + Ok(CreateReceipt { .. }) => Ok(()), + // TODO: Return a status code value that can be handled by the caller instead of a trap. + Err(_) => Err(sandbox::HostError), + } + }, + + // ext_return(data_ptr: u32, data_len: u32) -> ! + ext_return(ctx, data_ptr: u32, data_len: u32) => { + let mut data_buf = Vec::new(); + data_buf.resize(data_len as usize, 0); + ctx.memory().get(data_ptr, &mut data_buf)?; + + ctx.store_return_data(data_buf) + .map_err(|_| sandbox::HostError)?; + + // The trap mechanism is used to immediately terminate the execution. + // This trap should be handled appropriately before returning the result + // to the user of this crate. + Err(sandbox::HostError) + }, +); diff --git a/substrate/runtime/contract/src/vm/mod.rs b/substrate/runtime/contract/src/vm/mod.rs index f6934c77e868b..14d8f03582b7c 100644 --- a/substrate/runtime/contract/src/vm/mod.rs +++ b/substrate/runtime/contract/src/vm/mod.rs @@ -34,7 +34,11 @@ type AccountIdOf = ::AccountId; mod prepare; +#[macro_use] +mod env_def; + use self::prepare::{prepare_contract, PreparedContract}; +use self::env_def::{ExtFunc, Environment}; /// An interface that provides an access to the external environment in which the /// smart-contract is executed. @@ -123,7 +127,7 @@ enum SpecialTrap { Return(Vec), } -struct Runtime<'a, E: Ext + 'a> { +pub(crate) struct Runtime<'a, E: Ext + 'a> { ext: &'a mut E, config: &'a Config, memory: sandbox::Memory, @@ -191,207 +195,6 @@ pub struct ExecutionResult { pub return_data: Vec, } -// ext_gas(amount: u32) -// -// Account for used gas. Traps if gas used is greater than gas limit. -// -// - amount: How much gas is used. -fn ext_gas( - e: &mut Runtime, - args: &[sandbox::TypedValue], -) -> Result { - let amount = args[0].as_i32().unwrap() as u32; - let amount = <<::T as Trait>::Gas as As>::sa(amount); - - match e.gas_meter.charge(amount) { - GasMeterResult::Proceed => Ok(sandbox::ReturnValue::Unit), - GasMeterResult::OutOfGas => Err(sandbox::HostError), - } -} - -// ext_put_storage(location_ptr: u32, value_non_null: u32, value_ptr: u32); -// -// Change the value at the given location in storage or remove it. -// -// - location_ptr: pointer into the linear -// memory where the location of the requested value is placed. -// - value_non_null: if set to 0, then the entry -// at the given location will be removed. -// - value_ptr: pointer into the linear memory -// where the value to set is placed. If `value_non_null` is set to 0, then this parameter is ignored. -fn ext_set_storage( - e: &mut Runtime, - args: &[sandbox::TypedValue], -) -> Result { - let location_ptr = args[0].as_i32().unwrap() as u32; - let value_non_null = args[1].as_i32().unwrap() as u32; - let value_ptr = args[2].as_i32().unwrap() as u32; - - let mut location = [0; 32]; - - e.memory().get(location_ptr, &mut location)?; - - let value = if value_non_null != 0 { - let mut value = [0; 32]; - e.memory().get(value_ptr, &mut value)?; - Some(value.to_vec()) - } else { - None - }; - e.ext.set_storage(&location, value); - - Ok(sandbox::ReturnValue::Unit) -} - -// ext_get_storage(location_ptr: u32, dest_ptr: u32); -// -// Retrieve the value at the given location from the strorage. -// If there is no entry at the given location then all-zero-value -// will be returned. -// -// - location_ptr: pointer into the linear -// memory where the location of the requested value is placed. -// - dest_ptr: pointer where contents of the specified storage location -// should be placed. -fn ext_get_storage( - e: &mut Runtime, - args: &[sandbox::TypedValue], -) -> Result { - let location_ptr = args[0].as_i32().unwrap() as u32; - let dest_ptr = args[1].as_i32().unwrap() as u32; - - let mut location = [0; 32]; - e.memory().get(location_ptr, &mut location)?; - - if let Some(value) = e.ext.get_storage(&location) { - e.memory().set(dest_ptr, &value)?; - } else { - e.memory().set(dest_ptr, &[0u8; 32])?; - } - - Ok(sandbox::ReturnValue::Unit) -} - -// ext_transfer(transfer_to: u32, transfer_to_len: u32, value_ptr: u32, value_len: u32) -fn ext_transfer( - e: &mut Runtime, - args: &[sandbox::TypedValue], -) -> Result { - let transfer_to_ptr = args[0].as_i32().unwrap() as u32; - let transfer_to_len = args[1].as_i32().unwrap() as u32; - let value_ptr = args[2].as_i32().unwrap() as u32; - let value_len = args[3].as_i32().unwrap() as u32; - - let mut transfer_to = Vec::new(); - transfer_to.resize(transfer_to_len as usize, 0); - e.memory().get(transfer_to_ptr, &mut transfer_to)?; - let transfer_to = <::T as system::Trait>::AccountId::decode(&mut &transfer_to[..]).unwrap(); - - let mut value_buf = Vec::new(); - value_buf.resize(value_len as usize, 0); - e.memory().get(value_ptr, &mut value_buf)?; - let value = BalanceOf::<::T>::decode(&mut &value_buf[..]).unwrap(); - - // TODO: Read input data from memory. - let input_data = Vec::new(); - - // TODO: Let user to choose how much gas to allocate for the execution. - let nested_gas_limit = e.gas_meter.gas_left(); - let ext = &mut e.ext; - let call_outcome = e.gas_meter.with_nested(nested_gas_limit, |nested_meter| { - match nested_meter { - Some(nested_meter) => ext.call(&transfer_to, value, nested_meter, &input_data), - // there is not enough gas to allocate for the nested call. - None => Err(()), - } - }); - - match call_outcome { - // TODO: Find a way how to pass return_data back to the this sandbox. - Ok(CallReceipt { .. }) => Ok(sandbox::ReturnValue::Unit), - // TODO: Return a status code value that can be handled by the caller instead of a trap. - Err(_) => Err(sandbox::HostError), - } -} - -// ext_create(code_ptr: u32, code_len: u32, value_ptr: u32, value_len: u32) -fn ext_create( - e: &mut Runtime, - args: &[sandbox::TypedValue], -) -> Result { - let code_ptr = args[0].as_i32().unwrap() as u32; - let code_len = args[1].as_i32().unwrap() as u32; - let value_ptr = args[2].as_i32().unwrap() as u32; - let value_len = args[3].as_i32().unwrap() as u32; - - let mut value_buf = Vec::new(); - value_buf.resize(value_len as usize, 0); - e.memory().get(value_ptr, &mut value_buf)?; - let value = BalanceOf::<::T>::decode(&mut &value_buf[..]).unwrap(); - - let mut code = Vec::new(); - code.resize(code_len as usize, 0u8); - e.memory().get(code_ptr, &mut code)?; - - // TODO: Read input data from the sandbox. - let input_data = Vec::new(); - - // TODO: Let user to choose how much gas to allocate for the execution. - let nested_gas_limit = e.gas_meter.gas_left(); - let ext = &mut e.ext; - let create_outcome = e.gas_meter.with_nested(nested_gas_limit, |nested_meter| { - match nested_meter { - Some(nested_meter) => ext.create(&code, value, nested_meter, &input_data), - // there is not enough gas to allocate for the nested call. - None => Err(()), - } - }); - - match create_outcome { - // TODO: Copy an address of the created contract in the sandbox. - Ok(CreateReceipt { .. }) => Ok(sandbox::ReturnValue::Unit), - // TODO: Return a status code value that can be handled by the caller instead of a trap. - Err(_) => Err(sandbox::HostError), - } -} - -// ext_return(data_ptr: u32, data_len: u32) -> ! -fn ext_return( - e: &mut Runtime, - args: &[sandbox::TypedValue], -) -> Result { - let data_ptr = args[0].as_i32().unwrap() as u32; - let data_len = args[1].as_i32().unwrap() as u32; - - let mut data_buf = Vec::new(); - data_buf.resize(data_len as usize, 0); - e.memory().get(data_ptr, &mut data_buf)?; - - e.store_return_data(data_buf) - .map_err(|_| sandbox::HostError)?; - - // The trap mechanism is used to immediately terminate the execution. - // This trap should be handled appropriately before returning the result - // to the user of this crate. - Err(sandbox::HostError) -} - -struct ExtFunc { - f: fn(&mut Runtime, &[sandbox::TypedValue]) -> Result, - func_type: FunctionType, -} - -impl ExtFunc { - fn types_match(&self, func_type: &FunctionType) -> bool { - panic!() - } -} - -struct Environment { - /// Functions which defined in the environment. - funcs: BTreeMap>, -} - /// Execute the given code as a contract. pub fn execute<'a, E: Ext>( code: &[u8], @@ -401,21 +204,21 @@ pub fn execute<'a, E: Ext>( // TODO: Receive data as an argument let config = Config::default(); - let sigs = BTreeMap::>::default(); + let env = env_def::init_env(); let PreparedContract { instrumented_code, memory, - } = prepare_contract(code, &config, &sigs)?; + } = prepare_contract(code, &config, &env)?; let mut imports = sandbox::EnvironmentDefinitionBuilder::new(); - imports.add_host_func("env", "gas", ext_gas::); - imports.add_host_func("env", "ext_set_storage", ext_set_storage::); - imports.add_host_func("env", "ext_get_storage", ext_get_storage::); - // TODO: Rename it to ext_call. - imports.add_host_func("env", "ext_transfer", ext_transfer::); - imports.add_host_func("env", "ext_create", ext_create::); - imports.add_host_func("env", "ext_return", ext_return::); + for (func_name, ext_func) in &env.funcs { + imports.add_host_func("env", &func_name[..], ext_func.f); + } + + // TODO: Rename ext_transfer to ext_call. + // TODO: ext_balance, ext_address, ext_callvalue, etc. + // TODO: ext_balance, ext_address, ext_callvalue, etc. imports.add_memory("env", "memory", memory.clone()); diff --git a/substrate/runtime/contract/src/vm/prepare.rs b/substrate/runtime/contract/src/vm/prepare.rs index 7c1ccb7d257b1..1b4cc2790b3e4 100644 --- a/substrate/runtime/contract/src/vm/prepare.rs +++ b/substrate/runtime/contract/src/vm/prepare.rs @@ -14,7 +14,8 @@ // You should have received a copy of the GNU General Public License // along with Substrate. If not, see . -use super::{Config, Error, Ext, ExtFunc}; +use super::{Config, Error, Ext}; +use super::env_def::{ExtFunc, Environment}; use parity_wasm::elements::{self, External, MemoryType, Type}; use pwasm_utils; use pwasm_utils::rules; @@ -108,7 +109,7 @@ impl<'a, T: Trait> ContractModule<'a, T> { None } - fn check_signatures(&self, sigs: &BTreeMap>) -> Result<(), Error> { + fn check_signatures(&self, env: &Environment) -> Result<(), Error> { // TODO: Merge it with `find_mem_import`? let module = self .module @@ -137,10 +138,11 @@ impl<'a, T: Trait> ContractModule<'a, T> { return Err(Error::Deserialization); } - let ext_func = sigs + let ext_func = env + .funcs .get(import.field()) .ok_or_else(|| Error::Deserialization)?; - if !ext_func.types_match(func_ty) { + if !ext_func.func_type_matches(func_ty) { return Err(Error::Instantiate); } } @@ -164,13 +166,13 @@ pub(super) struct PreparedContract { pub(super) fn prepare_contract( original_code: &[u8], config: &Config, - sigs: &BTreeMap>, + env: &Environment, ) -> Result { let mut contract_module = ContractModule::new(original_code, config)?; contract_module.ensure_no_internal_memory()?; contract_module.inject_gas_metering()?; contract_module.inject_stack_height_metering()?; - contract_module.check_signatures(sigs)?; + contract_module.check_signatures(env)?; // Inspect the module to extract the initial and maximum page count. let memory = if let Some(memory_type) = contract_module.find_mem_import() { @@ -222,8 +224,8 @@ mod tests { fn parse_and_prepare_wat(wat: &str) -> Result { let wasm = wabt::Wat2Wasm::new().validate(false).convert(wat).unwrap(); let config = Config::::default(); - let sigs = BTreeMap::default(); - prepare_contract::(wasm.as_ref(), &config, &sigs) + let env = Environment::new(); + prepare_contract::(wasm.as_ref(), &config, &env) } #[test] From 38e165bea47039625115864d86ac45baa19033ae Mon Sep 17 00:00:00 2001 From: Sergey Pepyakin Date: Tue, 31 Jul 2018 16:23:49 +0300 Subject: [PATCH 08/21] Fix prepare tests. --- substrate/runtime/contract/src/vm/prepare.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/substrate/runtime/contract/src/vm/prepare.rs b/substrate/runtime/contract/src/vm/prepare.rs index 1b4cc2790b3e4..38bf3baa054a0 100644 --- a/substrate/runtime/contract/src/vm/prepare.rs +++ b/substrate/runtime/contract/src/vm/prepare.rs @@ -224,7 +224,7 @@ mod tests { fn parse_and_prepare_wat(wat: &str) -> Result { let wasm = wabt::Wat2Wasm::new().validate(false).convert(wat).unwrap(); let config = Config::::default(); - let env = Environment::new(); + let env = ::vm::env_def::init_env(); prepare_contract::(wasm.as_ref(), &config, &env) } From c7eb9b9c1011a04883461a94179ed42d1fd014c7 Mon Sep 17 00:00:00 2001 From: Sergey Pepyakin Date: Tue, 31 Jul 2018 17:25:17 +0300 Subject: [PATCH 09/21] Clean up --- .../runtime/contract/src/vm/env_def/macros.rs | 252 +++++++++--------- .../runtime/contract/src/vm/env_def/mod.rs | 8 +- substrate/runtime/contract/src/vm/mod.rs | 4 - substrate/runtime/contract/src/vm/prepare.rs | 6 +- 4 files changed, 137 insertions(+), 133 deletions(-) diff --git a/substrate/runtime/contract/src/vm/env_def/macros.rs b/substrate/runtime/contract/src/vm/env_def/macros.rs index e4fab3382b5c1..8f08f7d4227e1 100644 --- a/substrate/runtime/contract/src/vm/env_def/macros.rs +++ b/substrate/runtime/contract/src/vm/env_def/macros.rs @@ -14,15 +14,8 @@ // You should have received a copy of the GNU General Public License // along with Substrate. If not, see . -// TODO: Deglob -use super::super::*; -use super::{ConvertibleToWasm, Environment}; -use parity_wasm::elements::FunctionType; -use parity_wasm::elements::ValueType; -use rstd::collections::btree_map::BTreeMap; -use runtime_primitives::traits::Zero; -use sandbox::ReturnValue; -use sandbox::TypedValue; +//! Definition of macros that hides boilerplate of defining external environment +//! for a wasm module. #[macro_export] macro_rules! convert_args { @@ -47,54 +40,20 @@ macro_rules! gen_signature { ); } -#[test] -fn macro_gen_signature() { - assert_eq!( - gen_signature!((i32)), - FunctionType::new(vec![ValueType::I32], None), - ); - - assert_eq!( - gen_signature!( (i32, u32) -> u32 ), - FunctionType::new(vec![ValueType::I32, ValueType::I32], Some(ValueType::I32)), - ); -} - /// Unmarshall arguments and then execute `body` expression and return its result. macro_rules! unmarshall_then_body { ( $body:tt, $ctx:ident, $args_iter:ident, $( $names:ident : $params:ty ),* ) => ({ $( let $names : <$params as $crate::vm::env_def::ConvertibleToWasm>::NativeType = $args_iter.next() - .and_then(|v| <$params as $crate::vm::env_def::ConvertibleToWasm>::from_typed_value(v.clone())) + .and_then(|v| <$params as $crate::vm::env_def::ConvertibleToWasm> + ::from_typed_value(v.clone())) .expect("TODO"); // TODO )* $body }) } -#[test] -fn macro_unmarshall_then_body() { - let args = vec![TypedValue::I32(5), TypedValue::I32(3)]; - let mut args = args.iter(); - - let ctx: &mut u32 = &mut 0; - - let r = unmarshall_then_body!( - { - *ctx = a + b; - a * b - }, - ctx, - args, - a: u32, - b: u32 - ); - - assert_eq!(*ctx, 8); - assert_eq!(r, 15); -} - /// Since we can't specify the type of closure directly at binding site: /// /// ```rust,ignore @@ -105,7 +64,7 @@ fn macro_unmarshall_then_body() { #[inline(always)] pub fn constrain_closure(f: F) -> F where - F: FnOnce() -> Result, + F: FnOnce() -> Result, { f } @@ -130,57 +89,6 @@ macro_rules! unmarshall_then_body_then_marshall { }) } -#[test] -fn macro_unmarshall_then_body_then_marshall_value_or_trap() { - fn test_value( - _ctx: &mut u32, - args: &[sandbox::TypedValue], - ) -> Result { - let mut args = args.iter(); - unmarshall_then_body_then_marshall!( - args, - _ctx, - (a: u32, b: u32) -> u32 => { - if b == 0 { - Err(sandbox::HostError) - } else { - Ok(a / b) - } - } - ) - } - - let ctx = &mut 0; - assert_eq!( - test_value(ctx, &[TypedValue::I32(15), TypedValue::I32(3)]).unwrap(), - ReturnValue::Value(TypedValue::I32(5)), - ); - assert!(test_value(ctx, &[TypedValue::I32(15), TypedValue::I32(0)]).is_err()); -} - -#[test] -fn macro_unmarshall_then_body_then_marshall_unit() { - fn test_unit( - ctx: &mut u32, - args: &[sandbox::TypedValue], - ) -> Result { - let mut args = args.iter(); - unmarshall_then_body_then_marshall!( - args, - ctx, - (a: u32, b: u32) => { - *ctx = a + b; - Ok(()) - } - ) - } - - let ctx = &mut 0; - let result = test_unit(ctx, &[TypedValue::I32(2), TypedValue::I32(3)]).unwrap(); - assert_eq!(result, ReturnValue::Unit); - assert_eq!(*ctx, 5); -} - #[macro_export] macro_rules! define_func { ( < E: $ext_ty:tt > $name:ident ( $ctx: ident, $($names:ident : $params:ty),*) $(-> $returns:ty)* => $body:tt ) => { @@ -200,26 +108,13 @@ macro_rules! define_func { }; } -#[test] -fn macro_define_func() { - define_func!( ext_gas (_ctx, amount: u32) => { - let amount = <<::T as Trait>::Gas as As>::sa(amount); - if !amount.is_zero() { - Ok(()) - } else { - Err(sandbox::HostError) - } - }); - let _f: fn(&mut Runtime<::vm::tests::MockExt>, &[sandbox::TypedValue]) - -> Result = ext_gas::<::vm::tests::MockExt>; -} - macro_rules! define_env { - ( < E: $ext_ty:tt > , $( $name:ident ( $ctx:ident, $( $names:ident : $params:ty ),* ) $( -> $returns:ty )* => $body:tt , )* ) => { + ( < E: $ext_ty:tt > , + $( $name:ident ( $ctx:ident, $( $names:ident : $params:ty ),* ) + $( -> $returns:ty )* => $body:tt , )* + ) => { pub fn init_env() -> Environment { - let mut env = Environment { - funcs: BTreeMap::new(), - }; + let mut env = Environment::new(); $( env.funcs.insert( @@ -241,16 +136,131 @@ macro_rules! define_env { }; } -#[test] -fn macro_define_env() { - define_env!(, - ext_gas( ctx, amount: u32 ) => { +#[cfg(test)] +mod tests { + use parity_wasm::elements::FunctionType; + use parity_wasm::elements::ValueType; + use runtime_primitives::traits::{As, Zero}; + use sandbox::{self, ReturnValue, TypedValue}; + use vm::env_def::{Environment, ExtFunc}; + use vm::tests::MockExt; + use vm::{Ext, Runtime}; + use Trait; + + #[test] + fn macro_unmarshall_then_body_then_marshall_value_or_trap() { + fn test_value( + _ctx: &mut u32, + args: &[sandbox::TypedValue], + ) -> Result { + let mut args = args.iter(); + unmarshall_then_body_then_marshall!( + args, + _ctx, + (a: u32, b: u32) -> u32 => { + if b == 0 { + Err(sandbox::HostError) + } else { + Ok(a / b) + } + } + ) + } + + let ctx = &mut 0; + assert_eq!( + test_value(ctx, &[TypedValue::I32(15), TypedValue::I32(3)]).unwrap(), + ReturnValue::Value(TypedValue::I32(5)), + ); + assert!(test_value(ctx, &[TypedValue::I32(15), TypedValue::I32(0)]).is_err()); + } + + #[test] + fn macro_unmarshall_then_body_then_marshall_unit() { + fn test_unit( + ctx: &mut u32, + args: &[sandbox::TypedValue], + ) -> Result { + let mut args = args.iter(); + unmarshall_then_body_then_marshall!( + args, + ctx, + (a: u32, b: u32) => { + *ctx = a + b; + Ok(()) + } + ) + } + + let ctx = &mut 0; + let result = test_unit(ctx, &[TypedValue::I32(2), TypedValue::I32(3)]).unwrap(); + assert_eq!(result, ReturnValue::Unit); + assert_eq!(*ctx, 5); + } + + #[test] + fn macro_define_func() { + define_func!( ext_gas (_ctx, amount: u32) => { let amount = <<::T as Trait>::Gas as As>::sa(amount); if !amount.is_zero() { Ok(()) } else { Err(sandbox::HostError) } - }, - ); + }); + let _f: fn(&mut Runtime, &[sandbox::TypedValue]) + -> Result = ext_gas::; + } + + #[test] + fn macro_gen_signature() { + assert_eq!( + gen_signature!((i32)), + FunctionType::new(vec![ValueType::I32], None), + ); + + assert_eq!( + gen_signature!( (i32, u32) -> u32 ), + FunctionType::new(vec![ValueType::I32, ValueType::I32], Some(ValueType::I32)), + ); + } + + #[test] + fn macro_unmarshall_then_body() { + let args = vec![TypedValue::I32(5), TypedValue::I32(3)]; + let mut args = args.iter(); + + let ctx: &mut u32 = &mut 0; + + let r = unmarshall_then_body!( + { + *ctx = a + b; + a * b + }, + ctx, + args, + a: u32, + b: u32 + ); + + assert_eq!(*ctx, 8); + assert_eq!(r, 15); + } + + #[test] + fn macro_define_env() { + define_env!(, + ext_gas( _ctx, amount: u32 ) => { + let amount = <<::T as Trait>::Gas as As>::sa(amount); + if !amount.is_zero() { + Ok(()) + } else { + Err(sandbox::HostError) + } + }, + ); + + let env = init_env::(); + assert!(env.funcs.get("ext_gas").is_some()); + } } diff --git a/substrate/runtime/contract/src/vm/env_def/mod.rs b/substrate/runtime/contract/src/vm/env_def/mod.rs index de74caba558d0..4f4cf170a21f2 100644 --- a/substrate/runtime/contract/src/vm/env_def/mod.rs +++ b/substrate/runtime/contract/src/vm/env_def/mod.rs @@ -14,22 +14,18 @@ // You should have received a copy of the GNU General Public License // along with Substrate. If not, see . -use super::{CallReceipt, CreateReceipt, Ext, GasMeterResult, Runtime}; +use super::{CallReceipt, CreateReceipt, Ext, GasMeterResult, Runtime, BalanceOf}; use codec::Decode; use parity_wasm::elements::{FunctionType, ValueType}; use rstd::collections::btree_map::BTreeMap; -use runtime_primitives::traits::{As, Zero}; +use runtime_primitives::traits::As; use sandbox::{self, TypedValue}; -use staking; use system; use Trait; #[macro_use] mod macros; -type BalanceOf = ::Balance; -type AccountIdOf = ::AccountId; - pub trait ConvertibleToWasm: Sized { const VALUE_TYPE: ValueType; type NativeType; diff --git a/substrate/runtime/contract/src/vm/mod.rs b/substrate/runtime/contract/src/vm/mod.rs index 14d8f03582b7c..c70adc1ba3ce1 100644 --- a/substrate/runtime/contract/src/vm/mod.rs +++ b/substrate/runtime/contract/src/vm/mod.rs @@ -17,10 +17,7 @@ //! This module provides a means for executing contracts //! represented in wasm. -use codec::Decode; -use parity_wasm::elements::{FunctionType}; use rstd::prelude::*; -use rstd::collections::btree_map::BTreeMap; use sandbox; use gas::{GasMeter, GasMeterResult}; use runtime_primitives::traits::{As, CheckedMul}; @@ -38,7 +35,6 @@ mod prepare; mod env_def; use self::prepare::{prepare_contract, PreparedContract}; -use self::env_def::{ExtFunc, Environment}; /// An interface that provides an access to the external environment in which the /// smart-contract is executed. diff --git a/substrate/runtime/contract/src/vm/prepare.rs b/substrate/runtime/contract/src/vm/prepare.rs index 38bf3baa054a0..baf7c806d80a2 100644 --- a/substrate/runtime/contract/src/vm/prepare.rs +++ b/substrate/runtime/contract/src/vm/prepare.rs @@ -14,12 +14,14 @@ // You should have received a copy of the GNU General Public License // along with Substrate. If not, see . +//! Module that takes care of loading, checking and preprocessing of a +//! wasm module before execution. + use super::{Config, Error, Ext}; -use super::env_def::{ExtFunc, Environment}; +use super::env_def::Environment; use parity_wasm::elements::{self, External, MemoryType, Type}; use pwasm_utils; use pwasm_utils::rules; -use rstd::collections::btree_map::BTreeMap; use runtime_primitives::traits::As; use sandbox; use Trait; From 3265ba33d4d0f3d974f1481a734b2b9e3cc17093 Mon Sep 17 00:00:00 2001 From: Sergey Pepyakin Date: Tue, 31 Jul 2018 18:22:20 +0300 Subject: [PATCH 10/21] Renamings --- .../runtime/contract/src/vm/env_def/macros.rs | 14 ++++---- .../runtime/contract/src/vm/env_def/mod.rs | 35 ++++++++++++++----- 2 files changed, 34 insertions(+), 15 deletions(-) diff --git a/substrate/runtime/contract/src/vm/env_def/macros.rs b/substrate/runtime/contract/src/vm/env_def/macros.rs index 8f08f7d4227e1..cc94fb043fae3 100644 --- a/substrate/runtime/contract/src/vm/env_def/macros.rs +++ b/substrate/runtime/contract/src/vm/env_def/macros.rs @@ -113,21 +113,21 @@ macro_rules! define_env { $( $name:ident ( $ctx:ident, $( $names:ident : $params:ty ),* ) $( -> $returns:ty )* => $body:tt , )* ) => { - pub fn init_env() -> Environment { - let mut env = Environment::new(); + pub(crate) fn init_env() -> HostFunctionSet { + let mut env = HostFunctionSet::new(); $( env.funcs.insert( stringify!( $name ).to_string(), - ExtFunc { - func_type: gen_signature!( ( $( $params ),* ) $( -> $returns )* ), - f: { + HostFunction::new( + gen_signature!( ( $( $params ),* ) $( -> $returns )* ), + { define_func!( < E: $ext_ty > $name ( $ctx, $( $names : $params ),* ) $( -> $returns )* => $body ); $name:: }, - }, + ), ); )* @@ -142,7 +142,7 @@ mod tests { use parity_wasm::elements::ValueType; use runtime_primitives::traits::{As, Zero}; use sandbox::{self, ReturnValue, TypedValue}; - use vm::env_def::{Environment, ExtFunc}; + use vm::env_def::{HostFunctionSet, HostFunction}; use vm::tests::MockExt; use vm::{Ext, Runtime}; use Trait; diff --git a/substrate/runtime/contract/src/vm/env_def/mod.rs b/substrate/runtime/contract/src/vm/env_def/mod.rs index 4f4cf170a21f2..15f620dacdb5a 100644 --- a/substrate/runtime/contract/src/vm/env_def/mod.rs +++ b/substrate/runtime/contract/src/vm/env_def/mod.rs @@ -14,7 +14,7 @@ // You should have received a copy of the GNU General Public License // along with Substrate. If not, see . -use super::{CallReceipt, CreateReceipt, Ext, GasMeterResult, Runtime, BalanceOf}; +use super::{BalanceOf, CallReceipt, CreateReceipt, Ext, GasMeterResult, Runtime}; use codec::Decode; use parity_wasm::elements::{FunctionType, ValueType}; use rstd::collections::btree_map::BTreeMap; @@ -53,31 +53,50 @@ impl ConvertibleToWasm for u32 { } } -pub struct Environment { +/// Represents a set of function that defined in this particular environment and +/// which can be imported and called by the module. +pub(crate) struct HostFunctionSet { /// Functions which defined in the environment. - pub funcs: BTreeMap>, + pub funcs: BTreeMap>, } - -impl Environment { +impl HostFunctionSet { pub fn new() -> Self { - Environment { + HostFunctionSet { funcs: BTreeMap::new(), } } } -pub struct ExtFunc { +pub(crate) struct HostFunction { pub(crate) f: fn(&mut Runtime, &[sandbox::TypedValue]) -> Result, func_type: FunctionType, } +impl HostFunction { + /// Create a new instance of a host function. + pub fn new( + func_type: FunctionType, + f: fn(&mut Runtime, &[sandbox::TypedValue]) + -> Result, + ) -> Self { + HostFunction { func_type, f } + } + + /// Returns a function pointer of this host function. + pub fn raw_fn_ptr( + &self, + ) -> fn(&mut Runtime, &[sandbox::TypedValue]) + -> Result { + self.f + } -impl ExtFunc { + /// Check if the this function could be invoked with the given function signature. pub fn func_type_matches(&self, func_type: &FunctionType) -> bool { &self.func_type == func_type } } +// TODO: init_env() is too implicit. Can I fix it? define_env!( , From f56a0d8a84a06249989444ba7e882e46329330b8 Mon Sep 17 00:00:00 2001 From: Sergey Pepyakin Date: Tue, 31 Jul 2018 18:22:38 +0300 Subject: [PATCH 11/21] Refactor scan_imports --- substrate/runtime/contract/src/vm/mod.rs | 2 +- substrate/runtime/contract/src/vm/prepare.rs | 49 ++++++++++++-------- 2 files changed, 30 insertions(+), 21 deletions(-) diff --git a/substrate/runtime/contract/src/vm/mod.rs b/substrate/runtime/contract/src/vm/mod.rs index c70adc1ba3ce1..e54294f41109e 100644 --- a/substrate/runtime/contract/src/vm/mod.rs +++ b/substrate/runtime/contract/src/vm/mod.rs @@ -209,7 +209,7 @@ pub fn execute<'a, E: Ext>( let mut imports = sandbox::EnvironmentDefinitionBuilder::new(); for (func_name, ext_func) in &env.funcs { - imports.add_host_func("env", &func_name[..], ext_func.f); + imports.add_host_func("env", &func_name[..], ext_func.raw_fn_ptr()); } // TODO: Rename ext_transfer to ext_call. diff --git a/substrate/runtime/contract/src/vm/prepare.rs b/substrate/runtime/contract/src/vm/prepare.rs index baf7c806d80a2..0c5eedb314319 100644 --- a/substrate/runtime/contract/src/vm/prepare.rs +++ b/substrate/runtime/contract/src/vm/prepare.rs @@ -17,8 +17,8 @@ //! Module that takes care of loading, checking and preprocessing of a //! wasm module before execution. +use super::env_def::HostFunctionSet; use super::{Config, Error, Ext}; -use super::env_def::Environment; use parity_wasm::elements::{self, External, MemoryType, Type}; use pwasm_utils; use pwasm_utils::rules; @@ -111,8 +111,14 @@ impl<'a, T: Trait> ContractModule<'a, T> { None } - fn check_signatures(&self, env: &Environment) -> Result<(), Error> { - // TODO: Merge it with `find_mem_import`? + /// Scan an import section if any. + /// + /// This accomplishes two tasks: + /// + /// - checks any imported function against defined host functions set, incl. + /// their signatures. + /// - if there is a memory import, returns it's descriptor + fn scan_imports(&self, env: &HostFunctionSet) -> Result, Error> { let module = self .module .as_ref() @@ -124,9 +130,21 @@ impl<'a, T: Trait> ContractModule<'a, T> { .map(|is| is.entries()) .unwrap_or(&[]); + let mut imported_mem_type = None; + for import in import_entries { + if import.module() != "env" { + // This import tries to import something from non-"env" module, + // but all imports are located in "env" at the moment. + return Err(Error::Deserialization); + } + let type_idx = match import.external() { &External::Function(ref type_idx) => type_idx, + &External::Memory(ref memory_type) => { + imported_mem_type = Some(memory_type); + continue; + } _ => continue, }; @@ -134,12 +152,6 @@ impl<'a, T: Trait> ContractModule<'a, T> { .get(*type_idx as usize) .ok_or_else(|| Error::Deserialization)?; - if import.module() != "env" { - // This import tries to import something from non-"env" module, - // but all imports are located in "env" at the moment. - return Err(Error::Deserialization); - } - let ext_func = env .funcs .get(import.field()) @@ -148,7 +160,7 @@ impl<'a, T: Trait> ContractModule<'a, T> { return Err(Error::Instantiate); } } - Ok(()) + Ok(imported_mem_type) } fn into_wasm_code(mut self) -> Result, Error> { @@ -168,16 +180,15 @@ pub(super) struct PreparedContract { pub(super) fn prepare_contract( original_code: &[u8], config: &Config, - env: &Environment, + env: &HostFunctionSet, ) -> Result { let mut contract_module = ContractModule::new(original_code, config)?; contract_module.ensure_no_internal_memory()?; contract_module.inject_gas_metering()?; contract_module.inject_stack_height_metering()?; - contract_module.check_signatures(env)?; - // Inspect the module to extract the initial and maximum page count. - let memory = if let Some(memory_type) = contract_module.find_mem_import() { + let memory = if let Some(memory_type) = contract_module.scan_imports(env)? { + // Inspect the module to extract the initial and maximum page count. let limits = memory_type.limits(); match (limits.initial(), limits.maximum()) { (initial, Some(maximum)) if initial > maximum => { @@ -211,11 +222,11 @@ pub(super) fn prepare_contract( #[cfg(test)] mod tests { - use std::fmt; - use wabt; - use ::tests::Test; use super::*; + use std::fmt; + use tests::Test; use vm::tests::MockExt; + use wabt; impl fmt::Debug for PreparedContract { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { @@ -248,10 +259,8 @@ mod tests { let r = parse_and_prepare_wat(r#"(module)"#); assert_matches!(r, Ok(_)); - // incorrect import name. That's kinda ok, since this will fail - // at later stage when imports will be resolved. let r = parse_and_prepare_wat(r#"(module (import "vne" "memory" (memory 1 1)))"#); - assert_matches!(r, Ok(_)); + assert_matches!(r, Err(Error::Deserialization)); // initial exceed maximum let r = parse_and_prepare_wat(r#"(module (import "env" "memory" (memory 16 1)))"#); From 85d29467e5f22662b52916a72ed9deac9ec511a8 Mon Sep 17 00:00:00 2001 From: Sergey Pepyakin Date: Wed, 1 Aug 2018 16:07:59 +0300 Subject: [PATCH 12/21] Improve docs --- .../runtime/contract/src/vm/env_def/macros.rs | 27 ++++++++++++++++--- .../runtime/contract/src/vm/env_def/mod.rs | 9 ++++--- substrate/runtime/contract/src/vm/mod.rs | 5 ---- substrate/runtime/contract/src/vm/prepare.rs | 27 +++++++------------ 4 files changed, 39 insertions(+), 29 deletions(-) diff --git a/substrate/runtime/contract/src/vm/env_def/macros.rs b/substrate/runtime/contract/src/vm/env_def/macros.rs index cc94fb043fae3..b6bb2fbfd2ec8 100644 --- a/substrate/runtime/contract/src/vm/env_def/macros.rs +++ b/substrate/runtime/contract/src/vm/env_def/macros.rs @@ -16,6 +16,8 @@ //! Definition of macros that hides boilerplate of defining external environment //! for a wasm module. +//! +//! Typically you should use `define_env` macro. #[macro_export] macro_rules! convert_args { @@ -48,7 +50,17 @@ macro_rules! unmarshall_then_body { $args_iter.next() .and_then(|v| <$params as $crate::vm::env_def::ConvertibleToWasm> ::from_typed_value(v.clone())) - .expect("TODO"); // TODO + .expect( + "precondition: all imports should be checked against the signatures of corresponding + functions defined by `define_env!` macro by the user of the macro; + signatures of these functions defined by `$params`; + calls always made with arguments types of which are defined by the corresponding imports; + thus types of arguments should be equal to type list in `$params` and + length of argument list and $params should be equal; + thus this can never be `None`; + qed; + " + ); )* $body }) @@ -108,12 +120,19 @@ macro_rules! define_func { }; } +/// Define a function set that can be imported by executing wasm code. +/// +/// **NB**: Be advised that all functions defined by this macro +/// will panic if called with unexpected arguments. +/// +/// It's up to the user of this macro to check signatures of wasm code to be executed +/// and reject the code if any imported function has a mismached signature. macro_rules! define_env { - ( < E: $ext_ty:tt > , + ( $init_name:ident , < E: $ext_ty:tt > , $( $name:ident ( $ctx:ident, $( $names:ident : $params:ty ),* ) $( -> $returns:ty )* => $body:tt , )* ) => { - pub(crate) fn init_env() -> HostFunctionSet { + pub(crate) fn $init_name() -> HostFunctionSet { let mut env = HostFunctionSet::new(); $( @@ -249,7 +268,7 @@ mod tests { #[test] fn macro_define_env() { - define_env!(, + define_env!(init_env, , ext_gas( _ctx, amount: u32 ) => { let amount = <<::T as Trait>::Gas as As>::sa(amount); if !amount.is_zero() { diff --git a/substrate/runtime/contract/src/vm/env_def/mod.rs b/substrate/runtime/contract/src/vm/env_def/mod.rs index 15f620dacdb5a..1222c23290428 100644 --- a/substrate/runtime/contract/src/vm/env_def/mod.rs +++ b/substrate/runtime/contract/src/vm/env_def/mod.rs @@ -96,9 +96,11 @@ impl HostFunction { } } -// TODO: init_env() is too implicit. Can I fix it? -define_env!( - , +// TODO: ext_balance, ext_address, ext_callvalue, etc. + +// Define a function `fn init_env() -> HostFunctionSet` that returns +// a function set which can be imported by an executed contract. +define_env!(init_env, , // gas(amount: u32) // @@ -164,6 +166,7 @@ define_env!( Ok(()) }, + // TODO: Rename ext_transfer to ext_call. // ext_transfer(transfer_to_ptr: u32, transfer_to_len: u32, value_ptr: u32, value_len: u32) ext_transfer(ctx, transfer_to_ptr: u32, transfer_to_len: u32, value_ptr: u32, value_len: u32) => { let mut transfer_to = Vec::new(); diff --git a/substrate/runtime/contract/src/vm/mod.rs b/substrate/runtime/contract/src/vm/mod.rs index e54294f41109e..75ca6c04cdb30 100644 --- a/substrate/runtime/contract/src/vm/mod.rs +++ b/substrate/runtime/contract/src/vm/mod.rs @@ -211,11 +211,6 @@ pub fn execute<'a, E: Ext>( for (func_name, ext_func) in &env.funcs { imports.add_host_func("env", &func_name[..], ext_func.raw_fn_ptr()); } - - // TODO: Rename ext_transfer to ext_call. - // TODO: ext_balance, ext_address, ext_callvalue, etc. - - // TODO: ext_balance, ext_address, ext_callvalue, etc. imports.add_memory("env", "memory", memory.clone()); let mut runtime = Runtime { diff --git a/substrate/runtime/contract/src/vm/prepare.rs b/substrate/runtime/contract/src/vm/prepare.rs index 0c5eedb314319..3ce34d5eb93a8 100644 --- a/substrate/runtime/contract/src/vm/prepare.rs +++ b/substrate/runtime/contract/src/vm/prepare.rs @@ -94,23 +94,6 @@ impl<'a, T: Trait> ContractModule<'a, T> { Ok(()) } - /// Find the memory import entry and return it's descriptor. - fn find_mem_import(&self) -> Option<&MemoryType> { - let import_section = self - .module - .as_ref() - .expect("On entry to the function `module` can't be `None`; qed") - .import_section()?; - for import in import_section.entries() { - if let ("env", "memory", &External::Memory(ref memory_type)) = - (import.module(), import.field(), import.external()) - { - return Some(memory_type); - } - } - None - } - /// Scan an import section if any. /// /// This accomplishes two tasks: @@ -177,6 +160,16 @@ pub(super) struct PreparedContract { pub memory: sandbox::Memory, } +/// Loads the given module given in `original_code`, performs some checks on it and +/// does some preprocessing. +/// +/// The checks are: +/// +/// - module doesn't define an internal memory instance, +/// - imported memory (if any) doesn't reserve more memory than permitted by the `config`, +/// - all imported functions from the external environment matches defined by `env` module, +/// +/// The preprocessing includes injecting code for gas metering and metering the height of stack. pub(super) fn prepare_contract( original_code: &[u8], config: &Config, From 0214dc3f72e0c66c61dfe68f726f5099fd1a49ab Mon Sep 17 00:00:00 2001 From: Sergey Pepyakin Date: Wed, 1 Aug 2018 16:16:08 +0300 Subject: [PATCH 13/21] Docs. --- substrate/runtime-sandbox/src/lib.rs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/substrate/runtime-sandbox/src/lib.rs b/substrate/runtime-sandbox/src/lib.rs index f9195c10efe46..bd510c9a17f77 100755 --- a/substrate/runtime-sandbox/src/lib.rs +++ b/substrate/runtime-sandbox/src/lib.rs @@ -29,8 +29,11 @@ //! When this crate is used in `std` environment all these functions are implemented by directly //! calling wasm VM. //! -//! Typical use-case for this library might be used for implementing smart-contract runtimes -//! which uses wasm for contract code. +//! Example of possible use-cases for this library are following: +//! +//! - implementing smart-contract runtimes which uses wasm for contract code +//! - executing wasm substrate runtime inside of a wasm parachain +//! - etc #![warn(missing_docs)] #![cfg_attr(not(feature = "std"), no_std)] @@ -149,6 +152,11 @@ impl EnvironmentDefinitionBuilder { } /// Register a host function in this environment defintion. + /// + /// NOTE that there is no constraints on type of this function. An instance + /// can import function passed here with any signature it wants. It can even import + /// the same function (i.e. with same `module` and `field`) several times. It's up to + /// the user code to check or constrain the types of signatures. pub fn add_host_func(&mut self, module: N1, field: N2, f: HostFuncType) where N1: Into>, From 591421f9eb55ea6b4af54f7bb85a345861e7be65 Mon Sep 17 00:00:00 2001 From: Sergey Pepyakin Date: Wed, 1 Aug 2018 17:04:56 +0300 Subject: [PATCH 14/21] Add some tests for sandbox module --- Cargo.lock | 1 + substrate/runtime-sandbox/Cargo.toml | 1 + substrate/runtime-sandbox/src/lib.rs | 4 ++ substrate/runtime-sandbox/with_std.rs | 77 ++++++++++++++++++++++++++- 4 files changed, 82 insertions(+), 1 deletion(-) diff --git a/Cargo.lock b/Cargo.lock index c49662d9772d4..a72b5e07946a3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2795,6 +2795,7 @@ dependencies = [ name = "substrate-runtime-sandbox" version = "0.1.0" dependencies = [ + "assert_matches 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "rustc_version 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "substrate-codec 0.1.0", "substrate-primitives 0.1.0", diff --git a/substrate/runtime-sandbox/Cargo.toml b/substrate/runtime-sandbox/Cargo.toml index c9a7dc0ae1b3c..b80cb4443f8ae 100755 --- a/substrate/runtime-sandbox/Cargo.toml +++ b/substrate/runtime-sandbox/Cargo.toml @@ -16,6 +16,7 @@ substrate-codec = { path = "../codec", default_features = false } [dev-dependencies] wabt = "0.4" +assert_matches = "1.1" [features] default = ["std"] diff --git a/substrate/runtime-sandbox/src/lib.rs b/substrate/runtime-sandbox/src/lib.rs index bd510c9a17f77..2556608047085 100755 --- a/substrate/runtime-sandbox/src/lib.rs +++ b/substrate/runtime-sandbox/src/lib.rs @@ -50,6 +50,10 @@ extern crate substrate_primitives as primitives; #[cfg(test)] extern crate wabt; +#[cfg(test)] +#[macro_use] +extern crate assert_matches; + use rstd::prelude::*; pub use primitives::sandbox::{TypedValue, ReturnValue, HostError}; diff --git a/substrate/runtime-sandbox/with_std.rs b/substrate/runtime-sandbox/with_std.rs index 70ebc793e20e5..e4e4aa131ea34 100755 --- a/substrate/runtime-sandbox/with_std.rs +++ b/substrate/runtime-sandbox/with_std.rs @@ -309,7 +309,7 @@ impl Instance { #[cfg(test)] mod tests { use wabt; - use ::{TypedValue, ReturnValue, HostError, EnvironmentDefinitionBuilder, Instance}; + use ::{Error, TypedValue, ReturnValue, HostError, EnvironmentDefinitionBuilder, Instance}; fn execute_sandboxed(code: &[u8], args: &[TypedValue]) -> Result { struct State { @@ -335,12 +335,20 @@ mod tests { e.counter += inc_by as u32; Ok(ReturnValue::Value(TypedValue::I32(e.counter as i32))) } + /// Function that takes one argument of any type and returns that value. + fn env_polymorphic_id(_e: &mut State, args: &[TypedValue]) -> Result { + if args.len() != 1 { + return Err(HostError); + } + Ok(ReturnValue::Value(args[0])) + } let mut state = State { counter: 0 }; let mut env_builder = EnvironmentDefinitionBuilder::new(); env_builder.add_host_func("env", "assert", env_assert); env_builder.add_host_func("env", "inc_counter", env_inc_counter); + env_builder.add_host_func("env", "polymorphic_id", env_polymorphic_id); let mut instance = Instance::new(code, &env_builder, &mut state)?; let result = instance.invoke(b"call", args, &mut state); @@ -404,4 +412,71 @@ mod tests { ).unwrap(); assert_eq!(return_val, ReturnValue::Value(TypedValue::I32(0x1337))); } + + #[test] + fn signatures_dont_matter() { + let code = wabt::wat2wasm(r#" + (module + (import "env" "polymorphic_id" (func $id_i32 (param i32) (result i32))) + (import "env" "polymorphic_id" (func $id_i64 (param i64) (result i64))) + (import "env" "assert" (func $assert (param i32))) + + (func (export "call") + ;; assert that we can actually call the "same" function with different + ;; signatures. + (call $assert + (i32.eq + (call $id_i32 + (i32.const 0x012345678) + ) + (i32.const 0x012345678) + ) + ) + (call $assert + (i64.eq + (call $id_i64 + (i64.const 0x0123456789abcdef) + ) + (i64.const 0x0123456789abcdef) + ) + ) + ) + ) + "#).unwrap(); + + let return_val = execute_sandboxed(&code, &[]).unwrap(); + assert_eq!(return_val, ReturnValue::Unit); + } + + #[test] + fn cant_return_unmatching_type() { + fn env_returns_i32(_e: &mut (), _args: &[TypedValue]) -> Result { + Ok(ReturnValue::Value(TypedValue::I32(42))) + } + + let mut env_builder = EnvironmentDefinitionBuilder::new(); + env_builder.add_host_func("env", "returns_i32", env_returns_i32); + + let code = wabt::wat2wasm(r#" + (module + ;; It's actually returns i32, but imported as if it returned i64 + (import "env" "returns_i32" (func $returns_i32 (result i64))) + + (func (export "call") + (drop + (call $returns_i32) + ) + ) + ) + "#).unwrap(); + + // It succeeds since we are able to import functions with types we want. + let mut instance = Instance::new(&code, &env_builder, &mut ()).unwrap(); + + // But this fails since we imported a function that returns i32 as if it returned i64. + assert_matches!( + instance.invoke(b"call", &[], &mut ()), + Err(Error::Execution) + ); + } } From 65d5530071725997c6401a76a5e1f46e07aa33d2 Mon Sep 17 00:00:00 2001 From: Sergey Pepyakin Date: Wed, 1 Aug 2018 17:48:53 +0300 Subject: [PATCH 15/21] Clean up --- .../runtime/contract/src/vm/env_def/macros.rs | 2 +- substrate/runtime/contract/src/vm/mod.rs | 34 +++++++++++-------- 2 files changed, 20 insertions(+), 16 deletions(-) diff --git a/substrate/runtime/contract/src/vm/env_def/macros.rs b/substrate/runtime/contract/src/vm/env_def/macros.rs index b6bb2fbfd2ec8..1472b407d4b37 100644 --- a/substrate/runtime/contract/src/vm/env_def/macros.rs +++ b/substrate/runtime/contract/src/vm/env_def/macros.rs @@ -161,7 +161,7 @@ mod tests { use parity_wasm::elements::ValueType; use runtime_primitives::traits::{As, Zero}; use sandbox::{self, ReturnValue, TypedValue}; - use vm::env_def::{HostFunctionSet, HostFunction}; + use vm::env_def::{HostFunction, HostFunctionSet}; use vm::tests::MockExt; use vm::{Ext, Runtime}; use Trait; diff --git a/substrate/runtime/contract/src/vm/mod.rs b/substrate/runtime/contract/src/vm/mod.rs index 75ca6c04cdb30..31e98f8cad81e 100644 --- a/substrate/runtime/contract/src/vm/mod.rs +++ b/substrate/runtime/contract/src/vm/mod.rs @@ -17,14 +17,14 @@ //! This module provides a means for executing contracts //! represented in wasm. -use rstd::prelude::*; -use sandbox; +use exec::{CallReceipt, CreateReceipt}; use gas::{GasMeter, GasMeterResult}; +use rstd::prelude::*; use runtime_primitives::traits::{As, CheckedMul}; -use {Trait}; -use exec::{CallReceipt, CreateReceipt}; -use system; +use sandbox; use staking; +use system; +use Trait; type BalanceOf = ::Balance; type AccountIdOf = ::AccountId; @@ -173,9 +173,7 @@ fn to_execution_result( _ => unreachable!(), }; - Ok(ExecutionResult { - return_data, - }) + Ok(ExecutionResult { return_data }) } /// The result of execution of a smart-contract. @@ -267,10 +265,10 @@ impl Default for Config { #[cfg(test)] mod tests { use super::*; + use gas::GasMeter; use std::collections::HashMap; + use tests::Test; use wabt; - use gas::GasMeter; - use ::tests::Test; #[derive(Debug, PartialEq, Eq)] struct CreateEntry { @@ -314,9 +312,7 @@ mod tests { let address = self.next_account_id; self.next_account_id += 1; - Ok(CreateReceipt { - address, - }) + Ok(CreateReceipt { address }) } fn call( &mut self, @@ -365,7 +361,11 @@ mod tests { let code_transfer = wabt::wat2wasm(CODE_TRANSFER).unwrap(); let mut mock_ext = MockExt::default(); - execute(&code_transfer, &mut mock_ext, &mut GasMeter::with_limit(50_000, 1)).unwrap(); + execute( + &code_transfer, + &mut mock_ext, + &mut GasMeter::with_limit(50_000, 1), + ).unwrap(); assert_eq!(&mock_ext.transfers, &[TransferEntry { to: 2, value: 6 }]); } @@ -388,7 +388,11 @@ mod tests { let mut mock_ext = MockExt::default(); assert_matches!( - execute(&code_mem, &mut mock_ext, &mut GasMeter::with_limit(100_000, 1)), + execute( + &code_mem, + &mut mock_ext, + &mut GasMeter::with_limit(100_000, 1) + ), Err(_) ); } From fce6c8f434d0848841551ae72014b5bb70bde853 Mon Sep 17 00:00:00 2001 From: Sergey Pepyakin Date: Wed, 1 Aug 2018 18:01:38 +0300 Subject: [PATCH 16/21] Use Error::Instantiate instead of ::Deserialize --- substrate/runtime/contract/src/vm/prepare.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/substrate/runtime/contract/src/vm/prepare.rs b/substrate/runtime/contract/src/vm/prepare.rs index 3ce34d5eb93a8..1fb106bb5a4cd 100644 --- a/substrate/runtime/contract/src/vm/prepare.rs +++ b/substrate/runtime/contract/src/vm/prepare.rs @@ -119,7 +119,7 @@ impl<'a, T: Trait> ContractModule<'a, T> { if import.module() != "env" { // This import tries to import something from non-"env" module, // but all imports are located in "env" at the moment. - return Err(Error::Deserialization); + return Err(Error::Instantiate); } let type_idx = match import.external() { @@ -133,12 +133,12 @@ impl<'a, T: Trait> ContractModule<'a, T> { let Type::Function(ref func_ty) = types .get(*type_idx as usize) - .ok_or_else(|| Error::Deserialization)?; + .ok_or_else(|| Error::Instantiate)?; let ext_func = env .funcs .get(import.field()) - .ok_or_else(|| Error::Deserialization)?; + .ok_or_else(|| Error::Instantiate)?; if !ext_func.func_type_matches(func_ty) { return Err(Error::Instantiate); } @@ -253,7 +253,7 @@ mod tests { assert_matches!(r, Ok(_)); let r = parse_and_prepare_wat(r#"(module (import "vne" "memory" (memory 1 1)))"#); - assert_matches!(r, Err(Error::Deserialization)); + assert_matches!(r, Err(Error::Instantiate)); // initial exceed maximum let r = parse_and_prepare_wat(r#"(module (import "env" "memory" (memory 16 1)))"#); From 227ef5f32e7db491d212e42e83173899aac2ae04 Mon Sep 17 00:00:00 2001 From: Sergey Pepyakin Date: Wed, 1 Aug 2018 18:01:46 +0300 Subject: [PATCH 17/21] Add test for imports --- substrate/runtime/contract/src/vm/prepare.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/substrate/runtime/contract/src/vm/prepare.rs b/substrate/runtime/contract/src/vm/prepare.rs index 1fb106bb5a4cd..d670219e9a6c8 100644 --- a/substrate/runtime/contract/src/vm/prepare.rs +++ b/substrate/runtime/contract/src/vm/prepare.rs @@ -267,4 +267,13 @@ mod tests { let r = parse_and_prepare_wat(r#"(module (import "env" "memory" (memory 1 17)))"#); assert_matches!(r, Err(Error::Memory)); } + + #[test] + fn imports() { + let r = parse_and_prepare_wat(r#"(module (import "env" "gas" (func (param i32))))"#); + assert_matches!(r, Ok(_)); + + let r = parse_and_prepare_wat(r#"(module (import "env" "unknown_func" (func)))"#); + assert_matches!(r, Err(Error::Instantiate)); + } } From 82f030e675706653bab89cf5296d8ce2e3e13a0c Mon Sep 17 00:00:00 2001 From: Sergey Pepyakin Date: Wed, 1 Aug 2018 18:04:28 +0300 Subject: [PATCH 18/21] Add wrong sig import --- substrate/runtime/contract/src/vm/prepare.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/substrate/runtime/contract/src/vm/prepare.rs b/substrate/runtime/contract/src/vm/prepare.rs index d670219e9a6c8..4b5a607d15936 100644 --- a/substrate/runtime/contract/src/vm/prepare.rs +++ b/substrate/runtime/contract/src/vm/prepare.rs @@ -273,6 +273,9 @@ mod tests { let r = parse_and_prepare_wat(r#"(module (import "env" "gas" (func (param i32))))"#); assert_matches!(r, Ok(_)); + let r = parse_and_prepare_wat(r#"(module (import "env" "gas" (func (param i64))))"#); + assert_matches!(r, Err(Error::Instantiate)); + let r = parse_and_prepare_wat(r#"(module (import "env" "unknown_func" (func)))"#); assert_matches!(r, Err(Error::Instantiate)); } From 1f7845a8674f032e37f8b39562610c8e089079d1 Mon Sep 17 00:00:00 2001 From: Sergey Pepyakin Date: Wed, 1 Aug 2018 18:04:34 +0300 Subject: [PATCH 19/21] Clean up --- substrate/runtime/contract/src/vm/prepare.rs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/substrate/runtime/contract/src/vm/prepare.rs b/substrate/runtime/contract/src/vm/prepare.rs index 4b5a607d15936..0f172c78b4626 100644 --- a/substrate/runtime/contract/src/vm/prepare.rs +++ b/substrate/runtime/contract/src/vm/prepare.rs @@ -252,9 +252,6 @@ mod tests { let r = parse_and_prepare_wat(r#"(module)"#); assert_matches!(r, Ok(_)); - let r = parse_and_prepare_wat(r#"(module (import "vne" "memory" (memory 1 1)))"#); - assert_matches!(r, Err(Error::Instantiate)); - // initial exceed maximum let r = parse_and_prepare_wat(r#"(module (import "env" "memory" (memory 16 1)))"#); assert_matches!(r, Err(Error::Memory)); @@ -270,12 +267,18 @@ mod tests { #[test] fn imports() { + // nothing can be imported from non-"env" module for now. + let r = parse_and_prepare_wat(r#"(module (import "vne" "memory" (memory 1 1)))"#); + assert_matches!(r, Err(Error::Instantiate)); + let r = parse_and_prepare_wat(r#"(module (import "env" "gas" (func (param i32))))"#); assert_matches!(r, Ok(_)); + // wrong signature let r = parse_and_prepare_wat(r#"(module (import "env" "gas" (func (param i64))))"#); assert_matches!(r, Err(Error::Instantiate)); + // unknown function name let r = parse_and_prepare_wat(r#"(module (import "env" "unknown_func" (func)))"#); assert_matches!(r, Err(Error::Instantiate)); } From 0a8858e630746c12c2d1c168c666e669a7bd02f4 Mon Sep 17 00:00:00 2001 From: Sergey Pepyakin Date: Wed, 15 Aug 2018 16:44:33 +0300 Subject: [PATCH 20/21] Rebuild binaries. --- .../release/demo_runtime.compact.wasm | Bin 247362 -> 223887 bytes .../release/demo_runtime.wasm | Bin 247450 -> 223942 bytes .../substrate_test_runtime.compact.wasm | Bin 58203 -> 52661 bytes .../release/substrate_test_runtime.wasm | Bin 58335 -> 52744 bytes 4 files changed, 0 insertions(+), 0 deletions(-) diff --git a/demo/runtime/wasm/target/wasm32-unknown-unknown/release/demo_runtime.compact.wasm b/demo/runtime/wasm/target/wasm32-unknown-unknown/release/demo_runtime.compact.wasm index 3bd4f0d765cfd137256c0219c865f7756218b5e1..13f21018e4b302ef0640e8a0ce2505bfdab47fdc 100644 GIT binary patch literal 223887 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 AG@XPd>=phxBgTkp3|5;^)YK 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 literal 247362 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 c4d*H9S3zmmOiSol%>YcKMriUxc~qF diff --git a/demo/runtime/wasm/target/wasm32-unknown-unknown/release/demo_runtime.wasm b/demo/runtime/wasm/target/wasm32-unknown-unknown/release/demo_runtime.wasm index b8a70756300b00aabf7cb1db68876f41cd1bd1c6..18a824ea0eb236c364eb701d334611a9c04a27ab 100755 GIT binary patch literal 223942 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

>( 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∓m374(})Ob>90qKc?E~ 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 g*n6E64L2%kSV3vnX-jBY%>3T+>YcA4o9SRsaA1 diff --git a/substrate/test-runtime/wasm/target/wasm32-unknown-unknown/release/substrate_test_runtime.compact.wasm b/substrate/test-runtime/wasm/target/wasm32-unknown-unknown/release/substrate_test_runtime.compact.wasm index 0f5f06b577b2358a4fb7711e8ece2aa9caea9437..adee6b02cf4633d601409ebc8a89a30d71219432 100644 GIT binary patch literal 52661 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%0AX?5lzLZ6 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 Lsf26MROSBz8%kD% literal 58203 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 vW3abeef^d#H*lq9iUy>o$BU-gg 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 literal 58335 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 From aecdb052283b8aee68838e8747e912e26458548c Mon Sep 17 00:00:00 2001 From: Sergey Pepyakin Date: Mon, 27 Aug 2018 11:59:55 +0300 Subject: [PATCH 21/21] Use "another_module" instead of obscure "vne" Since "vne" looks like an actual typo --- substrate/runtime/contract/src/vm/prepare.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/substrate/runtime/contract/src/vm/prepare.rs b/substrate/runtime/contract/src/vm/prepare.rs index 0f172c78b4626..4e77fef6b0a5a 100644 --- a/substrate/runtime/contract/src/vm/prepare.rs +++ b/substrate/runtime/contract/src/vm/prepare.rs @@ -268,7 +268,7 @@ mod tests { #[test] fn imports() { // nothing can be imported from non-"env" module for now. - let r = parse_and_prepare_wat(r#"(module (import "vne" "memory" (memory 1 1)))"#); + let r = parse_and_prepare_wat(r#"(module (import "another_module" "memory" (memory 1 1)))"#); assert_matches!(r, Err(Error::Instantiate)); let r = parse_and_prepare_wat(r#"(module (import "env" "gas" (func (param i32))))"#);