Merge branch 'master' into aqua-types

This commit is contained in:
Pavel Murygin 2021-06-22 18:47:46 +03:00
commit efb216f487
9 changed files with 201 additions and 338 deletions

View File

@ -8,5 +8,5 @@
encode zstd gzip
file_server
root * /dist
# try_files {path} /index.html
try_files {path} /index.html
}

View File

@ -1,20 +1,10 @@
FROM caddy
FROM caddy:2.4.0
WORKDIR /
COPY ./dist /dist
COPY Caddyfile /Caddyfile
#RUN printf '\n\
#dash.fluence.dev {\n\
# try_files /bundle/{path} /bundle/index.html?{query}&p={path}\n\
#}\n\
#'\
#>> /tmp/hello
#RUN echo 'try_files /bundle/{path} /bundle/index.html?{query}&p={path}' > Caddyfile
VOLUME /data
#CMD ["caddy", "file-server", "--root", "/bundle", "--browse"]
CMD ["caddy", "run", "--config", "/Caddyfile"]
# DO NOT FORGET TO USE VOLUME OR CERTBOT WILL BAN: -v caddy_data:/data

4
env/env.json vendored Normal file
View File

@ -0,0 +1,4 @@
{
"nodes": [],
"logLevel": "error"
}

View File

@ -24,6 +24,7 @@
gtag('js', new Date());
gtag('config', 'G-6ZTQKE1D4L');
</script>
<script id="env" type="application/json" src="env/env.json"></script>
<div id="root"></div>
</body>
</html>

12
package-lock.json generated
View File

