From 939c2e24c09d2c95720ae945c97962c58e2914e7 Mon Sep 17 00:00:00 2001 From: vms Date: Wed, 3 Jun 2020 23:19:07 +0300 Subject: [PATCH] replace old FCE with new FCE with WIT support --- .circleci/config.yml | 118 +- Cargo.lock | 1118 +--------- Cargo.toml | 9 +- .../export_test/Cargo.toml | 0 .../export_test/src/lib.rs | 0 .../export_test/src/mem.rs | 0 .../export_test/src/result.rs | 0 .../examples => examples}/export_test/wit | 0 .../ipfs_node/Cargo.toml | 0 .../ipfs_node/src/lib.rs | 0 .../ipfs_node/src/mem.rs | 0 .../ipfs_node/src/result.rs | 0 {wit_fce/examples => examples}/ipfs_node/wit | 0 .../examples => examples}/ipfs_rpc/Cargo.toml | 0 .../examples => examples}/ipfs_rpc/src/lib.rs | 0 .../examples => examples}/ipfs_rpc/src/mem.rs | 0 .../ipfs_rpc/src/result.rs | 0 {wit_fce/examples => examples}/ipfs_rpc/wit | 0 fce/Cargo.lock | 1975 ----------------- fce/Cargo.toml | 37 +- fce/src/lib.rs | 31 - fce/src/main.rs | 147 +- fce/src/vm/config.rs | 100 +- fce/src/vm/errors.rs | 50 +- fce/src/vm/fce.rs | 111 +- {wit_fce => fce}/src/vm/fce_service.rs | 0 {wit_fce => fce}/src/vm/instance/exports.rs | 0 .../src/vm/instance/fce_module.rs | 0 {wit_fce => fce}/src/vm/instance/memory.rs | 0 {wit_fce => fce}/src/vm/instance/mod.rs | 0 .../src/vm/instance/type_converters.rs | 0 .../src/vm/instance/wit_function.rs | 0 .../src/vm/instance/wit_instance.rs | 0 fce/src/vm/mod.rs | 17 +- fce/src/vm/module/abi.rs | 46 - fce/src/vm/module/api.rs | 31 - fce/src/vm/module/fce_module.rs | 220 -- fce/src/vm/module/fce_result.rs | 26 - fce/src/vm/module/mod.rs | 24 - fce/src/vm/prepare.rs | 2 +- fce/src/vm/service.rs | 45 - {fce/tests => tests}/downloader.rs | 0 {fce/tests => tests}/single_module.rs | 0 .../wit_embedder}/Cargo.toml | 0 .../wit_embedder}/src/custom.rs | 0 .../wit_embedder}/src/embedder.rs | 0 .../wit_embedder}/src/extracter.rs | 0 .../wit_embedder}/src/main.rs | 0 wit_fce/Cargo.toml | 15 - wit_fce/src/main.rs | 77 - wit_fce/src/misc/mod.rs | 19 - wit_fce/src/misc/slice_pretty_printer.rs | 37 - wit_fce/src/vm/config.rs | 102 - wit_fce/src/vm/errors.rs | 146 -- wit_fce/src/vm/fce.rs | 92 - wit_fce/src/vm/mod.rs | 28 - wit_fce/src/vm/prepare.rs | 80 - 57 files changed, 238 insertions(+), 4465 deletions(-) rename {wit_fce/examples => examples}/export_test/Cargo.toml (100%) rename {wit_fce/examples => examples}/export_test/src/lib.rs (100%) rename {wit_fce/examples => examples}/export_test/src/mem.rs (100%) rename {wit_fce/examples => examples}/export_test/src/result.rs (100%) rename {wit_fce/examples => examples}/export_test/wit (100%) rename {wit_fce/examples => examples}/ipfs_node/Cargo.toml (100%) rename {wit_fce/examples => examples}/ipfs_node/src/lib.rs (100%) rename {wit_fce/examples => examples}/ipfs_node/src/mem.rs (100%) rename {wit_fce/examples => examples}/ipfs_node/src/result.rs (100%) rename {wit_fce/examples => examples}/ipfs_node/wit (100%) rename {wit_fce/examples => examples}/ipfs_rpc/Cargo.toml (100%) rename {wit_fce/examples => examples}/ipfs_rpc/src/lib.rs (100%) rename {wit_fce/examples => examples}/ipfs_rpc/src/mem.rs (100%) rename {wit_fce/examples => examples}/ipfs_rpc/src/result.rs (100%) rename {wit_fce/examples => examples}/ipfs_rpc/wit (100%) delete mode 100644 fce/Cargo.lock delete mode 100644 fce/src/lib.rs rename {wit_fce => fce}/src/vm/fce_service.rs (100%) rename {wit_fce => fce}/src/vm/instance/exports.rs (100%) rename {wit_fce => fce}/src/vm/instance/fce_module.rs (100%) rename {wit_fce => fce}/src/vm/instance/memory.rs (100%) rename {wit_fce => fce}/src/vm/instance/mod.rs (100%) rename {wit_fce => fce}/src/vm/instance/type_converters.rs (100%) rename {wit_fce => fce}/src/vm/instance/wit_function.rs (100%) rename {wit_fce => fce}/src/vm/instance/wit_instance.rs (100%) delete mode 100644 fce/src/vm/module/abi.rs delete mode 100644 fce/src/vm/module/api.rs delete mode 100644 fce/src/vm/module/fce_module.rs delete mode 100644 fce/src/vm/module/fce_result.rs delete mode 100644 fce/src/vm/module/mod.rs delete mode 100644 fce/src/vm/service.rs rename {fce/tests => tests}/downloader.rs (100%) rename {fce/tests => tests}/single_module.rs (100%) rename {wit_embedder => tools/wit_embedder}/Cargo.toml (100%) rename {wit_embedder => tools/wit_embedder}/src/custom.rs (100%) rename {wit_embedder => tools/wit_embedder}/src/embedder.rs (100%) rename {wit_embedder => tools/wit_embedder}/src/extracter.rs (100%) rename {wit_embedder => tools/wit_embedder}/src/main.rs (100%) delete mode 100644 wit_fce/Cargo.toml delete mode 100644 wit_fce/src/main.rs delete mode 100644 wit_fce/src/misc/mod.rs delete mode 100644 wit_fce/src/misc/slice_pretty_printer.rs delete mode 100644 wit_fce/src/vm/config.rs delete mode 100644 wit_fce/src/vm/errors.rs delete mode 100644 wit_fce/src/vm/fce.rs delete mode 100644 wit_fce/src/vm/mod.rs delete mode 100644 wit_fce/src/vm/prepare.rs diff --git a/.circleci/config.yml b/.circleci/config.yml index bf827857..ec231aba 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,59 +1,59 @@ -version: 2.1 -jobs: - fce: - docker: - - image: circleci/rust:latest - environment: - RUST_BACKTRACE: 1 - #RUST_TEST_THREADS: 1 - steps: - - checkout - - restore_cache: - keys: - - fce01-{{ checksum "fce/Cargo.toml" }} - - run: | - rustup toolchain install stable - rustup component add rustfmt - rustup component add clippy - cd fce - cargo fmt --all -- --check --color always - cargo build -v --all-features - cargo test -v --all-features - cargo clippy -v - - save_cache: - paths: - - ~/.cargo - - ~/.rustup - key: fce01-{{ checksum "fce/Cargo.toml" }} - wit_embedder: - docker: - - image: circleci/rust:latest - environment: - RUST_BACKTRACE: 1 - #RUST_TEST_THREADS: 1 - steps: - - checkout - - restore_cache: - keys: - - wit_embedder01-{{ checksum "wit_embedder/Cargo.toml" }} - - run: | - rustup toolchain install stable - rustup component add rustfmt - rustup component add clippy - cd wit_embedder - cargo fmt --all -- --check --color always - cargo build -v --all-features - cargo test -v --all-features - cargo clippy -v - - save_cache: - paths: - - ~/.cargo - - ~/.rustup - key: wit_embedder01-{{ checksum "wit_embedder/Cargo.toml" }} - -workflows: - version: 2.1 - fce: - jobs: - - fce - - wit_embedder +#version: 2.1 +#jobs: +# fce: +# docker: +# - image: circleci/rust:latest +# environment: +# RUST_BACKTRACE: 1 +# #RUST_TEST_THREADS: 1 +# steps: +# - checkout +# - restore_cache: +# keys: +# - fce01-{{ checksum "fce/Cargo.toml" }} +# - run: | +# rustup toolchain install stable +# rustup component add rustfmt +# rustup component add clippy +# cd fce +# cargo fmt --all -- --check --color always +# cargo build -v --all-features +# cargo test -v --all-features +# cargo clippy -v +# - save_cache: +# paths: +# - ~/.cargo +# - ~/.rustup +# key: fce01-{{ checksum "fce/Cargo.toml" }} +# wit_embedder: +# docker: +# - image: circleci/rust:latest +# environment: +# RUST_BACKTRACE: 1 +# #RUST_TEST_THREADS: 1 +# steps: +# - checkout +# - restore_cache: +# keys: +# - wit_embedder01-{{ checksum "wit_embedder/Cargo.toml" }} +# - run: | +# rustup toolchain install stable +# rustup component add rustfmt +# rustup component add clippy +# cd wit_embedder +# cargo fmt --all -- --check --color always +# cargo build -v --all-features +# cargo test -v --all-features +# cargo clippy -v +# - save_cache: +# paths: +# - ~/.cargo +# - ~/.rustup +# key: wit_embedder01-{{ checksum "wit_embedder/Cargo.toml" }} +# +#workflows: +# version: 2.1 +# fce: +# jobs: +# - fce +# - wit_embedder diff --git a/Cargo.lock b/Cargo.lock index 43872cb5..96579f55 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,25 +1,5 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -[[package]] -name = "FCE" -version = "0.1.0" -dependencies = [ - "boolinator", - "bytes", - "exitfailure", - "failure", - "lazy_static", - "parity-wasm", - "pwasm-utils", - "reqwest", - "rustyline", - "sha2", - "tokio", - "wasmer-runtime 0.17.0 (git+http://github.com/fluencelabs/wasmer?branch=fluence)", - "wasmer-runtime-core 0.17.0 (git+http://github.com/fluencelabs/wasmer?branch=fluence)", - "wasmer-wasi 0.17.0 (git+http://github.com/fluencelabs/wasmer?branch=fluence)", -] - [[package]] name = "addr2line" version = "0.12.1" @@ -35,7 +15,7 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" dependencies = [ - "winapi 0.3.8", + "winapi", ] [[package]] @@ -73,7 +53,7 @@ checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" dependencies = [ "hermit-abi", "libc", - "winapi 0.3.8", + "winapi", ] [[package]] @@ -95,12 +75,6 @@ dependencies = [ "rustc-demangle", ] -[[package]] -name = "base64" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7" - [[package]] name = "bincode" version = "1.2.1" @@ -117,17 +91,6 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" -[[package]] -name = "blake2b_simd" -version = "0.5.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8fb2d74254a3a0b5cac33ac9f8ed0e44aa50378d9dbb2e5d83bd21ed1dc2c8a" -dependencies = [ - "arrayref", - "arrayvec 0.5.1", - "constant_time_eq", -] - [[package]] name = "blake3" version = "0.3.4" @@ -143,57 +106,12 @@ dependencies = [ "digest", ] -[[package]] -name = "block-buffer" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" -dependencies = [ - "block-padding", - "byte-tools", - "byteorder", - "generic-array", -] - -[[package]] -name = "block-padding" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5" -dependencies = [ - "byte-tools", -] - -[[package]] -name = "boolinator" -version = "2.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfa8873f51c92e232f9bac4065cddef41b714152812bfc5f7672ba16d6ef8cd9" - -[[package]] -name = "bumpalo" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5356f1d23ee24a1f785a56d1d1a5f0fd5b0f6a0c0fb2412ce11da71649ab78f6" - -[[package]] -name = "byte-tools" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" - [[package]] name = "byteorder" version = "1.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08c48aae112d48ed9f069b33538ea9e3e90aa263cfa3d1c24309612b1f7472de" -[[package]] -name = "bytes" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "130aac562c0dd69c56b3b1cc8ffd2e17be31d0b6c25b61c96b76231aa23e39e1" - [[package]] name = "cc" version = "1.0.54" @@ -236,22 +154,6 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" -[[package]] -name = "core-foundation" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57d24c7a13c43e870e37c1556b74555437870a04514f7685f5b354e090567171" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "core-foundation-sys" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac" - [[package]] name = "cranelift-bforest" version = "0.59.0" @@ -388,49 +290,12 @@ dependencies = [ "generic-array", ] -[[package]] -name = "dirs" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13aea89a5c93364a98e9b37b2fa237effbb694d5cfe01c5b70941f7eb087d5e3" -dependencies = [ - "cfg-if", - "dirs-sys", -] - -[[package]] -name = "dirs-sys" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afa0b23de8fd801745c471deffa6e12d248f962c9fd4b4c33787b055599bde7b" -dependencies = [ - "cfg-if", - "libc", - "redox_users", - "winapi 0.3.8", -] - -[[package]] -name = "dtoa" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4358a9e11b9a09cf52383b451b49a169e8d797b68aa02301ff586d70d9661ea3" - [[package]] name = "either" version = "1.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bb1f6b1ce1c140482ea30ddd3335fc0024ac7ee112895426e0a629a6c20adfe3" -[[package]] -name = "encoding_rs" -version = "0.8.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8ac63f94732332f44fe654443c46f6375d1939684c17b0afb6cb56b0456e171" -dependencies = [ - "cfg-if", -] - [[package]] name = "erased-serde" version = "0.3.11" @@ -448,7 +313,7 @@ checksum = "b480f641ccf0faf324e20c1d3e53d81b7484c698b42ea677f6907ae4db195371" dependencies = [ "errno-dragonfly", "libc", - "winapi 0.3.8", + "winapi", ] [[package]] @@ -496,88 +361,6 @@ dependencies = [ "synstructure", ] -[[package]] -name = "fake-simd" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" - -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - -[[package]] -name = "foreign-types" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" -dependencies = [ - "foreign-types-shared", -] - -[[package]] -name = "foreign-types-shared" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" - -[[package]] -name = "fuchsia-zircon" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" -dependencies = [ - "bitflags", - "fuchsia-zircon-sys", -] - -[[package]] -name = "fuchsia-zircon-sys" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" - -[[package]] -name = "futures-channel" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f366ad74c28cca6ba456d95e6422883cfb4b252a83bed929c83abfdbbf2967d5" -dependencies = [ - "futures-core", -] - -[[package]] -name = "futures-core" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59f5fff90fd5d971f936ad674802482ba441b6f09ba5e15fd8b39145582ca399" - -[[package]] -name = "futures-sink" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f2032893cb734c7a05d85ce0cc8b8c4075278e93b24b66f9de99d6eb0fa8acc" - -[[package]] -name = "futures-task" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdb66b5f09e22019b1ab0830f7785bcea8e7a42148683f99214f73f8ec21a626" - -[[package]] -name = "futures-util" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8764574ff08b701a084482c3c7031349104b07ac897393010494beaa18ce32c6" -dependencies = [ - "futures-core", - "futures-task", - "pin-project", - "pin-utils", -] - [[package]] name = "gcc" version = "0.3.55" @@ -641,25 +424,6 @@ version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bcc8e0c9bce37868955864dbecd2b1ab2bdf967e6f28066d65aaac620444b65c" -[[package]] -name = "h2" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79b7246d7e4b979c03fa093da39cfb3617a96bbeee6310af63991668d7e843ff" -dependencies = [ - "bytes", - "fnv", - "futures-core", - "futures-sink", - "futures-util", - "http", - "indexmap", - "log", - "slab", - "tokio", - "tokio-util", -] - [[package]] name = "heck" version = "0.3.1" @@ -684,87 +448,12 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "644f9158b2f133fd50f5fb3242878846d9eb792e445c893805ff0e3824006e35" -[[package]] -name = "http" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28d569972648b2c512421b5f2a405ad6ac9666547189d0c5477a3f200f3e02f9" -dependencies = [ - "bytes", - "fnv", - "itoa", -] - -[[package]] -name = "http-body" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13d5ff830006f7646652e057693569bfe0d51760c0085a071769d142a205111b" -dependencies = [ - "bytes", - "http", -] - -[[package]] -name = "httparse" -version = "1.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd179ae861f0c2e53da70d892f5f3029f9594be0c41dc5269cd371691b1dc2f9" - -[[package]] -name = "hyper" -version = "0.13.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96816e1d921eca64d208a85aab4f7798455a8e34229ee5a88c935bdee1b78b14" -dependencies = [ - "bytes", - "futures-channel", - "futures-core", - "futures-util", - "h2", - "http", - "http-body", - "httparse", - "itoa", - "log", - "net2", - "pin-project", - "time", - "tokio", - "tower-service", - "want", -] - -[[package]] -name = "hyper-tls" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3adcd308402b9553630734e9c36b77a7e48b3821251ca2493e8cd596763aafaa" -dependencies = [ - "bytes", - "hyper", - "native-tls", - "tokio", - "tokio-tls", -] - [[package]] name = "id-arena" version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "25a2bc672d1148e28034f176e01fffebb08b35768468cc954630da77a1449005" -[[package]] -name = "idna" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02e2673c30ee86b5b96a9cb52ad15718aa1f966f5ab9ad54a8b95d5ca33120a9" -dependencies = [ - "matches", - "unicode-bidi", - "unicode-normalization", -] - [[package]] name = "indexmap" version = "1.3.2" @@ -797,15 +486,6 @@ dependencies = [ "syn", ] -[[package]] -name = "iovec" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e" -dependencies = [ - "libc", -] - [[package]] name = "ipfs_node" version = "0.1.0" @@ -814,31 +494,6 @@ version = "0.1.0" name = "ipfs_rpc" version = "0.1.0" -[[package]] -name = "itoa" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8b7a7c0c47db5545ed3fef7468ee7bb5b74691498139e4b3f6a20685dc6dd8e" - -[[package]] -name = "js-sys" -version = "0.3.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce10c23ad2ea25ceca0093bd3192229da4c5b3c0f2de499c1ecac0d98d452177" -dependencies = [ - "wasm-bindgen", -] - -[[package]] -name = "kernel32-sys" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" -dependencies = [ - "winapi 0.2.8", - "winapi-build", -] - [[package]] name = "lazy_static" version = "1.4.0" @@ -888,12 +543,6 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "matches" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08" - [[package]] name = "maybe-uninit" version = "2.0.0" @@ -913,7 +562,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6585fd95e7bb50d6cc31e20d4cf9afb4e2ba16c5846fc76793f11218da9c475b" dependencies = [ "libc", - "winapi 0.3.8", + "winapi", ] [[package]] @@ -925,53 +574,6 @@ dependencies = [ "autocfg", ] -[[package]] -name = "mime" -version = "0.3.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d" - -[[package]] -name = "mime_guess" -version = "2.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2684d4c2e97d99848d30b324b00c8fcc7e5c897b7cbb5819b09e7c90e8baf212" -dependencies = [ - "mime", - "unicase", -] - -[[package]] -name = "mio" -version = "0.6.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fce347092656428bc8eaf6201042cb551b8d67855af7374542a92a0fbfcac430" -dependencies = [ - "cfg-if", - "fuchsia-zircon", - "fuchsia-zircon-sys", - "iovec", - "kernel32-sys", - "libc", - "log", - "miow", - "net2", - "slab", - "winapi 0.2.8", -] - -[[package]] -name = "miow" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919" -dependencies = [ - "kernel32-sys", - "net2", - "winapi 0.2.8", - "ws2_32-sys", -] - [[package]] name = "multimap" version = "0.8.1" @@ -981,35 +583,6 @@ dependencies = [ "serde", ] -[[package]] -name = "native-tls" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b0d88c06fe90d5ee94048ba40409ef1d9315d86f6f38c2efdaad4fb50c58b2d" -dependencies = [ - "lazy_static", - "libc", - "log", - "openssl", - "openssl-probe", - "openssl-sys", - "schannel", - "security-framework", - "security-framework-sys", - "tempfile", -] - -[[package]] -name = "net2" -version = "0.2.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ba7c918ac76704fb42afcbbb43891e72731f3dcca3bef2a19786297baf14af7" -dependencies = [ - "cfg-if", - "libc", - "winapi 0.3.8", -] - [[package]] name = "nix" version = "0.15.0" @@ -1023,19 +596,6 @@ dependencies = [ "void", ] -[[package]] -name = "nix" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50e4785f2c3b7589a0d0c1dd60285e1188adac4006e8abd6dd578e1567027363" -dependencies = [ - "bitflags", - "cc", - "cfg-if", - "libc", - "void", -] - [[package]] name = "nodrop" version = "0.1.14" @@ -1069,45 +629,6 @@ version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9cbca9424c482ee628fa549d9c812e2cd22f1180b9222c9200fdfa6eb31aecb2" -[[package]] -name = "opaque-debug" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" - -[[package]] -name = "openssl" -version = "0.10.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cee6d85f4cb4c4f59a6a85d5b68a233d280c82e29e822913b9c8b129fbf20bdd" -dependencies = [ - "bitflags", - "cfg-if", - "foreign-types", - "lazy_static", - "libc", - "openssl-sys", -] - -[[package]] -name = "openssl-probe" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de" - -[[package]] -name = "openssl-sys" -version = "0.9.57" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7410fef80af8ac071d4f63755c0ab89ac3df0fd1ea91f1d1f37cf5cec4395990" -dependencies = [ - "autocfg", - "cc", - "libc", - "pkg-config", - "vcpkg", -] - [[package]] name = "options" version = "0.5.1" @@ -1121,7 +642,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eebde548fbbf1ea81a99b128872779c437752fb99f217c45245e1a61dcd9edcd" dependencies = [ "libc", - "winapi 0.3.8", + "winapi", ] [[package]] @@ -1151,59 +672,9 @@ dependencies = [ "libc", "redox_syscall", "smallvec", - "winapi 0.3.8", + "winapi", ] -[[package]] -name = "percent-encoding" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" - -[[package]] -name = "pin-project" -version = "0.4.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edc93aeee735e60ecb40cf740eb319ff23eab1c5748abfdb5c180e4ce49f7791" -dependencies = [ - "pin-project-internal", -] - -[[package]] -name = "pin-project-internal" -version = "0.4.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e58db2081ba5b4c93bd6be09c40fd36cb9193a8336c384f3b40012e531aa7e40" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "pin-project-lite" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7505eeebd78492e0f6108f7171c4948dbb120ee8119d9d77d0afa5469bef67f" - -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - -[[package]] -name = "pkg-config" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05da548ad6865900e60eaba7f589cc0783590a92e940c26953ff81ddbab2d677" - -[[package]] -name = "ppv-lite86" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "237a5ed80e274dbc66f86bd59c1e25edc039660be53194b5fe0a482e0f2612ea" - [[package]] name = "proc-macro2" version = "1.0.17" @@ -1233,47 +704,6 @@ dependencies = [ "proc-macro2", ] -[[package]] -name = "rand" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" -dependencies = [ - "getrandom", - "libc", - "rand_chacha", - "rand_core", - "rand_hc", -] - -[[package]] -name = "rand_chacha" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" -dependencies = [ - "ppv-lite86", - "rand_core", -] - -[[package]] -name = "rand_core" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" -dependencies = [ - "getrandom", -] - -[[package]] -name = "rand_hc" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" -dependencies = [ - "rand_core", -] - [[package]] name = "raw-cpuid" version = "7.0.3" @@ -1315,73 +745,6 @@ version = "0.1.56" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84" -[[package]] -name = "redox_users" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09b23093265f8d200fa7b4c2c76297f47e681c655f6f1285a8780d6a022f7431" -dependencies = [ - "getrandom", - "redox_syscall", - "rust-argon2", -] - -[[package]] -name = "remove_dir_all" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a83fa3702a688b9359eccba92d153ac33fd2e8462f9e0e3fdf155239ea7792e" -dependencies = [ - "winapi 0.3.8", -] - -[[package]] -name = "reqwest" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02b81e49ddec5109a9dcfc5f2a317ff53377c915e9ae9d4f2fb50914b85614e2" -dependencies = [ - "base64", - "bytes", - "encoding_rs", - "futures-core", - "futures-util", - "http", - "http-body", - "hyper", - "hyper-tls", - "js-sys", - "lazy_static", - "log", - "mime", - "mime_guess", - "native-tls", - "percent-encoding", - "pin-project-lite", - "serde", - "serde_urlencoded", - "time", - "tokio", - "tokio-tls", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "winreg", -] - -[[package]] -name = "rust-argon2" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bc8af4bda8e1ff4932523b94d3dd20ee30a87232323eda55903ffd71d2fb017" -dependencies = [ - "base64", - "blake2b_simd", - "constant_time_eq", - "crossbeam-utils", -] - [[package]] name = "rustc-demangle" version = "0.1.16" @@ -1397,70 +760,18 @@ dependencies = [ "semver", ] -[[package]] -name = "rustyline" -version = "6.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cd20b28d972040c627e209eb29f19c24a71a19d661cc5a220089176e20ee202" -dependencies = [ - "cfg-if", - "dirs", - "libc", - "log", - "memchr", - "nix 0.17.0", - "scopeguard", - "unicode-segmentation", - "unicode-width", - "utf8parse", - "winapi 0.3.8", -] - [[package]] name = "ryu" version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed3d612bc64430efeb3f7ee6ef26d590dce0c43249217bddc62112540c7941e1" -[[package]] -name = "schannel" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f05ba609c234e60bee0d547fe94a4c7e9da733d1c962cf6e59efa4cd9c8bc75" -dependencies = [ - "lazy_static", - "winapi 0.3.8", -] - [[package]] name = "scopeguard" version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" -[[package]] -name = "security-framework" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64808902d7d99f78eaddd2b4e2509713babc3dc3c85ad6f4c447680f3c01e535" -dependencies = [ - "bitflags", - "core-foundation", - "core-foundation-sys", - "libc", - "security-framework-sys", -] - -[[package]] -name = "security-framework-sys" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17bf11d99252f512695eb468de5516e5cf75455521e69dfe343f3b74e4748405" -dependencies = [ - "core-foundation-sys", - "libc", -] - [[package]] name = "semver" version = "0.9.0" @@ -1515,47 +826,6 @@ dependencies = [ "syn", ] -[[package]] -name = "serde_json" -version = "1.0.53" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "993948e75b189211a9b31a7528f950c6adc21f9720b6438ff80a7fa2f864cea2" -dependencies = [ - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "serde_urlencoded" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ec5d77e2d4c73717816afac02670d5c4f534ea95ed430442cad02e7a6e32c97" -dependencies = [ - "dtoa", - "itoa", - "serde", - "url", -] - -[[package]] -name = "sha2" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a256f46ea78a0c0d9ff00077504903ac881a1dafdc20da66545699e7776b3e69" -dependencies = [ - "block-buffer", - "digest", - "fake-simd", - "opaque-debug", -] - -[[package]] -name = "slab" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" - [[package]] name = "smallvec" version = "1.4.0" @@ -1609,20 +879,6 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab0e7238dcc7b40a7be719a25365910f6807bd864f4cce6b2e6b873658e2b19d" -[[package]] -name = "tempfile" -version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9" -dependencies = [ - "cfg-if", - "libc", - "rand", - "redox_syscall", - "remove_dir_all", - "winapi 0.3.8", -] - [[package]] name = "textwrap" version = "0.11.0" @@ -1659,74 +915,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438" dependencies = [ "libc", - "winapi 0.3.8", + "winapi", ] -[[package]] -name = "tokio" -version = "0.2.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d099fa27b9702bed751524694adbe393e18b36b204da91eb1cbbbbb4a5ee2d58" -dependencies = [ - "bytes", - "fnv", - "futures-core", - "iovec", - "lazy_static", - "memchr", - "mio", - "pin-project-lite", - "slab", - "tokio-macros", -] - -[[package]] -name = "tokio-macros" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0c3acc6aa564495a0f2e1d59fab677cd7f81a19994cfc7f3ad0e64301560389" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "tokio-tls" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a70f4fcd7b3b24fb194f837560168208f669ca8cb70d0c4b862944452396343" -dependencies = [ - "native-tls", - "tokio", -] - -[[package]] -name = "tokio-util" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be8242891f2b6cbef26a2d7e8605133c2c554cd35b3e4948ea892d6d68436499" -dependencies = [ - "bytes", - "futures-core", - "futures-sink", - "log", - "pin-project-lite", - "tokio", -] - -[[package]] -name = "tower-service" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e987b6bf443f4b5b3b6f38704195592cca41c5bb7aedd3c3693c7081f8289860" - -[[package]] -name = "try-lock" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e604eb7b43c06650e854be16a2a03155743d3752dd1c943f6829e26b7a36e382" - [[package]] name = "typenum" version = "1.12.0" @@ -1757,33 +948,6 @@ dependencies = [ "syn", ] -[[package]] -name = "unicase" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6" -dependencies = [ - "version_check", -] - -[[package]] -name = "unicode-bidi" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5" -dependencies = [ - "matches", -] - -[[package]] -name = "unicode-normalization" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5479532badd04e128284890390c1e876ef7a993d0570b3597ae43dfa1d59afa4" -dependencies = [ - "smallvec", -] - [[package]] name = "unicode-segmentation" version = "1.6.0" @@ -1802,29 +966,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c" -[[package]] -name = "url" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "829d4a8476c35c9bf0bbce5a3b23f4106f79728039b726d292bb93bc106787cb" -dependencies = [ - "idna", - "matches", - "percent-encoding", -] - -[[package]] -name = "utf8parse" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "936e4b492acfd135421d8dca4b1aa80a7bfc26e702ef3af710e0752684df5372" - -[[package]] -name = "vcpkg" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fc439f2794e98976c88a2a2dafce96b930fe8010b0a256b3c2199a773933168" - [[package]] name = "vec_map" version = "0.8.2" @@ -1869,115 +1010,12 @@ dependencies = [ "syn", ] -[[package]] -name = "want" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" -dependencies = [ - "log", - "try-lock", -] - [[package]] name = "wasi" version = "0.9.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" -[[package]] -name = "wasm-bindgen" -version = "0.2.63" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c2dc4aa152834bc334f506c1a06b866416a8b6697d5c9f75b9a689c8486def0" -dependencies = [ - "cfg-if", - "serde", - "serde_json", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.63" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ded84f06e0ed21499f6184df0e0cb3494727b0c5da89534e0fcc55c51d812101" -dependencies = [ - "bumpalo", - "lazy_static", - "log", - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-futures" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64487204d863f109eb77e8462189d111f27cb5712cc9fdb3461297a76963a2f6" -dependencies = [ - "cfg-if", - "js-sys", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.63" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "838e423688dac18d73e31edce74ddfac468e37b1506ad163ffaf0a46f703ffe3" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.63" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3156052d8ec77142051a533cdd686cba889537b213f948cd1d20869926e68e92" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.63" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9ba19973a58daf4db6f352eda73dc0e289493cd29fb2632eb172085b6521acd" - -[[package]] -name = "wasmer-clif-backend" -version = "0.17.0" -source = "git+http://github.com/fluencelabs/wasmer?branch=fluence#0575a7ed3f8742c3842afbc455072d957af7f6ce" -dependencies = [ - "byteorder", - "cranelift-codegen", - "cranelift-entity", - "cranelift-native", - "libc", - "nix 0.15.0", - "rayon", - "serde", - "serde-bench", - "serde_bytes", - "serde_derive", - "target-lexicon", - "wasmer-clif-fork-frontend", - "wasmer-clif-fork-wasm", - "wasmer-runtime-core 0.17.0 (git+http://github.com/fluencelabs/wasmer?branch=fluence)", - "wasmer-win-exception-handler 0.17.0 (git+http://github.com/fluencelabs/wasmer?branch=fluence)", - "wasmparser 0.51.4", - "winapi 0.3.8", -] - [[package]] name = "wasmer-clif-backend" version = "0.17.0" @@ -1989,7 +1027,7 @@ dependencies = [ "cranelift-entity", "cranelift-native", "libc", - "nix 0.15.0", + "nix", "rayon", "serde", "serde-bench", @@ -1998,10 +1036,10 @@ dependencies = [ "target-lexicon", "wasmer-clif-fork-frontend", "wasmer-clif-fork-wasm", - "wasmer-runtime-core 0.17.0 (registry+https://github.com/rust-lang/crates.io-index)", - "wasmer-win-exception-handler 0.17.0 (registry+https://github.com/rust-lang/crates.io-index)", + "wasmer-runtime-core", + "wasmer-win-exception-handler", "wasmparser 0.51.4", - "winapi 0.3.8", + "winapi", ] [[package]] @@ -2040,19 +1078,6 @@ dependencies = [ "wast", ] -[[package]] -name = "wasmer-runtime" -version = "0.17.0" -source = "git+http://github.com/fluencelabs/wasmer?branch=fluence#0575a7ed3f8742c3842afbc455072d957af7f6ce" -dependencies = [ - "lazy_static", - "memmap", - "serde", - "serde_derive", - "wasmer-clif-backend 0.17.0 (git+http://github.com/fluencelabs/wasmer?branch=fluence)", - "wasmer-runtime-core 0.17.0 (git+http://github.com/fluencelabs/wasmer?branch=fluence)", -] - [[package]] name = "wasmer-runtime" version = "0.17.0" @@ -2063,36 +1088,8 @@ dependencies = [ "memmap", "serde", "serde_derive", - "wasmer-clif-backend 0.17.0 (registry+https://github.com/rust-lang/crates.io-index)", - "wasmer-runtime-core 0.17.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "wasmer-runtime-core" -version = "0.17.0" -source = "git+http://github.com/fluencelabs/wasmer?branch=fluence#0575a7ed3f8742c3842afbc455072d957af7f6ce" -dependencies = [ - "bincode", - "blake3", - "cc", - "digest", - "errno", - "hex", - "indexmap", - "lazy_static", - "libc", - "nix 0.15.0", - "page_size", - "parking_lot", - "rustc_version", - "serde", - "serde-bench", - "serde_bytes", - "serde_derive", - "smallvec", - "target-lexicon", - "wasmparser 0.51.4", - "winapi 0.3.8", + "wasmer-clif-backend", + "wasmer-runtime-core", ] [[package]] @@ -2110,7 +1107,7 @@ dependencies = [ "indexmap", "lazy_static", "libc", - "nix 0.15.0", + "nix", "page_size", "parking_lot", "rustc_version", @@ -2121,26 +1118,7 @@ dependencies = [ "smallvec", "target-lexicon", "wasmparser 0.51.4", - "winapi 0.3.8", -] - -[[package]] -name = "wasmer-wasi" -version = "0.17.0" -source = "git+http://github.com/fluencelabs/wasmer?branch=fluence#0575a7ed3f8742c3842afbc455072d957af7f6ce" -dependencies = [ - "bincode", - "byteorder", - "generational-arena", - "getrandom", - "libc", - "log", - "serde", - "thiserror", - "time", - "typetag", - "wasmer-runtime-core 0.17.0 (git+http://github.com/fluencelabs/wasmer?branch=fluence)", - "winapi 0.3.8", + "winapi", ] [[package]] @@ -2159,19 +1137,8 @@ dependencies = [ "thiserror", "time", "typetag", - "wasmer-runtime-core 0.17.0 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.8", -] - -[[package]] -name = "wasmer-win-exception-handler" -version = "0.17.0" -source = "git+http://github.com/fluencelabs/wasmer?branch=fluence#0575a7ed3f8742c3842afbc455072d957af7f6ce" -dependencies = [ - "cc", - "libc", - "wasmer-runtime-core 0.17.0 (git+http://github.com/fluencelabs/wasmer?branch=fluence)", - "winapi 0.3.8", + "wasmer-runtime-core", + "winapi", ] [[package]] @@ -2182,8 +1149,8 @@ checksum = "cf22ce6dc66d893099aac853d451bf9443fa8f5443f5bf4fc63f3aebd7b592b1" dependencies = [ "cc", "libc", - "wasmer-runtime-core 0.17.0 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.8", + "wasmer-runtime-core", + "winapi", ] [[package]] @@ -2207,22 +1174,6 @@ dependencies = [ "leb128", ] -[[package]] -name = "web-sys" -version = "0.3.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b72fe77fd39e4bd3eaa4412fd299a0be6b3dfe9d2597e2f1c20beb968f41d17" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "winapi" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" - [[package]] name = "winapi" version = "0.3.8" @@ -2233,12 +1184,6 @@ dependencies = [ "winapi-x86_64-pc-windows-gnu", ] -[[package]] -name = "winapi-build" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" - [[package]] name = "winapi-i686-pc-windows-gnu" version = "0.4.0" @@ -2251,15 +1196,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -[[package]] -name = "winreg" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2986deb581c4fe11b621998a5e53361efe6b48a151178d0cd9eeffa4dc6acc9" -dependencies = [ - "winapi 0.3.8", -] - [[package]] name = "wit_embedder" version = "0.1.0" @@ -2281,17 +1217,7 @@ dependencies = [ "parity-wasm", "pwasm-utils", "wasmer-interface-types", - "wasmer-runtime 0.17.0 (registry+https://github.com/rust-lang/crates.io-index)", - "wasmer-runtime-core 0.17.0 (registry+https://github.com/rust-lang/crates.io-index)", - "wasmer-wasi 0.17.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "ws2_32-sys" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" -dependencies = [ - "winapi 0.2.8", - "winapi-build", + "wasmer-runtime", + "wasmer-runtime-core", + "wasmer-wasi", ] diff --git a/Cargo.toml b/Cargo.toml index f38e0a0f..9f443cf0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,11 +1,10 @@ [workspace] members = [ "fce", - "wit_fce", - "wit_embedder", - "wit_fce/examples/export_test", - "wit_fce/examples/ipfs_node", - "wit_fce/examples/ipfs_rpc", + "tools/wit_embedder", + "examples/export_test", + "examples/ipfs_node", + "examples/ipfs_rpc", ] [profile.release] diff --git a/wit_fce/examples/export_test/Cargo.toml b/examples/export_test/Cargo.toml similarity index 100% rename from wit_fce/examples/export_test/Cargo.toml rename to examples/export_test/Cargo.toml diff --git a/wit_fce/examples/export_test/src/lib.rs b/examples/export_test/src/lib.rs similarity index 100% rename from wit_fce/examples/export_test/src/lib.rs rename to examples/export_test/src/lib.rs diff --git a/wit_fce/examples/export_test/src/mem.rs b/examples/export_test/src/mem.rs similarity index 100% rename from wit_fce/examples/export_test/src/mem.rs rename to examples/export_test/src/mem.rs diff --git a/wit_fce/examples/export_test/src/result.rs b/examples/export_test/src/result.rs similarity index 100% rename from wit_fce/examples/export_test/src/result.rs rename to examples/export_test/src/result.rs diff --git a/wit_fce/examples/export_test/wit b/examples/export_test/wit similarity index 100% rename from wit_fce/examples/export_test/wit rename to examples/export_test/wit diff --git a/wit_fce/examples/ipfs_node/Cargo.toml b/examples/ipfs_node/Cargo.toml similarity index 100% rename from wit_fce/examples/ipfs_node/Cargo.toml rename to examples/ipfs_node/Cargo.toml diff --git a/wit_fce/examples/ipfs_node/src/lib.rs b/examples/ipfs_node/src/lib.rs similarity index 100% rename from wit_fce/examples/ipfs_node/src/lib.rs rename to examples/ipfs_node/src/lib.rs diff --git a/wit_fce/examples/ipfs_node/src/mem.rs b/examples/ipfs_node/src/mem.rs similarity index 100% rename from wit_fce/examples/ipfs_node/src/mem.rs rename to examples/ipfs_node/src/mem.rs diff --git a/wit_fce/examples/ipfs_node/src/result.rs b/examples/ipfs_node/src/result.rs similarity index 100% rename from wit_fce/examples/ipfs_node/src/result.rs rename to examples/ipfs_node/src/result.rs diff --git a/wit_fce/examples/ipfs_node/wit b/examples/ipfs_node/wit similarity index 100% rename from wit_fce/examples/ipfs_node/wit rename to examples/ipfs_node/wit diff --git a/wit_fce/examples/ipfs_rpc/Cargo.toml b/examples/ipfs_rpc/Cargo.toml similarity index 100% rename from wit_fce/examples/ipfs_rpc/Cargo.toml rename to examples/ipfs_rpc/Cargo.toml diff --git a/wit_fce/examples/ipfs_rpc/src/lib.rs b/examples/ipfs_rpc/src/lib.rs similarity index 100% rename from wit_fce/examples/ipfs_rpc/src/lib.rs rename to examples/ipfs_rpc/src/lib.rs diff --git a/wit_fce/examples/ipfs_rpc/src/mem.rs b/examples/ipfs_rpc/src/mem.rs similarity index 100% rename from wit_fce/examples/ipfs_rpc/src/mem.rs rename to examples/ipfs_rpc/src/mem.rs diff --git a/wit_fce/examples/ipfs_rpc/src/result.rs b/examples/ipfs_rpc/src/result.rs similarity index 100% rename from wit_fce/examples/ipfs_rpc/src/result.rs rename to examples/ipfs_rpc/src/result.rs diff --git a/wit_fce/examples/ipfs_rpc/wit b/examples/ipfs_rpc/wit similarity index 100% rename from wit_fce/examples/ipfs_rpc/wit rename to examples/ipfs_rpc/wit diff --git a/fce/Cargo.lock b/fce/Cargo.lock deleted file mode 100644 index 0639ca3b..00000000 --- a/fce/Cargo.lock +++ /dev/null @@ -1,1975 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -[[package]] -name = "FCE" -version = "0.1.0" -dependencies = [ - "boolinator 2.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "exitfailure 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "failure 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-wasm 0.41.0 (registry+https://github.com/rust-lang/crates.io-index)", - "pwasm-utils 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "reqwest 0.10.4 (registry+https://github.com/rust-lang/crates.io-index)", - "rustyline 6.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", - "wasmer-runtime 0.16.2 (git+http://github.com/fluencelabs/wasmer?branch=fluence)", - "wasmer-runtime-core 0.16.2 (git+http://github.com/fluencelabs/wasmer?branch=fluence)", - "wasmer-wasi 0.16.2 (git+http://github.com/fluencelabs/wasmer?branch=fluence)", -] - -[[package]] -name = "arrayref" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "arrayvec" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "autocfg" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "autocfg" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "backtrace" -version = "0.3.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "backtrace-sys 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.68 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "backtrace-sys" -version = "0.1.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.68 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "base64" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "bincode" -version = "1.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.106 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "bitflags" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "blake2b_simd" -version = "0.5.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", - "arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "constant_time_eq 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "blake3" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", - "arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)", - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "constant_time_eq 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "crypto-mac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "block-buffer" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "block-padding 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "block-padding" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "boolinator" -version = "2.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "bumpalo" -version = "3.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "byte-tools" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "byteorder" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "bytes" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "cc" -version = "1.0.50" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "cfg-if" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "cloudabi" -version = "0.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "constant_time_eq" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "core-foundation" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "core-foundation-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.68 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "core-foundation-sys" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "cranelift-bforest" -version = "0.59.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cranelift-entity 0.59.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "cranelift-codegen" -version = "0.59.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "cranelift-bforest 0.59.0 (registry+https://github.com/rust-lang/crates.io-index)", - "cranelift-codegen-meta 0.59.0 (registry+https://github.com/rust-lang/crates.io-index)", - "cranelift-codegen-shared 0.59.0 (registry+https://github.com/rust-lang/crates.io-index)", - "cranelift-entity 0.59.0 (registry+https://github.com/rust-lang/crates.io-index)", - "gimli 0.20.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "target-lexicon 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "thiserror 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "cranelift-codegen-meta" -version = "0.59.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cranelift-codegen-shared 0.59.0 (registry+https://github.com/rust-lang/crates.io-index)", - "cranelift-entity 0.59.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "cranelift-codegen-shared" -version = "0.59.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "cranelift-entity" -version = "0.59.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "cranelift-native" -version = "0.59.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cranelift-codegen 0.59.0 (registry+https://github.com/rust-lang/crates.io-index)", - "raw-cpuid 7.0.3 (registry+https://github.com/rust-lang/crates.io-index)", - "target-lexicon 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "crossbeam-deque" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "crossbeam-epoch 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", - "crossbeam-utils 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", - "maybe-uninit 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "crossbeam-epoch" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "crossbeam-utils 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "maybe-uninit 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "memoffset 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "scopeguard 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "crossbeam-queue" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "crossbeam-utils" -version = "0.6.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "crossbeam-utils" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "crypto-mac" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)", - "subtle 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "ctor" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "digest" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "dirs" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "dirs-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "dirs-sys" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.68 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_users 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "dtoa" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "either" -version = "1.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "encoding_rs" -version = "0.8.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "erased-serde" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "serde 1.0.106 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "errno" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "errno-dragonfly 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.68 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "errno-dragonfly" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "gcc 0.3.55 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.68 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "exitfailure" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "failure 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "failure" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "backtrace 0.3.37 (registry+https://github.com/rust-lang/crates.io-index)", - "failure_derive 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "failure_derive" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", - "synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "fake-simd" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "fnv" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "foreign-types" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "foreign-types-shared" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "fuchsia-zircon" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "fuchsia-zircon-sys" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "futures-channel" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "futures-core 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "futures-core" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "futures-sink" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "futures-task" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "futures-util" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "futures-core 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-task 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-utils 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "gcc" -version = "0.3.55" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "generational-arena" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.106 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "generic-array" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "typenum 1.11.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "getrandom" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.68 (registry+https://github.com/rust-lang/crates.io-index)", - "wasi 0.9.0+wasi-snapshot-preview1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "ghost" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "gimli" -version = "0.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "indexmap 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "h2" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-core 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-sink 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-util 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "http 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "indexmap 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "hermit-abi" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.68 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "hex" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "http" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "itoa 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "http-body" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "http 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "httparse" -version = "1.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "hyper" -version = "0.13.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-channel 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-core 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-util 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "h2 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", - "http 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "http-body 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "httparse 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "itoa 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "net2 0.2.34 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", - "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", - "tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "want 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "hyper-tls" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper 0.13.5 (registry+https://github.com/rust-lang/crates.io-index)", - "native-tls 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-tls 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "idna" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "unicode-normalization 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "indexmap" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "serde 1.0.106 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "inventory" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "ctor 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", - "ghost 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "inventory-impl 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "inventory-impl" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "iovec" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.68 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "itoa" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "js-sys" -version = "0.3.39" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "wasm-bindgen 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "kernel32-sys" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "lazy_static" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "libc" -version = "0.2.68" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "lock_api" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "scopeguard 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "log" -version = "0.4.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "matches" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "maybe-uninit" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "memchr" -version = "2.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "memmap" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.68 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "memoffset" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "mime" -version = "0.3.16" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "mime_guess" -version = "2.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "mime 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", - "unicase 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "mio" -version = "0.6.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.68 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "net2 0.2.34 (registry+https://github.com/rust-lang/crates.io-index)", - "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "miow" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "net2 0.2.34 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "native-tls" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.68 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "openssl 0.10.29 (registry+https://github.com/rust-lang/crates.io-index)", - "openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "openssl-sys 0.9.55 (registry+https://github.com/rust-lang/crates.io-index)", - "schannel 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)", - "security-framework 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", - "security-framework-sys 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", - "tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "net2" -version = "0.2.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.68 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "nix" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)", - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.68 (registry+https://github.com/rust-lang/crates.io-index)", - "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "nix" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)", - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.68 (registry+https://github.com/rust-lang/crates.io-index)", - "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "num_cpus" -version = "1.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "hermit-abi 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.68 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "opaque-debug" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "openssl" -version = "0.10.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.68 (registry+https://github.com/rust-lang/crates.io-index)", - "openssl-sys 0.9.55 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "openssl-probe" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "openssl-sys" -version = "0.9.55" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.68 (registry+https://github.com/rust-lang/crates.io-index)", - "pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)", - "vcpkg 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "page_size" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.68 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "parity-wasm" -version = "0.41.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "parking_lot" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "lock_api 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot_core 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "parking_lot_core" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.68 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "percent-encoding" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "pin-project" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "pin-project-internal 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "pin-project-internal" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "pin-project-lite" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "pkg-config" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "ppv-lite86" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "proc-macro2" -version = "1.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "pwasm-utils" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-wasm 0.41.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "quote" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rand" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.68 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_chacha 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rand_chacha" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "ppv-lite86 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rand_core" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rand_hc" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "raw-cpuid" -version = "7.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rayon" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "crossbeam-deque 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)", - "either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rayon-core 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rayon-core" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "crossbeam-deque 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)", - "crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "num_cpus 1.13.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "redox_syscall" -version = "0.1.56" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "redox_users" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", - "rust-argon2 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "remove_dir_all" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "reqwest" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "base64 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", - "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "encoding_rs 0.8.22 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-core 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-util 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "http 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "http-body 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper 0.13.5 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper-tls 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", - "js-sys 0.3.39 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "mime 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", - "mime_guess 2.0.3 (registry+https://github.com/rust-lang/crates.io-index)", - "native-tls 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", - "percent-encoding 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project-lite 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.106 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_urlencoded 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", - "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-tls 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "url 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-futures 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", - "web-sys 0.3.39 (registry+https://github.com/rust-lang/crates.io-index)", - "winreg 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rust-argon2" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "base64 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", - "blake2b_simd 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)", - "constant_time_eq 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "crossbeam-utils 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rustc-demangle" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "rustc_version" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rustyline" -version = "6.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "dirs 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.68 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "memchr 2.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "nix 0.17.0 (registry+https://github.com/rust-lang/crates.io-index)", - "scopeguard 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "unicode-segmentation 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)", - "unicode-width 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "utf8parse 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "ryu" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "schannel" -version = "0.1.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "scopeguard" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "security-framework" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "core-foundation 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "core-foundation-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "security-framework-sys 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "security-framework-sys" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "core-foundation-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.68 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "semver" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "semver-parser" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "serde" -version = "1.0.106" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "serde_derive 1.0.106 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "serde-bench" -version = "0.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.106 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "serde_bytes" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "serde 1.0.106 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "serde_derive" -version = "1.0.106" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "serde_json" -version = "1.0.52" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "itoa 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", - "ryu 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.106 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "serde_urlencoded" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "dtoa 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", - "itoa 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.106 (registry+https://github.com/rust-lang/crates.io-index)", - "url 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "sha2" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "block-buffer 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)", - "digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "opaque-debug 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "slab" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "smallvec" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "subtle" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "syn" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "synstructure" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", - "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "target-lexicon" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "tempfile" -version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.68 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", - "remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "thiserror" -version = "1.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "thiserror-impl 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "time" -version = "0.1.42" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.68 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "tokio" -version = "0.2.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-core 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "memchr 2.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "mio 0.6.22 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project-lite 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio-macros 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "tokio-macros" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "tokio-tls" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "native-tls 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "tokio-util" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-core 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "futures-sink 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "pin-project-lite 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "tower-service" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "try-lock" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "typenum" -version = "1.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "typetag" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "erased-serde 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)", - "inventory 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.106 (registry+https://github.com/rust-lang/crates.io-index)", - "typetag-impl 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "typetag-impl" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "unicase" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "version_check 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "unicode-bidi" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "unicode-normalization" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "smallvec 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "unicode-segmentation" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "unicode-width" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "unicode-xid" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "url" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "idna 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "percent-encoding 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "utf8parse" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "vcpkg" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "version_check" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "void" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "want" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "try-lock 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "wasi" -version = "0.9.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "wasm-bindgen" -version = "0.2.62" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.106 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.52 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-macro 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.62" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bumpalo 3.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-shared 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "wasm-bindgen-futures" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "js-sys 0.3.39 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", - "web-sys 0.3.39 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.62" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-macro-support 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.62" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-backend 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen-shared 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.62" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "wasmer-clif-backend" -version = "0.16.2" -source = "git+http://github.com/fluencelabs/wasmer?branch=fluence#c3e9e367828d5c3a8d2e96e9ea6a09224e872a59" -dependencies = [ - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "cranelift-codegen 0.59.0 (registry+https://github.com/rust-lang/crates.io-index)", - "cranelift-entity 0.59.0 (registry+https://github.com/rust-lang/crates.io-index)", - "cranelift-native 0.59.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.68 (registry+https://github.com/rust-lang/crates.io-index)", - "nix 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)", - "rayon 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.106 (registry+https://github.com/rust-lang/crates.io-index)", - "serde-bench 0.0.7 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_bytes 0.11.2 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.106 (registry+https://github.com/rust-lang/crates.io-index)", - "target-lexicon 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "wasmer-clif-fork-frontend 0.59.0 (registry+https://github.com/rust-lang/crates.io-index)", - "wasmer-clif-fork-wasm 0.59.0 (registry+https://github.com/rust-lang/crates.io-index)", - "wasmer-runtime-core 0.16.2 (git+http://github.com/fluencelabs/wasmer?branch=fluence)", - "wasmer-win-exception-handler 0.16.2 (git+http://github.com/fluencelabs/wasmer?branch=fluence)", - "wasmparser 0.51.4 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "wasmer-clif-fork-frontend" -version = "0.59.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cranelift-codegen 0.59.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "target-lexicon 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "wasmer-clif-fork-wasm" -version = "0.59.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cranelift-codegen 0.59.0 (registry+https://github.com/rust-lang/crates.io-index)", - "cranelift-entity 0.59.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "thiserror 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", - "wasmer-clif-fork-frontend 0.59.0 (registry+https://github.com/rust-lang/crates.io-index)", - "wasmparser 0.51.4 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "wasmer-runtime" -version = "0.16.2" -source = "git+http://github.com/fluencelabs/wasmer?branch=fluence#c3e9e367828d5c3a8d2e96e9ea6a09224e872a59" -dependencies = [ - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "memmap 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.106 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.106 (registry+https://github.com/rust-lang/crates.io-index)", - "wasmer-clif-backend 0.16.2 (git+http://github.com/fluencelabs/wasmer?branch=fluence)", - "wasmer-runtime-core 0.16.2 (git+http://github.com/fluencelabs/wasmer?branch=fluence)", -] - -[[package]] -name = "wasmer-runtime-core" -version = "0.16.2" -source = "git+http://github.com/fluencelabs/wasmer?branch=fluence#c3e9e367828d5c3a8d2e96e9ea6a09224e872a59" -dependencies = [ - "backtrace 0.3.37 (registry+https://github.com/rust-lang/crates.io-index)", - "bincode 1.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "blake3 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)", - "digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "errno 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", - "hex 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "indexmap 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.68 (registry+https://github.com/rust-lang/crates.io-index)", - "nix 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)", - "page_size 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.106 (registry+https://github.com/rust-lang/crates.io-index)", - "serde-bench 0.0.7 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_bytes 0.11.2 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.106 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "target-lexicon 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "wasmparser 0.51.4 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "wasmer-wasi" -version = "0.16.2" -source = "git+http://github.com/fluencelabs/wasmer?branch=fluence#c3e9e367828d5c3a8d2e96e9ea6a09224e872a59" -dependencies = [ - "bincode 1.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "generational-arena 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", - "getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.68 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.106 (registry+https://github.com/rust-lang/crates.io-index)", - "thiserror 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)", - "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", - "typetag 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "wasmer-runtime-core 0.16.2 (git+http://github.com/fluencelabs/wasmer?branch=fluence)", - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "wasmer-win-exception-handler" -version = "0.16.2" -source = "git+http://github.com/fluencelabs/wasmer?branch=fluence#c3e9e367828d5c3a8d2e96e9ea6a09224e872a59" -dependencies = [ - "cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.68 (registry+https://github.com/rust-lang/crates.io-index)", - "wasmer-runtime-core 0.16.2 (git+http://github.com/fluencelabs/wasmer?branch=fluence)", - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "wasmparser" -version = "0.51.4" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "web-sys" -version = "0.3.39" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "js-sys 0.3.39 (registry+https://github.com/rust-lang/crates.io-index)", - "wasm-bindgen 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "winapi" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "winapi" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "winapi-build" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "winreg" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "ws2_32-sys" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[metadata] -"checksum arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0d382e583f07208808f6b1249e60848879ba3543f57c32277bf52d69c2f0f0ee" -"checksum arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8" -"checksum autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "b671c8fb71b457dd4ae18c4ba1e59aa81793daacc361d82fcd410cef0d491875" -"checksum autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d" -"checksum backtrace 0.3.37 (registry+https://github.com/rust-lang/crates.io-index)" = "5180c5a20655b14a819b652fd2378fa5f1697b6c9ddad3e695c2f9cedf6df4e2" -"checksum backtrace-sys 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)" = "82a830b4ef2d1124a711c71d263c5abdc710ef8e907bd508c88be475cebc422b" -"checksum base64 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7" -"checksum bincode 1.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "9f04a5e50dc80b3d5d35320889053637d15011aed5e66b66b37ae798c65da6f7" -"checksum bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3d155346769a6855b86399e9bc3814ab343cd3d62c7e985113d46a0ec3c281fd" -"checksum blake2b_simd 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)" = "d8fb2d74254a3a0b5cac33ac9f8ed0e44aa50378d9dbb2e5d83bd21ed1dc2c8a" -"checksum blake3 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7bd3c29b0e8eedf3a4424b8b2ee09518fc9e95b7efe257000c356827e6353584" -"checksum block-buffer 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" -"checksum block-padding 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "6d4dc3af3ee2e12f3e5d224e5e1e3d73668abbeb69e566d361f7d5563a4fdf09" -"checksum boolinator 2.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cfa8873f51c92e232f9bac4065cddef41b714152812bfc5f7672ba16d6ef8cd9" -"checksum bumpalo 3.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "12ae9db68ad7fac5fe51304d20f016c911539251075a214f8e663babefa35187" -"checksum byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" -"checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5" -"checksum bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)" = "130aac562c0dd69c56b3b1cc8ffd2e17be31d0b6c25b61c96b76231aa23e39e1" -"checksum cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)" = "95e28fa049fda1c330bcf9d723be7663a899c4679724b34c81e9f5a326aab8cd" -"checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" -"checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" -"checksum constant_time_eq 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" -"checksum core-foundation 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "57d24c7a13c43e870e37c1556b74555437870a04514f7685f5b354e090567171" -"checksum core-foundation-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac" -"checksum cranelift-bforest 0.59.0 (registry+https://github.com/rust-lang/crates.io-index)" = "45a9c21f8042b9857bda93f6c1910b9f9f24100187a3d3d52f214a34e3dc5818" -"checksum cranelift-codegen 0.59.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7853f77a6e4a33c67a69c40f5e1bb982bd2dc5c4a22e17e67b65bbccf9b33b2e" -"checksum cranelift-codegen-meta 0.59.0 (registry+https://github.com/rust-lang/crates.io-index)" = "084cd6d5fb0d1da28acd72c199471bfb09acc703ec8f3bf07b1699584272a3b9" -"checksum cranelift-codegen-shared 0.59.0 (registry+https://github.com/rust-lang/crates.io-index)" = "701b599783305a58c25027a4d73f2d6b599b2d8ef3f26677275f480b4d51e05d" -"checksum cranelift-entity 0.59.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b88e792b28e1ebbc0187b72ba5ba880dad083abe9231a99d19604d10c9e73f38" -"checksum cranelift-native 0.59.0 (registry+https://github.com/rust-lang/crates.io-index)" = "32daf082da21c0c05d93394ff4842c2ab7c4991b1f3186a1d952f8ac660edd0b" -"checksum crossbeam-deque 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "9f02af974daeee82218205558e51ec8768b48cf524bd01d550abe5573a608285" -"checksum crossbeam-epoch 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "058ed274caafc1f60c4997b5fc07bf7dc7cca454af7c6e81edffe5f33f70dace" -"checksum crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7c979cd6cfe72335896575c6b5688da489e420d36a27a0b9eb0c73db574b4a4b" -"checksum crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6" -"checksum crossbeam-utils 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8" -"checksum crypto-mac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5" -"checksum ctor 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "47c5e5ac752e18207b12e16b10631ae5f7f68f8805f335f9b817ead83d9ffce1" -"checksum digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5" -"checksum dirs 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "13aea89a5c93364a98e9b37b2fa237effbb694d5cfe01c5b70941f7eb087d5e3" -"checksum dirs-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "afa0b23de8fd801745c471deffa6e12d248f962c9fd4b4c33787b055599bde7b" -"checksum dtoa 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "4358a9e11b9a09cf52383b451b49a169e8d797b68aa02301ff586d70d9661ea3" -"checksum either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5527cfe0d098f36e3f8839852688e63c8fff1c90b2b405aef730615f9a7bcf7b" -"checksum encoding_rs 0.8.22 (registry+https://github.com/rust-lang/crates.io-index)" = "cd8d03faa7fe0c1431609dfad7bbe827af30f82e1e2ae6f7ee4fca6bd764bc28" -"checksum erased-serde 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "d88b6d1705e16a4d62e05ea61cc0496c2bd190f4fa8e5c1f11ce747be6bcf3d1" -"checksum errno 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "c2a071601ed01b988f896ab14b95e67335d1eeb50190932a1320f7fe3cadc84e" -"checksum errno-dragonfly 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "14ca354e36190500e1e1fb267c647932382b54053c50b14970856c0b00a35067" -"checksum exitfailure 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2ff5bd832af37f366c6c194d813a11cd90ac484f124f079294f28e357ae40515" -"checksum failure 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "b8529c2421efa3066a5cbd8063d2244603824daccb6936b079010bb2aa89464b" -"checksum failure_derive 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "030a733c8287d6213886dd487564ff5c8f6aae10278b3588ed177f9d18f8d231" -"checksum fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" -"checksum fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3" -"checksum foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" -"checksum foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" -"checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" -"checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" -"checksum futures-channel 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "f0c77d04ce8edd9cb903932b608268b3fffec4163dc053b3b402bf47eac1f1a8" -"checksum futures-core 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "f25592f769825e89b92358db00d26f965761e094951ac44d3663ef25b7ac464a" -"checksum futures-sink 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "3466821b4bc114d95b087b850a724c6f83115e929bc88f1fa98a3304a944c8a6" -"checksum futures-task 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "7b0a34e53cf6cdcd0178aa573aed466b646eb3db769570841fda0c7ede375a27" -"checksum futures-util 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "22766cf25d64306bedf0384da004d05c9974ab104fcc4528f1236181c18004c5" -"checksum gcc 0.3.55 (registry+https://github.com/rust-lang/crates.io-index)" = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2" -"checksum generational-arena 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "0e40d0cee2e2fb4fba18b55a27bf96faf49fa86d49f178695bd3bf4500b156b4" -"checksum generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c68f0274ae0e023facc3c97b2e00f076be70e254bc851d972503b328db79b2ec" -"checksum getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "7abc8dd8451921606d809ba32e95b6111925cd2906060d2dcc29c070220503eb" -"checksum ghost 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2a36606a68532b5640dc86bb1f33c64b45c4682aad4c50f3937b317ea387f3d6" -"checksum gimli 0.20.0 (registry+https://github.com/rust-lang/crates.io-index)" = "81dd6190aad0f05ddbbf3245c54ed14ca4aa6dd32f22312b70d8f168c3e3e633" -"checksum h2 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "377038bf3c89d18d6ca1431e7a5027194fbd724ca10592b9487ede5e8e144f42" -"checksum hermit-abi 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "61565ff7aaace3525556587bd2dc31d4a07071957be715e63ce7b1eccf51a8f4" -"checksum hex 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "644f9158b2f133fd50f5fb3242878846d9eb792e445c893805ff0e3824006e35" -"checksum http 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "28d569972648b2c512421b5f2a405ad6ac9666547189d0c5477a3f200f3e02f9" -"checksum http-body 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "13d5ff830006f7646652e057693569bfe0d51760c0085a071769d142a205111b" -"checksum httparse 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "cd179ae861f0c2e53da70d892f5f3029f9594be0c41dc5269cd371691b1dc2f9" -"checksum hyper 0.13.5 (registry+https://github.com/rust-lang/crates.io-index)" = "96816e1d921eca64d208a85aab4f7798455a8e34229ee5a88c935bdee1b78b14" -"checksum hyper-tls 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3adcd308402b9553630734e9c36b77a7e48b3821251ca2493e8cd596763aafaa" -"checksum idna 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "02e2673c30ee86b5b96a9cb52ad15718aa1f966f5ab9ad54a8b95d5ca33120a9" -"checksum indexmap 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a61202fbe46c4a951e9404a720a0180bcf3212c750d735cb5c4ba4dc551299f3" -"checksum inventory 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "82d3f4b90287725c97b17478c60dda0c6324e7c84ee1ed72fb9179d0fdf13956" -"checksum inventory-impl 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "9092a4fefc9d503e9287ef137f03180a6e7d1b04c419563171ee14947c5e80ec" -"checksum iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e" -"checksum itoa 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "b8b7a7c0c47db5545ed3fef7468ee7bb5b74691498139e4b3f6a20685dc6dd8e" -"checksum js-sys 0.3.39 (registry+https://github.com/rust-lang/crates.io-index)" = "fa5a448de267e7358beaf4a5d849518fe9a0c13fce7afd44b06e68550e5562a7" -"checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" -"checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" -"checksum libc 0.2.68 (registry+https://github.com/rust-lang/crates.io-index)" = "dea0c0405123bba743ee3f91f49b1c7cfb684eef0da0a50110f758ccf24cdff0" -"checksum lock_api 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f8912e782533a93a167888781b836336a6ca5da6175c05944c86cf28c31104dc" -"checksum log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7" -"checksum matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08" -"checksum maybe-uninit 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" -"checksum memchr 2.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3728d817d99e5ac407411fa471ff9800a778d88a24685968b36824eaf4bee400" -"checksum memmap 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6585fd95e7bb50d6cc31e20d4cf9afb4e2ba16c5846fc76793f11218da9c475b" -"checksum memoffset 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ce6075db033bbbb7ee5a0bbd3a3186bbae616f57fb001c485c7ff77955f8177f" -"checksum mime 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)" = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d" -"checksum mime_guess 2.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2684d4c2e97d99848d30b324b00c8fcc7e5c897b7cbb5819b09e7c90e8baf212" -"checksum mio 0.6.22 (registry+https://github.com/rust-lang/crates.io-index)" = "fce347092656428bc8eaf6201042cb551b8d67855af7374542a92a0fbfcac430" -"checksum miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919" -"checksum native-tls 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "2b0d88c06fe90d5ee94048ba40409ef1d9315d86f6f38c2efdaad4fb50c58b2d" -"checksum net2 0.2.34 (registry+https://github.com/rust-lang/crates.io-index)" = "2ba7c918ac76704fb42afcbbb43891e72731f3dcca3bef2a19786297baf14af7" -"checksum nix 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3b2e0b4f3320ed72aaedb9a5ac838690a8047c7b275da22711fddff4f8a14229" -"checksum nix 0.17.0 (registry+https://github.com/rust-lang/crates.io-index)" = "50e4785f2c3b7589a0d0c1dd60285e1188adac4006e8abd6dd578e1567027363" -"checksum num_cpus 1.13.0 (registry+https://github.com/rust-lang/crates.io-index)" = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3" -"checksum opaque-debug 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" -"checksum openssl 0.10.29 (registry+https://github.com/rust-lang/crates.io-index)" = "cee6d85f4cb4c4f59a6a85d5b68a233d280c82e29e822913b9c8b129fbf20bdd" -"checksum openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de" -"checksum openssl-sys 0.9.55 (registry+https://github.com/rust-lang/crates.io-index)" = "7717097d810a0f2e2323f9e5d11e71608355e24828410b55b9d4f18aa5f9a5d8" -"checksum page_size 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f89ef58b3d32420dbd1a43d2f38ae92f6239ef12bb556ab09ca55445f5a67242" -"checksum parity-wasm 0.41.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc878dac00da22f8f61e7af3157988424567ab01d9920b962ef7dcbd7cd865" -"checksum parking_lot 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "92e98c49ab0b7ce5b222f2cc9193fc4efe11c6d0bd4f648e374684a6857b1cfc" -"checksum parking_lot_core 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7582838484df45743c8434fbff785e8edf260c28748353d44bc0da32e0ceabf1" -"checksum percent-encoding 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" -"checksum pin-project 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)" = "6f6a7f5eee6292c559c793430c55c00aea9d3b3d1905e855806ca4d7253426a2" -"checksum pin-project-internal 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)" = "8988430ce790d8682672117bc06dda364c0be32d3abd738234f19f3240bad99a" -"checksum pin-project-lite 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "237844750cfbb86f67afe27eee600dfbbcb6188d734139b534cbfbf4f96792ae" -"checksum pin-utils 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" -"checksum pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)" = "05da548ad6865900e60eaba7f589cc0783590a92e940c26953ff81ddbab2d677" -"checksum ppv-lite86 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "74490b50b9fbe561ac330df47c08f3f33073d2d00c150f719147d7c54522fa1b" -"checksum proc-macro2 1.0.12 (registry+https://github.com/rust-lang/crates.io-index)" = "8872cf6f48eee44265156c111456a700ab3483686b3f96df4cf5481c89157319" -"checksum pwasm-utils 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4f7a12f176deee919f4ba55326ee17491c8b707d0987aed822682c821b660192" -"checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe" -"checksum rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" -"checksum rand_chacha 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" -"checksum rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" -"checksum rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" -"checksum raw-cpuid 7.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "b4a349ca83373cfa5d6dbb66fd76e58b2cca08da71a5f6400de0a0a6a9bceeaf" -"checksum rayon 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "83a27732a533a1be0a0035a111fe76db89ad312f6f0347004c220c57f209a123" -"checksum rayon-core 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "98dcf634205083b17d0861252431eb2acbfb698ab7478a2d20de07954f47ec7b" -"checksum redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)" = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84" -"checksum redox_users 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "09b23093265f8d200fa7b4c2c76297f47e681c655f6f1285a8780d6a022f7431" -"checksum remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4a83fa3702a688b9359eccba92d153ac33fd2e8462f9e0e3fdf155239ea7792e" -"checksum reqwest 0.10.4 (registry+https://github.com/rust-lang/crates.io-index)" = "02b81e49ddec5109a9dcfc5f2a317ff53377c915e9ae9d4f2fb50914b85614e2" -"checksum rust-argon2 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2bc8af4bda8e1ff4932523b94d3dd20ee30a87232323eda55903ffd71d2fb017" -"checksum rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783" -"checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" -"checksum rustyline 6.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1cd20b28d972040c627e209eb29f19c24a71a19d661cc5a220089176e20ee202" -"checksum ryu 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "ed3d612bc64430efeb3f7ee6ef26d590dce0c43249217bddc62112540c7941e1" -"checksum schannel 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)" = "039c25b130bd8c1321ee2d7de7fde2659fa9c2744e4bb29711cfc852ea53cd19" -"checksum scopeguard 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" -"checksum security-framework 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "97bbedbe81904398b6ebb054b3e912f99d55807125790f3198ac990d98def5b0" -"checksum security-framework-sys 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "17bf11d99252f512695eb468de5516e5cf75455521e69dfe343f3b74e4748405" -"checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" -"checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" -"checksum serde 1.0.106 (registry+https://github.com/rust-lang/crates.io-index)" = "36df6ac6412072f67cf767ebbde4133a5b2e88e76dc6187fa7104cd16f783399" -"checksum serde-bench 0.0.7 (registry+https://github.com/rust-lang/crates.io-index)" = "d733da87e79faaac25616e33d26299a41143fd4cd42746cbb0e91d8feea243fd" -"checksum serde_bytes 0.11.2 (registry+https://github.com/rust-lang/crates.io-index)" = "45af0182ff64abaeea290235eb67da3825a576c5d53e642c4d5b652e12e6effc" -"checksum serde_derive 1.0.106 (registry+https://github.com/rust-lang/crates.io-index)" = "9e549e3abf4fb8621bd1609f11dfc9f5e50320802273b12f3811a67e6716ea6c" -"checksum serde_json 1.0.52 (registry+https://github.com/rust-lang/crates.io-index)" = "a7894c8ed05b7a3a279aeb79025fdec1d3158080b75b98a08faf2806bb799edd" -"checksum serde_urlencoded 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9ec5d77e2d4c73717816afac02670d5c4f534ea95ed430442cad02e7a6e32c97" -"checksum sha2 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "27044adfd2e1f077f649f59deb9490d3941d674002f7d062870a60ebe9bd47a0" -"checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" -"checksum smallvec 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "05720e22615919e4734f6a99ceae50d00226c3c5aca406e102ebc33298214e0a" -"checksum subtle 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee" -"checksum syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)" = "dff0acdb207ae2fe6d5976617f887eb1e35a2ba52c13c7234c790960cdad9238" -"checksum synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)" = "67656ea1dc1b41b1451851562ea232ec2e5a80242139f7e679ceccfb5d61f545" -"checksum target-lexicon 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ab0e7238dcc7b40a7be719a25365910f6807bd864f4cce6b2e6b873658e2b19d" -"checksum tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9" -"checksum thiserror 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)" = "f0570dc61221295909abdb95c739f2e74325e14293b2026b0a7e195091ec54ae" -"checksum thiserror-impl 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)" = "227362df41d566be41a28f64401e07a043157c21c14b9785a0d8e256f940a8fd" -"checksum time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f" -"checksum tokio 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)" = "05c1d570eb1a36f0345a5ce9c6c6e665b70b73d11236912c0b477616aeec47b1" -"checksum tokio-macros 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f0c3acc6aa564495a0f2e1d59fab677cd7f81a19994cfc7f3ad0e64301560389" -"checksum tokio-tls 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7bde02a3a5291395f59b06ec6945a3077602fac2b07eeeaf0dee2122f3619828" -"checksum tokio-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "be8242891f2b6cbef26a2d7e8605133c2c554cd35b3e4948ea892d6d68436499" -"checksum tower-service 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e987b6bf443f4b5b3b6f38704195592cca41c5bb7aedd3c3693c7081f8289860" -"checksum try-lock 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e604eb7b43c06650e854be16a2a03155743d3752dd1c943f6829e26b7a36e382" -"checksum typenum 1.11.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6d2783fe2d6b8c1101136184eb41be8b1ad379e4657050b8aaff0c79ee7575f9" -"checksum typetag 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "6ebb2c484029d695fb68a06d80e1536c68d491b3e0cf874c66abed255e831cfe" -"checksum typetag-impl 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b63fd4799e4d0ec5cf0b055ebb8e2c3a657bbf76a84f6edc77ca60780e000204" -"checksum unicase 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6" -"checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5" -"checksum unicode-normalization 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "5479532badd04e128284890390c1e876ef7a993d0570b3597ae43dfa1d59afa4" -"checksum unicode-segmentation 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e83e153d1053cbb5a118eeff7fd5be06ed99153f00dbcd8ae310c5fb2b22edc0" -"checksum unicode-width 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7007dbd421b92cc6e28410fe7362e2e0a2503394908f417b68ec8d1c364c4e20" -"checksum unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c" -"checksum url 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "829d4a8476c35c9bf0bbce5a3b23f4106f79728039b726d292bb93bc106787cb" -"checksum utf8parse 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "936e4b492acfd135421d8dca4b1aa80a7bfc26e702ef3af710e0752684df5372" -"checksum vcpkg 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3fc439f2794e98976c88a2a2dafce96b930fe8010b0a256b3c2199a773933168" -"checksum version_check 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "078775d0255232fb988e6fccf26ddc9d1ac274299aaedcedce21c6f72cc533ce" -"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" -"checksum want 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" -"checksum wasi 0.9.0+wasi-snapshot-preview1 (registry+https://github.com/rust-lang/crates.io-index)" = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" -"checksum wasm-bindgen 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)" = "e3c7d40d09cdbf0f4895ae58cf57d92e1e57a9dd8ed2e8390514b54a47cc5551" -"checksum wasm-bindgen-backend 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)" = "c3972e137ebf830900db522d6c8fd74d1900dcfc733462e9a12e942b00b4ac94" -"checksum wasm-bindgen-futures 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)" = "8a369c5e1dfb7569e14d62af4da642a3cbc2f9a3652fe586e26ac22222aa4b04" -"checksum wasm-bindgen-macro 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)" = "2cd85aa2c579e8892442954685f0d801f9129de24fa2136b2c6a539c76b65776" -"checksum wasm-bindgen-macro-support 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)" = "8eb197bd3a47553334907ffd2f16507b4f4f01bbec3ac921a7719e0decdfe72a" -"checksum wasm-bindgen-shared 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)" = "a91c2916119c17a8e316507afaaa2dd94b47646048014bbdf6bef098c1bb58ad" -"checksum wasmer-clif-backend 0.16.2 (git+http://github.com/fluencelabs/wasmer?branch=fluence)" = "" -"checksum wasmer-clif-fork-frontend 0.59.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c23f2824f354a00a77e4b040eef6e1d4c595a8a3e9013bad65199cc8dade9a5a" -"checksum wasmer-clif-fork-wasm 0.59.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a35e21d3aebc51cc6ebc0e830cf8458a9891c3482fb3c65ad18d408102929ae5" -"checksum wasmer-runtime 0.16.2 (git+http://github.com/fluencelabs/wasmer?branch=fluence)" = "" -"checksum wasmer-runtime-core 0.16.2 (git+http://github.com/fluencelabs/wasmer?branch=fluence)" = "" -"checksum wasmer-wasi 0.16.2 (git+http://github.com/fluencelabs/wasmer?branch=fluence)" = "" -"checksum wasmer-win-exception-handler 0.16.2 (git+http://github.com/fluencelabs/wasmer?branch=fluence)" = "" -"checksum wasmparser 0.51.4 (registry+https://github.com/rust-lang/crates.io-index)" = "aeb1956b19469d1c5e63e459d29e7b5aa0f558d9f16fcef09736f8a265e6c10a" -"checksum web-sys 0.3.39 (registry+https://github.com/rust-lang/crates.io-index)" = "8bc359e5dd3b46cb9687a051d50a2fdd228e4ba7cf6fcf861a5365c3d671a642" -"checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" -"checksum winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6" -"checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" -"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" -"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -"checksum winreg 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b2986deb581c4fe11b621998a5e53361efe6b48a151178d0cd9eeffa4dc6acc9" -"checksum ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" diff --git a/fce/Cargo.toml b/fce/Cargo.toml index dc98fcba..b2f79024 100644 --- a/fce/Cargo.toml +++ b/fce/Cargo.toml @@ -1,36 +1,15 @@ [package] -name = "FCE" -description = "Fluence compute engine, virtual machine based on Wasmer for the Fluence network" -version = "0.1.0" +name = "wit_fce" +version = "0.2.0" authors = ["Fluence Labs"] edition = "2018" -license = "Apache-2.0" -keywords = ["fluence", "webassembly", "wasmer", "execution environment"] -categories = ["webassembly"] - -[lib] -name = "fce" -path = "src/lib.rs" -#crate-type = ["cdylib"] - -[[bin]] -name = "fce_cli" -path = "src/main.rs" [dependencies] -wasmer-runtime = { git = "http://github.com/fluencelabs/wasmer", branch = "fluence" } -wasmer-runtime-core = { git = "http://github.com/fluencelabs/wasmer", branch = "fluence" } -wasmer-wasi = { git = "http://github.com/fluencelabs/wasmer", branch = "fluence" } -failure = "0.1.7" -lazy_static = "1.4.0" -sha2 = "0.8.1" -rustyline = "6.1.2" -exitfailure = "0.5.1" -boolinator = "2.4.0" +wasmer-runtime = "0.17.0" +# dynamicfunc-fat-closures allows using state inside DynamicFunc +wasmer-core = { package = "wasmer-runtime-core", version = "0.17.0", features = ["dynamicfunc-fat-closures"] } +wasmer-wit = { package = "wasmer-interface-types", git = "http://github.com/fluencelabs/interface-types" } +wasmer-wasi = "0.17.0" +multimap = "0.8.1" parity-wasm = "0.41.0" pwasm-utils = "0.12.0" - -[dev-dependencies] -reqwest = "0.10.4" -bytes = "0.5.4" -tokio = { version = "0.2.20", features = ["blocking", "macros"] } diff --git a/fce/src/lib.rs b/fce/src/lib.rs deleted file mode 100644 index ebed27e5..00000000 --- a/fce/src/lib.rs +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright 2020 Fluence Labs Limited - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#![deny( - nonstandard_style, - unused_imports, - unused_mut, - unused_variables, - unused_unsafe, - unreachable_patterns -)] -#![warn(rust_2018_idioms)] -mod misc; -mod vm; - -pub use vm::config::Config; -pub use vm::fce::FCE; -pub use vm::service::FCEService; diff --git a/fce/src/main.rs b/fce/src/main.rs index df880bac..eff6941d 100644 --- a/fce/src/main.rs +++ b/fce/src/main.rs @@ -13,110 +13,65 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - -#![deny( - nonstandard_style, - unused_imports, - unused_mut, - unused_variables, - unused_unsafe, - unreachable_patterns -)] #![warn(rust_2018_idioms)] +#![feature(get_mut_unchecked)] +#![feature(new_uninit)] -mod misc; -/// Command-line tool intended to test FCE VM. mod vm; +mod misc; -use crate::misc::SlicePrettyPrinter; -use crate::vm::config::Config; -use crate::vm::fce::FCE; -use crate::vm::service::FCEService; +use vm::IValue; +use vm::FCE; +use vm::FCEModuleConfig; +use vm::FCEService; -use exitfailure::ExitFailure; -use std::fs; +const IPFS_NODE: &str = + "/Users/mike/dev/work/fluence/wasm/fce/target/wasm32-unknown-unknown/release/ipfs_node_wit.wasm"; + +const IPFS_RPC: &str = + "/Users/mike/dev/work/fluence/wasm/fce/target/wasm32-unknown-unknown/release/ipfs_rpc_wit.wasm"; + +fn main() { + let ipfs_node_bytes = std::fs::read(IPFS_NODE).unwrap(); + let ipfs_rpc_bytes = std::fs::read(IPFS_RPC).unwrap(); -fn main() -> Result<(), ExitFailure> { - println!("Welcome to the FCE CLI:"); - let mut rl = rustyline::Editor::<()>::new(); let mut fce = FCE::new(); + let config = FCEModuleConfig::default(); - loop { - let readline = rl.readline(">> "); - match readline { - Ok(line) => { - // TODO: improve argument parsing - let cmd: Vec<_> = line.split(' ').collect(); - match cmd[0] { - "add" => { - let module_name = cmd[1].to_string(); - let wasm_bytes = fs::read(cmd[2]); - if let Err(e) = wasm_bytes { - println!("failed to read wasm module: {}", e); - continue; - } + println!("loading ipfs node module"); + fce.register_module("node", &ipfs_node_bytes, config.clone()) + .expect("module successfully created"); - let config = Config::default(); - let result_msg = - match fce.register_module(module_name, &wasm_bytes.unwrap(), config) { - Ok(_) => "module successfully registered in FCE".to_string(), - Err(e) => format!("module registration failed with: {:?}", e), - }; - println!("{}", result_msg); - } - "del" => { - let module_name = cmd[1]; - let result_msg = match fce.unregister_module(module_name) { - Ok(_) => "module successfully deleted from FCE".to_string(), - Err(e) => format!("module deletion failed with: {:?}", e), - }; - println!("{}", result_msg); - } - "execute" => { - let module_name = cmd[1]; - let arg = cmd[2..].join(" "); - let result = match fce.invoke(module_name, arg.as_bytes()) { - Ok(result) => { - let outcome_copy = result.outcome.clone(); - match String::from_utf8(result.outcome) { - Ok(s) => format!("result: {}", s), - Err(_) => format!("result: {:?}", outcome_copy), - } - } - Err(e) => format!("execution failed with {:?}", e), - }; - println!("{}", result); - } - "hash" => { - let hash = fce.compute_state_hash(); - println!( - "vm state hash is {:2x}", - SlicePrettyPrinter(hash.as_slice()) - ); - } - "help" => { - println!( - "Enter:\n\ - add - to add a new Wasm module to FCE\n\ - del - to delete Wasm module to FCE\n\ - execute - to call invoke on module with module_name\n\ - hash - to compute hash of internal Wasm state\n\ - help - to print this message\n\ - e/exit/q/quit - to exit" - ); - } - "e" | "exit" | "q" | "quit" => break, - _ => { - println!("unsupported command"); - } - } - } - Err(e) => { - println!("a error occurred: {}", e); - break; - } - } - } + println!("loading ipfs rpc module"); + fce.register_module("rpc", &ipfs_rpc_bytes, config.clone()) + .expect("module successfully created"); - Ok(()) + let result = fce + .call("node_rpc", "invoke", &[IValue::String("aaaa".to_string())]) + .unwrap(); + + println!("execution result {:?}", result); } + +/* +fn logger_log_utf8_string(ctx: &mut Ctx, offset: i32, size: i32) { + use wasmer_runtime_core::memory::ptr::{Array, WasmPtr}; + + let wasm_ptr = WasmPtr::::new(offset as _); + match wasm_ptr.get_utf8_string(ctx.memory(0), size as _) { + Some(msg) => print!("{}", msg), + None => print!("fce logger: incorrect UTF8 string's been supplied to logger"), + } +} + + +fn ipfs_call(ctx: &mut Ctx, ptr: i32, size: i32) { + use wasmer_runtime_core::memory::ptr::{Array, WasmPtr}; + + let wasm_ptr = WasmPtr::::new(ptr as _); + match wasm_ptr.get_utf8_string(ctx.memory(0), size as _) { + Some(msg) => println!("host ipfs_call: {}", msg), + None => println!("fce logger: incorrect UTF8 string's been supplied to logger"), + } +} +*/ diff --git a/fce/src/vm/config.rs b/fce/src/vm/config.rs index 058597ff..f2c65b88 100644 --- a/fce/src/vm/config.rs +++ b/fce/src/vm/config.rs @@ -17,35 +17,10 @@ use wasmer_wasi::WasiVersion; use std::path::PathBuf; +use wasmer_runtime::ImportObject; -#[derive(Clone, Debug, PartialEq)] -pub struct WASIConfig { - /// Desired WASI version. - pub version: WasiVersion, - - /// Environment variables for loaded modules. - pub envs: Vec>, - - /// List of available directories for loaded modules. - pub preopened_files: Vec, - - /// Mapping between paths. - pub mapped_dirs: Vec<(String, PathBuf)>, -} - -impl Default for WASIConfig { - fn default() -> Self { - Self { - version: WasiVersion::Latest, - envs: vec![], - preopened_files: vec![], - mapped_dirs: vec![], - } - } -} - -#[derive(Clone, Debug, PartialEq)] -pub struct Config { +#[derive(Clone)] +pub struct FCEModuleConfig { /// Maximum number of Wasm memory pages that loaded module can use. /// Each Wasm pages is 65536 bytes long. pub mem_pages_count: u32, @@ -54,70 +29,47 @@ pub struct Config { /// This functionality is just for debugging, and this module will be disabled in future. pub logger_enabled: bool, - /// Name of the main module handler function. - pub invoke_fn_name: String, + /// Import object that will be used in module instantiation process. + pub import_object: ImportObject, - /// Name of a function that should be called for allocation memory. This function - /// is used for passing array of bytes to the main module. - pub allocate_fn_name: String, + /// Desired WASI version. + pub wasi_version: WasiVersion, - /// Name of a function that should be called for deallocation of - /// previously allocated memory by allocateFunction. - pub deallocate_fn_name: String, + /// Environment variables for loaded modules. + pub wasi_envs: Vec>, - /// Name of a functions that could be used to store one byte in current module. - pub store_fn_name: String, + /// List of available directories for loaded modules. + pub wasi_preopened_files: Vec, - /// Name of a function that could be used to load one byte from current module. - pub load_fn_name: String, - - /// Config for WASI subsystem initialization. None means that module should be loaded - /// without WASI. - pub wasi_config: WASIConfig, + /// Mapping between paths. + pub wasi_mapped_dirs: Vec<(String, PathBuf)>, } -impl Default for Config { +impl Default for FCEModuleConfig { fn default() -> Self { // some reasonable defaults Self { // 65536*1600 ~ 100 Mb mem_pages_count: 1600, - invoke_fn_name: "invoke".to_string(), - allocate_fn_name: "allocate".to_string(), - deallocate_fn_name: "deallocate".to_string(), - store_fn_name: "store".to_string(), - load_fn_name: "load".to_string(), logger_enabled: true, - wasi_config: WASIConfig::default(), + import_object: ImportObject::new(), + wasi_version: WasiVersion::Latest, + wasi_envs: vec![], + wasi_preopened_files: vec![], + wasi_mapped_dirs: vec![], } } } -impl Config { +// TODO: implement debug for FCEModuleConfig + +impl FCEModuleConfig { #[allow(dead_code)] pub fn with_mem_pages_count(mut self, mem_pages_count: u32) -> Self { self.mem_pages_count = mem_pages_count; self } - #[allow(dead_code)] - pub fn with_invoke_fn_name(mut self, invoke_fn_name: String) -> Self { - self.invoke_fn_name = invoke_fn_name; - self - } - - #[allow(dead_code)] - pub fn with_allocate_fn_name(mut self, allocate_fn_name: String) -> Self { - self.allocate_fn_name = allocate_fn_name; - self - } - - #[allow(dead_code)] - pub fn with_deallocate_fn_name(mut self, deallocate_fn_name: String) -> Self { - self.deallocate_fn_name = deallocate_fn_name; - self - } - #[allow(dead_code)] pub fn with_logger_enable(mut self, logger_enable: bool) -> Self { self.logger_enabled = logger_enable; @@ -126,25 +78,25 @@ impl Config { #[allow(dead_code)] pub fn with_wasi_version(mut self, wasi_version: WasiVersion) -> Self { - self.wasi_config.version = wasi_version; + self.wasi_version = wasi_version; self } #[allow(dead_code)] pub fn with_wasi_envs(mut self, envs: Vec>) -> Self { - self.wasi_config.envs = envs; + self.wasi_envs = envs; self } #[allow(dead_code)] pub fn with_wasi_preopened_files(mut self, preopened_files: Vec) -> Self { - self.wasi_config.preopened_files = preopened_files; + self.wasi_preopened_files = preopened_files; self } #[allow(dead_code)] pub fn with_wasi_mapped_dirs(mut self, mapped_dirs: Vec<(String, PathBuf)>) -> Self { - self.wasi_config.mapped_dirs = mapped_dirs; + self.wasi_mapped_dirs = mapped_dirs; self } } diff --git a/fce/src/vm/errors.rs b/fce/src/vm/errors.rs index 65f3cde4..75685a49 100644 --- a/fce/src/vm/errors.rs +++ b/fce/src/vm/errors.rs @@ -14,6 +14,7 @@ * limitations under the License. */ +use wasmer_wit::errors::InstructionError; use wasmer_runtime::error::{ CallError, CompileError, CreationError, Error as WasmerError, ResolveError, RuntimeError, }; @@ -22,9 +23,6 @@ use std::error::Error; #[derive(Debug)] pub enum FCEError { - /// Errors for I/O errors raising while opening a file. - IOError(String), - /// This error type is produced by Wasmer during resolving a Wasm function. WasmerResolveError(String), @@ -43,11 +41,23 @@ pub enum FCEError { /// Indicates that there is already a module with such name. NonUniqueModuleName, - /// Returns where there is no module with such name. + /// Returns when there is no module with such name. + NoSuchFunction(String), + + /// Returns when there is no module with such name. NoSuchModule, - /// Indicates that modules currently in use and couldn't be deleted. - ModuleInUse, + /// WIT section is absent. + NoWITSection, + + /// Multiple WIT sections. + MultipleWITSections, + + /// WIT section remainder isn't empty. + WITRemainderNotEmpty, + + /// An error occurred while parsing WIT section. + WITParseError, } impl Error for FCEError {} @@ -55,7 +65,6 @@ impl Error for FCEError {} impl std::fmt::Display for FCEError { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> Result<(), std::fmt::Error> { match self { - FCEError::IOError(msg) => write!(f, "IOError: {}", msg), FCEError::WasmerResolveError(msg) => write!(f, "WasmerResolveError: {}", msg), FCEError::WasmerInvokeError(msg) => write!(f, "WasmerInvokeError: {}", msg), FCEError::WasmerCompileError(msg) => write!(f, "WasmerCompileError: {}", msg), @@ -63,11 +72,24 @@ impl std::fmt::Display for FCEError { FCEError::PrepareError(msg) => { write!(f, "Prepare error: {}, probably module is mailformed", msg) } - FCEError::NonUniqueModuleName => write!(f, "FCE already has module with such name"), - FCEError::NoSuchModule => write!(f, "FCE doesn't have a module with such name"), - FCEError::ModuleInUse => { - write!(f, "Module is used by other modules and couldn't be deleted") + FCEError::NonUniqueModuleName => write!(f, "FCE already has module with such a name"), + FCEError::NoSuchFunction(msg) => { + write!(f, "FCE doesn't have a function with such a name: {}", msg) } + FCEError::NoSuchModule => write!(f, "FCE doesn't have a module with such a name"), + FCEError::NoWITSection => write!( + f, + "Loaded module doesn't contain WIT section that is neccessary for instantiation" + ), + FCEError::MultipleWITSections => write!( + f, + "Loaded module contains multiple WIT sections that is unsupported now" + ), + FCEError::WITRemainderNotEmpty => write!( + f, + "WIT section remainder isn't empty - WIT section possibly corrupted" + ), + FCEError::WITParseError => write!(f, "WIT section is corrupted"), } } } @@ -117,8 +139,8 @@ impl From for FCEError { } } -impl From for FCEError { - fn from(err: std::io::Error) -> Self { - FCEError::IOError(format!("{}", err)) +impl From for FCEError { + fn from(err: InstructionError) -> Self { + FCEError::WasmerInvokeError(format!("{}", err)) } } diff --git a/fce/src/vm/fce.rs b/fce/src/vm/fce.rs index 315e95a1..47f7f767 100644 --- a/fce/src/vm/fce.rs +++ b/fce/src/vm/fce.rs @@ -14,76 +14,24 @@ * limitations under the License. */ -use crate::vm::module::fce_result::FCEResult; -use crate::vm::module::{FCEModule, ModuleAPI}; -use crate::vm::{config::Config, errors::FCEError, service::FCEService}; +use super::instance::FCEModule; +use super::*; -use sha2::{digest::generic_array::GenericArray, digest::FixedOutput}; +use std::sync::Arc; use std::collections::hash_map::Entry; use std::collections::HashMap; -use wasmer_runtime::func; -use wasmer_runtime_core::import::{ImportObject, Namespace}; pub struct FCE { // set of modules registered inside FCE - modules: HashMap, - - // contains ABI of each registered module in specific format for Wasmer - abi_import_object: ImportObject, + modules: HashMap>, } impl FCE { pub fn new() -> Self { Self { modules: HashMap::new(), - abi_import_object: ImportObject::new(), } } - - /// Extracts ABI of a module into Namespace. - fn create_namespace_from_module(module: &FCEModule, config: &Config) -> Namespace { - let mut namespace = Namespace::new(); - let module_abi = module.get_abi().clone(); - - // TODO: introduce a macro for such things - let allocate = module_abi.allocate; - namespace.insert( - config.allocate_fn_name.clone(), - func!(move |size: i32| -> i32 { allocate.call(size).expect("allocate failed") }), - ); - - let invoke = module_abi.invoke; - namespace.insert( - config.invoke_fn_name.clone(), - func!(move |offset: i32, size: i32| -> i32 { - invoke.call(offset, size).expect("invoke failed") - }), - ); - - let deallocate = module_abi.deallocate; - namespace.insert( - config.deallocate_fn_name.clone(), - func!(move |ptr: i32, size: i32| { - deallocate.call(ptr, size).expect("deallocate failed"); - }), - ); - - let store = module_abi.store; - namespace.insert( - config.store_fn_name.clone(), - func!(move |offset: i32, value: i32| { - store.call(offset, value).expect("store failed") - }), - ); - - let load = module_abi.load; - namespace.insert( - config.load_fn_name.clone(), - func!(move |offset: i32| -> i32 { load.call(offset).expect("load failed") }), - ); - - namespace - } } impl Default for FCE { @@ -93,9 +41,17 @@ impl Default for FCE { } impl FCEService for FCE { - fn invoke(&mut self, module_name: &str, argument: &[u8]) -> Result { + fn call( + &mut self, + module_name: &str, + func_name: &str, + argument: &[IValue], + ) -> Result, FCEError> { match self.modules.get_mut(module_name) { - Some(module) => module.invoke(argument), + // TODO: refactor errors + Some(mut module) => unsafe { + Ok(Arc::get_mut_unchecked(&mut module).call(func_name, argument)?) + }, None => Err(FCEError::NoSuchModule), } } @@ -104,29 +60,19 @@ impl FCEService for FCE { &mut self, module_name: S, wasm_bytes: &[u8], - config: Config, + config: FCEModuleConfig, ) -> Result<(), FCEError> where S: Into, { - let prepared_wasm_bytes = - crate::vm::prepare::prepare_module(wasm_bytes, config.mem_pages_count)?; + let _prepared_wasm_bytes = + super::prepare::prepare_module(wasm_bytes, config.mem_pages_count)?; - let module = FCEModule::new( - &prepared_wasm_bytes, - config.clone(), - self.abi_import_object.clone(), - )?; + let module = FCEModule::new(&wasm_bytes, config.import_object, &self.modules)?; - // registers ABI of newly registered module in abi_import_object - let namespace = FCE::create_namespace_from_module(&module, &config); - let module_name: String = module_name.into(); - self.abi_import_object - .register(module_name.clone(), namespace); - - match self.modules.entry(module_name) { + match self.modules.entry(module_name.into()) { Entry::Vacant(entry) => { - entry.insert(module); + entry.insert(Arc::new(module)); Ok(()) } Entry::Occupied(_) => Err(FCEError::NonUniqueModuleName), @@ -143,21 +89,4 @@ impl FCEService for FCE { } } } - - fn compute_state_hash( - &mut self, - ) -> GenericArray::OutputSize> { - use sha2::Digest; - - let mut hasher = sha2::Sha256::new(); - - let sha256_size = 256; - let mut hash_vec: Vec = Vec::with_capacity(self.modules.len() * sha256_size); - for (_, module) in self.modules.iter_mut() { - hash_vec.extend_from_slice(module.compute_state_hash().as_slice()); - } - - hasher.input(hash_vec); - hasher.result() - } } diff --git a/wit_fce/src/vm/fce_service.rs b/fce/src/vm/fce_service.rs similarity index 100% rename from wit_fce/src/vm/fce_service.rs rename to fce/src/vm/fce_service.rs diff --git a/wit_fce/src/vm/instance/exports.rs b/fce/src/vm/instance/exports.rs similarity index 100% rename from wit_fce/src/vm/instance/exports.rs rename to fce/src/vm/instance/exports.rs diff --git a/wit_fce/src/vm/instance/fce_module.rs b/fce/src/vm/instance/fce_module.rs similarity index 100% rename from wit_fce/src/vm/instance/fce_module.rs rename to fce/src/vm/instance/fce_module.rs diff --git a/wit_fce/src/vm/instance/memory.rs b/fce/src/vm/instance/memory.rs similarity index 100% rename from wit_fce/src/vm/instance/memory.rs rename to fce/src/vm/instance/memory.rs diff --git a/wit_fce/src/vm/instance/mod.rs b/fce/src/vm/instance/mod.rs similarity index 100% rename from wit_fce/src/vm/instance/mod.rs rename to fce/src/vm/instance/mod.rs diff --git a/wit_fce/src/vm/instance/type_converters.rs b/fce/src/vm/instance/type_converters.rs similarity index 100% rename from wit_fce/src/vm/instance/type_converters.rs rename to fce/src/vm/instance/type_converters.rs diff --git a/wit_fce/src/vm/instance/wit_function.rs b/fce/src/vm/instance/wit_function.rs similarity index 100% rename from wit_fce/src/vm/instance/wit_function.rs rename to fce/src/vm/instance/wit_function.rs diff --git a/wit_fce/src/vm/instance/wit_instance.rs b/fce/src/vm/instance/wit_instance.rs similarity index 100% rename from wit_fce/src/vm/instance/wit_instance.rs rename to fce/src/vm/instance/wit_instance.rs diff --git a/fce/src/vm/mod.rs b/fce/src/vm/mod.rs index 856d9111..17445a5e 100644 --- a/fce/src/vm/mod.rs +++ b/fce/src/vm/mod.rs @@ -14,10 +14,15 @@ * limitations under the License. */ -pub mod config; -pub mod errors; -pub mod fce; -pub mod service; - -mod module; +mod fce; +mod instance; +mod fce_service; +mod config; mod prepare; +mod errors; + +pub use fce::FCE; +pub use fce_service::FCEService; +pub use config::FCEModuleConfig; +pub use errors::FCEError; +pub use instance::{IType, IValue}; diff --git a/fce/src/vm/module/abi.rs b/fce/src/vm/module/abi.rs deleted file mode 100644 index 72d316dd..00000000 --- a/fce/src/vm/module/abi.rs +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright 2020 Fluence Labs Limited - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -use crate::vm::errors::FCEError; - -/// Application binary interface of a FCE module. Different module could use such scheme for -/// communicate with each other. -/// -/// Given char string req as a request, the general scheme to use this ABI by other module -/// is following: -/// -/// 1. ptr = allocate(strlen(req)) that returns a pointer to the memory region enough for req -/// 2. writes req to the module memory byte-by-byte with store -/// 3. res = invoke(ptr, strlen(sql)) to execute the request -/// 4. read a result from the res by reading 4 bytes as little-endian result_size -/// and the read result_size bytes as the final result. -/// 5. deallocate(res, strlen(sql)) to clean memory. -pub(crate) trait ModuleABI { - /// Allocates a region of memory inside a module. Used for passing argument inside the module. - fn allocate(&mut self, size: i32) -> Result; - - /// Deallocates previously allocated memory region. - fn deallocate(&mut self, ptr: i32, size: i32) -> Result<(), FCEError>; - - /// Calls the main entry point of a module called invoke. - fn invoke(&mut self, arg_address: i32, arg_size: i32) -> Result; - - /// Stores one byte on given address. - fn store(&mut self, address: i32, value: i32) -> Result<(), FCEError>; - - /// Loads one byte from given address. - fn load(&mut self, address: i32) -> Result; -} diff --git a/fce/src/vm/module/api.rs b/fce/src/vm/module/api.rs deleted file mode 100644 index 6668298e..00000000 --- a/fce/src/vm/module/api.rs +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright 2020 Fluence Labs Limited - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -use crate::vm::errors::FCEError; -use crate::vm::module::fce_result::FCEResult; - -use sha2::digest::generic_array::GenericArray; -use sha2::digest::FixedOutput; - -/// Application interface of a FCE module. Intended to use by FCE vm.instance itself. -pub(crate) trait ModuleAPI { - /// Invokes a module supplying byte array and expecting byte array with some outcome back. - fn invoke(&mut self, argument: &[u8]) -> Result; - - /// Computes hash of the internal modules state. - fn compute_state_hash(&mut self) - -> GenericArray::OutputSize>; -} diff --git a/fce/src/vm/module/fce_module.rs b/fce/src/vm/module/fce_module.rs deleted file mode 100644 index 2b260335..00000000 --- a/fce/src/vm/module/fce_module.rs +++ /dev/null @@ -1,220 +0,0 @@ -/* - * Copyright 2020 Fluence Labs Limited - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -use crate::vm::config::Config; -use crate::vm::errors::FCEError; -use crate::vm::module::fce_result::FCEResult; -use crate::vm::module::{ModuleABI, ModuleAPI}; - -use sha2::digest::generic_array::GenericArray; -use sha2::digest::FixedOutput; -use wasmer_runtime::{compile, func, imports, Ctx, Func, Instance}; -use wasmer_runtime_core::import::ImportObject; -use wasmer_runtime_core::memory::ptr::{Array, WasmPtr}; -use wasmer_wasi::generate_import_object_for_version; - -/// Describes Application Binary Interface of a module. -/// For more details see comment in abi.rs. -#[derive(Clone)] -pub(crate) struct ABI { - // It is safe to use unwrap() while calling these functions because Option is used here - // just to allow partially initialization. And all Option fields will contain Some if - // invoking FCE::new has been succeed. - pub(crate) allocate: Func<'static, i32, i32>, - pub(crate) deallocate: Func<'static, (i32, i32), ()>, - pub(crate) invoke: Func<'static, (i32, i32), i32>, - pub(crate) store: Func<'static, (i32, i32)>, - pub(crate) load: Func<'static, i32, i32>, -} - -/// A building block of multi-modules scheme of FCE, represents one module that corresponds -/// to a one Wasm file. -pub(crate) struct FCEModule { - instance: Instance, - abi: ABI, -} - -impl FCEModule { - /// Creates a new virtual machine executor. - pub fn new(wasm_bytes: &[u8], config: Config, imports: ImportObject) -> Result { - let logger_imports = imports! { - "logger" => { - "log_utf8_string" => func!(FCEModule::logger_log_utf8_string), - }, - }; - let config_copy = config.clone(); - - let mut import_object = generate_import_object_for_version( - config.wasi_config.version, - vec![], - config.wasi_config.envs, - config.wasi_config.preopened_files, - config.wasi_config.mapped_dirs, - ); - import_object.extend(logger_imports); - import_object.extend(imports); - import_object.allow_missing_functions = false; - - let instance = compile(&wasm_bytes)?.instantiate(&import_object)?; - let abi = FCEModule::create_abi(&instance, &config_copy)?; - - Ok(Self { instance, abi }) - } - - #[rustfmt::skip] - /// Extracts ABI from a module. - fn create_abi(instance: &Instance, config: &Config) -> Result { - unsafe { - let allocate = std::mem::transmute::, Func<'static, _, _>>( - instance.exports.get(&config.allocate_fn_name)? - ); - - let deallocate = std::mem::transmute::, Func<'static, _, _>>( - instance.exports.get(&config.deallocate_fn_name)? - ); - - let invoke = std::mem::transmute::, Func<'static, _, _>, >( - instance.exports.get(&config.invoke_fn_name)? - ); - - let store = std::mem::transmute::, Func<'static, _, _>>( - instance.exports.get(&config.store_fn_name)?, - ); - - let load = std::mem::transmute::, Func<'static, _, _>>( - instance.exports.get(&config.load_fn_name)?, - ); - - Ok(ABI { - allocate, - deallocate, - invoke, - store, - load, - }) - } - } - - /// Returns ABI of a module. - /// (!) Be carefull and delete all instances of ABI before dropping corresponding module. - /// There is no any internal ref counter due to the internals of Wasmer. - pub fn get_abi(&self) -> &ABI { - &self.abi - } - - /// Prints utf8 string of the given size from the given offset. Called from the wasm. - fn logger_log_utf8_string(ctx: &mut Ctx, offset: i32, size: i32) { - let wasm_ptr = WasmPtr::::new(offset as _); - match wasm_ptr.get_utf8_string(ctx.memory(0), size as _) { - Some(msg) => print!("{}", msg), - None => print!("fce logger: incorrect UTF8 string's been supplied to logger"), - } - } - - /// Writes given value on the given address to module memory. - fn write_to_mem(&mut self, address: usize, value: &[u8]) -> Result<(), FCEError> { - let memory = self.instance.context().memory(0); - - for (byte_id, cell) in memory.view::()[address..(address + value.len())] - .iter() - .enumerate() - { - cell.set(value[byte_id]); - } - - Ok(()) - } - - /// Reads invocation result from specified address of memory. - fn read_result_from_mem(&self, address: usize) -> Result, FCEError> { - let memory = self.instance.context().memory(0); - - let mut result_size: usize = 0; - - for (byte_id, cell) in memory.view::()[address..address + 4].iter().enumerate() { - result_size |= (cell.get() as usize) << (8 * byte_id); - } - - let mut result = Vec::::with_capacity(result_size); - for cell in memory.view()[(address + 4) as usize..(address + result_size + 4)].iter() { - result.push(cell.get()); - } - - Ok(result) - } -} - -impl ModuleAPI for FCEModule { - fn invoke(&mut self, argument: &[u8]) -> Result { - let argument_len = argument.len() as i32; - - // allocate memory for the given argument and write it to memory - let argument_address = if argument_len != 0 { - let address = self.allocate(argument_len)?; - self.write_to_mem(address as usize, argument)?; - address - } else { - 0 - }; - - // invoke a main module, read a result and deallocate it - let result_address = ::invoke(self, argument_address, argument_len)?; - let result = self.read_result_from_mem(result_address as _)?; - self.deallocate(result_address, result.len() as i32)?; - - Ok(FCEResult::new(result)) - } - - fn compute_state_hash( - &mut self, - ) -> GenericArray::OutputSize> { - use sha2::Digest; - - let mut hasher = sha2::Sha256::new(); - let memory = self.instance.context().memory(0); - - let wasm_ptr = WasmPtr::::new(0 as _); - let raw_mem = wasm_ptr - .deref(memory, 0, (memory.size().bytes().0 - 1) as _) - .expect("fce: internal error in compute_vm_state_hash"); - let raw_mem: &[u8] = unsafe { &*(raw_mem as *const [std::cell::Cell] as *const [u8]) }; - - hasher.input(raw_mem); - hasher.result() - } -} - -impl ModuleABI for FCEModule { - fn allocate(&mut self, size: i32) -> Result { - Ok(self.abi.allocate.call(size)?) - } - - fn deallocate(&mut self, ptr: i32, size: i32) -> Result<(), FCEError> { - Ok(self.abi.deallocate.call(ptr, size)?) - } - - fn invoke(&mut self, arg_address: i32, arg_size: i32) -> Result { - Ok(self.abi.invoke.call(arg_address, arg_size)?) - } - - fn store(&mut self, address: i32, value: i32) -> Result<(), FCEError> { - Ok(self.abi.store.call(address, value)?) - } - - fn load(&mut self, address: i32) -> Result { - Ok(self.abi.load.call(address)?) - } -} diff --git a/fce/src/vm/module/fce_result.rs b/fce/src/vm/module/fce_result.rs deleted file mode 100644 index ebeb4884..00000000 --- a/fce/src/vm/module/fce_result.rs +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright 2020 Fluence Labs Limited - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#[derive(Clone, Debug, PartialEq, Default)] -pub struct FCEResult { - pub outcome: Vec, -} - -impl FCEResult { - pub fn new(outcome: Vec) -> Self { - Self { outcome } - } -} diff --git a/fce/src/vm/module/mod.rs b/fce/src/vm/module/mod.rs deleted file mode 100644 index 92b744de..00000000 --- a/fce/src/vm/module/mod.rs +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright 2020 Fluence Labs Limited - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -mod abi; -mod api; -mod fce_module; -pub mod fce_result; - -pub(crate) use abi::ModuleABI; -pub(crate) use api::ModuleAPI; -pub(crate) use fce_module::FCEModule; diff --git a/fce/src/vm/prepare.rs b/fce/src/vm/prepare.rs index fab55dea..ff9763e9 100644 --- a/fce/src/vm/prepare.rs +++ b/fce/src/vm/prepare.rs @@ -18,7 +18,7 @@ // https://github.com/paritytech/substrate/blob/master/srml/contracts/src/wasm/prepare.rs // https://github.com/nearprotocol/nearcore/blob/master/runtime/near-vm-runner/src/prepare.rs -use crate::vm::errors::FCEError; +use super::errors::FCEError; use parity_wasm::{ builder, elements, diff --git a/fce/src/vm/service.rs b/fce/src/vm/service.rs deleted file mode 100644 index 8562cc35..00000000 --- a/fce/src/vm/service.rs +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright 2020 Fluence Labs Limited - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -use crate::vm::config::Config; -use crate::vm::errors::FCEError; -use crate::vm::module::fce_result::FCEResult; - -use sha2::digest::generic_array::GenericArray; - -/// Describes a service behaviour in the Fluence network. -pub trait FCEService { - /// Invokes a module supplying byte array and expecting byte array with some outcome back. - fn invoke(&mut self, module_name: &str, argument: &[u8]) -> Result; - - /// Registers new module in the FCE Service. - fn register_module( - &mut self, - module_name: S, - wasm_bytes: &[u8], - config: Config, - ) -> Result<(), FCEError> - where - S: Into; - - /// Unregisters previously registered module. - fn unregister_module(&mut self, module_name: &str) -> Result<(), FCEError>; - - /// Computes hash of the internal modules state. - fn compute_state_hash( - &mut self, - ) -> GenericArray::OutputSize>; -} diff --git a/fce/tests/downloader.rs b/tests/downloader.rs similarity index 100% rename from fce/tests/downloader.rs rename to tests/downloader.rs diff --git a/fce/tests/single_module.rs b/tests/single_module.rs similarity index 100% rename from fce/tests/single_module.rs rename to tests/single_module.rs diff --git a/wit_embedder/Cargo.toml b/tools/wit_embedder/Cargo.toml similarity index 100% rename from wit_embedder/Cargo.toml rename to tools/wit_embedder/Cargo.toml diff --git a/wit_embedder/src/custom.rs b/tools/wit_embedder/src/custom.rs similarity index 100% rename from wit_embedder/src/custom.rs rename to tools/wit_embedder/src/custom.rs diff --git a/wit_embedder/src/embedder.rs b/tools/wit_embedder/src/embedder.rs similarity index 100% rename from wit_embedder/src/embedder.rs rename to tools/wit_embedder/src/embedder.rs diff --git a/wit_embedder/src/extracter.rs b/tools/wit_embedder/src/extracter.rs similarity index 100% rename from wit_embedder/src/extracter.rs rename to tools/wit_embedder/src/extracter.rs diff --git a/wit_embedder/src/main.rs b/tools/wit_embedder/src/main.rs similarity index 100% rename from wit_embedder/src/main.rs rename to tools/wit_embedder/src/main.rs diff --git a/wit_fce/Cargo.toml b/wit_fce/Cargo.toml deleted file mode 100644 index b2f79024..00000000 --- a/wit_fce/Cargo.toml +++ /dev/null @@ -1,15 +0,0 @@ -[package] -name = "wit_fce" -version = "0.2.0" -authors = ["Fluence Labs"] -edition = "2018" - -[dependencies] -wasmer-runtime = "0.17.0" -# dynamicfunc-fat-closures allows using state inside DynamicFunc -wasmer-core = { package = "wasmer-runtime-core", version = "0.17.0", features = ["dynamicfunc-fat-closures"] } -wasmer-wit = { package = "wasmer-interface-types", git = "http://github.com/fluencelabs/interface-types" } -wasmer-wasi = "0.17.0" -multimap = "0.8.1" -parity-wasm = "0.41.0" -pwasm-utils = "0.12.0" diff --git a/wit_fce/src/main.rs b/wit_fce/src/main.rs deleted file mode 100644 index eff6941d..00000000 --- a/wit_fce/src/main.rs +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright 2020 Fluence Labs Limited - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#![warn(rust_2018_idioms)] -#![feature(get_mut_unchecked)] -#![feature(new_uninit)] - -mod vm; -mod misc; - -use vm::IValue; -use vm::FCE; -use vm::FCEModuleConfig; -use vm::FCEService; - -const IPFS_NODE: &str = - "/Users/mike/dev/work/fluence/wasm/fce/target/wasm32-unknown-unknown/release/ipfs_node_wit.wasm"; - -const IPFS_RPC: &str = - "/Users/mike/dev/work/fluence/wasm/fce/target/wasm32-unknown-unknown/release/ipfs_rpc_wit.wasm"; - -fn main() { - let ipfs_node_bytes = std::fs::read(IPFS_NODE).unwrap(); - let ipfs_rpc_bytes = std::fs::read(IPFS_RPC).unwrap(); - - let mut fce = FCE::new(); - let config = FCEModuleConfig::default(); - - println!("loading ipfs node module"); - fce.register_module("node", &ipfs_node_bytes, config.clone()) - .expect("module successfully created"); - - println!("loading ipfs rpc module"); - fce.register_module("rpc", &ipfs_rpc_bytes, config.clone()) - .expect("module successfully created"); - - let result = fce - .call("node_rpc", "invoke", &[IValue::String("aaaa".to_string())]) - .unwrap(); - - println!("execution result {:?}", result); -} - -/* -fn logger_log_utf8_string(ctx: &mut Ctx, offset: i32, size: i32) { - use wasmer_runtime_core::memory::ptr::{Array, WasmPtr}; - - let wasm_ptr = WasmPtr::::new(offset as _); - match wasm_ptr.get_utf8_string(ctx.memory(0), size as _) { - Some(msg) => print!("{}", msg), - None => print!("fce logger: incorrect UTF8 string's been supplied to logger"), - } -} - - -fn ipfs_call(ctx: &mut Ctx, ptr: i32, size: i32) { - use wasmer_runtime_core::memory::ptr::{Array, WasmPtr}; - - let wasm_ptr = WasmPtr::::new(ptr as _); - match wasm_ptr.get_utf8_string(ctx.memory(0), size as _) { - Some(msg) => println!("host ipfs_call: {}", msg), - None => println!("fce logger: incorrect UTF8 string's been supplied to logger"), - } -} -*/ diff --git a/wit_fce/src/misc/mod.rs b/wit_fce/src/misc/mod.rs deleted file mode 100644 index 14d4f538..00000000 --- a/wit_fce/src/misc/mod.rs +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright 2020 Fluence Labs Limited - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -mod slice_pretty_printer; - -pub use slice_pretty_printer::SlicePrettyPrinter; diff --git a/wit_fce/src/misc/slice_pretty_printer.rs b/wit_fce/src/misc/slice_pretty_printer.rs deleted file mode 100644 index f89e8f3c..00000000 --- a/wit_fce/src/misc/slice_pretty_printer.rs +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright 2020 Fluence Labs Limited - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -pub struct SlicePrettyPrinter<'a>(pub &'a [u8]); - -impl<'a> std::fmt::LowerHex for SlicePrettyPrinter<'a> { - fn fmt(&self, fmtr: &mut std::fmt::Formatter<'_>) -> Result<(), std::fmt::Error> { - fmtr.write_fmt(format_args!("0x"))?; - for byte in self.0 { - fmtr.write_fmt(format_args!("{:02x}", byte))?; - } - Ok(()) - } -} - -impl<'a> std::fmt::UpperHex for SlicePrettyPrinter<'a> { - fn fmt(&self, fmtr: &mut std::fmt::Formatter<'_>) -> Result<(), std::fmt::Error> { - fmtr.write_fmt(format_args!("0x"))?; - for byte in self.0 { - fmtr.write_fmt(format_args!("{:02X}", byte))?; - } - Ok(()) - } -} diff --git a/wit_fce/src/vm/config.rs b/wit_fce/src/vm/config.rs deleted file mode 100644 index f2c65b88..00000000 --- a/wit_fce/src/vm/config.rs +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Copyright 2020 Fluence Labs Limited - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -use wasmer_wasi::WasiVersion; - -use std::path::PathBuf; -use wasmer_runtime::ImportObject; - -#[derive(Clone)] -pub struct FCEModuleConfig { - /// Maximum number of Wasm memory pages that loaded module can use. - /// Each Wasm pages is 65536 bytes long. - pub mem_pages_count: u32, - - /// If true, registers the logger Wasm module with name 'logger'. - /// This functionality is just for debugging, and this module will be disabled in future. - pub logger_enabled: bool, - - /// Import object that will be used in module instantiation process. - pub import_object: ImportObject, - - /// Desired WASI version. - pub wasi_version: WasiVersion, - - /// Environment variables for loaded modules. - pub wasi_envs: Vec>, - - /// List of available directories for loaded modules. - pub wasi_preopened_files: Vec, - - /// Mapping between paths. - pub wasi_mapped_dirs: Vec<(String, PathBuf)>, -} - -impl Default for FCEModuleConfig { - fn default() -> Self { - // some reasonable defaults - Self { - // 65536*1600 ~ 100 Mb - mem_pages_count: 1600, - logger_enabled: true, - import_object: ImportObject::new(), - wasi_version: WasiVersion::Latest, - wasi_envs: vec![], - wasi_preopened_files: vec![], - wasi_mapped_dirs: vec![], - } - } -} - -// TODO: implement debug for FCEModuleConfig - -impl FCEModuleConfig { - #[allow(dead_code)] - pub fn with_mem_pages_count(mut self, mem_pages_count: u32) -> Self { - self.mem_pages_count = mem_pages_count; - self - } - - #[allow(dead_code)] - pub fn with_logger_enable(mut self, logger_enable: bool) -> Self { - self.logger_enabled = logger_enable; - self - } - - #[allow(dead_code)] - pub fn with_wasi_version(mut self, wasi_version: WasiVersion) -> Self { - self.wasi_version = wasi_version; - self - } - - #[allow(dead_code)] - pub fn with_wasi_envs(mut self, envs: Vec>) -> Self { - self.wasi_envs = envs; - self - } - - #[allow(dead_code)] - pub fn with_wasi_preopened_files(mut self, preopened_files: Vec) -> Self { - self.wasi_preopened_files = preopened_files; - self - } - - #[allow(dead_code)] - pub fn with_wasi_mapped_dirs(mut self, mapped_dirs: Vec<(String, PathBuf)>) -> Self { - self.wasi_mapped_dirs = mapped_dirs; - self - } -} diff --git a/wit_fce/src/vm/errors.rs b/wit_fce/src/vm/errors.rs deleted file mode 100644 index 75685a49..00000000 --- a/wit_fce/src/vm/errors.rs +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Copyright 2020 Fluence Labs Limited - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -use wasmer_wit::errors::InstructionError; -use wasmer_runtime::error::{ - CallError, CompileError, CreationError, Error as WasmerError, ResolveError, RuntimeError, -}; - -use std::error::Error; - -#[derive(Debug)] -pub enum FCEError { - /// This error type is produced by Wasmer during resolving a Wasm function. - WasmerResolveError(String), - - /// Error related to calling a main Wasm module. - WasmerInvokeError(String), - - /// Error that raises during compilation Wasm code by Wasmer. - WasmerCreationError(String), - - /// Error that raises during creation of some Wasm objects (like table and memory) by Wasmer. - WasmerCompileError(String), - - /// Error that raises on the preparation step. - PrepareError(String), - - /// Indicates that there is already a module with such name. - NonUniqueModuleName, - - /// Returns when there is no module with such name. - NoSuchFunction(String), - - /// Returns when there is no module with such name. - NoSuchModule, - - /// WIT section is absent. - NoWITSection, - - /// Multiple WIT sections. - MultipleWITSections, - - /// WIT section remainder isn't empty. - WITRemainderNotEmpty, - - /// An error occurred while parsing WIT section. - WITParseError, -} - -impl Error for FCEError {} - -impl std::fmt::Display for FCEError { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> Result<(), std::fmt::Error> { - match self { - FCEError::WasmerResolveError(msg) => write!(f, "WasmerResolveError: {}", msg), - FCEError::WasmerInvokeError(msg) => write!(f, "WasmerInvokeError: {}", msg), - FCEError::WasmerCompileError(msg) => write!(f, "WasmerCompileError: {}", msg), - FCEError::WasmerCreationError(msg) => write!(f, "WasmerCreationError: {}", msg), - FCEError::PrepareError(msg) => { - write!(f, "Prepare error: {}, probably module is mailformed", msg) - } - FCEError::NonUniqueModuleName => write!(f, "FCE already has module with such a name"), - FCEError::NoSuchFunction(msg) => { - write!(f, "FCE doesn't have a function with such a name: {}", msg) - } - FCEError::NoSuchModule => write!(f, "FCE doesn't have a module with such a name"), - FCEError::NoWITSection => write!( - f, - "Loaded module doesn't contain WIT section that is neccessary for instantiation" - ), - FCEError::MultipleWITSections => write!( - f, - "Loaded module contains multiple WIT sections that is unsupported now" - ), - FCEError::WITRemainderNotEmpty => write!( - f, - "WIT section remainder isn't empty - WIT section possibly corrupted" - ), - FCEError::WITParseError => write!(f, "WIT section is corrupted"), - } - } -} - -impl From for FCEError { - fn from(err: CreationError) -> Self { - FCEError::WasmerCreationError(format!("{}", err)) - } -} - -impl From for FCEError { - fn from(err: CompileError) -> Self { - FCEError::WasmerCompileError(format!("{}", err)) - } -} - -impl From for FCEError { - fn from(err: parity_wasm::elements::Error) -> Self { - FCEError::PrepareError(format!("{}", err)) - } -} - -impl From for FCEError { - fn from(err: CallError) -> Self { - match err { - CallError::Resolve(err) => FCEError::WasmerResolveError(format!("{}", err)), - CallError::Runtime(err) => FCEError::WasmerInvokeError(format!("{}", err)), - } - } -} - -impl From for FCEError { - fn from(err: ResolveError) -> Self { - FCEError::WasmerResolveError(format!("{}", err)) - } -} - -impl From for FCEError { - fn from(err: RuntimeError) -> Self { - FCEError::WasmerInvokeError(format!("{}", err)) - } -} - -impl From for FCEError { - fn from(err: WasmerError) -> Self { - FCEError::WasmerInvokeError(format!("{}", err)) - } -} - -impl From for FCEError { - fn from(err: InstructionError) -> Self { - FCEError::WasmerInvokeError(format!("{}", err)) - } -} diff --git a/wit_fce/src/vm/fce.rs b/wit_fce/src/vm/fce.rs deleted file mode 100644 index 47f7f767..00000000 --- a/wit_fce/src/vm/fce.rs +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Copyright 2020 Fluence Labs Limited - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -use super::instance::FCEModule; -use super::*; - -use std::sync::Arc; -use std::collections::hash_map::Entry; -use std::collections::HashMap; - -pub struct FCE { - // set of modules registered inside FCE - modules: HashMap>, -} - -impl FCE { - pub fn new() -> Self { - Self { - modules: HashMap::new(), - } - } -} - -impl Default for FCE { - fn default() -> Self { - Self::new() - } -} - -impl FCEService for FCE { - fn call( - &mut self, - module_name: &str, - func_name: &str, - argument: &[IValue], - ) -> Result, FCEError> { - match self.modules.get_mut(module_name) { - // TODO: refactor errors - Some(mut module) => unsafe { - Ok(Arc::get_mut_unchecked(&mut module).call(func_name, argument)?) - }, - None => Err(FCEError::NoSuchModule), - } - } - - fn register_module( - &mut self, - module_name: S, - wasm_bytes: &[u8], - config: FCEModuleConfig, - ) -> Result<(), FCEError> - where - S: Into, - { - let _prepared_wasm_bytes = - super::prepare::prepare_module(wasm_bytes, config.mem_pages_count)?; - - let module = FCEModule::new(&wasm_bytes, config.import_object, &self.modules)?; - - match self.modules.entry(module_name.into()) { - Entry::Vacant(entry) => { - entry.insert(Arc::new(module)); - Ok(()) - } - Entry::Occupied(_) => Err(FCEError::NonUniqueModuleName), - } - } - - fn unregister_module(&mut self, module_name: &str) -> Result<(), FCEError> { - match self.modules.entry(module_name.to_string()) { - Entry::Vacant(_) => Err(FCEError::NoSuchModule), - - Entry::Occupied(module) => { - module.remove_entry(); - Ok(()) - } - } - } -} diff --git a/wit_fce/src/vm/mod.rs b/wit_fce/src/vm/mod.rs deleted file mode 100644 index 17445a5e..00000000 --- a/wit_fce/src/vm/mod.rs +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright 2020 Fluence Labs Limited - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -mod fce; -mod instance; -mod fce_service; -mod config; -mod prepare; -mod errors; - -pub use fce::FCE; -pub use fce_service::FCEService; -pub use config::FCEModuleConfig; -pub use errors::FCEError; -pub use instance::{IType, IValue}; diff --git a/wit_fce/src/vm/prepare.rs b/wit_fce/src/vm/prepare.rs deleted file mode 100644 index ff9763e9..00000000 --- a/wit_fce/src/vm/prepare.rs +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright 2020 Fluence Labs Limited - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -// Similar to -// https://github.com/paritytech/substrate/blob/master/srml/contracts/src/wasm/prepare.rs -// https://github.com/nearprotocol/nearcore/blob/master/runtime/near-vm-runner/src/prepare.rs - -use super::errors::FCEError; - -use parity_wasm::{ - builder, elements, - elements::{MemorySection, MemoryType}, -}; - -struct ModuleBootstrapper { - module: elements::Module, -} - -impl<'a> ModuleBootstrapper { - fn init(module_code: &[u8]) -> Result { - let module = elements::deserialize_buffer(module_code)?; - - Ok(Self { module }) - } - - fn set_mem_pages_count(self, mem_pages_count: u32) -> Self { - let Self { mut module } = self; - - // At now, there is could be only one memory section, so - // it needs just to extract previous initial page count, - // delete an old entry and add create a new one with updated limits - let mem_initial = match module.memory_section_mut() { - Some(section) => match section.entries_mut().pop() { - Some(entry) => entry.limits().initial(), - None => 0, - }, - None => 0, - }; - - let memory_entry = MemoryType::new(mem_initial, Some(mem_pages_count)); - let mut default_mem_section = MemorySection::default(); - - module - .memory_section_mut() - .unwrap_or_else(|| &mut default_mem_section) - .entries_mut() - .push(memory_entry); - - let builder = builder::from_module(module); - - Self { - module: builder.build(), - } - } - - fn into_wasm(self) -> Result, FCEError> { - elements::serialize(self.module).map_err(Into::into) - } -} - -/// Prepares a Wasm module: -/// - set memory page count -pub fn prepare_module(module: &[u8], mem_pages_count: u32) -> Result, FCEError> { - ModuleBootstrapper::init(module)? - .set_mem_pages_count(mem_pages_count) - .into_wasm() -}