trying instanceof fix

This commit is contained in:
Pavel Murygin 2021-09-09 21:44:12 +03:00
parent 12b1860374
commit aa303b798f
15 changed files with 1521 additions and 1467 deletions

View File

@ -77,9 +77,9 @@
} }
}, },
"@fluencelabs/fluence": { "@fluencelabs/fluence": {
"version": "0.11.0", "version": "0.10.4-fix-null-check-416.0",
"resolved": "https://registry.npmjs.org/@fluencelabs/fluence/-/fluence-0.11.0.tgz", "resolved": "https://registry.npmjs.org/@fluencelabs/fluence/-/fluence-0.10.4-fix-null-check-416.0.tgz",
"integrity": "sha512-HfUS8eLwfviiJhqsrHnOnRxO20TbdahPreP6AkBXQaEpWeRew6vxAd0Dn+xdzy6KCJ4W9GOKLcgtPfqquIO2Pg==", "integrity": "sha512-/aZ58z62lj2Esnt8ZDKTJjZCVqmCAZ5O2F8zei4KeKoqm+eyd8XVHFkjRK3PJDSli5pM7TcjJIGJoLFWsU+9iQ==",
"requires": { "requires": {
"@chainsafe/libp2p-noise": "4.0.0", "@chainsafe/libp2p-noise": "4.0.0",
"@fluencelabs/avm": "0.14.4", "@fluencelabs/avm": "0.14.4",
@ -3143,9 +3143,9 @@
} }
}, },
"ws": { "ws": {
"version": "7.5.4", "version": "7.5.5",
"resolved": "https://registry.npmjs.org/ws/-/ws-7.5.4.tgz", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz",
"integrity": "sha512-zP9z6GXm6zC27YtspwH99T3qTG7bBFv2VIkeHstMLrLlDJuzA7tQ5ls3OJ1hOGGCzTQPniNJoHXIAOS0Jljohg==" "integrity": "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w=="
}, },
"xml2js": { "xml2js": {
"version": "0.4.23", "version": "0.4.23",

View File

@ -6,7 +6,8 @@
"scripts": { "scripts": {
"postinstall": "../service/scripts/build.sh && npm run build", "postinstall": "../service/scripts/build.sh && npm run build",
"compile-aqua": "aqua -i aqua -o src", "compile-aqua": "aqua -i aqua -o src",
"build": "npm run compile-aqua && tsc" "_build": "npm run compile-aqua && tsc",
"build": "tsc"
}, },
"keywords": [ "keywords": [
"fluence", "fluence",
@ -22,7 +23,7 @@
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@fluencelabs/aqua-ipfs": "0.4.2", "@fluencelabs/aqua-ipfs": "0.4.2",
"@fluencelabs/fluence": "0.11.0", "@fluencelabs/fluence": "0.10.4-fix-null-check-416.0",
"@fluencelabs/aqua-lib": "0.1.14", "@fluencelabs/aqua-lib": "0.1.14",
"@fluencelabs/fluence-network-environment": "1.0.10", "@fluencelabs/fluence-network-environment": "1.0.10",
"ipfs-http-client": "^50.1.2", "ipfs-http-client": "^50.1.2",

View File

@ -1,50 +1,57 @@
/** /**
* *
* 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.3.0-224 * Aqua version: 0.3.0-224
* *
*/ */
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
// Functions // Functions
export function set_timeout(node: string, timeout_sec: number, config?: {ttl?: number}) : Promise<void>; export function set_timeout(
export function set_timeout(peer: FluencePeer, node: string, timeout_sec: number, config?: {ttl?: number}) : Promise<void>; node: string,
export function set_timeout(...args: any) { timeout_sec: number,
let peer: FluencePeer; config?: { ttl?: number }
let node: any; ): Promise<void>;
let timeout_sec: any; export function set_timeout(
let config: any; peer: FluencePeer,
if (args[0] instanceof FluencePeer) { node: string,
peer = args[0]; timeout_sec: number,
node = args[1]; config?: { ttl?: number }
timeout_sec = args[2]; ): Promise<void>;
config = args[3]; export function set_timeout(...args: any) {
} else { let peer: FluencePeer;
peer = FluencePeer.default; let node: any;
node = args[0]; let timeout_sec: any;
timeout_sec = args[1]; let config: any;
config = args[2]; if (FluencePeer.isInstance(args[0])) {
} peer = args[0];
node = args[1];
let request: RequestFlow; timeout_sec = args[2];
const promise = new Promise<void>((resolve, reject) => { config = args[3];
const r = new RequestFlowBuilder() } else {
.disableInjections() peer = FluencePeer.default;
.withRawScript( node = args[0];
` timeout_sec = args[1];
config = args[2];
}
let request: RequestFlow;
const promise = new Promise<void>((resolve, reject) => {
const r = new RequestFlowBuilder()
.disableInjections()
.withRawScript(
`
(xor (xor
(seq (seq
(seq (seq
@ -71,69 +78,90 @@ config = args[2];
) )
) )
`, `
) )
.configHandler((h) => { .configHandler((h) => {
h.on('getDataSrv', '-relay-', () => { h.on("getDataSrv", "-relay-", () => {
return peer.connectionInfo.connectedRelay ; return peer.connectionInfo.connectedRelay;
}); });
h.on('getDataSrv', 'node', () => {return node;}); h.on("getDataSrv", "node", () => {
h.on('getDataSrv', 'timeout_sec', () => {return timeout_sec;}); return node;
h.onEvent('callbackSrv', 'response', (args) => { });
h.on("getDataSrv", "timeout_sec", () => {
}); return timeout_sec;
});
h.onEvent("callbackSrv", "response", (args) => {});
h.onEvent('errorHandlingSrv', 'error', (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 set_timeout'); reject("Request timed out for set_timeout");
}) });
if(config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl) r.withTTL(config.ttl);
} }
request = r.build(); request = r.build();
}); });
peer.internals.initiateFlow(request!); peer.internals.initiateFlow(request!);
return Promise.race([promise, Promise.resolve()]); return Promise.race([promise, Promise.resolve()]);
} }
export function get_and_cache(
node: string,
cid: string,
from: string,
error: (
arg0: string,
arg1: string,
callParams: CallParams<"arg0" | "arg1">
) => void,
config?: { ttl?: number }
): Promise<string | null>;
export function get_and_cache(
peer: FluencePeer,
node: string,
cid: string,
from: string,
error: (
arg0: string,
arg1: string,
callParams: CallParams<"arg0" | "arg1">
) => void,
config?: { ttl?: number }
): Promise<string | null>;
export function get_and_cache(...args: any) {
let peer: FluencePeer;
let node: any;
let cid: any;
let from: any;
let error: any;
let config: any;
if (FluencePeer.isInstance(args[0])) {
peer = args[0];
node = args[1];
cid = args[2];
from = args[3];
error = args[4];
config = args[5];
} else {
peer = FluencePeer.default;
node = args[0];
cid = args[1];
from = args[2];
error = args[3];
config = args[4];
}
export function get_and_cache(node: string, cid: string, from: string, error: (arg0: string, arg1: string, callParams: CallParams<'arg0' | 'arg1'>) => void, config?: {ttl?: number}) : Promise<string | null>; let request: RequestFlow;
export function get_and_cache(peer: FluencePeer, node: string, cid: string, from: string, error: (arg0: string, arg1: string, callParams: CallParams<'arg0' | 'arg1'>) => void, config?: {ttl?: number}) : Promise<string | null>; const promise = new Promise<string | null>((resolve, reject) => {
export function get_and_cache(...args: any) { const r = new RequestFlowBuilder()
let peer: FluencePeer; .disableInjections()
let node: any; .withRawScript(
let cid: any; `
let from: any;
let error: any;
let config: any;
if (args[0] instanceof FluencePeer) {
peer = args[0];
node = args[1];
cid = args[2];
from = args[3];
error = args[4];
config = args[5];
} else {
peer = FluencePeer.default;
node = args[0];
cid = args[1];
from = args[2];
error = args[3];
config = args[4];
}
let request: RequestFlow;
const promise = new Promise<string | null>((resolve, reject) => {
const r = new RequestFlowBuilder()
.disableInjections()
.withRawScript(
`
(xor (xor
(seq (seq
(seq (seq
@ -215,89 +243,110 @@ config = args[4];
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 7]) (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 7])
) )
`, `
) )
.configHandler((h) => { .configHandler((h) => {
h.on('getDataSrv', '-relay-', () => { h.on("getDataSrv", "-relay-", () => {
return peer.connectionInfo.connectedRelay ; return peer.connectionInfo.connectedRelay;
}); });
h.on('getDataSrv', 'node', () => {return node;}); h.on("getDataSrv", "node", () => {
h.on('getDataSrv', 'cid', () => {return cid;}); return node;
h.on('getDataSrv', 'from', () => {return from;}); });
h.on("getDataSrv", "cid", () => {
return cid;
});
h.on("getDataSrv", "from", () => {
return from;
});
h.use((req, resp, next) => { h.use((req, resp, next) => {
if(req.serviceId === 'callbackSrv' && req.fnName === 'error') { if (req.serviceId === "callbackSrv" && req.fnName === "error") {
const callParams = {
const callParams = { ...req.particleContext,
...req.particleContext, tetraplets: {
tetraplets: { arg0: req.tetraplets[0],
arg0: req.tetraplets[0],arg1: req.tetraplets[1] arg1: req.tetraplets[1],
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
error(req.args[0], req.args[1], callParams); resp.result = {} error(req.args[0], req.args[1], callParams);
resp.result = {};
}
next();
});
} h.onEvent("callbackSrv", "response", (args) => {
next(); let [opt] = args;
}); if (Array.isArray(opt)) {
if (opt.length === 0) {
h.onEvent('callbackSrv', 'response', (args) => { resolve(null);
let [opt] = args; }
if (Array.isArray(opt)) { opt = opt[0];
if (opt.length === 0) { resolve(null); } }
opt = opt[0]; return resolve(opt);
} });
return resolve(opt);
});
h.onEvent('errorHandlingSrv', 'error', (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 get_and_cache'); reject("Request timed out for get_and_cache");
}) });
if(config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl) r.withTTL(config.ttl);
} }
request = r.build(); request = r.build();
}); });
peer.internals.initiateFlow(request!); peer.internals.initiateFlow(request!);
return promise; return promise;
} }
export function get_from(
node: string,
cid: string,
from: string,
config?: { ttl?: number }
): Promise<{ error: string; path: string; success: boolean }>;
export function get_from(
peer: FluencePeer,
node: string,
cid: string,
from: string,
config?: { ttl?: number }
): Promise<{ error: string; path: string; success: boolean }>;
export function get_from(...args: any) {
let peer: FluencePeer;
let node: any;
let cid: any;
let from: any;
let config: any;
if (FluencePeer.isInstance(args[0])) {
peer = args[0];
node = args[1];
cid = args[2];
from = args[3];
config = args[4];
} else {
peer = FluencePeer.default;
node = args[0];
cid = args[1];
from = args[2];
config = args[3];
}
export function get_from(node: string, cid: string, from: string, config?: {ttl?: number}) : Promise<{error:string;path:string;success:boolean}>; let request: RequestFlow;
export function get_from(peer: FluencePeer, node: string, cid: string, from: string, config?: {ttl?: number}) : Promise<{error:string;path:string;success:boolean}>; const promise = new Promise<{
export function get_from(...args: any) { error: string;
let peer: FluencePeer; path: string;
let node: any; success: boolean;
let cid: any; }>((resolve, reject) => {
let from: any; const r = new RequestFlowBuilder()
let config: any; .disableInjections()
if (args[0] instanceof FluencePeer) { .withRawScript(
peer = args[0]; `
node = args[1];
cid = args[2];
from = args[3];
config = args[4];
} else {
peer = FluencePeer.default;
node = args[0];
cid = args[1];
from = args[2];
config = args[3];
}
let request: RequestFlow;
const promise = new Promise<{error:string;path:string;success:boolean}>((resolve, reject) => {
const r = new RequestFlowBuilder()
.disableInjections()
.withRawScript(
`
(xor (xor
(seq (seq
(seq (seq
@ -333,62 +382,77 @@ config = args[3];
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3]) (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3])
) )
`, `
) )
.configHandler((h) => { .configHandler((h) => {
h.on('getDataSrv', '-relay-', () => { h.on("getDataSrv", "-relay-", () => {
return peer.connectionInfo.connectedRelay ; return peer.connectionInfo.connectedRelay;
}); });
h.on('getDataSrv', 'node', () => {return node;}); h.on("getDataSrv", "node", () => {
h.on('getDataSrv', 'cid', () => {return cid;}); return node;
h.on('getDataSrv', 'from', () => {return from;}); });
h.onEvent('callbackSrv', 'response', (args) => { h.on("getDataSrv", "cid", () => {
const [res] = args; return cid;
resolve(res); });
}); h.on("getDataSrv", "from", () => {
return from;
});
h.onEvent("callbackSrv", "response", (args) => {
const [res] = args;
resolve(res);
});
h.onEvent('errorHandlingSrv', 'error', (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 get_from'); reject("Request timed out for get_from");
}) });
if(config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl) r.withTTL(config.ttl);
} }
request = r.build(); request = r.build();
}); });
peer.internals.initiateFlow(request!); peer.internals.initiateFlow(request!);
return promise; return promise;
} }
export function get_local_api_multiaddr(
node: string,
config?: { ttl?: number }
): Promise<{ error: string; multiaddr: string; success: boolean }>;
export function get_local_api_multiaddr(
peer: FluencePeer,
node: string,
config?: { ttl?: number }
): Promise<{ error: string; multiaddr: string; success: boolean }>;
export function get_local_api_multiaddr(...args: any) {
let peer: FluencePeer;
let node: any;
let config: any;
if (FluencePeer.isInstance(args[0])) {
peer = args[0];
node = args[1];
config = args[2];
} else {
peer = FluencePeer.default;
node = args[0];
config = args[1];
}
export function get_local_api_multiaddr(node: string, config?: {ttl?: number}) : Promise<{error:string;multiaddr:string;success:boolean}>; let request: RequestFlow;
export function get_local_api_multiaddr(peer: FluencePeer, node: string, config?: {ttl?: number}) : Promise<{error:string;multiaddr:string;success:boolean}>; const promise = new Promise<{
export function get_local_api_multiaddr(...args: any) { error: string;
let peer: FluencePeer; multiaddr: string;
let node: any; success: boolean;
let config: any; }>((resolve, reject) => {
if (args[0] instanceof FluencePeer) { const r = new RequestFlowBuilder()
peer = args[0]; .disableInjections()
node = args[1]; .withRawScript(
config = args[2]; `
} else {
peer = FluencePeer.default;
node = args[0];
config = args[1];
}
let request: RequestFlow;
const promise = new Promise<{error:string;multiaddr:string;success:boolean}>((resolve, reject) => {
const r = new RequestFlowBuilder()
.disableInjections()
.withRawScript(
`
(xor (xor
(seq (seq
(seq (seq
@ -418,60 +482,71 @@ config = args[1];
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3]) (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3])
) )
`, `
) )
.configHandler((h) => { .configHandler((h) => {
h.on('getDataSrv', '-relay-', () => { h.on("getDataSrv", "-relay-", () => {
return peer.connectionInfo.connectedRelay ; return peer.connectionInfo.connectedRelay;
}); });
h.on('getDataSrv', 'node', () => {return node;}); h.on("getDataSrv", "node", () => {
h.onEvent('callbackSrv', 'response', (args) => { return node;
const [res] = args; });
resolve(res); h.onEvent("callbackSrv", "response", (args) => {
}); const [res] = args;
resolve(res);
});
h.onEvent('errorHandlingSrv', 'error', (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 get_local_api_multiaddr'); reject("Request timed out for get_local_api_multiaddr");
}) });
if(config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl) r.withTTL(config.ttl);
} }
request = r.build(); request = r.build();
}); });
peer.internals.initiateFlow(request!); peer.internals.initiateFlow(request!);
return promise; return promise;
} }
export function get_external_swarm_multiaddr(
node: string,
config?: { ttl?: number }
): Promise<{ error: string; multiaddr: string; success: boolean }>;
export function get_external_swarm_multiaddr(
peer: FluencePeer,
node: string,
config?: { ttl?: number }
): Promise<{ error: string; multiaddr: string; success: boolean }>;
export function get_external_swarm_multiaddr(...args: any) {
let peer: FluencePeer;
let node: any;
let config: any;
if (FluencePeer.isInstance(args[0])) {
peer = args[0];
node = args[1];
config = args[2];
} else {
peer = FluencePeer.default;
node = args[0];
config = args[1];
}
export function get_external_swarm_multiaddr(node: string, config?: {ttl?: number}) : Promise<{error:string;multiaddr:string;success:boolean}>; let request: RequestFlow;
export function get_external_swarm_multiaddr(peer: FluencePeer, node: string, config?: {ttl?: number}) : Promise<{error:string;multiaddr:string;success:boolean}>; const promise = new Promise<{
export function get_external_swarm_multiaddr(...args: any) { error: string;
let peer: FluencePeer; multiaddr: string;
let node: any; success: boolean;
let config: any; }>((resolve, reject) => {
if (args[0] instanceof FluencePeer) { const r = new RequestFlowBuilder()
peer = args[0]; .disableInjections()
node = args[1]; .withRawScript(
config = args[2]; `
} else {
peer = FluencePeer.default;
node = args[0];
config = args[1];
}
let request: RequestFlow;
const promise = new Promise<{error:string;multiaddr:string;success:boolean}>((resolve, reject) => {
const r = new RequestFlowBuilder()
.disableInjections()
.withRawScript(
`
(xor (xor
(seq (seq
(seq (seq
@ -501,63 +576,76 @@ config = args[1];
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3]) (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3])
) )
`, `
) )
.configHandler((h) => { .configHandler((h) => {
h.on('getDataSrv', '-relay-', () => { h.on("getDataSrv", "-relay-", () => {
return peer.connectionInfo.connectedRelay ; return peer.connectionInfo.connectedRelay;
}); });
h.on('getDataSrv', 'node', () => {return node;}); h.on("getDataSrv", "node", () => {
h.onEvent('callbackSrv', 'response', (args) => { return node;
const [res] = args; });
resolve(res); h.onEvent("callbackSrv", "response", (args) => {
}); const [res] = args;
resolve(res);
});
h.onEvent('errorHandlingSrv', 'error', (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 get_external_swarm_multiaddr'); reject("Request timed out for get_external_swarm_multiaddr");
}) });
if(config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl) r.withTTL(config.ttl);
} }
request = r.build(); request = r.build();
}); });
peer.internals.initiateFlow(request!); peer.internals.initiateFlow(request!);
return promise; return promise;
} }
export function put(
node: string,
path: string,
config?: { ttl?: number }
): Promise<{ error: string; hash: string; success: boolean }>;
export function put(
peer: FluencePeer,
node: string,
path: string,
config?: { ttl?: number }
): Promise<{ error: string; hash: string; success: boolean }>;
export function put(...args: any) {
let peer: FluencePeer;
let node: any;
let path: any;
let config: any;
if (FluencePeer.isInstance(args[0])) {
peer = args[0];
node = args[1];
path = args[2];
config = args[3];
} else {
peer = FluencePeer.default;
node = args[0];
path = args[1];
config = args[2];
}
export function put(node: string, path: string, config?: {ttl?: number}) : Promise<{error:string;hash:string;success:boolean}>; let request: RequestFlow;
export function put(peer: FluencePeer, node: string, path: string, config?: {ttl?: number}) : Promise<{error:string;hash:string;success:boolean}>; const promise = new Promise<{
export function put(...args: any) { error: string;
let peer: FluencePeer; hash: string;
let node: any; success: boolean;
let path: any; }>((resolve, reject) => {
let config: any; const r = new RequestFlowBuilder()
if (args[0] instanceof FluencePeer) { .disableInjections()
peer = args[0]; .withRawScript(
node = args[1]; `
path = args[2];
config = args[3];
} else {
peer = FluencePeer.default;
node = args[0];
path = args[1];
config = args[2];
}
let request: RequestFlow;
const promise = new Promise<{error:string;hash:string;success:boolean}>((resolve, reject) => {
const r = new RequestFlowBuilder()
.disableInjections()
.withRawScript(
`
(xor (xor
(seq (seq
(seq (seq
@ -590,61 +678,74 @@ config = args[2];
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3]) (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3])
) )
`, `
) )
.configHandler((h) => { .configHandler((h) => {
h.on('getDataSrv', '-relay-', () => { h.on("getDataSrv", "-relay-", () => {
return peer.connectionInfo.connectedRelay ; return peer.connectionInfo.connectedRelay;
}); });
h.on('getDataSrv', 'node', () => {return node;}); h.on("getDataSrv", "node", () => {
h.on('getDataSrv', 'path', () => {return path;}); return node;
h.onEvent('callbackSrv', 'response', (args) => { });
const [res] = args; h.on("getDataSrv", "path", () => {
resolve(res); return path;
}); });
h.onEvent("callbackSrv", "response", (args) => {
const [res] = args;
resolve(res);
});
h.onEvent('errorHandlingSrv', 'error', (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 put'); reject("Request timed out for put");
}) });
if(config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl) r.withTTL(config.ttl);
} }
request = r.build(); request = r.build();
}); });
peer.internals.initiateFlow(request!); peer.internals.initiateFlow(request!);
return promise; return promise;
} }
export function get_external_api_multiaddr(
node: string,
config?: { ttl?: number }
): Promise<{ error: string; multiaddr: string; success: boolean }>;
export function get_external_api_multiaddr(
peer: FluencePeer,
node: string,
config?: { ttl?: number }
): Promise<{ error: string; multiaddr: string; success: boolean }>;
export function get_external_api_multiaddr(...args: any) {
let peer: FluencePeer;
let node: any;
let config: any;
if (FluencePeer.isInstance(args[0])) {
peer = args[0];
node = args[1];
config = args[2];
} else {
peer = FluencePeer.default;
node = args[0];
config = args[1];
}
export function get_external_api_multiaddr(node: string, config?: {ttl?: number}) : Promise<{error:string;multiaddr:string;success:boolean}>; let request: RequestFlow;
export function get_external_api_multiaddr(peer: FluencePeer, node: string, config?: {ttl?: number}) : Promise<{error:string;multiaddr:string;success:boolean}>; const promise = new Promise<{
export function get_external_api_multiaddr(...args: any) { error: string;
let peer: FluencePeer; multiaddr: string;
let node: any; success: boolean;
let config: any; }>((resolve, reject) => {
if (args[0] instanceof FluencePeer) { const r = new RequestFlowBuilder()
peer = args[0]; .disableInjections()
node = args[1]; .withRawScript(
config = args[2]; `
} else {
peer = FluencePeer.default;
node = args[0];
config = args[1];
}
let request: RequestFlow;
const promise = new Promise<{error:string;multiaddr:string;success:boolean}>((resolve, reject) => {
const r = new RequestFlowBuilder()
.disableInjections()
.withRawScript(
`
(xor (xor
(seq (seq
(seq (seq
@ -674,33 +775,34 @@ config = args[1];
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3]) (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3])
) )
`, `
) )
.configHandler((h) => { .configHandler((h) => {
h.on('getDataSrv', '-relay-', () => { h.on("getDataSrv", "-relay-", () => {
return peer.connectionInfo.connectedRelay ; return peer.connectionInfo.connectedRelay;
}); });
h.on('getDataSrv', 'node', () => {return node;}); h.on("getDataSrv", "node", () => {
h.onEvent('callbackSrv', 'response', (args) => { return node;
const [res] = args; });
resolve(res); h.onEvent("callbackSrv", "response", (args) => {
}); const [res] = args;
resolve(res);
});
h.onEvent('errorHandlingSrv', 'error', (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 get_external_api_multiaddr'); reject("Request timed out for get_external_api_multiaddr");
}) });
if(config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl) r.withTTL(config.ttl);
} }
request = r.build(); request = r.build();
}); });
peer.internals.initiateFlow(request!); peer.internals.initiateFlow(request!);
return promise; return promise;
} }

View File

@ -1,107 +1,111 @@
/** /**
* *
* 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.3.0-224 * Aqua version: 0.3.0-224
* *
*/ */
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 interface StringOpDef { export interface StringOpDef {
array: (s: string, callParams: CallParams<'s'>) => string[]; array: (s: string, callParams: CallParams<"s">) => string[];
}
export function registerStringOp(service: StringOpDef): void;
export function registerStringOp(serviceId: string, service: StringOpDef): void;
export function registerStringOp(peer: FluencePeer, service: StringOpDef): void;
export function registerStringOp(peer: FluencePeer, serviceId: string, service: StringOpDef): void;
export function registerStringOp(...args: any) {
let peer: FluencePeer;
let serviceId: any;
let service: any;
if (args[0] instanceof FluencePeer) {
peer = args[0];
} else {
peer = FluencePeer.default;
}
if (typeof args[0] === 'string') {
serviceId = args[0];
} else if (typeof args[1] === 'string') {
serviceId = args[1];
}
else {
serviceId = "op"
} }
if (!(args[0] instanceof FluencePeer) && typeof args[0] === 'object') { export function registerStringOp(service: StringOpDef): void;
service = args[0]; export function registerStringOp(serviceId: string, service: StringOpDef): void;
} else if (typeof args[1] === 'object') { export function registerStringOp(peer: FluencePeer, service: StringOpDef): void;
service = args[1]; export function registerStringOp(
} else { peer: FluencePeer,
service = args[2]; serviceId: string,
service: StringOpDef
): void;
export function registerStringOp(...args: any) {
let peer: FluencePeer;
let serviceId: any;
let service: any;
if (FluencePeer.isInstance(args[0])) {
peer = args[0];
} else {
peer = FluencePeer.default;
}
if (typeof args[0] === "string") {
serviceId = args[0];
} else if (typeof args[1] === "string") {
serviceId = args[1];
} else {
serviceId = "op";
}
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === "object") {
service = args[0];
} else if (typeof args[1] === "object") {
service = args[1];
} else {
service = args[2];
}
peer.internals.callServiceHandler.use((req, resp, next) => {
if (req.serviceId !== serviceId) {
next();
return;
} }
peer.internals.callServiceHandler.use((req, resp, next) => { if (req.fnName === "array") {
if (req.serviceId !== serviceId) { const callParams = {
next(); ...req.particleContext,
return; tetraplets: {
} s: req.tetraplets[0],
},
};
if (req.fnName === 'array') { resp.retCode = ResultCodes.success;
resp.result = service.array(req.args[0], callParams);
const callParams = { }
...req.particleContext,
tetraplets: {
s: req.tetraplets[0]
},
};
resp.retCode = ResultCodes.success;
resp.result = service.array(req.args[0], callParams)
} next();
});
}
next();
});
}
// Functions // Functions
export function add_blueprint(module_hash: string, config?: {ttl?: number}) : Promise<string>; export function add_blueprint(
export function add_blueprint(peer: FluencePeer, module_hash: string, config?: {ttl?: number}) : Promise<string>; module_hash: string,
export function add_blueprint(...args: any) { config?: { ttl?: number }
let peer: FluencePeer; ): Promise<string>;
let module_hash: any; export function add_blueprint(
let config: any; peer: FluencePeer,
if (args[0] instanceof FluencePeer) { module_hash: string,
peer = args[0]; config?: { ttl?: number }
module_hash = args[1]; ): Promise<string>;
config = args[2]; export function add_blueprint(...args: any) {
} else { let peer: FluencePeer;
peer = FluencePeer.default; let module_hash: any;
module_hash = args[0]; let config: any;
config = args[1]; if (FluencePeer.isInstance(args[0])) {
} peer = args[0];
module_hash = args[1];
let request: RequestFlow; config = args[2];
const promise = new Promise<string>((resolve, reject) => { } else {
const r = new RequestFlowBuilder() peer = FluencePeer.default;
.disableInjections() module_hash = args[0];
.withRawScript( config = args[1];
` }
let request: RequestFlow;
const promise = new Promise<string>((resolve, reject) => {
const r = new RequestFlowBuilder()
.disableInjections()
.withRawScript(
`
(xor (xor
(seq (seq
(seq (seq
@ -128,75 +132,104 @@ config = args[1];
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2]) (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2])
) )
`, `
) )
.configHandler((h) => { .configHandler((h) => {
h.on('getDataSrv', '-relay-', () => { h.on("getDataSrv", "-relay-", () => {
return peer.connectionInfo.connectedRelay ; return peer.connectionInfo.connectedRelay;
}); });
h.on('getDataSrv', 'module_hash', () => {return module_hash;}); h.on("getDataSrv", "module_hash", () => {
h.onEvent('callbackSrv', 'response', (args) => { return module_hash;
const [res] = args; });
resolve(res); h.onEvent("callbackSrv", "response", (args) => {
}); const [res] = args;
resolve(res);
});
h.onEvent('errorHandlingSrv', 'error', (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 add_blueprint'); reject("Request timed out for add_blueprint");
}) });
if(config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl) r.withTTL(config.ttl);
} }
request = r.build(); request = r.build();
}); });
peer.internals.initiateFlow(request!); peer.internals.initiateFlow(request!);
return promise; return promise;
} }
export function put_file_size(
relay: string,
cid: string,
ipfs: string,
service_id: string,
logSize: (arg0: number, callParams: CallParams<"arg0">) => void,
error: (
arg0: string,
arg1: string,
callParams: CallParams<"arg0" | "arg1">
) => void,
config?: { ttl?: number }
): Promise<{ error: string; hash: string; success: boolean } | null>;
export function put_file_size(
peer: FluencePeer,
relay: string,
cid: string,
ipfs: string,
service_id: string,
logSize: (arg0: number, callParams: CallParams<"arg0">) => void,
error: (
arg0: string,
arg1: string,
callParams: CallParams<"arg0" | "arg1">
) => void,
config?: { ttl?: number }
): Promise<{ error: string; hash: string; success: boolean } | null>;
export function put_file_size(...args: any) {
let peer: FluencePeer;
let relay: any;
let cid: any;
let ipfs: any;
let service_id: any;
let logSize: any;
let error: any;
let config: any;
if (FluencePeer.isInstance(args[0])) {
peer = args[0];
relay = args[1];
cid = args[2];
ipfs = args[3];
service_id = args[4];
logSize = args[5];
error = args[6];
config = args[7];
} else {
peer = FluencePeer.default;
relay = args[0];
cid = args[1];
ipfs = args[2];
service_id = args[3];
logSize = args[4];
error = args[5];
config = args[6];
}
export function put_file_size(relay: string, cid: string, ipfs: string, service_id: string, logSize: (arg0: number, callParams: CallParams<'arg0'>) => void, error: (arg0: string, arg1: string, callParams: CallParams<'arg0' | 'arg1'>) => void, config?: {ttl?: number}) : Promise<{error:string;hash:string;success:boolean} | null>; let request: RequestFlow;
export function put_file_size(peer: FluencePeer, relay: string, cid: string, ipfs: string, service_id: string, logSize: (arg0: number, callParams: CallParams<'arg0'>) => void, error: (arg0: string, arg1: string, callParams: CallParams<'arg0' | 'arg1'>) => void, config?: {ttl?: number}) : Promise<{error:string;hash:string;success:boolean} | null>; const promise = new Promise<{
export function put_file_size(...args: any) { error: string;
let peer: FluencePeer; hash: string;
let relay: any; success: boolean;
let cid: any; } | null>((resolve, reject) => {
let ipfs: any; const r = new RequestFlowBuilder()
let service_id: any; .disableInjections()
let logSize: any; .withRawScript(
let error: any; `
let config: any;
if (args[0] instanceof FluencePeer) {
peer = args[0];
relay = args[1];
cid = args[2];
ipfs = args[3];
service_id = args[4];
logSize = args[5];
error = args[6];
config = args[7];
} else {
peer = FluencePeer.default;
relay = args[0];
cid = args[1];
ipfs = args[2];
service_id = args[3];
logSize = args[4];
error = args[5];
config = args[6];
}
let request: RequestFlow;
const promise = new Promise<{error:string;hash:string;success:boolean} | null>((resolve, reject) => {
const r = new RequestFlowBuilder()
.disableInjections()
.withRawScript(
`
(xor (xor
(seq (seq
(seq (seq
@ -319,104 +352,119 @@ config = args[6];
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 10]) (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 10])
) )
`, `
) )
.configHandler((h) => { .configHandler((h) => {
h.on('getDataSrv', '-relay-', () => { h.on("getDataSrv", "-relay-", () => {
return peer.connectionInfo.connectedRelay ; return peer.connectionInfo.connectedRelay;
}); });
h.on('getDataSrv', 'relay', () => {return relay;}); h.on("getDataSrv", "relay", () => {
h.on('getDataSrv', 'cid', () => {return cid;}); return relay;
h.on('getDataSrv', 'ipfs', () => {return ipfs;}); });
h.on('getDataSrv', 'service_id', () => {return service_id;}); h.on("getDataSrv", "cid", () => {
return cid;
});
h.on("getDataSrv", "ipfs", () => {
return ipfs;
});
h.on("getDataSrv", "service_id", () => {
return service_id;
});
h.use((req, resp, next) => { h.use((req, resp, next) => {
if(req.serviceId === 'callbackSrv' && req.fnName === 'logSize') { if (req.serviceId === "callbackSrv" && req.fnName === "logSize") {
const callParams = {
const callParams = { ...req.particleContext,
...req.particleContext, tetraplets: {
tetraplets: { arg0: req.tetraplets[0],
arg0: req.tetraplets[0] },
}, };
}; resp.retCode = ResultCodes.success;
resp.retCode = ResultCodes.success; logSize(req.args[0], callParams);
logSize(req.args[0], callParams); resp.result = {} resp.result = {};
}
next();
});
} h.use((req, resp, next) => {
next(); if (req.serviceId === "callbackSrv" && req.fnName === "error") {
}); const callParams = {
...req.particleContext,
tetraplets: {
arg0: req.tetraplets[0],
arg1: req.tetraplets[1],
},
};
resp.retCode = ResultCodes.success;
error(req.args[0], req.args[1], callParams);
resp.result = {};
}
next();
});
h.use((req, resp, next) => { h.onEvent("callbackSrv", "response", (args) => {
if(req.serviceId === 'callbackSrv' && req.fnName === 'error') { let [opt] = args;
if (Array.isArray(opt)) {
const callParams = { if (opt.length === 0) {
...req.particleContext, resolve(null);
tetraplets: { }
arg0: req.tetraplets[0],arg1: req.tetraplets[1] opt = opt[0];
}, }
}; return resolve(opt);
resp.retCode = ResultCodes.success; });
error(req.args[0], req.args[1], callParams); resp.result = {}
} h.onEvent("errorHandlingSrv", "error", (args) => {
next(); const [err] = args;
}); reject(err);
});
h.onEvent('callbackSrv', 'response', (args) => { })
let [opt] = args; .handleScriptError(reject)
if (Array.isArray(opt)) { .handleTimeout(() => {
if (opt.length === 0) { resolve(null); } reject("Request timed out for put_file_size");
opt = opt[0]; });
} if (config && config.ttl) {
return resolve(opt); r.withTTL(config.ttl);
}); }
request = r.build();
h.onEvent('errorHandlingSrv', 'error', (args) => { });
const [err] = args; peer.internals.initiateFlow(request!);
reject(err); return promise;
});
})
.handleScriptError(reject)
.handleTimeout(() => {
reject('Request timed out for put_file_size');
})
if(config && config.ttl) {
r.withTTL(config.ttl)
}
request = r.build();
});
peer.internals.initiateFlow(request!);
return promise;
} }
export function remove_service(
relay: string,
service_id: string,
config?: { ttl?: number }
): Promise<boolean>;
export function remove_service(
peer: FluencePeer,
relay: string,
service_id: string,
config?: { ttl?: number }
): Promise<boolean>;
export function remove_service(...args: any) {
let peer: FluencePeer;
let relay: any;
let service_id: any;
let config: any;
if (FluencePeer.isInstance(args[0])) {
peer = args[0];
relay = args[1];
service_id = args[2];
config = args[3];
} else {
peer = FluencePeer.default;
relay = args[0];
service_id = args[1];
config = args[2];
}
export function remove_service(relay: string, service_id: string, config?: {ttl?: number}) : Promise<boolean>; let request: RequestFlow;
export function remove_service(peer: FluencePeer, relay: string, service_id: string, config?: {ttl?: number}) : Promise<boolean>; const promise = new Promise<boolean>((resolve, reject) => {
export function remove_service(...args: any) { const r = new RequestFlowBuilder()
let peer: FluencePeer; .disableInjections()
let relay: any; .withRawScript(
let service_id: any; `
let config: any;
if (args[0] instanceof FluencePeer) {
peer = args[0];
relay = args[1];
service_id = args[2];
config = args[3];
} else {
peer = FluencePeer.default;
relay = args[0];
service_id = args[1];
config = args[2];
}
let request: RequestFlow;
const promise = new Promise<boolean>((resolve, reject) => {
const r = new RequestFlowBuilder()
.disableInjections()
.withRawScript(
`
(xor (xor
(seq (seq
(seq (seq
@ -449,64 +497,75 @@ config = args[2];
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3]) (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3])
) )
`, `
) )
.configHandler((h) => { .configHandler((h) => {
h.on('getDataSrv', '-relay-', () => { h.on("getDataSrv", "-relay-", () => {
return peer.connectionInfo.connectedRelay ; return peer.connectionInfo.connectedRelay;
}); });
h.on('getDataSrv', 'relay', () => {return relay;}); h.on("getDataSrv", "relay", () => {
h.on('getDataSrv', 'service_id', () => {return service_id;}); return relay;
h.onEvent('callbackSrv', 'response', (args) => { });
const [res] = args; h.on("getDataSrv", "service_id", () => {
resolve(res); return service_id;
}); });
h.onEvent("callbackSrv", "response", (args) => {
const [res] = args;
resolve(res);
});
h.onEvent('errorHandlingSrv', 'error', (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 remove_service'); reject("Request timed out for remove_service");
}) });
if(config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl) r.withTTL(config.ttl);
} }
request = r.build(); request = r.build();
}); });
peer.internals.initiateFlow(request!); peer.internals.initiateFlow(request!);
return promise; return promise;
} }
export function add_module(
name: string,
path: string,
config?: { ttl?: number }
): Promise<string>;
export function add_module(
peer: FluencePeer,
name: string,
path: string,
config?: { ttl?: number }
): Promise<string>;
export function add_module(...args: any) {
let peer: FluencePeer;
let name: any;
let path: any;
let config: any;
if (FluencePeer.isInstance(args[0])) {
peer = args[0];
name = args[1];
path = args[2];
config = args[3];
} else {
peer = FluencePeer.default;
name = args[0];
path = args[1];
config = args[2];
}
export function add_module(name: string, path: string, config?: {ttl?: number}) : Promise<string>; let request: RequestFlow;
export function add_module(peer: FluencePeer, name: string, path: string, config?: {ttl?: number}) : Promise<string>; const promise = new Promise<string>((resolve, reject) => {
export function add_module(...args: any) { const r = new RequestFlowBuilder()
let peer: FluencePeer; .disableInjections()
let name: any; .withRawScript(
let path: any; `
let config: any;
if (args[0] instanceof FluencePeer) {
peer = args[0];
name = args[1];
path = args[2];
config = args[3];
} else {
peer = FluencePeer.default;
name = args[0];
path = args[1];
config = args[2];
}
let request: RequestFlow;
const promise = new Promise<string>((resolve, reject) => {
const r = new RequestFlowBuilder()
.disableInjections()
.withRawScript(
`
(xor (xor
(seq (seq
(seq (seq
@ -530,70 +589,93 @@ config = args[2];
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2]) (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2])
) )
`, `
) )
.configHandler((h) => { .configHandler((h) => {
h.on('getDataSrv', '-relay-', () => { h.on("getDataSrv", "-relay-", () => {
return peer.connectionInfo.connectedRelay ; return peer.connectionInfo.connectedRelay;
}); });
h.on('getDataSrv', 'name', () => {return name;}); h.on("getDataSrv", "name", () => {
h.on('getDataSrv', 'path', () => {return path;}); return name;
h.onEvent('callbackSrv', 'response', (args) => { });
const [res] = args; h.on("getDataSrv", "path", () => {
resolve(res); return path;
}); });
h.onEvent("callbackSrv", "response", (args) => {
const [res] = args;
resolve(res);
});
h.onEvent('errorHandlingSrv', 'error', (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 add_module'); reject("Request timed out for add_module");
}) });
if(config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl) r.withTTL(config.ttl);
} }
request = r.build(); request = r.build();
}); });
peer.internals.initiateFlow(request!); peer.internals.initiateFlow(request!);
return promise; return promise;
} }
export function deploy_service(
relay: string,
cid: string,
ipfs: string,
error: (
arg0: string,
arg1: string,
callParams: CallParams<"arg0" | "arg1">
) => void,
config?: { ttl?: number }
): Promise<string | null>;
export function deploy_service(
peer: FluencePeer,
relay: string,
cid: string,
ipfs: string,
error: (
arg0: string,
arg1: string,
callParams: CallParams<"arg0" | "arg1">
) => void,
config?: { ttl?: number }
): Promise<string | null>;
export function deploy_service(...args: any) {
let peer: FluencePeer;
let relay: any;
let cid: any;
let ipfs: any;
let error: any;
let config: any;
if (FluencePeer.isInstance(args[0])) {
peer = args[0];
relay = args[1];
cid = args[2];
ipfs = args[3];
error = args[4];
config = args[5];
} else {
peer = FluencePeer.default;
relay = args[0];
cid = args[1];
ipfs = args[2];
error = args[3];
config = args[4];
}
export function deploy_service(relay: string, cid: string, ipfs: string, error: (arg0: string, arg1: string, callParams: CallParams<'arg0' | 'arg1'>) => void, config?: {ttl?: number}) : Promise<string | null>; let request: RequestFlow;
export function deploy_service(peer: FluencePeer, relay: string, cid: string, ipfs: string, error: (arg0: string, arg1: string, callParams: CallParams<'arg0' | 'arg1'>) => void, config?: {ttl?: number}) : Promise<string | null>; const promise = new Promise<string | null>((resolve, reject) => {
export function deploy_service(...args: any) { const r = new RequestFlowBuilder()
let peer: FluencePeer; .disableInjections()
let relay: any; .withRawScript(
let cid: any; `
let ipfs: any;
let error: any;
let config: any;
if (args[0] instanceof FluencePeer) {
peer = args[0];
relay = args[1];
cid = args[2];
ipfs = args[3];
error = args[4];
config = args[5];
} else {
peer = FluencePeer.default;
relay = args[0];
cid = args[1];
ipfs = args[2];
error = args[3];
config = args[4];
}
let request: RequestFlow;
const promise = new Promise<string | null>((resolve, reject) => {
const r = new RequestFlowBuilder()
.disableInjections()
.withRawScript(
`
(xor (xor
(seq (seq
(seq (seq
@ -670,56 +752,63 @@ config = args[4];
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 5]) (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 5])
) )
`, `
) )
.configHandler((h) => { .configHandler((h) => {
h.on('getDataSrv', '-relay-', () => { h.on("getDataSrv", "-relay-", () => {
return peer.connectionInfo.connectedRelay ; return peer.connectionInfo.connectedRelay;
}); });
h.on('getDataSrv', 'relay', () => {return relay;}); h.on("getDataSrv", "relay", () => {
h.on('getDataSrv', 'cid', () => {return cid;}); return relay;
h.on('getDataSrv', 'ipfs', () => {return ipfs;}); });
h.on("getDataSrv", "cid", () => {
return cid;
});
h.on("getDataSrv", "ipfs", () => {
return ipfs;
});
h.use((req, resp, next) => { h.use((req, resp, next) => {
if(req.serviceId === 'callbackSrv' && req.fnName === 'error') { if (req.serviceId === "callbackSrv" && req.fnName === "error") {
const callParams = {
const callParams = { ...req.particleContext,
...req.particleContext, tetraplets: {
tetraplets: { arg0: req.tetraplets[0],
arg0: req.tetraplets[0],arg1: req.tetraplets[1] arg1: req.tetraplets[1],
}, },
}; };
resp.retCode = ResultCodes.success; resp.retCode = ResultCodes.success;
error(req.args[0], req.args[1], callParams); resp.result = {} error(req.args[0], req.args[1], callParams);
resp.result = {};
}
next();
});
} h.onEvent("callbackSrv", "response", (args) => {
next(); let [opt] = args;
}); if (Array.isArray(opt)) {
if (opt.length === 0) {
h.onEvent('callbackSrv', 'response', (args) => { resolve(null);
let [opt] = args; }
if (Array.isArray(opt)) { opt = opt[0];
if (opt.length === 0) { resolve(null); } }
opt = opt[0]; return resolve(opt);
} });
return resolve(opt);
});
h.onEvent('errorHandlingSrv', 'error', (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 deploy_service'); reject("Request timed out for deploy_service");
}) });
if(config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl) r.withTTL(config.ttl);
} }
request = r.build(); request = r.build();
}); });
peer.internals.initiateFlow(request!); peer.internals.initiateFlow(request!);
return promise; return promise;
} }

