From cb50fdc70d45c832c5c5b0272ca126f018b9f6ee Mon Sep 17 00:00:00 2001 From: Chris Troutner Date: Mon, 27 Sep 2021 12:39:10 -0700 Subject: [PATCH 01/18] fix(ipfs-coord): Updating bootstrap peers. v6.6.8 --- bin/server.js | 2 +- package-lock.json | 28 ++++++++++++++-------------- package.json | 4 ++-- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/bin/server.js b/bin/server.js index 7ea3a0e..6643c67 100644 --- a/bin/server.js +++ b/bin/server.js @@ -99,7 +99,7 @@ class Server { // the app. setTimeout(function () { process.exit(0) - }, 60000 * 60 * 4) + }, 60000 * 60 * 2) // 2 hours return app } catch (err) { diff --git a/package-lock.json b/package-lock.json index 1af4165..792e327 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,11 +10,11 @@ "license": "MIT", "dependencies": { "@chris.troutner/ipfs": "2.0.2", - "@psf/bch-js": "^4.20.3", + "@psf/bch-js": "^4.20.13", "axios": "^0.21.1", "bcryptjs": "^2.4.3", "glob": "^7.1.6", - "ipfs-coord": "^6.6.7", + "ipfs-coord": "^6.6.8", "jsonrpc-lite": "^2.2.0", "jsonwebtoken": "^8.5.1", "jwt-bch-lib": "^1.3.0", @@ -2291,9 +2291,9 @@ "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=" }, "node_modules/@psf/bch-js": { - "version": "4.20.10", - "resolved": "https://registry.npmjs.org/@psf/bch-js/-/bch-js-4.20.10.tgz", - "integrity": "sha512-qDrJ3OTPwTJoRf8nryMRmd5ed9aAcnnskcv1+Tdd1Iu47n2jXhtFzI9v2Fc/FswECclmzwwjRVAfNB/LGNhsfw==", + "version": "4.20.13", + "resolved": "https://registry.npmjs.org/@psf/bch-js/-/bch-js-4.20.13.tgz", + "integrity": "sha512-BY2nFQofeynJLQm1qZNDBBLEAlCr8Sz6DwBtkD5pofM5ABX9njXFf3Ndwbhko6xcnjHl++hR88A8dPC/Bi4Q8A==", "dependencies": { "@psf/bip21": "^2.0.1", "@psf/bip32-utils": "^1.0.0", @@ -10375,9 +10375,9 @@ } }, "node_modules/ipfs-coord": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/ipfs-coord/-/ipfs-coord-6.6.7.tgz", - "integrity": "sha512-7mclUv8xwCSDQtpAKzhwJK1LZK4fZdmomLHRvSb4iITNdeamzIepFq8gKbxQ9KVRr6bNMwMcwVlvl1Lb7lEsNg==", + "version": "6.6.8", + "resolved": "https://registry.npmjs.org/ipfs-coord/-/ipfs-coord-6.6.8.tgz", + "integrity": "sha512-nnWgdB9zXnR8FPqAHd7XKJ8zSEq//XHxZAG8rB2BJ/KU/fJINW6x7PG5bIpeLTVRvyd0XfaWmbaAfEFgly+dpQ==", "dependencies": { "bch-encrypt-lib": "^2.0.0", "orbit-db": "^0.26.1" @@ -27862,9 +27862,9 @@ "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=" }, "@psf/bch-js": { - "version": "4.20.10", - "resolved": "https://registry.npmjs.org/@psf/bch-js/-/bch-js-4.20.10.tgz", - "integrity": "sha512-qDrJ3OTPwTJoRf8nryMRmd5ed9aAcnnskcv1+Tdd1Iu47n2jXhtFzI9v2Fc/FswECclmzwwjRVAfNB/LGNhsfw==", + "version": "4.20.13", + "resolved": "https://registry.npmjs.org/@psf/bch-js/-/bch-js-4.20.13.tgz", + "integrity": "sha512-BY2nFQofeynJLQm1qZNDBBLEAlCr8Sz6DwBtkD5pofM5ABX9njXFf3Ndwbhko6xcnjHl++hR88A8dPC/Bi4Q8A==", "requires": { "@psf/bip21": "^2.0.1", "@psf/bip32-utils": "^1.0.0", @@ -34258,9 +34258,9 @@ } }, "ipfs-coord": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/ipfs-coord/-/ipfs-coord-6.6.7.tgz", - "integrity": "sha512-7mclUv8xwCSDQtpAKzhwJK1LZK4fZdmomLHRvSb4iITNdeamzIepFq8gKbxQ9KVRr6bNMwMcwVlvl1Lb7lEsNg==", + "version": "6.6.8", + "resolved": "https://registry.npmjs.org/ipfs-coord/-/ipfs-coord-6.6.8.tgz", + "integrity": "sha512-nnWgdB9zXnR8FPqAHd7XKJ8zSEq//XHxZAG8rB2BJ/KU/fJINW6x7PG5bIpeLTVRvyd0XfaWmbaAfEFgly+dpQ==", "requires": { "bch-encrypt-lib": "^2.0.0", "orbit-db": "^0.26.1" diff --git a/package.json b/package.json index 8c2a48d..2cab84d 100644 --- a/package.json +++ b/package.json @@ -23,12 +23,12 @@ }, "repository": "Permissionless-Software-Foundation/ipfs-service-provider", "dependencies": { - "@psf/bch-js": "^4.20.3", + "@psf/bch-js": "^4.20.13", "axios": "^0.21.1", "bcryptjs": "^2.4.3", "glob": "^7.1.6", "@chris.troutner/ipfs": "2.0.2", - "ipfs-coord": "^6.6.7", + "ipfs-coord": "^6.6.8", "jsonrpc-lite": "^2.2.0", "jsonwebtoken": "^8.5.1", "jwt-bch-lib": "^1.3.0", From 545e8aa670debe0c61a7bb3692aebfb014dacc30 Mon Sep 17 00:00:00 2001 From: Chris Troutner Date: Tue, 28 Sep 2021 06:54:12 -0700 Subject: [PATCH 02/18] fix(ipfs-coord): Bumping to v6.7.0 --- package-lock.json | 28 +++++++++++++++------------- package.json | 2 +- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/package-lock.json b/package-lock.json index 792e327..1685763 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "axios": "^0.21.1", "bcryptjs": "^2.4.3", "glob": "^7.1.6", - "ipfs-coord": "^6.6.8", + "ipfs-coord": "^6.7.0", "jsonrpc-lite": "^2.2.0", "jsonwebtoken": "^8.5.1", "jwt-bch-lib": "^1.3.0", @@ -4314,9 +4314,9 @@ "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" }, "node_modules/axios": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.3.tgz", - "integrity": "sha512-JtoZ3Ndke/+Iwt5n+BgSli/3idTvpt5OjKyoCmz4LX5+lPiY5l7C1colYezhlxThjNa/NhngCUWZSZFypIFuaA==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", "dependencies": { "follow-redirects": "^1.14.0" } @@ -10375,10 +10375,11 @@ } }, "node_modules/ipfs-coord": { - "version": "6.6.8", - "resolved": "https://registry.npmjs.org/ipfs-coord/-/ipfs-coord-6.6.8.tgz", - "integrity": "sha512-nnWgdB9zXnR8FPqAHd7XKJ8zSEq//XHxZAG8rB2BJ/KU/fJINW6x7PG5bIpeLTVRvyd0XfaWmbaAfEFgly+dpQ==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/ipfs-coord/-/ipfs-coord-6.7.0.tgz", + "integrity": "sha512-aIOgtyY9xLMfUcVlASLCXEl6njCJmzcpBO3QQH/OPVYtU0getNX6EeEx+2/qAHe+Yt28nqMscEN9EeU+3sEIsg==", "dependencies": { + "axios": "^0.21.4", "bch-encrypt-lib": "^2.0.0", "orbit-db": "^0.26.1" }, @@ -29504,9 +29505,9 @@ "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" }, "axios": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.3.tgz", - "integrity": "sha512-JtoZ3Ndke/+Iwt5n+BgSli/3idTvpt5OjKyoCmz4LX5+lPiY5l7C1colYezhlxThjNa/NhngCUWZSZFypIFuaA==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", "requires": { "follow-redirects": "^1.14.0" } @@ -34258,10 +34259,11 @@ } }, "ipfs-coord": { - "version": "6.6.8", - "resolved": "https://registry.npmjs.org/ipfs-coord/-/ipfs-coord-6.6.8.tgz", - "integrity": "sha512-nnWgdB9zXnR8FPqAHd7XKJ8zSEq//XHxZAG8rB2BJ/KU/fJINW6x7PG5bIpeLTVRvyd0XfaWmbaAfEFgly+dpQ==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/ipfs-coord/-/ipfs-coord-6.7.0.tgz", + "integrity": "sha512-aIOgtyY9xLMfUcVlASLCXEl6njCJmzcpBO3QQH/OPVYtU0getNX6EeEx+2/qAHe+Yt28nqMscEN9EeU+3sEIsg==", "requires": { + "axios": "^0.21.4", "bch-encrypt-lib": "^2.0.0", "orbit-db": "^0.26.1" } diff --git a/package.json b/package.json index 2cab84d..99a7f9f 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "bcryptjs": "^2.4.3", "glob": "^7.1.6", "@chris.troutner/ipfs": "2.0.2", - "ipfs-coord": "^6.6.8", + "ipfs-coord": "^6.7.0", "jsonrpc-lite": "^2.2.0", "jsonwebtoken": "^8.5.1", "jwt-bch-lib": "^1.3.0", From fef0f3a987696b53c9d8ea1895b3e59f4a6a3ec0 Mon Sep 17 00:00:00 2001 From: Chris Troutner Date: Tue, 28 Sep 2021 15:44:06 -0700 Subject: [PATCH 03/18] fix(ipfs): HOP setting is controlled by config.isCircuitRelay --- src/adapters/ipfs/ipfs.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/adapters/ipfs/ipfs.js b/src/adapters/ipfs/ipfs.js index 6cba75e..7739b9a 100644 --- a/src/adapters/ipfs/ipfs.js +++ b/src/adapters/ipfs/ipfs.js @@ -36,7 +36,7 @@ class IpfsAdapter { relay: { enabled: true, // enable circuit relay dialer and listener hop: { - enabled: true // enable circuit relay HOP (make this node a relay) + enabled: config.isCircuitRelay // enable circuit relay HOP (make this node a relay) } }, pubsub: true, // enable pubsub @@ -61,6 +61,10 @@ class IpfsAdapter { // Set the 'server' profile so the node does not scan private networks. await this.ipfs.config.profiles.apply('server') + // Debugging: Display IPFS config settings. + // const configSettings = await this.ipfs.config.getAll() + // console.log(`configSettings: ${JSON.stringify(configSettings, null, 2)}`) + // Signal that this adapter is ready. this.isReady = true From a8ad4149e006e2a3626e495f673618fc860e7f61 Mon Sep 17 00:00:00 2001 From: Chris Troutner Date: Tue, 28 Sep 2021 16:58:57 -0700 Subject: [PATCH 04/18] fix(shell-scripts): Added shell-script dir with example scripts --- .../ipfs-service-provider-generic.sh | 14 ++++++--- shell-scripts/ipfs-service-provider-relay.sh | 31 +++++++++++++++++++ 2 files changed, 40 insertions(+), 5 deletions(-) rename ipfs-service-provider.sh => shell-scripts/ipfs-service-provider-generic.sh (55%) create mode 100755 shell-scripts/ipfs-service-provider-relay.sh diff --git a/ipfs-service-provider.sh b/shell-scripts/ipfs-service-provider-generic.sh similarity index 55% rename from ipfs-service-provider.sh rename to shell-scripts/ipfs-service-provider-generic.sh index 993860e..75afe63 100755 --- a/ipfs-service-provider.sh +++ b/shell-scripts/ipfs-service-provider-generic.sh @@ -1,18 +1,22 @@ #!/bin/bash +# This script is an example for running a generic ipfs-service-provider instance. + # Ports export PORT=5001 # REST API port export IPFS_TCP_PORT=5268 export IPFS_WS_PORT=5269 -#export ENABLE_CIRCUIT_RELAY=1 - -# Production database connection string. -#export DBURL=mongodb://localhost:27017/bch-service-dev - +# The human-readible name that is used when displaying data about this node. export COORD_NAME=ipfs-service-provider-generic + +# This is used for end-to-end encryption (e2ee). export MNEMONIC="churn aisle shield silver ladder swear hunt slim pen demand spoil veteran" +# 0 = less verbose. 3 = most verbose export DEBUG_LEVEL=1 +# MongoDB connection string. +#export DBURL=mongodb://localhost:27017/bch-service-dev + npm start diff --git a/shell-scripts/ipfs-service-provider-relay.sh b/shell-scripts/ipfs-service-provider-relay.sh new file mode 100755 index 0000000..9d31ac9 --- /dev/null +++ b/shell-scripts/ipfs-service-provider-relay.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +# This script is an example for running a ipfs-service-provider as a Circuit Relay. +# Circuit Relays are help other nodes on the network communicate. They are +# critical for reliable functioning of the network, and for circumventing +# censorship. + +# Ports +export PORT=5001 # REST API port +export IPFS_TCP_PORT=5268 +export IPFS_WS_PORT=5269 + +# The human-readible name that is used when displaying data about this node. +export COORD_NAME=ipfs-service-provider-generic + +# This is used for end-to-end encryption (e2ee). +export MNEMONIC="churn aisle shield silver ladder swear hunt slim pen demand spoil veteran" + +# 0 = less verbose. 3 = most verbose +export DEBUG_LEVEL=1 + +# MongoDB connection string. +#export DBURL=mongodb://localhost:27017/bch-service-dev + +# Comment to disable circuit relay functionality. Or set to 1 to enable. +export ENABLE_CIRCUIT_RELAY=1 +# For browsers to use your circuit realy, you must set up a domain, SSL certificate, +# and you must forward that subdomain to the IPFS_WS_PORT. +#export CR_DOMAIN=subdomain.yourdomain.com + +npm start From e6f9f64b4a4913b2151510f6915c72b3028d5a10 Mon Sep 17 00:00:00 2001 From: Chris Troutner Date: Tue, 28 Sep 2021 17:51:19 -0700 Subject: [PATCH 05/18] fix(circuit relay): Auto-discover IP4 addr when CR enabled --- config/env/common.js | 2 + package-lock.json | 146 ++++++++++++++++++++------ package.json | 5 +- production/docker/start-production.sh | 4 + src/adapters/ipfs/ipfs-coord.js | 20 ++++ 5 files changed, 140 insertions(+), 37 deletions(-) diff --git a/config/env/common.js b/config/env/common.js index b51a21c..c839c56 100644 --- a/config/env/common.js +++ b/config/env/common.js @@ -48,6 +48,8 @@ module.exports = { // IPFS settings. isCircuitRelay: process.env.ENABLE_CIRCUIT_RELAY ? true : false, + // SSL domain used for websocket connection via browsers. + crDomain: process.env.CR_DOMAIN ? process.env.CR_DOMAIN : '', // Information passed to other IPFS peers about this node. apiInfo: 'https://ipfs-service-provider.fullstack.cash/', diff --git a/package-lock.json b/package-lock.json index 1685763..31b122c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "axios": "^0.21.1", "bcryptjs": "^2.4.3", "glob": "^7.1.6", - "ipfs-coord": "^6.7.0", + "ipfs-coord": "^6.7.1", "jsonrpc-lite": "^2.2.0", "jsonwebtoken": "^8.5.1", "jwt-bch-lib": "^1.3.0", @@ -34,6 +34,7 @@ "node-fetch": "npm:@achingbrain/node-fetch@^2.6.7", "nodemailer": "^6.4.17", "passport-local": "^1.0.0", + "public-ip": "^4.0.4", "winston": "^3.3.3", "winston-daily-rotate-file": "^4.5.0" }, @@ -56,6 +57,38 @@ "uuid": "^8.3.2" } }, + "../ipfs-coord": { + "version": "6.0.0", + "extraneous": true, + "license": "MIT", + "dependencies": { + "axios": "^0.21.4", + "bch-encrypt-lib": "^2.0.0", + "orbit-db": "^0.26.1" + }, + "devDependencies": { + "@psf/bch-js": "^4.20.10", + "apidoc": "^0.25.0", + "chai": "^4.2.0", + "coveralls": "^3.1.0", + "eslint": "7.17.0", + "eslint-config-prettier": "^7.1.0", + "eslint-config-standard": "^16.0.2", + "eslint-plugin-node": "^11.1.0", + "eslint-plugin-prettier": "^3.3.1", + "eslint-plugin-standard": "^4.0.0", + "husky": "^4.3.6", + "lodash.clonedeep": "^4.5.0", + "mocha": "^8.4.0", + "nyc": "^15.1.0", + "semantic-release": "^17.4.4", + "sinon": "^9.2.2", + "standard": "^16.0.3" + }, + "peerDependencies": { + "@chris.troutner/ipfs": "^2.0.2" + } + }, "node_modules/@assemblyscript/loader": { "version": "0.9.4", "resolved": "https://registry.npmjs.org/@assemblyscript/loader/-/loader-0.9.4.tgz", @@ -1017,9 +1050,9 @@ } }, "node_modules/@ethersproject/bignumber": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.4.1.tgz", - "integrity": "sha512-fJhdxqoQNuDOk6epfM7yD6J8Pol4NUCy1vkaGAkuujZm0+lNow//MKu1hLhRiYV4BsOHyBv5/lsTjF+7hWwhJg==", + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.4.2.tgz", + "integrity": "sha512-oIBDhsKy5bs7j36JlaTzFgNPaZjiNDOXsdSgSpXRucUl+UA6L/1YLlFeI3cPAoodcenzF4nxNPV13pcy7XbWjA==", "funding": [ { "type": "individual", @@ -6480,6 +6513,17 @@ "node": ">=6" } }, + "node_modules/dns-socket": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/dns-socket/-/dns-socket-4.2.2.tgz", + "integrity": "sha512-BDeBd8najI4/lS00HSKpdFia+OvUMytaVjfzR9n5Lq8MlZRSvtbI+uLtx1+XmQFls5wFU9dssccTmQQ6nfpjdg==", + "dependencies": { + "dns-packet": "^5.2.4" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", @@ -7694,9 +7738,9 @@ } }, "node_modules/ethers": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.4.6.tgz", - "integrity": "sha512-F7LXARyB/Px3AQC6/QKedWZ8eqCkgOLORqL4B/F0Mag/K+qJSFGqsR36EaOZ6fKg3ZonI+pdbhb4A8Knt/43jQ==", + "version": "5.4.7", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.4.7.tgz", + "integrity": "sha512-iZc5p2nqfWK1sj8RabwsPM28cr37Bpq7ehTQ5rWExBr2Y09Sn1lDKZOED26n+TsZMye7Y6mIgQ/1cwpSD8XZew==", "funding": [ { "type": "individual", @@ -7714,7 +7758,7 @@ "@ethersproject/address": "5.4.0", "@ethersproject/base64": "5.4.0", "@ethersproject/basex": "5.4.0", - "@ethersproject/bignumber": "5.4.1", + "@ethersproject/bignumber": "5.4.2", "@ethersproject/bytes": "5.4.0", "@ethersproject/constants": "5.4.0", "@ethersproject/contracts": "5.4.1", @@ -10375,9 +10419,9 @@ } }, "node_modules/ipfs-coord": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/ipfs-coord/-/ipfs-coord-6.7.0.tgz", - "integrity": "sha512-aIOgtyY9xLMfUcVlASLCXEl6njCJmzcpBO3QQH/OPVYtU0getNX6EeEx+2/qAHe+Yt28nqMscEN9EeU+3sEIsg==", + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/ipfs-coord/-/ipfs-coord-6.7.1.tgz", + "integrity": "sha512-II0z1fNeWIHmEkRC9b2bNyMt0qJXH8+XNH7352iF7V/5hn7ix8+gNfmgDtno+C8DDy3kk6voQntf0v/WSzC45Q==", "dependencies": { "axios": "^0.21.4", "bch-encrypt-lib": "^2.0.0", @@ -19691,11 +19735,10 @@ } }, "node_modules/orbit-db-access-controllers": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/orbit-db-access-controllers/-/orbit-db-access-controllers-0.3.0.tgz", - "integrity": "sha512-H7xfgpcyAx9ToFYMvpP7StCt269uaqM33lnMdY9T1o3gbP8IYe0wPurkPQwg6IVZHrDeeBvTDA7kbOqShf9vJw==", + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/orbit-db-access-controllers/-/orbit-db-access-controllers-0.3.2.tgz", + "integrity": "sha512-FbeWkDoMdLESifPlXu8HBLCSD+JAIRu9Hs9oxppgKzp7YxC7ok+JDy8Z6VaR2jgaZFmiShLB1febX9sNMk91sw==", "dependencies": { - "orbit-db-io": "^0.3.0", "p-map-series": "^1.0.0" } }, @@ -21729,9 +21772,9 @@ } }, "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==" + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz", + "integrity": "sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==" }, "node_modules/protons": { "version": "2.0.3", @@ -21778,6 +21821,22 @@ "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==", "dev": true }, + "node_modules/public-ip": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/public-ip/-/public-ip-4.0.4.tgz", + "integrity": "sha512-EJ0VMV2vF6Cu7BIPo3IMW1Maq6ME+fbR0NcPmqDfpfNGIRPue1X8QrGjrg/rfjDkOsIkKHIf2S5FlEa48hFMTA==", + "dependencies": { + "dns-socket": "^4.2.2", + "got": "^9.6.0", + "is-ip": "^3.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", @@ -26897,9 +26956,9 @@ } }, "@ethersproject/bignumber": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.4.1.tgz", - "integrity": "sha512-fJhdxqoQNuDOk6epfM7yD6J8Pol4NUCy1vkaGAkuujZm0+lNow//MKu1hLhRiYV4BsOHyBv5/lsTjF+7hWwhJg==", + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.4.2.tgz", + "integrity": "sha512-oIBDhsKy5bs7j36JlaTzFgNPaZjiNDOXsdSgSpXRucUl+UA6L/1YLlFeI3cPAoodcenzF4nxNPV13pcy7XbWjA==", "requires": { "@ethersproject/bytes": "^5.4.0", "@ethersproject/logger": "^5.4.0", @@ -31254,6 +31313,14 @@ "@leichtgewicht/ip-codec": "^2.0.1" } }, + "dns-socket": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/dns-socket/-/dns-socket-4.2.2.tgz", + "integrity": "sha512-BDeBd8najI4/lS00HSKpdFia+OvUMytaVjfzR9n5Lq8MlZRSvtbI+uLtx1+XmQFls5wFU9dssccTmQQ6nfpjdg==", + "requires": { + "dns-packet": "^5.2.4" + } + }, "doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", @@ -32205,9 +32272,9 @@ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" }, "ethers": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.4.6.tgz", - "integrity": "sha512-F7LXARyB/Px3AQC6/QKedWZ8eqCkgOLORqL4B/F0Mag/K+qJSFGqsR36EaOZ6fKg3ZonI+pdbhb4A8Knt/43jQ==", + "version": "5.4.7", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.4.7.tgz", + "integrity": "sha512-iZc5p2nqfWK1sj8RabwsPM28cr37Bpq7ehTQ5rWExBr2Y09Sn1lDKZOED26n+TsZMye7Y6mIgQ/1cwpSD8XZew==", "requires": { "@ethersproject/abi": "5.4.1", "@ethersproject/abstract-provider": "5.4.1", @@ -32215,7 +32282,7 @@ "@ethersproject/address": "5.4.0", "@ethersproject/base64": "5.4.0", "@ethersproject/basex": "5.4.0", - "@ethersproject/bignumber": "5.4.1", + "@ethersproject/bignumber": "5.4.2", "@ethersproject/bytes": "5.4.0", "@ethersproject/constants": "5.4.0", "@ethersproject/contracts": "5.4.1", @@ -34259,9 +34326,9 @@ } }, "ipfs-coord": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/ipfs-coord/-/ipfs-coord-6.7.0.tgz", - "integrity": "sha512-aIOgtyY9xLMfUcVlASLCXEl6njCJmzcpBO3QQH/OPVYtU0getNX6EeEx+2/qAHe+Yt28nqMscEN9EeU+3sEIsg==", + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/ipfs-coord/-/ipfs-coord-6.7.1.tgz", + "integrity": "sha512-II0z1fNeWIHmEkRC9b2bNyMt0qJXH8+XNH7352iF7V/5hn7ix8+gNfmgDtno+C8DDy3kk6voQntf0v/WSzC45Q==", "requires": { "axios": "^0.21.4", "bch-encrypt-lib": "^2.0.0", @@ -41599,11 +41666,10 @@ } }, "orbit-db-access-controllers": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/orbit-db-access-controllers/-/orbit-db-access-controllers-0.3.0.tgz", - "integrity": "sha512-H7xfgpcyAx9ToFYMvpP7StCt269uaqM33lnMdY9T1o3gbP8IYe0wPurkPQwg6IVZHrDeeBvTDA7kbOqShf9vJw==", + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/orbit-db-access-controllers/-/orbit-db-access-controllers-0.3.2.tgz", + "integrity": "sha512-FbeWkDoMdLESifPlXu8HBLCSD+JAIRu9Hs9oxppgKzp7YxC7ok+JDy8Z6VaR2jgaZFmiShLB1febX9sNMk91sw==", "requires": { - "orbit-db-io": "^0.3.0", "p-map-series": "^1.0.0" } }, @@ -43131,9 +43197,9 @@ } }, "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==" + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz", + "integrity": "sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==" }, "protons": { "version": "2.0.3", @@ -43182,6 +43248,16 @@ "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==", "dev": true }, + "public-ip": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/public-ip/-/public-ip-4.0.4.tgz", + "integrity": "sha512-EJ0VMV2vF6Cu7BIPo3IMW1Maq6ME+fbR0NcPmqDfpfNGIRPue1X8QrGjrg/rfjDkOsIkKHIf2S5FlEa48hFMTA==", + "requires": { + "dns-socket": "^4.2.2", + "got": "^9.6.0", + "is-ip": "^3.1.0" + } + }, "pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", diff --git a/package.json b/package.json index 99a7f9f..baca57a 100644 --- a/package.json +++ b/package.json @@ -23,12 +23,12 @@ }, "repository": "Permissionless-Software-Foundation/ipfs-service-provider", "dependencies": { + "@chris.troutner/ipfs": "2.0.2", "@psf/bch-js": "^4.20.13", "axios": "^0.21.1", "bcryptjs": "^2.4.3", "glob": "^7.1.6", - "@chris.troutner/ipfs": "2.0.2", - "ipfs-coord": "^6.7.0", + "ipfs-coord": "^6.7.1", "jsonrpc-lite": "^2.2.0", "jsonwebtoken": "^8.5.1", "jwt-bch-lib": "^1.3.0", @@ -48,6 +48,7 @@ "node-fetch": "npm:@achingbrain/node-fetch@^2.6.7", "nodemailer": "^6.4.17", "passport-local": "^1.0.0", + "public-ip": "^4.0.4", "winston": "^3.3.3", "winston-daily-rotate-file": "^4.5.0" }, diff --git a/production/docker/start-production.sh b/production/docker/start-production.sh index 8398de2..b1d6034 100755 --- a/production/docker/start-production.sh +++ b/production/docker/start-production.sh @@ -4,6 +4,7 @@ # This mnemonic is used to set up persistent public key for e2ee # Replace this with your own 12-word mnemonic. +# You can get one at https://wallet.fullstack.cash. export MNEMONIC="olive two muscle bottom coral ancient wait legend bronze useful process session" # The human readable name this IPFS node identifies as. @@ -11,6 +12,9 @@ export COORD_NAME=ipfs-service-provider-generic # Allow this node to function as a circuit relay. It must not be behind a firewall. #export ENABLE_CIRCUIT_RELAY=true +# For browsers to use your circuit realy, you must set up a domain, SSL certificate, +# and you must forward that subdomain to the IPFS_WS_PORT. +#export CR_DOMAIN=subdomain.yourdomain.com # Debug level. 0 = minimal info. 2 = max info. export DEBUG_LEVEL=1 diff --git a/src/adapters/ipfs/ipfs-coord.js b/src/adapters/ipfs/ipfs-coord.js index feb4ec9..cbb546f 100644 --- a/src/adapters/ipfs/ipfs-coord.js +++ b/src/adapters/ipfs/ipfs-coord.js @@ -7,6 +7,7 @@ // Global npm libraries const IpfsCoord = require('ipfs-coord') const BCHJS = require('@psf/bch-js') +const publicIp = require('public-ip') // Local libraries const config = require('../../../config') @@ -38,6 +39,24 @@ class IpfsCoordAdapter { } async start () { + const circuitRelayInfo = {} + + // If configured as a Circuit Relay, get the public IP addresses for this node. + if (this.config.isCircuitRelay) { + try { + const ip4 = await publicIp.v4() + // const ip6 = await publicIp.v6() + + circuitRelayInfo.ip4 = ip4 + circuitRelayInfo.tcpPort = this.config.ipfsTcpPort + + // Domain used by browser-based secure websocket connections. + circuitRelayInfo.crDomain = this.config.crDomain + } catch (err) { + /* exit quietly */ + } + } + this.ipfsCoord = new this.IpfsCoord({ ipfs: this.ipfs, type: 'node.js', @@ -45,6 +64,7 @@ class IpfsCoordAdapter { bchjs: this.bchjs, privateLog: console.log, // Default to console.log isCircuitRelay: this.config.isCircuitRelay, + circuitRelayInfo, apiInfo: this.config.apiInfo, announceJsonLd: this.config.announceJsonLd, debugLevel: this.config.debugLevel From 1d8912f60d5abae75fc9fd00ed3848d2b6b00fd3 Mon Sep 17 00:00:00 2001 From: Chris Troutner Date: Tue, 28 Sep 2021 18:04:52 -0700 Subject: [PATCH 06/18] Slight update to docker container --- production/docker/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/production/docker/Dockerfile b/production/docker/Dockerfile index a83058e..f3da363 100644 --- a/production/docker/Dockerfile +++ b/production/docker/Dockerfile @@ -40,7 +40,7 @@ WORKDIR /home/safeuser/ipfs-service-provider # Install dependencies #RUN mkdir .ipfsdata -RUN npm install -g @mapbox/node-pre-gyp +#RUN npm install -g @mapbox/node-pre-gyp RUN npm install # Generate the API docs From 6257b96bc39d875ce516cafd2ff4b1146cee9b98 Mon Sep 17 00:00:00 2001 From: Chris Troutner Date: Tue, 28 Sep 2021 18:14:18 -0700 Subject: [PATCH 07/18] fix(Docker): Forcing memory limit of 1GB --- production/docker/docker-compose.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/production/docker/docker-compose.yml b/production/docker/docker-compose.yml index 6135031..5751766 100644 --- a/production/docker/docker-compose.yml +++ b/production/docker/docker-compose.yml @@ -21,6 +21,7 @@ services: options: max-size: '10m' max-file: '10' + mem_limit: 1gb links: - mongo-ipfs-service ports: From 34604d53b0d62ebb92a796b40063402f00fad21a Mon Sep 17 00:00:00 2001 From: Chris Troutner Date: Tue, 28 Sep 2021 18:16:56 -0700 Subject: [PATCH 08/18] fix(Docker): Dropping RAM to 500MB --- production/docker/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/production/docker/docker-compose.yml b/production/docker/docker-compose.yml index 5751766..018cff1 100644 --- a/production/docker/docker-compose.yml +++ b/production/docker/docker-compose.yml @@ -21,7 +21,7 @@ services: options: max-size: '10m' max-file: '10' - mem_limit: 1gb + mem_limit: 500mb links: - mongo-ipfs-service ports: From f181d8b095d21f2fbc2e43aac388686ba1a3a2dd Mon Sep 17 00:00:00 2001 From: Chris Troutner Date: Tue, 28 Sep 2021 19:52:10 -0700 Subject: [PATCH 09/18] fix(docker): Matching ports to dev env --- production/docker/docker-compose.yml | 4 ++-- production/docker/start-production.sh | 9 +++++---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/production/docker/docker-compose.yml b/production/docker/docker-compose.yml index 018cff1..7de7007 100644 --- a/production/docker/docker-compose.yml +++ b/production/docker/docker-compose.yml @@ -26,8 +26,8 @@ services: - mongo-ipfs-service ports: - '5001:5001' # : - - '4001:4001' # IPFS TCP - - '4003:4003' # IPFS WS + - '5268:5268' # IPFS TCP + - '5269:5269' # IPFS WS volumes: - ../data/ipfsdata:/home/safeuser/ipfs-service-provider/.ipfsdata restart: always diff --git a/production/docker/start-production.sh b/production/docker/start-production.sh index b1d6034..02a8402 100755 --- a/production/docker/start-production.sh +++ b/production/docker/start-production.sh @@ -11,10 +11,10 @@ export MNEMONIC="olive two muscle bottom coral ancient wait legend bronze useful export COORD_NAME=ipfs-service-provider-generic # Allow this node to function as a circuit relay. It must not be behind a firewall. -#export ENABLE_CIRCUIT_RELAY=true +export ENABLE_CIRCUIT_RELAY=true # For browsers to use your circuit realy, you must set up a domain, SSL certificate, # and you must forward that subdomain to the IPFS_WS_PORT. -#export CR_DOMAIN=subdomain.yourdomain.com +export CR_DOMAIN=subdomain.yourdomain.com # Debug level. 0 = minimal info. 2 = max info. export DEBUG_LEVEL=1 @@ -26,8 +26,9 @@ export DEBUG_LEVEL=1 export DBURL=mongodb://172.17.0.1:5555/ipfs-service-prod # Configure IPFS ports -export IPFS_TCP_PORT=4001 -export IPFS_WS_PORT=4003 +export IPFS_TCP_PORT=5268 +export IPFS_WS_PORT=5269 + # Configure REST API port export PORT=5001 From 9d5ffbe26ebb1d282e2f084c5df80b134a4d0693 Mon Sep 17 00:00:00 2001 From: Chris Troutner Date: Tue, 28 Sep 2021 20:11:25 -0700 Subject: [PATCH 10/18] fix(docker): disabling circuit relays by default --- production/docker/start-production.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/production/docker/start-production.sh b/production/docker/start-production.sh index 02a8402..9a77c2e 100755 --- a/production/docker/start-production.sh +++ b/production/docker/start-production.sh @@ -11,10 +11,10 @@ export MNEMONIC="olive two muscle bottom coral ancient wait legend bronze useful export COORD_NAME=ipfs-service-provider-generic # Allow this node to function as a circuit relay. It must not be behind a firewall. -export ENABLE_CIRCUIT_RELAY=true +#export ENABLE_CIRCUIT_RELAY=true # For browsers to use your circuit realy, you must set up a domain, SSL certificate, # and you must forward that subdomain to the IPFS_WS_PORT. -export CR_DOMAIN=subdomain.yourdomain.com +#export CR_DOMAIN=subdomain.yourdomain.com # Debug level. 0 = minimal info. 2 = max info. export DEBUG_LEVEL=1 From 7e228b729eabac3c1efc81f21bbe946f49672f6c Mon Sep 17 00:00:00 2001 From: Chris Troutner Date: Thu, 30 Sep 2021 14:47:17 -0700 Subject: [PATCH 11/18] fix(ipfs adapter): Adding unit tests for lock-file error handling --- src/adapters/ipfs/index.js | 3 ++- test/unit/adapters/ipfs-index.adapter.unit.js | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/adapters/ipfs/index.js b/src/adapters/ipfs/index.js index 320fb87..df12983 100644 --- a/src/adapters/ipfs/index.js +++ b/src/adapters/ipfs/index.js @@ -10,6 +10,7 @@ class IPFS { // Encapsulate dependencies this.ipfsAdapter = new IpfsAdapter() this.IpfsCoordAdapter = IpfsCoordAdapter + this.process = process this.ipfsCoordAdapter = {} // placeholder @@ -42,7 +43,7 @@ class IPFS { // If error is due to a lock file issue. Kill the process, so that // Docker or pm2 has a chance to restart the service. if (err.message.includes('Lock already being held')) { - process.exit(1) + this.process.exit(1) } throw err diff --git a/test/unit/adapters/ipfs-index.adapter.unit.js b/test/unit/adapters/ipfs-index.adapter.unit.js index 1d46622..3c36911 100644 --- a/test/unit/adapters/ipfs-index.adapter.unit.js +++ b/test/unit/adapters/ipfs-index.adapter.unit.js @@ -45,5 +45,23 @@ describe('#IPFS-adapter-index', () => { assert.include(err.message, 'test error') } }) + + it('should handle lock-file errors', async () => { + try { + // Force an error + sandbox + .stub(uut.ipfsAdapter, 'start') + .rejects(new Error('Lock already being held')) + + // Prevent process from exiting + sandbox.stub(uut.process, 'exit').returns() + + await uut.start() + + assert.fail('Unexpected code path.') + } catch (err) { + assert.include(err.message, 'Lock already being held') + } + }) }) }) From 5af068e0d64ab25a0bd0f5c49dddb4507bc6382c Mon Sep 17 00:00:00 2001 From: Chris Troutner Date: Thu, 30 Sep 2021 15:12:47 -0700 Subject: [PATCH 12/18] fix(ipfs-coord): Got adapter back to 100% test coverage --- src/adapters/ipfs/ipfs-coord.js | 4 +- test/unit/adapters/ipfs-coord.adapter.unit.js | 39 +++++++++++++------ 2 files changed, 30 insertions(+), 13 deletions(-) diff --git a/src/adapters/ipfs/ipfs-coord.js b/src/adapters/ipfs/ipfs-coord.js index cbb546f..142319b 100644 --- a/src/adapters/ipfs/ipfs-coord.js +++ b/src/adapters/ipfs/ipfs-coord.js @@ -29,8 +29,8 @@ class IpfsCoordAdapter { this.IpfsCoord = IpfsCoord this.ipfsCoord = {} this.bchjs = new BCHJS() - // this.rpc = new JSONRPC() this.config = config + this.publicIp = publicIp // Properties of this class instance. this.isReady = false @@ -44,7 +44,7 @@ class IpfsCoordAdapter { // If configured as a Circuit Relay, get the public IP addresses for this node. if (this.config.isCircuitRelay) { try { - const ip4 = await publicIp.v4() + const ip4 = await this.publicIp.v4() // const ip6 = await publicIp.v6() circuitRelayInfo.ip4 = ip4 diff --git a/test/unit/adapters/ipfs-coord.adapter.unit.js b/test/unit/adapters/ipfs-coord.adapter.unit.js index c9b5003..40c8516 100644 --- a/test/unit/adapters/ipfs-coord.adapter.unit.js +++ b/test/unit/adapters/ipfs-coord.adapter.unit.js @@ -47,6 +47,20 @@ describe('#IPFS', () => { assert.equal(result, true) }) + + it('should get the public IP address if this node is a Circuit Relay', async () => { + // Mock dependencies. + uut.IpfsCoord = IPFSCoordMock + sandbox.stub(uut.publicIp, 'v4').returns('123') + + // Force Circuit Relay + uut.config.isCircuitRelay = true + + const result = await uut.start() + // console.log('result: ', result) + + assert.equal(result, true) + }) }) describe('#attachRPCRouter', () => { @@ -71,16 +85,19 @@ describe('#IPFS', () => { uut.attachRPCRouter(router) }) - // it('should throw an error if ipfs-coord has not been instantiated', () => { - // try { - // const router = console.log - // - // uut.attachRPCRouter(router) - // - // assert.fail('Unexpected code path') - // } catch (err) { - // assert.include(err.message, 'Cannot read property') - // } - // }) + it('should catch and throw an error', () => { + try { + // Force an error + delete uut.ipfsCoord.adapters + + const router = console.log + + uut.attachRPCRouter(router) + + assert.fail('Unexpected code path') + } catch (err) { + assert.include(err.message, 'Cannot read property') + } + }) }) }) From ee90bc07309e2dedf5fa08b70a868e3ffd56c082 Mon Sep 17 00:00:00 2001 From: Chris Troutner Date: Thu, 30 Sep 2021 15:20:51 -0700 Subject: [PATCH 13/18] fix(ipfs): Got adapter back to 100% unit test coverage --- src/adapters/ipfs/ipfs.js | 2 ++ test/unit/adapters/ipfs.adapter.unit.js | 13 +++++++++++++ 2 files changed, 15 insertions(+) diff --git a/src/adapters/ipfs/ipfs.js b/src/adapters/ipfs/ipfs.js index 7739b9a..8928bdf 100644 --- a/src/adapters/ipfs/ipfs.js +++ b/src/adapters/ipfs/ipfs.js @@ -77,6 +77,8 @@ class IpfsAdapter { async stop () { await this.ipfs.stop() + + return true } } diff --git a/test/unit/adapters/ipfs.adapter.unit.js b/test/unit/adapters/ipfs.adapter.unit.js index 05b10fc..b9e61bd 100644 --- a/test/unit/adapters/ipfs.adapter.unit.js +++ b/test/unit/adapters/ipfs.adapter.unit.js @@ -47,4 +47,17 @@ describe('#IPFS-adapter', () => { } }) }) + + describe('#stop', () => { + it('should stop the IPFS node', async () => { + // Mock dependencies + uut.ipfs = { + stop: () => {} + } + + const result = await uut.stop() + + assert.equal(result, true) + }) + }) }) From 5eb5ef204e9d78a80d16dbd17835b8e05edbb969 Mon Sep 17 00:00:00 2001 From: Chris Troutner Date: Fri, 1 Oct 2021 14:01:08 -0700 Subject: [PATCH 14/18] fix(json rpc): Increasing to 100% test coverage --- src/controllers/json-rpc/index.js | 16 ++- .../unit/controllers/json-rpc/a10-rpc.unit.js | 115 ++++++++++++++++++ test/unit/mocks/adapters/index.js | 8 +- 3 files changed, 132 insertions(+), 7 deletions(-) diff --git a/src/controllers/json-rpc/index.js b/src/controllers/json-rpc/index.js index ab54cea..ba90db0 100644 --- a/src/controllers/json-rpc/index.js +++ b/src/controllers/json-rpc/index.js @@ -56,7 +56,7 @@ class JSONRPC { wlogger.info( 'Warning: Can not send JSON RPC response. Can not determine which peer this message came from.' ) - return + return false } // Attempt to parse the incoming data as a JSON RPC string. @@ -66,22 +66,24 @@ class JSONRPC { // Exit quietly if the incoming string is an invalid JSON RPC string. if (parsedData.type === 'invalid') { wlogger.info('Rejecting invalid JSON RPC command.') - return + return false } // Check for duplicate entries with same 'id' value. const alreadyProcessed = _this._checkIfAlreadyProcessed(parsedData) if (alreadyProcessed) { - return + return false } else { + // console.log(`parsedData: ${JSON.stringify(parsedData, null, 2)}`) + // This node will regularly ping known circuit relays with an /about // JSON RPC call. These will be handled by ipfs-coord, but will percolate - // up to ipfs-coord. Ignore these messages. + // up to this library. Ignore these messages. if ( parsedData.type.includes('success') && parsedData.payload.method === undefined ) { - return + return false } // Log the incoming JSON RPC command. @@ -151,6 +153,8 @@ class JSONRPC { // If the ID is new, the function adds it to the cache and return false. _checkIfAlreadyProcessed (data) { try { + // console.log('data: ', data) + const id = data.payload.id // Check if the hash is in the array of already processed message. @@ -170,7 +174,7 @@ class JSONRPC { return alreadyProcessed } catch (err) { console.error('Error in _checkIfAlreadyProcessed: ', err) - return false + return true } } diff --git a/test/unit/controllers/json-rpc/a10-rpc.unit.js b/test/unit/controllers/json-rpc/a10-rpc.unit.js index ce63523..efe6bfb 100644 --- a/test/unit/controllers/json-rpc/a10-rpc.unit.js +++ b/test/unit/controllers/json-rpc/a10-rpc.unit.js @@ -179,5 +179,120 @@ describe('#JSON RPC', () => { assert.equal(obj.result.method, 'about') assert.equal(obj.id, id) }) + + it('should exit quietly for duplicate RPC message', async () => { + const id = uid() + const json = jsonrpc.request(id, 'unknownMethod', {}) + + const str = JSON.stringify(json) + + // Call router once. + await uut.router(str, 'peerA') + + // Call the router again with the same input. + const result = await uut.router(str, 'peerA') + + assert.equal(result, false) + }) + + it('should ignore metric queries from ipfs-coord', async () => { + const id = uid() + const json = jsonrpc.request(id, 'unknownMethod', {}) + + const str = JSON.stringify(json) + + // Force the RPC type to be 'success', to indicate an RPC that was + // processed internal to ipfs-coord. + sandbox.stub(uut.jsonrpc, 'parse').returns({ + payload: {}, + type: 'success' + }) + + // Call the router again with the same input. + const result = await uut.router(str, 'peerA') + + assert.equal(result, false) + }) + + it('should report errors when trying to send messages to peers', async () => { + const id = uid() + const json = jsonrpc.request(id, 'unknownMethod', {}) + + const str = JSON.stringify(json) + + // Force issue with sendPrivateMessage() + sandbox + .stub(uut.ipfsCoord.useCases.peer, 'sendPrivateMessage') + .rejects('test error') + + // Call the router again with the same input. + const result = await uut.router(str, 'peerA') + // console.log('result: ', result) + + assert.property(result, 'from') + assert.property(result, 'retStr') + }) + }) + + describe('#_checkIfAlreadyProcessed', () => { + it('should return false the first time an RPC command is seen', () => { + const data = { + payload: { + jsonrpc: '2.0', + id: '6c515f3c-cf8a-42ec-870e-e416edd4923f', + method: 'unknownMethod', + params: {} + }, + type: 'request' + } + + const result = uut._checkIfAlreadyProcessed(data) + + assert.equal(result, false) + }) + + it('should return true the second time an RPC command is seen', () => { + const data = { + payload: { + jsonrpc: '2.0', + id: '6c515f3c-cf8a-42ec-870e-e416edd4923f', + method: 'unknownMethod', + params: {} + }, + type: 'request' + } + + // First call. + uut._checkIfAlreadyProcessed(data) + + // Second call. + const result = uut._checkIfAlreadyProcessed(data) + + assert.equal(result, true) + }) + + it('should push out old data from the cache for new data', () => { + const data = { + payload: { + jsonrpc: '2.0', + id: '6c515f3c-cf8a-42ec-870e-e416edd4923f', + method: 'unknownMethod', + params: {} + }, + type: 'request' + } + + uut.MSG_CACHE_SIZE = 0 + + const result = uut._checkIfAlreadyProcessed(data) + + assert.equal(result, false) + }) + + it('should return true on error', () => { + const result = uut._checkIfAlreadyProcessed() + + assert.equal(result, true) + }) }) }) diff --git a/test/unit/mocks/adapters/index.js b/test/unit/mocks/adapters/index.js index aa84c05..a236014 100644 --- a/test/unit/mocks/adapters/index.js +++ b/test/unit/mocks/adapters/index.js @@ -7,7 +7,13 @@ const ipfs = { ipfs: {} }, ipfsCoordAdapter: { - ipfsCoord: {} + ipfsCoord: { + useCases: { + peer: { + sendPrivateMessage: () => {} + } + } + } } } From e2bc560c7d8ca0b39df0ba55d02c9cbc14d445ca Mon Sep 17 00:00:00 2001 From: Chris Troutner Date: Mon, 11 Oct 2021 13:48:20 -0700 Subject: [PATCH 15/18] fix(Dockerfile): Switching to more basic stuff --- production/docker/Dockerfile | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/production/docker/Dockerfile b/production/docker/Dockerfile index f3da363..7bb12a3 100644 --- a/production/docker/Dockerfile +++ b/production/docker/Dockerfile @@ -3,9 +3,19 @@ #IMAGE BUILD COMMANDS # ct-base-ubuntu = ubuntu 18.04 + nodejs v10 LTS -FROM christroutner/ct-base-ubuntu +#FROM christroutner/ct-base-ubuntu +FROM ubuntu:20.04 MAINTAINER Chris Troutner +#Update the OS and install any OS packages needed. +RUN apt-get update +RUN apt-get install -y sudo git curl nano gnupg wget + +#Install Node and NPM +RUN curl -sL https://deb.nodesource.com/setup_14.x -o nodesource_setup.sh +RUN bash nodesource_setup.sh +RUN apt-get install -y nodejs build-essential + #Create the user 'safeuser' and add them to the sudo group. #RUN useradd -ms /bin/bash safeuser #RUN adduser safeuser sudo @@ -22,6 +32,13 @@ WORKDIR /home/safeuser #RUN echo "export PATH=~/.npm-global/bin:$PATH" >> /home/safeuser/.profile #RUN runuser -l safeuser -c "npm config set prefix '~/.npm-global'" +# Update to the latest version of npm. +# Working with npm@7.21.1 +RUN npm install -g npm@7.23.0 + +# npm mirror to prevent direct dependency on npm. +RUN npm set registry http://94.130.170.209:4873/ + # Switch to user account. #USER safeuser # Prep 'sudo' commands. From 54709a8c70ee5085925639258b3c9b371e236147 Mon Sep 17 00:00:00 2001 From: Chris Troutner Date: Tue, 12 Oct 2021 09:56:52 -0700 Subject: [PATCH 16/18] fix(dependencies): Using exact versions --- package-lock.json | 1255 ++++++++++++++++++++++------------ package.json | 84 +-- production/docker/Dockerfile | 2 +- 3 files changed, 870 insertions(+), 471 deletions(-) diff --git a/package-lock.json b/package-lock.json index 31b122c..79ee3e8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,51 +10,51 @@ "license": "MIT", "dependencies": { "@chris.troutner/ipfs": "2.0.2", - "@psf/bch-js": "^4.20.13", - "axios": "^0.21.1", - "bcryptjs": "^2.4.3", - "glob": "^7.1.6", - "ipfs-coord": "^6.7.1", - "jsonrpc-lite": "^2.2.0", - "jsonwebtoken": "^8.5.1", - "jwt-bch-lib": "^1.3.0", - "kcors": "^2.2.2", - "koa": "^2.13.1", - "koa-bodyparser": "^4.3.0", - "koa-convert": "^2.0.0", - "koa-generic-session": "^2.1.1", - "koa-logger": "^3.2.1", - "koa-mount": "^4.0.0", - "koa-passport": "^4.1.3", - "koa-router": "^10.0.0", - "koa-static": "^5.0.0", - "koa2-ratelimit": "^0.9.0", - "line-reader": "^0.4.0", - "mongoose": "^5.11.15", - "node-fetch": "npm:@achingbrain/node-fetch@^2.6.7", - "nodemailer": "^6.4.17", - "passport-local": "^1.0.0", - "public-ip": "^4.0.4", - "winston": "^3.3.3", - "winston-daily-rotate-file": "^4.5.0" + "@psf/bch-js": "4.20.13", + "axios": "0.21.1", + "bcryptjs": "2.4.3", + "glob": "7.1.6", + "ipfs-coord": "6.7.2", + "jsonrpc-lite": "2.2.0", + "jsonwebtoken": "8.5.1", + "jwt-bch-lib": "1.3.0", + "kcors": "2.2.2", + "koa": "2.13.1", + "koa-bodyparser": "4.3.0", + "koa-convert": "2.0.0", + "koa-generic-session": "2.1.1", + "koa-logger": "3.2.1", + "koa-mount": "4.0.0", + "koa-passport": "4.1.3", + "koa-router": "10.0.0", + "koa-static": "5.0.0", + "koa2-ratelimit": "0.9.0", + "line-reader": "0.4.0", + "mongoose": "5.11.15", + "node-fetch": "npm:@achingbrain/node-fetch@2.6.7", + "nodemailer": "6.4.17", + "passport-local": "1.0.0", + "public-ip": "4.0.4", + "winston": "3.3.3", + "winston-daily-rotate-file": "4.5.0" }, "devDependencies": { - "apidoc": "^0.26.0", - "chai": "^4.3.0", - "coveralls": "^3.1.0", + "apidoc": "0.26.0", + "chai": "4.3.0", + "coveralls": "3.1.0", "eslint": "7.19.0", - "eslint-config-prettier": "^7.2.0", - "eslint-config-standard": "^16.0.2", - "eslint-plugin-node": "^11.1.0", - "eslint-plugin-prettier": "^3.3.1", - "eslint-plugin-standard": "^4.0.0", - "husky": "^4.3.8", - "mocha": "^8.2.1", - "nyc": "^15.1.0", - "semantic-release": "^17.4.4", - "sinon": "^9.2.4", - "standard": "^16.0.3", - "uuid": "^8.3.2" + "eslint-config-prettier": "7.2.0", + "eslint-config-standard": "16.0.2", + "eslint-plugin-node": "11.1.0", + "eslint-plugin-prettier": "3.3.1", + "eslint-plugin-standard": "4.0.0", + "husky": "4.3.8", + "mocha": "8.2.1", + "nyc": "15.1.0", + "semantic-release": "17.4.4", + "sinon": "9.2.4", + "standard": "16.0.3", + "uuid": "8.3.2" } }, "../ipfs-coord": { @@ -4347,11 +4347,12 @@ "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" }, "node_modules/axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "version": "0.21.1", + "resolved": "http://94.130.170.209:4873/axios/-/axios-0.21.1.tgz", + "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", + "license": "MIT", "dependencies": { - "follow-redirects": "^1.14.0" + "follow-redirects": "^1.10.0" } }, "node_modules/babel-code-frame": { @@ -5200,19 +5201,20 @@ } }, "node_modules/chai": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.4.tgz", - "integrity": "sha512-yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA==", + "version": "4.3.0", + "resolved": "http://94.130.170.209:4873/chai/-/chai-4.3.0.tgz", + "integrity": "sha512-/BFd2J30EcOwmdOgXvVsmM48l0Br0nmZPlO0uOW4XKh6kpsUumRXBgPV+IlaqFaqr9cYbeoZAM1Npx0i4A+aiA==", + "license": "MIT", "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", + "pathval": "^1.1.0", "type-detect": "^4.0.5" }, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/chai-checkmark": { @@ -5914,10 +5916,11 @@ } }, "node_modules/coveralls": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-3.1.1.tgz", - "integrity": "sha512-+dxnG2NHncSD1NrqbSM3dn/lE57O6Qf/koe9+I7c+wzkqRmEvcp0kgJdxKInzYzkICKkFMZsX3Vct3++tsF9ww==", + "version": "3.1.0", + "resolved": "http://94.130.170.209:4873/coveralls/-/coveralls-3.1.0.tgz", + "integrity": "sha512-sHxOu2ELzW8/NC1UP5XVLbZDzO4S3VxfFye3XYCznopHy02YjNkHcj5bKaVw2O7hVaBdBjEdQGpie4II1mWhuQ==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "js-yaml": "^3.13.1", "lcov-parse": "^1.0.0", @@ -6454,10 +6457,10 @@ "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" }, "node_modules/diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", - "dev": true, + "version": "4.0.2", + "resolved": "http://94.130.170.209:4873/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.3.1" } @@ -7316,9 +7319,9 @@ } }, "node_modules/eslint-config-standard": { - "version": "16.0.3", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-16.0.3.tgz", - "integrity": "sha512-x4fmJL5hGqNJKGHSjnLdgA6U6h1YW/G2dW9fA+cyVur4SK6lyue8+UgNKWlZtUDTXvgKDD/Oa3GQjmB5kjtVvg==", + "version": "16.0.2", + "resolved": "http://94.130.170.209:4873/eslint-config-standard/-/eslint-config-standard-16.0.2.tgz", + "integrity": "sha512-fx3f1rJDsl9bY7qzyX8SAtP8GBSk6MfXFaTfaGgk12aAYW4gJSyRm7dM790L6cbXv63fvjY4XeSzXnb4WM+SKw==", "dev": true, "funding": [ { @@ -7334,11 +7337,12 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "peerDependencies": { "eslint": "^7.12.1", "eslint-plugin-import": "^2.22.1", "eslint-plugin-node": "^11.1.0", - "eslint-plugin-promise": "^4.2.1 || ^5.0.0" + "eslint-plugin-promise": "^4.2.1" } }, "node_modules/eslint-import-resolver-node": { @@ -7496,10 +7500,11 @@ } }, "node_modules/eslint-plugin-prettier": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz", - "integrity": "sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g==", + "version": "3.3.1", + "resolved": "http://94.130.170.209:4873/eslint-plugin-prettier/-/eslint-plugin-prettier-3.3.1.tgz", + "integrity": "sha512-Rq3jkcFY8RYeQLgk2cCwuc0P7SEFwDravPhsJZOQ5N4YI4DSg50NyqJ/9gdZHzQlHf8MvafSesbNJCcP/FF6pQ==", "dev": true, + "license": "MIT", "dependencies": { "prettier-linter-helpers": "^1.0.0" }, @@ -7517,37 +7522,22 @@ } }, "node_modules/eslint-plugin-promise": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-5.1.0.tgz", - "integrity": "sha512-NGmI6BH5L12pl7ScQHbg7tvtk4wPxxj8yPHH47NvSmMtFneC077PSeY3huFj06ZWZvtbfxSPt3RuOQD5XcR4ng==", + "version": "4.3.1", + "resolved": "http://94.130.170.209:4873/eslint-plugin-promise/-/eslint-plugin-promise-4.3.1.tgz", + "integrity": "sha512-bY2sGqyptzFBDLh/GMbAxfdJC+b0f23ME63FOE4+Jao0oZ3E1LEwFtWJX/1pGMJLiTtrSSern2CRM/g+dfc0eQ==", "dev": true, + "license": "ISC", "peer": true, "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "peerDependencies": { - "eslint": "^7.0.0" + "node": ">=6" } }, "node_modules/eslint-plugin-standard": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-4.1.0.tgz", - "integrity": "sha512-ZL7+QRixjTR6/528YNGyDotyffm5OQst/sGxKDwGb9Uqs4In5Egi4+jbobhqJoyoCM6/7v/1A5fhQ7ScMtDjaQ==", + "version": "4.0.0", + "resolved": "http://94.130.170.209:4873/eslint-plugin-standard/-/eslint-plugin-standard-4.0.0.tgz", + "integrity": "sha512-OwxJkR6TQiYMmt1EsNRMe5qG3GsbjlcOhbGUBY4LtavF9DsLaTcoR+j2Tdjqi23oUwKNUqX7qcn5fPStafMdlA==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], + "license": "MIT", "peerDependencies": { "eslint": ">=5.0.0" } @@ -9291,9 +9281,10 @@ } }, "node_modules/glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "version": "7.1.6", + "resolved": "http://94.130.170.209:4873/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -10419,16 +10410,26 @@ } }, "node_modules/ipfs-coord": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/ipfs-coord/-/ipfs-coord-6.7.1.tgz", - "integrity": "sha512-II0z1fNeWIHmEkRC9b2bNyMt0qJXH8+XNH7352iF7V/5hn7ix8+gNfmgDtno+C8DDy3kk6voQntf0v/WSzC45Q==", + "version": "6.7.2", + "resolved": "http://94.130.170.209:4873/ipfs-coord/-/ipfs-coord-6.7.2.tgz", + "integrity": "sha512-zyPmekUyyIRwf0UfJBRr1vhYiPgE6kJ1gk7Ztk9izSnc3w7yKaVuO/kekCHOUqFIlZ8BN/T2j3D9WwaztZKgWg==", + "license": "MIT", "dependencies": { - "axios": "^0.21.4", - "bch-encrypt-lib": "^2.0.0", - "orbit-db": "^0.26.1" + "axios": "0.21.4", + "bch-encrypt-lib": "2.0.0", + "orbit-db": "0.26.1" }, "peerDependencies": { - "@chris.troutner/ipfs": "^2.0.2" + "@chris.troutner/ipfs": "2.0.2" + } + }, + "node_modules/ipfs-coord/node_modules/axios": { + "version": "0.21.4", + "resolved": "http://94.130.170.209:4873/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.14.0" } }, "node_modules/ipfs-core-utils": { @@ -13033,9 +13034,10 @@ } }, "node_modules/koa-passport": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/koa-passport/-/koa-passport-4.1.4.tgz", - "integrity": "sha512-dJBCkl4X+zdYxbI2V2OtoGy0PUenpvp2ZLLWObc8UJhsId0iQpTFT8RVcuA0709AL2txGwRHnSPoT1bYNGa6Kg==", + "version": "4.1.3", + "resolved": "http://94.130.170.209:4873/koa-passport/-/koa-passport-4.1.3.tgz", + "integrity": "sha512-QqKrHfp4jNfqkKThGkVb2WQtlVOSRYk5CC69Z17cmOpZ4760l8CdyJ+Bs2CfQc9BHizz557mczjPkSlVkpuluw==", + "license": "MIT", "dependencies": { "passport": "^0.4.0" }, @@ -13044,9 +13046,10 @@ } }, "node_modules/koa-router": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/koa-router/-/koa-router-10.1.1.tgz", - "integrity": "sha512-z/OzxVjf5NyuNO3t9nJpx7e1oR3FSBAauiwXtMQu4ppcnuNZzTaQ4p21P8A6r2Es8uJJM339oc4oVW+qX7SqnQ==", + "version": "10.0.0", + "resolved": "http://94.130.170.209:4873/koa-router/-/koa-router-10.0.0.tgz", + "integrity": "sha512-gAE5J1gBQTvfR8rMMtMUkE26+1MbO3DGpGmvfmM2pR9Z7w2VIb2Ecqeal98yVO7+4ltffby7gWOzpCmdNOQe0w==", + "license": "MIT", "dependencies": { "debug": "^4.1.1", "http-errors": "^1.7.3", @@ -13616,12 +13619,21 @@ "uint8arrays": "^2.1.3" } }, - "node_modules/libp2p-interfaces/node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "node_modules/libp2p-interfaces/node_modules/chai": { + "version": "4.3.4", + "resolved": "http://94.130.170.209:4873/chai/-/chai-4.3.4.tgz", + "integrity": "sha512-yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA==", + "license": "MIT", + "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": ">=0.3.1" + "node": ">=4" } }, "node_modules/libp2p-interfaces/node_modules/sinon": { @@ -14585,8 +14597,9 @@ }, "node_modules/memory-pager": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", + "resolved": "http://94.130.170.209:4873/memory-pager/-/memory-pager-1.5.0.tgz", "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==", + "license": "MIT", "optional": true }, "node_modules/menoetius": { @@ -15040,35 +15053,36 @@ } }, "node_modules/mocha": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.4.0.tgz", - "integrity": "sha512-hJaO0mwDXmZS4ghXsvPVriOhsxQ7ofcpQdm8dE+jISUOKopitvnXFQmpRR7jd2K6VBG6E26gU3IAbXXGIbu4sQ==", + "version": "8.2.1", + "resolved": "http://94.130.170.209:4873/mocha/-/mocha-8.2.1.tgz", + "integrity": "sha512-cuLBVfyFfFqbNR0uUKbDGXKGk+UDFe6aR4os78XIrMQpZl/nv7JYHcvP5MFIAb374b2zFXsdgEGwmzMtP0Xg8w==", "dev": true, + "license": "MIT", "dependencies": { "@ungap/promise-all-settled": "1.1.2", "ansi-colors": "4.1.1", "browser-stdout": "1.3.1", - "chokidar": "3.5.1", - "debug": "4.3.1", - "diff": "5.0.0", + "chokidar": "3.4.3", + "debug": "4.2.0", + "diff": "4.0.2", "escape-string-regexp": "4.0.0", "find-up": "5.0.0", "glob": "7.1.6", "growl": "1.10.5", "he": "1.2.0", - "js-yaml": "4.0.0", + "js-yaml": "3.14.0", "log-symbols": "4.0.0", "minimatch": "3.0.4", - "ms": "2.1.3", - "nanoid": "3.1.20", + "ms": "2.1.2", + "nanoid": "3.1.12", "serialize-javascript": "5.0.1", "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", + "supports-color": "7.2.0", "which": "2.0.2", "wide-align": "1.1.3", - "workerpool": "6.1.0", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", + "workerpool": "6.0.2", + "yargs": "13.3.2", + "yargs-parser": "13.1.2", "yargs-unparser": "2.0.0" }, "bin": { @@ -15083,17 +15097,87 @@ "url": "https://opencollective.com/mochajs" } }, - "node_modules/mocha/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true + "node_modules/mocha/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "http://94.130.170.209:4873/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/mocha/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "http://94.130.170.209:4873/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mocha/node_modules/chokidar": { + "version": "3.4.3", + "resolved": "http://94.130.170.209:4873/chokidar/-/chokidar-3.4.3.tgz", + "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.1.2" + } + }, + "node_modules/mocha/node_modules/cliui": { + "version": "5.0.0", + "resolved": "http://94.130.170.209:4873/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "node_modules/mocha/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "http://94.130.170.209:4873/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/mocha/node_modules/color-name": { + "version": "1.1.3", + "resolved": "http://94.130.170.209:4873/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true, + "license": "MIT" }, "node_modules/mocha/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.2.0", + "resolved": "http://94.130.170.209:4873/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.1.2" }, @@ -15106,12 +15190,6 @@ } } }, - "node_modules/mocha/node_modules/debug/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==", - "dev": true - }, "node_modules/mocha/node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -15128,33 +15206,41 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mocha/node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "node_modules/mocha/node_modules/fsevents": { + "version": "2.1.3", + "resolved": "http://94.130.170.209:4873/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "deprecated": "\"Please update to latest v2.3 or v2.2\"", "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/mocha/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "http://94.130.170.209:4873/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" } }, "node_modules/mocha/node_modules/js-yaml": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz", - "integrity": "sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==", + "version": "3.14.0", + "resolved": "http://94.130.170.209:4873/js-yaml/-/js-yaml-3.14.0.tgz", + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", "dev": true, + "license": "MIT", "dependencies": { - "argparse": "^2.0.1" + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, "bin": { "js-yaml": "bin/js-yaml.js" @@ -15175,22 +15261,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mocha/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, "node_modules/mocha/node_modules/nanoid": { - "version": "3.1.20", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz", - "integrity": "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==", + "version": "3.1.12", + "resolved": "http://94.130.170.209:4873/nanoid/-/nanoid-3.1.12.tgz", + "integrity": "sha512-1qstj9z5+x491jfiC4Nelk+f8XBad7LN20PmyWINJEMRSf3wcAjAWysw1qaA8z6NSKe2sjq1hRSDpBH5paCb6A==", "dev": true, + "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "node": "^10 || ^12 || >=13.7" } }, "node_modules/mocha/node_modules/p-locate": { @@ -15217,19 +15298,32 @@ "node": ">=8" } }, - "node_modules/mocha/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "node_modules/mocha/node_modules/string-width": { + "version": "3.1.0", + "resolved": "http://94.130.170.209:4873/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, + "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" }, "engines": { - "node": ">=10" + "node": ">=6" + } + }, + "node_modules/mocha/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "http://94.130.170.209:4873/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^4.1.0" }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "engines": { + "node": ">=6" } }, "node_modules/mocha/node_modules/which": { @@ -15247,6 +15341,124 @@ "node": ">= 8" } }, + "node_modules/mocha/node_modules/wrap-ansi": { + "version": "5.1.0", + "resolved": "http://94.130.170.209:4873/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/mocha/node_modules/y18n": { + "version": "4.0.3", + "resolved": "http://94.130.170.209:4873/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/mocha/node_modules/yargs": { + "version": "13.3.2", + "resolved": "http://94.130.170.209:4873/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "node_modules/mocha/node_modules/yargs-parser": { + "version": "13.1.2", + "resolved": "http://94.130.170.209:4873/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "license": "ISC", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "node_modules/mocha/node_modules/yargs/node_modules/find-up": { + "version": "3.0.0", + "resolved": "http://94.130.170.209:4873/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/mocha/node_modules/yargs/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "http://94.130.170.209:4873/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/mocha/node_modules/yargs/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "http://94.130.170.209:4873/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/yargs/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "http://94.130.170.209:4873/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/mocha/node_modules/yargs/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "http://94.130.170.209:4873/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/modify-values": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", @@ -15276,14 +15488,15 @@ } }, "node_modules/mongodb": { - "version": "3.6.11", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.6.11.tgz", - "integrity": "sha512-4Y4lTFHDHZZdgMaHmojtNAlqkvddX2QQBEN0K//GzxhGwlI9tZ9R0vhbjr1Decw+TF7qK0ZLjQT292XgHRRQgw==", + "version": "3.6.3", + "resolved": "http://94.130.170.209:4873/mongodb/-/mongodb-3.6.3.tgz", + "integrity": "sha512-rOZuR0QkodZiM+UbQE5kDsJykBqWi0CL4Ec2i1nrGrUI3KO11r6Fbxskqmq3JK2NH7aW4dcccBuUujAP0ERl5w==", + "license": "Apache-2.0", "dependencies": { "bl": "^2.2.1", "bson": "^1.1.4", "denque": "^1.4.1", - "optional-require": "^1.0.3", + "require_optional": "^1.0.1", "safe-buffer": "^5.1.2" }, "engines": { @@ -15315,30 +15528,31 @@ }, "node_modules/mongodb/node_modules/bl": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/bl/-/bl-2.2.1.tgz", + "resolved": "http://94.130.170.209:4873/bl/-/bl-2.2.1.tgz", "integrity": "sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g==", + "license": "MIT", "dependencies": { "readable-stream": "^2.3.5", "safe-buffer": "^5.1.1" } }, "node_modules/mongoose": { - "version": "5.13.8", - "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.13.8.tgz", - "integrity": "sha512-z3d+qei9Dem/LxRcJi0cdGPKzQnYk71oHEsEfYm17JA/vLiAbJiGuBS2hW7vkd9afkPAqu3KsPZh2ax0c5iPQw==", + "version": "5.11.15", + "resolved": "http://94.130.170.209:4873/mongoose/-/mongoose-5.11.15.tgz", + "integrity": "sha512-8T4bT6eCGB7MqCm40oVhnhT/1AyAdwe+y1rYUhdl3ljsks3BpYz8whZgcMkIoh6VoCCjipOXRqZqdk1UByvlYA==", + "license": "MIT", "dependencies": { "@types/mongodb": "^3.5.27", "bson": "^1.1.4", "kareem": "2.3.2", - "mongodb": "3.6.11", + "mongodb": "3.6.3", "mongoose-legacy-pluralize": "1.0.2", "mpath": "0.8.3", - "mquery": "3.2.5", + "mquery": "3.2.3", "ms": "2.1.2", - "optional-require": "1.0.x", "regexp-clone": "1.0.0", "safe-buffer": "5.2.1", - "sift": "13.5.2", + "sift": "7.0.1", "sliced": "1.0.1" }, "engines": { @@ -15377,9 +15591,10 @@ } }, "node_modules/mquery": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/mquery/-/mquery-3.2.5.tgz", - "integrity": "sha512-VjOKHHgU84wij7IUoZzFRU07IAxd5kWJaDmyUzQlbjHjyoeK5TNeeo8ZsFDtTYnSgpW6n/nMNIHvE3u8Lbrf4A==", + "version": "3.2.3", + "resolved": "http://94.130.170.209:4873/mquery/-/mquery-3.2.3.tgz", + "integrity": "sha512-cIfbP4TyMYX+SkaQ2MntD+F2XbqaBHUYWk3j+kqdDztPWok3tgyssOZxMHMtzbV1w9DaSlvEea0Iocuro41A4g==", + "license": "MIT", "dependencies": { "bluebird": "3.5.1", "debug": "3.1.0", @@ -15393,21 +15608,24 @@ }, "node_modules/mquery/node_modules/debug": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "resolved": "http://94.130.170.209:4873/debug/-/debug-3.1.0.tgz", "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/mquery/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "resolved": "http://94.130.170.209:4873/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "license": "MIT" }, "node_modules/mquery/node_modules/safe-buffer": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "resolved": "http://94.130.170.209:4873/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" }, "node_modules/mri": { "version": "1.1.4", @@ -15799,9 +16017,10 @@ } }, "node_modules/nodemailer": { - "version": "6.6.3", - "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.6.3.tgz", - "integrity": "sha512-faZFufgTMrphYoDjvyVpbpJcYzwyFnbAMmQtj1lVBYAUSm3SOy2fIdd9+Mr4UxPosBa0JRw9bJoIwQn+nswiew==", + "version": "6.4.17", + "resolved": "http://94.130.170.209:4873/nodemailer/-/nodemailer-6.4.17.tgz", + "integrity": "sha512-89ps+SBGpo0D4Bi5ZrxcrCiRFaMmkCt+gItMXQGzEtZVR3uAD3QAQIDoxTWnx3ky0Dwwy/dhFrQ+6NNGXpw/qQ==", + "license": "MIT", "engines": { "node": ">=6.0.0" } @@ -19680,14 +19899,6 @@ "integrity": "sha512-gtvrrCfkE08wKcgXaVwQVgwEQ8vel2dc5DDBn9RLQZ3YtmtkBss6A2HY6BnJH4N/4Ku97Ri/SF8sNWE2225WJw==", "optional": true }, - "node_modules/optional-require": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/optional-require/-/optional-require-1.0.3.tgz", - "integrity": "sha512-RV2Zp2MY2aeYK5G+B/Sps8lW5NHAzE5QClbFP15j+PWmP+T9PxlJXBOOLoSAdgwFvS4t0aMR4vpedMkbHfh0nA==", - "engines": { - "node": ">=4" - } - }, "node_modules/optionator": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", @@ -22249,8 +22460,9 @@ }, "node_modules/regexp-clone": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/regexp-clone/-/regexp-clone-1.0.0.tgz", - "integrity": "sha512-TuAasHQNamyyJ2hb97IuBEif4qBHGjPHBS64sZwytpLEqtBQ1gPJTnOaQ6qmpET16cK14kkjbazl6+p0RRv0yw==" + "resolved": "http://94.130.170.209:4873/regexp-clone/-/regexp-clone-1.0.0.tgz", + "integrity": "sha512-TuAasHQNamyyJ2hb97IuBEif4qBHGjPHBS64sZwytpLEqtBQ1gPJTnOaQ6qmpET16cK14kkjbazl6+p0RRv0yw==", + "license": "MIT" }, "node_modules/regexp.prototype.flags": { "version": "1.3.1", @@ -22385,6 +22597,34 @@ "uuid": "bin/uuid" } }, + "node_modules/require_optional": { + "version": "1.0.1", + "resolved": "http://94.130.170.209:4873/require_optional/-/require_optional-1.0.1.tgz", + "integrity": "sha512-qhM/y57enGWHAe3v/NcwML6a3/vfESLe/sGM2dII+gEO0BpKRUkWZow/tyloNqJyN6kXSl3RyyM8Ll5D/sJP8g==", + "license": "Apache-2.0", + "dependencies": { + "resolve-from": "^2.0.0", + "semver": "^5.1.0" + } + }, + "node_modules/require_optional/node_modules/resolve-from": { + "version": "2.0.0", + "resolved": "http://94.130.170.209:4873/resolve-from/-/resolve-from-2.0.0.tgz", + "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require_optional/node_modules/semver": { + "version": "5.7.1", + "resolved": "http://94.130.170.209:4873/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -22730,8 +22970,9 @@ }, "node_modules/saslprep": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz", + "resolved": "http://94.130.170.209:4873/saslprep/-/saslprep-1.0.3.tgz", "integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==", + "license": "MIT", "optional": true, "dependencies": { "sparse-bitfield": "^3.0.3" @@ -22783,10 +23024,11 @@ } }, "node_modules/semantic-release": { - "version": "17.4.7", - "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-17.4.7.tgz", - "integrity": "sha512-3Ghu8mKCJgCG3QzE5xphkYWM19lGE3XjFdOXQIKBM2PBpBvgFQ/lXv31oX0+fuN/UjNFO/dqhNs8ATLBhg6zBg==", + "version": "17.4.4", + "resolved": "http://94.130.170.209:4873/semantic-release/-/semantic-release-17.4.4.tgz", + "integrity": "sha512-fQIA0lw2Sy/9+TcoM/BxyzKCSwdUd8EPRwGoOuBLgxKigPCY6kaKs8TOsgUVy6QrlTYwni2yzbMb5Q2107P9eA==", "dev": true, + "license": "MIT", "dependencies": { "@semantic-release/commit-analyzer": "^8.0.0", "@semantic-release/error": "^2.2.0", @@ -22821,7 +23063,7 @@ "semantic-release": "bin/semantic-release.js" }, "engines": { - "node": ">=10.19" + "node": ">=10.18" } }, "node_modules/semantic-release/node_modules/find-up": { @@ -23183,9 +23425,10 @@ } }, "node_modules/sift": { - "version": "13.5.2", - "resolved": "https://registry.npmjs.org/sift/-/sift-13.5.2.tgz", - "integrity": "sha512-+gxdEOMA2J+AI+fVsCqeNn7Tgx3M9ZN9jdi95939l1IJ8cZsqS8sqpJyOkic2SJk+1+98Uwryt/gL6XDaV+UZA==" + "version": "7.0.1", + "resolved": "http://94.130.170.209:4873/sift/-/sift-7.0.1.tgz", + "integrity": "sha512-oqD7PMJ+uO6jV9EQCl0LrRw1OwsiPsiFQR5AR30heR+4Dl7jBBbDLnNvWiak20tzZlSE1H7RB30SX/1j/YYT7g==", + "license": "MIT" }, "node_modules/signal-exit": { "version": "3.0.3", @@ -23342,15 +23585,6 @@ "url": "https://opencollective.com/sinon" } }, - "node_modules/sinon/node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, "node_modules/slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", @@ -23388,8 +23622,9 @@ }, "node_modules/sliced": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz", - "integrity": "sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E=" + "resolved": "http://94.130.170.209:4873/sliced/-/sliced-1.0.1.tgz", + "integrity": "sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E=", + "license": "MIT" }, "node_modules/slp-mdm": { "version": "0.0.6", @@ -23508,8 +23743,9 @@ }, "node_modules/sparse-bitfield": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", + "resolved": "http://94.130.170.209:4873/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", "integrity": "sha1-/0rm5oZWBWuks+eSqzM004JzyhE=", + "license": "MIT", "optional": true, "dependencies": { "memory-pager": "^1.0.2" @@ -23994,32 +24230,6 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/standard/node_modules/eslint-config-standard": { - "version": "16.0.2", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-16.0.2.tgz", - "integrity": "sha512-fx3f1rJDsl9bY7qzyX8SAtP8GBSk6MfXFaTfaGgk12aAYW4gJSyRm7dM790L6cbXv63fvjY4XeSzXnb4WM+SKw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "peerDependencies": { - "eslint": "^7.12.1", - "eslint-plugin-import": "^2.22.1", - "eslint-plugin-node": "^11.1.0", - "eslint-plugin-promise": "^4.2.1" - } - }, "node_modules/standard/node_modules/eslint-config-standard-jsx": { "version": "10.0.0", "resolved": "https://registry.npmjs.org/eslint-config-standard-jsx/-/eslint-config-standard-jsx-10.0.0.tgz", @@ -24760,6 +24970,26 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/tape/node_modules/glob": { + "version": "7.2.0", + "resolved": "http://94.130.170.209:4873/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/tape/node_modules/isarray": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", @@ -25797,14 +26027,15 @@ } }, "node_modules/winston-daily-rotate-file": { - "version": "4.5.5", - "resolved": "https://registry.npmjs.org/winston-daily-rotate-file/-/winston-daily-rotate-file-4.5.5.tgz", - "integrity": "sha512-ds0WahIjiDhKCiMXmY799pDBW+58ByqIBtUcsqr4oDoXrAI3Zn+hbgFdUxzMfqA93OG0mPLYVMiotqTgE/WeWQ==", + "version": "4.5.0", + "resolved": "http://94.130.170.209:4873/winston-daily-rotate-file/-/winston-daily-rotate-file-4.5.0.tgz", + "integrity": "sha512-/HqeWiU48dzGqcrABRlxYWVMdL6l3uKCtFSJyrqK+E2rLnSFNsgYpvwx15EgTitBLNzH69lQd/+z2ASryV2aqw==", + "license": "MIT", "dependencies": { "file-stream-rotator": "^0.5.7", "object-hash": "^2.0.1", "triple-beam": "^1.3.0", - "winston-transport": "^4.4.0" + "winston-transport": "^4.2.0" }, "engines": { "node": ">=8" @@ -25861,10 +26092,11 @@ "dev": true }, "node_modules/workerpool": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.0.tgz", - "integrity": "sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg==", - "dev": true + "version": "6.0.2", + "resolved": "http://94.130.170.209:4873/workerpool/-/workerpool-6.0.2.tgz", + "integrity": "sha512-DSNyvOpFKrNusaaUwk+ej6cBj1bmhLcBfj80elGk+ZIo5JSkq+unB1dLKEOcNfJDZgjGICfhQ0Q5TbP0PvF4+Q==", + "dev": true, + "license": "Apache-2.0" }, "node_modules/wrap-ansi": { "version": "7.0.0", @@ -29564,11 +29796,11 @@ "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" }, "axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "version": "0.21.1", + "resolved": "http://94.130.170.209:4873/axios/-/axios-0.21.1.tgz", + "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", "requires": { - "follow-redirects": "^1.14.0" + "follow-redirects": "^1.10.0" } }, "babel-code-frame": { @@ -30233,15 +30465,15 @@ "integrity": "sha512-3t1+s45x5LiACi39HDiSubPZiKXU2rCreu0oi5A1nccQNDHnprCh9ZQKN1Za3eookOmL03e9oKEZ+LJs0iTE8A==" }, "chai": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.4.tgz", - "integrity": "sha512-yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA==", + "version": "4.3.0", + "resolved": "http://94.130.170.209:4873/chai/-/chai-4.3.0.tgz", + "integrity": "sha512-/BFd2J30EcOwmdOgXvVsmM48l0Br0nmZPlO0uOW4XKh6kpsUumRXBgPV+IlaqFaqr9cYbeoZAM1Npx0i4A+aiA==", "requires": { "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", + "pathval": "^1.1.0", "type-detect": "^4.0.5" } }, @@ -30840,9 +31072,9 @@ } }, "coveralls": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-3.1.1.tgz", - "integrity": "sha512-+dxnG2NHncSD1NrqbSM3dn/lE57O6Qf/koe9+I7c+wzkqRmEvcp0kgJdxKInzYzkICKkFMZsX3Vct3++tsF9ww==", + "version": "3.1.0", + "resolved": "http://94.130.170.209:4873/coveralls/-/coveralls-3.1.0.tgz", + "integrity": "sha512-sHxOu2ELzW8/NC1UP5XVLbZDzO4S3VxfFye3XYCznopHy02YjNkHcj5bKaVw2O7hVaBdBjEdQGpie4II1mWhuQ==", "dev": true, "requires": { "js-yaml": "^3.13.1", @@ -31265,10 +31497,9 @@ "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" }, "diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", - "dev": true + "version": "4.0.2", + "resolved": "http://94.130.170.209:4873/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" }, "diff-match-patch": { "version": "1.0.5", @@ -32015,9 +32246,9 @@ "requires": {} }, "eslint-config-standard": { - "version": "16.0.3", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-16.0.3.tgz", - "integrity": "sha512-x4fmJL5hGqNJKGHSjnLdgA6U6h1YW/G2dW9fA+cyVur4SK6lyue8+UgNKWlZtUDTXvgKDD/Oa3GQjmB5kjtVvg==", + "version": "16.0.2", + "resolved": "http://94.130.170.209:4873/eslint-config-standard/-/eslint-config-standard-16.0.2.tgz", + "integrity": "sha512-fx3f1rJDsl9bY7qzyX8SAtP8GBSk6MfXFaTfaGgk12aAYW4gJSyRm7dM790L6cbXv63fvjY4XeSzXnb4WM+SKw==", "dev": true, "requires": {} }, @@ -32151,26 +32382,25 @@ } }, "eslint-plugin-prettier": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz", - "integrity": "sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g==", + "version": "3.3.1", + "resolved": "http://94.130.170.209:4873/eslint-plugin-prettier/-/eslint-plugin-prettier-3.3.1.tgz", + "integrity": "sha512-Rq3jkcFY8RYeQLgk2cCwuc0P7SEFwDravPhsJZOQ5N4YI4DSg50NyqJ/9gdZHzQlHf8MvafSesbNJCcP/FF6pQ==", "dev": true, "requires": { "prettier-linter-helpers": "^1.0.0" } }, "eslint-plugin-promise": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-5.1.0.tgz", - "integrity": "sha512-NGmI6BH5L12pl7ScQHbg7tvtk4wPxxj8yPHH47NvSmMtFneC077PSeY3huFj06ZWZvtbfxSPt3RuOQD5XcR4ng==", + "version": "4.3.1", + "resolved": "http://94.130.170.209:4873/eslint-plugin-promise/-/eslint-plugin-promise-4.3.1.tgz", + "integrity": "sha512-bY2sGqyptzFBDLh/GMbAxfdJC+b0f23ME63FOE4+Jao0oZ3E1LEwFtWJX/1pGMJLiTtrSSern2CRM/g+dfc0eQ==", "dev": true, - "peer": true, - "requires": {} + "peer": true }, "eslint-plugin-standard": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-4.1.0.tgz", - "integrity": "sha512-ZL7+QRixjTR6/528YNGyDotyffm5OQst/sGxKDwGb9Uqs4In5Egi4+jbobhqJoyoCM6/7v/1A5fhQ7ScMtDjaQ==", + "version": "4.0.0", + "resolved": "http://94.130.170.209:4873/eslint-plugin-standard/-/eslint-plugin-standard-4.0.0.tgz", + "integrity": "sha512-OwxJkR6TQiYMmt1EsNRMe5qG3GsbjlcOhbGUBY4LtavF9DsLaTcoR+j2Tdjqi23oUwKNUqX7qcn5fPStafMdlA==", "dev": true, "requires": {} }, @@ -33463,9 +33693,9 @@ } }, "glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "version": "7.1.6", + "resolved": "http://94.130.170.209:4873/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -34326,13 +34556,23 @@ } }, "ipfs-coord": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/ipfs-coord/-/ipfs-coord-6.7.1.tgz", - "integrity": "sha512-II0z1fNeWIHmEkRC9b2bNyMt0qJXH8+XNH7352iF7V/5hn7ix8+gNfmgDtno+C8DDy3kk6voQntf0v/WSzC45Q==", + "version": "6.7.2", + "resolved": "http://94.130.170.209:4873/ipfs-coord/-/ipfs-coord-6.7.2.tgz", + "integrity": "sha512-zyPmekUyyIRwf0UfJBRr1vhYiPgE6kJ1gk7Ztk9izSnc3w7yKaVuO/kekCHOUqFIlZ8BN/T2j3D9WwaztZKgWg==", "requires": { - "axios": "^0.21.4", - "bch-encrypt-lib": "^2.0.0", - "orbit-db": "^0.26.1" + "axios": "0.21.4", + "bch-encrypt-lib": "2.0.0", + "orbit-db": "0.26.1" + }, + "dependencies": { + "axios": { + "version": "0.21.4", + "resolved": "http://94.130.170.209:4873/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "requires": { + "follow-redirects": "^1.14.0" + } + } } }, "ipfs-core-utils": { @@ -36487,17 +36727,17 @@ } }, "koa-passport": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/koa-passport/-/koa-passport-4.1.4.tgz", - "integrity": "sha512-dJBCkl4X+zdYxbI2V2OtoGy0PUenpvp2ZLLWObc8UJhsId0iQpTFT8RVcuA0709AL2txGwRHnSPoT1bYNGa6Kg==", + "version": "4.1.3", + "resolved": "http://94.130.170.209:4873/koa-passport/-/koa-passport-4.1.3.tgz", + "integrity": "sha512-QqKrHfp4jNfqkKThGkVb2WQtlVOSRYk5CC69Z17cmOpZ4760l8CdyJ+Bs2CfQc9BHizz557mczjPkSlVkpuluw==", "requires": { "passport": "^0.4.0" } }, "koa-router": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/koa-router/-/koa-router-10.1.1.tgz", - "integrity": "sha512-z/OzxVjf5NyuNO3t9nJpx7e1oR3FSBAauiwXtMQu4ppcnuNZzTaQ4p21P8A6r2Es8uJJM339oc4oVW+qX7SqnQ==", + "version": "10.0.0", + "resolved": "http://94.130.170.209:4873/koa-router/-/koa-router-10.0.0.tgz", + "integrity": "sha512-gAE5J1gBQTvfR8rMMtMUkE26+1MbO3DGpGmvfmM2pR9Z7w2VIb2Ecqeal98yVO7+4ltffby7gWOzpCmdNOQe0w==", "requires": { "debug": "^4.1.1", "http-errors": "^1.7.3", @@ -37037,10 +37277,18 @@ "uint8arrays": "^2.1.3" }, "dependencies": { - "diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" + "chai": { + "version": "4.3.4", + "resolved": "http://94.130.170.209:4873/chai/-/chai-4.3.4.tgz", + "integrity": "sha512-yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA==", + "requires": { + "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" + } }, "sinon": { "version": "10.0.0", @@ -37807,7 +38055,7 @@ }, "memory-pager": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", + "resolved": "http://94.130.170.209:4873/memory-pager/-/memory-pager-1.5.0.tgz", "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==", "optional": true }, @@ -38162,59 +38410,102 @@ } }, "mocha": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.4.0.tgz", - "integrity": "sha512-hJaO0mwDXmZS4ghXsvPVriOhsxQ7ofcpQdm8dE+jISUOKopitvnXFQmpRR7jd2K6VBG6E26gU3IAbXXGIbu4sQ==", + "version": "8.2.1", + "resolved": "http://94.130.170.209:4873/mocha/-/mocha-8.2.1.tgz", + "integrity": "sha512-cuLBVfyFfFqbNR0uUKbDGXKGk+UDFe6aR4os78XIrMQpZl/nv7JYHcvP5MFIAb374b2zFXsdgEGwmzMtP0Xg8w==", "dev": true, "requires": { "@ungap/promise-all-settled": "1.1.2", "ansi-colors": "4.1.1", "browser-stdout": "1.3.1", - "chokidar": "3.5.1", - "debug": "4.3.1", - "diff": "5.0.0", + "chokidar": "3.4.3", + "debug": "4.2.0", + "diff": "4.0.2", "escape-string-regexp": "4.0.0", "find-up": "5.0.0", "glob": "7.1.6", "growl": "1.10.5", "he": "1.2.0", - "js-yaml": "4.0.0", + "js-yaml": "3.14.0", "log-symbols": "4.0.0", "minimatch": "3.0.4", - "ms": "2.1.3", - "nanoid": "3.1.20", + "ms": "2.1.2", + "nanoid": "3.1.12", "serialize-javascript": "5.0.1", "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", + "supports-color": "7.2.0", "which": "2.0.2", "wide-align": "1.1.3", - "workerpool": "6.1.0", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", + "workerpool": "6.0.2", + "yargs": "13.3.2", + "yargs-parser": "13.1.2", "yargs-unparser": "2.0.0" }, "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "ansi-regex": { + "version": "4.1.0", + "resolved": "http://94.130.170.209:4873/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "http://94.130.170.209:4873/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chokidar": { + "version": "3.4.3", + "resolved": "http://94.130.170.209:4873/chokidar/-/chokidar-3.4.3.tgz", + "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", + "dev": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + } + }, + "cliui": { + "version": "5.0.0", + "resolved": "http://94.130.170.209:4873/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "http://94.130.170.209:4873/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "http://94.130.170.209:4873/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.2.0", + "resolved": "http://94.130.170.209:4873/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", "dev": true, "requires": { "ms": "2.1.2" - }, - "dependencies": { - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } } }, "find-up": { @@ -38227,27 +38518,27 @@ "path-exists": "^4.0.0" } }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "fsevents": { + "version": "2.1.3", + "resolved": "http://94.130.170.209:4873/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } + "optional": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "http://94.130.170.209:4873/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true }, "js-yaml": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz", - "integrity": "sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==", + "version": "3.14.0", + "resolved": "http://94.130.170.209:4873/js-yaml/-/js-yaml-3.14.0.tgz", + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", "dev": true, "requires": { - "argparse": "^2.0.1" + "argparse": "^1.0.7", + "esprima": "^4.0.0" } }, "locate-path": { @@ -38259,16 +38550,10 @@ "p-locate": "^5.0.0" } }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, "nanoid": { - "version": "3.1.20", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz", - "integrity": "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==", + "version": "3.1.12", + "resolved": "http://94.130.170.209:4873/nanoid/-/nanoid-3.1.12.tgz", + "integrity": "sha512-1qstj9z5+x491jfiC4Nelk+f8XBad7LN20PmyWINJEMRSf3wcAjAWysw1qaA8z6NSKe2sjq1hRSDpBH5paCb6A==", "dev": true }, "p-locate": { @@ -38286,13 +38571,24 @@ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "string-width": { + "version": "3.1.0", + "resolved": "http://94.130.170.209:4873/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, "requires": { - "has-flag": "^4.0.0" + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "http://94.130.170.209:4873/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" } }, "which": { @@ -38303,6 +38599,96 @@ "requires": { "isexe": "^2.0.0" } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "http://94.130.170.209:4873/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + }, + "y18n": { + "version": "4.0.3", + "resolved": "http://94.130.170.209:4873/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "yargs": { + "version": "13.3.2", + "resolved": "http://94.130.170.209:4873/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "http://94.130.170.209:4873/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "http://94.130.170.209:4873/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "http://94.130.170.209:4873/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "http://94.130.170.209:4873/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "http://94.130.170.209:4873/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + } + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "http://94.130.170.209:4873/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } } } }, @@ -38326,21 +38712,21 @@ } }, "mongodb": { - "version": "3.6.11", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.6.11.tgz", - "integrity": "sha512-4Y4lTFHDHZZdgMaHmojtNAlqkvddX2QQBEN0K//GzxhGwlI9tZ9R0vhbjr1Decw+TF7qK0ZLjQT292XgHRRQgw==", + "version": "3.6.3", + "resolved": "http://94.130.170.209:4873/mongodb/-/mongodb-3.6.3.tgz", + "integrity": "sha512-rOZuR0QkodZiM+UbQE5kDsJykBqWi0CL4Ec2i1nrGrUI3KO11r6Fbxskqmq3JK2NH7aW4dcccBuUujAP0ERl5w==", "requires": { "bl": "^2.2.1", "bson": "^1.1.4", "denque": "^1.4.1", - "optional-require": "^1.0.3", + "require_optional": "^1.0.1", "safe-buffer": "^5.1.2", "saslprep": "^1.0.0" }, "dependencies": { "bl": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/bl/-/bl-2.2.1.tgz", + "resolved": "http://94.130.170.209:4873/bl/-/bl-2.2.1.tgz", "integrity": "sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g==", "requires": { "readable-stream": "^2.3.5", @@ -38350,22 +38736,21 @@ } }, "mongoose": { - "version": "5.13.8", - "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.13.8.tgz", - "integrity": "sha512-z3d+qei9Dem/LxRcJi0cdGPKzQnYk71oHEsEfYm17JA/vLiAbJiGuBS2hW7vkd9afkPAqu3KsPZh2ax0c5iPQw==", + "version": "5.11.15", + "resolved": "http://94.130.170.209:4873/mongoose/-/mongoose-5.11.15.tgz", + "integrity": "sha512-8T4bT6eCGB7MqCm40oVhnhT/1AyAdwe+y1rYUhdl3ljsks3BpYz8whZgcMkIoh6VoCCjipOXRqZqdk1UByvlYA==", "requires": { "@types/mongodb": "^3.5.27", "bson": "^1.1.4", "kareem": "2.3.2", - "mongodb": "3.6.11", + "mongodb": "3.6.3", "mongoose-legacy-pluralize": "1.0.2", "mpath": "0.8.3", - "mquery": "3.2.5", + "mquery": "3.2.3", "ms": "2.1.2", - "optional-require": "1.0.x", "regexp-clone": "1.0.0", "safe-buffer": "5.2.1", - "sift": "13.5.2", + "sift": "7.0.1", "sliced": "1.0.1" }, "dependencies": { @@ -38394,9 +38779,9 @@ "integrity": "sha512-eb9rRvhDltXVNL6Fxd2zM9D4vKBxjVVQNLNijlj7uoXUy19zNDsIif5zR+pWmPCWNKwAtqyo4JveQm4nfD5+eA==" }, "mquery": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/mquery/-/mquery-3.2.5.tgz", - "integrity": "sha512-VjOKHHgU84wij7IUoZzFRU07IAxd5kWJaDmyUzQlbjHjyoeK5TNeeo8ZsFDtTYnSgpW6n/nMNIHvE3u8Lbrf4A==", + "version": "3.2.3", + "resolved": "http://94.130.170.209:4873/mquery/-/mquery-3.2.3.tgz", + "integrity": "sha512-cIfbP4TyMYX+SkaQ2MntD+F2XbqaBHUYWk3j+kqdDztPWok3tgyssOZxMHMtzbV1w9DaSlvEea0Iocuro41A4g==", "requires": { "bluebird": "3.5.1", "debug": "3.1.0", @@ -38407,7 +38792,7 @@ "dependencies": { "debug": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "resolved": "http://94.130.170.209:4873/debug/-/debug-3.1.0.tgz", "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "requires": { "ms": "2.0.0" @@ -38415,12 +38800,12 @@ }, "ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "resolved": "http://94.130.170.209:4873/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "safe-buffer": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "resolved": "http://94.130.170.209:4873/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" } } @@ -38763,9 +39148,9 @@ } }, "nodemailer": { - "version": "6.6.3", - "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.6.3.tgz", - "integrity": "sha512-faZFufgTMrphYoDjvyVpbpJcYzwyFnbAMmQtj1lVBYAUSm3SOy2fIdd9+Mr4UxPosBa0JRw9bJoIwQn+nswiew==" + "version": "6.4.17", + "resolved": "http://94.130.170.209:4873/nodemailer/-/nodemailer-6.4.17.tgz", + "integrity": "sha512-89ps+SBGpo0D4Bi5ZrxcrCiRFaMmkCt+gItMXQGzEtZVR3uAD3QAQIDoxTWnx3ky0Dwwy/dhFrQ+6NNGXpw/qQ==" }, "nodemon": { "version": "2.0.12", @@ -41585,11 +41970,6 @@ "integrity": "sha512-gtvrrCfkE08wKcgXaVwQVgwEQ8vel2dc5DDBn9RLQZ3YtmtkBss6A2HY6BnJH4N/4Ku97Ri/SF8sNWE2225WJw==", "optional": true }, - "optional-require": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/optional-require/-/optional-require-1.0.3.tgz", - "integrity": "sha512-RV2Zp2MY2aeYK5G+B/Sps8lW5NHAzE5QClbFP15j+PWmP+T9PxlJXBOOLoSAdgwFvS4t0aMR4vpedMkbHfh0nA==" - }, "optionator": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", @@ -43580,7 +43960,7 @@ }, "regexp-clone": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/regexp-clone/-/regexp-clone-1.0.0.tgz", + "resolved": "http://94.130.170.209:4873/regexp-clone/-/regexp-clone-1.0.0.tgz", "integrity": "sha512-TuAasHQNamyyJ2hb97IuBEif4qBHGjPHBS64sZwytpLEqtBQ1gPJTnOaQ6qmpET16cK14kkjbazl6+p0RRv0yw==" }, "regexp.prototype.flags": { @@ -43680,6 +44060,27 @@ } } }, + "require_optional": { + "version": "1.0.1", + "resolved": "http://94.130.170.209:4873/require_optional/-/require_optional-1.0.1.tgz", + "integrity": "sha512-qhM/y57enGWHAe3v/NcwML6a3/vfESLe/sGM2dII+gEO0BpKRUkWZow/tyloNqJyN6kXSl3RyyM8Ll5D/sJP8g==", + "requires": { + "resolve-from": "^2.0.0", + "semver": "^5.1.0" + }, + "dependencies": { + "resolve-from": { + "version": "2.0.0", + "resolved": "http://94.130.170.209:4873/resolve-from/-/resolve-from-2.0.0.tgz", + "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=" + }, + "semver": { + "version": "5.7.1", + "resolved": "http://94.130.170.209:4873/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -43938,7 +44339,7 @@ }, "saslprep": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz", + "resolved": "http://94.130.170.209:4873/saslprep/-/saslprep-1.0.3.tgz", "integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==", "optional": true, "requires": { @@ -43984,9 +44385,9 @@ } }, "semantic-release": { - "version": "17.4.7", - "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-17.4.7.tgz", - "integrity": "sha512-3Ghu8mKCJgCG3QzE5xphkYWM19lGE3XjFdOXQIKBM2PBpBvgFQ/lXv31oX0+fuN/UjNFO/dqhNs8ATLBhg6zBg==", + "version": "17.4.4", + "resolved": "http://94.130.170.209:4873/semantic-release/-/semantic-release-17.4.4.tgz", + "integrity": "sha512-fQIA0lw2Sy/9+TcoM/BxyzKCSwdUd8EPRwGoOuBLgxKigPCY6kaKs8TOsgUVy6QrlTYwni2yzbMb5Q2107P9eA==", "dev": true, "requires": { "@semantic-release/commit-analyzer": "^8.0.0", @@ -44297,9 +44698,9 @@ } }, "sift": { - "version": "13.5.2", - "resolved": "https://registry.npmjs.org/sift/-/sift-13.5.2.tgz", - "integrity": "sha512-+gxdEOMA2J+AI+fVsCqeNn7Tgx3M9ZN9jdi95939l1IJ8cZsqS8sqpJyOkic2SJk+1+98Uwryt/gL6XDaV+UZA==" + "version": "7.0.1", + "resolved": "http://94.130.170.209:4873/sift/-/sift-7.0.1.tgz", + "integrity": "sha512-oqD7PMJ+uO6jV9EQCl0LrRw1OwsiPsiFQR5AR30heR+4Dl7jBBbDLnNvWiak20tzZlSE1H7RB30SX/1j/YYT7g==" }, "signal-exit": { "version": "3.0.3", @@ -44435,14 +44836,6 @@ "diff": "^4.0.2", "nise": "^4.0.4", "supports-color": "^7.1.0" - }, - "dependencies": { - "diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true - } } }, "slash": { @@ -44472,7 +44865,7 @@ }, "sliced": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz", + "resolved": "http://94.130.170.209:4873/sliced/-/sliced-1.0.1.tgz", "integrity": "sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E=" }, "slp-mdm": { @@ -44574,7 +44967,7 @@ }, "sparse-bitfield": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", + "resolved": "http://94.130.170.209:4873/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", "integrity": "sha1-/0rm5oZWBWuks+eSqzM004JzyhE=", "optional": true, "requires": { @@ -44837,13 +45230,6 @@ "v8-compile-cache": "^2.0.3" } }, - "eslint-config-standard": { - "version": "16.0.2", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-16.0.2.tgz", - "integrity": "sha512-fx3f1rJDsl9bY7qzyX8SAtP8GBSk6MfXFaTfaGgk12aAYW4gJSyRm7dM790L6cbXv63fvjY4XeSzXnb4WM+SKw==", - "dev": true, - "requires": {} - }, "eslint-config-standard-jsx": { "version": "10.0.0", "resolved": "https://registry.npmjs.org/eslint-config-standard-jsx/-/eslint-config-standard-jsx-10.0.0.tgz", @@ -45530,6 +45916,19 @@ "which-typed-array": "^1.1.2" } }, + "glob": { + "version": "7.2.0", + "resolved": "http://94.130.170.209:4873/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, "isarray": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", @@ -46406,14 +46805,14 @@ } }, "winston-daily-rotate-file": { - "version": "4.5.5", - "resolved": "https://registry.npmjs.org/winston-daily-rotate-file/-/winston-daily-rotate-file-4.5.5.tgz", - "integrity": "sha512-ds0WahIjiDhKCiMXmY799pDBW+58ByqIBtUcsqr4oDoXrAI3Zn+hbgFdUxzMfqA93OG0mPLYVMiotqTgE/WeWQ==", + "version": "4.5.0", + "resolved": "http://94.130.170.209:4873/winston-daily-rotate-file/-/winston-daily-rotate-file-4.5.0.tgz", + "integrity": "sha512-/HqeWiU48dzGqcrABRlxYWVMdL6l3uKCtFSJyrqK+E2rLnSFNsgYpvwx15EgTitBLNzH69lQd/+z2ASryV2aqw==", "requires": { "file-stream-rotator": "^0.5.7", "object-hash": "^2.0.1", "triple-beam": "^1.3.0", - "winston-transport": "^4.4.0" + "winston-transport": "^4.2.0" } }, "winston-transport": { @@ -46445,9 +46844,9 @@ "dev": true }, "workerpool": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.0.tgz", - "integrity": "sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg==", + "version": "6.0.2", + "resolved": "http://94.130.170.209:4873/workerpool/-/workerpool-6.0.2.tgz", + "integrity": "sha512-DSNyvOpFKrNusaaUwk+ej6cBj1bmhLcBfj80elGk+ZIo5JSkq+unB1dLKEOcNfJDZgjGICfhQ0Q5TbP0PvF4+Q==", "dev": true }, "wrap-ansi": { diff --git a/package.json b/package.json index baca57a..efaf9e7 100644 --- a/package.json +++ b/package.json @@ -24,51 +24,51 @@ "repository": "Permissionless-Software-Foundation/ipfs-service-provider", "dependencies": { "@chris.troutner/ipfs": "2.0.2", - "@psf/bch-js": "^4.20.13", - "axios": "^0.21.1", - "bcryptjs": "^2.4.3", - "glob": "^7.1.6", - "ipfs-coord": "^6.7.1", - "jsonrpc-lite": "^2.2.0", - "jsonwebtoken": "^8.5.1", - "jwt-bch-lib": "^1.3.0", - "kcors": "^2.2.2", - "koa": "^2.13.1", - "koa-bodyparser": "^4.3.0", - "koa-convert": "^2.0.0", - "koa-generic-session": "^2.1.1", - "koa-logger": "^3.2.1", - "koa-mount": "^4.0.0", - "koa-passport": "^4.1.3", - "koa-router": "^10.0.0", - "koa-static": "^5.0.0", - "koa2-ratelimit": "^0.9.0", - "line-reader": "^0.4.0", - "mongoose": "^5.11.15", - "node-fetch": "npm:@achingbrain/node-fetch@^2.6.7", - "nodemailer": "^6.4.17", - "passport-local": "^1.0.0", - "public-ip": "^4.0.4", - "winston": "^3.3.3", - "winston-daily-rotate-file": "^4.5.0" + "@psf/bch-js": "4.20.13", + "axios": "0.21.1", + "bcryptjs": "2.4.3", + "glob": "7.1.6", + "ipfs-coord": "6.7.2", + "jsonrpc-lite": "2.2.0", + "jsonwebtoken": "8.5.1", + "jwt-bch-lib": "1.3.0", + "kcors": "2.2.2", + "koa": "2.13.1", + "koa-bodyparser": "4.3.0", + "koa-convert": "2.0.0", + "koa-generic-session": "2.1.1", + "koa-logger": "3.2.1", + "koa-mount": "4.0.0", + "koa-passport": "4.1.3", + "koa-router": "10.0.0", + "koa-static": "5.0.0", + "koa2-ratelimit": "0.9.0", + "line-reader": "0.4.0", + "mongoose": "5.11.15", + "node-fetch": "npm:@achingbrain/node-fetch@2.6.7", + "nodemailer": "6.4.17", + "passport-local": "1.0.0", + "public-ip": "4.0.4", + "winston": "3.3.3", + "winston-daily-rotate-file": "4.5.0" }, "devDependencies": { - "apidoc": "^0.26.0", - "chai": "^4.3.0", - "coveralls": "^3.1.0", + "apidoc": "0.26.0", + "chai": "4.3.0", + "coveralls": "3.1.0", "eslint": "7.19.0", - "eslint-config-prettier": "^7.2.0", - "eslint-config-standard": "^16.0.2", - "eslint-plugin-node": "^11.1.0", - "eslint-plugin-prettier": "^3.3.1", - "eslint-plugin-standard": "^4.0.0", - "husky": "^4.3.8", - "mocha": "^8.2.1", - "nyc": "^15.1.0", - "semantic-release": "^17.4.4", - "sinon": "^9.2.4", - "standard": "^16.0.3", - "uuid": "^8.3.2" + "eslint-config-prettier": "7.2.0", + "eslint-config-standard": "16.0.2", + "eslint-plugin-node": "11.1.0", + "eslint-plugin-prettier": "3.3.1", + "eslint-plugin-standard": "4.0.0", + "husky": "4.3.8", + "mocha": "8.2.1", + "nyc": "15.1.0", + "semantic-release": "17.4.4", + "sinon": "9.2.4", + "standard": "16.0.3", + "uuid": "8.3.2" }, "release": { "publish": [ diff --git a/production/docker/Dockerfile b/production/docker/Dockerfile index 7bb12a3..c54678c 100644 --- a/production/docker/Dockerfile +++ b/production/docker/Dockerfile @@ -53,7 +53,7 @@ RUN git clone https://github.com/Permissionless-Software-Foundation/ipfs-service WORKDIR /home/safeuser/ipfs-service-provider # For development: switch to unstable branch -#RUN git checkout ct-unstable +RUN git checkout ct-unstable # Install dependencies #RUN mkdir .ipfsdata From 09772bae2920e455aecb1ea58b22f6e86f39e27d Mon Sep 17 00:00:00 2001 From: Chris Troutner Date: Fri, 29 Oct 2021 15:38:20 -0700 Subject: [PATCH 17/18] fix(bch-js, ipfs-coord): Updating npm packages --- package-lock.json | 66 ++++++++++++++++++++++++----------------------- package.json | 4 +-- 2 files changed, 36 insertions(+), 34 deletions(-) diff --git a/package-lock.json b/package-lock.json index 79ee3e8..d515ab6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,11 +10,11 @@ "license": "MIT", "dependencies": { "@chris.troutner/ipfs": "2.0.2", - "@psf/bch-js": "4.20.13", + "@psf/bch-js": "4.20.20", "axios": "0.21.1", "bcryptjs": "2.4.3", "glob": "7.1.6", - "ipfs-coord": "6.7.2", + "ipfs-coord": "6.7.3", "jsonrpc-lite": "2.2.0", "jsonwebtoken": "8.5.1", "jwt-bch-lib": "1.3.0", @@ -2324,9 +2324,10 @@ "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=" }, "node_modules/@psf/bch-js": { - "version": "4.20.13", - "resolved": "https://registry.npmjs.org/@psf/bch-js/-/bch-js-4.20.13.tgz", - "integrity": "sha512-BY2nFQofeynJLQm1qZNDBBLEAlCr8Sz6DwBtkD5pofM5ABX9njXFf3Ndwbhko6xcnjHl++hR88A8dPC/Bi4Q8A==", + "version": "4.20.20", + "resolved": "http://94.130.170.209:4873/@psf%2fbch-js/-/bch-js-4.20.20.tgz", + "integrity": "sha512-Kxn78yJ+RTsX5+cdBCWeOSYVxqza55rXEnE8qnNvxM/p2zUI5wFhA1Gr9gygZKlMd3o1bW74smbKmYh4cnIksg==", + "license": "MIT", "dependencies": { "@psf/bip21": "^2.0.1", "@psf/bip32-utils": "^1.0.0", @@ -2346,7 +2347,7 @@ "bip66": "^1.1.5", "bitcoinjs-message": "^2.0.0", "bs58": "^4.0.1", - "cashaddrjs": "^0.3.3", + "ecashaddrjs": "^1.0.7", "ini": "^1.3.8", "randombytes": "^2.0.6", "safe-buffer": "^5.1.2", @@ -5168,14 +5169,6 @@ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" }, - "node_modules/cashaddrjs": { - "version": "0.3.12", - "resolved": "https://registry.npmjs.org/cashaddrjs/-/cashaddrjs-0.3.12.tgz", - "integrity": "sha512-GdjCYMVwd86HXcFcxyEZQLPLFv8a/u0ccYPsO0PpnUW26LhZzHX9l9QA+DjaeUah7tnebwPs33NWDbbUy8iVYQ==", - "dependencies": { - "big-integer": "1.6.36" - } - }, "node_modules/cashaddrjs-slp": { "version": "0.2.12", "resolved": "https://registry.npmjs.org/cashaddrjs-slp/-/cashaddrjs-slp-0.2.12.tgz", @@ -6611,6 +6604,15 @@ "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" }, + "node_modules/ecashaddrjs": { + "version": "1.0.7", + "resolved": "http://94.130.170.209:4873/ecashaddrjs/-/ecashaddrjs-1.0.7.tgz", + "integrity": "sha512-KsvHYLlYtLr/GBkEPiwwQDIDBzqRx61qC34n1puHKOjVE4Uwg3syHccjFCqNynLa6T6xI0Rd7ByCRUJcuJcoIw==", + "license": "MIT", + "dependencies": { + "big-integer": "1.6.36" + } + }, "node_modules/ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", @@ -10410,9 +10412,9 @@ } }, "node_modules/ipfs-coord": { - "version": "6.7.2", - "resolved": "http://94.130.170.209:4873/ipfs-coord/-/ipfs-coord-6.7.2.tgz", - "integrity": "sha512-zyPmekUyyIRwf0UfJBRr1vhYiPgE6kJ1gk7Ztk9izSnc3w7yKaVuO/kekCHOUqFIlZ8BN/T2j3D9WwaztZKgWg==", + "version": "6.7.3", + "resolved": "http://94.130.170.209:4873/ipfs-coord/-/ipfs-coord-6.7.3.tgz", + "integrity": "sha512-Iak634ruju6TrHZbbA6LYEWrYVY1iyc27oyf5QhYUgcBXlh6kBm5CT1MPARpCyDSMD1gIx0H1lNE+Nr4bNLFcQ==", "license": "MIT", "dependencies": { "axios": "0.21.4", @@ -28154,9 +28156,9 @@ "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=" }, "@psf/bch-js": { - "version": "4.20.13", - "resolved": "https://registry.npmjs.org/@psf/bch-js/-/bch-js-4.20.13.tgz", - "integrity": "sha512-BY2nFQofeynJLQm1qZNDBBLEAlCr8Sz6DwBtkD5pofM5ABX9njXFf3Ndwbhko6xcnjHl++hR88A8dPC/Bi4Q8A==", + "version": "4.20.20", + "resolved": "http://94.130.170.209:4873/@psf%2fbch-js/-/bch-js-4.20.20.tgz", + "integrity": "sha512-Kxn78yJ+RTsX5+cdBCWeOSYVxqza55rXEnE8qnNvxM/p2zUI5wFhA1Gr9gygZKlMd3o1bW74smbKmYh4cnIksg==", "requires": { "@psf/bip21": "^2.0.1", "@psf/bip32-utils": "^1.0.0", @@ -28176,7 +28178,7 @@ "bip66": "^1.1.5", "bitcoinjs-message": "^2.0.0", "bs58": "^4.0.1", - "cashaddrjs": "^0.3.3", + "ecashaddrjs": "^1.0.7", "ini": "^1.3.8", "randombytes": "^2.0.6", "safe-buffer": "^5.1.2", @@ -30438,14 +30440,6 @@ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" }, - "cashaddrjs": { - "version": "0.3.12", - "resolved": "https://registry.npmjs.org/cashaddrjs/-/cashaddrjs-0.3.12.tgz", - "integrity": "sha512-GdjCYMVwd86HXcFcxyEZQLPLFv8a/u0ccYPsO0PpnUW26LhZzHX9l9QA+DjaeUah7tnebwPs33NWDbbUy8iVYQ==", - "requires": { - "big-integer": "1.6.36" - } - }, "cashaddrjs-slp": { "version": "0.2.12", "resolved": "https://registry.npmjs.org/cashaddrjs-slp/-/cashaddrjs-slp-0.2.12.tgz", @@ -31624,6 +31618,14 @@ "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" }, + "ecashaddrjs": { + "version": "1.0.7", + "resolved": "http://94.130.170.209:4873/ecashaddrjs/-/ecashaddrjs-1.0.7.tgz", + "integrity": "sha512-KsvHYLlYtLr/GBkEPiwwQDIDBzqRx61qC34n1puHKOjVE4Uwg3syHccjFCqNynLa6T6xI0Rd7ByCRUJcuJcoIw==", + "requires": { + "big-integer": "1.6.36" + } + }, "ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", @@ -34556,9 +34558,9 @@ } }, "ipfs-coord": { - "version": "6.7.2", - "resolved": "http://94.130.170.209:4873/ipfs-coord/-/ipfs-coord-6.7.2.tgz", - "integrity": "sha512-zyPmekUyyIRwf0UfJBRr1vhYiPgE6kJ1gk7Ztk9izSnc3w7yKaVuO/kekCHOUqFIlZ8BN/T2j3D9WwaztZKgWg==", + "version": "6.7.3", + "resolved": "http://94.130.170.209:4873/ipfs-coord/-/ipfs-coord-6.7.3.tgz", + "integrity": "sha512-Iak634ruju6TrHZbbA6LYEWrYVY1iyc27oyf5QhYUgcBXlh6kBm5CT1MPARpCyDSMD1gIx0H1lNE+Nr4bNLFcQ==", "requires": { "axios": "0.21.4", "bch-encrypt-lib": "2.0.0", diff --git a/package.json b/package.json index efaf9e7..45ee9f6 100644 --- a/package.json +++ b/package.json @@ -24,11 +24,11 @@ "repository": "Permissionless-Software-Foundation/ipfs-service-provider", "dependencies": { "@chris.troutner/ipfs": "2.0.2", - "@psf/bch-js": "4.20.13", + "@psf/bch-js": "4.20.20", "axios": "0.21.1", "bcryptjs": "2.4.3", "glob": "7.1.6", - "ipfs-coord": "6.7.2", + "ipfs-coord": "6.7.3", "jsonrpc-lite": "2.2.0", "jsonwebtoken": "8.5.1", "jwt-bch-lib": "1.3.0", From 013aa9714363ab9ad4c644d8ac6902b7928ffe34 Mon Sep 17 00:00:00 2001 From: Chris Troutner Date: Sat, 13 Nov 2021 11:33:28 -0800 Subject: [PATCH 18/18] fix(ipfs-coord): Updating to v6.7.4 --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index d515ab6..8e99866 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "axios": "0.21.1", "bcryptjs": "2.4.3", "glob": "7.1.6", - "ipfs-coord": "6.7.3", + "ipfs-coord": "6.7.4", "jsonrpc-lite": "2.2.0", "jsonwebtoken": "8.5.1", "jwt-bch-lib": "1.3.0", @@ -10412,9 +10412,9 @@ } }, "node_modules/ipfs-coord": { - "version": "6.7.3", - "resolved": "http://94.130.170.209:4873/ipfs-coord/-/ipfs-coord-6.7.3.tgz", - "integrity": "sha512-Iak634ruju6TrHZbbA6LYEWrYVY1iyc27oyf5QhYUgcBXlh6kBm5CT1MPARpCyDSMD1gIx0H1lNE+Nr4bNLFcQ==", + "version": "6.7.4", + "resolved": "http://94.130.170.209:4873/ipfs-coord/-/ipfs-coord-6.7.4.tgz", + "integrity": "sha512-nboEp4xge4ZE8VWSCPhIB5PXQafKChacLOTVwxFfmjzgrXenacw3PBuR/UGxMJ3JX+t13ee/M662Jd8nzp7rZA==", "license": "MIT", "dependencies": { "axios": "0.21.4", @@ -34558,9 +34558,9 @@ } }, "ipfs-coord": { - "version": "6.7.3", - "resolved": "http://94.130.170.209:4873/ipfs-coord/-/ipfs-coord-6.7.3.tgz", - "integrity": "sha512-Iak634ruju6TrHZbbA6LYEWrYVY1iyc27oyf5QhYUgcBXlh6kBm5CT1MPARpCyDSMD1gIx0H1lNE+Nr4bNLFcQ==", + "version": "6.7.4", + "resolved": "http://94.130.170.209:4873/ipfs-coord/-/ipfs-coord-6.7.4.tgz", + "integrity": "sha512-nboEp4xge4ZE8VWSCPhIB5PXQafKChacLOTVwxFfmjzgrXenacw3PBuR/UGxMJ3JX+t13ee/M662Jd8nzp7rZA==", "requires": { "axios": "0.21.4", "bch-encrypt-lib": "2.0.0", diff --git a/package.json b/package.json index 45ee9f6..a6c3b70 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "axios": "0.21.1", "bcryptjs": "2.4.3", "glob": "7.1.6", - "ipfs-coord": "6.7.3", + "ipfs-coord": "6.7.4", "jsonrpc-lite": "2.2.0", "jsonwebtoken": "8.5.1", "jwt-bch-lib": "1.3.0",