diff --git a/package-lock.json b/package-lock.json index 38225a9..7f4c774 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,9 +5,9 @@ "requires": true, "dependencies": { "@fluencelabs/aqua-cli": { - "version": "0.1.1-74", - "resolved": "https://registry.npmjs.org/@fluencelabs/aqua-cli/-/aqua-cli-0.1.1-74.tgz", - "integrity": "sha512-AfABW9Zgor09SViOvY75kbBuwaLrUHNm9ucXg5ufw7rGBbpBtZFx3m6senAlzNyXmcEr4gyhrheYrYXqYmw5pQ==", + "version": "0.1.1-76", + "resolved": "https://registry.npmjs.org/@fluencelabs/aqua-cli/-/aqua-cli-0.1.1-76.tgz", + "integrity": "sha512-4W3onIa1SSb2L2h9+1K3LyOtDyllpiH60XeBBZoUT0VrYvfIg1+QyJ+QOwbVp1PYLgEhxvzt9Ni+zdUnWErxFg==", "dev": true }, "@fluencelabs/aquamarine-interpreter": { diff --git a/package.json b/package.json index 4159a15..946678e 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "compile-aqua": "aqua-cli -i ./src/aqua/ -o ./src/compiled" }, "devDependencies": { - "@fluencelabs/aqua-cli": "^0.1.1-74", + "@fluencelabs/aqua-cli": "^0.1.1-76", "ts-node": "^9.1.1", "typescript": "^4.2.4" }, diff --git a/src/aqua/fold.aqua b/src/aqua/fold.aqua index 66d3ed0..a90de90 100644 --- a/src/aqua/fold.aqua +++ b/src/aqua/fold.aqua @@ -9,5 +9,5 @@ func iterateAndPrint(strings: []string): func iterateAndPrintParallel(nodes: []string, c: ExternalAddresses -> ()): for s <- nodes par: on s: - ads <- Peer.identify + ads <- Peer.identify() c(ads) diff --git a/src/aqua/par.aqua b/src/aqua/par.aqua index f6dcbd7..d3a2c66 100644 --- a/src/aqua/par.aqua +++ b/src/aqua/par.aqua @@ -6,6 +6,6 @@ service ParAbb("parabb"): func parFunc( node: string, c: ExternalAddresses -> () ): y <- ParAbb.call() par on node: - t <- Peer.identify + t <- Peer.identify() c(t) par x <- ParAbb.call() diff --git a/src/compiled/builtin.ts b/src/compiled/builtin.ts index 0ad9162..05d9f57 100644 --- a/src/compiled/builtin.ts +++ b/src/compiled/builtin.ts @@ -41,6 +41,6 @@ export async function id(client: FluenceClient): Promise { .build(); }); await client.initiateFlow(request); - return promise; + return Promise.race([promise, Promise.resolve()]); } \ No newline at end of file diff --git a/src/foldCall.ts b/src/foldCall.ts index f2de7d6..7f56e64 100644 --- a/src/foldCall.ts +++ b/src/foldCall.ts @@ -2,6 +2,8 @@ import {iterateAndPrint, iterateAndPrintParallel} from "./compiled/fold"; export async function foldCall(client: FluenceClient) { - await iterateAndPrint(client, ["1", "2", "3"]) - await iterateAndPrintParallel(client, ["4", "5", "6"]) + await iterateAndPrint(client, [client.relayPeerId!]) + await iterateAndPrintParallel(client, [client.relayPeerId!], (c) => { + console.log("iterateAndPrintParallel. external addresses: " + c.external_addresses) + }) } \ No newline at end of file diff --git a/src/index.ts b/src/index.ts index 5bbdfd2..d203f87 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,6 +1,6 @@ #!/usr/bin/env node -import {createClient, registerServiceFunction, SecurityTetraplet} from "@fluencelabs/fluence"; +import {createClient, registerServiceFunction} from "@fluencelabs/fluence"; import { testNet } from "@fluencelabs/fluence-network-environment"; import {callArrowCall} from "./callArrowCall"; import {dataAliasCall} from "./dataAliasCall"; @@ -20,6 +20,8 @@ const main = async () => { return {} }) + // these calls return void, so they could be executed at any time, + // because promise waits only a fact that particle was sent await callArrowCall(client) await foldCall(client) await ifCall(client) diff --git a/src/parCall.ts b/src/parCall.ts index 7b667a4..44f24a3 100644 --- a/src/parCall.ts +++ b/src/parCall.ts @@ -6,5 +6,7 @@ export async function parCall(client: FluenceClient) { return `hello` }) - await parFunc(client, client.relayPeerId!) + await parFunc(client, client.relayPeerId!, (c) => { + console.log("parFunc. external addresses par: " + c.external_addresses) + }) } \ No newline at end of file