From db377aa46eaae17a64b960cf049359ed98ea29bb Mon Sep 17 00:00:00 2001 From: Valery Antopol Date: Mon, 11 Oct 2021 21:33:32 +0300 Subject: [PATCH] Add multiservice marine_test example (#25), update crate versions --- .../aqua-ipfs-integration/service/Cargo.toml | 4 +- .../echo-greeter/echo-service/Cargo.toml | 2 +- .../echo-greeter/greeting/Cargo.toml | 2 +- .../echo-greeter/secure-greeter/Cargo.toml | 2 +- .../echo-greeter/utilities/Cargo.toml | 4 +- .../price-oracle/curl_adapter/Cargo.toml | 2 +- .../price-oracle/mean_service/Cargo.toml | 2 +- .../price_getter_service/Cargo.toml | 2 +- aqua-examples/ts-oracle/Cargo.toml | 4 +- marine-examples/README.md | 148 ++++++++++++++++++ marine-examples/call_parameters/Cargo.toml | 4 +- marine-examples/greeting/Cargo.toml | 4 +- .../multiservice_marine_test/.gitignore | 7 + .../multiservice_marine_test/Cargo.toml | 11 ++ .../multiservice_marine_test/build.sh | 4 + .../consumer/Cargo.toml | 13 ++ .../consumer/Config.toml | 6 + .../consumer/build.sh | 10 ++ .../consumer/src/main.rs | 16 ++ .../producer/Cargo.toml | 13 ++ .../producer/Config.toml | 6 + .../producer/build.sh | 10 ++ .../producer/src/main.rs | 24 +++ .../multiservice_marine_test/src/main.rs | 27 ++++ marine-examples/records/effector/Cargo.toml | 2 +- marine-examples/records/pure/Cargo.toml | 2 +- .../records/test-record/Cargo.toml | 2 +- marine-examples/sqlite/Cargo.toml | 4 +- .../url-downloader/curl_adapter/Cargo.toml | 2 +- .../url-downloader/facade/Cargo.toml | 2 +- .../url-downloader/local_storage/Cargo.toml | 2 +- quickstart/2-hosted-services/Cargo.toml | 4 +- 32 files changed, 321 insertions(+), 26 deletions(-) create mode 100644 marine-examples/multiservice_marine_test/.gitignore create mode 100644 marine-examples/multiservice_marine_test/Cargo.toml create mode 100755 marine-examples/multiservice_marine_test/build.sh create mode 100644 marine-examples/multiservice_marine_test/consumer/Cargo.toml create mode 100644 marine-examples/multiservice_marine_test/consumer/Config.toml create mode 100755 marine-examples/multiservice_marine_test/consumer/build.sh create mode 100644 marine-examples/multiservice_marine_test/consumer/src/main.rs create mode 100644 marine-examples/multiservice_marine_test/producer/Cargo.toml create mode 100644 marine-examples/multiservice_marine_test/producer/Config.toml create mode 100755 marine-examples/multiservice_marine_test/producer/build.sh create mode 100644 marine-examples/multiservice_marine_test/producer/src/main.rs create mode 100644 marine-examples/multiservice_marine_test/src/main.rs diff --git a/aqua-examples/aqua-ipfs-integration/service/Cargo.toml b/aqua-examples/aqua-ipfs-integration/service/Cargo.toml index 89cc731..12d69fa 100644 --- a/aqua-examples/aqua-ipfs-integration/service/Cargo.toml +++ b/aqua-examples/aqua-ipfs-integration/service/Cargo.toml @@ -11,12 +11,12 @@ name = "process_files" path = "src/main.rs" [dependencies] -marine-rs-sdk = { version = "0.6.11", features = ["logger"] } +marine-rs-sdk = { version = "0.6.14", features = ["logger"] } log = "0.4.14" rand = "0.8.4" [dev-dependencies] -marine-rs-sdk-test = "0.2.0" +marine-rs-sdk-test = "0.3.0" [profile.release] opt-level = "s" diff --git a/aqua-examples/echo-greeter/echo-service/Cargo.toml b/aqua-examples/echo-greeter/echo-service/Cargo.toml index f01634e..5f58560 100644 --- a/aqua-examples/echo-greeter/echo-service/Cargo.toml +++ b/aqua-examples/echo-greeter/echo-service/Cargo.toml @@ -10,6 +10,6 @@ name = "echo_service" path = "src/main.rs" [dependencies] -marine-rs-sdk = { version="0.6.10", feature=["log"]} +marine-rs-sdk = { version="0.6.14", feature=["log"]} log = "0.4.14" diff --git a/aqua-examples/echo-greeter/greeting/Cargo.toml b/aqua-examples/echo-greeter/greeting/Cargo.toml index 4dd59bd..c745b6f 100644 --- a/aqua-examples/echo-greeter/greeting/Cargo.toml +++ b/aqua-examples/echo-greeter/greeting/Cargo.toml @@ -12,6 +12,6 @@ name = "greeting" path = "src/main.rs" [dependencies] -marine-rs-sdk = { version="0.6.10", feature=["log"]} +marine-rs-sdk = { version="0.6.14", feature=["log"]} diff --git a/aqua-examples/echo-greeter/secure-greeter/Cargo.toml b/aqua-examples/echo-greeter/secure-greeter/Cargo.toml index 0f2bae5..6cf41df 100644 --- a/aqua-examples/echo-greeter/secure-greeter/Cargo.toml +++ b/aqua-examples/echo-greeter/secure-greeter/Cargo.toml @@ -9,5 +9,5 @@ name = "secure_greeter" path = "src/main.rs" [dependencies] -marine-rs-sdk = { version="0.6.10", feature=["log"]} +marine-rs-sdk = { version="0.6.14", feature=["log"]} log = "0.4.14" diff --git a/aqua-examples/echo-greeter/utilities/Cargo.toml b/aqua-examples/echo-greeter/utilities/Cargo.toml index 98a4520..b4849e2 100644 --- a/aqua-examples/echo-greeter/utilities/Cargo.toml +++ b/aqua-examples/echo-greeter/utilities/Cargo.toml @@ -11,11 +11,11 @@ name = "utilities" path = "src/main.rs" [dependencies] -marine-rs-sdk = { version = "0.6.11", features = ["logger"] } +marine-rs-sdk = { version = "0.6.14", features = ["logger"] } log = "0.4.14" [dev-dependencies] -marine-rs-sdk-test = "0.2.0" +marine-rs-sdk-test = "0.3.0" [dev] [profile.release] diff --git a/aqua-examples/price-oracle/curl_adapter/Cargo.toml b/aqua-examples/price-oracle/curl_adapter/Cargo.toml index 8c20ed4..b443c8a 100644 --- a/aqua-examples/price-oracle/curl_adapter/Cargo.toml +++ b/aqua-examples/price-oracle/curl_adapter/Cargo.toml @@ -10,5 +10,5 @@ path = "src/main.rs" name = "curl_adapter" [dependencies] -marine-rs-sdk = "0.6.11" +marine-rs-sdk = "0.6.14" log = "0.4.8" diff --git a/aqua-examples/price-oracle/mean_service/Cargo.toml b/aqua-examples/price-oracle/mean_service/Cargo.toml index b2a1876..0bc652f 100644 --- a/aqua-examples/price-oracle/mean_service/Cargo.toml +++ b/aqua-examples/price-oracle/mean_service/Cargo.toml @@ -11,7 +11,7 @@ name = "mean_service" path = "src/main.rs" [dependencies] -marine-rs-sdk = "0.6.11" +marine-rs-sdk = "0.6.14" log = "0.4.14" [dev] diff --git a/aqua-examples/price-oracle/price_getter_service/Cargo.toml b/aqua-examples/price-oracle/price_getter_service/Cargo.toml index 1215e88..102d945 100644 --- a/aqua-examples/price-oracle/price_getter_service/Cargo.toml +++ b/aqua-examples/price-oracle/price_getter_service/Cargo.toml @@ -11,7 +11,7 @@ name = "price_getter_service" path = "src/main.rs" [dependencies] -marine-rs-sdk = "0.6.11" +marine-rs-sdk = "0.6.14" log = "0.4.14" picorand = "0.1.1" fstrings = "0.2.3" diff --git a/aqua-examples/ts-oracle/Cargo.toml b/aqua-examples/ts-oracle/Cargo.toml index ac30ac3..673abdf 100644 --- a/aqua-examples/ts-oracle/Cargo.toml +++ b/aqua-examples/ts-oracle/Cargo.toml @@ -11,11 +11,11 @@ name = "ts_oracle" path = "src/main.rs" [dependencies] -marine-rs-sdk = { version = "0.6.11", features = ["logger"] } +marine-rs-sdk = { version = "0.6.14", features = ["logger"] } log = "0.4.14" [dev-dependencies] -marine-rs-sdk-test = "0.2.0" +marine-rs-sdk-test = "0.3.0" [dev] [profile.release] diff --git a/marine-examples/README.md b/marine-examples/README.md index 813c3b1..32de9c9 100644 --- a/marine-examples/README.md +++ b/marine-examples/README.md @@ -498,6 +498,154 @@ result: String("Ok") You can build, inspect and test the project as outlined in the [Greeting Example](#Greeting-Example). +## Multiservice Marine Test example +In the examples above we used the `marine_test` macro to test a service. This example illustrates another ability of the `marine_test` macro: testing several services at once. To show that we will create couple of services: +a producer service which will create some data, and a consumer service which will process the data. Then write a test that ensures that the consumer properly processed data from the producer. + +Let's look at the services and test now: + +Producer: +```rust +use marine_rs_sdk::marine; +use marine_rs_sdk::module_manifest; + +module_manifest!(); + +pub fn main() {} + +#[marine] +pub struct Data { + pub name: String, +} + +#[marine] +pub struct Input { + pub first_name: String, + pub last_name: String, +} + +#[marine] +pub fn produce(data: Input) -> Data { + Data { + name: format!("{} {}", data.first_name, data.last_name), + } +} +``` + +The only new thing here is `#[marine]` on a struct. This adds the structure into module interface and requires all the fields to be supported by default or be another `#[marine]` structure. There is more information about it in [docs](https://doc.fluence.dev/docs/knowledge_aquamarine/marine/marine-rs-sdk#function-export). + +Consumer: +```rust +use marine_rs_sdk::marine; +use marine_rs_sdk::module_manifest; + +module_manifest!(); + +pub fn main() {} + +#[marine] +pub struct Data { + pub name: String, +} + +#[marine] +pub fn consume(data: Data) -> String { + data.name +} +``` + +There is nothing special. + +The test will show what we can do with them: +```rust +fn main() {} + +#[cfg(test)] +mod tests { + use marine_rs_sdk_test::marine_test; + #[marine_test( + producer( + config_path = "../producer/Config.toml", // <- 1 + modules_dir = "../producer/artifacts" + ), + consumer( + config_path = "../consumer/Config.toml", + modules_dir = "../consumer/artifacts" + ) + )] + fn test() { + let mut producer = marine_test_env::producer::ServiceInterface::new(); // <- 2 + let mut consumer = marine_test_env::consumer::ServiceInterface::new(); + let input = marine_test_env::producer::Input { // <- 3 + first_name: String::from("John"), + last_name: String::from("Doe"), + }; + let data = producer.produce(input); // <- 4 + let result = consumer.consume(data); // <- 5 + assert_eq!(result, "John Doe") + } +} +``` +As the `marine_test` needs only compiled .wasm files and not the code, the test can be in any project. In this case the test is in a separate crate. + +We describe the services as named pairs of config file and directory with .wasm files(1), then in test function we create services(2). Please note, that each service creates its own `marine` runtime. Then, we create a structure(3) to pass it to a function from interface of producer service(4) and finally pass its result to the consumer service. The `ServiceInterface` and interface structures are accessed through `marine_test_env` — the module defined by the `marine_test` macro. The functions in turn are accessed through the `ServiceInterace` instance. + +Now we can build services: +```shell +cd multiservice_marine_test +./build.sh +``` + +And run the test: +```shell +$ cargo test + Finished test [unoptimized + debuginfo] target(s) in 0.25s + Running unittests (target/debug/deps/multiservice_marine_test-533b3dcdcf22d98d) + +running 1 test +test tests::test ... ok + +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 9.59s + +``` + +We can do the same in the `mrepl`. But doing it to test services during the development will be a huge pain. +First, pass data to the producer: +```shell +$ cd producer +$ mrepl Config.toml +Welcome to the Marine REPL (version 0.9.1) +Minimal supported versions + sdk: 0.6.0 + interface-types: 0.20.0 + +app service was created with service id = 8032487e-3348-406d-8fc7-02b927acb932 +elapsed time 85.863792ms + + +1> call producer produce [{"first_name": "John", "last_name": "Doe"}] +result: Object({"name": String("John Doe")}) + elapsed time: 16.718ms +``` + +Second, pass the result to the consumer: +```shell +$ cd ../consumer +$ mrepl Config.toml +Welcome to the Marine REPL (version 0.9.1) +Minimal supported versions + sdk: 0.6.0 + interface-types: 0.20.0 + +app service was created with service id = f4a1e021-07e3-42e0-8dcb-66cfc69e3ee7 +elapsed time 78.382834ms + +1> call consumer consume [{"name": "John Doe"}] +result: String("John Doe") + elapsed time: 4.946209ms +``` + +S ## Deploying Services diff --git a/marine-examples/call_parameters/Cargo.toml b/marine-examples/call_parameters/Cargo.toml index 87e3b24..cab41bf 100644 --- a/marine-examples/call_parameters/Cargo.toml +++ b/marine-examples/call_parameters/Cargo.toml @@ -10,7 +10,7 @@ name = "call_parameters" path = "src/main.rs" [dependencies] -marine-rs-sdk = "0.6.11" +marine-rs-sdk = "0.6.14" [dev-dependencies] -marine-rs-sdk-test = "0.2.0" +marine-rs-sdk-test = "0.3.0" diff --git a/marine-examples/greeting/Cargo.toml b/marine-examples/greeting/Cargo.toml index 8d3e5f1..6b3851b 100644 --- a/marine-examples/greeting/Cargo.toml +++ b/marine-examples/greeting/Cargo.toml @@ -12,7 +12,7 @@ name = "greeting" path = "src/main.rs" [dependencies] -marine-rs-sdk = "0.6.11" +marine-rs-sdk = "0.6.14" [dev-dependencies] -marine-rs-sdk-test = "0.2.0" +marine-rs-sdk-test = "0.3.0" diff --git a/marine-examples/multiservice_marine_test/.gitignore b/marine-examples/multiservice_marine_test/.gitignore new file mode 100644 index 0000000..10ceb5d --- /dev/null +++ b/marine-examples/multiservice_marine_test/.gitignore @@ -0,0 +1,7 @@ +.DS_Store +.repl_history +/target +**/**.bak +**/**.bk +/artifacts +keypair.json diff --git a/marine-examples/multiservice_marine_test/Cargo.toml b/marine-examples/multiservice_marine_test/Cargo.toml new file mode 100644 index 0000000..99e353d --- /dev/null +++ b/marine-examples/multiservice_marine_test/Cargo.toml @@ -0,0 +1,11 @@ +[package] +name = "multiservice-marine-test" +version = "0.1.0" +authors = ["Fluence Labs"] +edition = "2018" +publish = false + +[dependencies] + +[dev-dependencies] +marine-rs-sdk-test = "0.3.0" diff --git a/marine-examples/multiservice_marine_test/build.sh b/marine-examples/multiservice_marine_test/build.sh new file mode 100755 index 0000000..258b2e3 --- /dev/null +++ b/marine-examples/multiservice_marine_test/build.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +(cd producer; ./build.sh) +(cd consumer; ./build.sh) \ No newline at end of file diff --git a/marine-examples/multiservice_marine_test/consumer/Cargo.toml b/marine-examples/multiservice_marine_test/consumer/Cargo.toml new file mode 100644 index 0000000..c581eb3 --- /dev/null +++ b/marine-examples/multiservice_marine_test/consumer/Cargo.toml @@ -0,0 +1,13 @@ +[package] +name = "consumer" +version = "0.1.0" +authors = ["Fluence Labs"] +edition = "2018" +publish = false + +[[bin]] +name = "consumer" +path = "src/main.rs" + +[dependencies] +marine-rs-sdk = "0.6.14" diff --git a/marine-examples/multiservice_marine_test/consumer/Config.toml b/marine-examples/multiservice_marine_test/consumer/Config.toml new file mode 100644 index 0000000..f3737a3 --- /dev/null +++ b/marine-examples/multiservice_marine_test/consumer/Config.toml @@ -0,0 +1,6 @@ +modules_dir = "artifacts/" + +[[module]] +name = "consumer" +mem_pages_count = 50 +logger_enabled = false diff --git a/marine-examples/multiservice_marine_test/consumer/build.sh b/marine-examples/multiservice_marine_test/consumer/build.sh new file mode 100755 index 0000000..8f30392 --- /dev/null +++ b/marine-examples/multiservice_marine_test/consumer/build.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +# This script builds all subprojects and puts all created Wasm modules in one dir +cargo update --aggressive +marine build --release + +rm artifacts/* || true +mkdir -p artifacts + +cp target/wasm32-wasi/release/consumer.wasm artifacts/ diff --git a/marine-examples/multiservice_marine_test/consumer/src/main.rs b/marine-examples/multiservice_marine_test/consumer/src/main.rs new file mode 100644 index 0000000..a0b4970 --- /dev/null +++ b/marine-examples/multiservice_marine_test/consumer/src/main.rs @@ -0,0 +1,16 @@ +use marine_rs_sdk::marine; +use marine_rs_sdk::module_manifest; + +module_manifest!(); + +pub fn main() {} + +#[marine] +pub struct Data { + pub name: String, +} + +#[marine] +pub fn consume(data: Data) -> String { + data.name +} diff --git a/marine-examples/multiservice_marine_test/producer/Cargo.toml b/marine-examples/multiservice_marine_test/producer/Cargo.toml new file mode 100644 index 0000000..e52970c --- /dev/null +++ b/marine-examples/multiservice_marine_test/producer/Cargo.toml @@ -0,0 +1,13 @@ +[package] +name = "producer" +version = "0.1.0" +authors = ["Fluence Labs"] +edition = "2018" +publish = false + +[[bin]] +name = "producer" +path = "src/main.rs" + +[dependencies] +marine-rs-sdk = "0.6.14" diff --git a/marine-examples/multiservice_marine_test/producer/Config.toml b/marine-examples/multiservice_marine_test/producer/Config.toml new file mode 100644 index 0000000..a35b5b5 --- /dev/null +++ b/marine-examples/multiservice_marine_test/producer/Config.toml @@ -0,0 +1,6 @@ +modules_dir = "artifacts/" + +[[module]] +name = "producer" +mem_pages_count = 50 +logger_enabled = false diff --git a/marine-examples/multiservice_marine_test/producer/build.sh b/marine-examples/multiservice_marine_test/producer/build.sh new file mode 100755 index 0000000..5271b84 --- /dev/null +++ b/marine-examples/multiservice_marine_test/producer/build.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +# This script builds all subprojects and puts all created Wasm modules in one dir +cargo update --aggressive +marine build --release + +rm artifacts/* || true +mkdir -p artifacts + +cp target/wasm32-wasi/release/producer.wasm artifacts/ diff --git a/marine-examples/multiservice_marine_test/producer/src/main.rs b/marine-examples/multiservice_marine_test/producer/src/main.rs new file mode 100644 index 0000000..39f36da --- /dev/null +++ b/marine-examples/multiservice_marine_test/producer/src/main.rs @@ -0,0 +1,24 @@ +use marine_rs_sdk::marine; +use marine_rs_sdk::module_manifest; + +module_manifest!(); + +pub fn main() {} + +#[marine] +pub struct Data { + pub name: String, +} + +#[marine] +pub struct Input { + pub first_name: String, + pub last_name: String, +} + +#[marine] +pub fn produce(data: Input) -> Data { + Data { + name: format!("{} {}", data.first_name, data.last_name), + } +} diff --git a/marine-examples/multiservice_marine_test/src/main.rs b/marine-examples/multiservice_marine_test/src/main.rs new file mode 100644 index 0000000..7528ff0 --- /dev/null +++ b/marine-examples/multiservice_marine_test/src/main.rs @@ -0,0 +1,27 @@ +fn main() {} + +#[cfg(test)] +mod tests { + use marine_rs_sdk_test::marine_test; + #[marine_test( + producer( + config_path = "../producer/Config.toml", // <- 1 + modules_dir = "../producer/artifacts" + ), + consumer( + config_path = "../consumer/Config.toml", + modules_dir = "../consumer/artifacts" + ) + )] + fn test() { + let mut producer = marine_test_env::producer::ServiceInterface::new(); + let mut consumer = marine_test_env::consumer::ServiceInterface::new(); + let input = marine_test_env::producer::Input { + first_name: String::from("John"), + last_name: String::from("Doe"), + }; + let data = producer.produce(input); + let result = consumer.consume(data); + assert_eq!(result, "John Doe") + } +} diff --git a/marine-examples/records/effector/Cargo.toml b/marine-examples/records/effector/Cargo.toml index 0f4ebe9..0c367fb 100644 --- a/marine-examples/records/effector/Cargo.toml +++ b/marine-examples/records/effector/Cargo.toml @@ -10,5 +10,5 @@ name = "records_effector" path = "src/main.rs" [dependencies] -marine-rs-sdk = "0.6.11" +marine-rs-sdk = "0.6.14" test-record = { path = "../test-record" } diff --git a/marine-examples/records/pure/Cargo.toml b/marine-examples/records/pure/Cargo.toml index 2b999cd..b26ac3f 100644 --- a/marine-examples/records/pure/Cargo.toml +++ b/marine-examples/records/pure/Cargo.toml @@ -10,5 +10,5 @@ name = "records_pure" path = "src/main.rs" [dependencies] -marine-rs-sdk = "0.6.11" +marine-rs-sdk = "0.6.14" test-record = { path = "../test-record" } diff --git a/marine-examples/records/test-record/Cargo.toml b/marine-examples/records/test-record/Cargo.toml index 154e26e..111b0fe 100644 --- a/marine-examples/records/test-record/Cargo.toml +++ b/marine-examples/records/test-record/Cargo.toml @@ -10,4 +10,4 @@ name = "test_record" path = "src/test_record.rs" [dependencies] -marine-rs-sdk = "=0.6.11" +marine-rs-sdk = "0.6.14" diff --git a/marine-examples/sqlite/Cargo.toml b/marine-examples/sqlite/Cargo.toml index 3c48459..7081ccc 100644 --- a/marine-examples/sqlite/Cargo.toml +++ b/marine-examples/sqlite/Cargo.toml @@ -10,8 +10,8 @@ name = "sqlite_test" path = "src/main.rs" [dependencies] -marine-rs-sdk = "0.6.11" +marine-rs-sdk = "0.6.14" marine-sqlite-connector = "0.5.1" [dev-dependencies] -marine-rs-sdk-test = "0.2.0" +marine-rs-sdk-test = "0.3.0" diff --git a/marine-examples/url-downloader/curl_adapter/Cargo.toml b/marine-examples/url-downloader/curl_adapter/Cargo.toml index 2f97a98..63001d9 100644 --- a/marine-examples/url-downloader/curl_adapter/Cargo.toml +++ b/marine-examples/url-downloader/curl_adapter/Cargo.toml @@ -10,5 +10,5 @@ path = "src/main.rs" name = "curl_adapter" [dependencies] -marine-rs-sdk = { version = "0.6.10", features = ["logger"] } +marine-rs-sdk = { version = "0.6.14", features = ["logger"] } log = "0.4.8" diff --git a/marine-examples/url-downloader/facade/Cargo.toml b/marine-examples/url-downloader/facade/Cargo.toml index 0ad5b14..0561439 100644 --- a/marine-examples/url-downloader/facade/Cargo.toml +++ b/marine-examples/url-downloader/facade/Cargo.toml @@ -10,6 +10,6 @@ name = "facade" path = "src/main.rs" [dependencies] -marine-rs-sdk = { version = "0.6.10", features = ["logger"] } +marine-rs-sdk = { version = "0.6.14", features = ["logger"] } anyhow = "1.0.31" log = "0.4.8" \ No newline at end of file diff --git a/marine-examples/url-downloader/local_storage/Cargo.toml b/marine-examples/url-downloader/local_storage/Cargo.toml index 18f2f84..a2b292a 100644 --- a/marine-examples/url-downloader/local_storage/Cargo.toml +++ b/marine-examples/url-downloader/local_storage/Cargo.toml @@ -10,6 +10,6 @@ name = "local_storage" path = "src/main.rs" [dependencies] -marine-rs-sdk = { version = "0.6.10", features = ["logger"] } +marine-rs-sdk = { version = "0.6.14", features = ["logger"] } wasm-tracing-allocator = "0.1.1" log = "0.4.8" diff --git a/quickstart/2-hosted-services/Cargo.toml b/quickstart/2-hosted-services/Cargo.toml index db8742b..0ee895b 100644 --- a/quickstart/2-hosted-services/Cargo.toml +++ b/quickstart/2-hosted-services/Cargo.toml @@ -11,7 +11,7 @@ name = "hello_world" path = "src/main.rs" [dependencies] -marine-rs-sdk = "0.6.11" +marine-rs-sdk = "0.6.14" [dev-dependencies] -marine-rs-sdk-test = "0.2.0" +marine-rs-sdk-test = "0.3.0"