From 247e0b00a977f7964771caeb6e3b61450a9b9494 Mon Sep 17 00:00:00 2001 From: vms Date: Mon, 21 Sep 2020 14:11:09 +0300 Subject: [PATCH] introduce echo-stepper --- .gitignore | 3 + .repl_history | 4 + Cargo.lock | 228 ++++++++++++++++++++++++++++++++++++++ Cargo.toml | 13 +++ Config.toml | 6 + artifacts/aquamarine.wasm | Bin 0 -> 89550 bytes src/main.rs | 40 +++++++ 7 files changed, 294 insertions(+) create mode 100644 .gitignore create mode 100644 .repl_history create mode 100644 Cargo.lock create mode 100644 Cargo.toml create mode 100644 Config.toml create mode 100755 artifacts/aquamarine.wasm create mode 100644 src/main.rs diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..f5dbe239 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.idea/ +/target +.repl_history diff --git a/.repl_history b/.repl_history new file mode 100644 index 00000000..5487528c --- /dev/null +++ b/.repl_history @@ -0,0 +1,4 @@ +#V2 +interface +call aquamarine invoke ["asd", ["a", "b"]] +call aquamarine invoke ["asd", "a"] diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 00000000..d89e379f --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,228 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +[[package]] +name = "aquamarine" +version = "0.1.0" +dependencies = [ + "fluence", + "log", +] + +[[package]] +name = "cfg-if" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" + +[[package]] +name = "fluence" +version = "0.2.4" +source = "git+https://github.com/fluencelabs/rust-sdk#75f4baaa905255b240d191880aeeed3e7ec1ad4f" +dependencies = [ + "fluence-sdk-macro", + "fluence-sdk-main", + "safe-transmute", +] + +[[package]] +name = "fluence-sdk-macro" +version = "0.2.4" +source = "git+https://github.com/fluencelabs/rust-sdk#75f4baaa905255b240d191880aeeed3e7ec1ad4f" +dependencies = [ + "fluence-sdk-wit", +] + +[[package]] +name = "fluence-sdk-main" +version = "0.2.4" +source = "git+https://github.com/fluencelabs/rust-sdk#75f4baaa905255b240d191880aeeed3e7ec1ad4f" +dependencies = [ + "fluence-sdk-macro", + "log", + "serde", +] + +[[package]] +name = "fluence-sdk-wit" +version = "0.2.4" +source = "git+https://github.com/fluencelabs/rust-sdk#75f4baaa905255b240d191880aeeed3e7ec1ad4f" +dependencies = [ + "proc-macro2", + "quote", + "serde", + "serde_json", + "syn", + "uuid", +] + +[[package]] +name = "getrandom" +version = "0.1.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc587bc0ec293155d5bfa6b9891ec18a1e330c234f896ea47fbada4cadbe47e6" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + +[[package]] +name = "itoa" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc6f3ad7b9d11a0c00842ff8de1b60ee58661048eb8049ed33c73594f359d7e6" + +[[package]] +name = "libc" +version = "0.2.77" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2f96b10ec2560088a8e76961b00d47107b3a625fecb76dedb29ee7ccbf98235" + +[[package]] +name = "log" +version = "0.4.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fabed175da42fed1fa0746b0ea71f412aa9d35e76e95e59b192c64b9dc2bf8b" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "ppv-lite86" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c36fa947111f5c62a733b652544dd0016a43ce89619538a8ef92724a6f501a20" + +[[package]] +name = "proc-macro2" +version = "1.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36e28516df94f3dd551a587da5357459d9b36d945a7c37c3557928c1c2ff2a2c" +dependencies = [ + "unicode-xid", +] + +[[package]] +name = "quote" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa563d17ecb180e500da1cfd2b028310ac758de548efdd203e18f283af693f37" +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 = "ryu" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e" + +[[package]] +name = "safe-transmute" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50b8b2cd387f744f69469aaed197954ba4c0ecdb31e02edf99b023e0df11178a" + +[[package]] +name = "serde" +version = "1.0.116" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96fe57af81d28386a513cbc6858332abc6117cfdb5999647c6444b8f43a370a5" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.116" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f630a6370fd8e457873b4bd2ffdae75408bc291ba72be773772a4c2a065d9ae8" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.57" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "164eacbdb13512ec2745fb09d51fd5b22b0d65ed294a1dcf7285a360c80a675c" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "syn" +version = "1.0.41" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6690e3e9f692504b941dc6c3b188fd28df054f7fb8469ab40680df52fdcc842b" +dependencies = [ + "proc-macro2", + "quote", + "unicode-xid", +] + +[[package]] +name = "unicode-xid" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564" + +[[package]] +name = "uuid" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fde2f6a4bea1d6e007c4ad38c6839fa71cbb63b6dbf5b595aa38dc9b1093c11" +dependencies = [ + "rand", +] + +[[package]] +name = "wasi" +version = "0.9.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 00000000..ef82ae20 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,13 @@ +[package] +name = "aquamarine" +version = "0.1.0" +authors = ["Fluence Labs"] +edition = "2018" + +[[bin]] +name = "aquamarine" +path = "src/main.rs" + +[dependencies] +fluence = { git = "https://github.com/fluencelabs/rust-sdk", features = ["logger"] } +log = "0.4.11" diff --git a/Config.toml b/Config.toml new file mode 100644 index 00000000..935deda1 --- /dev/null +++ b/Config.toml @@ -0,0 +1,6 @@ +modules_dir = "artifacts/" + +[[module]] + name = "aquamarine" + mem_pages_count = 100 + logger_enabled = true diff --git a/artifacts/aquamarine.wasm b/artifacts/aquamarine.wasm new file mode 100755 index 0000000000000000000000000000000000000000..d4611fb4a1c24d7cbd678320a521667e4cf1d2a6 GIT binary patch literal 89550 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 z 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, +} + +#[fce] +pub fn invoke(init_user_id: String, aqua: String) -> StepperOutcome { + info!("stepper invoked with user_id = {}, aqua = {:?}", init_user_id, aqua); + + let outcome = StepperOutcome { + aqua, + next_peer_pks: vec![init_user_id] + }; + + outcome +}