diff --git a/package-lock.json b/package-lock.json index e26bfb4..a25bc75 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,8 +1,4996 @@ { "name": "aquamarine-template", "version": "0.3.9", - "lockfileVersion": 1, + "lockfileVersion": 2, "requires": true, + "packages": { + "": { + "name": "aquamarine-template", + "version": "0.3.9", + "license": "MIT", + "dependencies": { + "@fluencelabs/aqua-dht-ts": "0.1.36", + "@fluencelabs/fluence": "0.12.0", + "@fluencelabs/fluence-network-environment": "^1.0.10", + "deep-equal": "^2.0.5" + }, + "bin": { + "fldist": "dist/index.js" + }, + "devDependencies": { + "@fluencelabs/aqua": "^0.3.0-222", + "@fluencelabs/aqua-dht": "0.1.36", + "@fluencelabs/aqua-lib": "0.1.14", + "ts-node": "^9.1.1", + "typescript": "^4.2.4" + } + }, + "node_modules/@chainsafe/libp2p-noise": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@chainsafe/libp2p-noise/-/libp2p-noise-4.0.0.tgz", + "integrity": "sha512-Q9gcC1IzN8/aQQXl/ntRbldTD/3c35j5lK5guIKEB+QU/Ogi0EyaihkL3YGx9QrSiFTyz0ABlSfxA0Wxfw5R1A==", + "dependencies": { + "@stablelib/chacha20poly1305": "^1.0.1", + "@stablelib/hkdf": "^1.0.1", + "@stablelib/sha256": "^1.0.1", + "@stablelib/x25519": "^1.0.1", + "debug": "^4.3.1", + "it-buffer": "^0.1.1", + "it-length-prefixed": "^5.0.2", + "it-pair": "^1.0.0", + "it-pb-rpc": "^0.1.9", + "it-pipe": "^1.1.0", + "libp2p-crypto": "^0.19.0", + "peer-id": "^0.15.0", + "protobufjs": "^6.10.1", + "uint8arrays": "^2.0.5" + } + }, + "node_modules/@chainsafe/libp2p-noise/node_modules/bl": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-5.0.0.tgz", + "integrity": "sha512-8vxFNZ0pflFfi0WXA3WQXlj6CaMEwsmh63I1CNp0q+wWv8sD0ARx1KovSQd0l2GkwrMIOyedq0EF1FxI+RCZLQ==", + "dependencies": { + "buffer": "^6.0.3", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/@chainsafe/libp2p-noise/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/@chainsafe/libp2p-noise/node_modules/it-length-prefixed": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/it-length-prefixed/-/it-length-prefixed-5.0.3.tgz", + "integrity": "sha512-b+jDHLcnOnPDQN79ronmzF5jeBjdJsy0ce2O6i6X4J5tnaO8Fd146ZA/tMbzaLlKnTpXa0eKtofpYhumXGENeg==", + "dependencies": { + "bl": "^5.0.0", + "buffer": "^6.0.3", + "varint": "^6.0.0" + } + }, + "node_modules/@chainsafe/libp2p-noise/node_modules/peer-id": { + "version": "0.15.3", + "resolved": "https://registry.npmjs.org/peer-id/-/peer-id-0.15.3.tgz", + "integrity": "sha512-pass5tk6Fbaz7PTD/3fJg2KWqaproHY0B0Ki8GQMEuMjkoLRcS2Vqt9yy6ob/+8uGBmWjRLtbMhaLV4HTyMDfw==", + "dependencies": { + "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" + }, + "bin": { + "peer-id": "src/bin.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@chainsafe/libp2p-noise/node_modules/peer-id/node_modules/uint8arrays": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.0.0.tgz", + "integrity": "sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==", + "dependencies": { + "multiformats": "^9.4.2" + } + }, + "node_modules/@chainsafe/libp2p-noise/node_modules/uint8arrays": { + "version": "2.1.10", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-2.1.10.tgz", + "integrity": "sha512-Q9/hhJa2836nQfEJSZTmr+pg9+cDJS9XEAp7N2Vg5MzL3bK/mkMVfjscRGYruP9jNda6MAdf4QD/y78gSzkp6A==", + "dependencies": { + "multiformats": "^9.4.2" + } + }, + "node_modules/@chainsafe/libp2p-noise/node_modules/varint": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", + "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==" + }, + "node_modules/@fluencelabs/aqua": { + "version": "0.3.0-222", + "resolved": "https://registry.npmjs.org/@fluencelabs/aqua/-/aqua-0.3.0-222.tgz", + "integrity": "sha512-dwBPNoE490LX9CRssNyz3nHKgpxwYvkRIhmTbjbFYXknzZWN18vx6WseD9tuzIFnlXdsJ/MoUhNZAxmT+VPhiw==", + "dev": true, + "bin": { + "aqua": "index.js", + "aqua-cli": "error.js", + "aqua-j": "index-java.js" + } + }, + "node_modules/@fluencelabs/aqua-dht": { + "version": "0.1.36", + "resolved": "https://registry.npmjs.org/@fluencelabs/aqua-dht/-/aqua-dht-0.1.36.tgz", + "integrity": "sha512-cBEeSbHCER45uSVsMzsXpnrbQhOl5dAFCheC8oS2atHGdsknd3oovLWcWeHse/pS8UlerocvyuJU52aI2JG96Q==", + "dev": true, + "dependencies": { + "@fluencelabs/aqua-lib": "^0.1.10" + } + }, + "node_modules/@fluencelabs/aqua-dht-ts": { + "version": "0.1.36", + "resolved": "https://registry.npmjs.org/@fluencelabs/aqua-dht-ts/-/aqua-dht-ts-0.1.36.tgz", + "integrity": "sha512-J48Ut6spXiKRxTinkupINsO6vWrjCWazfGWDoxLMo3ToparK6HLj2rs5aN5BOl6uPywWhPDP/ABzdNvVehAEhw==", + "dependencies": { + "@fluencelabs/fluence": "0.9.53" + } + }, + "node_modules/@fluencelabs/aqua-dht-ts/node_modules/@fluencelabs/fluence": { + "version": "0.9.53", + "resolved": "https://registry.npmjs.org/@fluencelabs/fluence/-/fluence-0.9.53.tgz", + "integrity": "sha512-DxazRumUWM4idI55ZSbfI26lRm5tvrgBYPa4XwPmxSbjgkLE5OjZ+sUStesMiUSst6ROQkwMM4v8BK7WqAyMuw==", + "dependencies": { + "@fluencelabs/avm": "0.10.5", + "async": "3.2.0", + "base64-js": "1.3.1", + "bs58": "4.0.1", + "cids": "0.8.1", + "it-length-prefixed": "3.0.1", + "it-pipe": "1.1.0", + "libp2p": "0.30.10", + "libp2p-crypto": "0.19.0", + "libp2p-mplex": "0.10.2", + "libp2p-noise": "2.0.5", + "libp2p-websockets": "0.15.3", + "loglevel": "1.7.0", + "multiaddr": "8.1.2", + "peer-id": "0.14.3", + "uuid": "8.3.0" + } + }, + "node_modules/@fluencelabs/aqua-lib": { + "version": "0.1.14", + "resolved": "https://registry.npmjs.org/@fluencelabs/aqua-lib/-/aqua-lib-0.1.14.tgz", + "integrity": "sha512-H2Q4gIvociUxc4J2mwmH0D+mrU2N2Z+enKCHgBCanMVEE2wZDsZ80GTbDKsQjEq+gpqbnJIk8lJBYW6lyvLJTg==", + "dev": true + }, + "node_modules/@fluencelabs/avm": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/@fluencelabs/avm/-/avm-0.10.5.tgz", + "integrity": "sha512-R65qY8PeVdlF27UDlcODTnxSBfEbiqXivHWoM62e7mZYr4T/lcZEklqMPOkRrymJWs7y/zP/D8N7zxecDNLBOA==", + "dependencies": { + "base64-js": "1.5.1" + } + }, + "node_modules/@fluencelabs/avm/node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/@fluencelabs/fluence": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@fluencelabs/fluence/-/fluence-0.12.0.tgz", + "integrity": "sha512-eYg3CflqeqlWUoaXXXUBxls7Pzjytp1nkHZWoe39bL7poF20T1BuTovNWo/jTWma5HS4L1FaAGGRNaMcN0wFHQ==", + "dependencies": { + "@chainsafe/libp2p-noise": "4.0.0", + "@fluencelabs/avm": "0.14.4", + "async": "3.2.0", + "base64-js": "1.5.1", + "bs58": "4.0.1", + "cids": "0.8.1", + "it-length-prefixed": "3.0.1", + "it-pipe": "1.1.0", + "libp2p": "0.32.3", + "libp2p-crypto": "0.19.7", + "libp2p-mplex": "0.10.4", + "libp2p-websockets": "0.16.1", + "loglevel": "1.7.0", + "multiaddr": "10.0.0", + "noble-ed25519": "^1.2.5", + "peer-id": "0.15.3", + "uuid": "8.3.0" + } + }, + "node_modules/@fluencelabs/fluence-network-environment": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/@fluencelabs/fluence-network-environment/-/fluence-network-environment-1.0.10.tgz", + "integrity": "sha512-aaWZDDFIIasSTgdFdw1KEz+boZMSn7pXffUENZNLX4DrP11rC3AEX4c8GnIJQbWqGsouOFZOPna2DSG6o2rLNQ==" + }, + "node_modules/@fluencelabs/fluence/node_modules/@fluencelabs/avm": { + "version": "0.14.4", + "resolved": "https://registry.npmjs.org/@fluencelabs/avm/-/avm-0.14.4.tgz", + "integrity": "sha512-XyR+1H5k0CAc+mDHOkl81viX8XeW1Yqbw793xbsfUfju5bUb/hqk+gHv3q8lAFdbrCG5P45gdOT08a5RNODZaQ==", + "dependencies": { + "base64-js": "1.5.1" + } + }, + "node_modules/@fluencelabs/fluence/node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/@fluencelabs/fluence/node_modules/bl": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-5.0.0.tgz", + "integrity": "sha512-8vxFNZ0pflFfi0WXA3WQXlj6CaMEwsmh63I1CNp0q+wWv8sD0ARx1KovSQd0l2GkwrMIOyedq0EF1FxI+RCZLQ==", + "dependencies": { + "buffer": "^6.0.3", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/@fluencelabs/fluence/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/@fluencelabs/fluence/node_modules/err-code": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-3.0.1.tgz", + "integrity": "sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA==" + }, + "node_modules/@fluencelabs/fluence/node_modules/interface-datastore": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-5.1.3.tgz", + "integrity": "sha512-OVJ2wXg4wuR8kGI9r+09UponEQl/oEtiPaMKiS8QnAKSOf/NTOGnnpmtQPy00UOp3vvbFOvocF6G7HnV76Fmpw==", + "dependencies": { + "err-code": "^3.0.1", + "interface-store": "^1.0.2", + "ipfs-utils": "^8.1.2", + "it-all": "^1.0.2", + "it-drain": "^1.0.1", + "it-filter": "^1.0.2", + "it-take": "^1.0.1", + "nanoid": "^3.0.2", + "uint8arrays": "^3.0.0" + } + }, + "node_modules/@fluencelabs/fluence/node_modules/interface-datastore/node_modules/it-take": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/it-take/-/it-take-1.0.1.tgz", + "integrity": "sha512-6H6JAWYcyumKSpcIPLs6tHN4xnibphmyU79WQaYVCBtaBOzf4fn75wzvSH8fH8fcMlPBTWY1RlmOWleQxBt2Ug==" + }, + "node_modules/@fluencelabs/fluence/node_modules/interface-datastore/node_modules/uint8arrays": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.0.0.tgz", + "integrity": "sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==", + "dependencies": { + "multiformats": "^9.4.2" + } + }, + "node_modules/@fluencelabs/fluence/node_modules/ip-address": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-8.1.0.tgz", + "integrity": "sha512-Wz91gZKpNKoXtqvY8ScarKYwhXoK4r/b5QuT+uywe/azv0/nUCo7Bh0IRRI7F9DHR06kJNWtzMGLIbXavngbKA==", + "dependencies": { + "jsbn": "1.1.0", + "sprintf-js": "1.1.2" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/@fluencelabs/fluence/node_modules/ipfs-utils": { + "version": "8.1.6", + "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-8.1.6.tgz", + "integrity": "sha512-V/cwb6113DrDhrjDTWImA6+zmJbpdbUkxdxmEQO7it8ykV76bBmzU1ZXSM0QR0qxGy9VW8dkUlPAC2K10VgSmw==", + "dependencies": { + "abort-controller": "^3.0.0", + "any-signal": "^2.1.0", + "buffer": "^6.0.1", + "electron-fetch": "^1.7.2", + "err-code": "^3.0.1", + "is-electron": "^2.2.0", + "iso-url": "^1.1.5", + "it-glob": "~0.0.11", + "it-to-stream": "^1.0.0", + "merge-options": "^3.0.4", + "nanoid": "^3.1.20", + "native-abort-controller": "^1.0.3", + "native-fetch": "^3.0.0", + "node-fetch": "https://registry.npmjs.org/@achingbrain/node-fetch/-/node-fetch-2.6.7.tgz", + "react-native-fetch-api": "^2.0.0", + "stream-to-it": "^0.2.2" + } + }, + "node_modules/@fluencelabs/fluence/node_modules/it-handshake": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/it-handshake/-/it-handshake-2.0.0.tgz", + "integrity": "sha512-K4q+mz8aLlCK3vTjtgNdHC9c/JbuOATsfogarjMsLcBZC5vYfKbX3Gq3AWcCdjIsIrPqzTlhPKSxl64LJkrt2w==", + "dependencies": { + "it-pushable": "^1.4.0", + "it-reader": "^3.0.0", + "p-defer": "^3.0.0" + } + }, + "node_modules/@fluencelabs/fluence/node_modules/it-reader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/it-reader/-/it-reader-3.0.0.tgz", + "integrity": "sha512-NxR40odATeaBmSefn6Xn43DplYvn2KtEKQzn4jrTRuPYXMky5M4e+KQ7aTJh0k0vkytLyeenGO1I1GXlGm4laQ==", + "dependencies": { + "bl": "^5.0.0" + } + }, + "node_modules/@fluencelabs/fluence/node_modules/it-ws": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/it-ws/-/it-ws-4.0.0.tgz", + "integrity": "sha512-XmTzpMkevc6rUboy73r0CCNhciMmL/Yxir9O6FujRwdrjysztqLBQ1Xkr4CpY2m7BVSCObKotaCWJeZ29lOXRA==", + "dependencies": { + "buffer": "^6.0.3", + "event-iterator": "^2.0.0", + "iso-url": "^1.1.2", + "ws": "^7.3.1" + } + }, + "node_modules/@fluencelabs/fluence/node_modules/jsbn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha1-sBMHyym2GKHtJux56RH4A8TaAEA=" + }, + "node_modules/@fluencelabs/fluence/node_modules/libp2p": { + "version": "0.32.3", + "resolved": "https://registry.npmjs.org/libp2p/-/libp2p-0.32.3.tgz", + "integrity": "sha512-FD1cweUmWgI510JIRfr80yCD/SugAawZPUQXPKPtOtaFeAynpEj7DEIE6iiVpc6Ed56nnyUivVikY7C8L50f9g==", + "dependencies": { + "@motrix/nat-api": "^0.3.1", + "@vascosantos/moving-average": "^1.1.0", + "abort-controller": "^3.0.0", + "aggregate-error": "^3.1.0", + "any-signal": "^2.1.1", + "bignumber.js": "^9.0.1", + "class-is": "^1.1.0", + "debug": "^4.3.1", + "err-code": "^3.0.0", + "es6-promisify": "^6.1.1", + "events": "^3.3.0", + "hashlru": "^2.3.0", + "interface-datastore": "^5.1.1", + "it-all": "^1.0.4", + "it-buffer": "^0.1.2", + "it-drain": "^1.0.3", + "it-filter": "^1.0.1", + "it-first": "^1.0.4", + "it-handshake": "^2.0.0", + "it-length-prefixed": "^5.0.2", + "it-map": "^1.0.4", + "it-merge": "^1.0.0", + "it-pipe": "^1.1.0", + "it-take": "^1.0.0", + "libp2p-crypto": "^0.19.4", + "libp2p-interfaces": "^1.0.0", + "libp2p-utils": "^0.4.0", + "mafmt": "^10.0.0", + "merge-options": "^3.0.4", + "multiaddr": "^10.0.0", + "multiformats": "^9.0.0", + "multistream-select": "^2.0.0", + "mutable-proxy": "^1.0.0", + "node-forge": "^0.10.0", + "p-any": "^3.0.0", + "p-fifo": "^1.0.0", + "p-retry": "^4.4.0", + "p-settle": "^4.1.1", + "peer-id": "^0.15.0", + "private-ip": "^2.1.0", + "protobufjs": "^6.10.2", + "retimer": "^3.0.0", + "sanitize-filename": "^1.6.3", + "set-delayed-interval": "^1.0.0", + "streaming-iterables": "^6.0.0", + "timeout-abort-controller": "^1.1.1", + "uint8arrays": "^2.1.3", + "varint": "^6.0.0", + "wherearewe": "^1.0.0", + "xsalsa20": "^1.1.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@fluencelabs/fluence/node_modules/libp2p-crypto": { + "version": "0.19.7", + "resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.19.7.tgz", + "integrity": "sha512-Qb5o/3WFKF2j6mYSt4UBPyi2kbKl3jYV0podBJoJCw70DlpM5Xc+oh3fFY9ToSunu8aSQQ5GY8nutjXgX/uGRA==", + "dependencies": { + "err-code": "^3.0.1", + "is-typedarray": "^1.0.0", + "iso-random-stream": "^2.0.0", + "keypair": "^1.0.1", + "multiformats": "^9.4.5", + "node-forge": "^0.10.0", + "pem-jwk": "^2.0.0", + "protobufjs": "^6.11.2", + "secp256k1": "^4.0.0", + "uint8arrays": "^3.0.0", + "ursa-optional": "^0.10.1" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@fluencelabs/fluence/node_modules/libp2p-crypto/node_modules/uint8arrays": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.0.0.tgz", + "integrity": "sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==", + "dependencies": { + "multiformats": "^9.4.2" + } + }, + "node_modules/@fluencelabs/fluence/node_modules/libp2p-interfaces": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/libp2p-interfaces/-/libp2p-interfaces-1.1.0.tgz", + "integrity": "sha512-5nc/HZJgeks1qfkyYQdI84hcZLF4SJKJSUx33JpO0w7v7R+obz+HOwk0GSa4/ZvQHjX+/+OWC4NYVA0yZxZXag==", + "dependencies": { + "abort-controller": "^3.0.0", + "abortable-iterator": "^3.0.0", + "debug": "^4.3.1", + "err-code": "^3.0.1", + "it-length-prefixed": "^5.0.2", + "it-pipe": "^1.1.0", + "it-pushable": "^1.4.2", + "libp2p-crypto": "^0.19.5", + "multiaddr": "^10.0.0", + "multiformats": "^9.1.2", + "peer-id": "^0.15.0", + "protobufjs": "^6.10.2", + "uint8arrays": "^3.0.0" + } + }, + "node_modules/@fluencelabs/fluence/node_modules/libp2p-interfaces/node_modules/it-length-prefixed": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/it-length-prefixed/-/it-length-prefixed-5.0.3.tgz", + "integrity": "sha512-b+jDHLcnOnPDQN79ronmzF5jeBjdJsy0ce2O6i6X4J5tnaO8Fd146ZA/tMbzaLlKnTpXa0eKtofpYhumXGENeg==", + "dependencies": { + "bl": "^5.0.0", + "buffer": "^6.0.3", + "varint": "^6.0.0" + } + }, + "node_modules/@fluencelabs/fluence/node_modules/libp2p-interfaces/node_modules/uint8arrays": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.0.0.tgz", + "integrity": "sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==", + "dependencies": { + "multiformats": "^9.4.2" + } + }, + "node_modules/@fluencelabs/fluence/node_modules/libp2p-mplex": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/libp2p-mplex/-/libp2p-mplex-0.10.4.tgz", + "integrity": "sha512-a8Oy68EXaSBBXGOGYMuwBcpnynkhqAFJ3LiyV24u9fE4wTxvuWTr0prSyKc+KC8QsLuX3A+CAdSgxqm09NbumQ==", + "dependencies": { + "abort-controller": "^3.0.0", + "abortable-iterator": "^3.0.0", + "bl": "^5.0.0", + "debug": "^4.3.1", + "err-code": "^3.0.1", + "it-pipe": "^1.1.0", + "it-pushable": "^1.4.1", + "varint": "^6.0.0" + } + }, + "node_modules/@fluencelabs/fluence/node_modules/libp2p-utils": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/libp2p-utils/-/libp2p-utils-0.4.1.tgz", + "integrity": "sha512-kq/US2unamiyY+YwP47dO1uqpAdcbdYI2Fzi9JIEhjfPBaD1MR/uyQ/YP7ABthl3EaxAjIQYd1TVp85d6QKAtQ==", + "dependencies": { + "abortable-iterator": "^3.0.0", + "debug": "^4.3.0", + "err-code": "^3.0.1", + "ip-address": "^8.0.0", + "is-loopback-addr": "^1.0.0", + "multiaddr": "^10.0.0", + "private-ip": "^2.1.1" + } + }, + "node_modules/@fluencelabs/fluence/node_modules/libp2p-websockets": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/libp2p-websockets/-/libp2p-websockets-0.16.1.tgz", + "integrity": "sha512-HXaCdlAkG5RDZCehEnkoVzQjT1C6NIaCKLERkkZ1ArKG77K7Y7uy+8y81uNZhy4OLQ8jGUMyOvKnjw6EjKJPmw==", + "dependencies": { + "abortable-iterator": "^3.0.0", + "class-is": "^1.1.0", + "debug": "^4.3.1", + "err-code": "^3.0.1", + "ipfs-utils": "^8.1.2", + "it-ws": "^4.0.0", + "libp2p-utils": "^0.4.0", + "mafmt": "^10.0.0", + "multiaddr": "^10.0.0", + "multiaddr-to-uri": "^8.0.0", + "p-defer": "^3.0.0", + "p-timeout": "^4.1.0" + } + }, + "node_modules/@fluencelabs/fluence/node_modules/libp2p/node_modules/it-length-prefixed": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/it-length-prefixed/-/it-length-prefixed-5.0.3.tgz", + "integrity": "sha512-b+jDHLcnOnPDQN79ronmzF5jeBjdJsy0ce2O6i6X4J5tnaO8Fd146ZA/tMbzaLlKnTpXa0eKtofpYhumXGENeg==", + "dependencies": { + "bl": "^5.0.0", + "buffer": "^6.0.3", + "varint": "^6.0.0" + } + }, + "node_modules/@fluencelabs/fluence/node_modules/mafmt": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/mafmt/-/mafmt-10.0.0.tgz", + "integrity": "sha512-K1bziJOXcnepfztu+2Xy9FLKVLaFMDuspmiyJIYRxnO0WOxFSV7XKSdMxMrVZxcvg1+YjlTIvSGTImUHU2k4Aw==", + "dependencies": { + "multiaddr": "^10.0.0" + } + }, + "node_modules/@fluencelabs/fluence/node_modules/multiaddr": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-10.0.0.tgz", + "integrity": "sha512-yP3LzFkM0GORZHNenS8Ok2spsaICRBhxLEohAfKKwwrgHIEWrDUhMRIkh/MONDBThNqaiGl7Ch1H7qblRDNHyg==", + "dependencies": { + "dns-over-http-resolver": "^1.0.0", + "err-code": "^3.0.1", + "is-ip": "^3.1.0", + "multiformats": "^9.0.2", + "uint8arrays": "^2.1.3", + "varint": "^6.0.0" + } + }, + "node_modules/@fluencelabs/fluence/node_modules/multiaddr-to-uri": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/multiaddr-to-uri/-/multiaddr-to-uri-8.0.0.tgz", + "integrity": "sha512-dq4p/vsOOUdVEd1J1gl+R2GFrXJQH8yjLtz4hodqdVbieg39LvBOdMQRdQnfbg5LSM/q1BYNVf5CBbwZFFqBgA==", + "dependencies": { + "multiaddr": "^10.0.0" + } + }, + "node_modules/@fluencelabs/fluence/node_modules/multistream-select": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/multistream-select/-/multistream-select-2.0.1.tgz", + "integrity": "sha512-ziVNT/vux0uUElP4OKNMVr0afU/X6PciAmT2UJNolhzhSLXIwFAaYfmLajD8NoZ+DsBQ1bp0zZ2nMVPF+FhClA==", + "dependencies": { + "bl": "^5.0.0", + "debug": "^4.1.1", + "err-code": "^3.0.1", + "it-first": "^1.0.6", + "it-handshake": "^2.0.0", + "it-length-prefixed": "^5.0.0", + "it-pipe": "^1.0.1", + "it-reader": "^3.0.0", + "p-defer": "^3.0.0", + "uint8arrays": "^3.0.0" + } + }, + "node_modules/@fluencelabs/fluence/node_modules/multistream-select/node_modules/it-length-prefixed": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/it-length-prefixed/-/it-length-prefixed-5.0.3.tgz", + "integrity": "sha512-b+jDHLcnOnPDQN79ronmzF5jeBjdJsy0ce2O6i6X4J5tnaO8Fd146ZA/tMbzaLlKnTpXa0eKtofpYhumXGENeg==", + "dependencies": { + "bl": "^5.0.0", + "buffer": "^6.0.3", + "varint": "^6.0.0" + } + }, + "node_modules/@fluencelabs/fluence/node_modules/multistream-select/node_modules/uint8arrays": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.0.0.tgz", + "integrity": "sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==", + "dependencies": { + "multiformats": "^9.4.2" + } + }, + "node_modules/@fluencelabs/fluence/node_modules/node-fetch": { + "name": "@achingbrain/node-fetch", + "version": "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==" + }, + "node_modules/@fluencelabs/fluence/node_modules/p-timeout": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-4.1.0.tgz", + "integrity": "sha512-+/wmHtzJuWii1sXn3HCuH/FTwGhrp4tmJTxSKJbfS+vkipci6osxXM5mY0jUiRzWKMTgUT8l7HFbeSwZAynqHw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/@fluencelabs/fluence/node_modules/peer-id": { + "version": "0.15.3", + "resolved": "https://registry.npmjs.org/peer-id/-/peer-id-0.15.3.tgz", + "integrity": "sha512-pass5tk6Fbaz7PTD/3fJg2KWqaproHY0B0Ki8GQMEuMjkoLRcS2Vqt9yy6ob/+8uGBmWjRLtbMhaLV4HTyMDfw==", + "dependencies": { + "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" + }, + "bin": { + "peer-id": "src/bin.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@fluencelabs/fluence/node_modules/peer-id/node_modules/uint8arrays": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.0.0.tgz", + "integrity": "sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==", + "dependencies": { + "multiformats": "^9.4.2" + } + }, + "node_modules/@fluencelabs/fluence/node_modules/retimer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/retimer/-/retimer-3.0.0.tgz", + "integrity": "sha512-WKE0j11Pa0ZJI5YIk0nflGI7SQsfl2ljihVy7ogh7DeQSeYAUi0ubZ/yEueGtDfUPk6GH5LRw1hBdLq4IwUBWA==" + }, + "node_modules/@fluencelabs/fluence/node_modules/streaming-iterables": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/streaming-iterables/-/streaming-iterables-6.0.0.tgz", + "integrity": "sha512-GYbJh0ife8PvryWSyFifY1m1uj6zO12d9duuP6xltiOolUz44eKasp5gbFhRbFbLy50ik6hcKn4Pbxl9AkxB+Q==", + "engines": { + "node": ">=10" + } + }, + "node_modules/@fluencelabs/fluence/node_modules/uint8arrays": { + "version": "2.1.10", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-2.1.10.tgz", + "integrity": "sha512-Q9/hhJa2836nQfEJSZTmr+pg9+cDJS9XEAp7N2Vg5MzL3bK/mkMVfjscRGYruP9jNda6MAdf4QD/y78gSzkp6A==", + "dependencies": { + "multiformats": "^9.4.2" + } + }, + "node_modules/@fluencelabs/fluence/node_modules/varint": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", + "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==" + }, + "node_modules/@motrix/nat-api": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@motrix/nat-api/-/nat-api-0.3.2.tgz", + "integrity": "sha512-T3LSHnEUULbSU1o1zCZZ1ul8l8Jm98f0fz/0BeF7DhNvrV63YllLCD4vUR9hFZWu/+WTIVPnbH8dBK5Ckuveuw==", + "dependencies": { + "async": "^3.2.0", + "debug": "^4.3.1", + "default-gateway": "^6.0.3", + "request": "^2.88.2", + "unordered-array-remove": "^1.0.2", + "xml2js": "^0.4.23" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@multiformats/base-x": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@multiformats/base-x/-/base-x-4.0.1.tgz", + "integrity": "sha512-eMk0b9ReBbV23xXU693TAIrLyeO5iTgBZGSJfpqriG8UkYvr/hC9u9pyMlAakDNHWmbhMZCDs6KQO0jzKD8OTw==" + }, + "node_modules/@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78=" + }, + "node_modules/@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "node_modules/@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "node_modules/@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=" + }, + "node_modules/@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", + "dependencies": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "node_modules/@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=" + }, + "node_modules/@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=" + }, + "node_modules/@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=" + }, + "node_modules/@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=" + }, + "node_modules/@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=" + }, + "node_modules/@sinonjs/commons": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", + "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz", + "integrity": "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==", + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/@sinonjs/samsam": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-5.3.1.tgz", + "integrity": "sha512-1Hc0b1TtyfBu8ixF/tpfSHTVWKwCBLY4QJbkgnE7HcwyvT2xArDxb4K7dMgqRm3szI+LJbzmW/s4xxEhv6hwDg==", + "dependencies": { + "@sinonjs/commons": "^1.6.0", + "lodash.get": "^4.4.2", + "type-detect": "^4.0.8" + } + }, + "node_modules/@sinonjs/text-encoding": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz", + "integrity": "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==" + }, + "node_modules/@stablelib/aead": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/aead/-/aead-1.0.1.tgz", + "integrity": "sha512-q39ik6sxGHewqtO0nP4BuSe3db5G1fEJE8ukvngS2gLkBXyy6E7pLubhbYgnkDFv6V8cWaxcE4Xn0t6LWcJkyg==" + }, + "node_modules/@stablelib/binary": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/binary/-/binary-1.0.1.tgz", + "integrity": "sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q==", + "dependencies": { + "@stablelib/int": "^1.0.1" + } + }, + "node_modules/@stablelib/bytes": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/bytes/-/bytes-1.0.1.tgz", + "integrity": "sha512-Kre4Y4kdwuqL8BR2E9hV/R5sOrUj6NanZaZis0V6lX5yzqC3hBuVSDXUIBqQv/sCpmuWRiHLwqiT1pqqjuBXoQ==" + }, + "node_modules/@stablelib/chacha": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/chacha/-/chacha-1.0.1.tgz", + "integrity": "sha512-Pmlrswzr0pBzDofdFuVe1q7KdsHKhhU24e8gkEwnTGOmlC7PADzLVxGdn2PoNVBBabdg0l/IfLKg6sHAbTQugg==", + "dependencies": { + "@stablelib/binary": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "node_modules/@stablelib/chacha20poly1305": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/chacha20poly1305/-/chacha20poly1305-1.0.1.tgz", + "integrity": "sha512-MmViqnqHd1ymwjOQfghRKw2R/jMIGT3wySN7cthjXCBdO+qErNPUBnRzqNpnvIwg7JBCg3LdeCZZO4de/yEhVA==", + "dependencies": { + "@stablelib/aead": "^1.0.1", + "@stablelib/binary": "^1.0.1", + "@stablelib/chacha": "^1.0.1", + "@stablelib/constant-time": "^1.0.1", + "@stablelib/poly1305": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "node_modules/@stablelib/constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/constant-time/-/constant-time-1.0.1.tgz", + "integrity": "sha512-tNOs3uD0vSJcK6z1fvef4Y+buN7DXhzHDPqRLSXUel1UfqMB1PWNsnnAezrKfEwTLpN0cGH2p9NNjs6IqeD0eg==" + }, + "node_modules/@stablelib/hash": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/hash/-/hash-1.0.1.tgz", + "integrity": "sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg==" + }, + "node_modules/@stablelib/hkdf": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/hkdf/-/hkdf-1.0.1.tgz", + "integrity": "sha512-SBEHYE16ZXlHuaW5RcGk533YlBj4grMeg5TooN80W3NpcHRtLZLLXvKyX0qcRFxf+BGDobJLnwkvgEwHIDBR6g==", + "dependencies": { + "@stablelib/hash": "^1.0.1", + "@stablelib/hmac": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "node_modules/@stablelib/hmac": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/hmac/-/hmac-1.0.1.tgz", + "integrity": "sha512-V2APD9NSnhVpV/QMYgCVMIYKiYG6LSqw1S65wxVoirhU/51ACio6D4yDVSwMzuTJXWZoVHbDdINioBwKy5kVmA==", + "dependencies": { + "@stablelib/constant-time": "^1.0.1", + "@stablelib/hash": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "node_modules/@stablelib/int": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/int/-/int-1.0.1.tgz", + "integrity": "sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w==" + }, + "node_modules/@stablelib/keyagreement": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/keyagreement/-/keyagreement-1.0.1.tgz", + "integrity": "sha512-VKL6xBwgJnI6l1jKrBAfn265cspaWBPAPEc62VBQrWHLqVgNRE09gQ/AnOEyKUWrrqfD+xSQ3u42gJjLDdMDQg==", + "dependencies": { + "@stablelib/bytes": "^1.0.1" + } + }, + "node_modules/@stablelib/poly1305": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/poly1305/-/poly1305-1.0.1.tgz", + "integrity": "sha512-1HlG3oTSuQDOhSnLwJRKeTRSAdFNVB/1djy2ZbS35rBSJ/PFqx9cf9qatinWghC2UbfOYD8AcrtbUQl8WoxabA==", + "dependencies": { + "@stablelib/constant-time": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "node_modules/@stablelib/random": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/random/-/random-1.0.1.tgz", + "integrity": "sha512-zOh+JHX3XG9MSfIB0LZl/YwPP9w3o6WBiJkZvjPoKKu5LKFW4OLV71vMxWp9qG5T43NaWyn0QQTWgqCdO+yOBQ==", + "dependencies": { + "@stablelib/binary": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "node_modules/@stablelib/sha256": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/sha256/-/sha256-1.0.1.tgz", + "integrity": "sha512-GIIH3e6KH+91FqGV42Kcj71Uefd/QEe7Dy42sBTeqppXV95ggCcxLTk39bEr+lZfJmp+ghsR07J++ORkRELsBQ==", + "dependencies": { + "@stablelib/binary": "^1.0.1", + "@stablelib/hash": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "node_modules/@stablelib/wipe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/wipe/-/wipe-1.0.1.tgz", + "integrity": "sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==" + }, + "node_modules/@stablelib/x25519": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/x25519/-/x25519-1.0.1.tgz", + "integrity": "sha512-nmyUI2ZArxYDh1PhdoSCPEtlTYE0DYugp2qqx8OtjrX3Hmh7boIlDsD0X71ihAxzxqJf3TyQqN/p58ToWhnp+Q==", + "dependencies": { + "@stablelib/keyagreement": "^1.0.1", + "@stablelib/random": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "node_modules/@types/bl": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/bl/-/bl-2.1.0.tgz", + "integrity": "sha512-1TdA9IXOy4sdqn8vgieQ6GZAiHiPNrOiO1s2GJjuYPw4QVY7gYoVjkW049avj33Ez7IcIvu43hQsMsoUFbCn2g==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/long": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz", + "integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==" + }, + "node_modules/@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==" + }, + "node_modules/@types/node": { + "version": "16.7.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.1.tgz", + "integrity": "sha512-ncRdc45SoYJ2H4eWU9ReDfp3vtFqDYhjOsKlFFUDEn8V1Bgr2RjYal8YT5byfadWIRluhPFU6JiDOl0H6Sl87A==" + }, + "node_modules/@types/retry": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz", + "integrity": "sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==" + }, + "node_modules/@vascosantos/moving-average": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@vascosantos/moving-average/-/moving-average-1.1.0.tgz", + "integrity": "sha512-MVEJ4vWAPNbrGLjz7ITnHYg+YXZ6ijAqtH5/cHwSoCpbvuJ98aLXwFfPKAUfZpJMQR5uXB58UJajbY130IRF/w==" + }, + "node_modules/@zxing/text-encoding": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@zxing/text-encoding/-/text-encoding-0.9.0.tgz", + "integrity": "sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA==", + "optional": true + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/abortable-iterator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abortable-iterator/-/abortable-iterator-3.0.0.tgz", + "integrity": "sha512-7KqcPPnMhfot4GrEjK51zesS4Ye/lUCHBgYt3oRxIlU24HO3mVxBwEo9niNyfHqoWKqWLuZTc3zErNomdHA+ag==", + "dependencies": { + "get-iterator": "^1.0.2" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/any-signal": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/any-signal/-/any-signal-2.1.2.tgz", + "integrity": "sha512-B+rDnWasMi/eWcajPcCWSlYc7muXOrcYrqgyzcdKisl2H/WTlQ0gip1KyQfr0ZlxJdsuWCj/LWwQm7fhyhRfIQ==", + "dependencies": { + "abort-controller": "^3.0.0", + "native-abort-controller": "^1.0.3" + } + }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, + "node_modules/asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "dependencies": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "engines": { + "node": "*" + } + }, + "node_modules/async": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.0.tgz", + "integrity": "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "node_modules/available-typed-arrays": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.4.tgz", + "integrity": "sha512-SA5mXJWrId1TaQjfxUYghbqQ/hYioKmLJvPJyDuYRtXXenFNMjj4hSSt1Cf1xsuXSXrtxrVC5Ot4eU6cOtBDdA==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/base-x": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.8.tgz", + "integrity": "sha512-Rl/1AWP4J/zRrk54hhlxH4drNxPJXYUaKffODVI53/dAsV4t9fBxyxYKAVPU1XBHxYwOWP9h9H0hM2MVw4YfJA==", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/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==" + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/bcrypto": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/bcrypto/-/bcrypto-5.4.0.tgz", + "integrity": "sha512-KDX2CR29o6ZoqpQndcCxFZAtYA1jDMnXU3jmCfzP44g++Cu7AHHtZN/JbrN/MXAg9SLvtQ8XISG+eVD9zH1+Jg==", + "hasInstallScript": true, + "dependencies": { + "bufio": "~1.0.7", + "loady": "~0.0.5" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/bignumber.js": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.1.tgz", + "integrity": "sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA==", + "engines": { + "node": "*" + } + }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/blakejs": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.1.1.tgz", + "integrity": "sha512-bLG6PHOCZJKNshTjGRBvET0vTciwQE6zFKOKKXPDJfwFBd4Ac0yBfPZqcGvGJap50l7ktvlpFqc2jGVaUgbJgg==" + }, + "node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + }, + "node_modules/bs58": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", + "integrity": "sha1-vhYedsNU9veIrkBx9j806MTwpCo=", + "dependencies": { + "base-x": "^3.0.2" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/bufio": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/bufio/-/bufio-1.0.7.tgz", + "integrity": "sha512-bd1dDQhiC+bEbEfg56IdBv7faWa6OipMs/AFFFvtFnB3wAYjlwQpQRZ0pm6ZkgtfL0pILRXhKxOiQj6UzoMR7A==", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "node_modules/chai": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.4.tgz", + "integrity": "sha512-yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA==", + "dependencies": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.2", + "deep-eql": "^3.0.1", + "get-func-name": "^2.0.0", + "pathval": "^1.1.1", + "type-detect": "^4.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chai-checkmark": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/chai-checkmark/-/chai-checkmark-1.0.1.tgz", + "integrity": "sha1-n7s8mtkQHwl+8ogyjTD0In10//s=" + }, + "node_modules/check-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", + "engines": { + "node": "*" + } + }, + "node_modules/cids": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/cids/-/cids-0.8.1.tgz", + "integrity": "sha512-bs9hGUYHzsclGSt4ipi6SRUBIWYpuEHhd2uPc5hUatNQl6y5mFr+6JvJtN3fGUiNZNohc7rkY6OpXamwj6PQeg==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "buffer": "^5.5.0", + "class-is": "^1.1.0", + "multibase": "~0.7.0", + "multicodec": "^1.0.1", + "multihashes": "~0.4.17" + }, + "engines": { + "node": ">=4.0.0", + "npm": ">=3.0.0" + } + }, + "node_modules/class-is": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", + "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==" + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-eql": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", + "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", + "dependencies": { + "type-detect": "^4.0.0" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/deep-equal": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.0.5.tgz", + "integrity": "sha512-nPiRgmbAtm1a3JsnLCf6/SLfXcjyN5v8L1TXzdCmHrXJ4hx+gW/w1YCcn7z8gJtSiDArZCgYtbao3QqLm/N1Sw==", + "dependencies": { + "call-bind": "^1.0.0", + "es-get-iterator": "^1.1.1", + "get-intrinsic": "^1.0.1", + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.2", + "is-regex": "^1.1.1", + "isarray": "^2.0.5", + "object-is": "^1.1.4", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "regexp.prototype.flags": "^1.3.0", + "side-channel": "^1.0.3", + "which-boxed-primitive": "^1.0.1", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/deep-equal/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dependencies": { + "object-keys": "^1.0.12" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/delay": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/delay/-/delay-4.4.1.tgz", + "integrity": "sha512-aL3AhqtfhOlT/3ai6sWXeqwnw63ATNpnUiN4HL7x9q+My5QtHlO3OIkasmug9LKzpheLdmUKGRKnYXYAS7FQkQ==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dirty-chai": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/dirty-chai/-/dirty-chai-2.0.1.tgz", + "integrity": "sha512-ys79pWKvDMowIDEPC6Fig8d5THiC0DJ2gmTeGzVAoEH18J8OzLud0Jh7I9IWg3NSk8x2UocznUuFmfHCXYZx9w==", + "peerDependencies": { + "chai": ">=2.2.1 <5" + } + }, + "node_modules/dns-over-http-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/dns-over-http-resolver/-/dns-over-http-resolver-1.2.3.tgz", + "integrity": "sha512-miDiVSI6KSNbi4SVifzO/reD8rMnxgrlnkrlkugOLQpWQTe2qMdHsZp5DmfKjxNE+/T3VAAYLQUZMv9SMr6+AA==", + "dependencies": { + "debug": "^4.3.1", + "native-fetch": "^3.0.0", + "receptacle": "^1.3.2" + } + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/electron-fetch": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/electron-fetch/-/electron-fetch-1.7.4.tgz", + "integrity": "sha512-+fBLXEy4CJWQ5bz8dyaeSG1hD6JJ15kBZyj3eh24pIVrd3hLM47H/umffrdQfS6GZ0falF0g9JT9f3Rs6AVUhw==", + "dependencies": { + "encoding": "^0.1.13" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" + }, + "node_modules/es-abstract": { + "version": "1.18.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.5.tgz", + "integrity": "sha512-DDggyJLoS91CkJjgauM5c0yZMjiD1uK3KcaCeAmffGwZ+ODWzOkPN4QwRbsK5DOFf06fywmyLci3ZD8jLGhVYA==", + "dependencies": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.2", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.3", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.3", + "is-string": "^1.0.6", + "object-inspect": "^1.11.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-get-iterator": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.2.tgz", + "integrity": "sha512-+DTO8GYwbMCwbywjimwZMHp8AuYXOS2JZFWoi2AlPOS3ebnII9w/NLpNZtA7A0YLaVDw+O7KFCeoIV7OPvM7hQ==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.0", + "has-symbols": "^1.0.1", + "is-arguments": "^1.1.0", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.5", + "isarray": "^2.0.5" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-get-iterator/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es6-promisify": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-6.1.1.tgz", + "integrity": "sha512-HBL8I3mIki5C1Cc9QjKUenHtnG0A5/xA8Q/AllRcfiwl2CZFXGK7ddBiCoRwAix4i2KxcQfjtIVcrVbB3vbmwg==" + }, + "node_modules/event-iterator": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/event-iterator/-/event-iterator-2.0.0.tgz", + "integrity": "sha512-KGft0ldl31BZVV//jj+IAIGCxkvvUkkON+ScH6zfoX+l+omX6001ggyRSpI0Io2Hlro0ThXotswCtfzS8UkIiQ==" + }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/fast-fifo": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.0.0.tgz", + "integrity": "sha512-4VEXmjxLj7sbs8J//cn2qhRap50dGzF5n8fjay8mau+Jn4hxSeR3xPFwxMaQq/pDaq7+KQk0PAbC2+nWDkJrmQ==" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + }, + "node_modules/foreach": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/get-func-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", + "engines": { + "node": "*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-iterator": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-iterator/-/get-iterator-1.0.2.tgz", + "integrity": "sha512-v+dm9bNVfOYsY1OrhaCrmyOcYoSeVvbt+hHZ0Au+T+p1y+0Uyj9aMaGIeUTT6xdpRbWzDeYKvfOslPhggQMcsg==" + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "deprecated": "this library is no longer supported", + "dependencies": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/hashlru": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/hashlru/-/hashlru-2.3.0.tgz", + "integrity": "sha512-0cMsjjIC8I+D3M44pOQdsy0OHXGLVz6Z0beRuufhKa0KfaD2wGwAev6jILzXsd3/vpnNQJmWyZtIILqM1N+n5A==" + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/interface-datastore": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-3.0.6.tgz", + "integrity": "sha512-ruF9CVmtKCNfzCZYW6YeEKDRDbgFaiKGrSWof19BVCv6Qx/WrL1jRV4sCQUHCaXwJI7FCFknhw++PGafWCXvfw==", + "dependencies": { + "err-code": "^3.0.1", + "ipfs-utils": "^6.0.0", + "iso-random-stream": "^2.0.0", + "it-all": "^1.0.2", + "it-drain": "^1.0.1", + "nanoid": "^3.0.2" + } + }, + "node_modules/interface-datastore/node_modules/err-code": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-3.0.1.tgz", + "integrity": "sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA==" + }, + "node_modules/interface-store": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-1.0.2.tgz", + "integrity": "sha512-rUBLYsgoWwxuUpnQoSUr+DR/3dH3reVeIu5aOHFZK31lAexmb++kR6ZECNRgrx6WvoaM3Akdo0A7TDrqgCzZaQ==" + }, + "node_modules/internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "dependencies": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ip-address": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-7.1.0.tgz", + "integrity": "sha512-V9pWC/VJf2lsXqP7IWJ+pe3P1/HCYGBMZrrnT62niLGjAfCbeiwXMUxaeHvnVlz19O27pvXP4azs+Pj/A0x+SQ==", + "dependencies": { + "jsbn": "1.1.0", + "sprintf-js": "1.1.2" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/ip-address/node_modules/jsbn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha1-sBMHyym2GKHtJux56RH4A8TaAEA=" + }, + "node_modules/ip-regex": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", + "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ipfs-utils": { + "version": "6.0.8", + "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-6.0.8.tgz", + "integrity": "sha512-mDDQaDisI/uWk+X08wyw+jBcq76IXwMjgyaoyEgJDb/Izb+QbBCSJjo9q+EvbMxh6/l6q0NiAfbbsxEyQYPW9w==", + "dependencies": { + "abort-controller": "^3.0.0", + "any-signal": "^2.1.0", + "buffer": "^6.0.1", + "electron-fetch": "^1.7.2", + "err-code": "^3.0.1", + "is-electron": "^2.2.0", + "iso-url": "^1.0.0", + "it-glob": "~0.0.11", + "it-to-stream": "^1.0.0", + "merge-options": "^3.0.4", + "nanoid": "^3.1.20", + "native-abort-controller": "^1.0.3", + "native-fetch": "^3.0.0", + "node-fetch": "^2.6.1", + "stream-to-it": "^0.2.2" + } + }, + "node_modules/ipfs-utils/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/ipfs-utils/node_modules/err-code": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-3.0.1.tgz", + "integrity": "sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA==" + }, + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "engines": { + "node": ">=4" + } + }, + "node_modules/is-callable": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-electron": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.0.tgz", + "integrity": "sha512-SpMppC2XR3YdxSzczXReBjqs2zGscWQpBIKqwXYBFic0ERaxNVgwLCHwOLZeESfdJQjX0RDvrJ1lBXX2ij+G1Q==" + }, + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-ip": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", + "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", + "dependencies": { + "ip-regex": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-loopback-addr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-loopback-addr/-/is-loopback-addr-1.0.1.tgz", + "integrity": "sha512-DhWU/kqY7X2F6KrrVTu7mHlbd2Pbo4D1YkAzasBMjQs6lJAoefxaA6m6CpSX0K6pjt9D0b9PNFI5zduy/vzOYw==" + }, + "node_modules/is-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number-object": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz", + "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.7.tgz", + "integrity": "sha512-VxlpTBGknhQ3o7YiVjIhdLU6+oD8dPz/79vvvH4F+S/c8608UCVa9fgDpa1kZgFoUST2DCgacc70UszKgzKuvA==", + "dependencies": { + "available-typed-arrays": "^1.0.4", + "call-bind": "^1.0.2", + "es-abstract": "^1.18.5", + "foreach": "^2.0.5", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "node_modules/is-weakmap": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.1.tgz", + "integrity": "sha512-pi4vhbhVHGLxohUw7PhGsueT4vRGFoXhP7+RGN0jKIv9+8PWYCQTqtADngrxOm2g46hoH0+g8uZZBzMrvVGDmw==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "node_modules/iso-random-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/iso-random-stream/-/iso-random-stream-2.0.0.tgz", + "integrity": "sha512-lGuIu104KfBV9ubYTSaE3GeAr6I69iggXxBHbTBc5u/XKlwlWl0LCytnkIZissaKqvxablwRD9B3ktVnmIUnEg==", + "dependencies": { + "events": "^3.3.0", + "readable-stream": "^3.4.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/iso-url": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-1.1.5.tgz", + "integrity": "sha512-+3JqoKdBTGmyv9vOkS6b9iHhvK34UajfTibrH/1HOK8TI7K2VsM0qOCd+aJdWKtSOA8g3PqZfcwDmnR0p3klqQ==", + "engines": { + "node": ">=12" + } + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "node_modules/it-all": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/it-all/-/it-all-1.0.5.tgz", + "integrity": "sha512-ygD4kA4vp8fi+Y+NBgEKt6W06xSbv6Ub/0V8d1r3uCyJ9Izwa1UspkIOlqY9fOee0Z1w3WRo1+VWyAU4DgtufA==" + }, + "node_modules/it-buffer": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/it-buffer/-/it-buffer-0.1.3.tgz", + "integrity": "sha512-9a2/9SYVwG7bcn3tpRDR4bXbtuMLXnDK48KVC+GXiQg97ZOOdWz2nIITBsOQ19b+gj01Rw8RNwtiLDLI8P8oiQ==", + "dependencies": { + "bl": "^5.0.0", + "buffer": "^6.0.3" + } + }, + "node_modules/it-buffer/node_modules/bl": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-5.0.0.tgz", + "integrity": "sha512-8vxFNZ0pflFfi0WXA3WQXlj6CaMEwsmh63I1CNp0q+wWv8sD0ARx1KovSQd0l2GkwrMIOyedq0EF1FxI+RCZLQ==", + "dependencies": { + "buffer": "^6.0.3", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/it-buffer/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/it-drain": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/it-drain/-/it-drain-1.0.4.tgz", + "integrity": "sha512-coB7mcyZ4lWBQKoQGJuqM+P94pvpn2T3KY27vcVWPqeB1WmoysRC76VZnzAqrBWzpWcoEJMjZ+fsMBslxNaWfQ==" + }, + "node_modules/it-filter": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/it-filter/-/it-filter-1.0.2.tgz", + "integrity": "sha512-rxFUyPCrhk7WrNxD8msU10iEPhQmROoqwuyWmQUYY1PtopwUGBYyra9EYG2nRZADYeuT83cohKWmKCWPzpeyiw==" + }, + "node_modules/it-first": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/it-first/-/it-first-1.0.6.tgz", + "integrity": "sha512-wiI02c+G1BVuu0jz30Nsr1/et0cpSRulKUusN8HDZXxuX4MdUzfMp2P4JUk+a49Wr1kHitRLrnnh3+UzJ6neaQ==" + }, + "node_modules/it-glob": { + "version": "0.0.13", + "resolved": "https://registry.npmjs.org/it-glob/-/it-glob-0.0.13.tgz", + "integrity": "sha512-0Hcd5BraJUPzL28NWiFbdNrcdyNxNTKKdU3sjdFiYynNTQpwlG2UKW31X7bp+XhJwux/oPzIquo5ioztVmc2RQ==", + "dependencies": { + "@types/minimatch": "^3.0.4", + "minimatch": "^3.0.4" + } + }, + "node_modules/it-goodbye": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/it-goodbye/-/it-goodbye-2.0.2.tgz", + "integrity": "sha512-k56lqArpxkIU0yyhnPhvnyOBpzRQn+4VEyd+dUBWhN5kvCgPBeC0XMuHiA71iU98sDpCrJrT/X+81ajT0AOQtQ==", + "dependencies": { + "buffer": "^5.6.0" + } + }, + "node_modules/it-handshake": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/it-handshake/-/it-handshake-1.0.2.tgz", + "integrity": "sha512-uutOim5xF1eyDQD3u8qd3TxbWKwxqGMlbvacZsRsPdjO1BD9lnPTVci0jSMGsvMOu+5Y3W/QQ4hPQb87qPmPVQ==", + "dependencies": { + "it-pushable": "^1.4.0", + "it-reader": "^2.0.0", + "p-defer": "^3.0.0" + } + }, + "node_modules/it-length-prefixed": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/it-length-prefixed/-/it-length-prefixed-3.0.1.tgz", + "integrity": "sha512-QnfnFkpklDhWpyPQ2al6pdqmsQbwZAUpa7066e8S9RQxXo0s4o21ceqCG0n/0wdmvgfRSYsW5g2dYgchqtLZYw==", + "dependencies": { + "bl": "^4.0.2", + "buffer": "^5.5.0", + "varint": "^5.0.0" + } + }, + "node_modules/it-map": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/it-map/-/it-map-1.0.5.tgz", + "integrity": "sha512-EElupuWhHVStUgUY+OfTJIS2MZed96lDrAXzJUuqiiqLnIKoBRqtX1ZG2oR0bGDsSppmz83MtzCeKLZ9TVAUxQ==" + }, + "node_modules/it-merge": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/it-merge/-/it-merge-1.0.0.tgz", + "integrity": "sha512-bs40LMjG/9JMOcJ7pgyGLoOeWBpw28ZoMmZIk/1NCa5SUxd4elXCuadAr2qSjPiHz2GxrqoWGFAP7SePGddatw==", + "dependencies": { + "it-pushable": "^1.4.0" + } + }, + "node_modules/it-pair": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/it-pair/-/it-pair-1.0.0.tgz", + "integrity": "sha512-9raOiDu5OAuDOahtMtapKQDrQTxBfzlzrNcB6o7JARHkt+7Bb1dMkW/TpYdAjBJE77KH3e2zGzwpGUP9tXbLww==", + "dependencies": { + "get-iterator": "^1.0.2" + } + }, + "node_modules/it-pb-rpc": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/it-pb-rpc/-/it-pb-rpc-0.1.11.tgz", + "integrity": "sha512-1Yvae7LNHNM/WzxWT7OyHqwpA7DZoGos22JioMZ5H6i9iExQf71NHE0phHKEfkJdWLo7SRqPLLbqs2zaeKCwPA==", + "dependencies": { + "is-buffer": "^2.0.5", + "it-handshake": "^2.0.0", + "it-length-prefixed": "^5.0.2" + } + }, + "node_modules/it-pb-rpc/node_modules/bl": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-5.0.0.tgz", + "integrity": "sha512-8vxFNZ0pflFfi0WXA3WQXlj6CaMEwsmh63I1CNp0q+wWv8sD0ARx1KovSQd0l2GkwrMIOyedq0EF1FxI+RCZLQ==", + "dependencies": { + "buffer": "^6.0.3", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/it-pb-rpc/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/it-pb-rpc/node_modules/it-handshake": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/it-handshake/-/it-handshake-2.0.0.tgz", + "integrity": "sha512-K4q+mz8aLlCK3vTjtgNdHC9c/JbuOATsfogarjMsLcBZC5vYfKbX3Gq3AWcCdjIsIrPqzTlhPKSxl64LJkrt2w==", + "dependencies": { + "it-pushable": "^1.4.0", + "it-reader": "^3.0.0", + "p-defer": "^3.0.0" + } + }, + "node_modules/it-pb-rpc/node_modules/it-length-prefixed": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/it-length-prefixed/-/it-length-prefixed-5.0.3.tgz", + "integrity": "sha512-b+jDHLcnOnPDQN79ronmzF5jeBjdJsy0ce2O6i6X4J5tnaO8Fd146ZA/tMbzaLlKnTpXa0eKtofpYhumXGENeg==", + "dependencies": { + "bl": "^5.0.0", + "buffer": "^6.0.3", + "varint": "^6.0.0" + } + }, + "node_modules/it-pb-rpc/node_modules/it-reader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/it-reader/-/it-reader-3.0.0.tgz", + "integrity": "sha512-NxR40odATeaBmSefn6Xn43DplYvn2KtEKQzn4jrTRuPYXMky5M4e+KQ7aTJh0k0vkytLyeenGO1I1GXlGm4laQ==", + "dependencies": { + "bl": "^5.0.0" + } + }, + "node_modules/it-pb-rpc/node_modules/varint": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", + "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==" + }, + "node_modules/it-pipe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/it-pipe/-/it-pipe-1.1.0.tgz", + "integrity": "sha512-lF0/3qTVeth13TOnHVs0BTFaziwQF7m5Gg+E6JV0BXcLKutC92YjSi7bASgkPOXaLEb+YvNZrPorGMBIJvZfxg==" + }, + "node_modules/it-protocol-buffers": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/it-protocol-buffers/-/it-protocol-buffers-0.2.1.tgz", + "integrity": "sha512-UbezSc9BZTw0DU7mFS6iG9PXeycJfTDJlFAlniI3x1CRrKeDP+IW6ERPAFskHI3O+wij18Mk7eHgDtFz4Zk65A==", + "dependencies": { + "it-buffer": "^0.1.1", + "it-length-prefixed": "^3.0.0" + } + }, + "node_modules/it-pushable": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/it-pushable/-/it-pushable-1.4.2.tgz", + "integrity": "sha512-vVPu0CGRsTI8eCfhMknA7KIBqqGFolbRx+1mbQ6XuZ7YCz995Qj7L4XUviwClFunisDq96FdxzF5FnAbw15afg==", + "dependencies": { + "fast-fifo": "^1.0.0" + } + }, + "node_modules/it-reader": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/it-reader/-/it-reader-2.1.0.tgz", + "integrity": "sha512-hSysqWTO9Tlwc5EGjVf8JYZzw0D2FsxD/g+eNNWrez9zODxWt6QlN6JAMmycK72Mv4jHEKEXoyzUN4FYGmJaZw==", + "dependencies": { + "bl": "^4.0.0" + } + }, + "node_modules/it-take": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/it-take/-/it-take-1.0.0.tgz", + "integrity": "sha512-zfr2iAtekTGhHVWzCqqqgDnHhmzdzfCW92L0GvbaSFlvc3n2Ep/sponzmlNl2Kg39N5Py+02v+Aypc+i2c+9og==" + }, + "node_modules/it-to-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/it-to-stream/-/it-to-stream-1.0.0.tgz", + "integrity": "sha512-pLULMZMAB/+vbdvbZtebC0nWBTbG581lk6w8P7DfIIIKUfa8FbY7Oi0FxZcFPbxvISs7A9E+cMpLDBc1XhpAOA==", + "dependencies": { + "buffer": "^6.0.3", + "fast-fifo": "^1.0.0", + "get-iterator": "^1.0.2", + "p-defer": "^3.0.0", + "p-fifo": "^1.0.0", + "readable-stream": "^3.6.0" + } + }, + "node_modules/it-to-stream/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/it-ws": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/it-ws/-/it-ws-3.0.2.tgz", + "integrity": "sha512-INZhCXNjd5Xr7mYWtNZQb9y5i6XIsf4CKD4XUXeCD3tbaoIya1bPVtJNP1lN5UVGo6Ql9rAn3WVre/8IKtKShw==", + "dependencies": { + "buffer": "^5.6.0", + "event-iterator": "^2.0.0", + "relative-url": "^1.0.2", + "ws": "^7.3.1" + } + }, + "node_modules/js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + }, + "node_modules/json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "node_modules/jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "node_modules/just-extend": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz", + "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==" + }, + "node_modules/keypair": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/keypair/-/keypair-1.0.3.tgz", + "integrity": "sha512-0wjZ2z/SfZZq01+3/8jYLd8aEShSa+aat1zyPGQY3IuKoEAp6DJGvu2zt6snELrQU9jbCkIlCyNOD7RdQbHhkQ==" + }, + "node_modules/libp2p": { + "version": "0.30.10", + "resolved": "https://registry.npmjs.org/libp2p/-/libp2p-0.30.10.tgz", + "integrity": "sha512-TdFLG4CF7/tLF1ypwNM8+q1YshW3+hYWDWYo6IA5Zyhg2MFDPdsUqaX4JLG0EiYHQvVcrUQF8B7rL49YbDHE7Q==", + "dependencies": { + "@motrix/nat-api": "^0.3.1", + "abort-controller": "^3.0.0", + "aggregate-error": "^3.1.0", + "any-signal": "^2.1.1", + "bignumber.js": "^9.0.1", + "cids": "^1.1.5", + "class-is": "^1.1.0", + "debug": "^4.3.1", + "err-code": "^2.0.0", + "es6-promisify": "^6.1.1", + "events": "^3.2.0", + "hashlru": "^2.3.0", + "interface-datastore": "^3.0.3", + "ipfs-utils": "^6.0.0", + "it-all": "^1.0.4", + "it-buffer": "^0.1.2", + "it-drain": "^1.0.3", + "it-filter": "^1.0.1", + "it-first": "^1.0.4", + "it-handshake": "^1.0.2", + "it-length-prefixed": "^3.1.0", + "it-map": "^1.0.4", + "it-merge": "1.0.0", + "it-pipe": "^1.1.0", + "it-protocol-buffers": "^0.2.0", + "it-take": "1.0.0", + "libp2p-crypto": "^0.19.0", + "libp2p-interfaces": "^0.8.1", + "libp2p-utils": "^0.2.2", + "mafmt": "^8.0.0", + "merge-options": "^3.0.4", + "moving-average": "^1.0.0", + "multiaddr": "^8.1.0", + "multicodec": "^2.1.0", + "multihashing-async": "^2.0.1", + "multistream-select": "^1.0.0", + "mutable-proxy": "^1.0.0", + "node-forge": "^0.10.0", + "p-any": "^3.0.0", + "p-fifo": "^1.0.0", + "p-retry": "^4.2.0", + "p-settle": "^4.0.1", + "peer-id": "^0.14.2", + "private-ip": "^2.0.0", + "protons": "^2.0.0", + "retimer": "^2.0.0", + "sanitize-filename": "^1.6.3", + "set-delayed-interval": "^1.0.0", + "streaming-iterables": "^5.0.2", + "timeout-abort-controller": "^1.1.1", + "varint": "^6.0.0", + "xsalsa20": "^1.0.2" + }, + "engines": { + "node": ">=12.0.0", + "npm": ">=6.0.0" + } + }, + "node_modules/libp2p-crypto": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.19.0.tgz", + "integrity": "sha512-w4tduG32px1i6TwekYZBSvizZTvDdMReZkE4DhUkf9IQ8WSqSo98K+6IZaYYM6PzWd5arbcAQQcFCRalJu9Ytw==", + "dependencies": { + "err-code": "^2.0.0", + "is-typedarray": "^1.0.0", + "iso-random-stream": "^1.1.0", + "keypair": "^1.0.1", + "multibase": "^3.0.0", + "multicodec": "^2.0.0", + "multihashing-async": "^2.0.1", + "node-forge": "^0.10.0", + "pem-jwk": "^2.0.0", + "protons": "^2.0.0", + "secp256k1": "^4.0.0", + "uint8arrays": "^1.1.0", + "ursa-optional": "^0.10.1" + }, + "engines": { + "node": ">=10.0.0", + "npm": ">=6.0.0" + } + }, + "node_modules/libp2p-crypto/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/libp2p-crypto/node_modules/iso-random-stream": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/iso-random-stream/-/iso-random-stream-1.1.2.tgz", + "integrity": "sha512-7y0tsBBgQs544iTYjyrMp5xvgrbYR8b+plQq1Bryp+03p0LssrxC9C1M0oHv4QESDt7d95c74XvMk/yawKqX+A==", + "dependencies": { + "buffer": "^6.0.3", + "readable-stream": "^3.4.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/libp2p-crypto/node_modules/multibase": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-3.1.2.tgz", + "integrity": "sha512-bpklWHs70LO3smJUHOjcnzGceJJvn9ui0Vau6Za0B/GBepaXswmW8Ufea0uD9pROf/qCQ4N4lZ3sf3U+SNf0tw==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "@multiformats/base-x": "^4.0.1", + "web-encoding": "^1.0.6" + }, + "engines": { + "node": ">=10.0.0", + "npm": ">=6.0.0" + } + }, + "node_modules/libp2p-crypto/node_modules/multicodec": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-2.1.3.tgz", + "integrity": "sha512-0tOH2Gtio39uO41o+2xl9UhRkCWxU5ZmZSbFCh/OjGzkWJI8e6lkN/s4Mj1YfyWoBod+2+S3W+6wO6nhkwN8pA==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "uint8arrays": "1.1.0", + "varint": "^6.0.0" + } + }, + "node_modules/libp2p-crypto/node_modules/uint8arrays": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-1.1.0.tgz", + "integrity": "sha512-cLdlZ6jnFczsKf5IH1gPHTtcHtPGho5r4CvctohmQjw8K7Q3gFdfIGHxSTdTaCKrL4w09SsPRJTqRS0drYeszA==", + "dependencies": { + "multibase": "^3.0.0", + "web-encoding": "^1.0.2" + } + }, + "node_modules/libp2p-crypto/node_modules/varint": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", + "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==" + }, + "node_modules/libp2p-interfaces": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/libp2p-interfaces/-/libp2p-interfaces-0.8.4.tgz", + "integrity": "sha512-LaPkXVhqgAcFwqsyqGSZNAjgXSa2V+skOfIKE2UtQHaduwLct2KpFDOmvhRHTWHfRHwI9bSCskDB7xWGNTwZsQ==", + "dependencies": { + "@types/bl": "^2.1.0", + "abort-controller": "^3.0.0", + "abortable-iterator": "^3.0.0", + "chai": "^4.2.0", + "chai-checkmark": "^1.0.1", + "debug": "^4.3.1", + "delay": "^4.4.0", + "detect-node": "^2.0.4", + "dirty-chai": "^2.0.1", + "err-code": "^2.0.3", + "it-goodbye": "^2.0.2", + "it-length-prefixed": "^3.1.0", + "it-pair": "^1.0.0", + "it-pipe": "^1.1.0", + "it-pushable": "^1.4.0", + "libp2p-crypto": "^0.19.0", + "libp2p-tcp": "^0.15.0", + "multiaddr": "^8.1.2", + "multibase": "^3.1.1", + "multihashes": "^3.1.1", + "p-defer": "^3.0.0", + "p-limit": "^3.1.0", + "p-wait-for": "^3.2.0", + "peer-id": "^0.14.2", + "protons": "^2.0.0", + "sinon": "^9.2.4", + "streaming-iterables": "^5.0.4", + "uint8arrays": "^2.0.5" + } + }, + "node_modules/libp2p-interfaces/node_modules/it-length-prefixed": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/it-length-prefixed/-/it-length-prefixed-3.1.0.tgz", + "integrity": "sha512-E5GwT6qfZEwh3/XThyYwgjKJ4/hxvTC9kdbj3gxXDeUDKtC7+K2T647sPeX7xDEWqunsnoQyvOrjoHPegaT3uw==", + "dependencies": { + "@types/bl": "^2.1.0", + "bl": "^4.0.2", + "buffer": "^5.5.0", + "varint": "^5.0.0" + } + }, + "node_modules/libp2p-interfaces/node_modules/multibase": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-3.1.2.tgz", + "integrity": "sha512-bpklWHs70LO3smJUHOjcnzGceJJvn9ui0Vau6Za0B/GBepaXswmW8Ufea0uD9pROf/qCQ4N4lZ3sf3U+SNf0tw==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "@multiformats/base-x": "^4.0.1", + "web-encoding": "^1.0.6" + }, + "engines": { + "node": ">=10.0.0", + "npm": ">=6.0.0" + } + }, + "node_modules/libp2p-interfaces/node_modules/multihashes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-3.1.2.tgz", + "integrity": "sha512-AP4IoV/YzkNrfbQKZE3OMPibrmy350OmCd6cJkwyM8oExaXIlOY4UnOOVSQtAEuq/LR01XfXKCESidzZvSwHCQ==", + "dependencies": { + "multibase": "^3.1.0", + "uint8arrays": "^2.0.5", + "varint": "^6.0.0" + }, + "engines": { + "node": ">=10.0.0", + "npm": ">=6.0.0" + } + }, + "node_modules/libp2p-interfaces/node_modules/multihashes/node_modules/varint": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", + "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==" + }, + "node_modules/libp2p-interfaces/node_modules/uint8arrays": { + "version": "2.1.10", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-2.1.10.tgz", + "integrity": "sha512-Q9/hhJa2836nQfEJSZTmr+pg9+cDJS9XEAp7N2Vg5MzL3bK/mkMVfjscRGYruP9jNda6MAdf4QD/y78gSzkp6A==", + "dependencies": { + "multiformats": "^9.4.2" + } + }, + "node_modules/libp2p-mplex": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/libp2p-mplex/-/libp2p-mplex-0.10.2.tgz", + "integrity": "sha512-fNdlPTts2MmGalPTYdQtzeGeuM73je9mP+2OvB6Gdn5vP9LeutUzUV4wvD9ISDVi8Gru5BzCsIBiS3WjxQqjdw==", + "dependencies": { + "abort-controller": "^3.0.0", + "abortable-iterator": "^3.0.0", + "bl": "^4.0.0", + "debug": "^4.3.1", + "err-code": "^2.0.3", + "it-pipe": "^1.1.0", + "it-pushable": "^1.4.1", + "varint": "^6.0.0" + } + }, + "node_modules/libp2p-mplex/node_modules/varint": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", + "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==" + }, + "node_modules/libp2p-noise": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/libp2p-noise/-/libp2p-noise-2.0.5.tgz", + "integrity": "sha512-hmR1Y4bJ6hxEO+1aIF1HeJrUNh9NHUbH8gUTtMqpIe7zfdggGau9XKMY0InbafBPFF/WxeIOJDKZiQV4qy2fFg==", + "deprecated": "This repository is now being maintained by ChainSafe, and can be found at https://github.com/ChainSafe/js-libp2p-noise under @chainsafe/libp2p-noise", + "dependencies": { + "bcrypto": "^5.4.0", + "debug": "^4.3.1", + "it-buffer": "^0.1.1", + "it-length-prefixed": "^3.0.0", + "it-pair": "^1.0.0", + "it-pb-rpc": "^0.1.9", + "it-pipe": "^1.1.0", + "libp2p-crypto": "^0.19.0", + "peer-id": "^0.14.3", + "protobufjs": "^6.10.1", + "uint8arrays": "^2.0.5" + } + }, + "node_modules/libp2p-noise/node_modules/uint8arrays": { + "version": "2.1.10", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-2.1.10.tgz", + "integrity": "sha512-Q9/hhJa2836nQfEJSZTmr+pg9+cDJS9XEAp7N2Vg5MzL3bK/mkMVfjscRGYruP9jNda6MAdf4QD/y78gSzkp6A==", + "dependencies": { + "multiformats": "^9.4.2" + } + }, + "node_modules/libp2p-tcp": { + "version": "0.15.4", + "resolved": "https://registry.npmjs.org/libp2p-tcp/-/libp2p-tcp-0.15.4.tgz", + "integrity": "sha512-MqXIlqV7t9z0A1Ww9Omd2XIlndcYOAh5R6kWRZ8Vo/CITazKUC5ZGNoj23hq/aEPaX8p5XmJs2BKESg/OuhGhQ==", + "dependencies": { + "abortable-iterator": "^3.0.0", + "class-is": "^1.1.0", + "debug": "^4.3.1", + "err-code": "^3.0.1", + "libp2p-utils": "^0.3.0", + "mafmt": "^9.0.0", + "multiaddr": "^9.0.1", + "stream-to-it": "^0.2.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/libp2p-tcp/node_modules/cids": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/cids/-/cids-1.1.8.tgz", + "integrity": "sha512-N+YllwSV6XwqYIzx1dggJj9lioivdUe5U5i3t6ZIM3i2yt57d4Yfxk3xSMMgPIt4b9sHDkOmMEA+PYDKSVuWxA==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "multibase": "^4.0.1", + "multicodec": "^3.0.1", + "multihashes": "^4.0.1", + "uint8arrays": "^3.0.0" + }, + "engines": { + "node": ">=4.0.0", + "npm": ">=3.0.0" + } + }, + "node_modules/libp2p-tcp/node_modules/cids/node_modules/uint8arrays": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.0.0.tgz", + "integrity": "sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==", + "dependencies": { + "multiformats": "^9.4.2" + } + }, + "node_modules/libp2p-tcp/node_modules/err-code": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-3.0.1.tgz", + "integrity": "sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA==" + }, + "node_modules/libp2p-tcp/node_modules/libp2p-utils": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/libp2p-utils/-/libp2p-utils-0.3.1.tgz", + "integrity": "sha512-LOVfww7a6Rhtoupl3z1ABuTEli5whY3VLTB9QntsOIwbOcX9GfmjuhqYbEDht9lVPAQl+rCUWbfDMvK121ryUg==", + "dependencies": { + "abortable-iterator": "^3.0.0", + "debug": "^4.3.0", + "err-code": "^3.0.1", + "ip-address": "^7.1.0", + "is-loopback-addr": "^1.0.0", + "multiaddr": "^9.0.1", + "private-ip": "^2.1.1" + } + }, + "node_modules/libp2p-tcp/node_modules/mafmt": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/mafmt/-/mafmt-9.0.0.tgz", + "integrity": "sha512-BwKL6FJxc6R85K6gFE/pX7MVyCp0NkM2DJHg0RatxVgDlK4g9kqtfXQUt2iReSmTcgZss/Q/Bdfa2KTg4KyC+g==", + "dependencies": { + "multiaddr": "^9.0.1" + } + }, + "node_modules/libp2p-tcp/node_modules/multiaddr": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-9.0.2.tgz", + "integrity": "sha512-YFaEb9t4yXSbaGksSEdg+Kn2U02s7w4wXUgyEMQmPxFJj7CfVHY10WOsScAX/rK6Soa15S1zXYadqH9TtlVreQ==", + "dependencies": { + "cids": "^1.0.0", + "dns-over-http-resolver": "^1.0.0", + "err-code": "^3.0.1", + "is-ip": "^3.1.0", + "multibase": "^4.0.2", + "uint8arrays": "^2.1.3", + "varint": "^6.0.0" + } + }, + "node_modules/libp2p-tcp/node_modules/multibase": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-4.0.6.tgz", + "integrity": "sha512-x23pDe5+svdLz/k5JPGCVdfn7Q5mZVMBETiC+ORfO+sor9Sgs0smJzAjfTbM5tckeCqnaUuMYoz+k3RXMmJClQ==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "@multiformats/base-x": "^4.0.1" + }, + "engines": { + "node": ">=12.0.0", + "npm": ">=6.0.0" + } + }, + "node_modules/libp2p-tcp/node_modules/multicodec": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-3.1.1.tgz", + "integrity": "sha512-q29htEIgHglgxEcD0SvTmf1er68nfhm87rMKPqpClequHOTJknDCX5xA8QHBwBstgj+niO2KrsJeFzpsMZj2DQ==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "uint8arrays": "^3.0.0", + "varint": "^6.0.0" + } + }, + "node_modules/libp2p-tcp/node_modules/multicodec/node_modules/uint8arrays": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.0.0.tgz", + "integrity": "sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==", + "dependencies": { + "multiformats": "^9.4.2" + } + }, + "node_modules/libp2p-tcp/node_modules/multihashes": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-4.0.3.tgz", + "integrity": "sha512-0AhMH7Iu95XjDLxIeuCOOE4t9+vQZsACyKZ9Fxw2pcsRmlX4iCn1mby0hS0bb+nQOVpdQYWPpnyusw4da5RPhA==", + "dependencies": { + "multibase": "^4.0.1", + "uint8arrays": "^3.0.0", + "varint": "^5.0.2" + }, + "engines": { + "node": ">=12.0.0", + "npm": ">=6.0.0" + } + }, + "node_modules/libp2p-tcp/node_modules/multihashes/node_modules/uint8arrays": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.0.0.tgz", + "integrity": "sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==", + "dependencies": { + "multiformats": "^9.4.2" + } + }, + "node_modules/libp2p-tcp/node_modules/multihashes/node_modules/varint": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", + "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" + }, + "node_modules/libp2p-tcp/node_modules/uint8arrays": { + "version": "2.1.10", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-2.1.10.tgz", + "integrity": "sha512-Q9/hhJa2836nQfEJSZTmr+pg9+cDJS9XEAp7N2Vg5MzL3bK/mkMVfjscRGYruP9jNda6MAdf4QD/y78gSzkp6A==", + "dependencies": { + "multiformats": "^9.4.2" + } + }, + "node_modules/libp2p-tcp/node_modules/varint": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", + "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==" + }, + "node_modules/libp2p-utils": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/libp2p-utils/-/libp2p-utils-0.2.3.tgz", + "integrity": "sha512-9BoMCgvJF7LJ+JVMaHtqfCqhZN4i/sx0DrY6lf9U0Rq9uUgQ9qTai2O9LXcfr1LOS3OMMeRLsKk25MMgsf7W3w==", + "dependencies": { + "abortable-iterator": "^3.0.0", + "debug": "^4.2.0", + "err-code": "^2.0.3", + "ip-address": "^6.1.0", + "is-loopback-addr": "^1.0.0", + "multiaddr": "^8.0.0", + "private-ip": "^2.1.1" + } + }, + "node_modules/libp2p-utils/node_modules/ip-address": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-6.4.0.tgz", + "integrity": "sha512-c5uxc2WUTuRBVHT/6r4m7HIr/DfV0bF6DvLH3iZGSK8wp8iMwwZSgIq2do0asFf8q9ECug0SE+6+1ACMe4sorA==", + "dependencies": { + "jsbn": "1.1.0", + "lodash.find": "4.6.0", + "lodash.max": "4.0.1", + "lodash.merge": "4.6.2", + "lodash.padstart": "4.6.1", + "lodash.repeat": "4.1.0", + "sprintf-js": "1.1.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/libp2p-utils/node_modules/jsbn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha1-sBMHyym2GKHtJux56RH4A8TaAEA=" + }, + "node_modules/libp2p-websockets": { + "version": "0.15.3", + "resolved": "https://registry.npmjs.org/libp2p-websockets/-/libp2p-websockets-0.15.3.tgz", + "integrity": "sha512-GbrdacmtqE4rdb8+UnarRlMvnUwfO4T4ABCMAGkVkwb7faAIA5S3bfCYnTAxRV1nvESAk6KwR+4JSkGM+A7j5w==", + "dependencies": { + "abortable-iterator": "^3.0.0", + "class-is": "^1.1.0", + "debug": "^4.2.0", + "err-code": "^3.0.1", + "ipfs-utils": "^6.0.1", + "it-ws": "^3.0.2", + "libp2p-utils": "^0.2.1", + "mafmt": "^8.0.1", + "multiaddr": "^8.1.1", + "multiaddr-to-uri": "^6.0.0", + "p-defer": "^3.0.0", + "p-timeout": "^4.1.0" + } + }, + "node_modules/libp2p-websockets/node_modules/err-code": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-3.0.1.tgz", + "integrity": "sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA==" + }, + "node_modules/libp2p-websockets/node_modules/p-timeout": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-4.1.0.tgz", + "integrity": "sha512-+/wmHtzJuWii1sXn3HCuH/FTwGhrp4tmJTxSKJbfS+vkipci6osxXM5mY0jUiRzWKMTgUT8l7HFbeSwZAynqHw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/libp2p/node_modules/cids": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/cids/-/cids-1.1.8.tgz", + "integrity": "sha512-N+YllwSV6XwqYIzx1dggJj9lioivdUe5U5i3t6ZIM3i2yt57d4Yfxk3xSMMgPIt4b9sHDkOmMEA+PYDKSVuWxA==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "multibase": "^4.0.1", + "multicodec": "^3.0.1", + "multihashes": "^4.0.1", + "uint8arrays": "^3.0.0" + }, + "engines": { + "node": ">=4.0.0", + "npm": ">=3.0.0" + } + }, + "node_modules/libp2p/node_modules/cids/node_modules/multicodec": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-3.1.1.tgz", + "integrity": "sha512-q29htEIgHglgxEcD0SvTmf1er68nfhm87rMKPqpClequHOTJknDCX5xA8QHBwBstgj+niO2KrsJeFzpsMZj2DQ==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "uint8arrays": "^3.0.0", + "varint": "^6.0.0" + } + }, + "node_modules/libp2p/node_modules/it-length-prefixed": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/it-length-prefixed/-/it-length-prefixed-3.1.0.tgz", + "integrity": "sha512-E5GwT6qfZEwh3/XThyYwgjKJ4/hxvTC9kdbj3gxXDeUDKtC7+K2T647sPeX7xDEWqunsnoQyvOrjoHPegaT3uw==", + "dependencies": { + "@types/bl": "^2.1.0", + "bl": "^4.0.2", + "buffer": "^5.5.0", + "varint": "^5.0.0" + } + }, + "node_modules/libp2p/node_modules/it-length-prefixed/node_modules/varint": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", + "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" + }, + "node_modules/libp2p/node_modules/multibase": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-4.0.6.tgz", + "integrity": "sha512-x23pDe5+svdLz/k5JPGCVdfn7Q5mZVMBETiC+ORfO+sor9Sgs0smJzAjfTbM5tckeCqnaUuMYoz+k3RXMmJClQ==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "@multiformats/base-x": "^4.0.1" + }, + "engines": { + "node": ">=12.0.0", + "npm": ">=6.0.0" + } + }, + "node_modules/libp2p/node_modules/multicodec": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-2.1.3.tgz", + "integrity": "sha512-0tOH2Gtio39uO41o+2xl9UhRkCWxU5ZmZSbFCh/OjGzkWJI8e6lkN/s4Mj1YfyWoBod+2+S3W+6wO6nhkwN8pA==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "uint8arrays": "1.1.0", + "varint": "^6.0.0" + } + }, + "node_modules/libp2p/node_modules/multicodec/node_modules/multibase": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-3.1.2.tgz", + "integrity": "sha512-bpklWHs70LO3smJUHOjcnzGceJJvn9ui0Vau6Za0B/GBepaXswmW8Ufea0uD9pROf/qCQ4N4lZ3sf3U+SNf0tw==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "@multiformats/base-x": "^4.0.1", + "web-encoding": "^1.0.6" + }, + "engines": { + "node": ">=10.0.0", + "npm": ">=6.0.0" + } + }, + "node_modules/libp2p/node_modules/multicodec/node_modules/uint8arrays": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-1.1.0.tgz", + "integrity": "sha512-cLdlZ6jnFczsKf5IH1gPHTtcHtPGho5r4CvctohmQjw8K7Q3gFdfIGHxSTdTaCKrL4w09SsPRJTqRS0drYeszA==", + "dependencies": { + "multibase": "^3.0.0", + "web-encoding": "^1.0.2" + } + }, + "node_modules/libp2p/node_modules/multihashes": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-4.0.3.tgz", + "integrity": "sha512-0AhMH7Iu95XjDLxIeuCOOE4t9+vQZsACyKZ9Fxw2pcsRmlX4iCn1mby0hS0bb+nQOVpdQYWPpnyusw4da5RPhA==", + "dependencies": { + "multibase": "^4.0.1", + "uint8arrays": "^3.0.0", + "varint": "^5.0.2" + }, + "engines": { + "node": ">=12.0.0", + "npm": ">=6.0.0" + } + }, + "node_modules/libp2p/node_modules/multihashes/node_modules/varint": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", + "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" + }, + "node_modules/libp2p/node_modules/varint": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", + "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==" + }, + "node_modules/loady": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/loady/-/loady-0.0.5.tgz", + "integrity": "sha512-uxKD2HIj042/HBx77NBcmEPsD+hxCgAtjEWlYNScuUjIsh/62Uyu39GOR68TBR68v+jqDL9zfftCWoUo4y03sQ==", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/lodash.find": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.find/-/lodash.find-4.6.0.tgz", + "integrity": "sha1-ywcE1Hq3F4n/oN6Ll92Sb7iLE7E=" + }, + "node_modules/lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=" + }, + "node_modules/lodash.max": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.max/-/lodash.max-4.0.1.tgz", + "integrity": "sha1-hzVWbGGLNan3YFILSHrnllivE2o=" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, + "node_modules/lodash.padstart": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.6.1.tgz", + "integrity": "sha1-0uPuv/DZ05rVD1y9G1KnvOa7YRs=" + }, + "node_modules/lodash.repeat": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/lodash.repeat/-/lodash.repeat-4.1.0.tgz", + "integrity": "sha1-/H3oEx2MisB+S0n3T/6CnR8r7EQ=" + }, + "node_modules/loglevel": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.0.tgz", + "integrity": "sha512-i2sY04nal5jDcagM3FMfG++T69GEEM8CYuOfeOIvmXzOIcwE9a/CJPR0MFM97pYMj/u10lzz7/zd7+qwhrBTqQ==", + "engines": { + "node": ">= 0.6.0" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/subscription/pkg/npm-loglevel?utm_medium=referral&utm_source=npm_fund" + } + }, + "node_modules/long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + }, + "node_modules/mafmt": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/mafmt/-/mafmt-8.0.4.tgz", + "integrity": "sha512-wwZ5+PU0vQw10kwQRyZin1Z0dqVOp0BnYlX1xvXHS2fmLwrrQCfU1+3tlW5MRcihUwGz1virnVhbRAU1biKfiw==", + "dependencies": { + "multiaddr": "^8.0.0" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "node_modules/merge-options": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz", + "integrity": "sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==", + "dependencies": { + "is-plain-obj": "^2.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "node_modules/mime-db": { + "version": "1.49.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz", + "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.32", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz", + "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==", + "dependencies": { + "mime-db": "1.49.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "node_modules/moving-average": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/moving-average/-/moving-average-1.0.1.tgz", + "integrity": "sha512-Hl3aUJqu/7LMslHM6mz9Sk1mpFwe4jW5QcmJgukcUGFILBcQW5L9ot8BUVRSuUaW3o/1Twrwmu7w2NTGvw76cA==" + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/multiaddr": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-8.1.2.tgz", + "integrity": "sha512-r13IzW8+Sv9zab9Gt8RPMIN2WkptIPq99EpAzg4IbJ/zTELhiEwXWr9bAmEatSCI4j/LSA6ESJzvz95JZ+ZYXQ==", + "dependencies": { + "cids": "^1.0.0", + "class-is": "^1.1.0", + "dns-over-http-resolver": "^1.0.0", + "err-code": "^2.0.3", + "is-ip": "^3.1.0", + "multibase": "^3.0.0", + "uint8arrays": "^1.1.0", + "varint": "^5.0.0" + } + }, + "node_modules/multiaddr-to-uri": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/multiaddr-to-uri/-/multiaddr-to-uri-6.0.0.tgz", + "integrity": "sha512-OjpkVHOXEmIKMO8WChzzQ7aZQcSQX8squxmvtDbRpy7/QNmJ3Z7jv6qyD74C28QtaeNie8O8ngW2AkeiMmKP7A==", + "dependencies": { + "multiaddr": "^8.0.0" + } + }, + "node_modules/multiaddr/node_modules/cids": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/cids/-/cids-1.1.8.tgz", + "integrity": "sha512-N+YllwSV6XwqYIzx1dggJj9lioivdUe5U5i3t6ZIM3i2yt57d4Yfxk3xSMMgPIt4b9sHDkOmMEA+PYDKSVuWxA==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "multibase": "^4.0.1", + "multicodec": "^3.0.1", + "multihashes": "^4.0.1", + "uint8arrays": "^3.0.0" + }, + "engines": { + "node": ">=4.0.0", + "npm": ">=3.0.0" + } + }, + "node_modules/multiaddr/node_modules/cids/node_modules/multibase": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-4.0.6.tgz", + "integrity": "sha512-x23pDe5+svdLz/k5JPGCVdfn7Q5mZVMBETiC+ORfO+sor9Sgs0smJzAjfTbM5tckeCqnaUuMYoz+k3RXMmJClQ==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "@multiformats/base-x": "^4.0.1" + }, + "engines": { + "node": ">=12.0.0", + "npm": ">=6.0.0" + } + }, + "node_modules/multiaddr/node_modules/cids/node_modules/uint8arrays": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.0.0.tgz", + "integrity": "sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==", + "dependencies": { + "multiformats": "^9.4.2" + } + }, + "node_modules/multiaddr/node_modules/multibase": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-3.1.2.tgz", + "integrity": "sha512-bpklWHs70LO3smJUHOjcnzGceJJvn9ui0Vau6Za0B/GBepaXswmW8Ufea0uD9pROf/qCQ4N4lZ3sf3U+SNf0tw==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "@multiformats/base-x": "^4.0.1", + "web-encoding": "^1.0.6" + }, + "engines": { + "node": ">=10.0.0", + "npm": ">=6.0.0" + } + }, + "node_modules/multiaddr/node_modules/multicodec": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-3.1.1.tgz", + "integrity": "sha512-q29htEIgHglgxEcD0SvTmf1er68nfhm87rMKPqpClequHOTJknDCX5xA8QHBwBstgj+niO2KrsJeFzpsMZj2DQ==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "uint8arrays": "^3.0.0", + "varint": "^6.0.0" + } + }, + "node_modules/multiaddr/node_modules/multicodec/node_modules/uint8arrays": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.0.0.tgz", + "integrity": "sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==", + "dependencies": { + "multiformats": "^9.4.2" + } + }, + "node_modules/multiaddr/node_modules/multicodec/node_modules/varint": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", + "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==" + }, + "node_modules/multiaddr/node_modules/multihashes": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-4.0.3.tgz", + "integrity": "sha512-0AhMH7Iu95XjDLxIeuCOOE4t9+vQZsACyKZ9Fxw2pcsRmlX4iCn1mby0hS0bb+nQOVpdQYWPpnyusw4da5RPhA==", + "dependencies": { + "multibase": "^4.0.1", + "uint8arrays": "^3.0.0", + "varint": "^5.0.2" + }, + "engines": { + "node": ">=12.0.0", + "npm": ">=6.0.0" + } + }, + "node_modules/multiaddr/node_modules/multihashes/node_modules/multibase": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-4.0.6.tgz", + "integrity": "sha512-x23pDe5+svdLz/k5JPGCVdfn7Q5mZVMBETiC+ORfO+sor9Sgs0smJzAjfTbM5tckeCqnaUuMYoz+k3RXMmJClQ==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "@multiformats/base-x": "^4.0.1" + }, + "engines": { + "node": ">=12.0.0", + "npm": ">=6.0.0" + } + }, + "node_modules/multiaddr/node_modules/multihashes/node_modules/uint8arrays": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.0.0.tgz", + "integrity": "sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==", + "dependencies": { + "multiformats": "^9.4.2" + } + }, + "node_modules/multiaddr/node_modules/uint8arrays": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-1.1.0.tgz", + "integrity": "sha512-cLdlZ6jnFczsKf5IH1gPHTtcHtPGho5r4CvctohmQjw8K7Q3gFdfIGHxSTdTaCKrL4w09SsPRJTqRS0drYeszA==", + "dependencies": { + "multibase": "^3.0.0", + "web-encoding": "^1.0.2" + } + }, + "node_modules/multibase": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", + "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" + } + }, + "node_modules/multicodec": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", + "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "buffer": "^5.6.0", + "varint": "^5.0.0" + } + }, + "node_modules/multiformats": { + "version": "9.4.6", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.4.6.tgz", + "integrity": "sha512-ngZRO82P7mPvw/3gu5NQ2QiUJGYTS0LAxvQnEAlWCJakvn7YpK2VAd9JWM5oosYUeqoVbkylH/FsqRc4fc2+ag==" + }, + "node_modules/multihashes": { + "version": "0.4.21", + "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.21.tgz", + "integrity": "sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==", + "dependencies": { + "buffer": "^5.5.0", + "multibase": "^0.7.0", + "varint": "^5.0.0" + } + }, + "node_modules/multihashing-async": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-2.1.4.tgz", + "integrity": "sha512-sB1MiQXPSBTNRVSJc2zM157PXgDtud2nMFUEIvBrsq5Wv96sUclMRK/ecjoP1T/W61UJBqt4tCTwMkUpt2Gbzg==", + "dependencies": { + "blakejs": "^1.1.0", + "err-code": "^3.0.0", + "js-sha3": "^0.8.0", + "multihashes": "^4.0.1", + "murmurhash3js-revisited": "^3.0.0", + "uint8arrays": "^3.0.0" + }, + "engines": { + "node": ">=12.0.0", + "npm": ">=6.0.0" + } + }, + "node_modules/multihashing-async/node_modules/err-code": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-3.0.1.tgz", + "integrity": "sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA==" + }, + "node_modules/multihashing-async/node_modules/multibase": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-4.0.6.tgz", + "integrity": "sha512-x23pDe5+svdLz/k5JPGCVdfn7Q5mZVMBETiC+ORfO+sor9Sgs0smJzAjfTbM5tckeCqnaUuMYoz+k3RXMmJClQ==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "@multiformats/base-x": "^4.0.1" + }, + "engines": { + "node": ">=12.0.0", + "npm": ">=6.0.0" + } + }, + "node_modules/multihashing-async/node_modules/multihashes": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-4.0.3.tgz", + "integrity": "sha512-0AhMH7Iu95XjDLxIeuCOOE4t9+vQZsACyKZ9Fxw2pcsRmlX4iCn1mby0hS0bb+nQOVpdQYWPpnyusw4da5RPhA==", + "dependencies": { + "multibase": "^4.0.1", + "uint8arrays": "^3.0.0", + "varint": "^5.0.2" + }, + "engines": { + "node": ">=12.0.0", + "npm": ">=6.0.0" + } + }, + "node_modules/multistream-select": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/multistream-select/-/multistream-select-1.0.0.tgz", + "integrity": "sha512-82riQ+qZ0RPY+KbRdeeKKQnFSBCVpUbZ15EniGU2nfwM8NdrpPIeUYXFw4a/pyprcNeRfMgLlG9aCh874p8nJg==", + "dependencies": { + "bl": "^4.0.0", + "debug": "^4.1.1", + "err-code": "^2.0.0", + "it-handshake": "^1.0.2", + "it-length-prefixed": "^3.0.0", + "it-pipe": "^1.0.1", + "it-reader": "^2.0.0", + "p-defer": "^3.0.0", + "uint8arrays": "^1.1.0" + } + }, + "node_modules/multistream-select/node_modules/multibase": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-3.1.2.tgz", + "integrity": "sha512-bpklWHs70LO3smJUHOjcnzGceJJvn9ui0Vau6Za0B/GBepaXswmW8Ufea0uD9pROf/qCQ4N4lZ3sf3U+SNf0tw==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "@multiformats/base-x": "^4.0.1", + "web-encoding": "^1.0.6" + }, + "engines": { + "node": ">=10.0.0", + "npm": ">=6.0.0" + } + }, + "node_modules/multistream-select/node_modules/uint8arrays": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-1.1.0.tgz", + "integrity": "sha512-cLdlZ6jnFczsKf5IH1gPHTtcHtPGho5r4CvctohmQjw8K7Q3gFdfIGHxSTdTaCKrL4w09SsPRJTqRS0drYeszA==", + "dependencies": { + "multibase": "^3.0.0", + "web-encoding": "^1.0.2" + } + }, + "node_modules/murmurhash3js-revisited": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/murmurhash3js-revisited/-/murmurhash3js-revisited-3.0.0.tgz", + "integrity": "sha512-/sF3ee6zvScXMb1XFJ8gDsSnY+X8PbOyjIuBhtgis10W2Jx4ZjIhikUCIF9c4gpJxVnQIsPAFrSwTCuAjicP6g==", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/mutable-proxy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mutable-proxy/-/mutable-proxy-1.0.0.tgz", + "integrity": "sha512-4OvNRr1DJpy2QuDUV74m+BWZ//n4gG4bmd21MzDSPqHEidIDWqwyOjcadU1LBMO3vXYGurVKjfBrxrSQIHFu9A==", + "engines": { + "node": ">=6.X.X", + "npm": ">=3.X.X" + } + }, + "node_modules/nan": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", + "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==" + }, + "node_modules/nanoid": { + "version": "3.1.25", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz", + "integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/native-abort-controller": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/native-abort-controller/-/native-abort-controller-1.0.3.tgz", + "integrity": "sha512-fd5LY5q06mHKZPD5FmMrn7Lkd2H018oBGKNOAdLpctBDEPFKsfJ1nX9ke+XRa8PEJJpjqrpQkGjq2IZ27QNmYA==", + "peerDependencies": { + "abort-controller": "*" + } + }, + "node_modules/native-fetch": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/native-fetch/-/native-fetch-3.0.0.tgz", + "integrity": "sha512-G3Z7vx0IFb/FQ4JxvtqGABsOTIqRWvgQz6e+erkB+JJD6LrszQtMozEHI4EkmgZQvnGHrpLVzUWk7t4sJCIkVw==", + "peerDependencies": { + "node-fetch": "*" + } + }, + "node_modules/netmask": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", + "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/nise": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/nise/-/nise-4.1.0.tgz", + "integrity": "sha512-eQMEmGN/8arp0xsvGoQ+B1qvSkR73B1nWSCh7nOt5neMCtwcQVYQGdzQMhcNscktTsWB54xnlSQFzOAPJD8nXA==", + "dependencies": { + "@sinonjs/commons": "^1.7.0", + "@sinonjs/fake-timers": "^6.0.0", + "@sinonjs/text-encoding": "^0.7.1", + "just-extend": "^4.0.2", + "path-to-regexp": "^1.7.0" + } + }, + "node_modules/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_modules/node-addon-api": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", + "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" + }, + "node_modules/node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", + "engines": { + "node": "4.x || >=6.0.0" + } + }, + "node_modules/node-forge": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", + "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/node-gyp-build": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.2.3.tgz", + "integrity": "sha512-MN6ZpzmfNCRM+3t57PTJHgHyw/h4OWnZ6mR8P5j/uZtqQr46RRuDE/P+g3n0YR/AiYXeWixZZzaip77gdICfRg==", + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "engines": { + "node": "*" + } + }, + "node_modules/object-inspect": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", + "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-any": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-any/-/p-any-3.0.0.tgz", + "integrity": "sha512-5rqbqfsRWNb0sukt0awwgJMlaep+8jV45S15SKKB34z4UuzjcofIfnriCBhWjZP2jbVtjt9yRl7buB6RlKsu9w==", + "dependencies": { + "p-cancelable": "^2.0.0", + "p-some": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-cancelable": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/p-defer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz", + "integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/p-fifo": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-fifo/-/p-fifo-1.0.0.tgz", + "integrity": "sha512-IjoCxXW48tqdtDFz6fqo5q1UfFVjjVZe8TC1QRflvNUJtNfCUhxOUw6MOVZhDPjqhSzc26xKdugsO17gmzd5+A==", + "dependencies": { + "fast-fifo": "^1.0.0", + "p-defer": "^3.0.0" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "engines": { + "node": ">=4" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-reflect": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-reflect/-/p-reflect-2.1.0.tgz", + "integrity": "sha512-paHV8NUz8zDHu5lhr/ngGWQiW067DK/+IbJ+RfZ4k+s8y4EKyYCz8pGYWjxCg35eHztpJAt+NUgvN4L+GCbPlg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/p-retry": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.1.tgz", + "integrity": "sha512-e2xXGNhZOZ0lfgR9kL34iGlU8N/KO0xZnQxVEwdeOvpqNDQfdnxIYizvWtK8RglUa3bGqI8g0R/BdfzLMxRkiA==", + "dependencies": { + "@types/retry": "^0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-settle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/p-settle/-/p-settle-4.1.1.tgz", + "integrity": "sha512-6THGh13mt3gypcNMm0ADqVNCcYa3BK6DWsuJWFCuEKP1rpY+OKGp7gaZwVmLspmic01+fsg/fN57MfvDzZ/PuQ==", + "dependencies": { + "p-limit": "^2.2.2", + "p-reflect": "^2.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-settle/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-some": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-some/-/p-some-5.0.0.tgz", + "integrity": "sha512-Js5XZxo6vHjB9NOYAzWDYAIyyiPvva0DWESAIWIK7uhSpGsyg5FwUPxipU/SOQx5x9EqhOh545d1jo6cVkitig==", + "dependencies": { + "aggregate-error": "^3.0.0", + "p-cancelable": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-timeout": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", + "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", + "dependencies": { + "p-finally": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/p-wait-for": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/p-wait-for/-/p-wait-for-3.2.0.tgz", + "integrity": "sha512-wpgERjNkLrBiFmkMEjuZJEWKKDrNfHCKA1OhyN1wg1FrLkULbviEy6py1AyJUgZ72YWFbZ38FIpnqvVqAlDUwA==", + "dependencies": { + "p-timeout": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-to-regexp": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", + "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", + "dependencies": { + "isarray": "0.0.1" + } + }, + "node_modules/pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "engines": { + "node": "*" + } + }, + "node_modules/peer-id": { + "version": "0.14.3", + "resolved": "https://registry.npmjs.org/peer-id/-/peer-id-0.14.3.tgz", + "integrity": "sha512-3ug6gDFWPuzihjjhMC0G/EEyaJaM9JCKPZqvPhwnsbhIUbutbS/MMF8Mb+TdDE1IksOXgCKNmohSZBJ/gFijOg==", + "dependencies": { + "cids": "^1.1.5", + "class-is": "^1.1.0", + "libp2p-crypto": "^0.19.0", + "minimist": "^1.2.5", + "multihashes": "^3.1.1", + "protons": "^2.0.0", + "uint8arrays": "^2.0.5" + }, + "bin": { + "peer-id": "src/bin.js" + }, + "engines": { + "node": ">=10.0.0", + "npm": ">=6.0.0" + } + }, + "node_modules/peer-id/node_modules/cids": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/cids/-/cids-1.1.8.tgz", + "integrity": "sha512-N+YllwSV6XwqYIzx1dggJj9lioivdUe5U5i3t6ZIM3i2yt57d4Yfxk3xSMMgPIt4b9sHDkOmMEA+PYDKSVuWxA==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "multibase": "^4.0.1", + "multicodec": "^3.0.1", + "multihashes": "^4.0.1", + "uint8arrays": "^3.0.0" + }, + "engines": { + "node": ">=4.0.0", + "npm": ">=3.0.0" + } + }, + "node_modules/peer-id/node_modules/cids/node_modules/multihashes": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-4.0.3.tgz", + "integrity": "sha512-0AhMH7Iu95XjDLxIeuCOOE4t9+vQZsACyKZ9Fxw2pcsRmlX4iCn1mby0hS0bb+nQOVpdQYWPpnyusw4da5RPhA==", + "dependencies": { + "multibase": "^4.0.1", + "uint8arrays": "^3.0.0", + "varint": "^5.0.2" + }, + "engines": { + "node": ">=12.0.0", + "npm": ">=6.0.0" + } + }, + "node_modules/peer-id/node_modules/cids/node_modules/uint8arrays": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.0.0.tgz", + "integrity": "sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==", + "dependencies": { + "multiformats": "^9.4.2" + } + }, + "node_modules/peer-id/node_modules/cids/node_modules/varint": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", + "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" + }, + "node_modules/peer-id/node_modules/multibase": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-4.0.6.tgz", + "integrity": "sha512-x23pDe5+svdLz/k5JPGCVdfn7Q5mZVMBETiC+ORfO+sor9Sgs0smJzAjfTbM5tckeCqnaUuMYoz+k3RXMmJClQ==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "@multiformats/base-x": "^4.0.1" + }, + "engines": { + "node": ">=12.0.0", + "npm": ">=6.0.0" + } + }, + "node_modules/peer-id/node_modules/multicodec": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-3.1.1.tgz", + "integrity": "sha512-q29htEIgHglgxEcD0SvTmf1er68nfhm87rMKPqpClequHOTJknDCX5xA8QHBwBstgj+niO2KrsJeFzpsMZj2DQ==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "uint8arrays": "^3.0.0", + "varint": "^6.0.0" + } + }, + "node_modules/peer-id/node_modules/multicodec/node_modules/uint8arrays": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.0.0.tgz", + "integrity": "sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==", + "dependencies": { + "multiformats": "^9.4.2" + } + }, + "node_modules/peer-id/node_modules/multihashes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-3.1.2.tgz", + "integrity": "sha512-AP4IoV/YzkNrfbQKZE3OMPibrmy350OmCd6cJkwyM8oExaXIlOY4UnOOVSQtAEuq/LR01XfXKCESidzZvSwHCQ==", + "dependencies": { + "multibase": "^3.1.0", + "uint8arrays": "^2.0.5", + "varint": "^6.0.0" + }, + "engines": { + "node": ">=10.0.0", + "npm": ">=6.0.0" + } + }, + "node_modules/peer-id/node_modules/multihashes/node_modules/multibase": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-3.1.2.tgz", + "integrity": "sha512-bpklWHs70LO3smJUHOjcnzGceJJvn9ui0Vau6Za0B/GBepaXswmW8Ufea0uD9pROf/qCQ4N4lZ3sf3U+SNf0tw==", + "deprecated": "This module has been superseded by the multiformats module", + "dependencies": { + "@multiformats/base-x": "^4.0.1", + "web-encoding": "^1.0.6" + }, + "engines": { + "node": ">=10.0.0", + "npm": ">=6.0.0" + } + }, + "node_modules/peer-id/node_modules/uint8arrays": { + "version": "2.1.10", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-2.1.10.tgz", + "integrity": "sha512-Q9/hhJa2836nQfEJSZTmr+pg9+cDJS9XEAp7N2Vg5MzL3bK/mkMVfjscRGYruP9jNda6MAdf4QD/y78gSzkp6A==", + "dependencies": { + "multiformats": "^9.4.2" + } + }, + "node_modules/peer-id/node_modules/varint": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", + "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==" + }, + "node_modules/pem-jwk": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pem-jwk/-/pem-jwk-2.0.0.tgz", + "integrity": "sha512-rFxu7rVoHgQ5H9YsP50dDWf0rHjreVA2z0yPiWr5WdH/UHb29hKtF7h6l8vNd1cbYR1t0QL+JKhW55a2ZV4KtA==", + "dependencies": { + "asn1.js": "^5.0.1" + }, + "bin": { + "pem-jwk": "bin/pem-jwk.js" + }, + "engines": { + "node": ">=5.10.0" + } + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "node_modules/private-ip": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/private-ip/-/private-ip-2.2.1.tgz", + "integrity": "sha512-jN1WT/br/VNW9xEcwHr6DjtOKxQ5qOIqmh7o+co2TWgq56pZJw99iO3UT1tWdfgsQiyK9FqG4ji3ykwpjFqITA==", + "dependencies": { + "ip-regex": "^4.3.0", + "netmask": "^2.0.2" + } + }, + "node_modules/protobufjs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.2.tgz", + "integrity": "sha512-4BQJoPooKJl2G9j3XftkIXjoC9C0Av2NOrWmbLWT1vH32GcSUHjM0Arra6UfTsVyfMAuFzaLucXn1sadxJydAw==", + "hasInstallScript": true, + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^4.0.1", + "@types/node": ">=13.7.0", + "long": "^4.0.0" + }, + "bin": { + "pbjs": "bin/pbjs", + "pbts": "bin/pbts" + } + }, + "node_modules/protocol-buffers-schema": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.5.2.tgz", + "integrity": "sha512-LPzSaBYp/TcbuSlpGwqT5jR9kvJ3Zp5ic2N5c2ybx6XB/lSfEHq2D7ja8AgoxHoMD91wXFALJoXsvshKPuXyew==" + }, + "node_modules/protons": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/protons/-/protons-2.0.3.tgz", + "integrity": "sha512-j6JikP/H7gNybNinZhAHMN07Vjr1i4lVupg598l4I9gSTjJqOvKnwjzYX2PzvBTSVf2eZ2nWv4vG+mtW8L6tpA==", + "dependencies": { + "protocol-buffers-schema": "^3.3.1", + "signed-varint": "^2.0.1", + "uint8arrays": "^3.0.0", + "varint": "^5.0.0" + } + }, + "node_modules/psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/react-native-fetch-api": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/react-native-fetch-api/-/react-native-fetch-api-2.0.0.tgz", + "integrity": "sha512-GOA8tc1EVYLnHvma/TU9VTgLOyralO7eATRuCDchQveXW9Fr9vXygyq9iwqmM7YRZ8qRJfEt9xOS7OYMdJvRFw==", + "dependencies": { + "p-defer": "^3.0.0" + } + }, + "node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/receptacle": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/receptacle/-/receptacle-1.3.2.tgz", + "integrity": "sha512-HrsFvqZZheusncQRiEE7GatOAETrARKV/lnfYicIm8lbvp/JQOdADOfhjBd2DajvoszEyxSM6RlAAIZgEoeu/A==", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", + "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/relative-url": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/relative-url/-/relative-url-1.0.2.tgz", + "integrity": "sha1-0hxSpy1gYQGLzun5yfwQa/fWUoc=" + }, + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/request/node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/retimer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/retimer/-/retimer-2.0.0.tgz", + "integrity": "sha512-KLXY85WkEq2V2bKex/LOO1ViXVn2KGYe4PYysAdYdjmraYIUsVkXu8O4am+8+5UbaaGl1qho4aqAAPHNQ4GSbg==" + }, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/sanitize-filename": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz", + "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==", + "dependencies": { + "truncate-utf8-bytes": "^1.0.0" + } + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "node_modules/secp256k1": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.2.tgz", + "integrity": "sha512-UDar4sKvWAksIlfX3xIaQReADn+WFnHvbVujpcbr+9Sf/69odMwy2MUsz5CKLQgX9nsIyrjuxL2imVyoNHa3fg==", + "hasInstallScript": true, + "dependencies": { + "elliptic": "^6.5.2", + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/set-delayed-interval": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/set-delayed-interval/-/set-delayed-interval-1.0.0.tgz", + "integrity": "sha512-29fhAwuZlLcuBnW/EwxvLcg2D3ELX+VBDNhnavs3YYkab72qmrcSeQNVdzl8EcPPahGQXhBM6MKdPLCQGMDakw==" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" + }, + "node_modules/signed-varint": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/signed-varint/-/signed-varint-2.0.1.tgz", + "integrity": "sha1-UKmYnafJjCxh2tEZvJdHDvhSgSk=", + "dependencies": { + "varint": "~5.0.0" + } + }, + "node_modules/sinon": { + "version": "9.2.4", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-9.2.4.tgz", + "integrity": "sha512-zljcULZQsJxVra28qIAL6ow1Z9tpattkCTEJR4RBP3TGc00FcttsP5pK284Nas5WjMZU5Yzy3kAIp3B3KRf5Yg==", + "dependencies": { + "@sinonjs/commons": "^1.8.1", + "@sinonjs/fake-timers": "^6.0.1", + "@sinonjs/samsam": "^5.3.1", + "diff": "^4.0.2", + "nise": "^4.0.4", + "supports-color": "^7.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/sinon" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", + "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==" + }, + "node_modules/sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stream-to-it": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/stream-to-it/-/stream-to-it-0.2.4.tgz", + "integrity": "sha512-4vEbkSs83OahpmBybNJXlJd7d6/RxzkkSdT3I0mnGt79Xd2Kk+e1JqbvAvsQfCeKj3aKb0QIWkyK3/n0j506vQ==", + "dependencies": { + "get-iterator": "^1.0.2" + } + }, + "node_modules/streaming-iterables": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/streaming-iterables/-/streaming-iterables-5.0.4.tgz", + "integrity": "sha512-nEs6hBGIPsVz6uq6pscGGKfoPDQWrDQW0b0UHurtSDysekfKLmkPg7FQVRE2sj3Rad6yUo9E1sGTxOWyYsHQ/g==", + "engines": { + "node": ">=10" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/timeout-abort-controller": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/timeout-abort-controller/-/timeout-abort-controller-1.1.1.tgz", + "integrity": "sha512-BsF9i3NAJag6T0ZEjki9j654zoafI2X6ayuNd6Tp8+Ul6Tr5s4jo973qFeiWrRSweqvskC+AHDKUmIW4b7pdhQ==", + "dependencies": { + "abort-controller": "^3.0.0", + "retimer": "^2.0.0" + } + }, + "node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/truncate-utf8-bytes": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", + "integrity": "sha1-QFkjkJWS1W94pYGENLC3hInKXys=", + "dependencies": { + "utf8-byte-length": "^1.0.1" + } + }, + "node_modules/ts-node": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-9.1.1.tgz", + "integrity": "sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==", + "dev": true, + "dependencies": { + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "source-map-support": "^0.5.17", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "typescript": ">=2.7" + } + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/typescript": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.4.tgz", + "integrity": "sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/uint8arrays": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.0.0.tgz", + "integrity": "sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==", + "dependencies": { + "multiformats": "^9.4.2" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", + "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", + "dependencies": { + "function-bind": "^1.1.1", + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unordered-array-remove": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unordered-array-remove/-/unordered-array-remove-1.0.2.tgz", + "integrity": "sha1-xUbo+I4xegzyZEyX7LV9umbSUO8=" + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/ursa-optional": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/ursa-optional/-/ursa-optional-0.10.2.tgz", + "integrity": "sha512-TKdwuLboBn7M34RcvVTuQyhvrA8gYKapuVdm0nBP0mnBc7oECOfUQZrY91cefL3/nm64ZyrejSRrhTVdX7NG/A==", + "hasInstallScript": true, + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.14.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/utf8-byte-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", + "integrity": "sha1-9F8VDExm7uloGGUFq5P8u4rWv2E=" + }, + "node_modules/util": { + "version": "0.12.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.4.tgz", + "integrity": "sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==", + "dependencies": { + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "safe-buffer": "^5.1.2", + "which-typed-array": "^1.1.2" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "node_modules/uuid": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.0.tgz", + "integrity": "sha512-fX6Z5o4m6XsXBdli9g7DtWgAx+osMsRRZFKma1mIUsLCz6vRvv+pz5VNbyu9UEDzpMWulZfvpgb/cmDXVulYFQ==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/varint": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", + "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==" + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/web-encoding": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/web-encoding/-/web-encoding-1.1.5.tgz", + "integrity": "sha512-HYLeVCdJ0+lBYV2FvNZmv3HJ2Nt0QYXqZojk3d9FJOLkwnuhzM9tmamh8d7HPM8QqjKH8DeHkFTx+CFlWpZZDA==", + "dependencies": { + "util": "^0.12.3" + }, + "optionalDependencies": { + "@zxing/text-encoding": "0.9.0" + } + }, + "node_modules/wherearewe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wherearewe/-/wherearewe-1.0.0.tgz", + "integrity": "sha512-oQnRsAfMCqNAC7U4JrBdmFXAhBRLOkPGOfU5+nw9fs2D3g8O6EV7hn7BhpXtt0yno4pxFiRD55rMyt0fsLMqlw==", + "dependencies": { + "is-electron": "^2.2.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "dependencies": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.6.tgz", + "integrity": "sha512-DdY984dGD5sQ7Tf+x1CkXzdg85b9uEel6nr4UkFg1LoE9OXv3uRuZhe5CoWdawhGACeFpEZXH8fFLQnDhbpm/Q==", + "dependencies": { + "available-typed-arrays": "^1.0.4", + "call-bind": "^1.0.2", + "es-abstract": "^1.18.5", + "foreach": "^2.0.5", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ws": { + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz", + "integrity": "sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml2js": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", + "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/xsalsa20": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/xsalsa20/-/xsalsa20-1.1.0.tgz", + "integrity": "sha512-zd3ytX2cm+tcSndRU+krm0eL4TMMpZE7evs5hLRAoOy6gviqLfe3qOlkjF3i5SeAkQUCeJk0lJZrEU56kHRfWw==" + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + }, "dependencies": { "@chainsafe/libp2p-noise": { "version": "4.0.0", @@ -98,12 +5086,6 @@ "integrity": "sha512-dwBPNoE490LX9CRssNyz3nHKgpxwYvkRIhmTbjbFYXknzZWN18vx6WseD9tuzIFnlXdsJ/MoUhNZAxmT+VPhiw==", "dev": true }, - "@fluencelabs/aqua-cli": { - "version": "0.2.0-208", - "resolved": "https://registry.npmjs.org/@fluencelabs/aqua-cli/-/aqua-cli-0.2.0-208.tgz", - "integrity": "sha512-IQ2loGZo/kGi1KmCeoNZWXTrzZFd7AdD4b8hvZdvFkRBCAmOz2Hx/6/b7SnTDjR7qcHvxWlSR1h9QcAgsjOLUg==", - "dev": true - }, "@fluencelabs/aqua-dht": { "version": "0.1.36", "resolved": "https://registry.npmjs.org/@fluencelabs/aqua-dht/-/aqua-dht-0.1.36.tgz", @@ -168,9 +5150,9 @@ } }, "@fluencelabs/fluence": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@fluencelabs/fluence/-/fluence-0.11.0.tgz", - "integrity": "sha512-HfUS8eLwfviiJhqsrHnOnRxO20TbdahPreP6AkBXQaEpWeRew6vxAd0Dn+xdzy6KCJ4W9GOKLcgtPfqquIO2Pg==", + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@fluencelabs/fluence/-/fluence-0.12.0.tgz", + "integrity": "sha512-eYg3CflqeqlWUoaXXXUBxls7Pzjytp1nkHZWoe39bL7poF20T1BuTovNWo/jTWma5HS4L1FaAGGRNaMcN0wFHQ==", "requires": { "@chainsafe/libp2p-noise": "4.0.0", "@fluencelabs/avm": "0.14.4", @@ -1306,7 +6288,8 @@ "dirty-chai": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/dirty-chai/-/dirty-chai-2.0.1.tgz", - "integrity": "sha512-ys79pWKvDMowIDEPC6Fig8d5THiC0DJ2gmTeGzVAoEH18J8OzLud0Jh7I9IWg3NSk8x2UocznUuFmfHCXYZx9w==" + "integrity": "sha512-ys79pWKvDMowIDEPC6Fig8d5THiC0DJ2gmTeGzVAoEH18J8OzLud0Jh7I9IWg3NSk8x2UocznUuFmfHCXYZx9w==", + "requires": {} }, "dns-over-http-resolver": { "version": "1.2.3", @@ -3166,12 +8149,14 @@ "native-abort-controller": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/native-abort-controller/-/native-abort-controller-1.0.3.tgz", - "integrity": "sha512-fd5LY5q06mHKZPD5FmMrn7Lkd2H018oBGKNOAdLpctBDEPFKsfJ1nX9ke+XRa8PEJJpjqrpQkGjq2IZ27QNmYA==" + "integrity": "sha512-fd5LY5q06mHKZPD5FmMrn7Lkd2H018oBGKNOAdLpctBDEPFKsfJ1nX9ke+XRa8PEJJpjqrpQkGjq2IZ27QNmYA==", + "requires": {} }, "native-fetch": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/native-fetch/-/native-fetch-3.0.0.tgz", - "integrity": "sha512-G3Z7vx0IFb/FQ4JxvtqGABsOTIqRWvgQz6e+erkB+JJD6LrszQtMozEHI4EkmgZQvnGHrpLVzUWk7t4sJCIkVw==" + "integrity": "sha512-G3Z7vx0IFb/FQ4JxvtqGABsOTIqRWvgQz6e+erkB+JJD6LrszQtMozEHI4EkmgZQvnGHrpLVzUWk7t4sJCIkVw==", + "requires": {} }, "netmask": { "version": "2.0.2", @@ -3795,6 +8780,14 @@ "resolved": "https://registry.npmjs.org/streaming-iterables/-/streaming-iterables-5.0.4.tgz", "integrity": "sha512-nEs6hBGIPsVz6uq6pscGGKfoPDQWrDQW0b0UHurtSDysekfKLmkPg7FQVRE2sj3Rad6yUo9E1sGTxOWyYsHQ/g==" }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + }, "string.prototype.trimend": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", @@ -3813,14 +8806,6 @@ "define-properties": "^1.1.3" } }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "requires": { - "safe-buffer": "~5.2.0" - } - }, "strip-final-newline": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", @@ -4046,7 +9031,8 @@ "ws": { "version": "7.5.3", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz", - "integrity": "sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==" + "integrity": "sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==", + "requires": {} }, "xml2js": { "version": "0.4.23", diff --git a/package.json b/package.json index bd305fb..99db4e3 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ }, "dependencies": { "@fluencelabs/aqua-dht-ts": "0.1.36", - "@fluencelabs/fluence": "0.11.0", + "@fluencelabs/fluence": "0.12.0", "@fluencelabs/fluence-network-environment": "^1.0.10", "deep-equal": "^2.0.5" }, diff --git a/src/compiled/dht/dht-example.ts b/src/compiled/dht/dht-example.ts index 1a332ff..f69106d 100644 --- a/src/compiled/dht/dht-example.ts +++ b/src/compiled/dht/dht-example.ts @@ -3,10 +3,10 @@ * This file is auto-generated. Do not edit manually: changes may be erased. * Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues - * Aqua version: 0.3.0-222 + * Aqua version: 0.3.0-SNAPSHOT * */ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { ResultCodes, RequestFlow, @@ -25,18 +25,18 @@ export function put_value( value: string, config?: { ttl?: number }, ): Promise; -export function put_value(...args) { +export function put_value(...args: any) { let peer: FluencePeer; - let initial_peer; - let value; - let config; - if (args[0] instanceof FluencePeer) { + let initial_peer: any; + let value: any; + let config: any; + if (FluencePeer.isInstance(args[0])) { peer = args[0]; initial_peer = args[1]; value = args[2]; config = args[3]; } else { - peer = FluencePeer.default; + peer = Fluence.getPeer(); initial_peer = args[0]; value = args[1]; config = args[2]; @@ -107,7 +107,7 @@ export function put_value(...args) { ) .configHandler((h) => { h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay; + return peer.getStatus().relayPeerId; }); h.on('getDataSrv', 'initial_peer', () => { return initial_peer; @@ -155,15 +155,15 @@ export function registerKeyPutValue( service_id: string | null, config?: { ttl?: number }, ): Promise; -export function registerKeyPutValue(...args) { +export function registerKeyPutValue(...args: any) { let peer: FluencePeer; - let node_id; - let key; - let value; - let relay_id; - let service_id; - let config; - if (args[0] instanceof FluencePeer) { + let node_id: any; + let key: any; + let value: any; + let relay_id: any; + let service_id: any; + let config: any; + if (FluencePeer.isInstance(args[0])) { peer = args[0]; node_id = args[1]; key = args[2]; @@ -172,7 +172,7 @@ export function registerKeyPutValue(...args) { service_id = args[5]; config = args[6]; } else { - peer = FluencePeer.default; + peer = Fluence.getPeer(); node_id = args[0]; key = args[1]; value = args[2]; @@ -252,7 +252,7 @@ export function registerKeyPutValue(...args) { ) .configHandler((h) => { h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay; + return peer.getStatus().relayPeerId; }); h.on('getDataSrv', 'node_id', () => { return node_id; @@ -299,18 +299,18 @@ export function getNeighbours( topic: string, config?: { ttl?: number }, ): Promise; -export function getNeighbours(...args) { +export function getNeighbours(...args: any) { let peer: FluencePeer; - let node_id; - let topic; - let config; - if (args[0] instanceof FluencePeer) { + let node_id: any; + let topic: any; + let config: any; + if (FluencePeer.isInstance(args[0])) { peer = args[0]; node_id = args[1]; topic = args[2]; config = args[3]; } else { - peer = FluencePeer.default; + peer = Fluence.getPeer(); node_id = args[0]; topic = args[1]; config = args[2]; @@ -361,7 +361,7 @@ export function getNeighbours(...args) { ) .configHandler((h) => { h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay; + return peer.getStatus().relayPeerId; }); h.on('getDataSrv', 'node_id', () => { return node_id; @@ -423,18 +423,18 @@ export function findSubscribers( weight: number; }[] >; -export function findSubscribers(...args) { +export function findSubscribers(...args: any) { let peer: FluencePeer; - let node_id; - let topic; - let config; - if (args[0] instanceof FluencePeer) { + let node_id: any; + let topic: any; + let config: any; + if (FluencePeer.isInstance(args[0])) { peer = args[0]; node_id = args[1]; topic = args[2]; config = args[3]; } else { - peer = FluencePeer.default; + peer = Fluence.getPeer(); node_id = args[0]; topic = args[1]; config = args[2]; @@ -530,7 +530,7 @@ export function findSubscribers(...args) { ) .configHandler((h) => { h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay; + return peer.getStatus().relayPeerId; }); h.on('getDataSrv', 'node_id', () => { return node_id; @@ -578,15 +578,15 @@ export function initTopicAndSubscribe( service_id: string | null, config?: { ttl?: number }, ): Promise; -export function initTopicAndSubscribe(...args) { +export function initTopicAndSubscribe(...args: any) { let peer: FluencePeer; - let node_id; - let topic; - let value; - let relay_id; - let service_id; - let config; - if (args[0] instanceof FluencePeer) { + let node_id: any; + let topic: any; + let value: any; + let relay_id: any; + let service_id: any; + let config: any; + if (FluencePeer.isInstance(args[0])) { peer = args[0]; node_id = args[1]; topic = args[2]; @@ -595,7 +595,7 @@ export function initTopicAndSubscribe(...args) { service_id = args[5]; config = args[6]; } else { - peer = FluencePeer.default; + peer = Fluence.getPeer(); node_id = args[0]; topic = args[1]; value = args[2]; @@ -672,7 +672,7 @@ export function initTopicAndSubscribe(...args) { ) .configHandler((h) => { h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay; + return peer.getStatus().relayPeerId; }); h.on('getDataSrv', 'node_id', () => { return node_id; diff --git a/src/compiled/examples/assignment.ts b/src/compiled/examples/assignment.ts index eabb0cb..fb2c643 100644 --- a/src/compiled/examples/assignment.ts +++ b/src/compiled/examples/assignment.ts @@ -1,12 +1,12 @@ /** * * 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 * Aqua version: 0.3.0-SNAPSHOT * */ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { ResultCodes, RequestFlow, @@ -14,38 +14,41 @@ import { CallParams, } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; - // Services - export interface OpHaDef { - array: (a: string, b: string, callParams: CallParams<'a' | 'b'>) => string[]; -identity: (a: string, callParams: CallParams<'a'>) => string; - } +export interface OpHaDef { + array: (a: string, b: string, callParams: CallParams<'a' | 'b'>) => string[]; + identity: (a: string, callParams: CallParams<'a'>) => string; +} - export function registerOpHa(service: OpHaDef): void; +export function registerOpHa(service: OpHaDef): void; export function registerOpHa(serviceId: string, service: OpHaDef): void; export function registerOpHa(peer: FluencePeer, service: OpHaDef): void; export function registerOpHa(peer: FluencePeer, serviceId: string, service: OpHaDef): void; - export function registerOpHa(...args: any) { +export function registerOpHa(...args: any) { let peer: FluencePeer; let serviceId: any; let service: any; - if (args[0] instanceof FluencePeer) { + if (FluencePeer.isInstance(args[0])) { peer = args[0]; } else { - peer = FluencePeer.default; + peer = Fluence.getPeer(); } if (typeof args[0] === 'string') { serviceId = args[0]; } else if (typeof args[1] === 'string') { serviceId = args[1]; - } - else { - serviceId = "op" -} + } else { + serviceId = 'op'; + } - if (!(args[0] instanceof FluencePeer) && typeof args[0] === 'object') { + // Figuring out which overload is the service. + // If the first argument is not Fluence Peer and it is an object, then it can only be the service def + // If the first argument is peer, we are checking further. The second argument might either be + // an object, that it must be the service object + // or a string, which is the service id. In that case the service is the third argument + if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { service = args[0]; } else if (typeof args[1] === 'object') { service = args[1]; @@ -53,71 +56,63 @@ export function registerOpHa(peer: FluencePeer, serviceId: string, service: OpHa service = args[2]; } - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'array') { - - const callParams = { - ...req.particleContext, - tetraplets: { - a: req.tetraplets[0],b: req.tetraplets[1] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.array(req.args[0], req.args[1], callParams) + peer.internals.callServiceHandler.use((req, resp, next) => { + if (req.serviceId !== serviceId) { + next(); + return; + } - } - + if (req.fnName === 'array') { + const callParams = { + ...req.particleContext, + tetraplets: { + a: req.tetraplets[0], + b: req.tetraplets[1], + }, + }; + resp.retCode = ResultCodes.success; + resp.result = service.array(req.args[0], req.args[1], callParams); + } + if (req.fnName === 'identity') { + const callParams = { + ...req.particleContext, + tetraplets: { + a: req.tetraplets[0], + }, + }; + resp.retCode = ResultCodes.success; + resp.result = service.identity(req.args[0], callParams); + } - if (req.fnName === 'identity') { - - const callParams = { - ...req.particleContext, - tetraplets: { - a: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.identity(req.args[0], callParams) - - } - - - next(); - }); - } - + next(); + }); +} // Functions - export function doSmth(arg: {value:string}, config?: {ttl?: number}) : Promise; - export function doSmth(peer: FluencePeer, arg: {value:string}, config?: {ttl?: number}) : Promise; - export function doSmth(...args: any) { - let peer: FluencePeer; - let arg: any; - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - arg = args[1]; -config = args[2]; - } else { - peer = FluencePeer.default; - arg = args[0]; -config = args[1]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` +export function doSmth(arg: { value: string }, config?: { ttl?: number }): Promise; +export function doSmth(peer: FluencePeer, arg: { value: string }, config?: { ttl?: number }): Promise; +export function doSmth(...args: any) { + let peer: FluencePeer; + let arg: any; + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + arg = args[1]; + config = args[2]; + } else { + peer = Fluence.getPeer(); + arg = args[0]; + config = args[1]; + } + + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -139,16 +134,18 @@ config = args[1]; ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; + }); + h.on('getDataSrv', 'arg', () => { + return arg; }); - h.on('getDataSrv', 'arg', () => {return arg;}); h.onEvent('callbackSrv', 'response', (args) => { - const [res] = args; - resolve(res); -}); + const [res] = args; + resolve(res); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -158,13 +155,12 @@ config = args[1]; .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for doSmth'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - diff --git a/src/compiled/examples/callArrow.ts b/src/compiled/examples/callArrow.ts index 125b094..65bc32c 100644 --- a/src/compiled/examples/callArrow.ts +++ b/src/compiled/examples/callArrow.ts @@ -1,12 +1,12 @@ /** * * 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 * Aqua version: 0.3.0-SNAPSHOT * */ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { ResultCodes, RequestFlow, @@ -14,40 +14,49 @@ import { CallParams, } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; - // Services - // Functions - export function passFunctionAsArg(node: string, str: string, c: (arg0: string, callParams: CallParams<'arg0'>) => string, config?: {ttl?: number}) : Promise; - export function passFunctionAsArg(peer: FluencePeer, node: string, str: string, c: (arg0: string, callParams: CallParams<'arg0'>) => string, config?: {ttl?: number}) : Promise; - export function passFunctionAsArg(...args: any) { - let peer: FluencePeer; - let node: any; -let str: any; -let c: any; - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - node = args[1]; -str = args[2]; -c = args[3]; -config = args[4]; - } else { - peer = FluencePeer.default; - node = args[0]; -str = args[1]; -c = args[2]; -config = args[3]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` +export function passFunctionAsArg( + node: string, + str: string, + c: (arg0: string, callParams: CallParams<'arg0'>) => string, + config?: { ttl?: number }, +): Promise; +export function passFunctionAsArg( + peer: FluencePeer, + node: string, + str: string, + c: (arg0: string, callParams: CallParams<'arg0'>) => string, + config?: { ttl?: number }, +): Promise; +export function passFunctionAsArg(...args: any) { + let peer: FluencePeer; + let node: any; + let str: any; + let c: any; + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + node = args[1]; + str = args[2]; + c = args[3]; + config = args[4]; + } else { + peer = Fluence.getPeer(); + node = args[0]; + str = args[1]; + c = args[2]; + config = args[3]; + } + + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -93,33 +102,33 @@ config = args[3]; ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; + }); + h.on('getDataSrv', 'node', () => { + return node; + }); + h.on('getDataSrv', 'str', () => { + return str; }); - h.on('getDataSrv', 'node', () => {return node;}); -h.on('getDataSrv', 'str', () => {return str;}); - h.use((req, resp, next) => { - if(req.serviceId === 'callbackSrv' && req.fnName === 'c') { - - const callParams = { - ...req.particleContext, - tetraplets: { - arg0: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = c(req.args[0], callParams) + h.use((req, resp, next) => { + if (req.serviceId === 'callbackSrv' && req.fnName === 'c') { + const callParams = { + ...req.particleContext, + tetraplets: { + arg0: req.tetraplets[0], + }, + }; + resp.retCode = ResultCodes.success; + resp.result = c(req.args[0], callParams); + } + next(); + }); - } - next(); - }); - - h.onEvent('callbackSrv', 'response', (args) => { - -}); + h.onEvent('callbackSrv', 'response', (args) => {}); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -129,13 +138,12 @@ h.on('getDataSrv', 'str', () => {return str;}); .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for passFunctionAsArg'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return Promise.race([promise, Promise.resolve()]); } - diff --git a/src/compiled/examples/co.ts b/src/compiled/examples/co.ts index b08dab9..88e2fc6 100644 --- a/src/compiled/examples/co.ts +++ b/src/compiled/examples/co.ts @@ -1,12 +1,12 @@ /** * * 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 * Aqua version: 0.3.0-SNAPSHOT * */ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { ResultCodes, RequestFlow, @@ -14,37 +14,40 @@ import { CallParams, } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; - // Services - export interface CoServiceDef { - call: (callParams: CallParams) => string; - } +export interface CoServiceDef { + call: (callParams: CallParams) => string; +} - export function registerCoService(service: CoServiceDef): void; +export function registerCoService(service: CoServiceDef): void; export function registerCoService(serviceId: string, service: CoServiceDef): void; export function registerCoService(peer: FluencePeer, service: CoServiceDef): void; export function registerCoService(peer: FluencePeer, serviceId: string, service: CoServiceDef): void; - export function registerCoService(...args: any) { +export function registerCoService(...args: any) { let peer: FluencePeer; let serviceId: any; let service: any; - if (args[0] instanceof FluencePeer) { + if (FluencePeer.isInstance(args[0])) { peer = args[0]; } else { - peer = FluencePeer.default; + peer = Fluence.getPeer(); } if (typeof args[0] === 'string') { serviceId = args[0]; } else if (typeof args[1] === 'string') { serviceId = args[1]; - } - else { - serviceId = "coservice-id" -} + } else { + serviceId = 'coservice-id'; + } - if (!(args[0] instanceof FluencePeer) && typeof args[0] === 'object') { + // Figuring out which overload is the service. + // If the first argument is not Fluence Peer and it is an object, then it can only be the service def + // If the first argument is peer, we are checking further. The second argument might either be + // an object, that it must be the service object + // or a string, which is the service id. In that case the service is the third argument + if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { service = args[0]; } else if (typeof args[1] === 'object') { service = args[1]; @@ -52,59 +55,61 @@ export function registerCoService(peer: FluencePeer, serviceId: string, service: service = args[2]; } - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'call') { - - const callParams = { - ...req.particleContext, - tetraplets: { - - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.call(callParams) + peer.internals.callServiceHandler.use((req, resp, next) => { + if (req.serviceId !== serviceId) { + next(); + return; + } - } - - - next(); - }); - } - + if (req.fnName === 'call') { + const callParams = { + ...req.particleContext, + tetraplets: {}, + }; + resp.retCode = ResultCodes.success; + resp.result = service.call(callParams); + } + + next(); + }); +} // Functions - export function coFunc(node: string, c: (arg0: {external_addresses:string[]}, callParams: CallParams<'arg0'>) => void, config?: {ttl?: number}) : Promise; - export function coFunc(peer: FluencePeer, node: string, c: (arg0: {external_addresses:string[]}, callParams: CallParams<'arg0'>) => void, config?: {ttl?: number}) : Promise; - export function coFunc(...args: any) { - let peer: FluencePeer; - let node: any; -let c: any; - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - node = args[1]; -c = args[2]; -config = args[3]; - } else { - peer = FluencePeer.default; - node = args[0]; -c = args[1]; -config = args[2]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` +export function coFunc( + node: string, + c: (arg0: { external_addresses: string[] }, callParams: CallParams<'arg0'>) => void, + config?: { ttl?: number }, +): Promise; +export function coFunc( + peer: FluencePeer, + node: string, + c: (arg0: { external_addresses: string[] }, callParams: CallParams<'arg0'>) => void, + config?: { ttl?: number }, +): Promise; +export function coFunc(...args: any) { + let peer: FluencePeer; + let node: any; + let c: any; + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + node = args[1]; + c = args[2]; + config = args[3]; + } else { + peer = Fluence.getPeer(); + node = args[0]; + c = args[1]; + config = args[2]; + } + + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -141,32 +146,31 @@ config = args[2]; ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; + }); + h.on('getDataSrv', 'node', () => { + return node; }); - h.on('getDataSrv', 'node', () => {return node;}); - h.use((req, resp, next) => { - if(req.serviceId === 'callbackSrv' && req.fnName === 'c') { - - const callParams = { - ...req.particleContext, - tetraplets: { - arg0: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - c(req.args[0], callParams); resp.result = {} + h.use((req, resp, next) => { + if (req.serviceId === 'callbackSrv' && req.fnName === 'c') { + const callParams = { + ...req.particleContext, + tetraplets: { + arg0: req.tetraplets[0], + }, + }; + resp.retCode = ResultCodes.success; + c(req.args[0], callParams); + resp.result = {}; + } + next(); + }); - } - next(); - }); - - h.onEvent('callbackSrv', 'response', (args) => { - -}); + h.onEvent('callbackSrv', 'response', (args) => {}); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -176,13 +180,12 @@ config = args[2]; .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for coFunc'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return Promise.race([promise, Promise.resolve()]); } - diff --git a/src/compiled/examples/complex.ts b/src/compiled/examples/complex.ts index 71050d8..1db1f27 100644 --- a/src/compiled/examples/complex.ts +++ b/src/compiled/examples/complex.ts @@ -1,12 +1,12 @@ /** * * 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 * Aqua version: 0.3.0-SNAPSHOT * */ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { ResultCodes, RequestFlow, @@ -14,38 +14,41 @@ import { CallParams, } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; - // Services - export interface TestSDef { - multiline: (a: string, b: string, c: boolean, callParams: CallParams<'a' | 'b' | 'c'>) => string; -t: (arg0: string, callParams: CallParams<'arg0'>) => string; - } +export interface TestSDef { + multiline: (a: string, b: string, c: boolean, callParams: CallParams<'a' | 'b' | 'c'>) => string; + t: (arg0: string, callParams: CallParams<'arg0'>) => string; +} - export function registerTestS(service: TestSDef): void; +export function registerTestS(service: TestSDef): void; export function registerTestS(serviceId: string, service: TestSDef): void; export function registerTestS(peer: FluencePeer, service: TestSDef): void; export function registerTestS(peer: FluencePeer, serviceId: string, service: TestSDef): void; - export function registerTestS(...args: any) { +export function registerTestS(...args: any) { let peer: FluencePeer; let serviceId: any; let service: any; - if (args[0] instanceof FluencePeer) { + if (FluencePeer.isInstance(args[0])) { peer = args[0]; } else { - peer = FluencePeer.default; + peer = Fluence.getPeer(); } if (typeof args[0] === 'string') { serviceId = args[0]; } else if (typeof args[1] === 'string') { serviceId = args[1]; - } - else { - serviceId = "some-id" -} + } else { + serviceId = 'some-id'; + } - if (!(args[0] instanceof FluencePeer) && typeof args[0] === 'object') { + // Figuring out which overload is the service. + // If the first argument is not Fluence Peer and it is an object, then it can only be the service def + // If the first argument is peer, we are checking further. The second argument might either be + // an object, that it must be the service object + // or a string, which is the service id. In that case the service is the third argument + if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { service = args[0]; } else if (typeof args[1] === 'object') { service = args[1]; @@ -53,89 +56,101 @@ export function registerTestS(peer: FluencePeer, serviceId: string, service: Tes service = args[2]; } - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'multiline') { - - const callParams = { - ...req.particleContext, - tetraplets: { - a: req.tetraplets[0],b: req.tetraplets[1],c: req.tetraplets[2] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.multiline(req.args[0], req.args[1], req.args[2], callParams) + peer.internals.callServiceHandler.use((req, resp, next) => { + if (req.serviceId !== serviceId) { + next(); + return; + } - } - + if (req.fnName === 'multiline') { + const callParams = { + ...req.particleContext, + tetraplets: { + a: req.tetraplets[0], + b: req.tetraplets[1], + c: req.tetraplets[2], + }, + }; + resp.retCode = ResultCodes.success; + resp.result = service.multiline(req.args[0], req.args[1], req.args[2], callParams); + } + if (req.fnName === 't') { + const callParams = { + ...req.particleContext, + tetraplets: { + arg0: req.tetraplets[0], + }, + }; + resp.retCode = ResultCodes.success; + resp.result = service.t(req.args[0], callParams); + } - if (req.fnName === 't') { - - const callParams = { - ...req.particleContext, - tetraplets: { - arg0: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.t(req.args[0], callParams) - - } - - - next(); - }); - } - + next(); + }); +} // Functions - export function doStuff(a: string, b: string, c: boolean, d: boolean, e: string[], g: string[], str: string, config?: {ttl?: number}) : Promise; - export function doStuff(peer: FluencePeer, a: string, b: string, c: boolean, d: boolean, e: string[], g: string[], str: string, config?: {ttl?: number}) : Promise; - export function doStuff(...args: any) { - let peer: FluencePeer; - let a: any; -let b: any; -let c: any; -let d: any; -let e: any; -let g: any; -let str: any; - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - a = args[1]; -b = args[2]; -c = args[3]; -d = args[4]; -e = args[5]; -g = args[6]; -str = args[7]; -config = args[8]; - } else { - peer = FluencePeer.default; - a = args[0]; -b = args[1]; -c = args[2]; -d = args[3]; -e = args[4]; -g = args[5]; -str = args[6]; -config = args[7]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` +export function doStuff( + a: string, + b: string, + c: boolean, + d: boolean, + e: string[], + g: string[], + str: string, + config?: { ttl?: number }, +): Promise; +export function doStuff( + peer: FluencePeer, + a: string, + b: string, + c: boolean, + d: boolean, + e: string[], + g: string[], + str: string, + config?: { ttl?: number }, +): Promise; +export function doStuff(...args: any) { + let peer: FluencePeer; + let a: any; + let b: any; + let c: any; + let d: any; + let e: any; + let g: any; + let str: any; + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + a = args[1]; + b = args[2]; + c = args[3]; + d = args[4]; + e = args[5]; + g = args[6]; + str = args[7]; + config = args[8]; + } else { + peer = Fluence.getPeer(); + a = args[0]; + b = args[1]; + c = args[2]; + d = args[3]; + e = args[4]; + g = args[5]; + str = args[6]; + config = args[7]; + } + + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -249,22 +264,36 @@ config = args[7]; ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; + }); + h.on('getDataSrv', 'a', () => { + return a; + }); + h.on('getDataSrv', 'b', () => { + return b; + }); + h.on('getDataSrv', 'c', () => { + return c; + }); + h.on('getDataSrv', 'd', () => { + return d; + }); + h.on('getDataSrv', 'e', () => { + return e; + }); + h.on('getDataSrv', 'g', () => { + return g; + }); + h.on('getDataSrv', 'str', () => { + return str; }); - h.on('getDataSrv', 'a', () => {return a;}); -h.on('getDataSrv', 'b', () => {return b;}); -h.on('getDataSrv', 'c', () => {return c;}); -h.on('getDataSrv', 'd', () => {return d;}); -h.on('getDataSrv', 'e', () => {return e;}); -h.on('getDataSrv', 'g', () => {return g;}); -h.on('getDataSrv', 'str', () => {return str;}); h.onEvent('callbackSrv', 'response', (args) => { - const [res] = args; - resolve(res); -}); + const [res] = args; + resolve(res); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -274,13 +303,12 @@ h.on('getDataSrv', 'str', () => {return str;}); .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for doStuff'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - diff --git a/src/compiled/examples/constants.ts b/src/compiled/examples/constants.ts index 974f010..e830a29 100644 --- a/src/compiled/examples/constants.ts +++ b/src/compiled/examples/constants.ts @@ -1,12 +1,12 @@ /** * * 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 * Aqua version: 0.3.0-SNAPSHOT * */ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { ResultCodes, RequestFlow, @@ -14,37 +14,40 @@ import { CallParams, } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; - // Services - export interface GetterDef { - createStr: (arg0: number, callParams: CallParams<'arg0'>) => string; - } +export interface GetterDef { + createStr: (arg0: number, callParams: CallParams<'arg0'>) => string; +} - export function registerGetter(service: GetterDef): void; +export function registerGetter(service: GetterDef): void; export function registerGetter(serviceId: string, service: GetterDef): void; export function registerGetter(peer: FluencePeer, service: GetterDef): void; export function registerGetter(peer: FluencePeer, serviceId: string, service: GetterDef): void; - export function registerGetter(...args: any) { +export function registerGetter(...args: any) { let peer: FluencePeer; let serviceId: any; let service: any; - if (args[0] instanceof FluencePeer) { + if (FluencePeer.isInstance(args[0])) { peer = args[0]; } else { - peer = FluencePeer.default; + peer = Fluence.getPeer(); } if (typeof args[0] === 'string') { serviceId = args[0]; } else if (typeof args[1] === 'string') { serviceId = args[1]; - } - else { - serviceId = "test" -} + } else { + serviceId = 'test'; + } - if (!(args[0] instanceof FluencePeer) && typeof args[0] === 'object') { + // Figuring out which overload is the service. + // If the first argument is not Fluence Peer and it is an object, then it can only be the service def + // If the first argument is peer, we are checking further. The second argument might either be + // an object, that it must be the service object + // or a string, which is the service id. In that case the service is the third argument + if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { service = args[0]; } else if (typeof args[1] === 'object') { service = args[1]; @@ -52,61 +55,59 @@ export function registerGetter(peer: FluencePeer, serviceId: string, service: Ge service = args[2]; } - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'createStr') { - - const callParams = { - ...req.particleContext, - tetraplets: { - arg0: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.createStr(req.args[0], callParams) + peer.internals.callServiceHandler.use((req, resp, next) => { + if (req.serviceId !== serviceId) { + next(); + return; + } - } - - - next(); - }); - } - + if (req.fnName === 'createStr') { + const callParams = { + ...req.particleContext, + tetraplets: { + arg0: req.tetraplets[0], + }, + }; + resp.retCode = ResultCodes.success; + resp.result = service.createStr(req.args[0], callParams); + } + next(); + }); +} - export interface OpODef { - identity: (arg0: string, callParams: CallParams<'arg0'>) => string; - } +export interface OpODef { + identity: (arg0: string, callParams: CallParams<'arg0'>) => string; +} - export function registerOpO(service: OpODef): void; +export function registerOpO(service: OpODef): void; export function registerOpO(serviceId: string, service: OpODef): void; export function registerOpO(peer: FluencePeer, service: OpODef): void; export function registerOpO(peer: FluencePeer, serviceId: string, service: OpODef): void; - export function registerOpO(...args: any) { +export function registerOpO(...args: any) { let peer: FluencePeer; let serviceId: any; let service: any; - if (args[0] instanceof FluencePeer) { + if (FluencePeer.isInstance(args[0])) { peer = args[0]; } else { - peer = FluencePeer.default; + peer = Fluence.getPeer(); } if (typeof args[0] === 'string') { serviceId = args[0]; } else if (typeof args[1] === 'string') { serviceId = args[1]; - } - else { - serviceId = "op" -} + } else { + serviceId = 'op'; + } - if (!(args[0] instanceof FluencePeer) && typeof args[0] === 'object') { + // Figuring out which overload is the service. + // If the first argument is not Fluence Peer and it is an object, then it can only be the service def + // If the first argument is peer, we are checking further. The second argument might either be + // an object, that it must be the service object + // or a string, which is the service id. In that case the service is the third argument + if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { service = args[0]; } else if (typeof args[1] === 'object') { service = args[1]; @@ -114,54 +115,49 @@ export function registerOpO(peer: FluencePeer, serviceId: string, service: OpODe service = args[2]; } - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'identity') { - - const callParams = { - ...req.particleContext, - tetraplets: { - arg0: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.identity(req.args[0], callParams) + peer.internals.callServiceHandler.use((req, resp, next) => { + if (req.serviceId !== serviceId) { + next(); + return; + } - } - - - next(); - }); - } - + if (req.fnName === 'identity') { + const callParams = { + ...req.particleContext, + tetraplets: { + arg0: req.tetraplets[0], + }, + }; + resp.retCode = ResultCodes.success; + resp.result = service.identity(req.args[0], callParams); + } + + next(); + }); +} // Functions - export function callConstant(config?: {ttl?: number}) : Promise; - export function callConstant(peer: FluencePeer, config?: {ttl?: number}) : Promise; - export function callConstant(...args: any) { - let peer: FluencePeer; - - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - config = args[1]; - } else { - peer = FluencePeer.default; - config = args[0]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` +export function callConstant(config?: { ttl?: number }): Promise; +export function callConstant(peer: FluencePeer, config?: { ttl?: number }): Promise; +export function callConstant(...args: any) { + let peer: FluencePeer; + + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + config = args[1]; + } else { + peer = Fluence.getPeer(); + config = args[0]; + } + + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -180,16 +176,16 @@ export function registerOpO(peer: FluencePeer, serviceId: string, service: OpODe ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; }); - + h.onEvent('callbackSrv', 'response', (args) => { - const [res] = args; - resolve(res); -}); + const [res] = args; + resolve(res); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -199,13 +195,12 @@ export function registerOpO(peer: FluencePeer, serviceId: string, service: OpODe .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for callConstant'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - diff --git a/src/compiled/examples/dataAlias.ts b/src/compiled/examples/dataAlias.ts index 4e2de24..447b556 100644 --- a/src/compiled/examples/dataAlias.ts +++ b/src/compiled/examples/dataAlias.ts @@ -1,12 +1,12 @@ /** * * 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 * Aqua version: 0.3.0-SNAPSHOT * */ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { ResultCodes, RequestFlow, @@ -14,37 +14,40 @@ import { CallParams, } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; - // Services - export interface NodeIdGetterDef { - get: (callParams: CallParams) => {name:string;peerId:string}; - } +export interface NodeIdGetterDef { + get: (callParams: CallParams) => { name: string; peerId: string }; +} - export function registerNodeIdGetter(service: NodeIdGetterDef): void; +export function registerNodeIdGetter(service: NodeIdGetterDef): void; export function registerNodeIdGetter(serviceId: string, service: NodeIdGetterDef): void; export function registerNodeIdGetter(peer: FluencePeer, service: NodeIdGetterDef): void; export function registerNodeIdGetter(peer: FluencePeer, serviceId: string, service: NodeIdGetterDef): void; - export function registerNodeIdGetter(...args: any) { +export function registerNodeIdGetter(...args: any) { let peer: FluencePeer; let serviceId: any; let service: any; - if (args[0] instanceof FluencePeer) { + if (FluencePeer.isInstance(args[0])) { peer = args[0]; } else { - peer = FluencePeer.default; + peer = Fluence.getPeer(); } if (typeof args[0] === 'string') { serviceId = args[0]; } else if (typeof args[1] === 'string') { serviceId = args[1]; - } - else { - serviceId = "somesrv" -} + } else { + serviceId = 'somesrv'; + } - if (!(args[0] instanceof FluencePeer) && typeof args[0] === 'object') { + // Figuring out which overload is the service. + // If the first argument is not Fluence Peer and it is an object, then it can only be the service def + // If the first argument is peer, we are checking further. The second argument might either be + // an object, that it must be the service object + // or a string, which is the service id. In that case the service is the third argument + if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { service = args[0]; } else if (typeof args[1] === 'object') { service = args[1]; @@ -52,54 +55,47 @@ export function registerNodeIdGetter(peer: FluencePeer, serviceId: string, servi service = args[2]; } - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'get') { - - const callParams = { - ...req.particleContext, - tetraplets: { - - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.get(callParams) + peer.internals.callServiceHandler.use((req, resp, next) => { + if (req.serviceId !== serviceId) { + next(); + return; + } - } - - - next(); - }); - } - + if (req.fnName === 'get') { + const callParams = { + ...req.particleContext, + tetraplets: {}, + }; + resp.retCode = ResultCodes.success; + resp.result = service.get(callParams); + } + + next(); + }); +} // Functions - export function getAliasedData(config?: {ttl?: number}) : Promise; - export function getAliasedData(peer: FluencePeer, config?: {ttl?: number}) : Promise; - export function getAliasedData(...args: any) { - let peer: FluencePeer; - - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - config = args[1]; - } else { - peer = FluencePeer.default; - config = args[0]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` +export function getAliasedData(config?: { ttl?: number }): Promise; +export function getAliasedData(peer: FluencePeer, config?: { ttl?: number }): Promise; +export function getAliasedData(...args: any) { + let peer: FluencePeer; + + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + config = args[1]; + } else { + peer = Fluence.getPeer(); + config = args[0]; + } + + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -115,16 +111,16 @@ export function registerNodeIdGetter(peer: FluencePeer, serviceId: string, servi ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; }); - + h.onEvent('callbackSrv', 'response', (args) => { - const [res] = args; - resolve(res); -}); + const [res] = args; + resolve(res); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -134,13 +130,12 @@ export function registerNodeIdGetter(peer: FluencePeer, serviceId: string, servi .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for getAliasedData'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - diff --git a/src/compiled/examples/example.ts b/src/compiled/examples/example.ts index de4e3f6..09d23e4 100644 --- a/src/compiled/examples/example.ts +++ b/src/compiled/examples/example.ts @@ -1,12 +1,12 @@ /** * * 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 * Aqua version: 0.3.0-SNAPSHOT * */ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { ResultCodes, RequestFlow, @@ -14,37 +14,40 @@ import { CallParams, } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; - // Services - export interface PeerDef { - is_connected: (arg0: string, callParams: CallParams<'arg0'>) => boolean; - } +export interface PeerDef { + is_connected: (arg0: string, callParams: CallParams<'arg0'>) => boolean; +} - export function registerPeer(service: PeerDef): void; +export function registerPeer(service: PeerDef): void; export function registerPeer(serviceId: string, service: PeerDef): void; export function registerPeer(peer: FluencePeer, service: PeerDef): void; export function registerPeer(peer: FluencePeer, serviceId: string, service: PeerDef): void; - export function registerPeer(...args: any) { +export function registerPeer(...args: any) { let peer: FluencePeer; let serviceId: any; let service: any; - if (args[0] instanceof FluencePeer) { + if (FluencePeer.isInstance(args[0])) { peer = args[0]; } else { - peer = FluencePeer.default; + peer = Fluence.getPeer(); } if (typeof args[0] === 'string') { serviceId = args[0]; } else if (typeof args[1] === 'string') { serviceId = args[1]; - } - else { - serviceId = "peer" -} + } else { + serviceId = 'peer'; + } - if (!(args[0] instanceof FluencePeer) && typeof args[0] === 'object') { + // Figuring out which overload is the service. + // If the first argument is not Fluence Peer and it is an object, then it can only be the service def + // If the first argument is peer, we are checking further. The second argument might either be + // an object, that it must be the service object + // or a string, which is the service id. In that case the service is the third argument + if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { service = args[0]; } else if (typeof args[1] === 'object') { service = args[1]; @@ -52,61 +55,59 @@ export function registerPeer(peer: FluencePeer, serviceId: string, service: Peer service = args[2]; } - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'is_connected') { - - const callParams = { - ...req.particleContext, - tetraplets: { - arg0: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.is_connected(req.args[0], callParams) + peer.internals.callServiceHandler.use((req, resp, next) => { + if (req.serviceId !== serviceId) { + next(); + return; + } - } - - - next(); - }); - } - + if (req.fnName === 'is_connected') { + const callParams = { + ...req.particleContext, + tetraplets: { + arg0: req.tetraplets[0], + }, + }; + resp.retCode = ResultCodes.success; + resp.result = service.is_connected(req.args[0], callParams); + } + next(); + }); +} - export interface OpDef { - identity: (callParams: CallParams) => void; - } +export interface OpDef { + identity: (callParams: CallParams) => void; +} - export function registerOp(service: OpDef): void; +export function registerOp(service: OpDef): void; export function registerOp(serviceId: string, service: OpDef): void; export function registerOp(peer: FluencePeer, service: OpDef): void; export function registerOp(peer: FluencePeer, serviceId: string, service: OpDef): void; - export function registerOp(...args: any) { +export function registerOp(...args: any) { let peer: FluencePeer; let serviceId: any; let service: any; - if (args[0] instanceof FluencePeer) { + if (FluencePeer.isInstance(args[0])) { peer = args[0]; } else { - peer = FluencePeer.default; + peer = Fluence.getPeer(); } if (typeof args[0] === 'string') { serviceId = args[0]; } else if (typeof args[1] === 'string') { serviceId = args[1]; - } - else { - serviceId = "op" -} + } else { + serviceId = 'op'; + } - if (!(args[0] instanceof FluencePeer) && typeof args[0] === 'object') { + // Figuring out which overload is the service. + // If the first argument is not Fluence Peer and it is an object, then it can only be the service def + // If the first argument is peer, we are checking further. The second argument might either be + // an object, that it must be the service object + // or a string, which is the service id. In that case the service is the third argument + if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { service = args[0]; } else if (typeof args[1] === 'object') { service = args[1]; @@ -114,62 +115,59 @@ export function registerOp(peer: FluencePeer, serviceId: string, service: OpDef) service = args[2]; } - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'identity') { - - const callParams = { - ...req.particleContext, - tetraplets: { - - }, - }; - resp.retCode = ResultCodes.success; - service.identity(callParams); resp.result = {} + peer.internals.callServiceHandler.use((req, resp, next) => { + if (req.serviceId !== serviceId) { + next(); + return; + } - } - - - next(); - }); - } - + if (req.fnName === 'identity') { + const callParams = { + ...req.particleContext, + tetraplets: {}, + }; + resp.retCode = ResultCodes.success; + service.identity(callParams); + resp.result = {}; + } + next(); + }); +} - export interface TestDef { - doSomething: (callParams: CallParams) => boolean; -getUserList: (callParams: CallParams) => {name:string;peer_id:string;relay_id:string}[]; - } +export interface TestDef { + doSomething: (callParams: CallParams) => boolean; + getUserList: (callParams: CallParams) => { name: string; peer_id: string; relay_id: string }[]; +} - export function registerTest(service: TestDef): void; +export function registerTest(service: TestDef): void; export function registerTest(serviceId: string, service: TestDef): void; export function registerTest(peer: FluencePeer, service: TestDef): void; export function registerTest(peer: FluencePeer, serviceId: string, service: TestDef): void; - export function registerTest(...args: any) { +export function registerTest(...args: any) { let peer: FluencePeer; let serviceId: any; let service: any; - if (args[0] instanceof FluencePeer) { + if (FluencePeer.isInstance(args[0])) { peer = args[0]; } else { - peer = FluencePeer.default; + peer = Fluence.getPeer(); } if (typeof args[0] === 'string') { serviceId = args[0]; } else if (typeof args[1] === 'string') { serviceId = args[1]; - } - else { - serviceId = "test" -} + } else { + serviceId = 'test'; + } - if (!(args[0] instanceof FluencePeer) && typeof args[0] === 'object') { + // Figuring out which overload is the service. + // If the first argument is not Fluence Peer and it is an object, then it can only be the service def + // If the first argument is peer, we are checking further. The second argument might either be + // an object, that it must be the service object + // or a string, which is the service id. In that case the service is the third argument + if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { service = args[0]; } else if (typeof args[1] === 'object') { service = args[1]; @@ -177,71 +175,58 @@ export function registerTest(peer: FluencePeer, serviceId: string, service: Test service = args[2]; } - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'doSomething') { - - const callParams = { - ...req.particleContext, - tetraplets: { - - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.doSomething(callParams) + peer.internals.callServiceHandler.use((req, resp, next) => { + if (req.serviceId !== serviceId) { + next(); + return; + } - } - + if (req.fnName === 'doSomething') { + const callParams = { + ...req.particleContext, + tetraplets: {}, + }; + resp.retCode = ResultCodes.success; + resp.result = service.doSomething(callParams); + } + if (req.fnName === 'getUserList') { + const callParams = { + ...req.particleContext, + tetraplets: {}, + }; + resp.retCode = ResultCodes.success; + resp.result = service.getUserList(callParams); + } - if (req.fnName === 'getUserList') { - - const callParams = { - ...req.particleContext, - tetraplets: { - - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.getUserList(callParams) - - } - - - next(); - }); - } - + next(); + }); +} // Functions - export function betterMessage(relay: string, config?: {ttl?: number}) : Promise; - export function betterMessage(peer: FluencePeer, relay: string, config?: {ttl?: number}) : Promise; - export function betterMessage(...args: any) { - let peer: FluencePeer; - let relay: any; - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - relay = args[1]; -config = args[2]; - } else { - peer = FluencePeer.default; - relay = args[0]; -config = args[1]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` +export function betterMessage(relay: string, config?: { ttl?: number }): Promise; +export function betterMessage(peer: FluencePeer, relay: string, config?: { ttl?: number }): Promise; +export function betterMessage(...args: any) { + let peer: FluencePeer; + let relay: any; + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + relay = args[1]; + config = args[2]; + } else { + peer = Fluence.getPeer(); + relay = args[0]; + config = args[1]; + } + + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -277,15 +262,15 @@ config = args[1]; ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; }); - h.on('getDataSrv', 'relay', () => {return relay;}); - h.onEvent('callbackSrv', 'response', (args) => { - -}); + h.on('getDataSrv', 'relay', () => { + return relay; + }); + h.onEvent('callbackSrv', 'response', (args) => {}); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -295,13 +280,12 @@ config = args[1]; .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for betterMessage'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return Promise.race([promise, Promise.resolve()]); } - diff --git a/src/compiled/examples/fldist-sample.ts b/src/compiled/examples/fldist-sample.ts index ca2da50..8283861 100644 --- a/src/compiled/examples/fldist-sample.ts +++ b/src/compiled/examples/fldist-sample.ts @@ -1,12 +1,12 @@ /** * * 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 * Aqua version: 0.3.0-SNAPSHOT * */ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { ResultCodes, RequestFlow, @@ -14,37 +14,40 @@ import { CallParams, } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; - // Services - export interface ReturnDef { - run: (arg0: {external_addresses:string[]}, callParams: CallParams<'arg0'>) => void; - } +export interface ReturnDef { + run: (arg0: { external_addresses: string[] }, callParams: CallParams<'arg0'>) => void; +} - export function registerReturn(service: ReturnDef): void; +export function registerReturn(service: ReturnDef): void; export function registerReturn(serviceId: string, service: ReturnDef): void; export function registerReturn(peer: FluencePeer, service: ReturnDef): void; export function registerReturn(peer: FluencePeer, serviceId: string, service: ReturnDef): void; - export function registerReturn(...args: any) { +export function registerReturn(...args: any) { let peer: FluencePeer; let serviceId: any; let service: any; - if (args[0] instanceof FluencePeer) { + if (FluencePeer.isInstance(args[0])) { peer = args[0]; } else { - peer = FluencePeer.default; + peer = Fluence.getPeer(); } if (typeof args[0] === 'string') { serviceId = args[0]; } else if (typeof args[1] === 'string') { serviceId = args[1]; - } - else { - serviceId = "returnService" -} + } else { + serviceId = 'returnService'; + } - if (!(args[0] instanceof FluencePeer) && typeof args[0] === 'object') { + // Figuring out which overload is the service. + // If the first argument is not Fluence Peer and it is an object, then it can only be the service def + // If the first argument is peer, we are checking further. The second argument might either be + // an object, that it must be the service object + // or a string, which is the service id. In that case the service is the third argument + if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { service = args[0]; } else if (typeof args[1] === 'object') { service = args[1]; @@ -52,56 +55,52 @@ export function registerReturn(peer: FluencePeer, serviceId: string, service: Re service = args[2]; } - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'run') { - - const callParams = { - ...req.particleContext, - tetraplets: { - arg0: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - service.run(req.args[0], callParams); resp.result = {} + peer.internals.callServiceHandler.use((req, resp, next) => { + if (req.serviceId !== serviceId) { + next(); + return; + } - } - - - next(); - }); - } - + if (req.fnName === 'run') { + const callParams = { + ...req.particleContext, + tetraplets: { + arg0: req.tetraplets[0], + }, + }; + resp.retCode = ResultCodes.success; + service.run(req.args[0], callParams); + resp.result = {}; + } + + next(); + }); +} // Functions - export function test(node: string, config?: {ttl?: number}) : Promise; - export function test(peer: FluencePeer, node: string, config?: {ttl?: number}) : Promise; - export function test(...args: any) { - let peer: FluencePeer; - let node: any; - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - node = args[1]; -config = args[2]; - } else { - peer = FluencePeer.default; - node = args[0]; -config = args[1]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` +export function test(node: string, config?: { ttl?: number }): Promise; +export function test(peer: FluencePeer, node: string, config?: { ttl?: number }): Promise; +export function test(...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 = Fluence.getPeer(); + node = args[0]; + config = args[1]; + } + + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -129,15 +128,15 @@ config = args[1]; ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; }); - h.on('getDataSrv', 'node', () => {return node;}); - h.onEvent('callbackSrv', 'response', (args) => { - -}); + h.on('getDataSrv', 'node', () => { + return node; + }); + h.onEvent('callbackSrv', 'response', (args) => {}); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -147,13 +146,12 @@ config = args[1]; .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for test'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return Promise.race([promise, Promise.resolve()]); } - diff --git a/src/compiled/examples/fold.ts b/src/compiled/examples/fold.ts index 485a7ac..2099ea5 100644 --- a/src/compiled/examples/fold.ts +++ b/src/compiled/examples/fold.ts @@ -1,12 +1,12 @@ /** * * 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 * Aqua version: 0.3.0-SNAPSHOT * */ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { ResultCodes, RequestFlow, @@ -14,34 +14,32 @@ import { CallParams, } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; - // Services - // Functions - export function iterateAndPrint(strings: string[], config?: {ttl?: number}) : Promise; - export function iterateAndPrint(peer: FluencePeer, strings: string[], config?: {ttl?: number}) : Promise; - export function iterateAndPrint(...args: any) { - let peer: FluencePeer; - let strings: any; - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - strings = args[1]; -config = args[2]; - } else { - peer = FluencePeer.default; - strings = args[0]; -config = args[1]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` +export function iterateAndPrint(strings: string[], config?: { ttl?: number }): Promise; +export function iterateAndPrint(peer: FluencePeer, strings: string[], config?: { ttl?: number }): Promise; +export function iterateAndPrint(...args: any) { + let peer: FluencePeer; + let strings: any; + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + strings = args[1]; + config = args[2]; + } else { + peer = Fluence.getPeer(); + strings = args[0]; + config = args[1]; + } + + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -59,15 +57,15 @@ config = args[1]; ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; }); - h.on('getDataSrv', 'strings', () => {return strings;}); - h.onEvent('callbackSrv', 'response', (args) => { - -}); + h.on('getDataSrv', 'strings', () => { + return strings; + }); + h.onEvent('callbackSrv', 'response', (args) => {}); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -77,43 +75,50 @@ config = args[1]; .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for iterateAndPrint'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return Promise.race([promise, Promise.resolve()]); } - +export function iterateAndPrintParallel( + nodes: string[], + c: (arg0: { external_addresses: string[] }, callParams: CallParams<'arg0'>) => void, + config?: { ttl?: number }, +): Promise; +export function iterateAndPrintParallel( + peer: FluencePeer, + nodes: string[], + c: (arg0: { external_addresses: string[] }, callParams: CallParams<'arg0'>) => void, + config?: { ttl?: number }, +): Promise; +export function iterateAndPrintParallel(...args: any) { + let peer: FluencePeer; + let nodes: any; + let c: any; + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + nodes = args[1]; + c = args[2]; + config = args[3]; + } else { + peer = Fluence.getPeer(); + nodes = args[0]; + c = args[1]; + config = args[2]; + } - export function iterateAndPrintParallel(nodes: string[], c: (arg0: {external_addresses:string[]}, callParams: CallParams<'arg0'>) => void, config?: {ttl?: number}) : Promise; - export function iterateAndPrintParallel(peer: FluencePeer, nodes: string[], c: (arg0: {external_addresses:string[]}, callParams: CallParams<'arg0'>) => void, config?: {ttl?: number}) : Promise; - export function iterateAndPrintParallel(...args: any) { - let peer: FluencePeer; - let nodes: any; -let c: any; - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - nodes = args[1]; -c = args[2]; -config = args[3]; - } else { - peer = FluencePeer.default; - nodes = args[0]; -c = args[1]; -config = args[2]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -146,32 +151,31 @@ config = args[2]; ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; + }); + h.on('getDataSrv', 'nodes', () => { + return nodes; }); - h.on('getDataSrv', 'nodes', () => {return nodes;}); - h.use((req, resp, next) => { - if(req.serviceId === 'callbackSrv' && req.fnName === 'c') { - - const callParams = { - ...req.particleContext, - tetraplets: { - arg0: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - c(req.args[0], callParams); resp.result = {} + h.use((req, resp, next) => { + if (req.serviceId === 'callbackSrv' && req.fnName === 'c') { + const callParams = { + ...req.particleContext, + tetraplets: { + arg0: req.tetraplets[0], + }, + }; + resp.retCode = ResultCodes.success; + c(req.args[0], callParams); + resp.result = {}; + } + next(); + }); - } - next(); - }); - - h.onEvent('callbackSrv', 'response', (args) => { - -}); + h.onEvent('callbackSrv', 'response', (args) => {}); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -181,13 +185,12 @@ config = args[2]; .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for iterateAndPrintParallel'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return Promise.race([promise, Promise.resolve()]); } - diff --git a/src/compiled/examples/foldJoin.ts b/src/compiled/examples/foldJoin.ts index 9b315a4..200f280 100644 --- a/src/compiled/examples/foldJoin.ts +++ b/src/compiled/examples/foldJoin.ts @@ -1,12 +1,12 @@ /** * * 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 * Aqua version: 0.3.0-SNAPSHOT * */ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { ResultCodes, RequestFlow, @@ -14,37 +14,40 @@ import { CallParams, } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; - // Services - export interface Op2Def { - identity: (s: number, callParams: CallParams<'s'>) => void; - } +export interface Op2Def { + identity: (s: number, callParams: CallParams<'s'>) => void; +} - export function registerOp2(service: Op2Def): void; +export function registerOp2(service: Op2Def): void; export function registerOp2(serviceId: string, service: Op2Def): void; export function registerOp2(peer: FluencePeer, service: Op2Def): void; export function registerOp2(peer: FluencePeer, serviceId: string, service: Op2Def): void; - export function registerOp2(...args: any) { +export function registerOp2(...args: any) { let peer: FluencePeer; let serviceId: any; let service: any; - if (args[0] instanceof FluencePeer) { + if (FluencePeer.isInstance(args[0])) { peer = args[0]; } else { - peer = FluencePeer.default; + peer = Fluence.getPeer(); } if (typeof args[0] === 'string') { serviceId = args[0]; } else if (typeof args[1] === 'string') { serviceId = args[1]; - } - else { - serviceId = "op" -} + } else { + serviceId = 'op'; + } - if (!(args[0] instanceof FluencePeer) && typeof args[0] === 'object') { + // Figuring out which overload is the service. + // If the first argument is not Fluence Peer and it is an object, then it can only be the service def + // If the first argument is peer, we are checking further. The second argument might either be + // an object, that it must be the service object + // or a string, which is the service id. In that case the service is the third argument + if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { service = args[0]; } else if (typeof args[1] === 'object') { service = args[1]; @@ -52,56 +55,52 @@ export function registerOp2(peer: FluencePeer, serviceId: string, service: Op2De service = args[2]; } - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'identity') { - - const callParams = { - ...req.particleContext, - tetraplets: { - s: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - service.identity(req.args[0], callParams); resp.result = {} + peer.internals.callServiceHandler.use((req, resp, next) => { + if (req.serviceId !== serviceId) { + next(); + return; + } - } - - - next(); - }); - } - + if (req.fnName === 'identity') { + const callParams = { + ...req.particleContext, + tetraplets: { + s: req.tetraplets[0], + }, + }; + resp.retCode = ResultCodes.success; + service.identity(req.args[0], callParams); + resp.result = {}; + } + + next(); + }); +} // Functions - export function getTwoResults(relay: string, config?: {ttl?: number}) : Promise; - export function getTwoResults(peer: FluencePeer, relay: string, config?: {ttl?: number}) : Promise; - export function getTwoResults(...args: any) { - let peer: FluencePeer; - let relay: any; - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - relay = args[1]; -config = args[2]; - } else { - peer = FluencePeer.default; - relay = args[0]; -config = args[1]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` +export function getTwoResults(relay: string, config?: { ttl?: number }): Promise; +export function getTwoResults(peer: FluencePeer, relay: string, config?: { ttl?: number }): Promise; +export function getTwoResults(...args: any) { + let peer: FluencePeer; + let relay: any; + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + relay = args[1]; + config = args[2]; + } else { + peer = Fluence.getPeer(); + relay = args[0]; + config = args[1]; + } + + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -158,16 +157,18 @@ config = args[1]; ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; + }); + h.on('getDataSrv', 'relay', () => { + return relay; }); - h.on('getDataSrv', 'relay', () => {return relay;}); h.onEvent('callbackSrv', 'response', (args) => { - const [res] = args; - resolve(res); -}); + const [res] = args; + resolve(res); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -177,13 +178,12 @@ config = args[1]; .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for getTwoResults'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - diff --git a/src/compiled/examples/func.ts b/src/compiled/examples/func.ts index d3df4e2..8c75a95 100644 --- a/src/compiled/examples/func.ts +++ b/src/compiled/examples/func.ts @@ -1,12 +1,12 @@ /** * * 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 * Aqua version: 0.3.0-SNAPSHOT * */ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { ResultCodes, RequestFlow, @@ -14,37 +14,40 @@ import { CallParams, } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; - // Services - export interface TestSrvDef { - str: (callParams: CallParams) => string; - } +export interface TestSrvDef { + str: (callParams: CallParams) => string; +} - export function registerTestSrv(service: TestSrvDef): void; +export function registerTestSrv(service: TestSrvDef): void; export function registerTestSrv(serviceId: string, service: TestSrvDef): void; export function registerTestSrv(peer: FluencePeer, service: TestSrvDef): void; export function registerTestSrv(peer: FluencePeer, serviceId: string, service: TestSrvDef): void; - export function registerTestSrv(...args: any) { +export function registerTestSrv(...args: any) { let peer: FluencePeer; let serviceId: any; let service: any; - if (args[0] instanceof FluencePeer) { + if (FluencePeer.isInstance(args[0])) { peer = args[0]; } else { - peer = FluencePeer.default; + peer = Fluence.getPeer(); } if (typeof args[0] === 'string') { serviceId = args[0]; } else if (typeof args[1] === 'string') { serviceId = args[1]; - } - else { - serviceId = "test-service-id" -} + } else { + serviceId = 'test-service-id'; + } - if (!(args[0] instanceof FluencePeer) && typeof args[0] === 'object') { + // Figuring out which overload is the service. + // If the first argument is not Fluence Peer and it is an object, then it can only be the service def + // If the first argument is peer, we are checking further. The second argument might either be + // an object, that it must be the service object + // or a string, which is the service id. In that case the service is the third argument + if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { service = args[0]; } else if (typeof args[1] === 'object') { service = args[1]; @@ -52,54 +55,47 @@ export function registerTestSrv(peer: FluencePeer, serviceId: string, service: T service = args[2]; } - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'str') { - - const callParams = { - ...req.particleContext, - tetraplets: { - - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.str(callParams) + peer.internals.callServiceHandler.use((req, resp, next) => { + if (req.serviceId !== serviceId) { + next(); + return; + } - } - - - next(); - }); - } - + if (req.fnName === 'str') { + const callParams = { + ...req.particleContext, + tetraplets: {}, + }; + resp.retCode = ResultCodes.success; + resp.result = service.str(callParams); + } + + next(); + }); +} // Functions - export function testFunc(config?: {ttl?: number}) : Promise; - export function testFunc(peer: FluencePeer, config?: {ttl?: number}) : Promise; - export function testFunc(...args: any) { - let peer: FluencePeer; - - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - config = args[1]; - } else { - peer = FluencePeer.default; - config = args[0]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` +export function testFunc(config?: { ttl?: number }): Promise; +export function testFunc(peer: FluencePeer, config?: { ttl?: number }): Promise; +export function testFunc(...args: any) { + let peer: FluencePeer; + + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + config = args[1]; + } else { + peer = Fluence.getPeer(); + config = args[0]; + } + + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -115,16 +111,16 @@ export function registerTestSrv(peer: FluencePeer, serviceId: string, service: T ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; }); - + h.onEvent('callbackSrv', 'response', (args) => { - const [res] = args; - resolve(res); -}); + const [res] = args; + resolve(res); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -134,13 +130,12 @@ export function registerTestSrv(peer: FluencePeer, serviceId: string, service: T .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for testFunc'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - diff --git a/src/compiled/examples/helloWorld.ts b/src/compiled/examples/helloWorld.ts index 8ebf89c..5ad2020 100644 --- a/src/compiled/examples/helloWorld.ts +++ b/src/compiled/examples/helloWorld.ts @@ -1,12 +1,12 @@ /** * * 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 * Aqua version: 0.3.0-SNAPSHOT * */ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { ResultCodes, RequestFlow, @@ -14,37 +14,40 @@ import { CallParams, } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; - // Services - export interface StringExtraDef { - addNameToHello: (arg0: string, callParams: CallParams<'arg0'>) => string; - } +export interface StringExtraDef { + addNameToHello: (arg0: string, callParams: CallParams<'arg0'>) => string; +} - export function registerStringExtra(service: StringExtraDef): void; +export function registerStringExtra(service: StringExtraDef): void; export function registerStringExtra(serviceId: string, service: StringExtraDef): void; export function registerStringExtra(peer: FluencePeer, service: StringExtraDef): void; export function registerStringExtra(peer: FluencePeer, serviceId: string, service: StringExtraDef): void; - export function registerStringExtra(...args: any) { +export function registerStringExtra(...args: any) { let peer: FluencePeer; let serviceId: any; let service: any; - if (args[0] instanceof FluencePeer) { + if (FluencePeer.isInstance(args[0])) { peer = args[0]; } else { - peer = FluencePeer.default; + peer = Fluence.getPeer(); } if (typeof args[0] === 'string') { serviceId = args[0]; } else if (typeof args[1] === 'string') { serviceId = args[1]; - } - else { - serviceId = "service-id" -} + } else { + serviceId = 'service-id'; + } - if (!(args[0] instanceof FluencePeer) && typeof args[0] === 'object') { + // Figuring out which overload is the service. + // If the first argument is not Fluence Peer and it is an object, then it can only be the service def + // If the first argument is peer, we are checking further. The second argument might either be + // an object, that it must be the service object + // or a string, which is the service id. In that case the service is the third argument + if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { service = args[0]; } else if (typeof args[1] === 'object') { service = args[1]; @@ -52,56 +55,51 @@ export function registerStringExtra(peer: FluencePeer, serviceId: string, servic service = args[2]; } - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'addNameToHello') { - - const callParams = { - ...req.particleContext, - tetraplets: { - arg0: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.addNameToHello(req.args[0], callParams) + peer.internals.callServiceHandler.use((req, resp, next) => { + if (req.serviceId !== serviceId) { + next(); + return; + } - } - - - next(); - }); - } - + if (req.fnName === 'addNameToHello') { + const callParams = { + ...req.particleContext, + tetraplets: { + arg0: req.tetraplets[0], + }, + }; + resp.retCode = ResultCodes.success; + resp.result = service.addNameToHello(req.args[0], callParams); + } + + next(); + }); +} // Functions - export function helloWorld(name: string, config?: {ttl?: number}) : Promise; - export function helloWorld(peer: FluencePeer, name: string, config?: {ttl?: number}) : Promise; - export function helloWorld(...args: any) { - let peer: FluencePeer; - let name: any; - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - name = args[1]; -config = args[2]; - } else { - peer = FluencePeer.default; - name = args[0]; -config = args[1]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` +export function helloWorld(name: string, config?: { ttl?: number }): Promise; +export function helloWorld(peer: FluencePeer, name: string, config?: { ttl?: number }): Promise; +export function helloWorld(...args: any) { + let peer: FluencePeer; + let name: any; + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + name = args[1]; + config = args[2]; + } else { + peer = Fluence.getPeer(); + name = args[0]; + config = args[1]; + } + + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -120,16 +118,18 @@ config = args[1]; ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; + }); + h.on('getDataSrv', 'name', () => { + return name; }); - h.on('getDataSrv', 'name', () => {return name;}); h.onEvent('callbackSrv', 'response', (args) => { - const [res] = args; - resolve(res); -}); + const [res] = args; + resolve(res); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -139,13 +139,12 @@ config = args[1]; .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for helloWorld'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - diff --git a/src/compiled/examples/if.ts b/src/compiled/examples/if.ts index 8d8f35c..517116e 100644 --- a/src/compiled/examples/if.ts +++ b/src/compiled/examples/if.ts @@ -1,12 +1,12 @@ /** * * 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 * Aqua version: 0.3.0-SNAPSHOT * */ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { ResultCodes, RequestFlow, @@ -14,34 +14,32 @@ import { CallParams, } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; - // Services - // Functions - export function ifElseCall(condition: boolean, config?: {ttl?: number}) : Promise; - export function ifElseCall(peer: FluencePeer, condition: boolean, config?: {ttl?: number}) : Promise; - export function ifElseCall(...args: any) { - let peer: FluencePeer; - let condition: any; - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - condition = args[1]; -config = args[2]; - } else { - peer = FluencePeer.default; - condition = args[0]; -config = args[1]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` +export function ifElseCall(condition: boolean, config?: { ttl?: number }): Promise; +export function ifElseCall(peer: FluencePeer, condition: boolean, config?: { ttl?: number }): Promise; +export function ifElseCall(...args: any) { + let peer: FluencePeer; + let condition: any; + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + condition = args[1]; + config = args[2]; + } else { + peer = Fluence.getPeer(); + condition = args[0]; + config = args[1]; + } + + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -62,15 +60,15 @@ config = args[1]; ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; }); - h.on('getDataSrv', 'condition', () => {return condition;}); - h.onEvent('callbackSrv', 'response', (args) => { - -}); + h.on('getDataSrv', 'condition', () => { + return condition; + }); + h.onEvent('callbackSrv', 'response', (args) => {}); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -80,40 +78,38 @@ config = args[1]; .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for ifElseCall'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return Promise.race([promise, Promise.resolve()]); } - +export function ifElseNumCall(condition: number, config?: { ttl?: number }): Promise; +export function ifElseNumCall(peer: FluencePeer, condition: number, config?: { ttl?: number }): Promise; +export function ifElseNumCall(...args: any) { + let peer: FluencePeer; + let condition: any; + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + condition = args[1]; + config = args[2]; + } else { + peer = Fluence.getPeer(); + condition = args[0]; + config = args[1]; + } - export function ifElseNumCall(condition: number, config?: {ttl?: number}) : Promise; - export function ifElseNumCall(peer: FluencePeer, condition: number, config?: {ttl?: number}) : Promise; - export function ifElseNumCall(...args: any) { - let peer: FluencePeer; - let condition: any; - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - condition = args[1]; -config = args[2]; - } else { - peer = FluencePeer.default; - condition = args[0]; -config = args[1]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -134,15 +130,15 @@ config = args[1]; ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; }); - h.on('getDataSrv', 'condition', () => {return condition;}); - h.onEvent('callbackSrv', 'response', (args) => { - -}); + h.on('getDataSrv', 'condition', () => { + return condition; + }); + h.onEvent('callbackSrv', 'response', (args) => {}); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -152,13 +148,12 @@ config = args[1]; .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for ifElseNumCall'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return Promise.race([promise, Promise.resolve()]); } - diff --git a/src/compiled/examples/imports_exports/declare.ts b/src/compiled/examples/imports_exports/declare.ts index 9c95ed6..76b8031 100644 --- a/src/compiled/examples/imports_exports/declare.ts +++ b/src/compiled/examples/imports_exports/declare.ts @@ -1,12 +1,12 @@ /** * * 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 * Aqua version: 0.3.0-SNAPSHOT * */ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { ResultCodes, RequestFlow, @@ -14,37 +14,40 @@ import { CallParams, } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; - // Services - export interface SuperFooDef { - small_foo: (callParams: CallParams) => string; - } +export interface SuperFooDef { + small_foo: (callParams: CallParams) => string; +} - export function registerSuperFoo(service: SuperFooDef): void; +export function registerSuperFoo(service: SuperFooDef): void; export function registerSuperFoo(serviceId: string, service: SuperFooDef): void; export function registerSuperFoo(peer: FluencePeer, service: SuperFooDef): void; export function registerSuperFoo(peer: FluencePeer, serviceId: string, service: SuperFooDef): void; - export function registerSuperFoo(...args: any) { +export function registerSuperFoo(...args: any) { let peer: FluencePeer; let serviceId: any; let service: any; - if (args[0] instanceof FluencePeer) { + if (FluencePeer.isInstance(args[0])) { peer = args[0]; } else { - peer = FluencePeer.default; + peer = Fluence.getPeer(); } if (typeof args[0] === 'string') { serviceId = args[0]; } else if (typeof args[1] === 'string') { serviceId = args[1]; - } - else { - serviceId = "super_foo" -} + } else { + serviceId = 'super_foo'; + } - if (!(args[0] instanceof FluencePeer) && typeof args[0] === 'object') { + // Figuring out which overload is the service. + // If the first argument is not Fluence Peer and it is an object, then it can only be the service def + // If the first argument is peer, we are checking further. The second argument might either be + // an object, that it must be the service object + // or a string, which is the service id. In that case the service is the third argument + if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { service = args[0]; } else if (typeof args[1] === 'object') { service = args[1]; @@ -52,31 +55,23 @@ export function registerSuperFoo(peer: FluencePeer, serviceId: string, service: service = args[2]; } - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'small_foo') { - - const callParams = { - ...req.particleContext, - tetraplets: { - - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.small_foo(callParams) + peer.internals.callServiceHandler.use((req, resp, next) => { + if (req.serviceId !== serviceId) { + next(); + return; + } - } - - - next(); - }); - } - + if (req.fnName === 'small_foo') { + const callParams = { + ...req.particleContext, + tetraplets: {}, + }; + resp.retCode = ResultCodes.success; + resp.result = service.small_foo(callParams); + } + + next(); + }); +} // Functions - diff --git a/src/compiled/examples/imports_exports/exports.ts b/src/compiled/examples/imports_exports/exports.ts index a3c44f8..eeffa08 100644 --- a/src/compiled/examples/imports_exports/exports.ts +++ b/src/compiled/examples/imports_exports/exports.ts @@ -1,12 +1,12 @@ /** * * 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 * Aqua version: 0.3.0-SNAPSHOT * */ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { ResultCodes, RequestFlow, @@ -14,37 +14,40 @@ import { CallParams, } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; - // Services - export interface MyExportSrvDef { - another_str: (callParams: CallParams) => string; - } +export interface MyExportSrvDef { + another_str: (callParams: CallParams) => string; +} - export function registerMyExportSrv(service: MyExportSrvDef): void; +export function registerMyExportSrv(service: MyExportSrvDef): void; export function registerMyExportSrv(serviceId: string, service: MyExportSrvDef): void; export function registerMyExportSrv(peer: FluencePeer, service: MyExportSrvDef): void; export function registerMyExportSrv(peer: FluencePeer, serviceId: string, service: MyExportSrvDef): void; - export function registerMyExportSrv(...args: any) { +export function registerMyExportSrv(...args: any) { let peer: FluencePeer; let serviceId: any; let service: any; - if (args[0] instanceof FluencePeer) { + if (FluencePeer.isInstance(args[0])) { peer = args[0]; } else { - peer = FluencePeer.default; + peer = Fluence.getPeer(); } if (typeof args[0] === 'string') { serviceId = args[0]; } else if (typeof args[1] === 'string') { serviceId = args[1]; - } - else { - serviceId = "my_export_srv" -} + } else { + serviceId = 'my_export_srv'; + } - if (!(args[0] instanceof FluencePeer) && typeof args[0] === 'object') { + // Figuring out which overload is the service. + // If the first argument is not Fluence Peer and it is an object, then it can only be the service def + // If the first argument is peer, we are checking further. The second argument might either be + // an object, that it must be the service object + // or a string, which is the service id. In that case the service is the third argument + if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { service = args[0]; } else if (typeof args[1] === 'object') { service = args[1]; @@ -52,54 +55,47 @@ export function registerMyExportSrv(peer: FluencePeer, serviceId: string, servic service = args[2]; } - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'another_str') { - - const callParams = { - ...req.particleContext, - tetraplets: { - - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.another_str(callParams) + peer.internals.callServiceHandler.use((req, resp, next) => { + if (req.serviceId !== serviceId) { + next(); + return; + } - } - - - next(); - }); - } - + if (req.fnName === 'another_str') { + const callParams = { + ...req.particleContext, + tetraplets: {}, + }; + resp.retCode = ResultCodes.success; + resp.result = service.another_str(callParams); + } + + next(); + }); +} // Functions - export function string_from_lib(config?: {ttl?: number}) : Promise; - export function string_from_lib(peer: FluencePeer, config?: {ttl?: number}) : Promise; - export function string_from_lib(...args: any) { - let peer: FluencePeer; - - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - config = args[1]; - } else { - peer = FluencePeer.default; - config = args[0]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` +export function string_from_lib(config?: { ttl?: number }): Promise; +export function string_from_lib(peer: FluencePeer, config?: { ttl?: number }): Promise; +export function string_from_lib(...args: any) { + let peer: FluencePeer; + + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + config = args[1]; + } else { + peer = Fluence.getPeer(); + config = args[0]; + } + + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) @@ -112,16 +108,16 @@ export function registerMyExportSrv(peer: FluencePeer, serviceId: string, servic ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; }); - + h.onEvent('callbackSrv', 'response', (args) => { - const [res] = args; - resolve(res); -}); + const [res] = args; + resolve(res); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -131,13 +127,12 @@ export function registerMyExportSrv(peer: FluencePeer, serviceId: string, servic .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for string_from_lib'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - diff --git a/src/compiled/examples/imports_exports/gen/OneMore.ts b/src/compiled/examples/imports_exports/gen/OneMore.ts index 0a8c8fe..0acc197 100644 --- a/src/compiled/examples/imports_exports/gen/OneMore.ts +++ b/src/compiled/examples/imports_exports/gen/OneMore.ts @@ -1,12 +1,12 @@ /** * * 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 * Aqua version: 0.3.0-SNAPSHOT * */ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { ResultCodes, RequestFlow, @@ -14,32 +14,36 @@ import { CallParams, } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; - // Services - export interface OneMoreDef { - more_call: (callParams: CallParams) => void; - } +export interface OneMoreDef { + more_call: (callParams: CallParams) => void; +} - export function registerOneMore(serviceId: string, service: OneMoreDef): void; +export function registerOneMore(serviceId: string, service: OneMoreDef): void; export function registerOneMore(peer: FluencePeer, serviceId: string, service: OneMoreDef): void; - export function registerOneMore(...args: any) { +export function registerOneMore(...args: any) { let peer: FluencePeer; let serviceId: any; let service: any; - if (args[0] instanceof FluencePeer) { + if (FluencePeer.isInstance(args[0])) { peer = args[0]; } else { - peer = FluencePeer.default; + peer = Fluence.getPeer(); } 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') { + // Figuring out which overload is the service. + // If the first argument is not Fluence Peer and it is an object, then it can only be the service def + // If the first argument is peer, we are checking further. The second argument might either be + // an object, that it must be the service object + // or a string, which is the service id. In that case the service is the third argument + if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { service = args[0]; } else if (typeof args[1] === 'object') { service = args[1]; @@ -47,31 +51,24 @@ export function registerOneMore(peer: FluencePeer, serviceId: string, service: O service = args[2]; } - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'more_call') { - - const callParams = { - ...req.particleContext, - tetraplets: { - - }, - }; - resp.retCode = ResultCodes.success; - service.more_call(callParams); resp.result = {} + peer.internals.callServiceHandler.use((req, resp, next) => { + if (req.serviceId !== serviceId) { + next(); + return; + } - } - - - next(); - }); - } - + if (req.fnName === 'more_call') { + const callParams = { + ...req.particleContext, + tetraplets: {}, + }; + resp.retCode = ResultCodes.success; + service.more_call(callParams); + resp.result = {}; + } + + next(); + }); +} // Functions - diff --git a/src/compiled/examples/imports_exports/import2.ts b/src/compiled/examples/imports_exports/import2.ts index 32e44fd..0ed198b 100644 --- a/src/compiled/examples/imports_exports/import2.ts +++ b/src/compiled/examples/imports_exports/import2.ts @@ -1,12 +1,12 @@ /** * * 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 * Aqua version: 0.3.0-SNAPSHOT * */ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { ResultCodes, RequestFlow, @@ -14,32 +14,30 @@ import { CallParams, } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; - // Services - // Functions - export function wrap(config?: {ttl?: number}) : Promise; - export function wrap(peer: FluencePeer, config?: {ttl?: number}) : Promise; - export function wrap(...args: any) { - let peer: FluencePeer; - - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - config = args[1]; - } else { - peer = FluencePeer.default; - config = args[0]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` +export function wrap(config?: { ttl?: number }): Promise; +export function wrap(peer: FluencePeer, config?: { ttl?: number }): Promise; +export function wrap(...args: any) { + let peer: FluencePeer; + + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + config = args[1]; + } else { + peer = Fluence.getPeer(); + config = args[0]; + } + + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -58,16 +56,16 @@ import { ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; }); - + h.onEvent('callbackSrv', 'response', (args) => { - const [res] = args; - resolve(res); -}); + const [res] = args; + resolve(res); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -77,38 +75,36 @@ import { .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for wrap'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - +export function barfoo(config?: { ttl?: number }): Promise; +export function barfoo(peer: FluencePeer, config?: { ttl?: number }): Promise; +export function barfoo(...args: any) { + let peer: FluencePeer; - export function barfoo(config?: {ttl?: number}) : Promise; - export function barfoo(peer: FluencePeer, config?: {ttl?: number}) : Promise; - export function barfoo(...args: any) { - let peer: FluencePeer; - - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - config = args[1]; - } else { - peer = FluencePeer.default; - config = args[0]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + config = args[1]; + } else { + peer = Fluence.getPeer(); + config = args[0]; + } + + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -127,16 +123,16 @@ import { ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; }); - + h.onEvent('callbackSrv', 'response', (args) => { - const [res] = args; - resolve(res); -}); + const [res] = args; + resolve(res); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -146,13 +142,12 @@ import { .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for barfoo'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - diff --git a/src/compiled/examples/imports_exports/import3.ts b/src/compiled/examples/imports_exports/import3.ts new file mode 100644 index 0000000..3c273e7 --- /dev/null +++ b/src/compiled/examples/imports_exports/import3.ts @@ -0,0 +1,80 @@ +/** + * + * This file is auto-generated. Do not edit manually: changes may be erased. + * Generated by Aqua compiler: https://github.com/fluencelabs/aqua/. + * If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues + * Aqua version: 0.3.0-SNAPSHOT + * + */ +import { Fluence, FluencePeer } from '@fluencelabs/fluence'; +import { + ResultCodes, + RequestFlow, + RequestFlowBuilder, + CallParams, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; + +// Services + +// Functions + +export function foo_wrapper(config?: { ttl?: number }): Promise; +export function foo_wrapper(peer: FluencePeer, config?: { ttl?: number }): Promise; +export function foo_wrapper(...args: any) { + let peer: FluencePeer; + + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + config = args[1]; + } else { + peer = Fluence.getPeer(); + config = args[0]; + } + + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` + (xor + (seq + (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) + (xor + (call %init_peer_id% ("callbackSrv" "response") ["I am MyFooBar foo"]) + (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1]) + ) + ) + (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2]) +) + + `, + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; + }); + + h.onEvent('callbackSrv', 'response', (args) => { + const [res] = args; + resolve(res); + }); + + h.onEvent('errorHandlingSrv', 'error', (args) => { + const [err] = args; + reject(err); + }); + }) + .handleScriptError(reject) + .handleTimeout(() => { + reject('Request timed out for foo_wrapper'); + }); + if (config && config.ttl) { + r.withTTL(config.ttl); + } + request = r.build(); + }); + peer.internals.initiateFlow(request!); + return promise; +} diff --git a/src/compiled/examples/imports_exports/imports-empty.ts b/src/compiled/examples/imports_exports/imports-empty.ts index 8b9bc7a..1779174 100644 --- a/src/compiled/examples/imports_exports/imports-empty.ts +++ b/src/compiled/examples/imports_exports/imports-empty.ts @@ -1,12 +1,12 @@ /** * * 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 * Aqua version: 0.3.0-SNAPSHOT * */ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { ResultCodes, RequestFlow, @@ -14,47 +14,62 @@ import { CallParams, } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; - // Services - export interface NoopDef { - array: (a: string, b: string | null, c: string | null, d: string | null, callParams: CallParams<'a' | 'b' | 'c' | 'd'>) => string[]; -array_length: (array: string[], callParams: CallParams<'array'>) => number; -bytes_from_b58: (b: string, callParams: CallParams<'b'>) => number[]; -bytes_to_b58: (bs: number[], callParams: CallParams<'bs'>) => string; -concat: (a: string[], b: string[] | null, c: string[] | null, d: string[] | null, callParams: CallParams<'a' | 'b' | 'c' | 'd'>) => string[]; -concat_strings: (a: string, b: string, callParams: CallParams<'a' | 'b'>) => string; -identity: (s: string | null, callParams: CallParams<'s'>) => string | null; -noop: (callParams: CallParams) => void; -sha256_string: (s: string, callParams: CallParams<'s'>) => string; -string_from_b58: (b: string, callParams: CallParams<'b'>) => string; -string_to_b58: (s: string, callParams: CallParams<'s'>) => string; - } +export interface NoopDef { + array: ( + a: string, + b: string | null, + c: string | null, + d: string | null, + callParams: CallParams<'a' | 'b' | 'c' | 'd'>, + ) => string[]; + array_length: (array: string[], callParams: CallParams<'array'>) => number; + bytes_from_b58: (b: string, callParams: CallParams<'b'>) => number[]; + bytes_to_b58: (bs: number[], callParams: CallParams<'bs'>) => string; + concat: ( + a: string[], + b: string[] | null, + c: string[] | null, + d: string[] | null, + callParams: CallParams<'a' | 'b' | 'c' | 'd'>, + ) => string[]; + concat_strings: (a: string, b: string, callParams: CallParams<'a' | 'b'>) => string; + identity: (s: string | null, callParams: CallParams<'s'>) => string | null; + noop: (callParams: CallParams) => void; + sha256_string: (s: string, callParams: CallParams<'s'>) => string; + string_from_b58: (b: string, callParams: CallParams<'b'>) => string; + string_to_b58: (s: string, callParams: CallParams<'s'>) => string; +} - export function registerNoop(service: NoopDef): void; +export function registerNoop(service: NoopDef): void; export function registerNoop(serviceId: string, service: NoopDef): void; export function registerNoop(peer: FluencePeer, service: NoopDef): void; export function registerNoop(peer: FluencePeer, serviceId: string, service: NoopDef): void; - export function registerNoop(...args: any) { +export function registerNoop(...args: any) { let peer: FluencePeer; let serviceId: any; let service: any; - if (args[0] instanceof FluencePeer) { + if (FluencePeer.isInstance(args[0])) { peer = args[0]; } else { - peer = FluencePeer.default; + peer = Fluence.getPeer(); } if (typeof args[0] === 'string') { serviceId = args[0]; } else if (typeof args[1] === 'string') { serviceId = args[1]; - } - else { - serviceId = "op" -} + } else { + serviceId = 'op'; + } - if (!(args[0] instanceof FluencePeer) && typeof args[0] === 'object') { + // Figuring out which overload is the service. + // If the first argument is not Fluence Peer and it is an object, then it can only be the service def + // If the first argument is peer, we are checking further. The second argument might either be + // an object, that it must be the service object + // or a string, which is the service id. In that case the service is the third argument + if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { service = args[0]; } else if (typeof args[1] === 'object') { service = args[1]; @@ -62,214 +77,189 @@ export function registerNoop(peer: FluencePeer, serviceId: string, service: Noop service = args[2]; } - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'array') { - - const callParams = { - ...req.particleContext, - tetraplets: { - a: req.tetraplets[0],b: req.tetraplets[1],c: req.tetraplets[2],d: req.tetraplets[3] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.array(req.args[0], req.args[1].length === 0 ? null : req.args[1][0], req.args[2].length === 0 ? null : req.args[2][0], req.args[3].length === 0 ? null : req.args[3][0], callParams) + peer.internals.callServiceHandler.use((req, resp, next) => { + if (req.serviceId !== serviceId) { + next(); + return; + } - } - + if (req.fnName === 'array') { + const callParams = { + ...req.particleContext, + tetraplets: { + a: req.tetraplets[0], + b: req.tetraplets[1], + c: req.tetraplets[2], + d: req.tetraplets[3], + }, + }; + resp.retCode = ResultCodes.success; + resp.result = service.array( + req.args[0], + req.args[1].length === 0 ? null : req.args[1][0], + req.args[2].length === 0 ? null : req.args[2][0], + req.args[3].length === 0 ? null : req.args[3][0], + callParams, + ); + } + if (req.fnName === 'array_length') { + const callParams = { + ...req.particleContext, + tetraplets: { + array: req.tetraplets[0], + }, + }; + resp.retCode = ResultCodes.success; + resp.result = service.array_length(req.args[0], callParams); + } - if (req.fnName === 'array_length') { - - const callParams = { - ...req.particleContext, - tetraplets: { - array: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.array_length(req.args[0], callParams) + if (req.fnName === 'bytes_from_b58') { + const callParams = { + ...req.particleContext, + tetraplets: { + b: req.tetraplets[0], + }, + }; + resp.retCode = ResultCodes.success; + resp.result = service.bytes_from_b58(req.args[0], callParams); + } - } - + if (req.fnName === 'bytes_to_b58') { + const callParams = { + ...req.particleContext, + tetraplets: { + bs: req.tetraplets[0], + }, + }; + resp.retCode = ResultCodes.success; + resp.result = service.bytes_to_b58(req.args[0], callParams); + } + if (req.fnName === 'concat') { + const callParams = { + ...req.particleContext, + tetraplets: { + a: req.tetraplets[0], + b: req.tetraplets[1], + c: req.tetraplets[2], + d: req.tetraplets[3], + }, + }; + resp.retCode = ResultCodes.success; + resp.result = service.concat( + req.args[0], + req.args[1].length === 0 ? null : req.args[1][0], + req.args[2].length === 0 ? null : req.args[2][0], + req.args[3].length === 0 ? null : req.args[3][0], + callParams, + ); + } - if (req.fnName === 'bytes_from_b58') { - - const callParams = { - ...req.particleContext, - tetraplets: { - b: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.bytes_from_b58(req.args[0], callParams) + if (req.fnName === 'concat_strings') { + const callParams = { + ...req.particleContext, + tetraplets: { + a: req.tetraplets[0], + b: req.tetraplets[1], + }, + }; + resp.retCode = ResultCodes.success; + resp.result = service.concat_strings(req.args[0], req.args[1], callParams); + } - } - + if (req.fnName === 'identity') { + const callParams = { + ...req.particleContext, + tetraplets: { + s: req.tetraplets[0], + }, + }; + resp.retCode = ResultCodes.success; + var respResult = service.identity(req.args[0].length === 0 ? null : req.args[0][0], callParams); + resp.result = respResult === null ? [] : [respResult]; + } - if (req.fnName === 'bytes_to_b58') { - - const callParams = { - ...req.particleContext, - tetraplets: { - bs: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.bytes_to_b58(req.args[0], callParams) + if (req.fnName === 'noop') { + const callParams = { + ...req.particleContext, + tetraplets: {}, + }; + resp.retCode = ResultCodes.success; + service.noop(callParams); + resp.result = {}; + } - } - + if (req.fnName === 'sha256_string') { + const callParams = { + ...req.particleContext, + tetraplets: { + s: req.tetraplets[0], + }, + }; + resp.retCode = ResultCodes.success; + resp.result = service.sha256_string(req.args[0], callParams); + } + if (req.fnName === 'string_from_b58') { + const callParams = { + ...req.particleContext, + tetraplets: { + b: req.tetraplets[0], + }, + }; + resp.retCode = ResultCodes.success; + resp.result = service.string_from_b58(req.args[0], callParams); + } - if (req.fnName === 'concat') { - - const callParams = { - ...req.particleContext, - tetraplets: { - a: req.tetraplets[0],b: req.tetraplets[1],c: req.tetraplets[2],d: req.tetraplets[3] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.concat(req.args[0], req.args[1].length === 0 ? null : req.args[1][0], req.args[2].length === 0 ? null : req.args[2][0], req.args[3].length === 0 ? null : req.args[3][0], callParams) + if (req.fnName === 'string_to_b58') { + const callParams = { + ...req.particleContext, + tetraplets: { + s: req.tetraplets[0], + }, + }; + resp.retCode = ResultCodes.success; + resp.result = service.string_to_b58(req.args[0], callParams); + } - } - + next(); + }); +} +export interface MyExportSrvDef { + another_str: (callParams: CallParams) => string; +} - if (req.fnName === 'concat_strings') { - - const callParams = { - ...req.particleContext, - tetraplets: { - a: req.tetraplets[0],b: req.tetraplets[1] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.concat_strings(req.args[0], req.args[1], callParams) - - } - - - - if (req.fnName === 'identity') { - - const callParams = { - ...req.particleContext, - tetraplets: { - s: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - - var respResult = service.identity(req.args[0].length === 0 ? null : req.args[0][0], callParams); - resp.result = respResult === null ? [] : [respResult] - - - } - - - - if (req.fnName === 'noop') { - - const callParams = { - ...req.particleContext, - tetraplets: { - - }, - }; - resp.retCode = ResultCodes.success; - service.noop(callParams); resp.result = {} - - } - - - - if (req.fnName === 'sha256_string') { - - const callParams = { - ...req.particleContext, - tetraplets: { - s: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.sha256_string(req.args[0], callParams) - - } - - - - if (req.fnName === 'string_from_b58') { - - const callParams = { - ...req.particleContext, - tetraplets: { - b: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.string_from_b58(req.args[0], callParams) - - } - - - - if (req.fnName === 'string_to_b58') { - - const callParams = { - ...req.particleContext, - tetraplets: { - s: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.string_to_b58(req.args[0], callParams) - - } - - - next(); - }); - } - - - - export interface MyExportSrvDef { - another_str: (callParams: CallParams) => string; - } - - export function registerMyExportSrv(service: MyExportSrvDef): void; +export function registerMyExportSrv(service: MyExportSrvDef): void; export function registerMyExportSrv(serviceId: string, service: MyExportSrvDef): void; export function registerMyExportSrv(peer: FluencePeer, service: MyExportSrvDef): void; export function registerMyExportSrv(peer: FluencePeer, serviceId: string, service: MyExportSrvDef): void; - export function registerMyExportSrv(...args: any) { +export function registerMyExportSrv(...args: any) { let peer: FluencePeer; let serviceId: any; let service: any; - if (args[0] instanceof FluencePeer) { + if (FluencePeer.isInstance(args[0])) { peer = args[0]; } else { - peer = FluencePeer.default; + peer = Fluence.getPeer(); } if (typeof args[0] === 'string') { serviceId = args[0]; } else if (typeof args[1] === 'string') { serviceId = args[1]; - } - else { - serviceId = "my_export_srv" -} + } else { + serviceId = 'my_export_srv'; + } - if (!(args[0] instanceof FluencePeer) && typeof args[0] === 'object') { + // Figuring out which overload is the service. + // If the first argument is not Fluence Peer and it is an object, then it can only be the service def + // If the first argument is peer, we are checking further. The second argument might either be + // an object, that it must be the service object + // or a string, which is the service id. In that case the service is the third argument + if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { service = args[0]; } else if (typeof args[1] === 'object') { service = args[1]; @@ -277,54 +267,47 @@ export function registerMyExportSrv(peer: FluencePeer, serviceId: string, servic service = args[2]; } - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'another_str') { - - const callParams = { - ...req.particleContext, - tetraplets: { - - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.another_str(callParams) + peer.internals.callServiceHandler.use((req, resp, next) => { + if (req.serviceId !== serviceId) { + next(); + return; + } - } - - - next(); - }); - } - + if (req.fnName === 'another_str') { + const callParams = { + ...req.particleContext, + tetraplets: {}, + }; + resp.retCode = ResultCodes.success; + resp.result = service.another_str(callParams); + } + + next(); + }); +} // Functions - export function some_str(config?: {ttl?: number}) : Promise; - export function some_str(peer: FluencePeer, config?: {ttl?: number}) : Promise; - export function some_str(...args: any) { - let peer: FluencePeer; - - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - config = args[1]; - } else { - peer = FluencePeer.default; - config = args[0]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` +export function some_str(config?: { ttl?: number }): Promise; +export function some_str(peer: FluencePeer, config?: { ttl?: number }): Promise; +export function some_str(...args: any) { + let peer: FluencePeer; + + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + config = args[1]; + } else { + peer = Fluence.getPeer(); + config = args[0]; + } + + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) @@ -337,16 +320,16 @@ export function registerMyExportSrv(peer: FluencePeer, serviceId: string, servic ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; }); - + h.onEvent('callbackSrv', 'response', (args) => { - const [res] = args; - resolve(res); -}); + const [res] = args; + resolve(res); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -356,38 +339,36 @@ export function registerMyExportSrv(peer: FluencePeer, serviceId: string, servic .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for some_str'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - +export function some_string(config?: { ttl?: number }): Promise; +export function some_string(peer: FluencePeer, config?: { ttl?: number }): Promise; +export function some_string(...args: any) { + let peer: FluencePeer; - export function some_string(config?: {ttl?: number}) : Promise; - export function some_string(peer: FluencePeer, config?: {ttl?: number}) : Promise; - export function some_string(...args: any) { - let peer: FluencePeer; - - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - config = args[1]; - } else { - peer = FluencePeer.default; - config = args[0]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + config = args[1]; + } else { + peer = Fluence.getPeer(); + config = args[0]; + } + + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) @@ -400,16 +381,16 @@ export function registerMyExportSrv(peer: FluencePeer, serviceId: string, servic ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; }); - + h.onEvent('callbackSrv', 'response', (args) => { - const [res] = args; - resolve(res); -}); + const [res] = args; + resolve(res); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -419,38 +400,36 @@ export function registerMyExportSrv(peer: FluencePeer, serviceId: string, servic .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for some_string'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - +export function decl_foo(config?: { ttl?: number }): Promise; +export function decl_foo(peer: FluencePeer, config?: { ttl?: number }): Promise; +export function decl_foo(...args: any) { + let peer: FluencePeer; - export function decl_foo(config?: {ttl?: number}) : Promise; - export function decl_foo(peer: FluencePeer, config?: {ttl?: number}) : Promise; - export function decl_foo(...args: any) { - let peer: FluencePeer; - - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - config = args[1]; - } else { - peer = FluencePeer.default; - config = args[0]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + config = args[1]; + } else { + peer = Fluence.getPeer(); + config = args[0]; + } + + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -466,16 +445,16 @@ export function registerMyExportSrv(peer: FluencePeer, serviceId: string, servic ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; }); - + h.onEvent('callbackSrv', 'response', (args) => { - const [res] = args; - resolve(res); -}); + const [res] = args; + resolve(res); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -485,38 +464,36 @@ export function registerMyExportSrv(peer: FluencePeer, serviceId: string, servic .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for decl_foo'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - +export function decl_bar(config?: { ttl?: number }): Promise; +export function decl_bar(peer: FluencePeer, config?: { ttl?: number }): Promise; +export function decl_bar(...args: any) { + let peer: FluencePeer; - export function decl_bar(config?: {ttl?: number}) : Promise; - export function decl_bar(peer: FluencePeer, config?: {ttl?: number}) : Promise; - export function decl_bar(...args: any) { - let peer: FluencePeer; - - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - config = args[1]; - } else { - peer = FluencePeer.default; - config = args[0]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + config = args[1]; + } else { + peer = Fluence.getPeer(); + config = args[0]; + } + + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) @@ -529,16 +506,16 @@ export function registerMyExportSrv(peer: FluencePeer, serviceId: string, servic ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; }); - + h.onEvent('callbackSrv', 'response', (args) => { - const [res] = args; - resolve(res); -}); + const [res] = args; + resolve(res); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -548,38 +525,36 @@ export function registerMyExportSrv(peer: FluencePeer, serviceId: string, servic .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for decl_bar'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - +export function some_random_func(config?: { ttl?: number }): Promise; +export function some_random_func(peer: FluencePeer, config?: { ttl?: number }): Promise; +export function some_random_func(...args: any) { + let peer: FluencePeer; - export function some_random_func(config?: {ttl?: number}) : Promise; - export function some_random_func(peer: FluencePeer, config?: {ttl?: number}) : Promise; - export function some_random_func(...args: any) { - let peer: FluencePeer; - - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - config = args[1]; - } else { - peer = FluencePeer.default; - config = args[0]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + config = args[1]; + } else { + peer = Fluence.getPeer(); + config = args[0]; + } + + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) @@ -592,16 +567,16 @@ export function registerMyExportSrv(peer: FluencePeer, serviceId: string, servic ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; }); - + h.onEvent('callbackSrv', 'response', (args) => { - const [res] = args; - resolve(res); -}); + const [res] = args; + resolve(res); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -611,13 +586,12 @@ export function registerMyExportSrv(peer: FluencePeer, serviceId: string, servic .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for some_random_func'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - diff --git a/src/compiled/examples/imports_exports/imports.ts b/src/compiled/examples/imports_exports/imports.ts index 1437e66..fd640fc 100644 --- a/src/compiled/examples/imports_exports/imports.ts +++ b/src/compiled/examples/imports_exports/imports.ts @@ -1,12 +1,12 @@ /** * * 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 * Aqua version: 0.3.0-SNAPSHOT * */ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { ResultCodes, RequestFlow, @@ -14,37 +14,40 @@ import { CallParams, } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; - // Services - export interface StringServiceDef { - concat: (a: string, b: string, callParams: CallParams<'a' | 'b'>) => string; - } +export interface StringServiceDef { + concat: (a: string, b: string, callParams: CallParams<'a' | 'b'>) => string; +} - export function registerStringService(service: StringServiceDef): void; +export function registerStringService(service: StringServiceDef): void; export function registerStringService(serviceId: string, service: StringServiceDef): void; export function registerStringService(peer: FluencePeer, service: StringServiceDef): void; export function registerStringService(peer: FluencePeer, serviceId: string, service: StringServiceDef): void; - export function registerStringService(...args: any) { +export function registerStringService(...args: any) { let peer: FluencePeer; let serviceId: any; let service: any; - if (args[0] instanceof FluencePeer) { + if (FluencePeer.isInstance(args[0])) { peer = args[0]; } else { - peer = FluencePeer.default; + peer = Fluence.getPeer(); } if (typeof args[0] === 'string') { serviceId = args[0]; } else if (typeof args[1] === 'string') { serviceId = args[1]; - } - else { - serviceId = "string_service" -} + } else { + serviceId = 'string_service'; + } - if (!(args[0] instanceof FluencePeer) && typeof args[0] === 'object') { + // Figuring out which overload is the service. + // If the first argument is not Fluence Peer and it is an object, then it can only be the service def + // If the first argument is peer, we are checking further. The second argument might either be + // an object, that it must be the service object + // or a string, which is the service id. In that case the service is the third argument + if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { service = args[0]; } else if (typeof args[1] === 'object') { service = args[1]; @@ -52,54 +55,50 @@ export function registerStringService(peer: FluencePeer, serviceId: string, serv service = args[2]; } - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'concat') { - - const callParams = { - ...req.particleContext, - tetraplets: { - a: req.tetraplets[0],b: req.tetraplets[1] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.concat(req.args[0], req.args[1], callParams) + peer.internals.callServiceHandler.use((req, resp, next) => { + if (req.serviceId !== serviceId) { + next(); + return; + } - } - - - next(); - }); - } - + if (req.fnName === 'concat') { + const callParams = { + ...req.particleContext, + tetraplets: { + a: req.tetraplets[0], + b: req.tetraplets[1], + }, + }; + resp.retCode = ResultCodes.success; + resp.result = service.concat(req.args[0], req.args[1], callParams); + } + + next(); + }); +} // Functions - export function concat_foobars(config?: {ttl?: number}) : Promise; - export function concat_foobars(peer: FluencePeer, config?: {ttl?: number}) : Promise; - export function concat_foobars(...args: any) { - let peer: FluencePeer; - - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - config = args[1]; - } else { - peer = FluencePeer.default; - config = args[0]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` +export function concat_foobars(config?: { ttl?: number }): Promise; +export function concat_foobars(peer: FluencePeer, config?: { ttl?: number }): Promise; +export function concat_foobars(...args: any) { + let peer: FluencePeer; + + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + config = args[1]; + } else { + peer = Fluence.getPeer(); + config = args[0]; + } + + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -133,16 +132,16 @@ export function registerStringService(peer: FluencePeer, serviceId: string, serv ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; }); - + h.onEvent('callbackSrv', 'response', (args) => { - const [res] = args; - resolve(res); -}); + const [res] = args; + resolve(res); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -152,13 +151,12 @@ export function registerStringService(peer: FluencePeer, serviceId: string, serv .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for concat_foobars'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - diff --git a/src/compiled/examples/imports_exports/subImport.ts b/src/compiled/examples/imports_exports/subImport.ts index 4159d30..76c2509 100644 --- a/src/compiled/examples/imports_exports/subImport.ts +++ b/src/compiled/examples/imports_exports/subImport.ts @@ -1,12 +1,12 @@ /** * * 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 * Aqua version: 0.3.0-SNAPSHOT * */ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { ResultCodes, RequestFlow, @@ -14,37 +14,40 @@ import { CallParams, } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; - // Services - export interface SubServiceDef { - sub: (s: string, callParams: CallParams<'s'>) => {one:string;two:number}; - } +export interface SubServiceDef { + sub: (s: string, callParams: CallParams<'s'>) => { one: string; two: number }; +} - export function registerSubService(service: SubServiceDef): void; +export function registerSubService(service: SubServiceDef): void; export function registerSubService(serviceId: string, service: SubServiceDef): void; export function registerSubService(peer: FluencePeer, service: SubServiceDef): void; export function registerSubService(peer: FluencePeer, serviceId: string, service: SubServiceDef): void; - export function registerSubService(...args: any) { +export function registerSubService(...args: any) { let peer: FluencePeer; let serviceId: any; let service: any; - if (args[0] instanceof FluencePeer) { + if (FluencePeer.isInstance(args[0])) { peer = args[0]; } else { - peer = FluencePeer.default; + peer = Fluence.getPeer(); } if (typeof args[0] === 'string') { serviceId = args[0]; } else if (typeof args[1] === 'string') { serviceId = args[1]; - } - else { - serviceId = "sub_service" -} + } else { + serviceId = 'sub_service'; + } - if (!(args[0] instanceof FluencePeer) && typeof args[0] === 'object') { + // Figuring out which overload is the service. + // If the first argument is not Fluence Peer and it is an object, then it can only be the service def + // If the first argument is peer, we are checking further. The second argument might either be + // an object, that it must be the service object + // or a string, which is the service id. In that case the service is the third argument + if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { service = args[0]; } else if (typeof args[1] === 'object') { service = args[1]; @@ -52,54 +55,49 @@ export function registerSubService(peer: FluencePeer, serviceId: string, service service = args[2]; } - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'sub') { - - const callParams = { - ...req.particleContext, - tetraplets: { - s: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.sub(req.args[0], callParams) + peer.internals.callServiceHandler.use((req, resp, next) => { + if (req.serviceId !== serviceId) { + next(); + return; + } - } - - - next(); - }); - } - + if (req.fnName === 'sub') { + const callParams = { + ...req.particleContext, + tetraplets: { + s: req.tetraplets[0], + }, + }; + resp.retCode = ResultCodes.success; + resp.result = service.sub(req.args[0], callParams); + } + + next(); + }); +} // Functions - export function subImport(config?: {ttl?: number}) : Promise<{one:string;two:number}>; - export function subImport(peer: FluencePeer, config?: {ttl?: number}) : Promise<{one:string;two:number}>; - export function subImport(...args: any) { - let peer: FluencePeer; - - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - config = args[1]; - } else { - peer = FluencePeer.default; - config = args[0]; - } - - let request: RequestFlow; - const promise = new Promise<{one:string;two:number}>((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` +export function subImport(config?: { ttl?: number }): Promise<{ one: string; two: number }>; +export function subImport(peer: FluencePeer, config?: { ttl?: number }): Promise<{ one: string; two: number }>; +export function subImport(...args: any) { + let peer: FluencePeer; + + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + config = args[1]; + } else { + peer = Fluence.getPeer(); + config = args[0]; + } + + let request: RequestFlow; + const promise = new Promise<{ one: string; two: number }>((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -115,16 +113,16 @@ export function registerSubService(peer: FluencePeer, serviceId: string, service ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; }); - + h.onEvent('callbackSrv', 'response', (args) => { - const [res] = args; - resolve(res); -}); + const [res] = args; + resolve(res); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -134,13 +132,12 @@ export function registerSubService(peer: FluencePeer, serviceId: string, service .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for subImport'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - diff --git a/src/compiled/examples/multiReturn.ts b/src/compiled/examples/multiReturn.ts index c5c8cf7..d9276a5 100644 --- a/src/compiled/examples/multiReturn.ts +++ b/src/compiled/examples/multiReturn.ts @@ -1,12 +1,12 @@ /** * * 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 * Aqua version: 0.3.0-SNAPSHOT * */ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { ResultCodes, RequestFlow, @@ -14,37 +14,40 @@ import { CallParams, } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; - // Services - export interface GetStrDef { - retStr: (arg0: string, callParams: CallParams<'arg0'>) => string; - } +export interface GetStrDef { + retStr: (arg0: string, callParams: CallParams<'arg0'>) => string; +} - export function registerGetStr(service: GetStrDef): void; +export function registerGetStr(service: GetStrDef): void; export function registerGetStr(serviceId: string, service: GetStrDef): void; export function registerGetStr(peer: FluencePeer, service: GetStrDef): void; export function registerGetStr(peer: FluencePeer, serviceId: string, service: GetStrDef): void; - export function registerGetStr(...args: any) { +export function registerGetStr(...args: any) { let peer: FluencePeer; let serviceId: any; let service: any; - if (args[0] instanceof FluencePeer) { + if (FluencePeer.isInstance(args[0])) { peer = args[0]; } else { - peer = FluencePeer.default; + peer = Fluence.getPeer(); } if (typeof args[0] === 'string') { serviceId = args[0]; } else if (typeof args[1] === 'string') { serviceId = args[1]; - } - else { - serviceId = "multiret-test" -} + } else { + serviceId = 'multiret-test'; + } - if (!(args[0] instanceof FluencePeer) && typeof args[0] === 'object') { + // Figuring out which overload is the service. + // If the first argument is not Fluence Peer and it is an object, then it can only be the service def + // If the first argument is peer, we are checking further. The second argument might either be + // an object, that it must be the service object + // or a string, which is the service id. In that case the service is the third argument + if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { service = args[0]; } else if (typeof args[1] === 'object') { service = args[1]; @@ -52,61 +55,59 @@ export function registerGetStr(peer: FluencePeer, serviceId: string, service: Ge service = args[2]; } - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'retStr') { - - const callParams = { - ...req.particleContext, - tetraplets: { - arg0: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.retStr(req.args[0], callParams) + peer.internals.callServiceHandler.use((req, resp, next) => { + if (req.serviceId !== serviceId) { + next(); + return; + } - } - - - next(); - }); - } - + if (req.fnName === 'retStr') { + const callParams = { + ...req.particleContext, + tetraplets: { + arg0: req.tetraplets[0], + }, + }; + resp.retCode = ResultCodes.success; + resp.result = service.retStr(req.args[0], callParams); + } + next(); + }); +} - export interface GetNumDef { - retNum: (callParams: CallParams) => number; - } +export interface GetNumDef { + retNum: (callParams: CallParams) => number; +} - export function registerGetNum(service: GetNumDef): void; +export function registerGetNum(service: GetNumDef): void; export function registerGetNum(serviceId: string, service: GetNumDef): void; export function registerGetNum(peer: FluencePeer, service: GetNumDef): void; export function registerGetNum(peer: FluencePeer, serviceId: string, service: GetNumDef): void; - export function registerGetNum(...args: any) { +export function registerGetNum(...args: any) { let peer: FluencePeer; let serviceId: any; let service: any; - if (args[0] instanceof FluencePeer) { + if (FluencePeer.isInstance(args[0])) { peer = args[0]; } else { - peer = FluencePeer.default; + peer = Fluence.getPeer(); } if (typeof args[0] === 'string') { serviceId = args[0]; } else if (typeof args[1] === 'string') { serviceId = args[1]; - } - else { - serviceId = "multiret-num" -} + } else { + serviceId = 'multiret-num'; + } - if (!(args[0] instanceof FluencePeer) && typeof args[0] === 'object') { + // Figuring out which overload is the service. + // If the first argument is not Fluence Peer and it is an object, then it can only be the service def + // If the first argument is peer, we are checking further. The second argument might either be + // an object, that it must be the service object + // or a string, which is the service id. In that case the service is the third argument + if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { service = args[0]; } else if (typeof args[1] === 'object') { service = args[1]; @@ -114,54 +115,47 @@ export function registerGetNum(peer: FluencePeer, serviceId: string, service: Ge service = args[2]; } - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'retNum') { - - const callParams = { - ...req.particleContext, - tetraplets: { - - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.retNum(callParams) + peer.internals.callServiceHandler.use((req, resp, next) => { + if (req.serviceId !== serviceId) { + next(); + return; + } - } - - - next(); - }); - } - + if (req.fnName === 'retNum') { + const callParams = { + ...req.particleContext, + tetraplets: {}, + }; + resp.retCode = ResultCodes.success; + resp.result = service.retNum(callParams); + } + + next(); + }); +} // Functions - export function tupleFunc(config?: {ttl?: number}) : Promise<[string, number]>; - export function tupleFunc(peer: FluencePeer, config?: {ttl?: number}) : Promise<[string, number]>; - export function tupleFunc(...args: any) { - let peer: FluencePeer; - - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - config = args[1]; - } else { - peer = FluencePeer.default; - config = args[0]; - } - - let request: RequestFlow; - const promise = new Promise<[string, number]>((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` +export function tupleFunc(config?: { ttl?: number }): Promise<[string, number]>; +export function tupleFunc(peer: FluencePeer, config?: { ttl?: number }): Promise<[string, number]>; +export function tupleFunc(...args: any) { + let peer: FluencePeer; + + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + config = args[1]; + } else { + peer = Fluence.getPeer(); + config = args[0]; + } + + let request: RequestFlow; + const promise = new Promise<[string, number]>((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -180,17 +174,17 @@ export function registerGetNum(peer: FluencePeer, serviceId: string, service: Ge ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; }); - - h.onEvent('callbackSrv', 'response', (args) => { - let opt: any = args; - return resolve(opt); -}); + h.onEvent('callbackSrv', 'response', (args) => { + let opt: any = args; + + return resolve(opt); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -200,43 +194,50 @@ export function registerGetNum(peer: FluencePeer, serviceId: string, service: Ge .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for tupleFunc'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - +export function multiReturnFunc( + somethingToReturn: number[], + smthOption: string | null, + config?: { ttl?: number }, +): Promise<[string[], number, string, number[], string | null, number]>; +export function multiReturnFunc( + peer: FluencePeer, + somethingToReturn: number[], + smthOption: string | null, + config?: { ttl?: number }, +): Promise<[string[], number, string, number[], string | null, number]>; +export function multiReturnFunc(...args: any) { + let peer: FluencePeer; + let somethingToReturn: any; + let smthOption: any; + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + somethingToReturn = args[1]; + smthOption = args[2]; + config = args[3]; + } else { + peer = Fluence.getPeer(); + somethingToReturn = args[0]; + smthOption = args[1]; + config = args[2]; + } - export function multiReturnFunc(somethingToReturn: number[], smthOption: string | null, config?: {ttl?: number}) : Promise<[string[], number, string, number[], string | null, number]>; - export function multiReturnFunc(peer: FluencePeer, somethingToReturn: number[], smthOption: string | null, config?: {ttl?: number}) : Promise<[string[], number, string, number[], string | null, number]>; - export function multiReturnFunc(...args: any) { - let peer: FluencePeer; - let somethingToReturn: any; -let smthOption: any; - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - somethingToReturn = args[1]; -smthOption = args[2]; -config = args[3]; - } else { - peer = FluencePeer.default; - somethingToReturn = args[0]; -smthOption = args[1]; -config = args[2]; - } - - let request: RequestFlow; - const promise = new Promise<[string[], number, string, number[], string | null, number]>((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` + let request: RequestFlow; + const promise = new Promise<[string[], number, string, number[], string | null, number]>((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -270,22 +271,29 @@ config = args[2]; ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; + }); + h.on('getDataSrv', 'somethingToReturn', () => { + return somethingToReturn; + }); + h.on('getDataSrv', 'smthOption', () => { + return smthOption === null ? [] : [smthOption]; }); - h.on('getDataSrv', 'somethingToReturn', () => {return somethingToReturn;}); -h.on('getDataSrv', 'smthOption', () => {return smthOption === null ? [] : [smthOption];}); h.onEvent('callbackSrv', 'response', (args) => { - let opt: any = args; + let opt: any = args; - if(Array.isArray(opt[4])) { - if (opt[4].length === 0) { opt[4] = null; } - else {opt[4] = opt[4][0]; } - } - return resolve(opt); -}); + if (Array.isArray(opt[4])) { + if (opt[4].length === 0) { + opt[4] = null; + } else { + opt[4] = opt[4][0]; + } + } + return resolve(opt); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -295,13 +303,12 @@ h.on('getDataSrv', 'smthOption', () => {return smthOption === null ? [] : [smthO .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for multiReturnFunc'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - diff --git a/src/compiled/examples/nestedFuncs.ts b/src/compiled/examples/nestedFuncs.ts index 8cf1d91..45c1550 100644 --- a/src/compiled/examples/nestedFuncs.ts +++ b/src/compiled/examples/nestedFuncs.ts @@ -1,12 +1,12 @@ /** * * 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 * Aqua version: 0.3.0-SNAPSHOT * */ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { ResultCodes, RequestFlow, @@ -14,37 +14,40 @@ import { CallParams, } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; - // Services - export interface OpHDef { - identity: (s: string, callParams: CallParams<'s'>) => string; - } +export interface OpHDef { + identity: (s: string, callParams: CallParams<'s'>) => string; +} - export function registerOpH(service: OpHDef): void; +export function registerOpH(service: OpHDef): void; export function registerOpH(serviceId: string, service: OpHDef): void; export function registerOpH(peer: FluencePeer, service: OpHDef): void; export function registerOpH(peer: FluencePeer, serviceId: string, service: OpHDef): void; - export function registerOpH(...args: any) { +export function registerOpH(...args: any) { let peer: FluencePeer; let serviceId: any; let service: any; - if (args[0] instanceof FluencePeer) { + if (FluencePeer.isInstance(args[0])) { peer = args[0]; } else { - peer = FluencePeer.default; + peer = Fluence.getPeer(); } if (typeof args[0] === 'string') { serviceId = args[0]; } else if (typeof args[1] === 'string') { serviceId = args[1]; - } - else { - serviceId = "opa" -} + } else { + serviceId = 'opa'; + } - if (!(args[0] instanceof FluencePeer) && typeof args[0] === 'object') { + // Figuring out which overload is the service. + // If the first argument is not Fluence Peer and it is an object, then it can only be the service def + // If the first argument is peer, we are checking further. The second argument might either be + // an object, that it must be the service object + // or a string, which is the service id. In that case the service is the third argument + if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { service = args[0]; } else if (typeof args[1] === 'object') { service = args[1]; @@ -52,56 +55,51 @@ export function registerOpH(peer: FluencePeer, serviceId: string, service: OpHDe service = args[2]; } - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'identity') { - - const callParams = { - ...req.particleContext, - tetraplets: { - s: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.identity(req.args[0], callParams) + peer.internals.callServiceHandler.use((req, resp, next) => { + if (req.serviceId !== serviceId) { + next(); + return; + } - } - - - next(); - }); - } - + if (req.fnName === 'identity') { + const callParams = { + ...req.particleContext, + tetraplets: { + s: req.tetraplets[0], + }, + }; + resp.retCode = ResultCodes.success; + resp.result = service.identity(req.args[0], callParams); + } + + next(); + }); +} // Functions - export function a(b: string, config?: {ttl?: number}) : Promise; - export function a(peer: FluencePeer, b: string, config?: {ttl?: number}) : Promise; - export function a(...args: any) { - let peer: FluencePeer; - let b: any; - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - b = args[1]; -config = args[2]; - } else { - peer = FluencePeer.default; - b = args[0]; -config = args[1]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` +export function a(b: string, config?: { ttl?: number }): Promise; +export function a(peer: FluencePeer, b: string, config?: { ttl?: number }): Promise; +export function a(...args: any) { + let peer: FluencePeer; + let b: any; + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + b = args[1]; + config = args[2]; + } else { + peer = Fluence.getPeer(); + b = args[0]; + config = args[1]; + } + + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -120,16 +118,18 @@ config = args[1]; ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; + }); + h.on('getDataSrv', 'b', () => { + return b; }); - h.on('getDataSrv', 'b', () => {return b;}); h.onEvent('callbackSrv', 'response', (args) => { - const [res] = args; - resolve(res); -}); + const [res] = args; + resolve(res); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -139,40 +139,38 @@ config = args[1]; .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for a'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - +export function d(e: string, config?: { ttl?: number }): Promise; +export function d(peer: FluencePeer, e: string, config?: { ttl?: number }): Promise; +export function d(...args: any) { + let peer: FluencePeer; + let e: any; + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + e = args[1]; + config = args[2]; + } else { + peer = Fluence.getPeer(); + e = args[0]; + config = args[1]; + } - export function d(e: string, config?: {ttl?: number}) : Promise; - export function d(peer: FluencePeer, e: string, config?: {ttl?: number}) : Promise; - export function d(...args: any) { - let peer: FluencePeer; - let e: any; - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - e = args[1]; -config = args[2]; - } else { - peer = FluencePeer.default; - e = args[0]; -config = args[1]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -191,16 +189,18 @@ config = args[1]; ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; + }); + h.on('getDataSrv', 'e', () => { + return e; }); - h.on('getDataSrv', 'e', () => {return e;}); h.onEvent('callbackSrv', 'response', (args) => { - const [res] = args; - resolve(res); -}); + const [res] = args; + resolve(res); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -210,13 +210,12 @@ config = args[1]; .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for d'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - diff --git a/src/compiled/examples/new-api-full.ts b/src/compiled/examples/new-api-full.ts index 88ca33a..92015a0 100644 --- a/src/compiled/examples/new-api-full.ts +++ b/src/compiled/examples/new-api-full.ts @@ -1,12 +1,12 @@ /** * * 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 * Aqua version: 0.3.0-SNAPSHOT * */ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { ResultCodes, RequestFlow, @@ -14,94 +14,44 @@ import { CallParams, } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; - // Services - export interface ServiceWithDefaultIdDef { - hello: (s: string, callParams: CallParams<'s'>) => void; - } - - export function registerServiceWithDefaultId(service: ServiceWithDefaultIdDef): void; -export function registerServiceWithDefaultId(serviceId: string, service: ServiceWithDefaultIdDef): void; -export function registerServiceWithDefaultId(peer: FluencePeer, service: ServiceWithDefaultIdDef): void; -export function registerServiceWithDefaultId(peer: FluencePeer, serviceId: string, service: ServiceWithDefaultIdDef): void; - export function registerServiceWithDefaultId(...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 = "defaultId" +export interface ServiceWithDefaultIdDef { + hello: (s: string, callParams: CallParams<'s'>) => void; } - 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: { - s: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - service.hello(req.args[0], callParams); resp.result = {} - - } - - - next(); - }); - } - - - - export interface ServiceWithOUTDefaultIdDef { - hello: (s: string, callParams: CallParams<'s'>) => void; - } - - export function registerServiceWithOUTDefaultId(serviceId: string, service: ServiceWithOUTDefaultIdDef): void; -export function registerServiceWithOUTDefaultId(peer: FluencePeer, serviceId: string, service: ServiceWithOUTDefaultIdDef): void; - export function registerServiceWithOUTDefaultId(...args: any) { +export function registerServiceWithDefaultId(service: ServiceWithDefaultIdDef): void; +export function registerServiceWithDefaultId(serviceId: string, service: ServiceWithDefaultIdDef): void; +export function registerServiceWithDefaultId(peer: FluencePeer, service: ServiceWithDefaultIdDef): void; +export function registerServiceWithDefaultId( + peer: FluencePeer, + serviceId: string, + service: ServiceWithDefaultIdDef, +): void; +export function registerServiceWithDefaultId(...args: any) { let peer: FluencePeer; let serviceId: any; let service: any; - if (args[0] instanceof FluencePeer) { + if (FluencePeer.isInstance(args[0])) { peer = args[0]; } else { - peer = FluencePeer.default; + peer = Fluence.getPeer(); } if (typeof args[0] === 'string') { serviceId = args[0]; } else if (typeof args[1] === 'string') { serviceId = args[1]; - } + } else { + serviceId = 'defaultId'; + } - if (!(args[0] instanceof FluencePeer) && typeof args[0] === 'object') { + // Figuring out which overload is the service. + // If the first argument is not Fluence Peer and it is an object, then it can only be the service def + // If the first argument is peer, we are checking further. The second argument might either be + // an object, that it must be the service object + // or a string, which is the service id. In that case the service is the third argument + if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { service = args[0]; } else if (typeof args[1] === 'object') { service = args[1]; @@ -109,60 +59,121 @@ export function registerServiceWithOUTDefaultId(peer: FluencePeer, serviceId: st 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: { - s: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - service.hello(req.args[0], callParams); resp.result = {} + peer.internals.callServiceHandler.use((req, resp, next) => { + if (req.serviceId !== serviceId) { + next(); + return; + } - } - - - next(); - }); - } - + if (req.fnName === 'hello') { + const callParams = { + ...req.particleContext, + tetraplets: { + s: req.tetraplets[0], + }, + }; + resp.retCode = ResultCodes.success; + service.hello(req.args[0], callParams); + resp.result = {}; + } + next(); + }); +} - export interface MoreMembersDef { - member1: (callParams: CallParams) => void; -member2: (s1: string, callParams: CallParams<'s1'>) => void; -member3: (s1: string, s2: string, callParams: CallParams<'s1' | 's2'>) => void; -member4: (s1: string, s2: string, i: number, callParams: CallParams<'s1' | 's2' | 'i'>) => number; -member5: (s1: string, s2: string, i: number, callParams: CallParams<'s1' | 's2' | 'i'>) => number; - } +export interface ServiceWithOUTDefaultIdDef { + hello: (s: string, callParams: CallParams<'s'>) => void; +} - export function registerMoreMembers(serviceId: string, service: MoreMembersDef): void; +export function registerServiceWithOUTDefaultId(serviceId: string, service: ServiceWithOUTDefaultIdDef): void; +export function registerServiceWithOUTDefaultId( + peer: FluencePeer, + serviceId: string, + service: ServiceWithOUTDefaultIdDef, +): void; +export function registerServiceWithOUTDefaultId(...args: any) { + let peer: FluencePeer; + let serviceId: any; + let service: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + } else { + peer = Fluence.getPeer(); + } + + if (typeof args[0] === 'string') { + serviceId = args[0]; + } else if (typeof args[1] === 'string') { + serviceId = args[1]; + } + + // Figuring out which overload is the service. + // If the first argument is not Fluence Peer and it is an object, then it can only be the service def + // If the first argument is peer, we are checking further. The second argument might either be + // an object, that it must be the service object + // or a string, which is the service id. In that case the service is the third argument + 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: { + s: req.tetraplets[0], + }, + }; + resp.retCode = ResultCodes.success; + service.hello(req.args[0], callParams); + resp.result = {}; + } + + next(); + }); +} + +export interface MoreMembersDef { + member1: (callParams: CallParams) => void; + member2: (s1: string, callParams: CallParams<'s1'>) => void; + member3: (s1: string, s2: string, callParams: CallParams<'s1' | 's2'>) => void; + member4: (s1: string, s2: string, i: number, callParams: CallParams<'s1' | 's2' | 'i'>) => number; + member5: (s1: string, s2: string, i: number, callParams: CallParams<'s1' | 's2' | 'i'>) => number; +} + +export function registerMoreMembers(serviceId: string, service: MoreMembersDef): void; export function registerMoreMembers(peer: FluencePeer, serviceId: string, service: MoreMembersDef): void; - export function registerMoreMembers(...args: any) { +export function registerMoreMembers(...args: any) { let peer: FluencePeer; let serviceId: any; let service: any; - if (args[0] instanceof FluencePeer) { + if (FluencePeer.isInstance(args[0])) { peer = args[0]; } else { - peer = FluencePeer.default; + peer = Fluence.getPeer(); } 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') { + // Figuring out which overload is the service. + // If the first argument is not Fluence Peer and it is an object, then it can only be the service def + // If the first argument is peer, we are checking further. The second argument might either be + // an object, that it must be the service object + // or a string, which is the service id. In that case the service is the third argument + if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { service = args[0]; } else if (typeof args[1] === 'object') { service = args[1]; @@ -170,116 +181,108 @@ export function registerMoreMembers(peer: FluencePeer, serviceId: string, servic service = args[2]; } - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'member1') { - - const callParams = { - ...req.particleContext, - tetraplets: { - - }, - }; - resp.retCode = ResultCodes.success; - service.member1(callParams); resp.result = {} + peer.internals.callServiceHandler.use((req, resp, next) => { + if (req.serviceId !== serviceId) { + next(); + return; + } - } - + if (req.fnName === 'member1') { + const callParams = { + ...req.particleContext, + tetraplets: {}, + }; + resp.retCode = ResultCodes.success; + service.member1(callParams); + resp.result = {}; + } + if (req.fnName === 'member2') { + const callParams = { + ...req.particleContext, + tetraplets: { + s1: req.tetraplets[0], + }, + }; + resp.retCode = ResultCodes.success; + service.member2(req.args[0], callParams); + resp.result = {}; + } - if (req.fnName === 'member2') { - - const callParams = { - ...req.particleContext, - tetraplets: { - s1: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - service.member2(req.args[0], callParams); resp.result = {} + if (req.fnName === 'member3') { + const callParams = { + ...req.particleContext, + tetraplets: { + s1: req.tetraplets[0], + s2: req.tetraplets[1], + }, + }; + resp.retCode = ResultCodes.success; + service.member3(req.args[0], req.args[1], callParams); + resp.result = {}; + } - } - + if (req.fnName === 'member4') { + const callParams = { + ...req.particleContext, + tetraplets: { + s1: req.tetraplets[0], + s2: req.tetraplets[1], + i: req.tetraplets[2], + }, + }; + resp.retCode = ResultCodes.success; + resp.result = service.member4(req.args[0], req.args[1], req.args[2], callParams); + } + if (req.fnName === 'member5') { + const callParams = { + ...req.particleContext, + tetraplets: { + s1: req.tetraplets[0], + s2: req.tetraplets[1], + i: req.tetraplets[2], + }, + }; + resp.retCode = ResultCodes.success; + resp.result = service.member5(req.args[0], req.args[1], req.args[2], callParams); + } - if (req.fnName === 'member3') { - - const callParams = { - ...req.particleContext, - tetraplets: { - s1: req.tetraplets[0],s2: req.tetraplets[1] - }, - }; - resp.retCode = ResultCodes.success; - service.member3(req.args[0], req.args[1], callParams); resp.result = {} - - } - - - - if (req.fnName === 'member4') { - - const callParams = { - ...req.particleContext, - tetraplets: { - s1: req.tetraplets[0],s2: req.tetraplets[1],i: req.tetraplets[2] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.member4(req.args[0], req.args[1], req.args[2], callParams) - - } - - - - if (req.fnName === 'member5') { - - const callParams = { - ...req.particleContext, - tetraplets: { - s1: req.tetraplets[0],s2: req.tetraplets[1],i: req.tetraplets[2] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.member5(req.args[0], req.args[1], req.args[2], callParams) - - } - - - next(); - }); - } - + next(); + }); +} // Functions - export function f1(callback: (arg0: string, arg1: number, callParams: CallParams<'arg0' | 'arg1'>) => void, config?: {ttl?: number}) : Promise; - export function f1(peer: FluencePeer, callback: (arg0: string, arg1: number, callParams: CallParams<'arg0' | 'arg1'>) => void, config?: {ttl?: number}) : Promise; - export function f1(...args: any) { - let peer: FluencePeer; - let callback: any; - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - callback = args[1]; -config = args[2]; - } else { - peer = FluencePeer.default; - callback = args[0]; -config = args[1]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` +export function f1( + callback: (arg0: string, arg1: number, callParams: CallParams<'arg0' | 'arg1'>) => void, + config?: { ttl?: number }, +): Promise; +export function f1( + peer: FluencePeer, + callback: (arg0: string, arg1: number, callParams: CallParams<'arg0' | 'arg1'>) => void, + config?: { ttl?: number }, +): Promise; +export function f1(...args: any) { + let peer: FluencePeer; + let callback: any; + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + callback = args[1]; + config = args[2]; + } else { + peer = Fluence.getPeer(); + callback = args[0]; + config = args[1]; + } + + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) @@ -292,31 +295,29 @@ config = args[1]; ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; }); - - h.use((req, resp, next) => { - if(req.serviceId === 'callbackSrv' && req.fnName === 'callback') { - - const callParams = { - ...req.particleContext, - tetraplets: { - arg0: req.tetraplets[0],arg1: req.tetraplets[1] - }, - }; - resp.retCode = ResultCodes.success; - callback(req.args[0], req.args[1], callParams); resp.result = {} - } - next(); - }); - - h.onEvent('callbackSrv', 'response', (args) => { - -}); + h.use((req, resp, next) => { + if (req.serviceId === 'callbackSrv' && req.fnName === 'callback') { + const callParams = { + ...req.particleContext, + tetraplets: { + arg0: req.tetraplets[0], + arg1: req.tetraplets[1], + }, + }; + resp.retCode = ResultCodes.success; + callback(req.args[0], req.args[1], callParams); + resp.result = {}; + } + next(); + }); + + h.onEvent('callbackSrv', 'response', (args) => {}); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -326,43 +327,50 @@ config = args[1]; .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for f1'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return Promise.race([promise, Promise.resolve()]); } - +export function f2( + num: number, + callback: (arg0: string, arg1: number, callParams: CallParams<'arg0' | 'arg1'>) => void, + config?: { ttl?: number }, +): Promise; +export function f2( + peer: FluencePeer, + num: number, + callback: (arg0: string, arg1: number, callParams: CallParams<'arg0' | 'arg1'>) => void, + config?: { ttl?: number }, +): Promise; +export function f2(...args: any) { + let peer: FluencePeer; + let num: any; + let callback: any; + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + num = args[1]; + callback = args[2]; + config = args[3]; + } else { + peer = Fluence.getPeer(); + num = args[0]; + callback = args[1]; + config = args[2]; + } - export function f2(num: number, callback: (arg0: string, arg1: number, callParams: CallParams<'arg0' | 'arg1'>) => void, config?: {ttl?: number}) : Promise; - export function f2(peer: FluencePeer, num: number, callback: (arg0: string, arg1: number, callParams: CallParams<'arg0' | 'arg1'>) => void, config?: {ttl?: number}) : Promise; - export function f2(...args: any) { - let peer: FluencePeer; - let num: any; -let callback: any; - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - num = args[1]; -callback = args[2]; -config = args[3]; - } else { - peer = FluencePeer.default; - num = args[0]; -callback = args[1]; -config = args[2]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -378,32 +386,32 @@ config = args[2]; ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; + }); + h.on('getDataSrv', 'num', () => { + return num; }); - h.on('getDataSrv', 'num', () => {return num;}); - h.use((req, resp, next) => { - if(req.serviceId === 'callbackSrv' && req.fnName === 'callback') { - - const callParams = { - ...req.particleContext, - tetraplets: { - arg0: req.tetraplets[0],arg1: req.tetraplets[1] - }, - }; - resp.retCode = ResultCodes.success; - callback(req.args[0], req.args[1], callParams); resp.result = {} + h.use((req, resp, next) => { + if (req.serviceId === 'callbackSrv' && req.fnName === 'callback') { + const callParams = { + ...req.particleContext, + tetraplets: { + arg0: req.tetraplets[0], + arg1: req.tetraplets[1], + }, + }; + resp.retCode = ResultCodes.success; + callback(req.args[0], req.args[1], callParams); + resp.result = {}; + } + next(); + }); - } - next(); - }); - - h.onEvent('callbackSrv', 'response', (args) => { - -}); + h.onEvent('callbackSrv', 'response', (args) => {}); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -413,43 +421,50 @@ config = args[2]; .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for f2'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return Promise.race([promise, Promise.resolve()]); } - +export function f3( + num: number, + callback: (arg0: string, arg1: number, callParams: CallParams<'arg0' | 'arg1'>) => void, + config?: { ttl?: number }, +): Promise; +export function f3( + peer: FluencePeer, + num: number, + callback: (arg0: string, arg1: number, callParams: CallParams<'arg0' | 'arg1'>) => void, + config?: { ttl?: number }, +): Promise; +export function f3(...args: any) { + let peer: FluencePeer; + let num: any; + let callback: any; + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + num = args[1]; + callback = args[2]; + config = args[3]; + } else { + peer = Fluence.getPeer(); + num = args[0]; + callback = args[1]; + config = args[2]; + } - export function f3(num: number, callback: (arg0: string, arg1: number, callParams: CallParams<'arg0' | 'arg1'>) => void, config?: {ttl?: number}) : Promise; - export function f3(peer: FluencePeer, num: number, callback: (arg0: string, arg1: number, callParams: CallParams<'arg0' | 'arg1'>) => void, config?: {ttl?: number}) : Promise; - export function f3(...args: any) { - let peer: FluencePeer; - let num: any; -let callback: any; - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - num = args[1]; -callback = args[2]; -config = args[3]; - } else { - peer = FluencePeer.default; - num = args[0]; -callback = args[1]; -config = args[2]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -471,33 +486,35 @@ config = args[2]; ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; + }); + h.on('getDataSrv', 'num', () => { + return num; }); - h.on('getDataSrv', 'num', () => {return num;}); - h.use((req, resp, next) => { - if(req.serviceId === 'callbackSrv' && req.fnName === 'callback') { - - const callParams = { - ...req.particleContext, - tetraplets: { - arg0: req.tetraplets[0],arg1: req.tetraplets[1] - }, - }; - resp.retCode = ResultCodes.success; - callback(req.args[0], req.args[1], callParams); resp.result = {} + h.use((req, resp, next) => { + if (req.serviceId === 'callbackSrv' && req.fnName === 'callback') { + const callParams = { + ...req.particleContext, + tetraplets: { + arg0: req.tetraplets[0], + arg1: req.tetraplets[1], + }, + }; + resp.retCode = ResultCodes.success; + callback(req.args[0], req.args[1], callParams); + resp.result = {}; + } + next(); + }); - } - next(); - }); - h.onEvent('callbackSrv', 'response', (args) => { - const [res] = args; - resolve(res); -}); + const [res] = args; + resolve(res); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -507,40 +524,45 @@ config = args[2]; .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for f3'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - +export function callBackZeroArgs( + callback: (callParams: CallParams) => void, + config?: { ttl?: number }, +): Promise; +export function callBackZeroArgs( + peer: FluencePeer, + callback: (callParams: CallParams) => void, + config?: { ttl?: number }, +): Promise; +export function callBackZeroArgs(...args: any) { + let peer: FluencePeer; + let callback: any; + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + callback = args[1]; + config = args[2]; + } else { + peer = Fluence.getPeer(); + callback = args[0]; + config = args[1]; + } - export function callBackZeroArgs(callback: (callParams: CallParams) => void, config?: {ttl?: number}) : Promise; - export function callBackZeroArgs(peer: FluencePeer, callback: (callParams: CallParams) => void, config?: {ttl?: number}) : Promise; - export function callBackZeroArgs(...args: any) { - let peer: FluencePeer; - let callback: any; - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - callback = args[1]; -config = args[2]; - } else { - peer = FluencePeer.default; - callback = args[0]; -config = args[1]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) @@ -553,31 +575,26 @@ config = args[1]; ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; }); - - h.use((req, resp, next) => { - if(req.serviceId === 'callbackSrv' && req.fnName === 'callback') { - - const callParams = { - ...req.particleContext, - tetraplets: { - - }, - }; - resp.retCode = ResultCodes.success; - callback(callParams); resp.result = {} - } - next(); - }); - - h.onEvent('callbackSrv', 'response', (args) => { - -}); + h.use((req, resp, next) => { + if (req.serviceId === 'callbackSrv' && req.fnName === 'callback') { + const callParams = { + ...req.particleContext, + tetraplets: {}, + }; + resp.retCode = ResultCodes.success; + callback(callParams); + resp.result = {}; + } + next(); + }); + + h.onEvent('callbackSrv', 'response', (args) => {}); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -587,13 +604,12 @@ config = args[1]; .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for callBackZeroArgs'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return Promise.race([promise, Promise.resolve()]); } - diff --git a/src/compiled/examples/new-api.ts b/src/compiled/examples/new-api.ts index 0ecec7c..8f8e94b 100644 --- a/src/compiled/examples/new-api.ts +++ b/src/compiled/examples/new-api.ts @@ -1,12 +1,12 @@ /** * * 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 * Aqua version: 0.3.0-SNAPSHOT * */ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { ResultCodes, RequestFlow, @@ -14,38 +14,41 @@ import { CallParams, } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; - // Services - export interface HelloWorldDef { - getNumber: (callParams: CallParams) => number; -sayHello: (s: string, callParams: CallParams<'s'>) => void; - } +export interface HelloWorldDef { + getNumber: (callParams: CallParams) => number; + sayHello: (s: string, callParams: CallParams<'s'>) => void; +} - export function registerHelloWorld(service: HelloWorldDef): 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: any) { +export function registerHelloWorld(...args: any) { let peer: FluencePeer; let serviceId: any; let service: any; - if (args[0] instanceof FluencePeer) { + if (FluencePeer.isInstance(args[0])) { peer = args[0]; } else { - peer = FluencePeer.default; + peer = Fluence.getPeer(); } if (typeof args[0] === 'string') { serviceId = args[0]; } else if (typeof args[1] === 'string') { serviceId = args[1]; - } - else { - serviceId = "default" -} + } else { + serviceId = 'default'; + } - if (!(args[0] instanceof FluencePeer) && typeof args[0] === 'object') { + // Figuring out which overload is the service. + // If the first argument is not Fluence Peer and it is an object, then it can only be the service def + // If the first argument is peer, we are checking further. The second argument might either be + // an object, that it must be the service object + // or a string, which is the service id. In that case the service is the third argument + if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { service = args[0]; } else if (typeof args[1] === 'object') { service = args[1]; @@ -53,71 +56,68 @@ export function registerHelloWorld(peer: FluencePeer, serviceId: string, service service = args[2]; } - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'getNumber') { - - const callParams = { - ...req.particleContext, - tetraplets: { - - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.getNumber(callParams) + peer.internals.callServiceHandler.use((req, resp, next) => { + if (req.serviceId !== serviceId) { + next(); + return; + } - } - + if (req.fnName === 'getNumber') { + const callParams = { + ...req.particleContext, + tetraplets: {}, + }; + resp.retCode = ResultCodes.success; + resp.result = service.getNumber(callParams); + } + if (req.fnName === 'sayHello') { + const callParams = { + ...req.particleContext, + tetraplets: { + s: req.tetraplets[0], + }, + }; + resp.retCode = ResultCodes.success; + service.sayHello(req.args[0], callParams); + resp.result = {}; + } - if (req.fnName === 'sayHello') { - - const callParams = { - ...req.particleContext, - tetraplets: { - s: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - service.sayHello(req.args[0], callParams); resp.result = {} - - } - - - next(); - }); - } - + next(); + }); +} // Functions - export function callMeBack(callback: (arg0: string, arg1: number, callParams: CallParams<'arg0' | 'arg1'>) => void, config?: {ttl?: number}) : Promise; - export function callMeBack(peer: FluencePeer, callback: (arg0: string, arg1: number, callParams: CallParams<'arg0' | 'arg1'>) => void, config?: {ttl?: number}) : Promise; - export function callMeBack(...args: any) { - let peer: FluencePeer; - let callback: any; - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - callback = args[1]; -config = args[2]; - } else { - peer = FluencePeer.default; - callback = args[0]; -config = args[1]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` +export function callMeBack( + callback: (arg0: string, arg1: number, callParams: CallParams<'arg0' | 'arg1'>) => void, + config?: { ttl?: number }, +): Promise; +export function callMeBack( + peer: FluencePeer, + callback: (arg0: string, arg1: number, callParams: CallParams<'arg0' | 'arg1'>) => void, + config?: { ttl?: number }, +): Promise; +export function callMeBack(...args: any) { + let peer: FluencePeer; + let callback: any; + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + callback = args[1]; + config = args[2]; + } else { + peer = Fluence.getPeer(); + callback = args[0]; + config = args[1]; + } + + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) @@ -130,31 +130,29 @@ config = args[1]; ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; }); - - h.use((req, resp, next) => { - if(req.serviceId === 'callbackSrv' && req.fnName === 'callback') { - - const callParams = { - ...req.particleContext, - tetraplets: { - arg0: req.tetraplets[0],arg1: req.tetraplets[1] - }, - }; - resp.retCode = ResultCodes.success; - callback(req.args[0], req.args[1], callParams); resp.result = {} - } - next(); - }); - - h.onEvent('callbackSrv', 'response', (args) => { - -}); + h.use((req, resp, next) => { + if (req.serviceId === 'callbackSrv' && req.fnName === 'callback') { + const callParams = { + ...req.particleContext, + tetraplets: { + arg0: req.tetraplets[0], + arg1: req.tetraplets[1], + }, + }; + resp.retCode = ResultCodes.success; + callback(req.args[0], req.args[1], callParams); + resp.result = {}; + } + next(); + }); + + h.onEvent('callbackSrv', 'response', (args) => {}); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -164,13 +162,12 @@ config = args[1]; .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for callMeBack'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return Promise.race([promise, Promise.resolve()]); } - diff --git a/src/compiled/examples/on.ts b/src/compiled/examples/on.ts index fd6cd80..6bbc4a9 100644 --- a/src/compiled/examples/on.ts +++ b/src/compiled/examples/on.ts @@ -1,12 +1,12 @@ /** * * 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 * Aqua version: 0.3.0-SNAPSHOT * */ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { ResultCodes, RequestFlow, @@ -14,34 +14,36 @@ import { CallParams, } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; - // Services - // Functions - export function getPeerExternalAddresses(otherNodePeerId: string, config?: {ttl?: number}) : Promise; - export function getPeerExternalAddresses(peer: FluencePeer, otherNodePeerId: string, config?: {ttl?: number}) : Promise; - export function getPeerExternalAddresses(...args: any) { - let peer: FluencePeer; - let otherNodePeerId: any; - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - otherNodePeerId = args[1]; -config = args[2]; - } else { - peer = FluencePeer.default; - otherNodePeerId = args[0]; -config = args[1]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` +export function getPeerExternalAddresses(otherNodePeerId: string, config?: { ttl?: number }): Promise; +export function getPeerExternalAddresses( + peer: FluencePeer, + otherNodePeerId: string, + config?: { ttl?: number }, +): Promise; +export function getPeerExternalAddresses(...args: any) { + let peer: FluencePeer; + let otherNodePeerId: any; + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + otherNodePeerId = args[1]; + config = args[2]; + } else { + peer = Fluence.getPeer(); + otherNodePeerId = args[0]; + config = args[1]; + } + + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -72,16 +74,18 @@ config = args[1]; ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; + }); + h.on('getDataSrv', 'otherNodePeerId', () => { + return otherNodePeerId; }); - h.on('getDataSrv', 'otherNodePeerId', () => {return otherNodePeerId;}); h.onEvent('callbackSrv', 'response', (args) => { - const [res] = args; - resolve(res); -}); + const [res] = args; + resolve(res); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -91,43 +95,46 @@ config = args[1]; .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for getPeerExternalAddresses'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - +export function getDistantAddresses(target: string, viaNode: string, config?: { ttl?: number }): Promise; +export function getDistantAddresses( + peer: FluencePeer, + target: string, + viaNode: string, + config?: { ttl?: number }, +): Promise; +export function getDistantAddresses(...args: any) { + let peer: FluencePeer; + let target: any; + let viaNode: any; + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + target = args[1]; + viaNode = args[2]; + config = args[3]; + } else { + peer = Fluence.getPeer(); + target = args[0]; + viaNode = args[1]; + config = args[2]; + } - export function getDistantAddresses(target: string, viaNode: string, config?: {ttl?: number}) : Promise; - export function getDistantAddresses(peer: FluencePeer, target: string, viaNode: string, config?: {ttl?: number}) : Promise; - export function getDistantAddresses(...args: any) { - let peer: FluencePeer; - let target: any; -let viaNode: any; - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - target = args[1]; -viaNode = args[2]; -config = args[3]; - } else { - peer = FluencePeer.default; - target = args[0]; -viaNode = args[1]; -config = args[2]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -173,17 +180,21 @@ config = args[2]; ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; + }); + h.on('getDataSrv', 'target', () => { + return target; + }); + h.on('getDataSrv', 'viaNode', () => { + return viaNode; }); - h.on('getDataSrv', 'target', () => {return target;}); -h.on('getDataSrv', 'viaNode', () => {return viaNode;}); h.onEvent('callbackSrv', 'response', (args) => { - const [res] = args; - resolve(res); -}); + const [res] = args; + resolve(res); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -193,13 +204,12 @@ h.on('getDataSrv', 'viaNode', () => {return viaNode;}); .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for getDistantAddresses'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - diff --git a/src/compiled/examples/option.ts b/src/compiled/examples/option.ts index bd17ffd..c05c80a 100644 --- a/src/compiled/examples/option.ts +++ b/src/compiled/examples/option.ts @@ -1,12 +1,12 @@ /** * * 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 * Aqua version: 0.3.0-SNAPSHOT * */ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { ResultCodes, RequestFlow, @@ -14,39 +14,42 @@ import { CallParams, } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; - // Services - export interface SomeSDef { - getStr: (arg0: string | null, callParams: CallParams<'arg0'>) => string | null; -getStr1: (callParams: CallParams) => string | null; -getStr2: (arg0: string, callParams: CallParams<'arg0'>) => string; - } +export interface SomeSDef { + getStr: (arg0: string | null, callParams: CallParams<'arg0'>) => string | null; + getStr1: (callParams: CallParams) => string | null; + getStr2: (arg0: string, callParams: CallParams<'arg0'>) => string; +} - export function registerSomeS(service: SomeSDef): void; +export function registerSomeS(service: SomeSDef): void; export function registerSomeS(serviceId: string, service: SomeSDef): void; export function registerSomeS(peer: FluencePeer, service: SomeSDef): void; export function registerSomeS(peer: FluencePeer, serviceId: string, service: SomeSDef): void; - export function registerSomeS(...args: any) { +export function registerSomeS(...args: any) { let peer: FluencePeer; let serviceId: any; let service: any; - if (args[0] instanceof FluencePeer) { + if (FluencePeer.isInstance(args[0])) { peer = args[0]; } else { - peer = FluencePeer.default; + peer = Fluence.getPeer(); } if (typeof args[0] === 'string') { serviceId = args[0]; } else if (typeof args[1] === 'string') { serviceId = args[1]; - } - else { - serviceId = "test2" -} + } else { + serviceId = 'test2'; + } - if (!(args[0] instanceof FluencePeer) && typeof args[0] === 'object') { + // Figuring out which overload is the service. + // If the first argument is not Fluence Peer and it is an object, then it can only be the service def + // If the first argument is peer, we are checking further. The second argument might either be + // an object, that it must be the service object + // or a string, which is the service id. In that case the service is the third argument + if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { service = args[0]; } else if (typeof args[1] === 'object') { service = args[1]; @@ -54,92 +57,75 @@ export function registerSomeS(peer: FluencePeer, serviceId: string, service: Som service = args[2]; } - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'getStr') { - - const callParams = { - ...req.particleContext, - tetraplets: { - arg0: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - - var respResult = service.getStr(req.args[0].length === 0 ? null : req.args[0][0], callParams); - resp.result = respResult === null ? [] : [respResult] + peer.internals.callServiceHandler.use((req, resp, next) => { + if (req.serviceId !== serviceId) { + next(); + return; + } + if (req.fnName === 'getStr') { + const callParams = { + ...req.particleContext, + tetraplets: { + arg0: req.tetraplets[0], + }, + }; + resp.retCode = ResultCodes.success; - } - + var respResult = service.getStr(req.args[0].length === 0 ? null : req.args[0][0], callParams); + resp.result = respResult === null ? [] : [respResult]; + } + if (req.fnName === 'getStr1') { + const callParams = { + ...req.particleContext, + tetraplets: {}, + }; + resp.retCode = ResultCodes.success; - if (req.fnName === 'getStr1') { - - const callParams = { - ...req.particleContext, - tetraplets: { - - }, - }; - resp.retCode = ResultCodes.success; - - var respResult = service.getStr1(callParams); - resp.result = respResult === null ? [] : [respResult] + var respResult = service.getStr1(callParams); + resp.result = respResult === null ? [] : [respResult]; + } + if (req.fnName === 'getStr2') { + const callParams = { + ...req.particleContext, + tetraplets: { + arg0: req.tetraplets[0], + }, + }; + resp.retCode = ResultCodes.success; + resp.result = service.getStr2(req.args[0], callParams); + } - } - - - - if (req.fnName === 'getStr2') { - - const callParams = { - ...req.particleContext, - tetraplets: { - arg0: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.getStr2(req.args[0], callParams) - - } - - - next(); - }); - } - + next(); + }); +} // Functions - export function useOptional(opt: string | null, config?: {ttl?: number}) : Promise; - export function useOptional(peer: FluencePeer, opt: string | null, config?: {ttl?: number}) : Promise; - export function useOptional(...args: any) { - let peer: FluencePeer; - let opt: any; - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - opt = args[1]; -config = args[2]; - } else { - peer = FluencePeer.default; - opt = args[0]; -config = args[1]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` +export function useOptional(opt: string | null, config?: { ttl?: number }): Promise; +export function useOptional(peer: FluencePeer, opt: string | null, config?: { ttl?: number }): Promise; +export function useOptional(...args: any) { + let peer: FluencePeer; + let opt: any; + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + opt = args[1]; + config = args[2]; + } else { + peer = Fluence.getPeer(); + opt = args[0]; + config = args[1]; + } + + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -166,16 +152,18 @@ config = args[1]; ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; + }); + h.on('getDataSrv', 'opt', () => { + return opt === null ? [] : [opt]; }); - h.on('getDataSrv', 'opt', () => {return opt === null ? [] : [opt];}); h.onEvent('callbackSrv', 'response', (args) => { - const [res] = args; - resolve(res); -}); + const [res] = args; + resolve(res); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -185,38 +173,36 @@ config = args[1]; .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for useOptional'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - +export function returnOptional(config?: { ttl?: number }): Promise; +export function returnOptional(peer: FluencePeer, config?: { ttl?: number }): Promise; +export function returnOptional(...args: any) { + let peer: FluencePeer; - export function returnOptional(config?: {ttl?: number}) : Promise; - export function returnOptional(peer: FluencePeer, config?: {ttl?: number}) : Promise; - export function returnOptional(...args: any) { - let peer: FluencePeer; - - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - config = args[1]; - } else { - peer = FluencePeer.default; - config = args[0]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + config = args[1]; + } else { + peer = Fluence.getPeer(); + config = args[0]; + } + + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -232,20 +218,22 @@ config = args[1]; ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; }); - + h.onEvent('callbackSrv', 'response', (args) => { - let [opt] = args; - if (Array.isArray(opt)) { - if (opt.length === 0) { resolve(null); } - opt = opt[0]; - } - return resolve(opt); -}); + let [opt] = args; + if (Array.isArray(opt)) { + if (opt.length === 0) { + resolve(null); + } + opt = opt[0]; + } + return resolve(opt); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -255,38 +243,36 @@ config = args[1]; .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for returnOptional'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - +export function returnNone(config?: { ttl?: number }): Promise; +export function returnNone(peer: FluencePeer, config?: { ttl?: number }): Promise; +export function returnNone(...args: any) { + let peer: FluencePeer; - export function returnNone(config?: {ttl?: number}) : Promise; - export function returnNone(peer: FluencePeer, config?: {ttl?: number}) : Promise; - export function returnNone(...args: any) { - let peer: FluencePeer; - - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - config = args[1]; - } else { - peer = FluencePeer.default; - config = args[0]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + config = args[1]; + } else { + peer = Fluence.getPeer(); + config = args[0]; + } + + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -302,20 +288,22 @@ config = args[1]; ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; }); - + h.onEvent('callbackSrv', 'response', (args) => { - let [opt] = args; - if (Array.isArray(opt)) { - if (opt.length === 0) { resolve(null); } - opt = opt[0]; - } - return resolve(opt); -}); + let [opt] = args; + if (Array.isArray(opt)) { + if (opt.length === 0) { + resolve(null); + } + opt = opt[0]; + } + return resolve(opt); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -325,13 +313,12 @@ config = args[1]; .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for returnNone'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - diff --git a/src/compiled/examples/options/option_gen.ts b/src/compiled/examples/options/option_gen.ts index ee3638d..b265b4f 100644 --- a/src/compiled/examples/options/option_gen.ts +++ b/src/compiled/examples/options/option_gen.ts @@ -1,12 +1,12 @@ /** * * 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 * Aqua version: 0.3.0-SNAPSHOT * */ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { ResultCodes, RequestFlow, @@ -14,37 +14,40 @@ import { CallParams, } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; - // Services - export interface OptionStringDef { - checkOption: (str: string | null, callParams: CallParams<'str'>) => string; - } +export interface OptionStringDef { + checkOption: (str: string | null, callParams: CallParams<'str'>) => string; +} - export function registerOptionString(service: OptionStringDef): void; +export function registerOptionString(service: OptionStringDef): void; export function registerOptionString(serviceId: string, service: OptionStringDef): void; export function registerOptionString(peer: FluencePeer, service: OptionStringDef): void; export function registerOptionString(peer: FluencePeer, serviceId: string, service: OptionStringDef): void; - export function registerOptionString(...args: any) { +export function registerOptionString(...args: any) { let peer: FluencePeer; let serviceId: any; let service: any; - if (args[0] instanceof FluencePeer) { + if (FluencePeer.isInstance(args[0])) { peer = args[0]; } else { - peer = FluencePeer.default; + peer = Fluence.getPeer(); } if (typeof args[0] === 'string') { serviceId = args[0]; } else if (typeof args[1] === 'string') { serviceId = args[1]; - } - else { - serviceId = "opt_str" -} + } else { + serviceId = 'opt_str'; + } - if (!(args[0] instanceof FluencePeer) && typeof args[0] === 'object') { + // Figuring out which overload is the service. + // If the first argument is not Fluence Peer and it is an object, then it can only be the service def + // If the first argument is peer, we are checking further. The second argument might either be + // an object, that it must be the service object + // or a string, which is the service id. In that case the service is the third argument + if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { service = args[0]; } else if (typeof args[1] === 'object') { service = args[1]; @@ -52,54 +55,49 @@ export function registerOptionString(peer: FluencePeer, serviceId: string, servi service = args[2]; } - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'checkOption') { - - const callParams = { - ...req.particleContext, - tetraplets: { - str: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.checkOption(req.args[0].length === 0 ? null : req.args[0][0], callParams) + peer.internals.callServiceHandler.use((req, resp, next) => { + if (req.serviceId !== serviceId) { + next(); + return; + } - } - - - next(); - }); - } - + if (req.fnName === 'checkOption') { + const callParams = { + ...req.particleContext, + tetraplets: { + str: req.tetraplets[0], + }, + }; + resp.retCode = ResultCodes.success; + resp.result = service.checkOption(req.args[0].length === 0 ? null : req.args[0][0], callParams); + } + + next(); + }); +} // Functions - export function emptyString(config?: {ttl?: number}) : Promise; - export function emptyString(peer: FluencePeer, config?: {ttl?: number}) : Promise; - export function emptyString(...args: any) { - let peer: FluencePeer; - - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - config = args[1]; - } else { - peer = FluencePeer.default; - config = args[0]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` +export function emptyString(config?: { ttl?: number }): Promise; +export function emptyString(peer: FluencePeer, config?: { ttl?: number }): Promise; +export function emptyString(...args: any) { + let peer: FluencePeer; + + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + config = args[1]; + } else { + peer = Fluence.getPeer(); + config = args[0]; + } + + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) @@ -112,20 +110,22 @@ export function registerOptionString(peer: FluencePeer, serviceId: string, servi ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; }); - + h.onEvent('callbackSrv', 'response', (args) => { - let [opt] = args; - if (Array.isArray(opt)) { - if (opt.length === 0) { resolve(null); } - opt = opt[0]; - } - return resolve(opt); -}); + let [opt] = args; + if (Array.isArray(opt)) { + if (opt.length === 0) { + resolve(null); + } + opt = opt[0]; + } + return resolve(opt); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -135,38 +135,36 @@ export function registerOptionString(peer: FluencePeer, serviceId: string, servi .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for emptyString'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - +export function checkEmpty(config?: { ttl?: number }): Promise; +export function checkEmpty(peer: FluencePeer, config?: { ttl?: number }): Promise; +export function checkEmpty(...args: any) { + let peer: FluencePeer; - export function checkEmpty(config?: {ttl?: number}) : Promise; - export function checkEmpty(peer: FluencePeer, config?: {ttl?: number}) : Promise; - export function checkEmpty(...args: any) { - let peer: FluencePeer; - - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - config = args[1]; - } else { - peer = FluencePeer.default; - config = args[0]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + config = args[1]; + } else { + peer = Fluence.getPeer(); + config = args[0]; + } + + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -182,16 +180,16 @@ export function registerOptionString(peer: FluencePeer, serviceId: string, servi ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; }); - + h.onEvent('callbackSrv', 'response', (args) => { - const [res] = args; - resolve(res); -}); + const [res] = args; + resolve(res); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -201,40 +199,38 @@ export function registerOptionString(peer: FluencePeer, serviceId: string, servi .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for checkEmpty'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - +export function stringAsOption(str: string, config?: { ttl?: number }): Promise; +export function stringAsOption(peer: FluencePeer, str: string, config?: { ttl?: number }): Promise; +export function stringAsOption(...args: any) { + let peer: FluencePeer; + let str: any; + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + str = args[1]; + config = args[2]; + } else { + peer = Fluence.getPeer(); + str = args[0]; + config = args[1]; + } - export function stringAsOption(str: string, config?: {ttl?: number}) : Promise; - export function stringAsOption(peer: FluencePeer, str: string, config?: {ttl?: number}) : Promise; - export function stringAsOption(...args: any) { - let peer: FluencePeer; - let str: any; - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - str = args[1]; -config = args[2]; - } else { - peer = FluencePeer.default; - str = args[0]; -config = args[1]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -253,20 +249,24 @@ config = args[1]; ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; + }); + h.on('getDataSrv', 'str', () => { + return str; }); - h.on('getDataSrv', 'str', () => {return str;}); h.onEvent('callbackSrv', 'response', (args) => { - let [opt] = args; - if (Array.isArray(opt)) { - if (opt.length === 0) { resolve(null); } - opt = opt[0]; - } - return resolve(opt); -}); + let [opt] = args; + if (Array.isArray(opt)) { + if (opt.length === 0) { + resolve(null); + } + opt = opt[0]; + } + return resolve(opt); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -276,40 +276,38 @@ config = args[1]; .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for stringAsOption'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - +export function checkNoneEmpty(str: string, config?: { ttl?: number }): Promise; +export function checkNoneEmpty(peer: FluencePeer, str: string, config?: { ttl?: number }): Promise; +export function checkNoneEmpty(...args: any) { + let peer: FluencePeer; + let str: any; + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + str = args[1]; + config = args[2]; + } else { + peer = Fluence.getPeer(); + str = args[0]; + config = args[1]; + } - export function checkNoneEmpty(str: string, config?: {ttl?: number}) : Promise; - export function checkNoneEmpty(peer: FluencePeer, str: string, config?: {ttl?: number}) : Promise; - export function checkNoneEmpty(...args: any) { - let peer: FluencePeer; - let str: any; - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - str = args[1]; -config = args[2]; - } else { - peer = FluencePeer.default; - str = args[0]; -config = args[1]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -331,16 +329,18 @@ config = args[1]; ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; + }); + h.on('getDataSrv', 'str', () => { + return str; }); - h.on('getDataSrv', 'str', () => {return str;}); h.onEvent('callbackSrv', 'response', (args) => { - const [res] = args; - resolve(res); -}); + const [res] = args; + resolve(res); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -350,13 +350,12 @@ config = args[1]; .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for checkNoneEmpty'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - diff --git a/src/compiled/examples/par.ts b/src/compiled/examples/par.ts index 7f3d732..b414c67 100644 --- a/src/compiled/examples/par.ts +++ b/src/compiled/examples/par.ts @@ -1,12 +1,12 @@ /** * * 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 * Aqua version: 0.3.0-SNAPSHOT * */ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { ResultCodes, RequestFlow, @@ -14,37 +14,40 @@ import { CallParams, } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; - // Services - export interface ParServiceDef { - call: (callParams: CallParams) => string; - } +export interface ParServiceDef { + call: (callParams: CallParams) => string; +} - export function registerParService(service: ParServiceDef): void; +export function registerParService(service: ParServiceDef): void; export function registerParService(serviceId: string, service: ParServiceDef): void; export function registerParService(peer: FluencePeer, service: ParServiceDef): void; export function registerParService(peer: FluencePeer, serviceId: string, service: ParServiceDef): void; - export function registerParService(...args: any) { +export function registerParService(...args: any) { let peer: FluencePeer; let serviceId: any; let service: any; - if (args[0] instanceof FluencePeer) { + if (FluencePeer.isInstance(args[0])) { peer = args[0]; } else { - peer = FluencePeer.default; + peer = Fluence.getPeer(); } if (typeof args[0] === 'string') { serviceId = args[0]; } else if (typeof args[1] === 'string') { serviceId = args[1]; - } - else { - serviceId = "parservice-id" -} + } else { + serviceId = 'parservice-id'; + } - if (!(args[0] instanceof FluencePeer) && typeof args[0] === 'object') { + // Figuring out which overload is the service. + // If the first argument is not Fluence Peer and it is an object, then it can only be the service def + // If the first argument is peer, we are checking further. The second argument might either be + // an object, that it must be the service object + // or a string, which is the service id. In that case the service is the third argument + if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { service = args[0]; } else if (typeof args[1] === 'object') { service = args[1]; @@ -52,59 +55,61 @@ export function registerParService(peer: FluencePeer, serviceId: string, service service = args[2]; } - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'call') { - - const callParams = { - ...req.particleContext, - tetraplets: { - - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.call(callParams) + peer.internals.callServiceHandler.use((req, resp, next) => { + if (req.serviceId !== serviceId) { + next(); + return; + } - } - - - next(); - }); - } - + if (req.fnName === 'call') { + const callParams = { + ...req.particleContext, + tetraplets: {}, + }; + resp.retCode = ResultCodes.success; + resp.result = service.call(callParams); + } + + next(); + }); +} // Functions - export function parFunc(node: string, c: (arg0: {external_addresses:string[]}, callParams: CallParams<'arg0'>) => void, config?: {ttl?: number}) : Promise; - export function parFunc(peer: FluencePeer, node: string, c: (arg0: {external_addresses:string[]}, callParams: CallParams<'arg0'>) => void, config?: {ttl?: number}) : Promise; - export function parFunc(...args: any) { - let peer: FluencePeer; - let node: any; -let c: any; - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - node = args[1]; -c = args[2]; -config = args[3]; - } else { - peer = FluencePeer.default; - node = args[0]; -c = args[1]; -config = args[2]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` +export function parFunc( + node: string, + c: (arg0: { external_addresses: string[] }, callParams: CallParams<'arg0'>) => void, + config?: { ttl?: number }, +): Promise; +export function parFunc( + peer: FluencePeer, + node: string, + c: (arg0: { external_addresses: string[] }, callParams: CallParams<'arg0'>) => void, + config?: { ttl?: number }, +): Promise; +export function parFunc(...args: any) { + let peer: FluencePeer; + let node: any; + let c: any; + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + node = args[1]; + c = args[2]; + config = args[3]; + } else { + peer = Fluence.getPeer(); + node = args[0]; + c = args[1]; + config = args[2]; + } + + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -138,32 +143,31 @@ config = args[2]; ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; + }); + h.on('getDataSrv', 'node', () => { + return node; }); - h.on('getDataSrv', 'node', () => {return node;}); - h.use((req, resp, next) => { - if(req.serviceId === 'callbackSrv' && req.fnName === 'c') { - - const callParams = { - ...req.particleContext, - tetraplets: { - arg0: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - c(req.args[0], callParams); resp.result = {} + h.use((req, resp, next) => { + if (req.serviceId === 'callbackSrv' && req.fnName === 'c') { + const callParams = { + ...req.particleContext, + tetraplets: { + arg0: req.tetraplets[0], + }, + }; + resp.retCode = ResultCodes.success; + c(req.args[0], callParams); + resp.result = {}; + } + next(); + }); - } - next(); - }); - - h.onEvent('callbackSrv', 'response', (args) => { - -}); + h.onEvent('callbackSrv', 'response', (args) => {}); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -173,13 +177,12 @@ config = args[2]; .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for parFunc'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return Promise.race([promise, Promise.resolve()]); } - diff --git a/src/compiled/examples/passArgs.ts b/src/compiled/examples/passArgs.ts index a5d3c45..4f4d4c2 100644 --- a/src/compiled/examples/passArgs.ts +++ b/src/compiled/examples/passArgs.ts @@ -1,12 +1,12 @@ /** * * 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 * Aqua version: 0.3.0-SNAPSHOT * */ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { ResultCodes, RequestFlow, @@ -14,37 +14,45 @@ import { CallParams, } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; - // Services - export interface AquaDHTDef { - put_host_value: (key: string, value: string, service_id: string[], callParams: CallParams<'key' | 'value' | 'service_id'>) => string; - } +export interface AquaDHTDef { + put_host_value: ( + key: string, + value: string, + service_id: string[], + callParams: CallParams<'key' | 'value' | 'service_id'>, + ) => string; +} - export function registerAquaDHT(service: AquaDHTDef): void; +export function registerAquaDHT(service: AquaDHTDef): void; export function registerAquaDHT(serviceId: string, service: AquaDHTDef): void; export function registerAquaDHT(peer: FluencePeer, service: AquaDHTDef): void; export function registerAquaDHT(peer: FluencePeer, serviceId: string, service: AquaDHTDef): void; - export function registerAquaDHT(...args: any) { +export function registerAquaDHT(...args: any) { let peer: FluencePeer; let serviceId: any; let service: any; - if (args[0] instanceof FluencePeer) { + if (FluencePeer.isInstance(args[0])) { peer = args[0]; } else { - peer = FluencePeer.default; + peer = Fluence.getPeer(); } if (typeof args[0] === 'string') { serviceId = args[0]; } else if (typeof args[1] === 'string') { serviceId = args[1]; - } - else { - serviceId = "test-dht" -} + } else { + serviceId = 'test-dht'; + } - if (!(args[0] instanceof FluencePeer) && typeof args[0] === 'object') { + // Figuring out which overload is the service. + // If the first argument is not Fluence Peer and it is an object, then it can only be the service def + // If the first argument is peer, we are checking further. The second argument might either be + // an object, that it must be the service object + // or a string, which is the service id. In that case the service is the third argument + if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { service = args[0]; } else if (typeof args[1] === 'object') { service = args[1]; @@ -52,62 +60,70 @@ export function registerAquaDHT(peer: FluencePeer, serviceId: string, service: A service = args[2]; } - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'put_host_value') { - - const callParams = { - ...req.particleContext, - tetraplets: { - key: req.tetraplets[0],value: req.tetraplets[1],service_id: req.tetraplets[2] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.put_host_value(req.args[0], req.args[1], req.args[2], callParams) + peer.internals.callServiceHandler.use((req, resp, next) => { + if (req.serviceId !== serviceId) { + next(); + return; + } - } - - - next(); - }); - } - + if (req.fnName === 'put_host_value') { + const callParams = { + ...req.particleContext, + tetraplets: { + key: req.tetraplets[0], + value: req.tetraplets[1], + service_id: req.tetraplets[2], + }, + }; + resp.retCode = ResultCodes.success; + resp.result = service.put_host_value(req.args[0], req.args[1], req.args[2], callParams); + } + + next(); + }); +} // Functions - export function putHostValue(key: string, value: string, service_id: string | null, config?: {ttl?: number}) : Promise; - export function putHostValue(peer: FluencePeer, key: string, value: string, service_id: string | null, config?: {ttl?: number}) : Promise; - export function putHostValue(...args: any) { - let peer: FluencePeer; - let key: any; -let value: any; -let service_id: any; - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - key = args[1]; -value = args[2]; -service_id = args[3]; -config = args[4]; - } else { - peer = FluencePeer.default; - key = args[0]; -value = args[1]; -service_id = args[2]; -config = args[3]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` +export function putHostValue( + key: string, + value: string, + service_id: string | null, + config?: { ttl?: number }, +): Promise; +export function putHostValue( + peer: FluencePeer, + key: string, + value: string, + service_id: string | null, + config?: { ttl?: number }, +): Promise; +export function putHostValue(...args: any) { + let peer: FluencePeer; + let key: any; + let value: any; + let service_id: any; + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + key = args[1]; + value = args[2]; + service_id = args[3]; + config = args[4]; + } else { + peer = Fluence.getPeer(); + key = args[0]; + value = args[1]; + service_id = args[2]; + config = args[3]; + } + + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -132,18 +148,24 @@ config = args[3]; ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; + }); + h.on('getDataSrv', 'key', () => { + return key; + }); + h.on('getDataSrv', 'value', () => { + return value; + }); + h.on('getDataSrv', 'service_id', () => { + return service_id === null ? [] : [service_id]; }); - h.on('getDataSrv', 'key', () => {return key;}); -h.on('getDataSrv', 'value', () => {return value;}); -h.on('getDataSrv', 'service_id', () => {return service_id === null ? [] : [service_id];}); h.onEvent('callbackSrv', 'response', (args) => { - const [res] = args; - resolve(res); -}); + const [res] = args; + resolve(res); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -153,40 +175,38 @@ h.on('getDataSrv', 'service_id', () => {return service_id === null ? [] : [servi .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for putHostValue'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - +export function create_client_util(service_id: string, config?: { ttl?: number }): Promise; +export function create_client_util(peer: FluencePeer, service_id: string, config?: { ttl?: number }): Promise; +export function create_client_util(...args: any) { + let peer: FluencePeer; + let service_id: any; + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + service_id = args[1]; + config = args[2]; + } else { + peer = Fluence.getPeer(); + service_id = args[0]; + config = args[1]; + } - export function create_client_util(service_id: string, config?: {ttl?: number}) : Promise; - export function create_client_util(peer: FluencePeer, service_id: string, config?: {ttl?: number}) : Promise; - export function create_client_util(...args: any) { - let peer: FluencePeer; - let service_id: any; - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - service_id = args[1]; -config = args[2]; - } else { - peer = FluencePeer.default; - service_id = args[0]; -config = args[1]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -205,16 +225,18 @@ config = args[1]; ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; + }); + h.on('getDataSrv', 'service_id', () => { + return service_id; }); - h.on('getDataSrv', 'service_id', () => {return service_id;}); h.onEvent('callbackSrv', 'response', (args) => { - const [res] = args; - resolve(res); -}); + const [res] = args; + resolve(res); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -224,13 +246,12 @@ config = args[1]; .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for create_client_util'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - diff --git a/src/compiled/examples/println.ts b/src/compiled/examples/println.ts index b05fa19..9fb58a8 100644 --- a/src/compiled/examples/println.ts +++ b/src/compiled/examples/println.ts @@ -1,12 +1,12 @@ /** * * 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 * Aqua version: 0.3.0-SNAPSHOT * */ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { ResultCodes, RequestFlow, @@ -14,37 +14,40 @@ import { CallParams, } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; - // Services - export interface PrintlnDef { - print: (arg0: string, callParams: CallParams<'arg0'>) => void; - } +export interface PrintlnDef { + print: (arg0: string, callParams: CallParams<'arg0'>) => void; +} - export function registerPrintln(service: PrintlnDef): void; +export function registerPrintln(service: PrintlnDef): void; export function registerPrintln(serviceId: string, service: PrintlnDef): void; export function registerPrintln(peer: FluencePeer, service: PrintlnDef): void; export function registerPrintln(peer: FluencePeer, serviceId: string, service: PrintlnDef): void; - export function registerPrintln(...args: any) { +export function registerPrintln(...args: any) { let peer: FluencePeer; let serviceId: any; let service: any; - if (args[0] instanceof FluencePeer) { + if (FluencePeer.isInstance(args[0])) { peer = args[0]; } else { - peer = FluencePeer.default; + peer = Fluence.getPeer(); } if (typeof args[0] === 'string') { serviceId = args[0]; } else if (typeof args[1] === 'string') { serviceId = args[1]; - } - else { - serviceId = "println-service-id" -} + } else { + serviceId = 'println-service-id'; + } - if (!(args[0] instanceof FluencePeer) && typeof args[0] === 'object') { + // Figuring out which overload is the service. + // If the first argument is not Fluence Peer and it is an object, then it can only be the service def + // If the first argument is peer, we are checking further. The second argument might either be + // an object, that it must be the service object + // or a string, which is the service id. In that case the service is the third argument + if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { service = args[0]; } else if (typeof args[1] === 'object') { service = args[1]; @@ -52,56 +55,52 @@ export function registerPrintln(peer: FluencePeer, serviceId: string, service: P service = args[2]; } - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'print') { - - const callParams = { - ...req.particleContext, - tetraplets: { - arg0: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - service.print(req.args[0], callParams); resp.result = {} + peer.internals.callServiceHandler.use((req, resp, next) => { + if (req.serviceId !== serviceId) { + next(); + return; + } - } - - - next(); - }); - } - + if (req.fnName === 'print') { + const callParams = { + ...req.particleContext, + tetraplets: { + arg0: req.tetraplets[0], + }, + }; + resp.retCode = ResultCodes.success; + service.print(req.args[0], callParams); + resp.result = {}; + } + + next(); + }); +} // Functions - export function print(str: string, config?: {ttl?: number}) : Promise; - export function print(peer: FluencePeer, str: string, config?: {ttl?: number}) : Promise; - export function print(...args: any) { - let peer: FluencePeer; - let str: any; - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - str = args[1]; -config = args[2]; - } else { - peer = FluencePeer.default; - str = args[0]; -config = args[1]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` +export function print(str: string, config?: { ttl?: number }): Promise; +export function print(peer: FluencePeer, str: string, config?: { ttl?: number }): Promise; +export function print(...args: any) { + let peer: FluencePeer; + let str: any; + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + str = args[1]; + config = args[2]; + } else { + peer = Fluence.getPeer(); + str = args[0]; + config = args[1]; + } + + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -114,15 +113,15 @@ config = args[1]; ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; }); - h.on('getDataSrv', 'str', () => {return str;}); - h.onEvent('callbackSrv', 'response', (args) => { - -}); + h.on('getDataSrv', 'str', () => { + return str; + }); + h.onEvent('callbackSrv', 'response', (args) => {}); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -132,13 +131,12 @@ config = args[1]; .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for print'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return Promise.race([promise, Promise.resolve()]); } - diff --git a/src/compiled/examples/pushToStream.ts b/src/compiled/examples/pushToStream.ts index 0a14581..a3e4e9b 100644 --- a/src/compiled/examples/pushToStream.ts +++ b/src/compiled/examples/pushToStream.ts @@ -1,12 +1,12 @@ /** * * 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 * Aqua version: 0.3.0-SNAPSHOT * */ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { ResultCodes, RequestFlow, @@ -14,37 +14,40 @@ import { CallParams, } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; - // Services - export interface OpADef { - get_str: (callParams: CallParams) => string; - } +export interface OpADef { + get_str: (callParams: CallParams) => string; +} - export function registerOpA(service: OpADef): void; +export function registerOpA(service: OpADef): void; export function registerOpA(serviceId: string, service: OpADef): void; export function registerOpA(peer: FluencePeer, service: OpADef): void; export function registerOpA(peer: FluencePeer, serviceId: string, service: OpADef): void; - export function registerOpA(...args: any) { +export function registerOpA(...args: any) { let peer: FluencePeer; let serviceId: any; let service: any; - if (args[0] instanceof FluencePeer) { + if (FluencePeer.isInstance(args[0])) { peer = args[0]; } else { - peer = FluencePeer.default; + peer = Fluence.getPeer(); } if (typeof args[0] === 'string') { serviceId = args[0]; } else if (typeof args[1] === 'string') { serviceId = args[1]; - } - else { - serviceId = "pop" -} + } else { + serviceId = 'pop'; + } - if (!(args[0] instanceof FluencePeer) && typeof args[0] === 'object') { + // Figuring out which overload is the service. + // If the first argument is not Fluence Peer and it is an object, then it can only be the service def + // If the first argument is peer, we are checking further. The second argument might either be + // an object, that it must be the service object + // or a string, which is the service id. In that case the service is the third argument + if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { service = args[0]; } else if (typeof args[1] === 'object') { service = args[1]; @@ -52,54 +55,47 @@ export function registerOpA(peer: FluencePeer, serviceId: string, service: OpADe service = args[2]; } - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'get_str') { - - const callParams = { - ...req.particleContext, - tetraplets: { - - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.get_str(callParams) + peer.internals.callServiceHandler.use((req, resp, next) => { + if (req.serviceId !== serviceId) { + next(); + return; + } - } - - - next(); - }); - } - + if (req.fnName === 'get_str') { + const callParams = { + ...req.particleContext, + tetraplets: {}, + }; + resp.retCode = ResultCodes.success; + resp.result = service.get_str(callParams); + } + + next(); + }); +} // Functions - export function get_results(config?: {ttl?: number}) : Promise; - export function get_results(peer: FluencePeer, config?: {ttl?: number}) : Promise; - export function get_results(...args: any) { - let peer: FluencePeer; - - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - config = args[1]; - } else { - peer = FluencePeer.default; - config = args[0]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` +export function get_results(config?: { ttl?: number }): Promise; +export function get_results(peer: FluencePeer, config?: { ttl?: number }): Promise; +export function get_results(...args: any) { + let peer: FluencePeer; + + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + config = args[1]; + } else { + peer = Fluence.getPeer(); + config = args[0]; + } + + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -121,16 +117,16 @@ export function registerOpA(peer: FluencePeer, serviceId: string, service: OpADe ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; }); - + h.onEvent('callbackSrv', 'response', (args) => { - const [res] = args; - resolve(res); -}); + const [res] = args; + resolve(res); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -140,13 +136,12 @@ export function registerOpA(peer: FluencePeer, serviceId: string, service: OpADe .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for get_results'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - diff --git a/src/compiled/examples/returnLiteral.ts b/src/compiled/examples/returnLiteral.ts index b9189af..efd7fe6 100644 --- a/src/compiled/examples/returnLiteral.ts +++ b/src/compiled/examples/returnLiteral.ts @@ -1,12 +1,12 @@ /** * * 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 * Aqua version: 0.3.0-SNAPSHOT * */ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { ResultCodes, RequestFlow, @@ -14,32 +14,30 @@ import { CallParams, } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; - // Services - // Functions - export function returnLiteral(config?: {ttl?: number}) : Promise; - export function returnLiteral(peer: FluencePeer, config?: {ttl?: number}) : Promise; - export function returnLiteral(...args: any) { - let peer: FluencePeer; - - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - config = args[1]; - } else { - peer = FluencePeer.default; - config = args[0]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` +export function returnLiteral(config?: { ttl?: number }): Promise; +export function returnLiteral(peer: FluencePeer, config?: { ttl?: number }): Promise; +export function returnLiteral(...args: any) { + let peer: FluencePeer; + + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + config = args[1]; + } else { + peer = Fluence.getPeer(); + config = args[0]; + } + + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) @@ -52,16 +50,16 @@ import { ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; }); - + h.onEvent('callbackSrv', 'response', (args) => { - const [res] = args; - resolve(res); -}); + const [res] = args; + resolve(res); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -71,13 +69,12 @@ import { .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for returnLiteral'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - diff --git a/src/compiled/examples/stream.ts b/src/compiled/examples/stream.ts index ba1a600..420c4de 100644 --- a/src/compiled/examples/stream.ts +++ b/src/compiled/examples/stream.ts @@ -1,12 +1,12 @@ /** * * 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 * Aqua version: 0.3.0-SNAPSHOT * */ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { ResultCodes, RequestFlow, @@ -14,37 +14,40 @@ import { CallParams, } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; - // Services - export interface StringerDef { - returnString: (arg0: string, callParams: CallParams<'arg0'>) => string; - } +export interface StringerDef { + returnString: (arg0: string, callParams: CallParams<'arg0'>) => string; +} - export function registerStringer(service: StringerDef): void; +export function registerStringer(service: StringerDef): void; export function registerStringer(serviceId: string, service: StringerDef): void; export function registerStringer(peer: FluencePeer, service: StringerDef): void; export function registerStringer(peer: FluencePeer, serviceId: string, service: StringerDef): void; - export function registerStringer(...args: any) { +export function registerStringer(...args: any) { let peer: FluencePeer; let serviceId: any; let service: any; - if (args[0] instanceof FluencePeer) { + if (FluencePeer.isInstance(args[0])) { peer = args[0]; } else { - peer = FluencePeer.default; + peer = Fluence.getPeer(); } if (typeof args[0] === 'string') { serviceId = args[0]; } else if (typeof args[1] === 'string') { serviceId = args[1]; - } - else { - serviceId = "stringer-id" -} + } else { + serviceId = 'stringer-id'; + } - if (!(args[0] instanceof FluencePeer) && typeof args[0] === 'object') { + // Figuring out which overload is the service. + // If the first argument is not Fluence Peer and it is an object, then it can only be the service def + // If the first argument is peer, we are checking further. The second argument might either be + // an object, that it must be the service object + // or a string, which is the service id. In that case the service is the third argument + if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { service = args[0]; } else if (typeof args[1] === 'object') { service = args[1]; @@ -52,54 +55,49 @@ export function registerStringer(peer: FluencePeer, serviceId: string, service: service = args[2]; } - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'returnString') { - - const callParams = { - ...req.particleContext, - tetraplets: { - arg0: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.returnString(req.args[0], callParams) + peer.internals.callServiceHandler.use((req, resp, next) => { + if (req.serviceId !== serviceId) { + next(); + return; + } - } - - - next(); - }); - } - + if (req.fnName === 'returnString') { + const callParams = { + ...req.particleContext, + tetraplets: { + arg0: req.tetraplets[0], + }, + }; + resp.retCode = ResultCodes.success; + resp.result = service.returnString(req.args[0], callParams); + } + + next(); + }); +} // Functions - export function returnNone(config?: {ttl?: number}) : Promise; - export function returnNone(peer: FluencePeer, config?: {ttl?: number}) : Promise; - export function returnNone(...args: any) { - let peer: FluencePeer; - - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - config = args[1]; - } else { - peer = FluencePeer.default; - config = args[0]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` +export function returnNone(config?: { ttl?: number }): Promise; +export function returnNone(peer: FluencePeer, config?: { ttl?: number }): Promise; +export function returnNone(...args: any) { + let peer: FluencePeer; + + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + config = args[1]; + } else { + peer = Fluence.getPeer(); + config = args[0]; + } + + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) @@ -112,20 +110,22 @@ export function registerStringer(peer: FluencePeer, serviceId: string, service: ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; }); - + h.onEvent('callbackSrv', 'response', (args) => { - let [opt] = args; - if (Array.isArray(opt)) { - if (opt.length === 0) { resolve(null); } - opt = opt[0]; - } - return resolve(opt); -}); + let [opt] = args; + if (Array.isArray(opt)) { + if (opt.length === 0) { + resolve(null); + } + opt = opt[0]; + } + return resolve(opt); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -135,38 +135,36 @@ export function registerStringer(peer: FluencePeer, serviceId: string, service: .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for returnNone'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - +export function stringNone(config?: { ttl?: number }): Promise; +export function stringNone(peer: FluencePeer, config?: { ttl?: number }): Promise; +export function stringNone(...args: any) { + let peer: FluencePeer; - export function stringNone(config?: {ttl?: number}) : Promise; - export function stringNone(peer: FluencePeer, config?: {ttl?: number}) : Promise; - export function stringNone(...args: any) { - let peer: FluencePeer; - - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - config = args[1]; - } else { - peer = FluencePeer.default; - config = args[0]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + config = args[1]; + } else { + peer = Fluence.getPeer(); + config = args[0]; + } + + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) @@ -179,20 +177,22 @@ export function registerStringer(peer: FluencePeer, serviceId: string, service: ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; }); - + h.onEvent('callbackSrv', 'response', (args) => { - let [opt] = args; - if (Array.isArray(opt)) { - if (opt.length === 0) { resolve(null); } - opt = opt[0]; - } - return resolve(opt); -}); + let [opt] = args; + if (Array.isArray(opt)) { + if (opt.length === 0) { + resolve(null); + } + opt = opt[0]; + } + return resolve(opt); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -202,104 +202,36 @@ export function registerStringer(peer: FluencePeer, serviceId: string, service: .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for stringNone'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - +export function returnNil(config?: { ttl?: number }): Promise; +export function returnNil(peer: FluencePeer, config?: { ttl?: number }): Promise; +export function returnNil(...args: any) { + let peer: FluencePeer; - export function returnNil(config?: {ttl?: number}) : Promise; - export function returnNil(peer: FluencePeer, config?: {ttl?: number}) : Promise; - export function returnNil(...args: any) { - let peer: FluencePeer; - - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - config = args[1]; - } else { - peer = FluencePeer.default; - config = args[0]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` - (xor - (seq - (seq - (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) - (ap $valueNil $relayNil) - ) - (xor - (call %init_peer_id% ("callbackSrv" "response") [$relayNil]) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1]) - ) - ) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2]) -) + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + config = args[1]; + } else { + peer = Fluence.getPeer(); + config = args[0]; + } - `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; - }); - - h.onEvent('callbackSrv', 'response', (args) => { - const [res] = args; - resolve(res); -}); - - h.onEvent('errorHandlingSrv', 'error', (args) => { - const [err] = args; - reject(err); - }); - }) - .handleScriptError(reject) - .handleTimeout(() => { - reject('Request timed out for returnNil'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) - } - request = r.build(); - }); - peer.internals.initiateFlow(request!); - return promise; -} - - - - export function stringNil(config?: {ttl?: number}) : Promise; - export function stringNil(peer: FluencePeer, config?: {ttl?: number}) : Promise; - export function stringNil(...args: any) { - let peer: FluencePeer; - - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - config = args[1]; - } else { - peer = FluencePeer.default; - config = args[0]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) @@ -312,16 +244,77 @@ export function registerStringer(peer: FluencePeer, serviceId: string, service: ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; }); - + h.onEvent('callbackSrv', 'response', (args) => { - const [res] = args; - resolve(res); -}); + const [res] = args; + resolve(res); + }); + + h.onEvent('errorHandlingSrv', 'error', (args) => { + const [err] = args; + reject(err); + }); + }) + .handleScriptError(reject) + .handleTimeout(() => { + reject('Request timed out for returnNil'); + }); + if (config && config.ttl) { + r.withTTL(config.ttl); + } + request = r.build(); + }); + peer.internals.initiateFlow(request!); + return promise; +} + +export function stringNil(config?: { ttl?: number }): Promise; +export function stringNil(peer: FluencePeer, config?: { ttl?: number }): Promise; +export function stringNil(...args: any) { + let peer: FluencePeer; + + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + config = args[1]; + } else { + peer = Fluence.getPeer(); + config = args[0]; + } + + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` + (xor + (seq + (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) + (xor + (call %init_peer_id% ("callbackSrv" "response") [$valueNil]) + (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1]) + ) + ) + (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2]) +) + + `, + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; + }); + + h.onEvent('callbackSrv', 'response', (args) => { + const [res] = args; + resolve(res); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -331,40 +324,38 @@ export function registerStringer(peer: FluencePeer, serviceId: string, service: .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for stringNil'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - +export function checkStreams(ch: string[], config?: { ttl?: number }): Promise; +export function checkStreams(peer: FluencePeer, ch: string[], config?: { ttl?: number }): Promise; +export function checkStreams(...args: any) { + let peer: FluencePeer; + let ch: any; + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + ch = args[1]; + config = args[2]; + } else { + peer = Fluence.getPeer(); + ch = args[0]; + config = args[1]; + } - export function checkStreams(ch: string[], config?: {ttl?: number}) : Promise; - export function checkStreams(peer: FluencePeer, ch: string[], config?: {ttl?: number}) : Promise; - export function checkStreams(...args: any) { - let peer: FluencePeer; - let ch: any; - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - ch = args[1]; -config = args[2]; - } else { - peer = FluencePeer.default; - ch = args[0]; -config = args[1]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -394,16 +385,18 @@ config = args[1]; ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; + }); + h.on('getDataSrv', 'ch', () => { + return ch; }); - h.on('getDataSrv', 'ch', () => {return ch;}); h.onEvent('callbackSrv', 'response', (args) => { - const [res] = args; - resolve(res); -}); + const [res] = args; + resolve(res); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -413,13 +406,12 @@ config = args[1]; .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for checkStreams'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - diff --git a/src/compiled/examples/streamArgs.ts b/src/compiled/examples/streamArgs.ts index b4e56bd..b75cf37 100644 --- a/src/compiled/examples/streamArgs.ts +++ b/src/compiled/examples/streamArgs.ts @@ -1,12 +1,12 @@ /** * * 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 * Aqua version: 0.3.0-SNAPSHOT * */ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { ResultCodes, RequestFlow, @@ -14,37 +14,40 @@ import { CallParams, } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; - // Services - export interface TestServiceDef { - get_records: (key: string, callParams: CallParams<'key'>) => string[]; - } +export interface TestServiceDef { + get_records: (key: string, callParams: CallParams<'key'>) => string[]; +} - export function registerTestService(service: TestServiceDef): void; +export function registerTestService(service: TestServiceDef): void; export function registerTestService(serviceId: string, service: TestServiceDef): void; export function registerTestService(peer: FluencePeer, service: TestServiceDef): void; export function registerTestService(peer: FluencePeer, serviceId: string, service: TestServiceDef): void; - export function registerTestService(...args: any) { +export function registerTestService(...args: any) { let peer: FluencePeer; let serviceId: any; let service: any; - if (args[0] instanceof FluencePeer) { + if (FluencePeer.isInstance(args[0])) { peer = args[0]; } else { - peer = FluencePeer.default; + peer = Fluence.getPeer(); } if (typeof args[0] === 'string') { serviceId = args[0]; } else if (typeof args[1] === 'string') { serviceId = args[1]; - } - else { - serviceId = "test-service" -} + } else { + serviceId = 'test-service'; + } - if (!(args[0] instanceof FluencePeer) && typeof args[0] === 'object') { + // Figuring out which overload is the service. + // If the first argument is not Fluence Peer and it is an object, then it can only be the service def + // If the first argument is peer, we are checking further. The second argument might either be + // an object, that it must be the service object + // or a string, which is the service id. In that case the service is the third argument + if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { service = args[0]; } else if (typeof args[1] === 'object') { service = args[1]; @@ -52,59 +55,59 @@ export function registerTestService(peer: FluencePeer, serviceId: string, servic service = args[2]; } - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'get_records') { - - const callParams = { - ...req.particleContext, - tetraplets: { - key: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.get_records(req.args[0], callParams) + peer.internals.callServiceHandler.use((req, resp, next) => { + if (req.serviceId !== serviceId) { + next(); + return; + } - } - - - next(); - }); - } - + if (req.fnName === 'get_records') { + const callParams = { + ...req.particleContext, + tetraplets: { + key: req.tetraplets[0], + }, + }; + resp.retCode = ResultCodes.success; + resp.result = service.get_records(req.args[0], callParams); + } + + next(); + }); +} // Functions - export function append_records(peer_: string, srum: string[][], config?: {ttl?: number}) : Promise; - export function append_records(peer: FluencePeer, peer_: string, srum: string[][], config?: {ttl?: number}) : Promise; - export function append_records(...args: any) { - let peer: FluencePeer; - let peer_: any; -let srum: any; - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - peer_ = args[1]; -srum = args[2]; -config = args[3]; - } else { - peer = FluencePeer.default; - peer_ = args[0]; -srum = args[1]; -config = args[2]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` +export function append_records(peer_: string, srum: string[][], config?: { ttl?: number }): Promise; +export function append_records( + peer: FluencePeer, + peer_: string, + srum: string[][], + config?: { ttl?: number }, +): Promise; +export function append_records(...args: any) { + let peer: FluencePeer; + let peer_: any; + let srum: any; + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + peer_ = args[1]; + srum = args[2]; + config = args[3]; + } else { + peer = Fluence.getPeer(); + peer_ = args[0]; + srum = args[1]; + config = args[2]; + } + + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -128,16 +131,18 @@ config = args[2]; ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; }); - h.on('getDataSrv', 'peer', () => {return peer_;}); -h.on('getDataSrv', 'srum', () => {return srum;}); - h.onEvent('callbackSrv', 'response', (args) => { - -}); + h.on('getDataSrv', 'peer', () => { + return peer_; + }); + h.on('getDataSrv', 'srum', () => { + return srum; + }); + h.onEvent('callbackSrv', 'response', (args) => {}); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -147,40 +152,38 @@ h.on('getDataSrv', 'srum', () => {return srum;}); .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for append_records'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return Promise.race([promise, Promise.resolve()]); } - +export function retrieve_records(peer_: string, config?: { ttl?: number }): Promise; +export function retrieve_records(peer: FluencePeer, peer_: string, config?: { ttl?: number }): Promise; +export function retrieve_records(...args: any) { + let peer: FluencePeer; + let peer_: any; + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + peer_ = args[1]; + config = args[2]; + } else { + peer = Fluence.getPeer(); + peer_ = args[0]; + config = args[1]; + } - export function retrieve_records(peer_: string, config?: {ttl?: number}) : Promise; - export function retrieve_records(peer: FluencePeer, peer_: string, config?: {ttl?: number}) : Promise; - export function retrieve_records(...args: any) { - let peer: FluencePeer; - let peer_: any; - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - peer_ = args[1]; -config = args[2]; - } else { - peer = FluencePeer.default; - peer_ = args[0]; -config = args[1]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -199,16 +202,18 @@ config = args[1]; ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; + }); + h.on('getDataSrv', 'peer', () => { + return peer_; }); - h.on('getDataSrv', 'peer', () => {return peer_;}); h.onEvent('callbackSrv', 'response', (args) => { - const [res] = args; - resolve(res); -}); + const [res] = args; + resolve(res); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -218,13 +223,12 @@ config = args[1]; .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for retrieve_records'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - diff --git a/src/compiled/examples/streamResults.ts b/src/compiled/examples/streamResults.ts index d94d4f6..9318d6c 100644 --- a/src/compiled/examples/streamResults.ts +++ b/src/compiled/examples/streamResults.ts @@ -1,12 +1,12 @@ /** * * 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 * Aqua version: 0.3.0-SNAPSHOT * */ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { ResultCodes, RequestFlow, @@ -14,37 +14,40 @@ import { CallParams, } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; - // Services - export interface DTGetterDef { - get_dt: (s: string, callParams: CallParams<'s'>) => {field:string}; - } +export interface DTGetterDef { + get_dt: (s: string, callParams: CallParams<'s'>) => { field: string }; +} - export function registerDTGetter(service: DTGetterDef): void; +export function registerDTGetter(service: DTGetterDef): void; export function registerDTGetter(serviceId: string, service: DTGetterDef): void; export function registerDTGetter(peer: FluencePeer, service: DTGetterDef): void; export function registerDTGetter(peer: FluencePeer, serviceId: string, service: DTGetterDef): void; - export function registerDTGetter(...args: any) { +export function registerDTGetter(...args: any) { let peer: FluencePeer; let serviceId: any; let service: any; - if (args[0] instanceof FluencePeer) { + if (FluencePeer.isInstance(args[0])) { peer = args[0]; } else { - peer = FluencePeer.default; + peer = Fluence.getPeer(); } if (typeof args[0] === 'string') { serviceId = args[0]; } else if (typeof args[1] === 'string') { serviceId = args[1]; - } - else { - serviceId = "get-dt" -} + } else { + serviceId = 'get-dt'; + } - if (!(args[0] instanceof FluencePeer) && typeof args[0] === 'object') { + // Figuring out which overload is the service. + // If the first argument is not Fluence Peer and it is an object, then it can only be the service def + // If the first argument is peer, we are checking further. The second argument might either be + // an object, that it must be the service object + // or a string, which is the service id. In that case the service is the third argument + if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { service = args[0]; } else if (typeof args[1] === 'object') { service = args[1]; @@ -52,56 +55,51 @@ export function registerDTGetter(peer: FluencePeer, serviceId: string, service: service = args[2]; } - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'get_dt') { - - const callParams = { - ...req.particleContext, - tetraplets: { - s: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.get_dt(req.args[0], callParams) + peer.internals.callServiceHandler.use((req, resp, next) => { + if (req.serviceId !== serviceId) { + next(); + return; + } - } - - - next(); - }); - } - + if (req.fnName === 'get_dt') { + const callParams = { + ...req.particleContext, + tetraplets: { + s: req.tetraplets[0], + }, + }; + resp.retCode = ResultCodes.success; + resp.result = service.get_dt(req.args[0], callParams); + } + + next(); + }); +} // Functions - export function use_name1(name: string, config?: {ttl?: number}) : Promise; - export function use_name1(peer: FluencePeer, name: string, config?: {ttl?: number}) : Promise; - export function use_name1(...args: any) { - let peer: FluencePeer; - let name: any; - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - name = args[1]; -config = args[2]; - } else { - peer = FluencePeer.default; - name = args[0]; -config = args[1]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` +export function use_name1(name: string, config?: { ttl?: number }): Promise; +export function use_name1(peer: FluencePeer, name: string, config?: { ttl?: number }): Promise; +export function use_name1(...args: any) { + let peer: FluencePeer; + let name: any; + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + name = args[1]; + config = args[2]; + } else { + peer = Fluence.getPeer(); + name = args[0]; + config = args[1]; + } + + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -120,16 +118,18 @@ config = args[1]; ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; + }); + h.on('getDataSrv', 'name', () => { + return name; }); - h.on('getDataSrv', 'name', () => {return name;}); h.onEvent('callbackSrv', 'response', (args) => { - const [res] = args; - resolve(res); -}); + const [res] = args; + resolve(res); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -139,40 +139,38 @@ config = args[1]; .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for use_name1'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - +export function use_name2(name: string, config?: { ttl?: number }): Promise; +export function use_name2(peer: FluencePeer, name: string, config?: { ttl?: number }): Promise; +export function use_name2(...args: any) { + let peer: FluencePeer; + let name: any; + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + name = args[1]; + config = args[2]; + } else { + peer = Fluence.getPeer(); + name = args[0]; + config = args[1]; + } - export function use_name2(name: string, config?: {ttl?: number}) : Promise; - export function use_name2(peer: FluencePeer, name: string, config?: {ttl?: number}) : Promise; - export function use_name2(...args: any) { - let peer: FluencePeer; - let name: any; - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - name = args[1]; -config = args[2]; - } else { - peer = FluencePeer.default; - name = args[0]; -config = args[1]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -206,16 +204,18 @@ config = args[1]; ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; + }); + h.on('getDataSrv', 'name', () => { + return name; }); - h.on('getDataSrv', 'name', () => {return name;}); h.onEvent('callbackSrv', 'response', (args) => { - const [res] = args; - resolve(res); -}); + const [res] = args; + resolve(res); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -225,13 +225,12 @@ config = args[1]; .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for use_name2'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - diff --git a/src/compiled/examples/subImportUsage.ts b/src/compiled/examples/subImportUsage.ts index 210929a..bd4082b 100644 --- a/src/compiled/examples/subImportUsage.ts +++ b/src/compiled/examples/subImportUsage.ts @@ -1,12 +1,12 @@ /** * * 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 * Aqua version: 0.3.0-SNAPSHOT * */ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { ResultCodes, RequestFlow, @@ -14,37 +14,44 @@ import { CallParams, } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; - // Services - export interface ConcatSubsDef { - get_some: (s: string, sr: {one:string;two:number}, callParams: CallParams<'s' | 'sr'>) => {one:string;two:number}; - } +export interface ConcatSubsDef { + get_some: ( + s: string, + sr: { one: string; two: number }, + callParams: CallParams<'s' | 'sr'>, + ) => { one: string; two: number }; +} - export function registerConcatSubs(service: ConcatSubsDef): void; +export function registerConcatSubs(service: ConcatSubsDef): void; export function registerConcatSubs(serviceId: string, service: ConcatSubsDef): void; export function registerConcatSubs(peer: FluencePeer, service: ConcatSubsDef): void; export function registerConcatSubs(peer: FluencePeer, serviceId: string, service: ConcatSubsDef): void; - export function registerConcatSubs(...args: any) { +export function registerConcatSubs(...args: any) { let peer: FluencePeer; let serviceId: any; let service: any; - if (args[0] instanceof FluencePeer) { + if (FluencePeer.isInstance(args[0])) { peer = args[0]; } else { - peer = FluencePeer.default; + peer = Fluence.getPeer(); } if (typeof args[0] === 'string') { serviceId = args[0]; } else if (typeof args[1] === 'string') { serviceId = args[1]; - } - else { - serviceId = "concat_subs" -} + } else { + serviceId = 'concat_subs'; + } - if (!(args[0] instanceof FluencePeer) && typeof args[0] === 'object') { + // Figuring out which overload is the service. + // If the first argument is not Fluence Peer and it is an object, then it can only be the service def + // If the first argument is peer, we are checking further. The second argument might either be + // an object, that it must be the service object + // or a string, which is the service id. In that case the service is the third argument + if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { service = args[0]; } else if (typeof args[1] === 'object') { service = args[1]; @@ -52,56 +59,56 @@ export function registerConcatSubs(peer: FluencePeer, serviceId: string, service service = args[2]; } - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'get_some') { - - const callParams = { - ...req.particleContext, - tetraplets: { - s: req.tetraplets[0],sr: req.tetraplets[1] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.get_some(req.args[0], req.args[1], callParams) + peer.internals.callServiceHandler.use((req, resp, next) => { + if (req.serviceId !== serviceId) { + next(); + return; + } - } - - - next(); - }); - } - + if (req.fnName === 'get_some') { + const callParams = { + ...req.particleContext, + tetraplets: { + s: req.tetraplets[0], + sr: req.tetraplets[1], + }, + }; + resp.retCode = ResultCodes.success; + resp.result = service.get_some(req.args[0], req.args[1], callParams); + } + + next(); + }); +} // Functions - export function subImportUsage(s: string, config?: {ttl?: number}) : Promise<{one:string;two:number}>; - export function subImportUsage(peer: FluencePeer, s: string, config?: {ttl?: number}) : Promise<{one:string;two:number}>; - export function subImportUsage(...args: any) { - let peer: FluencePeer; - let s: any; - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - s = args[1]; -config = args[2]; - } else { - peer = FluencePeer.default; - s = args[0]; -config = args[1]; - } - - let request: RequestFlow; - const promise = new Promise<{one:string;two:number}>((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` +export function subImportUsage(s: string, config?: { ttl?: number }): Promise<{ one: string; two: number }>; +export function subImportUsage( + peer: FluencePeer, + s: string, + config?: { ttl?: number }, +): Promise<{ one: string; two: number }>; +export function subImportUsage(...args: any) { + let peer: FluencePeer; + let s: any; + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + s = args[1]; + config = args[2]; + } else { + peer = Fluence.getPeer(); + s = args[0]; + config = args[1]; + } + + let request: RequestFlow; + const promise = new Promise<{ one: string; two: number }>((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -126,16 +133,18 @@ config = args[1]; ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; + }); + h.on('getDataSrv', 's', () => { + return s; }); - h.on('getDataSrv', 's', () => {return s;}); h.onEvent('callbackSrv', 'response', (args) => { - const [res] = args; - resolve(res); -}); + const [res] = args; + resolve(res); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -145,13 +154,12 @@ config = args[1]; .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for subImportUsage'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - diff --git a/src/compiled/examples/topology.ts b/src/compiled/examples/topology.ts index 9482eb0..9f60bcc 100644 --- a/src/compiled/examples/topology.ts +++ b/src/compiled/examples/topology.ts @@ -1,12 +1,12 @@ /** * * 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 * Aqua version: 0.3.0-SNAPSHOT * */ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { ResultCodes, RequestFlow, @@ -14,37 +14,40 @@ import { CallParams, } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; - // Services - export interface TestoDef { - getString: (arg0: string, callParams: CallParams<'arg0'>) => string; - } +export interface TestoDef { + getString: (arg0: string, callParams: CallParams<'arg0'>) => string; +} - export function registerTesto(service: TestoDef): void; +export function registerTesto(service: TestoDef): void; export function registerTesto(serviceId: string, service: TestoDef): void; export function registerTesto(peer: FluencePeer, service: TestoDef): void; export function registerTesto(peer: FluencePeer, serviceId: string, service: TestoDef): void; - export function registerTesto(...args: any) { +export function registerTesto(...args: any) { let peer: FluencePeer; let serviceId: any; let service: any; - if (args[0] instanceof FluencePeer) { + if (FluencePeer.isInstance(args[0])) { peer = args[0]; } else { - peer = FluencePeer.default; + peer = Fluence.getPeer(); } if (typeof args[0] === 'string') { serviceId = args[0]; } else if (typeof args[1] === 'string') { serviceId = args[1]; - } - else { - serviceId = "testo" -} + } else { + serviceId = 'testo'; + } - if (!(args[0] instanceof FluencePeer) && typeof args[0] === 'object') { + // Figuring out which overload is the service. + // If the first argument is not Fluence Peer and it is an object, then it can only be the service def + // If the first argument is peer, we are checking further. The second argument might either be + // an object, that it must be the service object + // or a string, which is the service id. In that case the service is the third argument + if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { service = args[0]; } else if (typeof args[1] === 'object') { service = args[1]; @@ -52,61 +55,59 @@ export function registerTesto(peer: FluencePeer, serviceId: string, service: Tes service = args[2]; } - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'getString') { - - const callParams = { - ...req.particleContext, - tetraplets: { - arg0: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.getString(req.args[0], callParams) + peer.internals.callServiceHandler.use((req, resp, next) => { + if (req.serviceId !== serviceId) { + next(); + return; + } - } - - - next(); - }); - } - + if (req.fnName === 'getString') { + const callParams = { + ...req.particleContext, + tetraplets: { + arg0: req.tetraplets[0], + }, + }; + resp.retCode = ResultCodes.success; + resp.result = service.getString(req.args[0], callParams); + } + next(); + }); +} - export interface LocalPrintDef { - print: (arg0: string, callParams: CallParams<'arg0'>) => void; - } +export interface LocalPrintDef { + print: (arg0: string, callParams: CallParams<'arg0'>) => void; +} - export function registerLocalPrint(service: LocalPrintDef): void; +export function registerLocalPrint(service: LocalPrintDef): void; export function registerLocalPrint(serviceId: string, service: LocalPrintDef): void; export function registerLocalPrint(peer: FluencePeer, service: LocalPrintDef): void; export function registerLocalPrint(peer: FluencePeer, serviceId: string, service: LocalPrintDef): void; - export function registerLocalPrint(...args: any) { +export function registerLocalPrint(...args: any) { let peer: FluencePeer; let serviceId: any; let service: any; - if (args[0] instanceof FluencePeer) { + if (FluencePeer.isInstance(args[0])) { peer = args[0]; } else { - peer = FluencePeer.default; + peer = Fluence.getPeer(); } if (typeof args[0] === 'string') { serviceId = args[0]; } else if (typeof args[1] === 'string') { serviceId = args[1]; - } - else { - serviceId = "lp" -} + } else { + serviceId = 'lp'; + } - if (!(args[0] instanceof FluencePeer) && typeof args[0] === 'object') { + // Figuring out which overload is the service. + // If the first argument is not Fluence Peer and it is an object, then it can only be the service def + // If the first argument is peer, we are checking further. The second argument might either be + // an object, that it must be the service object + // or a string, which is the service id. In that case the service is the third argument + if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { service = args[0]; } else if (typeof args[1] === 'object') { service = args[1]; @@ -114,65 +115,74 @@ export function registerLocalPrint(peer: FluencePeer, serviceId: string, service service = args[2]; } - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'print') { - - const callParams = { - ...req.particleContext, - tetraplets: { - arg0: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - service.print(req.args[0], callParams); resp.result = {} + peer.internals.callServiceHandler.use((req, resp, next) => { + if (req.serviceId !== serviceId) { + next(); + return; + } - } - - - next(); - }); - } - + if (req.fnName === 'print') { + const callParams = { + ...req.particleContext, + tetraplets: { + arg0: req.tetraplets[0], + }, + }; + resp.retCode = ResultCodes.success; + service.print(req.args[0], callParams); + resp.result = {}; + } + + next(); + }); +} // Functions - export function topologyTest(me: string, myRelay: string, friend: string, friendRelay: string, config?: {ttl?: number}) : Promise; - export function topologyTest(peer: FluencePeer, me: string, myRelay: string, friend: string, friendRelay: string, config?: {ttl?: number}) : Promise; - export function topologyTest(...args: any) { - let peer: FluencePeer; - let me: any; -let myRelay: any; -let friend: any; -let friendRelay: any; - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - me = args[1]; -myRelay = args[2]; -friend = args[3]; -friendRelay = args[4]; -config = args[5]; - } else { - peer = FluencePeer.default; - me = args[0]; -myRelay = args[1]; -friend = args[2]; -friendRelay = args[3]; -config = args[4]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` +export function topologyTest( + me: string, + myRelay: string, + friend: string, + friendRelay: string, + config?: { ttl?: number }, +): Promise; +export function topologyTest( + peer: FluencePeer, + me: string, + myRelay: string, + friend: string, + friendRelay: string, + config?: { ttl?: number }, +): Promise; +export function topologyTest(...args: any) { + let peer: FluencePeer; + let me: any; + let myRelay: any; + let friend: any; + let friendRelay: any; + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + me = args[1]; + myRelay = args[2]; + friend = args[3]; + friendRelay = args[4]; + config = args[5]; + } else { + peer = Fluence.getPeer(); + me = args[0]; + myRelay = args[1]; + friend = args[2]; + friendRelay = args[3]; + config = args[4]; + } + + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -230,19 +240,27 @@ config = args[4]; ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; + }); + h.on('getDataSrv', 'me', () => { + return me; + }); + h.on('getDataSrv', 'myRelay', () => { + return myRelay; + }); + h.on('getDataSrv', 'friend', () => { + return friend; + }); + h.on('getDataSrv', 'friendRelay', () => { + return friendRelay; }); - h.on('getDataSrv', 'me', () => {return me;}); -h.on('getDataSrv', 'myRelay', () => {return myRelay;}); -h.on('getDataSrv', 'friend', () => {return friend;}); -h.on('getDataSrv', 'friendRelay', () => {return friendRelay;}); h.onEvent('callbackSrv', 'response', (args) => { - const [res] = args; - resolve(res); -}); + const [res] = args; + resolve(res); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -252,13 +270,12 @@ h.on('getDataSrv', 'friendRelay', () => {return friendRelay;}); .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for topologyTest'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - diff --git a/src/compiled/examples/tryCatch.ts b/src/compiled/examples/tryCatch.ts index b6a279c..eb03f09 100644 --- a/src/compiled/examples/tryCatch.ts +++ b/src/compiled/examples/tryCatch.ts @@ -1,12 +1,12 @@ /** * * 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 * Aqua version: 0.3.0-SNAPSHOT * */ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { ResultCodes, RequestFlow, @@ -14,37 +14,40 @@ import { CallParams, } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; - // Services - export interface UnexistedDef { - getStr: (callParams: CallParams) => string; - } +export interface UnexistedDef { + getStr: (callParams: CallParams) => string; +} - export function registerUnexisted(service: UnexistedDef): void; +export function registerUnexisted(service: UnexistedDef): void; export function registerUnexisted(serviceId: string, service: UnexistedDef): void; export function registerUnexisted(peer: FluencePeer, service: UnexistedDef): void; export function registerUnexisted(peer: FluencePeer, serviceId: string, service: UnexistedDef): void; - export function registerUnexisted(...args: any) { +export function registerUnexisted(...args: any) { let peer: FluencePeer; let serviceId: any; let service: any; - if (args[0] instanceof FluencePeer) { + if (FluencePeer.isInstance(args[0])) { peer = args[0]; } else { - peer = FluencePeer.default; + peer = Fluence.getPeer(); } if (typeof args[0] === 'string') { serviceId = args[0]; } else if (typeof args[1] === 'string') { serviceId = args[1]; - } - else { - serviceId = "unex" -} + } else { + serviceId = 'unex'; + } - if (!(args[0] instanceof FluencePeer) && typeof args[0] === 'object') { + // Figuring out which overload is the service. + // If the first argument is not Fluence Peer and it is an object, then it can only be the service def + // If the first argument is peer, we are checking further. The second argument might either be + // an object, that it must be the service object + // or a string, which is the service id. In that case the service is the third argument + if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { service = args[0]; } else if (typeof args[1] === 'object') { service = args[1]; @@ -52,61 +55,57 @@ export function registerUnexisted(peer: FluencePeer, serviceId: string, service: service = args[2]; } - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'getStr') { - - const callParams = { - ...req.particleContext, - tetraplets: { - - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.getStr(callParams) + peer.internals.callServiceHandler.use((req, resp, next) => { + if (req.serviceId !== serviceId) { + next(); + return; + } - } - - - next(); - }); - } - + if (req.fnName === 'getStr') { + const callParams = { + ...req.particleContext, + tetraplets: {}, + }; + resp.retCode = ResultCodes.success; + resp.result = service.getStr(callParams); + } + next(); + }); +} - export interface OpADef { - identity: (s: string, callParams: CallParams<'s'>) => string; - } +export interface OpADef { + identity: (s: string, callParams: CallParams<'s'>) => string; +} - export function registerOpA(service: OpADef): void; +export function registerOpA(service: OpADef): void; export function registerOpA(serviceId: string, service: OpADef): void; export function registerOpA(peer: FluencePeer, service: OpADef): void; export function registerOpA(peer: FluencePeer, serviceId: string, service: OpADef): void; - export function registerOpA(...args: any) { +export function registerOpA(...args: any) { let peer: FluencePeer; let serviceId: any; let service: any; - if (args[0] instanceof FluencePeer) { + if (FluencePeer.isInstance(args[0])) { peer = args[0]; } else { - peer = FluencePeer.default; + peer = Fluence.getPeer(); } if (typeof args[0] === 'string') { serviceId = args[0]; } else if (typeof args[1] === 'string') { serviceId = args[1]; - } - else { - serviceId = "op" -} + } else { + serviceId = 'op'; + } - if (!(args[0] instanceof FluencePeer) && typeof args[0] === 'object') { + // Figuring out which overload is the service. + // If the first argument is not Fluence Peer and it is an object, then it can only be the service def + // If the first argument is peer, we are checking further. The second argument might either be + // an object, that it must be the service object + // or a string, which is the service id. In that case the service is the third argument + if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { service = args[0]; } else if (typeof args[1] === 'object') { service = args[1]; @@ -114,56 +113,51 @@ export function registerOpA(peer: FluencePeer, serviceId: string, service: OpADe service = args[2]; } - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'identity') { - - const callParams = { - ...req.particleContext, - tetraplets: { - s: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.identity(req.args[0], callParams) + peer.internals.callServiceHandler.use((req, resp, next) => { + if (req.serviceId !== serviceId) { + next(); + return; + } - } - - - next(); - }); - } - + if (req.fnName === 'identity') { + const callParams = { + ...req.particleContext, + tetraplets: { + s: req.tetraplets[0], + }, + }; + resp.retCode = ResultCodes.success; + resp.result = service.identity(req.args[0], callParams); + } + + next(); + }); +} // Functions - export function tryCatchTest(node_id: string, config?: {ttl?: number}) : Promise; - export function tryCatchTest(peer: FluencePeer, node_id: string, config?: {ttl?: number}) : Promise; - export function tryCatchTest(...args: any) { - let peer: FluencePeer; - let node_id: any; - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - node_id = args[1]; -config = args[2]; - } else { - peer = FluencePeer.default; - node_id = args[0]; -config = args[1]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` +export function tryCatchTest(node_id: string, config?: { ttl?: number }): Promise; +export function tryCatchTest(peer: FluencePeer, node_id: string, config?: { ttl?: number }): Promise; +export function tryCatchTest(...args: any) { + let peer: FluencePeer; + let node_id: any; + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + node_id = args[1]; + config = args[2]; + } else { + peer = Fluence.getPeer(); + node_id = args[0]; + config = args[1]; + } + + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -203,16 +197,18 @@ config = args[1]; ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; + }); + h.on('getDataSrv', 'node_id', () => { + return node_id; }); - h.on('getDataSrv', 'node_id', () => {return node_id;}); h.onEvent('callbackSrv', 'response', (args) => { - const [res] = args; - resolve(res); -}); + const [res] = args; + resolve(res); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -222,13 +218,12 @@ config = args[1]; .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for tryCatchTest'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - diff --git a/src/compiled/examples/tryOtherwise.ts b/src/compiled/examples/tryOtherwise.ts index 30bfc36..acff51d 100644 --- a/src/compiled/examples/tryOtherwise.ts +++ b/src/compiled/examples/tryOtherwise.ts @@ -1,12 +1,12 @@ /** * * 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 * Aqua version: 0.3.0-SNAPSHOT * */ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { ResultCodes, RequestFlow, @@ -14,37 +14,40 @@ import { CallParams, } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; - // Services - export interface UnexistedDef { - getStr: (callParams: CallParams) => string; - } +export interface UnexistedDef { + getStr: (callParams: CallParams) => string; +} - export function registerUnexisted(service: UnexistedDef): void; +export function registerUnexisted(service: UnexistedDef): void; export function registerUnexisted(serviceId: string, service: UnexistedDef): void; export function registerUnexisted(peer: FluencePeer, service: UnexistedDef): void; export function registerUnexisted(peer: FluencePeer, serviceId: string, service: UnexistedDef): void; - export function registerUnexisted(...args: any) { +export function registerUnexisted(...args: any) { let peer: FluencePeer; let serviceId: any; let service: any; - if (args[0] instanceof FluencePeer) { + if (FluencePeer.isInstance(args[0])) { peer = args[0]; } else { - peer = FluencePeer.default; + peer = Fluence.getPeer(); } if (typeof args[0] === 'string') { serviceId = args[0]; } else if (typeof args[1] === 'string') { serviceId = args[1]; - } - else { - serviceId = "unex" -} + } else { + serviceId = 'unex'; + } - if (!(args[0] instanceof FluencePeer) && typeof args[0] === 'object') { + // Figuring out which overload is the service. + // If the first argument is not Fluence Peer and it is an object, then it can only be the service def + // If the first argument is peer, we are checking further. The second argument might either be + // an object, that it must be the service object + // or a string, which is the service id. In that case the service is the third argument + if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { service = args[0]; } else if (typeof args[1] === 'object') { service = args[1]; @@ -52,61 +55,57 @@ export function registerUnexisted(peer: FluencePeer, serviceId: string, service: service = args[2]; } - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'getStr') { - - const callParams = { - ...req.particleContext, - tetraplets: { - - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.getStr(callParams) + peer.internals.callServiceHandler.use((req, resp, next) => { + if (req.serviceId !== serviceId) { + next(); + return; + } - } - - - next(); - }); - } - + if (req.fnName === 'getStr') { + const callParams = { + ...req.particleContext, + tetraplets: {}, + }; + resp.retCode = ResultCodes.success; + resp.result = service.getStr(callParams); + } + next(); + }); +} - export interface OpEDef { - identity: (s: string, callParams: CallParams<'s'>) => string; - } +export interface OpEDef { + identity: (s: string, callParams: CallParams<'s'>) => string; +} - export function registerOpE(service: OpEDef): void; +export function registerOpE(service: OpEDef): void; export function registerOpE(serviceId: string, service: OpEDef): void; export function registerOpE(peer: FluencePeer, service: OpEDef): void; export function registerOpE(peer: FluencePeer, serviceId: string, service: OpEDef): void; - export function registerOpE(...args: any) { +export function registerOpE(...args: any) { let peer: FluencePeer; let serviceId: any; let service: any; - if (args[0] instanceof FluencePeer) { + if (FluencePeer.isInstance(args[0])) { peer = args[0]; } else { - peer = FluencePeer.default; + peer = Fluence.getPeer(); } if (typeof args[0] === 'string') { serviceId = args[0]; } else if (typeof args[1] === 'string') { serviceId = args[1]; - } - else { - serviceId = "op" -} + } else { + serviceId = 'op'; + } - if (!(args[0] instanceof FluencePeer) && typeof args[0] === 'object') { + // Figuring out which overload is the service. + // If the first argument is not Fluence Peer and it is an object, then it can only be the service def + // If the first argument is peer, we are checking further. The second argument might either be + // an object, that it must be the service object + // or a string, which is the service id. In that case the service is the third argument + if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { service = args[0]; } else if (typeof args[1] === 'object') { service = args[1]; @@ -114,56 +113,51 @@ export function registerOpE(peer: FluencePeer, serviceId: string, service: OpEDe service = args[2]; } - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'identity') { - - const callParams = { - ...req.particleContext, - tetraplets: { - s: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.identity(req.args[0], callParams) + peer.internals.callServiceHandler.use((req, resp, next) => { + if (req.serviceId !== serviceId) { + next(); + return; + } - } - - - next(); - }); - } - + if (req.fnName === 'identity') { + const callParams = { + ...req.particleContext, + tetraplets: { + s: req.tetraplets[0], + }, + }; + resp.retCode = ResultCodes.success; + resp.result = service.identity(req.args[0], callParams); + } + + next(); + }); +} // Functions - export function tryOtherwiseTest(node_id: string, config?: {ttl?: number}) : Promise; - export function tryOtherwiseTest(peer: FluencePeer, node_id: string, config?: {ttl?: number}) : Promise; - export function tryOtherwiseTest(...args: any) { - let peer: FluencePeer; - let node_id: any; - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - node_id = args[1]; -config = args[2]; - } else { - peer = FluencePeer.default; - node_id = args[0]; -config = args[1]; - } - - let request: RequestFlow; - const promise = new Promise((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` +export function tryOtherwiseTest(node_id: string, config?: { ttl?: number }): Promise; +export function tryOtherwiseTest(peer: FluencePeer, node_id: string, config?: { ttl?: number }): Promise; +export function tryOtherwiseTest(...args: any) { + let peer: FluencePeer; + let node_id: any; + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + node_id = args[1]; + config = args[2]; + } else { + peer = Fluence.getPeer(); + node_id = args[0]; + config = args[1]; + } + + let request: RequestFlow; + const promise = new Promise((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -197,16 +191,18 @@ config = args[1]; ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; + }); + h.on('getDataSrv', 'node_id', () => { + return node_id; }); - h.on('getDataSrv', 'node_id', () => {return node_id;}); h.onEvent('callbackSrv', 'response', (args) => { - const [res] = args; - resolve(res); -}); + const [res] = args; + resolve(res); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -216,13 +212,12 @@ config = args[1]; .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for tryOtherwiseTest'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - diff --git a/src/compiled/examples/via.ts b/src/compiled/examples/via.ts index 2f206cb..92eb817 100644 --- a/src/compiled/examples/via.ts +++ b/src/compiled/examples/via.ts @@ -1,12 +1,12 @@ /** * * 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 * Aqua version: 0.3.0-SNAPSHOT * */ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { ResultCodes, RequestFlow, @@ -14,37 +14,40 @@ import { CallParams, } from '@fluencelabs/fluence/dist/internal/compilerSupport/v1'; - // Services - export interface CustomIdDef { - id: (s: string, callParams: CallParams<'s'>) => string; - } +export interface CustomIdDef { + id: (s: string, callParams: CallParams<'s'>) => string; +} - export function registerCustomId(service: CustomIdDef): void; +export function registerCustomId(service: CustomIdDef): void; export function registerCustomId(serviceId: string, service: CustomIdDef): void; export function registerCustomId(peer: FluencePeer, service: CustomIdDef): void; export function registerCustomId(peer: FluencePeer, serviceId: string, service: CustomIdDef): void; - export function registerCustomId(...args: any) { +export function registerCustomId(...args: any) { let peer: FluencePeer; let serviceId: any; let service: any; - if (args[0] instanceof FluencePeer) { + if (FluencePeer.isInstance(args[0])) { peer = args[0]; } else { - peer = FluencePeer.default; + peer = Fluence.getPeer(); } if (typeof args[0] === 'string') { serviceId = args[0]; } else if (typeof args[1] === 'string') { serviceId = args[1]; - } - else { - serviceId = "cid" -} + } else { + serviceId = 'cid'; + } - if (!(args[0] instanceof FluencePeer) && typeof args[0] === 'object') { + // Figuring out which overload is the service. + // If the first argument is not Fluence Peer and it is an object, then it can only be the service def + // If the first argument is peer, we are checking further. The second argument might either be + // an object, that it must be the service object + // or a string, which is the service id. In that case the service is the third argument + if (!FluencePeer.isInstance(args[0]) && typeof args[0] === 'object') { service = args[0]; } else if (typeof args[1] === 'object') { service = args[1]; @@ -52,59 +55,63 @@ export function registerCustomId(peer: FluencePeer, serviceId: string, service: service = args[2]; } - peer.internals.callServiceHandler.use((req, resp, next) => { - if (req.serviceId !== serviceId) { - next(); - return; - } - - - if (req.fnName === 'id') { - - const callParams = { - ...req.particleContext, - tetraplets: { - s: req.tetraplets[0] - }, - }; - resp.retCode = ResultCodes.success; - resp.result = service.id(req.args[0], callParams) + peer.internals.callServiceHandler.use((req, resp, next) => { + if (req.serviceId !== serviceId) { + next(); + return; + } - } - - - next(); - }); - } - + if (req.fnName === 'id') { + const callParams = { + ...req.particleContext, + tetraplets: { + s: req.tetraplets[0], + }, + }; + resp.retCode = ResultCodes.success; + resp.result = service.id(req.args[0], callParams); + } + + next(); + }); +} // Functions - export function viaArr(node_id: string, viaAr: string[], config?: {ttl?: number}) : Promise<{external_addresses:string[]}>; - export function viaArr(peer: FluencePeer, node_id: string, viaAr: string[], config?: {ttl?: number}) : Promise<{external_addresses:string[]}>; - export function viaArr(...args: any) { - let peer: FluencePeer; - let node_id: any; -let viaAr: any; - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - node_id = args[1]; -viaAr = args[2]; -config = args[3]; - } else { - peer = FluencePeer.default; - node_id = args[0]; -viaAr = args[1]; -config = args[2]; - } - - let request: RequestFlow; - const promise = new Promise<{external_addresses:string[]}>((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` +export function viaArr( + node_id: string, + viaAr: string[], + config?: { ttl?: number }, +): Promise<{ external_addresses: string[] }>; +export function viaArr( + peer: FluencePeer, + node_id: string, + viaAr: string[], + config?: { ttl?: number }, +): Promise<{ external_addresses: string[] }>; +export function viaArr(...args: any) { + let peer: FluencePeer; + let node_id: any; + let viaAr: any; + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + node_id = args[1]; + viaAr = args[2]; + config = args[3]; + } else { + peer = Fluence.getPeer(); + node_id = args[0]; + viaAr = args[1]; + config = args[2]; + } + + let request: RequestFlow; + const promise = new Promise<{ external_addresses: string[] }>((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -165,17 +172,21 @@ config = args[2]; ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; + }); + h.on('getDataSrv', 'node_id', () => { + return node_id; + }); + h.on('getDataSrv', 'viaAr', () => { + return viaAr; }); - h.on('getDataSrv', 'node_id', () => {return node_id;}); -h.on('getDataSrv', 'viaAr', () => {return viaAr;}); h.onEvent('callbackSrv', 'response', (args) => { - const [res] = args; - resolve(res); -}); + const [res] = args; + resolve(res); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -185,43 +196,50 @@ h.on('getDataSrv', 'viaAr', () => {return viaAr;}); .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for viaArr'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - +export function viaStream( + node_id: string, + viaStr: string[], + config?: { ttl?: number }, +): Promise<{ external_addresses: string[] }>; +export function viaStream( + peer: FluencePeer, + node_id: string, + viaStr: string[], + config?: { ttl?: number }, +): Promise<{ external_addresses: string[] }>; +export function viaStream(...args: any) { + let peer: FluencePeer; + let node_id: any; + let viaStr: any; + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + node_id = args[1]; + viaStr = args[2]; + config = args[3]; + } else { + peer = Fluence.getPeer(); + node_id = args[0]; + viaStr = args[1]; + config = args[2]; + } - export function viaStream(node_id: string, viaStr: string[], config?: {ttl?: number}) : Promise<{external_addresses:string[]}>; - export function viaStream(peer: FluencePeer, node_id: string, viaStr: string[], config?: {ttl?: number}) : Promise<{external_addresses:string[]}>; - export function viaStream(...args: any) { - let peer: FluencePeer; - let node_id: any; -let viaStr: any; - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - node_id = args[1]; -viaStr = args[2]; -config = args[3]; - } else { - peer = FluencePeer.default; - node_id = args[0]; -viaStr = args[1]; -config = args[2]; - } - - let request: RequestFlow; - const promise = new Promise<{external_addresses:string[]}>((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` + let request: RequestFlow; + const promise = new Promise<{ external_addresses: string[] }>((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -290,17 +308,21 @@ config = args[2]; ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; + }); + h.on('getDataSrv', 'node_id', () => { + return node_id; + }); + h.on('getDataSrv', 'viaStr', () => { + return viaStr; }); - h.on('getDataSrv', 'node_id', () => {return node_id;}); -h.on('getDataSrv', 'viaStr', () => {return viaStr;}); h.onEvent('callbackSrv', 'response', (args) => { - const [res] = args; - resolve(res); -}); + const [res] = args; + resolve(res); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -310,46 +332,55 @@ h.on('getDataSrv', 'viaStr', () => {return viaStr;}); .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for viaStream'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - +export function viaOpt( + relay: string, + node_id: string, + viaOpt: string | null, + config?: { ttl?: number }, +): Promise<{ external_addresses: string[] }>; +export function viaOpt( + peer: FluencePeer, + relay: string, + node_id: string, + viaOpt: string | null, + config?: { ttl?: number }, +): Promise<{ external_addresses: string[] }>; +export function viaOpt(...args: any) { + let peer: FluencePeer; + let relay: any; + let node_id: any; + let viaOpt: any; + let config: any; + if (FluencePeer.isInstance(args[0])) { + peer = args[0]; + relay = args[1]; + node_id = args[2]; + viaOpt = args[3]; + config = args[4]; + } else { + peer = Fluence.getPeer(); + relay = args[0]; + node_id = args[1]; + viaOpt = args[2]; + config = args[3]; + } - export function viaOpt(relay: string, node_id: string, viaOpt: string | null, config?: {ttl?: number}) : Promise<{external_addresses:string[]}>; - export function viaOpt(peer: FluencePeer, relay: string, node_id: string, viaOpt: string | null, config?: {ttl?: number}) : Promise<{external_addresses:string[]}>; - export function viaOpt(...args: any) { - let peer: FluencePeer; - let relay: any; -let node_id: any; -let viaOpt: any; - let config: any; - if (args[0] instanceof FluencePeer) { - peer = args[0]; - relay = args[1]; -node_id = args[2]; -viaOpt = args[3]; -config = args[4]; - } else { - peer = FluencePeer.default; - relay = args[0]; -node_id = args[1]; -viaOpt = args[2]; -config = args[3]; - } - - let request: RequestFlow; - const promise = new Promise<{external_addresses:string[]}>((resolve, reject) => { - const r = new RequestFlowBuilder() - .disableInjections() - .withRawScript( - ` + let request: RequestFlow; + const promise = new Promise<{ external_addresses: string[] }>((resolve, reject) => { + const r = new RequestFlowBuilder() + .disableInjections() + .withRawScript( + ` (xor (seq (seq @@ -413,18 +444,24 @@ config = args[3]; ) `, - ) - .configHandler((h) => { - h.on('getDataSrv', '-relay-', () => { - return peer.connectionInfo.connectedRelay ; + ) + .configHandler((h) => { + h.on('getDataSrv', '-relay-', () => { + return peer.getStatus().relayPeerId; + }); + h.on('getDataSrv', 'relay', () => { + return relay; + }); + h.on('getDataSrv', 'node_id', () => { + return node_id; + }); + h.on('getDataSrv', 'viaOpt', () => { + return viaOpt === null ? [] : [viaOpt]; }); - h.on('getDataSrv', 'relay', () => {return relay;}); -h.on('getDataSrv', 'node_id', () => {return node_id;}); -h.on('getDataSrv', 'viaOpt', () => {return viaOpt === null ? [] : [viaOpt];}); h.onEvent('callbackSrv', 'response', (args) => { - const [res] = args; - resolve(res); -}); + const [res] = args; + resolve(res); + }); h.onEvent('errorHandlingSrv', 'error', (args) => { const [err] = args; @@ -434,13 +471,12 @@ h.on('getDataSrv', 'viaOpt', () => {return viaOpt === null ? [] : [viaOpt];}); .handleScriptError(reject) .handleTimeout(() => { reject('Request timed out for viaOpt'); - }) - if(config && config.ttl) { - r.withTTL(config.ttl) + }); + if (config && config.ttl) { + r.withTTL(config.ttl); } request = r.build(); }); peer.internals.initiateFlow(request!); return promise; } - diff --git a/src/examples/callArrowCall.ts b/src/examples/callArrowCall.ts index a017dac..3a2c2b8 100644 --- a/src/examples/callArrowCall.ts +++ b/src/examples/callArrowCall.ts @@ -1,8 +1,8 @@ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence } from '@fluencelabs/fluence'; import { passFunctionAsArg } from '../compiled/examples/callArrow'; export async function callArrowCall(): Promise { - const relayPeerId = FluencePeer.default.connectionInfo.connectedRelay; + const relayPeerId = Fluence.getPeer().getStatus().relayPeerId; return new Promise((resolve, reject) => { passFunctionAsArg(relayPeerId, 'callArrow call', (a: string) => { let result = 'Hello, ' + a + '!'; diff --git a/src/examples/coCall.ts b/src/examples/coCall.ts index 06326b2..f86e1d2 100644 --- a/src/examples/coCall.ts +++ b/src/examples/coCall.ts @@ -1,9 +1,9 @@ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence } from '@fluencelabs/fluence'; import { parFunc } from '../compiled/examples/par'; import { registerCoService } from '../compiled/examples/co'; export async function coCall(): Promise { - const relayPeerId = FluencePeer.default.connectionInfo.connectedRelay; + const relayPeerId = Fluence.getPeer().getStatus().relayPeerId; registerCoService({ call: () => { diff --git a/src/examples/complex.ts b/src/examples/complex.ts index d71efc4..0d814e7 100644 --- a/src/examples/complex.ts +++ b/src/examples/complex.ts @@ -1,9 +1,9 @@ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence } from '@fluencelabs/fluence'; import { doStuff, registerTestS } from '../compiled/examples/complex'; export async function complexCall() { - const relayPeerId = FluencePeer.default.connectionInfo.connectedRelay; - const selfPeerId = FluencePeer.default.connectionInfo.selfPeerId; + const relayPeerId = Fluence.getPeer().getStatus().relayPeerId; + const selfPeerId = Fluence.getPeer().getStatus().peerId; registerTestS({ t: (arg0) => { diff --git a/src/examples/foldCall.ts b/src/examples/foldCall.ts index dbbd5bf..d1733d2 100644 --- a/src/examples/foldCall.ts +++ b/src/examples/foldCall.ts @@ -1,8 +1,8 @@ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence } from '@fluencelabs/fluence'; import { iterateAndPrint, iterateAndPrintParallel } from '../compiled/examples/fold'; export async function foldCall() { - const relayPeerId = FluencePeer.default.connectionInfo.connectedRelay; + const relayPeerId = Fluence.getPeer().getStatus().relayPeerId; await iterateAndPrint([relayPeerId]); diff --git a/src/examples/foldJoinCall.ts b/src/examples/foldJoinCall.ts index 8ad2505..12853d2 100644 --- a/src/examples/foldJoinCall.ts +++ b/src/examples/foldJoinCall.ts @@ -1,7 +1,7 @@ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence } from '@fluencelabs/fluence'; import { getTwoResults } from '../compiled/examples/foldJoin'; export async function foldJoinCall(): Promise { - const relayPeerId = FluencePeer.default.connectionInfo.connectedRelay; + const relayPeerId = Fluence.getPeer().getStatus().relayPeerId; return await getTwoResults(relayPeerId); } diff --git a/src/examples/onCall.ts b/src/examples/onCall.ts index c3b70df..687b296 100644 --- a/src/examples/onCall.ts +++ b/src/examples/onCall.ts @@ -1,7 +1,7 @@ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence } from '@fluencelabs/fluence'; import { getPeerExternalAddresses } from '../compiled/examples/on'; export async function onCall(): Promise { - const relayPeerId = FluencePeer.default.connectionInfo.connectedRelay; + const relayPeerId = Fluence.getPeer().getStatus().relayPeerId; return await getPeerExternalAddresses(relayPeerId); } diff --git a/src/examples/parCall.ts b/src/examples/parCall.ts index 34d08fc..f58f4c8 100644 --- a/src/examples/parCall.ts +++ b/src/examples/parCall.ts @@ -1,8 +1,8 @@ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence } from '@fluencelabs/fluence'; import { parFunc, registerParService } from '../compiled/examples/par'; export async function parCall() { - const relayPeerId = FluencePeer.default.connectionInfo.connectedRelay; + const relayPeerId = Fluence.getPeer().getStatus().relayPeerId; let promise = new Promise((resolve, reject) => { registerParService({ diff --git a/src/examples/topologyCall.ts b/src/examples/topologyCall.ts index 5e41ec7..c7ae1bc 100644 --- a/src/examples/topologyCall.ts +++ b/src/examples/topologyCall.ts @@ -1,12 +1,12 @@ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { topologyTest, registerTesto, registerLocalPrint } from '../compiled/examples/topology'; export async function topologyCall(peer2: FluencePeer): Promise { - const relayPeerId = FluencePeer.default.connectionInfo.connectedRelay; - const selfPeerId = FluencePeer.default.connectionInfo.selfPeerId; + const relayPeerId = Fluence.getPeer().getStatus().relayPeerId; + const selfPeerId = Fluence.getPeer().getStatus().peerId; - const relayPeerId2 = peer2.connectionInfo.connectedRelay; - const selfPeerId2 = peer2.connectionInfo.selfPeerId; + const relayPeerId2 = peer2.getStatus().relayPeerId; + const selfPeerId2 = peer2.getStatus().peerId; registerTesto(peer2, { getString: (args0) => { diff --git a/src/examples/tryCatchCall.ts b/src/examples/tryCatchCall.ts index aaf8896..f2fa8f4 100644 --- a/src/examples/tryCatchCall.ts +++ b/src/examples/tryCatchCall.ts @@ -1,7 +1,7 @@ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence } from '@fluencelabs/fluence'; import { tryCatchTest } from '../compiled/examples/tryCatch'; export async function tryCatchCall(): Promise { - const relayPeerId = FluencePeer.default.connectionInfo.connectedRelay; + const relayPeerId = Fluence.getPeer().getStatus().relayPeerId; return await tryCatchTest(relayPeerId); } diff --git a/src/examples/tryOtherwiseCall.ts b/src/examples/tryOtherwiseCall.ts index 7ebec8b..9280fba 100644 --- a/src/examples/tryOtherwiseCall.ts +++ b/src/examples/tryOtherwiseCall.ts @@ -1,7 +1,7 @@ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence } from '@fluencelabs/fluence'; import { tryOtherwiseTest } from '../compiled/examples/tryOtherwise'; export async function tryOtherwiseCall(): Promise { - const relayPeerId = FluencePeer.default.connectionInfo.connectedRelay; + const relayPeerId = Fluence.getPeer().getStatus().relayPeerId; return await tryOtherwiseTest(relayPeerId); } diff --git a/src/examples/viaCall.ts b/src/examples/viaCall.ts index e9a2d01..035b4b8 100644 --- a/src/examples/viaCall.ts +++ b/src/examples/viaCall.ts @@ -1,9 +1,9 @@ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence } from '@fluencelabs/fluence'; import { krasnodar } from '@fluencelabs/fluence-network-environment'; import { viaArr, viaOpt, viaStream, registerCustomId } from '../compiled/examples/via'; export async function viaCall(): Promise { - const relayPeerId = FluencePeer.default.connectionInfo.connectedRelay; + const relayPeerId = Fluence.getPeer().getStatus().relayPeerId; registerCustomId({ id: (args0) => { diff --git a/src/index.ts b/src/index.ts index b6e1e5c..833fd90 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,12 +1,12 @@ #!/usr/bin/env node -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { krasnodar } from '@fluencelabs/fluence-network-environment'; import { helloWorld, registerStringExtra } from './compiled/examples/helloWorld'; const main = async () => { // each compiled aqua function require a connected client - await FluencePeer.default.init({ connectTo: krasnodar[0] }); + await Fluence.start({ connectTo: krasnodar[0] }); // example to how register a local service // it could be used in aqua code as follows diff --git a/src/pubsub.ts b/src/pubsub.ts index d14ef0c..13de84a 100644 --- a/src/pubsub.ts +++ b/src/pubsub.ts @@ -1,9 +1,9 @@ -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence } from '@fluencelabs/fluence'; import { krasnodar } from '@fluencelabs/fluence-network-environment'; import { getNeighbours, initTopicAndSubscribe, findSubscribers } from './compiled/dht/dht-example'; const main = async () => { - await FluencePeer.default.init({ connectTo: krasnodar[0] }); + await Fluence.start({ connectTo: krasnodar[0] }); const relayPeerId = krasnodar[0].peerId; const nodes = await getNeighbours(relayPeerId, 'random'); diff --git a/src/run-examples.ts b/src/run-examples.ts index 321d4f4..8da9dfd 100644 --- a/src/run-examples.ts +++ b/src/run-examples.ts @@ -1,6 +1,6 @@ #!/usr/bin/env node -import { FluencePeer } from '@fluencelabs/fluence'; +import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { krasnodar, testNet } from '@fluencelabs/fluence-network-environment'; import { registerPrintln } from './compiled/examples/println'; import { callArrowCall } from './examples/callArrowCall'; @@ -13,7 +13,7 @@ import { ifCall } from './examples/if'; import { parCall } from './examples/parCall'; import { complexCall } from './examples/complex'; import { constantsCall } from './examples/constantsCall'; -import {returnNilCall, returnNoneCall, streamCall} from './examples/streamCall'; +import { returnNilCall, returnNoneCall, streamCall } from './examples/streamCall'; import { topologyCall } from './examples/topologyCall'; import { foldJoinCall } from './examples/foldJoinCall'; import { registerHandlers, returnNull, returnOptionalCall, useOptionalCall } from './examples/useOptionalCall'; @@ -30,7 +30,7 @@ import { pushToStreamCall } from './examples/pushToStreamCall'; import { literalCall } from './examples/returnLiteralCall'; import { multiReturnCall } from './examples/multiReturnCall'; import { declareCall } from './examples/declareCall'; -import {genOptions} from "./examples/optionsCall"; +import { genOptions } from './examples/optionsCall'; let deepEqual = require('deep-equal'); function checkCall(name: string, actual: any, expected: any, callBackOnError: () => void) { @@ -57,11 +57,11 @@ function checkCallBy(name: string, actual: any, by: (res: any) => boolean, callB const main = async () => { // setLogLevel("trace") - await FluencePeer.default.init({ connectTo: krasnodar[0] }); - const selfPeerId = FluencePeer.default.connectionInfo.selfPeerId; + await Fluence.start({ connectTo: krasnodar[0] }); + const selfPeerId = Fluence.getStatus().peerId; const peer2 = new FluencePeer(); - await peer2.init({ connectTo: krasnodar[1] }); + await peer2.start({ connectTo: krasnodar[1] }); // this could be called from `println.aqua` registerPrintln({ @@ -226,8 +226,8 @@ const main = async () => { let optionGenResult = await genOptions(); checkCall('optionGenResult', optionGenResult, ['none', 'some'], cb); - await FluencePeer.default.uninit(); - await peer2.uninit(); + await Fluence.stop(); + await peer2.stop(); if (success) { process.exit(0);