mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-26 12:17:58 +00:00
Statically register host WASM functions (#10394)
* Statically register host WASM functions * Fix `substrate-test-client` compilation * Move `ExtendedHostFunctions` to `sp-wasm-interface` * Fix `sp-runtime-interface` tests' compilation * Fix `sc-executor-wasmtime` tests' compilation * Use `runtime_interface` macro in `test-runner` * Fix `sc-executor` tests' compilation * Reformatting/`rustfmt` * Add an extra comment regarding the `H` generic arg in `create_runtime` * Even more `rustfmt` * Depend on `wasmtime` without default features in `sp-wasm-interface` * Bump version of `sp-wasm-interface` to 4.0.1 * Bump `sp-wasm-interface` in `Cargo.lock` too * Bump all of the `sp-wasm-interface` requirements to 4.0.1 Maybe this will appease cargo-unleash? * Revert "Bump all of the `sp-wasm-interface` requirements to 4.0.1" This reverts commit 0f7ccf8e0f371542861121b145ab87af6541ac30. * Make `cargo-unleash` happy (maybe) * Use `cargo-unleash` to bump the crates' versions * Align to review comments
This commit is contained in:
@@ -80,17 +80,17 @@
|
||||
//!
|
||||
//! | Type | FFI type | Conversion |
|
||||
//! |----|----|----|
|
||||
//! | `u8` | `u8` | `Identity` |
|
||||
//! | `u16` | `u16` | `Identity` |
|
||||
//! | `u8` | `u32` | zero-extended to 32-bits |
|
||||
//! | `u16` | `u32` | zero-extended to 32-bits |
|
||||
//! | `u32` | `u32` | `Identity` |
|
||||
//! | `u64` | `u64` | `Identity` |
|
||||
//! | `i128` | `u32` | `v.as_ptr()` (pointer to a 16 byte array) |
|
||||
//! | `i8` | `i8` | `Identity` |
|
||||
//! | `i16` | `i16` | `Identity` |
|
||||
//! | `i8` | `i32` | sign-extended to 32-bits |
|
||||
//! | `i16` | `i32` | sign-extended to 32-bits |
|
||||
//! | `i32` | `i32` | `Identity` |
|
||||
//! | `i64` | `i64` | `Identity` |
|
||||
//! | `u128` | `u32` | `v.as_ptr()` (pointer to a 16 byte array) |
|
||||
//! | `bool` | `u8` | `if v { 1 } else { 0 }` |
|
||||
//! | `bool` | `u32` | `if v { 1 } else { 0 }` |
|
||||
//! | `&str` | `u64` | <code>v.len() 32bit << 32 | v.as_ptr() 32bit</code> |
|
||||
//! | `&[u8]` | `u64` | <code>v.len() 32bit << 32 | v.as_ptr() 32bit</code> |
|
||||
//! | `Vec<u8>` | `u64` | <code>v.len() 32bit << 32 | v.as_ptr() 32bit</code> |
|
||||
@@ -325,7 +325,9 @@ pub use util::{pack_ptr_and_len, unpack_ptr_and_len};
|
||||
pub trait RIType {
|
||||
/// The ffi type that is used to represent `Self`.
|
||||
#[cfg(feature = "std")]
|
||||
type FFIType: sp_wasm_interface::IntoValue + sp_wasm_interface::TryFromValue;
|
||||
type FFIType: sp_wasm_interface::IntoValue
|
||||
+ sp_wasm_interface::TryFromValue
|
||||
+ sp_wasm_interface::WasmTy;
|
||||
#[cfg(not(feature = "std"))]
|
||||
type FFIType;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user