Move to the wasmer-wit 0.17.24 (#56)

This commit is contained in:
vms
2020-12-29 17:51:13 +03:00
committed by GitHub
parent dc43acfc88
commit 8499033720
29 changed files with 142 additions and 123 deletions

120
Cargo.lock generated
View File

@@ -35,13 +35,13 @@ dependencies = [
[[package]] [[package]]
name = "anyhow" name = "anyhow"
version = "1.0.36" version = "1.0.37"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "68803225a7b13e47191bab76f2687382b60d259e8cf37f6e1893658b84bb9479" checksum = "ee67c11feeac938fae061b232e38e0b6d94f97a9df10e6271319325ac4c56a86"
[[package]] [[package]]
name = "aquamarine-vm" name = "aquamarine-vm"
version = "0.1.6" version = "0.1.7"
dependencies = [ dependencies = [
"fluence-faas", "fluence-faas",
"log", "log",
@@ -397,9 +397,9 @@ dependencies = [
[[package]] [[package]]
name = "ctor" name = "ctor"
version = "0.1.16" version = "0.1.17"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7fbaabec2c953050352311293be5c6aba8e141ba19d6811862b232d6fd020484" checksum = "373c88d9506e2e9230f6107701b7d8425f4cb3f6df108ec3042a26e936666da5"
dependencies = [ dependencies = [
"quote", "quote",
"syn", "syn",
@@ -572,9 +572,9 @@ dependencies = [
[[package]] [[package]]
name = "erased-serde" name = "erased-serde"
version = "0.3.12" version = "0.3.13"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6ca8b296792113e1500fd935ae487be6e00ce318952a6880555554824d6ebf38" checksum = "0465971a8cc1fa2455c8465aaa377131e1f1cf4983280f474a13e68793aa770c"
dependencies = [ dependencies = [
"serde", "serde",
] ]
@@ -642,7 +642,7 @@ dependencies = [
[[package]] [[package]]
name = "fce" name = "fce"
version = "0.1.14" version = "0.1.15"
dependencies = [ dependencies = [
"boolinator", "boolinator",
"bytes", "bytes",
@@ -680,7 +680,7 @@ version = "0.1.0"
[[package]] [[package]]
name = "fce-wit-generator" name = "fce-wit-generator"
version = "0.1.13" version = "0.1.14"
dependencies = [ dependencies = [
"fce-wit-parser", "fce-wit-parser",
"fluence-sdk-wit 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", "fluence-sdk-wit 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -693,7 +693,7 @@ dependencies = [
[[package]] [[package]]
name = "fce-wit-interfaces" name = "fce-wit-interfaces"
version = "0.1.9" version = "0.1.10"
dependencies = [ dependencies = [
"multimap", "multimap",
"wasmer-interface-types-fl", "wasmer-interface-types-fl",
@@ -701,7 +701,7 @@ dependencies = [
[[package]] [[package]]
name = "fce-wit-parser" name = "fce-wit-parser"
version = "0.1.11" version = "0.1.12"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"fce-wit-interfaces", "fce-wit-interfaces",
@@ -713,7 +713,7 @@ dependencies = [
[[package]] [[package]]
name = "fcli" name = "fcli"
version = "0.1.13" version = "0.1.14"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"clap", "clap",
@@ -724,15 +724,6 @@ dependencies = [
"serde_json", "serde_json",
] ]
[[package]]
name = "fluence"
version = "0.2.13"
source = "git+https://github.com/fluencelabs/rust-sdk#71591f412cb65879d74e8c38838e827ab74d8802"
dependencies = [
"fluence-sdk-macro 0.2.13 (git+https://github.com/fluencelabs/rust-sdk)",
"fluence-sdk-main 0.2.13 (git+https://github.com/fluencelabs/rust-sdk)",
]
[[package]] [[package]]
name = "fluence" name = "fluence"
version = "0.2.13" version = "0.2.13"
@@ -743,9 +734,18 @@ dependencies = [
"fluence-sdk-main 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", "fluence-sdk-main 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]]
name = "fluence"
version = "0.2.13"
source = "git+https://github.com/fluencelabs/rust-sdk#71591f412cb65879d74e8c38838e827ab74d8802"
dependencies = [
"fluence-sdk-macro 0.2.13 (git+https://github.com/fluencelabs/rust-sdk)",
"fluence-sdk-main 0.2.13 (git+https://github.com/fluencelabs/rust-sdk)",
]
[[package]] [[package]]
name = "fluence-app-service" name = "fluence-app-service"
version = "0.1.18" version = "0.1.19"
dependencies = [ dependencies = [
"fluence-faas", "fluence-faas",
"log", "log",
@@ -759,7 +759,7 @@ dependencies = [
[[package]] [[package]]
name = "fluence-faas" name = "fluence-faas"
version = "0.1.18" version = "0.1.19"
dependencies = [ dependencies = [
"cmd_lib", "cmd_lib",
"env_logger 0.7.1", "env_logger 0.7.1",
@@ -782,11 +782,15 @@ dependencies = [
] ]
[[package]] [[package]]
name = "fluence-sdk-macro" name = "fluence-it-types"
version = "0.2.13" version = "0.1.1"
source = "git+https://github.com/fluencelabs/rust-sdk#71591f412cb65879d74e8c38838e827ab74d8802" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1b81c770e52b35e2406f8251f6c01b3b882c3eaed3029731d8c19c74dc1b423c"
dependencies = [ dependencies = [
"fluence-sdk-wit 0.2.13 (git+https://github.com/fluencelabs/rust-sdk)", "it-to-bytes",
"nom",
"serde",
"wast",
] ]
[[package]] [[package]]
@@ -799,13 +803,11 @@ dependencies = [
] ]
[[package]] [[package]]
name = "fluence-sdk-main" name = "fluence-sdk-macro"
version = "0.2.13" version = "0.2.13"
source = "git+https://github.com/fluencelabs/rust-sdk#71591f412cb65879d74e8c38838e827ab74d8802" source = "git+https://github.com/fluencelabs/rust-sdk#71591f412cb65879d74e8c38838e827ab74d8802"
dependencies = [ dependencies = [
"fluence-sdk-macro 0.2.13 (git+https://github.com/fluencelabs/rust-sdk)", "fluence-sdk-wit 0.2.13 (git+https://github.com/fluencelabs/rust-sdk)",
"log",
"serde",
] ]
[[package]] [[package]]
@@ -820,9 +822,20 @@ dependencies = [
] ]
[[package]] [[package]]
name = "fluence-sdk-wit" name = "fluence-sdk-main"
version = "0.2.13" version = "0.2.13"
source = "git+https://github.com/fluencelabs/rust-sdk#71591f412cb65879d74e8c38838e827ab74d8802" source = "git+https://github.com/fluencelabs/rust-sdk#71591f412cb65879d74e8c38838e827ab74d8802"
dependencies = [
"fluence-sdk-macro 0.2.13 (git+https://github.com/fluencelabs/rust-sdk)",
"log",
"serde",
]
[[package]]
name = "fluence-sdk-wit"
version = "0.2.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8da5f51cddeae52ff5b91d1a5d8be90e54629f4887f89f8d7501b829b374fe6a"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@@ -835,8 +848,7 @@ dependencies = [
[[package]] [[package]]
name = "fluence-sdk-wit" name = "fluence-sdk-wit"
version = "0.2.13" version = "0.2.13"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/fluencelabs/rust-sdk#71591f412cb65879d74e8c38838e827ab74d8802"
checksum = "8da5f51cddeae52ff5b91d1a5d8be90e54629f4887f89f8d7501b829b374fe6a"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@@ -879,7 +891,7 @@ dependencies = [
[[package]] [[package]]
name = "frepl" name = "frepl"
version = "0.1.23" version = "0.1.24"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"clap", "clap",
@@ -1266,6 +1278,12 @@ version = "2.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "47be2f14c678be2fdcab04ab1171db51b2762ce6f0a8ee87c8dd4a04ed216135" checksum = "47be2f14c678be2fdcab04ab1171db51b2762ce6f0a8ee87c8dd4a04ed216135"
[[package]]
name = "it-to-bytes"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "729c74bb4236418898a219c6d96f14cba77456dd7c04a2e99e65e9c643709b56"
[[package]] [[package]]
name = "itertools" name = "itertools"
version = "0.9.0" version = "0.9.0"
@@ -1277,9 +1295,9 @@ dependencies = [
[[package]] [[package]]
name = "itoa" name = "itoa"
version = "0.4.6" version = "0.4.7"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dc6f3ad7b9d11a0c00842ff8de1b60ee58661048eb8049ed33c73594f359d7e6" checksum = "dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736"
[[package]] [[package]]
name = "js-sys" name = "js-sys"
@@ -2166,9 +2184,9 @@ dependencies = [
[[package]] [[package]]
name = "serde_json" name = "serde_json"
version = "1.0.60" version = "1.0.61"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1500e84d27fe482ed1dc791a56eddc2f230046a040fa908c08bda1d9fb615779" checksum = "4fceb2595057b6891a4ee808f70054bd2d12f0e97f1cbb78689b59f676df325a"
dependencies = [ dependencies = [
"itoa", "itoa",
"ryu", "ryu",
@@ -2249,13 +2267,13 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
[[package]] [[package]]
name = "stepper-interface" name = "stepper-interface"
version = "0.1.0" version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a2be93d2a8a33f133cdf62e2097b5b58cf46d816240e03df26c27af3432b7b87" checksum = "8d99a903bdfbf090c52703637b6e7dfee9be16da9fc1dd5b09ff6ea653246ddd"
dependencies = [ dependencies = [
"fluence 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", "fluence 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)",
"fluence-it-types",
"serde", "serde",
"wasmer-interface-types-fl",
] ]
[[package]] [[package]]
@@ -2278,9 +2296,9 @@ checksum = "1e81da0851ada1f3e9d4312c704aa4f8806f0f9d69faaf8df2f3464b4a9437c2"
[[package]] [[package]]
name = "syn" name = "syn"
version = "1.0.55" version = "1.0.56"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a571a711dddd09019ccc628e1b17fe87c59b09d513c06c026877aa708334f37a" checksum = "a9802ddde94170d186eeee5005b798d9c159fa970403f1be19976d0cfb939b72"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@@ -2357,18 +2375,18 @@ dependencies = [
[[package]] [[package]]
name = "thiserror" name = "thiserror"
version = "1.0.22" version = "1.0.23"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0e9ae34b84616eedaaf1e9dd6026dbe00dcafa92aa0c8077cb69df1fcfe5e53e" checksum = "76cc616c6abf8c8928e2fdcc0dbfab37175edd8fb49a4641066ad1364fdab146"
dependencies = [ dependencies = [
"thiserror-impl", "thiserror-impl",
] ]
[[package]] [[package]]
name = "thiserror-impl" name = "thiserror-impl"
version = "1.0.22" version = "1.0.23"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9ba20f23e85b10754cd195504aebf6a27e2e6cbe28c17778a0c930724628dd56" checksum = "9be73a2caec27583d0046ef3796c3794f868a5bc813db689eed00c7631275cd1"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@@ -2864,10 +2882,12 @@ dependencies = [
[[package]] [[package]]
name = "wasmer-interface-types-fl" name = "wasmer-interface-types-fl"
version = "0.17.20" version = "0.17.24"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "88dcf40c0c547e4d085c539070dc2c0caef364ccf5a11056f1de13659c65ea04" checksum = "e29cd6c3670db55e8aa3dfe6fb02c8ec9e7a17789e0204cef0a7cb50e0b8c5cb"
dependencies = [ dependencies = [
"fluence-it-types",
"it-to-bytes",
"log", "log",
"nom", "nom",
"safe-transmute", "safe-transmute",

View File

@@ -1,7 +1,7 @@
[package] [package]
name = "aquamarine-vm" name = "aquamarine-vm"
description = "Fluence Aquamarine VM" description = "Fluence Aquamarine VM"
version = "0.1.6" version = "0.1.7"
authors = ["Fluence Labs"] authors = ["Fluence Labs"]
edition = "2018" edition = "2018"
license = "Apache-2.0" license = "Apache-2.0"
@@ -11,8 +11,8 @@ name = "aquamarine_vm"
path = "src/lib.rs" path = "src/lib.rs"
[dependencies] [dependencies]
fluence-faas = { path = "../fluence-faas", version = "0.1.18" } fluence-faas = { path = "../fluence-faas", version = "0.1.19" }
stepper-interface = "0.1.0" stepper-interface = "0.1.1"
maplit = "1.0.2" maplit = "1.0.2"
serde_json = "1.0.60" serde_json = "1.0.60"

View File

@@ -40,7 +40,7 @@ pub use fluence_faas::HostImportDescriptor;
pub use fluence_faas::HostImportError; pub use fluence_faas::HostImportError;
pub use fluence_faas::IValue; pub use fluence_faas::IValue;
pub use fluence_faas::IType; pub use fluence_faas::IType;
pub use fluence_faas::vec1; pub use fluence_faas::ne_vec;
pub use fluence_faas::Ctx; pub use fluence_faas::Ctx;
pub use stepper_interface::StepperOutcome; pub use stepper_interface::StepperOutcome;

View File

@@ -1,7 +1,7 @@
[package] [package]
name = "fce-wit-generator" name = "fce-wit-generator"
description = "Fluence FCE interface type helper crate" description = "Fluence FCE interface type helper crate"
version = "0.1.13" version = "0.1.14"
authors = ["Fluence Labs"] authors = ["Fluence Labs"]
license = "Apache-2.0" license = "Apache-2.0"
edition = "2018" edition = "2018"
@@ -11,11 +11,11 @@ name = "fce_wit_generator"
path = "src/lib.rs" path = "src/lib.rs"
[dependencies] [dependencies]
fce-wit-parser = { path = "../wit-parser", version = "0.1.11"} fce-wit-parser = { path = "../wit-parser", version = "0.1.12"}
fluence-sdk-wit = "=0.2.13" fluence-sdk-wit = "=0.2.13"
walrus = "0.17.0" walrus = "0.17.0"
wasmer-wit = { package = "wasmer-interface-types-fl", version = "=0.17.20" } wasmer-wit = { package = "wasmer-interface-types-fl", version = "=0.17.24" }
once_cell = "1.4.0" once_cell = "1.4.0"
serde = { version = "1.0.110", features = ["derive"] } serde = { version = "1.0.110", features = ["derive"] }
serde_json = "1.0.56" serde_json = "1.0.56"

View File

@@ -15,7 +15,7 @@
*/ */
use wasmer_wit::ast::Interfaces; use wasmer_wit::ast::Interfaces;
use wasmer_wit::types::InterfaceType as IType; use wasmer_wit::IType;
use wasmer_wit::ast::FunctionArg as IFunctionArg; use wasmer_wit::ast::FunctionArg as IFunctionArg;
use once_cell::sync::Lazy; use once_cell::sync::Lazy;

View File

@@ -21,9 +21,9 @@ mod utils;
use crate::Result; use crate::Result;
use wasmer_wit::types::InterfaceType as IType; use wasmer_wit::IType;
use wasmer_wit::ast::Interfaces; use wasmer_wit::ast::Interfaces;
use wasmer_wit::types::RecordType; use wasmer_wit::IRecordType;
use std::rc::Rc; use std::rc::Rc;
@@ -56,7 +56,7 @@ impl<'a> WITResolver<'a> {
.insert(record_name.to_string(), self.interfaces.types.len()); .insert(record_name.to_string(), self.interfaces.types.len());
self.interfaces self.interfaces
.types .types
.push(Type::Record(Rc::new(RecordType::default()))); .push(Type::Record(Rc::new(IRecordType::default())));
self.not_resolved_types_count += 1; self.not_resolved_types_count += 1;
self.interfaces.types.len() self.interfaces.types.len()
@@ -64,10 +64,7 @@ impl<'a> WITResolver<'a> {
} }
} }
pub(crate) fn get_record_type( pub(crate) fn get_record_type(&self, record_type_id: u64) -> Result<&IRecordType> {
&self,
record_type_id: u64,
) -> Result<&wasmer_wit::types::RecordType> {
if record_type_id >= self.interfaces.types.len() as u64 { if record_type_id >= self.interfaces.types.len() as u64 {
return Err(crate::errors::WITGeneratorError::CorruptedRecord(format!( return Err(crate::errors::WITGeneratorError::CorruptedRecord(format!(
"Can't find record with id {}, don't you forget to wrap it with #[fce]", "Can't find record with id {}, don't you forget to wrap it with #[fce]",
@@ -83,7 +80,7 @@ impl<'a> WITResolver<'a> {
} }
} }
pub(crate) fn insert_record_type(&mut self, record: RecordType) { pub(crate) fn insert_record_type(&mut self, record: IRecordType) {
use wasmer_wit::ast::Type; use wasmer_wit::ast::Type;
match self.types.get(&record.name) { match self.types.get(&record.name) {

View File

@@ -279,7 +279,7 @@ impl ForeignModInstructionGenerator for ParsedType {
} }
use fluence_sdk_wit::RustType; use fluence_sdk_wit::RustType;
use wasmer_wit::types::InterfaceType as IType; use wasmer_wit::IType;
pub fn to_raw_input_types(arg: &(String, ParsedType)) -> Vec<IFunctionArg> { pub fn to_raw_input_types(arg: &(String, ParsedType)) -> Vec<IFunctionArg> {
match arg.1 { match arg.1 {

View File

@@ -20,9 +20,9 @@ use crate::Result;
use fluence_sdk_wit::AstRecordItem; use fluence_sdk_wit::AstRecordItem;
use wasmer_wit::types::RecordFieldType as IRecordFieldType; use wasmer_wit::IRecordFieldType;
use wasmer_wit::types::RecordType; use wasmer_wit::IRecordType;
use wasmer_wit::vec1::Vec1; use wasmer_wit::NEVec;
impl WITGenerator for AstRecordItem { impl WITGenerator for AstRecordItem {
fn generate_wit<'a>(&'a self, wit_resolver: &mut WITResolver<'a>) -> Result<()> { fn generate_wit<'a>(&'a self, wit_resolver: &mut WITResolver<'a>) -> Result<()> {
@@ -35,14 +35,14 @@ impl WITGenerator for AstRecordItem {
}) })
.collect::<Vec<_>>(); .collect::<Vec<_>>();
let fields = Vec1::new(fields).map_err(|_| { let fields = NEVec::new(fields).map_err(|_| {
crate::errors::WITGeneratorError::CorruptedRecord(format!( crate::errors::WITGeneratorError::CorruptedRecord(format!(
"serialized record with name '{}' contains no fields", "serialized record with name '{}' contains no fields",
self.name self.name
)) ))
})?; })?;
let new_record_type = RecordType { let new_record_type = IRecordType {
name: self.name.clone(), name: self.name.clone(),
fields, fields,
}; };

View File

@@ -22,6 +22,8 @@ use crate::Result;
pub use fluence_sdk_wit::FCEAst; pub use fluence_sdk_wit::FCEAst;
use wasmer_wit::ast::Interfaces; use wasmer_wit::ast::Interfaces;
use wasmer_wit::IRecordType;
use wasmer_wit::IType;
/// Parse generated by rust-sdk AST types, generate instructions and embed them to Wasm file. /// Parse generated by rust-sdk AST types, generate instructions and embed them to Wasm file.
pub fn embed_wit(path: std::path::PathBuf) -> Result<()> { pub fn embed_wit(path: std::path::PathBuf) -> Result<()> {
@@ -110,7 +112,7 @@ fn validate_records(wit_resolver: &WITResolver<'_>) -> Result<()> {
const TYPE_RESOLVE_RECURSION_LIMIT: u32 = 1024; const TYPE_RESOLVE_RECURSION_LIMIT: u32 = 1024;
fn validate_record_type( fn validate_record_type(
record_type: &wasmer_wit::types::RecordType, record_type: &IRecordType,
recursion_level: u32, recursion_level: u32,
wit_resolver: &WITResolver<'_>, wit_resolver: &WITResolver<'_>,
) -> Result<()> { ) -> Result<()> {
@@ -122,7 +124,7 @@ fn validate_records(wit_resolver: &WITResolver<'_>) -> Result<()> {
for field in record_type.fields.iter() { for field in record_type.fields.iter() {
match &field.ty { match &field.ty {
wasmer_wit::types::InterfaceType::Record(record_type_id) => { IType::Record(record_type_id) => {
let inner_record_type = wit_resolver.get_record_type(*record_type_id)?; let inner_record_type = wit_resolver.get_record_type(*record_type_id)?;
validate_record_type(&inner_record_type, recursion_level + 1, wit_resolver)?; validate_record_type(&inner_record_type, recursion_level + 1, wit_resolver)?;
} }

View File

@@ -1,7 +1,7 @@
[package] [package]
name = "fce-wit-interfaces" name = "fce-wit-interfaces"
description = "Fluence FCE interface type helper crate" description = "Fluence FCE interface type helper crate"
version = "0.1.9" version = "0.1.10"
authors = ["Fluence Labs"] authors = ["Fluence Labs"]
license = "Apache-2.0" license = "Apache-2.0"
edition = "2018" edition = "2018"
@@ -11,5 +11,5 @@ name = "fce_wit_interfaces"
path = "src/lib.rs" path = "src/lib.rs"
[dependencies] [dependencies]
wasmer-wit = { package = "wasmer-interface-types-fl", version = "=0.17.20" } wasmer-wit = { package = "wasmer-interface-types-fl", version = "=0.17.24" }
multimap = "0.8.1" multimap = "0.8.1"

View File

@@ -18,7 +18,7 @@ use super::errors::FCEWITInterfacesError;
use wasmer_wit::interpreter::Instruction; use wasmer_wit::interpreter::Instruction;
use wasmer_wit::ast::*; use wasmer_wit::ast::*;
use wasmer_wit::types::RecordType; use wasmer_wit::IRecordType;
use multimap::MultiMap; use multimap::MultiMap;
use std::iter::Iterator; use std::iter::Iterator;
@@ -110,7 +110,7 @@ impl<'a> FCEWITInterfaces<'a> {
self.types.iter() self.types.iter()
} }
pub fn record_types(&self) -> impl Iterator<Item = (u64, &Rc<RecordType>)> { pub fn record_types(&self) -> impl Iterator<Item = (u64, &Rc<IRecordType>)> {
self.types.iter().enumerate().filter_map(|(id, t)| match t { self.types.iter().enumerate().filter_map(|(id, t)| match t {
WITAstType::Record(r) => Some((id as u64, r)), WITAstType::Record(r) => Some((id as u64, r)),
_ => None, _ => None,

View File

@@ -1,7 +1,7 @@
[package] [package]
name = "fce-wit-parser" name = "fce-wit-parser"
description = "Fluence FCE interface type helper crate" description = "Fluence FCE interface type helper crate"
version = "0.1.11" version = "0.1.12"
authors = ["Fluence Labs"] authors = ["Fluence Labs"]
license = "Apache-2.0" license = "Apache-2.0"
edition = "2018" edition = "2018"
@@ -11,11 +11,11 @@ name = "fce_wit_parser"
path = "src/lib.rs" path = "src/lib.rs"
[dependencies] [dependencies]
fce-wit-interfaces = { path = "../wit-interfaces", version = "0.1.9" } fce-wit-interfaces = { path = "../wit-interfaces", version = "0.1.10" }
anyhow = "1.0.31" anyhow = "1.0.31"
walrus = "0.17.0" walrus = "0.17.0"
wasmer-core = { package = "wasmer-runtime-core-fl", version = "0.17.0"} wasmer-core = { package = "wasmer-runtime-core-fl", version = "0.17.0"}
wasmer-wit = { package = "wasmer-interface-types-fl", version = "=0.17.20" } wasmer-wit = { package = "wasmer-interface-types-fl", version = "=0.17.24" }
serde = "1.0.117" serde = "1.0.117"

View File

@@ -21,8 +21,8 @@ use walrus::ModuleConfig;
use wasmer_wit::{ use wasmer_wit::{
ast::Interfaces, ast::Interfaces,
decoders::wat::{parse, Buffer}, decoders::wat::{parse, Buffer},
encoders::binary::ToBytes,
}; };
use wasmer_wit::ToBytes;
use std::path::PathBuf; use std::path::PathBuf;

View File

@@ -18,9 +18,9 @@ use crate::Result;
use crate::WITParserError; use crate::WITParserError;
use fce_wit_interfaces::FCEWITInterfaces; use fce_wit_interfaces::FCEWITInterfaces;
use wasmer_wit::types::RecordType as IRecordType; use wasmer_wit::IRecordType;
use wasmer_wit::ast::FunctionArg as IFunctionArg; use wasmer_wit::ast::FunctionArg as IFunctionArg;
use wasmer_wit::types::InterfaceType as IType; use wasmer_wit::IType;
use serde::Serialize; use serde::Serialize;
use serde::Deserialize; use serde::Deserialize;

View File

@@ -1,7 +1,7 @@
[package] [package]
name = "fce" name = "fce"
description = "Fluence Compute Engine" description = "Fluence Compute Engine"
version = "0.1.14" version = "0.1.15"
authors = ["Fluence Labs"] authors = ["Fluence Labs"]
license = "Apache-2.0" license = "Apache-2.0"
edition = "2018" edition = "2018"
@@ -11,14 +11,14 @@ name = "fce"
path = "src/lib.rs" path = "src/lib.rs"
[dependencies] [dependencies]
fce-wit-interfaces = { path = "../crates/wit-interfaces", version = "0.1.9" } fce-wit-interfaces = { path = "../crates/wit-interfaces", version = "0.1.10" }
fce-wit-parser = { path = "../crates/wit-parser", version = "0.1.11" } fce-wit-parser = { path = "../crates/wit-parser", version = "0.1.12" }
fce-utils = { path = "../crates/utils", version = "0.1.0" } fce-utils = { path = "../crates/utils", version = "0.1.0" }
wasmer-runtime = { package = "wasmer-runtime-fl", version = "0.17.0" } wasmer-runtime = { package = "wasmer-runtime-fl", version = "0.17.0" }
# dynamicfunc-fat-closures allows using state inside DynamicFunc # dynamicfunc-fat-closures allows using state inside DynamicFunc
wasmer-core = { package = "wasmer-runtime-core-fl", version = "0.17.0", features = ["dynamicfunc-fat-closures"] } wasmer-core = { package = "wasmer-runtime-core-fl", version = "0.17.0", features = ["dynamicfunc-fat-closures"] }
wasmer-wit = { package = "wasmer-interface-types-fl", version = "=0.17.20" } wasmer-wit = { package = "wasmer-interface-types-fl", version = "=0.17.24" }
wasmer-wasi = { package = "wasmer-wasi-fl", version = "0.17.1" } wasmer-wasi = { package = "wasmer-wasi-fl", version = "0.17.1" }
multimap = "0.8.1" multimap = "0.8.1"

View File

@@ -25,8 +25,8 @@ use super::Result;
use wasmer_core::memory::ptr::{Array, WasmPtr}; use wasmer_core::memory::ptr::{Array, WasmPtr};
use wasmer_core::vm::Ctx; use wasmer_core::vm::Ctx;
use wasmer_wit::types::RecordType; use wasmer_wit::IRecordType;
use wasmer_wit::vec1::Vec1; use wasmer_wit::NEVec;
use std::rc::Rc; use std::rc::Rc;
@@ -209,12 +209,12 @@ fn lift_array(
fn lift_record( fn lift_record(
ctx: &Ctx, ctx: &Ctx,
record_type: &RecordType, record_type: &IRecordType,
offset: usize, offset: usize,
record_types: &Rc<RecordTypes>, record_types: &Rc<RecordTypes>,
) -> Result<IValue> { ) -> Result<IValue> {
// TODO: make it export from wasmer-interface-types crate // TODO: make it export from wasmer-interface-types crate
fn record_size(record_type: &RecordType) -> usize { fn record_size(record_type: &IRecordType) -> usize {
let mut record_size = 0; let mut record_size = 0;
for field_type in record_type.fields.iter() { for field_type in record_type.fields.iter() {
@@ -316,7 +316,7 @@ fn lift_record(
} }
Ok(IValue::Record( Ok(IValue::Record(
Vec1::new(values.into_iter().collect()) NEVec::new(values.into_iter().collect())
.expect("Record must have at least one field, zero given"), .expect("Record must have at least one field, zero given"),
)) ))
} }

View File

@@ -23,7 +23,7 @@ use crate::call_wasm_func;
use crate::IValue; use crate::IValue;
use wasmer_core::vm::Ctx; use wasmer_core::vm::Ctx;
use wasmer_wit::vec1::Vec1; use wasmer_wit::NEVec;
pub(super) fn ivalue_to_wvalues( pub(super) fn ivalue_to_wvalues(
ctx: &mut Ctx, ctx: &mut Ctx,
@@ -115,7 +115,7 @@ fn lower_array(
(result_pointer as _, result.len() as _) (result_pointer as _, result.len() as _)
} }
fn lower_record(ctx: &mut Ctx, values: Vec1<IValue>, allocate_func: &AllocateFunc) -> i32 { fn lower_record(ctx: &mut Ctx, values: NEVec<IValue>, allocate_func: &AllocateFunc) -> i32 {
let mut result: Vec<u64> = Vec::with_capacity(values.len()); let mut result: Vec<u64> = Vec::with_capacity(values.len());
for value in values.into_vec() { for value in values.into_vec() {

View File

@@ -50,9 +50,9 @@ pub use module::FCEFunctionSignature;
pub use module::from_interface_values; pub use module::from_interface_values;
pub use module::to_interface_value; pub use module::to_interface_value;
pub use wasmer_wit::types::RecordFieldType as IRecordFieldType; pub use wasmer_wit::IRecordFieldType;
pub mod vec1 { pub mod ne_vec {
pub use wasmer_wit::vec1::Vec1; pub use wasmer_wit::NEVec;
} }
pub(crate) type Result<T> = std::result::Result<T, FCEError>; pub(crate) type Result<T> = std::result::Result<T, FCEError>;

View File

@@ -23,13 +23,13 @@ mod fce_module;
pub use wit_instance::RecordTypes; pub use wit_instance::RecordTypes;
pub use wasmer_wit::types::InterfaceType as IType; pub use wasmer_wit::IType;
pub use wasmer_wit::types::RecordType as IRecordType; pub use wasmer_wit::IRecordType;
pub use wasmer_wit::ast::FunctionArg as IFunctionArg; pub use wasmer_wit::ast::FunctionArg as IFunctionArg;
pub use wasmer_wit::values::InterfaceValue as IValue; pub use wasmer_wit::IValue;
pub use fce_module::FCEFunctionSignature; pub use fce_module::FCEFunctionSignature;
pub use wasmer_wit::values::from_interface_values; pub use wasmer_wit::from_interface_values;
pub use wasmer_wit::values::to_interface_value; pub use wasmer_wit::to_interface_value;
pub(crate) use fce_module::FCEModule; pub(crate) use fce_module::FCEModule;
pub(self) use wasmer_core::types::Type as WType; pub(self) use wasmer_core::types::Type as WType;

View File

@@ -42,7 +42,7 @@ pub fn records() {
assert_eq!( assert_eq!(
result, result,
vec![IValue::Record( vec![IValue::Record(
wasmer_wit::vec1::Vec1::new(vec![ wasmer_wit::NEVec::new(vec![
IValue::I32(1), IValue::I32(1),
IValue::S8(1), IValue::S8(1),
IValue::S16(2), IValue::S16(2),

View File

@@ -1,13 +1,13 @@
[package] [package]
name = "fluence-app-service" name = "fluence-app-service"
description = "Fluence Application Service" description = "Fluence Application Service"
version = "0.1.18" version = "0.1.19"
authors = ["Fluence Labs"] authors = ["Fluence Labs"]
license = "Apache-2.0" license = "Apache-2.0"
edition = "2018" edition = "2018"
[dependencies] [dependencies]
fluence-faas = { path = "../fluence-faas", version = "0.1.18" } fluence-faas = { path = "../fluence-faas", version = "0.1.19" }
maplit = "1.0.2" maplit = "1.0.2"
log = "0.4.8" log = "0.4.8"

View File

@@ -63,7 +63,7 @@ pub use fluence_faas::HostImportDescriptor;
pub use fluence_faas::HostImportError; pub use fluence_faas::HostImportError;
pub use fluence_faas::to_interface_value; pub use fluence_faas::to_interface_value;
pub use fluence_faas::from_interface_values; pub use fluence_faas::from_interface_values;
pub use fluence_faas::vec1; pub use fluence_faas::ne_vec;
pub use fluence_faas::CallParameters; pub use fluence_faas::CallParameters;
pub use fluence_faas::SecurityTetraplet; pub use fluence_faas::SecurityTetraplet;

View File

@@ -1,13 +1,13 @@
[package] [package]
name = "fluence-faas" name = "fluence-faas"
description = "Fluence FaaS" description = "Fluence FaaS"
version = "0.1.18" version = "0.1.19"
authors = ["Fluence Labs"] authors = ["Fluence Labs"]
license = "Apache-2.0" license = "Apache-2.0"
edition = "2018" edition = "2018"
[dependencies] [dependencies]
fce = { path = "../engine", version = "0.1.14" } fce = { path = "../engine", version = "0.1.15" }
fce-utils = { path = "../crates/utils", version = "0.1.0" } fce-utils = { path = "../crates/utils", version = "0.1.0" }
fluence-sdk-main = { version = "=0.2.13", features = ["logger"] } fluence-sdk-main = { version = "=0.2.13", features = ["logger"] }
@@ -15,7 +15,7 @@ wasmer-runtime = { package = "wasmer-runtime-fl", version = "0.17.0" }
# dynamicfunc-fat-closures allows using state inside DynamicFunc # dynamicfunc-fat-closures allows using state inside DynamicFunc
wasmer-core = { package = "wasmer-runtime-core-fl", version = "0.17.0", features = ["dynamicfunc-fat-closures"] } wasmer-core = { package = "wasmer-runtime-core-fl", version = "0.17.0", features = ["dynamicfunc-fat-closures"] }
wasmer-wasi = { package = "wasmer-wasi-fl", version = "0.17.1" } wasmer-wasi = { package = "wasmer-wasi-fl", version = "0.17.1" }
wasmer-wit = { package = "wasmer-interface-types-fl", version = "=0.17.20" } wasmer-wit = { package = "wasmer-interface-types-fl", version = "=0.17.24" }
toml = "0.5.6" toml = "0.5.6"
serde = { version = "1.0.111", features = ["derive"] } serde = { version = "1.0.111", features = ["derive"] }

View File

@@ -66,7 +66,7 @@ pub use fce::HostImportDescriptor;
pub use fce::HostImportError; pub use fce::HostImportError;
pub use fce::to_interface_value; pub use fce::to_interface_value;
pub use fce::from_interface_values; pub use fce::from_interface_values;
pub use fce::vec1; pub use fce::ne_vec;
pub use fluence_sdk_main::CallParameters; pub use fluence_sdk_main::CallParameters;
pub use fluence_sdk_main::SecurityTetraplet; pub use fluence_sdk_main::SecurityTetraplet;

View File

@@ -21,7 +21,7 @@ use crate::FaaSError::JsonArgumentsDeserializationError as ArgDeError;
use fce::RecordTypes; use fce::RecordTypes;
use serde_json::Value as JValue; use serde_json::Value as JValue;
use wasmer_wit::vec1::Vec1; use wasmer_wit::NEVec;
use std::collections::HashMap; use std::collections::HashMap;
use std::iter::ExactSizeIterator; use std::iter::ExactSizeIterator;
@@ -197,7 +197,7 @@ fn json_record_type_to_ivalue(
json_value: JValue, json_value: JValue,
record_type_id: &u64, record_type_id: &u64,
record_types: &RecordTypes, record_types: &RecordTypes,
) -> Result<Vec1<IValue>> { ) -> Result<NEVec<IValue>> {
let record_type = record_types.get(record_type_id).ok_or_else(|| { let record_type = record_types.get(record_type_id).ok_or_else(|| {
ArgDeError(format!( ArgDeError(format!(
"record with type id `{}` wasn't found", "record with type id `{}` wasn't found",
@@ -206,7 +206,7 @@ fn json_record_type_to_ivalue(
})?; })?;
match json_value { match json_value {
JValue::Object(json_map) => Ok(Vec1::new(json_map_to_ivalues( JValue::Object(json_map) => Ok(NEVec::new(json_map_to_ivalues(
json_map, json_map,
record_type record_type
.fields .fields
@@ -215,7 +215,7 @@ fn json_record_type_to_ivalue(
record_types, record_types,
)?) )?)
.unwrap()), .unwrap()),
JValue::Array(json_array) => Ok(Vec1::new(json_array_to_ivalues( JValue::Array(json_array) => Ok(NEVec::new(json_array_to_ivalues(
json_array, json_array,
record_type.fields.iter().map(|field| (&field.ty)), record_type.fields.iter().map(|field| (&field.ty)),
record_types, record_types,

View File

@@ -27,8 +27,8 @@ use wasmer_core::import::ImportObject;
use wasmer_core::import::Namespace; use wasmer_core::import::Namespace;
use wasmer_core::vm::Ctx; use wasmer_core::vm::Ctx;
use wasmer_runtime::func; use wasmer_runtime::func;
use wasmer_wit::values::InterfaceValue as IValue; use wasmer_wit::IValue;
use wasmer_wit::types::InterfaceType as IType; use wasmer_wit::IType;
use std::collections::HashMap; use std::collections::HashMap;
use std::cell::RefCell; use std::cell::RefCell;

View File

@@ -57,7 +57,7 @@ pub fn records() {
assert_eq!( assert_eq!(
result1, result1,
vec![IValue::Record( vec![IValue::Record(
wasmer_wit::vec1::Vec1::new(vec![ wasmer_wit::NEVec::new(vec![
IValue::I32(1), IValue::I32(1),
IValue::S8(1), IValue::S8(1),
IValue::S16(2), IValue::S16(2),

View File

@@ -1,7 +1,7 @@
[package] [package]
name = "fcli" name = "fcli"
description = "Fluence FCE command line tool" description = "Fluence FCE command line tool"
version = "0.1.13" version = "0.1.14"
authors = ["Fluence Labs"] authors = ["Fluence Labs"]
repository = "https://github.com/fluencelabs/fce/tools/cli" repository = "https://github.com/fluencelabs/fce/tools/cli"
license = "Apache-2.0" license = "Apache-2.0"
@@ -12,8 +12,8 @@ name = "fce"
path = "src/main.rs" path = "src/main.rs"
[dependencies] [dependencies]
fce-wit-generator = { path = "../../crates/wit-generator", version = "0.1.12" } fce-wit-generator = { path = "../../crates/wit-generator", version = "0.1.14" }
fce-wit-parser = { path = "../../crates/wit-parser", version = "0.1.11" } fce-wit-parser = { path = "../../crates/wit-parser", version = "0.1.12" }
anyhow = "1.0.31" anyhow = "1.0.31"
clap = "2.33.1" clap = "2.33.1"

View File

@@ -1,7 +1,7 @@
[package] [package]
name = "frepl" name = "frepl"
description = "Fluence FCE REPL intended for testing purposes" description = "Fluence FCE REPL intended for testing purposes"
version = "0.1.23" version = "0.1.24"
authors = ["Fluence Labs"] authors = ["Fluence Labs"]
repository = "https://github.com/fluencelabs/fce/tools/repl" repository = "https://github.com/fluencelabs/fce/tools/repl"
license = "Apache-2.0" license = "Apache-2.0"
@@ -12,7 +12,7 @@ name = "fce-repl"
path = "src/main.rs" path = "src/main.rs"
[dependencies] [dependencies]
fluence-app-service = { path = "../../fluence-app-service", version = "0.1.18", features = ["raw-module-api"] } fluence-app-service = { path = "../../fluence-app-service", version = "0.1.19", features = ["raw-module-api"] }
fluence-sdk-main = { version = "=0.2.13", features = ["logger"] } fluence-sdk-main = { version = "=0.2.13", features = ["logger"] }
anyhow = "1.0.31" anyhow = "1.0.31"