From 190fcc16e771967d0fa9a09ae239cd2e9f877537 Mon Sep 17 00:00:00 2001 From: Alexey Proshutinskiy Date: Sun, 1 Aug 2021 16:31:13 +0300 Subject: [PATCH] wip --- Cargo.lock | 529 ++++++++++++++++++-------- Cargo.toml | 7 +- identity/Cargo.toml | 4 +- {wasm => service}/Cargo.lock | 0 {wasm => service}/Cargo.toml | 9 +- {wasm => service}/Config.toml | 0 service/build.sh | 14 + service/run-repl.sh | 5 + {wasm => service}/src/dto.rs | 23 +- {wasm => service}/src/main.rs | 4 +- {wasm => service}/src/results.rs | 10 +- {wasm => service}/src/service_api.rs | 18 +- {wasm => service}/src/service_impl.rs | 4 +- {wasm => service}/src/storage_impl.rs | 10 +- wasm/run-repl.sh | 8 - 15 files changed, 425 insertions(+), 220 deletions(-) rename {wasm => service}/Cargo.lock (100%) rename {wasm => service}/Cargo.toml (67%) rename {wasm => service}/Config.toml (100%) create mode 100755 service/build.sh create mode 100755 service/run-repl.sh rename {wasm => service}/src/dto.rs (83%) rename {wasm => service}/src/main.rs (78%) rename {wasm => service}/src/results.rs (97%) rename {wasm => service}/src/service_api.rs (89%) rename {wasm => service}/src/service_impl.rs (97%) rename {wasm => service}/src/storage_impl.rs (96%) delete mode 100755 wasm/run-repl.sh diff --git a/Cargo.lock b/Cargo.lock index 9edf4dd..77182a9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "addr2line" -version = "0.14.1" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a55f82cfe485775d02112886f4169bde0c5894d75e79ead7eafe7e40a25e45f7" +checksum = "3e61f2b7f93d2c7d2b08263acaa4a363b3e276806c68af6134c44f523bf1aacd" dependencies = [ "gimli", ] @@ -19,18 +19,18 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" [[package]] name = "aho-corasick" -version = "0.7.15" +version = "0.7.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7404febffaa47dac81aa44dba71523c9d069b1bdc50a77db41195149e17f68e5" +checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f" dependencies = [ "memchr", ] [[package]] name = "anyhow" -version = "1.0.40" +version = "1.0.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28b2cd92db5cbd74e8e5028f7e27dd7aa3090e89e4f2a197cc7c8dfb69c7063b" +checksum = "595d3cfa7a60d4555cb5067b99f07142a08ea778de5cf993f7b75c7d8fabc486" [[package]] name = "arrayref" @@ -65,11 +65,12 @@ checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" [[package]] name = "backtrace" -version = "0.3.56" +version = "0.3.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d117600f438b1707d4e4ae15d3595657288f8235a0eb593e80ecc98ab34e1bc" +checksum = "e7a905d892734eea339e896738c14b9afce22b5318f64b951e70bf3844419b01" dependencies = [ "addr2line", + "cc", "cfg-if", "libc", "miniz_oxide", @@ -77,6 +78,15 @@ dependencies = [ "rustc-demangle", ] +[[package]] +name = "bincode" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" +dependencies = [ + "serde", +] + [[package]] name = "bitflags" version = "1.2.1" @@ -113,6 +123,12 @@ dependencies = [ "byte-tools", ] +[[package]] +name = "boolinator" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfa8873f51c92e232f9bac4065cddef41b714152812bfc5f7672ba16d6ef8cd9" + [[package]] name = "bs58" version = "0.3.1" @@ -127,9 +143,9 @@ checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" [[package]] name = "bumpalo" -version = "3.6.1" +version = "3.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63396b8a4b9de3f4fdfb320ab6080762242f66a8ef174c49d8e19b674db4cdbe" +checksum = "9c59e7af012c713f529e7a3ee57ce9b31ddd858d4b512923602f74608b009631" [[package]] name = "byte-tools" @@ -151,9 +167,9 @@ checksum = "b700ce4376041dcd0a327fd0097c41095743c4c8af8887265942faf1100bd040" [[package]] name = "cc" -version = "1.0.67" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3c69b077ad434294d3ce9f1f6143a2a4b89a8a2d54ef813d85003a4fd1137fd" +checksum = "e70cc2f62c6ce1868963827bd677764c62d07c3d9a3e1fb1177ee1a9ab199eb2" [[package]] name = "cfg-if" @@ -162,10 +178,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] -name = "cpuid-bool" -version = "0.1.2" +name = "chrono" +version = "0.4.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8aebca1129a03dc6dc2b127edd729435bbc4a37e1d5f4d7513165089ceb02634" +checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73" +dependencies = [ + "libc", + "num-integer", + "num-traits", + "time", + "winapi", +] + +[[package]] +name = "cpufeatures" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66c99696f6c9dd7f35d486b9d04d7e6e202aa3e8c40d553f2fdf5e7e0c6a71ef" +dependencies = [ + "libc", +] [[package]] name = "crunchy" @@ -192,15 +224,15 @@ dependencies = [ "byteorder", "digest 0.9.0", "rand_core 0.5.1", - "subtle 2.4.0", + "subtle 2.4.1", "zeroize", ] [[package]] name = "darling" -version = "0.12.3" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9d6ddad5866bb2170686ed03f6839d31a76e5407d80b1c334a2c24618543ffa" +checksum = "757c0ded2af11d8e739c4daea1ac623dd1624b06c844cf3f5a39f1bdbd99bb12" dependencies = [ "darling_core", "darling_macro", @@ -208,9 +240,9 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.12.3" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9ced1fd13dc386d5a8315899de465708cf34ee2a6d9394654515214e67bb846" +checksum = "2c34d8efb62d0c2d7f60ece80f75e5c63c1588ba68032740494b0b9a996466e3" dependencies = [ "fnv", "ident_case", @@ -222,9 +254,9 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.12.3" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a7a1445d54b2f9792e3b31a3e715feabbace393f38dc4ffd49d94ee9bc487d5" +checksum = "ade7bff147130fe5e6d39f089c6bd49ec0250f35d70b2eebf72afdfc919f15cc" dependencies = [ "darling_core", "quote", @@ -268,9 +300,9 @@ dependencies = [ [[package]] name = "ed25519" -version = "1.0.3" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37c66a534cbb46ab4ea03477eae19d5c22c01da8258030280b7bd9d8433fb6ef" +checksum = "4620d40f6d2601794401d6dd95a5cf69b6c157852539470eeda433a99b3c0efc" dependencies = [ "serde", "signature", @@ -287,7 +319,7 @@ dependencies = [ "rand 0.7.3", "serde", "serde_bytes", - "sha2 0.9.3", + "sha2 0.9.5", "zeroize", ] @@ -361,14 +393,14 @@ dependencies = [ "log", "multihash", "parking_lot", - "pin-project 1.0.6", + "pin-project 1.0.8", "prost", "prost-build", "rand 0.7.3", "ring", "rw-stream-sink", "serde", - "sha2 0.9.3", + "sha2 0.9.5", "smallvec", "thiserror", "unsigned-varint 0.7.0", @@ -385,7 +417,7 @@ dependencies = [ "bytes", "futures", "log", - "pin-project 1.0.6", + "pin-project 1.0.8", "smallvec", "unsigned-varint 0.7.0", ] @@ -426,7 +458,7 @@ dependencies = [ "serde_bytes", "serde_json", "serde_with", - "sha2 0.9.3", + "sha2 0.9.5", "signature", "thiserror", "zeroize", @@ -450,9 +482,9 @@ dependencies = [ [[package]] name = "futures" -version = "0.3.14" +version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9d5813545e459ad3ca1bff9915e9ad7f1a47dc6a91b627ce321d5863b7dd253" +checksum = "1adc00f486adfc9ce99f77d717836f0c5aa84965eb0b4f051f4e83f7cab53f8b" dependencies = [ "futures-channel", "futures-core", @@ -465,9 +497,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.14" +version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce79c6a52a299137a6013061e0cf0e688fce5d7f1bc60125f520912fdb29ec25" +checksum = "74ed2411805f6e4e3d9bc904c95d5d423b89b3b25dc0250aa74729de20629ff9" dependencies = [ "futures-core", "futures-sink", @@ -475,15 +507,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.14" +version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "098cd1c6dda6ca01650f1a37a794245eb73181d0d4d4e955e2f3c37db7af1815" +checksum = "af51b1b4a7fdff033703db39de8802c673eb91855f2e0d47dcf3bf2c0ef01f99" [[package]] name = "futures-executor" -version = "0.3.14" +version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10f6cb7042eda00f0049b1d2080aa4b93442997ee507eb3828e8bd7577f94c9d" +checksum = "4d0d535a57b87e1ae31437b892713aee90cd2d7b0ee48727cd11fc72ef54761c" dependencies = [ "futures-core", "futures-task", @@ -493,16 +525,17 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.14" +version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "365a1a1fb30ea1c03a830fdb2158f5236833ac81fa0ad12fe35b29cddc35cb04" +checksum = "0b0e06c393068f3a6ef246c75cdca793d6a46347e75286933e5e75fd2fd11582" [[package]] name = "futures-macro" -version = "0.3.14" +version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "668c6733a182cd7deb4f1de7ba3bf2120823835b3bcfbeacf7d2c4a773c1bb8b" +checksum = "c54913bae956fb8df7f4dc6fc90362aa72e69148e3f39041fbe8742d21e0ac57" dependencies = [ + "autocfg", "proc-macro-hack", "proc-macro2", "quote", @@ -511,15 +544,15 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.14" +version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c5629433c555de3d82861a7a4e3794a4c40040390907cfbfd7143a92a426c23" +checksum = "c0f30aaa67363d119812743aa5f33c201a7a66329f97d1a887022971feea4b53" [[package]] name = "futures-task" -version = "0.3.14" +version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba7aa51095076f3ba6d9a1f702f74bd05ec65f555d70d2033d55ba8d69f581bc" +checksum = "bbe54a98670017f3be909561f6ad13e810d9a51f3f061b902062ca3da80799f2" [[package]] name = "futures-timer" @@ -529,10 +562,11 @@ checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" [[package]] name = "futures-util" -version = "0.3.14" +version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c144ad54d60f23927f0a6b6d816e4271278b64f005ad65e4e35291d2de9c025" +checksum = "67eb846bfd58e44a8481a00049e82c43e0ccb5d61f8dc071057cb19249dd4d78" dependencies = [ + "autocfg", "futures-channel", "futures-core", "futures-io", @@ -579,41 +613,41 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9495705279e7140bf035dde1f6e750c162df8b625267cd52cc44e0b156732c8" +checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753" dependencies = [ "cfg-if", "libc", - "wasi 0.10.2+wasi-snapshot-preview1", + "wasi 0.10.0+wasi-snapshot-preview1", ] [[package]] name = "gimli" -version = "0.23.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6503fe142514ca4799d4c26297c4248239fe8838d827db6bd6065c6ed29a6ce" +checksum = "f0a01e0497841a3b2db4f8afa483cce65f7e96a3498bd6c541734792aeac8fe7" [[package]] name = "hashbrown" -version = "0.9.1" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04" +checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" [[package]] name = "heck" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cbf45460356b7deeb5e3415b5563308c0a9b057c85e12b06ad551f98d0a6ac" +checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" dependencies = [ "unicode-segmentation", ] [[package]] name = "hermit-abi" -version = "0.1.18" +version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "322f4de77956e22ed0e5032c359a0f1273f1f7f0d79bfa3b8ffbc730d7fbcc5c" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" dependencies = [ "libc", ] @@ -647,9 +681,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "idna" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89829a5d69c23d348314a7ac337fe39173b61149a9864deabd260983aed48c21" +checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8" dependencies = [ "matches", "unicode-bidi", @@ -658,9 +692,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "1.6.2" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "824845a0bf897a9042383849b02c1bc219c2383772efcd5c6f9766fa4b81aef3" +checksum = "bc633605454125dec4b66843673f01c7df2b89479b32e0ed634e43a91cff62a5" dependencies = [ "autocfg", "hashbrown", @@ -668,9 +702,9 @@ dependencies = [ [[package]] name = "instant" -version = "0.1.9" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61124eeebbd69b8190558df225adf7e4caafce0d743919e5d6b19652314ec5ec" +checksum = "bee0328b1209d157ef001c94dd85b4f8f64139adb0eac2659f4b08382b2f474d" dependencies = [ "cfg-if", ] @@ -692,9 +726,9 @@ checksum = "dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736" [[package]] name = "js-sys" -version = "0.3.50" +version = "0.3.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d99f9e3e84b8f67f846ef5b4cbbc3b1c29f6c759fcbce6f01aa0e73d932a24c" +checksum = "83bdfbace3a0e81a4253f73b49e960b053e396a11012cbd49b9b74d6a2b67062" dependencies = [ "wasm-bindgen", ] @@ -707,9 +741,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.93" +version = "0.2.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9385f66bf6105b241aa65a61cb923ef20efc665cb9f9bb50ac2f0c4b7f378d41" +checksum = "320cfe77175da3a483efed4bc0adc1968ca050b098ce4f2f1c13a56626128790" [[package]] name = "libsecp256k1" @@ -723,15 +757,15 @@ dependencies = [ "hmac-drbg", "rand 0.7.3", "sha2 0.8.2", - "subtle 2.4.0", + "subtle 2.4.1", "typenum", ] [[package]] name = "lock_api" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a3c91c24eae6777794bb1997ad98bbb87daf92890acab859f7eaa4320333176" +checksum = "0382880606dff6d15c9476c416d18690b72742aa7b605bb6dd6ec9030fbf07eb" dependencies = [ "scopeguard", ] @@ -745,6 +779,71 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "marine-macro" +version = "0.6.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd64d5febc6b2ed709a4461c510c1429dc6e4cfcbd6ca0d88463911630acd67b" +dependencies = [ + "marine-macro-impl", +] + +[[package]] +name = "marine-macro-impl" +version = "0.6.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c644127c4a9a3345434116f6887f8522c51bddde599b51d7d312aa8b2ecfaa54" +dependencies = [ + "proc-macro2", + "quote", + "serde", + "serde_json", + "syn", + "uuid", +] + +[[package]] +name = "marine-rs-sdk" +version = "0.6.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9157bae63a4bbdd7a29984f6ded08f8ed72991b83ca3bdd59d2f889fa8b8ea02" +dependencies = [ + "marine-macro", + "marine-rs-sdk-main", + "marine-timestamp-macro", + "serde", +] + +[[package]] +name = "marine-rs-sdk-main" +version = "0.6.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95c49b5893d8689589219e07cf67421cc415dc5f219ad0e9c197a9a050b5dd4f" +dependencies = [ + "log", + "marine-macro", + "serde", +] + +[[package]] +name = "marine-sqlite-connector" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7aef66554a852d86eb2ee64fc11651ecb798549d0d8204761866f7fa0a40ebb" +dependencies = [ + "marine-rs-sdk", +] + +[[package]] +name = "marine-timestamp-macro" +version = "0.6.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29ae1a5630bd9b652a77405750c3c37a5fdcfcdc679818bf7d970871ae28f7e6" +dependencies = [ + "chrono", + "quote", +] + [[package]] name = "matches" version = "0.1.8" @@ -753,9 +852,9 @@ checksum = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08" [[package]] name = "memchr" -version = "2.3.4" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525" +checksum = "b16bd47d9e329435e309c58469fe0791c2d0d1ba96ec0954152a5ae2b04387dc" [[package]] name = "miniz_oxide" @@ -776,15 +875,15 @@ dependencies = [ "digest 0.9.0", "generic-array 0.14.4", "multihash-derive", - "sha2 0.9.3", + "sha2 0.9.5", "unsigned-varint 0.5.1", ] [[package]] name = "multihash-derive" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85ee3c48cb9d9b275ad967a0e96715badc13c6029adb92f34fa17b9ff28fd81f" +checksum = "424f6e86263cd5294cbd7f1e95746b95aca0e0d66bff31e5a40d6baa87b4aa99" dependencies = [ "proc-macro-crate", "proc-macro-error", @@ -800,6 +899,25 @@ version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" +[[package]] +name = "num-integer" +version = "0.1.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db" +dependencies = [ + "autocfg", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290" +dependencies = [ + "autocfg", +] + [[package]] name = "num_cpus" version = "1.13.0" @@ -812,15 +930,18 @@ dependencies = [ [[package]] name = "object" -version = "0.23.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9a7ab5d64814df0fe4a4b5ead45ed6c5f181ee3ff04ba344313a6c80446c5d4" +checksum = "c55827317fb4c08822499848a14237d2874d6f139828893017237e7ab93eb386" +dependencies = [ + "memchr", +] [[package]] name = "once_cell" -version = "1.7.2" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af8b08b04175473088b46763e51ee54da5f9a164bc162f615b91bc179dbf15a3" +checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56" [[package]] name = "opaque-debug" @@ -886,11 +1007,11 @@ dependencies = [ [[package]] name = "pin-project" -version = "1.0.6" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc174859768806e91ae575187ada95c91a29e96a98dc5d2cd9a1fed039501ba6" +checksum = "576bc800220cc65dac09e99e97b08b358cfab6e17078de8dc5fee223bd2d0c08" dependencies = [ - "pin-project-internal 1.0.6", + "pin-project-internal 1.0.8", ] [[package]] @@ -906,9 +1027,9 @@ dependencies = [ [[package]] name = "pin-project-internal" -version = "1.0.6" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a490329918e856ed1b083f244e3bfe2d8c4f336407e4ea9e1a9f479ff09049e5" +checksum = "6e8fe8163d14ce7f0cdac2e040116f22eac817edabff0be91e8aff7e9accf389" dependencies = [ "proc-macro2", "quote", @@ -917,9 +1038,9 @@ dependencies = [ [[package]] name = "pin-project-lite" -version = "0.2.6" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc0e1f259c92177c30a4c9d177246edd0a3568b25756a977d0632cf8fa37e905" +checksum = "8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443" [[package]] name = "pin-utils" @@ -935,10 +1056,11 @@ checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857" [[package]] name = "proc-macro-crate" -version = "0.1.5" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" +checksum = "41fdbd1df62156fbc5945f4762632564d7d038153091c3fcf1067f6aef7cff92" dependencies = [ + "thiserror", "toml", ] @@ -980,9 +1102,9 @@ checksum = "bc881b2c22681370c6a780e47af9840ef841837bc98118431d4e1868bd0c1086" [[package]] name = "proc-macro2" -version = "1.0.26" +version = "1.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a152013215dca273577e18d2bf00fa862b89b24169fb78c4c95aeb07992c9cec" +checksum = "5c7ed8b8c7b886ea3ed7dde405212185f423ab44682667c8c6dd14aa1d9f6612" dependencies = [ "unicode-xid", ] @@ -1074,14 +1196,14 @@ dependencies = [ [[package]] name = "rand" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e" +checksum = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8" dependencies = [ "libc", - "rand_chacha 0.3.0", - "rand_core 0.6.2", - "rand_hc 0.3.0", + "rand_chacha 0.3.1", + "rand_core 0.6.3", + "rand_hc 0.3.1", ] [[package]] @@ -1096,12 +1218,12 @@ dependencies = [ [[package]] name = "rand_chacha" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e12735cf05c9e10bf21534da50a147b924d555dc7a547c42e6bb2d5b6017ae0d" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core 0.6.2", + "rand_core 0.6.3", ] [[package]] @@ -1115,11 +1237,11 @@ dependencies = [ [[package]] name = "rand_core" -version = "0.6.2" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34cf66eb183df1c5876e2dcf6b13d57340741e8dc255b48e40a26de954d06ae7" +checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" dependencies = [ - "getrandom 0.2.2", + "getrandom 0.2.3", ] [[package]] @@ -1133,18 +1255,18 @@ dependencies = [ [[package]] name = "rand_hc" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73" +checksum = "d51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7" dependencies = [ - "rand_core 0.6.2", + "rand_core 0.6.3", ] [[package]] name = "redox_syscall" -version = "0.2.6" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8270314b5ccceb518e7e578952f0b72b88222d02e8f77f5ecf7abbb673539041" +checksum = "5ab49abadf3f9e1c4bc499e8845e152ad87d2ad2d30371841171169e9d75feee" dependencies = [ "bitflags", ] @@ -1171,9 +1293,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.4.5" +version = "1.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "957056ecddbeba1b26965114e191d2e8589ce74db242b6ea25fc4062427a5c19" +checksum = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461" dependencies = [ "aho-corasick", "memchr", @@ -1182,9 +1304,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.6.23" +version = "0.6.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24d5f089152e60f62d28b835fbff2cd2e8dc0baf1ac13343bef92ab7eed84548" +checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b" [[package]] name = "remove_dir_all" @@ -1211,10 +1333,31 @@ dependencies = [ ] [[package]] -name = "rustc-demangle" -version = "0.1.18" +name = "rmp" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e3bad0ee36814ca07d7968269dd4b7ec89ec2da10c4bb613928d3077083c232" +checksum = "4f55e5fa1446c4d5dd1f5daeed2a4fe193071771a2636274d0d7a3b082aa7ad6" +dependencies = [ + "byteorder", + "num-traits", +] + +[[package]] +name = "rmp-serde" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f74489002493a9984ee753ebd049552a1c82f0740e347ee9fc57c907fb19f83" +dependencies = [ + "byteorder", + "rmp", + "serde", +] + +[[package]] +name = "rustc-demangle" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dead70b0b5e03e9c814bcb6b01e03e68f7c57a80aa48c72ec92152ab3e818d49" [[package]] name = "rw-stream-sink" @@ -1248,6 +1391,16 @@ dependencies = [ "serde_derive", ] +[[package]] +name = "serde_bencode" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "934d8bdbaa0126dafaea9a8833424a211d9661897717846c6bb782349ca1c30d" +dependencies = [ + "serde", + "serde_bytes", +] + [[package]] name = "serde_bytes" version = "0.11.5" @@ -1270,9 +1423,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.64" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "799e97dc9fdae36a5c8b8f2cae9ce2ee9fdce2058c57a93e6099d919fd982f79" +checksum = "336b10da19a12ad094b59d870ebde26a45402e5b470add4b5fd03c5048a32127" dependencies = [ "itoa", "ryu", @@ -1291,9 +1444,9 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "1.4.1" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e48b35457e9d855d3dc05ef32a73e0df1e2c0fd72c38796a4ee909160c8eeec2" +checksum = "e1569374bd54623ec8bd592cf22ba6e03c0f177ff55fbc8c29a49e296e7adecf" dependencies = [ "darling", "proc-macro2", @@ -1315,28 +1468,28 @@ dependencies = [ [[package]] name = "sha2" -version = "0.9.3" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa827a14b29ab7f44778d14a88d3cb76e949c45083f7dbfa507d0cb699dc12de" +checksum = "b362ae5752fd2137731f9fa25fd4d9058af34666ca1966fb969119cc35719f12" dependencies = [ "block-buffer 0.9.0", "cfg-if", - "cpuid-bool", + "cpufeatures", "digest 0.9.0", "opaque-debug 0.3.0", ] [[package]] name = "signature" -version = "1.3.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f0242b8e50dd9accdd56170e94ca1ebd223b098eb9c83539a6e367d0f36ae68" +checksum = "c19772be3c4dd2ceaacf03cb41d5885f2a02c4d8804884918e3a258480803335" [[package]] name = "slab" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" +checksum = "f173ac3d1a7e3b28003f40de0b5ce7fe2710f9b9dc3fc38664cebee46b3b6527" [[package]] name = "smallvec" @@ -1370,15 +1523,15 @@ checksum = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee" [[package]] name = "subtle" -version = "2.4.0" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e81da0851ada1f3e9d4312c704aa4f8806f0f9d69faaf8df2f3464b4a9437c2" +checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "syn" -version = "1.0.69" +version = "1.0.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48fe99c6bd8b1cc636890bcc071842de909d902c81ac7dab53ba33c421ab8ffb" +checksum = "1873d832550d4588c3dbc20f01361ab00bfe741048f71e3fecf145a7cc18b29c" dependencies = [ "proc-macro2", "quote", @@ -1387,9 +1540,9 @@ dependencies = [ [[package]] name = "synstructure" -version = "0.12.4" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b834f2d66f734cb897113e34aaff2f1ab4719ca946f9a7358dba8f8064148701" +checksum = "474aaa926faa1603c40b7885a9eaea29b444d1cb2850cb7c0e37bb1a4182f4fa" dependencies = [ "proc-macro2", "quote", @@ -1405,7 +1558,7 @@ checksum = "dac1c663cfc93810f88aed9b8941d48cabf856a1b111c29a40439018d870eb22" dependencies = [ "cfg-if", "libc", - "rand 0.8.3", + "rand 0.8.4", "redox_syscall", "remove_dir_all", "winapi", @@ -1413,18 +1566,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.24" +version = "1.0.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0f4a65597094d4483ddaed134f409b2cb7c1beccf25201a9f73c719254fa98e" +checksum = "93119e4feac1cbe6c798c34d3a53ea0026b0b1de6a120deef895137c0529bfe2" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.24" +version = "1.0.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7765189610d8241a44529806d6fd1f2e0a08734313a35d5b3a556f92b381f3c0" +checksum = "060d69a0afe7796bf42e9e2ff91f5ee691fb15c53d38b4b62a9a53eb23164745" dependencies = [ "proc-macro2", "quote", @@ -1432,10 +1585,21 @@ dependencies = [ ] [[package]] -name = "tinyvec" -version = "1.2.0" +name = "time" +version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b5220f05bb7de7f3f53c7c065e1199b3172696fe2db9f9c4d8ad9b4ee74c342" +checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255" +dependencies = [ + "libc", + "wasi 0.10.0+wasi-snapshot-preview1", + "winapi", +] + +[[package]] +name = "tinyvec" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "848a1e1181b9f6753b5e96a092749e29b11d19ede67dfbbd6c7dc7e0f49b5338" dependencies = [ "tinyvec_macros", ] @@ -1477,6 +1641,27 @@ dependencies = [ "thiserror", ] +[[package]] +name = "trust-graph-wasm" +version = "0.2.0" +dependencies = [ + "anyhow", + "bincode", + "boolinator", + "bs58 0.3.1", + "fluence-identity", + "log", + "marine-rs-sdk", + "marine-sqlite-connector", + "once_cell", + "parking_lot", + "rmp-serde", + "serde_bencode", + "serde_json", + "thiserror", + "trust-graph", +] + [[package]] name = "typenum" version = "1.13.0" @@ -1494,24 +1679,24 @@ dependencies = [ [[package]] name = "unicode-normalization" -version = "0.1.17" +version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07fbfce1c8a97d547e8b5334978438d9d6ec8c20e38f56d4a4374d181493eaef" +checksum = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9" dependencies = [ "tinyvec", ] [[package]] name = "unicode-segmentation" -version = "1.7.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb0d2e7be6ae3a5fa87eed5fb451aff96f2573d2694942e40543ae0bbe19c796" +checksum = "8895849a949e7845e06bd6dc1aa51731a103c42707010a5b591c0038fb73385b" [[package]] name = "unicode-xid" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564" +checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" [[package]] name = "unsigned-varint" @@ -1533,9 +1718,9 @@ checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" [[package]] name = "url" -version = "2.2.1" +version = "2.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ccd964113622c8e9322cfac19eb1004a07e636c545f325da085d5cdde6f1f8b" +checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c" dependencies = [ "form_urlencoded", "idna", @@ -1543,6 +1728,15 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "uuid" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" +dependencies = [ + "getrandom 0.2.3", +] + [[package]] name = "version_check" version = "0.9.3" @@ -1563,15 +1757,15 @@ checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" [[package]] name = "wasi" -version = "0.10.2+wasi-snapshot-preview1" +version = "0.10.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" +checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" [[package]] name = "wasm-bindgen" -version = "0.2.73" +version = "0.2.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83240549659d187488f91f33c0f8547cbfef0b2088bc470c116d1d260ef623d9" +checksum = "d54ee1d4ed486f78874278e63e4069fc1ab9f6a18ca492076ffb90c5eb2997fd" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -1579,9 +1773,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.73" +version = "0.2.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae70622411ca953215ca6d06d3ebeb1e915f0f6613e3b495122878d7ebec7dae" +checksum = "3b33f6a0694ccfea53d94db8b2ed1c3a8a4c86dd936b13b9f0a15ec4a451b900" dependencies = [ "bumpalo", "lazy_static", @@ -1594,9 +1788,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.73" +version = "0.2.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e734d91443f177bfdb41969de821e15c516931c3c3db3d318fa1b68975d0f6f" +checksum = "088169ca61430fe1e58b8096c24975251700e7b1f6fd91cc9d59b04fb9b18bd4" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -1604,9 +1798,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.73" +version = "0.2.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d53739ff08c8a68b0fdbcd54c372b8ab800b1449ab3c9d706503bc7dd1621b2c" +checksum = "be2241542ff3d9f241f5e2cb6dd09b37efe786df8851c54957683a49f0987a97" dependencies = [ "proc-macro2", "quote", @@ -1617,15 +1811,15 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.73" +version = "0.2.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9a543ae66aa233d14bb765ed9af4a33e81b8b58d1584cf1b47ff8cd0b9e4489" +checksum = "d7cff876b8f18eed75a66cf49b65e7f967cb354a7aa16003fb55dbfd25b44b4f" [[package]] name = "web-sys" -version = "0.3.50" +version = "0.3.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a905d57e488fec8861446d3393670fb50d27a262344013181c2cdf9fff5481be" +checksum = "e828417b379f3df7111d3a2a9e5753706cae29c41f7c4029ee9fd77f3e09e582" dependencies = [ "js-sys", "wasm-bindgen", @@ -1633,11 +1827,12 @@ dependencies = [ [[package]] name = "which" -version = "4.1.0" +version = "4.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b55551e42cbdf2ce2bedd2203d0cc08dba002c27510f86dab6d0ce304cba3dfe" +checksum = "ea187a8ef279bc014ec368c27a920da2024d2a711109bfbe3440585d5cf27ad9" dependencies = [ "either", + "lazy_static", "libc", ] @@ -1665,18 +1860,18 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "zeroize" -version = "1.2.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81a974bcdd357f0dca4d41677db03436324d45a4c9ed2d0b873a5a360ce41c36" +checksum = "377db0846015f7ae377174787dd452e1c5f5a9050bc6f954911d01f116daa0cd" dependencies = [ "zeroize_derive", ] [[package]] name = "zeroize_derive" -version = "1.0.1" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3f369ddb18862aba61aa49bf31e74d29f0f162dec753063200e1dc084345d16" +checksum = "a2c1e130bebaeab2f23886bf9acbaca14b092408c452543c857f66399cd6dab1" dependencies = [ "proc-macro2", "quote", diff --git a/Cargo.toml b/Cargo.toml index e4923a1..0874584 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,14 +19,17 @@ log = "0.4.11" ref-cast = "1.0.2" derivative = "2.1.1" ed25519-dalek = { version = "1.0.1", features = ["serde"] } -rand = "0.7.0" signature = "1.3.0" serde_with = "1.6.0" thiserror = "1.0.23" libsecp256k1 = "0.3.5" + +[target.'cfg(not(target_arch = "wasm32"))'.dependencies] ring = "0.16.20" +rand = "0.7.0" [workspace] members = [ - "identity" + "identity", + "service" ] diff --git a/identity/Cargo.toml b/identity/Cargo.toml index 3ed97a2..abceb06 100644 --- a/identity/Cargo.toml +++ b/identity/Cargo.toml @@ -19,12 +19,14 @@ serde_with = "1.6.0" thiserror = "1.0.23" lazy_static = "1.2" libsecp256k1 = "0.3.5" -ring = { version = "0.16.9", features = ["alloc", "std"], default-features = false } asn1_der = "0.6.1" sha2 = "0.9.1" zeroize = "1" serde_bytes = "0.11" libp2p-core = { package = "fluence-fork-libp2p-core", version = "0.27.2" } +[target.'cfg(not(target_arch = "wasm32"))'.dependencies] +ring = { version = "0.16.9", features = ["alloc", "std"], default-features = false } + [dev-dependencies] quickcheck = "0.9.0" diff --git a/wasm/Cargo.lock b/service/Cargo.lock similarity index 100% rename from wasm/Cargo.lock rename to service/Cargo.lock diff --git a/wasm/Cargo.toml b/service/Cargo.toml similarity index 67% rename from wasm/Cargo.toml rename to service/Cargo.toml index 145cf14..2f15bd7 100644 --- a/wasm/Cargo.toml +++ b/service/Cargo.toml @@ -11,15 +11,16 @@ name = "trust-graph" path = "src/main.rs" [dependencies] -trust-graph = { version = "0.2.1", path = "../" } -fluence-identity = { version = "0.2.1", path = "../identity" } +trust-graph = { version = "0.2.6", path = "../." } +fluence-identity = { version = "0.3.0", path = "../identity" } +marine-rs-sdk = { version = "0.6.11", features = ["logger"] } +marine-sqlite-connector = "0.5.0" + log = "0.4.8" -fluence = { version = "0.2.18", features = ["logger"] } anyhow = "1.0.31" boolinator = "2.4.0" once_cell = "1.4.1" parking_lot = "0.11.1" -fce-sqlite-connector = "0.1.3" serde_json = "1.0" bs58 = "0.3.1" rmp-serde = "0.15.0" diff --git a/wasm/Config.toml b/service/Config.toml similarity index 100% rename from wasm/Config.toml rename to service/Config.toml diff --git a/service/build.sh b/service/build.sh new file mode 100755 index 0000000..ea6336a --- /dev/null +++ b/service/build.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +set -o errexit -o nounset -o pipefail + +# set current working directory to script directory to run script from everywhere +cd "$(dirname "$0")" + +# build trust-graph.wasm +cargo update +marine build --release + +# copy .wasm to artifacts +rm -f artifacts/* +mkdir -p artifacts +cp ../target/wasm32-wasi/release/trust-graph.wasm artifacts/ diff --git a/service/run-repl.sh b/service/run-repl.sh new file mode 100755 index 0000000..60ccea9 --- /dev/null +++ b/service/run-repl.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +set -euo pipefail + +./build.sh +RUST_LOG="info" fce-repl Config.toml diff --git a/wasm/src/dto.rs b/service/src/dto.rs similarity index 83% rename from wasm/src/dto.rs rename to service/src/dto.rs index 5e2e068..2dacc72 100644 --- a/wasm/src/dto.rs +++ b/service/src/dto.rs @@ -1,6 +1,5 @@ -use fluence::fce; -use fluence_identity::public_key::PKError; -use fluence_identity::signature::SignatureError; +use marine_rs_sdk::marine; +use fluence_identity::error::DecodingError; use fluence_identity::{PublicKey, Signature}; use std::convert::TryFrom; use std::time::Duration; @@ -18,17 +17,11 @@ pub enum DtoConversionError { PublicKeyDecodeError( #[from] #[source] - PKError, - ), - #[error("Cannot convert string to PublicKey: {0}")] - SignatureDecodeError( - #[from] - #[source] - SignatureError, + DecodingError, ), } -#[fce] +#[marine] pub struct Certificate { pub chain: Vec, } @@ -54,7 +47,7 @@ impl TryFrom for trust_graph::Certificate { } } -#[fce] +#[marine] pub struct Trust { /// For whom this certificate is issued, base58 pub issued_for: String, @@ -73,7 +66,7 @@ impl TryFrom for trust_graph::Trust { fn try_from(t: Trust) -> Result { let issued_for = PublicKey::from_base58(&t.issued_for)?; let signature = bs58::decode(&t.signature).into_vec()?; - let signature = Signature::from_bytes(&signature)?; + let signature = Signature::decode(signature)?; let expires_at = Duration::from_secs(t.expires_at); let issued_at = Duration::from_secs(t.issued_at); return Ok(trust_graph::Trust { @@ -87,8 +80,8 @@ impl TryFrom for trust_graph::Trust { impl From for Trust { fn from(t: trust_graph::Trust) -> Self { - let issued_for = bs58::encode(t.issued_for.to_bytes()).into_string(); - let signature = bs58::encode(t.signature.to_bytes()).into_string(); + let issued_for = bs58::encode(t.issued_for.encode()).into_string(); + let signature = bs58::encode(t.signature.encode()).into_string(); let expires_at = t.expires_at.as_secs(); let issued_at = t.issued_at.as_secs(); return Trust { diff --git a/wasm/src/main.rs b/service/src/main.rs similarity index 78% rename from wasm/src/main.rs rename to service/src/main.rs index b1d4d68..af86305 100644 --- a/wasm/src/main.rs +++ b/service/src/main.rs @@ -1,4 +1,4 @@ -use fluence::WasmLoggerBuilder; +use marine_rs_sdk::WasmLoggerBuilder; mod dto; mod results; @@ -8,7 +8,7 @@ mod storage_impl; pub fn main() { WasmLoggerBuilder::new() - .with_log_level(log::Level::Info) + .with_log_level(log::LevelFilter::Info) .build() .unwrap(); } diff --git a/wasm/src/results.rs b/service/src/results.rs similarity index 97% rename from wasm/src/results.rs rename to service/src/results.rs index ba7389d..b59512f 100644 --- a/wasm/src/results.rs +++ b/service/src/results.rs @@ -1,8 +1,8 @@ use crate::dto::Certificate; use crate::service_impl::ServiceError; -use fluence::fce; +use marine_rs_sdk::marine; -#[fce] +#[marine] pub struct InsertResult { pub ret_code: u32, pub error: String, @@ -23,7 +23,7 @@ impl From> for InsertResult { } } -#[fce] +#[marine] pub struct WeightResult { pub ret_code: u32, pub weight: Vec, @@ -47,7 +47,7 @@ impl From, ServiceError>> for WeightResult { } } -#[fce] +#[marine] pub struct AllCertsResult { pub ret_code: u32, pub certificates: Vec, @@ -71,7 +71,7 @@ impl From, ServiceError>> for AllCertsResult { } } -#[fce] +#[marine] pub struct AddRootResult { pub ret_code: u32, pub error: String, diff --git a/wasm/src/service_api.rs b/service/src/service_api.rs similarity index 89% rename from wasm/src/service_api.rs rename to service/src/service_api.rs index 9188b95..3d9a798 100644 --- a/wasm/src/service_api.rs +++ b/service/src/service_api.rs @@ -3,9 +3,9 @@ use crate::results::{AddRootResult, AllCertsResult, InsertResult, WeightResult}; use crate::service_impl::{ add_root_impl, get_all_certs_impl, get_weight_impl, insert_cert_impl, insert_cert_impl_raw, }; -use fluence::{fce, CallParameters}; +use marine_rs_sdk::{CallParameters, marine}; -#[fce] +#[marine] /// add a certificate in string representation to trust graph if it is valid /// see `trust_graph::Certificate` class for string encoding/decoding // TODO change `current_time` to time service @@ -13,27 +13,27 @@ fn insert_cert_raw(certificate: String, current_time: u64) -> InsertResult { insert_cert_impl_raw(certificate, current_time).into() } -#[fce] +#[marine] /// add a certificate in JSON representation to trust graph if it is valid /// see `dto::Certificate` class for structure fn insert_cert(certificate: Certificate, current_time: u64) -> InsertResult { insert_cert_impl(certificate, current_time).into() } -#[fce] +#[marine] fn get_weight(public_key: String) -> WeightResult { get_weight_impl(public_key).into() } -#[fce] +#[marine] fn get_all_certs(issued_for: String) -> AllCertsResult { get_all_certs_impl(issued_for).into() } -#[fce] +#[marine] /// could add only a host of a trust graph service fn add_root(pk: String, weight: u32) -> AddRootResult { - let call_parameters: CallParameters = fluence::get_call_parameters(); + let call_parameters: CallParameters = marine_rs_sdk::get_call_parameters(); let init_peer_id = call_parameters.init_peer_id.clone(); if call_parameters.host_id == init_peer_id { add_root_impl(pk, weight).into() @@ -45,8 +45,8 @@ fn add_root(pk: String, weight: u32) -> AddRootResult { } } -// TODO rewrite test after #[fce_test] will be implemented -// #[fce] +// TODO rewrite test after #[marine_test] will be implemented +// #[marine_test] // fn test() -> String { // let mut tg = get_data().lock(); // diff --git a/wasm/src/service_impl.rs b/service/src/service_impl.rs similarity index 97% rename from wasm/src/service_impl.rs rename to service/src/service_impl.rs index 99842e2..9196692 100644 --- a/wasm/src/service_impl.rs +++ b/service/src/service_impl.rs @@ -1,6 +1,6 @@ use crate::dto::{Certificate, DtoConversionError}; use crate::storage_impl::get_data; -use fluence_identity::public_key::PKError; +use fluence_identity::error::DecodingError; use fluence_identity::PublicKey; use std::convert::{Into, TryInto}; use std::str::FromStr; @@ -14,7 +14,7 @@ pub enum ServiceError { PublicKeyDecodeError( #[from] #[source] - PKError, + DecodingError, ), #[error("{0}")] TGError( diff --git a/wasm/src/storage_impl.rs b/service/src/storage_impl.rs similarity index 96% rename from wasm/src/storage_impl.rs rename to service/src/storage_impl.rs index 38e87e5..e67c3eb 100644 --- a/wasm/src/storage_impl.rs +++ b/service/src/storage_impl.rs @@ -7,10 +7,10 @@ use crate::storage_impl::SQLiteStorageError::{ WeightConversionDB, }; use core::convert::TryFrom; -use fce_sqlite_connector; -use fce_sqlite_connector::Connection; -use fce_sqlite_connector::Error as InternalSqliteError; -use fce_sqlite_connector::Value; +use marine_sqlite_connector; +use marine_sqlite_connector::Connection; +use marine_sqlite_connector::Error as InternalSqliteError; +use marine_sqlite_connector::Value; use fluence_identity::public_key::PublicKey; use once_cell::sync::OnceCell; use parking_lot::Mutex; @@ -29,7 +29,7 @@ static INSTANCE: OnceCell>> = OnceCell::new(); pub fn get_data() -> &'static Mutex> { INSTANCE.get_or_init(|| { let db_path = "/tmp/users123123.sqlite"; - let connection = fce_sqlite_connector::open(db_path).unwrap(); + let connection = marine_sqlite_connector::open(db_path).unwrap(); let init_sql = "CREATE TABLE IF NOT EXISTS trustnodes( public_key TEXT PRIMARY KEY, diff --git a/wasm/run-repl.sh b/wasm/run-repl.sh deleted file mode 100755 index 0604ee9..0000000 --- a/wasm/run-repl.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env bash -set -euo pipefail - -fce build - -rm artifacts/trust-graph.wasm -mv -f target/wasm32-wasi/debug/trust-graph.wasm artifacts/ -RUST_LOG="info" fce-repl Config.toml