From 6089f38ffbfd66e7bdd7258759dcc9b82930fe51 Mon Sep 17 00:00:00 2001 From: Chris Date: Mon, 24 Oct 2022 18:04:34 +1030 Subject: [PATCH] Fix server tests. Add support for deleting all databases for a user. --- package.json | 8 +- src/controllers/user.js | 39 +++ src/routes/index.js | 1 + test/config.js | 9 +- test/server.js | 42 ++- test/utils.js | 36 ++- yarn.lock | 558 +++++++++++++++++++++++++++++++++++++++- 7 files changed, 659 insertions(+), 34 deletions(-) diff --git a/package.json b/package.json index 71be369f..46a92b58 100644 --- a/package.json +++ b/package.json @@ -12,21 +12,14 @@ "serve": "node dist/server.js", "lambda-deploy-dev": "yarn build && yarn claudia create --config claudia.dev.json --region us-east-2 --handler lambda.handler --deploy-proxy-api --no-optional-dependencies --set-env-from-json .env.prod.json", "lambda-update-dev": "yarn build && yarn claudia update --set-env-from-json .env.prod.json", - "lambda-deploy-testnet-use1": "yarn build && yarn claudia create --config claudia.use1.testnet.json --name 'storage-node-use1-testnet' --region us-east-1 --role arn:aws:iam::737954963756:role/verida_storage-node-executor --handler lambda.handler --deploy-proxy-api --no-optional-dependencies --set-env-from-json .env.use1.testnet.json", "lambda-update-testnet-use1": "yarn build && yarn claudia update --config claudia.use1.testnet.json --set-env-from-json .env.use1.testnet.json", - "lambda-deploy-testnet-sg1": "yarn build && yarn claudia create --config claudia.sg1.testnet.json --name 'storage-node-sg1-testnet' --region ap-southeast-1 --role arn:aws:iam::737954963756:role/verida_storage-node-executor --handler lambda.handler --deploy-proxy-api --no-optional-dependencies --set-env-from-json .env.sg1.testnet.json", "lambda-update-testnet-sg1": "yarn build && yarn claudia update --config claudia.sg1.testnet.json --set-env-from-json .env.sg1.testnet.json", - "lambda-deploy-testnet-au1": "yarn build && yarn claudia create --config claudia.au1.testnet.json --name 'storage-node-au1-testnet' --region ap-southeast-2 --role arn:aws:iam::737954963756:role/verida_storage-node-executor --handler lambda.handler --deploy-proxy-api --no-optional-dependencies --set-env-from-json .env.au1.testnet.json", "lambda-update-testnet-au1": "yarn build && yarn claudia update --config claudia.au1.testnet.json --set-env-from-json .env.au1.testnet.json", - "lambda-deploy-testnet-acacia": "yarn build && yarn claudia create --config claudia.acacia.testnet.json --name 'storage-node-acacia-testnet' --region ap-southeast-2 --role arn:aws:iam::737954963756:role/verida_storage-node-executor --handler lambda.handler --deploy-proxy-api --no-optional-dependencies --set-env-from-json .env.acacia.testnet.json", "lambda-update-testnet-acacia": "yarn build && yarn claudia update --config claudia.acacia.testnet.json --set-env-from-json .env.acacia.testnet.json", - - - "lambda-pack": "yarn build && yarn claudia pack --no-optional-dependencies" }, "files": [ @@ -81,6 +74,7 @@ "@babel/polyfill": "^7.8.0", "@babel/preset-env": "^7.7.7", "@verida/account-node": "^1.1.9", + "@verida/client-ts": "^2.0.0-rc1", "axios": "^0.27.2", "babel-core": "^6.26.3", "babel-loader": "^8.2.3", diff --git a/src/controllers/user.js b/src/controllers/user.js index 1b451eac..f9112701 100644 --- a/src/controllers/user.js +++ b/src/controllers/user.js @@ -97,6 +97,45 @@ class UserController { } } + async deleteDatabases(req, res) { + const did = req.tokenData.did + const contextName = req.tokenData.contextName + const username = req.tokenData.username + + if (!did || !contextName) { + return res.status(401).send({ + status: "fail", + message: "Permission denied" + }); + } + + const databases = await DbManager.getUserDatabases(did, contextName) + const results = [] + + for (let d in databases) { + const database = databases[d] + const databaseHash = Utils.generateDatabaseName(did, contextName, database.databaseName) + try { + let success = await DbManager.deleteDatabase(databaseHash, username); + if (success) { + await DbManager.deleteUserDatabase(did, contextName, database.databaseName, databaseHash) + results.push(database.databaseName) + } + } catch (err) { + return res.status(500).send({ + status: "fail", + message: err.error + ": " + err.reason, + results + }); + } + }; + + return res.status(200).send({ + status: "success", + results + }); + } + // Update permissions on a user's database // @todo: database name should be in plain text, then hashed async updateDatabase(req, res) { diff --git a/src/routes/index.js b/src/routes/index.js index 9254ac86..83e1b37c 100644 --- a/src/routes/index.js +++ b/src/routes/index.js @@ -6,6 +6,7 @@ const router = express.Router(); router.post('/user/createDatabase', UserController.createDatabase); router.post('/user/updateDatabase', UserController.updateDatabase); router.post('/user/deleteDatabase', UserController.deleteDatabase); +router.post('/user/deleteDatabases', UserController.deleteDatabases); router.post('/user/databases', UserController.databases); router.post('/user/databaseInfo', UserController.databaseInfo); diff --git a/test/config.js b/test/config.js index 8715cb82..6f145307 100644 --- a/test/config.js +++ b/test/config.js @@ -2,10 +2,15 @@ import { EnvironmentType } from "@verida/account" require('dotenv').config(); export default { - DID_SERVER_URL: undefined,// 'http://localhost:5001', + DID_CLIENT_CONFIG: { + networkPrivateKey: '', + callType: 'web3', + web3Config: {}, + rpcUrl: ' + }, ENVIRONMENT: EnvironmentType.TESTNET, SERVER_URL: `http://localhost:${process.env.PORT}`, - VDA_PRIVATE_KEY: '0x09d3b996ec98a9a536efdffbae40e5eaaf117765a587483c69195c9460165c31', + VDA_PRIVATE_KEY: '0x19d3b996ec98a9a536efdffbae41e5eaaf117765a587483c69195c9460165c33', CONTEXT_NAME: 'Verida Storage Node Test: Test Application 1', DATABASE_SERVER: 'https://db.testnet.verida.io:5002/', // http://localhost:5000/ for local testing when running local @verida/storage-node MESSAGE_SERVER: 'https://db.testnet.verida.io:5002/', // http://localhost:5000/ for local testing when running local @verida/storage-node diff --git a/test/server.js b/test/server.js index c8e30590..bb50f44b 100644 --- a/test/server.js +++ b/test/server.js @@ -4,7 +4,6 @@ const jwt = require('jsonwebtoken'); import Axios from 'axios' import AuthManager from "../src/components/authManager"; -import UserManager from "../src/components/userManager"; import TestUtils from "./utils" import CONFIG from './config' @@ -14,9 +13,12 @@ const { CONTEXT_NAME, SERVER_URL, TEST_DEVICE_ID } = CONFIG let authJwt, accountInfo, authRequestId let refreshToken, accessToken, newRefreshToken +// @todo: Generate Verida account with private key so DID document exists and storage node can then verify signature! + describe("Server tests", function() { this.beforeAll(async () => { await AuthManager.initDb() + await TestUtils.ensureVeridaAccount(CONFIG.VDA_PRIVATE_KEY) accountInfo = await TestUtils.connectAccount(CONFIG.VDA_PRIVATE_KEY) }) @@ -43,7 +45,7 @@ describe("Server tests", function() { contextName: CONTEXT_NAME, signature, deviceId: TEST_DEVICE_ID - }); + }) assert.ok(authenticateResponse && authenticateResponse.data && authenticateResponse.data.refreshToken, "Have refreshToken in response") assert.equal(authenticateResponse.data.status, 'success', "Success response") @@ -168,16 +170,7 @@ describe("Server tests", function() { const databaseName2 = "helloooo2" it("Creates database", async () => { - const response = await Axios.post(`${SERVER_URL}/user/createDatabase`, { - databaseName, - did: accountInfo.did, - contextName: CONTEXT_NAME - }, { - headers: { - Authorization: `Bearer ${accessToken}` - } - }); - + const response = await TestUtils.createDatabase(databaseName, accountInfo.did, CONTEXT_NAME, accessToken) assert.equal(response.data.status, "success", "Successful create response") }) @@ -267,6 +260,31 @@ describe("Server tests", function() { }); }) + it("Deletes all database", async () => { + const db1 = await TestUtils.createDatabase('DeleteAll_1', accountInfo.did, CONTEXT_NAME, accessToken) + const db2 = await TestUtils.createDatabase('DeleteAll_2', accountInfo.did, CONTEXT_NAME, accessToken) + const db3 = await TestUtils.createDatabase('DeleteAll_3', accountInfo.did, CONTEXT_NAME, accessToken) + + assert.equal(db1.data.status, "success", "Successful create response for db1") + assert.equal(db2.data.status, "success", "Successful create response for db2") + assert.equal(db3.data.status, "success", "Successful create response for db3") + + const response = await Axios.post(`${SERVER_URL}/user/deleteDatabases`, { + did: accountInfo.did, + contextName: CONTEXT_NAME + }, { + headers: { + Authorization: `Bearer ${accessToken}` + } + }); + + assert.equal(response.data.status, "success", "Successful delete response") + assert.equal(response.data.results.length, 3, "Deleted three databases") + assert.ok(response.data.results.indexOf('DeleteAll_1') >= 0, 'Deleted correct databases (DeleteAll_1)') + assert.ok(response.data.results.indexOf('DeleteAll_2') >= 0, 'Deleted correct databases (DeleteAll_2)') + assert.ok(response.data.results.indexOf('DeleteAll_3') >= 0, 'Deleted correct databases (DeleteAll_3)') + }) + }) }) \ No newline at end of file diff --git a/test/utils.js b/test/utils.js index c52a8f73..80c5a8a2 100644 --- a/test/utils.js +++ b/test/utils.js @@ -1,14 +1,34 @@ +import Axios from 'axios' const PouchDb = require('pouchdb'); import { AutoAccount } from "@verida/account-node" +import { Network } from "@verida/client-ts" import CONFIG from './config' class Utils { + async ensureVeridaAccount(privateKey) { + const account = new AutoAccount(CONFIG.DEFAULT_ENDPOINTS, { + privateKey: privateKey, + didClientConfig: CONFIG.DID_CLIENT_CONFIG, + environment: CONFIG.ENVIRONMENT + }) + + await Network.connect({ + client: { + environment: 'testnet' + }, + account: account, + context: { + name: CONFIG.CONTEXT_NAME + } + }) + } + async connectAccount(privateKey) { const account = new AutoAccount(CONFIG.DEFAULT_ENDPOINTS, { privateKey: privateKey, - didServerUrl: CONFIG.DID_SERVER_URL, + didClientConfig: CONFIG.DID_CLIENT_CONFIG, environment: CONFIG.ENVIRONMENT }) @@ -32,6 +52,20 @@ class Utils { }); } + async createDatabase(databaseName, did, contextName, accessToken) { + const response = await Axios.post(`${CONFIG.SERVER_URL}/user/createDatabase`, { + databaseName, + did, + contextName + }, { + headers: { + Authorization: `Bearer ${accessToken}` + } + }); + + return response + } + } const utils = new Utils() diff --git a/yarn.lock b/yarn.lock index fc758620..c358d941 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10,6 +10,16 @@ "@jridgewell/gen-mapping" "^0.1.0" "@jridgewell/trace-mapping" "^0.3.9" +"@apidevtools/json-schema-ref-parser@9.0.9": + version "9.0.9" + resolved "https://registry.yarnpkg.com/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-9.0.9.tgz#d720f9256e3609621280584f2b47ae165359268b" + integrity sha512-GBD2Le9w2+lVFoc4vswGI/TjkNIZSVp7+9xPf+X3uidBfWnAeUWmquteSyt0+VCrhNMWj/FTABISQrD3Z/YA+w== + dependencies: + "@jsdevtools/ono" "^7.1.3" + "@types/json-schema" "^7.0.6" + call-me-maybe "^1.0.1" + js-yaml "^4.1.0" + "@babel/cli@^7.15.7": version "7.18.10" resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.18.10.tgz#4211adfc45ffa7d4f3cee6b60bb92e9fe68fe56a" @@ -961,7 +971,7 @@ "@babel/helper-validator-identifier" "^7.18.6" to-fast-properties "^2.0.0" -"@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.7.0": +"@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.5.0", "@ethersproject/abi@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.7.0.tgz#b3f3e045bbbeed1af3947335c247ad625a44e449" integrity sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA== @@ -989,7 +999,7 @@ "@ethersproject/transactions" "^5.7.0" "@ethersproject/web" "^5.7.0" -"@ethersproject/abstract-signer@5.7.0", "@ethersproject/abstract-signer@^5.7.0": +"@ethersproject/abstract-signer@5.7.0", "@ethersproject/abstract-signer@^5.5.0", "@ethersproject/abstract-signer@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz#13f4f32117868452191a4649723cb086d2b596b2" integrity sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ== @@ -1000,7 +1010,7 @@ "@ethersproject/logger" "^5.7.0" "@ethersproject/properties" "^5.7.0" -"@ethersproject/address@5.7.0", "@ethersproject/address@^5.7.0": +"@ethersproject/address@5.7.0", "@ethersproject/address@^5.5.0", "@ethersproject/address@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.7.0.tgz#19b56c4d74a3b0a46bfdbb6cfcc0a153fc697f37" integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA== @@ -1018,7 +1028,7 @@ dependencies: "@ethersproject/bytes" "^5.7.0" -"@ethersproject/basex@5.7.0", "@ethersproject/basex@^5.7.0": +"@ethersproject/basex@5.7.0", "@ethersproject/basex@^5.5.0", "@ethersproject/basex@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.7.0.tgz#97034dc7e8938a8ca943ab20f8a5e492ece4020b" integrity sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw== @@ -1026,7 +1036,7 @@ "@ethersproject/bytes" "^5.7.0" "@ethersproject/properties" "^5.7.0" -"@ethersproject/bignumber@5.7.0", "@ethersproject/bignumber@^5.7.0": +"@ethersproject/bignumber@5.7.0", "@ethersproject/bignumber@^5.5.0", "@ethersproject/bignumber@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.7.0.tgz#e2f03837f268ba655ffba03a57853e18a18dc9c2" integrity sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw== @@ -1049,7 +1059,7 @@ dependencies: "@ethersproject/bignumber" "^5.7.0" -"@ethersproject/contracts@5.7.0": +"@ethersproject/contracts@5.7.0", "@ethersproject/contracts@^5.5.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.7.0.tgz#c305e775abd07e48aa590e1a877ed5c316f8bd1e" integrity sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg== @@ -1137,6 +1147,13 @@ dependencies: "@ethersproject/logger" "^5.7.0" +"@ethersproject/networks@5.7.1": + version "5.7.1" + resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.7.1.tgz#118e1a981d757d45ccea6bb58d9fd3d9db14ead6" + integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ== + dependencies: + "@ethersproject/logger" "^5.7.0" + "@ethersproject/pbkdf2@5.7.0", "@ethersproject/pbkdf2@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz#d2267d0a1f6e123f3771007338c47cccd83d3102" @@ -1178,6 +1195,32 @@ bech32 "1.1.4" ws "7.4.6" +"@ethersproject/providers@5.7.2", "@ethersproject/providers@^5.5.0": + version "5.7.2" + resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.7.2.tgz#f8b1a4f275d7ce58cf0a2eec222269a08beb18cb" + integrity sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg== + dependencies: + "@ethersproject/abstract-provider" "^5.7.0" + "@ethersproject/abstract-signer" "^5.7.0" + "@ethersproject/address" "^5.7.0" + "@ethersproject/base64" "^5.7.0" + "@ethersproject/basex" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@ethersproject/hash" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/networks" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/random" "^5.7.0" + "@ethersproject/rlp" "^5.7.0" + "@ethersproject/sha2" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + "@ethersproject/transactions" "^5.7.0" + "@ethersproject/web" "^5.7.0" + bech32 "1.1.4" + ws "7.4.6" + "@ethersproject/random@5.7.0", "@ethersproject/random@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.7.0.tgz#af19dcbc2484aae078bb03656ec05df66253280c" @@ -1236,7 +1279,7 @@ "@ethersproject/constants" "^5.7.0" "@ethersproject/logger" "^5.7.0" -"@ethersproject/transactions@5.7.0", "@ethersproject/transactions@^5.7.0": +"@ethersproject/transactions@5.7.0", "@ethersproject/transactions@^5.5.0", "@ethersproject/transactions@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.7.0.tgz#91318fc24063e057885a6af13fdb703e1f993d3b" integrity sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ== @@ -1292,6 +1335,17 @@ "@ethersproject/properties" "^5.7.0" "@ethersproject/strings" "^5.7.0" +"@ethersproject/web@5.7.1": + version "5.7.1" + resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.7.1.tgz#de1f285b373149bee5928f4eb7bcb87ee5fbb4ae" + integrity sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w== + dependencies: + "@ethersproject/base64" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + "@ethersproject/wordlists@5.7.0", "@ethersproject/wordlists@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.7.0.tgz#8fb2c07185d68c3e09eb3bfd6e779ba2774627f5" @@ -1343,6 +1397,11 @@ "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" +"@jsdevtools/ono@^7.1.3": + version "7.1.3" + resolved "https://registry.yarnpkg.com/@jsdevtools/ono/-/ono-7.1.3.tgz#9df03bbd7c696a5c58885c34aa06da41c8543796" + integrity sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg== + "@nicolo-ribaudo/chokidar-2@2.1.8-no-fsevents.3": version "2.1.8-no-fsevents.3" resolved "https://registry.yarnpkg.com/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz#323d72dd25103d0c4fbdce89dadf574a787b1f9b" @@ -1489,7 +1548,7 @@ resolved "https://registry.yarnpkg.com/@types/caseless/-/caseless-0.12.2.tgz#f65d3d6389e01eeb458bd54dc8f52b95a9463bc8" integrity sha512-6ckxMjBBD8URvjB6J3NcnuAn5Pkl7t3TizAg+xdlzzQGSPSmBcXf8KoIH0ua/i+tio+ZRUHEXp0HEmvaR4kt0w== -"@types/json-schema@^7.0.5": +"@types/json-schema@^7.0.5", "@types/json-schema@^7.0.6": version "7.0.11" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== @@ -1533,6 +1592,18 @@ "@verida/encryption-utils" "^1.1.3" "@verida/keyring" "^1.1.3" +"@verida/account-node@^2.0.0-rc1": + version "2.0.0-rc1" + resolved "https://registry.yarnpkg.com/@verida/account-node/-/account-node-2.0.0-rc1.tgz#045e879d676db3820d183255ec3569fefbec0b1f" + integrity sha512-dUyB6biO2XLijaqhTzy4iy67MInHJAdP1gNo1ketkzm1yeHL5ApsdGtME6xO/TrCyp9WS3x94jgMgQH81gul3A== + dependencies: + "@verida/account" "^2.0.0-rc1" + "@verida/did-client" "^2.0.0-rc1" + "@verida/did-document" "^2.0.0-rc1" + "@verida/encryption-utils" "^2.0.0-rc1" + "@verida/keyring" "^2.0.0-rc1" + axios "^0.27.2" + "@verida/account@^1.1.9": version "1.1.9" resolved "https://registry.yarnpkg.com/@verida/account/-/account-1.1.9.tgz#7c21fb7711ff9d5f554544e22fdfef1782229dd7" @@ -1544,6 +1615,42 @@ lodash "^4.17.21" tweetnacl-util "^0.15.1" +"@verida/account@^2.0.0-rc1": + version "2.0.0-rc1" + resolved "https://registry.yarnpkg.com/@verida/account/-/account-2.0.0-rc1.tgz#dbae3f527e6d6d088e752cf66480a4d6b5602f7c" + integrity sha512-fUVDzWvQ8Vh1pAR6X4ULqdWh2YjB9ekkUAA2Nmmhp40nSA4A92BQom+n/WrTX7KxHKkp2YtYxi0k7tNbtS58qg== + dependencies: + "@verida/keyring" "^2.0.0-rc1" + "@verida/storage-link" "^2.0.0-rc1" + did-jwt "5.7.0" + lodash "^4.17.21" + tweetnacl-util "^0.15.1" + +"@verida/client-ts@^2.0.0-rc1": + version "2.0.0-rc1" + resolved "https://registry.yarnpkg.com/@verida/client-ts/-/client-ts-2.0.0-rc1.tgz#2a24210f289c81af517f10af74e68273c1f254a0" + integrity sha512-oFBFbNy1UMsmdDQEnvYYAILPSXfcJa5lcxARpQ0otPH9Ia9AKkbF6wbXzEWIil/wEJYyitivFmMoYVQ9MOmq1A== + dependencies: + "@verida/account" "^2.0.0-rc1" + "@verida/account-node" "^2.0.0-rc1" + "@verida/did-client" "^2.0.0-rc1" + "@verida/did-document" "^2.0.0-rc1" + "@verida/encryption-utils" "^2.0.0-rc1" + "@verida/keyring" "^2.0.0-rc1" + "@verida/storage-link" "^2.0.0-rc1" + ajv "^8.6.3" + ajv-formats "^2.1.1" + axios "^0.21.2" + bs58 "^4.0.1" + crypto-pouch "git+https://github.com/tahpot/crypto-pouch.git#feature/support-key-import" + did-jwt "5.7.0" + json-schema-ref-parser "^9.0.9" + json-schema-resolve-allof "^1.5.0" + lodash "^4.17.21" + pouchdb "^7.2.2" + pouchdb-find "^7.2.2" + uuid "^8.3.2" + "@verida/did-client@^0.1.8": version "0.1.8" resolved "https://registry.yarnpkg.com/@verida/did-client/-/did-client-0.1.8.tgz#fd53fdea98e6eea1331de6bdfab34fb0ec09b391" @@ -1553,6 +1660,18 @@ axios "^0.23.0" ethers "^5.5.1" +"@verida/did-client@^2.0.0-rc1": + version "2.0.0-rc1" + resolved "https://registry.yarnpkg.com/@verida/did-client/-/did-client-2.0.0-rc1.tgz#3f21880813f1201a1de3f6f6dd595e2041ec52e5" + integrity sha512-4ZG5x2b+NXSrq/gpbevIWwRtT7kgZs1Dty6sHNuVC7cuqFEl2LqPQOC8yhwqwNSG5KTxDBAJA20fwnoSG3Lv4g== + dependencies: + "@verida/did-document" "^2.0.0-rc1" + "@verida/vda-did-resolver" "^2.0.0-rc1" + "@verida/web3" "^2.0.0-rc1" + axios "^0.23.0" + deepcopy "^2.1.0" + ethers "^5.5.1" + "@verida/did-document@^1.0.5": version "1.0.5" resolved "https://registry.yarnpkg.com/@verida/did-document/-/did-document-1.0.5.tgz#18ff73560b183f9601ef8f6f744e0bc0ebb0f7a8" @@ -1562,6 +1681,18 @@ "@verida/keyring" "^1.1.3" did-resolver "^3.1.2" +"@verida/did-document@^2.0.0-rc1": + version "2.0.0-rc1" + resolved "https://registry.yarnpkg.com/@verida/did-document/-/did-document-2.0.0-rc1.tgz#38ec512e4a1d27433de10fc9c8e158bdf43960e8" + integrity sha512-uDKIUrgnULoWtNnGyL9erOr0HDlisCdxO6siZ7I3qMgAmTxT5xjtd0sHbS8tRfb7oKz6b/reKYWmDIuWB2vhhg== + dependencies: + "@ethersproject/bignumber" "^5.7.0" + "@verida/encryption-utils" "^2.0.0-rc1" + "@verida/keyring" "^2.0.0-rc1" + "@verida/vda-did-resolver" "^2.0.0-rc1" + did-resolver "^3.1.2" + lodash "^4.17.21" + "@verida/encryption-utils@^1.1.3": version "1.1.3" resolved "https://registry.yarnpkg.com/@verida/encryption-utils/-/encryption-utils-1.1.3.tgz#e2c2f4918027f3e53d938fb3bc3966ebf1571249" @@ -1571,6 +1702,15 @@ tweetnacl "^1.0.3" tweetnacl-util "^0.15.1" +"@verida/encryption-utils@^2.0.0-rc1": + version "2.0.0-rc1" + resolved "https://registry.yarnpkg.com/@verida/encryption-utils/-/encryption-utils-2.0.0-rc1.tgz#ad1eb6c5001d59930f87b2d7c0272cfe1b8c3196" + integrity sha512-5CshcU5djmU+fTiQtjmUQGAjlcIq/IiWZLGwBYaC1kuvpV1+chQBpvy2UozhaoWjfto12pzGPkKvCetmpK3SMg== + dependencies: + ethers "^5.5.1" + tweetnacl "^1.0.3" + tweetnacl-util "^0.15.1" + "@verida/keyring@^1.1.3": version "1.1.3" resolved "https://registry.yarnpkg.com/@verida/keyring/-/keyring-1.1.3.tgz#26e827f2877c3be0ba0dfdedc761a1c6a1ad905d" @@ -1581,6 +1721,16 @@ tweetnacl "^1.0.3" uuid "^8.3.2" +"@verida/keyring@^2.0.0-rc1": + version "2.0.0-rc1" + resolved "https://registry.yarnpkg.com/@verida/keyring/-/keyring-2.0.0-rc1.tgz#300b382c01034ce6e22458778ae0d7e8d0b426e5" + integrity sha512-Z+Q5A9u0MtmR2diFmZdgy4V/GdMFQmh49gOpMYakFLpzIiq2d1ea2ZiNJcPXdfgAy+KPQJY1pR9g4nSocHEkeg== + dependencies: + "@verida/encryption-utils" "^2.0.0-rc1" + ethers "^5.5.1" + tweetnacl "^1.0.3" + uuid "^8.3.2" + "@verida/storage-link@^1.1.8": version "1.1.8" resolved "https://registry.yarnpkg.com/@verida/storage-link/-/storage-link-1.1.8.tgz#58b9b127bb6b846bd556ef7567c6931b10d64516" @@ -1592,6 +1742,44 @@ "@verida/keyring" "^1.1.3" url-parse "^1.5.3" +"@verida/storage-link@^2.0.0-rc1": + version "2.0.0-rc1" + resolved "https://registry.yarnpkg.com/@verida/storage-link/-/storage-link-2.0.0-rc1.tgz#dd4086394ec79bb3c98b46c2b250d65fcd829a34" + integrity sha512-ohD/pMOnnGv/QN+gaJsGYxsaVtgvDMcxkBFlCBxDnI8iFjEFLhHhzp1B31GI6Vpn5dl8fxRdXclbxgPZBbcwWw== + dependencies: + "@verida/did-client" "^2.0.0-rc1" + "@verida/did-document" "^2.0.0-rc1" + "@verida/encryption-utils" "^2.0.0-rc1" + "@verida/keyring" "^2.0.0-rc1" + did-resolver "^4.0.0" + url-parse "^1.5.3" + +"@verida/vda-did-resolver@^2.0.0-rc1": + version "2.0.0-rc1" + resolved "https://registry.yarnpkg.com/@verida/vda-did-resolver/-/vda-did-resolver-2.0.0-rc1.tgz#8e7c838629b26c2168d03991aa0c5c8e0e18822a" + integrity sha512-U2SPJqHoRLGXh/SWyMy0ybEwu0aoh2y8gfhnUgxPngiNbo7VifatIaZS+QEiDh7SQCMCrPbXAy7CvekTXoQ9qA== + dependencies: + "@ethersproject/abi" "^5.5.0" + "@ethersproject/abstract-signer" "^5.5.0" + "@ethersproject/address" "^5.5.0" + "@ethersproject/basex" "^5.5.0" + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/contracts" "^5.5.0" + "@ethersproject/providers" "^5.5.0" + "@ethersproject/transactions" "^5.5.0" + "@verida/encryption-utils" "^2.0.0-rc1" + "@verida/web3" "^2.0.0-rc1" + did-resolver "^3.1.5" + ethers "^5.7.0" + +"@verida/web3@^2.0.0-rc1": + version "2.0.0-rc1" + resolved "https://registry.yarnpkg.com/@verida/web3/-/web3-2.0.0-rc1.tgz#0f63b455120306d9b920a232bc87367355af6f15" + integrity sha512-T3qSfoQ4u9Aupj3U2FayGLkN9qh0XYr377DFtXVEJDCVmt5McUpnMu9rq6iolm+7mWVmWjtqnTnHQG0Yvvfc3g== + dependencies: + axios "^0.27.2" + ethers "^5.7.0" + abbrev@1: version "1.1.1" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" @@ -1646,6 +1834,13 @@ agent-base@6: dependencies: debug "4" +ajv-formats@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" + integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== + dependencies: + ajv "^8.0.0" + ajv-keywords@^3.5.2: version "3.5.2" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" @@ -1661,6 +1856,16 @@ ajv@^6.12.3, ajv@^6.12.4: json-schema-traverse "^0.4.1" uri-js "^4.2.2" +ajv@^8.0.0, ajv@^8.6.3: + version "8.11.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.11.0.tgz#977e91dd96ca669f54a11e23e378e33b884a565f" + integrity sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + ansi-colors@3.2.3: version "3.2.3" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.3.tgz#57d35b8686e851e2cc04c403f1c00203976a1813" @@ -1737,6 +1942,11 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + argsarray@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/argsarray/-/argsarray-0.0.1.tgz#6e7207b4ecdb39b0af88303fa5ae22bda8df61cb" @@ -1822,6 +2032,13 @@ aws4@^1.8.0: resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== +axios@^0.21.2: + version "0.21.4" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575" + integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== + dependencies: + follow-redirects "^1.14.0" + axios@^0.23.0: version "0.23.0" resolved "https://registry.yarnpkg.com/axios/-/axios-0.23.0.tgz#b0fa5d0948a8d1d75e3d5635238b6c4625b05149" @@ -2571,6 +2788,13 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== +base-x@^3.0.2: + version "3.0.9" + resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.9.tgz#6349aaabb58526332de9f60995e548a53fe21320" + integrity sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ== + dependencies: + safe-buffer "^5.0.1" + base64-js@^1.0.2, base64-js@^1.3.1: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" @@ -2694,6 +2918,13 @@ browserslist@^4.20.2, browserslist@^4.21.3: node-releases "^2.0.6" update-browserslist-db "^1.0.5" +bs58@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" + integrity sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw== + dependencies: + base-x "^3.0.2" + buffer-crc32@^0.2.1, buffer-crc32@^0.2.13: version "0.2.13" resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" @@ -2739,6 +2970,11 @@ call-bind@^1.0.0, call-bind@^1.0.2: function-bind "^1.1.1" get-intrinsic "^1.0.2" +call-me-maybe@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" + integrity sha512-wCyFsDQkKPwwF8BDwOiWNx/9K45L/hvggQiDbve+viMNMQnWhrlYIuBk09offfwCRtCO9P6XwUttufzU11WCVw== + camelcase@^5.0.0: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" @@ -2814,6 +3050,14 @@ chownr@^1.1.1: resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== +cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + claudia@^5.14.1: version "5.14.1" resolved "https://registry.yarnpkg.com/claudia/-/claudia-5.14.1.tgz#305220f577589bf49982c2fd4872cbf1a49eee5b" @@ -2989,6 +3233,36 @@ crc@^3.4.4: dependencies: buffer "^5.1.0" +create-hash@^1.1.0, create-hash@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + md5.js "^1.3.4" + ripemd160 "^2.0.1" + sha.js "^2.4.0" + +create-hmac@^1.1.4: + version "1.1.7" + resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== + dependencies: + cipher-base "^1.0.3" + create-hash "^1.1.0" + inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +"crypto-pouch@git+https://github.com/tahpot/crypto-pouch.git#feature/support-key-import": + version "4.0.1" + resolved "git+https://github.com/tahpot/crypto-pouch.git#7a712691b4404cfefb34ad3f58db1d83b55ed3bf" + dependencies: + garbados-crypt "git+https://github.com/tahpot/crypt.git#feature/pbkdf2" + transform-pouch "^2.0.0" + dashdash@^1.12.0: version "1.14.1" resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" @@ -3029,6 +3303,13 @@ decamelize@^1.2.0: resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== +deepcopy@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/deepcopy/-/deepcopy-2.1.0.tgz#2deb0dd52d079c2ecb7924b640a7c3abd4db1d6d" + integrity sha512-8cZeTb1ZKC3bdSCP6XOM1IsTczIO73fdqtwa2B0N15eAz7gmyhQo+mc5gnFuulsgN3vIQYmTgbmQVKalH1dKvQ== + dependencies: + type-detect "^4.0.8" + deferred-leveldown@~5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/deferred-leveldown/-/deferred-leveldown-5.3.0.tgz#27a997ad95408b61161aa69bd489b86c71b78058" @@ -3083,11 +3364,16 @@ did-jwt@5.7.0: js-sha3 "^0.8.0" uint8arrays "^3.0.0" -did-resolver@^3.1.0, did-resolver@^3.1.2: +did-resolver@^3.1.0, did-resolver@^3.1.2, did-resolver@^3.1.5: version "3.2.2" resolved "https://registry.yarnpkg.com/did-resolver/-/did-resolver-3.2.2.tgz#6f4e252a810f785d1b28a10265fad6dffee25158" integrity sha512-Eeo2F524VM5N3W4GwglZrnul2y6TLTwMQP3In62JdG34NZoqihYyOZLk+5wUW8sSgvIYIcJM8Dlt3xsdKZZ3tg== +did-resolver@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/did-resolver/-/did-resolver-4.0.1.tgz#11bb3f19ed1c8f53f4af4702912fa9f7852fc305" + integrity sha512-eHs2VLKhcANmh08S87PKvOauIAmSOd7nb7AlhNxcvOyDAIGQY1UfbiqI1VOW5IDKvOO6aEWY+5edOt1qrCp1Eg== + diff@3.5.0: version "3.5.0" resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" @@ -3326,6 +3612,42 @@ ethers@^5.5.1: "@ethersproject/web" "5.7.0" "@ethersproject/wordlists" "5.7.0" +ethers@^5.7.0: + version "5.7.2" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.2.tgz#3a7deeabbb8c030d4126b24f84e525466145872e" + integrity sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg== + dependencies: + "@ethersproject/abi" "5.7.0" + "@ethersproject/abstract-provider" "5.7.0" + "@ethersproject/abstract-signer" "5.7.0" + "@ethersproject/address" "5.7.0" + "@ethersproject/base64" "5.7.0" + "@ethersproject/basex" "5.7.0" + "@ethersproject/bignumber" "5.7.0" + "@ethersproject/bytes" "5.7.0" + "@ethersproject/constants" "5.7.0" + "@ethersproject/contracts" "5.7.0" + "@ethersproject/hash" "5.7.0" + "@ethersproject/hdnode" "5.7.0" + "@ethersproject/json-wallets" "5.7.0" + "@ethersproject/keccak256" "5.7.0" + "@ethersproject/logger" "5.7.0" + "@ethersproject/networks" "5.7.1" + "@ethersproject/pbkdf2" "5.7.0" + "@ethersproject/properties" "5.7.0" + "@ethersproject/providers" "5.7.2" + "@ethersproject/random" "5.7.0" + "@ethersproject/rlp" "5.7.0" + "@ethersproject/sha2" "5.7.0" + "@ethersproject/signing-key" "5.7.0" + "@ethersproject/solidity" "5.7.0" + "@ethersproject/strings" "5.7.0" + "@ethersproject/transactions" "5.7.0" + "@ethersproject/units" "5.7.0" + "@ethersproject/wallet" "5.7.0" + "@ethersproject/web" "5.7.1" + "@ethersproject/wordlists" "5.7.0" + event-target-shim@^5.0.0: version "5.0.1" resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" @@ -3471,6 +3793,11 @@ flat@^4.1.0: dependencies: is-buffer "~2.0.3" +follow-redirects@^1.14.0: + version "1.15.2" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" + integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== + follow-redirects@^1.14.4, follow-redirects@^1.14.9: version "1.15.1" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.1.tgz#0ca6a452306c9b276e4d3127483e29575e207ad5" @@ -3579,6 +3906,14 @@ functions-have-names@^1.2.2: resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== +"garbados-crypt@git+https://github.com/tahpot/crypt.git#feature/pbkdf2": + version "3.0.0-beta" + resolved "git+https://github.com/tahpot/crypt.git#80c041d3dd0aead57201eb2c64c07d114f15ff64" + dependencies: + pbkdf2 "^3.1.2" + tweetnacl "^1.0.3" + tweetnacl-util "^0.15.1" + gensync@^1.0.0-beta.2: version "1.0.0-beta.2" resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" @@ -3598,6 +3933,11 @@ get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: has "^1.0.3" has-symbols "^1.0.3" +get-stdin@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398" + integrity sha512-jZV7n6jGE3Gt7fgSTJoz91Ak5MuTLwMwkoYdjxuJ/AmjIsE1UC03y/IWkZCQGEvVNS9qoRNwy5BCqxImv0FVeA== + get-symbol-description@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" @@ -3732,6 +4072,15 @@ has@^1.0.3: dependencies: function-bind "^1.1.1" +hash-base@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" + integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== + dependencies: + inherits "^2.0.4" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + hash.js@1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.3.tgz#340dedbe6290187151c1ea1d777a3448935df846" @@ -4093,6 +4442,13 @@ js-yaml@3.13.1: argparse "^1.0.7" esprima "^4.0.0" +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + jsbn@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" @@ -4113,11 +4469,31 @@ jsesc@~0.5.0: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== +json-schema-ref-parser@^9.0.9: + version "9.0.9" + resolved "https://registry.yarnpkg.com/json-schema-ref-parser/-/json-schema-ref-parser-9.0.9.tgz#66ea538e7450b12af342fa3d5b8458bc1e1e013f" + integrity sha512-qcP2lmGy+JUoQJ4DOQeLaZDqH9qSkeGCK3suKWxJXS82dg728Mn3j97azDMaOUmJAN4uCq91LdPx4K7E8F1a7Q== + dependencies: + "@apidevtools/json-schema-ref-parser" "9.0.9" + +json-schema-resolve-allof@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/json-schema-resolve-allof/-/json-schema-resolve-allof-1.5.0.tgz#06acbd1077a69d1e8d262055192fe000bb661fcb" + integrity sha512-Jgn6BQGSLDp3D7bTYrmCbP/p7SRFz5BfpeEJ9A7sXuVADMc14aaDN1a49zqk9D26wwJlcNvjRpT63cz1VgFZeg== + dependencies: + get-stdin "^5.0.1" + lodash "^4.14.0" + json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + json-schema@0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" @@ -4373,7 +4749,7 @@ lodash.union@^4.6.0: resolved "https://registry.yarnpkg.com/lodash.union/-/lodash.union-4.6.0.tgz#48bb5088409f16f1821666641c44dd1aaae3cd88" integrity sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw== -lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.21, lodash@^4.17.4: +lodash@^4.14.0, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.21, lodash@^4.17.4: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -4412,6 +4788,15 @@ make-dir@^3.0.2, make-dir@^3.1.0: dependencies: semver "^6.0.0" +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" @@ -4776,6 +5161,17 @@ path-to-regexp@0.1.7: resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== +pbkdf2@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" + integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + peek-stream@^1.1.0: version "1.1.3" resolved "https://registry.yarnpkg.com/peek-stream/-/peek-stream-1.1.3.tgz#3b35d84b7ccbbd262fff31dc10da56856ead6d67" @@ -4824,6 +5220,111 @@ pkg-dir@^4.1.0: dependencies: find-up "^4.0.0" +pouchdb-abstract-mapreduce@7.3.0: + version "7.3.0" + resolved "https://registry.yarnpkg.com/pouchdb-abstract-mapreduce/-/pouchdb-abstract-mapreduce-7.3.0.tgz#cc178cb5d07f73b7c3f0f47a7f963defd4872b1c" + integrity sha512-+2fVt3SDh7D776lIGbYZOsKX5js1aUyUw7iJaTGitxSdQ2ObWSTrr3SUrj5Qo1CkgPXwRM3Tdoq/53JYAa2qCA== + dependencies: + pouchdb-binary-utils "7.3.0" + pouchdb-collate "7.3.0" + pouchdb-collections "7.3.0" + pouchdb-errors "7.3.0" + pouchdb-fetch "7.3.0" + pouchdb-mapreduce-utils "7.3.0" + pouchdb-md5 "7.3.0" + pouchdb-utils "7.3.0" + +pouchdb-binary-utils@7.3.0: + version "7.3.0" + resolved "https://registry.yarnpkg.com/pouchdb-binary-utils/-/pouchdb-binary-utils-7.3.0.tgz#ecc235d28e7f226c168affcf53959675f78d5aaf" + integrity sha512-xvBH/XGHGcou2vkEzszJxkCc7YElfRUrkLUg51Jbdmh1mogLDUO0bU3Tj6TOIIJfRkQrU/HV+dDkMAhsil0amQ== + dependencies: + buffer-from "1.1.2" + +pouchdb-collate@7.3.0: + version "7.3.0" + resolved "https://registry.yarnpkg.com/pouchdb-collate/-/pouchdb-collate-7.3.0.tgz#9276de7459a21a6aded71e3090d9b5d5488be19f" + integrity sha512-ys7rXKtEr6cfghgUjknwFJiOkITebV6JmeTybJKCzMV0r2luXu0OoPQsKVpE/wbM/3F5LxfpbFKGFpPcfGMvTA== + +pouchdb-collections@7.3.0: + version "7.3.0" + resolved "https://registry.yarnpkg.com/pouchdb-collections/-/pouchdb-collections-7.3.0.tgz#3197dfbee8d69c3760229705fc5a73d0c8a896f1" + integrity sha512-Xr54m2+fErShXn+qAT4xwqJ+8NwddNPeTMJT4z4k1sZsrwfHmZsWbsKAyGPMF04eQaaU+7DDRMciu2VzaBUXyg== + +pouchdb-errors@7.3.0: + version "7.3.0" + resolved "https://registry.yarnpkg.com/pouchdb-errors/-/pouchdb-errors-7.3.0.tgz#23bc328108778be0bfe22d69c0df67eab94aeca5" + integrity sha512-dTBbIC1BbCy6J9W/Csg5xROgb3wJN3HpbgAJHHSEtAkb8oA45KZmU3ZwEpNhf0AfPuQm4XgW1936PvlDlGgJiw== + dependencies: + inherits "2.0.4" + +pouchdb-fetch@7.3.0: + version "7.3.0" + resolved "https://registry.yarnpkg.com/pouchdb-fetch/-/pouchdb-fetch-7.3.0.tgz#92b5d3b067d79ecbb9a61cbd52dce36e94dbbf28" + integrity sha512-8/lcg8iMDG+GVs1dHNXA4ktJSEpH71dHU3xesMJ25tNQOqfAaaWrkfz9j71ZYDDkveLYE6UjUzl/sDacu2hSjw== + dependencies: + abort-controller "3.0.0" + fetch-cookie "0.11.0" + node-fetch "2.6.7" + +pouchdb-find@^7.2.2: + version "7.3.0" + resolved "https://registry.yarnpkg.com/pouchdb-find/-/pouchdb-find-7.3.0.tgz#27291c3d069f4f1a1a4913f63b1a148dac1b345b" + integrity sha512-EwhnfyxCAkKf8PG4tfndTTygEmtuz+o1LiZkxfPrflfXA3m1jo1ithib0hwBYtEwEYWuZxH6B8pRZutbLoQCGA== + dependencies: + pouchdb-abstract-mapreduce "7.3.0" + pouchdb-collate "7.3.0" + pouchdb-errors "7.3.0" + pouchdb-fetch "7.3.0" + pouchdb-md5 "7.3.0" + pouchdb-selector-core "7.3.0" + pouchdb-utils "7.3.0" + +pouchdb-mapreduce-utils@7.3.0: + version "7.3.0" + resolved "https://registry.yarnpkg.com/pouchdb-mapreduce-utils/-/pouchdb-mapreduce-utils-7.3.0.tgz#21d42ea9a376b0fa2e61c8c1ac53f886ffdf3409" + integrity sha512-KDVSd+H2r+XWTrQfKWV71SknDDYRjYXoeWs0ZQl3xITHCcTl+fIgqyagg/XN+Zy/U9LeLPGMe2JdgPx9H8lJgw== + dependencies: + argsarray "0.0.1" + inherits "2.0.4" + pouchdb-collections "7.3.0" + pouchdb-utils "7.3.0" + +pouchdb-md5@7.3.0: + version "7.3.0" + resolved "https://registry.yarnpkg.com/pouchdb-md5/-/pouchdb-md5-7.3.0.tgz#3a094e45ccce87271530ad3f37d7e82c53562bb0" + integrity sha512-wL04QgoKyd/L/TV5gxgcvlEyCJiZoXCOEFJklTzkdza/kBQNJGPH7i0ZhKa7Sb+AvZYoWZHddf1Zgv7rBScHkA== + dependencies: + pouchdb-binary-utils "7.3.0" + spark-md5 "3.0.2" + +pouchdb-selector-core@7.3.0: + version "7.3.0" + resolved "https://registry.yarnpkg.com/pouchdb-selector-core/-/pouchdb-selector-core-7.3.0.tgz#1860afeec069ba4d5b79583b4b520dd2b643e3a3" + integrity sha512-sK/cCrIGeL9ImcMhKGcwa54+bzX7Wv4hhVV+oUW3T1Nasaoxh+Muem1GuA+x1+SbTCE8y37rUg8i6DIOhX51ew== + dependencies: + pouchdb-collate "7.3.0" + pouchdb-utils "7.3.0" + +pouchdb-utils@7.3.0: + version "7.3.0" + resolved "https://registry.yarnpkg.com/pouchdb-utils/-/pouchdb-utils-7.3.0.tgz#782df5ab3309edd5dc8c0f8ae4663bf0e67962e2" + integrity sha512-HH+5IXXWn/ZgVCSnrlydBMYn6MabT7RS7SNoo9w8qVH9efpZSp3eLchw6yMQNLw8LQefWmbbskiHV9VgJmSVWQ== + dependencies: + argsarray "0.0.1" + clone-buffer "1.0.0" + immediate "3.3.0" + inherits "2.0.4" + pouchdb-collections "7.3.0" + pouchdb-errors "7.3.0" + pouchdb-md5 "7.3.0" + uuid "8.3.2" + +pouchdb-wrappers@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/pouchdb-wrappers/-/pouchdb-wrappers-5.0.0.tgz#1ae461f4cb4c02417c21e8dfeb1e6290918533ba" + integrity sha512-fXqsVn+rmlPtxaAIGaQP5TkiaT39OMwvMk+ScLLtHrmfXD2KBO6fe/qBl38N/rpTn0h/A058dPN4fLAHt550zA== + pouchdb@^7.2.2: version "7.3.0" resolved "https://registry.yarnpkg.com/pouchdb/-/pouchdb-7.3.0.tgz#440fbef12dfd8f9002320802528665e883a3b7f8" @@ -4975,7 +5476,7 @@ readable-stream@1.1.14: isarray "0.0.1" string_decoder "~0.10.x" -"readable-stream@2 || 3", readable-stream@^3.1.1, readable-stream@^3.4.0: +"readable-stream@2 || 3", readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== @@ -5151,6 +5652,11 @@ require-directory@^2.1.1: resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + require-main-filename@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" @@ -5170,12 +5676,20 @@ resolve@^1.14.2: path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.2, safe-buffer@~5.2.0: +safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== @@ -5278,6 +5792,14 @@ setprototypeof@1.2.0: resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== +sha.js@^2.4.0, sha.js@^2.4.8: + version "2.4.11" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + shallow-clone@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" @@ -5564,6 +6086,13 @@ tr46@~0.0.3: resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== +transform-pouch@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/transform-pouch/-/transform-pouch-2.0.0.tgz#a5096904452ead2468027e63f42cb85476a1fe2b" + integrity sha512-nDZovo0U5o0UdMNL93fMQgGjrwH9h4F/a7qqRTnF6cVA+FfgyXiJPTrSuD+LmWSO7r2deZt0P0oeCD8hkgxl5g== + dependencies: + pouchdb-wrappers "^5.0.0" + trim-right@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" @@ -5591,6 +6120,11 @@ tweetnacl@^1.0.3: resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-1.0.3.tgz#ac0af71680458d8a6378d0d0d050ab1407d35596" integrity sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw== +type-detect@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== + type-is@^1.6.16, type-is@~1.6.18: version "1.6.18" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"