From 7a05a39b5afd22ca6e8e6d12c0966aa6db135904 Mon Sep 17 00:00:00 2001 From: Aleksey Proshutisnkiy Date: Thu, 8 Jul 2021 13:45:39 +0300 Subject: [PATCH] Add new methods, validate input multiaddresses (#4) --- .gitignore | 2 +- aqua/ipfs.aqua | 31 +++- service/artifacts/ipfs_effector.wasm | Bin 229800 -> 0 bytes service/artifacts/ipfs_pure.wasm | Bin 354602 -> 0 bytes service/build.sh | 4 + service/effector/Cargo.lock | 265 ++++++++++++++++++++++++++- service/effector/Cargo.toml | 1 + service/effector/src/main.rs | 111 ++++------- service/pure/Cargo.lock | 257 +++++++++++++++++++++++++- service/pure/Cargo.toml | 2 + service/pure/src/main.rs | 164 ++++++++++++----- service/types/src/lib.rs | 2 +- service/types/src/results.rs | 79 ++++++-- 13 files changed, 782 insertions(+), 136 deletions(-) delete mode 100755 service/artifacts/ipfs_effector.wasm delete mode 100755 service/artifacts/ipfs_pure.wasm diff --git a/.gitignore b/.gitignore index 59cb686..bcfd05b 100644 --- a/.gitignore +++ b/.gitignore @@ -8,7 +8,7 @@ # Added by cargo .idea -artifacts/*.wasm +**/artifacts/*.wasm **/node_modules **/dist diff --git a/aqua/ipfs.aqua b/aqua/ipfs.aqua index 7c6ef5a..c116ca6 100644 --- a/aqua/ipfs.aqua +++ b/aqua/ipfs.aqua @@ -1,11 +1,30 @@ +data IpfsGetFromResult: + success: bool + error: string + path: string + +data IpfsMultiaddrResult: + success: bool + error: string + multiaddr: string + +data IpfsPutResult: + success: bool + error: string + hash: string + data IpfsResult: success: bool - result: string + error: string service Ipfs("ipfs-adapter"): - get_from(hash: string, multiaddr: string) -> IpfsResult - get_multiaddr() -> IpfsResult - put(file_path: string) -> IpfsResult - set_multiaddr(multiaddr: string) -> IpfsResult + get_external_api_multiaddr() -> IpfsMultiaddrResult + get_external_swarm_multiaddr() -> IpfsMultiaddrResult + get_from(hash: string, swarm_multiaddr: string) -> IpfsGetFromResult + get_local_api_multiaddr() -> IpfsMultiaddrResult + invoke() -> string + put(file_path: string) -> IpfsPutResult + set_external_api_multiaddr(multiaddr: string) -> IpfsResult + set_external_swarm_multiaddr(multiaddr: string) -> IpfsResult + set_local_api_multiaddr(multiaddr: string) -> IpfsResult set_timeout(timeout_sec: u64) - \ No newline at end of file diff --git a/service/artifacts/ipfs_effector.wasm b/service/artifacts/ipfs_effector.wasm deleted file mode 100755 index 1f4af8ef8fb9888dd279cb0ebe39b7d0708d4900..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 229800 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�z$gRcP_-=IxoULD@ZxnDEw&WE{7Sgt^$j( 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 (+2Y&!)gy=p~7({LtPaZ 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 z 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ċUf1fN;ylU*K( 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 diff --git a/service/build.sh b/service/build.sh index f758a91..79baac3 100755 --- a/service/build.sh +++ b/service/build.sh @@ -1,6 +1,9 @@ #!/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")" + # This script builds all subprojects and puts all created Wasm modules in one dir cd effector cargo update --aggressive @@ -15,3 +18,4 @@ mkdir -p artifacts rm -f artifacts/*.wasm cp effector/target/wasm32-wasi/release/ipfs_effector.wasm artifacts/ cp pure/target/wasm32-wasi/release/ipfs_pure.wasm artifacts/ +marine aqua artifacts/ipfs_pure.wasm -s Ipfs -i ipfs-adapter > ../aqua/ipfs.aqua diff --git a/service/effector/Cargo.lock b/service/effector/Cargo.lock index f55dd18..c84e5c4 100644 --- a/service/effector/Cargo.lock +++ b/service/effector/Cargo.lock @@ -2,12 +2,30 @@ # It is not intended for manual editing. version = 3 +[[package]] +name = "arrayref" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" + [[package]] name = "autocfg" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" +[[package]] +name = "bs58" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" + +[[package]] +name = "byteorder" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" + [[package]] name = "cfg-if" version = "1.0.0" @@ -27,6 +45,12 @@ dependencies = [ "winapi", ] +[[package]] +name = "data-encoding" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ee2393c4a91429dffb4bedf19f4d6abf27d8a732c8ce4980305d782e5426d57" + [[package]] name = "eyre" version = "0.6.5" @@ -37,6 +61,44 @@ dependencies = [ "once_cell", ] +[[package]] +name = "fluence-fork-parity-multiaddr" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06228daafbf129ef49806f15779857012c01d49658930d086498e78f12191da7" +dependencies = [ + "arrayref", + "bs58", + "byteorder", + "data-encoding", + "multihash", + "percent-encoding", + "serde", + "static_assertions", + "unsigned-varint 0.7.0", + "url", +] + +[[package]] +name = "form_urlencoded" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191" +dependencies = [ + "matches", + "percent-encoding", +] + +[[package]] +name = "generic-array" +version = "0.14.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "501466ecc8a30d1d3b7fc9229b122b2ce8ed6e9d9223f1138d4babb253e51817" +dependencies = [ + "typenum", + "version_check", +] + [[package]] name = "getrandom" version = "0.2.3" @@ -48,6 +110,17 @@ dependencies = [ "wasi", ] +[[package]] +name = "idna" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8" +dependencies = [ + "matches", + "unicode-bidi", + "unicode-normalization", +] + [[package]] name = "indenter" version = "0.3.3" @@ -59,6 +132,7 @@ name = "ipfs-effector" version = "0.1.0" dependencies = [ "eyre", + "fluence-fork-parity-multiaddr", "log", "marine-rs-sdk", "serde_json", @@ -73,9 +147,9 @@ checksum = "dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736" [[package]] name = "libc" -version = "0.2.97" +version = "0.2.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12b8adadd720df158f4d70dfe7ccc6adb0472d7c55ca83445f6a5ab3e36f8fb6" +checksum = "320cfe77175da3a483efed4bc0adc1968ca050b098ce4f2f1c13a56626128790" [[package]] name = "log" @@ -142,6 +216,37 @@ dependencies = [ "quote", ] +[[package]] +name = "matches" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08" + +[[package]] +name = "multihash" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dac63698b887d2d929306ea48b63760431ff8a24fac40ddb22f9c7f49fb7cab" +dependencies = [ + "generic-array", + "multihash-derive", + "unsigned-varint 0.5.1", +] + +[[package]] +name = "multihash-derive" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "424f6e86263cd5294cbd7f1e95746b95aca0e0d66bff31e5a40d6baa87b4aa99" +dependencies = [ + "proc-macro-crate", + "proc-macro-error", + "proc-macro2", + "quote", + "syn", + "synstructure", +] + [[package]] name = "num-integer" version = "0.1.44" @@ -167,6 +272,46 @@ version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56" +[[package]] +name = "percent-encoding" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" + +[[package]] +name = "proc-macro-crate" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41fdbd1df62156fbc5945f4762632564d7d038153091c3fcf1067f6aef7cff92" +dependencies = [ + "thiserror", + "toml", +] + +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2", + "quote", + "syn", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", +] + [[package]] name = "proc-macro2" version = "1.0.27" @@ -222,6 +367,12 @@ dependencies = [ "serde", ] +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + [[package]] name = "syn" version = "1.0.73" @@ -233,6 +384,38 @@ dependencies = [ "unicode-xid", ] +[[package]] +name = "synstructure" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b834f2d66f734cb897113e34aaff2f1ab4719ca946f9a7358dba8f8064148701" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "unicode-xid", +] + +[[package]] +name = "thiserror" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93119e4feac1cbe6c798c34d3a53ea0026b0b1de6a120deef895137c0529bfe2" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "060d69a0afe7796bf42e9e2ff91f5ee691fb15c53d38b4b62a9a53eb23164745" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "time" version = "0.1.44" @@ -244,6 +427,36 @@ dependencies = [ "winapi", ] +[[package]] +name = "tinyvec" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b5220f05bb7de7f3f53c7c065e1199b3172696fe2db9f9c4d8ad9b4ee74c342" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" + +[[package]] +name = "toml" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa" +dependencies = [ + "serde", +] + +[[package]] +name = "typenum" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "879f6906492a7cd215bfa4cf595b600146ccfac0c79bcbd1f3000162af5e8b06" + [[package]] name = "types" version = "0.1.0" @@ -252,12 +465,54 @@ dependencies = [ "marine-rs-sdk", ] +[[package]] +name = "unicode-bidi" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eeb8be209bb1c96b7c177c7420d26e04eccacb0eeae6b980e35fcb74678107e0" +dependencies = [ + "matches", +] + +[[package]] +name = "unicode-normalization" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9" +dependencies = [ + "tinyvec", +] + [[package]] name = "unicode-xid" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" +[[package]] +name = "unsigned-varint" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7fdeedbf205afadfe39ae559b75c3240f24e257d0ca27e85f85cb82aa19ac35" + +[[package]] +name = "unsigned-varint" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f8d425fafb8cd76bc3f22aace4af471d3156301d7508f2107e98fbeae10bc7f" + +[[package]] +name = "url" +version = "2.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c" +dependencies = [ + "form_urlencoded", + "idna", + "matches", + "percent-encoding", +] + [[package]] name = "uuid" version = "0.8.2" @@ -267,6 +522,12 @@ dependencies = [ "getrandom", ] +[[package]] +name = "version_check" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe" + [[package]] name = "wasi" version = "0.10.0+wasi-snapshot-preview1" diff --git a/service/effector/Cargo.toml b/service/effector/Cargo.toml index 4bc31b2..21b7252 100644 --- a/service/effector/Cargo.toml +++ b/service/effector/Cargo.toml @@ -11,6 +11,7 @@ path = "src/main.rs" [dependencies] marine-rs-sdk = { version = "0.6.10", features = ["logger"] } +multiaddr = { version = "0.11.2", package = "fluence-fork-parity-multiaddr" } log = "0.4.14" eyre = "0.6.5" serde_json = "1.0.64" diff --git a/service/effector/src/main.rs b/service/effector/src/main.rs index b2bb81b..81fe2ad 100644 --- a/service/effector/src/main.rs +++ b/service/effector/src/main.rs @@ -17,14 +17,16 @@ #![allow(improper_ctypes)] #![feature(try_blocks)] -use types::IpfsResult; +use types::{IpfsResult, IpfsPutResult, IpfsGetPeerIdResult}; use marine_rs_sdk::marine; use marine_rs_sdk::module_manifest; use marine_rs_sdk::MountedBinaryResult; use marine_rs_sdk::WasmLoggerBuilder; -use eyre::Result; +use eyre::{Result, WrapErr}; +use multiaddr::Multiaddr; +use std::str::FromStr; module_manifest!(); @@ -35,6 +37,16 @@ fn unwrap_mounted_binary_result(result: MountedBinaryResult) -> Result { #[inline] fn get_timeout_string(timeout: u64) -> String { format!("{}s", timeout) } +fn make_cmd_args(args: Vec, local_multiaddr: String, timeout_sec: u64) -> Vec { + args.into_iter().chain( + vec![ + String::from("--timeout"), + get_timeout_string(timeout_sec), + String::from("--api"), + local_multiaddr + ]).collect() +} + pub fn main() { WasmLoggerBuilder::new() .with_log_level(log::LevelFilter::Info) @@ -43,36 +55,33 @@ pub fn main() { } #[marine] -pub fn connect(multiaddr: String, timeout_sec: u64) -> IpfsResult { +pub fn connect(multiaddr: String, local_multiaddr: String, timeout_sec: u64) -> IpfsResult { log::info!("connect called with multiaddr {}", multiaddr); - let cmd = vec![ + let args = vec![ String::from("swarm"), String::from("connect"), - String::from("--timeout"), - get_timeout_string(timeout_sec), - multiaddr - ]; + multiaddr]; + let cmd = make_cmd_args(args, local_multiaddr, timeout_sec); unwrap_mounted_binary_result(ipfs(cmd)).map(|_| ()).into() } /// Put file from specified path to IPFS and return its hash. #[marine] -pub fn put(file_path: String, timeout_sec: u64) -> IpfsResult { +pub fn put(file_path: String, local_multiaddr: String, timeout_sec: u64) -> IpfsPutResult { log::info!("put called with file path {}", file_path); if !std::path::Path::new(&file_path).exists() { - return IpfsResult { success: false, result: format!("path {} doesn't exist", file_path) } + return IpfsPutResult { success: false, error: format!("path {} doesn't exist", file_path), hash: "".to_string() }; } - let cmd = vec![ + let args = vec![ String::from("add"), - String::from("--timeout"), - get_timeout_string(timeout_sec), String::from("-Q"), inject_vault_host_path(file_path) ]; + let cmd = make_cmd_args(args, local_multiaddr, timeout_sec); log::info!("ipfs put args {:?}", cmd); @@ -81,17 +90,16 @@ pub fn put(file_path: String, timeout_sec: u64) -> IpfsResult { /// Get file by provided hash from IPFS, saves it to a temporary file and returns a path to it. #[marine] -pub fn get(hash: String, file_path: String, timeout_sec: u64) -> IpfsResult { +pub fn get(hash: String, file_path: String, local_multiaddr: String, timeout_sec: u64) -> IpfsResult { log::info!("get called with hash {}", hash); - let cmd = vec![ + let args = vec![ String::from("get"), - String::from("--timeout"), - get_timeout_string(timeout_sec), String::from("-o"), inject_vault_host_path(file_path), hash, ]; + let cmd = make_cmd_args(args, local_multiaddr, timeout_sec); log::info!("ipfs get args {:?}", cmd); @@ -101,13 +109,9 @@ pub fn get(hash: String, file_path: String, timeout_sec: u64) -> IpfsResult { } #[marine] -pub fn get_peer_id(timeout_sec: u64) -> IpfsResult { +pub fn get_peer_id(local_multiaddr: String, timeout_sec: u64) -> IpfsGetPeerIdResult { let result: Result = try { - let cmd = vec![ - String::from("id"), - String::from("--timeout"), - get_timeout_string(timeout_sec), - ]; + let cmd = make_cmd_args(vec![String::from("id")], local_multiaddr, timeout_sec); let result: serde_json::Value = serde_json::from_str(&unwrap_mounted_binary_result(ipfs(cmd))?)?; result.get("ID").ok_or(eyre::eyre!("ID field not found in response"))?.as_str().ok_or(eyre::eyre!("ID value is not string"))?.to_string() @@ -117,18 +121,21 @@ pub fn get_peer_id(timeout_sec: u64) -> IpfsResult { } #[marine] -pub fn set_external_multiaddr(multiaddr: String, timeout_sec: u64) -> IpfsResult { +pub fn set_external_api_multiaddr(multiaddr: String, local_multiaddr: String, timeout_sec: u64) -> IpfsResult { + let result: Result<()> = try { + let multiaddr = Multiaddr::from_str(&multiaddr).wrap_err(format!("invalid multiaddr {}", multiaddr))?; + let args = vec![ + String::from("config"), + String::from("Addresses.Announce"), + format!(r#"["{}"]"#, multiaddr.to_string()), + String::from("--json"), + ]; + let cmd = make_cmd_args(args, local_multiaddr, timeout_sec); - let cmd = vec![ - String::from("config"), - String::from("--timeout"), - get_timeout_string(timeout_sec), - String::from("Addresses.Announce"), - format!("[\"{}\"]", multiaddr), - String::from("--json"), - ]; + unwrap_mounted_binary_result(ipfs(cmd)).map(|_| ())? + }; - unwrap_mounted_binary_result(ipfs(cmd)).map(|_| ()).into() + result.into() } #[marine] @@ -147,41 +154,3 @@ fn inject_vault_host_path(path: String) -> String { path } } - -fn to_full_path(cmd: S) -> String -where - S: Into, -{ - use std::path::Path; - use std::path::Component; - - let cmd = cmd.into(); - let path = Path::new(&cmd); - - let mut components = path.components(); - let is_absolute = components.next() == Some(Component::RootDir); - - if !is_absolute { - return cmd; - } - - let parent = match components.next() { - Some(Component::Normal(path)) => path.to_str().unwrap(), - _ => return cmd, - }; - - match std::env::var(parent) { - Ok(to_dir) => { - let mut full_path = std::path::PathBuf::from(to_dir); - - // TODO: optimize this - #[allow(clippy::while_let_on_iterator)] - while let Some(component) = components.next() { - full_path.push(component); - } - full_path.to_string_lossy().into_owned() - } - Err(_) => cmd, - } -} - diff --git a/service/pure/Cargo.lock b/service/pure/Cargo.lock index c2fb8dd..d8ec54e 100644 --- a/service/pure/Cargo.lock +++ b/service/pure/Cargo.lock @@ -2,12 +2,30 @@ # It is not intended for manual editing. version = 3 +[[package]] +name = "arrayref" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" + [[package]] name = "autocfg" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" +[[package]] +name = "bs58" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" + +[[package]] +name = "byteorder" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" + [[package]] name = "cfg-if" version = "1.0.0" @@ -27,6 +45,12 @@ dependencies = [ "winapi", ] +[[package]] +name = "data-encoding" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ee2393c4a91429dffb4bedf19f4d6abf27d8a732c8ce4980305d782e5426d57" + [[package]] name = "eyre" version = "0.6.5" @@ -37,6 +61,44 @@ dependencies = [ "once_cell", ] +[[package]] +name = "fluence-fork-parity-multiaddr" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06228daafbf129ef49806f15779857012c01d49658930d086498e78f12191da7" +dependencies = [ + "arrayref", + "bs58", + "byteorder", + "data-encoding", + "multihash", + "percent-encoding", + "serde", + "static_assertions", + "unsigned-varint 0.7.0", + "url", +] + +[[package]] +name = "form_urlencoded" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191" +dependencies = [ + "matches", + "percent-encoding", +] + +[[package]] +name = "generic-array" +version = "0.14.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "501466ecc8a30d1d3b7fc9229b122b2ce8ed6e9d9223f1138d4babb253e51817" +dependencies = [ + "typenum", + "version_check", +] + [[package]] name = "getrandom" version = "0.2.3" @@ -48,6 +110,17 @@ dependencies = [ "wasi", ] +[[package]] +name = "idna" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8" +dependencies = [ + "matches", + "unicode-bidi", + "unicode-normalization", +] + [[package]] name = "indenter" version = "0.3.3" @@ -58,7 +131,9 @@ checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" name = "ipfs-pure" version = "0.1.0" dependencies = [ + "bs58", "eyre", + "fluence-fork-parity-multiaddr", "log", "marine-rs-sdk", "serde", @@ -74,9 +149,9 @@ checksum = "dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736" [[package]] name = "libc" -version = "0.2.97" +version = "0.2.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12b8adadd720df158f4d70dfe7ccc6adb0472d7c55ca83445f6a5ab3e36f8fb6" +checksum = "320cfe77175da3a483efed4bc0adc1968ca050b098ce4f2f1c13a56626128790" [[package]] name = "log" @@ -143,6 +218,37 @@ dependencies = [ "quote", ] +[[package]] +name = "matches" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08" + +[[package]] +name = "multihash" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dac63698b887d2d929306ea48b63760431ff8a24fac40ddb22f9c7f49fb7cab" +dependencies = [ + "generic-array", + "multihash-derive", + "unsigned-varint 0.5.1", +] + +[[package]] +name = "multihash-derive" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "424f6e86263cd5294cbd7f1e95746b95aca0e0d66bff31e5a40d6baa87b4aa99" +dependencies = [ + "proc-macro-crate", + "proc-macro-error", + "proc-macro2", + "quote", + "syn", + "synstructure", +] + [[package]] name = "num-integer" version = "0.1.44" @@ -168,6 +274,46 @@ version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56" +[[package]] +name = "percent-encoding" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" + +[[package]] +name = "proc-macro-crate" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41fdbd1df62156fbc5945f4762632564d7d038153091c3fcf1067f6aef7cff92" +dependencies = [ + "thiserror", + "toml", +] + +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2", + "quote", + "syn", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", +] + [[package]] name = "proc-macro2" version = "1.0.27" @@ -223,6 +369,12 @@ dependencies = [ "serde", ] +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + [[package]] name = "syn" version = "1.0.73" @@ -234,6 +386,38 @@ dependencies = [ "unicode-xid", ] +[[package]] +name = "synstructure" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b834f2d66f734cb897113e34aaff2f1ab4719ca946f9a7358dba8f8064148701" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "unicode-xid", +] + +[[package]] +name = "thiserror" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93119e4feac1cbe6c798c34d3a53ea0026b0b1de6a120deef895137c0529bfe2" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "060d69a0afe7796bf42e9e2ff91f5ee691fb15c53d38b4b62a9a53eb23164745" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "time" version = "0.1.44" @@ -245,6 +429,21 @@ dependencies = [ "winapi", ] +[[package]] +name = "tinyvec" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b5220f05bb7de7f3f53c7c065e1199b3172696fe2db9f9c4d8ad9b4ee74c342" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" + [[package]] name = "toml" version = "0.5.8" @@ -254,6 +453,12 @@ dependencies = [ "serde", ] +[[package]] +name = "typenum" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "879f6906492a7cd215bfa4cf595b600146ccfac0c79bcbd1f3000162af5e8b06" + [[package]] name = "types" version = "0.1.0" @@ -262,12 +467,54 @@ dependencies = [ "marine-rs-sdk", ] +[[package]] +name = "unicode-bidi" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eeb8be209bb1c96b7c177c7420d26e04eccacb0eeae6b980e35fcb74678107e0" +dependencies = [ + "matches", +] + +[[package]] +name = "unicode-normalization" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9" +dependencies = [ + "tinyvec", +] + [[package]] name = "unicode-xid" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" +[[package]] +name = "unsigned-varint" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7fdeedbf205afadfe39ae559b75c3240f24e257d0ca27e85f85cb82aa19ac35" + +[[package]] +name = "unsigned-varint" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f8d425fafb8cd76bc3f22aace4af471d3156301d7508f2107e98fbeae10bc7f" + +[[package]] +name = "url" +version = "2.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c" +dependencies = [ + "form_urlencoded", + "idna", + "matches", + "percent-encoding", +] + [[package]] name = "uuid" version = "0.8.2" @@ -277,6 +524,12 @@ dependencies = [ "getrandom", ] +[[package]] +name = "version_check" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe" + [[package]] name = "wasi" version = "0.10.0+wasi-snapshot-preview1" diff --git a/service/pure/Cargo.toml b/service/pure/Cargo.toml index e1a4814..1d4a67b 100644 --- a/service/pure/Cargo.toml +++ b/service/pure/Cargo.toml @@ -11,9 +11,11 @@ path = "src/main.rs" [dependencies] marine-rs-sdk = { version = "0.6.10", features = ["logger"] } +multiaddr = { version = "0.11.2", package = "fluence-fork-parity-multiaddr" } log = "0.4.14" eyre = "0.6.5" toml = "0.5.8" serde = "1.0.118" +bs58 = "0.4.0" types = { path = "../types" } diff --git a/service/pure/src/main.rs b/service/pure/src/main.rs index 325c9ca..0dd330c 100644 --- a/service/pure/src/main.rs +++ b/service/pure/src/main.rs @@ -15,8 +15,9 @@ */ #![allow(improper_ctypes)] +#![feature(try_blocks)] -use types::IpfsResult; +use types::{IpfsResult, IpfsGetFromResult, IpfsPutResult, IpfsGetPeerIdResult, IpfsMultiaddrResult}; use marine_rs_sdk::marine; use marine_rs_sdk::module_manifest; @@ -24,25 +25,31 @@ use marine_rs_sdk::WasmLoggerBuilder; use std::fs; use serde::{Deserialize, Serialize}; +use multiaddr::{Multiaddr, Protocol, multihash::Multihash}; +use std::str::FromStr; +use eyre::WrapErr; const CONFIG_FILE_PATH: &str = "/tmp/multiaddr_config"; const DEFAULT_TIMEOUT_SEC: u64 = 1u64; +const DEFAULT_LOCAL_API_MULTIADDR: &str = "/ip4/127.0.0.1/tcp/5001"; module_manifest!(); #[derive(Deserialize, Serialize)] pub struct Config { pub timeout: u64, - pub multiaddr: Option, + pub external_api_multiaddr: Option, + pub external_swarm_multiaddr: Option, + pub local_api_multiaddr: Multiaddr, } -fn save_multiaddr(multiaddr: String) { +fn save_external_api_multiaddr(multiaddr: Multiaddr) { let mut config = load_config(); - config.multiaddr = Some(multiaddr); + config.external_api_multiaddr = Some(multiaddr); write_config(config); } -fn load_multiaddr() -> eyre::Result { - load_config().multiaddr.ok_or(eyre::eyre!("multiaddr is not set")) +fn load_external_api_multiaddr() -> eyre::Result { + load_config().external_api_multiaddr.ok_or(eyre::eyre!("multiaddr is not set")) } pub fn write_config(config: Config) { @@ -59,7 +66,9 @@ pub(crate) fn create_config() { if fs::metadata(CONFIG_FILE_PATH).is_err() { write_config(Config { timeout: DEFAULT_TIMEOUT_SEC, - multiaddr: None, + external_api_multiaddr: None, + external_swarm_multiaddr: None, + local_api_multiaddr: Multiaddr::from_str(DEFAULT_LOCAL_API_MULTIADDR).unwrap(), }); } } @@ -78,62 +87,136 @@ pub fn invoke() -> String { } #[marine] -pub fn put(file_path: String) -> IpfsResult { +pub fn put(file_path: String) -> IpfsPutResult { log::info!("put called with {:?}", file_path); let timeout = load_config().timeout; - ipfs_put(file_path, timeout) + ipfs_put(file_path, load_config().local_api_multiaddr.to_string(), timeout) } #[marine] -pub fn get_from(hash: String, multiaddr: String) -> IpfsResult { +pub fn get_from(hash: String, swarm_multiaddr: String) -> IpfsGetFromResult { log::info!("get called with hash: {}", hash); - let timeout = load_config().timeout; + let config = load_config(); + let timeout = config.timeout; + let local_maddr = config.local_api_multiaddr.to_string(); let particle_id = marine_rs_sdk::get_call_parameters().particle_id; - let connect_result = ipfs_connect(multiaddr, timeout.clone()); + let connect_result = ipfs_connect(swarm_multiaddr, local_maddr.clone(), timeout.clone()); if !connect_result.success { - return connect_result; + return Err(eyre::eyre!(connect_result.error)).into(); } let particle_vault_path = format!("/tmp/vault/{}", particle_id); - let file_path = format!("{}/{}", particle_vault_path, hash); - let get_result = ipfs_get(hash, file_path.clone(), timeout); + let path = format!("{}/{}", particle_vault_path, hash); + let get_result = ipfs_get(hash, path.clone(), local_maddr, timeout); - return if get_result.success { - IpfsResult { success: true, result: file_path } + if get_result.success { + Ok(path).into() } else { - get_result + Err(eyre::eyre!(get_result.error)).into() } } #[marine] -pub fn get_multiaddr() -> IpfsResult { - load_multiaddr().into() +pub fn get_external_api_multiaddr() -> IpfsMultiaddrResult { + load_external_api_multiaddr().map(|m| m.to_string()).into() } #[marine] -pub fn set_multiaddr(multiaddr: String) -> IpfsResult { +pub fn set_external_api_multiaddr(multiaddr: String) -> IpfsResult { + if load_external_api_multiaddr().is_ok() { + return eyre::Result::<()>::Err(eyre::eyre!("external multiaddr can only be set once")).into(); + } + let call_parameters = marine_rs_sdk::get_call_parameters(); - if load_multiaddr().is_ok() || call_parameters.init_peer_id != call_parameters.service_creator_peer_id { - return eyre::Result::<()>::Err(eyre::eyre!("only service creator can set multiaddr only once")).into(); + if call_parameters.init_peer_id != call_parameters.service_creator_peer_id { + return eyre::Result::<()>::Err(eyre::eyre!("only service creator can set external multiaddr")).into(); } - let timeout = load_config().timeout; - let set_result = ipfs_set_external_multiaddr(multiaddr.clone(), timeout.clone()); - if !set_result.success { - return set_result; + let config = load_config(); + let timeout = config.timeout; + let local_maddr = config.local_api_multiaddr.to_string(); + let result: eyre::Result<()> = try { + let mut multiaddr = Multiaddr::from_str(&multiaddr).wrap_err(format!("invalid multiaddr {}", multiaddr))?; + let mut passed_peer_id = None; + match multiaddr.iter().count() { + 3 => { + passed_peer_id = multiaddr.pop(); + } + 2 => {} + n => Err(eyre::eyre!("multiaddr should containt 2 or 3 components, {} given", n))?, + } + + let set_result = ipfs_set_external_api_multiaddr(multiaddr.to_string(), local_maddr.clone(), timeout.clone()); + if !set_result.success { + return set_result; + } + + let peer_id_result = ipfs_get_peer_id(local_maddr, timeout); + if !peer_id_result.success { + Err(eyre::eyre!(peer_id_result.error.clone()))?; + } + + let peer_id = Protocol::P2p(Multihash::from_bytes(&bs58::decode(peer_id_result.error).into_vec()?)?); + if passed_peer_id.is_some() && passed_peer_id != Some(peer_id.clone()) { + Err(eyre::eyre!("given peer id is different from node peer_id: given {}, actual {}", passed_peer_id.unwrap().to_string(), peer_id.to_string()))?; + } + + multiaddr.push(peer_id); + save_external_api_multiaddr(multiaddr); + () + }; + + result.into() +} + +#[marine] +pub fn get_local_api_multiaddr() -> IpfsMultiaddrResult { + Ok(load_config().local_api_multiaddr.to_string()).into() +} + +#[marine] +pub fn set_local_api_multiaddr(multiaddr: String) -> IpfsResult { + let call_parameters = marine_rs_sdk::get_call_parameters(); + if call_parameters.init_peer_id != call_parameters.service_creator_peer_id { + return eyre::Result::<()>::Err(eyre::eyre!("only service creator can set local multiaddr")).into(); } - let peer_id_result = ipfs_get_peer_id(timeout); - if !peer_id_result.success { - return peer_id_result; + let result: eyre::Result<()> = try { + let mut config = load_config(); + config.local_api_multiaddr = Multiaddr::from_str(&multiaddr).wrap_err(format!("invalid multiaddr {}", multiaddr))?; + write_config(config); + () + }; + + result.into() +} + +#[marine] +pub fn get_external_swarm_multiaddr() -> IpfsMultiaddrResult { + load_config().external_swarm_multiaddr.ok_or(eyre::eyre!("multiaddr is not set")).map(|m| m.to_string()).into() +} + +#[marine] +pub fn set_external_swarm_multiaddr(multiaddr: String) -> IpfsResult { + if load_config().external_swarm_multiaddr.is_some() { + return eyre::Result::<()>::Err(eyre::eyre!("external swarm multiaddr can only be set once")).into(); } - // trim trailing / - let multiaddr = if multiaddr.ends_with("/") { multiaddr[..multiaddr.len() - 1].to_string() } else { multiaddr.clone() }; - save_multiaddr(format!("{}/{}", multiaddr, peer_id_result.result)); - Ok(()).into() + let call_parameters = marine_rs_sdk::get_call_parameters(); + if call_parameters.init_peer_id != call_parameters.service_creator_peer_id { + return eyre::Result::<()>::Err(eyre::eyre!("only service creator can set external swarm multiaddr")).into(); + } + + let result: eyre::Result<()> = try { + let mut config = load_config(); + config.external_swarm_multiaddr = Some(Multiaddr::from_str(&multiaddr).wrap_err(format!("invalid multiaddr {}", multiaddr))?); + write_config(config); + () + }; + + result.into() } #[marine] @@ -148,20 +231,19 @@ pub fn set_timeout(timeout_sec: u64) { #[link(wasm_import_module = "ipfs_effector")] extern "C" { #[link_name = "connect"] - pub fn ipfs_connect(multiaddr: String, timeout_sec: u64) -> IpfsResult; - + pub fn ipfs_connect(external_multiaddr: String, local_multiaddr: String, timeout_sec: u64) -> IpfsResult; /// Put provided file to ipfs, return ipfs hash of the file. #[link_name = "put"] - pub fn ipfs_put(file_path: String, timeout_sec: u64) -> IpfsResult; + pub fn ipfs_put(file_path: String, local_multiaddr: String, timeout_sec: u64) -> IpfsPutResult; /// Get file from ipfs by hash. #[link_name = "get"] - pub fn ipfs_get(hash: String, file_path: String, timeout_sec: u64) -> IpfsResult; + pub fn ipfs_get(hash: String, file_path: String, local_multiaddr: String, timeout_sec: u64) -> IpfsResult; #[link_name = "get_peer_id"] - pub fn ipfs_get_peer_id(timeout_sec: u64) -> IpfsResult; + pub fn ipfs_get_peer_id(local_multiaddr: String, timeout_sec: u64) -> IpfsGetPeerIdResult; - #[link_name = "set_external_multiaddr"] - pub fn ipfs_set_external_multiaddr(multiaddr: String, timeout_sec: u64) -> IpfsResult; + #[link_name = "set_external_api_multiaddr"] + pub fn ipfs_set_external_api_multiaddr(external_multiaddr: String, local_multiaddr: String, timeout_sec: u64) -> IpfsResult; } diff --git a/service/types/src/lib.rs b/service/types/src/lib.rs index 481135b..70dcb20 100644 --- a/service/types/src/lib.rs +++ b/service/types/src/lib.rs @@ -1,3 +1,3 @@ mod results; -pub use results::IpfsResult; +pub use results::{IpfsGetFromResult, IpfsResult, IpfsPutResult, IpfsGetPeerIdResult, IpfsMultiaddrResult}; diff --git a/service/types/src/results.rs b/service/types/src/results.rs index 635fefa..0f22726 100644 --- a/service/types/src/results.rs +++ b/service/types/src/results.rs @@ -20,23 +20,78 @@ use eyre::Result; #[marine] pub struct IpfsResult { pub success: bool, - pub result: String, -} - -impl From> for IpfsResult { - fn from(result: Result) -> Self { - match result { - Ok(result) => Self { success: true, result }, - Err(err) => Self { success: false, result: err.to_string() } - } - } + pub error: String, } impl From> for IpfsResult { fn from(result: Result<()>) -> Self { match result { - Ok(_) => Self { success: true, result: "".to_string() }, - Err(err) => Self { success: false, result: err.to_string() } + Ok(_) => Self { success: true, error: "".to_string() }, + Err(err) => Self { success: false, error: err.to_string() } + } + } +} + +#[marine] +pub struct IpfsGetFromResult { + pub success: bool, + pub error: String, + pub path: String, +} + +impl From> for IpfsGetFromResult { + fn from(result: Result) -> Self { + match result { + Ok(path) => Self { success: true, error: "".to_string(), path }, + Err(err) => Self { success: false, error: err.to_string(), path: "".to_string() } + } + } +} + +#[marine] +pub struct IpfsPutResult { + pub success: bool, + pub error: String, + pub hash: String, +} + +impl From> for IpfsPutResult { + fn from(result: Result) -> Self { + match result { + Ok(hash) => Self { success: true, error: "".to_string(), hash }, + Err(err) => Self { success: false, error: err.to_string(), hash: "".to_string() } + } + } +} + +#[marine] +pub struct IpfsGetPeerIdResult { + pub success: bool, + pub error: String, + pub peer_id: String, +} + +impl From> for IpfsGetPeerIdResult { + fn from(result: Result) -> Self { + match result { + Ok(peer_id) => Self { success: true, error: "".to_string(), peer_id }, + Err(err) => Self { success: false, error: err.to_string(), peer_id: "".to_string() } + } + } +} + +#[marine] +pub struct IpfsMultiaddrResult { + pub success: bool, + pub error: String, + pub multiaddr: String, +} + +impl From> for IpfsMultiaddrResult { + fn from(result: Result) -> Self { + match result { + Ok(multiaddr) => Self { success: true, error: "".to_string(), multiaddr }, + Err(err) => Self { success: false, error: err.to_string(), multiaddr: "".to_string() } } } }