View File

@ -40,7 +40,7 @@ export function registerProcessFiles(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let serviceId: any; let serviceId: any;
let service: any; let service: any;
if (args[0] instanceof FluencePeer) { if (FluencePeer.isInstance(args[0])) {
peer = args[0]; peer = args[0];
} else { } else {
peer = FluencePeer.default; peer = FluencePeer.default;
@ -52,7 +52,7 @@ export function registerProcessFiles(...args: any) {
serviceId = args[1]; serviceId = args[1];
} }
if (!(args[0] instanceof FluencePeer) && typeof args[0] === "object") { if (!FluencePeer.isInstance(args[0]) && 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];

View File

@ -1281,36 +1281,28 @@
} }
} }
}, },
"@fluencelabs/aqua-ipfs-ts": {
"version": "0.4.2",
"resolved": "https://registry.npmjs.org/@fluencelabs/aqua-ipfs-ts/-/aqua-ipfs-ts-0.4.2.tgz",
"integrity": "sha512-xuK65UqZdMdVpZULFu8S4IPBjKi7GMnxKLnOdTGGqGP1ULzFOMU2qm9QwNs2OFwFyJYDNQ9Nq3Zg5sqc6Q28yw==",
"requires": {
"@fluencelabs/fluence": "^0.10.0"
}
},
"@fluencelabs/aqua-lib": { "@fluencelabs/aqua-lib": {
"version": "0.1.14", "version": "0.1.14",
"resolved": "https://registry.npmjs.org/@fluencelabs/aqua-lib/-/aqua-lib-0.1.14.tgz", "resolved": "https://registry.npmjs.org/@fluencelabs/aqua-lib/-/aqua-lib-0.1.14.tgz",
"integrity": "sha512-H2Q4gIvociUxc4J2mwmH0D+mrU2N2Z+enKCHgBCanMVEE2wZDsZ80GTbDKsQjEq+gpqbnJIk8lJBYW6lyvLJTg==" "integrity": "sha512-H2Q4gIvociUxc4J2mwmH0D+mrU2N2Z+enKCHgBCanMVEE2wZDsZ80GTbDKsQjEq+gpqbnJIk8lJBYW6lyvLJTg=="
}, },
"@fluencelabs/avm": { "@fluencelabs/avm": {
"version": "0.14.3", "version": "0.14.4",
"resolved": "https://registry.npmjs.org/@fluencelabs/avm/-/avm-0.14.3.tgz", "resolved": "https://registry.npmjs.org/@fluencelabs/avm/-/avm-0.14.4.tgz",
"integrity": "sha512-HCRIn8WHshHDkZmoW9ITnEzdr+XcZBo9SjlcbKHd8+ls1LkX4SiGe2tKh3QQwtmJ6xFh9TypTwjWeDYCGIw7JA==", "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.1", "version": "0.10.4-fix-null-check-416.0",
"resolved": "https://registry.npmjs.org/@fluencelabs/fluence/-/fluence-0.10.1.tgz", "resolved": "https://registry.npmjs.org/@fluencelabs/fluence/-/fluence-0.10.4-fix-null-check-416.0.tgz",
"integrity": "sha512-xAtZh6B9IIQiDflwNhf4dIvjNX6vFddDvU27fGiDuhiXs92k/dQ6ks3yWL0tqsceSbkz4w7r2vQMfDq6gWkdgg==", "integrity": "sha512-/aZ58z62lj2Esnt8ZDKTJjZCVqmCAZ5O2F8zei4KeKoqm+eyd8XVHFkjRK3PJDSli5pM7TcjJIGJoLFWsU+9iQ==",
"requires": { "requires": {
"@chainsafe/libp2p-noise": "4.0.0", "@chainsafe/libp2p-noise": "4.0.0",
"@fluencelabs/avm": "0.14.3", "@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",
@ -1321,6 +1313,7 @@
"libp2p-websockets": "0.16.1", "libp2p-websockets": "0.16.1",
"loglevel": "1.7.0", "loglevel": "1.7.0",
"multiaddr": "10.0.0", "multiaddr": "10.0.0",
"noble-ed25519": "^1.2.5",
"peer-id": "0.15.3", "peer-id": "0.15.3",
"uuid": "8.3.0" "uuid": "8.3.0"
}, },
@ -1330,11 +1323,6 @@
"resolved": "https://registry.npmjs.org/async/-/async-3.2.0.tgz", "resolved": "https://registry.npmjs.org/async/-/async-3.2.0.tgz",
"integrity": "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==" "integrity": "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw=="
}, },
"base64-js": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz",
"integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g=="
},
"loglevel": { "loglevel": {
"version": "1.7.0", "version": "1.7.0",
"resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.0.tgz", "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.0.tgz",
@ -1357,7 +1345,7 @@
"requires": { "requires": {
"@fluencelabs/aqua-ipfs": "0.4.2", "@fluencelabs/aqua-ipfs": "0.4.2",
"@fluencelabs/aqua-lib": "0.1.14", "@fluencelabs/aqua-lib": "0.1.14",
"@fluencelabs/fluence": "0.10.1", "@fluencelabs/fluence": "0.10.4-fix-null-check-416.0",
"@fluencelabs/fluence-network-environment": "1.0.10", "@fluencelabs/fluence-network-environment": "1.0.10",
"ipfs-http-client": "^50.1.2", "ipfs-http-client": "^50.1.2",
"it-all": "^1.0.5", "it-all": "^1.0.5",
@ -1386,25 +1374,6 @@
"uint8arrays": "^2.0.5" "uint8arrays": "^2.0.5"
}, },
"dependencies": { "dependencies": {
"bl": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/bl/-/bl-5.0.0.tgz",
"integrity": "sha512-8vxFNZ0pflFfi0WXA3WQXlj6CaMEwsmh63I1CNp0q+wWv8sD0ARx1KovSQd0l2GkwrMIOyedq0EF1FxI+RCZLQ==",
"requires": {
"buffer": "^6.0.3",
"inherits": "^2.0.4",
"readable-stream": "^3.4.0"
}
},
"buffer": {
"version": "6.0.3",
"resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
"integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
"requires": {
"base64-js": "^1.3.1",
"ieee754": "^1.2.1"
}
},
"it-length-prefixed": { "it-length-prefixed": {
"version": "5.0.3", "version": "5.0.3",
"resolved": "https://registry.npmjs.org/it-length-prefixed/-/it-length-prefixed-5.0.3.tgz", "resolved": "https://registry.npmjs.org/it-length-prefixed/-/it-length-prefixed-5.0.3.tgz",
@ -1415,39 +1384,6 @@
"varint": "^6.0.0" "varint": "^6.0.0"
} }
}, },
"peer-id": {
"version": "0.15.3",
"resolved": "https://registry.npmjs.org/peer-id/-/peer-id-0.15.3.tgz",
"integrity": "sha512-pass5tk6Fbaz7PTD/3fJg2KWqaproHY0B0Ki8GQMEuMjkoLRcS2Vqt9yy6ob/+8uGBmWjRLtbMhaLV4HTyMDfw==",
"requires": {
"class-is": "^1.1.0",
"libp2p-crypto": "^0.19.0",
"minimist": "^1.2.5",
"multiformats": "^9.4.5",
"protobufjs": "^6.10.2",
"uint8arrays": "^3.0.0"
},
"dependencies": {
"class-is": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz",
"integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw=="
},
"minimist": {
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
},
"uint8arrays": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.0.0.tgz",
"integrity": "sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==",
"requires": {
"multiformats": "^9.4.2"
}
}
}
},
"varint": { "varint": {
"version": "6.0.0", "version": "6.0.0",
"resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz",
@ -1928,9 +1864,9 @@
"integrity": "sha512-H2Q4gIvociUxc4J2mwmH0D+mrU2N2Z+enKCHgBCanMVEE2wZDsZ80GTbDKsQjEq+gpqbnJIk8lJBYW6lyvLJTg==" "integrity": "sha512-H2Q4gIvociUxc4J2mwmH0D+mrU2N2Z+enKCHgBCanMVEE2wZDsZ80GTbDKsQjEq+gpqbnJIk8lJBYW6lyvLJTg=="
}, },
"@fluencelabs/avm": { "@fluencelabs/avm": {
"version": "0.14.3", "version": "0.14.4",
"resolved": "https://registry.npmjs.org/@fluencelabs/avm/-/avm-0.14.3.tgz", "resolved": "https://registry.npmjs.org/@fluencelabs/avm/-/avm-0.14.4.tgz",
"integrity": "sha512-HCRIn8WHshHDkZmoW9ITnEzdr+XcZBo9SjlcbKHd8+ls1LkX4SiGe2tKh3QQwtmJ6xFh9TypTwjWeDYCGIw7JA==", "integrity": "sha512-XyR+1H5k0CAc+mDHOkl81viX8XeW1Yqbw793xbsfUfju5bUb/hqk+gHv3q8lAFdbrCG5P45gdOT08a5RNODZaQ==",
"requires": { "requires": {
"base64-js": "1.5.1" "base64-js": "1.5.1"
}, },
@ -1943,14 +1879,14 @@
} }
}, },
"@fluencelabs/fluence": { "@fluencelabs/fluence": {
"version": "0.10.1", "version": "0.10.4-fix-null-check-416.0",
"resolved": "https://registry.npmjs.org/@fluencelabs/fluence/-/fluence-0.10.1.tgz", "resolved": "https://registry.npmjs.org/@fluencelabs/fluence/-/fluence-0.10.4-fix-null-check-416.0.tgz",
"integrity": "sha512-xAtZh6B9IIQiDflwNhf4dIvjNX6vFddDvU27fGiDuhiXs92k/dQ6ks3yWL0tqsceSbkz4w7r2vQMfDq6gWkdgg==", "integrity": "sha512-/aZ58z62lj2Esnt8ZDKTJjZCVqmCAZ5O2F8zei4KeKoqm+eyd8XVHFkjRK3PJDSli5pM7TcjJIGJoLFWsU+9iQ==",
"requires": { "requires": {
"@chainsafe/libp2p-noise": "4.0.0", "@chainsafe/libp2p-noise": "4.0.0",
"@fluencelabs/avm": "0.14.3", "@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",
@ -1961,8 +1897,16 @@
"libp2p-websockets": "0.16.1", "libp2p-websockets": "0.16.1",
"loglevel": "1.7.0", "loglevel": "1.7.0",
"multiaddr": "10.0.0", "multiaddr": "10.0.0",
"noble-ed25519": "^1.2.5",
"peer-id": "0.15.3", "peer-id": "0.15.3",
"uuid": "8.3.0" "uuid": "8.3.0"
},
"dependencies": {
"base64-js": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
"integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
}
} }
}, },
"@fluencelabs/fluence-network-environment": { "@fluencelabs/fluence-network-environment": {
@ -2938,6 +2882,13 @@
"node-fetch": "npm:@achingbrain/node-fetch@^2.6.4", "node-fetch": "npm:@achingbrain/node-fetch@^2.6.4",
"react-native-fetch-api": "^2.0.0", "react-native-fetch-api": "^2.0.0",
"stream-to-it": "^0.2.2" "stream-to-it": "^0.2.2"
},
"dependencies": {
"node-fetch": {
"version": "npm:@achingbrain/node-fetch@2.6.7",
"resolved": "https://registry.npmjs.org/@achingbrain/node-fetch/-/node-fetch-2.6.7.tgz",
"integrity": "sha512-iTASGs+HTFK5E4ZqcMsHmeJ4zodyq8L38lZV33jwqcBJYoUt3HjN4+ot+O9/0b+ke8ddE7UgOtVuZN/OkV19/g=="
}
} }
}, },
"it-take": { "it-take": {
@ -3074,6 +3025,13 @@
"node-fetch": "npm:@achingbrain/node-fetch@^2.6.4", "node-fetch": "npm:@achingbrain/node-fetch@^2.6.4",
"react-native-fetch-api": "^2.0.0", "react-native-fetch-api": "^2.0.0",
"stream-to-it": "^0.2.2" "stream-to-it": "^0.2.2"
},
"dependencies": {
"node-fetch": {
"version": "npm:@achingbrain/node-fetch@2.6.7",
"resolved": "https://registry.npmjs.org/@achingbrain/node-fetch/-/node-fetch-2.6.7.tgz",
"integrity": "sha512-iTASGs+HTFK5E4ZqcMsHmeJ4zodyq8L38lZV33jwqcBJYoUt3HjN4+ot+O9/0b+ke8ddE7UgOtVuZN/OkV19/g=="
}
} }
}, },
"multiaddr": { "multiaddr": {
@ -3234,6 +3192,13 @@
"node-fetch": "npm:@achingbrain/node-fetch@^2.6.4", "node-fetch": "npm:@achingbrain/node-fetch@^2.6.4",
"react-native-fetch-api": "^2.0.0", "react-native-fetch-api": "^2.0.0",
"stream-to-it": "^0.2.2" "stream-to-it": "^0.2.2"
},
"dependencies": {
"node-fetch": {
"version": "npm:@achingbrain/node-fetch@2.6.7",
"resolved": "https://registry.npmjs.org/@achingbrain/node-fetch/-/node-fetch-2.6.7.tgz",
"integrity": "sha512-iTASGs+HTFK5E4ZqcMsHmeJ4zodyq8L38lZV33jwqcBJYoUt3HjN4+ot+O9/0b+ke8ddE7UgOtVuZN/OkV19/g=="
}
} }
}, },
"multiaddr": { "multiaddr": {
@ -3781,9 +3746,9 @@
"integrity": "sha512-EElupuWhHVStUgUY+OfTJIS2MZed96lDrAXzJUuqiiqLnIKoBRqtX1ZG2oR0bGDsSppmz83MtzCeKLZ9TVAUxQ==" "integrity": "sha512-EElupuWhHVStUgUY+OfTJIS2MZed96lDrAXzJUuqiiqLnIKoBRqtX1ZG2oR0bGDsSppmz83MtzCeKLZ9TVAUxQ=="
}, },
"it-merge": { "it-merge": {
"version": "1.0.2", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/it-merge/-/it-merge-1.0.2.tgz", "resolved": "https://registry.npmjs.org/it-merge/-/it-merge-1.0.3.tgz",
"integrity": "sha512-bp+h4X3tQ83/a2MvaeP4nRi+52z2AO2y8tf2OzDdaSXKMC0n0gVtHrJUDaE+kiIkBiUtTt1hp7vJHMM0VtCfGA==", "integrity": "sha512-FTIcv8VGOkSnq5WGoepN+ag/DVdSVZk7pALuduxyGlErH7uzcvZD3IXHXY47ViptHQFbga2rU9SPlFmC7ttRBA==",
"requires": { "requires": {
"it-pushable": "^1.4.0" "it-pushable": "^1.4.0"
} }
@ -4478,6 +4443,11 @@
"resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz",
"integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==" "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg=="
}, },
"noble-ed25519": {
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/noble-ed25519/-/noble-ed25519-1.2.5.tgz",
"integrity": "sha512-7vst+4UhM5QU3jJ3pUqPMKBCOePrxBojmoQa59qcSnYvjFF/T4jqb4WISlfslcWyBw7G5H9V/acpcAxMd8DzUQ=="
},
"node-addon-api": { "node-addon-api": {
"version": "2.0.2", "version": "2.0.2",
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz",
@ -4980,9 +4950,9 @@
} }
}, },
"ws": { "ws": {
"version": "7.5.4", "version": "7.5.5",
"resolved": "https://registry.npmjs.org/ws/-/ws-7.5.4.tgz", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz",
"integrity": "sha512-zP9z6GXm6zC27YtspwH99T3qTG7bBFv2VIkeHstMLrLlDJuzA7tQ5ls3OJ1hOGGCzTQPniNJoHXIAOS0Jljohg==" "integrity": "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w=="
}, },
"xml2js": { "xml2js": {
"version": "0.4.23", "version": "0.4.23",
@ -7841,7 +7811,8 @@
"binary-extensions": { "binary-extensions": {
"version": "2.2.0", "version": "2.2.0",
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
"integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
"optional": true
}, },
"bindings": { "bindings": {
"version": "1.5.0", "version": "1.5.0",
@ -8366,6 +8337,7 @@
"version": "3.5.2", "version": "3.5.2",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz",
"integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==",
"optional": true,
"requires": { "requires": {
"anymatch": "~3.1.2", "anymatch": "~3.1.2",
"braces": "~3.0.2", "braces": "~3.0.2",
@ -8377,148 +8349,6 @@
"readdirp": "~3.6.0" "readdirp": "~3.6.0"
} }
}, },
"chokidar-cli": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/chokidar-cli/-/chokidar-cli-2.1.0.tgz",
"integrity": "sha512-6n21AVpW6ywuEPoxJcLXMA2p4T+SLjWsXKny/9yTWFz0kKxESI3eUylpeV97LylING/27T/RVTY0f2/0QaWq9Q==",
"dev": true,
"requires": {
"chokidar": "^3.2.3",
"lodash.debounce": "^4.0.8",
"lodash.throttle": "^4.1.1",
"yargs": "^13.3.0"
},
"dependencies": {
"ansi-regex": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
"integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
"dev": true
},
"camelcase": {
"version": "5.3.1",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
"integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
"dev": true
},
"cliui": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
"integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
"dev": true,
"requires": {
"string-width": "^3.1.0",
"strip-ansi": "^5.2.0",
"wrap-ansi": "^5.1.0"
}
},
"emoji-regex": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
"integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
"dev": true
},
"find-up": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
"integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
"dev": true,
"requires": {
"locate-path": "^3.0.0"
}
},
"is-fullwidth-code-point": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
"integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
"dev": true
},
"locate-path": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
"integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
"dev": true,
"requires": {
"p-locate": "^3.0.0",
"path-exists": "^3.0.0"
}
},
"p-locate": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
"integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
"dev": true,
"requires": {
"p-limit": "^2.0.0"
}
},
"path-exists": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
"integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
"dev": true
},
"string-width": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
"integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
"dev": true,
"requires": {
"emoji-regex": "^7.0.1",
"is-fullwidth-code-point": "^2.0.0",
"strip-ansi": "^5.1.0"
}
},
"strip-ansi": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
"integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
"dev": true,
"requires": {
"ansi-regex": "^4.1.0"
}
},
"wrap-ansi": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
"integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
"dev": true,
"requires": {
"ansi-styles": "^3.2.0",
"string-width": "^3.0.0",
"strip-ansi": "^5.0.0"
}
},
"yargs": {
"version": "13.3.2",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz",
"integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==",
"dev": true,
"requires": {
"cliui": "^5.0.0",
"find-up": "^3.0.0",
"get-caller-file": "^2.0.1",
"require-directory": "^2.1.1",
"require-main-filename": "^2.0.0",
"set-blocking": "^2.0.0",
"string-width": "^3.0.0",
"which-module": "^2.0.0",
"y18n": "^4.0.0",
"yargs-parser": "^13.1.2"
}
},
"yargs-parser": {
"version": "13.1.2",
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz",
"integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==",
"dev": true,
"requires": {
"camelcase": "^5.0.0",
"decamelize": "^1.2.0"
}
}
}
},
"chownr": { "chownr": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
@ -13256,6 +13086,7 @@
"version": "2.1.0", "version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
"optional": true,
"requires": { "requires": {
"binary-extensions": "^2.0.0" "binary-extensions": "^2.0.0"
} }
@ -13827,9 +13658,9 @@
"integrity": "sha512-EElupuWhHVStUgUY+OfTJIS2MZed96lDrAXzJUuqiiqLnIKoBRqtX1ZG2oR0bGDsSppmz83MtzCeKLZ9TVAUxQ==" "integrity": "sha512-EElupuWhHVStUgUY+OfTJIS2MZed96lDrAXzJUuqiiqLnIKoBRqtX1ZG2oR0bGDsSppmz83MtzCeKLZ9TVAUxQ=="
}, },
"it-merge": { "it-merge": {
"version": "1.0.2", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/it-merge/-/it-merge-1.0.2.tgz", "resolved": "https://registry.npmjs.org/it-merge/-/it-merge-1.0.3.tgz",
"integrity": "sha512-bp+h4X3tQ83/a2MvaeP4nRi+52z2AO2y8tf2OzDdaSXKMC0n0gVtHrJUDaE+kiIkBiUtTt1hp7vJHMM0VtCfGA==", "integrity": "sha512-FTIcv8VGOkSnq5WGoepN+ag/DVdSVZk7pALuduxyGlErH7uzcvZD3IXHXY47ViptHQFbga2rU9SPlFmC7ttRBA==",
"requires": { "requires": {
"it-pushable": "^1.4.0" "it-pushable": "^1.4.0"
} }
@ -16064,12 +15895,6 @@
"lodash._reinterpolate": "^3.0.0" "lodash._reinterpolate": "^3.0.0"
} }
}, },
"lodash.throttle": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz",
"integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=",
"dev": true
},
"lodash.truncate": { "lodash.truncate": {
"version": "4.4.2", "version": "4.4.2",
"resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz",
@ -16944,6 +16769,11 @@
} }
} }
}, },
"noble-ed25519": {
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/noble-ed25519/-/noble-ed25519-1.2.5.tgz",
"integrity": "sha512-7vst+4UhM5QU3jJ3pUqPMKBCOePrxBojmoQa59qcSnYvjFF/T4jqb4WISlfslcWyBw7G5H9V/acpcAxMd8DzUQ=="
},
"node-addon-api": { "node-addon-api": {
"version": "2.0.2", "version": "2.0.2",
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz",
@ -19613,6 +19443,7 @@
"version": "3.6.0", "version": "3.6.0",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
"integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
"optional": true,
"requires": { "requires": {
"picomatch": "^2.2.1" "picomatch": "^2.2.1"
} }

View File

@ -4,7 +4,7 @@
"private": true, "private": true,
"dependencies": { "dependencies": {
"@fluencelabs/ipfs-execution-aqua": "file:../aqua", "@fluencelabs/ipfs-execution-aqua": "file:../aqua",
"@fluencelabs/fluence": "0.11.0", "@fluencelabs/fluence": "0.10.4-fix-null-check-416.0",
"@fluencelabs/fluence-network-environment": "1.0.10", "@fluencelabs/fluence-network-environment": "1.0.10",
"@fluencelabs/aqua-lib": "0.1.14", "@fluencelabs/aqua-lib": "0.1.14",
"@testing-library/jest-dom": "^5.14.1", "@testing-library/jest-dom": "^5.14.1",

View File

@ -4,8 +4,8 @@ import { TextWithLabel } from "./TextInput";
export const ConnectedInfo = () => { export const ConnectedInfo = () => {
const selfPeerId = useRecoilValue(selfPeerIdState); const selfPeerId = useRecoilValue(selfPeerIdState);
const client = useRecoilValue(isConnectedState); const isConnected = useRecoilValue(isConnectedState);
if (client === null) { if (!isConnected) {
return <></>; return <></>;
} }

View File

@ -23,6 +23,8 @@ import { decapsulateP2P, fromOption } from "./util";
export const relayNodes = [krasnodar[0], krasnodar[1], krasnodar[2]]; export const relayNodes = [krasnodar[0], krasnodar[1], krasnodar[2]];
const requestRpcAddr = async () => { const requestRpcAddr = async () => {
const tmp = FluencePeer.default as any;
console.dir(tmp);
let result = await get_external_api_multiaddr( let result = await get_external_api_multiaddr(
FluencePeer.default.connectionInfo.connectedRelay! FluencePeer.default.connectionInfo.connectedRelay!
); );
@ -40,9 +42,9 @@ export const useClientConnect = () => {
const connect = async (relayPeerId: string) => { const connect = async (relayPeerId: string) => {
try { try {
await FluencePeer.default.init({ connectTo: relayPeerId }); await FluencePeer.default.init({ connectTo: relayPeerId });
setIsConnected(true);
setRelay(FluencePeer.default.connectionInfo.connectedRelay); setRelay(FluencePeer.default.connectionInfo.connectedRelay);
setSelfPeerId(FluencePeer.default.connectionInfo.selfPeerId); setSelfPeerId(FluencePeer.default.connectionInfo.selfPeerId);
setIsConnected(true);
const addr = await requestRpcAddr(); const addr = await requestRpcAddr();
setRpcAddr(addr!); setRpcAddr(addr!);
} catch (err) { } catch (err) {

View File

@ -1,47 +1,52 @@
/** /**
* *
* 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.3.0-222 * 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
// Functions // Functions
export function getRelayTime(relayPeerId: string, config?: {ttl?: number}) : Promise<number>; export function getRelayTime(
export function getRelayTime(peer: FluencePeer, relayPeerId: string, config?: {ttl?: number}) : Promise<number>; relayPeerId: string,
export function getRelayTime(...args) { config?: { ttl?: number }
let peer: FluencePeer; ): Promise<number>;
let relayPeerId; export function getRelayTime(
let config; peer: FluencePeer,
if (args[0] instanceof FluencePeer) { relayPeerId: string,
peer = args[0]; config?: { ttl?: number }
relayPeerId = args[1]; ): Promise<number>;
config = args[2]; export function getRelayTime(...args) {
} else { let peer: FluencePeer;
peer = FluencePeer.default; let relayPeerId;
relayPeerId = args[0]; let config;
config = args[1]; if (FluencePeer.isInstance(args[0])) {
} peer = args[0];
relayPeerId = args[1];
let request: RequestFlow; config = args[2];
const promise = new Promise<number>((resolve, reject) => { } else {
const r = new RequestFlowBuilder() peer = FluencePeer.default;
.disableInjections() relayPeerId = args[0];
.withRawScript( config = args[1];
` }
let request: RequestFlow;
const promise = new Promise<number>((resolve, reject) => {
const r = new RequestFlowBuilder()
.disableInjections()
.withRawScript(
`
(xor (xor
(seq (seq
(seq (seq
@ -71,33 +76,34 @@ config = args[1];
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3]) (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3])
) )
`, `
) )
.configHandler((h) => { .configHandler((h) => {
h.on('getDataSrv', '-relay-', () => { h.on("getDataSrv", "-relay-", () => {
return peer.connectionInfo.connectedRelay ; return peer.connectionInfo.connectedRelay;
}); });
h.on('getDataSrv', 'relayPeerId', () => {return relayPeerId;}); h.on("getDataSrv", "relayPeerId", () => {
h.onEvent('callbackSrv', 'response', (args) => { return relayPeerId;
const [res] = args; });
resolve(res); h.onEvent("callbackSrv", "response", (args) => {
}); const [res] = args;
resolve(res);
});
h.onEvent('errorHandlingSrv', 'error', (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 getRelayTime'); reject("Request timed out for getRelayTime");
}) });
if(config && config.ttl) { if (config && config.ttl) {
r.withTTL(config.ttl) r.withTTL(config.ttl);
} }
request = r.build(); request = r.build();
}); });
peer.internals.initiateFlow(request!); peer.internals.initiateFlow(request!);
return promise; return promise;
} }

View File

@ -1,105 +1,112 @@
/** /**
* *
* 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.3.0-222 * 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 interface HelloWorldDef { export interface HelloWorldDef {
hello: (str: string, callParams: CallParams<'str'>) => void; hello: (str: string, callParams: CallParams<"str">) => void;
}
export function registerHelloWorld(service: HelloWorldDef): void;
export function registerHelloWorld(serviceId: string, service: HelloWorldDef): void;
export function registerHelloWorld(peer: FluencePeer, service: HelloWorldDef): void;
export function registerHelloWorld(peer: FluencePeer, serviceId: string, service: HelloWorldDef): void;
export function registerHelloWorld(...args) {
let peer: FluencePeer;
let serviceId;
let service;
if (args[0] instanceof FluencePeer) {
peer = args[0];
} else {
peer = FluencePeer.default;
}
if (typeof args[0] === 'string') {
serviceId = args[0];
} else if (typeof args[1] === 'string') {
serviceId = args[1];
}
else {
serviceId = "hello-world"
} }
if (!(args[0] instanceof FluencePeer) && typeof args[0] === 'object') { export function registerHelloWorld(service: HelloWorldDef): void;
service = args[0]; export function registerHelloWorld(
} else if (typeof args[1] === 'object') { serviceId: string,
service = args[1]; service: HelloWorldDef
} else { ): void;
service = args[2]; export function registerHelloWorld(
peer: FluencePeer,
service: HelloWorldDef
): void;
export function registerHelloWorld(
peer: FluencePeer,
serviceId: string,
service: HelloWorldDef
): void;
export function registerHelloWorld(...args) {
let peer: FluencePeer;
let serviceId;
let service;
if (FluencePeer.isInstance(args[0])) {
peer = args[0];
} else {
peer = FluencePeer.default;
}
if (typeof args[0] === "string") {
serviceId = args[0];
} else if (typeof args[1] === "string") {
serviceId = args[1];
} else {
serviceId = "hello-world";
}
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === "object") {
service = args[0];
} else if (typeof args[1] === "object") {
service = args[1];
} else {
service = args[2];
}
peer.internals.callServiceHandler.use((req, resp, next) => {
if (req.serviceId !== serviceId) {
next();
return;
} }
peer.internals.callServiceHandler.use((req, resp, next) => { if (req.fnName === "hello") {
if (req.serviceId !== serviceId) { const callParams = {
next(); ...req.particleContext,
return; tetraplets: {
} str: req.tetraplets[0],
},
};
if (req.fnName === 'hello') { resp.retCode = ResultCodes.success;
service.hello(req.args[0], callParams);
const callParams = { resp.result = {};
...req.particleContext, }
tetraplets: {
str: req.tetraplets[0]
},
};
resp.retCode = ResultCodes.success;
service.hello(req.args[0], callParams); resp.result = {}
} next();
});
}
next();
});
}
// Functions // Functions
export function sayHello(config?: {ttl?: number}) : Promise<void>; export function sayHello(config?: { ttl?: number }): Promise<void>;
export function sayHello(peer: FluencePeer, config?: {ttl?: number}) : Promise<void>; export function sayHello(
export function sayHello(...args) { peer: FluencePeer,
let peer: FluencePeer; config?: { ttl?: number }
): Promise<void>;
let config; export function sayHello(...args) {
if (args[0] instanceof FluencePeer) { let peer: FluencePeer;
peer = args[0];
config = args[1]; let config;
} else { if (FluencePeer.isInstance(args[0])) {
peer = FluencePeer.default; peer = args[0];
config = args[0]; config = args[1];
} } else {
peer = FluencePeer.default;
let request: RequestFlow; config = args[0];
const promise = new Promise<void>((resolve, reject) => { }
const r = new RequestFlowBuilder()
.disableInjections() let request: RequestFlow;
.withRawScript( const promise = new Promise<void>((resolve, reject) => {
` const r = new RequestFlowBuilder()
.disableInjections()
.withRawScript(
`
(xor (xor
(seq (seq
(call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-)
@ -108,32 +115,29 @@ export function registerHelloWorld(peer: FluencePeer, serviceId: string, service
(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-', () => { h.on("getDataSrv", "-relay-", () => {
return peer.connectionInfo.connectedRelay ; return peer.connectionInfo.connectedRelay;
}); });
h.onEvent('callbackSrv', 'response', (args) => {
});
h.onEvent('errorHandlingSrv', 'error', (args) => { h.onEvent("callbackSrv", "response", (args) => {});
const [err] = args;
reject(err); h.onEvent("errorHandlingSrv", "error", (args) => {
}); const [err] = args;
}) reject(err);
.handleScriptError(reject) });
.handleTimeout(() => { })
reject('Request timed out for sayHello'); .handleScriptError(reject)
}) .handleTimeout(() => {
if(config && config.ttl) { reject("Request timed out for sayHello");
r.withTTL(config.ttl) });
} if (config && config.ttl) {
request = r.build(); r.withTTL(config.ttl);
}); }
peer.internals.initiateFlow(request!); request = r.build();
return Promise.race([promise, Promise.resolve()]); });
peer.internals.initiateFlow(request!);
return Promise.race([promise, Promise.resolve()]);
} }

View File

@ -37,7 +37,7 @@ export function registerCalc(...args) {
let peer: FluencePeer; let peer: FluencePeer;
let serviceId; let serviceId;
let service; let service;
if (args[0] instanceof FluencePeer) { if (FluencePeer.isInstance(args[0])) {
peer = args[0]; peer = args[0];
} else { } else {
peer = FluencePeer.default; peer = FluencePeer.default;
@ -51,7 +51,7 @@ export function registerCalc(...args) {
serviceId = "calc"; serviceId = "calc";
} }
if (!(args[0] instanceof FluencePeer) && typeof args[0] === "object") { if (!FluencePeer.isInstance(args[0]) && 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];

View File

@ -1,45 +1,46 @@
/** /**
* *
* 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.3.0-222 * 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
// Functions // Functions
export function demoCalculation(config?: {ttl?: number}) : Promise<number>; export function demoCalculation(config?: { ttl?: number }): Promise<number>;
export function demoCalculation(peer: FluencePeer, config?: {ttl?: number}) : Promise<number>; export function demoCalculation(
export function demoCalculation(...args) { peer: FluencePeer,
let peer: FluencePeer; config?: { ttl?: number }
): Promise<number>;
let config; export function demoCalculation(...args) {
if (args[0] instanceof FluencePeer) { let peer: FluencePeer;
peer = args[0];
config = args[1]; let config;
} else { if (FluencePeer.isInstance(args[0])) {
peer = FluencePeer.default; peer = args[0];
config = args[0]; config = args[1];
} } else {
peer = FluencePeer.default;
let request: RequestFlow; config = args[0];
const promise = new Promise<number>((resolve, reject) => { }
const r = new RequestFlowBuilder()
.disableInjections() let request: RequestFlow;
.withRawScript( const promise = new Promise<number>((resolve, reject) => {
` const r = new RequestFlowBuilder()
.disableInjections()
.withRawScript(
`
(xor (xor
(seq (seq
(seq (seq
@ -90,33 +91,32 @@ import {
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3]) (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3])
) )
`, `
) )
.configHandler((h) => { .configHandler((h) => {
h.on('getDataSrv', '-relay-', () => { h.on("getDataSrv", "-relay-", () => {
return peer.connectionInfo.connectedRelay ; return peer.connectionInfo.connectedRelay;
}); });
h.onEvent('callbackSrv', 'response', (args) => {
const [res] = args;
resolve(res);
});
h.onEvent('errorHandlingSrv', 'error', (args) => { h.onEvent("callbackSrv", "response", (args) => {
const [err] = args; const [res] = args;
reject(err); resolve(res);
}); });
})
.handleScriptError(reject) h.onEvent("errorHandlingSrv", "error", (args) => {
.handleTimeout(() => { const [err] = args;
reject('Request timed out for demoCalculation'); reject(err);
}) });
if(config && config.ttl) { })
r.withTTL(config.ttl) .handleScriptError(reject)
} .handleTimeout(() => {
request = r.build(); reject("Request timed out for demoCalculation");
}); });
peer.internals.initiateFlow(request!); if (config && config.ttl) {
return promise; r.withTTL(config.ttl);
}
request = r.build();
});
peer.internals.initiateFlow(request!);
return promise;
} }

View File

@ -38,7 +38,7 @@ export function registerHelloPeer(...args: any) {
let peer: FluencePeer; let peer: FluencePeer;
let serviceId: any; let serviceId: any;
let service: any; let service: any;
if (args[0] instanceof FluencePeer) { if (FluencePeer.isInstance(args[0])) {
peer = args[0]; peer = args[0];
} else { } else {
peer = FluencePeer.default; peer = FluencePeer.default;
@ -52,7 +52,7 @@ export function registerHelloPeer(...args: any) {
serviceId = "HelloPeer"; serviceId = "HelloPeer";
} }
if (!(args[0] instanceof FluencePeer) && typeof args[0] === "object") { if (!FluencePeer.isInstance(args[0]) && 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];
@ -99,7 +99,7 @@ export function sayHello(...args: any) {
let targetPeerId: any; let targetPeerId: any;
let targetRelayPeerId: any; let targetRelayPeerId: any;
let config: any; let config: any;
if (args[0] instanceof FluencePeer) { if (FluencePeer.isInstance(args[0])) {
peer = args[0]; peer = args[0];
targetPeerId = args[1]; targetPeerId = args[1];
targetRelayPeerId = args[2]; targetRelayPeerId = args[2];

View File

@ -1,167 +1,183 @@
/** /**
* *
* 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.3.0-224 * Aqua version: 0.3.0-224
* *
*/ */
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 interface HelloWorldDef { export interface HelloWorldDef {
hello: (from: string, callParams: CallParams<'from'>) => {msg:string;reply:string}; hello: (
} from: string,
callParams: CallParams<"from">
export function registerHelloWorld(serviceId: string, service: HelloWorldDef): void; ) => { msg: string; reply: string };
export function registerHelloWorld(peer: FluencePeer, serviceId: string, service: HelloWorldDef): void;
export function registerHelloWorld(...args: any) {
let peer: FluencePeer;
let serviceId: any;
let service: any;
if (args[0] instanceof FluencePeer) {
peer = args[0];
} else {
peer = FluencePeer.default;
}
if (typeof args[0] === 'string') {
serviceId = args[0];
} else if (typeof args[1] === 'string') {
serviceId = args[1];
}
if (!(args[0] instanceof FluencePeer) && typeof args[0] === 'object') {
service = args[0];
} else if (typeof args[1] === 'object') {
service = args[1];
} else {
service = args[2];
}
peer.internals.callServiceHandler.use((req, resp, next) => {
if (req.serviceId !== serviceId) {
next();
return;
}
if (req.fnName === 'hello') {
const callParams = {
...req.particleContext,
tetraplets: {
from: req.tetraplets[0]
},
};
resp.retCode = ResultCodes.success;
resp.result = service.hello(req.args[0], callParams)
}
next();
});
}
export interface HelloPeerDef {
hello: (message: string, callParams: CallParams<'message'>) => string;
}
export function registerHelloPeer(service: HelloPeerDef): void;
export function registerHelloPeer(serviceId: string, service: HelloPeerDef): void;
export function registerHelloPeer(peer: FluencePeer, service: HelloPeerDef): void;
export function registerHelloPeer(peer: FluencePeer, serviceId: string, service: HelloPeerDef): void;
export function registerHelloPeer(...args: any) {
let peer: FluencePeer;
let serviceId: any;
let service: any;
if (args[0] instanceof FluencePeer) {
peer = args[0];
} else {
peer = FluencePeer.default;
}
if (typeof args[0] === 'string') {
serviceId = args[0];
} else if (typeof args[1] === 'string') {
serviceId = args[1];
}
else {
serviceId = "HelloPeer"
} }
if (!(args[0] instanceof FluencePeer) && typeof args[0] === 'object') { export function registerHelloWorld(
service = args[0]; serviceId: string,
} else if (typeof args[1] === 'object') { service: HelloWorldDef
service = args[1]; ): void;
} else { export function registerHelloWorld(
service = args[2]; peer: FluencePeer,
serviceId: string,
service: HelloWorldDef
): void;
export function registerHelloWorld(...args: any) {
let peer: FluencePeer;
let serviceId: any;
let service: any;
if (FluencePeer.isInstance(args[0])) {
peer = args[0];
} else {
peer = FluencePeer.default;
}
if (typeof args[0] === "string") {
serviceId = args[0];
} else if (typeof args[1] === "string") {
serviceId = args[1];
}
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === "object") {
service = args[0];
} else if (typeof args[1] === "object") {
service = args[1];
} else {
service = args[2];
}
peer.internals.callServiceHandler.use((req, resp, next) => {
if (req.serviceId !== serviceId) {
next();
return;
} }
peer.internals.callServiceHandler.use((req, resp, next) => { if (req.fnName === "hello") {
if (req.serviceId !== serviceId) { const callParams = {
next(); ...req.particleContext,
return; tetraplets: {
} from: req.tetraplets[0],
},
};
if (req.fnName === 'hello') { resp.retCode = ResultCodes.success;
resp.result = service.hello(req.args[0], callParams);
const callParams = { }
...req.particleContext,
tetraplets: {
message: req.tetraplets[0]
},
};
resp.retCode = ResultCodes.success;
resp.result = service.hello(req.args[0], callParams)
} next();
});
}
next();
}); export interface HelloPeerDef {
} hello: (message: string, callParams: CallParams<"message">) => string;
}
export function registerHelloPeer(service: HelloPeerDef): void;
export function registerHelloPeer(
serviceId: string,
service: HelloPeerDef
): void;
export function registerHelloPeer(
peer: FluencePeer,
service: HelloPeerDef
): void;
export function registerHelloPeer(
peer: FluencePeer,
serviceId: string,
service: HelloPeerDef
): void;
export function registerHelloPeer(...args: any) {
let peer: FluencePeer;
let serviceId: any;
let service: any;
if (FluencePeer.isInstance(args[0])) {
peer = args[0];
} else {
peer = FluencePeer.default;
}
if (typeof args[0] === "string") {
serviceId = args[0];
} else if (typeof args[1] === "string") {
serviceId = args[1];
} else {
serviceId = "HelloPeer";
}
if (!FluencePeer.isInstance(args[0]) && typeof args[0] === "object") {
service = args[0];
} else if (typeof args[1] === "object") {
service = args[1];
} else {
service = args[2];
}
peer.internals.callServiceHandler.use((req, resp, next) => {
if (req.serviceId !== serviceId) {
next();
return;
}
if (req.fnName === "hello") {
const callParams = {
...req.particleContext,
tetraplets: {
message: req.tetraplets[0],
},
};
resp.retCode = ResultCodes.success;
resp.result = service.hello(req.args[0], callParams);
}
next();
});
}
// Functions // Functions
export function sayHello(targetPeerId: string, targetRelayPeerId: string, config?: {ttl?: number}) : Promise<string>; export function sayHello(
export function sayHello(peer: FluencePeer, targetPeerId: string, targetRelayPeerId: string, config?: {ttl?: number}) : Promise<string>; targetPeerId: string,
export function sayHello(...args: any) { targetRelayPeerId: string,
let peer: FluencePeer; config?: { ttl?: number }
let targetPeerId: any; ): Promise<string>;
let targetRelayPeerId: any; export function sayHello(
let config: any; peer: FluencePeer,
if (args[0] instanceof FluencePeer) { targetPeerId: string,
peer = args[0]; targetRelayPeerId: string,
targetPeerId = args[1]; config?: { ttl?: number }
targetRelayPeerId = args[2]; ): Promise<string>;
config = args[3]; export function sayHello(...args: any) {
} else { let peer: FluencePeer;
peer = FluencePeer.default; let targetPeerId: any;
targetPeerId = args[0]; let targetRelayPeerId: any;
targetRelayPeerId = args[1]; let config: any;
config = args[2]; if (FluencePeer.isInstance(args[0])) {
} peer = args[0];
targetPeerId = args[1];
let request: RequestFlow; targetRelayPeerId = args[2];
const promise = new Promise<string>((resolve, reject) => { config = args[3];
const r = new RequestFlowBuilder() } else {
.disableInjections() peer = FluencePeer.default;
.withRawScript( targetPeerId = args[0];
` targetRelayPeerId = args[1];
config = args[2];
}
let request: RequestFlow;
const promise = new Promise<string>((resolve, reject) => {
const r = new RequestFlowBuilder()
.disableInjections()
.withRawScript(
`
(xor (xor
(seq (seq
(seq (seq
@ -215,34 +231,37 @@ config = args[2];
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 4]) (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 4])
) )
`, `
) )
.configHandler((h) => { .configHandler((h) => {
h.on('getDataSrv', '-relay-', () => { h.on("getDataSrv", "-relay-", () => {
return peer.connectionInfo.connectedRelay ; return peer.connectionInfo.connectedRelay;
}); });
h.on('getDataSrv', 'targetPeerId', () => {return targetPeerId;}); h.on("getDataSrv", "targetPeerId", () => {
h.on('getDataSrv', 'targetRelayPeerId', () => {return targetRelayPeerId;}); return targetPeerId;
h.onEvent('callbackSrv', 'response', (args) => { });
const [res] = args; h.on("getDataSrv", "targetRelayPeerId", () => {
resolve(res); return targetRelayPeerId;
}); });
h.onEvent("callbackSrv", "response", (args) => {
const [res] = args;
resolve(res);
});
h.onEvent('errorHandlingSrv', 'error', (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();
}); });
peer.internals.initiateFlow(request!); peer.internals.initiateFlow(request!);
return promise; return promise;
} }