mirror of
https://github.com/fluencelabs/dashboard
synced 2024-12-04 23:30:20 +00:00
Update JS SDK version (#24)
This commit is contained in:
parent
5335cd1547
commit
2552c842b1
@ -21,10 +21,10 @@ func askAllAndSend(peer: PeerId, collectPeerInfo: PeerInfoCb, collectServiceInte
|
|||||||
|
|
||||||
func findAndAskNeighboursSchema(relayPeerId: PeerId, clientId: PeerId, collectPeerInfo: PeerInfoCb, collectServiceInterface: ServiceInterfaceCb):
|
func findAndAskNeighboursSchema(relayPeerId: PeerId, clientId: PeerId, collectPeerInfo: PeerInfoCb, collectServiceInterface: ServiceInterfaceCb):
|
||||||
on relayPeerId:
|
on relayPeerId:
|
||||||
neighbors <- Kademlia.neighborhood(clientId, false)
|
neighbors <- Kademlia.neighborhood(clientId, nil, nil)
|
||||||
for n <- neighbors par:
|
for n <- neighbors par:
|
||||||
on n:
|
on n:
|
||||||
neighbors2 <- Kademlia.neighborhood(clientId, false)
|
neighbors2 <- Kademlia.neighborhood(clientId, nil, nil)
|
||||||
for n2 <- neighbors2 par:
|
for n2 <- neighbors2 par:
|
||||||
askAllAndSend(n2, collectPeerInfo, collectServiceInterface)
|
askAllAndSend(n2, collectPeerInfo, collectServiceInterface)
|
||||||
|
|
||||||
|
80
package-lock.json
generated
80
package-lock.json
generated
@ -1030,10 +1030,10 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@fluencelabs/aqua-cli": {
|
"@fluencelabs/aqua": {
|
||||||
"version": "0.2.0-208",
|
"version": "0.3.0-222",
|
||||||
"resolved": "https://registry.npmjs.org/@fluencelabs/aqua-cli/-/aqua-cli-0.2.0-208.tgz",
|
"resolved": "https://registry.npmjs.org/@fluencelabs/aqua/-/aqua-0.3.0-222.tgz",
|
||||||
"integrity": "sha512-IQ2loGZo/kGi1KmCeoNZWXTrzZFd7AdD4b8hvZdvFkRBCAmOz2Hx/6/b7SnTDjR7qcHvxWlSR1h9QcAgsjOLUg==",
|
"integrity": "sha512-dwBPNoE490LX9CRssNyz3nHKgpxwYvkRIhmTbjbFYXknzZWN18vx6WseD9tuzIFnlXdsJ/MoUhNZAxmT+VPhiw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@fluencelabs/aqua-lib": {
|
"@fluencelabs/aqua-lib": {
|
||||||
@ -1043,9 +1043,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@fluencelabs/avm": {
|
"@fluencelabs/avm": {
|
||||||
"version": "0.14.1",
|
"version": "0.14.4",
|
||||||
"resolved": "https://registry.npmjs.org/@fluencelabs/avm/-/avm-0.14.1.tgz",
|
"resolved": "https://registry.npmjs.org/@fluencelabs/avm/-/avm-0.14.4.tgz",
|
||||||
"integrity": "sha512-8up8exmCpEBhv0nlXlJiFN76yk3xK36AZPjah1KEYLqbIqdPtU78S2Brp4qctLLw9Pnl766U9bW7md+1SQYdWw==",
|
"integrity": "sha512-XyR+1H5k0CAc+mDHOkl81viX8XeW1Yqbw793xbsfUfju5bUb/hqk+gHv3q8lAFdbrCG5P45gdOT08a5RNODZaQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"base64-js": "1.5.1"
|
"base64-js": "1.5.1"
|
||||||
},
|
},
|
||||||
@ -1058,14 +1058,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@fluencelabs/fluence": {
|
"@fluencelabs/fluence": {
|
||||||
"version": "0.10.0",
|
"version": "0.11.0",
|
||||||
"resolved": "https://registry.npmjs.org/@fluencelabs/fluence/-/fluence-0.10.0.tgz",
|
"resolved": "https://registry.npmjs.org/@fluencelabs/fluence/-/fluence-0.11.0.tgz",
|
||||||
"integrity": "sha512-7kRM2axlLUtRtS3GczVTChq3zo0iJ7TRKC7acY9lt7Y1G5HWy5yzfHt6sC422dcRgSLehrG6EQ+/sYZ/7Qq2sQ==",
|
"integrity": "sha512-HfUS8eLwfviiJhqsrHnOnRxO20TbdahPreP6AkBXQaEpWeRew6vxAd0Dn+xdzy6KCJ4W9GOKLcgtPfqquIO2Pg==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@chainsafe/libp2p-noise": "4.0.0",
|
"@chainsafe/libp2p-noise": "4.0.0",
|
||||||
"@fluencelabs/avm": "0.14.1",
|
"@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",
|
||||||
@ -1076,8 +1076,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": {
|
||||||
@ -7330,12 +7338,12 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"interface-datastore": {
|
"interface-datastore": {
|
||||||
"version": "5.1.2",
|
"version": "5.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-5.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-5.1.3.tgz",
|
||||||
"integrity": "sha512-nRFl19/IkilNzuPdCUJHejyJCZrVAk4lIRcRXJkekuTdaiagIEnCd9GfmTTQlo2afiVISk8Iy/PxSgnfmrdEIw==",
|
"integrity": "sha512-OVJ2wXg4wuR8kGI9r+09UponEQl/oEtiPaMKiS8QnAKSOf/NTOGnnpmtQPy00UOp3vvbFOvocF6G7HnV76Fmpw==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"err-code": "^3.0.1",
|
"err-code": "^3.0.1",
|
||||||
"interface-store": "^0.1.1",
|
"interface-store": "^1.0.2",
|
||||||
"ipfs-utils": "^8.1.2",
|
"ipfs-utils": "^8.1.2",
|
||||||
"it-all": "^1.0.2",
|
"it-all": "^1.0.2",
|
||||||
"it-drain": "^1.0.1",
|
"it-drain": "^1.0.1",
|
||||||
@ -7356,9 +7364,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"interface-store": {
|
"interface-store": {
|
||||||
"version": "0.1.1",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/interface-store/-/interface-store-0.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/interface-store/-/interface-store-1.0.2.tgz",
|
||||||
"integrity": "sha512-ynnjIOybDZc0Brep3HHSa2RVlo/M5g7kuL/leui7o21EusKcLJS170vCJ8rliisc3c4jyd9ao5PthkGlBaX29g=="
|
"integrity": "sha512-rUBLYsgoWwxuUpnQoSUr+DR/3dH3reVeIu5aOHFZK31lAexmb++kR6ZECNRgrx6WvoaM3Akdo0A7TDrqgCzZaQ=="
|
||||||
},
|
},
|
||||||
"internal-ip": {
|
"internal-ip": {
|
||||||
"version": "4.3.0",
|
"version": "4.3.0",
|
||||||
@ -7409,9 +7417,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"ipfs-utils": {
|
"ipfs-utils": {
|
||||||
"version": "8.1.5",
|
"version": "8.1.6",
|
||||||
"resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-8.1.5.tgz",
|
"resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-8.1.6.tgz",
|
||||||
"integrity": "sha512-qjERTUy0iXPw5LRPA1OQLzYPjdYb7JQenihYaE0L+yA4NMoC9qhGVrYUqU8yaV0Iu+zk7i6BxoNwg8beWsqjbg==",
|
"integrity": "sha512-V/cwb6113DrDhrjDTWImA6+zmJbpdbUkxdxmEQO7it8ykV76bBmzU1ZXSM0QR0qxGy9VW8dkUlPAC2K10VgSmw==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"abort-controller": "^3.0.0",
|
"abort-controller": "^3.0.0",
|
||||||
"any-signal": "^2.1.0",
|
"any-signal": "^2.1.0",
|
||||||
@ -7426,7 +7434,7 @@
|
|||||||
"nanoid": "^3.1.20",
|
"nanoid": "^3.1.20",
|
||||||
"native-abort-controller": "^1.0.3",
|
"native-abort-controller": "^1.0.3",
|
||||||
"native-fetch": "^3.0.0",
|
"native-fetch": "^3.0.0",
|
||||||
"node-fetch": "npm:@achingbrain/node-fetch@^2.6.4",
|
"node-fetch": "https://registry.npmjs.org/@achingbrain/node-fetch/-/node-fetch-2.6.7.tgz",
|
||||||
"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"
|
||||||
}
|
}
|
||||||
@ -7852,9 +7860,9 @@
|
|||||||
"integrity": "sha512-wiI02c+G1BVuu0jz30Nsr1/et0cpSRulKUusN8HDZXxuX4MdUzfMp2P4JUk+a49Wr1kHitRLrnnh3+UzJ6neaQ=="
|
"integrity": "sha512-wiI02c+G1BVuu0jz30Nsr1/et0cpSRulKUusN8HDZXxuX4MdUzfMp2P4JUk+a49Wr1kHitRLrnnh3+UzJ6neaQ=="
|
||||||
},
|
},
|
||||||
"it-glob": {
|
"it-glob": {
|
||||||
"version": "0.0.13",
|
"version": "0.0.14",
|
||||||
"resolved": "https://registry.npmjs.org/it-glob/-/it-glob-0.0.13.tgz",
|
"resolved": "https://registry.npmjs.org/it-glob/-/it-glob-0.0.14.tgz",
|
||||||
"integrity": "sha512-0Hcd5BraJUPzL28NWiFbdNrcdyNxNTKKdU3sjdFiYynNTQpwlG2UKW31X7bp+XhJwux/oPzIquo5ioztVmc2RQ==",
|
"integrity": "sha512-TKKzs9CglbsihSpcwJPXN5DBUssu4akRzPlp8QJRCoLrKoaOpyY2V1qDlxx+UMivn0i114YyTd4AawWl7eqIdw==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@types/minimatch": "^3.0.4",
|
"@types/minimatch": "^3.0.4",
|
||||||
"minimatch": "^3.0.4"
|
"minimatch": "^3.0.4"
|
||||||
@ -8966,9 +8974,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"multiformats": {
|
"multiformats": {
|
||||||
"version": "9.4.6",
|
"version": "9.4.7",
|
||||||
"resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.4.6.tgz",
|
"resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.4.7.tgz",
|
||||||
"integrity": "sha512-ngZRO82P7mPvw/3gu5NQ2QiUJGYTS0LAxvQnEAlWCJakvn7YpK2VAd9JWM5oosYUeqoVbkylH/FsqRc4fc2+ag=="
|
"integrity": "sha512-fZbcdf7LnvokPAZYkv4TLXe7PAg9sQ5qLXcwrAmZOloEb2+5FtFiAY+l3/9wsu4oTJXTV3JSggFQQ2dJLS01vA=="
|
||||||
},
|
},
|
||||||
"multihashes": {
|
"multihashes": {
|
||||||
"version": "0.4.21",
|
"version": "0.4.21",
|
||||||
@ -9133,6 +9141,11 @@
|
|||||||
"tslib": "^1.10.0"
|
"tslib": "^1.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"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",
|
||||||
@ -9196,8 +9209,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node-fetch": {
|
"node-fetch": {
|
||||||
"version": "npm:@achingbrain/node-fetch@2.6.7",
|
"version": "https://registry.npmjs.org/@achingbrain/node-fetch/-/node-fetch-2.6.7.tgz",
|
||||||
"resolved": "https://registry.npmjs.org/@achingbrain/node-fetch/-/node-fetch-2.6.7.tgz",
|
|
||||||
"integrity": "sha512-iTASGs+HTFK5E4ZqcMsHmeJ4zodyq8L38lZV33jwqcBJYoUt3HjN4+ot+O9/0b+ke8ddE7UgOtVuZN/OkV19/g=="
|
"integrity": "sha512-iTASGs+HTFK5E4ZqcMsHmeJ4zodyq8L38lZV33jwqcBJYoUt3HjN4+ot+O9/0b+ke8ddE7UgOtVuZN/OkV19/g=="
|
||||||
},
|
},
|
||||||
"node-forge": {
|
"node-forge": {
|
||||||
@ -15020,9 +15032,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"ws": {
|
"ws": {
|
||||||
"version": "7.5.3",
|
"version": "7.5.4",
|
||||||
"resolved": "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz",
|
"resolved": "https://registry.npmjs.org/ws/-/ws-7.5.4.tgz",
|
||||||
"integrity": "sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg=="
|
"integrity": "sha512-zP9z6GXm6zC27YtspwH99T3qTG7bBFv2VIkeHstMLrLlDJuzA7tQ5ls3OJ1hOGGCzTQPniNJoHXIAOS0Jljohg=="
|
||||||
},
|
},
|
||||||
"xml2js": {
|
"xml2js": {
|
||||||
"version": "0.4.23",
|
"version": "0.4.23",
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
"build": "webpack",
|
"build": "webpack",
|
||||||
"prod": "webpack -p --mode production",
|
"prod": "webpack -p --mode production",
|
||||||
"analyse": "elm-analyse -s -p 3001 -o",
|
"analyse": "elm-analyse -s -p 3001 -o",
|
||||||
"compile-aqua": "aqua-cli --js -i ./aqua/ -o ./src/_aqua",
|
"compile-aqua": "aqua --js -i ./aqua/ -o ./src/_aqua",
|
||||||
"watch-aqua": "chokidar \"**/*.aqua\" -c \"npm run compile-aqua\"",
|
"watch-aqua": "chokidar \"**/*.aqua\" -c \"npm run compile-aqua\"",
|
||||||
"uie": "elm-live src_storybook/Explorer.elm --open --dir=.storybook --start-page=index.html -- --output=.storybook/explorer.js --debug"
|
"uie": "elm-live src_storybook/Explorer.elm --open --dir=.storybook --start-page=index.html -- --output=.storybook/explorer.js --debug"
|
||||||
},
|
},
|
||||||
@ -31,7 +31,7 @@
|
|||||||
},
|
},
|
||||||
"homepage": "https://github.com/fluencelabs/fluence-admin#readme",
|
"homepage": "https://github.com/fluencelabs/fluence-admin#readme",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@fluencelabs/fluence": "0.10.0",
|
"@fluencelabs/fluence": "0.11.0",
|
||||||
"@fluencelabs/fluence-network-environment": "1.0.10",
|
"@fluencelabs/fluence-network-environment": "1.0.10",
|
||||||
"css-spinners": "^1.0.1",
|
"css-spinners": "^1.0.1",
|
||||||
"tachyons": "^4.12.0",
|
"tachyons": "^4.12.0",
|
||||||
@ -40,8 +40,8 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/core": "^7.11.6",
|
"@babel/core": "^7.11.6",
|
||||||
"@babel/preset-env": "^7.11.5",
|
"@babel/preset-env": "^7.11.5",
|
||||||
"@fluencelabs/aqua-cli": "0.2.0-208",
|
"@fluencelabs/aqua": "^0.3.0-222",
|
||||||
"@fluencelabs/aqua-lib": "0.1.14",
|
"@fluencelabs/aqua-lib": "^0.1.14",
|
||||||
"@types/yup": "^0.29.11",
|
"@types/yup": "^0.29.11",
|
||||||
"babel-loader": "^8.1.0",
|
"babel-loader": "^8.1.0",
|
||||||
"chokidar-cli": "^2.1.0",
|
"chokidar-cli": "^2.1.0",
|
||||||
|
357
src/_aqua/app.js
357
src/_aqua/app.js
@ -1,24 +1,50 @@
|
|||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* 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.1.14-SNAPSHOT
|
* Aqua version: 0.3.0-222
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
import { RequestFlowBuilder } from '@fluencelabs/fluence/dist/api.unstable';
|
import { FluencePeer } from '@fluencelabs/fluence';
|
||||||
|
import {
|
||||||
|
ResultCodes,
|
||||||
|
RequestFlow,
|
||||||
|
RequestFlowBuilder,
|
||||||
|
CallParams,
|
||||||
|
} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1.js';
|
||||||
|
|
||||||
|
// Services
|
||||||
|
|
||||||
|
// Functions
|
||||||
|
|
||||||
|
export function collectServiceInterfaces(...args) {
|
||||||
|
let peer;
|
||||||
|
let peer_;
|
||||||
|
let services;
|
||||||
|
let collectServiceInterface;
|
||||||
|
let config;
|
||||||
|
if (args[0] instanceof FluencePeer) {
|
||||||
|
peer = args[0];
|
||||||
|
peer_ = args[1];
|
||||||
|
services = args[2];
|
||||||
|
collectServiceInterface = args[3];
|
||||||
|
config = args[4];
|
||||||
|
} else {
|
||||||
|
peer = FluencePeer.default;
|
||||||
|
peer_ = args[0];
|
||||||
|
services = args[1];
|
||||||
|
collectServiceInterface = args[2];
|
||||||
|
config = args[3];
|
||||||
|
}
|
||||||
|
|
||||||
export async function collectServiceInterfaces(client, peer, services, collectServiceInterface, config) {
|
|
||||||
let request;
|
let request;
|
||||||
config = config || {};
|
|
||||||
const promise = new Promise((resolve, reject) => {
|
const promise = new Promise((resolve, reject) => {
|
||||||
var r = new RequestFlowBuilder()
|
const r = new RequestFlowBuilder()
|
||||||
.disableInjections()
|
.disableInjections()
|
||||||
.withRawScript(
|
.withRawScript(
|
||||||
`
|
`
|
||||||
(xor
|
(xor
|
||||||
(seq
|
(seq
|
||||||
(seq
|
(seq
|
||||||
(seq
|
(seq
|
||||||
@ -52,18 +78,39 @@ export async function collectServiceInterfaces(client, peer, services, collectSe
|
|||||||
(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 client.relayPeerId;
|
return peer.connectionInfo.connectedRelay;
|
||||||
});
|
});
|
||||||
h.on('getDataSrv', 'peer', () => {return peer;});
|
h.on('getDataSrv', 'peer', () => {
|
||||||
h.on('getDataSrv', 'services', () => {return services;});
|
return peer_;
|
||||||
h.on('callbackSrv', 'collectServiceInterface', (args) => {collectServiceInterface(args[0], args[1], args[2]); return {};});
|
});
|
||||||
|
h.on('getDataSrv', 'services', () => {
|
||||||
|
return services;
|
||||||
|
});
|
||||||
|
|
||||||
|
h.use((req, resp, next) => {
|
||||||
|
if (req.serviceId === 'callbackSrv' && req.fnName === 'collectServiceInterface') {
|
||||||
|
const callParams = {
|
||||||
|
...req.particleContext,
|
||||||
|
tetraplets: {
|
||||||
|
arg0: req.tetraplets[0],
|
||||||
|
arg1: req.tetraplets[1],
|
||||||
|
arg2: req.tetraplets[2],
|
||||||
|
},
|
||||||
|
};
|
||||||
|
resp.retCode = ResultCodes.success;
|
||||||
|
collectServiceInterface(req.args[0], req.args[1], req.args[2], callParams);
|
||||||
|
resp.result = {};
|
||||||
|
}
|
||||||
|
next();
|
||||||
|
});
|
||||||
|
|
||||||
|
h.onEvent('callbackSrv', 'response', (args) => {});
|
||||||
|
|
||||||
h.onEvent('errorHandlingSrv', 'error', (args) => {
|
h.onEvent('errorHandlingSrv', 'error', (args) => {
|
||||||
// assuming error is the single argument
|
|
||||||
const [err] = args;
|
const [err] = args;
|
||||||
reject(err);
|
reject(err);
|
||||||
});
|
});
|
||||||
@ -71,27 +118,43 @@ h.on('callbackSrv', 'collectServiceInterface', (args) => {collectServiceInterfac
|
|||||||
.handleScriptError(reject)
|
.handleScriptError(reject)
|
||||||
.handleTimeout(() => {
|
.handleTimeout(() => {
|
||||||
reject('Request timed out for collectServiceInterfaces');
|
reject('Request timed out for collectServiceInterfaces');
|
||||||
})
|
});
|
||||||
if(config.ttl) {
|
if (config && config.ttl) {
|
||||||
r.withTTL(config.ttl)
|
r.withTTL(config.ttl);
|
||||||
}
|
}
|
||||||
request = r.build();
|
request = r.build();
|
||||||
});
|
});
|
||||||
await client.initiateFlow(request);
|
peer.internals.initiateFlow(request);
|
||||||
return Promise.race([promise, Promise.resolve()]);
|
return Promise.race([promise, Promise.resolve()]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export function askAllAndSend(...args) {
|
||||||
|
let peer;
|
||||||
|
let peer_;
|
||||||
|
let collectPeerInfo;
|
||||||
|
let collectServiceInterface;
|
||||||
|
let config;
|
||||||
|
if (args[0] instanceof FluencePeer) {
|
||||||
|
peer = args[0];
|
||||||
|
peer_ = args[1];
|
||||||
|
collectPeerInfo = args[2];
|
||||||
|
collectServiceInterface = args[3];
|
||||||
|
config = args[4];
|
||||||
|
} else {
|
||||||
|
peer = FluencePeer.default;
|
||||||
|
peer_ = args[0];
|
||||||
|
collectPeerInfo = args[1];
|
||||||
|
collectServiceInterface = args[2];
|
||||||
|
config = args[3];
|
||||||
|
}
|
||||||
|
|
||||||
export async function askAllAndSend(client, peer, collectPeerInfo, collectServiceInterface, config) {
|
|
||||||
let request;
|
let request;
|
||||||
config = config || {};
|
|
||||||
const promise = new Promise((resolve, reject) => {
|
const promise = new Promise((resolve, reject) => {
|
||||||
var r = new RequestFlowBuilder()
|
const r = new RequestFlowBuilder()
|
||||||
.disableInjections()
|
.disableInjections()
|
||||||
.withRawScript(
|
.withRawScript(
|
||||||
`
|
`
|
||||||
(xor
|
(xor
|
||||||
(seq
|
(seq
|
||||||
(seq
|
(seq
|
||||||
(seq
|
(seq
|
||||||
@ -155,18 +218,55 @@ export async function askAllAndSend(client, peer, collectPeerInfo, collectServic
|
|||||||
(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 client.relayPeerId;
|
return peer.connectionInfo.connectedRelay;
|
||||||
});
|
});
|
||||||
h.on('getDataSrv', 'peer', () => {return peer;});
|
h.on('getDataSrv', 'peer', () => {
|
||||||
h.on('callbackSrv', 'collectPeerInfo', (args) => {collectPeerInfo(args[0], args[1], args[2], args[3], args[4]); return {};});
|
return peer_;
|
||||||
h.on('callbackSrv', 'collectServiceInterface', (args) => {collectServiceInterface(args[0], args[1], args[2]); return {};});
|
});
|
||||||
|
|
||||||
|
h.use((req, resp, next) => {
|
||||||
|
if (req.serviceId === 'callbackSrv' && req.fnName === 'collectPeerInfo') {
|
||||||
|
const callParams = {
|
||||||
|
...req.particleContext,
|
||||||
|
tetraplets: {
|
||||||
|
arg0: req.tetraplets[0],
|
||||||
|
arg1: req.tetraplets[1],
|
||||||
|
arg2: req.tetraplets[2],
|
||||||
|
arg3: req.tetraplets[3],
|
||||||
|
arg4: req.tetraplets[4],
|
||||||
|
},
|
||||||
|
};
|
||||||
|
resp.retCode = ResultCodes.success;
|
||||||
|
collectPeerInfo(req.args[0], req.args[1], req.args[2], req.args[3], req.args[4], callParams);
|
||||||
|
resp.result = {};
|
||||||
|
}
|
||||||
|
next();
|
||||||
|
});
|
||||||
|
|
||||||
|
h.use((req, resp, next) => {
|
||||||
|
if (req.serviceId === 'callbackSrv' && req.fnName === 'collectServiceInterface') {
|
||||||
|
const callParams = {
|
||||||
|
...req.particleContext,
|
||||||
|
tetraplets: {
|
||||||
|
arg0: req.tetraplets[0],
|
||||||
|
arg1: req.tetraplets[1],
|
||||||
|
arg2: req.tetraplets[2],
|
||||||
|
},
|
||||||
|
};
|
||||||
|
resp.retCode = ResultCodes.success;
|
||||||
|
collectServiceInterface(req.args[0], req.args[1], req.args[2], callParams);
|
||||||
|
resp.result = {};
|
||||||
|
}
|
||||||
|
next();
|
||||||
|
});
|
||||||
|
|
||||||
|
h.onEvent('callbackSrv', 'response', (args) => {});
|
||||||
|
|
||||||
h.onEvent('errorHandlingSrv', 'error', (args) => {
|
h.onEvent('errorHandlingSrv', 'error', (args) => {
|
||||||
// assuming error is the single argument
|
|
||||||
const [err] = args;
|
const [err] = args;
|
||||||
reject(err);
|
reject(err);
|
||||||
});
|
});
|
||||||
@ -174,27 +274,46 @@ h.on('callbackSrv', 'collectServiceInterface', (args) => {collectServiceInterfac
|
|||||||
.handleScriptError(reject)
|
.handleScriptError(reject)
|
||||||
.handleTimeout(() => {
|
.handleTimeout(() => {
|
||||||
reject('Request timed out for askAllAndSend');
|
reject('Request timed out for askAllAndSend');
|
||||||
})
|
});
|
||||||
if(config.ttl) {
|
if (config && config.ttl) {
|
||||||
r.withTTL(config.ttl)
|
r.withTTL(config.ttl);
|
||||||
}
|
}
|
||||||
request = r.build();
|
request = r.build();
|
||||||
});
|
});
|
||||||
await client.initiateFlow(request);
|
peer.internals.initiateFlow(request);
|
||||||
return Promise.race([promise, Promise.resolve()]);
|
return Promise.race([promise, Promise.resolve()]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export function findAndAskNeighboursSchema(...args) {
|
||||||
|
let peer;
|
||||||
|
let relayPeerId;
|
||||||
|
let clientId;
|
||||||
|
let collectPeerInfo;
|
||||||
|
let collectServiceInterface;
|
||||||
|
let config;
|
||||||
|
if (args[0] instanceof FluencePeer) {
|
||||||
|
peer = args[0];
|
||||||
|
relayPeerId = args[1];
|
||||||
|
clientId = args[2];
|
||||||
|
collectPeerInfo = args[3];
|
||||||
|
collectServiceInterface = args[4];
|
||||||
|
config = args[5];
|
||||||
|
} else {
|
||||||
|
peer = FluencePeer.default;
|
||||||
|
relayPeerId = args[0];
|
||||||
|
clientId = args[1];
|
||||||
|
collectPeerInfo = args[2];
|
||||||
|
collectServiceInterface = args[3];
|
||||||
|
config = args[4];
|
||||||
|
}
|
||||||
|
|
||||||
export async function findAndAskNeighboursSchema(client, relayPeerId, clientId, collectPeerInfo, collectServiceInterface, config) {
|
|
||||||
let request;
|
let request;
|
||||||
config = config || {};
|
|
||||||
const promise = new Promise((resolve, reject) => {
|
const promise = new Promise((resolve, reject) => {
|
||||||
var r = new RequestFlowBuilder()
|
const r = new RequestFlowBuilder()
|
||||||
.disableInjections()
|
.disableInjections()
|
||||||
.withRawScript(
|
.withRawScript(
|
||||||
`
|
`
|
||||||
(xor
|
(xor
|
||||||
(seq
|
(seq
|
||||||
(seq
|
(seq
|
||||||
(seq
|
(seq
|
||||||
@ -208,12 +327,12 @@ export async function findAndAskNeighboursSchema(client, relayPeerId, clientId,
|
|||||||
)
|
)
|
||||||
(xor
|
(xor
|
||||||
(seq
|
(seq
|
||||||
(call relayPeerId ("kad" "neighborhood") [clientId false] neighbors)
|
(call relayPeerId ("kad" "neighborhood") [clientId [] []] neighbors)
|
||||||
(fold neighbors n
|
(fold neighbors n
|
||||||
(par
|
(par
|
||||||
(xor
|
(xor
|
||||||
(seq
|
(seq
|
||||||
(call n ("kad" "neighborhood") [clientId false] neighbors2)
|
(call n ("kad" "neighborhood") [clientId [] []] neighbors2)
|
||||||
(fold neighbors2 n2
|
(fold neighbors2 n2
|
||||||
(par
|
(par
|
||||||
(xor
|
(xor
|
||||||
@ -289,19 +408,58 @@ export async function findAndAskNeighboursSchema(client, relayPeerId, clientId,
|
|||||||
(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 client.relayPeerId;
|
return peer.connectionInfo.connectedRelay;
|
||||||
});
|
});
|
||||||
h.on('getDataSrv', 'relayPeerId', () => {return relayPeerId;});
|
h.on('getDataSrv', 'relayPeerId', () => {
|
||||||
h.on('getDataSrv', 'clientId', () => {return clientId;});
|
return relayPeerId;
|
||||||
h.on('callbackSrv', 'collectPeerInfo', (args) => {collectPeerInfo(args[0], args[1], args[2], args[3], args[4]); return {};});
|
});
|
||||||
h.on('callbackSrv', 'collectServiceInterface', (args) => {collectServiceInterface(args[0], args[1], args[2]); return {};});
|
h.on('getDataSrv', 'clientId', () => {
|
||||||
|
return clientId;
|
||||||
|
});
|
||||||
|
|
||||||
|
h.use((req, resp, next) => {
|
||||||
|
if (req.serviceId === 'callbackSrv' && req.fnName === 'collectPeerInfo') {
|
||||||
|
const callParams = {
|
||||||
|
...req.particleContext,
|
||||||
|
tetraplets: {
|
||||||
|
arg0: req.tetraplets[0],
|
||||||
|
arg1: req.tetraplets[1],
|
||||||
|
arg2: req.tetraplets[2],
|
||||||
|
arg3: req.tetraplets[3],
|
||||||
|
arg4: req.tetraplets[4],
|
||||||
|
},
|
||||||
|
};
|
||||||
|
resp.retCode = ResultCodes.success;
|
||||||
|
collectPeerInfo(req.args[0], req.args[1], req.args[2], req.args[3], req.args[4], callParams);
|
||||||
|
resp.result = {};
|
||||||
|
}
|
||||||
|
next();
|
||||||
|
});
|
||||||
|
|
||||||
|
h.use((req, resp, next) => {
|
||||||
|
if (req.serviceId === 'callbackSrv' && req.fnName === 'collectServiceInterface') {
|
||||||
|
const callParams = {
|
||||||
|
...req.particleContext,
|
||||||
|
tetraplets: {
|
||||||
|
arg0: req.tetraplets[0],
|
||||||
|
arg1: req.tetraplets[1],
|
||||||
|
arg2: req.tetraplets[2],
|
||||||
|
},
|
||||||
|
};
|
||||||
|
resp.retCode = ResultCodes.success;
|
||||||
|
collectServiceInterface(req.args[0], req.args[1], req.args[2], callParams);
|
||||||
|
resp.result = {};
|
||||||
|
}
|
||||||
|
next();
|
||||||
|
});
|
||||||
|
|
||||||
|
h.onEvent('callbackSrv', 'response', (args) => {});
|
||||||
|
|
||||||
h.onEvent('errorHandlingSrv', 'error', (args) => {
|
h.onEvent('errorHandlingSrv', 'error', (args) => {
|
||||||
// assuming error is the single argument
|
|
||||||
const [err] = args;
|
const [err] = args;
|
||||||
reject(err);
|
reject(err);
|
||||||
});
|
});
|
||||||
@ -309,27 +467,46 @@ h.on('callbackSrv', 'collectServiceInterface', (args) => {collectServiceInterfac
|
|||||||
.handleScriptError(reject)
|
.handleScriptError(reject)
|
||||||
.handleTimeout(() => {
|
.handleTimeout(() => {
|
||||||
reject('Request timed out for findAndAskNeighboursSchema');
|
reject('Request timed out for findAndAskNeighboursSchema');
|
||||||
})
|
});
|
||||||
if(config.ttl) {
|
if (config && config.ttl) {
|
||||||
r.withTTL(config.ttl)
|
r.withTTL(config.ttl);
|
||||||
}
|
}
|
||||||
request = r.build();
|
request = r.build();
|
||||||
});
|
});
|
||||||
await client.initiateFlow(request);
|
peer.internals.initiateFlow(request);
|
||||||
return Promise.race([promise, Promise.resolve()]);
|
return Promise.race([promise, Promise.resolve()]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export function getAll(...args) {
|
||||||
|
let peer;
|
||||||
|
let relayPeerId;
|
||||||
|
let knownPeers;
|
||||||
|
let collectPeerInfo;
|
||||||
|
let collectServiceInterface;
|
||||||
|
let config;
|
||||||
|
if (args[0] instanceof FluencePeer) {
|
||||||
|
peer = args[0];
|
||||||
|
relayPeerId = args[1];
|
||||||
|
knownPeers = args[2];
|
||||||
|
collectPeerInfo = args[3];
|
||||||
|
collectServiceInterface = args[4];
|
||||||
|
config = args[5];
|
||||||
|
} else {
|
||||||
|
peer = FluencePeer.default;
|
||||||
|
relayPeerId = args[0];
|
||||||
|
knownPeers = args[1];
|
||||||
|
collectPeerInfo = args[2];
|
||||||
|
collectServiceInterface = args[3];
|
||||||
|
config = args[4];
|
||||||
|
}
|
||||||
|
|
||||||
export async function getAll(client, relayPeerId, knownPeers, collectPeerInfo, collectServiceInterface, config) {
|
|
||||||
let request;
|
let request;
|
||||||
config = config || {};
|
|
||||||
const promise = new Promise((resolve, reject) => {
|
const promise = new Promise((resolve, reject) => {
|
||||||
var r = new RequestFlowBuilder()
|
const r = new RequestFlowBuilder()
|
||||||
.disableInjections()
|
.disableInjections()
|
||||||
.withRawScript(
|
.withRawScript(
|
||||||
`
|
`
|
||||||
(xor
|
(xor
|
||||||
(seq
|
(seq
|
||||||
(seq
|
(seq
|
||||||
(seq
|
(seq
|
||||||
@ -401,19 +578,58 @@ export async function getAll(client, relayPeerId, knownPeers, collectPeerInfo, c
|
|||||||
(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 client.relayPeerId;
|
return peer.connectionInfo.connectedRelay;
|
||||||
});
|
});
|
||||||
h.on('getDataSrv', 'relayPeerId', () => {return relayPeerId;});
|
h.on('getDataSrv', 'relayPeerId', () => {
|
||||||
h.on('getDataSrv', 'knownPeers', () => {return knownPeers;});
|
return relayPeerId;
|
||||||
h.on('callbackSrv', 'collectPeerInfo', (args) => {collectPeerInfo(args[0], args[1], args[2], args[3], args[4]); return {};});
|
});
|
||||||
h.on('callbackSrv', 'collectServiceInterface', (args) => {collectServiceInterface(args[0], args[1], args[2]); return {};});
|
h.on('getDataSrv', 'knownPeers', () => {
|
||||||
|
return knownPeers;
|
||||||
|
});
|
||||||
|
|
||||||
|
h.use((req, resp, next) => {
|
||||||
|
if (req.serviceId === 'callbackSrv' && req.fnName === 'collectPeerInfo') {
|
||||||
|
const callParams = {
|
||||||
|
...req.particleContext,
|
||||||
|
tetraplets: {
|
||||||
|
arg0: req.tetraplets[0],
|
||||||
|
arg1: req.tetraplets[1],
|
||||||
|
arg2: req.tetraplets[2],
|
||||||
|
arg3: req.tetraplets[3],
|
||||||
|
arg4: req.tetraplets[4],
|
||||||
|
},
|
||||||
|
};
|
||||||
|
resp.retCode = ResultCodes.success;
|
||||||
|
collectPeerInfo(req.args[0], req.args[1], req.args[2], req.args[3], req.args[4], callParams);
|
||||||
|
resp.result = {};
|
||||||
|
}
|
||||||
|
next();
|
||||||
|
});
|
||||||
|
|
||||||
|
h.use((req, resp, next) => {
|
||||||
|
if (req.serviceId === 'callbackSrv' && req.fnName === 'collectServiceInterface') {
|
||||||
|
const callParams = {
|
||||||
|
...req.particleContext,
|
||||||
|
tetraplets: {
|
||||||
|
arg0: req.tetraplets[0],
|
||||||
|
arg1: req.tetraplets[1],
|
||||||
|
arg2: req.tetraplets[2],
|
||||||
|
},
|
||||||
|
};
|
||||||
|
resp.retCode = ResultCodes.success;
|
||||||
|
collectServiceInterface(req.args[0], req.args[1], req.args[2], callParams);
|
||||||
|
resp.result = {};
|
||||||
|
}
|
||||||
|
next();
|
||||||
|
});
|
||||||
|
|
||||||
|
h.onEvent('callbackSrv', 'response', (args) => {});
|
||||||
|
|
||||||
h.onEvent('errorHandlingSrv', 'error', (args) => {
|
h.onEvent('errorHandlingSrv', 'error', (args) => {
|
||||||
// assuming error is the single argument
|
|
||||||
const [err] = args;
|
const [err] = args;
|
||||||
reject(err);
|
reject(err);
|
||||||
});
|
});
|
||||||
@ -421,13 +637,12 @@ h.on('callbackSrv', 'collectServiceInterface', (args) => {collectServiceInterfac
|
|||||||
.handleScriptError(reject)
|
.handleScriptError(reject)
|
||||||
.handleTimeout(() => {
|
.handleTimeout(() => {
|
||||||
reject('Request timed out for getAll');
|
reject('Request timed out for getAll');
|
||||||
})
|
});
|
||||||
if(config.ttl) {
|
if (config && config.ttl) {
|
||||||
r.withTTL(config.ttl)
|
r.withTTL(config.ttl);
|
||||||
}
|
}
|
||||||
request = r.build();
|
request = r.build();
|
||||||
});
|
});
|
||||||
await client.initiateFlow(request);
|
peer.internals.initiateFlow(request);
|
||||||
return Promise.race([promise, Promise.resolve()]);
|
return Promise.race([promise, Promise.resolve()]);
|
||||||
}
|
}
|
||||||
|
|
56
src/index.js
56
src/index.js
@ -21,14 +21,7 @@ import './main.css';
|
|||||||
import log from 'loglevel';
|
import log from 'loglevel';
|
||||||
import Multiaddr from 'multiaddr';
|
import Multiaddr from 'multiaddr';
|
||||||
import { stage, krasnodar } from '@fluencelabs/fluence-network-environment';
|
import { stage, krasnodar } from '@fluencelabs/fluence-network-environment';
|
||||||
import {
|
import { FluencePeer, KeyPair, setLogLevel } from '@fluencelabs/fluence';
|
||||||
createClient,
|
|
||||||
generatePeerId,
|
|
||||||
Particle,
|
|
||||||
sendParticle,
|
|
||||||
subscribeToEvent,
|
|
||||||
setLogLevel,
|
|
||||||
} from '@fluencelabs/fluence';
|
|
||||||
import { Elm } from './Main.elm';
|
import { Elm } from './Main.elm';
|
||||||
import * as serviceWorker from './serviceWorker';
|
import * as serviceWorker from './serviceWorker';
|
||||||
import { interfaceInfo, peerInfo } from './types';
|
import { interfaceInfo, peerInfo } from './types';
|
||||||
@ -121,54 +114,19 @@ function genFlags(peerId, relays, relayIdx) {
|
|||||||
(async () => {
|
(async () => {
|
||||||
const { relays, relayIdx, logLevel } = await initEnvironment();
|
const { relays, relayIdx, logLevel } = await initEnvironment();
|
||||||
setLogLevel(logLevel);
|
setLogLevel(logLevel);
|
||||||
const pid = await generatePeerId();
|
const keyPair = await KeyPair.randomEd25519();
|
||||||
const flags = genFlags(pid.toB58String(), relays, relayIdx);
|
await FluencePeer.default.init({ connectTo: relays[relayIdx].multiaddr });
|
||||||
console.log(`connect with client: ${pid.toB58String()}`);
|
const pid = FluencePeer.default.connectionInfo.selfPeerId;
|
||||||
|
const flags = genFlags(pid, relays, relayIdx);
|
||||||
|
console.log(`Own peer id: ${pid}`);
|
||||||
|
|
||||||
// If the relay is ever changed, an event shall be sent to elm
|
// If the relay is ever changed, an event shall be sent to elm
|
||||||
const client = await createClient(relays[relayIdx].multiaddr, pid);
|
|
||||||
|
|
||||||
const app = Elm.Main.init({
|
const app = Elm.Main.init({
|
||||||
node: document.getElementById('root'),
|
node: document.getElementById('root'),
|
||||||
flags: flags,
|
flags: flags,
|
||||||
});
|
});
|
||||||
|
|
||||||
subscribeToEvent(client, 'event', 'collectPeerInfo', (args, _tetraplets) => {
|
|
||||||
try {
|
|
||||||
const peerId = args[0];
|
|
||||||
const identify = args[1];
|
|
||||||
const services = args[2];
|
|
||||||
const blueprints = args[3];
|
|
||||||
const modules = args[4];
|
|
||||||
const interfaces = args[5];
|
|
||||||
const eventRaw = {
|
|
||||||
peerId,
|
|
||||||
identify,
|
|
||||||
services,
|
|
||||||
blueprints,
|
|
||||||
modules,
|
|
||||||
};
|
|
||||||
|
|
||||||
app.ports.collectPeerInfo.send(eventRaw);
|
|
||||||
} catch (err) {
|
|
||||||
log.error('Elm eventreceiver failed: ', err);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
subscribeToEvent(client, 'event', 'collectServiceInterface', (args, _tetraplets) => {
|
|
||||||
try {
|
|
||||||
const eventRaw = {
|
|
||||||
peer_id: args[0],
|
|
||||||
service_id: args[1],
|
|
||||||
interface: args[2],
|
|
||||||
};
|
|
||||||
|
|
||||||
app.ports.collectServiceInterface.send(eventRaw);
|
|
||||||
} catch (err) {
|
|
||||||
log.error('Elm eventreceiver failed: ', err);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// alias ServiceInterfaceCb: PeerId, string, Interface -> ()
|
// alias ServiceInterfaceCb: PeerId, string, Interface -> ()
|
||||||
function collectServiceInterface(peer_id, service_id, iface) {
|
function collectServiceInterface(peer_id, service_id, iface) {
|
||||||
// console.count(`service interface from ${peer_id}`);
|
// console.count(`service interface from ${peer_id}`);
|
||||||
@ -204,7 +162,7 @@ function genFlags(peerId, relays, relayIdx) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
app.ports.getAll.subscribe(async (data) => {
|
app.ports.getAll.subscribe(async (data) => {
|
||||||
await getAll(client, data.relayPeerId, data.knownPeers, collectPeerInfo, collectServiceInterface, {
|
await getAll(data.relayPeerId, data.knownPeers, collectPeerInfo, collectServiceInterface, {
|
||||||
ttl: 1000000,
|
ttl: 1000000,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user