diff --git a/Cargo.lock b/Cargo.lock index 4d89ecb..12caf0c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,11 +4,11 @@ version = 3 [[package]] name = "ahash" -version = "0.7.2" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f200cbb1e856866d9eade941cf3aa0c5d7dd36f74311c4273b494f4ef036957" +checksum = "43bb833f0bf979d8475d38fbf09ed3b8a55e1885fe93ad3f93239fc6a4f17b98" dependencies = [ - "getrandom 0.2.2", + "getrandom 0.2.3", "once_cell", "version_check", ] @@ -104,9 +104,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.67" +version = "1.0.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3c69b077ad434294d3ce9f1f6143a2a4b89a8a2d54ef813d85003a4fd1137fd" +checksum = "4a72c244c1ff497a746a7e1fb3d14bd08420ecda70c8f25c7112f2781652d787" [[package]] name = "cfg-if" @@ -340,9 +340,9 @@ checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" [[package]] name = "erased-serde" -version = "0.3.13" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0465971a8cc1fa2455c8465aaa377131e1f1cf4983280f474a13e68793aa770c" +checksum = "e5b36e6f2295f393f44894c6031f67df4d185b984cd54d08f768ce678007efcd" dependencies = [ "serde", ] @@ -392,9 +392,9 @@ checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a" [[package]] name = "fluence" -version = "0.6.8" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a92116bbed3be3afee952d62d6009f1a365bde985a1cf59fb933144308660743" +checksum = "88b09e1cd11a51ba4d169db347d009fe41ece2714eef4d5df720343733a1d5a6" dependencies = [ "fluence-sdk-main", "marine-macro", @@ -457,9 +457,9 @@ dependencies = [ [[package]] name = "fluence-sdk-main" -version = "0.6.8" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcbf30472768d331ea6a6853bdf1fc6166ba697d46a9ce74c3ccf5764a58414a" +checksum = "68d93cde99e1494e11755a39b93863333397245c9959c774fe3bebd9e4143879" dependencies = [ "log", "marine-macro", @@ -569,9 +569,9 @@ 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 1.0.0", "libc", @@ -852,18 +852,18 @@ dependencies = [ [[package]] name = "marine-macro" -version = "0.6.8" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9107f5956f578d4815a17c963836cffadf481801ae453e0247693e87f1de734" +checksum = "f63d927851847cc3dd9e3bd0f10bdeb313859d4822d5b5f650d9d34d461ed419" dependencies = [ "marine-macro-impl", ] [[package]] name = "marine-macro-impl" -version = "0.6.8" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7244dd6e5d624bb9d1e63777c3bbc3a8c857973d2b7633aa8d0b612d7770a55d" +checksum = "fb504be4a90e229ab453c7369cc8a9063acec819f3397802eea719cd0a232be1" dependencies = [ "proc-macro2", "quote", @@ -958,9 +958,9 @@ dependencies = [ [[package]] name = "marine-timestamp-macro" -version = "0.6.8" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecb3037577a262360b7e2f0fb5470b7ad0aabcefcb8d2421a4871a854d0a37b2" +checksum = "5994c7db5567d21609f2a2e5a40d9d4564f86c17ca35b2d77007152619b9d7fc" dependencies = [ "chrono", "quote", @@ -1157,9 +1157,9 @@ checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" [[package]] name = "proc-macro2" -version = "1.0.26" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a152013215dca273577e18d2bf00fa862b89b24169fb78c4c95aeb07992c9cec" +checksum = "f0d8caf72986c1a598726adc988bb5984792ef84f5ee5aa50209145ee8077038" dependencies = [ "unicode-xid", ] @@ -1197,9 +1197,9 @@ dependencies = [ [[package]] name = "rayon" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b0d8e0819fadc20c74ea8373106ead0600e3a67ef1fe8da56e39b9ae7275674" +checksum = "c06aca804d41dbc8ba42dfd964f0d01334eceb64314b9ecf7c5fad5188a06d90" dependencies = [ "autocfg", "crossbeam-deque", @@ -1209,9 +1209,9 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.9.0" +version = "1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ab346ac5921dc62ffa9f89b7a773907511cdfa5490c572ae9be1be33e8afa4a" +checksum = "d78120e2c850279833f1dd3582f730c4ab53ed95aeaaaa862a2a5c71b1656d8e" dependencies = [ "crossbeam-channel", "crossbeam-deque", @@ -1394,18 +1394,18 @@ checksum = "ab0e7238dcc7b40a7be719a25365910f6807bd864f4cce6b2e6b873658e2b19d" [[package]] name = "thiserror" -version = "1.0.24" +version = "1.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0f4a65597094d4483ddaed134f409b2cb7c1beccf25201a9f73c719254fa98e" +checksum = "fa6f76457f59514c7eeb4e59d891395fab0b2fd1d40723ae737d64153392e9c6" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.24" +version = "1.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7765189610d8241a44529806d6fd1f2e0a08734313a35d5b3a556f92b381f3c0" +checksum = "8a36768c0fbf1bb15eca10defa29526bda730a2376c2ab4393ccfa16fb1a318d" dependencies = [ "proc-macro2", "quote", @@ -1486,14 +1486,14 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" dependencies = [ - "getrandom 0.2.2", + "getrandom 0.2.3", ] [[package]] name = "vcpkg" -version = "0.2.12" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbdbff6266a24120518560b5dc983096efb98462e51d0d68169895b237be3e5d" +checksum = "025ce40a007e1907e58d5bc1a594def78e5573bb0b1160bc389634e8f12e4faa" [[package]] name = "version_check" diff --git a/artifacts/aqua-dht.aqua b/artifacts/aqua-dht.aqua new file mode 100644 index 0000000..4ffbdbc --- /dev/null +++ b/artifacts/aqua-dht.aqua @@ -0,0 +1,74 @@ +data RegisterKeyResult: + success: bool + error: string + +data PutValueResult: + success: bool + error: string + +data RepublishValuesResult: + success: bool + error: string + updated: u64 + +data ClearExpiredResult: + success: bool + error: string + count_keys: u64 + count_values: u64 + +data Key: + key: string + peer_id: string + timestamp_created: u64 + +data GetKeyMetadataResult: + success: bool + error: string + key: Key + +data Record: + value: string + peer_id: string + relay_id: []string + service_id: []string + timestamp_created: u64 + +data GetValuesResult: + success: bool + error: string + result: []Record + +data RepublishKeyResult: + success: bool + error: string + +data EvictStaleItem: + key: Key + records: []Record + +data EvictStaleResult: + success: bool + error: string + results: []EvictStaleItem + +service Aqua Dht: + republish_key: Key,u64 -> RepublishKeyResult + + put_value: string,string,u64,[]string,[]string -> PutValueResult + + get_values: string,u64 -> GetValuesResult + + get_key_metadata: string,u64 -> GetKeyMetadataResult + + register_key: string,u64 -> RegisterKeyResult + + evict_stale: u64 -> EvictStaleResult + + clear_expired: u64 -> ClearExpiredResult + + republish_values: string,[]Record,u64 -> RepublishValuesResult + + +New version is available! 0.6.3 -> 0.6.4 +To update run: cargo +nightly install marine --force diff --git a/build.sh b/build.sh index e195c17..5368ef3 100755 --- a/build.sh +++ b/build.sh @@ -9,3 +9,4 @@ rm -f artifacts/* mkdir -p artifacts cp target/wasm32-wasi/release/aqua-dht.wasm artifacts/ curl -L https://github.com/fluencelabs/sqlite/releases/download/v0.14.0_w/sqlite3.wasm -o artifacts/sqlite3.wasm +marine aqua artifacts/aqua-dht.wasm > artifacts/aqua-dht.aqua diff --git a/src/impls.rs b/src/impls.rs index 3b5995e..5f7cd4d 100644 --- a/src/impls.rs +++ b/src/impls.rs @@ -36,6 +36,7 @@ pub(crate) fn check_timestamp_tetraplets(call_parameters: &CallParameters, arg_n let tetraplet = tetraplets.get(0).wrap_err(error_msg)?; (tetraplet.service_id == TRUSTED_TIMESTAMP_SERVICE_ID && tetraplet.function_name == TRUSTED_TIMESTAMP_FUNCTION_NAME).then(|| ()).wrap_err(error_msg) + // TODO check host_id == peer_pk(???) } #[inline]