mirror of
https://github.com/fluencelabs/examples
synced 2025-04-25 02:32:16 +00:00
update aqua
This commit is contained in:
parent
61b1ba3992
commit
6131577ab0
@ -1,13 +0,0 @@
|
||||
(xor
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(call %init_peer_id% ("getDataSrv" "relay") [] relay)
|
||||
(call %init_peer_id% ("getDataSrv" "data") [] data)
|
||||
)
|
||||
(call %init_peer_id% ("service-id" "echo") [data] res)
|
||||
)
|
||||
(call %init_peer_id% ("callbackSrv" "response") [res])
|
||||
)
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error%])
|
||||
)
|
@ -1,16 +0,0 @@
|
||||
(xor
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(call %init_peer_id% ("getDataSrv" "relay") [] relay)
|
||||
(call %init_peer_id% ("getDataSrv" "name") [] name)
|
||||
)
|
||||
(call %init_peer_id% ("getDataSrv" "greeter") [] greeter)
|
||||
)
|
||||
(call %init_peer_id% ("service-id" "greeting") [name greeter] res)
|
||||
)
|
||||
(call %init_peer_id% ("callbackSrv" "response") [res])
|
||||
)
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error%])
|
||||
)
|
@ -1,64 +0,0 @@
|
||||
/**
|
||||
*
|
||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
||||
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||
*
|
||||
*/
|
||||
import { FluenceClient, PeerIdB58 } from '@fluencelabs/fluence';
|
||||
import { RequestFlowBuilder } from '@fluencelabs/fluence/dist/api.unstable';
|
||||
|
||||
|
||||
|
||||
export async function echo(client: FluenceClient, data: string[]): Promise<string[]> {
|
||||
let request;
|
||||
const promise = new Promise<string[]>((resolve, reject) => {
|
||||
request = new RequestFlowBuilder()
|
||||
.disableInjections()
|
||||
.withRawScript(
|
||||
`
|
||||
(xor
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(call %init_peer_id% ("getDataSrv" "relay") [] relay)
|
||||
(call %init_peer_id% ("getDataSrv" "data") [] data)
|
||||
)
|
||||
(call %init_peer_id% ("service-id" "echo") [data] res)
|
||||
)
|
||||
(call %init_peer_id% ("callbackSrv" "response") [res])
|
||||
)
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error%])
|
||||
)
|
||||
|
||||
`,
|
||||
)
|
||||
.configHandler((h) => {
|
||||
h.on('getDataSrv', 'relay', () => {
|
||||
return client.relayPeerId!;
|
||||
});
|
||||
h.on('getRelayService', 'hasReleay', () => {// Not Used
|
||||
return client.relayPeerId !== undefined;
|
||||
});
|
||||
h.on('getDataSrv', 'data', () => {return data;});
|
||||
h.onEvent('callbackSrv', 'response', (args) => {
|
||||
const [res] = args;
|
||||
resolve(res);
|
||||
});
|
||||
|
||||
h.onEvent('errorHandlingSrv', 'error', (args) => {
|
||||
// assuming error is the single argument
|
||||
const [err] = args;
|
||||
reject(err);
|
||||
});
|
||||
})
|
||||
.handleScriptError(reject)
|
||||
.handleTimeout(() => {
|
||||
reject('Request timed out for echo');
|
||||
})
|
||||
.build();
|
||||
});
|
||||
await client.initiateFlow(request);
|
||||
return promise;
|
||||
}
|
||||
|
@ -1,68 +0,0 @@
|
||||
/**
|
||||
*
|
||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
||||
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||
*
|
||||
*/
|
||||
import { FluenceClient, PeerIdB58 } from '@fluencelabs/fluence';
|
||||
import { RequestFlowBuilder } from '@fluencelabs/fluence/dist/api.unstable';
|
||||
|
||||
|
||||
|
||||
export async function greeting(client: FluenceClient, name: string, greeter: boolean): Promise<string> {
|
||||
let request;
|
||||
const promise = new Promise<string>((resolve, reject) => {
|
||||
request = new RequestFlowBuilder()
|
||||
.disableInjections()
|
||||
.withRawScript(
|
||||
`
|
||||
(xor
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(seq
|
||||
(call %init_peer_id% ("getDataSrv" "relay") [] relay)
|
||||
(call %init_peer_id% ("getDataSrv" "name") [] name)
|
||||
)
|
||||
(call %init_peer_id% ("getDataSrv" "greeter") [] greeter)
|
||||
)
|
||||
(call %init_peer_id% ("service-id" "greeting") [name greeter] res)
|
||||
)
|
||||
(call %init_peer_id% ("callbackSrv" "response") [res])
|
||||
)
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error%])
|
||||
)
|
||||
|
||||
`,
|
||||
)
|
||||
.configHandler((h) => {
|
||||
h.on('getDataSrv', 'relay', () => {
|
||||
return client.relayPeerId!;
|
||||
});
|
||||
h.on('getRelayService', 'hasReleay', () => {// Not Used
|
||||
return client.relayPeerId !== undefined;
|
||||
});
|
||||
h.on('getDataSrv', 'name', () => {return name;});
|
||||
h.on('getDataSrv', 'greeter', () => {return greeter;});
|
||||
h.onEvent('callbackSrv', 'response', (args) => {
|
||||
const [res] = args;
|
||||
resolve(res);
|
||||
});
|
||||
|
||||
h.onEvent('errorHandlingSrv', 'error', (args) => {
|
||||
// assuming error is the single argument
|
||||
const [err] = args;
|
||||
reject(err);
|
||||
});
|
||||
})
|
||||
.handleScriptError(reject)
|
||||
.handleTimeout(() => {
|
||||
reject('Request timed out for greeting');
|
||||
})
|
||||
.build();
|
||||
});
|
||||
await client.initiateFlow(request);
|
||||
return promise;
|
||||
}
|
||||
|
@ -1,6 +0,0 @@
|
||||
service Echo("service-id"):
|
||||
echo: []string -> []string
|
||||
|
||||
func echo(data: []string) -> []string:
|
||||
res <- Echo.echo(data)
|
||||
<- res
|
67
echo-greeter/aqua-scripts/echo_greeter.aqua
Normal file
67
echo-greeter/aqua-scripts/echo_greeter.aqua
Normal file
@ -0,0 +1,67 @@
|
||||
service OpString("op"):
|
||||
identity(s: string)
|
||||
|
||||
data EchoResult:
|
||||
echo: string
|
||||
|
||||
service EchoService:
|
||||
echo: []string -> []EchoResult
|
||||
|
||||
service GreetingService("service-id"):
|
||||
greeting: string, bool -> string
|
||||
|
||||
-- basic echo service: string array, return array of structs
|
||||
func echo(names: []string, node: string, echo_service: string) -> []EchoResult:
|
||||
on node:
|
||||
EchoService echo_service
|
||||
res <- EchoService.echo(names)
|
||||
<- res
|
||||
|
||||
func greeting(name:string, greet:bool, node:string, greeting_service_id: string) -> string:
|
||||
on node:
|
||||
GreetingService greeting_service_id
|
||||
res <- GreetingService.greeting(name, greet)
|
||||
<- res
|
||||
|
||||
|
||||
|
||||
-- call echo service and and sequentailly call greeting service on each name
|
||||
-- one service, on one node for all processing needs
|
||||
func echo_greeting_seq(names: []string, greet: bool, node: string, echo_service_id: string,greeting_service_id: string) -> []string:
|
||||
res: *string
|
||||
on node:
|
||||
EchoService echo_service_id
|
||||
GreetingService greeting_service_id
|
||||
echo_names <- EchoService.echo(names)
|
||||
<- echo_names
|
||||
for result <- echo_names:
|
||||
res <- GreetingService.greeting(result.echo, greet)
|
||||
<- res
|
||||
|
||||
|
||||
data NodeServicePair:
|
||||
node: string
|
||||
service_id: string
|
||||
|
||||
|
||||
data EchoServiceInput:
|
||||
node: string
|
||||
service_id: string
|
||||
names: []string
|
||||
|
||||
|
||||
-- call echo service
|
||||
func echo_greeting_par(names: []string, greet: bool, echo_service: EchoServiceInput, greeting_services: []NodeServicePair) -> []string:
|
||||
res: *string
|
||||
on echo_service.node:
|
||||
EchoService echo_service.service_id
|
||||
echo_results <- EchoService.echo(names)
|
||||
|
||||
for result <- echo_results par:
|
||||
for greeting_service <- greeting_services:
|
||||
GreetingService greeting_service.service_id
|
||||
on greeting_service.node:
|
||||
res <- GreetingService.greeting(result.echo, greet)
|
||||
-- this is super annoying
|
||||
OpString.identity(res!2)
|
||||
<- res
|
@ -1,7 +0,0 @@
|
||||
service Greeting("service-id"):
|
||||
greeting: string, bool -> string
|
||||
|
||||
|
||||
func greeting(name: string, greeter:bool) -> string:
|
||||
res <- Greeting.greeting(name, greeter)
|
||||
<- res
|
@ -1,3 +1,5 @@
|
||||
{
|
||||
"name": "greeting"
|
||||
"name": "greeting",
|
||||
"WEBSITE": "",
|
||||
"INTERFACES": ""
|
||||
}
|
@ -1,4 +1,7 @@
|
||||
use marine_rs_sdk::marine;
|
||||
use marine_rs_sdk::module_manifest;
|
||||
|
||||
module_manifest!();
|
||||
|
||||
#[marine]
|
||||
pub struct Echo {
|
||||
|
@ -12,6 +12,6 @@ name = "greeting"
|
||||
path = "src/main.rs"
|
||||
|
||||
[dependencies]
|
||||
marine-rs-sdk = { version="0.6.2", feature=["log"]}
|
||||
marine-rs-sdk = { version="0.6.10", feature=["log"]}
|
||||
|
||||
|
||||
|
@ -3,8 +3,8 @@ set -o errexit -o nounset -o pipefail
|
||||
|
||||
# This script builds all subprojects and puts all created Wasm modules in one dir
|
||||
mkdir -p artifacts
|
||||
cargo update
|
||||
fce build --release
|
||||
cargo update --aggressive
|
||||
marine build --release
|
||||
|
||||
rm -f artifacts/*.wasm
|
||||
cp target/wasm32-wasi/release/greeting.wasm artifacts/
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2020 Fluence Labs Limited
|
||||
* Copyright 2021 Fluence Labs Limited
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
20
echo-greeter/secure-greeter/Cargo.lock
generated
20
echo-greeter/secure-greeter/Cargo.lock
generated
@ -27,9 +27,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",
|
||||
"libc",
|
||||
@ -44,9 +44,9 @@ checksum = "dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736"
|
||||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.93"
|
||||
version = "0.2.97"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9385f66bf6105b241aa65a61cb923ef20efc665cb9f9bb50ac2f0c4b7f378d41"
|
||||
checksum = "12b8adadd720df158f4d70dfe7ccc6adb0472d7c55ca83445f6a5ab3e36f8fb6"
|
||||
|
||||
[[package]]
|
||||
name = "log"
|
||||
@ -134,9 +134,9 @@ dependencies = [
|
||||
|
||||
[[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",
|
||||
]
|
||||
@ -197,9 +197,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "1.0.69"
|
||||
version = "1.0.73"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "48fe99c6bd8b1cc636890bcc071842de909d902c81ac7dab53ba33c421ab8ffb"
|
||||
checksum = "f71489ff30030d2ae598524f61326b902466f72a0fb1a8564c001cc63425bcc7"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
@ -219,9 +219,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "unicode-xid"
|
||||
version = "0.2.1"
|
||||
version = "0.2.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564"
|
||||
checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3"
|
||||
|
||||
[[package]]
|
||||
name = "uuid"
|
||||
|
@ -25,6 +25,7 @@ pub fn is_owner() -> bool {
|
||||
}
|
||||
|
||||
#[marine]
|
||||
#[allow(dead_code)]
|
||||
pub fn am_i_owner() -> bool {
|
||||
is_owner()
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user