@ -998,15 +998,15 @@
}
},
"@fluencelabs/aqua-cli": {
"version": "0.1.6-149",
"resolved": "https://registry.npmjs.org/@fluencelabs/aqua-cli/-/aqua-cli-0.1.6-149.tgz",
"integrity": "sha512-CTKZKYLTapmuTh6J2e9rhwqs2SpifhfAqabYTwdWPuOER+W9w+7RY/rRvy9kaENT8i1fQsmY/5zTrbyUHfOPIQ==",
"version": "0.1.7-153",
"resolved": "https://registry.npmjs.org/@fluencelabs/aqua-cli/-/aqua-cli-0.1.7-153.tgz",
"integrity": "sha512-/4z8QbA9RJZMaRIjy+Q1ZAiT8HIHONUGOG87YWaRb9O1uBHY1o/Onorx/kIlSXAF8+0N0EI/CVkhWWIrYMy9HQ==",
"dev": true
},
"@fluencelabs/aqua-lib": {
"version": "0.1.6",
"resolved": "https://registry.npmjs.org/@fluencelabs/aqua-lib/-/aqua-lib-0.1.6.tgz",
"integrity": "sha512-SMl6eFvI/6DIMu5RsLk5Uy3HIvy/CIkvbIhSYAba/UMVMc/Yszm6L6FvNXp5R/wogRXtFdZ3WCF7NVPgyiYmRA==",
"version": "0.1.5",
"resolved": "https://registry.npmjs.org/@fluencelabs/aqua-lib/-/aqua-lib-0.1.5.tgz",
"integrity": "sha512-0f5Lo9NT4ZvN+S/oGYiNxLUtpZsTfDy2qL0D4SFPVoj2+YPPK2PKSzZnja2clfM1KHHP6kT6Jd20sHVBIxBMtw==",
"dev": true
},
"@fluencelabs/avm": {

View File

@ -39,8 +39,8 @@
"devDependencies": {
"@babel/core": "^7.11.6",
"@babel/preset-env": "^7.11.5",
"@fluencelabs/aqua-cli": "^0.1.6-149",
"@fluencelabs/aqua-lib": "^0.1.6",
"@fluencelabs/aqua-cli": "^0.1.7-153",
"@fluencelabs/aqua-lib": "^0.1.5",
"@types/yup": "^0.29.11",
"babel-loader": "^8.1.0",
"chokidar-cli": "^2.1.0",

View File

@ -3,84 +3,13 @@
* This file is auto-generated. Do not edit manually: changes may be erased.
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
* Aqua version: 0.1.6-149
* Aqua version: 0.1.7-153
*
*/
import { RequestFlowBuilder } from '@fluencelabs/fluence/dist/api.unstable';
export async function collectServiceInterfaces(client, peer, services) {
let request;
const promise = new Promise((resolve, reject) => {
request = new RequestFlowBuilder()
.disableInjections()
.withRawScript(
`
(xor
(seq
(seq
(seq
(call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-)
(call %init_peer_id% ("getDataSrv" "peer") [] peer)
)
(call %init_peer_id% ("getDataSrv" "services") [] services)
)
(fold services srv
(par
(seq
(seq
(seq
(call -relay- ("op" "identity") [])
(xor
(call peer ("srv" "get_interface") [srv.$.id!] iface)
(seq
(seq
(call -relay- ("op" "identity") [])
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1])
)
(call -relay- ("op" "identity") [])
)
)
)
(call -relay- ("op" "identity") [])
)
(call %init_peer_id% ("event" "collectServiceInterface") [peer srv.$.id! iface])
)
(next srv)
)
)
)
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2])
)
`,
)
.configHandler((h) => {
h.on('getDataSrv', '-relay-', () => {
return client.relayPeerId;
});
h.on('getDataSrv', 'peer', () => {return peer;});
h.on('getDataSrv', 'services', () => {return services;});
h.onEvent('errorHandlingSrv', 'error', (args) => {
// assuming error is the single argument
const [err] = args;
reject(err);
});
})
.handleScriptError(reject)
.handleTimeout(() => {
reject('Request timed out for collectServiceInterfaces');
})
.build();
});
await client.initiateFlow(request);
return Promise.race([promise, Promise.resolve()]);
}
export async function askAllAndSend(client, peer) {
let request;
const promise = new Promise((resolve, reject) => {
@ -97,7 +26,7 @@ export async function askAllAndSend(client, peer) {
(call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-)
(call %init_peer_id% ("getDataSrv" "peer") [] peer)
)
(call -relay- ("op" "identity") [])
(call -relay- ("op" "noop") [])
)
(xor
(seq
@ -111,42 +40,16 @@ export async function askAllAndSend(client, peer) {
(call peer ("srv" "list") [] services)
)
(seq
(seq
(call -relay- ("op" "identity") [])
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1])
)
(call -relay- ("op" "identity") [])
(call -relay- ("op" "noop") [])
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1])
)
)
)
(call -relay- ("op" "identity") [])
)
(fold services srv
(par
(seq
(seq
(seq
(call -relay- ("op" "identity") [])
(xor
(call peer ("srv" "get_interface") [srv.$.id!] iface)
(seq
(seq
(call -relay- ("op" "identity") [])
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2])
)
(call -relay- ("op" "identity") [])
)
)
)
(call -relay- ("op" "identity") [])
)
(call %init_peer_id% ("event" "collectServiceInterface") [peer srv.$.id! iface])
)
(next srv)
)
(call -relay- ("op" "noop") [])
)
(call %init_peer_id% ("event" "all_info") [peer ident services blueprints modules])
)
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3])
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2])
)
`,
@ -192,7 +95,7 @@ export async function findAndAskNeighboursSchema(client, relayPeerId, clientId)
)
(call %init_peer_id% ("getDataSrv" "clientId") [] clientId)
)
(call -relay- ("op" "identity") [])
(call -relay- ("op" "noop") [])
)
(xor
(seq
@ -203,7 +106,7 @@ export async function findAndAskNeighboursSchema(client, relayPeerId, clientId)
(seq
(call n ("kad" "neighborhood") [clientId false] neighbors2)
(fold neighbors2 n2
(par
(seq
(seq
(xor
(seq
@ -218,60 +121,31 @@ export async function findAndAskNeighboursSchema(client, relayPeerId, clientId)
)
(seq
(seq
(call -relay- ("op" "identity") [])
(call -relay- ("op" "noop") [])
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1])
)
(call -relay- ("op" "identity") [])
)
)
(fold services srv
(par
(seq
(xor
(call n2 ("srv" "get_interface") [srv.$.id!] iface)
(seq
(seq
(call -relay- ("op" "identity") [])
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2])
)
(call -relay- ("op" "identity") [])
)
)
(call n ("event" "collectServiceInterface") [n2 srv.$.id! iface])
)
(next srv)
(call -relay- ("op" "noop") [])
)
)
(call n ("event" "all_info") [n2 ident services blueprints modules])
)
(next n2)
)
)
)
(seq
(seq
(call -relay- ("op" "identity") [])
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3])
)
(call -relay- ("op" "identity") [])
(call -relay- ("op" "noop") [])
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2])
)
)
(next n)
)
)
)
(seq
(seq
(call -relay- ("op" "identity") [])
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 4])
)
(call -relay- ("op" "identity") [])
)
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3])
)
)
(seq
(call -relay- ("op" "identity") [])
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 5])
)
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 4])
)
`,
@ -312,203 +186,122 @@ export async function getAll(client, relayPeerId, knownPeers) {
(seq
(seq
(seq
(call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-)
(call %init_peer_id% ("getDataSrv" "relayPeerId") [] relayPeerId)
)
(call %init_peer_id% ("getDataSrv" "knownPeers") [] knownPeers)
)
(par
(par
(seq
(seq
(call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-)
(call %init_peer_id% ("getDataSrv" "relayPeerId") [] relayPeerId)
)
(call %init_peer_id% ("getDataSrv" "knownPeers") [] knownPeers)
)
(par
(seq
(seq
(call -relay- ("op" "noop") [])
(xor
(seq
(seq
(seq
(call relayPeerId ("peer" "identify") [] ident)
(call relayPeerId ("dist" "list_blueprints") [] blueprints)
)
(call relayPeerId ("dist" "list_modules") [] modules)
)
(call relayPeerId ("srv" "list") [] services)
)
(seq
(call -relay- ("op" "noop") [])
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1])
)
)
)
(call -relay- ("op" "noop") [])
)
(call %init_peer_id% ("event" "all_info") [relayPeerId ident services blueprints modules])
)
(fold knownPeers peer
(par
(seq
(seq
(call -relay- ("op" "identity") [])
(seq
(call -relay- ("op" "noop") [])
(xor
(seq
(seq
(seq
(call peer ("peer" "identify") [] ident0)
(call peer ("dist" "list_blueprints") [] blueprints0)
)
(call peer ("dist" "list_modules") [] modules0)
)
(call peer ("srv" "list") [] services0)
)
(seq
(call -relay- ("op" "noop") [])
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2])
)
)
)
(call -relay- ("op" "noop") [])
)
(call %init_peer_id% ("event" "all_info") [peer ident0 services0 blueprints0 modules0])
)
(next peer)
)
)
)
(seq
(call -relay- ("op" "noop") [])
(xor
(seq
(call relayPeerId ("kad" "neighborhood") [%init_peer_id% false] neighbors)
(fold neighbors n
(par
(xor
(seq
(seq
(seq
(call relayPeerId ("peer" "identify") [] ident)
(call relayPeerId ("dist" "list_blueprints") [] blueprints)
)
(call relayPeerId ("dist" "list_modules") [] modules)
)
(call relayPeerId ("srv" "list") [] services)
)
(seq
(seq
(call -relay- ("op" "identity") [])
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1])
)
(call -relay- ("op" "identity") [])
)
)
)
(call -relay- ("op" "identity") [])
)
(fold services srv
(par
(seq
(seq
(seq
(call -relay- ("op" "identity") [])
(xor
(call relayPeerId ("srv" "get_interface") [srv.$.id!] iface)
(seq
(seq
(call -relay- ("op" "identity") [])
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2])
)
(call -relay- ("op" "identity") [])
)
)
)
(call -relay- ("op" "identity") [])
)
(call %init_peer_id% ("event" "collectServiceInterface") [relayPeerId srv.$.id! iface])
)
(next srv)
)
)
)
(fold knownPeers peer
(par
(seq
(seq
(seq
(call -relay- ("op" "identity") [])
(xor
(call n ("kad" "neighborhood") [%init_peer_id% false] neighbors2)
(fold neighbors2 n2
(seq
(seq
(seq
(call peer ("peer" "identify") [] ident0)
(call peer ("dist" "list_blueprints") [] blueprints0)
)
(call peer ("dist" "list_modules") [] modules0)
)
(call peer ("srv" "list") [] services0)
)
(seq
(seq
(call -relay- ("op" "identity") [])
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3])
)
(call -relay- ("op" "identity") [])
)
)
)
(call -relay- ("op" "identity") [])
)
(fold services0 srv0
(par
(seq
(seq
(seq
(call -relay- ("op" "identity") [])
(xor
(call peer ("srv" "get_interface") [srv0.$.id!] iface0)
(seq
(seq
(call -relay- ("op" "identity") [])
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 4])
)
(call -relay- ("op" "identity") [])
)
)
)
(call -relay- ("op" "identity") [])
)
(call %init_peer_id% ("event" "collectServiceInterface") [peer srv0.$.id! iface0])
)
(next srv0)
)
)
)
(next peer)
)
)
)
)
(call -relay- ("op" "identity") [])
)
(xor
(seq
(call relayPeerId ("kad" "neighborhood") [%init_peer_id% false] neighbors)
(fold neighbors n
(par
(xor
(seq
(call n ("kad" "neighborhood") [%init_peer_id% false] neighbors2)
(fold neighbors2 n2
(par
(seq
(xor
(seq
(seq
(seq
(call n2 ("peer" "identify") [] ident1)
(call n2 ("dist" "list_blueprints") [] blueprints1)
)
(call n2 ("dist" "list_modules") [] modules1)
)
(call n2 ("srv" "list") [] services1)
)
(seq
(seq
(call -relay- ("op" "identity") [])
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 5])
)
(call -relay- ("op" "identity") [])
)
)
(fold services1 srv1
(par
(seq
(xor
(call n2 ("srv" "get_interface") [srv1.$.id!] iface1)
(seq
(seq
(call -relay- ("op" "identity") [])
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 6])
(call n2 ("peer" "identify") [] ident1)
(call n2 ("dist" "list_blueprints") [] blueprints1)
)
(call -relay- ("op" "identity") [])
(call n2 ("dist" "list_modules") [] modules1)
)
(call n2 ("srv" "list") [] services1)
)
(seq
(seq
(call -relay- ("op" "noop") [])
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3])
)
(call -relay- ("op" "noop") [])
)
(call n ("event" "collectServiceInterface") [n2 srv1.$.id! iface1])
)
(next srv1)
(call n ("event" "all_info") [n2 ident1 services1 blueprints1 modules1])
)
(next n2)
)
)
(next n2)
)
(seq
(call -relay- ("op" "noop") [])
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 4])
)
)
)
(seq
(seq
(call -relay- ("op" "identity") [])
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 7])
)
(call -relay- ("op" "identity") [])
(next n)
)
)
(next n)
)
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 5])
)
)
(seq
(seq
(call -relay- ("op" "identity") [])
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 8])
)
(call -relay- ("op" "identity") [])
)
)
)
(seq
(call -relay- ("op" "identity") [])
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 9])
)
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 6])
)
`,

View File

@ -19,6 +19,7 @@ import 'css-spinners/dist/all.min.css';
import './main.css';
// eslint-disable-next-line import/no-extraneous-dependencies
import log from 'loglevel';
import Multiaddr from 'multiaddr';
import { dev, krasnodar } from '@fluencelabs/fluence-network-environment';
import {
createClient,
@ -33,12 +34,83 @@ import * as serviceWorker from './serviceWorker';
import { interfaceInfo, peerInfo } from './types';
import { getAll } from './_aqua/app';
const relayIdx = 3;
const defaultNetworkName = 'krasnodar';
const relays = krasnodar;
// const relays = dev;
const defaultEnv = {
relays: krasnodar,
relayIdx: 3,
logLevel: 'error',
};
function genFlags(peerId) {
async function loadScript(script) {
return new Promise((resolve, reject) => {
var xhr = new XMLHttpRequest();
xhr.open('GET', script.src);
xhr.onreadystatechange = function () {
if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {
resolve(xhr.responseText);
}
};
xhr.onerror = reject;
xhr.onabort = reject;
xhr.send();
});
}
function isMultiaddr(multiaddr) {
try {
Multiaddr(multiaddr);
return true;
} catch (error) {
return false;
}
}
async function initEnvironment() {
try {
const script = document.getElementById('env');
if (!script) {
console.log("Couldn't load environment, falling back to default (${defaultNetworkName})");
return defaultEnv;
}
const scriptContent = await loadScript(script);
const envWrapper = JSON.parse(scriptContent);
const res = { ...defaultEnv };
const data = envWrapper ? envWrapper.nodes : [];
if (data.length === 0) {
console.log(`Environment is empty, falling back to default (${defaultNetworkName})`);
} else {
data.forEach((element) => {
if (!element.multiaddr) {
console.error('multiaddr field is missing for ', element);
}
if (!element.peerId) {
console.error('peerId field is missing for ', element);
}
if (!isMultiaddr(element.multiaddr)) {
console.error(`Value ${element.multiaddr} is not a correct multiaddr`);
}
});
res.relays = data;
res.relayIdx = 0;
}
if (envWrapper.logLevel !== undefined) {
res.logLevel = envWrapper.logLevel;
}
return res;
} catch (error) {
console.error("Couldn't parse environment, error: ", error);
}
return defaultEnv;
}
function genFlags(peerId, relays, relayIdx) {
return {
peerId,
relayId: relays[relayIdx].peerId,
@ -47,10 +119,10 @@ function genFlags(peerId) {
}
(async () => {
setLogLevel('ERROR');
const { relays, relayIdx, logLevel } = await initEnvironment();
setLogLevel(logLevel);
const pid = await generatePeerId();
const flags = genFlags(pid.toB58String());
const flags = genFlags(pid.toB58String(), relays, relayIdx);
console.log(`connect with client: ${pid.toB58String()}`);
// If the relay is ever changed, an event shall be sent to elm

View File

@ -40,6 +40,9 @@ var common = {
{
from: 'favicon.ico',
},
{
from: './env/*.*',
},
],
}),
],