ci: Add periodic healtchecks (#21)

* Use env variable to set where to run tests

* Bump aqua version

* Add periodic healtcheck

* Report to slack on failure

* Retry tests 3 times
This commit is contained in:
Anatoly Laskaris 2022-09-26 16:47:52 +03:00 committed by GitHub
parent bcd8cf6122
commit 0daae14bf8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 403 additions and 147 deletions

23
.github/workflows/healthcheck.yml vendored Normal file
View File

@ -0,0 +1,23 @@
name: Periodic healthcheck
on:
schedule:
- cron: '0 * * * *'
concurrency:
group: "${{ github.workflow }}-${{ github.ref }}"
cancel-in-progress: true
jobs:
health:
strategy:
matrix:
env:
- krasnodar
- testnet
- stage
uses: ./.github/workflows/tests.yml
with:
fluence-env: ${{ matrix.env }}

View File

@ -3,6 +3,10 @@ name: Run tests with workflow_call
on:
workflow_call:
inputs:
fluence-env:
description: "Fluence enviroment to run tests agains"
type: string
default: "local"
rust-peer-image:
description: "rust-peer image tag"
type: string
@ -17,6 +21,7 @@ on:
env:
FORCE_COLOR: true
RUST_PEER_IMAGE: "${{ inputs.rust-peer-image }}"
FLUENCE_ENV: "${{ inputs.fluence-env }}"
jobs:
aqua-playground:
@ -40,7 +45,8 @@ jobs:
secrets: |
kv/docker-registry/basicauth/ci username | DOCKER_USERNAME ;
kv/docker-registry/basicauth/ci password | DOCKER_PASSWORD ;
kv/npm-registry/basicauth/ci token | NODE_AUTH_TOKEN
kv/npm-registry/basicauth/ci token | NODE_AUTH_TOKEN;
kv/slack/node-alerts webhook | INCOMING_WEBHOOK_URL
- name: Login to DockerHub
uses: docker/login-action@v2
@ -68,9 +74,6 @@ jobs:
compose-file: ".github/e2e/docker-compose.yml"
down-flags: "--volumes"
- name: Prepare config
run: cat .github/e2e/config.ts > src/config.ts
- name: Setup node with self-hosted registry
uses: actions/setup-node@v3
with:
@ -95,3 +98,27 @@ jobs:
- run: npm run compile-aqua -- -c "UNIQUE_CONST = 1" -c "ANOTHER_CONST = \"ab\""
- run: npm run build
- run: npm run test
- name: Report failure to slack
if: inputs.fluence-env != 'local' && failure()
uses: tokorom/action-slack-incoming-webhook@v1.1.4
with:
text: aqua-playground healthcheck failed
attachments: |
[
{
"color": "bad",
"author_name": "${{ github.actor }}",
"author_icon": "${{ github.event.sender.avatar_url }}",
"fields": [
{
"title": "Fluence environment",
"value": "${{ inputs.fluence-env }}"
},
{
"title": "GitHub Actions URL",
"value": "${{ github.event.repository.url }}/actions/runs/${{ github.run_id }}"
},
]
}
]

345
package-lock.json generated
View File

@ -18,10 +18,11 @@
"fldist": "dist/index.js"
},
"devDependencies": {
"@fluencelabs/aqua": "0.7.4-336",
"@fluencelabs/aqua": "0.7.5-339",
"@fluencelabs/aqua-dht": "0.2.5",
"@fluencelabs/aqua-lib": "0.4.3",
"@types/jest": "^27.0.2",
"@types/node": "^18.7.21",
"jest": "^27.2.4",
"js-base64": "^3.7.2",
"ts-jest": "^27.0.5",
@ -579,13 +580,14 @@
"license": "MIT"
},
"node_modules/@fluencelabs/aqua": {
"version": "0.7.4-336",
"version": "0.7.5-339",
"resolved": "https://registry.npmjs.org/@fluencelabs/aqua/-/aqua-0.7.5-339.tgz",
"integrity": "sha512-X4e3FK7gJfCpPxD3vnl2IKnG3rC8a9c/9ETARHAItoUoLgceSAaequpaSB1bP1pinwjAPEINE7BFlQKkndDPUA==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
"@fluencelabs/aqua-ipfs": "0.5.2",
"@fluencelabs/aqua-lib": "0.5.1",
"@fluencelabs/fluence": "0.23.1",
"@fluencelabs/aqua-ipfs": "0.5.5",
"@fluencelabs/aqua-lib": "0.5.2",
"@fluencelabs/fluence": "0.23.4",
"@fluencelabs/fluence-network-environment": "1.0.13",
"ipfs-http-client": "50.1.2"
},
@ -644,17 +646,19 @@
"license": "MIT"
},
"node_modules/@fluencelabs/aqua-ipfs": {
"version": "0.5.2",
"version": "0.5.5",
"resolved": "https://registry.npmjs.org/@fluencelabs/aqua-ipfs/-/aqua-ipfs-0.5.5.tgz",
"integrity": "sha512-TBSClVs2r3FhgxVFSDPXzJNP0/EqHbIaVSY9U6LTzBDUdZDItu8Yt+Rsjj4LX5X4kOwo94ADkYG0UG8nKC1L5A==",
"dev": true,
"license": "MIT",
"dependencies": {
"@fluencelabs/aqua-lib": "^0.1.14"
"@fluencelabs/aqua-lib": "^0.5.2"
}
},
"node_modules/@fluencelabs/aqua-ipfs/node_modules/@fluencelabs/aqua-lib": {
"version": "0.1.14",
"dev": true,
"license": "MIT"
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/@fluencelabs/aqua-lib/-/aqua-lib-0.5.2.tgz",
"integrity": "sha512-fmoFFE8myhLH9d+YR0+0ZPL2YIQyR6M1woAGu5d1xXI02Sjzn4id6dE4PpxHb8cSBPRie8AwsKobHCNqGxI8oA==",
"dev": true
},
"node_modules/@fluencelabs/aqua-lib": {
"version": "0.4.3",
@ -663,8 +667,9 @@
},
"node_modules/@fluencelabs/aqua/node_modules/@chainsafe/libp2p-noise": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/@chainsafe/libp2p-noise/-/libp2p-noise-4.1.2.tgz",
"integrity": "sha512-UvZLWvIS7bAz6M8XfsnC/NhT1c/lg8NNsME1hTvo21kRwyxNFpB8gEhId03Cb5B23oIaHhMySAHBcpuMiSxQ2w==",
"dev": true,
"license": "MIT",
"dependencies": {
"@stablelib/chacha20poly1305": "^1.0.1",
"@stablelib/hkdf": "^1.0.1",
@ -683,18 +688,20 @@
}
},
"node_modules/@fluencelabs/aqua/node_modules/@fluencelabs/aqua-lib": {
"version": "0.5.1",
"dev": true,
"license": "MIT"
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/@fluencelabs/aqua-lib/-/aqua-lib-0.5.2.tgz",
"integrity": "sha512-fmoFFE8myhLH9d+YR0+0ZPL2YIQyR6M1woAGu5d1xXI02Sjzn4id6dE4PpxHb8cSBPRie8AwsKobHCNqGxI8oA==",
"dev": true
},
"node_modules/@fluencelabs/aqua/node_modules/@fluencelabs/fluence": {
"version": "0.23.1",
"version": "0.23.4",
"resolved": "https://registry.npmjs.org/@fluencelabs/fluence/-/fluence-0.23.4.tgz",
"integrity": "sha512-Ze67mD4ihDrQEN81UQe4gKmkiTBZgvKY87tBgIkuUsBqS8n7XF9tai/5LGgpV5qi3P4vnyh2VPmYURac/QS6YQ==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
"@chainsafe/libp2p-noise": "^4.1.1",
"@fluencelabs/avm": "0.24.2",
"@fluencelabs/marine-js": "0.2.5",
"@fluencelabs/avm": "0.25.0",
"@fluencelabs/marine-js": "0.3.5",
"async": "3.2.3",
"browser-or-node": "^2.0.0",
"bs58": "5.0.0",
@ -702,6 +709,7 @@
"cids": "1.1.9",
"it-length-prefixed": "5.0.3",
"it-pipe": "1.1.0",
"js-base64": "^3.7.2",
"libp2p": "0.36.2",
"libp2p-crypto": "0.21.2",
"libp2p-mplex": "0.10.7",
@ -721,8 +729,9 @@
},
"node_modules/@fluencelabs/aqua/node_modules/@fluencelabs/fluence/node_modules/libp2p-crypto": {
"version": "0.21.2",
"resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.21.2.tgz",
"integrity": "sha512-EXFrhSpiHtJ+/L8xXDvQNK5VjUMG51u878jzZcaT5XhuN/zFg6PWJFnl/qB2Y2j7eMWnvCRP7Kp+ua2H36cG4g==",
"dev": true,
"license": "MIT",
"dependencies": {
"@noble/ed25519": "^1.5.1",
"@noble/secp256k1": "^1.3.0",
@ -739,8 +748,9 @@
},
"node_modules/@fluencelabs/aqua/node_modules/@fluencelabs/fluence/node_modules/peer-id": {
"version": "0.16.0",
"resolved": "https://registry.npmjs.org/peer-id/-/peer-id-0.16.0.tgz",
"integrity": "sha512-EmL7FurFUduU9m1PS9cfJ5TAuCvxKQ7DKpfx3Yj6IKWyBRtosriFuOag/l3ni/dtPgPLwiA4R9IvpL7hsDLJuQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"class-is": "^1.1.0",
"libp2p-crypto": "^0.21.0",
@ -754,23 +764,27 @@
},
"node_modules/@fluencelabs/aqua/node_modules/any-signal": {
"version": "3.0.1",
"dev": true,
"license": "MIT"
"resolved": "https://registry.npmjs.org/any-signal/-/any-signal-3.0.1.tgz",
"integrity": "sha512-xgZgJtKEa9YmDqXodIgl7Fl1C8yNXr8w6gXjqK3LW4GcEiYT+6AQfJSE/8SPsEpLLmcvbv8YU+qet94UewHxqg==",
"dev": true
},
"node_modules/@fluencelabs/aqua/node_modules/async": {
"version": "3.2.3",
"dev": true,
"license": "MIT"
"resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz",
"integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==",
"dev": true
},
"node_modules/@fluencelabs/aqua/node_modules/base-x": {
"version": "4.0.0",
"dev": true,
"license": "MIT"
"resolved": "https://registry.npmjs.org/base-x/-/base-x-4.0.0.tgz",
"integrity": "sha512-FuwxlW4H5kh37X/oW59pwTzzTKRzfrrQwhmyspRM7swOEZcHtDZSCt45U6oKgtuFE+WYPblePMVIPR4RZrh/hw==",
"dev": true
},
"node_modules/@fluencelabs/aqua/node_modules/bl": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/bl/-/bl-5.0.0.tgz",
"integrity": "sha512-8vxFNZ0pflFfi0WXA3WQXlj6CaMEwsmh63I1CNp0q+wWv8sD0ARx1KovSQd0l2GkwrMIOyedq0EF1FxI+RCZLQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"buffer": "^6.0.3",
"inherits": "^2.0.4",
@ -779,14 +793,17 @@
},
"node_modules/@fluencelabs/aqua/node_modules/bs58": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/bs58/-/bs58-5.0.0.tgz",
"integrity": "sha512-r+ihvQJvahgYT50JD05dyJNKlmmSlMoOGwn1lCcEzanPglg7TxYjioQUYehQ9mAR/+hOSd2jRc/Z2y5UxBymvQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"base-x": "^4.0.0"
}
},
"node_modules/@fluencelabs/aqua/node_modules/buffer": {
"version": "6.0.3",
"resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
"integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
"dev": true,
"funding": [
{
@ -802,7 +819,6 @@
"url": "https://feross.org/support"
}
],
"license": "MIT",
"dependencies": {
"base64-js": "^1.3.1",
"ieee754": "^1.2.1"
@ -810,8 +826,10 @@
},
"node_modules/@fluencelabs/aqua/node_modules/cids": {
"version": "1.1.9",
"resolved": "https://registry.npmjs.org/cids/-/cids-1.1.9.tgz",
"integrity": "sha512-l11hWRfugIcbGuTZwAM5PwpjPPjyb6UZOGwlHSnOBV5o07XhQ4gNpBN67FbODvpjyHtd+0Xs6KNvUcGBiDRsdg==",
"deprecated": "This module has been superseded by the multiformats module",
"dev": true,
"license": "MIT",
"dependencies": {
"multibase": "^4.0.1",
"multicodec": "^3.0.1",
@ -825,16 +843,18 @@
},
"node_modules/@fluencelabs/aqua/node_modules/es6-promisify": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-7.0.0.tgz",
"integrity": "sha512-ginqzK3J90Rd4/Yz7qRrqUeIpe3TwSXTPPZtPne7tGBPeAaQiU8qt4fpKApnxHcq1AwtUdHVg5P77x/yrggG8Q==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/@fluencelabs/aqua/node_modules/interface-datastore": {
"version": "6.1.1",
"resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-6.1.1.tgz",
"integrity": "sha512-AmCS+9CT34pp2u0QQVXjKztkuq3y5T+BIciuiHDDtDZucZD8VudosnSdUyXJV6IsRkN5jc4RFDhCk1O6Q3Gxjg==",
"dev": true,
"license": "MIT",
"dependencies": {
"interface-store": "^2.0.2",
"nanoid": "^3.0.2",
@ -843,13 +863,15 @@
},
"node_modules/@fluencelabs/aqua/node_modules/interface-store": {
"version": "2.0.2",
"dev": true,
"license": "(Apache-2.0 OR MIT)"
"resolved": "https://registry.npmjs.org/interface-store/-/interface-store-2.0.2.tgz",
"integrity": "sha512-rScRlhDcz6k199EkHqT8NpM87ebN89ICOzILoBHgaG36/WX50N32BnU/kpZgCGPLhARRAWUUX5/cyaIjt7Kipg==",
"dev": true
},
"node_modules/@fluencelabs/aqua/node_modules/ipfs-utils": {
"version": "9.0.7",
"resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-9.0.7.tgz",
"integrity": "sha512-Umvb0Zydy2zZiTmQBGLfLISr8vOmXX8cxEIP+N8zGHrtRShG/j32yl1xd/BtS+Hbg0FIbVm3opwvxB2gmta0YA==",
"dev": true,
"license": "MIT",
"dependencies": {
"any-signal": "^3.0.0",
"buffer": "^6.0.1",
@ -869,8 +891,9 @@
},
"node_modules/@fluencelabs/aqua/node_modules/it-glob": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/it-glob/-/it-glob-1.0.2.tgz",
"integrity": "sha512-Ch2Dzhw4URfB9L/0ZHyY+uqOnKvBNeS/SMcRiPmJfpHiM0TsUZn+GkpcZxAoF3dJVdPm/PuIk3A4wlV7SUo23Q==",
"dev": true,
"license": "ISC",
"dependencies": {
"@types/minimatch": "^3.0.4",
"minimatch": "^3.0.4"
@ -878,8 +901,9 @@
},
"node_modules/@fluencelabs/aqua/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==",
"dev": true,
"license": "MIT",
"dependencies": {
"bl": "^5.0.0",
"buffer": "^6.0.3",
@ -888,13 +912,15 @@
},
"node_modules/@fluencelabs/aqua/node_modules/it-length-prefixed/node_modules/varint": {
"version": "6.0.0",
"dev": true,
"license": "MIT"
"resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz",
"integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==",
"dev": true
},
"node_modules/@fluencelabs/aqua/node_modules/libp2p": {
"version": "0.36.2",
"resolved": "https://registry.npmjs.org/libp2p/-/libp2p-0.36.2.tgz",
"integrity": "sha512-UpNYBMQVivMu56zoibdGitopv39uBBAybIBOEGWmFy/I2NnTVGUutLPrxo47AuN2kntYgo/TNJfW+PpswUgSaw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@vascosantos/moving-average": "^1.1.0",
"abortable-iterator": "^3.0.0",
@ -957,8 +983,9 @@
},
"node_modules/@fluencelabs/aqua/node_modules/libp2p-interfaces": {
"version": "4.0.6",
"resolved": "https://registry.npmjs.org/libp2p-interfaces/-/libp2p-interfaces-4.0.6.tgz",
"integrity": "sha512-3KjzNEIWhi+VoOamLvgKKUE/xqwxSw/JYqsBnfMhAWVRvRtosROtVT03wci2XbuuowCYw+/hEX1xKJIR1w5n0A==",
"dev": true,
"license": "MIT",
"dependencies": {
"abortable-iterator": "^3.0.0",
"debug": "^4.3.1",
@ -977,8 +1004,9 @@
},
"node_modules/@fluencelabs/aqua/node_modules/libp2p-interfaces/node_modules/libp2p-crypto": {
"version": "0.21.2",
"resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.21.2.tgz",
"integrity": "sha512-EXFrhSpiHtJ+/L8xXDvQNK5VjUMG51u878jzZcaT5XhuN/zFg6PWJFnl/qB2Y2j7eMWnvCRP7Kp+ua2H36cG4g==",
"dev": true,
"license": "MIT",
"dependencies": {
"@noble/ed25519": "^1.5.1",
"@noble/secp256k1": "^1.3.0",
@ -995,8 +1023,9 @@
},
"node_modules/@fluencelabs/aqua/node_modules/libp2p-interfaces/node_modules/peer-id": {
"version": "0.16.0",
"resolved": "https://registry.npmjs.org/peer-id/-/peer-id-0.16.0.tgz",
"integrity": "sha512-EmL7FurFUduU9m1PS9cfJ5TAuCvxKQ7DKpfx3Yj6IKWyBRtosriFuOag/l3ni/dtPgPLwiA4R9IvpL7hsDLJuQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"class-is": "^1.1.0",
"libp2p-crypto": "^0.21.0",
@ -1010,8 +1039,9 @@
},
"node_modules/@fluencelabs/aqua/node_modules/libp2p-mplex": {
"version": "0.10.7",
"resolved": "https://registry.npmjs.org/libp2p-mplex/-/libp2p-mplex-0.10.7.tgz",
"integrity": "sha512-21VV0DZWuOsHgitWy1GZD1M/kki3a/hVoAJ5QC48p01JNSK5W8gxRiZtq7cCGJ/xNpbQxvMlMtS5eq8CFRlysg==",
"dev": true,
"license": "MIT",
"dependencies": {
"abortable-iterator": "^3.0.2",
"bl": "^5.0.0",
@ -1024,13 +1054,15 @@
},
"node_modules/@fluencelabs/aqua/node_modules/libp2p-mplex/node_modules/varint": {
"version": "6.0.0",
"dev": true,
"license": "MIT"
"resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz",
"integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==",
"dev": true
},
"node_modules/@fluencelabs/aqua/node_modules/libp2p-websockets": {
"version": "0.16.2",
"resolved": "https://registry.npmjs.org/libp2p-websockets/-/libp2p-websockets-0.16.2.tgz",
"integrity": "sha512-QGfo8jX1Ks16yi8C67CCyMW7k9cfCYiQ0lzKVJBud0fV3ymbMO2L8gzU6iXUUZTHILo8ka26zKhwQ4lmUMI+nA==",
"dev": true,
"license": "MIT",
"dependencies": {
"abortable-iterator": "^3.0.0",
"class-is": "^1.1.0",
@ -1048,8 +1080,9 @@
},
"node_modules/@fluencelabs/aqua/node_modules/libp2p/node_modules/libp2p-crypto": {
"version": "0.21.2",
"resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.21.2.tgz",
"integrity": "sha512-EXFrhSpiHtJ+/L8xXDvQNK5VjUMG51u878jzZcaT5XhuN/zFg6PWJFnl/qB2Y2j7eMWnvCRP7Kp+ua2H36cG4g==",
"dev": true,
"license": "MIT",
"dependencies": {
"@noble/ed25519": "^1.5.1",
"@noble/secp256k1": "^1.3.0",
@ -1066,8 +1099,9 @@
},
"node_modules/@fluencelabs/aqua/node_modules/libp2p/node_modules/peer-id": {
"version": "0.16.0",
"resolved": "https://registry.npmjs.org/peer-id/-/peer-id-0.16.0.tgz",
"integrity": "sha512-EmL7FurFUduU9m1PS9cfJ5TAuCvxKQ7DKpfx3Yj6IKWyBRtosriFuOag/l3ni/dtPgPLwiA4R9IvpL7hsDLJuQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"class-is": "^1.1.0",
"libp2p-crypto": "^0.21.0",
@ -1081,13 +1115,15 @@
},
"node_modules/@fluencelabs/aqua/node_modules/libp2p/node_modules/varint": {
"version": "6.0.0",
"dev": true,
"license": "MIT"
"resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz",
"integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==",
"dev": true
},
"node_modules/@fluencelabs/aqua/node_modules/loglevel": {
"version": "1.8.0",
"resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.8.0.tgz",
"integrity": "sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">= 0.6.0"
},
@ -1098,8 +1134,9 @@
},
"node_modules/@fluencelabs/aqua/node_modules/multiaddr": {
"version": "10.0.1",
"resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-10.0.1.tgz",
"integrity": "sha512-G5upNcGzEGuTHkzxezPrrD6CaIHR9uo+7MwqhNVcXTs33IInon4y7nMiGxl2CY5hG7chvYQUQhz5V52/Qe3cbg==",
"dev": true,
"license": "MIT",
"dependencies": {
"dns-over-http-resolver": "^1.2.3",
"err-code": "^3.0.1",
@ -1111,13 +1148,16 @@
},
"node_modules/@fluencelabs/aqua/node_modules/multiaddr/node_modules/varint": {
"version": "6.0.0",
"dev": true,
"license": "MIT"
"resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz",
"integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==",
"dev": true
},
"node_modules/@fluencelabs/aqua/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",
"dev": true,
"license": "MIT",
"dependencies": {
"@multiformats/base-x": "^4.0.1"
},
@ -1128,8 +1168,10 @@
},
"node_modules/@fluencelabs/aqua/node_modules/multicodec": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/multicodec/-/multicodec-3.2.1.tgz",
"integrity": "sha512-+expTPftro8VAW8kfvcuNNNBgb9gPeNYV9dn+z1kJRWF2vih+/S79f2RVeIwmrJBUJ6NT9IUPWnZDQvegEh5pw==",
"deprecated": "This module has been superseded by the multiformats module",
"dev": true,
"license": "MIT",
"dependencies": {
"uint8arrays": "^3.0.0",
"varint": "^6.0.0"
@ -1137,13 +1179,15 @@
},
"node_modules/@fluencelabs/aqua/node_modules/multicodec/node_modules/varint": {
"version": "6.0.0",
"dev": true,
"license": "MIT"
"resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz",
"integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==",
"dev": true
},
"node_modules/@fluencelabs/aqua/node_modules/multihashes": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/multihashes/-/multihashes-4.0.3.tgz",
"integrity": "sha512-0AhMH7Iu95XjDLxIeuCOOE4t9+vQZsACyKZ9Fxw2pcsRmlX4iCn1mby0hS0bb+nQOVpdQYWPpnyusw4da5RPhA==",
"dev": true,
"license": "MIT",
"dependencies": {
"multibase": "^4.0.1",
"uint8arrays": "^3.0.0",
@ -1156,8 +1200,9 @@
},
"node_modules/@fluencelabs/aqua/node_modules/multistream-select": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/multistream-select/-/multistream-select-3.0.2.tgz",
"integrity": "sha512-ICGA8DAviZj6Xo1NkaRV3J38M+tFDoWiGtO1ksluyMnskAsdGjAzocg806OzpQPivNGWWboX3CrFT2Tk4UdYXA==",
"dev": true,
"license": "MIT",
"dependencies": {
"abortable-iterator": "^3.0.0",
"bl": "^5.0.0",
@ -1175,6 +1220,8 @@
"node_modules/@fluencelabs/aqua/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==",
"dev": true,
"license": "MIT",
"engines": {
@ -1183,45 +1230,51 @@
},
"node_modules/@fluencelabs/aqua/node_modules/node-forge": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz",
"integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==",
"dev": true,
"license": "(BSD-3-Clause OR GPL-2.0)",
"engines": {
"node": ">= 6.13.0"
}
},
"node_modules/@fluencelabs/aqua/node_modules/retimer": {
"version": "3.0.0",
"dev": true,
"license": "MIT"
"resolved": "https://registry.npmjs.org/retimer/-/retimer-3.0.0.tgz",
"integrity": "sha512-WKE0j11Pa0ZJI5YIk0nflGI7SQsfl2ljihVy7ogh7DeQSeYAUi0ubZ/yEueGtDfUPk6GH5LRw1hBdLq4IwUBWA==",
"dev": true
},
"node_modules/@fluencelabs/aqua/node_modules/timeout-abort-controller": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/timeout-abort-controller/-/timeout-abort-controller-3.0.0.tgz",
"integrity": "sha512-O3e+2B8BKrQxU2YRyEjC/2yFdb33slI22WRdUaDx6rvysfi9anloNZyR2q0l6LnePo5qH7gSM7uZtvvwZbc2yA==",
"dev": true,
"license": "MIT",
"dependencies": {
"retimer": "^3.0.0"
}
},
"node_modules/@fluencelabs/aqua/node_modules/uint8arrays": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.0.tgz",
"integrity": "sha512-ei5rfKtoRO8OyOIor2Rz5fhzjThwIHJZ3uyDPnDHTXbP0aMQ1RN/6AI5B5d9dBxJOU+BvOAk7ZQ1xphsX8Lrog==",
"dev": true,
"license": "MIT",
"dependencies": {
"multiformats": "^9.4.2"
}
},
"node_modules/@fluencelabs/aqua/node_modules/uuid": {
"version": "8.3.2",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
"dev": true,
"license": "MIT",
"bin": {
"uuid": "dist/bin/uuid"
}
},
"node_modules/@fluencelabs/avm": {
"version": "0.24.2",
"dev": true,
"license": "Apache 2.0"
"version": "0.25.0",
"resolved": "https://registry.npmjs.org/@fluencelabs/avm/-/avm-0.25.0.tgz",
"integrity": "sha512-l5UX1fTXO8Xh1rsMrWVxsGLz49FX3gJu5M03acMtv7DIQzfr1so7298bFKN2iTx1BGVrqFLlr9aGcDjd8E3Ilw==",
"dev": true
},
"node_modules/@fluencelabs/connection": {
"version": "0.2.0",
@ -1988,9 +2041,10 @@
}
},
"node_modules/@fluencelabs/marine-js": {
"version": "0.2.5",
"version": "0.3.5",
"resolved": "https://registry.npmjs.org/@fluencelabs/marine-js/-/marine-js-0.3.5.tgz",
"integrity": "sha512-juE/3FZiTMHPynQ7/mIUFwWFNxZTALalaftgiFcz6OqALeX1NZi4I/PDlFzgX0FHFgNulvKa17/Xr/AO1fFiBg==",
"dev": true,
"license": "Apache 2.0",
"dependencies": {
"@wasmer/wasi": "^0.12.0",
"@wasmer/wasmfs": "^0.12.0",
@ -2002,6 +2056,8 @@
},
"node_modules/@fluencelabs/marine-js/node_modules/buffer": {
"version": "6.0.3",
"resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
"integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
"dev": true,
"funding": [
{
@ -2017,7 +2073,6 @@
"url": "https://feross.org/support"
}
],
"license": "MIT",
"dependencies": {
"base64-js": "^1.3.1",
"ieee754": "^1.2.1"
@ -2559,8 +2614,9 @@
"license": "MIT"
},
"node_modules/@types/node": {
"version": "16.7.1",
"license": "MIT"
"version": "18.7.21",
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.21.tgz",
"integrity": "sha512-rLFzK5bhM0YPyCoTC8bolBjMk7bwnZ8qeZUBslBfjZQou2ssJdWslx9CZ8DGM+Dx7QXQiiTVZ/6QO6kwtHkZCA=="
},
"node_modules/@types/prettier": {
"version": "2.4.1",
@ -4804,6 +4860,8 @@
"node_modules/ipfs-utils/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==",
"license": "MIT",
"engines": {
"node": "4.x || >=6.0.0"
@ -9339,18 +9397,22 @@
}
},
"@fluencelabs/aqua": {
"version": "0.7.4-336",
"version": "0.7.5-339",
"resolved": "https://registry.npmjs.org/@fluencelabs/aqua/-/aqua-0.7.5-339.tgz",
"integrity": "sha512-X4e3FK7gJfCpPxD3vnl2IKnG3rC8a9c/9ETARHAItoUoLgceSAaequpaSB1bP1pinwjAPEINE7BFlQKkndDPUA==",
"dev": true,
"requires": {
"@fluencelabs/aqua-ipfs": "0.5.2",
"@fluencelabs/aqua-lib": "0.5.1",
"@fluencelabs/fluence": "0.23.1",
"@fluencelabs/aqua-ipfs": "0.5.5",
"@fluencelabs/aqua-lib": "0.5.2",
"@fluencelabs/fluence": "0.23.4",
"@fluencelabs/fluence-network-environment": "1.0.13",
"ipfs-http-client": "50.1.2"
},
"dependencies": {
"@chainsafe/libp2p-noise": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/@chainsafe/libp2p-noise/-/libp2p-noise-4.1.2.tgz",
"integrity": "sha512-UvZLWvIS7bAz6M8XfsnC/NhT1c/lg8NNsME1hTvo21kRwyxNFpB8gEhId03Cb5B23oIaHhMySAHBcpuMiSxQ2w==",
"dev": true,
"requires": {
"@stablelib/chacha20poly1305": "^1.0.1",
@ -9370,16 +9432,20 @@
}
},
"@fluencelabs/aqua-lib": {
"version": "0.5.1",
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/@fluencelabs/aqua-lib/-/aqua-lib-0.5.2.tgz",
"integrity": "sha512-fmoFFE8myhLH9d+YR0+0ZPL2YIQyR6M1woAGu5d1xXI02Sjzn4id6dE4PpxHb8cSBPRie8AwsKobHCNqGxI8oA==",
"dev": true
},
"@fluencelabs/fluence": {
"version": "0.23.1",
"version": "0.23.4",
"resolved": "https://registry.npmjs.org/@fluencelabs/fluence/-/fluence-0.23.4.tgz",
"integrity": "sha512-Ze67mD4ihDrQEN81UQe4gKmkiTBZgvKY87tBgIkuUsBqS8n7XF9tai/5LGgpV5qi3P4vnyh2VPmYURac/QS6YQ==",
"dev": true,
"requires": {
"@chainsafe/libp2p-noise": "^4.1.1",
"@fluencelabs/avm": "0.24.2",
"@fluencelabs/marine-js": "0.2.5",
"@fluencelabs/avm": "0.25.0",
"@fluencelabs/marine-js": "0.3.5",
"async": "3.2.3",
"browser-or-node": "^2.0.0",
"bs58": "5.0.0",
@ -9387,6 +9453,7 @@
"cids": "1.1.9",
"it-length-prefixed": "5.0.3",
"it-pipe": "1.1.0",
"js-base64": "^3.7.2",
"libp2p": "0.36.2",
"libp2p-crypto": "0.21.2",
"libp2p-mplex": "0.10.7",
@ -9403,6 +9470,8 @@
"dependencies": {
"libp2p-crypto": {
"version": "0.21.2",
"resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.21.2.tgz",
"integrity": "sha512-EXFrhSpiHtJ+/L8xXDvQNK5VjUMG51u878jzZcaT5XhuN/zFg6PWJFnl/qB2Y2j7eMWnvCRP7Kp+ua2H36cG4g==",
"dev": true,
"requires": {
"@noble/ed25519": "^1.5.1",
@ -9417,6 +9486,8 @@
},
"peer-id": {
"version": "0.16.0",
"resolved": "https://registry.npmjs.org/peer-id/-/peer-id-0.16.0.tgz",
"integrity": "sha512-EmL7FurFUduU9m1PS9cfJ5TAuCvxKQ7DKpfx3Yj6IKWyBRtosriFuOag/l3ni/dtPgPLwiA4R9IvpL7hsDLJuQ==",
"dev": true,
"requires": {
"class-is": "^1.1.0",
@ -9430,18 +9501,26 @@
},
"any-signal": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/any-signal/-/any-signal-3.0.1.tgz",
"integrity": "sha512-xgZgJtKEa9YmDqXodIgl7Fl1C8yNXr8w6gXjqK3LW4GcEiYT+6AQfJSE/8SPsEpLLmcvbv8YU+qet94UewHxqg==",
"dev": true
},
"async": {
"version": "3.2.3",
"resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz",
"integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==",
"dev": true
},
"base-x": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/base-x/-/base-x-4.0.0.tgz",
"integrity": "sha512-FuwxlW4H5kh37X/oW59pwTzzTKRzfrrQwhmyspRM7swOEZcHtDZSCt45U6oKgtuFE+WYPblePMVIPR4RZrh/hw==",
"dev": true
},
"bl": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/bl/-/bl-5.0.0.tgz",
"integrity": "sha512-8vxFNZ0pflFfi0WXA3WQXlj6CaMEwsmh63I1CNp0q+wWv8sD0ARx1KovSQd0l2GkwrMIOyedq0EF1FxI+RCZLQ==",
"dev": true,
"requires": {
"buffer": "^6.0.3",
@ -9451,6 +9530,8 @@
},
"bs58": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/bs58/-/bs58-5.0.0.tgz",
"integrity": "sha512-r+ihvQJvahgYT50JD05dyJNKlmmSlMoOGwn1lCcEzanPglg7TxYjioQUYehQ9mAR/+hOSd2jRc/Z2y5UxBymvQ==",
"dev": true,
"requires": {
"base-x": "^4.0.0"
@ -9458,6 +9539,8 @@
},
"buffer": {
"version": "6.0.3",
"resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
"integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
"dev": true,
"requires": {
"base64-js": "^1.3.1",
@ -9466,6 +9549,8 @@
},
"cids": {
"version": "1.1.9",
"resolved": "https://registry.npmjs.org/cids/-/cids-1.1.9.tgz",
"integrity": "sha512-l11hWRfugIcbGuTZwAM5PwpjPPjyb6UZOGwlHSnOBV5o07XhQ4gNpBN67FbODvpjyHtd+0Xs6KNvUcGBiDRsdg==",
"dev": true,
"requires": {
"multibase": "^4.0.1",
@ -9476,10 +9561,14 @@
},
"es6-promisify": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-7.0.0.tgz",
"integrity": "sha512-ginqzK3J90Rd4/Yz7qRrqUeIpe3TwSXTPPZtPne7tGBPeAaQiU8qt4fpKApnxHcq1AwtUdHVg5P77x/yrggG8Q==",
"dev": true
},
"interface-datastore": {
"version": "6.1.1",
"resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-6.1.1.tgz",
"integrity": "sha512-AmCS+9CT34pp2u0QQVXjKztkuq3y5T+BIciuiHDDtDZucZD8VudosnSdUyXJV6IsRkN5jc4RFDhCk1O6Q3Gxjg==",
"dev": true,
"requires": {
"interface-store": "^2.0.2",
@ -9489,10 +9578,14 @@
},
"interface-store": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/interface-store/-/interface-store-2.0.2.tgz",
"integrity": "sha512-rScRlhDcz6k199EkHqT8NpM87ebN89ICOzILoBHgaG36/WX50N32BnU/kpZgCGPLhARRAWUUX5/cyaIjt7Kipg==",
"dev": true
},
"ipfs-utils": {
"version": "9.0.7",
"resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-9.0.7.tgz",
"integrity": "sha512-Umvb0Zydy2zZiTmQBGLfLISr8vOmXX8cxEIP+N8zGHrtRShG/j32yl1xd/BtS+Hbg0FIbVm3opwvxB2gmta0YA==",
"dev": true,
"requires": {
"any-signal": "^3.0.0",
@ -9513,6 +9606,8 @@
},
"it-glob": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/it-glob/-/it-glob-1.0.2.tgz",
"integrity": "sha512-Ch2Dzhw4URfB9L/0ZHyY+uqOnKvBNeS/SMcRiPmJfpHiM0TsUZn+GkpcZxAoF3dJVdPm/PuIk3A4wlV7SUo23Q==",
"dev": true,
"requires": {
"@types/minimatch": "^3.0.4",
@ -9521,6 +9616,8 @@
},
"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==",
"dev": true,
"requires": {
"bl": "^5.0.0",
@ -9530,12 +9627,16 @@
"dependencies": {
"varint": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz",
"integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==",
"dev": true
}
}
},
"libp2p": {
"version": "0.36.2",
"resolved": "https://registry.npmjs.org/libp2p/-/libp2p-0.36.2.tgz",
"integrity": "sha512-UpNYBMQVivMu56zoibdGitopv39uBBAybIBOEGWmFy/I2NnTVGUutLPrxo47AuN2kntYgo/TNJfW+PpswUgSaw==",
"dev": true,
"requires": {
"@vascosantos/moving-average": "^1.1.0",
@ -9596,6 +9697,8 @@
"dependencies": {
"libp2p-crypto": {
"version": "0.21.2",
"resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.21.2.tgz",
"integrity": "sha512-EXFrhSpiHtJ+/L8xXDvQNK5VjUMG51u878jzZcaT5XhuN/zFg6PWJFnl/qB2Y2j7eMWnvCRP7Kp+ua2H36cG4g==",
"dev": true,
"requires": {
"@noble/ed25519": "^1.5.1",
@ -9610,6 +9713,8 @@
},
"peer-id": {
"version": "0.16.0",
"resolved": "https://registry.npmjs.org/peer-id/-/peer-id-0.16.0.tgz",
"integrity": "sha512-EmL7FurFUduU9m1PS9cfJ5TAuCvxKQ7DKpfx3Yj6IKWyBRtosriFuOag/l3ni/dtPgPLwiA4R9IvpL7hsDLJuQ==",
"dev": true,
"requires": {
"class-is": "^1.1.0",
@ -9621,12 +9726,16 @@
},
"varint": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz",
"integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==",
"dev": true
}
}
},
"libp2p-interfaces": {
"version": "4.0.6",
"resolved": "https://registry.npmjs.org/libp2p-interfaces/-/libp2p-interfaces-4.0.6.tgz",
"integrity": "sha512-3KjzNEIWhi+VoOamLvgKKUE/xqwxSw/JYqsBnfMhAWVRvRtosROtVT03wci2XbuuowCYw+/hEX1xKJIR1w5n0A==",
"dev": true,
"requires": {
"abortable-iterator": "^3.0.0",
@ -9646,6 +9755,8 @@
"dependencies": {
"libp2p-crypto": {
"version": "0.21.2",
"resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.21.2.tgz",
"integrity": "sha512-EXFrhSpiHtJ+/L8xXDvQNK5VjUMG51u878jzZcaT5XhuN/zFg6PWJFnl/qB2Y2j7eMWnvCRP7Kp+ua2H36cG4g==",
"dev": true,
"requires": {
"@noble/ed25519": "^1.5.1",
@ -9660,6 +9771,8 @@
},
"peer-id": {
"version": "0.16.0",
"resolved": "https://registry.npmjs.org/peer-id/-/peer-id-0.16.0.tgz",
"integrity": "sha512-EmL7FurFUduU9m1PS9cfJ5TAuCvxKQ7DKpfx3Yj6IKWyBRtosriFuOag/l3ni/dtPgPLwiA4R9IvpL7hsDLJuQ==",
"dev": true,
"requires": {
"class-is": "^1.1.0",
@ -9673,6 +9786,8 @@
},
"libp2p-mplex": {
"version": "0.10.7",
"resolved": "https://registry.npmjs.org/libp2p-mplex/-/libp2p-mplex-0.10.7.tgz",
"integrity": "sha512-21VV0DZWuOsHgitWy1GZD1M/kki3a/hVoAJ5QC48p01JNSK5W8gxRiZtq7cCGJ/xNpbQxvMlMtS5eq8CFRlysg==",
"dev": true,
"requires": {
"abortable-iterator": "^3.0.2",
@ -9686,12 +9801,16 @@
"dependencies": {
"varint": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz",
"integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==",
"dev": true
}
}
},
"libp2p-websockets": {
"version": "0.16.2",
"resolved": "https://registry.npmjs.org/libp2p-websockets/-/libp2p-websockets-0.16.2.tgz",
"integrity": "sha512-QGfo8jX1Ks16yi8C67CCyMW7k9cfCYiQ0lzKVJBud0fV3ymbMO2L8gzU6iXUUZTHILo8ka26zKhwQ4lmUMI+nA==",
"dev": true,
"requires": {
"abortable-iterator": "^3.0.0",
@ -9710,10 +9829,14 @@
},
"loglevel": {
"version": "1.8.0",
"resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.8.0.tgz",
"integrity": "sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA==",
"dev": true
},
"multiaddr": {
"version": "10.0.1",
"resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-10.0.1.tgz",
"integrity": "sha512-G5upNcGzEGuTHkzxezPrrD6CaIHR9uo+7MwqhNVcXTs33IInon4y7nMiGxl2CY5hG7chvYQUQhz5V52/Qe3cbg==",
"dev": true,
"requires": {
"dns-over-http-resolver": "^1.2.3",
@ -9726,12 +9849,16 @@
"dependencies": {
"varint": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz",
"integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==",
"dev": true
}
}
},
"multibase": {
"version": "4.0.6",
"resolved": "https://registry.npmjs.org/multibase/-/multibase-4.0.6.tgz",
"integrity": "sha512-x23pDe5+svdLz/k5JPGCVdfn7Q5mZVMBETiC+ORfO+sor9Sgs0smJzAjfTbM5tckeCqnaUuMYoz+k3RXMmJClQ==",
"dev": true,
"requires": {
"@multiformats/base-x": "^4.0.1"
@ -9739,6 +9866,8 @@
},
"multicodec": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/multicodec/-/multicodec-3.2.1.tgz",
"integrity": "sha512-+expTPftro8VAW8kfvcuNNNBgb9gPeNYV9dn+z1kJRWF2vih+/S79f2RVeIwmrJBUJ6NT9IUPWnZDQvegEh5pw==",
"dev": true,
"requires": {
"uint8arrays": "^3.0.0",
@ -9747,12 +9876,16 @@
"dependencies": {
"varint": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz",
"integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==",
"dev": true
}
}
},
"multihashes": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/multihashes/-/multihashes-4.0.3.tgz",
"integrity": "sha512-0AhMH7Iu95XjDLxIeuCOOE4t9+vQZsACyKZ9Fxw2pcsRmlX4iCn1mby0hS0bb+nQOVpdQYWPpnyusw4da5RPhA==",
"dev": true,
"requires": {
"multibase": "^4.0.1",
@ -9762,6 +9895,8 @@
},
"multistream-select": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/multistream-select/-/multistream-select-3.0.2.tgz",
"integrity": "sha512-ICGA8DAviZj6Xo1NkaRV3J38M+tFDoWiGtO1ksluyMnskAsdGjAzocg806OzpQPivNGWWboX3CrFT2Tk4UdYXA==",
"dev": true,
"requires": {
"abortable-iterator": "^3.0.0",
@ -9778,19 +9913,26 @@
}
},
"node-fetch": {
"version": "npm:@achingbrain/node-fetch@2.6.7",
"version": "https://registry.npmjs.org/@achingbrain/node-fetch/-/node-fetch-2.6.7.tgz",
"integrity": "sha512-iTASGs+HTFK5E4ZqcMsHmeJ4zodyq8L38lZV33jwqcBJYoUt3HjN4+ot+O9/0b+ke8ddE7UgOtVuZN/OkV19/g==",
"dev": true
},
"node-forge": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz",
"integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==",
"dev": true
},
"retimer": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/retimer/-/retimer-3.0.0.tgz",
"integrity": "sha512-WKE0j11Pa0ZJI5YIk0nflGI7SQsfl2ljihVy7ogh7DeQSeYAUi0ubZ/yEueGtDfUPk6GH5LRw1hBdLq4IwUBWA==",
"dev": true
},
"timeout-abort-controller": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/timeout-abort-controller/-/timeout-abort-controller-3.0.0.tgz",
"integrity": "sha512-O3e+2B8BKrQxU2YRyEjC/2yFdb33slI22WRdUaDx6rvysfi9anloNZyR2q0l6LnePo5qH7gSM7uZtvvwZbc2yA==",
"dev": true,
"requires": {
"retimer": "^3.0.0"
@ -9798,6 +9940,8 @@
},
"uint8arrays": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.0.tgz",
"integrity": "sha512-ei5rfKtoRO8OyOIor2Rz5fhzjThwIHJZ3uyDPnDHTXbP0aMQ1RN/6AI5B5d9dBxJOU+BvOAk7ZQ1xphsX8Lrog==",
"dev": true,
"requires": {
"multiformats": "^9.4.2"
@ -9805,6 +9949,8 @@
},
"uuid": {
"version": "8.3.2",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
"dev": true
}
}
@ -9858,14 +10004,18 @@
}
},
"@fluencelabs/aqua-ipfs": {
"version": "0.5.2",
"version": "0.5.5",
"resolved": "https://registry.npmjs.org/@fluencelabs/aqua-ipfs/-/aqua-ipfs-0.5.5.tgz",
"integrity": "sha512-TBSClVs2r3FhgxVFSDPXzJNP0/EqHbIaVSY9U6LTzBDUdZDItu8Yt+Rsjj4LX5X4kOwo94ADkYG0UG8nKC1L5A==",
"dev": true,
"requires": {
"@fluencelabs/aqua-lib": "^0.1.14"
"@fluencelabs/aqua-lib": "^0.5.2"
},
"dependencies": {
"@fluencelabs/aqua-lib": {
"version": "0.1.14",
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/@fluencelabs/aqua-lib/-/aqua-lib-0.5.2.tgz",
"integrity": "sha512-fmoFFE8myhLH9d+YR0+0ZPL2YIQyR6M1woAGu5d1xXI02Sjzn4id6dE4PpxHb8cSBPRie8AwsKobHCNqGxI8oA==",
"dev": true
}
}
@ -9875,7 +10025,9 @@
"dev": true
},
"@fluencelabs/avm": {
"version": "0.24.2",
"version": "0.25.0",
"resolved": "https://registry.npmjs.org/@fluencelabs/avm/-/avm-0.25.0.tgz",
"integrity": "sha512-l5UX1fTXO8Xh1rsMrWVxsGLz49FX3gJu5M03acMtv7DIQzfr1so7298bFKN2iTx1BGVrqFLlr9aGcDjd8E3Ilw==",
"dev": true
},
"@fluencelabs/connection": {
@ -10522,7 +10674,9 @@
}
},
"@fluencelabs/marine-js": {
"version": "0.2.5",
"version": "0.3.5",
"resolved": "https://registry.npmjs.org/@fluencelabs/marine-js/-/marine-js-0.3.5.tgz",
"integrity": "sha512-juE/3FZiTMHPynQ7/mIUFwWFNxZTALalaftgiFcz6OqALeX1NZi4I/PDlFzgX0FHFgNulvKa17/Xr/AO1fFiBg==",
"dev": true,
"requires": {
"@wasmer/wasi": "^0.12.0",
@ -10535,6 +10689,8 @@
"dependencies": {
"buffer": {
"version": "6.0.3",
"resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
"integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
"dev": true,
"requires": {
"base64-js": "^1.3.1",
@ -10947,7 +11103,9 @@
"version": "3.0.5"
},
"@types/node": {
"version": "16.7.1"
"version": "18.7.21",
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.21.tgz",
"integrity": "sha512-rLFzK5bhM0YPyCoTC8bolBjMk7bwnZ8qeZUBslBfjZQou2ssJdWslx9CZ8DGM+Dx7QXQiiTVZ/6QO6kwtHkZCA=="
},
"@types/prettier": {
"version": "2.4.1"
@ -12485,7 +12643,8 @@
}
},
"node-fetch": {
"version": "npm:@achingbrain/node-fetch@2.6.7"
"version": "https://registry.npmjs.org/@achingbrain/node-fetch/-/node-fetch-2.6.7.tgz",
"integrity": "sha512-iTASGs+HTFK5E4ZqcMsHmeJ4zodyq8L38lZV33jwqcBJYoUt3HjN4+ot+O9/0b+ke8ddE7UgOtVuZN/OkV19/g=="
}
}
},

View File

@ -29,10 +29,11 @@
"do": "aqua dist deploy --addr /dns4/kras-04.fluence.dev/tcp/19001/wss/p2p/12D3KooWFEwNWcHqi9rtsmDhsYcDbRUCDXH84RC4FW6UfsFWaoHi --config-path deploy.json --service tsOracle"
},
"devDependencies": {
"@fluencelabs/aqua": "0.7.4-336",
"@fluencelabs/aqua": "0.7.5-339",
"@fluencelabs/aqua-dht": "0.2.5",
"@fluencelabs/aqua-lib": "0.4.3",
"@types/jest": "^27.0.2",
"@types/node": "^18.7.21",
"jest": "^27.2.4",
"js-base64": "^3.7.2",
"ts-jest": "^27.0.5",

View File

@ -1,3 +1,5 @@
jest.retryTimes(3)
import { Fluence, FluencePeer, KeyPair, setLogLevel } from '@fluencelabs/fluence';
import { EphemeralNetwork, defaultConfig } from '@fluencelabs/fluence/dist/internal/ephemeral';
import { registerPrintln } from '../compiled/examples/println';

View File

@ -1,3 +1,5 @@
jest.retryTimes(3)
import { krasnodar, stage, testNet } from '@fluencelabs/fluence-network-environment';
const util = require('util');

View File

@ -1,41 +1,103 @@
import { krasnodar, stage, testNet } from '@fluencelabs/fluence-network-environment';
import { defaultConfig } from '@fluencelabs/fluence/dist/internal/ephemeral';
import {
krasnodar,
stage,
testNet,
} from "@fluencelabs/fluence-network-environment";
import { local } from "./local-nodes";
import { defaultConfig } from "@fluencelabs/fluence/dist/internal/ephemeral";
declare global {
namespace NodeJS {
interface ProcessEnv {
FLUENCE_ENV?: string;
}
}
}
function setConfig(env) {
switch (env) {
case "krasnodar":
return { config: krasnodarConfig, isEphemeral: false };
case "testnet":
return { config: testNetConfig, isEphemeral: false };
case "ephemeral":
return { config: ephemeralConfig, isEphemeral: true };
case "local":
return { config: localConfig, isEphemeral: false };
default:
return { config: stageConfig, isEphemeral: false };
}
}
export const krasnodarConfig = {
relays: krasnodar,
externalAddressesRelay1: ['/ip4/164.90.171.139/tcp/7770', '/ip4/164.90.171.139/tcp/9990/ws'],
externalAddressesRelay2: ['/ip4/164.90.164.229/tcp/7001', '/ip4/164.90.164.229/tcp/9001/ws'],
tryCatchError:
"Local service error, ret_code is 1, error message is '\"Service with id 'unex' not found (function getStr)\"'",
relays: krasnodar,
externalAddressesRelay1: [
"/ip4/164.90.171.139/tcp/7770",
"/ip4/164.90.171.139/tcp/9990/ws",
],
externalAddressesRelay2: [
"/ip4/164.90.164.229/tcp/7001",
"/ip4/164.90.164.229/tcp/9001/ws",
],
tryCatchError:
"Local service error, ret_code is 1, error message is '\"Service with id 'unex' not found (function getStr)\"'",
};
export const stageConfig = {
relays: stage,
externalAddressesRelay1: ['/ip4/134.209.186.43/tcp/7001', '/ip4/134.209.186.43/tcp/9001/ws'],
externalAddressesRelay2: ['/ip4/134.209.186.43/tcp/7770', '/ip4/134.209.186.43/tcp/9990/ws'],
tryCatchError:
"Local service error, ret_code is 1, error message is '\"Service with id 'unex' not found (function getStr)\"'",
relays: stage,
externalAddressesRelay1: [
"/ip4/134.209.186.43/tcp/7001",
"/ip4/134.209.186.43/tcp/9001/ws",
],
externalAddressesRelay2: [
"/ip4/134.209.186.43/tcp/7770",
"/ip4/134.209.186.43/tcp/9990/ws",
],
tryCatchError:
"Local service error, ret_code is 1, error message is '\"Service with id 'unex' not found (function getStr)\"'",
};
export const testNetConfig = {
relays: testNet,
externalAddressesRelay1: ['/ip4/165.227.164.206/tcp/7001', '/ip4/165.227.164.206/tcp/9001/ws'],
externalAddressesRelay2: ['/ip4/142.93.169.49/tcp/7001', '/ip4/142.93.169.49/tcp/9001/ws'],
tryCatchError:
"Local service error, ret_code is 1, error message is '\"Service with id 'unex' not found (function getStr)\"'",
relays: testNet,
externalAddressesRelay1: [
"/ip4/165.227.164.206/tcp/7001",
"/ip4/165.227.164.206/tcp/9001/ws",
],
externalAddressesRelay2: [
"/ip4/142.93.169.49/tcp/7001",
"/ip4/142.93.169.49/tcp/9001/ws",
],
tryCatchError:
"Local service error, ret_code is 1, error message is '\"Service with id 'unex' not found (function getStr)\"'",
};
export const ephemeralConfig = {
relays: defaultConfig.peers.map((x) => ({
peerId: x.peerId,
multiaddr: 'dontcare',
})),
externalAddressesRelay1: [],
externalAddressesRelay2: [],
tryCatchError:
"Local service error, ret_code is 1, error message is '\"Service with id 'unex' not found (function getStr)\"'",
relays: defaultConfig.peers.map((x) => ({
peerId: x.peerId,
multiaddr: "dontcare",
})),
externalAddressesRelay1: [],
externalAddressesRelay2: [],
tryCatchError:
"Local service error, ret_code is 1, error message is '\"Service with id 'unex' not found (function getStr)\"'",
};
export const isEphemeral = false;
export const localConfig = {
relays: local,
externalAddressesRelay1: [
"/ip4/10.50.10.10/tcp/7771",
"/ip4/10.50.10.10/tcp/9991/ws",
"/dns4/fluence-1/tcp/7771",
"/dns4/fluence-1/tcp/9991/ws",
],
externalAddressesRelay2: [
"/ip4/10.50.10.60/tcp/7776",
"/ip4/10.50.10.60/tcp/9996/ws",
"/dns4/fluence-6/tcp/7776",
"/dns4/fluence-6/tcp/9996/ws",
],
tryCatchError:
"Local service error, ret_code is 1, error message is '\"Service with id 'unex' not found (function getStr)\"'",
};
export const config = isEphemeral ? ephemeralConfig : stageConfig;
export const { config, isEphemeral } = setConfig(process.env.FLUENCE_ENV);

View File

@ -1,5 +1,5 @@
export type Node = { peerId: string; multiaddr: string };
export const ci: Node[] = [
export const local: Node[] = [
{
multiaddr: '/ip4/127.0.0.1/tcp/9991/ws/p2p/12D3KooWBM3SdXWqGaawQDGQ6JprtwswEg3FWGvGhmgmMez1vRbR',
peerId: '12D3KooWBM3SdXWqGaawQDGQ6JprtwswEg3FWGvGhmgmMez1vRbR'
@ -25,23 +25,3 @@ export const ci: Node[] = [
peerId: '12D3KooWPisGn7JhooWhggndz25WM7vQ2JmA121EV8jUDQ5xMovJ'
}
];
export const config = {
relays: ci,
externalAddressesRelay1: [
"/ip4/10.50.10.10/tcp/7771",
"/ip4/10.50.10.10/tcp/9991/ws",
"/dns4/fluence-1/tcp/7771",
"/dns4/fluence-1/tcp/9991/ws"
],
externalAddressesRelay2: [
"/ip4/10.50.10.60/tcp/7776",
"/ip4/10.50.10.60/tcp/9996/ws",
"/dns4/fluence-6/tcp/7776",
"/dns4/fluence-6/tcp/9996/ws"
],
tryCatchError:
"Local service error, ret_code is 1, error message is '\"Service with id 'unex' not found (function getStr)\"'",
};
export const isEphemeral = false;

View File

@ -24,4 +24,4 @@
"src/__test__"
],
"include": ["src/**/*"]
}
}