Update aqua-dht to aqua-lib 0.1.9

This commit is contained in:
folex 2021-07-13 19:24:26 +03:00
parent 84acd0f35c
commit 86d8547eec
10 changed files with 75 additions and 100 deletions

6
.gitignore vendored
View File

@ -9,9 +9,11 @@ Cargo.lock
# These are backup files generated by rustfmt
**/*.rs.bk
# Added by cargo
/target
.idea
.idea
artifacts
.DS_Store

83
Cargo.lock generated
View File

@ -15,9 +15,9 @@ dependencies = [
[[package]]
name = "anyhow"
version = "1.0.41"
version = "1.0.42"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "15af2628f6890fe2609a3b91bef4c83450512802e59489f9c1cb1fa5df064a61"
checksum = "595d3cfa7a60d4555cb5067b99f07142a08ea778de5cf993f7b75c7d8fabc486"
[[package]]
name = "aqua-dht"
@ -107,9 +107,9 @@ dependencies = [
[[package]]
name = "cc"
version = "1.0.68"
version = "1.0.69"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4a72c244c1ff497a746a7e1fb3d14bd08420ecda70c8f25c7112f2781652d787"
checksum = "e70cc2f62c6ce1868963827bd677764c62d07c3d9a3e1fb1177ee1a9ab199eb2"
[[package]]
name = "cfg-if"
@ -342,9 +342,9 @@ checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457"
[[package]]
name = "erased-serde"
version = "0.3.15"
version = "0.3.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e5b36e6f2295f393f44894c6031f67df4d185b984cd54d08f768ce678007efcd"
checksum = "3de9ad4541d99dc22b59134e7ff8dc3d6c988c89ecd7324bf10a8362b07a2afa"
dependencies = [
"serde",
]
@ -446,40 +446,17 @@ dependencies = [
"wast",
]
[[package]]
name = "fluence-sdk-macro"
version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cb43d2f51f1becb70e2125ef8ca9759597900f95cc22ce7dca981a7d6ccd7dde"
dependencies = [
"fluence-sdk-wit",
]
[[package]]
name = "fluence-sdk-main"
version = "0.6.1"
version = "0.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a78910d85e3cdcb9c2baf56144f20a99925c67ac445d4156220c005bfd2f9604"
checksum = "70e05d54468e14858531ef8ad30354da1e5359861015b1e1efeaa06b89ce656d"
dependencies = [
"fluence-sdk-macro",
"log",
"marine-macro",
"serde",
]
[[package]]
name = "fluence-sdk-wit"
version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eab3ed39703b72e0e52bce9e1760746c73f65a5694c8da4dec751d3bfdec15b8"
dependencies = [
"proc-macro2",
"quote",
"serde",
"serde_json",
"syn",
"uuid",
]
[[package]]
name = "fnv"
version = "1.0.7"
@ -586,12 +563,6 @@ dependencies = [
"indexmap",
]
[[package]]
name = "hashbrown"
version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04"
[[package]]
name = "hashbrown"
version = "0.11.2"
@ -607,7 +578,7 @@ version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7249a3129cbc1ffccd74857f81464a323a152173cdb134e0fd81bc803b29facf"
dependencies = [
"hashbrown 0.11.2",
"hashbrown",
]
[[package]]
@ -621,9 +592,9 @@ dependencies = [
[[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",
]
@ -654,12 +625,12 @@ checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683"
[[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 0.9.1",
"hashbrown",
"serde",
]
@ -754,9 +725,9 @@ dependencies = [
[[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 = "libsqlite3-sys"
@ -1442,9 +1413,9 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
[[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"
@ -1465,18 +1436,18 @@ checksum = "ab0e7238dcc7b40a7be719a25365910f6807bd864f4cce6b2e6b873658e2b19d"
[[package]]
name = "thiserror"
version = "1.0.25"
version = "1.0.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fa6f76457f59514c7eeb4e59d891395fab0b2fd1d40723ae737d64153392e9c6"
checksum = "93119e4feac1cbe6c798c34d3a53ea0026b0b1de6a120deef895137c0529bfe2"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
version = "1.0.25"
version = "1.0.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8a36768c0fbf1bb15eca10defa29526bda730a2376c2ab4393ccfa16fb1a318d"
checksum = "060d69a0afe7796bf42e9e2ff91f5ee691fb15c53d38b4b62a9a53eb23164745"
dependencies = [
"proc-macro2",
"quote",
@ -1541,9 +1512,9 @@ checksum = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c"
[[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"
@ -1562,9 +1533,9 @@ dependencies = [
[[package]]
name = "vcpkg"
version = "0.2.14"
version = "0.2.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "70455df2fdf4e9bf580a92e443f1eb0303c390d682e2ea817312c9e81f8c3399"
checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
[[package]]
name = "version_check"

View File

@ -1,20 +1,3 @@
data ClearExpiredResult:
success: bool
error: string
count_keys: u64
count_values: u64
data DhtResult:
success: bool
error: string
data Key:
key: string
peer_id: string
timestamp_created: u64
pinned: bool
weight: u32
data Record:
value: string
peer_id: string
@ -24,6 +7,18 @@ data Record:
timestamp_created: u64
weight: u32
data MergeResult:
success: bool
error: string
result: []Record
data Key:
key: string
peer_id: string
timestamp_created: u64
pinned: bool
weight: u32
data EvictStaleItem:
key: Key
records: []Record
@ -38,15 +33,25 @@ data GetKeyMetadataResult:
error: string
key: Key
data RepublishValuesResult:
success: bool
error: string
updated: u64
data ClearExpiredResult:
success: bool
error: string
count_keys: u64
count_values: u64
data GetValuesResult:
success: bool
error: string
result: []Record
data MergeResult:
data DhtResult:
success: bool
error: string
result: []Record
data PutHostValueResult:
success: bool
@ -54,11 +59,6 @@ data PutHostValueResult:
key: string
value: []Record
data RepublishValuesResult:
success: bool
error: string
updated: u64
service AquaDHT("aqua-dht"):
clear_expired(current_timestamp_sec: u64) -> ClearExpiredResult
clear_host_value(key: string, current_timestamp_sec: u64) -> DhtResult

8
npm/.gitignore vendored
View File

@ -1,3 +1,9 @@
*.tgz
node_modules
target
target
dist
# ignore generated sources
src/dht-api.ts
src/dht-scheduled-scripts.ts
src/pubsub.ts

View File

@ -5,7 +5,7 @@ import "@fluencelabs/aqua-lib/builtin.aqua"
func getNeighbours(key: string, node_id: string) -> []PeerId:
on node_id:
k <- Op.string_to_b58(key)
nodes <- Kademlia.neighborhood(k, false)
nodes <- Kademlia.neighborhood(k, nil, nil)
<- nodes
func clearHostValue(key: string, node_id: string):
@ -40,7 +40,6 @@ func registerKeyPutHostValue(node_id: string, key: string, value: string, servic
on node_id:
t <- Peer.timestamp_sec()
AquaDHT.register_key(key, t, false, 0)
nil: ?string
AquaDHT.put_host_value(key, value, t, nil, service_id, 0)
-- get all neighbors around the key in Kademlia network and store a value into them
@ -57,14 +56,13 @@ func putValue(node_id: string, key: string, value: string, relay_id: ?string, se
-- put a value on behalf of node_id (ie owner of the record will be node_id)
func putHostValue(node_id: string, key: string, value: string, service_id: ?string):
on node_id:
nil: ?string
t <- Peer.timestamp_sec()
AquaDHT.put_host_value(key, value, t, nil, service_id, 0)
func getValues(node_id: string, key: string) -> []Record:
on node_id:
k <- Op.string_to_b58(key)
nodes <- Kademlia.neighborhood(k, false)
nodes <- Kademlia.neighborhood(k, nil, nil)
res: *GetValuesResult
for n <- nodes par:
on n:

View File

@ -12,7 +12,7 @@ func replicate():
res <- AquaDHT.evict_stale(t)
for r <- res.results par:
k <- Op.string_to_b58(r.key.key)
nodes <- Kademlia.neighborhood(k, false)
nodes <- Kademlia.neighborhood(k, nil, nil)
for n <- nodes par:
on n:
AquaDHT.republish_key(r.key, t)

View File

@ -1 +1 @@
-- this file will be generated automatically
-- this file will be generated automatically

12
npm/package-lock.json generated
View File

@ -5,15 +5,15 @@
"requires": true,
"dependencies": {
"@fluencelabs/aqua-cli": {
"version": "0.1.5-141",
"resolved": "https://registry.npmjs.org/@fluencelabs/aqua-cli/-/aqua-cli-0.1.5-141.tgz",
"integrity": "sha512-Ox/ZG7wSlagu60qESRrSmW1ql22lMi2I/B/M8kRLmlXA8gkCSS75amfCkJxcFU6vreULcEqGnkrk+FaRjoX5LQ==",
"version": "0.1.9-162",
"resolved": "https://registry.npmjs.org/@fluencelabs/aqua-cli/-/aqua-cli-0.1.9-162.tgz",
"integrity": "sha512-VAxHmJF9jwRVoc2GOoC1/FbygzbFxQ1lIRdsYaWHLs6/Ua/Od+Z+6Ca4WUkLgC5ekq+762vGe13A2aBnM4Og+w==",
"dev": true
},
"@fluencelabs/aqua-lib": {
"version": "0.1.5",
"resolved": "https://registry.npmjs.org/@fluencelabs/aqua-lib/-/aqua-lib-0.1.5.tgz",
"integrity": "sha512-0f5Lo9NT4ZvN+S/oGYiNxLUtpZsTfDy2qL0D4SFPVoj2+YPPK2PKSzZnja2clfM1KHHP6kT6Jd20sHVBIxBMtw=="
"version": "0.1.9",
"resolved": "https://registry.npmjs.org/@fluencelabs/aqua-lib/-/aqua-lib-0.1.9.tgz",
"integrity": "sha512-WLvwrH98R4BT7NHrzYkJE8f0G61BZi3lVog/W3pmyzYjufxTtxoAS28Zqycbt0ZVpUTfIC016QKu58b4SbhZWw=="
},
"@fluencelabs/avm": {
"version": "0.9.12",

View File

@ -11,7 +11,7 @@
"dist/*"
],
"dependencies": {
"@fluencelabs/aqua-lib": "^0.1.5",
"@fluencelabs/aqua-lib": "^0.1.9",
"@fluencelabs/fluence": "^0.9.50"
},
"scripts": {
@ -33,7 +33,7 @@
},
"homepage": "https://github.com/fluencelabs/aqua-dht#readme",
"devDependencies": {
"@fluencelabs/aqua-cli": "^0.1.5-141",
"@fluencelabs/aqua-cli": "^0.1.9-162",
"typescript": "^3.9.5"
}
}

View File

@ -6,7 +6,7 @@ import "@fluencelabs/aqua-lib/builtin.aqua"
func getNeighbours(node_id: PeerId, topic: string) -> []PeerId:
on node_id:
k <- Op.string_to_b58(topic)
nodes <- Kademlia.neighborhood(k, false)
nodes <- Kademlia.neighborhood(k, nil, nil)
<- nodes
-- If this peer have set node_id as a subscriber for topic,
@ -40,7 +40,6 @@ func initTopicAndSubscribe(node_id: PeerId, topic: string, value: string, relay_
-- Create a topic and make the given node a subscriber to it
func initTopicAndSubscribeNode(subscriber_node_id: PeerId, topic: string, value: string, service_id: ?string):
nil: ?string
on subscriber_node_id:
t <- Peer.timestamp_sec()
AquaDHT.register_key(topic, t, false, 0)
@ -67,7 +66,6 @@ func subscribe(node_id: PeerId, topic: string, value: string, relay_id: ?PeerId,
-- Note: topic must be already initiated
func subscribeNode(subscriber_node_id: PeerId, topic: string, value: string, service_id: ?string):
on subscriber_node_id:
nil: ?string
t <- Peer.timestamp_sec()
r <- AquaDHT.put_host_value(topic, value, t, nil, service_id, 0)
nodes <- getNeighbours(subscriber_node_id, topic)