Add get_global for Sandbox (#4756)

* Add `get_global` for `Sandbox`

This pr adds `get_global` to retrieve a `global` variable from an
instantiated sandbox wasm blob.

* Bump `spec_version`

* Update primitives/wasm-interface/src/lib.rs

Co-Authored-By: Sergei Pepyakin <sergei@parity.io>

* `get_global` -> `get_global_val`

Co-authored-by: Sergei Pepyakin <s.pepyakin@gmail.com>
Co-authored-by: Gavin Wood <github@gavwood.com>
This commit is contained in:
Bastian Köcher
2020-01-29 16:24:40 +01:00
committed by GitHub
parent ae1e9002d7
commit 4c36143375
23 changed files with 275 additions and 195 deletions
@@ -6,7 +6,7 @@ edition = "2018"
license = "GPL-3.0"
[dependencies]
sp-wasm-interface = { version = "2.0.0", optional = true, path = "../wasm-interface" }
sp-wasm-interface = { version = "2.0.0", path = "../wasm-interface", default-features = false }
sp-std = { version = "2.0.0", default-features = false, path = "../std" }
sp-runtime-interface-proc-macro = { version = "2.0.0", path = "proc-macro" }
sp-externalities = { version = "0.8.0", optional = true, path = "../externalities" }
@@ -25,7 +25,7 @@ trybuild = "1.0.17"
[features]
default = [ "std" ]
std = [
"sp-wasm-interface",
"sp-wasm-interface/std",
"sp-std/std",
"codec/std",
"sp-externalities",
@@ -17,7 +17,7 @@
//! Provides implementations for the runtime interface traits.
use crate::{
RIType, Pointer, pass_by::{PassBy, Codec, Inner, PassByInner},
RIType, Pointer, pass_by::{PassBy, Codec, Inner, PassByInner, Enum},
util::{unpack_ptr_and_len, pack_ptr_and_len},
};
#[cfg(feature = "std")]
@@ -523,3 +523,11 @@ macro_rules! for_u128_i128 {
for_u128_i128!(u128);
for_u128_i128!(i128);
impl PassBy for sp_wasm_interface::ValueType {
type PassBy = Enum<sp_wasm_interface::ValueType>;
}
impl PassBy for sp_wasm_interface::Value {
type PassBy = Codec<sp_wasm_interface::Value>;
}