fix: Aqua API and internal sqlite table cleaning (#121)

This commit is contained in:
Aleksey Proshutisnkiy 2022-09-23 22:58:12 +04:00 committed by GitHub
parent 1b4baa05ad
commit fe030623f8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 627 additions and 361 deletions

14
aqua/package-lock.json generated
View File

@ -13,7 +13,7 @@
"@fluencelabs/trust-graph": "^3.0.1"
},
"devDependencies": {
"@fluencelabs/aqua": "^0.7.3-315"
"@fluencelabs/aqua": "^0.7.3-318"
}
},
"node_modules/@ampproject/remapping": {
@ -675,9 +675,9 @@
"dev": true
},
"node_modules/@fluencelabs/aqua": {
"version": "0.7.3-315",
"resolved": "https://registry.npmjs.org/@fluencelabs/aqua/-/aqua-0.7.3-315.tgz",
"integrity": "sha512-MAYUC7tmUl+rWZgyl3viW35Zx3LwVcZZHFeuoKZSj//fc5qDLNrhd5gpEABb7JMp0BBXYpnkHz2jZEqeTPUr7w==",
"version": "0.7.3-319",
"resolved": "https://registry.npmjs.org/@fluencelabs/aqua/-/aqua-0.7.3-319.tgz",
"integrity": "sha512-hMKVFDqp5qiHTnfKGClaTEOLeHOiM5IdcpEO+fOFc6dx3Exxbs4IuSnGQX/IlC5iN2Sh5aVfNZRWix3Gftidbg==",
"dev": true,
"dependencies": {
"@fluencelabs/aqua-ipfs": "0.5.2",
@ -9072,9 +9072,9 @@
}
},
"@fluencelabs/aqua": {
"version": "0.7.3-315",
"resolved": "https://registry.npmjs.org/@fluencelabs/aqua/-/aqua-0.7.3-315.tgz",
"integrity": "sha512-MAYUC7tmUl+rWZgyl3viW35Zx3LwVcZZHFeuoKZSj//fc5qDLNrhd5gpEABb7JMp0BBXYpnkHz2jZEqeTPUr7w==",
"version": "0.7.3-319",
"resolved": "https://registry.npmjs.org/@fluencelabs/aqua/-/aqua-0.7.3-319.tgz",
"integrity": "sha512-hMKVFDqp5qiHTnfKGClaTEOLeHOiM5IdcpEO+fOFc6dx3Exxbs4IuSnGQX/IlC5iN2Sh5aVfNZRWix3Gftidbg==",
"dev": true,
"requires": {
"@fluencelabs/aqua-ipfs": "0.5.2",

View File

@ -144,7 +144,7 @@ func unregisterService(resource_id: ResourceId, peer_id: PeerId) -> bool, *Error
success: *bool
error: *Error
on peer_id:
on HOST_PEER_ID:
t <- Peer.timestamp_sec()
sig_result = getTombstoneSignature(resource_id, peer_id, t, nil)
if sig_result.success == false:
@ -156,14 +156,17 @@ func unregisterService(resource_id: ResourceId, peer_id: PeerId) -> bool, *Error
appendErrors(error, error_get)
success <<- false
else:
republish_result <- republishKey(key!)
if republish_result.success == false:
error <<- republish_result.error
else:
res <- addTombstone(resource_id, peer_id, t, nil, sig_result.signature!)
if res.success == false:
error <<- res.error
success <<- false
if peer_id != INIT_PEER_ID:
on peer_id:
republish_result <- republishKey(key!)
if republish_result.success == false:
error <<- republish_result.error
else:
res <- addTombstone(resource_id, peer_id, t, nil, sig_result.signature!)
if res.success == false:
error <<- res.error
success <<- false
nodes <- getNeighbours(resource_id)
successful: *bool

File diff suppressed because it is too large Load Diff

View File

@ -13,9 +13,10 @@
"author": "",
"license": "ISC",
"dependencies": {
"@fluencelabs/fluence": "^0.23.1",
"@fluencelabs/fluence": "^0.25.1",
"@fluencelabs/fluence-network-environment": "^1.0.13",
"@fluencelabs/registry": "^0.5.5"
"@fluencelabs/registry": "file:../aqua",
"@fluencelabs/trust-graph": "^3.0.4"
},
"devDependencies": {
"typescript": "^4.7.4"

View File

@ -1,4 +1,4 @@
module Export
import "services/echoService.aqua"
import registerServiceRecord, unregisterService from "@fluencelabs/registry/resources-api.aqua"
export EchoService, registerServiceRecord, unregisterService
import registerServiceRecord from "@fluencelabs/registry/resources-api.aqua"
export EchoService, registerServiceRecord

View File

@ -1,5 +1,5 @@
import { Fluence, KeyPair } from "@fluencelabs/fluence"
import { krasnodar } from "@fluencelabs/fluence-network-environment"
import { stage } from "@fluencelabs/fluence-network-environment"
import { registerEchoService } from "./generated/export"
import { registerServiceRecord } from "./generated/export"
@ -8,7 +8,7 @@ const sk = "Iz3HUmNIB78lkNNVmMkDKrju0nCivtkJNyObrFAr774=";
async function main() {
const keypair = await KeyPair.fromEd25519SK(Buffer.from(sk, 'base64'));
// connect to the Fluence network
await Fluence.start({ connectTo: krasnodar[5], KeyPair: keypair });
await Fluence.start({ connectTo: stage[5], KeyPair: keypair });
console.log(
"📗 created a fluence peer %s with relay %s",
Fluence.getStatus().peerId,

17
service/Cargo.lock generated
View File

@ -1004,14 +1004,13 @@ dependencies = [
[[package]]
name = "iana-time-zone"
version = "0.1.48"
version = "0.1.49"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "237a0714f28b1ee39ccec0770ccb544eb02c9ef2c82bb096230eefcffa6468b0"
checksum = "3bbaead50122b06e9a973ac20bc7445074d99ad9a0a0654934876908a9cec82c"
dependencies = [
"android_system_properties",
"core-foundation-sys",
"js-sys",
"once_cell",
"wasm-bindgen",
"winapi",
]
@ -1745,9 +1744,9 @@ dependencies = [
[[package]]
name = "once_cell"
version = "1.14.0"
version = "1.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2f7254b99e31cad77da24b08ebf628882739a608578bb1bcdfc1f9c21260d7c0"
checksum = "e82dad04139b71a90c080c8463fe0dc7902db5192d939bd0950f074d014339e1"
[[package]]
name = "opaque-debug"
@ -2307,9 +2306,9 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
[[package]]
name = "serde"
version = "1.0.144"
version = "1.0.145"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0f747710de3dcd43b88c9168773254e809d8ddbdf9653b84e2554ab219f17860"
checksum = "728eb6351430bccb993660dfffc5a72f91ccc1295abaa8ce19b27ebe4f75568b"
dependencies = [
"serde_derive",
]
@ -2335,9 +2334,9 @@ dependencies = [
[[package]]
name = "serde_derive"
version = "1.0.144"
version = "1.0.145"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "94ed3a816fb1d101812f83e789f888322c34e291f894f19590dc310963e87a00"
checksum = "81fa1584d3d1bcacd84c277a0dfe21f5b0f6accf4a23d04d4c6d61f1af522b4c"
dependencies = [
"proc-macro2",
"quote",

View File

@ -63,9 +63,9 @@ impl Storage {
}
pub fn delete_table(&self, table_name: String) -> Result<(), ServiceError> {
let mut statement = self.connection.prepare(f!("DROP TABLE ?;"))?;
statement.bind(1, &Value::String(table_name))?;
statement.next().map(drop)?;
let mut statement = self
.connection
.execute(f!("DROP TABLE IF EXISTS {table_name};"))?;
Ok(())
}