mirror of
https://github.com/fluencelabs/examples
synced 2025-06-23 14:51:33 +00:00
Rewrite JS SDK examples with release version of libraries
This commit is contained in:
42
js-sdk/hello-world/package-lock.json
generated
42
js-sdk/hello-world/package-lock.json
generated
@ -52,29 +52,29 @@
|
|||||||
"@cspotcode/source-map-consumer": "0.8.0"
|
"@cspotcode/source-map-consumer": "0.8.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@fluencelabs/aqua-cli": {
|
"@fluencelabs/aqua": {
|
||||||
"version": "0.2.1-219",
|
"version": "0.3.0-222",
|
||||||
"resolved": "https://registry.npmjs.org/@fluencelabs/aqua-cli/-/aqua-cli-0.2.1-219.tgz",
|
"resolved": "https://registry.npmjs.org/@fluencelabs/aqua/-/aqua-0.3.0-222.tgz",
|
||||||
"integrity": "sha512-0Yh0cN4yyF69DQXKvk8jYpFsvVLT4IztRVkKjoc/6uqAzNLEKdldvXC2cZ5nDcz4CyAWkg9IyTCdY+7g1q8Ufg==",
|
"integrity": "sha512-dwBPNoE490LX9CRssNyz3nHKgpxwYvkRIhmTbjbFYXknzZWN18vx6WseD9tuzIFnlXdsJ/MoUhNZAxmT+VPhiw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@fluencelabs/avm": {
|
"@fluencelabs/avm": {
|
||||||
"version": "0.14.0-async.17",
|
"version": "0.14.4",
|
||||||
"resolved": "https://registry.npmjs.org/@fluencelabs/avm/-/avm-0.14.0-async.17.tgz",
|
"resolved": "https://registry.npmjs.org/@fluencelabs/avm/-/avm-0.14.4.tgz",
|
||||||
"integrity": "sha512-sTb5UNwhmrrFixexq2TxWVv0yOvfRnBt92dBX983JM47D0UoeCXg/s+S9t6ZtP1wz0zBv/FLfXwmgBFgJIKdCw==",
|
"integrity": "sha512-XyR+1H5k0CAc+mDHOkl81viX8XeW1Yqbw793xbsfUfju5bUb/hqk+gHv3q8lAFdbrCG5P45gdOT08a5RNODZaQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"base64-js": "1.5.1"
|
"base64-js": "1.5.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@fluencelabs/fluence": {
|
"@fluencelabs/fluence": {
|
||||||
"version": "0.10.0-new-js-sdk-api.14",
|
"version": "0.11.0",
|
||||||
"resolved": "https://registry.npmjs.org/@fluencelabs/fluence/-/fluence-0.10.0-new-js-sdk-api.14.tgz",
|
"resolved": "https://registry.npmjs.org/@fluencelabs/fluence/-/fluence-0.11.0.tgz",
|
||||||
"integrity": "sha512-XUwmxSxyG7RGDvEUc1Tb99Hobe9nKS5pDLmZi9XGn4aYq7gq2Sbhf26mn7BpCD12NlxAoYLjr/jxtVAj74jhbw==",
|
"integrity": "sha512-HfUS8eLwfviiJhqsrHnOnRxO20TbdahPreP6AkBXQaEpWeRew6vxAd0Dn+xdzy6KCJ4W9GOKLcgtPfqquIO2Pg==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@chainsafe/libp2p-noise": "4.0.0",
|
"@chainsafe/libp2p-noise": "4.0.0",
|
||||||
"@fluencelabs/avm": "0.14.0-async.17",
|
"@fluencelabs/avm": "0.14.4",
|
||||||
"async": "3.2.0",
|
"async": "3.2.0",
|
||||||
"base64-js": "^1.3.1",
|
"base64-js": "1.5.1",
|
||||||
"bs58": "4.0.1",
|
"bs58": "4.0.1",
|
||||||
"cids": "0.8.1",
|
"cids": "0.8.1",
|
||||||
"it-length-prefixed": "3.0.1",
|
"it-length-prefixed": "3.0.1",
|
||||||
@ -323,9 +323,9 @@
|
|||||||
"integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ=="
|
"integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ=="
|
||||||
},
|
},
|
||||||
"@types/node": {
|
"@types/node": {
|
||||||
"version": "16.7.10",
|
"version": "16.7.13",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.10.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.13.tgz",
|
||||||
"integrity": "sha512-S63Dlv4zIPb8x6MMTgDq5WWRJQe56iBEY0O3SOFA9JrRienkOVDXSXBjjJw6HTNQYSE2JI6GMCR6LVbIMHJVvA=="
|
"integrity": "sha512-pLUPDn+YG3FYEt/pHI74HmnJOWzeR+tOIQzUx93pi9M7D8OE7PSLr97HboXwk5F+JS+TLtWuzCOW97AHjmOXXA=="
|
||||||
},
|
},
|
||||||
"@types/retry": {
|
"@types/retry": {
|
||||||
"version": "0.12.1",
|
"version": "0.12.1",
|
||||||
@ -1220,9 +1220,9 @@
|
|||||||
"integrity": "sha512-wiI02c+G1BVuu0jz30Nsr1/et0cpSRulKUusN8HDZXxuX4MdUzfMp2P4JUk+a49Wr1kHitRLrnnh3+UzJ6neaQ=="
|
"integrity": "sha512-wiI02c+G1BVuu0jz30Nsr1/et0cpSRulKUusN8HDZXxuX4MdUzfMp2P4JUk+a49Wr1kHitRLrnnh3+UzJ6neaQ=="
|
||||||
},
|
},
|
||||||
"it-glob": {
|
"it-glob": {
|
||||||
"version": "0.0.13",
|
"version": "0.0.14",
|
||||||
"resolved": "https://registry.npmjs.org/it-glob/-/it-glob-0.0.13.tgz",
|
"resolved": "https://registry.npmjs.org/it-glob/-/it-glob-0.0.14.tgz",
|
||||||
"integrity": "sha512-0Hcd5BraJUPzL28NWiFbdNrcdyNxNTKKdU3sjdFiYynNTQpwlG2UKW31X7bp+XhJwux/oPzIquo5ioztVmc2RQ==",
|
"integrity": "sha512-TKKzs9CglbsihSpcwJPXN5DBUssu4akRzPlp8QJRCoLrKoaOpyY2V1qDlxx+UMivn0i114YyTd4AawWl7eqIdw==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@types/minimatch": "^3.0.4",
|
"@types/minimatch": "^3.0.4",
|
||||||
"minimatch": "^3.0.4"
|
"minimatch": "^3.0.4"
|
||||||
@ -1760,9 +1760,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"multiformats": {
|
"multiformats": {
|
||||||
"version": "9.4.6",
|
"version": "9.4.7",
|
||||||
"resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.4.6.tgz",
|
"resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.4.7.tgz",
|
||||||
"integrity": "sha512-ngZRO82P7mPvw/3gu5NQ2QiUJGYTS0LAxvQnEAlWCJakvn7YpK2VAd9JWM5oosYUeqoVbkylH/FsqRc4fc2+ag=="
|
"integrity": "sha512-fZbcdf7LnvokPAZYkv4TLXe7PAg9sQ5qLXcwrAmZOloEb2+5FtFiAY+l3/9wsu4oTJXTV3JSggFQQ2dJLS01vA=="
|
||||||
},
|
},
|
||||||
"multihashes": {
|
"multihashes": {
|
||||||
"version": "0.4.21",
|
"version": "0.4.21",
|
||||||
|
@ -5,20 +5,19 @@
|
|||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"exec": "node -r ts-node/register src/index.ts",
|
"exec": "node -r ts-node/register src/index.ts",
|
||||||
"compile-aqua": "aqua-cli --import . -i ./aqua/ -o ./src/_aqua",
|
"compile-aqua": "aqua --import . -i ./aqua/ -o ./src/_aqua",
|
||||||
"watch-aqua": "chokidar \"**/*.aqua\" -c \"npm run compile-aqua\"",
|
"watch-aqua": "chokidar \"**/*.aqua\" -c \"npm run compile-aqua\""
|
||||||
"tmp": "java -jar aqua-cli.jar -m node_modules --import . -i ./aqua/ -o ./src/_aqua"
|
|
||||||
},
|
},
|
||||||
"author": "",
|
"author": "",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@fluencelabs/aqua-cli": "^0.2.1-219",
|
"@fluencelabs/aqua": "^0.3.0-222",
|
||||||
"chokidar-cli": "^3.0.0",
|
"chokidar-cli": "^3.0.0",
|
||||||
"ts-node": "^10.2.1",
|
"ts-node": "^10.2.1",
|
||||||
"typescript": "^4.4.2"
|
"typescript": "^4.4.2"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@fluencelabs/fluence": "0.10.0-new-js-sdk-api.14",
|
"@fluencelabs/fluence": "0.11.0",
|
||||||
"@fluencelabs/fluence-network-environment": "1.0.10"
|
"@fluencelabs/fluence-network-environment": "1.0.10"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,42 +3,29 @@
|
|||||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
* 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
|
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||||
* Aqua version: 0.2.0-SNAPSHOT
|
* Aqua version: 0.3.0-222
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
import { FluencePeer } from "@fluencelabs/fluence";
|
import { FluencePeer } from '@fluencelabs/fluence';
|
||||||
import {
|
import {
|
||||||
ResultCodes,
|
ResultCodes,
|
||||||
RequestFlow,
|
RequestFlow,
|
||||||
RequestFlowBuilder,
|
RequestFlowBuilder,
|
||||||
CallParams,
|
CallParams,
|
||||||
} from "@fluencelabs/fluence/dist/internal/compilerSupport/v1";
|
} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1';
|
||||||
|
|
||||||
|
|
||||||
// Services
|
// Services
|
||||||
|
|
||||||
export function registerHelloWorld(service: {
|
export interface HelloWorldDef {
|
||||||
hello: (str: string, callParams: CallParams<"str">) => Promise<void>;
|
hello: (str: string, callParams: CallParams<'str'>) => void;
|
||||||
}): void;
|
|
||||||
export function registerHelloWorld(
|
|
||||||
serviceId: string,
|
|
||||||
service: {
|
|
||||||
hello: (str: string, callParams: CallParams<"str">) => Promise<void>;
|
|
||||||
}
|
}
|
||||||
): void;
|
|
||||||
export function registerHelloWorld(
|
export function registerHelloWorld(service: HelloWorldDef): void;
|
||||||
peer: FluencePeer,
|
export function registerHelloWorld(serviceId: string, service: HelloWorldDef): void;
|
||||||
service: {
|
export function registerHelloWorld(peer: FluencePeer, service: HelloWorldDef): void;
|
||||||
hello: (str: string, callParams: CallParams<"str">) => Promise<void>;
|
export function registerHelloWorld(peer: FluencePeer, serviceId: string, service: HelloWorldDef): void;
|
||||||
}
|
export function registerHelloWorld(...args) {
|
||||||
): void;
|
|
||||||
export function registerHelloWorld(
|
|
||||||
peer: FluencePeer,
|
|
||||||
serviceId: string,
|
|
||||||
service: {
|
|
||||||
hello: (str: string, callParams: CallParams<"str">) => Promise<void>;
|
|
||||||
}
|
|
||||||
): void;
|
|
||||||
export function registerHelloWorld(...args) {
|
|
||||||
let peer: FluencePeer;
|
let peer: FluencePeer;
|
||||||
let serviceId;
|
let serviceId;
|
||||||
let service;
|
let service;
|
||||||
@ -48,52 +35,54 @@ export function registerHelloWorld(...args) {
|
|||||||
peer = FluencePeer.default;
|
peer = FluencePeer.default;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (typeof args[0] === "string") {
|
if (typeof args[0] === 'string') {
|
||||||
serviceId = args[0];
|
serviceId = args[0];
|
||||||
} else if (typeof args[1] === "string") {
|
} else if (typeof args[1] === 'string') {
|
||||||
serviceId = args[1];
|
serviceId = args[1];
|
||||||
} else {
|
|
||||||
serviceId = "hello-world";
|
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
serviceId = "hello-world"
|
||||||
|
}
|
||||||
|
|
||||||
if (!(args[0] instanceof FluencePeer) && typeof args[0] === "object") {
|
if (!(args[0] instanceof FluencePeer) && typeof args[0] === 'object') {
|
||||||
service = args[0];
|
service = args[0];
|
||||||
} else if (typeof args[1] === "object") {
|
} else if (typeof args[1] === 'object') {
|
||||||
service = args[1];
|
service = args[1];
|
||||||
} else {
|
} else {
|
||||||
service = args[2];
|
service = args[2];
|
||||||
}
|
}
|
||||||
|
|
||||||
peer.callServiceHandler.use(async (req, resp, next) => {
|
peer.internals.callServiceHandler.use((req, resp, next) => {
|
||||||
if (req.serviceId !== serviceId) {
|
if (req.serviceId !== serviceId) {
|
||||||
await next();
|
next();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (req.fnName === "hello") {
|
|
||||||
|
if (req.fnName === 'hello') {
|
||||||
|
|
||||||
const callParams = {
|
const callParams = {
|
||||||
...req.particleContext,
|
...req.particleContext,
|
||||||
tetraplets: {
|
tetraplets: {
|
||||||
str: req.tetraplets[0],
|
str: req.tetraplets[0]
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
resp.retCode = ResultCodes.success;
|
resp.retCode = ResultCodes.success;
|
||||||
await service.hello(req.args[0], callParams);
|
service.hello(req.args[0], callParams); resp.result = {}
|
||||||
resp.result = {};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
await next();
|
|
||||||
|
next();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Functions
|
// Functions
|
||||||
|
|
||||||
export async function sayHello(config?: { ttl?: number }): Promise<void>;
|
export function sayHello(config?: {ttl?: number}) : Promise<void>;
|
||||||
export async function sayHello(
|
export function sayHello(peer: FluencePeer, config?: {ttl?: number}) : Promise<void>;
|
||||||
peer: FluencePeer,
|
export function sayHello(...args) {
|
||||||
config?: { ttl?: number }
|
|
||||||
): Promise<void>;
|
|
||||||
export async function sayHello(...args) {
|
|
||||||
let peer: FluencePeer;
|
let peer: FluencePeer;
|
||||||
|
|
||||||
let config;
|
let config;
|
||||||
@ -119,29 +108,32 @@ export async function sayHello(...args) {
|
|||||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1])
|
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1])
|
||||||
)
|
)
|
||||||
|
|
||||||
`
|
`,
|
||||||
)
|
)
|
||||||
.configHandler((h) => {
|
.configHandler((h) => {
|
||||||
h.on("getDataSrv", "-relay-", async () => {
|
h.on('getDataSrv', '-relay-', () => {
|
||||||
return peer.connectionInfo.connectedRelays[0] || null;
|
return peer.connectionInfo.connectedRelay ;
|
||||||
});
|
});
|
||||||
|
|
||||||
h.onEvent("callbackSrv", "response", async (args) => {});
|
h.onEvent('callbackSrv', 'response', (args) => {
|
||||||
|
|
||||||
h.onEvent("errorHandlingSrv", "error", async (args) => {
|
});
|
||||||
|
|
||||||
|
h.onEvent('errorHandlingSrv', 'error', (args) => {
|
||||||
const [err] = args;
|
const [err] = args;
|
||||||
reject(err);
|
reject(err);
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
.handleScriptError(reject)
|
.handleScriptError(reject)
|
||||||
.handleTimeout(() => {
|
.handleTimeout(() => {
|
||||||
reject("Request timed out for sayHello");
|
reject('Request timed out for sayHello');
|
||||||
});
|
})
|
||||||
if (config && config.ttl) {
|
if(config && config.ttl) {
|
||||||
r.withTTL(config.ttl);
|
r.withTTL(config.ttl)
|
||||||
}
|
}
|
||||||
request = r.build();
|
request = r.build();
|
||||||
});
|
});
|
||||||
await peer.initiateFlow(request!);
|
peer.internals.initiateFlow(request!);
|
||||||
return Promise.race([promise, Promise.resolve()]);
|
return Promise.race([promise, Promise.resolve()]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
import { FluencePeer, randomPeerId } from "@fluencelabs/fluence";
|
import { FluencePeer } from "@fluencelabs/fluence";
|
||||||
import { krasnodar } from "@fluencelabs/fluence-network-environment";
|
|
||||||
import { registerHelloWorld, sayHello } from "./_aqua/hello-world";
|
import { registerHelloWorld, sayHello } from "./_aqua/hello-world";
|
||||||
|
|
||||||
async function main() {
|
async function main() {
|
||||||
|
13
js-sdk/node-example/aqua/demo-calculation.aqua
Normal file
13
js-sdk/node-example/aqua/demo-calculation.aqua
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
import "./calc.aqua"
|
||||||
|
|
||||||
|
const PEER ?= "12D3KooWLBkw4Tz8bRoSriy5WEpHyWfU11jEK3b5yCa7FBRDRWH3"
|
||||||
|
const RELAY ?= "12D3KooWSD5PToNiLQwKDXsu8JSysCwUt8BVUJEqCHcDe7P5h45e"
|
||||||
|
|
||||||
|
func demoCalculation() -> f32:
|
||||||
|
on PEER via RELAY:
|
||||||
|
Calc.add(10)
|
||||||
|
Calc.multiply(5)
|
||||||
|
Calc.subtract(8)
|
||||||
|
Calc.divide(6)
|
||||||
|
res <- Calc.getResult()
|
||||||
|
<- res
|
@ -1,11 +0,0 @@
|
|||||||
const peer ?= "12D3KooWLBkw4Tz8bRoSriy5WEpHyWfU11jEK3b5yCa7FBRDRWH3"
|
|
||||||
const relay ?= "12D3KooWSD5PToNiLQwKDXsu8JSysCwUt8BVUJEqCHcDe7P5h45e"
|
|
||||||
|
|
||||||
func demoCalculation() -> f32:
|
|
||||||
on peer via relay
|
|
||||||
Calc.add(10)
|
|
||||||
Calc.multiply(5)
|
|
||||||
Calc.subtract(8)
|
|
||||||
Calc.divide(6)
|
|
||||||
res <- Calc.getResult()
|
|
||||||
<- res
|
|
30
js-sdk/node-example/package-lock.json
generated
30
js-sdk/node-example/package-lock.json
generated
@ -52,29 +52,29 @@
|
|||||||
"@cspotcode/source-map-consumer": "0.8.0"
|
"@cspotcode/source-map-consumer": "0.8.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@fluencelabs/aqua-cli": {
|
"@fluencelabs/aqua": {
|
||||||
"version": "0.2.1-219",
|
"version": "0.3.0-222",
|
||||||
"resolved": "https://registry.npmjs.org/@fluencelabs/aqua-cli/-/aqua-cli-0.2.1-219.tgz",
|
"resolved": "https://registry.npmjs.org/@fluencelabs/aqua/-/aqua-0.3.0-222.tgz",
|
||||||
"integrity": "sha512-0Yh0cN4yyF69DQXKvk8jYpFsvVLT4IztRVkKjoc/6uqAzNLEKdldvXC2cZ5nDcz4CyAWkg9IyTCdY+7g1q8Ufg==",
|
"integrity": "sha512-dwBPNoE490LX9CRssNyz3nHKgpxwYvkRIhmTbjbFYXknzZWN18vx6WseD9tuzIFnlXdsJ/MoUhNZAxmT+VPhiw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@fluencelabs/avm": {
|
"@fluencelabs/avm": {
|
||||||
"version": "0.14.0-async.20",
|
"version": "0.14.4",
|
||||||
"resolved": "https://registry.npmjs.org/@fluencelabs/avm/-/avm-0.14.0-async.20.tgz",
|
"resolved": "https://registry.npmjs.org/@fluencelabs/avm/-/avm-0.14.4.tgz",
|
||||||
"integrity": "sha512-VcH+d7ha0oswM61ji2oktfvy2MXYQAVSgF0l5ZoNm7Pm9lzk2/cK1WuuDZ7OEvN0WRAls8zYNkZbPScB8KKJQg==",
|
"integrity": "sha512-XyR+1H5k0CAc+mDHOkl81viX8XeW1Yqbw793xbsfUfju5bUb/hqk+gHv3q8lAFdbrCG5P45gdOT08a5RNODZaQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"base64-js": "1.5.1"
|
"base64-js": "1.5.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@fluencelabs/fluence": {
|
"@fluencelabs/fluence": {
|
||||||
"version": "0.10.0-new-js-sdk-api.15",
|
"version": "0.11.0",
|
||||||
"resolved": "https://registry.npmjs.org/@fluencelabs/fluence/-/fluence-0.10.0-new-js-sdk-api.15.tgz",
|
"resolved": "https://registry.npmjs.org/@fluencelabs/fluence/-/fluence-0.11.0.tgz",
|
||||||
"integrity": "sha512-CCHQ2YYAoCvezt+ptdBphp9d0P1axWsZU103xOjNysFkvk2gt4h0aX00rz+PBRpWpNTg05DNuYcCj9YYlYadpA==",
|
"integrity": "sha512-HfUS8eLwfviiJhqsrHnOnRxO20TbdahPreP6AkBXQaEpWeRew6vxAd0Dn+xdzy6KCJ4W9GOKLcgtPfqquIO2Pg==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@chainsafe/libp2p-noise": "4.0.0",
|
"@chainsafe/libp2p-noise": "4.0.0",
|
||||||
"@fluencelabs/avm": "0.14.0-async.20",
|
"@fluencelabs/avm": "0.14.4",
|
||||||
"async": "3.2.0",
|
"async": "3.2.0",
|
||||||
"base64-js": "^1.3.1",
|
"base64-js": "1.5.1",
|
||||||
"bs58": "4.0.1",
|
"bs58": "4.0.1",
|
||||||
"cids": "0.8.1",
|
"cids": "0.8.1",
|
||||||
"it-length-prefixed": "3.0.1",
|
"it-length-prefixed": "3.0.1",
|
||||||
@ -323,9 +323,9 @@
|
|||||||
"integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ=="
|
"integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ=="
|
||||||
},
|
},
|
||||||
"@types/node": {
|
"@types/node": {
|
||||||
"version": "16.7.10",
|
"version": "16.7.13",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.10.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.13.tgz",
|
||||||
"integrity": "sha512-S63Dlv4zIPb8x6MMTgDq5WWRJQe56iBEY0O3SOFA9JrRienkOVDXSXBjjJw6HTNQYSE2JI6GMCR6LVbIMHJVvA=="
|
"integrity": "sha512-pLUPDn+YG3FYEt/pHI74HmnJOWzeR+tOIQzUx93pi9M7D8OE7PSLr97HboXwk5F+JS+TLtWuzCOW97AHjmOXXA=="
|
||||||
},
|
},
|
||||||
"@types/retry": {
|
"@types/retry": {
|
||||||
"version": "0.12.1",
|
"version": "0.12.1",
|
||||||
|
@ -5,20 +5,19 @@
|
|||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"exec": "node -r ts-node/register src/index.ts",
|
"exec": "node -r ts-node/register src/index.ts",
|
||||||
"compile-aqua": "aqua-cli --import . -i ./aqua/ -o ./src/_aqua",
|
"compile-aqua": "aqua --import . -i ./aqua/ -o ./src/_aqua",
|
||||||
"watch-aqua": "chokidar \"**/*.aqua\" -c \"npm run compile-aqua\"",
|
"watch-aqua": "chokidar \"**/*.aqua\" -c \"npm run compile-aqua\""
|
||||||
"tmp": "java -jar ~/work/fluence/aqua-cli.jar -m node_modules --import . -i ./aqua/ -o ./src/_aqua"
|
|
||||||
},
|
},
|
||||||
"author": "",
|
"author": "",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@fluencelabs/aqua-cli": "^0.2.1-219",
|
"@fluencelabs/aqua": "^0.3.0-222",
|
||||||
"chokidar-cli": "^3.0.0",
|
"chokidar-cli": "^3.0.0",
|
||||||
"ts-node": "^10.2.1",
|
"ts-node": "^10.2.1",
|
||||||
"typescript": "^4.4.2"
|
"typescript": "^4.4.2"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@fluencelabs/fluence": "0.10.0-new-js-sdk-api.15",
|
"@fluencelabs/fluence": "0.11.0",
|
||||||
"@fluencelabs/fluence-network-environment": "1.0.10"
|
"@fluencelabs/fluence-network-environment": "1.0.10"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
* 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
|
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||||
* Aqua version: 0.2.2-SNAPSHOT
|
* Aqua version: 0.3.0-222
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
import { FluencePeer } from "@fluencelabs/fluence";
|
import { FluencePeer } from "@fluencelabs/fluence";
|
||||||
@ -17,12 +17,12 @@ import {
|
|||||||
// Services
|
// Services
|
||||||
|
|
||||||
export interface CalcDef {
|
export interface CalcDef {
|
||||||
add: (n: number, callParams: CallParams<"n">) => Promise<void> | void;
|
add: (n: number, callParams: CallParams<"n">) => void;
|
||||||
divide: (n: number, callParams: CallParams<"n">) => Promise<void> | void;
|
divide: (n: number, callParams: CallParams<"n">) => void;
|
||||||
getResult: (callParams: CallParams<null>) => Promise<number> | number;
|
getResult: (callParams: CallParams<null>) => number;
|
||||||
multiply: (n: number, callParams: CallParams<"n">) => Promise<void> | void;
|
multiply: (n: number, callParams: CallParams<"n">) => void;
|
||||||
reset: (callParams: CallParams<null>) => Promise<void> | void;
|
reset: (callParams: CallParams<null>) => void;
|
||||||
subtract: (n: number, callParams: CallParams<"n">) => Promise<void> | void;
|
subtract: (n: number, callParams: CallParams<"n">) => void;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function registerCalc(service: CalcDef): void;
|
export function registerCalc(service: CalcDef): void;
|
||||||
@ -59,9 +59,9 @@ export function registerCalc(...args) {
|
|||||||
service = args[2];
|
service = args[2];
|
||||||
}
|
}
|
||||||
|
|
||||||
peer.callServiceHandler.use(async (req, resp, next) => {
|
peer.internals.callServiceHandler.use((req, resp, next) => {
|
||||||
if (req.serviceId !== serviceId) {
|
if (req.serviceId !== serviceId) {
|
||||||
await next();
|
next();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -73,7 +73,7 @@ export function registerCalc(...args) {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
resp.retCode = ResultCodes.success;
|
resp.retCode = ResultCodes.success;
|
||||||
await service.add(req.args[0], callParams);
|
service.add(req.args[0], callParams);
|
||||||
resp.result = {};
|
resp.result = {};
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -85,7 +85,7 @@ export function registerCalc(...args) {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
resp.retCode = ResultCodes.success;
|
resp.retCode = ResultCodes.success;
|
||||||
await service.divide(req.args[0], callParams);
|
service.divide(req.args[0], callParams);
|
||||||
resp.result = {};
|
resp.result = {};
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -95,7 +95,7 @@ export function registerCalc(...args) {
|
|||||||
tetraplets: {},
|
tetraplets: {},
|
||||||
};
|
};
|
||||||
resp.retCode = ResultCodes.success;
|
resp.retCode = ResultCodes.success;
|
||||||
resp.result = await service.getResult(callParams);
|
resp.result = service.getResult(callParams);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (req.fnName === "multiply") {
|
if (req.fnName === "multiply") {
|
||||||
@ -106,7 +106,7 @@ export function registerCalc(...args) {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
resp.retCode = ResultCodes.success;
|
resp.retCode = ResultCodes.success;
|
||||||
await service.multiply(req.args[0], callParams);
|
service.multiply(req.args[0], callParams);
|
||||||
resp.result = {};
|
resp.result = {};
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -116,7 +116,7 @@ export function registerCalc(...args) {
|
|||||||
tetraplets: {},
|
tetraplets: {},
|
||||||
};
|
};
|
||||||
resp.retCode = ResultCodes.success;
|
resp.retCode = ResultCodes.success;
|
||||||
await service.reset(callParams);
|
service.reset(callParams);
|
||||||
resp.result = {};
|
resp.result = {};
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -128,93 +128,12 @@ export function registerCalc(...args) {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
resp.retCode = ResultCodes.success;
|
resp.retCode = ResultCodes.success;
|
||||||
await service.subtract(req.args[0], callParams);
|
service.subtract(req.args[0], callParams);
|
||||||
resp.result = {};
|
resp.result = {};
|
||||||
}
|
}
|
||||||
|
|
||||||
await next();
|
next();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// Functions
|
// Functions
|
||||||
|
|
||||||
export async function demoCalculation(config?: {
|
|
||||||
ttl?: number;
|
|
||||||
}): Promise<number>;
|
|
||||||
export async function demoCalculation(
|
|
||||||
peer: FluencePeer,
|
|
||||||
config?: { ttl?: number }
|
|
||||||
): Promise<number>;
|
|
||||||
export async function demoCalculation(...args) {
|
|
||||||
let peer: FluencePeer;
|
|
||||||
|
|
||||||
let config;
|
|
||||||
if (args[0] instanceof FluencePeer) {
|
|
||||||
peer = args[0];
|
|
||||||
config = args[1];
|
|
||||||
} else {
|
|
||||||
peer = FluencePeer.default;
|
|
||||||
config = args[0];
|
|
||||||
}
|
|
||||||
|
|
||||||
let request: RequestFlow;
|
|
||||||
const promise = new Promise<number>((resolve, reject) => {
|
|
||||||
const r = new RequestFlowBuilder()
|
|
||||||
.disableInjections()
|
|
||||||
.withRawScript(
|
|
||||||
`
|
|
||||||
(xor
|
|
||||||
(seq
|
|
||||||
(seq
|
|
||||||
(seq
|
|
||||||
(seq
|
|
||||||
(seq
|
|
||||||
(seq
|
|
||||||
(call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-)
|
|
||||||
(call %init_peer_id% ("calc" "add") [10])
|
|
||||||
)
|
|
||||||
(call %init_peer_id% ("calc" "multiply") [5])
|
|
||||||
)
|
|
||||||
(call %init_peer_id% ("calc" "subtract") [8])
|
|
||||||
)
|
|
||||||
(call %init_peer_id% ("calc" "divide") [6])
|
|
||||||
)
|
|
||||||
(call %init_peer_id% ("calc" "getResult") [] res)
|
|
||||||
)
|
|
||||||
(xor
|
|
||||||
(call %init_peer_id% ("callbackSrv" "response") [res])
|
|
||||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1])
|
|
||||||
)
|
|
||||||
)
|
|
||||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2])
|
|
||||||
)
|
|
||||||
|
|
||||||
`
|
|
||||||
)
|
|
||||||
.configHandler((h) => {
|
|
||||||
h.on("getDataSrv", "-relay-", async () => {
|
|
||||||
return peer.connectionInfo.connectedRelays[0] || null;
|
|
||||||
});
|
|
||||||
|
|
||||||
h.onEvent("callbackSrv", "response", async (args) => {
|
|
||||||
const [res] = args;
|
|
||||||
resolve(res);
|
|
||||||
});
|
|
||||||
|
|
||||||
h.onEvent("errorHandlingSrv", "error", async (args) => {
|
|
||||||
const [err] = args;
|
|
||||||
reject(err);
|
|
||||||
});
|
|
||||||
})
|
|
||||||
.handleScriptError(reject)
|
|
||||||
.handleTimeout(() => {
|
|
||||||
reject("Request timed out for demoCalculation");
|
|
||||||
});
|
|
||||||
if (config && config.ttl) {
|
|
||||||
r.withTTL(config.ttl);
|
|
||||||
}
|
|
||||||
request = r.build();
|
|
||||||
});
|
|
||||||
await peer.initiateFlow(request!);
|
|
||||||
return promise;
|
|
||||||
}
|
|
||||||
|
122
js-sdk/node-example/src/_aqua/demo-calculation.ts
Normal file
122
js-sdk/node-example/src/_aqua/demo-calculation.ts
Normal file
@ -0,0 +1,122 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
* Aqua version: 0.3.0-222
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
import { FluencePeer } from '@fluencelabs/fluence';
|
||||||
|
import {
|
||||||
|
ResultCodes,
|
||||||
|
RequestFlow,
|
||||||
|
RequestFlowBuilder,
|
||||||
|
CallParams,
|
||||||
|
} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1';
|
||||||
|
|
||||||
|
|
||||||
|
// Services
|
||||||
|
|
||||||
|
|
||||||
|
// Functions
|
||||||
|
|
||||||
|
export function demoCalculation(config?: {ttl?: number}) : Promise<number>;
|
||||||
|
export function demoCalculation(peer: FluencePeer, config?: {ttl?: number}) : Promise<number>;
|
||||||
|
export function demoCalculation(...args) {
|
||||||
|
let peer: FluencePeer;
|
||||||
|
|
||||||
|
let config;
|
||||||
|
if (args[0] instanceof FluencePeer) {
|
||||||
|
peer = args[0];
|
||||||
|
config = args[1];
|
||||||
|
} else {
|
||||||
|
peer = FluencePeer.default;
|
||||||
|
config = args[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
let request: RequestFlow;
|
||||||
|
const promise = new Promise<number>((resolve, reject) => {
|
||||||
|
const r = new RequestFlowBuilder()
|
||||||
|
.disableInjections()
|
||||||
|
.withRawScript(
|
||||||
|
`
|
||||||
|
(xor
|
||||||
|
(seq
|
||||||
|
(seq
|
||||||
|
(seq
|
||||||
|
(seq
|
||||||
|
(seq
|
||||||
|
(seq
|
||||||
|
(call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-)
|
||||||
|
(call -relay- ("op" "noop") [])
|
||||||
|
)
|
||||||
|
(call "12D3KooWSD5PToNiLQwKDXsu8JSysCwUt8BVUJEqCHcDe7P5h45e" ("op" "noop") [])
|
||||||
|
)
|
||||||
|
(xor
|
||||||
|
(seq
|
||||||
|
(seq
|
||||||
|
(seq
|
||||||
|
(seq
|
||||||
|
(call "12D3KooWLBkw4Tz8bRoSriy5WEpHyWfU11jEK3b5yCa7FBRDRWH3" ("calc" "add") [10])
|
||||||
|
(call "12D3KooWLBkw4Tz8bRoSriy5WEpHyWfU11jEK3b5yCa7FBRDRWH3" ("calc" "multiply") [5])
|
||||||
|
)
|
||||||
|
(call "12D3KooWLBkw4Tz8bRoSriy5WEpHyWfU11jEK3b5yCa7FBRDRWH3" ("calc" "subtract") [8])
|
||||||
|
)
|
||||||
|
(call "12D3KooWLBkw4Tz8bRoSriy5WEpHyWfU11jEK3b5yCa7FBRDRWH3" ("calc" "divide") [6])
|
||||||
|
)
|
||||||
|
(call "12D3KooWLBkw4Tz8bRoSriy5WEpHyWfU11jEK3b5yCa7FBRDRWH3" ("calc" "getResult") [] res)
|
||||||
|
)
|
||||||
|
(seq
|
||||||
|
(seq
|
||||||
|
(seq
|
||||||
|
(call "12D3KooWSD5PToNiLQwKDXsu8JSysCwUt8BVUJEqCHcDe7P5h45e" ("op" "noop") [])
|
||||||
|
(call -relay- ("op" "noop") [])
|
||||||
|
)
|
||||||
|
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1])
|
||||||
|
)
|
||||||
|
(call -relay- ("op" "noop") [])
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(call "12D3KooWSD5PToNiLQwKDXsu8JSysCwUt8BVUJEqCHcDe7P5h45e" ("op" "noop") [])
|
||||||
|
)
|
||||||
|
(call -relay- ("op" "noop") [])
|
||||||
|
)
|
||||||
|
(xor
|
||||||
|
(call %init_peer_id% ("callbackSrv" "response") [res])
|
||||||
|
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2])
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3])
|
||||||
|
)
|
||||||
|
|
||||||
|
`,
|
||||||
|
)
|
||||||
|
.configHandler((h) => {
|
||||||
|
h.on('getDataSrv', '-relay-', () => {
|
||||||
|
return peer.connectionInfo.connectedRelay ;
|
||||||
|
});
|
||||||
|
|
||||||
|
h.onEvent('callbackSrv', 'response', (args) => {
|
||||||
|
const [res] = args;
|
||||||
|
resolve(res);
|
||||||
|
});
|
||||||
|
|
||||||
|
h.onEvent('errorHandlingSrv', 'error', (args) => {
|
||||||
|
const [err] = args;
|
||||||
|
reject(err);
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.handleScriptError(reject)
|
||||||
|
.handleTimeout(() => {
|
||||||
|
reject('Request timed out for demoCalculation');
|
||||||
|
})
|
||||||
|
if(config && config.ttl) {
|
||||||
|
r.withTTL(config.ttl)
|
||||||
|
}
|
||||||
|
request = r.build();
|
||||||
|
});
|
||||||
|
peer.internals.initiateFlow(request!);
|
||||||
|
return promise;
|
||||||
|
}
|
||||||
|
|
@ -49,10 +49,7 @@ async function main() {
|
|||||||
|
|
||||||
console.log("application started");
|
console.log("application started");
|
||||||
console.log("peer id is: ", FluencePeer.default.connectionInfo.selfPeerId);
|
console.log("peer id is: ", FluencePeer.default.connectionInfo.selfPeerId);
|
||||||
console.log(
|
console.log("relay is: ", FluencePeer.default.connectionInfo.connectedRelay);
|
||||||
"relay is: ",
|
|
||||||
FluencePeer.default.connectionInfo.connectedRelays[0]
|
|
||||||
);
|
|
||||||
console.log("press any key to continue");
|
console.log("press any key to continue");
|
||||||
await keypress();
|
await keypress();
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user