Bump wasmtime to 0.31.0 (#10149)

* Bump `wasmtime` to 0.31.0

* Bump `itoa` to 0.4.8

* sc-executor-wasmtime: fix `SandboxContext::invoke` which I've broke

* sc-executor-wasmtime: cargo fmt
This commit is contained in:
Koute
2021-11-09 21:08:02 +09:00
committed by GitHub
parent 5d5e685ebe
commit ef3eca4198
3 changed files with 145 additions and 85 deletions
+5 -14
View File
@@ -333,6 +333,7 @@ impl<'a, 'b, 'c, 'd> sandbox::SandboxContext for SandboxContext<'a, 'b, 'c, 'd>
state: u32,
func_idx: SupervisorFuncIndex,
) -> Result<i64> {
let mut ret_vals = [Val::null()];
let result = self.dispatch_thunk.call(
&mut self.host_context.caller,
&[
@@ -341,26 +342,16 @@ impl<'a, 'b, 'c, 'd> sandbox::SandboxContext for SandboxContext<'a, 'b, 'c, 'd>
Val::I32(state as i32),
Val::I32(usize::from(func_idx) as i32),
],
&mut ret_vals,
);
match result {
Ok(ret_vals) => {
let ret_val = if ret_vals.len() != 1 {
return Err(format!(
"Supervisor function returned {} results, expected 1",
ret_vals.len()
)
.into())
} else {
&ret_vals[0]
};
if let Some(ret_val) = ret_val.i64() {
Ok(()) =>
if let Some(ret_val) = ret_vals[0].i64() {
Ok(ret_val)
} else {
return Err("Supervisor function returned unexpected result!".into())
}
},
},
Err(err) => Err(err.to_string().into()),
}
}