setup ci, update repo structure

This commit is contained in:
Alexey Proshutinskiy 2021-09-16 16:16:20 +03:00
parent 1bd2cbc9c5
commit 83dea9f8d6
9 changed files with 202 additions and 4 deletions

17
.gitignore vendored
View File

@ -1,3 +1,14 @@
.idea
target/
service/artifacts/*.wasm
service/target
builtin-package/*.wasm
trust-graph.tar.gz
**/*.rs.bk
**/.idea
**/artifacts
**/.DS_Store
**/node_modules
**/dist
# Remove after https://github.com/fluencelabs/aqua/issues/287
aqua/target/typescript/**
example/src/generated/**

48
aqua/package-lock.json generated Normal file
View File

@ -0,0 +1,48 @@
{
"name": "@fluencelabs/trust-graph",
"version": "0.1.12",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@fluencelabs/trust-graph",
"version": "0.1.12",
"license": "MIT",
"dependencies": {
"@fluencelabs/aqua-lib": "^0.1.14"
},
"devDependencies": {
"@fluencelabs/aqua": "^0.3.1-228"
}
},
"node_modules/@fluencelabs/aqua": {
"version": "0.3.1-228",
"resolved": "https://registry.npmjs.org/@fluencelabs/aqua/-/aqua-0.3.1-228.tgz",
"integrity": "sha512-uTgCNa+tBhUyl18Ejq0CpoJxxD3CsOI4+BU64Hdkm9LNE9nu94k8JDYtTKKIAJdhk4kQ3qHy6HHtwVSWTPDPHQ==",
"dev": true,
"bin": {
"aqua": "index.js",
"aqua-cli": "error.js",
"aqua-j": "index-java.js"
}
},
"node_modules/@fluencelabs/aqua-lib": {
"version": "0.1.14",
"resolved": "https://registry.npmjs.org/@fluencelabs/aqua-lib/-/aqua-lib-0.1.14.tgz",
"integrity": "sha512-H2Q4gIvociUxc4J2mwmH0D+mrU2N2Z+enKCHgBCanMVEE2wZDsZ80GTbDKsQjEq+gpqbnJIk8lJBYW6lyvLJTg=="
}
},
"dependencies": {
"@fluencelabs/aqua": {
"version": "0.3.1-228",
"resolved": "https://registry.npmjs.org/@fluencelabs/aqua/-/aqua-0.3.1-228.tgz",
"integrity": "sha512-uTgCNa+tBhUyl18Ejq0CpoJxxD3CsOI4+BU64Hdkm9LNE9nu94k8JDYtTKKIAJdhk4kQ3qHy6HHtwVSWTPDPHQ==",
"dev": true
},
"@fluencelabs/aqua-lib": {
"version": "0.1.14",
"resolved": "https://registry.npmjs.org/@fluencelabs/aqua-lib/-/aqua-lib-0.1.14.tgz",
"integrity": "sha512-H2Q4gIvociUxc4J2mwmH0D+mrU2N2Z+enKCHgBCanMVEE2wZDsZ80GTbDKsQjEq+gpqbnJIk8lJBYW6lyvLJTg=="
}
}
}

36
aqua/package.json Normal file
View File

@ -0,0 +1,36 @@
{
"name": "@fluencelabs/trust-graph",
"version": "0.1.12",
"description": "Aqua Trust Graph API library",
"files": [
"*.aqua"
],
"dependencies": {
"@fluencelabs/aqua-lib": "^0.1.14"
},
"scripts": {
"generate-aqua": "../service/build.sh",
"compile-aqua": "aqua -i . -o ./target/typescript",
"build": "npm run compile-aqua"
},
"repository": {
"type": "git",
"url": "git+https://github.com/fluencelabs/trust-graph",
"directory": "aqua"
},
"keywords": [
"aqua",
"fluence",
"trust-graph",
"p2p"
],
"author": "Fluence Labs",
"license": "MIT",
"bugs": {
"url": "https://github.com/fluencelabs/trust-graph/issues"
},
"homepage": "https://github.com/fluencelabs/trust-graph#readme",
"devDependencies": {
"@fluencelabs/aqua": "^0.3.1-228"
}
}

60
aqua/trust-graph.aqua Normal file
View File

@ -0,0 +1,60 @@
module TrustGraph declares *
data AddRootResult:
success: bool
error: string
data AddTrustResult:
success: bool
error: string
weight: u32
data Trust:
issued_for: string
expires_at: u64
signature: string
sig_type: string
issued_at: u64
data Certificate:
chain: []Trust
data AllCertsResult:
success: bool
certificates: []Certificate
error: string
data GetTrustMetadataResult:
success: bool
error: string
result: []u8
data InsertResult:
success: bool
error: string
data IssueTrustResult:
success: bool
error: string
trust: Trust
data VerifyTrustResult:
success: bool
error: string
data WeightResult:
success: bool
weight: u32
peer_id: string
error: string
service TrustGraph("trust-graph"):
add_root(peer_id: string, weight: u32) -> AddRootResult
add_trust(trust: Trust, issuer_peer_id: string, timestamp_sec: u64) -> AddTrustResult
get_all_certs(issued_for: string, timestamp_sec: u64) -> AllCertsResult
get_trust_metadata(issued_for_peer_id: string, expires_at_sec: u64, issued_at_sec: u64) -> GetTrustMetadataResult
get_weight(peer_id: string, timestamp_sec: u64) -> WeightResult
insert_cert(certificate: Certificate, timestamp_sec: u64) -> InsertResult
insert_cert_raw(certificate: string, timestamp_sec: u64) -> InsertResult
issue_trust(issued_for_peer_id: string, expires_at_sec: u64, issued_at_sec: u64, signed_metadata: []u8) -> IssueTrustResult
verify_trust(trust: Trust, issuer_peer_id: string, timestamp_sec: u64) -> VerifyTrustResult

View File

@ -0,0 +1,7 @@
{
"name": "trust-graph",
"dependencies": [
"name:sqlite3",
"name:trust-graph"
]
}

22
builtin-package/package.sh Executable file
View File

@ -0,0 +1,22 @@
#!/usr/bin/env bash
set -o pipefail -o nounset -o errexit
# set current working directory to script directory to run script from everywhere
cd "$(dirname "$0")"
SCRIPT_DIR="$(pwd)"
(
echo "*** copy wasm files ***"
cd ../service
cp artifacts/*.wasm "$SCRIPT_DIR"
)
(
echo "*** create builtin distribution package ***"
cd ..
mv builtin-package trust-graph
tar --exclude="package.sh" -f trust-graph.tar.gz -zcv ./trust-graph
mv trust-graph builtin-package
)
echo "*** done ***"

View File

@ -0,0 +1,4 @@
{
"name": "sqlite3",
"mem_pages_count": 100
}

View File

@ -0,0 +1,10 @@
{
"name": "trust-graph",
"mem_page_count": 1,
"preopened_files": [
"/tmp"
],
"mapped_dirs": {
"tmp": "./tmp"
}
}

View File

@ -16,4 +16,4 @@ cp ../target/wasm32-wasi/release/trust-graph.wasm artifacts/
curl -L https://github.com/fluencelabs/sqlite/releases/download/v0.15.0_w/sqlite3.wasm -o artifacts/sqlite3.wasm
# generate Aqua bindings
marine aqua artifacts/trust-graph.wasm -s TrustGraph -i trust-graph > trust-graph.aqua
marine aqua artifacts/trust-graph.wasm -s TrustGraph -i trust-graph > ../aqua/trust-graph.aqua