diff --git a/bin/darwin/arm64/bls-tools b/bin/darwin/arm64/bls-tools new file mode 100755 index 0000000000..193603a1ff Binary files /dev/null and b/bin/darwin/arm64/bls-tools differ diff --git a/bin/darwin/x64/bls-tools b/bin/darwin/x64/bls-tools new file mode 100755 index 0000000000..a17623ee5e Binary files /dev/null and b/bin/darwin/x64/bls-tools differ diff --git a/bin/linux/arm64/bls-tools b/bin/linux/arm64/bls-tools new file mode 100755 index 0000000000..59cfedda6b Binary files /dev/null and b/bin/linux/arm64/bls-tools differ diff --git a/bin/linux/x64/bls-tools b/bin/linux/x64/bls-tools new file mode 100755 index 0000000000..0e61972459 Binary files /dev/null and b/bin/linux/x64/bls-tools differ diff --git a/bin/win32/x64/bls-tools.exe b/bin/win32/x64/bls-tools.exe new file mode 100755 index 0000000000..56075c7eac Binary files /dev/null and b/bin/win32/x64/bls-tools.exe differ diff --git a/config/config.json b/config/config.json index fef2d4901f..b9a156aa5e 100644 --- a/config/config.json +++ b/config/config.json @@ -8,7 +8,7 @@ "enabled": false, "package": "./auto-updater/implementation/ot-auto-updater.js", "config": { - "branch": "v6/develop" + "branch": "v8/develop" } } } @@ -161,9 +161,29 @@ } } } + }, + "blockchainEvents": { + "enabled": true, + "implementation": { + "ot-ethers": { + "enabled": true, + "package": "./blockchain-events/implementation/ot-ethers/ot-ethers.js", + "config": { + "blockchains": ["hardhat1:31337", "hardhat2:31337"], + "rpcEndpoints": { + "hardhat1:31337": ["http://localhost:8545"], + "hardhat2:31337": ["http://localhost:9545"] + }, + "hubContractAddress": { + "hardhat1:31337": "0x5FbDB2315678afecb367f032d93F642f64180aa3", + "hardhat2:31337": "0x5FbDB2315678afecb367f032d93F642f64180aa3" + } + } + } + } } }, - "maximumAssertionSizeInKb": 10000, + "maximumAssertionSizeInKb": 500000, "commandExecutorVerboseLoggingEnabled": false, "appDataPath": "data", "logLevel": "info", @@ -188,7 +208,7 @@ "enabled": false, "package": "./auto-updater/implementation/ot-auto-updater.js", "config": { - "branch": "v6/develop" + "branch": "v8/develop" } } } @@ -330,9 +350,29 @@ } } } + }, + "blockchainEvents": { + "enabled": true, + "implementation": { + "ot-ethers": { + "enabled": true, + "package": "./blockchain-events/implementation/ot-ethers/ot-ethers.js", + "config": { + "blockchains": ["hardhat1:31337", "hardhat2:31337"], + "rpcEndpoints": { + "hardhat1:31337": ["http://localhost:8545"], + "hardhat2:31337": ["http://localhost:9545"] + }, + "hubContractAddress": { + "hardhat1:31337": "0x5FbDB2315678afecb367f032d93F642f64180aa3", + "hardhat2:31337": "0x5FbDB2315678afecb367f032d93F642f64180aa3" + } + } + } + } } }, - "maximumAssertionSizeInKb": 10000, + "maximumAssertionSizeInKb": 500000, "commandExecutorVerboseLoggingEnabled": false, "appDataPath": "data", "logLevel": "trace", @@ -499,9 +539,27 @@ } } } + }, + "blockchainEvents": { + "enabled": true, + "implementation": { + "ot-ethers": { + "enabled": true, + "package": "./blockchain-events/implementation/ot-ethers/ot-ethers.js", + "config": { + "blockchains": ["base:84532"], + "rpcEndpoints": { + "base:84532": ["https://sepolia.base.org"] + }, + "hubContractAddress": { + "base:84532": "0xCca0eA14540588A09c85cD6A6Fc53eA3A7010692" + } + } + } + } } }, - "maximumAssertionSizeInKb": 10000, + "maximumAssertionSizeInKb": 500000, "commandExecutorVerboseLoggingEnabled": false, "appDataPath": "data", "logLevel": "trace", @@ -667,9 +725,27 @@ } } } + }, + "blockchainEvents": { + "enabled": true, + "implementation": { + "ot-ethers": { + "enabled": true, + "package": "./blockchain-events/implementation/ot-ethers/ot-ethers.js", + "config": { + "blockchains": ["base:84532"], + "rpcEndpoints": { + "base:84532": ["https://sepolia.base.org"] + }, + "hubContractAddress": { + "base:84532": "0xAB4A4794Fc1F415C24807B947280aCa8dC492238" + } + } + } + } } }, - "maximumAssertionSizeInKb": 10000, + "maximumAssertionSizeInKb": 500000, "commandExecutorVerboseLoggingEnabled": false, "appDataPath": "data", "logLevel": "trace", @@ -859,9 +935,31 @@ } } } + }, + "blockchainEvents": { + "enabled": true, + "implementation": { + "ot-ethers": { + "enabled": true, + "package": "./blockchain-events/implementation/ot-ethers/ot-ethers.js", + "config": { + "blockchains": ["otp:2043"], + "rpcEndpoints": { + "otp:2043": [ + "https://astrosat-parachain-rpc.origin-trail.network", + "https://astrosat.origintrail.network/", + "https://astrosat-2.origintrail.network/" + ] + }, + "hubContractAddress": { + "otp:2043": "0x5fA7916c48Fe6D5F1738d12Ad234b78c90B4cAdA" + } + } + } + } } }, - "maximumAssertionSizeInKb": 10000, + "maximumAssertionSizeInKb": 500000, "commandExecutorVerboseLoggingEnabled": false, "appDataPath": "data", "logLevel": "trace", diff --git a/installer/installer.sh b/installer/installer.sh index 51aef1adb0..3d0640db4f 100644 --- a/installer/installer.sh +++ b/installer/installer.sh @@ -315,27 +315,9 @@ install_node() { "enabled": "true", "config": { "repositories": { - "privateCurrent": { + "dkg": { "url": $tripleStoreUrl, - "name": "private-current", - "username": "admin", - "password": "" - }, - "privateHistory": { - "url": $tripleStoreUrl, - "name": "private-history", - "username": "admin", - "password": "" - }, - "publicCurrent": { - "url": $tripleStoreUrl, - "name": "public-current", - "username": "admin", - "password": "" - }, - "publicHistory": { - "url": $tripleStoreUrl, - "name": "public-history", + "name": "dkg", "username": "admin", "password": "" } @@ -424,6 +406,37 @@ EOF # Configure Base-Sepolia configure_blockchain "base" $base_blockchain_id + # Function to configure blockchain events services + configure_blockchain_events_services() { + local blockchain=$1 + local blockchain_id=$2 + + print_color $CYAN "🔧 Configuring Blockchain Events Service for Base Sepolia (Testnet)..." + + read -p "$(print_color $YELLOW "Enter your RPC endpoint: ")" RPC_ENDPOINT + print_color $GREEN "✅ RPC endpoint: $RPC_ENDPOINT" + + local jq_filter=$(cat < $CONFIG_DIR/origintrail_noderc_tmp + mv $CONFIG_DIR/origintrail_noderc_tmp $CONFIG_DIR/.origintrail_noderc + chmod 600 $CONFIG_DIR/.origintrail_noderc + } + + # Configure blockchain events service for Base Sepolia + configure_blockchain_events_services "base" $base_blockchain_id + # Now execute npm install after configuring wallets print_color $CYAN "📦 Installing npm packages..." perform_step npm ci --omit=dev --ignore-scripts "Executing npm install" diff --git a/ot-node.js b/ot-node.js index 3be681c472..604304a9a6 100644 --- a/ot-node.js +++ b/ot-node.js @@ -9,7 +9,6 @@ import { MIN_NODE_VERSION, PARANET_ACCESS_POLICY } from './src/constants/constan import FileService from './src/service/file-service.js'; import OtnodeUpdateCommand from './src/commands/common/otnode-update-command.js'; import OtAutoUpdater from './src/modules/auto-updater/implementation/ot-auto-updater.js'; -import MigrationExecutor from './src/migration/migration-executor.js'; const require = createRequire(import.meta.url); const { setTimeout } = require('timers/promises'); @@ -29,12 +28,6 @@ class OTNode { await this.checkForUpdate(); await this.removeUpdateFile(); - await MigrationExecutor.executeMultipleOpWalletsUserConfigurationMigration( - this.container, - this.logger, - this.config, - ); - this.logger.info('██████╗ ██╗ ██╗ ██████╗ ██╗ ██╗ █████╗ '); this.logger.info('██╔══██╗██║ ██╔╝██╔════╝ ██║ ██║██╔══██╗'); this.logger.info('██║ ██║█████╔╝ ██║ ███╗ ██║ ██║╚█████╔╝'); @@ -51,79 +44,18 @@ class OTNode { this.initializeEventEmitter(); await this.initializeModules(); + this.initializeBlockchainEventsService(); + await this.initializeShardingTableService(); await this.initializeParanets(); - await MigrationExecutor.executeRemoveServiceAgreementsForChiadoMigration( - this.container, - this.logger, - this.config, - ); - - await MigrationExecutor.executeDevnetPruningMigration( - this.container, - this.logger, - this.config, - ); - - await MigrationExecutor.executeSetParanetSyncedAssetType( - this.container, - this.logger, - this.config, - ); - await this.createProfiles(); await this.initializeCommandExecutor(); - await this.initializeShardingTableService(); - - await MigrationExecutor.executeMarkStakingEventsAsProcessedMigration( - this.container, - this.logger, - this.config, - ); - - await this.initializeBlockchainEventListenerService(); - - await MigrationExecutor.executePullShardingTableMigration( - this.container, - this.logger, - this.config, - ); - - await MigrationExecutor.executeServiceAgreementPruningMigration( - this.container, - this.logger, - this.config, - ); - - await MigrationExecutor.executeDevnetNeuroPruningMigration( - this.container, - this.logger, - this.config, - ); await this.initializeRouters(); await this.startNetworkModule(); this.resumeCommandExecutor(); this.logger.info('Node is up and running!'); - - MigrationExecutor.executeGetOldServiceAgreementsMigration( - this.container, - this.logger, - this.config, - ); - - MigrationExecutor.executeServiceAgreementPruningMigration( - this.container, - this.logger, - this.config, - ); - - MigrationExecutor.executeRemoveDuplicateServiceAgreementMigration( - this.container, - this.logger, - this.config, - ); } checkNodeVersion() { @@ -200,20 +132,6 @@ class OTNode { this.logger.info('Event emitter initialized'); } - async initializeBlockchainEventListenerService() { - try { - const eventListenerService = this.container.resolve('blockchainEventListenerService'); - await eventListenerService.initialize(); - eventListenerService.startListeningOnEvents(); - this.logger.info('Event Listener Service initialized successfully'); - } catch (error) { - this.logger.error( - `Unable to initialize event listener service. Error message: ${error.message} OT-node shutting down...`, - ); - this.stop(1); - } - } - async initializeRouters() { try { this.logger.info('Initializing http api and rpc router'); @@ -360,6 +278,19 @@ class OTNode { } } + initializeBlockchainEventsService() { + try { + const blockchainEventsService = this.container.resolve('blockchainEventsService'); + blockchainEventsService.initializeBlockchainEventsServices(); + this.logger.info('Blockchain Events Service initialized successfully'); + } catch (error) { + this.logger.error( + `Unable to initialize Blockchain Events Service. Error message: ${error.message} OT-node shutting down...`, + ); + this.stop(1); + } + } + async removeUpdateFile() { const updateFilePath = this.fileService.getUpdateFilePath(); await this.fileService.removeFile(updateFilePath).catch((error) => { @@ -453,6 +384,18 @@ class OTNode { tripleStoreService.initializeRepositories(); } + async initializeBLSService() { + try { + const blsService = this.container.resolve('blsService'); + await blsService.initialize(); + } catch (error) { + this.logger.error( + `Unable to initialize BLS Service. Error message: ${error.message} OT-node shutting down...`, + ); + this.stop(1); + } + } + stop(code = 0) { this.logger.info('Stopping node...'); process.exit(code); diff --git a/package-lock.json b/package-lock.json index 6464e11274..d4631ec92b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "origintrail_node", - "version": "8.1.2+beta.0", + "version": "8.0.0-beta.6", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "origintrail_node", - "version": "8.1.2+beta.0", + "version": "8.0.0-beta.6", "license": "ISC", "dependencies": { "@comunica/query-sparql": "^2.4.3", @@ -19,14 +19,14 @@ "@polkadot/util-crypto": "^10.1.7", "@questdb/nodejs-client": "^3.0.0", "app-root-path": "^3.1.0", - "assertion-tools": "^2.0.2", + "assertion-tools": "^8.0.0-alpha.2", "async": "^3.2.4", "async-mutex": "^0.3.2", "awilix": "^7.0.3", "axios": "^1.6.0", "cors": "^2.8.5", "deep-extend": "^0.6.0", - "dkg-evm-module": "^8.0.1-alpha.1", + "dkg-evm-module": "^8.0.2-alpha.0", "dotenv": "^16.0.1", "ethers": "^5.7.2", "express": "^4.18.1", @@ -89,13 +89,15 @@ }, "node_modules/@adraffy/ens-normalize": { "version": "1.10.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz", + "integrity": "sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==", + "dev": true }, "node_modules/@ampproject/remapping": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" @@ -105,11 +107,13 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.24.7", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/highlight": "^7.24.7", + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", "picocolors": "^1.0.0" }, "engines": { @@ -117,28 +121,30 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.24.7", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.2.tgz", + "integrity": "sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.24.7", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.0.tgz", + "integrity": "sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==", "dev": true, - "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.24.7", - "@babel/helper-compilation-targets": "^7.24.7", - "@babel/helper-module-transforms": "^7.24.7", - "@babel/helpers": "^7.24.7", - "@babel/parser": "^7.24.7", - "@babel/template": "^7.24.7", - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7", + "@babel/code-frame": "^7.26.0", + "@babel/generator": "^7.26.0", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helpers": "^7.26.0", + "@babel/parser": "^7.26.0", + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.26.0", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -155,39 +161,44 @@ }, "node_modules/@babel/core/node_modules/convert-source-map": { "version": "2.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true }, "node_modules/@babel/core/node_modules/semver": { "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/generator": { - "version": "7.24.7", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.2.tgz", + "integrity": "sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/types": "^7.24.7", + "@babel/parser": "^7.26.2", + "@babel/types": "^7.26.0", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^2.5.1" + "jsesc": "^3.0.2" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.24.7", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz", + "integrity": "sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.24.7", - "@babel/helper-validator-option": "^7.24.7", - "browserslist": "^4.22.2", + "@babel/compat-data": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, @@ -197,76 +208,44 @@ }, "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, - "license": "ISC", "dependencies": { "yallist": "^3.0.2" } }, "node_modules/@babel/helper-compilation-targets/node_modules/semver": { "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver.js" } }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.24.7", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.24.7", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.24.7", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-module-imports": { - "version": "7.24.7", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.24.7", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", + "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-module-imports": "^7.24.7", - "@babel/helper-simple-access": "^7.24.7", - "@babel/helper-split-export-declaration": "^7.24.7", - "@babel/helper-validator-identifier": "^7.24.7" + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -275,147 +254,54 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-simple-access": { - "version": "7.24.7", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.24.7", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-string-parser": { - "version": "7.24.7", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.24.7", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.24.7", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.24.7", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.0.tgz", + "integrity": "sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/template": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/template": "^7.25.9", + "@babel/types": "^7.26.0" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/highlight": { - "version": "7.24.7", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.24.7", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "dev": true, - "license": "MIT" - }, - "node_modules/@babel/highlight/node_modules/escape-string-regexp": { - "version": "1.0.5", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", + "node_modules/@babel/parser": { + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.2.tgz", + "integrity": "sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==", "dev": true, - "license": "MIT", "dependencies": { - "has-flag": "^3.0.0" + "@babel/types": "^7.26.0" }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/parser": { - "version": "7.24.7", - "dev": true, - "license": "MIT", "bin": { "parser": "bin/babel-parser.js" }, @@ -424,8 +310,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.24.7", - "license": "MIT", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.0.tgz", + "integrity": "sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==", "dependencies": { "regenerator-runtime": "^0.14.0" }, @@ -434,31 +321,30 @@ } }, "node_modules/@babel/template": { - "version": "7.24.7", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz", + "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.24.7", - "@babel/parser": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/code-frame": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.24.7", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.9.tgz", + "integrity": "sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.24.7", - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-function-name": "^7.24.7", - "@babel/helper-hoist-variables": "^7.24.7", - "@babel/helper-split-export-declaration": "^7.24.7", - "@babel/parser": "^7.24.7", - "@babel/types": "^7.24.7", + "@babel/code-frame": "^7.25.9", + "@babel/generator": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/template": "^7.25.9", + "@babel/types": "^7.25.9", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -468,39 +354,42 @@ }, "node_modules/@babel/traverse/node_modules/globals": { "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/@babel/types": { - "version": "7.24.7", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.0.tgz", + "integrity": "sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.24.7", - "@babel/helper-validator-identifier": "^7.24.7", - "to-fast-properties": "^2.0.0" + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@bergos/jsonparse": { - "version": "1.4.1", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@bergos/jsonparse/-/jsonparse-1.4.2.tgz", + "integrity": "sha512-qUt0QNJjvg4s1zk+AuLM6s/zcsQ8MvGn7+1f0vPuxvpCYa08YtTryuDInngbEyW5fNGGYe2znKt61RMGd5HnXg==", "engines": [ "node >= 0.2.0" ], - "license": "MIT", "dependencies": { "buffer": "^6.0.3" } }, "node_modules/@colors/colors": { "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", "dev": true, - "license": "MIT", "optional": true, "engines": { "node": ">=0.1.90" @@ -508,7 +397,8 @@ }, "node_modules/@comunica/actor-abstract-mediatyped": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-mediatyped/-/actor-abstract-mediatyped-2.10.0.tgz", + "integrity": "sha512-0o6WBujsMnIVcwvRJv6Nj+kKPLZzqBS3On48rm01Rh9T1/My0E/buJMXwgcARKCfMonc2mJ9zxpPCh5ilGEU2A==", "dependencies": { "@comunica/core": "^2.10.0", "@comunica/types": "^2.10.0" @@ -516,7 +406,8 @@ }, "node_modules/@comunica/actor-abstract-parse": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-parse/-/actor-abstract-parse-2.10.0.tgz", + "integrity": "sha512-0puCWF+y24EDOOAUUVVbC+tOf4UV+LzEbqi8T5v25jcVGCXyTqfra+bDywfrcv3adrVp18jLCJ46ycaH5xhy9Q==", "dependencies": { "@comunica/core": "^2.10.0", "readable-stream": "^4.4.2" @@ -524,7 +415,8 @@ }, "node_modules/@comunica/actor-abstract-path": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-path/-/actor-abstract-path-2.10.1.tgz", + "integrity": "sha512-+k1ltuUuIyn4iUm5oRMObyt2zhu68h7ymzxuKU4ezATlgwfwj6EM7/3W2n2/gxjg9tcFMr5GC6aNnFQmq3Iuig==", "dependencies": { "@comunica/bindings-factory": "^2.10.1", "@comunica/bus-query-operation": "^2.10.1", @@ -540,7 +432,8 @@ }, "node_modules/@comunica/actor-context-preprocess-source-to-destination": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-context-preprocess-source-to-destination/-/actor-context-preprocess-source-to-destination-2.10.0.tgz", + "integrity": "sha512-sQc42Sd4cuVumZ9+PDnWBTBYneqCFShFliK8Et83GR3wBGzu9x0tS/M2o3e63sBbb6ZkWHyO5jl/O8AbrjhcTg==", "dependencies": { "@comunica/bus-context-preprocess": "^2.10.0", "@comunica/context-entries": "^2.10.0", @@ -550,7 +443,8 @@ }, "node_modules/@comunica/actor-dereference-fallback": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-dereference-fallback/-/actor-dereference-fallback-2.10.0.tgz", + "integrity": "sha512-RSc/ScPdC7l13aZjz/6r4niWA8WDETbzuESQKKSWXi/HAlFOyOxdrDADdayVY2oyeZHIQibeNRtSi2ItzU7OPQ==", "dependencies": { "@comunica/bus-dereference": "^2.10.0", "@comunica/core": "^2.10.0" @@ -558,7 +452,8 @@ }, "node_modules/@comunica/actor-dereference-http": { "version": "2.10.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-dereference-http/-/actor-dereference-http-2.10.2.tgz", + "integrity": "sha512-gdDo83W1TAgD2jx0kVbzZKzzt++L4Y4fbyTOH3duy6vx1EMGGZlNCp6I1uguepKEjNX4N0zhAcZzdJcv8A3XMA==", "dependencies": { "@comunica/bus-dereference": "^2.10.0", "@comunica/bus-http": "^2.10.2", @@ -570,7 +465,8 @@ }, "node_modules/@comunica/actor-dereference-rdf-parse": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-dereference-rdf-parse/-/actor-dereference-rdf-parse-2.10.0.tgz", + "integrity": "sha512-ANWL6Bv+2WHUjVRS7hfkOfVBNJs8xYZ9KHlgBOQ94CKtQZB9uSMjdb1hLp/cQjiDmFIWLn0+GM5Xi0KFwBkVAw==", "dependencies": { "@comunica/bus-dereference": "^2.10.0", "@comunica/bus-dereference-rdf": "^2.10.0", @@ -579,7 +475,8 @@ }, "node_modules/@comunica/actor-hash-bindings-sha1": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-hash-bindings-sha1/-/actor-hash-bindings-sha1-2.10.0.tgz", + "integrity": "sha512-f981PcCiDWbdZfM1ct1v1q/VII14y18lo1enEdHB25SF0hCkzIDwh9IrfDfJDju5I6luSWNE/MYMMeAAmF9e3g==", "dependencies": { "@comunica/bus-hash-bindings": "^2.10.0", "@comunica/core": "^2.10.0", @@ -590,7 +487,8 @@ }, "node_modules/@comunica/actor-http-fetch": { "version": "2.10.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-http-fetch/-/actor-http-fetch-2.10.2.tgz", + "integrity": "sha512-siHGx0TMVNb2gXvOroq0B3JE6uuS+4s+MsDkntqdBNVigwVYqLpNSKEaL5is8pputFfohJfDQY06lAHbfDNEcw==", "dependencies": { "@comunica/bus-http": "^2.10.2", "@comunica/context-entries": "^2.10.0", @@ -601,7 +499,8 @@ }, "node_modules/@comunica/actor-http-proxy": { "version": "2.10.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-http-proxy/-/actor-http-proxy-2.10.2.tgz", + "integrity": "sha512-3yUF8BCh4nwq8J6NRILEsyNrQNStkE9ggJ7hYwRfA1XcMgz1pANNaWJ2P2TEKH1jNinr23bL3JeuUZCm9Kz9dA==", "dependencies": { "@comunica/bus-http": "^2.10.2", "@comunica/context-entries": "^2.10.0", @@ -611,7 +510,8 @@ }, "node_modules/@comunica/actor-http-wayback": { "version": "2.10.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-http-wayback/-/actor-http-wayback-2.10.2.tgz", + "integrity": "sha512-wjYNXRrJvMqt9paO3HawyM+O5/14ofSHFuMAwGr/UyZQ5pCSFkY0YPd+qp9y8C4xvypPgsvT3PtiRyKgjD4FWw==", "dependencies": { "@comunica/bus-http": "^2.10.2", "@comunica/context-entries": "^2.10.0", @@ -622,7 +522,8 @@ }, "node_modules/@comunica/actor-init-query": { "version": "2.10.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-init-query/-/actor-init-query-2.10.2.tgz", + "integrity": "sha512-7A4bXdKCjXRdUThvMOOyg+U17DPeBAsyDYz1SA8F4lPUR06NapcG5TmZF+YWUTN/2EG5fZPUnD3etKuPXreGUw==", "dependencies": { "@comunica/actor-http-proxy": "^2.10.2", "@comunica/bus-context-preprocess": "^2.10.0", @@ -653,7 +554,8 @@ }, "node_modules/@comunica/actor-optimize-query-operation-bgp-to-join": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-optimize-query-operation-bgp-to-join/-/actor-optimize-query-operation-bgp-to-join-2.10.0.tgz", + "integrity": "sha512-M9vwM4a3VQA/ir8Q7eGRNzzx52u6RJFIXBW8p+Zkn+zv+4fsket3zLYJGhJU7dcvaSXcOi68rDP/r8KfgNXr4Q==", "dependencies": { "@comunica/bus-optimize-query-operation": "^2.10.0", "@comunica/core": "^2.10.0", @@ -662,7 +564,8 @@ }, "node_modules/@comunica/actor-optimize-query-operation-join-bgp": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-optimize-query-operation-join-bgp/-/actor-optimize-query-operation-join-bgp-2.10.0.tgz", + "integrity": "sha512-tzZojWPbWn/S0DZGjGfV90ZRJVWT/yX3DKGgZ1ur33U5TW8n/fBQxHNMPCLu0GkMQ1dyx6bU+ekILTqm+21Jyw==", "dependencies": { "@comunica/bus-optimize-query-operation": "^2.10.0", "@comunica/core": "^2.10.0", @@ -671,7 +574,8 @@ }, "node_modules/@comunica/actor-optimize-query-operation-join-connected": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-optimize-query-operation-join-connected/-/actor-optimize-query-operation-join-connected-2.10.0.tgz", + "integrity": "sha512-RsbKIAxX1HyoR/AUzqIV++dTcLiEElRIVDHYTaXVVvGgHECYdh9s+oc8cvv/lDbLVpfnc6P9C9BTAfrqOjKkhA==", "dependencies": { "@comunica/bus-optimize-query-operation": "^2.10.0", "@comunica/core": "^2.10.0", @@ -680,7 +584,8 @@ }, "node_modules/@comunica/actor-query-operation-ask": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-ask/-/actor-query-operation-ask-2.10.1.tgz", + "integrity": "sha512-7oktqE4fkMhi6Hs9XCcwwoZRsEismVqJZ5wp9lXXOPaxnHEiFyj5gb/B6baCstoCvCt6LcU8fVvfHSitbFCpeQ==", "dependencies": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/core": "^2.10.0", @@ -690,7 +595,8 @@ }, "node_modules/@comunica/actor-query-operation-bgp-join": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-bgp-join/-/actor-query-operation-bgp-join-2.10.1.tgz", + "integrity": "sha512-eNpnvgFyKlZEHkMzubYL8ndADSsAQH4rwXvh22CGnf0FwyndHr6TEpmE6j77m9vXiSJ/lda0U3Zv4vIXvtREOw==", "dependencies": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/core": "^2.10.0", @@ -700,7 +606,8 @@ }, "node_modules/@comunica/actor-query-operation-construct": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-construct/-/actor-query-operation-construct-2.10.1.tgz", + "integrity": "sha512-S+Nt1+1psv01QRnfytZjiog2NBNHIbjr7XIv+MO3p6aVmLCoZ6lmjxSGNdbX+EmcGr7tbbafXK5z3zRM+ke8Mw==", "dependencies": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/core": "^2.10.0", @@ -714,7 +621,8 @@ }, "node_modules/@comunica/actor-query-operation-describe-subject": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-describe-subject/-/actor-query-operation-describe-subject-2.10.1.tgz", + "integrity": "sha512-E8i0M6haJ5iZVeHMn5PbvA4G+l87mcZKqIxVpYAnJVpD667F74Dkx3IMbk+ohRmyRmnkOEmztUrjeyixHHzUEQ==", "dependencies": { "@comunica/actor-query-operation-union": "^2.10.1", "@comunica/bus-query-operation": "^2.10.1", @@ -727,7 +635,8 @@ }, "node_modules/@comunica/actor-query-operation-distinct-hash": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-distinct-hash/-/actor-query-operation-distinct-hash-2.10.1.tgz", + "integrity": "sha512-exvJbgcJ0Pe4EGbLJD5LuGpvaGcFeckCxwB5pyd9OewNke+tLLP7nbEjB8KFEPpCO9LE7zt4faB1HvpJdEHQKQ==", "dependencies": { "@comunica/bus-hash-bindings": "^2.10.0", "@comunica/bus-query-operation": "^2.10.1", @@ -738,7 +647,8 @@ }, "node_modules/@comunica/actor-query-operation-extend": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-extend/-/actor-query-operation-extend-2.10.1.tgz", + "integrity": "sha512-wkZxUfDu8T5lXD+OFLItmjjbnEBqtv0z8pxVKgI/gX8mOeu5KcPWLH0dJODTWoIzIYrJhV25FmCgBks1rt6K8w==", "dependencies": { "@comunica/bindings-factory": "^2.10.1", "@comunica/bus-query-operation": "^2.10.1", @@ -750,7 +660,8 @@ }, "node_modules/@comunica/actor-query-operation-filter-sparqlee": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-filter-sparqlee/-/actor-query-operation-filter-sparqlee-2.10.1.tgz", + "integrity": "sha512-w2PnDNnlf+9B947ZdeSs7NpW9qGJjRiuODZYwhh0e6cx89GPDhEDVuJwawF6VP3m/oLcgXOAdif0Wwo3d8KNAA==", "dependencies": { "@comunica/bindings-factory": "^2.10.1", "@comunica/bus-query-operation": "^2.10.1", @@ -762,7 +673,8 @@ }, "node_modules/@comunica/actor-query-operation-from-quad": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-from-quad/-/actor-query-operation-from-quad-2.10.1.tgz", + "integrity": "sha512-7D4R8ONNJJPzoRu96dwIToOEk6/3O/T26FRzCqQKrbjFHNkX2v92KA/SiDzNz59VmDNWjYF1rsV31Ade6J89MA==", "dependencies": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/core": "^2.10.0", @@ -773,7 +685,8 @@ }, "node_modules/@comunica/actor-query-operation-group": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-group/-/actor-query-operation-group-2.10.1.tgz", + "integrity": "sha512-Od5s9Vb6uDPzXa6OAUC1WSMF96spNPJI2Zqf0Ixejw4zCNevOK/VwHivYfF0vHIUZxjRrOl3Al1ZU9L8n5Wxlw==", "dependencies": { "@comunica/bindings-factory": "^2.10.1", "@comunica/bus-hash-bindings": "^2.10.0", @@ -789,7 +702,8 @@ }, "node_modules/@comunica/actor-query-operation-join": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-join/-/actor-query-operation-join-2.10.1.tgz", + "integrity": "sha512-CGed1nSPvKsM8rvj/4KFME0lLnzlDMMEU+xGczu+BZW4FK+Z6RyBtHIUmy8SgFvNP1GXz83q8KnoecF5z8IpjA==", "dependencies": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/bus-rdf-join": "^2.10.1", @@ -800,7 +714,8 @@ }, "node_modules/@comunica/actor-query-operation-leftjoin": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-leftjoin/-/actor-query-operation-leftjoin-2.10.1.tgz", + "integrity": "sha512-j0RwdoiV2WsCQnxcSa//m5FZ+ZHDRBm6ObsgpqS44WxzpV8rIB6Dq/3UxGgE7D2vK400JaiiHa3dFiHTwDF18w==", "dependencies": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/bus-rdf-join": "^2.10.1", @@ -812,7 +727,8 @@ }, "node_modules/@comunica/actor-query-operation-minus": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-minus/-/actor-query-operation-minus-2.10.1.tgz", + "integrity": "sha512-rUvHbc5/EUWMSJUgOEtxabCJ9IT9YThuG0FhcQk+BGRPGmsv2oz8uri5urKgCjfVXMH/09hRZksiDMqrmkQmZw==", "dependencies": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/bus-rdf-join": "^2.10.1", @@ -823,7 +739,8 @@ }, "node_modules/@comunica/actor-query-operation-nop": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-nop/-/actor-query-operation-nop-2.10.1.tgz", + "integrity": "sha512-l/Z8Uuoq3AlSoxkgYjrP7O7Xc9h8Y3ZOh0f7UKCuAST3U5vPQ3k1YJckrRtdli8s0NHptN9TfZjwviEHuYbDFQ==", "dependencies": { "@comunica/bindings-factory": "^2.10.1", "@comunica/bus-query-operation": "^2.10.1", @@ -836,7 +753,8 @@ }, "node_modules/@comunica/actor-query-operation-orderby-sparqlee": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-orderby-sparqlee/-/actor-query-operation-orderby-sparqlee-2.10.1.tgz", + "integrity": "sha512-8D2JmCsBtqJC29zfiaAXNzZdsKybhDFo2F8iTHul3nQHxBC2CeKDrBnY70B/HpbWxkDE+pwMfSTEFc/CvNZN6A==", "dependencies": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/core": "^2.10.0", @@ -848,7 +766,8 @@ }, "node_modules/@comunica/actor-query-operation-path-alt": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-path-alt/-/actor-query-operation-path-alt-2.10.1.tgz", + "integrity": "sha512-y1AHtkibThqHve79wAriXqrZ6hdLBhcdwyOpVqqEhY19a32P97Xv58bOwOkNeLguYdn/5CFlCTHz6dnzxUIoXg==", "dependencies": { "@comunica/actor-abstract-path": "^2.10.1", "@comunica/actor-query-operation-union": "^2.10.1", @@ -860,7 +779,8 @@ }, "node_modules/@comunica/actor-query-operation-path-inv": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-path-inv/-/actor-query-operation-path-inv-2.10.1.tgz", + "integrity": "sha512-pd30Ug7bOAZ5amfA3I6v+cpitlDn2i5fE1BA006LYJISCAHSfKEgLmU2Q4ZPbwi4s1A8WKKLV7Q389Ru3Xtziw==", "dependencies": { "@comunica/actor-abstract-path": "^2.10.1", "@comunica/bus-query-operation": "^2.10.1", @@ -870,7 +790,8 @@ }, "node_modules/@comunica/actor-query-operation-path-link": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-path-link/-/actor-query-operation-path-link-2.10.1.tgz", + "integrity": "sha512-akujCHvCLmxaZ3gw9b1odDcqqAQnbbr9E8dTWLZyMJ4Mei8q/FmfWTF5MjGuQOas4UmQ3mm6gcqAKRZnJqlXNg==", "dependencies": { "@comunica/actor-abstract-path": "^2.10.1", "@comunica/bus-query-operation": "^2.10.1", @@ -880,7 +801,8 @@ }, "node_modules/@comunica/actor-query-operation-path-nps": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-path-nps/-/actor-query-operation-path-nps-2.10.1.tgz", + "integrity": "sha512-5X3EUzn6Cygz94gNn1XWQQUZVp+de59sw8/rxPQqgwzdi1Y1O9zrLv+/7GqMJoLz6MHmDSgsceTIY4eC1qmmOQ==", "dependencies": { "@comunica/actor-abstract-path": "^2.10.1", "@comunica/bus-query-operation": "^2.10.1", @@ -890,7 +812,8 @@ }, "node_modules/@comunica/actor-query-operation-path-one-or-more": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-path-one-or-more/-/actor-query-operation-path-one-or-more-2.10.1.tgz", + "integrity": "sha512-SkQeKESQqZOlzuMIsipcZ3ni7YfeyYMZCOtxC01HFbeyq+SDVbyfYUZ4Dd9uAi/g3InyzJRfou4csxHS8g7sHw==", "dependencies": { "@comunica/actor-abstract-path": "^2.10.1", "@comunica/bindings-factory": "^2.10.1", @@ -902,7 +825,8 @@ }, "node_modules/@comunica/actor-query-operation-path-seq": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-path-seq/-/actor-query-operation-path-seq-2.10.1.tgz", + "integrity": "sha512-8TYLdVYaq9oMd9cuLFay78103bOfvygQU/C8NtPdLI9kkRWFsBatvaKmykHOHQAvaLgNhniOlrIJNEpepZGnAQ==", "dependencies": { "@comunica/actor-abstract-path": "^2.10.1", "@comunica/bus-query-operation": "^2.10.1", @@ -913,7 +837,8 @@ }, "node_modules/@comunica/actor-query-operation-path-zero-or-more": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-path-zero-or-more/-/actor-query-operation-path-zero-or-more-2.10.1.tgz", + "integrity": "sha512-DtqBSw4LV1KI3q1YYAwgXlWrz1PO4EUpe/bVri0UB3JSQnxjBMHuJlHn2crC9Z93tmizneXxfvtWlLSXRrehsw==", "dependencies": { "@comunica/actor-abstract-path": "^2.10.1", "@comunica/bindings-factory": "^2.10.1", @@ -926,7 +851,8 @@ }, "node_modules/@comunica/actor-query-operation-path-zero-or-one": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-path-zero-or-one/-/actor-query-operation-path-zero-or-one-2.10.1.tgz", + "integrity": "sha512-qePX+7iW5DXDwaYO210y7jhSU32Zk82S5UHuLLvd4q4HS1Z7j8e4KhukbeZKzQmOsO8S5JOHHM9vwvsOc3GPlw==", "dependencies": { "@comunica/actor-abstract-path": "^2.10.1", "@comunica/bindings-factory": "^2.10.1", @@ -939,7 +865,8 @@ }, "node_modules/@comunica/actor-query-operation-project": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-project/-/actor-query-operation-project-2.10.1.tgz", + "integrity": "sha512-KAaPl4GFIQMWR8I8OoJroktGssPKGbEEJHyGzTuYXrmJrcXgknOxf5IUSVJNpaFfS6dshT6nqW+ciT+wRzz0Tg==", "dependencies": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/core": "^2.10.0", @@ -952,7 +879,8 @@ }, "node_modules/@comunica/actor-query-operation-quadpattern": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-quadpattern/-/actor-query-operation-quadpattern-2.10.1.tgz", + "integrity": "sha512-RZj1TXW+VDU4aYJVnSzgs8q0340e+YUeGLtoY9sl0Xzc8YNaIus4nXRUz/KfOXDknxm1q+a4Bof4yHNgXtb1Hw==", "dependencies": { "@comunica/bindings-factory": "^2.10.1", "@comunica/bus-query-operation": "^2.10.1", @@ -970,7 +898,8 @@ }, "node_modules/@comunica/actor-query-operation-reduced-hash": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-reduced-hash/-/actor-query-operation-reduced-hash-2.10.1.tgz", + "integrity": "sha512-9hX25ztkbNxnaUd7Gtilok+9WJkr/s3a3y4axLoYX4/nOogYN+nZRKChvNSn4qn/lWvpG5VWv4+q0en1fP+AGA==", "dependencies": { "@comunica/bus-hash-bindings": "^2.10.0", "@comunica/bus-query-operation": "^2.10.1", @@ -982,7 +911,8 @@ }, "node_modules/@comunica/actor-query-operation-service": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-service/-/actor-query-operation-service-2.10.1.tgz", + "integrity": "sha512-GvpvhUmhkVFOCLrmcblgIPqi91XPRog5WkC9NFMRCToaSNAMQq82DX2dvwzn3IFItcmyZrmy+GYoaQ9miK2uVQ==", "dependencies": { "@comunica/bindings-factory": "^2.10.1", "@comunica/bus-query-operation": "^2.10.1", @@ -996,7 +926,8 @@ }, "node_modules/@comunica/actor-query-operation-slice": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-slice/-/actor-query-operation-slice-2.10.1.tgz", + "integrity": "sha512-KOBnTIUvwf28WB7oHevUC/xciEdH5gLg7MN8DvamkAkUiUjviEsRpkswUiD8lFe1dAs0ekA4pC0NoZ8BWp3uqA==", "dependencies": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/context-entries": "^2.10.0", @@ -1007,7 +938,8 @@ }, "node_modules/@comunica/actor-query-operation-sparql-endpoint": { "version": "2.10.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-sparql-endpoint/-/actor-query-operation-sparql-endpoint-2.10.2.tgz", + "integrity": "sha512-nbBzVHhYHUu/9qg9ZzTw7rKvsRb3ViBvM+Fye0oMXojZUbyu2WI6eLFUc2Ze1/LYDNf/1KHNpkg6OdsiEi8HFQ==", "dependencies": { "@comunica/bindings-factory": "^2.10.1", "@comunica/bus-http": "^2.10.2", @@ -1028,7 +960,8 @@ }, "node_modules/@comunica/actor-query-operation-union": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-union/-/actor-query-operation-union-2.10.1.tgz", + "integrity": "sha512-Ezi2bAa9r6yyffXDDUPLlKoszsXnuhDUeQSQuU3c7JEAcwip3wC3zMNkavowwfRZ/1D5doitmUEdw2lAd+xloA==", "dependencies": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/core": "^2.10.0", @@ -1042,7 +975,8 @@ }, "node_modules/@comunica/actor-query-operation-update-add-rewrite": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-update-add-rewrite/-/actor-query-operation-update-add-rewrite-2.10.1.tgz", + "integrity": "sha512-is3mrCPciExrlny5JbCvB011kUNYE9/fzQc/zmA3h24S5hHZbygA9mSS+dI85IwwqdKPYlrEqfn8c0kCVWMKyw==", "dependencies": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/core": "^2.10.0", @@ -1053,7 +987,8 @@ }, "node_modules/@comunica/actor-query-operation-update-clear": { "version": "2.10.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-update-clear/-/actor-query-operation-update-clear-2.10.2.tgz", + "integrity": "sha512-+sf6+LvXdKBv2pCuBH/ad5QdpheZSPEvw19UoaPQRQyQVBzIskOtfs4rwJHSn/YmoqhbstKZszakad3oxWwTTg==", "dependencies": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/bus-rdf-update-quads": "^2.10.2", @@ -1066,7 +1001,8 @@ }, "node_modules/@comunica/actor-query-operation-update-compositeupdate": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-update-compositeupdate/-/actor-query-operation-update-compositeupdate-2.10.1.tgz", + "integrity": "sha512-IVNouBPFQLOczhW3qHyEoyxWrc7wnVT2vPwRHEaGlfnSiYAX42XSNLb9jR0XjB70wh3Civue4Ovs3upOXdrN3Q==", "dependencies": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/core": "^2.10.0", @@ -1076,7 +1012,8 @@ }, "node_modules/@comunica/actor-query-operation-update-copy-rewrite": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-update-copy-rewrite/-/actor-query-operation-update-copy-rewrite-2.10.1.tgz", + "integrity": "sha512-l/3AM35hjahyHmiLoB3FPm0Jlhdmd/vqgOGj7V3Ra+TfHo5h8XOB3uzG78Q06HQNw4iyONBZc5lLlYXkzRd5lg==", "dependencies": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/core": "^2.10.0", @@ -1086,7 +1023,8 @@ }, "node_modules/@comunica/actor-query-operation-update-create": { "version": "2.10.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-update-create/-/actor-query-operation-update-create-2.10.2.tgz", + "integrity": "sha512-g3DwLkYFTU8uZoIOV7oNPWStBmqvnBBPvLngG19MQQezuVoh8w88efxhbN0B/khi5/v4qcLsr7C0ffAaPF8Fbg==", "dependencies": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/bus-rdf-update-quads": "^2.10.2", @@ -1097,7 +1035,8 @@ }, "node_modules/@comunica/actor-query-operation-update-deleteinsert": { "version": "2.10.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-update-deleteinsert/-/actor-query-operation-update-deleteinsert-2.10.2.tgz", + "integrity": "sha512-FiRCLUAxkDoFpOe9jKC5llI7njbFdb1N8McRvZjBazUS4XDutjTZEkcKLs6AcRyG3esfHt6gNm6PqCuZ+aP8TA==", "dependencies": { "@comunica/actor-query-operation-construct": "^2.10.1", "@comunica/bindings-factory": "^2.10.1", @@ -1112,7 +1051,8 @@ }, "node_modules/@comunica/actor-query-operation-update-drop": { "version": "2.10.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-update-drop/-/actor-query-operation-update-drop-2.10.2.tgz", + "integrity": "sha512-N/878InwoyQfysjCyo9r+H82eUlNeEGODJ95gCvzF/QGRc11N3dfcd3XijyHQ9OKAoQ9oR5gcS829LB3BDtKHg==", "dependencies": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/bus-rdf-update-quads": "^2.10.2", @@ -1125,7 +1065,8 @@ }, "node_modules/@comunica/actor-query-operation-update-load": { "version": "2.10.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-update-load/-/actor-query-operation-update-load-2.10.2.tgz", + "integrity": "sha512-lQb5fxb1+ZFbQkylmepze+e+LtVmVNvAvFBvjxUSfCT62uIKKHMeh1So5kTrGD0Co4ABCs1h6o9WB+8yQzFtQw==", "dependencies": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/bus-rdf-update-quads": "^2.10.2", @@ -1138,7 +1079,8 @@ }, "node_modules/@comunica/actor-query-operation-update-move-rewrite": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-update-move-rewrite/-/actor-query-operation-update-move-rewrite-2.10.1.tgz", + "integrity": "sha512-GDLSHG2++EAAyUKhDu+mM6QfMTuzM8dS24HqeQL5Wzbkdc2KTmNKyJuhJw6SfXr6EiF/kxf1GPY6zwjcwACx/w==", "dependencies": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/core": "^2.10.0", @@ -1148,7 +1090,8 @@ }, "node_modules/@comunica/actor-query-operation-values": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-values/-/actor-query-operation-values-2.10.1.tgz", + "integrity": "sha512-++9IgCVCQPIF8fzZLmrVpxPj8eI9TvkLshHAugQQBnhSijrDMUudW9eoA+eFmCaD/Ru7YtlKe3OJzRGV8FCG+Q==", "dependencies": { "@comunica/bindings-factory": "^2.10.1", "@comunica/bus-query-operation": "^2.10.1", @@ -1162,7 +1105,8 @@ }, "node_modules/@comunica/actor-query-parse-graphql": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-parse-graphql/-/actor-query-parse-graphql-2.10.0.tgz", + "integrity": "sha512-l3RrkxElDYV4weXt3vpC0Q0She4AhbvPbPDronQulgN9nFAZhz4z9k8800T5uWMsL98wHNNXDFlnFk5S38lsow==", "dependencies": { "@comunica/bus-query-parse": "^2.10.0", "@comunica/context-entries": "^2.10.0", @@ -1172,7 +1116,8 @@ }, "node_modules/@comunica/actor-query-parse-sparql": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-parse-sparql/-/actor-query-parse-sparql-2.10.0.tgz", + "integrity": "sha512-DUVAuSSNn0AyvLruOpRpLZBsr96Q4LuV1gcO+alKZALtfOZikRKY/3sXz1NUkaRQc7qDH9xFFTFrfJd0jLvlDA==", "dependencies": { "@comunica/bus-query-parse": "^2.10.0", "@comunica/core": "^2.10.0", @@ -1183,7 +1128,8 @@ }, "node_modules/@comunica/actor-query-result-serialize-json": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-result-serialize-json/-/actor-query-result-serialize-json-2.10.0.tgz", + "integrity": "sha512-GuVcsOEhKgnVPT0AaCn8sJl/Uj5UUjUktEJpuMx1UAYt0//jcQsezJslYWmJrfXE/WJYidynyDxm8z3+jwLF7A==", "dependencies": { "@comunica/bus-query-result-serialize": "^2.10.0", "@comunica/types": "^2.10.0", @@ -1193,7 +1139,8 @@ }, "node_modules/@comunica/actor-query-result-serialize-rdf": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-result-serialize-rdf/-/actor-query-result-serialize-rdf-2.10.0.tgz", + "integrity": "sha512-TBXJrDs5brRMFg8UisXS/F1vJw8nUtLhjugNZcd4ST8J965Ho1aNopydp4PMmwINMRxHhHtWJGwIB2Z5xD2lDw==", "dependencies": { "@comunica/bus-query-result-serialize": "^2.10.0", "@comunica/bus-rdf-serialize": "^2.10.0", @@ -1203,7 +1150,8 @@ }, "node_modules/@comunica/actor-query-result-serialize-simple": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-result-serialize-simple/-/actor-query-result-serialize-simple-2.10.0.tgz", + "integrity": "sha512-pS7+aB9Rym1B5oi+O68NFjEq+EwpCRYtTIxGBp39CTQ0F7m4edt9QwqmARqveJPryK5X66ACvjxvutEaTgWI8w==", "dependencies": { "@comunica/bus-query-result-serialize": "^2.10.0", "@comunica/types": "^2.10.0", @@ -1214,7 +1162,8 @@ }, "node_modules/@comunica/actor-query-result-serialize-sparql-csv": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-result-serialize-sparql-csv/-/actor-query-result-serialize-sparql-csv-2.10.0.tgz", + "integrity": "sha512-Vk+7oTIPigDENK3CnV56vLfvMZVjHc3p2F4a49WDHfMgRrfQKJSQkx603vjW35n3tmUB8JSgRXr/+v7LK83KYQ==", "dependencies": { "@comunica/bus-query-result-serialize": "^2.10.0", "@comunica/types": "^2.10.0", @@ -1224,7 +1173,8 @@ }, "node_modules/@comunica/actor-query-result-serialize-sparql-json": { "version": "2.10.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-result-serialize-sparql-json/-/actor-query-result-serialize-sparql-json-2.10.2.tgz", + "integrity": "sha512-+J7SWXc4nXHzmQMk6q8MScrLNKdqX+/xQe6XCk0zDbDAt3/8EJh/2ROYFp4fEQyPDFWOwN4xpALgHRIh8PQRAQ==", "dependencies": { "@comunica/bus-http": "^2.10.2", "@comunica/bus-http-invalidate": "^2.10.0", @@ -1237,7 +1187,8 @@ }, "node_modules/@comunica/actor-query-result-serialize-sparql-tsv": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-result-serialize-sparql-tsv/-/actor-query-result-serialize-sparql-tsv-2.10.0.tgz", + "integrity": "sha512-TgA2WIXKdu/SrbHEP8HvGoLjhDOZnBoHsGsLFSHpxY/Uwk21rZqJLBEkhuhkUtGYzQPJ1n6Wmpjz9lBrUHGJPw==", "dependencies": { "@comunica/bus-query-result-serialize": "^2.10.0", "@comunica/types": "^2.10.0", @@ -1248,7 +1199,8 @@ }, "node_modules/@comunica/actor-query-result-serialize-sparql-xml": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-result-serialize-sparql-xml/-/actor-query-result-serialize-sparql-xml-2.10.0.tgz", + "integrity": "sha512-8RDj5ZN23HnIc6zI5pD5XKi2pyg2cx6DhI7VDRcboi7v0DxfROuQqSEtbQ8m/W6Pngdz01ySogRcIVJCzRzBLQ==", "dependencies": { "@comunica/bus-query-result-serialize": "^2.10.0", "@comunica/types": "^2.10.0", @@ -1258,7 +1210,8 @@ }, "node_modules/@comunica/actor-query-result-serialize-stats": { "version": "2.10.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-result-serialize-stats/-/actor-query-result-serialize-stats-2.10.2.tgz", + "integrity": "sha512-jhj/vLDRxLuRMonBaqICt4saM9/UO9wJBT3Jxk7Rp73aQWLo+lILXKzcWpuxkh/EFx8raLUBmbjWCduamU1DzQ==", "dependencies": { "@comunica/bus-http": "^2.10.2", "@comunica/bus-http-invalidate": "^2.10.0", @@ -1271,7 +1224,8 @@ }, "node_modules/@comunica/actor-query-result-serialize-table": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-result-serialize-table/-/actor-query-result-serialize-table-2.10.0.tgz", + "integrity": "sha512-AAPrgM/rbsSThRu9jkfJhBUeTUwQTLHNVbIn8El+Akvz+Fueoi6oSi3SslpPMHOvIUiOAgCZ05f2RbBLlhP03g==", "dependencies": { "@comunica/bus-query-result-serialize": "^2.10.0", "@comunica/types": "^2.10.0", @@ -1284,7 +1238,8 @@ }, "node_modules/@comunica/actor-query-result-serialize-tree": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-result-serialize-tree/-/actor-query-result-serialize-tree-2.10.0.tgz", + "integrity": "sha512-sEyIzoSTV11YPY6r4fn6fwrf3WjLD6GrwXMTuevsDAKDYaMYxyriH3T/LMLLBEURy8SLD1I1Fpw/qaZisRmLTg==", "dependencies": { "@comunica/bus-query-result-serialize": "^2.10.0", "@comunica/context-entries": "^2.10.0", @@ -1296,7 +1251,8 @@ }, "node_modules/@comunica/actor-rdf-join-entries-sort-cardinality": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-entries-sort-cardinality/-/actor-rdf-join-entries-sort-cardinality-2.10.0.tgz", + "integrity": "sha512-6dd/29q6QuQN2Ap090VA0KUFmmnHalPxFJb4MGh5nIbWZH0F/EvI+uK5vPx29cttr1yXL5u+MbJWaLb3IxwILg==", "dependencies": { "@comunica/bus-rdf-join-entries-sort": "^2.10.0", "@comunica/core": "^2.10.0" @@ -1304,7 +1260,8 @@ }, "node_modules/@comunica/actor-rdf-join-inner-hash": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-inner-hash/-/actor-rdf-join-inner-hash-2.10.1.tgz", + "integrity": "sha512-nUtdS3NJGKSJQC8KjDVz4TEDmkXHBYQi0/bwnAXCDl1phhq8lgv+YEmRDNe/kuCze7HyqEt98rlSJ+ZhvcHXVQ==", "dependencies": { "@comunica/bus-rdf-join": "^2.10.1", "@comunica/mediatortype-join-coefficients": "^2.10.0", @@ -1314,7 +1271,8 @@ }, "node_modules/@comunica/actor-rdf-join-inner-multi-bind": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-inner-multi-bind/-/actor-rdf-join-inner-multi-bind-2.10.1.tgz", + "integrity": "sha512-tNZ2Q7z44Yr0iIFkvtTVAsts4v0IoC4b0FYaIUeYav4y5JOlR74hWWijTAzVfb31dTMsAp3r+y0xGIdd75LRHQ==", "dependencies": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/bus-rdf-join": "^2.10.1", @@ -1328,7 +1286,8 @@ }, "node_modules/@comunica/actor-rdf-join-inner-multi-empty": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-inner-multi-empty/-/actor-rdf-join-inner-multi-empty-2.10.1.tgz", + "integrity": "sha512-z6a3qENwuvSU0PvqOySrsHsWSUvzfWd1xIYwEvKuEIJ9vYPoefIUgggx08E95ZF/k+PxZ0vKEywFpBSUKUzGYA==", "dependencies": { "@comunica/bus-rdf-join": "^2.10.1", "@comunica/mediatortype-join-coefficients": "^2.10.0", @@ -1339,7 +1298,8 @@ }, "node_modules/@comunica/actor-rdf-join-inner-multi-smallest": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-inner-multi-smallest/-/actor-rdf-join-inner-multi-smallest-2.10.1.tgz", + "integrity": "sha512-MXwIvq+viDCmsxJwD4+fwMhwZINWva3jtQ3j5ne6DXgZYUJUFOw3VujvCP4/cl075RuSxYlXgy6ETHLa1TNr7g==", "dependencies": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/bus-rdf-join": "^2.10.1", @@ -1351,7 +1311,8 @@ }, "node_modules/@comunica/actor-rdf-join-inner-nestedloop": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-inner-nestedloop/-/actor-rdf-join-inner-nestedloop-2.10.1.tgz", + "integrity": "sha512-nFjGMrAIrRjRcsaU8UQXLbsDODVdf4LDpVNVQIrjfoWzhOIy13ApDQrqtuObaGVfryiFgt34zVEOwMWezWzl0A==", "dependencies": { "@comunica/bus-rdf-join": "^2.10.1", "@comunica/mediatortype-join-coefficients": "^2.10.0", @@ -1361,7 +1322,8 @@ }, "node_modules/@comunica/actor-rdf-join-inner-none": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-inner-none/-/actor-rdf-join-inner-none-2.10.1.tgz", + "integrity": "sha512-4mqsuqvLSuXMbgY0PghqK5hmBGH5YkRTwUOpGpBE0EVQaiAoQOME0uVslkt2TBzUx5IQJC+trr/80sbA9mAhMw==", "dependencies": { "@comunica/bindings-factory": "^2.10.1", "@comunica/bus-rdf-join": "^2.10.1", @@ -1372,7 +1334,8 @@ }, "node_modules/@comunica/actor-rdf-join-inner-single": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-inner-single/-/actor-rdf-join-inner-single-2.10.1.tgz", + "integrity": "sha512-RfnwTEsuXNdR0cNRWaCvNPlfD5KyuScsc/55j/9mr8yqGUTE9h9Om1Is5u7xnpRMxGOEqwVP6apK3ZxsZqlL/w==", "dependencies": { "@comunica/bus-rdf-join": "^2.10.1", "@comunica/mediatortype-join-coefficients": "^2.10.0" @@ -1380,7 +1343,8 @@ }, "node_modules/@comunica/actor-rdf-join-inner-symmetrichash": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-inner-symmetrichash/-/actor-rdf-join-inner-symmetrichash-2.10.1.tgz", + "integrity": "sha512-beFGkMUe3pTADtMXXPU8ab/IMULj+Hkg3Iah0zgrVZgwWH1Kgfkj/2qp32Ll5y9qcRbio4ruruKlHNXJJUU46Q==", "dependencies": { "@comunica/bus-rdf-join": "^2.10.1", "@comunica/mediatortype-join-coefficients": "^2.10.0", @@ -1390,7 +1354,8 @@ }, "node_modules/@comunica/actor-rdf-join-minus-hash": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-minus-hash/-/actor-rdf-join-minus-hash-2.10.1.tgz", + "integrity": "sha512-wIaB/EpuySaARhimoLzrE0cTH0TgVkL43IAtYX7ECwH9Qcv8blO4zbL4q2KUkY7OKZRM892aqMfo3kO1vMIK7w==", "dependencies": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/bus-rdf-join": "^2.10.1", @@ -1401,7 +1366,8 @@ }, "node_modules/@comunica/actor-rdf-join-minus-hash-undef": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-minus-hash-undef/-/actor-rdf-join-minus-hash-undef-2.10.1.tgz", + "integrity": "sha512-tz5LdeAHnylEQIq4bRfFqaH89WZXkkdFxEshqxWijFBp5wprUYiotMDrBo9zDFaPquhs42fILtTzLY9yaalc9w==", "dependencies": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/bus-rdf-join": "^2.10.1", @@ -1413,7 +1379,8 @@ }, "node_modules/@comunica/actor-rdf-join-optional-bind": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-optional-bind/-/actor-rdf-join-optional-bind-2.10.1.tgz", + "integrity": "sha512-6dOoI/rzRZ0RUyv2WlToClE42Z2YJE5xcSrot7haT2eMdxbzr1KjyasHBcIIkSK+WViDO006lXZ1Hi4tJm9uuA==", "dependencies": { "@comunica/actor-rdf-join-inner-multi-bind": "^2.10.1", "@comunica/bus-query-operation": "^2.10.1", @@ -1426,7 +1393,8 @@ }, "node_modules/@comunica/actor-rdf-join-optional-nestedloop": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-optional-nestedloop/-/actor-rdf-join-optional-nestedloop-2.10.1.tgz", + "integrity": "sha512-d7KUDjEKZszizd4SBvYkK2A6lScrq9ciEgzdrrp6IYZhIGAhJLTgPNg3Js3NEjpE7oj4KWl2WwKJe2sWcJbKJg==", "dependencies": { "@comunica/bus-rdf-join": "^2.10.1", "@comunica/mediatortype-join-coefficients": "^2.10.0", @@ -1436,7 +1404,8 @@ }, "node_modules/@comunica/actor-rdf-join-selectivity-variable-counting": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-selectivity-variable-counting/-/actor-rdf-join-selectivity-variable-counting-2.10.0.tgz", + "integrity": "sha512-D7tdzxA93bpZGXI5emJyvzk6LabeAnzcQMU/V5x2QwJxyoNr+LFbesBHDDP3/u4UJwmeP0a+dU0e5mbpJujSXw==", "dependencies": { "@comunica/bus-rdf-join-selectivity": "^2.10.0", "@comunica/core": "^2.10.0", @@ -1446,7 +1415,8 @@ }, "node_modules/@comunica/actor-rdf-metadata-accumulate-cancontainundefs": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-accumulate-cancontainundefs/-/actor-rdf-metadata-accumulate-cancontainundefs-2.10.0.tgz", + "integrity": "sha512-N3rwX4kT9rkW+89q4xCjO3KKG0DbeNIyeMWDzeh2vTw8nAXYyTiPjHYvx/6VUMzhFUWF+50VtVv8ZJPO6nEapw==", "dependencies": { "@comunica/bus-rdf-metadata-accumulate": "^2.10.0", "@comunica/core": "^2.10.0" @@ -1454,7 +1424,8 @@ }, "node_modules/@comunica/actor-rdf-metadata-accumulate-cardinality": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-accumulate-cardinality/-/actor-rdf-metadata-accumulate-cardinality-2.10.0.tgz", + "integrity": "sha512-UpC5PbhzEDCAxTUqETH89uRaFRqmP6YuWt67OAPo5wocv2tQDs6/SdLwS695XnfeMJdfDHsXyoUzQg3r8dwydw==", "dependencies": { "@comunica/bus-rdf-metadata-accumulate": "^2.10.0", "@comunica/core": "^2.10.0", @@ -1463,7 +1434,8 @@ }, "node_modules/@comunica/actor-rdf-metadata-accumulate-pagesize": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-accumulate-pagesize/-/actor-rdf-metadata-accumulate-pagesize-2.10.0.tgz", + "integrity": "sha512-r364CWGr5rMpV2ec3TsD+9Yhvi1JUuRXLBQqtgzjAPbpWjfDSM1Q4h0P1z9h3D+sdUMEX/0iGAY3AH2FjJAxwA==", "dependencies": { "@comunica/bus-rdf-metadata-accumulate": "^2.10.0", "@comunica/core": "^2.10.0" @@ -1471,7 +1443,8 @@ }, "node_modules/@comunica/actor-rdf-metadata-accumulate-requesttime": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-accumulate-requesttime/-/actor-rdf-metadata-accumulate-requesttime-2.10.0.tgz", + "integrity": "sha512-SpG7gxxAPoW2NbgyZ2UNpwluJ+IvCOYIRDTXmVTAK8bntav+/ZG30yfESFBjB3LmJEwAnktAsTgM6OhldohPKw==", "dependencies": { "@comunica/bus-rdf-metadata-accumulate": "^2.10.0", "@comunica/core": "^2.10.0" @@ -1479,7 +1452,8 @@ }, "node_modules/@comunica/actor-rdf-metadata-all": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-all/-/actor-rdf-metadata-all-2.10.0.tgz", + "integrity": "sha512-dHaSxHTdneWVBMAF6WqZrGD+u4TPpHQaJ2WutK1NvQNPIiF0N7249aGTvXBIXZfsKYyQ73PUORDeLEOjX+tT7g==", "dependencies": { "@comunica/bus-rdf-metadata": "^2.10.0", "@comunica/core": "^2.10.0", @@ -1488,7 +1462,8 @@ }, "node_modules/@comunica/actor-rdf-metadata-extract-allow-http-methods": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-extract-allow-http-methods/-/actor-rdf-metadata-extract-allow-http-methods-2.10.0.tgz", + "integrity": "sha512-aCSX+lWcmz5Q/g34VJEblczqDS6N+gJ3AlcOcGuqhd6qHRU17dMeCIZCk8p6p+AhbJ30w4BTsrZRY2sF0MGCVA==", "dependencies": { "@comunica/bus-rdf-metadata-extract": "^2.10.0", "@comunica/core": "^2.10.0" @@ -1496,7 +1471,8 @@ }, "node_modules/@comunica/actor-rdf-metadata-extract-hydra-controls": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-extract-hydra-controls/-/actor-rdf-metadata-extract-hydra-controls-2.10.0.tgz", + "integrity": "sha512-T6F5OaQNqrHVIwSGNRX6YPDBoAOYBQj3NTPID7vQae7J80oEX+CLoTkeJJwfHpoUWx0ihs8J0UkABgK3AWeylA==", "dependencies": { "@comunica/bus-rdf-metadata-extract": "^2.10.0", "@comunica/core": "^2.10.0", @@ -1507,7 +1483,8 @@ }, "node_modules/@comunica/actor-rdf-metadata-extract-hydra-count": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-extract-hydra-count/-/actor-rdf-metadata-extract-hydra-count-2.10.0.tgz", + "integrity": "sha512-nOMLN+9OSLFOVz6jc9pcyDizhcBBVT2azn7StTMK5ukFCcPCENS4y6lYhC5cijKZY7vUa7U6VzhX2vvw20MKDA==", "dependencies": { "@comunica/bus-rdf-metadata-extract": "^2.10.0", "@comunica/core": "^2.10.0" @@ -1515,7 +1492,8 @@ }, "node_modules/@comunica/actor-rdf-metadata-extract-hydra-pagesize": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-extract-hydra-pagesize/-/actor-rdf-metadata-extract-hydra-pagesize-2.10.0.tgz", + "integrity": "sha512-mD8KS2ENr2rbfBWxtVpxkB/Y2LyyAnwQU5UYKkpet8ELhlostdGROzYCNIAgfOgirOAsLgVkbmrX0XBGouI7rA==", "dependencies": { "@comunica/bus-rdf-metadata-extract": "^2.10.0", "@comunica/core": "^2.10.0" @@ -1523,7 +1501,8 @@ }, "node_modules/@comunica/actor-rdf-metadata-extract-patch-sparql-update": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-extract-patch-sparql-update/-/actor-rdf-metadata-extract-patch-sparql-update-2.10.0.tgz", + "integrity": "sha512-U5ARpeWKShbbSfdtJeb6nyPcsdtMwEo2dp56T4aSTNSBKtAhQ78DjOxb23WIU/VR/qpw2yWcsbPnNJvSaLpRVQ==", "dependencies": { "@comunica/bus-rdf-metadata-extract": "^2.10.0", "@comunica/core": "^2.10.0" @@ -1531,7 +1510,8 @@ }, "node_modules/@comunica/actor-rdf-metadata-extract-put-accepted": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-extract-put-accepted/-/actor-rdf-metadata-extract-put-accepted-2.10.0.tgz", + "integrity": "sha512-cGJg6tMMCOSGcitkUBN7b9/Sg5zgwWQC52g+Zk22o4i+Zgt24WLjfXXbnGWGoV+h9YZo8pkg7v1cpE5GpapNCg==", "dependencies": { "@comunica/bus-rdf-metadata-extract": "^2.10.0", "@comunica/core": "^2.10.0" @@ -1539,7 +1519,8 @@ }, "node_modules/@comunica/actor-rdf-metadata-extract-request-time": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-extract-request-time/-/actor-rdf-metadata-extract-request-time-2.10.0.tgz", + "integrity": "sha512-zh3coTPZMbgF4mXKCO3bzn99INt9HFraKMZWc9s/kwBE6vhNZ5246Ql/6z1v7mccoIbanhI72gtjFTGGHru80Q==", "dependencies": { "@comunica/bus-rdf-metadata-extract": "^2.10.0", "@comunica/core": "^2.10.0" @@ -1547,7 +1528,8 @@ }, "node_modules/@comunica/actor-rdf-metadata-extract-sparql-service": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-extract-sparql-service/-/actor-rdf-metadata-extract-sparql-service-2.10.0.tgz", + "integrity": "sha512-Xc+id8FURTmY3ccb4hcVuAaOou5UqD+1YkTnGfMWQxVgMlFC1eeBvwWVzvedj0sHhnfbLgDwbCVYLCK1lNndSg==", "dependencies": { "@comunica/bus-rdf-metadata-extract": "^2.10.0", "@comunica/core": "^2.10.0", @@ -1556,7 +1538,8 @@ }, "node_modules/@comunica/actor-rdf-metadata-primary-topic": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-primary-topic/-/actor-rdf-metadata-primary-topic-2.10.0.tgz", + "integrity": "sha512-nabxkiYSPGPRylhYjGxF0KiJ/K8QiG1N/am/t8eaqwyjn/fo2/tHl0yXUaLLx0E8fChfbBv10sVlmLhsLrg8DQ==", "dependencies": { "@comunica/bus-rdf-metadata": "^2.10.0", "@comunica/core": "^2.10.0", @@ -1566,7 +1549,8 @@ }, "node_modules/@comunica/actor-rdf-parse-html": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-html/-/actor-rdf-parse-html-2.10.0.tgz", + "integrity": "sha512-zgImXKpc+BN1i6lQiN1Qhlb1HbKdMIeJMOys6qbzRIijdK8GkGGChwhQp7Cso3lY1Nf4K7M3jPLZeQXeED2w7g==", "dependencies": { "@comunica/bus-rdf-parse": "^2.10.0", "@comunica/bus-rdf-parse-html": "^2.10.0", @@ -1579,7 +1563,8 @@ }, "node_modules/@comunica/actor-rdf-parse-html-microdata": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-html-microdata/-/actor-rdf-parse-html-microdata-2.10.0.tgz", + "integrity": "sha512-JLfiDauq4SmpI6TDS4HaHzI6iJe1j8lSk5FRRYK6YVEu8eO28jPmxQJiOiwbQiYqsjsV7kON/WIZSoUELoI4Ig==", "dependencies": { "@comunica/bus-rdf-parse-html": "^2.10.0", "@comunica/core": "^2.10.0", @@ -1588,7 +1573,8 @@ }, "node_modules/@comunica/actor-rdf-parse-html-rdfa": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-html-rdfa/-/actor-rdf-parse-html-rdfa-2.10.0.tgz", + "integrity": "sha512-9K3iaws9+FGl50oZi53hqyzhwjNKZ3mIr2zg/TAJZoapKvc14cthH17zKSSJrqI/NgBStRmZhBBkXcwfu1CANw==", "dependencies": { "@comunica/bus-rdf-parse-html": "^2.10.0", "@comunica/core": "^2.10.0", @@ -1597,7 +1583,8 @@ }, "node_modules/@comunica/actor-rdf-parse-html-script": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-html-script/-/actor-rdf-parse-html-script-2.10.0.tgz", + "integrity": "sha512-7XYqWchDquWnBLjG7rmmY+tdE81UZ8fPCU0Hn+vI39/MikNOpaiyr/ZYFqhogWFa9SkjmH0a7idVUzmjiwKRZQ==", "dependencies": { "@comunica/bus-rdf-parse": "^2.10.0", "@comunica/bus-rdf-parse-html": "^2.10.0", @@ -1611,7 +1598,8 @@ }, "node_modules/@comunica/actor-rdf-parse-jsonld": { "version": "2.10.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-jsonld/-/actor-rdf-parse-jsonld-2.10.2.tgz", + "integrity": "sha512-K4fvD0zMU22KkQCqIFVT5Oy2FREEZ9CAo9u6kOcsMxEvg9aHGIM6hkaXR8I+1JCx1mDuEj3zQ8joR4tQh8fYCw==", "dependencies": { "@comunica/bus-http": "^2.10.2", "@comunica/bus-rdf-parse": "^2.10.0", @@ -1625,7 +1613,8 @@ }, "node_modules/@comunica/actor-rdf-parse-n3": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-n3/-/actor-rdf-parse-n3-2.10.0.tgz", + "integrity": "sha512-o1MAbwJxW4Br2WCZdhFoRmAiOP4mfogeQqJ4nqlsOkoMtQ45EvLHsotb3Kqhuk5V+vsTxyK5v/a4zylGtcU7VQ==", "dependencies": { "@comunica/bus-rdf-parse": "^2.10.0", "@comunica/types": "^2.10.0", @@ -1634,7 +1623,8 @@ }, "node_modules/@comunica/actor-rdf-parse-rdfxml": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-rdfxml/-/actor-rdf-parse-rdfxml-2.10.0.tgz", + "integrity": "sha512-HoJN52shXY3cvYtsS0cpin9KXpW3L7g1leebyCRSqnlnHdJv5D6G0Ep8vyt2xhquKNbOQ7LnP5VhiDiqz73XDg==", "dependencies": { "@comunica/bus-rdf-parse": "^2.10.0", "@comunica/types": "^2.10.0", @@ -1643,7 +1633,8 @@ }, "node_modules/@comunica/actor-rdf-parse-shaclc": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-shaclc/-/actor-rdf-parse-shaclc-2.10.0.tgz", + "integrity": "sha512-i6tmuZuS+RtDiSXpQc3s/PxtCqwIguo4ANmVB20PK4VWgQgBwoPG7LlNcJ0xmuH/3Bv6C2Agn18PLF6dZX+fKw==", "dependencies": { "@comunica/bus-rdf-parse": "^2.10.0", "@comunica/types": "^2.10.0", @@ -1656,7 +1647,8 @@ }, "node_modules/@comunica/actor-rdf-parse-xml-rdfa": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-xml-rdfa/-/actor-rdf-parse-xml-rdfa-2.10.0.tgz", + "integrity": "sha512-68r/6B/fEyA1/OYleVuaPq47J+g4xJcJijpdL1wEj7CqjV+Xa+sDWRpNCyLcD/e1Y/g9UQmLz0ZnSpR00PFddA==", "dependencies": { "@comunica/bus-rdf-parse": "^2.10.0", "@comunica/types": "^2.10.0", @@ -1665,7 +1657,8 @@ }, "node_modules/@comunica/actor-rdf-resolve-hypermedia-links-next": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-resolve-hypermedia-links-next/-/actor-rdf-resolve-hypermedia-links-next-2.10.0.tgz", + "integrity": "sha512-SpW46Tx8ksAxotGK2UEpvGcYjKwxB0x2KnbGmKHvo59embRjcUL/bmq3uHqZe7UwfynR2wDaRzMdVVSQccWSyA==", "dependencies": { "@comunica/bus-rdf-resolve-hypermedia-links": "^2.10.0", "@comunica/core": "^2.10.0" @@ -1673,7 +1666,8 @@ }, "node_modules/@comunica/actor-rdf-resolve-hypermedia-links-queue-fifo": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-resolve-hypermedia-links-queue-fifo/-/actor-rdf-resolve-hypermedia-links-queue-fifo-2.10.0.tgz", + "integrity": "sha512-Hh53Ts6z6MxKXhZZxgpXfc1hgNzIX/xbA9mD2Au7ZfAa5V5j8zPaVVKe06sxILQBTPMsFh1idP3vIqRwRXpsvg==", "dependencies": { "@comunica/bus-rdf-resolve-hypermedia-links": "^2.10.0", "@comunica/bus-rdf-resolve-hypermedia-links-queue": "^2.10.0", @@ -1682,7 +1676,8 @@ }, "node_modules/@comunica/actor-rdf-resolve-hypermedia-none": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-resolve-hypermedia-none/-/actor-rdf-resolve-hypermedia-none-2.10.0.tgz", + "integrity": "sha512-C4sJ0QJetq3QxsRkYstK5YXRYDGkcVTfyBOFUMYj7PbVakapnl8qPZkVL7VPMLVLVOfyBQHTT43Yp6Nl8VvmSA==", "dependencies": { "@comunica/actor-rdf-resolve-quad-pattern-rdfjs-source": "^2.10.0", "@comunica/bus-rdf-resolve-hypermedia": "^2.10.0", @@ -1691,7 +1686,8 @@ }, "node_modules/@comunica/actor-rdf-resolve-hypermedia-qpf": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-resolve-hypermedia-qpf/-/actor-rdf-resolve-hypermedia-qpf-2.10.0.tgz", + "integrity": "sha512-1iP9xD72bxFBLpbfC7Ev0Xoc+0rwusPFdnoYbEtqMHRfiM0h3nNrsSxyzdGJMAZaJeQzmBZIEiwR5pbo9qpmaQ==", "dependencies": { "@comunica/actor-rdf-metadata-extract-hydra-controls": "^2.10.0", "@comunica/bus-dereference-rdf": "^2.10.0", @@ -1709,7 +1705,8 @@ }, "node_modules/@comunica/actor-rdf-resolve-hypermedia-sparql": { "version": "2.10.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-resolve-hypermedia-sparql/-/actor-rdf-resolve-hypermedia-sparql-2.10.2.tgz", + "integrity": "sha512-UFsTuzHvjK/XhRGqfHr3WAVr+iBv6XTuU1fV9EuOaB+odclQ+H6TGtmW6/38CSufj86Y691VBXMk29zdWfrmGA==", "dependencies": { "@comunica/bindings-factory": "^2.10.1", "@comunica/bus-http": "^2.10.2", @@ -1727,7 +1724,8 @@ }, "node_modules/@comunica/actor-rdf-resolve-quad-pattern-federated": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-resolve-quad-pattern-federated/-/actor-rdf-resolve-quad-pattern-federated-2.10.1.tgz", + "integrity": "sha512-OBRTTUWkXKa0ibDzcYLG7aKf3BfQp2j75xm65brRvwstNLmye9ZEq1PrNhbP5UDqQQeCgzPBrb0eGC8Vxek2RA==", "dependencies": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/bus-rdf-metadata-accumulate": "^2.10.0", @@ -1746,7 +1744,8 @@ }, "node_modules/@comunica/actor-rdf-resolve-quad-pattern-hypermedia": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-resolve-quad-pattern-hypermedia/-/actor-rdf-resolve-quad-pattern-hypermedia-2.10.1.tgz", + "integrity": "sha512-XkJOYu0bizWHsvgiaGyNAnRZsqv2risREK5SY14VCMXDYqmOWJLDppveGEUZAoEKEJuo4ZLDlP2gLDGzc0krxQ==", "dependencies": { "@comunica/bus-dereference-rdf": "^2.10.0", "@comunica/bus-http-invalidate": "^2.10.0", @@ -1773,7 +1772,8 @@ }, "node_modules/@comunica/actor-rdf-resolve-quad-pattern-rdfjs-source": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-resolve-quad-pattern-rdfjs-source/-/actor-rdf-resolve-quad-pattern-rdfjs-source-2.10.0.tgz", + "integrity": "sha512-d6AlrngvZaVgoiiyMhkf6uiYaFZZdn/UZLo0FhZ++or1NZXo5KxK4UMgdiIygvPEiuuVzy0W1djHgOQ1rgh50g==", "dependencies": { "@comunica/bus-rdf-resolve-quad-pattern": "^2.10.0", "@comunica/core": "^2.10.0", @@ -1787,7 +1787,8 @@ }, "node_modules/@comunica/actor-rdf-resolve-quad-pattern-string-source": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-resolve-quad-pattern-string-source/-/actor-rdf-resolve-quad-pattern-string-source-2.10.0.tgz", + "integrity": "sha512-v6QOBtXTXrDUZRHocrm2OYCsxGpyTScka/n85cewCcInqVGJP9J6zpdwetzvIy7wVJkac7JQabd96OEyDMK3sg==", "dependencies": { "@comunica/bus-rdf-parse": "^2.10.0", "@comunica/bus-rdf-resolve-quad-pattern": "^2.10.0", @@ -1802,7 +1803,8 @@ }, "node_modules/@comunica/actor-rdf-serialize-jsonld": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-serialize-jsonld/-/actor-rdf-serialize-jsonld-2.10.0.tgz", + "integrity": "sha512-u1M5N7BSrkhS461fV6QXKMh6TnvpoEiSHPru7wJg1kGqR9q3reuQeKLf/U23JDYb1kom8uU3R7aBpDIjgVc49Q==", "dependencies": { "@comunica/bus-rdf-serialize": "^2.10.0", "@comunica/types": "^2.10.0", @@ -1811,7 +1813,8 @@ }, "node_modules/@comunica/actor-rdf-serialize-n3": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-serialize-n3/-/actor-rdf-serialize-n3-2.10.0.tgz", + "integrity": "sha512-CoDktUI3YQuI7UBV+fQOdKl+5XjBx0XTOF9XxEDiNg5nwndEmDvq6C23fSHfkqX3/xDlnsuS/YysHAqXCrYoiA==", "dependencies": { "@comunica/bus-rdf-serialize": "^2.10.0", "@comunica/types": "^2.10.0", @@ -1820,7 +1823,8 @@ }, "node_modules/@comunica/actor-rdf-serialize-shaclc": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-serialize-shaclc/-/actor-rdf-serialize-shaclc-2.10.0.tgz", + "integrity": "sha512-gp4bu4+aPtMk4bavXP27uD9X9bpa2F5u6/JtsaX2qwcqVI0x1tkVQOkm2RkUhafcHNj0Fz6lQ3aXmRIAQvaefg==", "dependencies": { "@comunica/bus-rdf-serialize": "^2.10.0", "@comunica/types": "^2.10.0", @@ -1831,7 +1835,8 @@ }, "node_modules/@comunica/actor-rdf-update-hypermedia-patch-sparql-update": { "version": "2.10.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-update-hypermedia-patch-sparql-update/-/actor-rdf-update-hypermedia-patch-sparql-update-2.10.2.tgz", + "integrity": "sha512-z/fOzYlA5fPtauTUISYhCWMKtEpkvKkSZIdvcgeGvetLnvw4fytfVHdtPhirZYmPya10GCeTG7m2iHvK53lOsQ==", "dependencies": { "@comunica/bus-http": "^2.10.2", "@comunica/bus-rdf-update-hypermedia": "^2.10.2", @@ -1847,7 +1852,8 @@ }, "node_modules/@comunica/actor-rdf-update-hypermedia-put-ldp": { "version": "2.10.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-update-hypermedia-put-ldp/-/actor-rdf-update-hypermedia-put-ldp-2.10.2.tgz", + "integrity": "sha512-Tof/mU0Lkt7HP3SwHXODczxvAFelWzAHdP+ap4Upr47K6Zg5GRPwJv//2AcPvT3p42Li6wuMz/4nh/A3pcnCKA==", "dependencies": { "@comunica/bus-http": "^2.10.2", "@comunica/bus-rdf-serialize": "^2.10.0", @@ -1862,7 +1868,8 @@ }, "node_modules/@comunica/actor-rdf-update-hypermedia-sparql": { "version": "2.10.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-update-hypermedia-sparql/-/actor-rdf-update-hypermedia-sparql-2.10.2.tgz", + "integrity": "sha512-uw1NIAoxuAechsjTQ6b53XpGOMx3Mp5uEL5LtUwNC6COJE6tzWH8wG54Dwj+0VNxsgqsSircKu2xwGl1uOsOPg==", "dependencies": { "@comunica/bus-http": "^2.10.2", "@comunica/bus-rdf-update-hypermedia": "^2.10.2", @@ -1878,7 +1885,8 @@ }, "node_modules/@comunica/actor-rdf-update-quads-hypermedia": { "version": "2.10.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-update-quads-hypermedia/-/actor-rdf-update-quads-hypermedia-2.10.2.tgz", + "integrity": "sha512-kzGfDv0PqcOIIULJLG8jtA/dOcrNUodu98J08ruSuYQBbnFgAZ07MG1TkWhEI/AM6D0w7hXkgQaC1sGWn4gVmA==", "dependencies": { "@comunica/bus-dereference-rdf": "^2.10.0", "@comunica/bus-http-invalidate": "^2.10.0", @@ -1893,7 +1901,8 @@ }, "node_modules/@comunica/actor-rdf-update-quads-rdfjs-store": { "version": "2.10.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-update-quads-rdfjs-store/-/actor-rdf-update-quads-rdfjs-store-2.10.2.tgz", + "integrity": "sha512-anX3SovvY2H8KwuWu8G9EqtITmCsz12jfqunNn5Efcch/bm4HyHTC1GThx77m6qpCdg4OMx8TLhNrH1II1UM1w==", "dependencies": { "@comunica/bus-rdf-update-quads": "^2.10.2", "@comunica/core": "^2.10.0", @@ -1906,7 +1915,8 @@ }, "node_modules/@comunica/bindings-factory": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", "dependencies": { "@rdfjs/types": "*", "immutable": "^4.1.0", @@ -1916,7 +1926,8 @@ }, "node_modules/@comunica/bus-context-preprocess": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/bus-context-preprocess/-/bus-context-preprocess-2.10.0.tgz", + "integrity": "sha512-eJ5CkzbnmxB9fkr2F05jnnjcaowp+yxd0+pAtvx5MLl2Kpx3nWLqHPcl4/EVVDPD+i0TEkq4AXQ1BD9BMuXK0A==", "dependencies": { "@comunica/core": "^2.10.0", "@comunica/types": "^2.10.0" @@ -1924,7 +1935,8 @@ }, "node_modules/@comunica/bus-dereference": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/bus-dereference/-/bus-dereference-2.10.0.tgz", + "integrity": "sha512-nWyQXiH7zbiPTVttWVKJHykhV4IuahfhfUwPx3Op+cVsK489Su84dnGeSmPkxTAFFuxe6wU6ZEH4i7PDu48YvQ==", "dependencies": { "@comunica/actor-abstract-mediatyped": "^2.10.0", "@comunica/actor-abstract-parse": "^2.10.0", @@ -1936,7 +1948,8 @@ }, "node_modules/@comunica/bus-dereference-rdf": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/bus-dereference-rdf/-/bus-dereference-rdf-2.10.0.tgz", + "integrity": "sha512-WY/wPmFpO76wwJ2D5Aus43ZbYnBRLvQ0EOp4yywO0lBiq6F0JisjCVCM4EtWouOEAAfqEoIjHXGyC3gPWqm+SQ==", "dependencies": { "@comunica/bus-dereference": "^2.10.0", "@comunica/bus-rdf-parse": "^2.10.0", @@ -1946,7 +1959,8 @@ }, "node_modules/@comunica/bus-hash-bindings": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/bus-hash-bindings/-/bus-hash-bindings-2.10.0.tgz", + "integrity": "sha512-EdzIUgpSWMtFVxEJSesuQpMkfgznDap+U0F9epotxXc20Gg/qjTzs1gF6NkpDpaidQ7cFlV16vdbdfi8uiZ+mQ==", "dependencies": { "@comunica/core": "^2.10.0", "@comunica/types": "^2.10.0" @@ -1954,7 +1968,8 @@ }, "node_modules/@comunica/bus-http": { "version": "2.10.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/bus-http/-/bus-http-2.10.2.tgz", + "integrity": "sha512-MAYRF6uEBAuJ9dCPW2Uyne7w3lNwXFXKfa14XuPG5DFTDpgo/Z2pWupPrBsA1eIWMNJ6WOG6QyEv4rllSIBqlg==", "dependencies": { "@comunica/core": "^2.10.0", "@smessie/readable-web-to-node-stream": "^3.0.3", @@ -1965,14 +1980,16 @@ }, "node_modules/@comunica/bus-http-invalidate": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/bus-http-invalidate/-/bus-http-invalidate-2.10.0.tgz", + "integrity": "sha512-9DevRUzuCOfHFtsryIvTU6rOz6vMbnuDzerloBoNsLFVzQCU4wPNZbxiOn0+GMDXxw7M3KgYd+KFxI2kGObVWA==", "dependencies": { "@comunica/core": "^2.10.0" } }, "node_modules/@comunica/bus-init": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/bus-init/-/bus-init-2.10.0.tgz", + "integrity": "sha512-hJejHa8sLVhQLFlduCVnhOd5aW3FCEz8wmWjyeLI3kiHFaQibnGVMhUuuNRX5f8bnnPuTdEiHc1nnYHuSi+j8A==", "dependencies": { "@comunica/core": "^2.10.0", "readable-stream": "^4.4.2" @@ -1980,7 +1997,8 @@ }, "node_modules/@comunica/bus-optimize-query-operation": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/bus-optimize-query-operation/-/bus-optimize-query-operation-2.10.0.tgz", + "integrity": "sha512-qawKJprbVc+dfjBgVzV45UEo+jZBzY3dRo0a8UkXSvgSWPcX18SGrURl2VL4sZZSAyXQBMrGUwH2eUD8l26ZJQ==", "dependencies": { "@comunica/core": "^2.10.0", "@comunica/types": "^2.10.0", @@ -1989,7 +2007,8 @@ }, "node_modules/@comunica/bus-query-operation": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", "dependencies": { "@comunica/bindings-factory": "^2.10.1", "@comunica/context-entries": "^2.10.0", @@ -2005,7 +2024,8 @@ }, "node_modules/@comunica/bus-query-parse": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-parse/-/bus-query-parse-2.10.0.tgz", + "integrity": "sha512-1LynxACgCYTuBH/JMRG/IGaWtTVwr2O8wxOosCId2W3BDW9nf2DSCyOdnxnCSMSKfnLFWiaVuKybn24OLXW2dQ==", "dependencies": { "@comunica/core": "^2.10.0", "@rdfjs/types": "*", @@ -2014,7 +2034,8 @@ }, "node_modules/@comunica/bus-query-result-serialize": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-result-serialize/-/bus-query-result-serialize-2.10.0.tgz", + "integrity": "sha512-9P5KUzmXvjtLbd44UVxYNB0yqAHx7molBUc7aysUQ3pbIcP/A57GXzAfiKueeiZ9cVRRG/BGsVoDGVj59tGWNg==", "dependencies": { "@comunica/actor-abstract-mediatyped": "^2.10.0", "@comunica/core": "^2.10.0", @@ -2023,7 +2044,8 @@ }, "node_modules/@comunica/bus-rdf-join": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-join/-/bus-rdf-join-2.10.1.tgz", + "integrity": "sha512-pPFoJVHY5p931jIKt+9sqRCGiuuf8yFqrlOOAd3un72cwuyhwNHvn52xwvcPlNUAySz/kDmW+U0syflqI6VdAw==", "dependencies": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/bus-rdf-join-selectivity": "^2.10.0", @@ -2039,7 +2061,8 @@ }, "node_modules/@comunica/bus-rdf-join-entries-sort": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-join-entries-sort/-/bus-rdf-join-entries-sort-2.10.0.tgz", + "integrity": "sha512-17FQrdYtzjY84OI/ZvipJKD0ei3IySmsWwaGC9sIJn+1W4LBVKudTu5S0tzGTKTb0URhS4mrCliUBzyINtIZMQ==", "dependencies": { "@comunica/core": "^2.10.0", "@comunica/types": "^2.10.0" @@ -2047,7 +2070,8 @@ }, "node_modules/@comunica/bus-rdf-join-selectivity": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-join-selectivity/-/bus-rdf-join-selectivity-2.10.0.tgz", + "integrity": "sha512-YjoygSiH6r4SAYqz6gpvUql2vnznPVE62IsWqYnjFWeH1kBsxO5yEOO01s2FfN3jLcfsytTyG7VNTCN788YbaA==", "dependencies": { "@comunica/core": "^2.10.0", "@comunica/mediatortype-accuracy": "^2.10.0", @@ -2056,7 +2080,8 @@ }, "node_modules/@comunica/bus-rdf-metadata": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-metadata/-/bus-rdf-metadata-2.10.0.tgz", + "integrity": "sha512-LRUnHVqIzyUlmPKPNAYOusCF53iN8KEX7l/VinlA7NH3XBLhTkFoth26MVqIVtjtdH0hVfUVpkwy2kFEJpGldw==", "dependencies": { "@comunica/core": "^2.10.0", "@rdfjs/types": "*" @@ -2064,7 +2089,8 @@ }, "node_modules/@comunica/bus-rdf-metadata-accumulate": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-metadata-accumulate/-/bus-rdf-metadata-accumulate-2.10.0.tgz", + "integrity": "sha512-XG/3s4a3yGpYt4H+sn9T2zTaUxLG+37dmhRhXv2cBmR4gaCXkglERPaOrQygHldEF+4ITF3RmXHCgANsQ1AwQg==", "dependencies": { "@comunica/core": "^2.10.0", "@comunica/types": "^2.10.0" @@ -2072,7 +2098,8 @@ }, "node_modules/@comunica/bus-rdf-metadata-extract": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-metadata-extract/-/bus-rdf-metadata-extract-2.10.0.tgz", + "integrity": "sha512-KcMZh+7kHjdCIMkLFki99tQH1arVp/evVnk0BGXfWd+ca3eCLrr42tb1tGfN2JkaCSxgtzWO4DRZcSzJ4sI2dQ==", "dependencies": { "@comunica/core": "^2.10.0", "@rdfjs/types": "*" @@ -2080,7 +2107,8 @@ }, "node_modules/@comunica/bus-rdf-parse": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-parse/-/bus-rdf-parse-2.10.0.tgz", + "integrity": "sha512-EgCMZACfTG/+mayQpExWt0HoBT32BBVC1aS1lC43fXKBTxJ8kYrSrorVUuMACoh4dQVGTb+7j1j4K0hGNVzXGA==", "dependencies": { "@comunica/actor-abstract-mediatyped": "^2.10.0", "@comunica/actor-abstract-parse": "^2.10.0", @@ -2090,7 +2118,8 @@ }, "node_modules/@comunica/bus-rdf-parse-html": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-parse-html/-/bus-rdf-parse-html-2.10.0.tgz", + "integrity": "sha512-RZliz4TtKP63QggoohGuIkGb6lq0BoYJ4aztKtGldWtPAVP/pdEvlDpiZWLB/j19g7S2aDLNY/lJtZ5efM1tHQ==", "dependencies": { "@comunica/core": "^2.10.0", "@rdfjs/types": "*" @@ -2098,7 +2127,8 @@ }, "node_modules/@comunica/bus-rdf-resolve-hypermedia": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-resolve-hypermedia/-/bus-rdf-resolve-hypermedia-2.10.0.tgz", + "integrity": "sha512-DjCoAg62pPzEOH5gKM9gaL4CVUmhBsmyOzao0tRu20G7L6RnTIFtRaOwMN2z+2uC7AkJRHZY12bPUb+yM8V0UQ==", "dependencies": { "@comunica/bus-rdf-resolve-quad-pattern": "^2.10.0", "@comunica/core": "^2.10.0", @@ -2107,7 +2137,8 @@ }, "node_modules/@comunica/bus-rdf-resolve-hypermedia-links": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-resolve-hypermedia-links/-/bus-rdf-resolve-hypermedia-links-2.10.0.tgz", + "integrity": "sha512-Mcz6bUdZySLK2om0cMt86n5TOThZOTpEFq2M42n7YAE3LL2KMnMDdhkaOC6SyY4tS0HGAuhce21Uq+Gz8Veq2g==", "dependencies": { "@comunica/core": "^2.10.0", "@comunica/types": "^2.10.0", @@ -2116,7 +2147,8 @@ }, "node_modules/@comunica/bus-rdf-resolve-hypermedia-links-queue": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-resolve-hypermedia-links-queue/-/bus-rdf-resolve-hypermedia-links-queue-2.10.0.tgz", + "integrity": "sha512-f9amJk7ikktRfOoRnwag1KMTuo9v+PiDEVQA0dijl+jhcispKdjG6XK0MdZ1KSEmtUWejjS6nMRGvfJdM37eog==", "dependencies": { "@comunica/bus-rdf-resolve-hypermedia-links": "^2.10.0", "@comunica/core": "^2.10.0" @@ -2124,7 +2156,8 @@ }, "node_modules/@comunica/bus-rdf-resolve-quad-pattern": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-resolve-quad-pattern/-/bus-rdf-resolve-quad-pattern-2.10.0.tgz", + "integrity": "sha512-JEI4DqSprGmrbfmiIwc8PbS+HCoxXwmMtp7gDpoB1HyYKIHzzu9DOIiwmYEDRO5dwV+uTwaYKZz/mUPm2U6EEg==", "dependencies": { "@comunica/context-entries": "^2.10.0", "@comunica/core": "^2.10.0", @@ -2136,7 +2169,8 @@ }, "node_modules/@comunica/bus-rdf-serialize": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-serialize/-/bus-rdf-serialize-2.10.0.tgz", + "integrity": "sha512-AmbN9MUgw6B6AfrIqR1u7PWHZFgbJz+j1SFJVtnHQ51hEpG+Ig9nNG2IWjHOsFK0xBBQ/wXgNmt/cufEMRM1SQ==", "dependencies": { "@comunica/actor-abstract-mediatyped": "^2.10.0", "@comunica/core": "^2.10.0", @@ -2145,7 +2179,8 @@ }, "node_modules/@comunica/bus-rdf-update-hypermedia": { "version": "2.10.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-update-hypermedia/-/bus-rdf-update-hypermedia-2.10.2.tgz", + "integrity": "sha512-GbRMxXN4kx+4UPsnGxWjyn770m675yy2gWK/xy/5qQIxxRTcuGk4wm/994FZQXpwLX1E0xJ+YKxMgXTIlEWmQA==", "dependencies": { "@comunica/bus-rdf-update-quads": "^2.10.2", "@comunica/core": "^2.10.0" @@ -2153,7 +2188,8 @@ }, "node_modules/@comunica/bus-rdf-update-quads": { "version": "2.10.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-update-quads/-/bus-rdf-update-quads-2.10.2.tgz", + "integrity": "sha512-+iVpAHps8ytGq8AZF4xTZbLyskS40JPn64MO+OAuYovqXLlezp6vh9eJ5qETuP9NP+BpZDk3nOU3Ky3fb0QCUw==", "dependencies": { "@comunica/actor-rdf-resolve-quad-pattern-federated": "^2.10.1", "@comunica/bus-http": "^2.10.2", @@ -2167,11 +2203,13 @@ }, "node_modules/@comunica/config-query-sparql": { "version": "2.7.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@comunica/config-query-sparql/-/config-query-sparql-2.7.0.tgz", + "integrity": "sha512-rMnFgT7cz9+0z7wV4OzIMY5qM9/Z0mTGrR8y2JokoHyyTcBGOSajFmy61XCSLMCsLLG8qDXsJ4ClCCky3TGfqA==" }, "node_modules/@comunica/context-entries": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", "dependencies": { "@comunica/core": "^2.10.0", "@comunica/types": "^2.10.0", @@ -2182,7 +2220,8 @@ }, "node_modules/@comunica/core": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", "dependencies": { "@comunica/types": "^2.10.0", "immutable": "^4.1.0" @@ -2193,14 +2232,16 @@ }, "node_modules/@comunica/data-factory": { "version": "2.7.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", "dependencies": { "@rdfjs/types": "*" } }, "node_modules/@comunica/expression-evaluator": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/expression-evaluator/-/expression-evaluator-2.10.0.tgz", + "integrity": "sha512-gSfiVSAE+SaxpXq3jT5OnyZd+sD9KFaWtTiKT1tDDs8lD7Jj68aRP7VoEhvKwPwRlUx0aoaXUL2MYtV6JsXRbg==", "dependencies": { "@rdfjs/types": "*", "@types/spark-md5": "^3.0.2", @@ -2218,18 +2259,20 @@ }, "node_modules/@comunica/expression-evaluator/node_modules/uuid": { "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", "funding": [ "https://github.com/sponsors/broofa", "https://github.com/sponsors/ctavan" ], - "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } }, "node_modules/@comunica/logger-pretty": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/logger-pretty/-/logger-pretty-2.10.0.tgz", + "integrity": "sha512-JXkeM5HnbyTPnQTf5/ugRPL9R+vXT7b/hRVYzYmhAGCjkCNL7NJPTBbIgxmZHqZ+UGxprotrvmDQtwHmVA+Ddw==", "dependencies": { "@comunica/types": "^2.10.0", "object-inspect": "^1.12.2", @@ -2238,21 +2281,24 @@ }, "node_modules/@comunica/logger-void": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/logger-void/-/logger-void-2.10.0.tgz", + "integrity": "sha512-GFJh9hV8rIC9yXAuLGGKjQRVs8IOQOINBbaTNO+FJUWWWHlo5pDEKAoGYuysz5TBGoT3Lexz8bMfdkuHMa3uIQ==", "dependencies": { "@comunica/types": "^2.10.0" } }, "node_modules/@comunica/mediator-all": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/mediator-all/-/mediator-all-2.10.0.tgz", + "integrity": "sha512-y1+A+sIW462G8iPzi6BSPIb4I9iy08ZruM2Thf1or6sytwLKro7E2RYjS6IdupwfFYafXXCeT85+lrJgTKERhQ==", "dependencies": { "@comunica/core": "^2.10.0" } }, "node_modules/@comunica/mediator-combine-pipeline": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/mediator-combine-pipeline/-/mediator-combine-pipeline-2.10.0.tgz", + "integrity": "sha512-j7+/oUlbhKB4Rq6g9oNKU+e9cQL8U9z8tAUNhoXUSHajcr4huj0t1+riaOD109/DRWhV793ILhBDzgiZbHd7DA==", "dependencies": { "@comunica/core": "^2.10.0", "@comunica/types": "^2.10.0" @@ -2260,14 +2306,16 @@ }, "node_modules/@comunica/mediator-combine-union": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/mediator-combine-union/-/mediator-combine-union-2.10.0.tgz", + "integrity": "sha512-QbP4zP1i6nMDZ8teC0RoTz5E8pOpxDhWPBr1ylb2jzPUjPpMgrnbHYTondlN0Oau3SMEehItojg/LYDtPOP/GQ==", "dependencies": { "@comunica/core": "^2.10.0" } }, "node_modules/@comunica/mediator-join-coefficients-fixed": { "version": "2.10.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/mediator-join-coefficients-fixed/-/mediator-join-coefficients-fixed-2.10.1.tgz", + "integrity": "sha512-HRvc0e8QDnR3sbRMMCyx9ILFA6KiUxHEqDOpt7BV3kFMWWIpBavFDwPUjLBG6sRA8o0CFu1+oVVh5fAFYZIxzQ==", "dependencies": { "@comunica/bus-rdf-join": "^2.10.1", "@comunica/context-entries": "^2.10.0", @@ -2278,35 +2326,40 @@ }, "node_modules/@comunica/mediator-number": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/mediator-number/-/mediator-number-2.10.0.tgz", + "integrity": "sha512-0T8D1HGTu5Sd8iKb2dBjc6VRc/U4A15TAN6m561ra9pFlP+w31kby0ZYP6WWBHBobbUsX1LCvnbRQaAC4uWwVw==", "dependencies": { "@comunica/core": "^2.10.0" } }, "node_modules/@comunica/mediator-race": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/mediator-race/-/mediator-race-2.10.0.tgz", + "integrity": "sha512-JiEtOLMkPnbjSLabVpE4VqDbu2ZKKnkUdATGBeWX+o+MjPw6c0hhw01RG4WY2rQhDyNl++nLQe3EowQh8xW9TA==", "dependencies": { "@comunica/core": "^2.10.0" } }, "node_modules/@comunica/mediatortype-accuracy": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/mediatortype-accuracy/-/mediatortype-accuracy-2.10.0.tgz", + "integrity": "sha512-u9Noai4yGACaBRGOoRZ65XoQhazKNx5QaFOX5nJ/p84Qq4g50woC2rpsncuyrXhW1j/rIc2WvIUGUfy/g6CDiw==", "dependencies": { "@comunica/core": "^2.10.0" } }, "node_modules/@comunica/mediatortype-httprequests": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/mediatortype-httprequests/-/mediatortype-httprequests-2.10.0.tgz", + "integrity": "sha512-uPjs/NdngHZZWomjZor6W29UeOlxganupIOa3Z6H3qdUnsSpxeoS9URXy7BICAX+4PmgebperSn18BRA+PWiSw==", "dependencies": { "@comunica/core": "^2.10.0" } }, "node_modules/@comunica/mediatortype-join-coefficients": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/mediatortype-join-coefficients/-/mediatortype-join-coefficients-2.10.0.tgz", + "integrity": "sha512-EPipAV5PDNeEVXbsd+8NsqNKu5ztCAoEJ3azcFAmD9di9ppArNJWU/mxy5yUzcBgMUX4wRp6jCa5rIF5sRHG7g==", "dependencies": { "@comunica/core": "^2.10.0", "@rdfjs/types": "*" @@ -2314,21 +2367,24 @@ }, "node_modules/@comunica/mediatortype-time": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/mediatortype-time/-/mediatortype-time-2.10.0.tgz", + "integrity": "sha512-nBz1exxrja1Tj8KSlSevG4Hw2u09tTh6gtNfVjI76i/e7muu4RUWVhi9b8PcwBNAfuUqRl+5OgOSa2X4W+6QlA==", "dependencies": { "@comunica/core": "^2.10.0" } }, "node_modules/@comunica/metadata": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/metadata/-/metadata-2.10.0.tgz", + "integrity": "sha512-PF7TKhuDIO4GE9tzuAkTxarQV5cmwXZ64hp0qm8Ql/V+dVHu/3xLL9v/Q67ZX26GF9hOyr7cdpNI08M7DHc86g==", "dependencies": { "@comunica/types": "^2.10.0" } }, "node_modules/@comunica/query-sparql": { "version": "2.10.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/query-sparql/-/query-sparql-2.10.2.tgz", + "integrity": "sha512-bgjQ8N5/vP3Iy71AgDKQc06mXmEBvh7dsenw2VPbvk11iXywec4XCq8TzX+GozL+Zxxl5XyYlBw+nRjvORTGHg==", "dependencies": { "@comunica/actor-context-preprocess-source-to-destination": "^2.10.0", "@comunica/actor-dereference-fallback": "^2.10.0", @@ -2471,7 +2527,8 @@ }, "node_modules/@comunica/runner": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/runner/-/runner-2.10.0.tgz", + "integrity": "sha512-v/oEKT+IwjO6Y74bCCzlR+ZMI6oykpfz7GQrQbl1oTWQsvBbTdf0omPkoYnk1esEAsFnsJD+NGwAiRiFKeBo0A==", "dependencies": { "@comunica/bus-init": "^2.10.0", "@comunica/core": "^2.10.0", @@ -2484,7 +2541,8 @@ }, "node_modules/@comunica/runner-cli": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/runner-cli/-/runner-cli-2.10.0.tgz", + "integrity": "sha512-16QI0rWFHURCy5waVFcZ/fhKI/hyzNx5YyCGPaEaUX8MKyamvCCXHSWvPLLbjJbsjGZ9wXrC9dwwhRmbfmidpw==", "dependencies": { "@comunica/core": "^2.10.0", "@comunica/runner": "^2.10.0", @@ -2497,7 +2555,8 @@ }, "node_modules/@comunica/types": { "version": "2.10.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", "dependencies": { "@rdfjs/types": "*", "@types/yargs": "^17.0.24", @@ -2507,7 +2566,8 @@ }, "node_modules/@cspotcode/source-map-support": { "version": "0.8.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", "dependencies": { "@jridgewell/trace-mapping": "0.3.9" }, @@ -2517,7 +2577,8 @@ }, "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { "version": "0.3.9", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", "dependencies": { "@jridgewell/resolve-uri": "^3.0.3", "@jridgewell/sourcemap-codec": "^1.4.10" @@ -2525,13 +2586,15 @@ }, "node_modules/@cucumber/ci-environment": { "version": "9.1.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@cucumber/ci-environment/-/ci-environment-9.1.0.tgz", + "integrity": "sha512-jdnF6APXP3GawMue8kdMxhu6TBhyRUO4KDRxTowf06NtclLjIw2Ybpo9IcIOMvE8kHukvJyM00uxWX+CfS7JgQ==", + "dev": true }, "node_modules/@cucumber/cucumber": { "version": "8.11.1", + "resolved": "https://registry.npmjs.org/@cucumber/cucumber/-/cucumber-8.11.1.tgz", + "integrity": "sha512-C+wdypoSzHA48GCRorJCAZYuxXo1RSESukAmoz/JhGV7KB4pIlg9Y2aWeZKx6bJQkq8yq4+S4jg9f8FGCdc3jQ==", "dev": true, - "license": "MIT", "dependencies": { "@cucumber/ci-environment": "9.1.0", "@cucumber/cucumber-expressions": "16.1.1", @@ -2582,16 +2645,18 @@ }, "node_modules/@cucumber/cucumber-expressions": { "version": "16.1.1", + "resolved": "https://registry.npmjs.org/@cucumber/cucumber-expressions/-/cucumber-expressions-16.1.1.tgz", + "integrity": "sha512-Ugsb9qxfgrgfUKsGvbx0awVk+69NIFjWfxNT+dnm62YrF2gdTHYxAOzOLuPgvE0yqYTh+3otrFLDDfkHGThM1g==", "dev": true, - "license": "MIT", "dependencies": { "regexp-match-indices": "1.0.2" } }, "node_modules/@cucumber/cucumber/node_modules/lru-cache": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, - "license": "ISC", "dependencies": { "yallist": "^4.0.0" }, @@ -2601,8 +2666,9 @@ }, "node_modules/@cucumber/cucumber/node_modules/semver": { "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, - "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" }, @@ -2615,21 +2681,24 @@ }, "node_modules/@cucumber/cucumber/node_modules/yallist": { "version": "4.0.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true }, "node_modules/@cucumber/gherkin": { "version": "26.0.3", + "resolved": "https://registry.npmjs.org/@cucumber/gherkin/-/gherkin-26.0.3.tgz", + "integrity": "sha512-xwJHi//bLFEU1drIyw2yswwUHnnVWO4XcyVBbCTDs6DkSh262GkogFI/IWwChZqJfOXnPglzLGxR1DibcZsILA==", "dev": true, - "license": "MIT", "dependencies": { "@cucumber/messages": "19.1.4 - 21" } }, "node_modules/@cucumber/gherkin-streams": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@cucumber/gherkin-streams/-/gherkin-streams-5.0.1.tgz", + "integrity": "sha512-/7VkIE/ASxIP/jd4Crlp4JHXqdNFxPGQokqWqsaCCiqBiu5qHoKMxcWNlp9njVL/n9yN4S08OmY3ZR8uC5x74Q==", "dev": true, - "license": "MIT", "dependencies": { "commander": "9.1.0", "source-map-support": "0.5.21" @@ -2645,16 +2714,18 @@ }, "node_modules/@cucumber/gherkin-streams/node_modules/commander": { "version": "9.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.1.0.tgz", + "integrity": "sha512-i0/MaqBtdbnJ4XQs4Pmyb+oFQl+q0lsAmokVUH92SlSw4fkeAcG3bVon+Qt7hmtF+u3Het6o4VgrcY3qAoEB6w==", "dev": true, - "license": "MIT", "engines": { "node": "^12.20.0 || >=14" } }, "node_modules/@cucumber/gherkin-utils": { "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@cucumber/gherkin-utils/-/gherkin-utils-8.0.2.tgz", + "integrity": "sha512-aQlziN3r3cTwprEDbLEcFoMRQajb9DTOu2OZZp5xkuNz6bjSTowSY90lHUD2pWT7jhEEckZRIREnk7MAwC2d1A==", "dev": true, - "license": "MIT", "dependencies": { "@cucumber/gherkin": "^25.0.0", "@cucumber/messages": "^19.1.4", @@ -2668,16 +2739,18 @@ }, "node_modules/@cucumber/gherkin-utils/node_modules/@cucumber/gherkin": { "version": "25.0.2", + "resolved": "https://registry.npmjs.org/@cucumber/gherkin/-/gherkin-25.0.2.tgz", + "integrity": "sha512-EdsrR33Y5GjuOoe2Kq5Y9DYwgNRtUD32H4y2hCrT6+AWo7ibUQu7H+oiWTgfVhwbkHsZmksxHSxXz/AwqqyCRQ==", "dev": true, - "license": "MIT", "dependencies": { "@cucumber/messages": "^19.1.4" } }, "node_modules/@cucumber/gherkin-utils/node_modules/@cucumber/messages": { "version": "19.1.4", + "resolved": "https://registry.npmjs.org/@cucumber/messages/-/messages-19.1.4.tgz", + "integrity": "sha512-Pksl0pnDz2l1+L5Ug85NlG6LWrrklN9qkMxN5Mv+1XZ3T6u580dnE6mVaxjJRdcOq4tR17Pc0RqIDZMyVY1FlA==", "dev": true, - "license": "MIT", "dependencies": { "@types/uuid": "8.3.4", "class-transformer": "0.5.1", @@ -2687,45 +2760,51 @@ }, "node_modules/@cucumber/gherkin-utils/node_modules/@types/uuid": { "version": "8.3.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", + "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==", + "dev": true }, "node_modules/@cucumber/gherkin-utils/node_modules/commander": { "version": "9.4.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.1.tgz", + "integrity": "sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==", "dev": true, - "license": "MIT", "engines": { "node": "^12.20.0 || >=14" } }, "node_modules/@cucumber/gherkin-utils/node_modules/uuid": { "version": "9.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", + "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", "dev": true, - "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } }, "node_modules/@cucumber/html-formatter": { "version": "20.2.1", + "resolved": "https://registry.npmjs.org/@cucumber/html-formatter/-/html-formatter-20.2.1.tgz", + "integrity": "sha512-bwwyr1WjlOJ5dEFOLGbtYWbUprloB2eymqXBmmTC10s0xapZXkFn4VfHgMshaH91XiCIY/MoabWNAau3AeMHkQ==", "dev": true, - "license": "MIT", "peerDependencies": { "@cucumber/messages": ">=18" } }, "node_modules/@cucumber/message-streams": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@cucumber/message-streams/-/message-streams-4.0.1.tgz", + "integrity": "sha512-Kxap9uP5jD8tHUZVjTWgzxemi/0uOsbGjd4LBOSxcJoOCRbESFwemUzilJuzNTB8pcTQUh8D5oudUyxfkJOKmA==", "dev": true, - "license": "MIT", "peerDependencies": { "@cucumber/messages": ">=17.1.1" } }, "node_modules/@cucumber/messages": { "version": "21.0.1", + "resolved": "https://registry.npmjs.org/@cucumber/messages/-/messages-21.0.1.tgz", + "integrity": "sha512-pGR7iURM4SF9Qp1IIpNiVQ77J9kfxMkPOEbyy+zRmGABnWWCsqMpJdfHeh9Mb3VskemVw85++e15JT0PYdcR3g==", "dev": true, - "license": "MIT", "dependencies": { "@types/uuid": "8.3.4", "class-transformer": "0.5.1", @@ -2735,25 +2814,29 @@ }, "node_modules/@cucumber/messages/node_modules/@types/uuid": { "version": "8.3.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", + "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==", + "dev": true }, "node_modules/@cucumber/messages/node_modules/uuid": { "version": "9.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", + "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", "dev": true, - "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } }, "node_modules/@cucumber/tag-expressions": { "version": "5.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@cucumber/tag-expressions/-/tag-expressions-5.0.1.tgz", + "integrity": "sha512-N43uWud8ZXuVjza423T9ZCIJsaZhFekmakt7S9bvogTxqdVGbRobjR663s0+uW0Rz9e+Pa8I6jUuWtoBLQD2Mw==", + "dev": true }, "node_modules/@dabh/diagnostics": { "version": "2.0.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.3.tgz", + "integrity": "sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==", "dependencies": { "colorspace": "1.1.x", "enabled": "2.0.x", @@ -2762,7 +2845,8 @@ }, "node_modules/@digitalbazaar/http-client": { "version": "3.4.1", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/@digitalbazaar/http-client/-/http-client-3.4.1.tgz", + "integrity": "sha512-Ahk1N+s7urkgj7WvvUND5f8GiWEPfUw0D41hdElaqLgu8wZScI8gdI0q+qWw5N1d35x7GCRH2uk9mi+Uzo9M3g==", "dependencies": { "ky": "^0.33.3", "ky-universal": "^0.11.0", @@ -2773,28 +2857,34 @@ } }, "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "license": "MIT", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", + "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", "dependencies": { - "eslint-visitor-keys": "^3.3.0" + "eslint-visitor-keys": "^3.4.3" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, + "funding": { + "url": "https://opencollective.com/eslint" + }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "node_modules/@eslint-community/regexpp": { - "version": "4.10.1", - "license": "MIT", + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, "node_modules/@eslint/eslintrc": { "version": "2.1.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", @@ -2814,8 +2904,9 @@ } }, "node_modules/@eslint/js": { - "version": "8.57.0", - "license": "MIT", + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } @@ -2871,7 +2962,8 @@ }, "node_modules/@ethereumjs/rlp": { "version": "4.0.1", - "license": "MPL-2.0", + "resolved": "https://registry.npmjs.org/@ethereumjs/rlp/-/rlp-4.0.1.tgz", + "integrity": "sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==", "bin": { "rlp": "bin/rlp" }, @@ -2930,7 +3022,8 @@ }, "node_modules/@ethereumjs/util": { "version": "8.1.0", - "license": "MPL-2.0", + "resolved": "https://registry.npmjs.org/@ethereumjs/util/-/util-8.1.0.tgz", + "integrity": "sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==", "dependencies": { "@ethereumjs/rlp": "^4.0.1", "ethereum-cryptography": "^2.0.0", @@ -2942,7 +3035,8 @@ }, "node_modules/@ethereumjs/util/node_modules/@noble/hashes": { "version": "1.4.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", + "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", "engines": { "node": ">= 16" }, @@ -2951,15 +3045,17 @@ } }, "node_modules/@ethereumjs/util/node_modules/@scure/base": { - "version": "1.1.6", - "license": "MIT", + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.9.tgz", + "integrity": "sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg==", "funding": { "url": "https://paulmillr.com/funding/" } }, "node_modules/@ethereumjs/util/node_modules/@scure/bip32": { "version": "1.4.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.4.0.tgz", + "integrity": "sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==", "dependencies": { "@noble/curves": "~1.4.0", "@noble/hashes": "~1.4.0", @@ -2971,7 +3067,8 @@ }, "node_modules/@ethereumjs/util/node_modules/@scure/bip39": { "version": "1.3.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.3.0.tgz", + "integrity": "sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==", "dependencies": { "@noble/hashes": "~1.4.0", "@scure/base": "~1.1.6" @@ -2981,10 +3078,11 @@ } }, "node_modules/@ethereumjs/util/node_modules/ethereum-cryptography": { - "version": "2.2.0", - "license": "MIT", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.2.1.tgz", + "integrity": "sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==", "dependencies": { - "@noble/curves": "1.4.0", + "@noble/curves": "1.4.2", "@noble/hashes": "1.4.0", "@scure/bip32": "1.4.0", "@scure/bip39": "1.3.0" @@ -2992,6 +3090,8 @@ }, "node_modules/@ethersproject/abi": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", + "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", "funding": [ { "type": "individual", @@ -3002,7 +3102,6 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], - "license": "MIT", "dependencies": { "@ethersproject/address": "^5.7.0", "@ethersproject/bignumber": "^5.7.0", @@ -3017,6 +3116,8 @@ }, "node_modules/@ethersproject/abstract-provider": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz", + "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==", "funding": [ { "type": "individual", @@ -3027,7 +3128,6 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], - "license": "MIT", "dependencies": { "@ethersproject/bignumber": "^5.7.0", "@ethersproject/bytes": "^5.7.0", @@ -3040,6 +3140,8 @@ }, "node_modules/@ethersproject/abstract-signer": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz", + "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==", "funding": [ { "type": "individual", @@ -3050,7 +3152,6 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], - "license": "MIT", "dependencies": { "@ethersproject/abstract-provider": "^5.7.0", "@ethersproject/bignumber": "^5.7.0", @@ -3061,6 +3162,8 @@ }, "node_modules/@ethersproject/address": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", + "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", "funding": [ { "type": "individual", @@ -3071,7 +3174,6 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], - "license": "MIT", "dependencies": { "@ethersproject/bignumber": "^5.7.0", "@ethersproject/bytes": "^5.7.0", @@ -3082,6 +3184,8 @@ }, "node_modules/@ethersproject/base64": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", + "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", "funding": [ { "type": "individual", @@ -3092,13 +3196,14 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], - "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.7.0" } }, "node_modules/@ethersproject/basex": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz", + "integrity": "sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==", "funding": [ { "type": "individual", @@ -3109,7 +3214,6 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], - "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.7.0", "@ethersproject/properties": "^5.7.0" @@ -3117,6 +3221,8 @@ }, "node_modules/@ethersproject/bignumber": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", + "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==", "funding": [ { "type": "individual", @@ -3127,7 +3233,6 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], - "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.7.0", "@ethersproject/logger": "^5.7.0", @@ -3154,6 +3259,8 @@ }, "node_modules/@ethersproject/constants": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", + "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", "funding": [ { "type": "individual", @@ -3164,13 +3271,14 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], - "license": "MIT", "dependencies": { "@ethersproject/bignumber": "^5.7.0" } }, "node_modules/@ethersproject/contracts": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz", + "integrity": "sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==", "funding": [ { "type": "individual", @@ -3181,7 +3289,6 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], - "license": "MIT", "dependencies": { "@ethersproject/abi": "^5.7.0", "@ethersproject/abstract-provider": "^5.7.0", @@ -3223,6 +3330,8 @@ }, "node_modules/@ethersproject/hdnode": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz", + "integrity": "sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==", "funding": [ { "type": "individual", @@ -3233,7 +3342,6 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], - "license": "MIT", "dependencies": { "@ethersproject/abstract-signer": "^5.7.0", "@ethersproject/basex": "^5.7.0", @@ -3251,6 +3359,8 @@ }, "node_modules/@ethersproject/json-wallets": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz", + "integrity": "sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==", "funding": [ { "type": "individual", @@ -3261,7 +3371,6 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], - "license": "MIT", "dependencies": { "@ethersproject/abstract-signer": "^5.7.0", "@ethersproject/address": "^5.7.0", @@ -3280,6 +3389,8 @@ }, "node_modules/@ethersproject/keccak256": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", + "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==", "funding": [ { "type": "individual", @@ -3290,7 +3401,6 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], - "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.7.0", "js-sha3": "0.8.0" @@ -3298,6 +3408,8 @@ }, "node_modules/@ethersproject/logger": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", + "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==", "funding": [ { "type": "individual", @@ -3307,11 +3419,12 @@ "type": "individual", "url": "https://www.buymeacoffee.com/ricmoo" } - ], - "license": "MIT" + ] }, "node_modules/@ethersproject/networks": { "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", + "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", "funding": [ { "type": "individual", @@ -3322,13 +3435,14 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], - "license": "MIT", "dependencies": { "@ethersproject/logger": "^5.7.0" } }, "node_modules/@ethersproject/pbkdf2": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz", + "integrity": "sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==", "funding": [ { "type": "individual", @@ -3339,7 +3453,6 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], - "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.7.0", "@ethersproject/sha2": "^5.7.0" @@ -3347,6 +3460,8 @@ }, "node_modules/@ethersproject/properties": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", + "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", "funding": [ { "type": "individual", @@ -3357,13 +3472,14 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], - "license": "MIT", "dependencies": { "@ethersproject/logger": "^5.7.0" } }, "node_modules/@ethersproject/providers": { "version": "5.7.2", + "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz", + "integrity": "sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==", "funding": [ { "type": "individual", @@ -3374,7 +3490,6 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], - "license": "MIT", "dependencies": { "@ethersproject/abstract-provider": "^5.7.0", "@ethersproject/abstract-signer": "^5.7.0", @@ -3400,7 +3515,8 @@ }, "node_modules/@ethersproject/providers/node_modules/ws": { "version": "7.4.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", + "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", "engines": { "node": ">=8.3.0" }, @@ -3419,6 +3535,8 @@ }, "node_modules/@ethersproject/random": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz", + "integrity": "sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==", "funding": [ { "type": "individual", @@ -3429,7 +3547,6 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], - "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.7.0", "@ethersproject/logger": "^5.7.0" @@ -3437,6 +3554,8 @@ }, "node_modules/@ethersproject/rlp": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", + "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", "funding": [ { "type": "individual", @@ -3447,7 +3566,6 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], - "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.7.0", "@ethersproject/logger": "^5.7.0" @@ -3455,6 +3573,8 @@ }, "node_modules/@ethersproject/sha2": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz", + "integrity": "sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==", "funding": [ { "type": "individual", @@ -3465,7 +3585,6 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], - "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.7.0", "@ethersproject/logger": "^5.7.0", @@ -3474,6 +3593,8 @@ }, "node_modules/@ethersproject/signing-key": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz", + "integrity": "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==", "funding": [ { "type": "individual", @@ -3484,7 +3605,6 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], - "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.7.0", "@ethersproject/logger": "^5.7.0", @@ -3496,6 +3616,8 @@ }, "node_modules/@ethersproject/solidity": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.7.0.tgz", + "integrity": "sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==", "funding": [ { "type": "individual", @@ -3506,7 +3628,6 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], - "license": "MIT", "dependencies": { "@ethersproject/bignumber": "^5.7.0", "@ethersproject/bytes": "^5.7.0", @@ -3518,6 +3639,8 @@ }, "node_modules/@ethersproject/strings": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", + "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", "funding": [ { "type": "individual", @@ -3528,7 +3651,6 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], - "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.7.0", "@ethersproject/constants": "^5.7.0", @@ -3537,6 +3659,8 @@ }, "node_modules/@ethersproject/transactions": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", + "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", "funding": [ { "type": "individual", @@ -3547,7 +3671,6 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], - "license": "MIT", "dependencies": { "@ethersproject/address": "^5.7.0", "@ethersproject/bignumber": "^5.7.0", @@ -3562,6 +3685,8 @@ }, "node_modules/@ethersproject/units": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz", + "integrity": "sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==", "funding": [ { "type": "individual", @@ -3572,7 +3697,6 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], - "license": "MIT", "dependencies": { "@ethersproject/bignumber": "^5.7.0", "@ethersproject/constants": "^5.7.0", @@ -3613,6 +3737,8 @@ }, "node_modules/@ethersproject/web": { "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", + "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", "funding": [ { "type": "individual", @@ -3623,7 +3749,6 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], - "license": "MIT", "dependencies": { "@ethersproject/base64": "^5.7.0", "@ethersproject/bytes": "^5.7.0", @@ -3634,6 +3759,8 @@ }, "node_modules/@ethersproject/wordlists": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz", + "integrity": "sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==", "funding": [ { "type": "individual", @@ -3644,7 +3771,6 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], - "license": "MIT", "dependencies": { "@ethersproject/bytes": "^5.7.0", "@ethersproject/hash": "^5.7.0", @@ -3655,16 +3781,19 @@ }, "node_modules/@fastify/busboy": { "version": "2.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz", + "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==", "engines": { "node": ">=14" } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.14", - "license": "Apache-2.0", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", + "deprecated": "Use @eslint/config-array instead", "dependencies": { - "@humanwhocodes/object-schema": "^2.0.2", + "@humanwhocodes/object-schema": "^2.0.3", "debug": "^4.3.1", "minimatch": "^3.0.5" }, @@ -3674,7 +3803,8 @@ }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "engines": { "node": ">=12.22" }, @@ -3685,12 +3815,15 @@ }, "node_modules/@humanwhocodes/object-schema": { "version": "2.0.3", - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead" }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "dev": true, - "license": "ISC", "dependencies": { "camelcase": "^5.3.1", "find-up": "^4.1.0", @@ -3704,24 +3837,27 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, - "license": "MIT", "dependencies": { "sprintf-js": "~1.0.2" } }, "node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": { "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, - "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -3732,8 +3868,9 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, - "license": "MIT", "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -3744,8 +3881,9 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, - "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -3755,8 +3893,9 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, - "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -3769,8 +3908,9 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, - "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -3780,28 +3920,32 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@istanbuljs/load-nyc-config/node_modules/sprintf-js": { "version": "1.0.3", - "dev": true, - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true }, "node_modules/@istanbuljs/schema": { "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@jeswr/prefixcc": { "version": "1.2.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@jeswr/prefixcc/-/prefixcc-1.2.1.tgz", + "integrity": "sha512-kBBXbqsaeh3Irp416h/RbelqJgIOp6X/OJJlYmLyr/9qlBYKTKSCuEv5/xjZ0Yf8Yec+QFRYBaOQ2JkMBSH7KA==", "dependencies": { "cross-fetch": "^3.1.5" }, @@ -3811,14 +3955,16 @@ }, "node_modules/@jeswr/prefixcc/node_modules/cross-fetch": { "version": "3.1.8", - "license": "MIT", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", + "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", "dependencies": { "node-fetch": "^2.6.12" } }, "node_modules/@jeswr/prefixcc/node_modules/node-fetch": { "version": "2.7.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "dependencies": { "whatwg-url": "^5.0.0" }, @@ -3836,15 +3982,18 @@ }, "node_modules/@jeswr/prefixcc/node_modules/tr46": { "version": "0.0.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, "node_modules/@jeswr/prefixcc/node_modules/webidl-conversions": { "version": "3.0.1", - "license": "BSD-2-Clause" + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, "node_modules/@jeswr/prefixcc/node_modules/whatwg-url": { "version": "5.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -3852,8 +4001,9 @@ }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, - "license": "MIT", "dependencies": { "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -3865,27 +4015,31 @@ }, "node_modules/@jridgewell/resolve-uri": { "version": "3.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/set-array": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "license": "MIT" + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, - "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" @@ -3893,7 +4047,8 @@ }, "node_modules/@metamask/eth-sig-util": { "version": "4.0.1", - "license": "ISC", + "resolved": "https://registry.npmjs.org/@metamask/eth-sig-util/-/eth-sig-util-4.0.1.tgz", + "integrity": "sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ==", "dependencies": { "ethereumjs-abi": "^0.6.8", "ethereumjs-util": "^6.2.1", @@ -3907,7 +4062,8 @@ }, "node_modules/@motrix/nat-api": { "version": "0.3.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@motrix/nat-api/-/nat-api-0.3.4.tgz", + "integrity": "sha512-RIH5sSP329Xn8TjDcAHYHn82VTajhdu2Ee4PTLA+9jCAi5x0D219D1XYW7nCK22ptcLrC+qzBXlWG/j16iuoLQ==", "dependencies": { "async": "^3.2.4", "debug": "^4.3.4", @@ -3922,7 +4078,8 @@ }, "node_modules/@motrix/nat-api/node_modules/node-fetch": { "version": "2.7.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "dependencies": { "whatwg-url": "^5.0.0" }, @@ -3940,23 +4097,27 @@ }, "node_modules/@motrix/nat-api/node_modules/tr46": { "version": "0.0.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, "node_modules/@motrix/nat-api/node_modules/webidl-conversions": { "version": "3.0.1", - "license": "BSD-2-Clause" + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, "node_modules/@motrix/nat-api/node_modules/whatwg-url": { "version": "5.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" } }, "node_modules/@noble/curves": { - "version": "1.4.0", - "license": "MIT", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.4.2.tgz", + "integrity": "sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==", "dependencies": { "@noble/hashes": "1.4.0" }, @@ -3966,7 +4127,8 @@ }, "node_modules/@noble/curves/node_modules/@noble/hashes": { "version": "1.4.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", + "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", "engines": { "node": ">= 16" }, @@ -3976,27 +4138,30 @@ }, "node_modules/@noble/hashes": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.2.0.tgz", + "integrity": "sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==", "funding": [ { "type": "individual", "url": "https://paulmillr.com/funding/" } - ], - "license": "MIT" + ] }, "node_modules/@noble/secp256k1": { "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@noble/secp256k1/-/secp256k1-1.7.1.tgz", + "integrity": "sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==", "funding": [ { "type": "individual", "url": "https://paulmillr.com/funding/" } - ], - "license": "MIT" + ] }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -4007,14 +4172,16 @@ }, "node_modules/@nodelib/fs.stat": { "version": "2.0.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "engines": { "node": ">= 8" } }, "node_modules/@nodelib/fs.walk": { "version": "1.2.8", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -4024,80 +4191,90 @@ } }, "node_modules/@nomicfoundation/edr": { - "version": "0.4.0", - "license": "MIT", + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr/-/edr-0.6.5.tgz", + "integrity": "sha512-tAqMslLP+/2b2sZP4qe9AuGxG3OkQ5gGgHE4isUuq6dUVjwCRPFhAOhpdFl+OjY5P3yEv3hmq9HjUGRa2VNjng==", "dependencies": { - "@nomicfoundation/edr-darwin-arm64": "0.4.0", - "@nomicfoundation/edr-darwin-x64": "0.4.0", - "@nomicfoundation/edr-linux-arm64-gnu": "0.4.0", - "@nomicfoundation/edr-linux-arm64-musl": "0.4.0", - "@nomicfoundation/edr-linux-x64-gnu": "0.4.0", - "@nomicfoundation/edr-linux-x64-musl": "0.4.0", - "@nomicfoundation/edr-win32-x64-msvc": "0.4.0" + "@nomicfoundation/edr-darwin-arm64": "0.6.5", + "@nomicfoundation/edr-darwin-x64": "0.6.5", + "@nomicfoundation/edr-linux-arm64-gnu": "0.6.5", + "@nomicfoundation/edr-linux-arm64-musl": "0.6.5", + "@nomicfoundation/edr-linux-x64-gnu": "0.6.5", + "@nomicfoundation/edr-linux-x64-musl": "0.6.5", + "@nomicfoundation/edr-win32-x64-msvc": "0.6.5" }, "engines": { "node": ">= 18" } }, "node_modules/@nomicfoundation/edr-darwin-arm64": { - "version": "0.4.0", - "license": "MIT", + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-darwin-arm64/-/edr-darwin-arm64-0.6.5.tgz", + "integrity": "sha512-A9zCCbbNxBpLgjS1kEJSpqxIvGGAX4cYbpDYCU2f3jVqOwaZ/NU761y1SvuCRVpOwhoCXqByN9b7HPpHi0L4hw==", "engines": { "node": ">= 18" } }, "node_modules/@nomicfoundation/edr-darwin-x64": { - "version": "0.4.0", - "license": "MIT", + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-darwin-x64/-/edr-darwin-x64-0.6.5.tgz", + "integrity": "sha512-x3zBY/v3R0modR5CzlL6qMfFMdgwd6oHrWpTkuuXnPFOX8SU31qq87/230f4szM+ukGK8Hi+mNq7Ro2VF4Fj+w==", "engines": { "node": ">= 18" } }, "node_modules/@nomicfoundation/edr-linux-arm64-gnu": { - "version": "0.4.0", - "license": "MIT", + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-arm64-gnu/-/edr-linux-arm64-gnu-0.6.5.tgz", + "integrity": "sha512-HGpB8f1h8ogqPHTyUpyPRKZxUk2lu061g97dOQ/W4CxevI0s/qiw5DB3U3smLvSnBHKOzYS1jkxlMeGN01ky7A==", "engines": { "node": ">= 18" } }, "node_modules/@nomicfoundation/edr-linux-arm64-musl": { - "version": "0.4.0", - "license": "MIT", + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-arm64-musl/-/edr-linux-arm64-musl-0.6.5.tgz", + "integrity": "sha512-ESvJM5Y9XC03fZg9KaQg3Hl+mbx7dsSkTIAndoJS7X2SyakpL9KZpOSYrDk135o8s9P9lYJdPOyiq+Sh+XoCbQ==", "engines": { "node": ">= 18" } }, "node_modules/@nomicfoundation/edr-linux-x64-gnu": { - "version": "0.4.0", - "license": "MIT", + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-x64-gnu/-/edr-linux-x64-gnu-0.6.5.tgz", + "integrity": "sha512-HCM1usyAR1Ew6RYf5AkMYGvHBy64cPA5NMbaeY72r0mpKaH3txiMyydcHibByOGdQ8iFLWpyUdpl1egotw+Tgg==", "engines": { "node": ">= 18" } }, "node_modules/@nomicfoundation/edr-linux-x64-musl": { - "version": "0.4.0", - "license": "MIT", + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-x64-musl/-/edr-linux-x64-musl-0.6.5.tgz", + "integrity": "sha512-nB2uFRyczhAvWUH7NjCsIO6rHnQrof3xcCe6Mpmnzfl2PYcGyxN7iO4ZMmRcQS7R1Y670VH6+8ZBiRn8k43m7A==", "engines": { "node": ">= 18" } }, "node_modules/@nomicfoundation/edr-win32-x64-msvc": { - "version": "0.4.0", - "license": "MIT", + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-win32-x64-msvc/-/edr-win32-x64-msvc-0.6.5.tgz", + "integrity": "sha512-B9QD/4DSSCFtWicO8A3BrsnitO1FPv7axB62wq5Q+qeJ50yJlTmyeGY3cw62gWItdvy2mh3fRM6L1LpnHiB77A==", "engines": { "node": ">= 18" } }, "node_modules/@nomicfoundation/ethereumjs-common": { "version": "4.0.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-common/-/ethereumjs-common-4.0.4.tgz", + "integrity": "sha512-9Rgb658lcWsjiicr5GzNCjI1llow/7r0k50dLL95OJ+6iZJcVbi15r3Y0xh2cIO+zgX0WIHcbzIu6FeQf9KPrg==", "dependencies": { "@nomicfoundation/ethereumjs-util": "9.0.4" } }, "node_modules/@nomicfoundation/ethereumjs-rlp": { "version": "5.0.4", - "license": "MPL-2.0", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-rlp/-/ethereumjs-rlp-5.0.4.tgz", + "integrity": "sha512-8H1S3s8F6QueOc/X92SdrA4RDenpiAEqMg5vJH99kcQaCy/a3Q6fgseo75mgWlbanGJXSlAPtnCeG9jvfTYXlw==", "bin": { "rlp": "bin/rlp.cjs" }, @@ -4107,7 +4284,8 @@ }, "node_modules/@nomicfoundation/ethereumjs-tx": { "version": "5.0.4", - "license": "MPL-2.0", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-tx/-/ethereumjs-tx-5.0.4.tgz", + "integrity": "sha512-Xjv8wAKJGMrP1f0n2PeyfFCCojHd7iS3s/Ab7qzF1S64kxZ8Z22LCMynArYsVqiFx6rzYy548HNVEyI+AYN/kw==", "dependencies": { "@nomicfoundation/ethereumjs-common": "4.0.4", "@nomicfoundation/ethereumjs-rlp": "5.0.4", @@ -4128,7 +4306,8 @@ }, "node_modules/@nomicfoundation/ethereumjs-tx/node_modules/ethereum-cryptography": { "version": "0.1.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", + "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", "dependencies": { "@types/pbkdf2": "^3.0.0", "@types/secp256k1": "^4.0.1", @@ -4149,7 +4328,8 @@ }, "node_modules/@nomicfoundation/ethereumjs-util": { "version": "9.0.4", - "license": "MPL-2.0", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-util/-/ethereumjs-util-9.0.4.tgz", + "integrity": "sha512-sLOzjnSrlx9Bb9EFNtHzK/FJFsfg2re6bsGqinFinH1gCqVfz9YYlXiMWwDM4C/L4ywuHFCYwfKTVr/QHQcU0Q==", "dependencies": { "@nomicfoundation/ethereumjs-rlp": "5.0.4", "ethereum-cryptography": "0.1.3" @@ -4168,7 +4348,8 @@ }, "node_modules/@nomicfoundation/ethereumjs-util/node_modules/ethereum-cryptography": { "version": "0.1.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", + "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", "dependencies": { "@types/pbkdf2": "^3.0.0", "@types/secp256k1": "^4.0.1", @@ -4189,7 +4370,8 @@ }, "node_modules/@nomicfoundation/solidity-analyzer": { "version": "0.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer/-/solidity-analyzer-0.1.2.tgz", + "integrity": "sha512-q4n32/FNKIhQ3zQGGw5CvPF6GTvDCpYwIf7bEY/dZTZbgfDsHyjJwURxUJf3VQuuJj+fDIFl4+KkBVbw4Ef6jA==", "engines": { "node": ">= 12" }, @@ -4205,7 +4387,8 @@ }, "node_modules/@nomicfoundation/solidity-analyzer-darwin-arm64": { "version": "0.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-arm64/-/solidity-analyzer-darwin-arm64-0.1.2.tgz", + "integrity": "sha512-JaqcWPDZENCvm++lFFGjrDd8mxtf+CtLd2MiXvMNTBD33dContTZ9TWETwNFwg7JTJT5Q9HEecH7FA+HTSsIUw==", "optional": true, "engines": { "node": ">= 12" @@ -4213,7 +4396,8 @@ }, "node_modules/@nomicfoundation/solidity-analyzer-darwin-x64": { "version": "0.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-x64/-/solidity-analyzer-darwin-x64-0.1.2.tgz", + "integrity": "sha512-fZNmVztrSXC03e9RONBT+CiksSeYcxI1wlzqyr0L7hsQlK1fzV+f04g2JtQ1c/Fe74ZwdV6aQBdd6Uwl1052sw==", "optional": true, "engines": { "node": ">= 12" @@ -4221,7 +4405,8 @@ }, "node_modules/@nomicfoundation/solidity-analyzer-linux-arm64-gnu": { "version": "0.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-gnu/-/solidity-analyzer-linux-arm64-gnu-0.1.2.tgz", + "integrity": "sha512-3d54oc+9ZVBuB6nbp8wHylk4xh0N0Gc+bk+/uJae+rUgbOBwQSfuGIbAZt1wBXs5REkSmynEGcqx6DutoK0tPA==", "optional": true, "engines": { "node": ">= 12" @@ -4229,7 +4414,8 @@ }, "node_modules/@nomicfoundation/solidity-analyzer-linux-arm64-musl": { "version": "0.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-musl/-/solidity-analyzer-linux-arm64-musl-0.1.2.tgz", + "integrity": "sha512-iDJfR2qf55vgsg7BtJa7iPiFAsYf2d0Tv/0B+vhtnI16+wfQeTbP7teookbGvAo0eJo7aLLm0xfS/GTkvHIucA==", "optional": true, "engines": { "node": ">= 12" @@ -4237,7 +4423,8 @@ }, "node_modules/@nomicfoundation/solidity-analyzer-linux-x64-gnu": { "version": "0.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-gnu/-/solidity-analyzer-linux-x64-gnu-0.1.2.tgz", + "integrity": "sha512-9dlHMAt5/2cpWyuJ9fQNOUXFB/vgSFORg1jpjX1Mh9hJ/MfZXlDdHQ+DpFCs32Zk5pxRBb07yGvSHk9/fezL+g==", "optional": true, "engines": { "node": ">= 12" @@ -4245,7 +4432,8 @@ }, "node_modules/@nomicfoundation/solidity-analyzer-linux-x64-musl": { "version": "0.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-musl/-/solidity-analyzer-linux-x64-musl-0.1.2.tgz", + "integrity": "sha512-GzzVeeJob3lfrSlDKQw2bRJ8rBf6mEYaWY+gW0JnTDHINA0s2gPR4km5RLIj1xeZZOYz4zRw+AEeYgLRqB2NXg==", "optional": true, "engines": { "node": ">= 12" @@ -4253,7 +4441,8 @@ }, "node_modules/@nomicfoundation/solidity-analyzer-win32-x64-msvc": { "version": "0.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-x64-msvc/-/solidity-analyzer-win32-x64-msvc-0.1.2.tgz", + "integrity": "sha512-Fdjli4DCcFHb4Zgsz0uEJXZ2K7VEO+w5KVv7HmT7WO10iODdU9csC2az4jrhEsRtiR9Gfd74FlG0NYlw1BMdyA==", "optional": true, "engines": { "node": ">= 12" @@ -4261,21 +4450,25 @@ }, "node_modules/@openzeppelin/contracts": { "version": "4.9.6", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-4.9.6.tgz", + "integrity": "sha512-xSmezSupL+y9VkHZJGDoCBpmnB2ogM13ccaYDWqJTfS3dbuHkgjuwDFUmaFauBCboQMGB/S5UqUl2y54X99BmA==" }, "node_modules/@polkadot-api/json-rpc-provider": { "version": "0.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@polkadot-api/json-rpc-provider/-/json-rpc-provider-0.0.1.tgz", + "integrity": "sha512-/SMC/l7foRjpykLTUTacIH05H3mr9ip8b5xxfwXlVezXrNVLp3Cv0GX6uItkKd+ZjzVPf3PFrDF2B2/HLSNESA==", "optional": true }, "node_modules/@polkadot-api/json-rpc-provider-proxy": { "version": "0.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@polkadot-api/json-rpc-provider-proxy/-/json-rpc-provider-proxy-0.0.1.tgz", + "integrity": "sha512-gmVDUP8LpCH0BXewbzqXF2sdHddq1H1q+XrAW2of+KZj4woQkIGBRGTJHeBEVHe30EB+UejR1N2dT4PO/RvDdg==", "optional": true }, "node_modules/@polkadot-api/metadata-builders": { "version": "0.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@polkadot-api/metadata-builders/-/metadata-builders-0.0.1.tgz", + "integrity": "sha512-GCI78BHDzXAF/L2pZD6Aod/yl82adqQ7ftNmKg51ixRL02JpWUA+SpUKTJE5MY1p8kiJJIo09P2um24SiJHxNA==", "optional": true, "dependencies": { "@polkadot-api/substrate-bindings": "0.0.1", @@ -4284,7 +4477,8 @@ }, "node_modules/@polkadot-api/observable-client": { "version": "0.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@polkadot-api/observable-client/-/observable-client-0.1.0.tgz", + "integrity": "sha512-GBCGDRztKorTLna/unjl/9SWZcRmvV58o9jwU2Y038VuPXZcr01jcw/1O3x+yeAuwyGzbucI/mLTDa1QoEml3A==", "optional": true, "dependencies": { "@polkadot-api/metadata-builders": "0.0.1", @@ -4298,7 +4492,8 @@ }, "node_modules/@polkadot-api/substrate-bindings": { "version": "0.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@polkadot-api/substrate-bindings/-/substrate-bindings-0.0.1.tgz", + "integrity": "sha512-bAe7a5bOPnuFVmpv7y4BBMRpNTnMmE0jtTqRUw/+D8ZlEHNVEJQGr4wu3QQCl7k1GnSV1wfv3mzIbYjErEBocg==", "optional": true, "dependencies": { "@noble/hashes": "^1.3.1", @@ -4308,11 +4503,12 @@ } }, "node_modules/@polkadot-api/substrate-bindings/node_modules/@noble/hashes": { - "version": "1.4.0", - "license": "MIT", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.6.1.tgz", + "integrity": "sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w==", "optional": true, "engines": { - "node": ">= 16" + "node": "^14.21.3 || >=16" }, "funding": { "url": "https://paulmillr.com/funding/" @@ -4320,12 +4516,14 @@ }, "node_modules/@polkadot-api/substrate-client": { "version": "0.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@polkadot-api/substrate-client/-/substrate-client-0.0.1.tgz", + "integrity": "sha512-9Bg9SGc3AwE+wXONQoW8GC00N3v6lCZLW74HQzqB6ROdcm5VAHM4CB/xRzWSUF9CXL78ugiwtHx3wBcpx4H4Wg==", "optional": true }, "node_modules/@polkadot-api/utils": { "version": "0.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@polkadot-api/utils/-/utils-0.0.1.tgz", + "integrity": "sha512-3j+pRmlF9SgiYDabSdZsBSsN5XHbpXOAce1lWj56IEEaFZVjsiCaxDOA7C9nCcgfVXuvnbxqqEGQvnY+QfBAUw==", "optional": true }, "node_modules/@polkadot/api": { @@ -4357,7 +4555,8 @@ }, "node_modules/@polkadot/api-augment": { "version": "9.14.2", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/api-augment/-/api-augment-9.14.2.tgz", + "integrity": "sha512-19MmW8AHEcLkdcUIo3LLk0eCQgREWqNSxkUyOeWn7UiNMY1AhDOOwMStUBNCvrIDK6VL6GGc1sY7rkPCLMuKSw==", "dependencies": { "@babel/runtime": "^7.20.13", "@polkadot/api-base": "9.14.2", @@ -4373,7 +4572,8 @@ }, "node_modules/@polkadot/api-base": { "version": "9.14.2", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/api-base/-/api-base-9.14.2.tgz", + "integrity": "sha512-ky9fmzG1Tnrjr/SBZ0aBB21l0TFr+CIyQenQczoUyVgiuxVaI/2Bp6R2SFrHhG28P+PW2/RcYhn2oIAR2Z2fZQ==", "dependencies": { "@babel/runtime": "^7.20.13", "@polkadot/rpc-core": "9.14.2", @@ -4387,7 +4587,8 @@ }, "node_modules/@polkadot/api-derive": { "version": "9.14.2", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/api-derive/-/api-derive-9.14.2.tgz", + "integrity": "sha512-yw9OXucmeggmFqBTMgza0uZwhNjPxS7MaT7lSCUIRKckl1GejdV+qMhL3XFxPFeYzXwzFpdPG11zWf+qJlalqw==", "dependencies": { "@babel/runtime": "^7.20.13", "@polkadot/api": "9.14.2", @@ -4423,7 +4624,8 @@ }, "node_modules/@polkadot/networks": { "version": "10.4.2", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/networks/-/networks-10.4.2.tgz", + "integrity": "sha512-FAh/znrEvWBiA/LbcT5GXHsCFUl//y9KqxLghSr/CreAmAergiJNT0MVUezC7Y36nkATgmsr4ylFwIxhVtuuCw==", "dependencies": { "@babel/runtime": "^7.20.13", "@polkadot/util": "10.4.2", @@ -4435,7 +4637,8 @@ }, "node_modules/@polkadot/rpc-augment": { "version": "9.14.2", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/rpc-augment/-/rpc-augment-9.14.2.tgz", + "integrity": "sha512-mOubRm3qbKZTbP9H01XRrfTk7k5it9WyzaWAg72DJBQBYdgPUUkGSgpPD/Srkk5/5GAQTWVWL1I2UIBKJ4TJjQ==", "dependencies": { "@babel/runtime": "^7.20.13", "@polkadot/rpc-core": "9.14.2", @@ -4449,7 +4652,8 @@ }, "node_modules/@polkadot/rpc-core": { "version": "9.14.2", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/rpc-core/-/rpc-core-9.14.2.tgz", + "integrity": "sha512-krA/mtQ5t9nUQEsEVC1sjkttLuzN6z6gyJxK2IlpMS3S5ncy/R6w4FOpy+Q0H18Dn83JBo0p7ZtY7Y6XkK48Kw==", "dependencies": { "@babel/runtime": "^7.20.13", "@polkadot/rpc-augment": "9.14.2", @@ -4464,7 +4668,8 @@ }, "node_modules/@polkadot/rpc-provider": { "version": "9.14.2", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/rpc-provider/-/rpc-provider-9.14.2.tgz", + "integrity": "sha512-YTSywjD5PF01V47Ru5tln2LlpUwJiSOdz6rlJXPpMaY53hUp7+xMU01FVAQ1bllSBNisSD1Msv/mYHq84Oai2g==", "dependencies": { "@babel/runtime": "^7.20.13", "@polkadot/keyring": "^10.4.2", @@ -4488,7 +4693,8 @@ }, "node_modules/@polkadot/types": { "version": "9.14.2", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/types/-/types-9.14.2.tgz", + "integrity": "sha512-hGLddTiJbvowhhUZJ3k+olmmBc1KAjWIQxujIUIYASih8FQ3/YJDKxaofGOzh0VygOKW3jxQBN2VZPofyDP9KQ==", "dependencies": { "@babel/runtime": "^7.20.13", "@polkadot/keyring": "^10.4.2", @@ -4505,7 +4711,8 @@ }, "node_modules/@polkadot/types-augment": { "version": "9.14.2", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/types-augment/-/types-augment-9.14.2.tgz", + "integrity": "sha512-WO9d7RJufUeY3iFgt2Wz762kOu1tjEiGBR5TT4AHtpEchVHUeosVTrN9eycC+BhleqYu52CocKz6u3qCT/jKLg==", "dependencies": { "@babel/runtime": "^7.20.13", "@polkadot/types": "9.14.2", @@ -4518,7 +4725,8 @@ }, "node_modules/@polkadot/types-codec": { "version": "9.14.2", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/types-codec/-/types-codec-9.14.2.tgz", + "integrity": "sha512-AJ4XF7W1no4PENLBRU955V6gDxJw0h++EN3YoDgThozZ0sj3OxyFupKgNBZcZb2V23H8JxQozzIad8k+nJbO1w==", "dependencies": { "@babel/runtime": "^7.20.13", "@polkadot/util": "^10.4.2", @@ -4530,7 +4738,8 @@ }, "node_modules/@polkadot/types-create": { "version": "9.14.2", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/types-create/-/types-create-9.14.2.tgz", + "integrity": "sha512-nSnKpBierlmGBQT8r6/SHf6uamBIzk4WmdMsAsR4uJKJF1PtbIqx2W5PY91xWSiMSNMzjkbCppHkwaDAMwLGaw==", "dependencies": { "@babel/runtime": "^7.20.13", "@polkadot/types-codec": "9.14.2", @@ -4542,7 +4751,8 @@ }, "node_modules/@polkadot/types-known": { "version": "9.14.2", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/types-known/-/types-known-9.14.2.tgz", + "integrity": "sha512-iM8WOCgguzJ3TLMqlm4K1gKQEwWm2zxEKT1HZZ1irs/lAbBk9MquDWDvebryiw3XsLB8xgrp3RTIBn2Q4FjB2A==", "dependencies": { "@babel/runtime": "^7.20.13", "@polkadot/networks": "^10.4.2", @@ -4557,7 +4767,8 @@ }, "node_modules/@polkadot/types-support": { "version": "9.14.2", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/types-support/-/types-support-9.14.2.tgz", + "integrity": "sha512-VWCOPgXDK3XtXT7wMLyIWeNDZxUbNcw/8Pn6n6vMogs7o/n4h6WGbGMeTIQhPWyn831/RmkVs5+2DUC+2LlOhw==", "dependencies": { "@babel/runtime": "^7.20.13", "@polkadot/util": "^10.4.2" @@ -4609,7 +4820,8 @@ }, "node_modules/@polkadot/wasm-bridge": { "version": "6.4.1", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/wasm-bridge/-/wasm-bridge-6.4.1.tgz", + "integrity": "sha512-QZDvz6dsUlbYsaMV5biZgZWkYH9BC5AfhT0f0/knv8+LrbAoQdP3Asbvddw8vyU9sbpuCHXrd4bDLBwUCRfrBQ==", "dependencies": { "@babel/runtime": "^7.20.6" }, @@ -4623,7 +4835,8 @@ }, "node_modules/@polkadot/wasm-crypto": { "version": "6.4.1", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto/-/wasm-crypto-6.4.1.tgz", + "integrity": "sha512-FH+dcDPdhSLJvwL0pMLtn/LIPd62QDPODZRCmDyw+pFjLOMaRBc7raomWUOqyRWJTnqVf/iscc2rLVLNMyt7ag==", "dependencies": { "@babel/runtime": "^7.20.6", "@polkadot/wasm-bridge": "6.4.1", @@ -4642,7 +4855,8 @@ }, "node_modules/@polkadot/wasm-crypto-asmjs": { "version": "6.4.1", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto-asmjs/-/wasm-crypto-asmjs-6.4.1.tgz", + "integrity": "sha512-UxZTwuBZlnODGIQdCsE2Sn/jU0O2xrNQ/TkhRFELfkZXEXTNu4lw6NpaKq7Iey4L+wKd8h4lT3VPVkMcPBLOvA==", "dependencies": { "@babel/runtime": "^7.20.6" }, @@ -4655,7 +4869,8 @@ }, "node_modules/@polkadot/wasm-crypto-init": { "version": "6.4.1", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto-init/-/wasm-crypto-init-6.4.1.tgz", + "integrity": "sha512-1ALagSi/nfkyFaH6JDYfy/QbicVbSn99K8PV9rctDUfxc7P06R7CoqbjGQ4OMPX6w1WYVPU7B4jPHGLYBlVuMw==", "dependencies": { "@babel/runtime": "^7.20.6", "@polkadot/wasm-bridge": "6.4.1", @@ -4672,7 +4887,8 @@ }, "node_modules/@polkadot/wasm-crypto-wasm": { "version": "6.4.1", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto-wasm/-/wasm-crypto-wasm-6.4.1.tgz", + "integrity": "sha512-3VV9ZGzh0ZY3SmkkSw+0TRXxIpiO0nB8lFwlRgcwaCihwrvLfRnH9GI8WE12mKsHVjWTEVR3ogzILJxccAUjDA==", "dependencies": { "@babel/runtime": "^7.20.6", "@polkadot/wasm-util": "6.4.1" @@ -4686,7 +4902,8 @@ }, "node_modules/@polkadot/wasm-util": { "version": "6.4.1", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/wasm-util/-/wasm-util-6.4.1.tgz", + "integrity": "sha512-Uwo+WpEsDmFExWC5kTNvsVhvqXMZEKf4gUHXFn4c6Xz4lmieRT5g+1bO1KJ21pl4msuIgdV3Bksfs/oiqMFqlw==", "dependencies": { "@babel/runtime": "^7.20.6" }, @@ -4699,7 +4916,8 @@ }, "node_modules/@polkadot/x-bigint": { "version": "10.4.2", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-10.4.2.tgz", + "integrity": "sha512-awRiox+/XSReLzimAU94fPldowiwnnMUkQJe8AebYhNocAj6SJU00GNoj6j6tAho6yleOwrTJXZaWFBaQVJQNg==", "dependencies": { "@babel/runtime": "^7.20.13", "@polkadot/x-global": "10.4.2" @@ -4710,7 +4928,8 @@ }, "node_modules/@polkadot/x-fetch": { "version": "10.4.2", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/x-fetch/-/x-fetch-10.4.2.tgz", + "integrity": "sha512-Ubb64yaM4qwhogNP+4mZ3ibRghEg5UuCYRMNaCFoPgNAY8tQXuDKrHzeks3+frlmeH9YRd89o8wXLtWouwZIcw==", "dependencies": { "@babel/runtime": "^7.20.13", "@polkadot/x-global": "10.4.2", @@ -4723,7 +4942,8 @@ }, "node_modules/@polkadot/x-global": { "version": "10.4.2", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-10.4.2.tgz", + "integrity": "sha512-g6GXHD/ykZvHap3M6wh19dO70Zm43l4jEhlxf5LtTo5/0/UporFCXr2YJYZqfbn9JbQwl1AU+NroYio+vtJdiA==", "dependencies": { "@babel/runtime": "^7.20.13" }, @@ -4733,7 +4953,8 @@ }, "node_modules/@polkadot/x-randomvalues": { "version": "10.4.2", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/x-randomvalues/-/x-randomvalues-10.4.2.tgz", + "integrity": "sha512-mf1Wbpe7pRZHO0V3V89isPLqZOy5XGX2bCqsfUWHgb1NvV1MMx5TjVjdaYyNlGTiOkAmJKlOHshcfPU2sYWpNg==", "dependencies": { "@babel/runtime": "^7.20.13", "@polkadot/x-global": "10.4.2" @@ -4744,7 +4965,8 @@ }, "node_modules/@polkadot/x-textdecoder": { "version": "10.4.2", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-10.4.2.tgz", + "integrity": "sha512-d3ADduOKUTU+cliz839+KCFmi23pxTlabH7qh7Vs1GZQvXOELWdqFOqakdiAjtMn68n1KVF4O14Y+OUm7gp/zA==", "dependencies": { "@babel/runtime": "^7.20.13", "@polkadot/x-global": "10.4.2" @@ -4755,7 +4977,8 @@ }, "node_modules/@polkadot/x-textencoder": { "version": "10.4.2", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-10.4.2.tgz", + "integrity": "sha512-mxcQuA1exnyv74Kasl5vxBq01QwckG088lYjc3KwmND6+pPrW2OWagbxFX5VFoDLDAE+UJtnUHsjdWyOTDhpQA==", "dependencies": { "@babel/runtime": "^7.20.13", "@polkadot/x-global": "10.4.2" @@ -4766,7 +4989,8 @@ }, "node_modules/@polkadot/x-ws": { "version": "10.4.2", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/x-ws/-/x-ws-10.4.2.tgz", + "integrity": "sha512-3gHSTXAWQu1EMcMVTF5QDKHhEHzKxhAArweEyDXE7VsgKUP/ixxw4hVZBrkX122iI5l5mjSiooRSnp/Zl3xqDQ==", "dependencies": { "@babel/runtime": "^7.20.13", "@polkadot/x-global": "10.4.2", @@ -4779,7 +5003,8 @@ }, "node_modules/@prb/math": { "version": "2.5.0", - "license": "Unlicense", + "resolved": "https://registry.npmjs.org/@prb/math/-/math-2.5.0.tgz", + "integrity": "sha512-iSNQd4L3HaYuAIhJliLVa7WGsyjFiQHGpomrFgdj7FhYGHT6Yo8bBwbmwAPF1bHD3LN8gdg+ssKrRUPNaNPEVw==", "dependencies": { "@ethersproject/bignumber": "^5.5.0", "decimal.js": "^10.3.1", @@ -4794,23 +5019,28 @@ }, "node_modules/@protobufjs/aspromise": { "version": "1.1.2", - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" }, "node_modules/@protobufjs/base64": { "version": "1.1.2", - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" }, "node_modules/@protobufjs/codegen": { "version": "2.0.4", - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" }, "node_modules/@protobufjs/eventemitter": { "version": "1.1.0", - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" }, "node_modules/@protobufjs/fetch": { "version": "1.1.0", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", "dependencies": { "@protobufjs/aspromise": "^1.1.1", "@protobufjs/inquire": "^1.1.0" @@ -4818,23 +5048,28 @@ }, "node_modules/@protobufjs/float": { "version": "1.0.2", - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" }, "node_modules/@protobufjs/inquire": { "version": "1.1.0", - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" }, "node_modules/@protobufjs/path": { "version": "1.1.2", - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" }, "node_modules/@protobufjs/pool": { "version": "1.1.0", - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" }, "node_modules/@protobufjs/utf8": { "version": "1.1.0", - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" }, "node_modules/@questdb/nodejs-client": { "version": "3.0.0", @@ -4842,15 +5077,24 @@ "integrity": "sha512-lBKd732rRpS/pqyWgCJFVXi9N1YoWDAUZzp6BngBVxH92As/NDXigZmCYKQVKpAEGYx14606CH5AoJ23qf3oqA==" }, "node_modules/@rdfjs/types": { - "version": "1.1.0", - "license": "MIT", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@rdfjs/types/-/types-1.1.2.tgz", + "integrity": "sha512-wqpOJK1QCbmsGNtyzYnojPU8gRDPid2JO0Q0kMtb4j65xhCK880cnKAfEOwC+dX85VJcCByQx5zOwyyfCjDJsg==", "dependencies": { "@types/node": "*" } }, + "node_modules/@rtsao/scc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", + "dev": true, + "peer": true + }, "node_modules/@rubensworks/saxes": { "version": "6.0.1", - "license": "ISC", + "resolved": "https://registry.npmjs.org/@rubensworks/saxes/-/saxes-6.0.1.tgz", + "integrity": "sha512-UW4OTIsOtJ5KSXo2Tchi4lhZqu+tlHrOAs4nNti7CrtB53kAZl3/hyrTi6HkMihxdbDM6m2Zc3swc/ZewEe1xw==", "dependencies": { "xmlchars": "^2.2.0" }, @@ -4859,8 +5103,9 @@ } }, "node_modules/@rushstack/node-core-library": { - "version": "5.4.1", - "license": "MIT", + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-5.10.0.tgz", + "integrity": "sha512-2pPLCuS/3x7DCd7liZkqOewGM0OzLyCacdvOe8j6Yrx9LkETGnxul1t7603bIaB8nUAooORcct9fFDOQMbWAgw==", "dependencies": { "ajv": "~8.13.0", "ajv-draft-04": "~1.0.0", @@ -4882,7 +5127,8 @@ }, "node_modules/@rushstack/node-core-library/node_modules/ajv": { "version": "8.13.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.13.0.tgz", + "integrity": "sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==", "dependencies": { "fast-deep-equal": "^3.1.3", "json-schema-traverse": "^1.0.0", @@ -4896,7 +5142,8 @@ }, "node_modules/@rushstack/node-core-library/node_modules/ajv-draft-04": { "version": "1.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz", + "integrity": "sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==", "peerDependencies": { "ajv": "^8.5.0" }, @@ -4908,7 +5155,8 @@ }, "node_modules/@rushstack/node-core-library/node_modules/fs-extra": { "version": "7.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", "dependencies": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", @@ -4920,18 +5168,21 @@ }, "node_modules/@rushstack/node-core-library/node_modules/json-schema-traverse": { "version": "1.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" }, "node_modules/@rushstack/node-core-library/node_modules/jsonfile": { "version": "4.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "node_modules/@rushstack/node-core-library/node_modules/lru-cache": { "version": "6.0.0", - "license": "ISC", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dependencies": { "yallist": "^4.0.0" }, @@ -4941,7 +5192,8 @@ }, "node_modules/@rushstack/node-core-library/node_modules/semver": { "version": "7.5.4", - "license": "ISC", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dependencies": { "lru-cache": "^6.0.0" }, @@ -4954,20 +5206,23 @@ }, "node_modules/@rushstack/node-core-library/node_modules/universalify": { "version": "0.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "engines": { "node": ">= 4.0.0" } }, "node_modules/@rushstack/node-core-library/node_modules/yallist": { "version": "4.0.0", - "license": "ISC" + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/@rushstack/terminal": { - "version": "0.13.0", - "license": "MIT", + "version": "0.14.3", + "resolved": "https://registry.npmjs.org/@rushstack/terminal/-/terminal-0.14.3.tgz", + "integrity": "sha512-csXbZsAdab/v8DbU1sz7WC2aNaKArcdS/FPmXMOXEj/JBBZMvDK0+1b4Qao0kkG0ciB1Qe86/Mb68GjH6/TnMw==", "dependencies": { - "@rushstack/node-core-library": "5.4.1", + "@rushstack/node-core-library": "5.10.0", "supports-color": "~8.1.1" }, "peerDependencies": { @@ -4980,10 +5235,11 @@ } }, "node_modules/@rushstack/ts-command-line": { - "version": "4.22.0", - "license": "MIT", + "version": "4.23.1", + "resolved": "https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-4.23.1.tgz", + "integrity": "sha512-40jTmYoiu/xlIpkkRsVfENtBq4CW3R4azbL0Vmda+fMwHWqss6wwf/Cy/UJmMqIzpfYc2OTnjYP1ZLD3CmyeCA==", "dependencies": { - "@rushstack/terminal": "0.13.0", + "@rushstack/terminal": "0.14.3", "@types/argparse": "1.0.38", "argparse": "~1.0.9", "string-argv": "~0.3.1" @@ -4991,34 +5247,38 @@ }, "node_modules/@rushstack/ts-command-line/node_modules/argparse": { "version": "1.0.10", - "license": "MIT", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dependencies": { "sprintf-js": "~1.0.2" } }, "node_modules/@rushstack/ts-command-line/node_modules/sprintf-js": { "version": "1.0.3", - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" }, "node_modules/@scure/base": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.1.tgz", + "integrity": "sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA==", "funding": [ { "type": "individual", "url": "https://paulmillr.com/funding/" } - ], - "license": "MIT" + ] }, "node_modules/@scure/bip32": { "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.1.5.tgz", + "integrity": "sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw==", "funding": [ { "type": "individual", "url": "https://paulmillr.com/funding/" } ], - "license": "MIT", "dependencies": { "@noble/hashes": "~1.2.0", "@noble/secp256k1": "~1.7.0", @@ -5027,13 +5287,14 @@ }, "node_modules/@scure/bip39": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.1.1.tgz", + "integrity": "sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg==", "funding": [ { "type": "individual", "url": "https://paulmillr.com/funding/" } ], - "license": "MIT", "dependencies": { "@noble/hashes": "~1.2.0", "@scure/base": "~1.1.0" @@ -5041,7 +5302,8 @@ }, "node_modules/@sentry/core": { "version": "5.30.0", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.30.0.tgz", + "integrity": "sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==", "dependencies": { "@sentry/hub": "5.30.0", "@sentry/minimal": "5.30.0", @@ -5055,11 +5317,13 @@ }, "node_modules/@sentry/core/node_modules/tslib": { "version": "1.14.1", - "license": "0BSD" + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@sentry/hub": { "version": "5.30.0", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-5.30.0.tgz", + "integrity": "sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==", "dependencies": { "@sentry/types": "5.30.0", "@sentry/utils": "5.30.0", @@ -5071,11 +5335,13 @@ }, "node_modules/@sentry/hub/node_modules/tslib": { "version": "1.14.1", - "license": "0BSD" + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@sentry/minimal": { "version": "5.30.0", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-5.30.0.tgz", + "integrity": "sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==", "dependencies": { "@sentry/hub": "5.30.0", "@sentry/types": "5.30.0", @@ -5087,11 +5353,13 @@ }, "node_modules/@sentry/minimal/node_modules/tslib": { "version": "1.14.1", - "license": "0BSD" + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@sentry/node": { "version": "5.30.0", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/@sentry/node/-/node-5.30.0.tgz", + "integrity": "sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==", "dependencies": { "@sentry/core": "5.30.0", "@sentry/hub": "5.30.0", @@ -5109,18 +5377,21 @@ }, "node_modules/@sentry/node/node_modules/cookie": { "version": "0.4.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", "engines": { "node": ">= 0.6" } }, "node_modules/@sentry/node/node_modules/tslib": { "version": "1.14.1", - "license": "0BSD" + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@sentry/tracing": { "version": "5.30.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-5.30.0.tgz", + "integrity": "sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==", "dependencies": { "@sentry/hub": "5.30.0", "@sentry/minimal": "5.30.0", @@ -5134,18 +5405,21 @@ }, "node_modules/@sentry/tracing/node_modules/tslib": { "version": "1.14.1", - "license": "0BSD" + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@sentry/types": { "version": "5.30.0", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-5.30.0.tgz", + "integrity": "sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==", "engines": { "node": ">=6" } }, "node_modules/@sentry/utils": { "version": "5.30.0", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-5.30.0.tgz", + "integrity": "sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==", "dependencies": { "@sentry/types": "5.30.0", "tslib": "^1.9.3" @@ -5156,7 +5430,8 @@ }, "node_modules/@sentry/utils/node_modules/tslib": { "version": "1.14.1", - "license": "0BSD" + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@sindresorhus/is": { "version": "4.6.0", @@ -5172,32 +5447,54 @@ }, "node_modules/@sinonjs/commons": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", + "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "type-detect": "4.0.8" } }, + "node_modules/@sinonjs/commons/node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/@sinonjs/fake-timers": { "version": "9.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", + "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^1.7.0" } }, "node_modules/@sinonjs/fake-timers/node_modules/@sinonjs/commons": { "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "type-detect": "4.0.8" } }, + "node_modules/@sinonjs/fake-timers/node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/@sinonjs/samsam": { "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-7.0.1.tgz", + "integrity": "sha512-zsAk2Jkiq89mhZovB2LLOdTCxJF4hqqTToGP0ASWlhp4I1hqOjcfmZGafXntCN7MDC6yySH0mFHrYtHceOeLmw==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^2.0.0", "lodash.get": "^4.4.2", @@ -5205,13 +5502,15 @@ } }, "node_modules/@sinonjs/text-encoding": { - "version": "0.7.2", - "dev": true, - "license": "(Unlicense OR Apache-2.0)" + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.3.tgz", + "integrity": "sha512-DE427ROAphMQzU4ENbliGYrBSYPXF+TtLg9S8vzeA+OF4ZKzoDdzfL8sxuMUGS/lgRhM6j1URSk9ghf7Xo1tyA==", + "dev": true }, "node_modules/@smessie/readable-web-to-node-stream": { "version": "3.0.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@smessie/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.3.tgz", + "integrity": "sha512-8FFE7psRtRWQT31/duqbmgnSf2++QLR2YH9kj5iwsHhnoqSvHdOY3SAN5e7dhc+60p2cNk7rv3HYOiXOapTEXQ==", "dependencies": { "process": "^0.11.10", "readable-stream": "^4.5.1" @@ -5226,22 +5525,26 @@ }, "node_modules/@stablelib/aead": { "version": "1.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@stablelib/aead/-/aead-1.0.1.tgz", + "integrity": "sha512-q39ik6sxGHewqtO0nP4BuSe3db5G1fEJE8ukvngS2gLkBXyy6E7pLubhbYgnkDFv6V8cWaxcE4Xn0t6LWcJkyg==" }, "node_modules/@stablelib/binary": { "version": "1.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@stablelib/binary/-/binary-1.0.1.tgz", + "integrity": "sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q==", "dependencies": { "@stablelib/int": "^1.0.1" } }, "node_modules/@stablelib/bytes": { "version": "1.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@stablelib/bytes/-/bytes-1.0.1.tgz", + "integrity": "sha512-Kre4Y4kdwuqL8BR2E9hV/R5sOrUj6NanZaZis0V6lX5yzqC3hBuVSDXUIBqQv/sCpmuWRiHLwqiT1pqqjuBXoQ==" }, "node_modules/@stablelib/chacha": { "version": "1.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@stablelib/chacha/-/chacha-1.0.1.tgz", + "integrity": "sha512-Pmlrswzr0pBzDofdFuVe1q7KdsHKhhU24e8gkEwnTGOmlC7PADzLVxGdn2PoNVBBabdg0l/IfLKg6sHAbTQugg==", "dependencies": { "@stablelib/binary": "^1.0.1", "@stablelib/wipe": "^1.0.1" @@ -5249,7 +5552,8 @@ }, "node_modules/@stablelib/chacha20poly1305": { "version": "1.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@stablelib/chacha20poly1305/-/chacha20poly1305-1.0.1.tgz", + "integrity": "sha512-MmViqnqHd1ymwjOQfghRKw2R/jMIGT3wySN7cthjXCBdO+qErNPUBnRzqNpnvIwg7JBCg3LdeCZZO4de/yEhVA==", "dependencies": { "@stablelib/aead": "^1.0.1", "@stablelib/binary": "^1.0.1", @@ -5261,15 +5565,18 @@ }, "node_modules/@stablelib/constant-time": { "version": "1.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@stablelib/constant-time/-/constant-time-1.0.1.tgz", + "integrity": "sha512-tNOs3uD0vSJcK6z1fvef4Y+buN7DXhzHDPqRLSXUel1UfqMB1PWNsnnAezrKfEwTLpN0cGH2p9NNjs6IqeD0eg==" }, "node_modules/@stablelib/hash": { "version": "1.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@stablelib/hash/-/hash-1.0.1.tgz", + "integrity": "sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg==" }, "node_modules/@stablelib/hkdf": { "version": "1.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@stablelib/hkdf/-/hkdf-1.0.1.tgz", + "integrity": "sha512-SBEHYE16ZXlHuaW5RcGk533YlBj4grMeg5TooN80W3NpcHRtLZLLXvKyX0qcRFxf+BGDobJLnwkvgEwHIDBR6g==", "dependencies": { "@stablelib/hash": "^1.0.1", "@stablelib/hmac": "^1.0.1", @@ -5278,7 +5585,8 @@ }, "node_modules/@stablelib/hmac": { "version": "1.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@stablelib/hmac/-/hmac-1.0.1.tgz", + "integrity": "sha512-V2APD9NSnhVpV/QMYgCVMIYKiYG6LSqw1S65wxVoirhU/51ACio6D4yDVSwMzuTJXWZoVHbDdINioBwKy5kVmA==", "dependencies": { "@stablelib/constant-time": "^1.0.1", "@stablelib/hash": "^1.0.1", @@ -5287,18 +5595,21 @@ }, "node_modules/@stablelib/int": { "version": "1.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@stablelib/int/-/int-1.0.1.tgz", + "integrity": "sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w==" }, "node_modules/@stablelib/keyagreement": { "version": "1.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@stablelib/keyagreement/-/keyagreement-1.0.1.tgz", + "integrity": "sha512-VKL6xBwgJnI6l1jKrBAfn265cspaWBPAPEc62VBQrWHLqVgNRE09gQ/AnOEyKUWrrqfD+xSQ3u42gJjLDdMDQg==", "dependencies": { "@stablelib/bytes": "^1.0.1" } }, "node_modules/@stablelib/poly1305": { "version": "1.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@stablelib/poly1305/-/poly1305-1.0.1.tgz", + "integrity": "sha512-1HlG3oTSuQDOhSnLwJRKeTRSAdFNVB/1djy2ZbS35rBSJ/PFqx9cf9qatinWghC2UbfOYD8AcrtbUQl8WoxabA==", "dependencies": { "@stablelib/constant-time": "^1.0.1", "@stablelib/wipe": "^1.0.1" @@ -5306,7 +5617,8 @@ }, "node_modules/@stablelib/random": { "version": "1.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@stablelib/random/-/random-1.0.2.tgz", + "integrity": "sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w==", "dependencies": { "@stablelib/binary": "^1.0.1", "@stablelib/wipe": "^1.0.1" @@ -5314,7 +5626,8 @@ }, "node_modules/@stablelib/sha256": { "version": "1.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@stablelib/sha256/-/sha256-1.0.1.tgz", + "integrity": "sha512-GIIH3e6KH+91FqGV42Kcj71Uefd/QEe7Dy42sBTeqppXV95ggCcxLTk39bEr+lZfJmp+ghsR07J++ORkRELsBQ==", "dependencies": { "@stablelib/binary": "^1.0.1", "@stablelib/hash": "^1.0.1", @@ -5323,11 +5636,13 @@ }, "node_modules/@stablelib/wipe": { "version": "1.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@stablelib/wipe/-/wipe-1.0.1.tgz", + "integrity": "sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==" }, "node_modules/@stablelib/x25519": { "version": "1.0.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@stablelib/x25519/-/x25519-1.0.3.tgz", + "integrity": "sha512-KnTbKmUhPhHavzobclVJQG5kuivH+qDLpe84iRqX3CLrKp881cF160JvXJ+hjn1aMyCwYOKeIZefIH/P5cJoRw==", "dependencies": { "@stablelib/keyagreement": "^1.0.1", "@stablelib/random": "^1.0.2", @@ -5336,7 +5651,9 @@ }, "node_modules/@substrate/connect": { "version": "0.7.19", - "license": "GPL-3.0-only", + "resolved": "https://registry.npmjs.org/@substrate/connect/-/connect-0.7.19.tgz", + "integrity": "sha512-+DDRadc466gCmDU71sHrYOt1HcI2Cbhm7zdCFjZfFVHXhC/E8tOdrVSglAH2HDEHR0x2SiHRxtxOGC7ak2Zjog==", + "deprecated": "versions below 1.x are no longer maintained", "optional": true, "dependencies": { "@substrate/connect-extension-protocol": "^1.0.1", @@ -5346,22 +5663,26 @@ }, "node_modules/@substrate/connect-extension-protocol": { "version": "1.0.1", - "license": "GPL-3.0-only", + "resolved": "https://registry.npmjs.org/@substrate/connect-extension-protocol/-/connect-extension-protocol-1.0.1.tgz", + "integrity": "sha512-161JhCC1csjH3GE5mPLEd7HbWtwNSPJBg3p1Ksz9SFlTzj/bgEwudiRN2y5i0MoLGCIJRYKyKGMxVnd29PzNjg==", "optional": true }, "node_modules/@substrate/connect-known-chains": { - "version": "1.1.6", - "license": "GPL-3.0-only", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@substrate/connect-known-chains/-/connect-known-chains-1.8.0.tgz", + "integrity": "sha512-sl7WfeDgnZuPvUl5Xw0XIziOTe8rEBJ3uugyDETGnafxEbjYMv5aJL0ilq5djhnQ7l9OuMJCN3Ckved2yINeeQ==", "optional": true }, "node_modules/@substrate/connect/node_modules/eventemitter3": { "version": "4.0.7", - "license": "MIT", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", "optional": true }, "node_modules/@substrate/light-client-extension-helpers": { "version": "0.0.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@substrate/light-client-extension-helpers/-/light-client-extension-helpers-0.0.6.tgz", + "integrity": "sha512-girltEuxQ1BvkJWmc8JJlk4ZxnlGXc/wkLcNguhY+UoDEMBK0LsdtfzQKIfrIehi4QdeSBlFEFBoI4RqPmsZzA==", "optional": true, "dependencies": { "@polkadot-api/json-rpc-provider": "0.0.1", @@ -5377,13 +5698,15 @@ } }, "node_modules/@substrate/light-client-extension-helpers/node_modules/@substrate/connect-extension-protocol": { - "version": "2.0.0", - "license": "GPL-3.0-only", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@substrate/connect-extension-protocol/-/connect-extension-protocol-2.2.1.tgz", + "integrity": "sha512-GoafTgm/Jey9E4Xlj4Z5ZBt/H4drH2CNq8VrAro80rtoznrXnFDNVivLQzZN0Xaj2g8YXSn9pC9Oc9IovYZJXw==", "optional": true }, "node_modules/@substrate/smoldot-light": { "version": "0.7.9", - "license": "GPL-3.0-or-later WITH Classpath-exception-2.0", + "resolved": "https://registry.npmjs.org/@substrate/smoldot-light/-/smoldot-light-0.7.9.tgz", + "integrity": "sha512-HP8iP7sFYlpSgjjbo0lqHyU+gu9lL2hbDNce6dWk5/10mFFF9jKIFGfui4zCecUY808o/Go9pan/31kMJoLbug==", "optional": true, "dependencies": { "pako": "^2.0.4", @@ -5391,8 +5714,9 @@ } }, "node_modules/@substrate/ss58-registry": { - "version": "1.48.0", - "license": "Apache-2.0" + "version": "1.51.0", + "resolved": "https://registry.npmjs.org/@substrate/ss58-registry/-/ss58-registry-1.51.0.tgz", + "integrity": "sha512-TWDurLiPxndFgKjVavCniytBIw+t4ViOi7TYp9h/D0NMmkEc9klFTo+827eyEJ0lELpqO207Ey7uGxUa+BS1jQ==" }, "node_modules/@szmarczak/http-timer": { "version": "5.0.1", @@ -5408,43 +5732,51 @@ }, "node_modules/@teppeis/multimaps": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@teppeis/multimaps/-/multimaps-2.0.0.tgz", + "integrity": "sha512-TL1adzq1HdxUf9WYduLcQ/DNGYiz71U31QRgbnr0Ef1cPyOUOsBojxHVWpFeOSUucB6Lrs0LxFRA14ntgtkc9w==", "dev": true, - "license": "MIT", "engines": { "node": ">=10.17" } }, "node_modules/@tootallnate/once": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", "dev": true, - "license": "MIT", "engines": { "node": ">= 6" } }, "node_modules/@tsconfig/node10": { "version": "1.0.11", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", + "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==" }, "node_modules/@tsconfig/node12": { "version": "1.0.11", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==" }, "node_modules/@tsconfig/node14": { "version": "1.0.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==" }, "node_modules/@tsconfig/node16": { "version": "1.0.4", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==" }, "node_modules/@types/argparse": { "version": "1.0.38", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/argparse/-/argparse-1.0.38.tgz", + "integrity": "sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==" }, "node_modules/@types/bn.js": { - "version": "5.1.5", - "license": "MIT", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.6.tgz", + "integrity": "sha512-Xh8vSwUeMKeYYrj3cX4lGQgFSF/N03r+tv4AiLl1SucqV+uTQpxRcnM8AkXKHwYP9ZPXOYXRr2KPXpVlIvqh9w==", "dependencies": { "@types/node": "*" } @@ -5463,7 +5795,8 @@ }, "node_modules/@types/debug": { "version": "4.1.12", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", "dependencies": { "@types/ms": "*" } @@ -5475,16 +5808,18 @@ "dev": true }, "node_modules/@types/http-link-header": { - "version": "1.0.5", - "license": "MIT", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@types/http-link-header/-/http-link-header-1.0.7.tgz", + "integrity": "sha512-snm5oLckop0K3cTDAiBnZDy6ncx9DJ3mCRDvs42C884MbVYPP74Tiq2hFsSDRTyjK6RyDYDIulPiW23ge+g5Lw==", "dependencies": { "@types/node": "*" } }, "node_modules/@types/json5": { "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", "dev": true, - "license": "MIT", "peer": true }, "node_modules/@types/keyv": { @@ -5497,48 +5832,57 @@ } }, "node_modules/@types/lodash": { - "version": "4.17.5", - "dev": true, - "license": "MIT" + "version": "4.17.13", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.13.tgz", + "integrity": "sha512-lfx+dftrEZcdBPczf9d0Qv0x+j/rfNCMuC6OcfXmO8gkfeNAY88PgKUbvG56whcN23gc27yenwF6oJZXGFpYxg==", + "dev": true }, "node_modules/@types/long": { "version": "4.0.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", + "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" }, "node_modules/@types/lru-cache": { "version": "5.1.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==" }, "node_modules/@types/minimatch": { "version": "3.0.5", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==" }, "node_modules/@types/minimist": { "version": "1.2.5", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==" }, "node_modules/@types/ms": { "version": "0.7.34", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", + "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==" }, "node_modules/@types/n3": { - "version": "1.16.4", - "license": "MIT", + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/@types/n3/-/n3-1.21.1.tgz", + "integrity": "sha512-9KxFlFj3etnpdI2nyQEp/jHry5DHxWT22z9Nc/y/hdHe0CHVc9rKu+NacWKUyN06dDLDh7ZnjCzY8yBJ9lmzdw==", "dependencies": { "@rdfjs/types": "^1.1.0", "@types/node": "*" } }, "node_modules/@types/node": { - "version": "20.14.2", - "license": "MIT", + "version": "22.10.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.1.tgz", + "integrity": "sha512-qKgsUwfHZV2WCWLAnVP1JqnpE6Im6h3Y0+fYgMTasNQ7V++CBX5OT1as0g0f+OyubbFqhf6XVNIsmN4IIhEgGQ==", "dependencies": { - "undici-types": "~5.26.4" + "undici-types": "~6.20.0" } }, "node_modules/@types/node-fetch": { - "version": "2.6.11", - "license": "MIT", + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.12.tgz", + "integrity": "sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA==", "dependencies": { "@types/node": "*", "form-data": "^4.0.0" @@ -5546,18 +5890,21 @@ }, "node_modules/@types/pbkdf2": { "version": "3.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-uRwJqmiXmh9++aSu1VNEn3iIxWOhd8AHXNSdlaLfdAAdSTY9jYVeGWnzejM3dvrkbqE3/hyQkQQ29IFATEGlew==", "dependencies": { "@types/node": "*" } }, "node_modules/@types/qs": { - "version": "6.9.15", - "license": "MIT" + "version": "6.9.17", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.17.tgz", + "integrity": "sha512-rX4/bPcfmvxHDv0XjfJELTTr+iB+tn032nPILqHm5wbthUUUuVtNGGqzhya9XUxjTP8Fpr0qYgSZZKxGY++svQ==" }, "node_modules/@types/readable-stream": { "version": "2.3.15", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-2.3.15.tgz", + "integrity": "sha512-oM5JSKQCcICF1wvGgmecmHldZ48OZamtMxcGGVICOJA8o8cahXC1zEVAif8iwoc5j8etxFaRFnf095+CDsuoFQ==", "dependencies": { "@types/node": "*", "safe-buffer": "~5.1.1" @@ -5565,7 +5912,8 @@ }, "node_modules/@types/readable-stream/node_modules/safe-buffer": { "version": "5.1.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "node_modules/@types/responselike": { "version": "1.0.3", @@ -5578,80 +5926,97 @@ }, "node_modules/@types/retry": { "version": "0.12.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" }, "node_modules/@types/secp256k1": { "version": "4.0.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.6.tgz", + "integrity": "sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ==", "dependencies": { "@types/node": "*" } }, "node_modules/@types/semver": { "version": "7.5.8", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==" }, "node_modules/@types/spark-md5": { - "version": "3.0.4", - "license": "MIT" + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/spark-md5/-/spark-md5-3.0.5.tgz", + "integrity": "sha512-lWf05dnD42DLVKQJZrDHtWFidcLrHuip01CtnC2/S6AMhX4t9ZlEUj4iuRlAnts0PQk7KESOqKxeGE/b6sIPGg==" }, "node_modules/@types/sparqljs": { - "version": "3.1.10", - "license": "MIT", + "version": "3.1.12", + "resolved": "https://registry.npmjs.org/@types/sparqljs/-/sparqljs-3.1.12.tgz", + "integrity": "sha512-zg/sdKKtYI0845wKPSuSgunyU1o/+7tRzMw85lHsf4p/0UbA6+65MXAyEtv1nkaqSqrq/bXm7+bqXas+Xo5dpQ==", "dependencies": { "@rdfjs/types": ">=1.0.0" } }, "node_modules/@types/triple-beam": { "version": "1.3.5", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.5.tgz", + "integrity": "sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==" }, "node_modules/@types/uritemplate": { "version": "0.3.6", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/uritemplate/-/uritemplate-0.3.6.tgz", + "integrity": "sha512-31BMGZ8GgLxgXxLnqg4KbbyYJjU1flhTTD2+PVQStVUPXSk0IIpK0zt+tH3eLT7ZRwLnzQw6JhYx69qza3U0wg==" }, "node_modules/@types/uuid": { "version": "9.0.8", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz", + "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==" }, "node_modules/@types/validator": { - "version": "13.11.10", - "license": "MIT" + "version": "13.12.2", + "resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.12.2.tgz", + "integrity": "sha512-6SlHBzUW8Jhf3liqrGGXyTJSIFe4nqlJ5A5KaMZ2l/vbM3Wh3KSybots/wfWVzNLK4D1NZluDlSQIbIEPx6oyA==" }, "node_modules/@types/websocket": { "version": "1.0.10", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@types/websocket/-/websocket-1.0.10.tgz", + "integrity": "sha512-svjGZvPB7EzuYS94cI7a+qhwgGU1y89wUgjT6E2wVUfmAGIvRfT7obBvRtnhXCSsoMdlG4gBFGE7MfkIXZLoww==", "dependencies": { "@types/node": "*" } }, "node_modules/@types/yargs": { - "version": "17.0.32", - "license": "MIT", + "version": "17.0.33", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", + "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", "dependencies": { "@types/yargs-parser": "*" } }, "node_modules/@types/yargs-parser": { "version": "21.0.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==" }, "node_modules/@ungap/structured-clone": { "version": "1.2.0", - "license": "ISC" + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" }, "node_modules/@vascosantos/moving-average": { "version": "1.1.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@vascosantos/moving-average/-/moving-average-1.1.0.tgz", + "integrity": "sha512-MVEJ4vWAPNbrGLjz7ITnHYg+YXZ6ijAqtH5/cHwSoCpbvuJ98aLXwFfPKAUfZpJMQR5uXB58UJajbY130IRF/w==" }, "node_modules/abab": { "version": "2.0.6", - "dev": true, - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "deprecated": "Use your platform's native atob() and btoa() methods instead", + "dev": true }, "node_modules/abort-controller": { "version": "3.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", "dependencies": { "event-target-shim": "^5.0.0" }, @@ -5661,20 +6026,22 @@ }, "node_modules/abortable-iterator": { "version": "3.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/abortable-iterator/-/abortable-iterator-3.0.2.tgz", + "integrity": "sha512-qVP8HFfTpUQI2F+f1tpTriKDIZ4XrmwCrBCrQeRKO7DKWF3kgoT6NXiNDv2krrGcHxPwmI63eGQiec81sEaWIw==", "dependencies": { "get-iterator": "^1.0.2" } }, "node_modules/abortcontroller-polyfill": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz", - "integrity": "sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ==", + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.6.tgz", + "integrity": "sha512-Zypm+LjYdWAzvuypZvDN0smUJrhOurcuBWhhMRBExqVLRvdjp3Z9mASxKyq19K+meZMshwjjy5S0lkm388zE4Q==", "dev": true }, "node_modules/accepts": { "version": "1.3.8", - "license": "MIT", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dependencies": { "mime-types": "~2.1.34", "negotiator": "0.6.3" @@ -5684,8 +6051,9 @@ } }, "node_modules/acorn": { - "version": "8.11.3", - "license": "MIT", + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", "bin": { "acorn": "bin/acorn" }, @@ -5695,8 +6063,9 @@ }, "node_modules/acorn-globals": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", "dev": true, - "license": "MIT", "dependencies": { "acorn": "^7.1.1", "acorn-walk": "^7.1.1" @@ -5704,8 +6073,9 @@ }, "node_modules/acorn-globals/node_modules/acorn": { "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true, - "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -5715,33 +6085,38 @@ }, "node_modules/acorn-jsx": { "version": "5.3.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "node_modules/acorn-walk": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.4.0" } }, "node_modules/adm-zip": { "version": "0.4.16", - "license": "MIT", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", + "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==", "engines": { "node": ">=0.3.0" } }, "node_modules/aes-js": { "version": "3.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", + "integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==" }, "node_modules/agent-base": { "version": "6.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "dependencies": { "debug": "4" }, @@ -5751,7 +6126,8 @@ }, "node_modules/aggregate-error": { "version": "3.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", "dependencies": { "clean-stack": "^2.0.0", "indent-string": "^4.0.0" @@ -5762,7 +6138,8 @@ }, "node_modules/ajv": { "version": "6.12.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -5776,7 +6153,8 @@ }, "node_modules/ajv-formats": { "version": "3.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", "dependencies": { "ajv": "^8.0.0" }, @@ -5790,13 +6168,14 @@ } }, "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.16.0", - "license": "MIT", + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dependencies": { "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.4.1" + "require-from-string": "^2.0.2" }, "funding": { "type": "github", @@ -5805,25 +6184,29 @@ }, "node_modules/ajv-formats/node_modules/json-schema-traverse": { "version": "1.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" }, "node_modules/ansi-align": { "version": "3.0.1", - "license": "ISC", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", "dependencies": { "string-width": "^4.1.0" } }, "node_modules/ansi-colors": { "version": "4.1.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", "engines": { "node": ">=6" } }, "node_modules/ansi-escapes": { "version": "4.3.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dependencies": { "type-fest": "^0.21.3" }, @@ -5836,7 +6219,8 @@ }, "node_modules/ansi-escapes/node_modules/type-fest": { "version": "0.21.3", - "license": "(MIT OR CC0-1.0)", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "engines": { "node": ">=10" }, @@ -5846,15 +6230,17 @@ }, "node_modules/ansi-regex": { "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/ansi-styles": { "version": "4.3.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dependencies": { "color-convert": "^2.0.1" }, @@ -5867,12 +6253,14 @@ }, "node_modules/any-promise": { "version": "1.3.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true }, "node_modules/any-signal": { "version": "2.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/any-signal/-/any-signal-2.1.2.tgz", + "integrity": "sha512-B+rDnWasMi/eWcajPcCWSlYc7muXOrcYrqgyzcdKisl2H/WTlQ0gip1KyQfr0ZlxJdsuWCj/LWwQm7fhyhRfIQ==", "dependencies": { "abort-controller": "^3.0.0", "native-abort-controller": "^1.0.3" @@ -5880,7 +6268,8 @@ }, "node_modules/anymatch": { "version": "3.1.3", - "license": "ISC", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -5891,15 +6280,17 @@ }, "node_modules/app-root-path": { "version": "3.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-3.1.0.tgz", + "integrity": "sha512-biN3PwB2gUtjaYy/isrU3aNWI5w+fAfvHkSvCKeQGxhmYpwKFUxudR3Yya+KqVRHBmEDYh+/lTozYCFbmzX4nA==", "engines": { "node": ">= 6.0.0" } }, "node_modules/append-transform": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", + "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", "dev": true, - "license": "MIT", "dependencies": { "default-require-extensions": "^3.0.0" }, @@ -5909,30 +6300,35 @@ }, "node_modules/archy": { "version": "1.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", + "dev": true }, "node_modules/arg": { "version": "4.1.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" }, "node_modules/argparse": { "version": "2.0.1", - "license": "Python-2.0" + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, "node_modules/aria-query": { - "version": "5.3.0", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", "dev": true, - "license": "Apache-2.0", "peer": true, - "dependencies": { - "dequal": "^2.0.3" + "engines": { + "node": ">= 0.4" } }, "node_modules/array-buffer-byte-length": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.5", @@ -5947,12 +6343,14 @@ }, "node_modules/array-flatten": { "version": "1.1.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" }, "node_modules/array-includes": { "version": "3.1.8", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", + "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.7", @@ -5971,8 +6369,9 @@ }, "node_modules/array.prototype.findlast": { "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.7", @@ -5991,8 +6390,9 @@ }, "node_modules/array.prototype.findlastindex": { "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", + "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.7", @@ -6011,8 +6411,9 @@ }, "node_modules/array.prototype.flat": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.2", @@ -6029,8 +6430,9 @@ }, "node_modules/array.prototype.flatmap": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.2", @@ -6045,22 +6447,11 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array.prototype.toreversed": { - "version": "1.1.2", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" - } - }, "node_modules/array.prototype.tosorted": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.7", @@ -6075,8 +6466,9 @@ }, "node_modules/arraybuffer.prototype.slice": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "array-buffer-byte-length": "^1.0.1", @@ -6097,7 +6489,8 @@ }, "node_modules/arrayify-stream": { "version": "2.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/arrayify-stream/-/arrayify-stream-2.0.1.tgz", + "integrity": "sha512-z8fB6PtmnewQpFB53piS2d1KlUi3BPMICH2h7leCOUXpQcwvZ4GbHHSpdKoUrgLMR6b4Qan/uDe1St3Ao3yIHg==" }, "node_modules/asn1": { "version": "0.2.6", @@ -6110,7 +6503,8 @@ }, "node_modules/asn1.js": { "version": "5.4.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", "dependencies": { "bn.js": "^4.0.0", "inherits": "^2.0.1", @@ -6119,29 +6513,33 @@ } }, "node_modules/asn1.js/node_modules/bn.js": { - "version": "4.12.0", - "license": "MIT" + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz", + "integrity": "sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==" }, "node_modules/assert-plus": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.8" } }, "node_modules/assertion-error": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", "dev": true, - "license": "MIT", "engines": { "node": "*" } }, "node_modules/assertion-error-formatter": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/assertion-error-formatter/-/assertion-error-formatter-3.0.0.tgz", + "integrity": "sha512-6YyAVLrEze0kQ7CmJfUgrLHb+Y7XghmL2Ie7ijVa2Y9ynP3LV+VDiwFk62Dn0qtqbmY0BT0ss6p1xxpiF2PYbQ==", "dev": true, - "license": "MIT", "dependencies": { "diff": "^4.0.1", "pad-right": "^0.2.2", @@ -6149,23 +6547,42 @@ } }, "node_modules/assertion-tools": { - "version": "2.1.0", + "version": "8.0.0-alpha.2", + "resolved": "https://registry.npmjs.org/assertion-tools/-/assertion-tools-8.0.0-alpha.2.tgz", + "integrity": "sha512-g2vUPGdCB1lAP2jSQMYcfTjlhgmm/92t8l/rxucjYh+QdknuCgkZHOwJzVUxWmsOIYJz2fp0bbU0HKfAQt8LMQ==", "license": "ISC", "dependencies": { "ethers": "^5.7.2", "jsonld": "^8.1.0", - "merkletreejs": "^0.3.2" + "merkletreejs": "^0.3.2", + "n3": "^1.23.1", + "rdf-canonize": "^4.0.1", + "uuid": "^8.3.2" + } + }, + "node_modules/assertion-tools/node_modules/rdf-canonize": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/rdf-canonize/-/rdf-canonize-4.0.1.tgz", + "integrity": "sha512-B5ynHt4sasbUafzrvYI2GFARgeFcD8Sx9yXPbg7gEyT2EH76rlCv84kyO6tnxzVbxUN/uJDbK1S/MXh+DsnuTA==", + "license": "BSD-3-Clause", + "dependencies": { + "setimmediate": "^1.0.5" + }, + "engines": { + "node": ">=18" } }, "node_modules/ast-types-flow": { "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", "dev": true, - "license": "MIT", "peer": true }, "node_modules/async": { - "version": "3.2.5", - "license": "MIT" + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==" }, "node_modules/async-limiter": { "version": "1.0.1", @@ -6175,37 +6592,43 @@ }, "node_modules/async-mutex": { "version": "0.3.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/async-mutex/-/async-mutex-0.3.2.tgz", + "integrity": "sha512-HuTK7E7MT7jZEh1P9GtRW9+aTWiDWWi9InbZ5hjxrnRa39KS4BW04+xLBhYNS2aXhHUIKZSw3gj4Pn1pj+qGAA==", "dependencies": { "tslib": "^2.3.1" } }, "node_modules/asynciterator": { "version": "3.9.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/asynciterator/-/asynciterator-3.9.0.tgz", + "integrity": "sha512-bwLLTAnoE6Ap6XdjK/j8vDk2Vi9p3ojk0PFwM0SwktAG1k8pfRJF9ng+mmkaRFKdZCQQlOxcWnvOmX2NQ1HV0g==" }, "node_modules/asyncjoin": { - "version": "1.2.2", - "license": "MIT", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/asyncjoin/-/asyncjoin-1.2.4.tgz", + "integrity": "sha512-7/1g5uV2/iTDQteJ/pxqZq6qkO5406V+vNyOCYtHJ+mo6bmvvQHHrZgd7AtU/rx+cnz08NPWlwk8daW61thnlA==", "dependencies": { "asynciterator": "^3.9.0" } }, "node_modules/asynckit": { "version": "0.4.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, "node_modules/atomic-sleep": { "version": "1.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz", + "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==", "engines": { "node": ">=8.0.0" } }, "node_modules/available-typed-arrays": { "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", "dev": true, - "license": "MIT", "dependencies": { "possible-typed-array-names": "^1.0.0" }, @@ -6218,7 +6641,8 @@ }, "node_modules/awilix": { "version": "7.0.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/awilix/-/awilix-7.0.3.tgz", + "integrity": "sha512-4Nmjyh9qloDwXfDK0DBuWd8WyFApyknoaKbE3leQflGLgNfNsBHy2/VYrlyy/mzMobjJ3J8XtNpbjzG3KRkIFQ==", "dependencies": { "camel-case": "^4.1.2", "fast-glob": "^3.2.11" @@ -6236,6 +6660,14 @@ "node": "*" } }, + "node_modules/aws-ssl-profiles": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/aws-ssl-profiles/-/aws-ssl-profiles-1.1.2.tgz", + "integrity": "sha512-NZKeq9AfyQvEeNlN0zSYAaWrmBffJh3IELMZfRpJVWgrpEbtEpnjvzqBPf+mxoI287JohRDoa+/nsfqqiZmF6g==", + "engines": { + "node": ">= 6.0.0" + } + }, "node_modules/aws4": { "version": "1.13.2", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.13.2.tgz", @@ -6243,17 +6675,19 @@ "dev": true }, "node_modules/axe-core": { - "version": "4.7.0", + "version": "4.10.2", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.2.tgz", + "integrity": "sha512-RE3mdQ7P3FRSe7eqCWoeQ/Z9QXrtniSjp1wUjt5nRC3WIpz5rSCve6o3fsZ2aCpJtrZjSZgjwXAoTO5k4tEI0w==", "dev": true, - "license": "MPL-2.0", "peer": true, "engines": { "node": ">=4" } }, "node_modules/axios": { - "version": "1.7.2", - "license": "MIT", + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.8.tgz", + "integrity": "sha512-Uu0wb7KNqK2t5K+YQyVCLM76prD5sRFjKHbJYCP1J7JFGEQ6nN7HWn9+04LAeiJ3ji54lgS/gZCH1oxyrf1SPw==", "dependencies": { "follow-redirects": "^1.15.6", "form-data": "^4.0.0", @@ -6261,33 +6695,38 @@ } }, "node_modules/axobject-query": { - "version": "3.2.1", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", "dev": true, - "license": "Apache-2.0", "peer": true, - "dependencies": { - "dequal": "^2.0.3" + "engines": { + "node": ">= 0.4" } }, "node_modules/b4a": { - "version": "1.6.6", - "dev": true, - "license": "Apache-2.0" + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.7.tgz", + "integrity": "sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==", + "dev": true }, "node_modules/balanced-match": { "version": "1.0.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "node_modules/bare-events": { - "version": "2.4.2", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.5.0.tgz", + "integrity": "sha512-/E8dDe9dsbLyh2qrZ64PEPadOQ0F4gbl1sUJOrmph7xOiIxfY8vwab/4bFLh4Y88/Hk/ujKcrQKc+ps0mv873A==", "dev": true, - "license": "Apache-2.0", "optional": true }, "node_modules/bare-fs": { - "version": "2.3.1", + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-2.3.5.tgz", + "integrity": "sha512-SlE9eTxifPDJrT6YgemQ1WGFleevzwY+XAP1Xqgl56HtcrisC2CHCZ2tq6dBpcH2TnNxwUEUGhweo+lrQtYuiw==", "dev": true, - "license": "Apache-2.0", "optional": true, "dependencies": { "bare-events": "^2.0.0", @@ -6296,38 +6735,44 @@ } }, "node_modules/bare-os": { - "version": "2.3.0", + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-2.4.4.tgz", + "integrity": "sha512-z3UiI2yi1mK0sXeRdc4O1Kk8aOa/e+FNWZcTiPB/dfTWyLypuE99LibgRaQki914Jq//yAWylcAt+mknKdixRQ==", "dev": true, - "license": "Apache-2.0", "optional": true }, "node_modules/bare-path": { "version": "2.1.3", + "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-2.1.3.tgz", + "integrity": "sha512-lh/eITfU8hrj9Ru5quUp0Io1kJWIk1bTjzo7JH1P5dWmQ2EL4hFUlfI8FonAhSlgIfhn63p84CDY/x+PisgcXA==", "dev": true, - "license": "Apache-2.0", "optional": true, "dependencies": { "bare-os": "^2.1.0" } }, "node_modules/bare-stream": { - "version": "2.1.3", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.4.2.tgz", + "integrity": "sha512-XZ4ln/KV4KT+PXdIWTKjsLY+quqCaEtqqtgGJVPw9AoM73By03ij64YjepK0aQvHSWDb6AfAZwqKaFu68qkrdA==", "dev": true, - "license": "Apache-2.0", "optional": true, "dependencies": { - "streamx": "^2.18.0" + "streamx": "^2.20.0" } }, "node_modules/base-x": { - "version": "3.0.9", - "license": "MIT", + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.10.tgz", + "integrity": "sha512-7d0s06rR9rYaIWHkpfLIFICM/tkSVdoPC9qYAQRpxn9DdKNWNsKC0uk++akckyLq16Tx2WIinnZ6WRriAt6njQ==", "dependencies": { "safe-buffer": "^5.0.1" } }, "node_modules/base64-js": { "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", "funding": [ { "type": "github", @@ -6341,12 +6786,12 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "MIT" + ] }, "node_modules/base64url": { "version": "3.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/base64url/-/base64url-3.0.1.tgz", + "integrity": "sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==", "engines": { "node": ">=6.0.0" } @@ -6368,33 +6813,41 @@ }, "node_modules/bech32": { "version": "1.1.4", - "license": "MIT" + "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", + "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==" }, "node_modules/big-integer": { "version": "1.6.52", - "license": "Unlicense", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz", + "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==", "engines": { "node": ">=0.6" } }, "node_modules/bignumber.js": { "version": "9.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.2.tgz", + "integrity": "sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==", "engines": { "node": "*" } }, "node_modules/binary": { "version": "0.3.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz", + "integrity": "sha512-D4H1y5KYwpJgK8wk1Cue5LLPgmwHKYSChkbspQg5JtVuR5ulGckxfR62H3AE9UDkdMC8yyXlqYihuz3Aqg2XZg==", "dependencies": { "buffers": "~0.1.1", "chainsaw": "~0.1.0" + }, + "engines": { + "node": "*" } }, "node_modules/binary-extensions": { "version": "2.3.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", "engines": { "node": ">=8" }, @@ -6404,14 +6857,16 @@ }, "node_modules/bindings": { "version": "1.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", "dependencies": { "file-uri-to-path": "1.0.0" } }, "node_modules/bl": { "version": "5.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/bl/-/bl-5.1.0.tgz", + "integrity": "sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==", "dependencies": { "buffer": "^6.0.3", "inherits": "^2.0.4", @@ -6420,7 +6875,8 @@ }, "node_modules/bl/node_modules/readable-stream": { "version": "3.6.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -6432,19 +6888,23 @@ }, "node_modules/blakejs": { "version": "1.2.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", + "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" }, "node_modules/bluebird": { "version": "3.4.7", - "license": "MIT" + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz", + "integrity": "sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA==" }, "node_modules/bn.js": { "version": "5.2.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" }, "node_modules/body-parser": { - "version": "1.20.2", - "license": "MIT", + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", "dependencies": { "bytes": "3.1.2", "content-type": "~1.0.5", @@ -6454,7 +6914,7 @@ "http-errors": "2.0.0", "iconv-lite": "0.4.24", "on-finished": "2.4.1", - "qs": "6.11.0", + "qs": "6.13.0", "raw-body": "2.5.2", "type-is": "~1.6.18", "unpipe": "1.0.0" @@ -6466,14 +6926,16 @@ }, "node_modules/body-parser/node_modules/debug": { "version": "2.6.9", - "license": "MIT", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dependencies": { "ms": "2.0.0" } }, "node_modules/body-parser/node_modules/iconv-lite": { "version": "0.4.24", - "license": "MIT", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -6483,11 +6945,13 @@ }, "node_modules/body-parser/node_modules/ms": { "version": "2.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, "node_modules/boxen": { "version": "5.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", + "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", "dependencies": { "ansi-align": "^3.0.0", "camelcase": "^6.2.0", @@ -6507,7 +6971,8 @@ }, "node_modules/brace-expansion": { "version": "1.1.11", - "license": "MIT", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -6515,7 +6980,8 @@ }, "node_modules/braces": { "version": "3.0.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dependencies": { "fill-range": "^7.1.1" }, @@ -6525,20 +6991,24 @@ }, "node_modules/brorand": { "version": "1.1.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" }, "node_modules/browser-process-hrtime": { "version": "1.0.0", - "dev": true, - "license": "BSD-2-Clause" + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "dev": true }, "node_modules/browser-stdout": { "version": "1.3.1", - "license": "ISC" + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" }, "node_modules/browserify-aes": { "version": "1.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "dependencies": { "buffer-xor": "^1.0.3", "cipher-base": "^1.0.0", @@ -6549,7 +7019,9 @@ } }, "node_modules/browserslist": { - "version": "4.23.1", + "version": "4.24.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz", + "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==", "dev": true, "funding": [ { @@ -6565,12 +7037,11 @@ "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001629", - "electron-to-chromium": "^1.4.796", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.16" + "caniuse-lite": "^1.0.30001669", + "electron-to-chromium": "^1.5.41", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.1" }, "bin": { "browserslist": "cli.js" @@ -6581,14 +7052,16 @@ }, "node_modules/bs58": { "version": "4.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", + "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", "dependencies": { "base-x": "^3.0.2" } }, "node_modules/bs58check": { "version": "2.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", + "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", "dependencies": { "bs58": "^4.0.0", "create-hash": "^1.1.0", @@ -6597,6 +7070,8 @@ }, "node_modules/buffer": { "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "funding": [ { "type": "github", @@ -6611,7 +7086,6 @@ "url": "https://feross.org/support" } ], - "license": "MIT", "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.2.1" @@ -6619,22 +7093,26 @@ }, "node_modules/buffer-equal-constant-time": { "version": "1.0.1", - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" }, "node_modules/buffer-from": { "version": "1.1.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, "node_modules/buffer-indexof-polyfill": { "version": "1.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.2.tgz", + "integrity": "sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A==", "engines": { "node": ">=0.10" } }, "node_modules/buffer-reverse": { "version": "1.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/buffer-reverse/-/buffer-reverse-1.0.1.tgz", + "integrity": "sha512-M87YIUBsZ6N924W57vDwT/aOu8hw7ZgdByz6ijksLjmHJELBASmYTTlNHRgjE+pTsT9oJXGaDSgqqwfdHotDUg==" }, "node_modules/buffer-to-arraybuffer": { "version": "0.0.5", @@ -6644,18 +7122,22 @@ }, "node_modules/buffer-xor": { "version": "1.0.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" }, "node_modules/buffers": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz", + "integrity": "sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ==", "engines": { "node": ">=0.2.0" } }, "node_modules/bufferutil": { "version": "4.0.8", + "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.8.tgz", + "integrity": "sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw==", "hasInstallScript": true, - "license": "MIT", "dependencies": { "node-gyp-build": "^4.3.0" }, @@ -6665,6 +7147,8 @@ }, "node_modules/busboy": { "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", "dependencies": { "streamsearch": "^1.1.0" }, @@ -6674,7 +7158,8 @@ }, "node_modules/bytes": { "version": "3.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "engines": { "node": ">= 0.8" } @@ -6732,8 +7217,9 @@ }, "node_modules/caching-transform": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", + "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", "dev": true, - "license": "MIT", "dependencies": { "hasha": "^5.0.0", "make-dir": "^3.0.0", @@ -6746,7 +7232,8 @@ }, "node_modules/call-bind": { "version": "1.0.7", - "license": "MIT", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", @@ -6763,14 +7250,16 @@ }, "node_modules/callsites": { "version": "3.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "engines": { "node": ">=6" } }, "node_modules/camel-case": { "version": "4.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", "dependencies": { "pascal-case": "^3.1.2", "tslib": "^2.0.3" @@ -6778,7 +7267,8 @@ }, "node_modules/camelcase": { "version": "6.3.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "engines": { "node": ">=10" }, @@ -6787,7 +7277,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001633", + "version": "1.0.30001684", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001684.tgz", + "integrity": "sha512-G1LRwLIQjBQoyq0ZJGqGIJUXzJ8irpbjHLpVRXDvBEScFJ9b17sgK6vlx0GAJFE21okD7zXl08rRRUfq6HdoEQ==", "dev": true, "funding": [ { @@ -6802,17 +7294,18 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ], - "license": "CC-BY-4.0" + ] }, "node_modules/canonicalize": { "version": "2.0.0", - "license": "Apache-2.0" + "resolved": "https://registry.npmjs.org/canonicalize/-/canonicalize-2.0.0.tgz", + "integrity": "sha512-ulDEYPv7asdKvqahuAY35c1selLdzDwHqugK92hfkzvlDCwXRRelDkR+Er33md/PtnpqHemgkuDPanZ4fiYZ8w==" }, "node_modules/capital-case": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/capital-case/-/capital-case-1.0.4.tgz", + "integrity": "sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==", "dev": true, - "license": "MIT", "dependencies": { "no-case": "^3.0.4", "tslib": "^2.0.3", @@ -6826,9 +7319,10 @@ "dev": true }, "node_modules/chai": { - "version": "4.4.1", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.5.0.tgz", + "integrity": "sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==", "dev": true, - "license": "MIT", "dependencies": { "assertion-error": "^1.1.0", "check-error": "^1.0.3", @@ -6836,7 +7330,7 @@ "get-func-name": "^2.0.2", "loupe": "^2.3.6", "pathval": "^1.1.1", - "type-detect": "^4.0.8" + "type-detect": "^4.1.0" }, "engines": { "node": ">=4" @@ -6844,14 +7338,19 @@ }, "node_modules/chainsaw": { "version": "0.1.0", - "license": "MIT/X11", + "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", + "integrity": "sha512-75kWfWt6MEKNC8xYXIdRpDehRYY/tNSgwKaJq+dbbDcxORuVrrQ+SEHoWsniVn9XPYfP4gmdWIeDk/4YNp1rNQ==", "dependencies": { "traverse": ">=0.3.0 <0.4" + }, + "engines": { + "node": "*" } }, "node_modules/chalk": { "version": "4.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -6865,7 +7364,8 @@ }, "node_modules/chalk/node_modules/supports-color": { "version": "7.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dependencies": { "has-flag": "^4.0.0" }, @@ -6875,8 +7375,9 @@ }, "node_modules/check-error": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", "dev": true, - "license": "MIT", "dependencies": { "get-func-name": "^2.0.2" }, @@ -6885,45 +7386,29 @@ } }, "node_modules/chokidar": { - "version": "3.6.0", - "license": "MIT", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.1.tgz", + "integrity": "sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==", "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" + "readdirp": "^4.0.1" }, "engines": { - "node": ">= 8.10.0" + "node": ">= 14.16.0" }, "funding": { "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" } }, "node_modules/chownr": { "version": "1.1.4", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true }, "node_modules/ci-info": { "version": "2.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" }, "node_modules/cids": { "version": "0.7.5", @@ -6985,32 +7470,40 @@ "dev": true }, "node_modules/cipher-base": { - "version": "1.0.4", - "license": "MIT", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.6.tgz", + "integrity": "sha512-3Ek9H3X6pj5TgenXYtNWdaBon1tgYCaebd+XPg0keyjEbEfkD4KkmAxkQ/i1vYvxdcT5nscLBfq9VJRmCBcFSw==", "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "inherits": "^2.0.4", + "safe-buffer": "^5.2.1" + }, + "engines": { + "node": ">= 0.10" } }, "node_modules/class-is": { "version": "1.1.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", + "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==" }, "node_modules/class-transformer": { "version": "0.5.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/class-transformer/-/class-transformer-0.5.1.tgz", + "integrity": "sha512-SQa1Ws6hUbfC98vKGxZH3KFY0Y1lm5Zm0SY8XX9zbK7FJCyVEac3ATW0RIpwzW+oOfmHE5PMPufDG9hCfoEOMw==", + "dev": true }, "node_modules/clean-stack": { "version": "2.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", "engines": { "node": ">=6" } }, "node_modules/cli-boxes": { "version": "2.2.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", + "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", "engines": { "node": ">=6" }, @@ -7020,8 +7513,9 @@ }, "node_modules/cli-cursor": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", + "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", "dev": true, - "license": "MIT", "dependencies": { "restore-cursor": "^4.0.0" }, @@ -7034,8 +7528,9 @@ }, "node_modules/cli-table3": { "version": "0.6.3", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", + "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", "dev": true, - "license": "MIT", "dependencies": { "string-width": "^4.2.0" }, @@ -7048,8 +7543,9 @@ }, "node_modules/cli-truncate": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-3.1.0.tgz", + "integrity": "sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==", "dev": true, - "license": "MIT", "dependencies": { "slice-ansi": "^5.0.0", "string-width": "^5.0.0" @@ -7062,9 +7558,10 @@ } }, "node_modules/cli-truncate/node_modules/ansi-regex": { - "version": "6.0.1", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true, - "license": "MIT", "engines": { "node": ">=12" }, @@ -7074,8 +7571,9 @@ }, "node_modules/cli-truncate/node_modules/string-width": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, - "license": "MIT", "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", @@ -7090,8 +7588,9 @@ }, "node_modules/cli-truncate/node_modules/strip-ansi": { "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, - "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -7104,7 +7603,8 @@ }, "node_modules/cliui": { "version": "8.0.1", - "license": "ISC", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", @@ -7137,8 +7637,9 @@ }, "node_modules/color": { "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^2.0.1", "color-string": "^1.9.0" @@ -7149,7 +7650,8 @@ }, "node_modules/color-convert": { "version": "2.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dependencies": { "color-name": "~1.1.4" }, @@ -7159,11 +7661,13 @@ }, "node_modules/color-name": { "version": "1.1.4", - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "node_modules/color-string": { "version": "1.9.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", "dependencies": { "color-name": "^1.0.0", "simple-swizzle": "^0.2.2" @@ -7171,11 +7675,13 @@ }, "node_modules/colorette": { "version": "2.0.20", - "license": "MIT" + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" }, "node_modules/colorspace": { "version": "1.1.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz", + "integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==", "dependencies": { "color": "^3.1.3", "text-hex": "1.0.x" @@ -7183,7 +7689,8 @@ }, "node_modules/colorspace/node_modules/color": { "version": "3.2.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", "dependencies": { "color-convert": "^1.9.3", "color-string": "^1.6.0" @@ -7191,18 +7698,21 @@ }, "node_modules/colorspace/node_modules/color-convert": { "version": "1.9.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dependencies": { "color-name": "1.1.3" } }, "node_modules/colorspace/node_modules/color-name": { "version": "1.1.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, "node_modules/combined-stream": { "version": "1.0.8", - "license": "MIT", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dependencies": { "delayed-stream": "~1.0.0" }, @@ -7212,35 +7722,40 @@ }, "node_modules/command-exists": { "version": "1.2.9", - "license": "MIT" + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" }, "node_modules/commander": { "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", "dev": true, - "license": "MIT", "engines": { "node": "^12.20.0 || >=14" } }, "node_modules/commondir": { "version": "1.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true }, "node_modules/complex.js": { - "version": "2.1.1", - "license": "MIT", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/complex.js/-/complex.js-2.4.2.tgz", + "integrity": "sha512-qtx7HRhPGSCBtGiST4/WGHuW+zeaND/6Ld+db6PbrulIB1i2Ev/2UPiqcmpQNPSyfBKraC0EOvOKCB5dGZKt3g==", "engines": { "node": "*" }, "funding": { - "type": "patreon", - "url": "https://www.patreon.com/infusion" + "type": "github", + "url": "https://github.com/sponsors/rawify" } }, "node_modules/componentsjs": { "version": "5.5.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/componentsjs/-/componentsjs-5.5.1.tgz", + "integrity": "sha512-hmqq+ZUa98t9CoeWPGwE14I18aXQFAt66HRd8DaZCNggcSr82vhlyrjeXX0JAUMgr2MyQzwKstkv4INRAREguA==", "dependencies": { "@rdfjs/types": "*", "@types/minimist": "^1.2.0", @@ -7262,24 +7777,33 @@ } }, "node_modules/componentsjs/node_modules/@types/node": { - "version": "18.19.34", - "license": "MIT", + "version": "18.19.67", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.67.tgz", + "integrity": "sha512-wI8uHusga+0ZugNp0Ol/3BqQfEcCCNfojtO6Oou9iVNGPTL6QNSdnUdqq85fRgIorLhLMuPIKpsN98QE9Nh+KQ==", "dependencies": { "undici-types": "~5.26.4" } }, + "node_modules/componentsjs/node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, "node_modules/concat-map": { "version": "0.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, "node_modules/confusing-browser-globals": { "version": "1.0.11", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", + "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", + "dev": true }, "node_modules/content-disposition": { "version": "0.5.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dependencies": { "safe-buffer": "5.2.1" }, @@ -7300,34 +7824,40 @@ }, "node_modules/content-type": { "version": "1.0.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", "engines": { "node": ">= 0.6" } }, "node_modules/convert-source-map": { "version": "1.9.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true }, "node_modules/cookie": { - "version": "0.6.0", - "license": "MIT", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", + "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", "engines": { "node": ">= 0.6" } }, "node_modules/cookie-signature": { "version": "1.0.6", - "license": "MIT" + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" }, "node_modules/core-util-is": { "version": "1.0.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" }, "node_modules/cors": { "version": "2.8.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", "dependencies": { "object-assign": "^4", "vary": "^1" @@ -7350,7 +7880,8 @@ }, "node_modules/create-hash": { "version": "1.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "dependencies": { "cipher-base": "^1.0.1", "inherits": "^2.0.1", @@ -7361,7 +7892,8 @@ }, "node_modules/create-hmac": { "version": "1.1.7", - "license": "MIT", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "dependencies": { "cipher-base": "^1.0.3", "create-hash": "^1.1.0", @@ -7373,18 +7905,21 @@ }, "node_modules/create-require": { "version": "1.1.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" }, "node_modules/cross-fetch": { "version": "4.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz", + "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==", "dependencies": { "node-fetch": "^2.6.12" } }, "node_modules/cross-fetch/node_modules/node-fetch": { "version": "2.7.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "dependencies": { "whatwg-url": "^5.0.0" }, @@ -7402,23 +7937,27 @@ }, "node_modules/cross-fetch/node_modules/tr46": { "version": "0.0.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, "node_modules/cross-fetch/node_modules/webidl-conversions": { "version": "3.0.1", - "license": "BSD-2-Clause" + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, "node_modules/cross-fetch/node_modules/whatwg-url": { "version": "5.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" } }, "node_modules/cross-spawn": { - "version": "7.0.3", - "license": "MIT", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -7430,17 +7969,20 @@ }, "node_modules/crypto-js": { "version": "4.2.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz", + "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==" }, "node_modules/cssom": { "version": "0.4.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true }, "node_modules/cssstyle": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", "dev": true, - "license": "MIT", "dependencies": { "cssom": "~0.3.6" }, @@ -7450,12 +7992,14 @@ }, "node_modules/cssstyle/node_modules/cssom": { "version": "0.3.8", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true }, "node_modules/d": { "version": "1.0.2", - "license": "ISC", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.2.tgz", + "integrity": "sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==", "dependencies": { "es5-ext": "^0.10.64", "type": "^2.7.2" @@ -7466,8 +8010,9 @@ }, "node_modules/d3": { "version": "7.9.0", + "resolved": "https://registry.npmjs.org/d3/-/d3-7.9.0.tgz", + "integrity": "sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==", "dev": true, - "license": "ISC", "dependencies": { "d3-array": "3", "d3-axis": "3", @@ -7506,8 +8051,9 @@ }, "node_modules/d3-array": { "version": "3.2.4", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", + "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", "dev": true, - "license": "ISC", "dependencies": { "internmap": "1 - 2" }, @@ -7517,16 +8063,18 @@ }, "node_modules/d3-axis": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz", + "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==", "dev": true, - "license": "ISC", "engines": { "node": ">=12" } }, "node_modules/d3-brush": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz", + "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==", "dev": true, - "license": "ISC", "dependencies": { "d3-dispatch": "1 - 3", "d3-drag": "2 - 3", @@ -7540,8 +8088,9 @@ }, "node_modules/d3-chord": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz", + "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==", "dev": true, - "license": "ISC", "dependencies": { "d3-path": "1 - 3" }, @@ -7551,21 +8100,24 @@ }, "node_modules/d3-collection": { "version": "1.0.7", - "dev": true, - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/d3-collection/-/d3-collection-1.0.7.tgz", + "integrity": "sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A==", + "dev": true }, "node_modules/d3-color": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", "dev": true, - "license": "ISC", "engines": { "node": ">=12" } }, "node_modules/d3-contour": { "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz", + "integrity": "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==", "dev": true, - "license": "ISC", "dependencies": { "d3-array": "^3.2.0" }, @@ -7575,8 +8127,9 @@ }, "node_modules/d3-delaunay": { "version": "6.0.4", + "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz", + "integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==", "dev": true, - "license": "ISC", "dependencies": { "delaunator": "5" }, @@ -7586,16 +8139,18 @@ }, "node_modules/d3-dispatch": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz", + "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==", "dev": true, - "license": "ISC", "engines": { "node": ">=12" } }, "node_modules/d3-drag": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz", + "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", "dev": true, - "license": "ISC", "dependencies": { "d3-dispatch": "1 - 3", "d3-selection": "3" @@ -7606,8 +8161,9 @@ }, "node_modules/d3-dsv": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz", + "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==", "dev": true, - "license": "ISC", "dependencies": { "commander": "7", "iconv-lite": "0.6", @@ -7630,24 +8186,27 @@ }, "node_modules/d3-dsv/node_modules/commander": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", "dev": true, - "license": "MIT", "engines": { "node": ">= 10" } }, "node_modules/d3-ease": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", + "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", "dev": true, - "license": "BSD-3-Clause", "engines": { "node": ">=12" } }, "node_modules/d3-fetch": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz", + "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==", "dev": true, - "license": "ISC", "dependencies": { "d3-dsv": "1 - 3" }, @@ -7657,8 +8216,9 @@ }, "node_modules/d3-force": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz", + "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==", "dev": true, - "license": "ISC", "dependencies": { "d3-dispatch": "1 - 3", "d3-quadtree": "1 - 3", @@ -7670,16 +8230,18 @@ }, "node_modules/d3-format": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", + "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", "dev": true, - "license": "ISC", "engines": { "node": ">=12" } }, "node_modules/d3-geo": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.1.tgz", + "integrity": "sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==", "dev": true, - "license": "ISC", "dependencies": { "d3-array": "2.5.0 - 3" }, @@ -7689,16 +8251,18 @@ }, "node_modules/d3-hierarchy": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz", + "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==", "dev": true, - "license": "ISC", "engines": { "node": ">=12" } }, "node_modules/d3-interpolate": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", "dev": true, - "license": "ISC", "dependencies": { "d3-color": "1 - 3" }, @@ -7708,8 +8272,9 @@ }, "node_modules/d3-node": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-node/-/d3-node-3.0.0.tgz", + "integrity": "sha512-JuuBToljSQBo+KHSuPVOEdKawsxuLDlrB8TZY8AkPkpvyKaGgX+g0ksgjRg+Mgat9fB77qFQrk09j72cD0yk7w==", "dev": true, - "license": "MIT", "dependencies": { "d3": "^5.16.0", "jsdom": "^16.7.0" @@ -7717,13 +8282,15 @@ }, "node_modules/d3-node/node_modules/commander": { "version": "2.20.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true }, "node_modules/d3-node/node_modules/d3": { "version": "5.16.0", + "resolved": "https://registry.npmjs.org/d3/-/d3-5.16.0.tgz", + "integrity": "sha512-4PL5hHaHwX4m7Zr1UapXW23apo6pexCgdetdJ5kTmADpG/7T9Gkxw0M0tf/pjoB63ezCCm0u5UaFYy2aMt0Mcw==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "d3-array": "1", "d3-axis": "1", @@ -7760,18 +8327,21 @@ }, "node_modules/d3-node/node_modules/d3-array": { "version": "1.2.4", - "dev": true, - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.4.tgz", + "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==", + "dev": true }, "node_modules/d3-node/node_modules/d3-axis": { "version": "1.0.12", - "dev": true, - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-1.0.12.tgz", + "integrity": "sha512-ejINPfPSNdGFKEOAtnBtdkpr24c4d4jsei6Lg98mxf424ivoDP2956/5HDpIAtmHo85lqT4pruy+zEgvRUBqaQ==", + "dev": true }, "node_modules/d3-node/node_modules/d3-brush": { "version": "1.1.6", + "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-1.1.6.tgz", + "integrity": "sha512-7RW+w7HfMCPyZLifTz/UnJmI5kdkXtpCbombUSs8xniAyo0vIbrDzDwUJB6eJOgl9u5DQOt2TQlYumxzD1SvYA==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "d3-dispatch": "1", "d3-drag": "1", @@ -7782,8 +8352,9 @@ }, "node_modules/d3-node/node_modules/d3-chord": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-1.0.6.tgz", + "integrity": "sha512-JXA2Dro1Fxw9rJe33Uv+Ckr5IrAa74TlfDEhE/jfLOaXegMQFQTAgAw9WnZL8+HxVBRXaRGCkrNU7pJeylRIuA==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "d3-array": "1", "d3-path": "1" @@ -7791,26 +8362,30 @@ }, "node_modules/d3-node/node_modules/d3-color": { "version": "1.4.1", - "dev": true, - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-1.4.1.tgz", + "integrity": "sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q==", + "dev": true }, "node_modules/d3-node/node_modules/d3-contour": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-1.3.2.tgz", + "integrity": "sha512-hoPp4K/rJCu0ladiH6zmJUEz6+u3lgR+GSm/QdM2BBvDraU39Vr7YdDCicJcxP1z8i9B/2dJLgDC1NcvlF8WCg==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "d3-array": "^1.1.1" } }, "node_modules/d3-node/node_modules/d3-dispatch": { "version": "1.0.6", - "dev": true, - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-1.0.6.tgz", + "integrity": "sha512-fVjoElzjhCEy+Hbn8KygnmMS7Or0a9sI2UzGwoB7cCtvI1XpVN9GpoYlnb3xt2YV66oXYb1fLJ8GMvP4hdU1RA==", + "dev": true }, "node_modules/d3-node/node_modules/d3-drag": { "version": "1.2.5", + "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-1.2.5.tgz", + "integrity": "sha512-rD1ohlkKQwMZYkQlYVCrSFxsWPzI97+W+PaEIBNTMxRuxz9RF0Hi5nJWHGVJ3Om9d2fRTe1yOBINJyy/ahV95w==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "d3-dispatch": "1", "d3-selection": "1" @@ -7818,8 +8393,9 @@ }, "node_modules/d3-node/node_modules/d3-dsv": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-1.2.0.tgz", + "integrity": "sha512-9yVlqvZcSOMhCYzniHE7EVUws7Fa1zgw+/EAV2BxJoG3ME19V6BQFBwI855XQDsxyOuG7NibqRMTtiF/Qup46g==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "commander": "2", "iconv-lite": "0.4", @@ -7839,21 +8415,24 @@ }, "node_modules/d3-node/node_modules/d3-ease": { "version": "1.0.7", - "dev": true, - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-1.0.7.tgz", + "integrity": "sha512-lx14ZPYkhNx0s/2HX5sLFUI3mbasHjSSpwO/KaaNACweVwxUruKyWVcb293wMv1RqTPZyZ8kSZ2NogUZNcLOFQ==", + "dev": true }, "node_modules/d3-node/node_modules/d3-fetch": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-1.2.0.tgz", + "integrity": "sha512-yC78NBVcd2zFAyR/HnUiBS7Lf6inSCoWcSxFfw8FYL7ydiqe80SazNwoffcqOfs95XaLo7yebsmQqDKSsXUtvA==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "d3-dsv": "1" } }, "node_modules/d3-node/node_modules/d3-force": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-1.2.1.tgz", + "integrity": "sha512-HHvehyaiUlVo5CxBJ0yF/xny4xoaxFxDnBXNvNcfW9adORGZfyNF1dj6DGLKyk4Yh3brP/1h3rnDzdIAwL08zg==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "d3-collection": "1", "d3-dispatch": "1", @@ -7863,54 +8442,63 @@ }, "node_modules/d3-node/node_modules/d3-format": { "version": "1.4.5", - "dev": true, - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.4.5.tgz", + "integrity": "sha512-J0piedu6Z8iB6TbIGfZgDzfXxUFN3qQRMofy2oPdXzQibYGqPB/9iMcxr/TGalU+2RsyDO+U4f33id8tbnSRMQ==", + "dev": true }, "node_modules/d3-node/node_modules/d3-geo": { "version": "1.12.1", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-1.12.1.tgz", + "integrity": "sha512-XG4d1c/UJSEX9NfU02KwBL6BYPj8YKHxgBEw5om2ZnTRSbIcego6dhHwcxuSR3clxh0EpE38os1DVPOmnYtTPg==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "d3-array": "1" } }, "node_modules/d3-node/node_modules/d3-hierarchy": { "version": "1.1.9", - "dev": true, - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-1.1.9.tgz", + "integrity": "sha512-j8tPxlqh1srJHAtxfvOUwKNYJkQuBFdM1+JAUfq6xqH5eAqf93L7oG1NVqDa4CpFZNvnNKtCYEUC8KY9yEn9lQ==", + "dev": true }, "node_modules/d3-node/node_modules/d3-interpolate": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-1.4.0.tgz", + "integrity": "sha512-V9znK0zc3jOPV4VD2zZn0sDhZU3WAE2bmlxdIwwQPPzPjvyLkd8B3JUVdS1IDUFDkWZ72c9qnv1GK2ZagTZ8EA==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "d3-color": "1" } }, "node_modules/d3-node/node_modules/d3-path": { "version": "1.0.9", - "dev": true, - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz", + "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==", + "dev": true }, "node_modules/d3-node/node_modules/d3-polygon": { "version": "1.0.6", - "dev": true, - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-1.0.6.tgz", + "integrity": "sha512-k+RF7WvI08PC8reEoXa/w2nSg5AUMTi+peBD9cmFc+0ixHfbs4QmxxkarVal1IkVkgxVuk9JSHhJURHiyHKAuQ==", + "dev": true }, "node_modules/d3-node/node_modules/d3-quadtree": { "version": "1.0.7", - "dev": true, - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-1.0.7.tgz", + "integrity": "sha512-RKPAeXnkC59IDGD0Wu5mANy0Q2V28L+fNe65pOCXVdVuTJS3WPKaJlFHer32Rbh9gIo9qMuJXio8ra4+YmIymA==", + "dev": true }, "node_modules/d3-node/node_modules/d3-random": { "version": "1.1.2", - "dev": true, - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-1.1.2.tgz", + "integrity": "sha512-6AK5BNpIFqP+cx/sreKzNjWbwZQCSUatxq+pPRmFIQaWuoD+NrbVWw7YWpHiXpCQ/NanKdtGDuB+VQcZDaEmYQ==", + "dev": true }, "node_modules/d3-node/node_modules/d3-scale": { "version": "2.2.2", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-2.2.2.tgz", + "integrity": "sha512-LbeEvGgIb8UMcAa0EATLNX0lelKWGYDQiPdHj+gLblGVhGLyNbaCn3EvrJf0A3Y/uOOU5aD6MTh5ZFCdEwGiCw==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "d3-array": "^1.2.0", "d3-collection": "1", @@ -7922,8 +8510,9 @@ }, "node_modules/d3-node/node_modules/d3-scale-chromatic": { "version": "1.5.0", + "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-1.5.0.tgz", + "integrity": "sha512-ACcL46DYImpRFMBcpk9HhtIyC7bTBR4fNOPxwVSl0LfulDAwyiHyPOTqcDG1+t5d4P9W7t/2NAuWu59aKko/cg==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "d3-color": "1", "d3-interpolate": "1" @@ -7931,39 +8520,45 @@ }, "node_modules/d3-node/node_modules/d3-selection": { "version": "1.4.2", - "dev": true, - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-1.4.2.tgz", + "integrity": "sha512-SJ0BqYihzOjDnnlfyeHT0e30k0K1+5sR3d5fNueCNeuhZTnGw4M4o8mqJchSwgKMXCNFo+e2VTChiSJ0vYtXkg==", + "dev": true }, "node_modules/d3-node/node_modules/d3-shape": { "version": "1.3.7", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz", + "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "d3-path": "1" } }, "node_modules/d3-node/node_modules/d3-time": { "version": "1.1.0", - "dev": true, - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-1.1.0.tgz", + "integrity": "sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA==", + "dev": true }, "node_modules/d3-node/node_modules/d3-time-format": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-2.3.0.tgz", + "integrity": "sha512-guv6b2H37s2Uq/GefleCDtbe0XZAuy7Wa49VGkPVPMfLL9qObgBST3lEHJBMUp8S7NdLQAGIvr2KXk8Hc98iKQ==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "d3-time": "1" } }, "node_modules/d3-node/node_modules/d3-timer": { "version": "1.0.10", - "dev": true, - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-1.0.10.tgz", + "integrity": "sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw==", + "dev": true }, "node_modules/d3-node/node_modules/d3-transition": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-1.3.2.tgz", + "integrity": "sha512-sc0gRU4PFqZ47lPVHloMn9tlPcv8jxgOQg+0zjhfZXMQuvppjG6YuwdMBE0TuqCZjeJkLecku/l9R0JPcRhaDA==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "d3-color": "1", "d3-dispatch": "1", @@ -7975,8 +8570,9 @@ }, "node_modules/d3-node/node_modules/d3-zoom": { "version": "1.8.3", + "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-1.8.3.tgz", + "integrity": "sha512-VoLXTK4wvy1a0JpH2Il+F2CiOhVu7VRXWF5M/LroMIh3/zBAC3WAt7QoIvPibOavVo20hN6/37vwAsdBejLyKQ==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "d3-dispatch": "1", "d3-drag": "1", @@ -7987,8 +8583,9 @@ }, "node_modules/d3-node/node_modules/iconv-lite": { "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, - "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -7998,40 +8595,45 @@ }, "node_modules/d3-path": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", "dev": true, - "license": "ISC", "engines": { "node": ">=12" } }, "node_modules/d3-polygon": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz", + "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==", "dev": true, - "license": "ISC", "engines": { "node": ">=12" } }, "node_modules/d3-quadtree": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz", + "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==", "dev": true, - "license": "ISC", "engines": { "node": ">=12" } }, "node_modules/d3-random": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz", + "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==", "dev": true, - "license": "ISC", "engines": { "node": ">=12" } }, "node_modules/d3-scale": { "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", + "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", "dev": true, - "license": "ISC", "dependencies": { "d3-array": "2.10.0 - 3", "d3-format": "1 - 3", @@ -8045,8 +8647,9 @@ }, "node_modules/d3-scale-chromatic": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", + "integrity": "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==", "dev": true, - "license": "ISC", "dependencies": { "d3-color": "1 - 3", "d3-interpolate": "1 - 3" @@ -8057,16 +8660,18 @@ }, "node_modules/d3-selection": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", + "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", "dev": true, - "license": "ISC", "engines": { "node": ">=12" } }, "node_modules/d3-shape": { "version": "3.2.0", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", + "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", "dev": true, - "license": "ISC", "dependencies": { "d3-path": "^3.1.0" }, @@ -8076,8 +8681,9 @@ }, "node_modules/d3-time": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", + "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", "dev": true, - "license": "ISC", "dependencies": { "d3-array": "2 - 3" }, @@ -8087,8 +8693,9 @@ }, "node_modules/d3-time-format": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", + "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", "dev": true, - "license": "ISC", "dependencies": { "d3-time": "1 - 3" }, @@ -8098,16 +8705,18 @@ }, "node_modules/d3-timer": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", + "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", "dev": true, - "license": "ISC", "engines": { "node": ">=12" } }, "node_modules/d3-transition": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz", + "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==", "dev": true, - "license": "ISC", "dependencies": { "d3-color": "1 - 3", "d3-dispatch": "1 - 3", @@ -8124,13 +8733,15 @@ }, "node_modules/d3-voronoi": { "version": "1.1.4", - "dev": true, - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/d3-voronoi/-/d3-voronoi-1.1.4.tgz", + "integrity": "sha512-dArJ32hchFsrQ8uMiTBLq256MpnZjeuBtdHpaDlYuQyjU0CVzCJl/BVW+SkszaAeH95D/8gxqAhgx0ouAWAfRg==", + "dev": true }, "node_modules/d3-zoom": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz", + "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==", "dev": true, - "license": "ISC", "dependencies": { "d3-dispatch": "1 - 3", "d3-drag": "2 - 3", @@ -8144,8 +8755,9 @@ }, "node_modules/damerau-levenshtein": { "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", "dev": true, - "license": "BSD-2-Clause", "peer": true }, "node_modules/dashdash": { @@ -8162,15 +8774,17 @@ }, "node_modules/data-uri-to-buffer": { "version": "4.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", + "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", "engines": { "node": ">= 12" } }, "node_modules/data-urls": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", "dev": true, - "license": "MIT", "dependencies": { "abab": "^2.0.3", "whatwg-mimetype": "^2.3.0", @@ -8182,8 +8796,9 @@ }, "node_modules/data-view-buffer": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", + "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.6", @@ -8199,8 +8814,9 @@ }, "node_modules/data-view-byte-length": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", + "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.7", @@ -8216,8 +8832,9 @@ }, "node_modules/data-view-byte-offset": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", + "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.6", @@ -8233,16 +8850,18 @@ }, "node_modules/dateformat": { "version": "4.6.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-4.6.3.tgz", + "integrity": "sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==", "engines": { "node": "*" } }, "node_modules/debug": { - "version": "4.3.5", - "license": "MIT", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "dependencies": { - "ms": "2.1.2" + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -8253,21 +8872,19 @@ } } }, - "node_modules/debug/node_modules/ms": { - "version": "2.1.2", - "license": "MIT" - }, "node_modules/decamelize": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/decimal.js": { "version": "10.4.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" }, "node_modules/decode-uri-component": { "version": "0.2.2", @@ -8280,8 +8897,9 @@ }, "node_modules/decompress-response": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", "dev": true, - "license": "MIT", "dependencies": { "mimic-response": "^3.1.0" }, @@ -8294,8 +8912,9 @@ }, "node_modules/deep-eql": { "version": "4.1.4", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.4.tgz", + "integrity": "sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==", "dev": true, - "license": "MIT", "dependencies": { "type-detect": "^4.0.0" }, @@ -8305,18 +8924,21 @@ }, "node_modules/deep-extend": { "version": "0.6.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", "engines": { "node": ">=4.0.0" } }, "node_modules/deep-is": { "version": "0.1.4", - "license": "MIT" + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" }, "node_modules/default-gateway": { "version": "6.0.3", - "license": "BSD-2-Clause", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", "dependencies": { "execa": "^5.0.0" }, @@ -8326,8 +8948,9 @@ }, "node_modules/default-require-extensions": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.1.tgz", + "integrity": "sha512-eXTJmRbm2TIt9MgWTsOH1wEuhew6XGZcMeGKCtLedIg/NCsg1iBePXkceTdK4Fii7pzmN9tGsZhKzZ4h7O/fxw==", "dev": true, - "license": "MIT", "dependencies": { "strip-bom": "^4.0.0" }, @@ -8349,7 +8972,8 @@ }, "node_modules/define-data-property": { "version": "1.1.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", @@ -8364,8 +8988,9 @@ }, "node_modules/define-properties": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", "dev": true, - "license": "MIT", "dependencies": { "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", @@ -8380,45 +9005,41 @@ }, "node_modules/delaunator": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.1.tgz", + "integrity": "sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==", "dev": true, - "license": "ISC", "dependencies": { "robust-predicates": "^3.0.2" } }, "node_modules/delayed-stream": { "version": "1.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", "engines": { "node": ">=0.4.0" } }, "node_modules/denque": { "version": "2.1.0", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz", + "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==", "engines": { "node": ">=0.10" } }, "node_modules/depd": { "version": "2.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "engines": { "node": ">= 0.8" } }, - "node_modules/dequal": { - "version": "2.0.3", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=6" - } - }, "node_modules/destroy": { "version": "1.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "engines": { "node": ">= 0.8", "npm": "1.2.8000 || >= 1.4.16" @@ -8426,24 +9047,25 @@ }, "node_modules/detect-libc": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", + "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=8" } }, "node_modules/diff": { "version": "4.0.2", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", "engines": { "node": ">=0.3.1" } }, "node_modules/dkg-evm-module": { - "version": "8.0.1-alpha.1", - "resolved": "https://registry.npmjs.org/dkg-evm-module/-/dkg-evm-module-8.0.1-alpha.1.tgz", - "integrity": "sha512-D0lncygaWyuXBMq9U5ApXhdrAVyvkJEG7pO8knED7l5jwaCw6SNYTkhUc8FMVqX+9g9quo56SlxTGYGCMocgRw==", - "license": "Apache-2.0", + "version": "8.0.2-alpha.0", + "resolved": "https://registry.npmjs.org/dkg-evm-module/-/dkg-evm-module-8.0.2-alpha.0.tgz", + "integrity": "sha512-T24YV2JBiOb6tXhJymhc2nYbv99vLMXr/fLXGITMSZBpdPrjCL0mClfit2k3XZ4GtUrZg7NJXBAu4ZFyXuHyhQ==", "dependencies": { "@openzeppelin/contracts": "^4.9.3", "@polkadot/api": "^11.0.3", @@ -8460,10 +9082,11 @@ } }, "node_modules/dkg-evm-module/node_modules/@noble/hashes": { - "version": "1.4.0", - "license": "MIT", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.6.1.tgz", + "integrity": "sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w==", "engines": { - "node": ">= 16" + "node": "^14.21.3 || >=16" }, "funding": { "url": "https://paulmillr.com/funding/" @@ -8471,7 +9094,8 @@ }, "node_modules/dkg-evm-module/node_modules/@polkadot/api": { "version": "11.3.1", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/api/-/api-11.3.1.tgz", + "integrity": "sha512-q4kFIIHTLvKxM24b0Eo8hJevsPMme+aITJGrDML9BgdZYTRN14+cu5nXiCsQvaEamdyYj+uCXWe2OV9X7pPxsA==", "dependencies": { "@polkadot/api-augment": "11.3.1", "@polkadot/api-base": "11.3.1", @@ -8497,7 +9121,8 @@ }, "node_modules/dkg-evm-module/node_modules/@polkadot/api-augment": { "version": "11.3.1", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/api-augment/-/api-augment-11.3.1.tgz", + "integrity": "sha512-Yj+6rb6h0WwY3yJ+UGhjGW+tyMRFUMsKQuGw+eFsXdjiNU9UoXsAqA2dG7Q1F+oeX/g+y2gLGBezNoCwbl6HfA==", "dependencies": { "@polkadot/api-base": "11.3.1", "@polkadot/rpc-augment": "11.3.1", @@ -8513,7 +9138,8 @@ }, "node_modules/dkg-evm-module/node_modules/@polkadot/api-base": { "version": "11.3.1", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/api-base/-/api-base-11.3.1.tgz", + "integrity": "sha512-b8UkNL00NN7+3QaLCwL5cKg+7YchHoKCAhwKusWHNBZkkO6Oo2BWilu0dZkPJOyqV9P389Kbd9+oH+SKs9u2VQ==", "dependencies": { "@polkadot/rpc-core": "11.3.1", "@polkadot/types": "11.3.1", @@ -8527,7 +9153,8 @@ }, "node_modules/dkg-evm-module/node_modules/@polkadot/api-derive": { "version": "11.3.1", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/api-derive/-/api-derive-11.3.1.tgz", + "integrity": "sha512-9dopzrh4cRuft1nANmBvMY/hEhFDu0VICMTOGxQLOl8NMfcOFPTLAN0JhSBUoicGZhV+c4vpv01NBx/7/IL1HA==", "dependencies": { "@polkadot/api": "11.3.1", "@polkadot/api-augment": "11.3.1", @@ -8546,7 +9173,8 @@ }, "node_modules/dkg-evm-module/node_modules/@polkadot/keyring": { "version": "12.6.2", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/keyring/-/keyring-12.6.2.tgz", + "integrity": "sha512-O3Q7GVmRYm8q7HuB3S0+Yf/q/EB2egKRRU3fv9b3B7V+A52tKzA+vIwEmNVaD1g5FKW9oB97rmpggs0zaKFqHw==", "dependencies": { "@polkadot/util": "12.6.2", "@polkadot/util-crypto": "12.6.2", @@ -8562,7 +9190,8 @@ }, "node_modules/dkg-evm-module/node_modules/@polkadot/networks": { "version": "12.6.2", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/networks/-/networks-12.6.2.tgz", + "integrity": "sha512-1oWtZm1IvPWqvMrldVH6NI2gBoCndl5GEwx7lAuQWGr7eNL+6Bdc5K3Z9T0MzFvDGoi2/CBqjX9dRKo39pDC/w==", "dependencies": { "@polkadot/util": "12.6.2", "@substrate/ss58-registry": "^1.44.0", @@ -8574,7 +9203,8 @@ }, "node_modules/dkg-evm-module/node_modules/@polkadot/rpc-augment": { "version": "11.3.1", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/rpc-augment/-/rpc-augment-11.3.1.tgz", + "integrity": "sha512-2PaDcKNju4QYQpxwVkWbRU3M0t340nMX9cMo+8awgvgL1LliV/fUDZueMKLuSS910JJMTPQ7y2pK4eQgMt08gQ==", "dependencies": { "@polkadot/rpc-core": "11.3.1", "@polkadot/types": "11.3.1", @@ -8588,7 +9218,8 @@ }, "node_modules/dkg-evm-module/node_modules/@polkadot/rpc-core": { "version": "11.3.1", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/rpc-core/-/rpc-core-11.3.1.tgz", + "integrity": "sha512-KKNepsDd/mpmXcA6v/h14eFFPEzLGd7nrvx2UUXUxoZ0Fq2MH1hplP3s93k1oduNY/vOXJR2K9S4dKManA6GVQ==", "dependencies": { "@polkadot/rpc-augment": "11.3.1", "@polkadot/rpc-provider": "11.3.1", @@ -8603,7 +9234,8 @@ }, "node_modules/dkg-evm-module/node_modules/@polkadot/rpc-provider": { "version": "11.3.1", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/rpc-provider/-/rpc-provider-11.3.1.tgz", + "integrity": "sha512-pqERChoHo45hd3WAgW8UuzarRF+G/o/eXEbl0PXLubiayw4X4qCmIzmtntUcKYgxGNcYGZaG87ZU8OjN97m6UA==", "dependencies": { "@polkadot/keyring": "^12.6.2", "@polkadot/types": "11.3.1", @@ -8627,7 +9259,8 @@ }, "node_modules/dkg-evm-module/node_modules/@polkadot/types": { "version": "11.3.1", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/types/-/types-11.3.1.tgz", + "integrity": "sha512-5c7uRFXQTT11Awi6T0yFIdAfD6xGDAOz06Kp7M5S9OGNZY28wSPk5x6BYfNphWPaIBmHHewYJB5qmnrdYQAWKQ==", "dependencies": { "@polkadot/keyring": "^12.6.2", "@polkadot/types-augment": "11.3.1", @@ -8644,7 +9277,8 @@ }, "node_modules/dkg-evm-module/node_modules/@polkadot/types-augment": { "version": "11.3.1", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/types-augment/-/types-augment-11.3.1.tgz", + "integrity": "sha512-eR3HVpvUmB3v7q2jTWVmVfAVfb1/kuNn7ij94Zqadg/fuUq0pKqIOKwkUj3OxRM3A/5BnW3MbgparjKD3r+fyw==", "dependencies": { "@polkadot/types": "11.3.1", "@polkadot/types-codec": "11.3.1", @@ -8657,7 +9291,8 @@ }, "node_modules/dkg-evm-module/node_modules/@polkadot/types-codec": { "version": "11.3.1", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/types-codec/-/types-codec-11.3.1.tgz", + "integrity": "sha512-i7IiiuuL+Z/jFoKTA9xeh4wGQnhnNNjMT0+1ohvlOvnFsoKZKFQQOaDPPntGJVL1JDCV+KjkN2uQKZSeW8tguQ==", "dependencies": { "@polkadot/util": "^12.6.2", "@polkadot/x-bigint": "^12.6.2", @@ -8669,7 +9304,8 @@ }, "node_modules/dkg-evm-module/node_modules/@polkadot/types-create": { "version": "11.3.1", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/types-create/-/types-create-11.3.1.tgz", + "integrity": "sha512-pBXtpz5FehcRJ6j5MzFUIUN8ZWM7z6HbqK1GxBmYbJVRElcGcOg7a/rL2pQVphU0Rx1E8bSO4thzGf4wUxSX7w==", "dependencies": { "@polkadot/types-codec": "11.3.1", "@polkadot/util": "^12.6.2", @@ -8681,7 +9317,8 @@ }, "node_modules/dkg-evm-module/node_modules/@polkadot/types-known": { "version": "11.3.1", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/types-known/-/types-known-11.3.1.tgz", + "integrity": "sha512-3BIof7u6tn9bk3ZCIxA07iNoQ3uj4+vn3DTOjCKECozkRlt6V+kWRvqh16Hc0SHMg/QjcMb2fIu/WZhka1McUQ==", "dependencies": { "@polkadot/networks": "^12.6.2", "@polkadot/types": "11.3.1", @@ -8696,7 +9333,8 @@ }, "node_modules/dkg-evm-module/node_modules/@polkadot/types-support": { "version": "11.3.1", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/types-support/-/types-support-11.3.1.tgz", + "integrity": "sha512-jTFz1GKyF7nI29yIOq4v0NiWTOf5yX4HahJNeFD8TcxoLhF+6tH/XXqrUXJEfbaTlSrRWiW1LZYlb+snctqKHA==", "dependencies": { "@polkadot/util": "^12.6.2", "tslib": "^2.6.2" @@ -8707,7 +9345,8 @@ }, "node_modules/dkg-evm-module/node_modules/@polkadot/util": { "version": "12.6.2", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-12.6.2.tgz", + "integrity": "sha512-l8TubR7CLEY47240uki0TQzFvtnxFIO7uI/0GoWzpYD/O62EIAMRsuY01N4DuwgKq2ZWD59WhzsLYmA5K6ksdw==", "dependencies": { "@polkadot/x-bigint": "12.6.2", "@polkadot/x-global": "12.6.2", @@ -8723,7 +9362,8 @@ }, "node_modules/dkg-evm-module/node_modules/@polkadot/util-crypto": { "version": "12.6.2", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/util-crypto/-/util-crypto-12.6.2.tgz", + "integrity": "sha512-FEWI/dJ7wDMNN1WOzZAjQoIcCP/3vz3wvAp5QQm+lOrzOLj0iDmaIGIcBkz8HVm3ErfSe/uKP0KS4jgV/ib+Mg==", "dependencies": { "@noble/curves": "^1.3.0", "@noble/hashes": "^1.3.3", @@ -8744,11 +9384,12 @@ } }, "node_modules/dkg-evm-module/node_modules/@polkadot/wasm-bridge": { - "version": "7.3.2", - "license": "Apache-2.0", + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@polkadot/wasm-bridge/-/wasm-bridge-7.4.1.tgz", + "integrity": "sha512-tdkJaV453tezBxhF39r4oeG0A39sPKGDJmN81LYLf+Fihb7astzwju+u75BRmDrHZjZIv00un3razJEWCxze6g==", "dependencies": { - "@polkadot/wasm-util": "7.3.2", - "tslib": "^2.6.2" + "@polkadot/wasm-util": "7.4.1", + "tslib": "^2.7.0" }, "engines": { "node": ">=18" @@ -8759,15 +9400,16 @@ } }, "node_modules/dkg-evm-module/node_modules/@polkadot/wasm-crypto": { - "version": "7.3.2", - "license": "Apache-2.0", + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto/-/wasm-crypto-7.4.1.tgz", + "integrity": "sha512-kHN/kF7hYxm1y0WeFLWeWir6oTzvcFmR4N8fJJokR+ajYbdmrafPN+6iLgQVbhZnDdxyv9jWDuRRsDnBx8tPMQ==", "dependencies": { - "@polkadot/wasm-bridge": "7.3.2", - "@polkadot/wasm-crypto-asmjs": "7.3.2", - "@polkadot/wasm-crypto-init": "7.3.2", - "@polkadot/wasm-crypto-wasm": "7.3.2", - "@polkadot/wasm-util": "7.3.2", - "tslib": "^2.6.2" + "@polkadot/wasm-bridge": "7.4.1", + "@polkadot/wasm-crypto-asmjs": "7.4.1", + "@polkadot/wasm-crypto-init": "7.4.1", + "@polkadot/wasm-crypto-wasm": "7.4.1", + "@polkadot/wasm-util": "7.4.1", + "tslib": "^2.7.0" }, "engines": { "node": ">=18" @@ -8778,10 +9420,11 @@ } }, "node_modules/dkg-evm-module/node_modules/@polkadot/wasm-crypto-asmjs": { - "version": "7.3.2", - "license": "Apache-2.0", + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto-asmjs/-/wasm-crypto-asmjs-7.4.1.tgz", + "integrity": "sha512-pwU8QXhUW7IberyHJIQr37IhbB6DPkCG5FhozCiNTq4vFBsFPjm9q8aZh7oX1QHQaiAZa2m2/VjIVE+FHGbvHQ==", "dependencies": { - "tslib": "^2.6.2" + "tslib": "^2.7.0" }, "engines": { "node": ">=18" @@ -8791,14 +9434,15 @@ } }, "node_modules/dkg-evm-module/node_modules/@polkadot/wasm-crypto-init": { - "version": "7.3.2", - "license": "Apache-2.0", + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto-init/-/wasm-crypto-init-7.4.1.tgz", + "integrity": "sha512-AVka33+f7MvXEEIGq5U0dhaA2SaXMXnxVCQyhJTaCnJ5bRDj0Xlm3ijwDEQUiaDql7EikbkkRtmlvs95eSUWYQ==", "dependencies": { - "@polkadot/wasm-bridge": "7.3.2", - "@polkadot/wasm-crypto-asmjs": "7.3.2", - "@polkadot/wasm-crypto-wasm": "7.3.2", - "@polkadot/wasm-util": "7.3.2", - "tslib": "^2.6.2" + "@polkadot/wasm-bridge": "7.4.1", + "@polkadot/wasm-crypto-asmjs": "7.4.1", + "@polkadot/wasm-crypto-wasm": "7.4.1", + "@polkadot/wasm-util": "7.4.1", + "tslib": "^2.7.0" }, "engines": { "node": ">=18" @@ -8809,11 +9453,12 @@ } }, "node_modules/dkg-evm-module/node_modules/@polkadot/wasm-crypto-wasm": { - "version": "7.3.2", - "license": "Apache-2.0", + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto-wasm/-/wasm-crypto-wasm-7.4.1.tgz", + "integrity": "sha512-PE1OAoupFR0ZOV2O8tr7D1FEUAwaggzxtfs3Aa5gr+yxlSOaWUKeqsOYe1KdrcjmZVV3iINEAXxgrbzCmiuONg==", "dependencies": { - "@polkadot/wasm-util": "7.3.2", - "tslib": "^2.6.2" + "@polkadot/wasm-util": "7.4.1", + "tslib": "^2.7.0" }, "engines": { "node": ">=18" @@ -8823,10 +9468,11 @@ } }, "node_modules/dkg-evm-module/node_modules/@polkadot/wasm-util": { - "version": "7.3.2", - "license": "Apache-2.0", + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@polkadot/wasm-util/-/wasm-util-7.4.1.tgz", + "integrity": "sha512-RAcxNFf3zzpkr+LX/ItAsvj+QyM56TomJ0xjUMo4wKkHjwsxkz4dWJtx5knIgQz/OthqSDMR59VNEycQeNuXzA==", "dependencies": { - "tslib": "^2.6.2" + "tslib": "^2.7.0" }, "engines": { "node": ">=18" @@ -8837,7 +9483,8 @@ }, "node_modules/dkg-evm-module/node_modules/@polkadot/x-bigint": { "version": "12.6.2", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-12.6.2.tgz", + "integrity": "sha512-HSIk60uFPX4GOFZSnIF7VYJz7WZA7tpFJsne7SzxOooRwMTWEtw3fUpFy5cYYOeLh17/kHH1Y7SVcuxzVLc74Q==", "dependencies": { "@polkadot/x-global": "12.6.2", "tslib": "^2.6.2" @@ -8848,7 +9495,8 @@ }, "node_modules/dkg-evm-module/node_modules/@polkadot/x-fetch": { "version": "12.6.2", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/x-fetch/-/x-fetch-12.6.2.tgz", + "integrity": "sha512-8wM/Z9JJPWN1pzSpU7XxTI1ldj/AfC8hKioBlUahZ8gUiJaOF7K9XEFCrCDLis/A1BoOu7Ne6WMx/vsJJIbDWw==", "dependencies": { "@polkadot/x-global": "12.6.2", "node-fetch": "^3.3.2", @@ -8860,7 +9508,8 @@ }, "node_modules/dkg-evm-module/node_modules/@polkadot/x-global": { "version": "12.6.2", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-12.6.2.tgz", + "integrity": "sha512-a8d6m+PW98jmsYDtAWp88qS4dl8DyqUBsd0S+WgyfSMtpEXu6v9nXDgPZgwF5xdDvXhm+P0ZfVkVTnIGrScb5g==", "dependencies": { "tslib": "^2.6.2" }, @@ -8870,7 +9519,8 @@ }, "node_modules/dkg-evm-module/node_modules/@polkadot/x-randomvalues": { "version": "12.6.2", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/x-randomvalues/-/x-randomvalues-12.6.2.tgz", + "integrity": "sha512-Vr8uG7rH2IcNJwtyf5ebdODMcr0XjoCpUbI91Zv6AlKVYOGKZlKLYJHIwpTaKKB+7KPWyQrk4Mlym/rS7v9feg==", "dependencies": { "@polkadot/x-global": "12.6.2", "tslib": "^2.6.2" @@ -8885,7 +9535,8 @@ }, "node_modules/dkg-evm-module/node_modules/@polkadot/x-textdecoder": { "version": "12.6.2", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-12.6.2.tgz", + "integrity": "sha512-M1Bir7tYvNappfpFWXOJcnxUhBUFWkUFIdJSyH0zs5LmFtFdbKAeiDXxSp2Swp5ddOZdZgPac294/o2TnQKN1w==", "dependencies": { "@polkadot/x-global": "12.6.2", "tslib": "^2.6.2" @@ -8896,7 +9547,8 @@ }, "node_modules/dkg-evm-module/node_modules/@polkadot/x-textencoder": { "version": "12.6.2", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-12.6.2.tgz", + "integrity": "sha512-4N+3UVCpI489tUJ6cv3uf0PjOHvgGp9Dl+SZRLgFGt9mvxnvpW/7+XBADRMtlG4xi5gaRK7bgl5bmY6OMDsNdw==", "dependencies": { "@polkadot/x-global": "12.6.2", "tslib": "^2.6.2" @@ -8907,7 +9559,8 @@ }, "node_modules/dkg-evm-module/node_modules/@polkadot/x-ws": { "version": "12.6.2", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@polkadot/x-ws/-/x-ws-12.6.2.tgz", + "integrity": "sha512-cGZWo7K5eRRQCRl2LrcyCYsrc3lRbTlixZh3AzgU8uX4wASVGRlNWi/Hf4TtHNe1ExCDmxabJzdIsABIfrr7xw==", "dependencies": { "@polkadot/x-global": "12.6.2", "tslib": "^2.6.2", @@ -8918,15 +9571,18 @@ } }, "node_modules/dkg-evm-module/node_modules/@scure/base": { - "version": "1.1.7", - "license": "MIT", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.2.1.tgz", + "integrity": "sha512-DGmGtC8Tt63J5GfHgfl5CuAXh96VF/LD8K9Hr/Gv0J2lAoRGlPOMpqMpMbCTOoOJMZCk2Xt+DskdDyn6dEFdzQ==", "funding": { "url": "https://paulmillr.com/funding/" } }, "node_modules/dkg-evm-module/node_modules/@substrate/connect": { "version": "0.8.10", - "license": "GPL-3.0-only", + "resolved": "https://registry.npmjs.org/@substrate/connect/-/connect-0.8.10.tgz", + "integrity": "sha512-DIyQ13DDlXqVFnLV+S6/JDgiGowVRRrh18kahieJxhgvzcWicw5eLc6jpfQ0moVVLBYkO7rctB5Wreldwpva8w==", + "deprecated": "versions below 1.x are no longer maintained", "optional": true, "dependencies": { "@substrate/connect-extension-protocol": "^2.0.0", @@ -8936,52 +9592,32 @@ } }, "node_modules/dkg-evm-module/node_modules/@substrate/connect-extension-protocol": { - "version": "2.0.0", - "license": "GPL-3.0-only", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@substrate/connect-extension-protocol/-/connect-extension-protocol-2.2.1.tgz", + "integrity": "sha512-GoafTgm/Jey9E4Xlj4Z5ZBt/H4drH2CNq8VrAro80rtoznrXnFDNVivLQzZN0Xaj2g8YXSn9pC9Oc9IovYZJXw==", "optional": true }, - "node_modules/dkg-evm-module/node_modules/typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, "node_modules/dkg.js": { - "version": "6.3.0", + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/dkg.js/-/dkg.js-6.5.3.tgz", + "integrity": "sha512-A3dN9jcxOXD8e5JQpf7PBRjvmDabDeMGboA8p5THbFHwBostikG4UHC7BttN4CKyvgnQudKpFjAYRGkemGku2g==", "dev": true, - "license": "Apache-2.0", "dependencies": { "assertion-tools": "^2.1.0", "axios": "^0.27.2", - "dkg-evm-module": "^4.2.4", + "dkg-evm-module": "^4.3.3", "ethers": "^6.1.0", "jsonld": "^8.1.0", "web3": "^1.7.3" } }, - "node_modules/dkg.js/node_modules/@noble/curves": { - "version": "1.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@noble/hashes": "1.3.2" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, "node_modules/dkg.js/node_modules/@noble/hashes": { - "version": "1.3.2", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.6.1.tgz", + "integrity": "sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w==", "dev": true, - "license": "MIT", "engines": { - "node": ">= 16" + "node": "^14.21.3 || >=16" }, "funding": { "url": "https://paulmillr.com/funding/" @@ -8992,7 +9628,6 @@ "resolved": "https://registry.npmjs.org/@polkadot/api/-/api-11.3.1.tgz", "integrity": "sha512-q4kFIIHTLvKxM24b0Eo8hJevsPMme+aITJGrDML9BgdZYTRN14+cu5nXiCsQvaEamdyYj+uCXWe2OV9X7pPxsA==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@polkadot/api-augment": "11.3.1", "@polkadot/api-base": "11.3.1", @@ -9021,7 +9656,6 @@ "resolved": "https://registry.npmjs.org/@polkadot/api-augment/-/api-augment-11.3.1.tgz", "integrity": "sha512-Yj+6rb6h0WwY3yJ+UGhjGW+tyMRFUMsKQuGw+eFsXdjiNU9UoXsAqA2dG7Q1F+oeX/g+y2gLGBezNoCwbl6HfA==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@polkadot/api-base": "11.3.1", "@polkadot/rpc-augment": "11.3.1", @@ -9036,9 +9670,9 @@ } }, "node_modules/dkg.js/node_modules/@polkadot/api-augment/node_modules/tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true, "license": "0BSD" }, @@ -9047,7 +9681,6 @@ "resolved": "https://registry.npmjs.org/@polkadot/api-base/-/api-base-11.3.1.tgz", "integrity": "sha512-b8UkNL00NN7+3QaLCwL5cKg+7YchHoKCAhwKusWHNBZkkO6Oo2BWilu0dZkPJOyqV9P389Kbd9+oH+SKs9u2VQ==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@polkadot/rpc-core": "11.3.1", "@polkadot/types": "11.3.1", @@ -9060,9 +9693,9 @@ } }, "node_modules/dkg.js/node_modules/@polkadot/api-base/node_modules/tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true, "license": "0BSD" }, @@ -9071,7 +9704,6 @@ "resolved": "https://registry.npmjs.org/@polkadot/api-derive/-/api-derive-11.3.1.tgz", "integrity": "sha512-9dopzrh4cRuft1nANmBvMY/hEhFDu0VICMTOGxQLOl8NMfcOFPTLAN0JhSBUoicGZhV+c4vpv01NBx/7/IL1HA==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@polkadot/api": "11.3.1", "@polkadot/api-augment": "11.3.1", @@ -9089,16 +9721,16 @@ } }, "node_modules/dkg.js/node_modules/@polkadot/api-derive/node_modules/tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true, "license": "0BSD" }, "node_modules/dkg.js/node_modules/@polkadot/api/node_modules/tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true, "license": "0BSD" }, @@ -9107,7 +9739,6 @@ "resolved": "https://registry.npmjs.org/@polkadot/keyring/-/keyring-12.6.2.tgz", "integrity": "sha512-O3Q7GVmRYm8q7HuB3S0+Yf/q/EB2egKRRU3fv9b3B7V+A52tKzA+vIwEmNVaD1g5FKW9oB97rmpggs0zaKFqHw==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@polkadot/util": "12.6.2", "@polkadot/util-crypto": "12.6.2", @@ -9122,9 +9753,9 @@ } }, "node_modules/dkg.js/node_modules/@polkadot/keyring/node_modules/tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true, "license": "0BSD" }, @@ -9133,7 +9764,6 @@ "resolved": "https://registry.npmjs.org/@polkadot/networks/-/networks-12.6.2.tgz", "integrity": "sha512-1oWtZm1IvPWqvMrldVH6NI2gBoCndl5GEwx7lAuQWGr7eNL+6Bdc5K3Z9T0MzFvDGoi2/CBqjX9dRKo39pDC/w==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@polkadot/util": "12.6.2", "@substrate/ss58-registry": "^1.44.0", @@ -9144,9 +9774,9 @@ } }, "node_modules/dkg.js/node_modules/@polkadot/networks/node_modules/tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true, "license": "0BSD" }, @@ -9155,7 +9785,6 @@ "resolved": "https://registry.npmjs.org/@polkadot/rpc-augment/-/rpc-augment-11.3.1.tgz", "integrity": "sha512-2PaDcKNju4QYQpxwVkWbRU3M0t340nMX9cMo+8awgvgL1LliV/fUDZueMKLuSS910JJMTPQ7y2pK4eQgMt08gQ==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@polkadot/rpc-core": "11.3.1", "@polkadot/types": "11.3.1", @@ -9168,9 +9797,9 @@ } }, "node_modules/dkg.js/node_modules/@polkadot/rpc-augment/node_modules/tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true, "license": "0BSD" }, @@ -9179,7 +9808,6 @@ "resolved": "https://registry.npmjs.org/@polkadot/rpc-core/-/rpc-core-11.3.1.tgz", "integrity": "sha512-KKNepsDd/mpmXcA6v/h14eFFPEzLGd7nrvx2UUXUxoZ0Fq2MH1hplP3s93k1oduNY/vOXJR2K9S4dKManA6GVQ==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@polkadot/rpc-augment": "11.3.1", "@polkadot/rpc-provider": "11.3.1", @@ -9193,9 +9821,9 @@ } }, "node_modules/dkg.js/node_modules/@polkadot/rpc-core/node_modules/tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true, "license": "0BSD" }, @@ -9204,7 +9832,6 @@ "resolved": "https://registry.npmjs.org/@polkadot/rpc-provider/-/rpc-provider-11.3.1.tgz", "integrity": "sha512-pqERChoHo45hd3WAgW8UuzarRF+G/o/eXEbl0PXLubiayw4X4qCmIzmtntUcKYgxGNcYGZaG87ZU8OjN97m6UA==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@polkadot/keyring": "^12.6.2", "@polkadot/types": "11.3.1", @@ -9227,9 +9854,9 @@ } }, "node_modules/dkg.js/node_modules/@polkadot/rpc-provider/node_modules/tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true, "license": "0BSD" }, @@ -9238,7 +9865,6 @@ "resolved": "https://registry.npmjs.org/@polkadot/types/-/types-11.3.1.tgz", "integrity": "sha512-5c7uRFXQTT11Awi6T0yFIdAfD6xGDAOz06Kp7M5S9OGNZY28wSPk5x6BYfNphWPaIBmHHewYJB5qmnrdYQAWKQ==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@polkadot/keyring": "^12.6.2", "@polkadot/types-augment": "11.3.1", @@ -9258,7 +9884,6 @@ "resolved": "https://registry.npmjs.org/@polkadot/types-augment/-/types-augment-11.3.1.tgz", "integrity": "sha512-eR3HVpvUmB3v7q2jTWVmVfAVfb1/kuNn7ij94Zqadg/fuUq0pKqIOKwkUj3OxRM3A/5BnW3MbgparjKD3r+fyw==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@polkadot/types": "11.3.1", "@polkadot/types-codec": "11.3.1", @@ -9270,9 +9895,9 @@ } }, "node_modules/dkg.js/node_modules/@polkadot/types-augment/node_modules/tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true, "license": "0BSD" }, @@ -9281,7 +9906,6 @@ "resolved": "https://registry.npmjs.org/@polkadot/types-codec/-/types-codec-11.3.1.tgz", "integrity": "sha512-i7IiiuuL+Z/jFoKTA9xeh4wGQnhnNNjMT0+1ohvlOvnFsoKZKFQQOaDPPntGJVL1JDCV+KjkN2uQKZSeW8tguQ==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@polkadot/util": "^12.6.2", "@polkadot/x-bigint": "^12.6.2", @@ -9292,9 +9916,9 @@ } }, "node_modules/dkg.js/node_modules/@polkadot/types-codec/node_modules/tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true, "license": "0BSD" }, @@ -9303,7 +9927,6 @@ "resolved": "https://registry.npmjs.org/@polkadot/types-create/-/types-create-11.3.1.tgz", "integrity": "sha512-pBXtpz5FehcRJ6j5MzFUIUN8ZWM7z6HbqK1GxBmYbJVRElcGcOg7a/rL2pQVphU0Rx1E8bSO4thzGf4wUxSX7w==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@polkadot/types-codec": "11.3.1", "@polkadot/util": "^12.6.2", @@ -9314,9 +9937,9 @@ } }, "node_modules/dkg.js/node_modules/@polkadot/types-create/node_modules/tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true, "license": "0BSD" }, @@ -9325,7 +9948,6 @@ "resolved": "https://registry.npmjs.org/@polkadot/types-known/-/types-known-11.3.1.tgz", "integrity": "sha512-3BIof7u6tn9bk3ZCIxA07iNoQ3uj4+vn3DTOjCKECozkRlt6V+kWRvqh16Hc0SHMg/QjcMb2fIu/WZhka1McUQ==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@polkadot/networks": "^12.6.2", "@polkadot/types": "11.3.1", @@ -9339,9 +9961,9 @@ } }, "node_modules/dkg.js/node_modules/@polkadot/types-known/node_modules/tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true, "license": "0BSD" }, @@ -9350,7 +9972,6 @@ "resolved": "https://registry.npmjs.org/@polkadot/types-support/-/types-support-11.3.1.tgz", "integrity": "sha512-jTFz1GKyF7nI29yIOq4v0NiWTOf5yX4HahJNeFD8TcxoLhF+6tH/XXqrUXJEfbaTlSrRWiW1LZYlb+snctqKHA==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@polkadot/util": "^12.6.2", "tslib": "^2.6.2" @@ -9360,16 +9981,16 @@ } }, "node_modules/dkg.js/node_modules/@polkadot/types-support/node_modules/tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true, "license": "0BSD" }, "node_modules/dkg.js/node_modules/@polkadot/types/node_modules/tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true, "license": "0BSD" }, @@ -9378,7 +9999,6 @@ "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-12.6.2.tgz", "integrity": "sha512-l8TubR7CLEY47240uki0TQzFvtnxFIO7uI/0GoWzpYD/O62EIAMRsuY01N4DuwgKq2ZWD59WhzsLYmA5K6ksdw==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@polkadot/x-bigint": "12.6.2", "@polkadot/x-global": "12.6.2", @@ -9397,7 +10017,6 @@ "resolved": "https://registry.npmjs.org/@polkadot/util-crypto/-/util-crypto-12.6.2.tgz", "integrity": "sha512-FEWI/dJ7wDMNN1WOzZAjQoIcCP/3vz3wvAp5QQm+lOrzOLj0iDmaIGIcBkz8HVm3ErfSe/uKP0KS4jgV/ib+Mg==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@noble/curves": "^1.3.0", "@noble/hashes": "^1.3.3", @@ -9417,46 +10036,17 @@ "@polkadot/util": "12.6.2" } }, - "node_modules/dkg.js/node_modules/@polkadot/util-crypto/node_modules/@noble/curves": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.6.0.tgz", - "integrity": "sha512-TlaHRXDehJuRNR9TfZDNQ45mMEd5dwUwmicsafcIX4SsNiqnCHKjE/1alYPd/lDRVhxdhUAlv8uEhMCI5zjIJQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@noble/hashes": "1.5.0" - }, - "engines": { - "node": "^14.21.3 || >=16" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/dkg.js/node_modules/@polkadot/util-crypto/node_modules/@noble/hashes": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.5.0.tgz", - "integrity": "sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^14.21.3 || >=16" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, "node_modules/dkg.js/node_modules/@polkadot/util-crypto/node_modules/tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true, "license": "0BSD" }, "node_modules/dkg.js/node_modules/@polkadot/util/node_modules/tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true, "license": "0BSD" }, @@ -9465,7 +10055,6 @@ "resolved": "https://registry.npmjs.org/@polkadot/wasm-bridge/-/wasm-bridge-7.4.1.tgz", "integrity": "sha512-tdkJaV453tezBxhF39r4oeG0A39sPKGDJmN81LYLf+Fihb7astzwju+u75BRmDrHZjZIv00un3razJEWCxze6g==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@polkadot/wasm-util": "7.4.1", "tslib": "^2.7.0" @@ -9479,9 +10068,9 @@ } }, "node_modules/dkg.js/node_modules/@polkadot/wasm-bridge/node_modules/tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true, "license": "0BSD" }, @@ -9490,7 +10079,6 @@ "resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto/-/wasm-crypto-7.4.1.tgz", "integrity": "sha512-kHN/kF7hYxm1y0WeFLWeWir6oTzvcFmR4N8fJJokR+ajYbdmrafPN+6iLgQVbhZnDdxyv9jWDuRRsDnBx8tPMQ==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@polkadot/wasm-bridge": "7.4.1", "@polkadot/wasm-crypto-asmjs": "7.4.1", @@ -9512,7 +10100,6 @@ "resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto-asmjs/-/wasm-crypto-asmjs-7.4.1.tgz", "integrity": "sha512-pwU8QXhUW7IberyHJIQr37IhbB6DPkCG5FhozCiNTq4vFBsFPjm9q8aZh7oX1QHQaiAZa2m2/VjIVE+FHGbvHQ==", "dev": true, - "license": "Apache-2.0", "dependencies": { "tslib": "^2.7.0" }, @@ -9524,9 +10111,9 @@ } }, "node_modules/dkg.js/node_modules/@polkadot/wasm-crypto-asmjs/node_modules/tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true, "license": "0BSD" }, @@ -9535,7 +10122,6 @@ "resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto-init/-/wasm-crypto-init-7.4.1.tgz", "integrity": "sha512-AVka33+f7MvXEEIGq5U0dhaA2SaXMXnxVCQyhJTaCnJ5bRDj0Xlm3ijwDEQUiaDql7EikbkkRtmlvs95eSUWYQ==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@polkadot/wasm-bridge": "7.4.1", "@polkadot/wasm-crypto-asmjs": "7.4.1", @@ -9552,9 +10138,9 @@ } }, "node_modules/dkg.js/node_modules/@polkadot/wasm-crypto-init/node_modules/tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true, "license": "0BSD" }, @@ -9563,7 +10149,6 @@ "resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto-wasm/-/wasm-crypto-wasm-7.4.1.tgz", "integrity": "sha512-PE1OAoupFR0ZOV2O8tr7D1FEUAwaggzxtfs3Aa5gr+yxlSOaWUKeqsOYe1KdrcjmZVV3iINEAXxgrbzCmiuONg==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@polkadot/wasm-util": "7.4.1", "tslib": "^2.7.0" @@ -9576,16 +10161,16 @@ } }, "node_modules/dkg.js/node_modules/@polkadot/wasm-crypto-wasm/node_modules/tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true, "license": "0BSD" }, "node_modules/dkg.js/node_modules/@polkadot/wasm-crypto/node_modules/tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true, "license": "0BSD" }, @@ -9594,7 +10179,6 @@ "resolved": "https://registry.npmjs.org/@polkadot/wasm-util/-/wasm-util-7.4.1.tgz", "integrity": "sha512-RAcxNFf3zzpkr+LX/ItAsvj+QyM56TomJ0xjUMo4wKkHjwsxkz4dWJtx5knIgQz/OthqSDMR59VNEycQeNuXzA==", "dev": true, - "license": "Apache-2.0", "dependencies": { "tslib": "^2.7.0" }, @@ -9606,9 +10190,9 @@ } }, "node_modules/dkg.js/node_modules/@polkadot/wasm-util/node_modules/tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true, "license": "0BSD" }, @@ -9617,7 +10201,6 @@ "resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-12.6.2.tgz", "integrity": "sha512-HSIk60uFPX4GOFZSnIF7VYJz7WZA7tpFJsne7SzxOooRwMTWEtw3fUpFy5cYYOeLh17/kHH1Y7SVcuxzVLc74Q==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@polkadot/x-global": "12.6.2", "tslib": "^2.6.2" @@ -9627,9 +10210,9 @@ } }, "node_modules/dkg.js/node_modules/@polkadot/x-bigint/node_modules/tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true, "license": "0BSD" }, @@ -9638,7 +10221,6 @@ "resolved": "https://registry.npmjs.org/@polkadot/x-fetch/-/x-fetch-12.6.2.tgz", "integrity": "sha512-8wM/Z9JJPWN1pzSpU7XxTI1ldj/AfC8hKioBlUahZ8gUiJaOF7K9XEFCrCDLis/A1BoOu7Ne6WMx/vsJJIbDWw==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@polkadot/x-global": "12.6.2", "node-fetch": "^3.3.2", @@ -9649,9 +10231,9 @@ } }, "node_modules/dkg.js/node_modules/@polkadot/x-fetch/node_modules/tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true, "license": "0BSD" }, @@ -9660,7 +10242,6 @@ "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-12.6.2.tgz", "integrity": "sha512-a8d6m+PW98jmsYDtAWp88qS4dl8DyqUBsd0S+WgyfSMtpEXu6v9nXDgPZgwF5xdDvXhm+P0ZfVkVTnIGrScb5g==", "dev": true, - "license": "Apache-2.0", "dependencies": { "tslib": "^2.6.2" }, @@ -9669,9 +10250,9 @@ } }, "node_modules/dkg.js/node_modules/@polkadot/x-global/node_modules/tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true, "license": "0BSD" }, @@ -9680,7 +10261,6 @@ "resolved": "https://registry.npmjs.org/@polkadot/x-randomvalues/-/x-randomvalues-12.6.2.tgz", "integrity": "sha512-Vr8uG7rH2IcNJwtyf5ebdODMcr0XjoCpUbI91Zv6AlKVYOGKZlKLYJHIwpTaKKB+7KPWyQrk4Mlym/rS7v9feg==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@polkadot/x-global": "12.6.2", "tslib": "^2.6.2" @@ -9694,9 +10274,9 @@ } }, "node_modules/dkg.js/node_modules/@polkadot/x-randomvalues/node_modules/tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true, "license": "0BSD" }, @@ -9705,7 +10285,6 @@ "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-12.6.2.tgz", "integrity": "sha512-M1Bir7tYvNappfpFWXOJcnxUhBUFWkUFIdJSyH0zs5LmFtFdbKAeiDXxSp2Swp5ddOZdZgPac294/o2TnQKN1w==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@polkadot/x-global": "12.6.2", "tslib": "^2.6.2" @@ -9715,9 +10294,9 @@ } }, "node_modules/dkg.js/node_modules/@polkadot/x-textdecoder/node_modules/tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true, "license": "0BSD" }, @@ -9726,7 +10305,6 @@ "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-12.6.2.tgz", "integrity": "sha512-4N+3UVCpI489tUJ6cv3uf0PjOHvgGp9Dl+SZRLgFGt9mvxnvpW/7+XBADRMtlG4xi5gaRK7bgl5bmY6OMDsNdw==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@polkadot/x-global": "12.6.2", "tslib": "^2.6.2" @@ -9736,9 +10314,9 @@ } }, "node_modules/dkg.js/node_modules/@polkadot/x-textencoder/node_modules/tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true, "license": "0BSD" }, @@ -9747,7 +10325,6 @@ "resolved": "https://registry.npmjs.org/@polkadot/x-ws/-/x-ws-12.6.2.tgz", "integrity": "sha512-cGZWo7K5eRRQCRl2LrcyCYsrc3lRbTlixZh3AzgU8uX4wASVGRlNWi/Hf4TtHNe1ExCDmxabJzdIsABIfrr7xw==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@polkadot/x-global": "12.6.2", "tslib": "^2.6.2", @@ -9758,9 +10335,9 @@ } }, "node_modules/dkg.js/node_modules/@polkadot/x-ws/node_modules/tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true, "license": "0BSD" }, @@ -9829,6 +10406,67 @@ "dev": true, "license": "MIT" }, + "node_modules/dkg.js/node_modules/assertion-tools": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/assertion-tools/-/assertion-tools-2.2.1.tgz", + "integrity": "sha512-JlA1S16Ox93PnYb45HvxNcax/Ii4gqTO8HLGa/ykj/ddp8EEHlokn6inJR2yMiz173WSFkCc0ciLJzGeaYBANw==", + "dev": true, + "license": "ISC", + "dependencies": { + "ethers": "^5.7.2", + "jsonld": "^8.1.0", + "merkletreejs": "^0.3.2" + } + }, + "node_modules/dkg.js/node_modules/assertion-tools/node_modules/ethers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", + "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "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" + } + }, "node_modules/dkg.js/node_modules/axios": { "version": "0.27.2", "dev": true, @@ -9903,6 +10541,30 @@ "node": ">=14.0.0" } }, + "node_modules/dkg.js/node_modules/ethers/node_modules/@noble/curves": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz", + "integrity": "sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==", + "dev": true, + "dependencies": { + "@noble/hashes": "1.3.2" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/dkg.js/node_modules/ethers/node_modules/@noble/hashes": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz", + "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==", + "dev": true, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/dkg.js/node_modules/tslib": { "version": "2.4.0", "dev": true, @@ -10145,7 +10807,8 @@ }, "node_modules/dns-over-http-resolver": { "version": "1.2.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/dns-over-http-resolver/-/dns-over-http-resolver-1.2.3.tgz", + "integrity": "sha512-miDiVSI6KSNbi4SVifzO/reD8rMnxgrlnkrlkugOLQpWQTe2qMdHsZp5DmfKjxNE+/T3VAAYLQUZMv9SMr6+AA==", "dependencies": { "debug": "^4.3.1", "native-fetch": "^3.0.0", @@ -10154,7 +10817,8 @@ }, "node_modules/doctrine": { "version": "3.0.0", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dependencies": { "esutils": "^2.0.2" }, @@ -10164,7 +10828,8 @@ }, "node_modules/dom-serializer": { "version": "2.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.2", @@ -10182,18 +10847,21 @@ }, "node_modules/domelementtype": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", "funding": [ { "type": "github", "url": "https://github.com/sponsors/fb55" } - ], - "license": "BSD-2-Clause" + ] }, "node_modules/domexception": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "deprecated": "Use your platform's native DOMException instead", "dev": true, - "license": "MIT", "dependencies": { "webidl-conversions": "^5.0.0" }, @@ -10203,15 +10871,17 @@ }, "node_modules/domexception/node_modules/webidl-conversions": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", "dev": true, - "license": "BSD-2-Clause", "engines": { "node": ">=8" } }, "node_modules/domhandler": { "version": "5.0.3", - "license": "BSD-2-Clause", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", "dependencies": { "domelementtype": "^2.3.0" }, @@ -10224,7 +10894,8 @@ }, "node_modules/domutils": { "version": "3.1.0", - "license": "BSD-2-Clause", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", "dependencies": { "dom-serializer": "^2.0.0", "domelementtype": "^2.3.0", @@ -10236,7 +10907,8 @@ }, "node_modules/dotenv": { "version": "16.4.5", - "license": "BSD-2-Clause", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", + "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", "engines": { "node": ">=12" }, @@ -10246,22 +10918,26 @@ }, "node_modules/dottie": { "version": "2.0.6", - "license": "MIT" + "resolved": "https://registry.npmjs.org/dottie/-/dottie-2.0.6.tgz", + "integrity": "sha512-iGCHkfUc5kFekGiqhe8B/mdaurD+lakO9txNnTvKtA6PISrw86LgqHvRzWYPyoE2Ph5aMIrCw9/uko6XHTKCwA==" }, "node_modules/duplexer2": { "version": "0.1.4", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", "dependencies": { "readable-stream": "^2.0.2" } }, "node_modules/duplexer2/node_modules/isarray": { "version": "1.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, "node_modules/duplexer2/node_modules/readable-stream": { "version": "2.3.8", - "license": "MIT", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -10274,19 +10950,22 @@ }, "node_modules/duplexer2/node_modules/safe-buffer": { "version": "5.1.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "node_modules/duplexer2/node_modules/string_decoder": { "version": "1.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dependencies": { "safe-buffer": "~5.1.0" } }, "node_modules/eastasianwidth": { "version": "0.2.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true }, "node_modules/ecc-jsbn": { "version": "0.1.2", @@ -10306,25 +10985,29 @@ }, "node_modules/ecdsa-sig-formatter": { "version": "1.0.11", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", "dependencies": { "safe-buffer": "^5.0.1" } }, "node_modules/ed2curve": { "version": "0.3.0", - "license": "Unlicense", + "resolved": "https://registry.npmjs.org/ed2curve/-/ed2curve-0.3.0.tgz", + "integrity": "sha512-8w2fmmq3hv9rCrcI7g9hms2pMunQr1JINfcjwR9tAyZqhtyaMN991lF/ZfHfr5tzZQ8c7y7aBgZbjfbd0fjFwQ==", "dependencies": { "tweetnacl": "1.x.x" } }, "node_modules/ee-first": { "version": "1.1.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, "node_modules/electron-fetch": { "version": "1.9.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/electron-fetch/-/electron-fetch-1.9.1.tgz", + "integrity": "sha512-M9qw6oUILGVrcENMSRRefE1MbHPIz0h79EKIeJWK9v563aT9Qkh8aEHPO1H5vi970wPirNY+jO9OpFoLiMsMGA==", "dependencies": { "encoding": "^0.1.13" }, @@ -10333,13 +11016,15 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.802", - "dev": true, - "license": "ISC" + "version": "1.5.67", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.67.tgz", + "integrity": "sha512-nz88NNBsD7kQSAGGJyp8hS6xSPtWwqNogA0mjtc2nUYeEf3nURK9qpV18TuBdDmEDgVWotS8Wkzf+V52dSQ/LQ==", + "dev": true }, "node_modules/elliptic": { "version": "6.5.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", "dependencies": { "bn.js": "^4.11.9", "brorand": "^1.1.0", @@ -10351,12 +11036,14 @@ } }, "node_modules/elliptic/node_modules/bn.js": { - "version": "4.12.0", - "license": "MIT" + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz", + "integrity": "sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==" }, "node_modules/emittery": { "version": "0.13.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", "engines": { "node": ">=12" }, @@ -10366,41 +11053,48 @@ }, "node_modules/emoji-regex": { "version": "9.2.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true }, "node_modules/enabled": { "version": "2.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz", + "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==" }, "node_modules/encode-utf8": { "version": "1.0.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz", + "integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==" }, "node_modules/encodeurl": { - "version": "1.0.2", - "license": "MIT", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", "engines": { "node": ">= 0.8" } }, "node_modules/encoding": { "version": "0.1.13", - "license": "MIT", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", "dependencies": { "iconv-lite": "^0.6.2" } }, "node_modules/end-of-stream": { "version": "1.4.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "dependencies": { "once": "^1.4.0" } }, "node_modules/enquirer": { "version": "2.4.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", + "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", "dependencies": { "ansi-colors": "^4.1.1", "strip-ansi": "^6.0.1" @@ -10411,7 +11105,8 @@ }, "node_modules/entities": { "version": "4.5.0", - "license": "BSD-2-Clause", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "engines": { "node": ">=0.12" }, @@ -10421,27 +11116,31 @@ }, "node_modules/env-paths": { "version": "2.2.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", "engines": { "node": ">=6" } }, "node_modules/err-code": { "version": "3.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/err-code/-/err-code-3.0.1.tgz", + "integrity": "sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA==" }, "node_modules/error-stack-parser": { "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", "dev": true, - "license": "MIT", "dependencies": { "stackframe": "^1.3.4" } }, "node_modules/es-abstract": { - "version": "1.23.3", + "version": "1.23.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.5.tgz", + "integrity": "sha512-vlmniQ0WNPwXqA0BnmwV3Ng7HxiGlh6r5U6JcTMNx8OilcAGqVJBHJcPjqOMaczU9fRuRK5Px2BdVyPRnKMMVQ==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "array-buffer-byte-length": "^1.0.1", @@ -10459,7 +11158,7 @@ "function.prototype.name": "^1.1.6", "get-intrinsic": "^1.2.4", "get-symbol-description": "^1.0.2", - "globalthis": "^1.0.3", + "globalthis": "^1.0.4", "gopd": "^1.0.1", "has-property-descriptors": "^1.0.2", "has-proto": "^1.0.3", @@ -10475,10 +11174,10 @@ "is-string": "^1.0.7", "is-typed-array": "^1.1.13", "is-weakref": "^1.0.2", - "object-inspect": "^1.13.1", + "object-inspect": "^1.13.3", "object-keys": "^1.1.1", "object.assign": "^4.1.5", - "regexp.prototype.flags": "^1.5.2", + "regexp.prototype.flags": "^1.5.3", "safe-array-concat": "^1.1.2", "safe-regex-test": "^1.0.3", "string.prototype.trim": "^1.2.9", @@ -10500,7 +11199,8 @@ }, "node_modules/es-define-property": { "version": "1.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", "dependencies": { "get-intrinsic": "^1.2.4" }, @@ -10510,15 +11210,17 @@ }, "node_modules/es-errors": { "version": "1.3.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", "engines": { "node": ">= 0.4" } }, "node_modules/es-iterator-helpers": { - "version": "1.0.19", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.0.tgz", + "integrity": "sha512-tpxqxncxnpw3c93u8n3VOzACmRFoVmWJqbWXvX/JfKbkhBw1oslgPrUfeSt2psuqyEJFD6N/9lg5i7bsKpoq+Q==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.7", @@ -10528,12 +11230,13 @@ "es-set-tostringtag": "^2.0.3", "function-bind": "^1.1.2", "get-intrinsic": "^1.2.4", - "globalthis": "^1.0.3", + "globalthis": "^1.0.4", + "gopd": "^1.0.1", "has-property-descriptors": "^1.0.2", "has-proto": "^1.0.3", "has-symbols": "^1.0.3", "internal-slot": "^1.0.7", - "iterator.prototype": "^1.1.2", + "iterator.prototype": "^1.1.3", "safe-array-concat": "^1.1.2" }, "engines": { @@ -10542,8 +11245,9 @@ }, "node_modules/es-object-atoms": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", "dev": true, - "license": "MIT", "dependencies": { "es-errors": "^1.3.0" }, @@ -10553,8 +11257,9 @@ }, "node_modules/es-set-tostringtag": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "get-intrinsic": "^1.2.4", @@ -10567,22 +11272,24 @@ }, "node_modules/es-shim-unscopables": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "hasown": "^2.0.0" } }, "node_modules/es-to-primitive": { - "version": "1.2.1", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", + "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-symbol": "^1.0.4" }, "engines": { "node": ">= 0.4" @@ -10593,8 +11300,9 @@ }, "node_modules/es5-ext": { "version": "0.10.64", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.64.tgz", + "integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==", "hasInstallScript": true, - "license": "ISC", "dependencies": { "es6-iterator": "^2.0.3", "es6-symbol": "^3.1.3", @@ -10607,12 +11315,14 @@ }, "node_modules/es6-error": { "version": "4.1.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "dev": true }, "node_modules/es6-iterator": { "version": "2.0.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", "dependencies": { "d": "1", "es5-ext": "^0.10.35", @@ -10627,14 +11337,16 @@ }, "node_modules/es6-promisify": { "version": "7.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-7.0.0.tgz", + "integrity": "sha512-ginqzK3J90Rd4/Yz7qRrqUeIpe3TwSXTPPZtPne7tGBPeAaQiU8qt4fpKApnxHcq1AwtUdHVg5P77x/yrggG8Q==", "engines": { "node": ">=6" } }, "node_modules/es6-symbol": { "version": "3.1.4", - "license": "ISC", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.4.tgz", + "integrity": "sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==", "dependencies": { "d": "^1.0.2", "ext": "^1.7.0" @@ -10644,23 +11356,27 @@ } }, "node_modules/escalade": { - "version": "3.1.2", - "license": "MIT", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "engines": { "node": ">=6" } }, "node_modules/escape-html": { "version": "1.0.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" }, "node_modules/escape-latex": { "version": "1.2.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/escape-latex/-/escape-latex-1.2.0.tgz", + "integrity": "sha512-nV5aVWW1K0wEiUIEdZ4erkGGH8mDxGyxSeqPzRNtWP7ataw+/olFObw7hujFWlVjNsaDFw5VZ5NzVSIqRgfTiw==" }, "node_modules/escape-string-regexp": { "version": "4.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "engines": { "node": ">=10" }, @@ -10670,8 +11386,9 @@ }, "node_modules/escodegen": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "esprima": "^4.0.1", "estraverse": "^5.2.0", @@ -10689,14 +11406,16 @@ } }, "node_modules/eslint": { - "version": "8.57.0", - "license": "MIT", + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.0", - "@humanwhocodes/config-array": "^0.11.14", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "@ungap/structured-clone": "^1.2.0", @@ -10743,8 +11462,9 @@ }, "node_modules/eslint-config-airbnb": { "version": "19.0.4", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-19.0.4.tgz", + "integrity": "sha512-T75QYQVQX57jiNgpF9r1KegMICE94VYwoFQyMGhrvc+lB8YF2E/M/PYDaQe1AJcWaEgqLE+ErXV1Og/+6Vyzew==", "dev": true, - "license": "MIT", "dependencies": { "eslint-config-airbnb-base": "^15.0.0", "object.assign": "^4.1.2", @@ -10763,8 +11483,9 @@ }, "node_modules/eslint-config-airbnb-base": { "version": "15.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz", + "integrity": "sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==", "dev": true, - "license": "MIT", "dependencies": { "confusing-browser-globals": "^1.0.10", "object.assign": "^4.1.2", @@ -10781,15 +11502,17 @@ }, "node_modules/eslint-config-airbnb-base/node_modules/semver": { "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/eslint-config-google": { "version": "0.13.0", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/eslint-config-google/-/eslint-config-google-0.13.0.tgz", + "integrity": "sha512-ELgMdOIpn0CFdsQS+FuxO+Ttu4p+aLaXHv9wA9yVnzqlUGV7oN/eRRnJekk7TCur6Cu2FXX0fqfIXRBaM14lpQ==", "engines": { "node": ">=0.10.0" }, @@ -10799,8 +11522,9 @@ }, "node_modules/eslint-config-prettier": { "version": "8.10.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz", + "integrity": "sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==", "dev": true, - "license": "MIT", "bin": { "eslint-config-prettier": "bin/cli.js" }, @@ -10810,8 +11534,9 @@ }, "node_modules/eslint-import-resolver-node": { "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "debug": "^3.2.7", @@ -10821,17 +11546,19 @@ }, "node_modules/eslint-import-resolver-node/node_modules/debug": { "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "ms": "^2.1.1" } }, "node_modules/eslint-module-utils": { - "version": "2.8.1", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz", + "integrity": "sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "debug": "^3.2.7" @@ -10847,48 +11574,53 @@ }, "node_modules/eslint-module-utils/node_modules/debug": { "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "ms": "^2.1.1" } }, "node_modules/eslint-plugin-import": { - "version": "2.29.1", + "version": "2.31.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz", + "integrity": "sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { - "array-includes": "^3.1.7", - "array.prototype.findlastindex": "^1.2.3", + "@rtsao/scc": "^1.1.0", + "array-includes": "^3.1.8", + "array.prototype.findlastindex": "^1.2.5", "array.prototype.flat": "^1.3.2", "array.prototype.flatmap": "^1.3.2", "debug": "^3.2.7", "doctrine": "^2.1.0", "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.8.0", - "hasown": "^2.0.0", - "is-core-module": "^2.13.1", + "eslint-module-utils": "^2.12.0", + "hasown": "^2.0.2", + "is-core-module": "^2.15.1", "is-glob": "^4.0.3", "minimatch": "^3.1.2", - "object.fromentries": "^2.0.7", - "object.groupby": "^1.0.1", - "object.values": "^1.1.7", + "object.fromentries": "^2.0.8", + "object.groupby": "^1.0.3", + "object.values": "^1.2.0", "semver": "^6.3.1", + "string.prototype.trimend": "^1.0.8", "tsconfig-paths": "^3.15.0" }, "engines": { "node": ">=4" }, "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" } }, "node_modules/eslint-plugin-import/node_modules/debug": { "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "ms": "^2.1.1" @@ -10896,8 +11628,9 @@ }, "node_modules/eslint-plugin-import/node_modules/doctrine": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, - "license": "Apache-2.0", "peer": true, "dependencies": { "esutils": "^2.0.2" @@ -10908,79 +11641,82 @@ }, "node_modules/eslint-plugin-import/node_modules/semver": { "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "ISC", "peer": true, "bin": { "semver": "bin/semver.js" } }, "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.8.0", + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz", + "integrity": "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { - "@babel/runtime": "^7.23.2", - "aria-query": "^5.3.0", - "array-includes": "^3.1.7", + "aria-query": "^5.3.2", + "array-includes": "^3.1.8", "array.prototype.flatmap": "^1.3.2", "ast-types-flow": "^0.0.8", - "axe-core": "=4.7.0", - "axobject-query": "^3.2.1", + "axe-core": "^4.10.0", + "axobject-query": "^4.1.0", "damerau-levenshtein": "^1.0.8", "emoji-regex": "^9.2.2", - "es-iterator-helpers": "^1.0.15", - "hasown": "^2.0.0", + "hasown": "^2.0.2", "jsx-ast-utils": "^3.3.5", "language-tags": "^1.0.9", "minimatch": "^3.1.2", - "object.entries": "^1.1.7", - "object.fromentries": "^2.0.7" + "object.fromentries": "^2.0.8", + "safe-regex-test": "^1.0.3", + "string.prototype.includes": "^2.0.1" }, "engines": { "node": ">=4.0" }, "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" } }, "node_modules/eslint-plugin-react": { - "version": "7.34.2", + "version": "7.37.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.2.tgz", + "integrity": "sha512-EsTAnj9fLVr/GZleBLFbj/sSuXeWmp1eXIN60ceYnZveqEaUCyW4X+Vh4WTdUhCkW4xutXYqTXCUSyqD4rB75w==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "array-includes": "^3.1.8", "array.prototype.findlast": "^1.2.5", "array.prototype.flatmap": "^1.3.2", - "array.prototype.toreversed": "^1.1.2", - "array.prototype.tosorted": "^1.1.3", + "array.prototype.tosorted": "^1.1.4", "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.0.19", + "es-iterator-helpers": "^1.1.0", "estraverse": "^5.3.0", + "hasown": "^2.0.2", "jsx-ast-utils": "^2.4.1 || ^3.0.0", "minimatch": "^3.1.2", "object.entries": "^1.1.8", "object.fromentries": "^2.0.8", - "object.hasown": "^1.1.4", "object.values": "^1.2.0", "prop-types": "^15.8.1", "resolve": "^2.0.0-next.5", "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.11" + "string.prototype.matchall": "^4.0.11", + "string.prototype.repeat": "^1.0.0" }, "engines": { "node": ">=4" }, "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" } }, "node_modules/eslint-plugin-react-hooks": { "version": "4.6.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", + "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", "dev": true, - "license": "MIT", "peer": true, "engines": { "node": ">=10" @@ -10991,8 +11727,9 @@ }, "node_modules/eslint-plugin-react/node_modules/doctrine": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, - "license": "Apache-2.0", "peer": true, "dependencies": { "esutils": "^2.0.2" @@ -11003,8 +11740,9 @@ }, "node_modules/eslint-plugin-react/node_modules/resolve": { "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "is-core-module": "^2.13.0", @@ -11020,8 +11758,9 @@ }, "node_modules/eslint-plugin-react/node_modules/semver": { "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "ISC", "peer": true, "bin": { "semver": "bin/semver.js" @@ -11029,7 +11768,8 @@ }, "node_modules/eslint-scope": { "version": "7.2.2", - "license": "BSD-2-Clause", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" @@ -11043,7 +11783,8 @@ }, "node_modules/eslint-visitor-keys": { "version": "3.4.3", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -11053,7 +11794,8 @@ }, "node_modules/esniff": { "version": "2.0.1", - "license": "ISC", + "resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz", + "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==", "dependencies": { "d": "^1.0.1", "es5-ext": "^0.10.62", @@ -11066,7 +11808,8 @@ }, "node_modules/espree": { "version": "9.6.1", - "license": "BSD-2-Clause", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dependencies": { "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", @@ -11081,8 +11824,9 @@ }, "node_modules/esprima": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true, - "license": "BSD-2-Clause", "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -11092,8 +11836,9 @@ } }, "node_modules/esquery": { - "version": "1.5.0", - "license": "BSD-3-Clause", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dependencies": { "estraverse": "^5.1.0" }, @@ -11103,7 +11848,8 @@ }, "node_modules/esrecurse": { "version": "4.3.0", - "license": "BSD-2-Clause", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dependencies": { "estraverse": "^5.2.0" }, @@ -11113,21 +11859,24 @@ }, "node_modules/estraverse": { "version": "5.3.0", - "license": "BSD-2-Clause", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "engines": { "node": ">=4.0" } }, "node_modules/esutils": { "version": "2.0.3", - "license": "BSD-2-Clause", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "engines": { "node": ">=0.10.0" } }, "node_modules/etag": { "version": "1.8.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "engines": { "node": ">= 0.6" } @@ -11163,9 +11912,9 @@ } }, "node_modules/eth-lib/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz", + "integrity": "sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==", "dev": true }, "node_modules/eth-lib/node_modules/safe-buffer": { @@ -11186,17 +11935,19 @@ } }, "node_modules/ethereum-bloom-filters": { - "version": "1.1.0", - "license": "MIT", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.2.0.tgz", + "integrity": "sha512-28hyiE7HVsWubqhpVLVmZXFd4ITeHi+BUu05o9isf0GUpMtzBUi+8/gFrGaGYzvGAJQmJ3JKj77Mk9G98T84rA==", "dependencies": { "@noble/hashes": "^1.4.0" } }, "node_modules/ethereum-bloom-filters/node_modules/@noble/hashes": { - "version": "1.4.0", - "license": "MIT", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.6.1.tgz", + "integrity": "sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w==", "engines": { - "node": ">= 16" + "node": "^14.21.3 || >=16" }, "funding": { "url": "https://paulmillr.com/funding/" @@ -11204,7 +11955,8 @@ }, "node_modules/ethereum-cryptography": { "version": "1.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-1.2.0.tgz", + "integrity": "sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw==", "dependencies": { "@noble/hashes": "1.2.0", "@noble/secp256k1": "1.7.1", @@ -11214,19 +11966,23 @@ }, "node_modules/ethereumjs-abi": { "version": "0.6.8", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz", + "integrity": "sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==", + "deprecated": "This library has been deprecated and usage is discouraged.", "dependencies": { "bn.js": "^4.11.8", "ethereumjs-util": "^6.0.0" } }, "node_modules/ethereumjs-abi/node_modules/bn.js": { - "version": "4.12.0", - "license": "MIT" + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz", + "integrity": "sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==" }, "node_modules/ethereumjs-util": { "version": "6.2.1", - "license": "MPL-2.0", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", + "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", "dependencies": { "@types/bn.js": "^4.11.3", "bn.js": "^4.11.0", @@ -11239,18 +11995,21 @@ }, "node_modules/ethereumjs-util/node_modules/@types/bn.js": { "version": "4.11.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", "dependencies": { "@types/node": "*" } }, "node_modules/ethereumjs-util/node_modules/bn.js": { - "version": "4.12.0", - "license": "MIT" + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz", + "integrity": "sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==" }, "node_modules/ethereumjs-util/node_modules/ethereum-cryptography": { "version": "0.1.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", + "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", "dependencies": { "@types/pbkdf2": "^3.0.0", "@types/secp256k1": "^4.0.1", @@ -11271,6 +12030,8 @@ }, "node_modules/ethers": { "version": "5.7.2", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", + "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", "funding": [ { "type": "individual", @@ -11281,7 +12042,6 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], - "license": "MIT", "dependencies": { "@ethersproject/abi": "5.7.0", "@ethersproject/abstract-provider": "5.7.0", @@ -11317,7 +12077,8 @@ }, "node_modules/ethjs-unit": { "version": "0.1.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", + "integrity": "sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==", "dependencies": { "bn.js": "4.11.6", "number-to-bn": "1.7.0" @@ -11329,11 +12090,13 @@ }, "node_modules/ethjs-unit/node_modules/bn.js": { "version": "4.11.6", - "license": "MIT" + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==" }, "node_modules/ethjs-util": { "version": "0.1.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", + "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", "dependencies": { "is-hex-prefixed": "1.0.0", "strip-hex-prefix": "1.0.0" @@ -11345,7 +12108,8 @@ }, "node_modules/event-emitter": { "version": "0.3.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", "dependencies": { "d": "1", "es5-ext": "~0.10.14" @@ -11353,25 +12117,29 @@ }, "node_modules/event-target-shim": { "version": "5.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", "engines": { "node": ">=6" } }, "node_modules/eventemitter3": { "version": "5.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==" }, "node_modules/events": { "version": "3.3.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "engines": { "node": ">=0.8.x" } }, "node_modules/evm-bn": { "version": "1.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/evm-bn/-/evm-bn-1.1.2.tgz", + "integrity": "sha512-Lq8CT1EAjSeN+Yk0h1hpSwnZyMA4Xir6fQD4vlStljAuW2xr7qLOEGDLGsTa9sU2e40EYIumA4wYhMC/e+lyKw==", "dependencies": { "@ethersproject/bignumber": "^5.5.0", "from-exponential": "^1.1.1" @@ -11382,7 +12150,8 @@ }, "node_modules/evp_bytestokey": { "version": "1.0.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "dependencies": { "md5.js": "^1.3.4", "safe-buffer": "^5.1.1" @@ -11390,7 +12159,8 @@ }, "node_modules/execa": { "version": "5.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", @@ -11411,42 +12181,44 @@ }, "node_modules/expand-template": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", "dev": true, - "license": "(MIT OR WTFPL)", "engines": { "node": ">=6" } }, "node_modules/express": { - "version": "4.19.2", - "license": "MIT", + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.1.tgz", + "integrity": "sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.2", + "body-parser": "1.20.3", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.6.0", + "cookie": "0.7.1", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "1.2.0", + "finalhandler": "1.3.1", "fresh": "0.5.2", "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", + "merge-descriptors": "1.0.3", "methods": "~1.1.2", "on-finished": "2.4.1", "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", + "path-to-regexp": "0.1.10", "proxy-addr": "~2.0.7", - "qs": "6.11.0", + "qs": "6.13.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", + "send": "0.19.0", + "serve-static": "1.16.2", "setprototypeof": "1.2.0", "statuses": "2.0.1", "type-is": "~1.6.18", @@ -11458,8 +12230,9 @@ } }, "node_modules/express-fileupload": { - "version": "1.5.0", - "license": "MIT", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/express-fileupload/-/express-fileupload-1.5.1.tgz", + "integrity": "sha512-LsYG1ALXEB7vlmjuSw8ABeOctMp8a31aUC5ZF55zuz7O2jLFnmJYrCv10py357ky48aEoBQ/9bVXgFynjvaPmA==", "dependencies": { "busboy": "^1.6.0" }, @@ -11469,7 +12242,8 @@ }, "node_modules/express-rate-limit": { "version": "6.11.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-6.11.2.tgz", + "integrity": "sha512-a7uwwfNTh1U60ssiIkuLFWHt4hAC5yxlLGU2VP0X4YNlyEDZAqF4tK3GD3NSitVBrCQmQ0++0uOyFOgC2y4DDw==", "engines": { "node": ">= 14" }, @@ -11479,18 +12253,21 @@ }, "node_modules/express/node_modules/debug": { "version": "2.6.9", - "license": "MIT", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dependencies": { "ms": "2.0.0" } }, "node_modules/express/node_modules/ms": { "version": "2.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, "node_modules/ext": { "version": "1.7.0", - "license": "ISC", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", + "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", "dependencies": { "type": "^2.7.2" } @@ -11503,27 +12280,32 @@ }, "node_modules/extsprintf": { "version": "1.4.1", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.1.tgz", + "integrity": "sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==", "dev": true, "engines": [ "node >=0.6.0" - ], - "license": "MIT" + ] }, "node_modules/fast-copy": { "version": "3.0.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-copy/-/fast-copy-3.0.2.tgz", + "integrity": "sha512-dl0O9Vhju8IrcLndv2eU4ldt1ftXMqqfgN4H1cpmGV7P6jeB9FwpN9a2c8DPGE1Ys88rNUJVYDHq73CGAGOPfQ==" }, "node_modules/fast-deep-equal": { "version": "3.1.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "node_modules/fast-fifo": { "version": "1.3.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==" }, "node_modules/fast-glob": { "version": "3.3.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -11537,7 +12319,8 @@ }, "node_modules/fast-glob/node_modules/glob-parent": { "version": "5.1.2", - "license": "ISC", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dependencies": { "is-glob": "^4.0.1" }, @@ -11547,36 +12330,49 @@ }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, "node_modules/fast-levenshtein": { "version": "2.0.6", - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" }, "node_modules/fast-redact": { "version": "3.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.5.0.tgz", + "integrity": "sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==", "engines": { "node": ">=6" } }, "node_modules/fast-safe-stringify": { "version": "2.1.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" + }, + "node_modules/fast-uri": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.3.tgz", + "integrity": "sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw==" }, "node_modules/fastq": { "version": "1.17.1", - "license": "ISC", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", "dependencies": { "reusify": "^1.0.4" } }, "node_modules/fecha": { "version": "4.2.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz", + "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==" }, "node_modules/fetch-blob": { "version": "3.2.0", + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", + "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", "funding": [ { "type": "github", @@ -11587,7 +12383,6 @@ "url": "https://paypal.me/jimmywarting" } ], - "license": "MIT", "dependencies": { "node-domexception": "^1.0.0", "web-streams-polyfill": "^3.0.3" @@ -11598,7 +12393,8 @@ }, "node_modules/fetch-sparql-endpoint": { "version": "4.2.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/fetch-sparql-endpoint/-/fetch-sparql-endpoint-4.2.1.tgz", + "integrity": "sha512-nRaexc3QCO95bjESf4ngNQ1J+qNtVzxFGlPUopqOIVHm/j6IDhWg996kk7fBM98Mmo0uM9b6uiTbXmJHOrnqYA==", "dependencies": { "@rdfjs/types": "*", "@smessie/readable-web-to-node-stream": "^3.0.3", @@ -11621,14 +12417,16 @@ }, "node_modules/fetch-sparql-endpoint/node_modules/cross-fetch": { "version": "3.1.8", - "license": "MIT", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", + "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", "dependencies": { "node-fetch": "^2.6.12" } }, "node_modules/fetch-sparql-endpoint/node_modules/node-fetch": { "version": "2.7.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "dependencies": { "whatwg-url": "^5.0.0" }, @@ -11646,15 +12444,18 @@ }, "node_modules/fetch-sparql-endpoint/node_modules/tr46": { "version": "0.0.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, "node_modules/fetch-sparql-endpoint/node_modules/webidl-conversions": { "version": "3.0.1", - "license": "BSD-2-Clause" + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, "node_modules/fetch-sparql-endpoint/node_modules/whatwg-url": { "version": "5.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -11662,8 +12463,9 @@ }, "node_modules/figures": { "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", "dev": true, - "license": "MIT", "dependencies": { "escape-string-regexp": "^1.0.5" }, @@ -11676,15 +12478,17 @@ }, "node_modules/figures/node_modules/escape-string-regexp": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.8.0" } }, "node_modules/file-entry-cache": { "version": "6.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dependencies": { "flat-cache": "^3.0.4" }, @@ -11694,11 +12498,13 @@ }, "node_modules/file-uri-to-path": { "version": "1.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" }, "node_modules/fill-range": { "version": "7.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -11707,11 +12513,12 @@ } }, "node_modules/finalhandler": { - "version": "1.2.0", - "license": "MIT", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", "dependencies": { "debug": "2.6.9", - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "on-finished": "2.4.1", "parseurl": "~1.3.3", @@ -11724,19 +12531,22 @@ }, "node_modules/finalhandler/node_modules/debug": { "version": "2.6.9", - "license": "MIT", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dependencies": { "ms": "2.0.0" } }, "node_modules/finalhandler/node_modules/ms": { "version": "2.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, "node_modules/find-cache-dir": { "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", "dev": true, - "license": "MIT", "dependencies": { "commondir": "^1.0.1", "make-dir": "^3.0.2", @@ -11751,7 +12561,8 @@ }, "node_modules/find-up": { "version": "5.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -11765,14 +12576,16 @@ }, "node_modules/flat": { "version": "5.0.2", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", "bin": { "flat": "cli.js" } }, "node_modules/flat-cache": { "version": "3.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", "dependencies": { "flatted": "^3.2.9", "keyv": "^4.5.3", @@ -11784,32 +12597,37 @@ }, "node_modules/flatstr": { "version": "1.0.12", - "license": "MIT" + "resolved": "https://registry.npmjs.org/flatstr/-/flatstr-1.0.12.tgz", + "integrity": "sha512-4zPxDyhCyiN2wIAtSLI6gc82/EjqZc1onI4Mz/l0pWrAlsSfYH/2ZIcU+e3oA2wDwbzIWNKwa23F8rh6+DRWkw==" }, "node_modules/flatted": { - "version": "3.3.1", - "license": "ISC" + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.2.tgz", + "integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==" }, "node_modules/fmix": { "version": "0.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/fmix/-/fmix-0.1.0.tgz", + "integrity": "sha512-Y6hyofImk9JdzU8k5INtTXX1cu8LDlePWDFU5sftm9H+zKCr5SGrVjdhkvsim646cw5zD0nADj8oHyXMZmCZ9w==", "dependencies": { "imul": "^1.0.0" } }, "node_modules/fn.name": { "version": "1.1.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz", + "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==" }, "node_modules/follow-redirects": { - "version": "1.15.6", + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", "funding": [ { "type": "individual", "url": "https://github.com/sponsors/RubenVerborgh" } ], - "license": "MIT", "engines": { "node": ">=4.0" }, @@ -11821,16 +12639,18 @@ }, "node_modules/for-each": { "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", "dev": true, - "license": "MIT", "dependencies": { "is-callable": "^1.1.3" } }, "node_modules/foreground-child": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", + "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", "dev": true, - "license": "ISC", "dependencies": { "cross-spawn": "^7.0.0", "signal-exit": "^3.0.2" @@ -11849,8 +12669,9 @@ } }, "node_modules/form-data": { - "version": "4.0.0", - "license": "MIT", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz", + "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -11868,7 +12689,8 @@ }, "node_modules/formdata-polyfill": { "version": "4.0.10", - "license": "MIT", + "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", + "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", "dependencies": { "fetch-blob": "^3.1.2" }, @@ -11878,18 +12700,21 @@ }, "node_modules/forwarded": { "version": "0.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", "engines": { "node": ">= 0.6" } }, "node_modules/fp-ts": { "version": "1.19.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/fp-ts/-/fp-ts-1.19.3.tgz", + "integrity": "sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==" }, "node_modules/fraction.js": { "version": "4.3.7", - "license": "MIT", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", "engines": { "node": "*" }, @@ -11900,17 +12725,21 @@ }, "node_modules/fresh": { "version": "0.5.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "engines": { "node": ">= 0.6" } }, "node_modules/from-exponential": { "version": "1.1.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/from-exponential/-/from-exponential-1.1.1.tgz", + "integrity": "sha512-VBE7f5OVnYwdgB3LHa+Qo29h8qVpxhVO9Trlc+AWm+/XNAgks1tAwMFHb33mjeiof77GglsJzeYF7OqXrROP/A==" }, "node_modules/fromentries": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", + "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==", "dev": true, "funding": [ { @@ -11925,17 +12754,18 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "MIT" + ] }, "node_modules/fs-constants": { "version": "1.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true }, "node_modules/fs-extra": { "version": "10.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", @@ -11956,11 +12786,14 @@ }, "node_modules/fs.realpath": { "version": "1.0.0", - "license": "ISC" + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "node_modules/fsevents": { "version": "2.3.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, "optional": true, "os": [ "darwin" @@ -11971,7 +12804,9 @@ }, "node_modules/fstream": { "version": "1.0.12", - "license": "ISC", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", + "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", + "deprecated": "This package is no longer supported.", "dependencies": { "graceful-fs": "^4.1.2", "inherits": "~2.0.0", @@ -11984,7 +12819,9 @@ }, "node_modules/fstream/node_modules/rimraf": { "version": "2.7.1", - "license": "ISC", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", "dependencies": { "glob": "^7.1.3" }, @@ -11994,15 +12831,17 @@ }, "node_modules/function-bind": { "version": "1.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/function.prototype.name": { "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.2", @@ -12019,8 +12858,9 @@ }, "node_modules/functions-have-names": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", "dev": true, - "license": "MIT", "peer": true, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -12028,37 +12868,42 @@ }, "node_modules/generate-function": { "version": "2.3.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", + "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==", "dependencies": { "is-property": "^1.0.2" } }, "node_modules/gensync": { "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/get-caller-file": { "version": "2.0.5", - "license": "ISC", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "engines": { "node": "6.* || 8.* || >= 10.*" } }, "node_modules/get-func-name": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", "dev": true, - "license": "MIT", "engines": { "node": "*" } }, "node_modules/get-intrinsic": { "version": "1.2.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2", @@ -12075,19 +12920,22 @@ }, "node_modules/get-iterator": { "version": "1.0.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/get-iterator/-/get-iterator-1.0.2.tgz", + "integrity": "sha512-v+dm9bNVfOYsY1OrhaCrmyOcYoSeVvbt+hHZ0Au+T+p1y+0Uyj9aMaGIeUTT6xdpRbWzDeYKvfOslPhggQMcsg==" }, "node_modules/get-package-type": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=8.0.0" } }, "node_modules/get-stream": { "version": "6.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "engines": { "node": ">=10" }, @@ -12097,8 +12945,9 @@ }, "node_modules/get-symbol-description": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.5", @@ -12123,12 +12972,15 @@ }, "node_modules/github-from-package": { "version": "0.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", + "dev": true }, "node_modules/glob": { "version": "7.2.3", - "license": "ISC", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -12146,7 +12998,8 @@ }, "node_modules/glob-parent": { "version": "6.0.2", - "license": "ISC", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dependencies": { "is-glob": "^4.0.3" }, @@ -12166,8 +13019,9 @@ }, "node_modules/global-dirs": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", + "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", "dev": true, - "license": "MIT", "dependencies": { "ini": "2.0.0" }, @@ -12180,7 +13034,8 @@ }, "node_modules/globals": { "version": "13.24.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dependencies": { "type-fest": "^0.20.2" }, @@ -12193,8 +13048,9 @@ }, "node_modules/globalthis": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "define-properties": "^1.2.1", @@ -12209,7 +13065,8 @@ }, "node_modules/gopd": { "version": "1.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", "dependencies": { "get-intrinsic": "^1.1.3" }, @@ -12255,11 +13112,13 @@ }, "node_modules/graceful-fs": { "version": "4.2.11", - "license": "ISC" + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" }, "node_modules/graphdb": { "version": "2.0.2", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/graphdb/-/graphdb-2.0.2.tgz", + "integrity": "sha512-ORbS7yw/kTUdKXyeO7QaXx1I3fxigej3KQQdrVSpu0ZQ1W7OVQHDAd/Gu+x2clpwm6sela94Uh/+YKkQGbZqmA==", "dependencies": { "axios": "^0.21.4", "base64url": "^3.0.1", @@ -12279,29 +13138,34 @@ }, "node_modules/graphdb/node_modules/@types/node": { "version": "13.13.52", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.52.tgz", + "integrity": "sha512-s3nugnZumCC//n4moGGe6tkNMyYEdaDBitVjwPxXmR5lnMG5dHePinH2EdxkG3Rh1ghFHHixAG4NJhpJW1rthQ==" }, "node_modules/graphdb/node_modules/axios": { "version": "0.21.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", "dependencies": { "follow-redirects": "^1.14.0" } }, "node_modules/graphdb/node_modules/canonicalize": { "version": "1.0.8", - "license": "Apache-2.0" + "resolved": "https://registry.npmjs.org/canonicalize/-/canonicalize-1.0.8.tgz", + "integrity": "sha512-0CNTVCLZggSh7bc5VkX5WWPWO+cyZbNd07IHIsSXLia/eAq+r836hgk+8BKoEh7949Mda87VUOitx5OddVj64A==" }, "node_modules/graphdb/node_modules/fast-redact": { "version": "2.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-2.1.0.tgz", + "integrity": "sha512-0LkHpTLyadJavq9sRzzyqIoMZemWli77K2/MGOkafrR64B9ItrvZ9aT+jluvNDsv0YEHjSNhlMBtbokuoqii4A==", "engines": { "node": ">=6" } }, "node_modules/graphdb/node_modules/jsonld-streaming-parser": { "version": "2.4.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/jsonld-streaming-parser/-/jsonld-streaming-parser-2.4.3.tgz", + "integrity": "sha512-ysuevJ+l8+Y4W3J/yQW3pa9VCBNDHo2tZkKmPAnfhfsmFMyxuueAeXMmTbpJZdrpagzeeDVr3A8EZVuHliQJ9A==", "dependencies": { "@rdfjs/types": "*", "@types/http-link-header": "^1.0.1", @@ -12314,7 +13178,8 @@ }, "node_modules/graphdb/node_modules/pino": { "version": "5.17.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/pino/-/pino-5.17.0.tgz", + "integrity": "sha512-LqrqmRcJz8etUjyV0ddqB6OTUutCgQULPFg2b4dtijRHUsucaAdBgSUW58vY6RFSX+NT8963F+q0tM6lNwGShA==", "dependencies": { "fast-redact": "^2.0.0", "fast-safe-stringify": "^2.0.7", @@ -12329,15 +13194,18 @@ }, "node_modules/graphdb/node_modules/pino-std-serializers": { "version": "2.5.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-2.5.0.tgz", + "integrity": "sha512-wXqbqSrIhE58TdrxxlfLwU9eDhrzppQDvGhBEr1gYbzzM4KKo3Y63gSjiDXRKLVS2UOXdPNR2v+KnQgNrs+xUg==" }, "node_modules/graphdb/node_modules/quick-format-unescaped": { "version": "3.0.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-3.0.3.tgz", + "integrity": "sha512-dy1yjycmn9blucmJLXOfZDx1ikZJUi6E8bBZLnhPG5gBrVhHXx2xVyqqgKBubVNEXmx51dBACMHpoMQK/N/AXQ==" }, "node_modules/graphdb/node_modules/rdfxml-streaming-parser": { "version": "1.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/rdfxml-streaming-parser/-/rdfxml-streaming-parser-1.5.0.tgz", + "integrity": "sha512-pnt+7NgeqCMd2/rub+dqxzYJhZwJjBNU2BRwyYdCTmRZu2fr795jCPJB6Io5pjPzAt29ASqy+ODBSRMDKoKGbQ==", "dependencies": { "@rdfjs/types": "*", "rdf-data-factory": "^1.1.0", @@ -12347,7 +13215,8 @@ }, "node_modules/graphdb/node_modules/sonic-boom": { "version": "0.7.7", - "license": "MIT", + "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-0.7.7.tgz", + "integrity": "sha512-Ei5YOo5J64GKClHIL/5evJPgASXFVpfVYbJV9PILZQytTK6/LCwHvsZJW2Ig4p9FMC2OrBrMnXKgRN/OEoAWfg==", "dependencies": { "atomic-sleep": "^1.0.0", "flatstr": "^1.0.12" @@ -12355,7 +13224,8 @@ }, "node_modules/graphdb/node_modules/sparqljson-parse": { "version": "1.7.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/sparqljson-parse/-/sparqljson-parse-1.7.0.tgz", + "integrity": "sha512-/88g7aK1QZ42YvMx+nStNeZsiVJhmg/OC4RNnQk+ybItvEkQiTOpnYDmST5FnzOIsSmp5RxAZDCIDdMK1h7Ynw==", "dependencies": { "@rdfjs/types": "*", "@types/node": "^13.1.0", @@ -12365,7 +13235,8 @@ }, "node_modules/graphdb/node_modules/sparqlxml-parse": { "version": "1.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/sparqlxml-parse/-/sparqlxml-parse-1.5.0.tgz", + "integrity": "sha512-+0DCekgO3G6ugeVntrZS6+Fj60MsHR0q51WoRAdVzARb5V3jhX3dZJbwSaeydsOsXrtts4XSMc/z+kbqy5/VUQ==", "dependencies": { "@rdfjs/types": "*", "@types/node": "^13.1.0", @@ -12375,25 +13246,30 @@ }, "node_modules/graphdb/node_modules/uuid": { "version": "3.4.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", "bin": { "uuid": "bin/uuid" } }, "node_modules/graphemer": { "version": "1.4.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" }, "node_modules/graphql": { - "version": "15.8.0", - "license": "MIT", + "version": "15.9.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.9.0.tgz", + "integrity": "sha512-GCOQdvm7XxV1S4U4CGrsdlEN37245eC8P9zaYCMr6K1BG0IPGy5lUwmJsEOGyl1GD6HXjOtl2keCP9asRBwNvA==", "engines": { "node": ">= 10.x" } }, "node_modules/graphql-to-sparql": { "version": "3.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/graphql-to-sparql/-/graphql-to-sparql-3.0.1.tgz", + "integrity": "sha512-A+RwB99o66CUj+XuqtP/u3P7fGS/qF6P+/jhNl1BE/JZ2SCnkrODvV0LADuJeCDmPh45fDhq+GTDVoN1ZQHYFw==", "dependencies": { "@rdfjs/types": "*", "graphql": "^15.5.2", @@ -12430,12 +13306,13 @@ } }, "node_modules/hardhat": { - "version": "2.22.5", - "license": "MIT", + "version": "2.22.16", + "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.22.16.tgz", + "integrity": "sha512-d52yQZ09u0roL6GlgJSvtknsBtIuj9JrJ/U8VMzr/wue+gO5v2tQayvOX6llerlR57Zw2EOTQjLAt6RpHvjwHA==", "dependencies": { "@ethersproject/abi": "^5.1.2", "@metamask/eth-sig-util": "^4.0.0", - "@nomicfoundation/edr": "^0.4.0", + "@nomicfoundation/edr": "^0.6.4", "@nomicfoundation/ethereumjs-common": "4.0.4", "@nomicfoundation/ethereumjs-tx": "5.0.4", "@nomicfoundation/ethereumjs-util": "9.0.4", @@ -12447,31 +13324,32 @@ "aggregate-error": "^3.0.0", "ansi-escapes": "^4.3.0", "boxen": "^5.1.2", - "chalk": "^2.4.2", - "chokidar": "^3.4.0", + "chokidar": "^4.0.0", "ci-info": "^2.0.0", "debug": "^4.1.1", "enquirer": "^2.3.0", "env-paths": "^2.2.0", "ethereum-cryptography": "^1.0.3", "ethereumjs-abi": "^0.6.8", - "find-up": "^2.1.0", + "find-up": "^5.0.0", "fp-ts": "1.19.3", "fs-extra": "^7.0.1", - "glob": "7.2.0", "immutable": "^4.0.0-rc.12", "io-ts": "1.10.4", + "json-stream-stringify": "^3.1.4", "keccak": "^3.0.2", "lodash": "^4.17.11", "mnemonist": "^0.38.0", "mocha": "^10.0.0", "p-map": "^4.0.0", + "picocolors": "^1.1.0", "raw-body": "^2.4.1", "resolve": "1.17.0", "semver": "^6.3.0", - "solc": "0.7.3", + "solc": "0.8.26", "source-map-support": "^0.5.13", "stacktrace-parser": "^0.1.10", + "tinyglobby": "^0.2.6", "tsort": "0.0.1", "undici": "^5.14.0", "uuid": "^8.3.2", @@ -12495,7 +13373,8 @@ }, "node_modules/hardhat-deploy": { "version": "0.11.45", - "license": "MIT", + "resolved": "https://registry.npmjs.org/hardhat-deploy/-/hardhat-deploy-0.11.45.tgz", + "integrity": "sha512-aC8UNaq3JcORnEUIwV945iJuvBwi65tjHVDU3v6mOcqik7WAzHVCJ7cwmkkipsHrWysrB5YvGF1q9S1vIph83w==", "dependencies": { "@ethersproject/abi": "^5.7.0", "@ethersproject/abstract-signer": "^5.7.0", @@ -12525,7 +13404,8 @@ }, "node_modules/hardhat-deploy-ethers": { "version": "0.3.0-beta.13", - "license": "MIT", + "resolved": "https://registry.npmjs.org/hardhat-deploy-ethers/-/hardhat-deploy-ethers-0.3.0-beta.13.tgz", + "integrity": "sha512-PdWVcKB9coqWV1L7JTpfXRCI91Cgwsm7KLmBcwZ8f0COSm1xtABHZTyz3fvF6p42cTnz1VM0QnfDvMFlIRkSNw==", "peerDependencies": { "ethers": "^5.0.0", "hardhat": "^2.0.0" @@ -12533,64 +13413,61 @@ }, "node_modules/hardhat-deploy/node_modules/axios": { "version": "0.21.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", "dependencies": { "follow-redirects": "^1.14.0" } }, - "node_modules/hardhat/node_modules/ansi-styles": { - "version": "3.2.1", - "license": "MIT", + "node_modules/hardhat-deploy/node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dependencies": { - "color-convert": "^1.9.0" + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" }, "engines": { - "node": ">=4" - } - }, - "node_modules/hardhat/node_modules/chalk": { - "version": "2.4.2", - "license": "MIT", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "node": ">= 8.10.0" }, - "engines": { - "node": ">=4" + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "node_modules/hardhat/node_modules/color-convert": { - "version": "1.9.3", - "license": "MIT", + "node_modules/hardhat-deploy/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/hardhat/node_modules/color-name": { - "version": "1.1.3", - "license": "MIT" - }, - "node_modules/hardhat/node_modules/escape-string-regexp": { - "version": "1.0.5", - "license": "MIT", + "is-glob": "^4.0.1" + }, "engines": { - "node": ">=0.8.0" + "node": ">= 6" } }, - "node_modules/hardhat/node_modules/find-up": { - "version": "2.1.0", - "license": "MIT", + "node_modules/hardhat-deploy/node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dependencies": { - "locate-path": "^2.0.0" + "picomatch": "^2.2.1" }, "engines": { - "node": ">=4" + "node": ">=8.10.0" } }, "node_modules/hardhat/node_modules/fs-extra": { "version": "7.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", "dependencies": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", @@ -12600,86 +13477,18 @@ "node": ">=6 <7 || >=8" } }, - "node_modules/hardhat/node_modules/glob": { - "version": "7.2.0", - "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/hardhat/node_modules/has-flag": { - "version": "3.0.0", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/hardhat/node_modules/jsonfile": { "version": "4.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", "optionalDependencies": { "graceful-fs": "^4.1.6" } }, - "node_modules/hardhat/node_modules/locate-path": { - "version": "2.0.0", - "license": "MIT", - "dependencies": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/hardhat/node_modules/p-limit": { - "version": "1.3.0", - "license": "MIT", - "dependencies": { - "p-try": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/hardhat/node_modules/p-locate": { - "version": "2.0.0", - "license": "MIT", - "dependencies": { - "p-limit": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/hardhat/node_modules/p-try": { - "version": "1.0.0", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/hardhat/node_modules/path-exists": { - "version": "3.0.0", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/hardhat/node_modules/resolve": { "version": "1.17.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", "dependencies": { "path-parse": "^1.0.6" }, @@ -12689,31 +13498,24 @@ }, "node_modules/hardhat/node_modules/semver": { "version": "6.3.1", - "license": "ISC", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "bin": { "semver": "bin/semver.js" } }, - "node_modules/hardhat/node_modules/supports-color": { - "version": "5.5.0", - "license": "MIT", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/hardhat/node_modules/universalify": { "version": "0.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "engines": { "node": ">= 4.0.0" } }, "node_modules/hardhat/node_modules/ws": { - "version": "7.5.9", - "license": "MIT", + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", "engines": { "node": ">=8.3.0" }, @@ -12732,8 +13534,9 @@ }, "node_modules/has-ansi": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-4.0.1.tgz", + "integrity": "sha512-Qr4RtTm30xvEdqUXbSBVWDu+PrTokJOwe/FU+VdfJPk+MXAPoeOzKpRyrDTnZIJwAkQ4oBLTU53nu0HrkF/Z2A==", "dev": true, - "license": "MIT", "dependencies": { "ansi-regex": "^4.1.0" }, @@ -12743,8 +13546,9 @@ }, "node_modules/has-bigints": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", "dev": true, - "license": "MIT", "peer": true, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -12752,14 +13556,16 @@ }, "node_modules/has-flag": { "version": "4.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "engines": { "node": ">=8" } }, "node_modules/has-property-descriptors": { "version": "1.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dependencies": { "es-define-property": "^1.0.0" }, @@ -12769,7 +13575,8 @@ }, "node_modules/has-proto": { "version": "1.0.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", "engines": { "node": ">= 0.4" }, @@ -12779,7 +13586,8 @@ }, "node_modules/has-symbols": { "version": "1.0.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "engines": { "node": ">= 0.4" }, @@ -12789,8 +13597,9 @@ }, "node_modules/has-tostringtag": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", "dev": true, - "license": "MIT", "dependencies": { "has-symbols": "^1.0.3" }, @@ -12803,7 +13612,8 @@ }, "node_modules/hash-base": { "version": "3.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", "dependencies": { "inherits": "^2.0.4", "readable-stream": "^3.6.0", @@ -12815,7 +13625,8 @@ }, "node_modules/hash-base/node_modules/readable-stream": { "version": "3.6.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -12827,7 +13638,8 @@ }, "node_modules/hash.js": { "version": "1.1.7", - "license": "MIT", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", "dependencies": { "inherits": "^2.0.3", "minimalistic-assert": "^1.0.1" @@ -12835,8 +13647,9 @@ }, "node_modules/hasha": { "version": "5.2.2", + "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", + "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", "dev": true, - "license": "MIT", "dependencies": { "is-stream": "^2.0.0", "type-fest": "^0.8.0" @@ -12850,19 +13663,22 @@ }, "node_modules/hasha/node_modules/type-fest": { "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=8" } }, "node_modules/hashlru": { "version": "2.3.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/hashlru/-/hashlru-2.3.0.tgz", + "integrity": "sha512-0cMsjjIC8I+D3M44pOQdsy0OHXGLVz6Z0beRuufhKa0KfaD2wGwAev6jILzXsd3/vpnNQJmWyZtIILqM1N+n5A==" }, "node_modules/hasown": { "version": "2.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dependencies": { "function-bind": "^1.1.2" }, @@ -12872,18 +13688,21 @@ }, "node_modules/he": { "version": "1.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", "bin": { "he": "bin/he" } }, "node_modules/heap": { "version": "0.2.7", - "license": "MIT" + "resolved": "https://registry.npmjs.org/heap/-/heap-0.2.7.tgz", + "integrity": "sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==" }, "node_modules/help-me": { "version": "4.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/help-me/-/help-me-4.2.0.tgz", + "integrity": "sha512-TAOnTB8Tz5Dw8penUuzHVrKNKlCIbwwbHnXraNJxPwf8LRtE2HlM84RYuezMFcwOJmoYOCWVDyJ8TQGxn9PgxA==", "dependencies": { "glob": "^8.0.0", "readable-stream": "^3.6.0" @@ -12891,14 +13710,17 @@ }, "node_modules/help-me/node_modules/brace-expansion": { "version": "2.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dependencies": { "balanced-match": "^1.0.0" } }, "node_modules/help-me/node_modules/glob": { "version": "8.1.0", - "license": "ISC", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -12915,7 +13737,8 @@ }, "node_modules/help-me/node_modules/minimatch": { "version": "5.1.6", - "license": "ISC", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -12925,7 +13748,8 @@ }, "node_modules/help-me/node_modules/readable-stream": { "version": "3.6.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -12937,7 +13761,8 @@ }, "node_modules/hmac-drbg": { "version": "1.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", "dependencies": { "hash.js": "^1.0.3", "minimalistic-assert": "^1.0.0", @@ -12946,8 +13771,9 @@ }, "node_modules/html-encoding-sniffer": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", "dev": true, - "license": "MIT", "dependencies": { "whatwg-encoding": "^1.0.5" }, @@ -12957,11 +13783,14 @@ }, "node_modules/html-escaper": { "version": "2.0.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true }, "node_modules/htmlparser2": { "version": "9.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-9.1.0.tgz", + "integrity": "sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==", "funding": [ "https://github.com/fb55/htmlparser2?sponsor=1", { @@ -12969,7 +13798,6 @@ "url": "https://github.com/sponsors/fb55" } ], - "license": "MIT", "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.3", @@ -12985,7 +13813,8 @@ }, "node_modules/http-errors": { "version": "2.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dependencies": { "depd": "2.0.0", "inherits": "2.0.4", @@ -13005,15 +13834,17 @@ }, "node_modules/http-link-header": { "version": "1.1.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/http-link-header/-/http-link-header-1.1.3.tgz", + "integrity": "sha512-3cZ0SRL8fb9MUlU3mKM61FcQvPfXx2dBrZW3Vbg5CXa8jFlK8OaEpePenLe1oEXQduhz8b0QjsqfS59QP4AJDQ==", "engines": { "node": ">=6.0.0" } }, "node_modules/http-proxy-agent": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", "dev": true, - "license": "MIT", "dependencies": { "@tootallnate/once": "1", "agent-base": "6", @@ -13053,7 +13884,8 @@ }, "node_modules/https-proxy-agent": { "version": "5.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "dependencies": { "agent-base": "6", "debug": "4" @@ -13064,15 +13896,17 @@ }, "node_modules/human-signals": { "version": "2.1.0", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "engines": { "node": ">=10.17.0" } }, "node_modules/husky": { "version": "8.0.3", + "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.3.tgz", + "integrity": "sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==", "dev": true, - "license": "MIT", "bin": { "husky": "lib/bin.js" }, @@ -13085,7 +13919,8 @@ }, "node_modules/iconv-lite": { "version": "0.6.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, @@ -13116,6 +13951,8 @@ }, "node_modules/ieee754": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", "funding": [ { "type": "github", @@ -13129,23 +13966,25 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "BSD-3-Clause" + ] }, "node_modules/ignore": { - "version": "5.3.1", - "license": "MIT", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "engines": { "node": ">= 4" } }, "node_modules/immutable": { - "version": "4.3.6", - "license": "MIT" + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz", + "integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==" }, "node_modules/import-fresh": { "version": "3.3.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -13159,42 +13998,49 @@ }, "node_modules/import-lazy": { "version": "4.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", + "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", "engines": { "node": ">=8" } }, "node_modules/imul": { "version": "1.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/imul/-/imul-1.0.1.tgz", + "integrity": "sha512-WFAgfwPLAjU66EKt6vRdTlKj4nAgIDQzh29JonLa4Bqtl6D8JrIMvWjCnx7xEjVNmP3U0fM5o8ZObk7d0f62bA==", "engines": { "node": ">=0.10.0" } }, "node_modules/imurmurhash": { "version": "0.1.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "engines": { "node": ">=0.8.19" } }, "node_modules/indent-string": { "version": "4.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", "engines": { "node": ">=8" } }, "node_modules/inflection": { "version": "1.13.4", + "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.13.4.tgz", + "integrity": "sha512-6I/HUDeYFfuNCVS3td055BaXBwKYuzw7K3ExVMStBowKo9oOAMJIXIHvdyR3iboTCp1b+1i5DSkIZTcwIktuDw==", "engines": [ "node >= 0.4.0" - ], - "license": "MIT" + ] }, "node_modules/inflight": { "version": "1.0.6", - "license": "ISC", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -13202,19 +14048,22 @@ }, "node_modules/inherits": { "version": "2.0.4", - "license": "ISC" + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "node_modules/ini": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", "dev": true, - "license": "ISC", "engines": { "node": ">=10" } }, "node_modules/interface-datastore": { "version": "5.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-5.2.0.tgz", + "integrity": "sha512-nthO4C4BMJM2j9x/mT2KFa/g/sbcY8yf9j/kOBgli3u5mq9ZdPvQyDxi0OhKzr4JmoM81OYh5xcFjyebquqwvA==", "dependencies": { "err-code": "^3.0.1", "interface-store": "^1.0.2", @@ -13229,12 +14078,14 @@ }, "node_modules/interface-store": { "version": "1.0.2", - "license": "(Apache-2.0 OR MIT)" + "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-1.0.2.tgz", + "integrity": "sha512-rUBLYsgoWwxuUpnQoSUr+DR/3dH3reVeIu5aOHFZK31lAexmb++kR6ZECNRgrx6WvoaM3Akdo0A7TDrqgCzZaQ==" }, "node_modules/internal-slot": { "version": "1.0.7", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "es-errors": "^1.3.0", @@ -13247,26 +14098,30 @@ }, "node_modules/internmap": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", + "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", "dev": true, - "license": "ISC", "engines": { "node": ">=12" } }, "node_modules/io-ts": { "version": "1.10.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/io-ts/-/io-ts-1.10.4.tgz", + "integrity": "sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g==", "dependencies": { "fp-ts": "^1.0.0" } }, "node_modules/ip": { "version": "1.1.9", - "license": "MIT" + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.9.tgz", + "integrity": "sha512-cyRxvOEpNHNtchU3Ln9KC/auJgup87llfQpQ+t5ghoC/UhL16SWzbueiCsdTnWmqAWl7LadfuwhlqmtOaqMHdQ==" }, "node_modules/ip-address": { "version": "8.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-8.1.0.tgz", + "integrity": "sha512-Wz91gZKpNKoXtqvY8ScarKYwhXoK4r/b5QuT+uywe/azv0/nUCo7Bh0IRRI7F9DHR06kJNWtzMGLIbXavngbKA==", "dependencies": { "jsbn": "1.1.0", "sprintf-js": "1.1.2" @@ -13277,21 +14132,24 @@ }, "node_modules/ip-regex": { "version": "4.3.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", + "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==", "engines": { "node": ">=8" } }, "node_modules/ipaddr.js": { "version": "2.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", + "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", "engines": { "node": ">= 10" } }, "node_modules/ipfs-utils": { "version": "8.1.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-8.1.6.tgz", + "integrity": "sha512-V/cwb6113DrDhrjDTWImA6+zmJbpdbUkxdxmEQO7it8ykV76bBmzU1ZXSM0QR0qxGy9VW8dkUlPAC2K10VgSmw==", "dependencies": { "abort-controller": "^3.0.0", "any-signal": "^2.1.0", @@ -13339,8 +14197,9 @@ }, "node_modules/is-array-buffer": { "version": "3.0.4", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.2", @@ -13355,12 +14214,14 @@ }, "node_modules/is-arrayish": { "version": "0.3.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" }, "node_modules/is-async-function": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "has-tostringtag": "^1.0.0" @@ -13374,8 +14235,9 @@ }, "node_modules/is-bigint": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "has-bigints": "^1.0.1" @@ -13386,7 +14248,8 @@ }, "node_modules/is-binary-path": { "version": "2.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dependencies": { "binary-extensions": "^2.0.0" }, @@ -13396,8 +14259,9 @@ }, "node_modules/is-boolean-object": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.2", @@ -13412,6 +14276,8 @@ }, "node_modules/is-buffer": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", "funding": [ { "type": "github", @@ -13426,15 +14292,15 @@ "url": "https://feross.org/support" } ], - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/is-callable": { "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -13443,10 +14309,14 @@ } }, "node_modules/is-core-module": { - "version": "2.13.1", - "license": "MIT", + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", "dependencies": { - "hasown": "^2.0.0" + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -13454,8 +14324,9 @@ }, "node_modules/is-data-view": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", + "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "is-typed-array": "^1.1.13" @@ -13469,8 +14340,9 @@ }, "node_modules/is-date-object": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "has-tostringtag": "^1.0.0" @@ -13484,22 +14356,28 @@ }, "node_modules/is-electron": { "version": "2.2.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.2.tgz", + "integrity": "sha512-FO/Rhvz5tuw4MCWkpMzHFKWD2LsfHzIb7i6MdPYZ/KW7AlxawyLkqdy+jPZP1WubqEADE3O4FUENlJHDfQASRg==" }, "node_modules/is-extglob": { "version": "2.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "engines": { "node": ">=0.10.0" } }, "node_modules/is-finalizationregistry": { - "version": "1.0.2", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.0.tgz", + "integrity": "sha512-qfMdqbAQEwBw78ZyReKnlA8ezmPdb9BemzIIip/JkjaZUhitfXDkkr+3QTboW0JrSXT1QWyYShpvnNHGZ4c4yA==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { - "call-bind": "^1.0.2" + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -13507,8 +14385,9 @@ }, "node_modules/is-fullwidth-code-point": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=12" }, @@ -13524,8 +14403,9 @@ }, "node_modules/is-generator-function": { "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", "dev": true, - "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -13538,7 +14418,8 @@ }, "node_modules/is-glob": { "version": "4.0.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dependencies": { "is-extglob": "^2.1.1" }, @@ -13548,7 +14429,8 @@ }, "node_modules/is-hex-prefixed": { "version": "1.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", + "integrity": "sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==", "engines": { "node": ">=6.5.0", "npm": ">=3" @@ -13556,8 +14438,9 @@ }, "node_modules/is-installed-globally": { "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", "dev": true, - "license": "MIT", "dependencies": { "global-dirs": "^3.0.0", "is-path-inside": "^3.0.2" @@ -13571,7 +14454,8 @@ }, "node_modules/is-ip": { "version": "3.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", + "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", "dependencies": { "ip-regex": "^4.0.0" }, @@ -13581,12 +14465,14 @@ }, "node_modules/is-loopback-addr": { "version": "1.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/is-loopback-addr/-/is-loopback-addr-1.0.1.tgz", + "integrity": "sha512-DhWU/kqY7X2F6KrrVTu7mHlbd2Pbo4D1YkAzasBMjQs6lJAoefxaA6m6CpSX0K6pjt9D0b9PNFI5zduy/vzOYw==" }, "node_modules/is-map": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", "dev": true, - "license": "MIT", "peer": true, "engines": { "node": ">= 0.4" @@ -13597,8 +14483,9 @@ }, "node_modules/is-negative-zero": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", "dev": true, - "license": "MIT", "peer": true, "engines": { "node": ">= 0.4" @@ -13609,15 +14496,17 @@ }, "node_modules/is-number": { "version": "7.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "engines": { "node": ">=0.12.0" } }, "node_modules/is-number-object": { "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "has-tostringtag": "^1.0.0" @@ -13631,31 +14520,36 @@ }, "node_modules/is-path-inside": { "version": "3.0.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "engines": { "node": ">=8" } }, "node_modules/is-plain-obj": { "version": "2.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", "engines": { "node": ">=8" } }, "node_modules/is-potential-custom-element-name": { "version": "1.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true }, "node_modules/is-property": { "version": "1.0.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==" }, "node_modules/is-regex": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.2", @@ -13670,8 +14564,9 @@ }, "node_modules/is-set": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", "dev": true, - "license": "MIT", "peer": true, "engines": { "node": ">= 0.4" @@ -13682,8 +14577,9 @@ }, "node_modules/is-shared-array-buffer": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.7" @@ -13697,7 +14593,8 @@ }, "node_modules/is-stream": { "version": "2.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "engines": { "node": ">=8" }, @@ -13707,8 +14604,9 @@ }, "node_modules/is-string": { "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "has-tostringtag": "^1.0.0" @@ -13722,8 +14620,9 @@ }, "node_modules/is-symbol": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "has-symbols": "^1.0.2" @@ -13737,8 +14636,9 @@ }, "node_modules/is-typed-array": { "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", "dev": true, - "license": "MIT", "dependencies": { "which-typed-array": "^1.1.14" }, @@ -13751,11 +14651,13 @@ }, "node_modules/is-typedarray": { "version": "1.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" }, "node_modules/is-unicode-supported": { "version": "0.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", "engines": { "node": ">=10" }, @@ -13765,8 +14667,9 @@ }, "node_modules/is-weakmap": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", "dev": true, - "license": "MIT", "peer": true, "engines": { "node": ">= 0.4" @@ -13777,8 +14680,9 @@ }, "node_modules/is-weakref": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.2" @@ -13789,8 +14693,9 @@ }, "node_modules/is-weakset": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", + "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.7", @@ -13805,25 +14710,29 @@ }, "node_modules/is-windows": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/isarray": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", "dev": true, - "license": "MIT", "peer": true }, "node_modules/isexe": { "version": "2.0.0", - "license": "ISC" + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, "node_modules/iso-random-stream": { "version": "2.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/iso-random-stream/-/iso-random-stream-2.0.2.tgz", + "integrity": "sha512-yJvs+Nnelic1L2vH2JzWvvPQFA4r7kSTnpST/+LkAQjSz0hos2oqLD+qIVi9Qk38Hoe7mNDt3j0S27R58MVjLQ==", "dependencies": { "events": "^3.3.0", "readable-stream": "^3.4.0" @@ -13834,7 +14743,8 @@ }, "node_modules/iso-random-stream/node_modules/readable-stream": { "version": "3.6.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -13846,7 +14756,8 @@ }, "node_modules/iso-url": { "version": "1.2.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-1.2.1.tgz", + "integrity": "sha512-9JPDgCN4B7QPkLtYAAOrEuAWvP9rWvR5offAr0/SeF046wIkglqH3VXgYYP6NcsKslH80UIVgmPqNe3j7tG2ng==", "engines": { "node": ">=12" } @@ -13859,16 +14770,18 @@ }, "node_modules/istanbul-lib-coverage": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", "dev": true, - "license": "BSD-3-Clause", "engines": { "node": ">=8" } }, "node_modules/istanbul-lib-hook": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", + "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "append-transform": "^2.0.0" }, @@ -13878,8 +14791,9 @@ }, "node_modules/istanbul-lib-instrument": { "version": "4.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "@babel/core": "^7.7.5", "@istanbuljs/schema": "^0.1.2", @@ -13892,16 +14806,18 @@ }, "node_modules/istanbul-lib-instrument/node_modules/semver": { "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/istanbul-lib-processinfo": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.3.tgz", + "integrity": "sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==", "dev": true, - "license": "ISC", "dependencies": { "archy": "^1.0.0", "cross-spawn": "^7.0.3", @@ -13916,8 +14832,9 @@ }, "node_modules/istanbul-lib-processinfo/node_modules/p-map": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", "dev": true, - "license": "MIT", "dependencies": { "aggregate-error": "^3.0.0" }, @@ -13927,8 +14844,9 @@ }, "node_modules/istanbul-lib-report": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "istanbul-lib-coverage": "^3.0.0", "make-dir": "^4.0.0", @@ -13940,8 +14858,9 @@ }, "node_modules/istanbul-lib-report/node_modules/make-dir": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, - "license": "MIT", "dependencies": { "semver": "^7.5.3" }, @@ -13954,8 +14873,9 @@ }, "node_modules/istanbul-lib-report/node_modules/supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -13965,8 +14885,9 @@ }, "node_modules/istanbul-lib-source-maps": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "debug": "^4.1.1", "istanbul-lib-coverage": "^3.0.0", @@ -13978,8 +14899,9 @@ }, "node_modules/istanbul-reports": { "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "html-escaper": "^2.0.0", "istanbul-lib-report": "^3.0.0" @@ -13990,11 +14912,13 @@ }, "node_modules/it-all": { "version": "1.0.6", - "license": "ISC" + "resolved": "https://registry.npmjs.org/it-all/-/it-all-1.0.6.tgz", + "integrity": "sha512-3cmCc6Heqe3uWi3CVM/k51fa/XbMFpQVzFoDsV0IZNHSQDyAXl3c4MjHkFX5kF3922OGj7Myv1nSEUgRtcuM1A==" }, "node_modules/it-buffer": { "version": "0.1.3", - "license": "MPL-2.0", + "resolved": "https://registry.npmjs.org/it-buffer/-/it-buffer-0.1.3.tgz", + "integrity": "sha512-9a2/9SYVwG7bcn3tpRDR4bXbtuMLXnDK48KVC+GXiQg97ZOOdWz2nIITBsOQ19b+gj01Rw8RNwtiLDLI8P8oiQ==", "dependencies": { "bl": "^5.0.0", "buffer": "^6.0.3" @@ -14002,19 +14926,23 @@ }, "node_modules/it-drain": { "version": "1.0.5", - "license": "ISC" + "resolved": "https://registry.npmjs.org/it-drain/-/it-drain-1.0.5.tgz", + "integrity": "sha512-r/GjkiW1bZswC04TNmUnLxa6uovme7KKwPhc+cb1hHU65E3AByypHH6Pm91WHuvqfFsm+9ws0kPtDBV3/8vmIg==" }, "node_modules/it-filter": { "version": "1.0.3", - "license": "ISC" + "resolved": "https://registry.npmjs.org/it-filter/-/it-filter-1.0.3.tgz", + "integrity": "sha512-EI3HpzUrKjTH01miLHWmhNWy3Xpbx4OXMXltgrNprL5lDpF3giVpHIouFpr5l+evXw6aOfxhnt01BIB+4VQA+w==" }, "node_modules/it-first": { "version": "1.0.7", - "license": "ISC" + "resolved": "https://registry.npmjs.org/it-first/-/it-first-1.0.7.tgz", + "integrity": "sha512-nvJKZoBpZD/6Rtde6FXqwDqDZGF1sCADmr2Zoc0hZsIvnE449gRFnGctxDf09Bzc/FWnHXAdaHVIetY6lrE0/g==" }, "node_modules/it-glob": { "version": "0.0.14", - "license": "ISC", + "resolved": "https://registry.npmjs.org/it-glob/-/it-glob-0.0.14.tgz", + "integrity": "sha512-TKKzs9CglbsihSpcwJPXN5DBUssu4akRzPlp8QJRCoLrKoaOpyY2V1qDlxx+UMivn0i114YyTd4AawWl7eqIdw==", "dependencies": { "@types/minimatch": "^3.0.4", "minimatch": "^3.0.4" @@ -14022,7 +14950,8 @@ }, "node_modules/it-handshake": { "version": "2.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/it-handshake/-/it-handshake-2.0.0.tgz", + "integrity": "sha512-K4q+mz8aLlCK3vTjtgNdHC9c/JbuOATsfogarjMsLcBZC5vYfKbX3Gq3AWcCdjIsIrPqzTlhPKSxl64LJkrt2w==", "dependencies": { "it-pushable": "^1.4.0", "it-reader": "^3.0.0", @@ -14031,11 +14960,13 @@ }, "node_modules/it-length": { "version": "1.0.4", - "license": "ISC" + "resolved": "https://registry.npmjs.org/it-length/-/it-length-1.0.4.tgz", + "integrity": "sha512-KN4jXzp77/GQ4fxUGMbsJx3ALUZ6SP3E79tzs2weGghtImDLFZzua/l3fOK0LN/hMH0M330HJRZWwYZfDNuCIA==" }, "node_modules/it-length-prefixed": { "version": "5.0.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/it-length-prefixed/-/it-length-prefixed-5.0.3.tgz", + "integrity": "sha512-b+jDHLcnOnPDQN79ronmzF5jeBjdJsy0ce2O6i6X4J5tnaO8Fd146ZA/tMbzaLlKnTpXa0eKtofpYhumXGENeg==", "dependencies": { "bl": "^5.0.0", "buffer": "^6.0.3", @@ -14044,25 +14975,29 @@ }, "node_modules/it-map": { "version": "1.0.6", - "license": "ISC" + "resolved": "https://registry.npmjs.org/it-map/-/it-map-1.0.6.tgz", + "integrity": "sha512-XT4/RM6UHIFG9IobGlQPFQUrlEKkU4eBUFG3qhWhfAdh1JfF2x11ShCrKCdmZ0OiZppPfoLuzcfA4cey6q3UAQ==" }, "node_modules/it-merge": { "version": "1.0.4", - "license": "ISC", + "resolved": "https://registry.npmjs.org/it-merge/-/it-merge-1.0.4.tgz", + "integrity": "sha512-DcL6GksTD2HQ7+5/q3JznXaLNfwjyG3/bObaF98da+oHfUiPmdo64oJlT9J8R8G5sJRU7thwaY5zxoAKCn7FJw==", "dependencies": { "it-pushable": "^1.4.0" } }, "node_modules/it-pair": { "version": "1.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/it-pair/-/it-pair-1.0.0.tgz", + "integrity": "sha512-9raOiDu5OAuDOahtMtapKQDrQTxBfzlzrNcB6o7JARHkt+7Bb1dMkW/TpYdAjBJE77KH3e2zGzwpGUP9tXbLww==", "dependencies": { "get-iterator": "^1.0.2" } }, "node_modules/it-pb-rpc": { "version": "0.1.13", - "license": "MPL-2.0", + "resolved": "https://registry.npmjs.org/it-pb-rpc/-/it-pb-rpc-0.1.13.tgz", + "integrity": "sha512-aZ4FNJsDgNepVVTmYXgXbQabIiOQyqYWUhdfovaHDcPSM5KjegwJihJEWMJjMyj+oLSKcZl0vmHgHxXWJ9/ufw==", "dependencies": { "is-buffer": "^2.0.5", "it-handshake": "^2.0.0", @@ -14071,29 +15006,34 @@ }, "node_modules/it-pipe": { "version": "1.1.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/it-pipe/-/it-pipe-1.1.0.tgz", + "integrity": "sha512-lF0/3qTVeth13TOnHVs0BTFaziwQF7m5Gg+E6JV0BXcLKutC92YjSi7bASgkPOXaLEb+YvNZrPorGMBIJvZfxg==" }, "node_modules/it-pushable": { "version": "1.4.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/it-pushable/-/it-pushable-1.4.2.tgz", + "integrity": "sha512-vVPu0CGRsTI8eCfhMknA7KIBqqGFolbRx+1mbQ6XuZ7YCz995Qj7L4XUviwClFunisDq96FdxzF5FnAbw15afg==", "dependencies": { "fast-fifo": "^1.0.0" } }, "node_modules/it-reader": { "version": "3.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/it-reader/-/it-reader-3.0.0.tgz", + "integrity": "sha512-NxR40odATeaBmSefn6Xn43DplYvn2KtEKQzn4jrTRuPYXMky5M4e+KQ7aTJh0k0vkytLyeenGO1I1GXlGm4laQ==", "dependencies": { "bl": "^5.0.0" } }, "node_modules/it-take": { "version": "1.0.2", - "license": "ISC" + "resolved": "https://registry.npmjs.org/it-take/-/it-take-1.0.2.tgz", + "integrity": "sha512-u7I6qhhxH7pSevcYNaMECtkvZW365ARqAIt9K+xjdK1B2WUDEjQSfETkOCT8bxFq/59LqrN3cMLUtTgmDBaygw==" }, "node_modules/it-to-stream": { "version": "1.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/it-to-stream/-/it-to-stream-1.0.0.tgz", + "integrity": "sha512-pLULMZMAB/+vbdvbZtebC0nWBTbG581lk6w8P7DfIIIKUfa8FbY7Oi0FxZcFPbxvISs7A9E+cMpLDBc1XhpAOA==", "dependencies": { "buffer": "^6.0.3", "fast-fifo": "^1.0.0", @@ -14105,7 +15045,8 @@ }, "node_modules/it-to-stream/node_modules/readable-stream": { "version": "3.6.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -14116,9 +15057,10 @@ } }, "node_modules/iterator.prototype": { - "version": "1.1.2", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.3.tgz", + "integrity": "sha512-FW5iMbeQ6rBGm/oKgzq2aW4KvAGpxPzYES8N4g4xNXUKpL1mclMvOe+76AcLDTvD+Ze+sOpVhgdAQEKF4L9iGQ==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "define-properties": "^1.2.1", @@ -14126,35 +15068,44 @@ "has-symbols": "^1.0.3", "reflect.getprototypeof": "^1.0.4", "set-function-name": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" } }, "node_modules/javascript-natural-sort": { "version": "0.7.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/javascript-natural-sort/-/javascript-natural-sort-0.7.1.tgz", + "integrity": "sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==" }, "node_modules/jju": { "version": "1.4.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz", + "integrity": "sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==" }, "node_modules/joycon": { "version": "3.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz", + "integrity": "sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==", "engines": { "node": ">=10" } }, "node_modules/js-sha3": { "version": "0.8.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" }, "node_modules/js-tokens": { "version": "4.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true }, "node_modules/js-yaml": { "version": "4.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dependencies": { "argparse": "^2.0.1" }, @@ -14164,12 +15115,14 @@ }, "node_modules/jsbn": { "version": "1.1.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==" }, "node_modules/jsdom": { "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", "dev": true, - "license": "MIT", "dependencies": { "abab": "^2.0.5", "acorn": "^8.2.4", @@ -14212,9 +15165,10 @@ } }, "node_modules/jsdom/node_modules/form-data": { - "version": "3.0.1", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.2.tgz", + "integrity": "sha512-sJe+TQb2vIaIyO783qN6BlMYWMw3WBOHA1Ay2qxsnjuafEOQFJ2JakedOQirT6D5XPRxDvS7AHYyem9fTpb4LQ==", "dev": true, - "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -14225,9 +15179,10 @@ } }, "node_modules/jsdom/node_modules/ws": { - "version": "7.5.9", + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8.3.0" }, @@ -14245,19 +15200,21 @@ } }, "node_modules/jsesc": { - "version": "2.5.2", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", "dev": true, - "license": "MIT", "bin": { "jsesc": "bin/jsesc" }, "engines": { - "node": ">=4" + "node": ">=6" } }, "node_modules/json-buffer": { "version": "3.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" }, "node_modules/json-schema": { "version": "0.4.0", @@ -14267,20 +15224,32 @@ }, "node_modules/json-schema-traverse": { "version": "0.4.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" + }, + "node_modules/json-stream-stringify": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/json-stream-stringify/-/json-stream-stringify-3.1.6.tgz", + "integrity": "sha512-x7fpwxOkbhFCaJDJ8vb1fBY3DdSa4AlITaz+HHILQJzdPMnHEFjxPwVUi1ALIbcIxDE0PNe/0i7frnY8QnBQog==", + "engines": { + "node": ">=7.10.1" + } }, "node_modules/json-stringify-safe": { "version": "5.0.1", - "license": "ISC" + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" }, "node_modules/json5": { "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, - "license": "MIT", "bin": { "json5": "lib/cli.js" }, @@ -14290,7 +15259,8 @@ }, "node_modules/jsonfile": { "version": "6.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dependencies": { "universalify": "^2.0.0" }, @@ -14300,7 +15270,8 @@ }, "node_modules/jsonld": { "version": "8.3.2", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/jsonld/-/jsonld-8.3.2.tgz", + "integrity": "sha512-MwBbq95szLwt8eVQ1Bcfwmgju/Y5P2GdtlHE2ncyfuYjIdEhluUVyj1eudacf1mOkWIoS9GpDBTECqhmq7EOaA==", "dependencies": { "@digitalbazaar/http-client": "^3.4.1", "canonicalize": "^1.0.1", @@ -14313,7 +15284,8 @@ }, "node_modules/jsonld-context-parser": { "version": "2.4.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/jsonld-context-parser/-/jsonld-context-parser-2.4.0.tgz", + "integrity": "sha512-ZYOfvh525SdPd9ReYY58dxB3E2RUEU4DJ6ZibO8AitcowPeBH4L5rCAitE2om5G1P+HMEgYEYEr4EZKbVN4tpA==", "dependencies": { "@types/http-link-header": "^1.0.1", "@types/node": "^18.0.0", @@ -14326,22 +15298,25 @@ } }, "node_modules/jsonld-context-parser/node_modules/@types/node": { - "version": "18.19.34", - "license": "MIT", + "version": "18.19.67", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.67.tgz", + "integrity": "sha512-wI8uHusga+0ZugNp0Ol/3BqQfEcCCNfojtO6Oou9iVNGPTL6QNSdnUdqq85fRgIorLhLMuPIKpsN98QE9Nh+KQ==", "dependencies": { "undici-types": "~5.26.4" } }, "node_modules/jsonld-context-parser/node_modules/cross-fetch": { "version": "3.1.8", - "license": "MIT", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", + "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", "dependencies": { "node-fetch": "^2.6.12" } }, "node_modules/jsonld-context-parser/node_modules/node-fetch": { "version": "2.7.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "dependencies": { "whatwg-url": "^5.0.0" }, @@ -14359,15 +15334,23 @@ }, "node_modules/jsonld-context-parser/node_modules/tr46": { "version": "0.0.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/jsonld-context-parser/node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" }, "node_modules/jsonld-context-parser/node_modules/webidl-conversions": { "version": "3.0.1", - "license": "BSD-2-Clause" + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, "node_modules/jsonld-context-parser/node_modules/whatwg-url": { "version": "5.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -14375,7 +15358,8 @@ }, "node_modules/jsonld-streaming-parser": { "version": "3.4.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/jsonld-streaming-parser/-/jsonld-streaming-parser-3.4.0.tgz", + "integrity": "sha512-897CloyQgQidfkB04dLM5XaAXVX/cN9A2hvgHJo4y4jRhIpvg3KLMBBfcrswepV2N3T8c/Rp2JeFdWfVsbVZ7g==", "dependencies": { "@bergos/jsonparse": "^1.4.0", "@rdfjs/types": "*", @@ -14391,11 +15375,13 @@ }, "node_modules/jsonld-streaming-parser/node_modules/canonicalize": { "version": "1.0.8", - "license": "Apache-2.0" + "resolved": "https://registry.npmjs.org/canonicalize/-/canonicalize-1.0.8.tgz", + "integrity": "sha512-0CNTVCLZggSh7bc5VkX5WWPWO+cyZbNd07IHIsSXLia/eAq+r836hgk+8BKoEh7949Mda87VUOitx5OddVj64A==" }, "node_modules/jsonld-streaming-serializer": { "version": "2.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/jsonld-streaming-serializer/-/jsonld-streaming-serializer-2.1.0.tgz", + "integrity": "sha512-COHdLoeMTnrqHMoFhN3PoAwqnrKrpPC7/ACb0WbELYvt+HSOIFN3v4IJP7fOtLNQ4GeaeYkvbeWJ7Jo4EjxMDw==", "dependencies": { "@rdfjs/types": "*", "@types/readable-stream": "^2.3.13", @@ -14406,11 +15392,13 @@ }, "node_modules/jsonld/node_modules/canonicalize": { "version": "1.0.8", - "license": "Apache-2.0" + "resolved": "https://registry.npmjs.org/canonicalize/-/canonicalize-1.0.8.tgz", + "integrity": "sha512-0CNTVCLZggSh7bc5VkX5WWPWO+cyZbNd07IHIsSXLia/eAq+r836hgk+8BKoEh7949Mda87VUOitx5OddVj64A==" }, "node_modules/jsonld/node_modules/lru-cache": { "version": "6.0.0", - "license": "ISC", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dependencies": { "yallist": "^4.0.0" }, @@ -14420,25 +15408,29 @@ }, "node_modules/jsonld/node_modules/yallist": { "version": "4.0.0", - "license": "ISC" + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/jsonparse": { "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", "engines": [ "node >= 0.2.0" - ], - "license": "MIT" + ] }, "node_modules/jsonschema": { "version": "1.4.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.4.1.tgz", + "integrity": "sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ==", "engines": { "node": "*" } }, "node_modules/JSONStream": { "version": "1.3.5", - "license": "(MIT OR Apache-2.0)", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", "dependencies": { "jsonparse": "^1.2.0", "through": ">=2.2.7 <3" @@ -14452,7 +15444,8 @@ }, "node_modules/jsonwebtoken": { "version": "9.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", + "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", "dependencies": { "jws": "^3.2.2", "lodash.includes": "^4.3.0", @@ -14510,8 +15503,9 @@ }, "node_modules/jsx-ast-utils": { "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "array-includes": "^3.1.6", @@ -14525,12 +15519,14 @@ }, "node_modules/just-extend": { "version": "6.2.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-6.2.0.tgz", + "integrity": "sha512-cYofQu2Xpom82S6qD778jBDpwvvy39s1l/hrYij2u9AMdQcGRpaBu6kY4mVhuno5kJVi1DAz4aiphA2WI1/OAw==", + "dev": true }, "node_modules/jwa": { "version": "1.4.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", "dependencies": { "buffer-equal-constant-time": "1.0.1", "ecdsa-sig-formatter": "1.0.11", @@ -14539,7 +15535,8 @@ }, "node_modules/jws": { "version": "3.2.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", "dependencies": { "jwa": "^1.4.1", "safe-buffer": "^5.0.1" @@ -14547,15 +15544,17 @@ }, "node_modules/k-bucket": { "version": "5.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/k-bucket/-/k-bucket-5.1.0.tgz", + "integrity": "sha512-Fac7iINEovXIWU20GPnOMLUbjctiS+cnmyjC4zAUgvs3XPf1vo9akfCHkigftSic/jiKqKl+KA3a/vFcJbHyCg==", "dependencies": { "randombytes": "^2.1.0" } }, "node_modules/keccak": { "version": "3.0.4", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.4.tgz", + "integrity": "sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==", "hasInstallScript": true, - "license": "MIT", "dependencies": { "node-addon-api": "^2.0.0", "node-gyp-build": "^4.2.0", @@ -14567,7 +15566,8 @@ }, "node_modules/keccak/node_modules/readable-stream": { "version": "3.6.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -14579,37 +15579,35 @@ }, "node_modules/keypair": { "version": "1.0.4", - "license": "BSD / GPL" + "resolved": "https://registry.npmjs.org/keypair/-/keypair-1.0.4.tgz", + "integrity": "sha512-zwhgOhhniaL7oxMgUMKKw5219PWWABMO+dgMnzJOQ2/5L3XJtTJGhW2PEXlxXj9zaccdReZJZ83+4NPhVfNVDg==" }, "node_modules/keyv": { "version": "4.5.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dependencies": { "json-buffer": "3.0.1" } }, - "node_modules/klaw": { - "version": "1.3.1", - "license": "MIT", - "optionalDependencies": { - "graceful-fs": "^4.1.9" - } - }, "node_modules/knuth-shuffle-seeded": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/knuth-shuffle-seeded/-/knuth-shuffle-seeded-1.0.6.tgz", + "integrity": "sha512-9pFH0SplrfyKyojCLxZfMcvkhf5hH0d+UwR9nTVJ/DDQJGuzcXjTwB7TP7sDfehSudlGGaOLblmEWqv04ERVWg==", "dev": true, - "license": "Apache-2.0", "dependencies": { "seed-random": "~2.2.0" } }, "node_modules/kuler": { "version": "2.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", + "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==" }, "node_modules/ky": { "version": "0.33.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ky/-/ky-0.33.3.tgz", + "integrity": "sha512-CasD9OCEQSFIam2U8efFK81Yeg8vNMTBUqtMOHlrcWQHqUX3HeCl9Dr31u4toV7emlH8Mymk5+9p0lL6mKb/Xw==", "engines": { "node": ">=14.16" }, @@ -14619,7 +15617,8 @@ }, "node_modules/ky-universal": { "version": "0.11.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ky-universal/-/ky-universal-0.11.0.tgz", + "integrity": "sha512-65KyweaWvk+uKKkCrfAf+xqN2/epw1IJDtlyCPxYffFCMR8u1sp2U65NtWpnozYfZxQ6IUzIlvUcw+hQ82U2Xw==", "dependencies": { "abort-controller": "^3.0.0", "node-fetch": "^3.2.10" @@ -14642,14 +15641,16 @@ }, "node_modules/language-subtag-registry": { "version": "0.3.23", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", + "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", "dev": true, - "license": "CC0-1.0", "peer": true }, "node_modules/language-tags": { "version": "1.0.9", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "language-subtag-registry": "^0.3.20" @@ -14660,7 +15661,8 @@ }, "node_modules/levn": { "version": "0.4.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -14671,7 +15673,8 @@ }, "node_modules/libp2p": { "version": "0.32.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/libp2p/-/libp2p-0.32.5.tgz", + "integrity": "sha512-G21yQUdq4LaGDvjMi3ySmcx1cESl8ZsTG1BAfjzjx65DsZJKQ5GPZlamcv+Rwppk3OIplWoRnCu6gam/fI//bw==", "dependencies": { "@motrix/nat-api": "^0.3.1", "@vascosantos/moving-average": "^1.1.0", @@ -14731,7 +15734,8 @@ }, "node_modules/libp2p-bootstrap": { "version": "0.13.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/libp2p-bootstrap/-/libp2p-bootstrap-0.13.0.tgz", + "integrity": "sha512-8sXEZrikY+chKvMorkvOi9E/v9GvwsYr9DAEfzQZrOKQZByqhan1aXQKWrSpc4AxEv5/UopRzu1P47bkOi8wdw==", "dependencies": { "debug": "^4.3.1", "mafmt": "^10.0.0", @@ -14744,7 +15748,8 @@ }, "node_modules/libp2p-crypto": { "version": "0.19.7", - "license": "MIT", + "resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.19.7.tgz", + "integrity": "sha512-Qb5o/3WFKF2j6mYSt4UBPyi2kbKl3jYV0podBJoJCw70DlpM5Xc+oh3fFY9ToSunu8aSQQ5GY8nutjXgX/uGRA==", "dependencies": { "err-code": "^3.0.1", "is-typedarray": "^1.0.0", @@ -14764,7 +15769,8 @@ }, "node_modules/libp2p-interfaces": { "version": "1.3.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/libp2p-interfaces/-/libp2p-interfaces-1.3.1.tgz", + "integrity": "sha512-Bh991Nv2KT/jZ7DjPd/zqhk8cCtkHl6OWw8lyK7wBX7Aj3/ezGwjoDABJzKgt1lbvcgCeQIbzPiIbaKj4DUI4w==", "dependencies": { "abort-controller": "^3.0.0", "abortable-iterator": "^3.0.0", @@ -14784,7 +15790,8 @@ }, "node_modules/libp2p-interfaces/node_modules/libp2p-crypto": { "version": "0.20.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.20.0.tgz", + "integrity": "sha512-WgIW9rYcWaO/5j2T6NW3R6Q46yvp2ZfFErqRMbi4/pOTL3T7+OROYpL/1iWVksWkXyurU/t2qFsIijWMxR5C4Q==", "dependencies": { "err-code": "^3.0.1", "iso-random-stream": "^2.0.0", @@ -14804,7 +15811,8 @@ }, "node_modules/libp2p-kad-dht": { "version": "0.24.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/libp2p-kad-dht/-/libp2p-kad-dht-0.24.2.tgz", + "integrity": "sha512-fBIwmta7LnoQ77giJRVqhnj9QKcws0SvzPWAsOy5AP3ByuxhcmqrHXTDI1iBnkvtCCegOuL41JkJOvaafu1XnA==", "dependencies": { "debug": "^4.3.1", "err-code": "^3.0.0", @@ -14836,7 +15844,8 @@ }, "node_modules/libp2p-mplex": { "version": "0.10.7", - "license": "MIT", + "resolved": "https://registry.npmjs.org/libp2p-mplex/-/libp2p-mplex-0.10.7.tgz", + "integrity": "sha512-21VV0DZWuOsHgitWy1GZD1M/kki3a/hVoAJ5QC48p01JNSK5W8gxRiZtq7cCGJ/xNpbQxvMlMtS5eq8CFRlysg==", "dependencies": { "abortable-iterator": "^3.0.2", "bl": "^5.0.0", @@ -14849,7 +15858,9 @@ }, "node_modules/libp2p-noise": { "version": "4.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/libp2p-noise/-/libp2p-noise-4.0.0.tgz", + "integrity": "sha512-DCXRKh9Y4pkw4HEWKPpZbeoROilZA1nrQMHIVrJ4JDEMUKVRucJc9GZTFNzo4yJUZ+ayQAlrfbUARiPPFbpfng==", + "deprecated": "This repository is now being maintained by ChainSafe, and can be found at https://github.com/ChainSafe/js-libp2p-noise under @chainsafe/libp2p-noise", "dependencies": { "@stablelib/chacha20poly1305": "^1.0.1", "@stablelib/hkdf": "^1.0.1", @@ -14869,14 +15880,16 @@ }, "node_modules/libp2p-noise/node_modules/uint8arrays": { "version": "2.1.10", - "license": "MIT", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-2.1.10.tgz", + "integrity": "sha512-Q9/hhJa2836nQfEJSZTmr+pg9+cDJS9XEAp7N2Vg5MzL3bK/mkMVfjscRGYruP9jNda6MAdf4QD/y78gSzkp6A==", "dependencies": { "multiformats": "^9.4.2" } }, "node_modules/libp2p-record": { "version": "0.10.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/libp2p-record/-/libp2p-record-0.10.6.tgz", + "integrity": "sha512-CbdO2P9DQn/DKll6R/J4nIw6Qt8xbUTfxYgJjpP9oz3izHKkpGQo0mPTe0NyuFTGIQ4OprrxqWqG5v8ZCGBqqw==", "dependencies": { "err-code": "^3.0.1", "multiformats": "^9.4.5", @@ -14889,7 +15902,8 @@ }, "node_modules/libp2p-tcp": { "version": "0.17.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/libp2p-tcp/-/libp2p-tcp-0.17.2.tgz", + "integrity": "sha512-SAdgDB4Rm0olPbyvanKP5JBaiRwbIOo0Nt++WYe1U2B6akg2uatsDOtulfpnc1gsL1B5vamnOpOzKaDj4kkt8g==", "dependencies": { "abortable-iterator": "^3.0.0", "class-is": "^1.1.0", @@ -14906,7 +15920,8 @@ }, "node_modules/libp2p-utils": { "version": "0.4.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/libp2p-utils/-/libp2p-utils-0.4.1.tgz", + "integrity": "sha512-kq/US2unamiyY+YwP47dO1uqpAdcbdYI2Fzi9JIEhjfPBaD1MR/uyQ/YP7ABthl3EaxAjIQYd1TVp85d6QKAtQ==", "dependencies": { "abortable-iterator": "^3.0.0", "debug": "^4.3.0", @@ -14919,7 +15934,8 @@ }, "node_modules/libp2p/node_modules/timeout-abort-controller": { "version": "1.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/timeout-abort-controller/-/timeout-abort-controller-1.1.1.tgz", + "integrity": "sha512-BsF9i3NAJag6T0ZEjki9j654zoafI2X6ayuNd6Tp8+Ul6Tr5s4jo973qFeiWrRSweqvskC+AHDKUmIW4b7pdhQ==", "dependencies": { "abort-controller": "^3.0.0", "retimer": "^2.0.0" @@ -14927,20 +15943,23 @@ }, "node_modules/libp2p/node_modules/timeout-abort-controller/node_modules/retimer": { "version": "2.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/retimer/-/retimer-2.0.0.tgz", + "integrity": "sha512-KLXY85WkEq2V2bKex/LOO1ViXVn2KGYe4PYysAdYdjmraYIUsVkXu8O4am+8+5UbaaGl1qho4aqAAPHNQ4GSbg==" }, "node_modules/lilconfig": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" } }, "node_modules/lint-staged": { "version": "13.3.0", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-13.3.0.tgz", + "integrity": "sha512-mPRtrYnipYYv1FEE134ufbWpeggNTo+O/UPzngoaKzbzHAthvR55am+8GfHTnqNRQVRRrYQLGW9ZyUoD7DsBHQ==", "dev": true, - "license": "MIT", "dependencies": { "chalk": "5.3.0", "commander": "11.0.0", @@ -14965,8 +15984,9 @@ }, "node_modules/lint-staged/node_modules/chalk": { "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", "dev": true, - "license": "MIT", "engines": { "node": "^12.17.0 || ^14.13 || >=16.0.0" }, @@ -14976,16 +15996,18 @@ }, "node_modules/lint-staged/node_modules/commander": { "version": "11.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.0.0.tgz", + "integrity": "sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=16" } }, "node_modules/lint-staged/node_modules/debug": { "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, - "license": "MIT", "dependencies": { "ms": "2.1.2" }, @@ -15000,8 +16022,9 @@ }, "node_modules/lint-staged/node_modules/execa": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", + "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", "dev": true, - "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.1", @@ -15022,16 +16045,18 @@ }, "node_modules/lint-staged/node_modules/human-signals": { "version": "4.3.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", + "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=14.18.0" } }, "node_modules/lint-staged/node_modules/is-stream": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", "dev": true, - "license": "MIT", "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, @@ -15041,8 +16066,9 @@ }, "node_modules/lint-staged/node_modules/micromatch": { "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, - "license": "MIT", "dependencies": { "braces": "^3.0.2", "picomatch": "^2.3.1" @@ -15053,8 +16079,9 @@ }, "node_modules/lint-staged/node_modules/mimic-fn": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", "dev": true, - "license": "MIT", "engines": { "node": ">=12" }, @@ -15064,13 +16091,15 @@ }, "node_modules/lint-staged/node_modules/ms": { "version": "2.1.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, "node_modules/lint-staged/node_modules/npm-run-path": { "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", "dev": true, - "license": "MIT", "dependencies": { "path-key": "^4.0.0" }, @@ -15083,8 +16112,9 @@ }, "node_modules/lint-staged/node_modules/onetime": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", "dev": true, - "license": "MIT", "dependencies": { "mimic-fn": "^4.0.0" }, @@ -15097,8 +16127,9 @@ }, "node_modules/lint-staged/node_modules/path-key": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=12" }, @@ -15108,8 +16139,9 @@ }, "node_modules/lint-staged/node_modules/strip-final-newline": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", "dev": true, - "license": "MIT", "engines": { "node": ">=12" }, @@ -15119,20 +16151,23 @@ }, "node_modules/lint-staged/node_modules/yaml": { "version": "2.3.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz", + "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==", "dev": true, - "license": "ISC", "engines": { "node": ">= 14" } }, "node_modules/listenercount": { "version": "1.0.1", - "license": "ISC" + "resolved": "https://registry.npmjs.org/listenercount/-/listenercount-1.0.1.tgz", + "integrity": "sha512-3mk/Zag0+IJxeDrxSgaDPy4zZ3w05PRZeJNnlWhzFz5OkX49J4krc+A8X2d2M69vGMBEX0uyl8M+W+8gH+kBqQ==" }, "node_modules/listr2": { "version": "6.6.1", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-6.6.1.tgz", + "integrity": "sha512-+rAXGHh0fkEWdXBmX+L6mmfmXmXvDGEKzkjxO+8mP3+nI/r/CWznVBvsibXdxda9Zz0OW2e2ikphN3OwCT/jSg==", "dev": true, - "license": "MIT", "dependencies": { "cli-truncate": "^3.1.0", "colorette": "^2.0.20", @@ -15154,9 +16189,10 @@ } }, "node_modules/listr2/node_modules/ansi-regex": { - "version": "6.0.1", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true, - "license": "MIT", "engines": { "node": ">=12" }, @@ -15166,8 +16202,9 @@ }, "node_modules/listr2/node_modules/ansi-styles": { "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, - "license": "MIT", "engines": { "node": ">=12" }, @@ -15177,8 +16214,9 @@ }, "node_modules/listr2/node_modules/string-width": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, - "license": "MIT", "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", @@ -15193,8 +16231,9 @@ }, "node_modules/listr2/node_modules/strip-ansi": { "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, - "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -15207,8 +16246,9 @@ }, "node_modules/listr2/node_modules/wrap-ansi": { "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", @@ -15223,7 +16263,8 @@ }, "node_modules/locate-path": { "version": "6.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dependencies": { "p-locate": "^5.0.0" }, @@ -15236,63 +16277,77 @@ }, "node_modules/lodash": { "version": "4.17.21", - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "node_modules/lodash-es": { "version": "4.17.21", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "dev": true }, "node_modules/lodash.flattendeep": { "version": "4.4.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", + "integrity": "sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==", + "dev": true }, "node_modules/lodash.get": { "version": "4.4.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", + "dev": true }, "node_modules/lodash.includes": { "version": "4.3.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" }, "node_modules/lodash.isboolean": { "version": "3.0.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" }, "node_modules/lodash.isinteger": { "version": "4.0.4", - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" }, "node_modules/lodash.isnumber": { "version": "3.0.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" }, "node_modules/lodash.isplainobject": { "version": "4.0.6", - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" }, "node_modules/lodash.isstring": { "version": "4.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" }, "node_modules/lodash.merge": { "version": "4.6.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" }, "node_modules/lodash.mergewith": { "version": "4.6.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz", + "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==", + "dev": true }, "node_modules/lodash.once": { "version": "4.1.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" }, "node_modules/log-symbols": { "version": "4.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "dependencies": { "chalk": "^4.1.0", "is-unicode-supported": "^0.1.0" @@ -15306,8 +16361,9 @@ }, "node_modules/log-update": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-5.0.1.tgz", + "integrity": "sha512-5UtUDQ/6edw4ofyljDNcOVJQ4c7OjDro4h3y8e1GQL5iYElYclVHJ3zeWchylvMaKnDbDilC8irOVyexnA/Slw==", "dev": true, - "license": "MIT", "dependencies": { "ansi-escapes": "^5.0.0", "cli-cursor": "^4.0.0", @@ -15324,8 +16380,9 @@ }, "node_modules/log-update/node_modules/ansi-escapes": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-5.0.0.tgz", + "integrity": "sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==", "dev": true, - "license": "MIT", "dependencies": { "type-fest": "^1.0.2" }, @@ -15337,9 +16394,10 @@ } }, "node_modules/log-update/node_modules/ansi-regex": { - "version": "6.0.1", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true, - "license": "MIT", "engines": { "node": ">=12" }, @@ -15349,8 +16407,9 @@ }, "node_modules/log-update/node_modules/ansi-styles": { "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, - "license": "MIT", "engines": { "node": ">=12" }, @@ -15360,8 +16419,9 @@ }, "node_modules/log-update/node_modules/string-width": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, - "license": "MIT", "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", @@ -15376,8 +16436,9 @@ }, "node_modules/log-update/node_modules/strip-ansi": { "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, - "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -15390,8 +16451,9 @@ }, "node_modules/log-update/node_modules/type-fest": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -15401,8 +16463,9 @@ }, "node_modules/log-update/node_modules/wrap-ansi": { "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", @@ -15416,8 +16479,9 @@ } }, "node_modules/logform": { - "version": "2.6.0", - "license": "MIT", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/logform/-/logform-2.7.0.tgz", + "integrity": "sha512-TFYA4jnP7PVbmlBIfhlSe+WKxs9dklXMTEGcBCIvLhE/Tn3H6Gk1norupVW7m5Cnd4bLcr08AytbyV/xj7f/kQ==", "dependencies": { "@colors/colors": "1.6.0", "@types/triple-beam": "^1.3.2", @@ -15432,19 +16496,22 @@ }, "node_modules/logform/node_modules/@colors/colors": { "version": "1.6.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz", + "integrity": "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==", "engines": { "node": ">=0.1.90" } }, "node_modules/long": { "version": "5.2.3", - "license": "Apache-2.0" + "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", + "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" }, "node_modules/loose-envify": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" @@ -15455,15 +16522,17 @@ }, "node_modules/loupe": { "version": "2.3.7", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", + "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", "dev": true, - "license": "MIT", "dependencies": { "get-func-name": "^2.0.1" } }, "node_modules/lower-case": { "version": "2.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", "dependencies": { "tslib": "^2.0.3" } @@ -15482,34 +16551,50 @@ }, "node_modules/lru_map": { "version": "0.3.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz", + "integrity": "sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==" }, "node_modules/lru-cache": { - "version": "10.2.2", - "license": "ISC", + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" + }, + "node_modules/lru.min": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/lru.min/-/lru.min-1.1.1.tgz", + "integrity": "sha512-FbAj6lXil6t8z4z3j0E5mfRlPzxkySotzUHwRXjlpRh10vc6AI6WN62ehZj82VG7M20rqogJ0GLwar2Xa05a8Q==", "engines": { - "node": "14 || >=16.14" + "bun": ">=1.0.0", + "deno": ">=1.30.0", + "node": ">=8.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wellwelwel" } }, "node_modules/luxon": { "version": "3.2.1", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.2.1.tgz", + "integrity": "sha512-QrwPArQCNLAKGO/C+ZIilgIuDnEnKx5QYODdDtbFaxzsbZcc/a7WFq7MhsVYgRlwawLtvOUESTlfJ+hc/USqPg==", "dev": true, - "license": "MIT", "engines": { "node": ">=12" } }, "node_modules/mafmt": { "version": "10.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/mafmt/-/mafmt-10.0.0.tgz", + "integrity": "sha512-K1bziJOXcnepfztu+2Xy9FLKVLaFMDuspmiyJIYRxnO0WOxFSV7XKSdMxMrVZxcvg1+YjlTIvSGTImUHU2k4Aw==", "dependencies": { "multiaddr": "^10.0.0" } }, "node_modules/make-dir": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, - "license": "MIT", "dependencies": { "semver": "^6.0.0" }, @@ -15522,23 +16607,27 @@ }, "node_modules/make-dir/node_modules/semver": { "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/make-error": { "version": "1.3.6", - "license": "ISC" + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" }, "node_modules/match-all": { "version": "1.2.6", - "license": "MIT" + "resolved": "https://registry.npmjs.org/match-all/-/match-all-1.2.6.tgz", + "integrity": "sha512-0EESkXiTkWzrQQntBu2uzKvLu6vVkUGz40nGPbSZuegcfE5UuSzNjLaIu76zJWuaT/2I3Z/8M06OlUOZLGwLlQ==" }, "node_modules/mathjs": { "version": "10.6.4", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/mathjs/-/mathjs-10.6.4.tgz", + "integrity": "sha512-omQyvRE1jIy+3k2qsqkWASOcd45aZguXZDckr3HtnTYyXk5+2xpVfC3kATgbO2Srjxlqww3TVdhD0oUdZ/hiFA==", "dependencies": { "@babel/runtime": "^7.18.6", "complex.js": "^2.1.1", @@ -15559,7 +16648,8 @@ }, "node_modules/md5.js": { "version": "1.3.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1", @@ -15568,24 +16658,32 @@ }, "node_modules/media-typer": { "version": "0.3.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", "engines": { "node": ">= 0.6" } }, "node_modules/memorystream": { "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", "engines": { "node": ">= 0.10.0" } }, "node_modules/merge-descriptors": { - "version": "1.0.1", - "license": "MIT" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/merge-options": { "version": "3.0.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz", + "integrity": "sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==", "dependencies": { "is-plain-obj": "^2.1.0" }, @@ -15595,18 +16693,21 @@ }, "node_modules/merge-stream": { "version": "2.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" }, "node_modules/merge2": { "version": "1.4.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "engines": { "node": ">= 8" } }, "node_modules/merkletreejs": { "version": "0.3.11", - "license": "MIT", + "resolved": "https://registry.npmjs.org/merkletreejs/-/merkletreejs-0.3.11.tgz", + "integrity": "sha512-LJKTl4iVNTndhL+3Uz/tfkjD0klIWsHlUzgtuNnNrsf7bAlXR30m+xYB7lHr5Z/l6e/yAIsr26Dabx6Buo4VGQ==", "dependencies": { "bignumber.js": "^9.0.1", "buffer-reverse": "^1.0.1", @@ -15620,18 +16721,21 @@ }, "node_modules/methods": { "version": "1.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", "engines": { "node": ">= 0.6" } }, "node_modules/micro-ftch": { "version": "0.3.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/micro-ftch/-/micro-ftch-0.3.1.tgz", + "integrity": "sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==" }, "node_modules/microdata-rdf-streaming-parser": { "version": "2.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/microdata-rdf-streaming-parser/-/microdata-rdf-streaming-parser-2.0.1.tgz", + "integrity": "sha512-oEEYP3OwPGOtoE4eIyJvX1eJXI7VkGR4gKYqpEufaRXc2ele/Tkid/KMU3Los13wGrOq6woSxLEGOYSHzpRvwA==", "dependencies": { "@rdfjs/types": "*", "htmlparser2": "^8.0.0", @@ -15642,6 +16746,8 @@ }, "node_modules/microdata-rdf-streaming-parser/node_modules/htmlparser2": { "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", "funding": [ "https://github.com/fb55/htmlparser2?sponsor=1", { @@ -15649,7 +16755,6 @@ "url": "https://github.com/sponsors/fb55" } ], - "license": "MIT", "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.3", @@ -15658,8 +16763,9 @@ } }, "node_modules/micromatch": { - "version": "4.0.7", - "license": "MIT", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" @@ -15670,8 +16776,9 @@ }, "node_modules/microtime": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/microtime/-/microtime-3.1.1.tgz", + "integrity": "sha512-to1r7o24cDsud9IhN6/8wGmMx5R2kT0w2Xwm5okbYI3d1dk6Xv0m+Z+jg2vS9pt+ocgQHTCtgs/YuyJhySzxNg==", "hasInstallScript": true, - "license": "MIT", "dependencies": { "node-addon-api": "^5.0.0", "node-gyp-build": "^4.4.0" @@ -15682,11 +16789,13 @@ }, "node_modules/microtime/node_modules/node-addon-api": { "version": "5.1.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.1.0.tgz", + "integrity": "sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==" }, "node_modules/mime": { "version": "1.6.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "bin": { "mime": "cli.js" }, @@ -15696,14 +16805,16 @@ }, "node_modules/mime-db": { "version": "1.52.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { "version": "2.1.35", - "license": "MIT", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dependencies": { "mime-db": "1.52.0" }, @@ -15713,15 +16824,17 @@ }, "node_modules/mimic-fn": { "version": "2.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "engines": { "node": ">=6" } }, "node_modules/mimic-response": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -15740,15 +16853,18 @@ }, "node_modules/minimalistic-assert": { "version": "1.0.1", - "license": "ISC" + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" }, "node_modules/minimalistic-crypto-utils": { "version": "1.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" }, "node_modules/minimatch": { "version": "3.1.2", - "license": "ISC", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -15758,7 +16874,8 @@ }, "node_modules/minimist": { "version": "1.2.8", - "license": "MIT", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -15784,7 +16901,8 @@ }, "node_modules/mkdirp": { "version": "0.5.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dependencies": { "minimist": "^1.2.6" }, @@ -15794,8 +16912,9 @@ }, "node_modules/mkdirp-classic": { "version": "0.5.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "dev": true }, "node_modules/mkdirp-promise": { "version": "5.0.1", @@ -15812,35 +16931,37 @@ }, "node_modules/mnemonist": { "version": "0.38.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/mnemonist/-/mnemonist-0.38.5.tgz", + "integrity": "sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==", "dependencies": { "obliterator": "^2.0.0" } }, "node_modules/mocha": { - "version": "10.4.0", - "license": "MIT", - "dependencies": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "8.1.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.8.2.tgz", + "integrity": "sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg==", + "dependencies": { + "ansi-colors": "^4.1.3", + "browser-stdout": "^1.3.1", + "chokidar": "^3.5.3", + "debug": "^4.3.5", + "diff": "^5.2.0", + "escape-string-regexp": "^4.0.0", + "find-up": "^5.0.0", + "glob": "^8.1.0", + "he": "^1.2.0", + "js-yaml": "^4.1.0", + "log-symbols": "^4.1.0", + "minimatch": "^5.1.6", + "ms": "^2.1.3", + "serialize-javascript": "^6.0.2", + "strip-json-comments": "^3.1.1", + "supports-color": "^8.1.1", + "workerpool": "^6.5.1", + "yargs": "^16.2.0", + "yargs-parser": "^20.2.9", + "yargs-unparser": "^2.0.0" }, "bin": { "_mocha": "bin/_mocha", @@ -15850,29 +16971,18 @@ "node": ">= 14.0.0" } }, - "node_modules/mocha/node_modules/ansi-colors": { - "version": "4.1.1", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/mocha/node_modules/brace-expansion": { "version": "2.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dependencies": { "balanced-match": "^1.0.0" } }, "node_modules/mocha/node_modules/chokidar": { - "version": "3.5.3", - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "license": "MIT", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -15885,48 +16995,36 @@ "engines": { "node": ">= 8.10.0" }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, "optionalDependencies": { "fsevents": "~2.3.2" } }, "node_modules/mocha/node_modules/cliui": { "version": "7.0.4", - "license": "ISC", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", "wrap-ansi": "^7.0.0" } }, - "node_modules/mocha/node_modules/debug": { - "version": "4.3.4", - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/mocha/node_modules/debug/node_modules/ms": { - "version": "2.1.2", - "license": "MIT" - }, "node_modules/mocha/node_modules/diff": { - "version": "5.0.0", - "license": "BSD-3-Clause", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", + "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", "engines": { "node": ">=0.3.1" } }, "node_modules/mocha/node_modules/glob": { "version": "8.1.0", - "license": "ISC", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -15943,7 +17041,8 @@ }, "node_modules/mocha/node_modules/glob-parent": { "version": "5.1.2", - "license": "ISC", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dependencies": { "is-glob": "^4.0.1" }, @@ -15952,8 +17051,9 @@ } }, "node_modules/mocha/node_modules/minimatch": { - "version": "5.0.1", - "license": "ISC", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -15961,9 +17061,21 @@ "node": ">=10" } }, + "node_modules/mocha/node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, "node_modules/mocha/node_modules/yargs": { "version": "16.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -15985,21 +17097,24 @@ }, "node_modules/mock-socket": { "version": "9.3.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/mock-socket/-/mock-socket-9.3.1.tgz", + "integrity": "sha512-qxBgB7Qa2sEQgHFjj0dSigq7fX4k6Saisd5Nelwp2q8mlbAFh5dHV9JTTlF8viYJLSSWgMCZFUom8PJcMNBoJw==", "engines": { "node": ">= 8" } }, "node_modules/moment": { "version": "2.30.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", "engines": { "node": "*" } }, "node_modules/moment-timezone": { - "version": "0.5.45", - "license": "MIT", + "version": "0.5.46", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.46.tgz", + "integrity": "sha512-ZXm9b36esbe7OmdABqIWJuBBiLLwAjrN7CE+7sYdCCx82Nabt1wHDj8TVseS59QIlfFPbOoiBPm6ca9BioG4hw==", "dependencies": { "moment": "^2.29.4" }, @@ -16009,11 +17124,14 @@ }, "node_modules/ms": { "version": "2.1.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, "node_modules/multiaddr": { "version": "10.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-10.0.1.tgz", + "integrity": "sha512-G5upNcGzEGuTHkzxezPrrD6CaIHR9uo+7MwqhNVcXTs33IInon4y7nMiGxl2CY5hG7chvYQUQhz5V52/Qe3cbg==", + "deprecated": "This module is deprecated, please upgrade to @multiformats/multiaddr", "dependencies": { "dns-over-http-resolver": "^1.2.3", "err-code": "^3.0.1", @@ -16076,7 +17194,8 @@ }, "node_modules/multiformats": { "version": "9.9.0", - "license": "(Apache-2.0 AND MIT)" + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", + "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==" }, "node_modules/multihashes": { "version": "0.4.21", @@ -16132,7 +17251,8 @@ }, "node_modules/multistream-select": { "version": "2.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/multistream-select/-/multistream-select-2.0.1.tgz", + "integrity": "sha512-ziVNT/vux0uUElP4OKNMVr0afU/X6PciAmT2UJNolhzhSLXIwFAaYfmLajD8NoZ+DsBQ1bp0zZ2nMVPF+FhClA==", "dependencies": { "bl": "^5.0.0", "debug": "^4.1.1", @@ -16148,7 +17268,8 @@ }, "node_modules/murmur-128": { "version": "0.2.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/murmur-128/-/murmur-128-0.2.1.tgz", + "integrity": "sha512-WseEgiRkI6aMFBbj8Cg9yBj/y+OdipwVC7zUo3W2W1JAJITwouUOtpqsmGSg67EQmwwSyod7hsVsWY5LsrfQVg==", "dependencies": { "encode-utf8": "^1.0.2", "fmix": "^0.1.0", @@ -16157,21 +17278,24 @@ }, "node_modules/mutable-proxy": { "version": "1.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/mutable-proxy/-/mutable-proxy-1.0.0.tgz", + "integrity": "sha512-4OvNRr1DJpy2QuDUV74m+BWZ//n4gG4bmd21MzDSPqHEidIDWqwyOjcadU1LBMO3vXYGurVKjfBrxrSQIHFu9A==", "engines": { "node": ">=6.X.X", "npm": ">=3.X.X" } }, "node_modules/mysql2": { - "version": "3.10.0", - "license": "MIT", + "version": "3.11.5", + "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-3.11.5.tgz", + "integrity": "sha512-0XFu8rUmFN9vC0ME36iBvCUObftiMHItrYFhlCRvFWbLgpNqtC4Br/NmZX1HNCszxT0GGy5QtP+k3Q3eCJPaYA==", "dependencies": { + "aws-ssl-profiles": "^1.1.1", "denque": "^2.1.0", "generate-function": "^2.3.1", "iconv-lite": "^0.6.3", "long": "^5.2.1", - "lru-cache": "^8.0.0", + "lru.min": "^1.0.0", "named-placeholders": "^1.1.3", "seq-queue": "^0.0.5", "sqlstring": "^2.3.2" @@ -16180,17 +17304,11 @@ "node": ">= 8.0" } }, - "node_modules/mysql2/node_modules/lru-cache": { - "version": "8.0.5", - "license": "ISC", - "engines": { - "node": ">=16.14" - } - }, "node_modules/mz": { "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", "dev": true, - "license": "MIT", "dependencies": { "any-promise": "^1.0.0", "object-assign": "^4.0.1", @@ -16198,9 +17316,12 @@ } }, "node_modules/n3": { - "version": "1.17.3", + "version": "1.23.1", + "resolved": "https://registry.npmjs.org/n3/-/n3-1.23.1.tgz", + "integrity": "sha512-3f0IYJo+6+lXypothmlwPzm3wJNffsxUwnfONeFv2QqWq7RjTvyCMtkRXDUXW6XrZoOzaQX8xTTSYNlGjXcGtw==", "license": "MIT", "dependencies": { + "buffer": "^6.0.3", "queue-microtask": "^1.1.2", "readable-stream": "^4.0.0" }, @@ -16210,7 +17331,8 @@ }, "node_modules/named-placeholders": { "version": "1.1.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/named-placeholders/-/named-placeholders-1.1.3.tgz", + "integrity": "sha512-eLoBxg6wE/rZkJPhU/xRX1WTpkFEwDJEN96oxFrTsqBdbT5ec295Q+CoHrL9IT0DipqKhmGcaZmwOt8OON5x1w==", "dependencies": { "lru-cache": "^7.14.1" }, @@ -16220,14 +17342,16 @@ }, "node_modules/named-placeholders/node_modules/lru-cache": { "version": "7.18.3", - "license": "ISC", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", "engines": { "node": ">=12" } }, "node_modules/nan": { - "version": "2.20.0", - "license": "MIT" + "version": "2.22.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.22.0.tgz", + "integrity": "sha512-nbajikzWTMwsW+eSsNm3QwlOs7het9gGJU5dDZzRTQGk03vyBOauxgI4VakDzE0PtsGTmXPsXTbbjVhRwR5mpw==" }, "node_modules/nano-json-stream-parser": { "version": "0.1.2", @@ -16237,18 +17361,20 @@ }, "node_modules/nanoclone": { "version": "0.2.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/nanoclone/-/nanoclone-0.2.1.tgz", + "integrity": "sha512-wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA==", + "dev": true }, "node_modules/nanoid": { - "version": "3.3.7", + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", "funding": [ { "type": "github", "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -16258,52 +17384,62 @@ }, "node_modules/napi-build-utils": { "version": "1.0.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", + "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==", + "dev": true }, "node_modules/native-abort-controller": { "version": "1.0.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/native-abort-controller/-/native-abort-controller-1.0.4.tgz", + "integrity": "sha512-zp8yev7nxczDJMoP6pDxyD20IU0T22eX8VwN2ztDccKvSZhRaV33yP1BGwKSZfXuqWUzsXopVFjBdau9OOAwMQ==", "peerDependencies": { "abort-controller": "*" } }, "node_modules/native-fetch": { "version": "3.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/native-fetch/-/native-fetch-3.0.0.tgz", + "integrity": "sha512-G3Z7vx0IFb/FQ4JxvtqGABsOTIqRWvgQz6e+erkB+JJD6LrszQtMozEHI4EkmgZQvnGHrpLVzUWk7t4sJCIkVw==", "peerDependencies": { "node-fetch": "*" } }, "node_modules/natural-compare": { "version": "1.4.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" }, "node_modules/negotiate": { - "version": "1.0.1" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/negotiate/-/negotiate-1.0.1.tgz", + "integrity": "sha512-KBCIM4dAIT9j/pSXLHHQbZG74NmKNXTtxU2zHN0HG6uzzuFE01m1UdGoUmVHmACiBuCAOL7KwfqSW1oUQBj/vg==" }, "node_modules/negotiator": { "version": "0.6.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "engines": { "node": ">= 0.6" } }, "node_modules/netmask": { "version": "2.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", + "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", "engines": { "node": ">= 0.4.0" } }, "node_modules/next-tick": { "version": "1.1.0", - "license": "ISC" + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" }, "node_modules/nise": { "version": "5.1.9", + "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.9.tgz", + "integrity": "sha512-qOnoujW4SV6e40dYxJOb3uvuoPHtmLzIk4TFo+j0jPJoC+5Z9xja5qH5JZobEPsa8+YYphMrOSwnrshEhG2qww==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^3.0.0", "@sinonjs/fake-timers": "^11.2.2", @@ -16314,28 +17450,41 @@ }, "node_modules/nise/node_modules/@sinonjs/commons": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "type-detect": "4.0.8" } }, "node_modules/nise/node_modules/@sinonjs/fake-timers": { - "version": "11.2.2", + "version": "11.3.1", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.3.1.tgz", + "integrity": "sha512-EVJO7nW5M/F5Tur0Rf2z/QoMo+1Ia963RiMtapiQrEWvY0iBUvADo8Beegwjpnle5BHkyHuoxSTW3jF43H1XRA==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { - "@sinonjs/commons": "^3.0.0" + "@sinonjs/commons": "^3.0.1" } }, "node_modules/nise/node_modules/path-to-regexp": { - "version": "6.2.2", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz", + "integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==", + "dev": true + }, + "node_modules/nise/node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true, - "license": "MIT" + "engines": { + "node": ">=4" + } }, "node_modules/no-case": { "version": "3.0.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", "dependencies": { "lower-case": "^2.0.2", "tslib": "^2.0.3" @@ -16343,15 +17492,20 @@ }, "node_modules/noble-ed25519": { "version": "1.2.6", - "license": "MIT" + "resolved": "https://registry.npmjs.org/noble-ed25519/-/noble-ed25519-1.2.6.tgz", + "integrity": "sha512-zfnWqg9FVMp8CnzUpAjbt1nDXpDjCvxYiCXdnW1mY8zQHw/6twUlkFm14VPdojVzc0kcd+i9zT79+26GcNbsuQ==", + "deprecated": "Switch to namespaced @noble/ed25519 for security and feature updates" }, "node_modules/noble-secp256k1": { "version": "1.2.14", - "license": "MIT" + "resolved": "https://registry.npmjs.org/noble-secp256k1/-/noble-secp256k1-1.2.14.tgz", + "integrity": "sha512-GSCXyoZBUaaPwVWdYncMEmzlSUjF9J/YeEHpklYJCyg8wPuJP3NzDx0BkiwArzINkdX2HJHvUJhL6vVWPOQQcg==", + "deprecated": "Switch to namespaced @noble/secp256k1 for security and feature updates" }, "node_modules/nock": { - "version": "13.5.4", - "license": "MIT", + "version": "13.5.6", + "resolved": "https://registry.npmjs.org/nock/-/nock-13.5.6.tgz", + "integrity": "sha512-o2zOYiCpzRqSzPj0Zt/dQ/DqZeYoaQ7TUonc/xUPjCGl9WeHpNbxgVvOquXYAaJzI0M9BXV3HTzG0p8IUAbBTQ==", "dependencies": { "debug": "^4.1.0", "json-stringify-safe": "^5.0.1", @@ -16362,9 +17516,10 @@ } }, "node_modules/node-abi": { - "version": "3.65.0", + "version": "3.71.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.71.0.tgz", + "integrity": "sha512-SZ40vRiy/+wRTf21hxkkEjPJZpARzUMVcJoQse2EF8qkUWbbO2z7vd5oA/H6bVH6SZQ5STGcu0KRDS7biNRfxw==", "dev": true, - "license": "MIT", "dependencies": { "semver": "^7.3.5" }, @@ -16374,10 +17529,13 @@ }, "node_modules/node-addon-api": { "version": "2.0.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", + "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" }, "node_modules/node-domexception": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", "funding": [ { "type": "github", @@ -16388,14 +17546,14 @@ "url": "https://paypal.me/jimmywarting" } ], - "license": "MIT", "engines": { "node": ">=10.5.0" } }, "node_modules/node-fetch": { "version": "3.3.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", + "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", "dependencies": { "data-uri-to-buffer": "^4.0.0", "fetch-blob": "^3.1.4", @@ -16411,14 +17569,16 @@ }, "node_modules/node-forge": { "version": "0.10.0", - "license": "(BSD-3-Clause OR GPL-2.0)", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", + "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", "engines": { "node": ">= 6.0.0" } }, "node_modules/node-gyp-build": { - "version": "4.8.1", - "license": "MIT", + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.4.tgz", + "integrity": "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==", "bin": { "node-gyp-build": "bin.js", "node-gyp-build-optional": "optional.js", @@ -16427,8 +17587,9 @@ }, "node_modules/node-preload": { "version": "0.2.1", + "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", + "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", "dev": true, - "license": "MIT", "dependencies": { "process-on-spawn": "^1.0.0" }, @@ -16437,13 +17598,15 @@ } }, "node_modules/node-releases": { - "version": "2.0.14", - "dev": true, - "license": "MIT" + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", + "dev": true }, "node_modules/normalize-path": { "version": "3.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "engines": { "node": ">=0.10.0" } @@ -16462,7 +17625,8 @@ }, "node_modules/npm-run-path": { "version": "4.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dependencies": { "path-key": "^3.0.0" }, @@ -16472,7 +17636,8 @@ }, "node_modules/number-to-bn": { "version": "1.7.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", + "integrity": "sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==", "dependencies": { "bn.js": "4.11.6", "strip-hex-prefix": "1.0.0" @@ -16484,17 +17649,20 @@ }, "node_modules/number-to-bn/node_modules/bn.js": { "version": "4.11.6", - "license": "MIT" + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==" }, "node_modules/nwsapi": { - "version": "2.2.10", - "dev": true, - "license": "MIT" + "version": "2.2.13", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.13.tgz", + "integrity": "sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ==", + "dev": true }, "node_modules/nyc": { "version": "15.1.0", + "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", + "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", "dev": true, - "license": "ISC", "dependencies": { "@istanbuljs/load-nyc-config": "^1.0.0", "@istanbuljs/schema": "^0.1.2", @@ -16533,16 +17701,18 @@ }, "node_modules/nyc/node_modules/camelcase": { "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/nyc/node_modules/cliui": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", "dev": true, - "license": "ISC", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -16551,8 +17721,9 @@ }, "node_modules/nyc/node_modules/find-up": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, - "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -16563,8 +17734,9 @@ }, "node_modules/nyc/node_modules/locate-path": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, - "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -16574,8 +17746,9 @@ }, "node_modules/nyc/node_modules/p-limit": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, - "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -16588,8 +17761,9 @@ }, "node_modules/nyc/node_modules/p-locate": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, - "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -16599,8 +17773,9 @@ }, "node_modules/nyc/node_modules/p-map": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", "dev": true, - "license": "MIT", "dependencies": { "aggregate-error": "^3.0.0" }, @@ -16610,16 +17785,18 @@ }, "node_modules/nyc/node_modules/resolve-from": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/nyc/node_modules/wrap-ansi": { "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -16631,13 +17808,15 @@ }, "node_modules/nyc/node_modules/y18n": { "version": "4.0.3", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true }, "node_modules/nyc/node_modules/yargs": { "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", "dev": true, - "license": "MIT", "dependencies": { "cliui": "^6.0.0", "decamelize": "^1.2.0", @@ -16657,8 +17836,9 @@ }, "node_modules/nyc/node_modules/yargs-parser": { "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", "dev": true, - "license": "ISC", "dependencies": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" @@ -16678,30 +17858,37 @@ }, "node_modules/object-assign": { "version": "4.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "engines": { "node": ">=0.10.0" } }, "node_modules/object-inspect": { - "version": "1.13.1", - "license": "MIT", + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz", + "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==", + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/object-keys": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" } }, "node_modules/object.assign": { "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.5", "define-properties": "^1.2.1", @@ -16717,8 +17904,9 @@ }, "node_modules/object.entries": { "version": "1.1.8", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", + "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -16730,8 +17918,9 @@ }, "node_modules/object.fromentries": { "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.7", @@ -16748,8 +17937,9 @@ }, "node_modules/object.groupby": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.7", @@ -16760,27 +17950,11 @@ "node": ">= 0.4" } }, - "node_modules/object.hasown": { - "version": "1.1.4", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/object.values": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", + "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.7", @@ -16796,7 +17970,8 @@ }, "node_modules/obliterator": { "version": "2.0.4", - "license": "MIT" + "resolved": "https://registry.npmjs.org/obliterator/-/obliterator-2.0.4.tgz", + "integrity": "sha512-lgHwxlxV1qIg1Eap7LgIeoBWIMFibOjbrYPIPJZcI1mmGAI2m3lNYpK12Y+GBdPQ0U1hRwSord7GIaawz962qQ==" }, "node_modules/oboe": { "version": "2.1.5", @@ -16809,14 +17984,16 @@ }, "node_modules/on-exit-leak-free": { "version": "2.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-2.1.2.tgz", + "integrity": "sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==", "engines": { "node": ">=14.0.0" } }, "node_modules/on-finished": { "version": "2.4.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dependencies": { "ee-first": "1.1.1" }, @@ -16826,21 +18003,24 @@ }, "node_modules/once": { "version": "1.4.0", - "license": "ISC", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dependencies": { "wrappy": "1" } }, "node_modules/one-time": { "version": "1.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz", + "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==", "dependencies": { "fn.name": "1.x.x" } }, "node_modules/onetime": { "version": "5.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dependencies": { "mimic-fn": "^2.1.0" }, @@ -16853,7 +18033,8 @@ }, "node_modules/optionator": { "version": "0.9.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", @@ -16868,14 +18049,16 @@ }, "node_modules/os-tmpdir": { "version": "1.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", "engines": { "node": ">=0.10.0" } }, "node_modules/p-any": { "version": "3.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/p-any/-/p-any-3.0.0.tgz", + "integrity": "sha512-5rqbqfsRWNb0sukt0awwgJMlaep+8jV45S15SKKB34z4UuzjcofIfnriCBhWjZP2jbVtjt9yRl7buB6RlKsu9w==", "dependencies": { "p-cancelable": "^2.0.0", "p-some": "^5.0.0" @@ -16889,21 +18072,24 @@ }, "node_modules/p-cancelable": { "version": "2.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", "engines": { "node": ">=8" } }, "node_modules/p-defer": { "version": "3.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz", + "integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==", "engines": { "node": ">=8" } }, "node_modules/p-fifo": { "version": "1.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/p-fifo/-/p-fifo-1.0.0.tgz", + "integrity": "sha512-IjoCxXW48tqdtDFz6fqo5q1UfFVjjVZe8TC1QRflvNUJtNfCUhxOUw6MOVZhDPjqhSzc26xKdugsO17gmzd5+A==", "dependencies": { "fast-fifo": "^1.0.0", "p-defer": "^3.0.0" @@ -16911,14 +18097,16 @@ }, "node_modules/p-finally": { "version": "1.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", "engines": { "node": ">=4" } }, "node_modules/p-limit": { "version": "3.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -16931,7 +18119,8 @@ }, "node_modules/p-locate": { "version": "5.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dependencies": { "p-limit": "^3.0.2" }, @@ -16944,7 +18133,8 @@ }, "node_modules/p-map": { "version": "4.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", "dependencies": { "aggregate-error": "^3.0.0" }, @@ -16957,7 +18147,8 @@ }, "node_modules/p-queue": { "version": "6.6.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz", + "integrity": "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==", "dependencies": { "eventemitter3": "^4.0.4", "p-timeout": "^3.2.0" @@ -16971,11 +18162,13 @@ }, "node_modules/p-queue/node_modules/eventemitter3": { "version": "4.0.7", - "license": "MIT" + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" }, "node_modules/p-queue/node_modules/p-timeout": { "version": "3.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", + "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", "dependencies": { "p-finally": "^1.0.0" }, @@ -16985,14 +18178,16 @@ }, "node_modules/p-reflect": { "version": "2.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/p-reflect/-/p-reflect-2.1.0.tgz", + "integrity": "sha512-paHV8NUz8zDHu5lhr/ngGWQiW067DK/+IbJ+RfZ4k+s8y4EKyYCz8pGYWjxCg35eHztpJAt+NUgvN4L+GCbPlg==", "engines": { "node": ">=8" } }, "node_modules/p-retry": { "version": "4.6.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", "dependencies": { "@types/retry": "0.12.0", "retry": "^0.13.1" @@ -17003,7 +18198,8 @@ }, "node_modules/p-settle": { "version": "4.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/p-settle/-/p-settle-4.1.1.tgz", + "integrity": "sha512-6THGh13mt3gypcNMm0ADqVNCcYa3BK6DWsuJWFCuEKP1rpY+OKGp7gaZwVmLspmic01+fsg/fN57MfvDzZ/PuQ==", "dependencies": { "p-limit": "^2.2.2", "p-reflect": "^2.1.0" @@ -17017,7 +18213,8 @@ }, "node_modules/p-settle/node_modules/p-limit": { "version": "2.3.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dependencies": { "p-try": "^2.0.0" }, @@ -17030,7 +18227,8 @@ }, "node_modules/p-some": { "version": "5.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/p-some/-/p-some-5.0.0.tgz", + "integrity": "sha512-Js5XZxo6vHjB9NOYAzWDYAIyyiPvva0DWESAIWIK7uhSpGsyg5FwUPxipU/SOQx5x9EqhOh545d1jo6cVkitig==", "dependencies": { "aggregate-error": "^3.0.0", "p-cancelable": "^2.0.0" @@ -17044,22 +18242,25 @@ }, "node_modules/p-timeout": { "version": "4.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-4.1.0.tgz", + "integrity": "sha512-+/wmHtzJuWii1sXn3HCuH/FTwGhrp4tmJTxSKJbfS+vkipci6osxXM5mY0jUiRzWKMTgUT8l7HFbeSwZAynqHw==", "engines": { "node": ">=10" } }, "node_modules/p-try": { "version": "2.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "engines": { "node": ">=6" } }, "node_modules/package-hash": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", + "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", "dev": true, - "license": "ISC", "dependencies": { "graceful-fs": "^4.1.15", "hasha": "^5.0.0", @@ -17072,8 +18273,9 @@ }, "node_modules/pad-right": { "version": "0.2.2", + "resolved": "https://registry.npmjs.org/pad-right/-/pad-right-0.2.2.tgz", + "integrity": "sha512-4cy8M95ioIGolCoMmm2cMntGR1lPLEbOMzOKu8bzjuJP6JpzEMQcDHmh7hHLYGgob+nKe1YHFMaG4V59HQa89g==", "dev": true, - "license": "MIT", "dependencies": { "repeat-string": "^1.5.2" }, @@ -17083,12 +18285,14 @@ }, "node_modules/pako": { "version": "2.1.0", - "license": "(MIT AND Zlib)", + "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", + "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==", "optional": true }, "node_modules/parent-module": { "version": "1.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dependencies": { "callsites": "^3.0.0" }, @@ -17104,19 +18308,22 @@ }, "node_modules/parse5": { "version": "6.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true }, "node_modules/parseurl": { "version": "1.3.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "engines": { "node": ">= 0.8" } }, "node_modules/pascal-case": { "version": "3.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", "dependencies": { "no-case": "^3.0.4", "tslib": "^2.0.3" @@ -17124,44 +18331,51 @@ }, "node_modules/path-exists": { "version": "4.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "engines": { "node": ">=8" } }, "node_modules/path-is-absolute": { "version": "1.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "engines": { "node": ">=0.10.0" } }, "node_modules/path-key": { "version": "3.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "engines": { "node": ">=8" } }, "node_modules/path-parse": { "version": "1.0.7", - "license": "MIT" + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "node_modules/path-to-regexp": { - "version": "0.1.7", - "license": "MIT" + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz", + "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==" }, "node_modules/pathval": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", "dev": true, - "license": "MIT", "engines": { "node": "*" } }, "node_modules/pbkdf2": { "version": "3.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", "dependencies": { "create-hash": "^1.1.2", "create-hmac": "^1.1.4", @@ -17175,7 +18389,8 @@ }, "node_modules/peer-id": { "version": "0.15.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/peer-id/-/peer-id-0.15.4.tgz", + "integrity": "sha512-MDoBIMZYwQIAHaZQUwsIcvoFgdbIl5GtZMwSkXpIYvc5v0TSDv+u8WsTKrKt2Vv28tHFFDJQdVzu3T4qTPzK+w==", "dependencies": { "class-is": "^1.1.0", "libp2p-crypto": "^0.20.0", @@ -17193,7 +18408,8 @@ }, "node_modules/peer-id/node_modules/libp2p-crypto": { "version": "0.20.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.20.0.tgz", + "integrity": "sha512-WgIW9rYcWaO/5j2T6NW3R6Q46yvp2ZfFErqRMbi4/pOTL3T7+OROYpL/1iWVksWkXyurU/t2qFsIijWMxR5C4Q==", "dependencies": { "err-code": "^3.0.1", "iso-random-stream": "^2.0.0", @@ -17213,7 +18429,8 @@ }, "node_modules/pem-jwk": { "version": "2.0.0", - "license": "MPL-2.0", + "resolved": "https://registry.npmjs.org/pem-jwk/-/pem-jwk-2.0.0.tgz", + "integrity": "sha512-rFxu7rVoHgQ5H9YsP50dDWf0rHjreVA2z0yPiWr5WdH/UHb29hKtF7h6l8vNd1cbYR1t0QL+JKhW55a2ZV4KtA==", "dependencies": { "asn1.js": "^5.0.1" }, @@ -17231,17 +18448,19 @@ "dev": true }, "node_modules/pg-connection-string": { - "version": "2.6.4", - "license": "MIT" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.7.0.tgz", + "integrity": "sha512-PI2W9mv53rXJQEOb8xNR8lH7Hr+EKa6oJa38zsK0S/ky2er16ios1wLKhZyxzD7jUReiWokc9WK5nxSnC7W1TA==" }, "node_modules/picocolors": { - "version": "1.0.1", - "dev": true, - "license": "ISC" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" }, "node_modules/picomatch": { "version": "2.3.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "engines": { "node": ">=8.6" }, @@ -17251,8 +18470,9 @@ }, "node_modules/pidtree": { "version": "0.6.0", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", + "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", "dev": true, - "license": "MIT", "bin": { "pidtree": "bin/pidtree.js" }, @@ -17262,7 +18482,8 @@ }, "node_modules/pino": { "version": "8.21.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/pino/-/pino-8.21.0.tgz", + "integrity": "sha512-ip4qdzjkAyDDZklUaZkcRFb2iA118H9SgRh8yzTkSQK8HilsOJF7rSY8HoW5+I0M46AZgX/pxbprf2vvzQCE0Q==", "dependencies": { "atomic-sleep": "^1.0.0", "fast-redact": "^3.1.1", @@ -17282,7 +18503,8 @@ }, "node_modules/pino-abstract-transport": { "version": "1.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-1.2.0.tgz", + "integrity": "sha512-Guhh8EZfPCfH+PMXAb6rKOjGQEoy0xlAIn+irODG5kgfYV+BQ0rGYYWTIel3P5mmyXqkYkPmdIkywsn6QKUR1Q==", "dependencies": { "readable-stream": "^4.0.0", "split2": "^4.0.0" @@ -17290,7 +18512,8 @@ }, "node_modules/pino-pretty": { "version": "9.4.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/pino-pretty/-/pino-pretty-9.4.1.tgz", + "integrity": "sha512-loWr5SNawVycvY//hamIzyz3Fh5OSpvkcO13MwdDW+eKIGylobPLqnVGTDwDXkdmpJd1BhEG+qhDw09h6SqJiQ==", "dependencies": { "colorette": "^2.0.7", "dateformat": "^4.6.3", @@ -17313,12 +18536,14 @@ }, "node_modules/pino-std-serializers": { "version": "6.2.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-6.2.2.tgz", + "integrity": "sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==" }, "node_modules/pkg-dir": { "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, - "license": "MIT", "dependencies": { "find-up": "^4.0.0" }, @@ -17328,8 +18553,9 @@ }, "node_modules/pkg-dir/node_modules/find-up": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, - "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -17340,8 +18566,9 @@ }, "node_modules/pkg-dir/node_modules/locate-path": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, - "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -17351,8 +18578,9 @@ }, "node_modules/pkg-dir/node_modules/p-limit": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, - "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -17365,8 +18593,9 @@ }, "node_modules/pkg-dir/node_modules/p-locate": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, - "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -17376,23 +18605,26 @@ }, "node_modules/pony-cause": { "version": "2.1.11", - "license": "0BSD", + "resolved": "https://registry.npmjs.org/pony-cause/-/pony-cause-2.1.11.tgz", + "integrity": "sha512-M7LhCsdNbNgiLYiP4WjsfLUuFmCfnjdF6jKe2R9NKl4WFN+HZPGHJZ9lnLP7f9ZnKe3U9nuWD0szirmj+migUg==", "engines": { "node": ">=12.0.0" } }, "node_modules/possible-typed-array-names": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" } }, "node_modules/prebuild-install": { "version": "7.1.2", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.2.tgz", + "integrity": "sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==", "dev": true, - "license": "MIT", "dependencies": { "detect-libc": "^2.0.0", "expand-template": "^2.0.3", @@ -17416,8 +18648,9 @@ }, "node_modules/prebuild-install/node_modules/bl": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", "dev": true, - "license": "MIT", "dependencies": { "buffer": "^5.5.0", "inherits": "^2.0.4", @@ -17426,6 +18659,8 @@ }, "node_modules/prebuild-install/node_modules/buffer": { "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "dev": true, "funding": [ { @@ -17441,7 +18676,6 @@ "url": "https://feross.org/support" } ], - "license": "MIT", "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" @@ -17449,8 +18683,9 @@ }, "node_modules/prebuild-install/node_modules/readable-stream": { "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, - "license": "MIT", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -17462,8 +18697,9 @@ }, "node_modules/prebuild-install/node_modules/tar-fs": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", "dev": true, - "license": "MIT", "dependencies": { "chownr": "^1.1.1", "mkdirp-classic": "^0.5.2", @@ -17473,8 +18709,9 @@ }, "node_modules/prebuild-install/node_modules/tar-stream": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", "dev": true, - "license": "MIT", "dependencies": { "bl": "^4.0.3", "end-of-stream": "^1.4.1", @@ -17488,15 +18725,17 @@ }, "node_modules/prelude-ls": { "version": "1.2.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "engines": { "node": ">= 0.8.0" } }, "node_modules/prettier": { "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", "dev": true, - "license": "MIT", "bin": { "prettier": "bin-prettier.js" }, @@ -17509,7 +18748,8 @@ }, "node_modules/private-ip": { "version": "2.3.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/private-ip/-/private-ip-2.3.4.tgz", + "integrity": "sha512-ts/YFVwfBeLq61f9+KsOhXW6RH0wvY0gU50R6QZYzgFhggyyLK6WDFeYdjfi/HMnBm2hecLvsR3PB3JcRxDk+A==", "dependencies": { "ip-regex": "^4.3.0", "ipaddr.js": "^2.0.1", @@ -17519,19 +18759,22 @@ }, "node_modules/process": { "version": "0.11.10", - "license": "MIT", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", "engines": { "node": ">= 0.6.0" } }, "node_modules/process-nextick-args": { "version": "2.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "node_modules/process-on-spawn": { - "version": "1.0.0", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.1.0.tgz", + "integrity": "sha512-JOnOPQ/8TZgjs1JIH/m9ni7FfimjNa/PRx7y/Wb5qdItsnhO0jE4AT7fC0HjC28DUQWDr50dwSYZLdRMlqDq3Q==", "dev": true, - "license": "MIT", "dependencies": { "fromentries": "^1.2.0" }, @@ -17541,24 +18784,28 @@ }, "node_modules/process-warning": { "version": "3.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-3.0.0.tgz", + "integrity": "sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==" }, "node_modules/progress": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.4.0" } }, "node_modules/promise-polyfill": { "version": "1.1.6", - "license": "MIT" + "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-1.1.6.tgz", + "integrity": "sha512-7rrONfyLkDEc7OJ5QBkqa4KI4EBhCd340xRuIUPGCfu13znS+vx+VDdrT9ODAJHlXm7w4lbxN3DRjyv58EuzDg==" }, "node_modules/prop-types": { "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "loose-envify": "^1.4.0", @@ -17568,20 +18815,23 @@ }, "node_modules/propagate": { "version": "2.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", + "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==", "engines": { "node": ">= 8" } }, "node_modules/property-expr": { "version": "2.0.6", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/property-expr/-/property-expr-2.0.6.tgz", + "integrity": "sha512-SVtmxhRE/CGkn3eZY1T6pC8Nln6Fr/lu1mKSgRud0eC73whjGfoAogbn78LkD8aFL0zz3bAFerKSnOl7NlErBA==", + "dev": true }, "node_modules/protobufjs": { "version": "6.11.4", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.4.tgz", + "integrity": "sha512-5kQWPaJHi1WoCpjTGszzQ32PG2F4+wRY6BmAT4Vfw56Q2FZ4YZzK20xUYQH4YkfehY1e6QSICrJquM6xXZNcrw==", "hasInstallScript": true, - "license": "BSD-3-Clause", "dependencies": { "@protobufjs/aspromise": "^1.1.2", "@protobufjs/base64": "^1.1.2", @@ -17604,11 +18854,13 @@ }, "node_modules/protobufjs/node_modules/long": { "version": "4.0.0", - "license": "Apache-2.0" + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" }, "node_modules/proxy-addr": { "version": "2.0.7", - "license": "MIT", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "dependencies": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" @@ -17619,23 +18871,30 @@ }, "node_modules/proxy-addr/node_modules/ipaddr.js": { "version": "1.9.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", "engines": { "node": ">= 0.10" } }, "node_modules/proxy-from-env": { "version": "1.1.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" }, "node_modules/psl": { - "version": "1.9.0", + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.14.0.tgz", + "integrity": "sha512-Syk1bnf6fRZ9wQs03AtKJHcM12cKbOLo9L8JtCCdYj5/DTsHmTyXM4BK5ouWeG2P6kZ4nmFvuNTdtaqfobCOCg==", "dev": true, - "license": "MIT" + "dependencies": { + "punycode": "^2.3.1" + } }, "node_modules/pump": { - "version": "3.0.0", - "license": "MIT", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz", + "integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==", "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -17643,16 +18902,18 @@ }, "node_modules/punycode": { "version": "2.3.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "engines": { "node": ">=6" } }, "node_modules/qs": { - "version": "6.11.0", - "license": "BSD-3-Clause", + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", "dependencies": { - "side-channel": "^1.0.4" + "side-channel": "^1.0.6" }, "engines": { "node": ">=0.6" @@ -17677,11 +18938,14 @@ }, "node_modules/querystringify": { "version": "2.2.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true }, "node_modules/queue-microtask": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "funding": [ { "type": "github", @@ -17695,17 +18959,18 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "MIT" + ] }, "node_modules/queue-tick": { "version": "1.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", + "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==", + "dev": true }, "node_modules/quick-format-unescaped": { "version": "4.0.4", - "license": "MIT" + "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz", + "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==" }, "node_modules/quick-lru": { "version": "5.1.1", @@ -17721,21 +18986,24 @@ }, "node_modules/randombytes": { "version": "2.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dependencies": { "safe-buffer": "^5.1.0" } }, "node_modules/range-parser": { "version": "1.2.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", "engines": { "node": ">= 0.6" } }, "node_modules/raw-body": { "version": "2.5.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "dependencies": { "bytes": "3.1.2", "http-errors": "2.0.0", @@ -17748,7 +19016,8 @@ }, "node_modules/raw-body/node_modules/iconv-lite": { "version": "0.4.24", - "license": "MIT", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -17758,7 +19027,8 @@ }, "node_modules/rc": { "version": "1.2.8", - "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dependencies": { "deep-extend": "^0.6.0", "ini": "~1.3.0", @@ -17771,18 +19041,21 @@ }, "node_modules/rc/node_modules/ini": { "version": "1.3.8", - "license": "ISC" + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" }, "node_modules/rc/node_modules/strip-json-comments": { "version": "2.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", "engines": { "node": ">=0.10.0" } }, "node_modules/rdf-canonize": { "version": "3.4.0", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/rdf-canonize/-/rdf-canonize-3.4.0.tgz", + "integrity": "sha512-fUeWjrkOO0t1rg7B2fdyDTvngj+9RlUyL92vOdiB7c0FPguWVsniIMjEtHH+meLBO9rzkUlUzBVXgWrjI8P9LA==", "dependencies": { "setimmediate": "^1.0.5" }, @@ -17792,14 +19065,16 @@ }, "node_modules/rdf-data-factory": { "version": "1.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/rdf-data-factory/-/rdf-data-factory-1.1.2.tgz", + "integrity": "sha512-TfQD63Lokabd09ES1jAtKK8AA6rkr9rwyUBGo6olOt1CE0Um36CUQIqytyf0am2ouBPR0l7SaHxCiMcPGHkt1A==", "dependencies": { "@rdfjs/types": "*" } }, "node_modules/rdf-isomorphic": { "version": "1.3.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/rdf-isomorphic/-/rdf-isomorphic-1.3.1.tgz", + "integrity": "sha512-6uIhsXTVp2AtO6f41PdnRV5xZsa0zVZQDTBdn0br+DZuFf5M/YD+T6m8hKDUnALI6nFL/IujTMLgEs20MlNidQ==", "dependencies": { "@rdfjs/types": "*", "hash.js": "^1.1.7", @@ -17809,7 +19084,8 @@ }, "node_modules/rdf-literal": { "version": "1.3.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/rdf-literal/-/rdf-literal-1.3.2.tgz", + "integrity": "sha512-79Stlu3sXy0kq9/decHFLf3xNPuY6sfhFPhd/diWErgaFr0Ekyg38Vh9bnVcqDYu48CFRi0t+hrFii49n92Hbw==", "dependencies": { "@rdfjs/types": "*", "rdf-data-factory": "^1.1.0" @@ -17817,7 +19093,8 @@ }, "node_modules/rdf-object": { "version": "1.14.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/rdf-object/-/rdf-object-1.14.0.tgz", + "integrity": "sha512-/KSUWr7onDtL7d81kOpcUzJ2vHYOYJc2KU9WzBZRYydBhK0Sksh5Hg4VCQNaxUEvYEgdrrTuq9SLpOOCmag0rQ==", "dependencies": { "@rdfjs/types": "*", "jsonld-context-parser": "^2.0.2", @@ -17828,7 +19105,8 @@ }, "node_modules/rdf-parse": { "version": "2.3.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/rdf-parse/-/rdf-parse-2.3.3.tgz", + "integrity": "sha512-N5XEHm+ajFzwo/vVNzB4tDtvqMwBosbVJmZl5DlzplQM9ejlJBlN/43i0ImAb/NMtJJgQPC3jYnkCKGA7wdo/w==", "dependencies": { "@comunica/actor-http-fetch": "^2.0.1", "@comunica/actor-http-proxy": "^2.0.1", @@ -17858,7 +19136,8 @@ }, "node_modules/rdf-quad": { "version": "1.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/rdf-quad/-/rdf-quad-1.5.0.tgz", + "integrity": "sha512-LnCYx8XbRVW1wr6UiZPSy2Tv7bXAtEwuyck/68dANhFu8VMnGS+QfUNP3b9YI6p4Bfd/fyDx5E3x81IxGV6BzA==", "dependencies": { "rdf-data-factory": "^1.0.1", "rdf-literal": "^1.2.0", @@ -17867,7 +19146,8 @@ }, "node_modules/rdf-store-stream": { "version": "2.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/rdf-store-stream/-/rdf-store-stream-2.0.1.tgz", + "integrity": "sha512-znGaibHLvbRE0BrDcXHRleRcLKlHYP6ADr1RFJ3yA28QBmhOjxxgbBFTvCMzgsxvBIqdaFS8Vd2FG4NefJL4Mg==", "dependencies": { "@rdfjs/types": "*", "rdf-stores": "^1.0.0" @@ -17875,7 +19155,8 @@ }, "node_modules/rdf-stores": { "version": "1.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/rdf-stores/-/rdf-stores-1.0.0.tgz", + "integrity": "sha512-wqp7M5409rbhpWQE0C1vyVysbz++aD2vEkZ6yueSxhDtyLvznS41R3cKiuUpm3ikc/yTpaCZwPo4iyKEaAwBIg==", "dependencies": { "@rdfjs/types": "*", "asynciterator": "^3.8.0", @@ -17885,21 +19166,37 @@ } }, "node_modules/rdf-streaming-store": { - "version": "1.1.4", - "license": "MIT", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/rdf-streaming-store/-/rdf-streaming-store-1.1.5.tgz", + "integrity": "sha512-Rfd3qo1otF/Jfau/lAFX8J1ZPorN0eaHoIkAlenIIcdZjq9AoIP85rEa4Sn+yMZOqNU1Kc4cCPUv5CFHhpAT2Q==", "dependencies": { "@rdfjs/types": "*", "@types/n3": "^1.10.4", - "@types/readable-stream": "^2.3.15", + "@types/readable-stream": "^4.0.15", "n3": "^1.16.3", "rdf-string": "^1.6.2", "rdf-terms": "^1.9.1", "readable-stream": "^4.3.0" } }, + "node_modules/rdf-streaming-store/node_modules/@types/readable-stream": { + "version": "4.0.18", + "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-4.0.18.tgz", + "integrity": "sha512-21jK/1j+Wg+7jVw1xnSwy/2Q1VgVjWuFssbYGTREPUBeZ+rqVFl2udq0IkxzPC0ZhOzVceUbyIACFZKLqKEBlA==", + "dependencies": { + "@types/node": "*", + "safe-buffer": "~5.1.1" + } + }, + "node_modules/rdf-streaming-store/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==" + }, "node_modules/rdf-string": { "version": "1.6.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/rdf-string/-/rdf-string-1.6.3.tgz", + "integrity": "sha512-HIVwQ2gOqf+ObsCLSUAGFZMIl3rh9uGcRf1KbM85UDhKqP+hy6qj7Vz8FKt3GA54RiThqK3mNcr66dm1LP0+6g==", "dependencies": { "@rdfjs/types": "*", "rdf-data-factory": "^1.1.0" @@ -17907,7 +19204,8 @@ }, "node_modules/rdf-string-ttl": { "version": "1.3.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/rdf-string-ttl/-/rdf-string-ttl-1.3.2.tgz", + "integrity": "sha512-yqolaVoUvTaSC5aaQuMcB4BL54G/pCGsV4jQH87f0TvAx8zHZG0koh7XWrjva/IPGcVb1QTtaeEdfda5mcddJg==", "dependencies": { "@rdfjs/types": "*", "rdf-data-factory": "^1.1.0" @@ -17915,7 +19213,8 @@ }, "node_modules/rdf-terms": { "version": "1.11.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/rdf-terms/-/rdf-terms-1.11.0.tgz", + "integrity": "sha512-iKlVgnMopRKl9pHVNrQrax7PtZKRCT/uJIgYqvuw1VVQb88zDvurtDr1xp0rt7N9JtKtFwUXoIQoEsjyRo20qQ==", "dependencies": { "@rdfjs/types": "*", "rdf-data-factory": "^1.1.0", @@ -17924,7 +19223,8 @@ }, "node_modules/rdfa-streaming-parser": { "version": "2.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/rdfa-streaming-parser/-/rdfa-streaming-parser-2.0.1.tgz", + "integrity": "sha512-7Yyaj030LO7iQ38Wh/RNLVeYrVFJeyx3dpCK7C1nvX55eIN/gE4HWfbg4BYI9X7Bd+eUIUMVeiKYLmYjV6apow==", "dependencies": { "@rdfjs/types": "*", "htmlparser2": "^8.0.0", @@ -17935,6 +19235,8 @@ }, "node_modules/rdfa-streaming-parser/node_modules/htmlparser2": { "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", "funding": [ "https://github.com/fb55/htmlparser2?sponsor=1", { @@ -17942,7 +19244,6 @@ "url": "https://github.com/sponsors/fb55" } ], - "license": "MIT", "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.3", @@ -17952,7 +19253,8 @@ }, "node_modules/rdfxml-streaming-parser": { "version": "2.4.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/rdfxml-streaming-parser/-/rdfxml-streaming-parser-2.4.0.tgz", + "integrity": "sha512-f+tdI1wxOiPzMbFWRtOwinwPsqac0WIN80668yFKcVdFCSTGOWTM70ucQGUSdDZZo7pce/UvZgV0C3LDj0P7tg==", "dependencies": { "@rdfjs/types": "*", "@rubensworks/saxes": "^6.0.1", @@ -17966,20 +19268,23 @@ }, "node_modules/react-is": { "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", "dev": true, - "license": "MIT", "peer": true }, "node_modules/react-native-fetch-api": { "version": "2.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/react-native-fetch-api/-/react-native-fetch-api-2.0.0.tgz", + "integrity": "sha512-GOA8tc1EVYLnHvma/TU9VTgLOyralO7eATRuCDchQveXW9Fr9vXygyq9iwqmM7YRZ8qRJfEt9xOS7OYMdJvRFw==", "dependencies": { "p-defer": "^3.0.0" } }, "node_modules/readable-stream": { "version": "4.5.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", "dependencies": { "abort-controller": "^3.0.0", "buffer": "^6.0.3", @@ -17993,50 +19298,57 @@ }, "node_modules/readable-stream-node-to-web": { "version": "1.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/readable-stream-node-to-web/-/readable-stream-node-to-web-1.0.1.tgz", + "integrity": "sha512-OGzi2VKLa8H259kAx7BIwuRrXHGcxeHj4RdASSgEGBP9Q2wowdPvBc65upF4Q9O05qWgKqBw1+9PiLTtObl7uQ==" }, "node_modules/readdirp": { - "version": "3.6.0", - "license": "MIT", - "dependencies": { - "picomatch": "^2.2.1" - }, + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.0.2.tgz", + "integrity": "sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==", "engines": { - "node": ">=8.10.0" + "node": ">= 14.16.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" } }, "node_modules/real-require": { "version": "0.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/real-require/-/real-require-0.2.0.tgz", + "integrity": "sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==", "engines": { "node": ">= 12.13.0" } }, "node_modules/receptacle": { "version": "1.3.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/receptacle/-/receptacle-1.3.2.tgz", + "integrity": "sha512-HrsFvqZZheusncQRiEE7GatOAETrARKV/lnfYicIm8lbvp/JQOdADOfhjBd2DajvoszEyxSM6RlAAIZgEoeu/A==", "dependencies": { "ms": "^2.1.1" } }, "node_modules/reflect-metadata": { "version": "0.1.13", - "dev": true, - "license": "Apache-2.0" + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", + "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", + "dev": true }, "node_modules/reflect.getprototypeof": { - "version": "1.0.6", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.7.tgz", + "integrity": "sha512-bMvFGIUKlc/eSfXNX+aZ+EL95/EgZzuwA0OBPTbZZDEJw/0AkentjMuM1oiRfwHrshqk4RzdgiTg5CcDalXN5g==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", - "es-abstract": "^1.23.1", + "es-abstract": "^1.23.5", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.4", - "globalthis": "^1.0.3", - "which-builtin-type": "^1.1.3" + "gopd": "^1.0.1", + "which-builtin-type": "^1.1.4" }, "engines": { "node": ">= 0.4" @@ -18047,34 +19359,38 @@ }, "node_modules/regenerator-runtime": { "version": "0.14.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" }, "node_modules/regexp-match-indices": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regexp-match-indices/-/regexp-match-indices-1.0.2.tgz", + "integrity": "sha512-DwZuAkt8NF5mKwGGER1EGh2PRqyvhRhhLviH+R8y8dIuaQROlUfXjt4s9ZTXstIsSkptf06BSvwcEmmfheJJWQ==", "dev": true, - "license": "Apache-2.0", "dependencies": { "regexp-tree": "^0.1.11" } }, "node_modules/regexp-tree": { "version": "0.1.27", + "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz", + "integrity": "sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==", "dev": true, - "license": "MIT", "bin": { "regexp-tree": "bin/regexp-tree" } }, "node_modules/regexp.prototype.flags": { - "version": "1.5.2", + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz", + "integrity": "sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { - "call-bind": "^1.0.6", + "call-bind": "^1.0.7", "define-properties": "^1.2.1", "es-errors": "^1.3.0", - "set-function-name": "^2.0.1" + "set-function-name": "^2.0.2" }, "engines": { "node": ">= 0.4" @@ -18085,12 +19401,14 @@ }, "node_modules/relative-to-absolute-iri": { "version": "1.0.7", - "license": "MIT" + "resolved": "https://registry.npmjs.org/relative-to-absolute-iri/-/relative-to-absolute-iri-1.0.7.tgz", + "integrity": "sha512-Xjyl4HmIzg2jzK/Un2gELqbcE8Fxy85A/aLSHE6PE/3+OGsFwmKVA1vRyGaz6vLWSqLDMHA+5rjD/xbibSQN1Q==" }, "node_modules/release-zalgo": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", + "integrity": "sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==", "dev": true, - "license": "ISC", "dependencies": { "es6-error": "^4.0.1" }, @@ -18100,8 +19418,9 @@ }, "node_modules/repeat-string": { "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10" } @@ -18186,31 +19505,36 @@ }, "node_modules/require-directory": { "version": "2.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "engines": { "node": ">=0.10.0" } }, "node_modules/require-from-string": { "version": "2.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "engines": { "node": ">=0.10.0" } }, "node_modules/require-main-filename": { "version": "2.0.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true }, "node_modules/requires-port": { "version": "1.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true }, "node_modules/resolve": { "version": "1.22.8", - "license": "MIT", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", @@ -18231,15 +19555,17 @@ }, "node_modules/resolve-from": { "version": "4.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "engines": { "node": ">=4" } }, "node_modules/resolve-pkg": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg/-/resolve-pkg-2.0.0.tgz", + "integrity": "sha512-+1lzwXehGCXSeryaISr6WujZzowloigEofRB+dj75y9RRa/obVcYgbHJd53tdYw8pvZj8GojXaaENws8Ktw/hQ==", "dev": true, - "license": "MIT", "dependencies": { "resolve-from": "^5.0.0" }, @@ -18249,8 +19575,9 @@ }, "node_modules/resolve-pkg/node_modules/resolve-from": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } @@ -18278,8 +19605,9 @@ }, "node_modules/restore-cursor": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", + "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", "dev": true, - "license": "MIT", "dependencies": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" @@ -18293,22 +19621,26 @@ }, "node_modules/retimer": { "version": "3.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/retimer/-/retimer-3.0.0.tgz", + "integrity": "sha512-WKE0j11Pa0ZJI5YIk0nflGI7SQsfl2ljihVy7ogh7DeQSeYAUi0ubZ/yEueGtDfUPk6GH5LRw1hBdLq4IwUBWA==" }, "node_modules/retry": { "version": "0.13.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", "engines": { "node": ">= 4" } }, "node_modules/retry-as-promised": { "version": "7.0.4", - "license": "MIT" + "resolved": "https://registry.npmjs.org/retry-as-promised/-/retry-as-promised-7.0.4.tgz", + "integrity": "sha512-XgmCoxKWkDofwH8WddD0w85ZfqYz+ZHlr5yo+3YUCfycWawU56T5ckWXsScsj5B8tqUcIG67DxXByo3VUgiAdA==" }, "node_modules/reusify": { "version": "1.0.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" @@ -18316,12 +19648,15 @@ }, "node_modules/rfdc": { "version": "1.4.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "dev": true }, "node_modules/rimraf": { "version": "3.0.2", - "license": "ISC", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", "dependencies": { "glob": "^7.1.3" }, @@ -18334,7 +19669,8 @@ }, "node_modules/ripemd160": { "version": "2.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1" @@ -18342,7 +19678,8 @@ }, "node_modules/rlp": { "version": "2.2.7", - "license": "MPL-2.0", + "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", + "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", "dependencies": { "bn.js": "^5.2.0" }, @@ -18352,12 +19689,14 @@ }, "node_modules/robust-predicates": { "version": "3.0.2", - "dev": true, - "license": "Unlicense" + "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz", + "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==", + "dev": true }, "node_modules/rolling-rate-limiter": { "version": "0.2.13", - "license": "MIT", + "resolved": "https://registry.npmjs.org/rolling-rate-limiter/-/rolling-rate-limiter-0.2.13.tgz", + "integrity": "sha512-fF5XeJn7t22cC9LIh77BDfs7Mg0jon03qezMfPige0vehzhmNyQ6U+eSYbaL1l80sX9z+22+6x4pQ8xHT0LrVw==", "dependencies": { "microtime": "^3.0.0", "uuid": "^8.3.0" @@ -18368,6 +19707,8 @@ }, "node_modules/run-parallel": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "funding": [ { "type": "github", @@ -18382,27 +19723,29 @@ "url": "https://feross.org/support" } ], - "license": "MIT", "dependencies": { "queue-microtask": "^1.2.2" } }, "node_modules/rw": { "version": "1.3.3", - "dev": true, - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", + "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==", + "dev": true }, "node_modules/rxjs": { "version": "7.8.1", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", "dependencies": { "tslib": "^2.1.0" } }, "node_modules/safe-array-concat": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", + "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.7", @@ -18419,6 +19762,8 @@ }, "node_modules/safe-buffer": { "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "funding": [ { "type": "github", @@ -18432,13 +19777,13 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "MIT" + ] }, "node_modules/safe-regex-test": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", + "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.6", @@ -18453,30 +19798,35 @@ } }, "node_modules/safe-stable-stringify": { - "version": "2.4.3", - "license": "MIT", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.5.0.tgz", + "integrity": "sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==", "engines": { "node": ">=10" } }, "node_modules/safer-buffer": { "version": "2.1.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "node_modules/sanitize-filename": { "version": "1.6.3", - "license": "WTFPL OR ISC", + "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz", + "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==", "dependencies": { "truncate-utf8-bytes": "^1.0.0" } }, "node_modules/sax": { "version": "1.4.1", - "license": "ISC" + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==" }, "node_modules/sax-stream": { "version": "1.3.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/sax-stream/-/sax-stream-1.3.0.tgz", + "integrity": "sha512-tcfsAAICAkyNNe4uiKtKmLKxx3C7qPAej13UUoN+7OLYq/P5kHGahZtJhhMVM3fIMndA6TlYHWFlFEzFkv1VGg==", "dependencies": { "debug": "~2", "sax": "~1" @@ -18484,19 +19834,22 @@ }, "node_modules/sax-stream/node_modules/debug": { "version": "2.6.9", - "license": "MIT", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dependencies": { "ms": "2.0.0" } }, "node_modules/sax-stream/node_modules/ms": { "version": "2.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, "node_modules/saxes": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", "dev": true, - "license": "ISC", "dependencies": { "xmlchars": "^2.2.0" }, @@ -18505,18 +19858,21 @@ } }, "node_modules/scale-ts": { - "version": "1.6.0", - "license": "MIT", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/scale-ts/-/scale-ts-1.6.1.tgz", + "integrity": "sha512-PBMc2AWc6wSEqJYBDPcyCLUj9/tMKnLX70jLOSndMtcUoLQucP/DM0vnQo1wJAYjTrQiq8iG9rD0q6wFzgjH7g==", "optional": true }, "node_modules/scrypt-js": { "version": "3.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", + "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" }, "node_modules/secp256k1": { "version": "4.0.3", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", + "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", "hasInstallScript": true, - "license": "MIT", "dependencies": { "elliptic": "^6.5.4", "node-addon-api": "^2.0.0", @@ -18528,20 +19884,24 @@ }, "node_modules/secure-json-parse": { "version": "2.7.0", - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.7.0.tgz", + "integrity": "sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==" }, "node_modules/seed-random": { "version": "2.2.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/seed-random/-/seed-random-2.2.0.tgz", + "integrity": "sha512-34EQV6AAHQGhoc0tn/96a9Fsi6v2xdqe/dMUwljGRaFOzR3EgRmECvD0O8vi8X+/uQ50LGHfkNu/Eue5TPKZkQ==", + "dev": true }, "node_modules/seedrandom": { "version": "3.0.5", - "license": "MIT" + "resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.5.tgz", + "integrity": "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==" }, "node_modules/semver": { - "version": "7.6.2", - "license": "ISC", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "bin": { "semver": "bin/semver.js" }, @@ -18550,8 +19910,9 @@ } }, "node_modules/send": { - "version": "0.18.0", - "license": "MIT", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", "dependencies": { "debug": "2.6.9", "depd": "2.0.0", @@ -18573,27 +19934,40 @@ }, "node_modules/send/node_modules/debug": { "version": "2.6.9", - "license": "MIT", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dependencies": { "ms": "2.0.0" } }, "node_modules/send/node_modules/debug/node_modules/ms": { "version": "2.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/send/node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } }, "node_modules/seq-queue": { - "version": "0.0.5" + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/seq-queue/-/seq-queue-0.0.5.tgz", + "integrity": "sha512-hr3Wtp/GZIc/6DAGPDcV4/9WoZhjrkXsi5B/07QgX8tsdc6ilr7BFM6PM6rbdAX1kFSDYeZGLipIZZKyQP0O5Q==" }, "node_modules/sequelize": { - "version": "6.37.3", + "version": "6.37.5", + "resolved": "https://registry.npmjs.org/sequelize/-/sequelize-6.37.5.tgz", + "integrity": "sha512-10WA4poUb3XWnUROThqL2Apq9C2NhyV1xHPMZuybNMCucDsbbFuKg51jhmyvvAUyUqCiimwTZamc3AHhMoBr2Q==", "funding": [ { "type": "opencollective", "url": "https://opencollective.com/sequelize" } ], - "license": "MIT", "dependencies": { "@types/debug": "^4.1.8", "@types/validator": "^13.7.17", @@ -18647,26 +20021,29 @@ }, "node_modules/sequelize-pool": { "version": "7.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/sequelize-pool/-/sequelize-pool-7.1.0.tgz", + "integrity": "sha512-G9c0qlIWQSK29pR/5U2JF5dDQeqqHRragoyahj/Nx4KOOQ3CPPfzxnfqFPCSB7x5UgjOgnZ61nSxz+fjDpRlJg==", "engines": { "node": ">= 10.0.0" } }, "node_modules/serialize-javascript": { - "version": "6.0.0", - "license": "BSD-3-Clause", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dependencies": { "randombytes": "^2.1.0" } }, "node_modules/serve-static": { - "version": "1.15.0", - "license": "MIT", + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", "dependencies": { - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.18.0" + "send": "0.19.0" }, "engines": { "node": ">= 0.8.0" @@ -18690,16 +20067,19 @@ }, "node_modules/set-blocking": { "version": "2.0.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true }, "node_modules/set-delayed-interval": { "version": "1.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/set-delayed-interval/-/set-delayed-interval-1.0.0.tgz", + "integrity": "sha512-29fhAwuZlLcuBnW/EwxvLcg2D3ELX+VBDNhnavs3YYkab72qmrcSeQNVdzl8EcPPahGQXhBM6MKdPLCQGMDakw==" }, "node_modules/set-function-length": { "version": "1.2.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", @@ -18714,8 +20094,9 @@ }, "node_modules/set-function-name": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "define-data-property": "^1.1.4", @@ -18729,15 +20110,18 @@ }, "node_modules/setimmediate": { "version": "1.0.5", - "license": "MIT" + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" }, "node_modules/setprototypeof": { "version": "1.2.0", - "license": "ISC" + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" }, "node_modules/sha.js": { "version": "2.4.11", - "license": "(MIT AND BSD-3-Clause)", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "dependencies": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -18748,7 +20132,8 @@ }, "node_modules/shaclc-parse": { "version": "1.4.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/shaclc-parse/-/shaclc-parse-1.4.0.tgz", + "integrity": "sha512-zyxjIYQH2ghg/wtMvOp+4Nr6aK8j9bqFiVT3w47K8WHPYN+S3Zgnh2ybT+dGgMwo9KjiOoywxhjC7d8Z6GCmfA==", "dependencies": { "@rdfjs/types": "^1.1.0", "n3": "^1.16.3" @@ -18756,7 +20141,8 @@ }, "node_modules/shaclc-write": { "version": "1.4.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/shaclc-write/-/shaclc-write-1.4.3.tgz", + "integrity": "sha512-dtJ6LokIluzQuHRWCFvNnmGyh07FxBK2L4utkOQn/wYD9eNamUUCt7sDBcuFDyD3jAGv0Ipmv0EitTyKcM1f/w==", "dependencies": { "@jeswr/prefixcc": "^1.2.1", "n3": "^1.16.3", @@ -18765,9 +20151,10 @@ }, "node_modules/sharp": { "version": "0.32.6", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.32.6.tgz", + "integrity": "sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==", "dev": true, "hasInstallScript": true, - "license": "Apache-2.0", "dependencies": { "color": "^4.2.3", "detect-libc": "^2.0.2", @@ -18787,12 +20174,14 @@ }, "node_modules/sharp/node_modules/node-addon-api": { "version": "6.1.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", + "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", + "dev": true }, "node_modules/shebang-command": { "version": "2.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -18802,14 +20191,16 @@ }, "node_modules/shebang-regex": { "version": "3.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "engines": { "node": ">=8" } }, "node_modules/side-channel": { "version": "1.0.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", "dependencies": { "call-bind": "^1.0.7", "es-errors": "^1.3.0", @@ -18825,10 +20216,13 @@ }, "node_modules/signal-exit": { "version": "3.0.7", - "license": "ISC" + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, "node_modules/simple-concat": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", "dev": true, "funding": [ { @@ -18843,11 +20237,12 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "MIT" + ] }, "node_modules/simple-get": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", "dev": true, "funding": [ { @@ -18863,7 +20258,6 @@ "url": "https://feross.org/support" } ], - "license": "MIT", "dependencies": { "decompress-response": "^6.0.0", "once": "^1.3.1", @@ -18872,15 +20266,18 @@ }, "node_modules/simple-swizzle": { "version": "0.2.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", "dependencies": { "is-arrayish": "^0.3.1" } }, "node_modules/sinon": { "version": "14.0.2", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-14.0.2.tgz", + "integrity": "sha512-PDpV0ZI3ZCS3pEqx0vpNp6kzPhHrLx72wA0G+ZLaaJjLIYeE0n8INlgaohKuGy7hP0as5tbUd23QWu5U233t+w==", + "deprecated": "16.1.1", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^2.0.0", "@sinonjs/fake-timers": "^9.1.2", @@ -18896,16 +20293,18 @@ }, "node_modules/sinon/node_modules/diff": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", + "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", "dev": true, - "license": "BSD-3-Clause", "engines": { "node": ">=0.3.1" } }, "node_modules/sinon/node_modules/supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -18915,8 +20314,9 @@ }, "node_modules/slice-ansi": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^6.0.0", "is-fullwidth-code-point": "^4.0.0" @@ -18930,8 +20330,9 @@ }, "node_modules/slice-ansi/node_modules/ansi-styles": { "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, - "license": "MIT", "engines": { "node": ">=12" }, @@ -18941,83 +20342,62 @@ }, "node_modules/slugify": { "version": "1.6.6", + "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.6.tgz", + "integrity": "sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw==", "dev": true, - "license": "MIT", "engines": { "node": ">=8.0.0" } }, "node_modules/smoldot": { "version": "2.0.22", - "license": "GPL-3.0-or-later WITH Classpath-exception-2.0", + "resolved": "https://registry.npmjs.org/smoldot/-/smoldot-2.0.22.tgz", + "integrity": "sha512-B50vRgTY6v3baYH6uCgL15tfaag5tcS2o/P5q1OiXcKGv1axZDfz2dzzMuIkVpyMR2ug11F6EAtQlmYBQd292g==", "optional": true, "dependencies": { "ws": "^8.8.1" } }, "node_modules/solc": { - "version": "0.7.3", - "license": "MIT", + "version": "0.8.26", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.8.26.tgz", + "integrity": "sha512-yiPQNVf5rBFHwN6SIf3TUUvVAFKcQqmSUFeq+fb6pNRCo0ZCgpYOZDi3BVoezCPIAcKrVYd/qXlBLUP9wVrZ9g==", "dependencies": { "command-exists": "^1.2.8", - "commander": "3.0.2", + "commander": "^8.1.0", "follow-redirects": "^1.12.1", - "fs-extra": "^0.30.0", "js-sha3": "0.8.0", "memorystream": "^0.3.1", - "require-from-string": "^2.0.0", "semver": "^5.5.0", "tmp": "0.0.33" }, "bin": { - "solcjs": "solcjs" + "solcjs": "solc.js" }, "engines": { - "node": ">=8.0.0" + "node": ">=10.0.0" } }, "node_modules/solc/node_modules/commander": { - "version": "3.0.2", - "license": "MIT" - }, - "node_modules/solc/node_modules/fs-extra": { - "version": "0.30.0", - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0", - "path-is-absolute": "^1.0.0", - "rimraf": "^2.2.8" - } - }, - "node_modules/solc/node_modules/jsonfile": { - "version": "2.4.0", - "license": "MIT", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/solc/node_modules/rimraf": { - "version": "2.7.1", - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "engines": { + "node": ">= 12" } }, "node_modules/solc/node_modules/semver": { "version": "5.7.2", - "license": "ISC", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "bin": { "semver": "bin/semver" } }, "node_modules/solc/node_modules/tmp": { "version": "0.0.33", - "license": "MIT", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dependencies": { "os-tmpdir": "~1.0.2" }, @@ -19027,21 +20407,24 @@ }, "node_modules/sonic-boom": { "version": "3.8.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-3.8.1.tgz", + "integrity": "sha512-y4Z8LCDBuum+PBP3lSV7RHrXscqksve/bi0as7mhwVnBW+/wUqKT/2Kb7um8yqcFy0duYbbPxzt89Zy2nOCaxg==", "dependencies": { "atomic-sleep": "^1.0.0" } }, "node_modules/source-map": { "version": "0.6.1", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "engines": { "node": ">=0.10.0" } }, "node_modules/source-map-support": { "version": "0.5.21", - "license": "MIT", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -19049,11 +20432,13 @@ }, "node_modules/spark-md5": { "version": "3.0.2", - "license": "(WTFPL OR MIT)" + "resolved": "https://registry.npmjs.org/spark-md5/-/spark-md5-3.0.2.tgz", + "integrity": "sha512-wcFzz9cDfbuqe0FZzfi2or1sgyIrsDwmPwfZC4hiNidPdPINjeUwNfv5kldczoEAcjl9Y1L3SM7Uz2PUEQzxQw==" }, "node_modules/sparqlalgebrajs": { - "version": "4.3.5", - "license": "MIT", + "version": "4.3.8", + "resolved": "https://registry.npmjs.org/sparqlalgebrajs/-/sparqlalgebrajs-4.3.8.tgz", + "integrity": "sha512-Xo1/5icRtVk2N38BrY9NXN8N/ZPjULlns7sDHv0nlcGOsOediBLWVy8LmV+Q90RHvb3atZZbrFy3VqrM4iXciA==", "dependencies": { "@rdfjs/types": "*", "@types/sparqljs": "^3.1.3", @@ -19070,8 +20455,9 @@ } }, "node_modules/sparqljs": { - "version": "3.7.1", - "license": "MIT", + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/sparqljs/-/sparqljs-3.7.3.tgz", + "integrity": "sha512-FQfHUhfwn5PD9WH6xPU7DhFfXMgqK/XoDrYDVxz/grhw66Il0OjRg3JBgwuEvwHnQt7oSTiKWEiCZCPNaUbqgg==", "dependencies": { "rdf-data-factory": "^1.1.2" }, @@ -19084,7 +20470,8 @@ }, "node_modules/sparqljson-parse": { "version": "2.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/sparqljson-parse/-/sparqljson-parse-2.2.0.tgz", + "integrity": "sha512-2TfvNvUsaJyWfCrq3ExdDdbF9LBLzIUCricg+D1YCYbbmyTzscgCtRk4KcIyJF178DtfCt4BkKzbKl8IXMHp8w==", "dependencies": { "@bergos/jsonparse": "^1.4.1", "@rdfjs/types": "*", @@ -19095,7 +20482,8 @@ }, "node_modules/sparqljson-to-tree": { "version": "3.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/sparqljson-to-tree/-/sparqljson-to-tree-3.0.2.tgz", + "integrity": "sha512-8h/ZEPPBhBlMbgMX1TOumJQku2mLYYdwd/octsDa/bdqdNcMeAcB7S2Qh4SEZ+0pPNed9CBk1d5TEUpwJlcdmw==", "dependencies": { "@rdfjs/types": "*", "rdf-literal": "^1.3.2", @@ -19104,7 +20492,8 @@ }, "node_modules/sparqlxml-parse": { "version": "2.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/sparqlxml-parse/-/sparqlxml-parse-2.1.1.tgz", + "integrity": "sha512-71sltShF6gDAzuKWEHNeij7r0Mv5VqRrvJing6W4WHJ12GRe6+t1IRTv6MeqxYN3XJmKevs7B3HCBUo7wceeJQ==", "dependencies": { "@rdfjs/types": "*", "@rubensworks/saxes": "^6.0.1", @@ -19116,8 +20505,9 @@ }, "node_modules/spawn-wrap": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", + "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", "dev": true, - "license": "ISC", "dependencies": { "foreground-child": "^2.0.0", "is-windows": "^1.0.2", @@ -19132,18 +20522,21 @@ }, "node_modules/split2": { "version": "4.2.0", - "license": "ISC", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", "engines": { "node": ">= 10.x" } }, "node_modules/sprintf-js": { "version": "1.1.2", - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", + "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==" }, "node_modules/sqlstring": { "version": "2.3.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.3.tgz", + "integrity": "sha512-qC9iz2FlN7DQl3+wjwn3802RTyjCx7sDvfQEXchwa6CWOx07/WVfh91gBmQ9fahw8snwGEWU3xGzOt4tFyHLxg==", "engines": { "node": ">= 0.6" } @@ -19187,19 +20580,22 @@ }, "node_modules/stack-trace": { "version": "0.0.10", - "license": "MIT", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==", "engines": { "node": "*" } }, "node_modules/stackframe": { "version": "1.3.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", + "dev": true }, "node_modules/stacktrace-parser": { "version": "0.1.10", - "license": "MIT", + "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", + "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", "dependencies": { "type-fest": "^0.7.1" }, @@ -19209,57 +20605,67 @@ }, "node_modules/stacktrace-parser/node_modules/type-fest": { "version": "0.7.1", - "license": "(MIT OR CC0-1.0)", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", + "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", "engines": { "node": ">=8" } }, "node_modules/statuses": { "version": "2.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "engines": { "node": ">= 0.8" } }, "node_modules/stream-to-it": { "version": "0.2.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/stream-to-it/-/stream-to-it-0.2.4.tgz", + "integrity": "sha512-4vEbkSs83OahpmBybNJXlJd7d6/RxzkkSdT3I0mnGt79Xd2Kk+e1JqbvAvsQfCeKj3aKb0QIWkyK3/n0j506vQ==", "dependencies": { "get-iterator": "^1.0.2" } }, "node_modules/stream-to-string": { "version": "1.2.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/stream-to-string/-/stream-to-string-1.2.1.tgz", + "integrity": "sha512-WsvTDNF8UYs369Yko3pcdTducQtYpzEZeOV7cTuReyFvOoA9S/DLJ6sYK+xPafSPHhUMpaxiljKYnT6JSFztIA==", "dependencies": { "promise-polyfill": "^1.1.6" } }, "node_modules/streamify-array": { "version": "1.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/streamify-array/-/streamify-array-1.0.1.tgz", + "integrity": "sha512-ZnswaBcC6B1bhPLSQOlC6CdaDUSzU0wr2lvvHpbHNms8V7+DLd8uEAzDAWpsjxbFkijBHhuObFO/qqu52DZUMA==" }, "node_modules/streamify-string": { "version": "1.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/streamify-string/-/streamify-string-1.0.1.tgz", + "integrity": "sha512-RXvBglotrvSIuQQ7oC55pdV40wZ/17gTb68ipMC4LA0SqMN4Sqfsf31Dpei7qXpYqZQ8ueVnPglUvtep3tlhqw==" }, "node_modules/streaming-iterables": { "version": "6.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/streaming-iterables/-/streaming-iterables-6.2.0.tgz", + "integrity": "sha512-3AYC8oB60WyD1ic7uHmN/vm2oRGzRnQ3XFBl/bFMDi1q1+nc5/vjMmiE4vroIya3jG59t87VpyAj/iXYxyw9AA==", "engines": { "node": ">=10" } }, "node_modules/streamsearch": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", "engines": { "node": ">=10.0.0" } }, "node_modules/streamx": { - "version": "2.18.0", + "version": "2.20.2", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.20.2.tgz", + "integrity": "sha512-aDGDLU+j9tJcUdPGOaHmVF1u/hhI+CsGkT02V3OKlHDV7IukOI+nTWAGkiZEKCO35rWN1wIr4tS7YFr1f4qSvA==", "dev": true, - "license": "MIT", "dependencies": { "fast-fifo": "^1.3.2", "queue-tick": "^1.0.1", @@ -19280,21 +20686,24 @@ }, "node_modules/string_decoder": { "version": "1.3.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dependencies": { "safe-buffer": "~5.2.0" } }, "node_modules/string-argv": { "version": "0.3.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", + "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", "engines": { "node": ">=0.6.19" } }, "node_modules/string-width": { "version": "4.2.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -19306,19 +20715,37 @@ }, "node_modules/string-width/node_modules/emoji-regex": { "version": "8.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "node_modules/string-width/node_modules/is-fullwidth-code-point": { "version": "3.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "engines": { "node": ">=8" } }, + "node_modules/string.prototype.includes": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz", + "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/string.prototype.matchall": { "version": "4.0.11", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", + "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.7", @@ -19341,10 +20768,22 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", + "dev": true, + "peer": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, "node_modules/string.prototype.trim": { "version": "1.2.9", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", + "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.7", @@ -19361,8 +20800,9 @@ }, "node_modules/string.prototype.trimend": { "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", + "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.7", @@ -19375,8 +20815,9 @@ }, "node_modules/string.prototype.trimstart": { "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.7", @@ -19392,7 +20833,8 @@ }, "node_modules/strip-ansi": { "version": "6.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -19402,29 +20844,33 @@ }, "node_modules/strip-ansi/node_modules/ansi-regex": { "version": "5.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "engines": { "node": ">=8" } }, "node_modules/strip-bom": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/strip-final-newline": { "version": "2.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "engines": { "node": ">=6" } }, "node_modules/strip-hex-prefix": { "version": "1.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", + "integrity": "sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==", "dependencies": { "is-hex-prefixed": "1.0.0" }, @@ -19435,7 +20881,8 @@ }, "node_modules/strip-json-comments": { "version": "3.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "engines": { "node": ">=8" }, @@ -19445,7 +20892,8 @@ }, "node_modules/supports-color": { "version": "8.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dependencies": { "has-flag": "^4.0.0" }, @@ -19458,7 +20906,8 @@ }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "engines": { "node": ">= 0.4" }, @@ -19614,8 +21063,9 @@ }, "node_modules/symbol-tree": { "version": "3.2.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true }, "node_modules/tar": { "version": "4.4.19", @@ -19637,8 +21087,9 @@ }, "node_modules/tar-fs": { "version": "3.0.6", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.6.tgz", + "integrity": "sha512-iokBDQQkUyeXhgPYaZxmczGPhnhXZ0CmrqI+MOb/WFGS9DW5wnfrLgtjUJBvz50vQ3qfRwJ62QVoCFu8mPVu5w==", "dev": true, - "license": "MIT", "dependencies": { "pump": "^3.0.0", "tar-stream": "^3.1.5" @@ -19650,8 +21101,9 @@ }, "node_modules/tar-stream": { "version": "3.1.7", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", + "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", "dev": true, - "license": "MIT", "dependencies": { "b4a": "^1.6.4", "fast-fifo": "^1.2.0", @@ -19660,8 +21112,9 @@ }, "node_modules/test-exclude": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, - "license": "ISC", "dependencies": { "@istanbuljs/schema": "^0.1.2", "glob": "^7.1.4", @@ -19672,33 +21125,35 @@ } }, "node_modules/text-decoder": { - "version": "1.1.0", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.6.4" - } + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.1.tgz", + "integrity": "sha512-x9v3H/lTKIJKQQe7RPQkLfKAnc9lUTkWDypIQgTzPJAq+5/GCDHonmshfvlsNSj58yyshbIJJDLmU15qNERrXQ==", + "dev": true }, "node_modules/text-hex": { "version": "1.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", + "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==" }, "node_modules/text-table": { "version": "0.2.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" }, "node_modules/thenify": { "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", "dev": true, - "license": "MIT", "dependencies": { "any-promise": "^1.0.0" } }, "node_modules/thenify-all": { "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", "dev": true, - "license": "MIT", "dependencies": { "thenify": ">= 3.1.0 < 4" }, @@ -19708,14 +21163,16 @@ }, "node_modules/thread-stream": { "version": "2.7.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-2.7.0.tgz", + "integrity": "sha512-qQiRWsU/wvNolI6tbbCKd9iKaTnCXsTwVxhhKM6nctPdujTyztjlbUkUTUymidWcMnZ5pWR0ej4a0tjsW021vw==", "dependencies": { "real-require": "^0.2.0" } }, "node_modules/through": { "version": "2.3.8", - "license": "MIT" + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" }, "node_modules/timed-out": { "version": "4.0.1", @@ -19728,34 +21185,66 @@ }, "node_modules/timeout-abort-controller": { "version": "3.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/timeout-abort-controller/-/timeout-abort-controller-3.0.0.tgz", + "integrity": "sha512-O3e+2B8BKrQxU2YRyEjC/2yFdb33slI22WRdUaDx6rvysfi9anloNZyR2q0l6LnePo5qH7gSM7uZtvvwZbc2yA==", "dependencies": { "retimer": "^3.0.0" } }, "node_modules/tiny-emitter": { "version": "2.1.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", + "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==" }, - "node_modules/tmp": { - "version": "0.2.3", - "dev": true, - "license": "MIT", + "node_modules/tinyglobby": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.10.tgz", + "integrity": "sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==", + "dependencies": { + "fdir": "^6.4.2", + "picomatch": "^4.0.2" + }, "engines": { - "node": ">=14.14" + "node": ">=12.0.0" } }, - "node_modules/to-fast-properties": { - "version": "2.0.0", + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.2.tgz", + "integrity": "sha512-KnhMXsKSPZlAhp7+IjUkRZKPb4fUyccpDrdFXbi4QL1qkmFh9kVY09Yox+n4MaOb3lHZ1Tv829C3oaaXoMYPDQ==", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/tmp": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", + "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", "dev": true, - "license": "MIT", "engines": { - "node": ">=4" + "node": ">=14.14" } }, "node_modules/to-regex-range": { "version": "5.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dependencies": { "is-number": "^7.0.0" }, @@ -19765,31 +21254,36 @@ }, "node_modules/toidentifier": { "version": "1.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "engines": { "node": ">=0.6" } }, "node_modules/toobusy-js": { "version": "0.5.1", - "license": "WTFPL", + "resolved": "https://registry.npmjs.org/toobusy-js/-/toobusy-js-0.5.1.tgz", + "integrity": "sha512-GiCux/c8G2TV0FTDgtxnXOxmSAndaI/9b1YxT14CqyeBDtTZAcJLx9KlXT3qECi8D0XCc78T4sN/7gWtjRyCaA==", "engines": { "node": ">=0.9.1" } }, "node_modules/toposort": { "version": "2.0.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz", + "integrity": "sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==", + "dev": true }, "node_modules/toposort-class": { "version": "1.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/toposort-class/-/toposort-class-1.0.1.tgz", + "integrity": "sha512-OsLcGGbYF3rMjPUf8oKktyvCiUxSbqMMS39m33MAjLTC1DVIH6x3WSt63/M77ihI09+Sdfk1AXvfhCEeUmC7mg==" }, "node_modules/tough-cookie": { "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "psl": "^1.1.33", "punycode": "^2.1.1", @@ -19802,16 +21296,18 @@ }, "node_modules/tough-cookie/node_modules/universalify": { "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 4.0.0" } }, "node_modules/tr46": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", "dev": true, - "license": "MIT", "dependencies": { "punycode": "^2.1.1" }, @@ -19821,32 +21317,40 @@ }, "node_modules/traverse": { "version": "0.3.9", - "license": "MIT/X11" + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz", + "integrity": "sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ==", + "engines": { + "node": "*" + } }, "node_modules/treeify": { "version": "1.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/treeify/-/treeify-1.1.0.tgz", + "integrity": "sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A==", "engines": { "node": ">=0.6" } }, "node_modules/triple-beam": { "version": "1.4.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.4.1.tgz", + "integrity": "sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==", "engines": { "node": ">= 14.0.0" } }, "node_modules/truncate-utf8-bytes": { "version": "1.0.2", - "license": "WTFPL", + "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", + "integrity": "sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==", "dependencies": { "utf8-byte-length": "^1.0.1" } }, "node_modules/ts-node": { "version": "10.9.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", "dependencies": { "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", @@ -19886,8 +21390,9 @@ } }, "node_modules/ts-node/node_modules/acorn-walk": { - "version": "8.3.3", - "license": "MIT", + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", + "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", "dependencies": { "acorn": "^8.11.0" }, @@ -19897,8 +21402,9 @@ }, "node_modules/tsconfig-paths": { "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "@types/json5": "^0.0.29", @@ -19909,8 +21415,9 @@ }, "node_modules/tsconfig-paths/node_modules/json5": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "minimist": "^1.2.0" @@ -19921,25 +21428,29 @@ }, "node_modules/tsconfig-paths/node_modules/strip-bom": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true, - "license": "MIT", "peer": true, "engines": { "node": ">=4" } }, "node_modules/tslib": { - "version": "2.6.3", - "license": "0BSD" + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" }, "node_modules/tsort": { "version": "0.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/tsort/-/tsort-0.0.1.tgz", + "integrity": "sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==" }, "node_modules/tunnel-agent": { "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", "dev": true, - "license": "Apache-2.0", "dependencies": { "safe-buffer": "^5.0.1" }, @@ -19949,19 +21460,23 @@ }, "node_modules/tweetnacl": { "version": "1.0.3", - "license": "Unlicense" + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", + "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" }, "node_modules/tweetnacl-util": { "version": "0.15.1", - "license": "Unlicense" + "resolved": "https://registry.npmjs.org/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz", + "integrity": "sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==" }, "node_modules/type": { "version": "2.7.3", - "license": "ISC" + "resolved": "https://registry.npmjs.org/type/-/type-2.7.3.tgz", + "integrity": "sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==" }, "node_modules/type-check": { "version": "0.4.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dependencies": { "prelude-ls": "^1.2.1" }, @@ -19970,16 +21485,18 @@ } }, "node_modules/type-detect": { - "version": "4.0.8", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz", + "integrity": "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/type-fest": { "version": "0.20.2", - "license": "(MIT OR CC0-1.0)", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "engines": { "node": ">=10" }, @@ -19989,7 +21506,8 @@ }, "node_modules/type-is": { "version": "1.6.18", - "license": "MIT", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dependencies": { "media-typer": "0.3.0", "mime-types": "~2.1.24" @@ -20000,8 +21518,9 @@ }, "node_modules/typed-array-buffer": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.7", @@ -20014,8 +21533,9 @@ }, "node_modules/typed-array-byte-length": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.7", @@ -20032,9 +21552,10 @@ } }, "node_modules/typed-array-byte-offset": { - "version": "1.0.2", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.3.tgz", + "integrity": "sha512-GsvTyUHTriq6o/bHcTd0vM7OQ9JEdlvluu9YISaA7+KzDzPaIzEeDFNkTfhdE3MYcNhNi0vq/LlegYgIs5yPAw==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "available-typed-arrays": "^1.0.7", @@ -20042,7 +21563,8 @@ "for-each": "^0.3.3", "gopd": "^1.0.1", "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13" + "is-typed-array": "^1.1.13", + "reflect.getprototypeof": "^1.0.6" }, "engines": { "node": ">= 0.4" @@ -20052,17 +21574,18 @@ } }, "node_modules/typed-array-length": { - "version": "1.0.6", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.7", "for-each": "^0.3.3", "gopd": "^1.0.1", - "has-proto": "^1.0.3", "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0" + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" }, "engines": { "node": ">= 0.4" @@ -20073,32 +21596,36 @@ }, "node_modules/typed-function": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/typed-function/-/typed-function-2.1.0.tgz", + "integrity": "sha512-bctQIOqx2iVbWGDGPWwIm18QScpu2XRmkC19D8rQGFsjKSgteq/o1hTZvIG/wuDq8fanpBDrLkLq+aEN/6y5XQ==", "engines": { "node": ">= 10" } }, "node_modules/typedarray-to-buffer": { "version": "3.1.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", "dependencies": { "is-typedarray": "^1.0.0" } }, "node_modules/typescript": { - "version": "5.4.5", - "license": "Apache-2.0", - "peer": true, + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" }, "engines": { - "node": ">=14.17" + "node": ">=4.2.0" } }, "node_modules/uint8arrays": { "version": "3.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.1.tgz", + "integrity": "sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==", "dependencies": { "multiformats": "^9.4.2" } @@ -20110,8 +21637,9 @@ "dev": true }, "node_modules/umzug": { - "version": "3.8.1", - "license": "MIT", + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/umzug/-/umzug-3.8.2.tgz", + "integrity": "sha512-BEWEF8OJjTYVC56GjELeHl/1XjFejrD7aHzn+HldRJTx+pL1siBrKHZC8n4K/xL3bEzVA9o++qD1tK2CpZu4KA==", "dependencies": { "@rushstack/ts-command-line": "^4.12.2", "emittery": "^0.13.0", @@ -20124,8 +21652,9 @@ } }, "node_modules/umzug/node_modules/type-fest": { - "version": "4.20.0", - "license": "(MIT OR CC0-1.0)", + "version": "4.29.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.29.0.tgz", + "integrity": "sha512-RPYt6dKyemXJe7I6oNstcH24myUGSReicxcHTvCLgzm4e0n8y05dGvcGB15/SoPRBmhlMthWQ9pvKyL81ko8nQ==", "engines": { "node": ">=16" }, @@ -20135,8 +21664,9 @@ }, "node_modules/unbox-primitive": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "call-bind": "^1.0.2", @@ -20150,7 +21680,8 @@ }, "node_modules/undici": { "version": "5.28.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz", + "integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==", "dependencies": { "@fastify/busboy": "^2.0.0" }, @@ -20159,30 +21690,35 @@ } }, "node_modules/undici-types": { - "version": "5.26.5", - "license": "MIT" + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", + "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==" }, "node_modules/universalify": { "version": "2.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", "engines": { "node": ">= 10.0.0" } }, "node_modules/unordered-array-remove": { "version": "1.0.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/unordered-array-remove/-/unordered-array-remove-1.0.2.tgz", + "integrity": "sha512-45YsfD6svkgaCBNyvD+dFHm4qFX9g3wRSIVgWVPtm2OCnphvPxzJoe20ATsiNpNJrmzHifnxm+BN5F7gFT/4gw==" }, "node_modules/unpipe": { "version": "1.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", "engines": { "node": ">= 0.8" } }, "node_modules/unzipper": { "version": "0.10.14", - "license": "MIT", + "resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.10.14.tgz", + "integrity": "sha512-ti4wZj+0bQTiX2KmKWuwj7lhV+2n//uXEotUmGuQqrbVZSEGFMbI68+c6JCQ8aAmUWYvtHEz2A8K6wXvueR/6g==", "dependencies": { "big-integer": "^1.6.17", "binary": "~0.3.0", @@ -20198,11 +21734,13 @@ }, "node_modules/unzipper/node_modules/isarray": { "version": "1.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, "node_modules/unzipper/node_modules/readable-stream": { "version": "2.3.8", - "license": "MIT", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -20215,17 +21753,21 @@ }, "node_modules/unzipper/node_modules/safe-buffer": { "version": "5.1.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "node_modules/unzipper/node_modules/string_decoder": { "version": "1.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dependencies": { "safe-buffer": "~5.1.0" } }, "node_modules/update-browserslist-db": { - "version": "1.0.16", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", + "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", "dev": true, "funding": [ { @@ -20241,10 +21783,9 @@ "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "dependencies": { - "escalade": "^3.1.2", - "picocolors": "^1.0.1" + "escalade": "^3.2.0", + "picocolors": "^1.1.0" }, "bin": { "update-browserslist-db": "cli.js" @@ -20255,26 +21796,31 @@ }, "node_modules/upper-case-first": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-2.0.2.tgz", + "integrity": "sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==", "dev": true, - "license": "MIT", "dependencies": { "tslib": "^2.0.3" } }, "node_modules/uri-js": { "version": "4.4.1", - "license": "BSD-2-Clause", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dependencies": { "punycode": "^2.1.0" } }, "node_modules/uritemplate": { - "version": "0.3.4" + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/uritemplate/-/uritemplate-0.3.4.tgz", + "integrity": "sha512-enADBvHfhjrwxFMTVWeIIYz51SZ91uC6o2MR/NQTVljJB6HTZ8eQL3Q7JBj3RxNISA14MOwJaU3vpf5R6dyxHA==" }, "node_modules/url-parse": { "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", "dev": true, - "license": "MIT", "dependencies": { "querystringify": "^2.1.1", "requires-port": "^1.0.0" @@ -20288,8 +21834,9 @@ }, "node_modules/ursa-optional": { "version": "0.10.2", + "resolved": "https://registry.npmjs.org/ursa-optional/-/ursa-optional-0.10.2.tgz", + "integrity": "sha512-TKdwuLboBn7M34RcvVTuQyhvrA8gYKapuVdm0nBP0mnBc7oECOfUQZrY91cefL3/nm64ZyrejSRrhTVdX7NG/A==", "hasInstallScript": true, - "license": "Apache-2.0", "dependencies": { "bindings": "^1.5.0", "nan": "^2.14.2" @@ -20300,8 +21847,9 @@ }, "node_modules/utf-8-validate": { "version": "5.0.10", + "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz", + "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==", "hasInstallScript": true, - "license": "MIT", "dependencies": { "node-gyp-build": "^4.3.0" }, @@ -20311,11 +21859,13 @@ }, "node_modules/utf8": { "version": "3.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", + "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==" }, "node_modules/utf8-byte-length": { "version": "1.0.5", - "license": "(WTFPL OR MIT)" + "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.5.tgz", + "integrity": "sha512-Xn0w3MtiQ6zoz2vFyUVruaCL53O/DwUvkEeOvj+uulMm0BkUGYWmBYVyElqZaSLhY6ZD0ulfU3aBra2aVT4xfA==" }, "node_modules/util": { "version": "0.12.5", @@ -20332,57 +21882,67 @@ }, "node_modules/util-arity": { "version": "1.1.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/util-arity/-/util-arity-1.1.0.tgz", + "integrity": "sha512-kkyIsXKwemfSy8ZEoaIz06ApApnWsk5hQO0vLjZS6UkBiGiW++Jsyb8vSBoc0WKlffGoGs5yYy/j5pp8zckrFA==", + "dev": true }, "node_modules/util-deprecate": { "version": "1.0.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "node_modules/utils-merge": { "version": "1.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", "engines": { "node": ">= 0.4.0" } }, "node_modules/uuid": { "version": "8.3.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "bin": { "uuid": "dist/bin/uuid" } }, "node_modules/v8-compile-cache-lib": { "version": "3.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==" }, "node_modules/validate-iri": { "version": "1.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/validate-iri/-/validate-iri-1.0.1.tgz", + "integrity": "sha512-gLXi7351CoyVVQw8XE5sgpYawRKatxE7kj/xmCxXOZS1kMdtcqC0ILIqLuVEVnAUQSL/evOGG3eQ+8VgbdnstA==" }, "node_modules/validator": { "version": "13.12.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.12.0.tgz", + "integrity": "sha512-c1Q0mCiPlgdTVVVIJIrBuxNicYE+t/7oKeI9MWLj3fh/uq2Pxh/3eeWbVZ4OcGW1TUf53At0njHw5SMdA3tmMg==", "engines": { "node": ">= 0.10" } }, "node_modules/varint": { "version": "6.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", + "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==" }, "node_modules/vary": { "version": "1.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", "engines": { "node": ">= 0.8" } }, "node_modules/verror": { "version": "1.10.1", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.1.tgz", + "integrity": "sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg==", "dev": true, - "license": "MIT", "dependencies": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", @@ -20394,16 +21954,19 @@ }, "node_modules/w3c-hr-time": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", "dev": true, - "license": "MIT", "dependencies": { "browser-process-hrtime": "^1.0.0" } }, "node_modules/w3c-xmlserializer": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", "dev": true, - "license": "MIT", "dependencies": { "xml-name-validator": "^3.0.0" }, @@ -20413,14 +21976,16 @@ }, "node_modules/web-streams-polyfill": { "version": "3.3.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", + "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", "engines": { "node": ">= 8" } }, "node_modules/web-streams-ponyfill": { "version": "1.4.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/web-streams-ponyfill/-/web-streams-ponyfill-1.4.2.tgz", + "integrity": "sha512-LCHW+fE2UBJ2vjhqJujqmoxh1ytEDEr0dPO3CabMdMDJPKmsaxzS90V1Ar6LtNE5VHLqxR4YMEj1i4lzMAccIA==" }, "node_modules/web3-bzz": { "version": "1.10.4", @@ -20443,26 +22008,31 @@ "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", "dev": true }, - "node_modules/web3-core-helpers": { + "node_modules/web3-core": { "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.4.tgz", - "integrity": "sha512-r+L5ylA17JlD1vwS8rjhWr0qg7zVoVMDvWhajWA5r5+USdh91jRUYosp19Kd1m2vE034v7Dfqe1xYRoH2zvG0g==", + "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.10.4.tgz", + "integrity": "sha512-B6elffYm81MYZDTrat7aEhnhdtVE3lDBUZft16Z8awYMZYJDbnykEbJVS+l3mnA7AQTnSDr/1MjWofGDLBJPww==", "dev": true, "dependencies": { - "web3-eth-iban": "1.10.4", + "@types/bn.js": "^5.1.1", + "@types/node": "^12.12.6", + "bignumber.js": "^9.0.0", + "web3-core-helpers": "1.10.4", + "web3-core-method": "1.10.4", + "web3-core-requestmanager": "1.10.4", "web3-utils": "1.10.4" }, "engines": { "node": ">=8.0.0" } }, - "node_modules/web3-core-helpers/node_modules/web3-eth-iban": { + "node_modules/web3-core-helpers": { "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.4.tgz", - "integrity": "sha512-0gE5iNmOkmtBmbKH2aTodeompnNE8jEyvwFJ6s/AF6jkw9ky9Op9cqfzS56AYAbrqEFuClsqB/AoRves7LDELw==", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.4.tgz", + "integrity": "sha512-r+L5ylA17JlD1vwS8rjhWr0qg7zVoVMDvWhajWA5r5+USdh91jRUYosp19Kd1m2vE034v7Dfqe1xYRoH2zvG0g==", "dev": true, "dependencies": { - "bn.js": "^5.2.1", + "web3-eth-iban": "1.10.4", "web3-utils": "1.10.4" }, "engines": { @@ -20519,13 +22089,59 @@ "node": ">=8.0.0" } }, - "node_modules/web3-core-requestmanager/node_modules/eventemitter3": { + "node_modules/web3-core-subscriptions": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.10.4.tgz", + "integrity": "sha512-o0lSQo/N/f7/L76C0HV63+S54loXiE9fUPfHFcTtpJRQNDBVsSDdWRdePbWwR206XlsBqD5VHApck1//jEafTw==", + "dev": true, + "dependencies": { + "eventemitter3": "4.0.4", + "web3-core-helpers": "1.10.4" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-core-subscriptions/node_modules/eventemitter3": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", "dev": true }, - "node_modules/web3-core-requestmanager/node_modules/web3-providers-http": { + "node_modules/web3-core/node_modules/@types/node": { + "version": "12.20.55", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", + "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", + "dev": true + }, + "node_modules/web3-eth-iban": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.4.tgz", + "integrity": "sha512-0gE5iNmOkmtBmbKH2aTodeompnNE8jEyvwFJ6s/AF6jkw9ky9Op9cqfzS56AYAbrqEFuClsqB/AoRves7LDELw==", + "dev": true, + "dependencies": { + "bn.js": "^5.2.1", + "web3-utils": "1.10.4" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-net": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.10.4.tgz", + "integrity": "sha512-mKINnhOOnZ4koA+yV2OT5s5ztVjIx7IY9a03w6s+yao/BUn+Luuty0/keNemZxTr1E8Ehvtn28vbOtW7Ids+Ow==", + "dev": true, + "dependencies": { + "web3-core": "1.10.4", + "web3-core-method": "1.10.4", + "web3-utils": "1.10.4" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-providers-http": { "version": "1.10.4", "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.10.4.tgz", "integrity": "sha512-m2P5Idc8hdiO0l60O6DSCPw0kw64Zgi0pMjbEFRmxKIck2Py57RQMu4bxvkxJwkF06SlGaEQF8rFZBmuX7aagQ==", @@ -20540,7 +22156,7 @@ "node": ">=8.0.0" } }, - "node_modules/web3-core-requestmanager/node_modules/web3-providers-ipc": { + "node_modules/web3-providers-ipc": { "version": "1.10.4", "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.10.4.tgz", "integrity": "sha512-YRF/bpQk9z3WwjT+A6FI/GmWRCASgd+gC0si7f9zbBWLXjwzYAKG73bQBaFRAHex1hl4CVcM5WUMaQXf3Opeuw==", @@ -20553,7 +22169,7 @@ "node": ">=8.0.0" } }, - "node_modules/web3-core-requestmanager/node_modules/web3-providers-ws": { + "node_modules/web3-providers-ws": { "version": "1.10.4", "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.10.4.tgz", "integrity": "sha512-j3FBMifyuFFmUIPVQR4pj+t5ILhAexAui0opgcpu9R5LxQrLRUZxHSnU+YO25UycSOa/NAX8A+qkqZNpcFAlxA==", @@ -20567,20 +22183,7 @@ "node": ">=8.0.0" } }, - "node_modules/web3-core-subscriptions": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.10.4.tgz", - "integrity": "sha512-o0lSQo/N/f7/L76C0HV63+S54loXiE9fUPfHFcTtpJRQNDBVsSDdWRdePbWwR206XlsBqD5VHApck1//jEafTw==", - "dev": true, - "dependencies": { - "eventemitter3": "4.0.4", - "web3-core-helpers": "1.10.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-core-subscriptions/node_modules/eventemitter3": { + "node_modules/web3-providers-ws/node_modules/eventemitter3": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", @@ -20602,47 +22205,10 @@ "node": ">=8.0.0" } }, - "node_modules/web3-shh/node_modules/@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", - "dev": true - }, - "node_modules/web3-shh/node_modules/web3-core": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.10.4.tgz", - "integrity": "sha512-B6elffYm81MYZDTrat7aEhnhdtVE3lDBUZft16Z8awYMZYJDbnykEbJVS+l3mnA7AQTnSDr/1MjWofGDLBJPww==", - "dev": true, - "dependencies": { - "@types/bn.js": "^5.1.1", - "@types/node": "^12.12.6", - "bignumber.js": "^9.0.0", - "web3-core-helpers": "1.10.4", - "web3-core-method": "1.10.4", - "web3-core-requestmanager": "1.10.4", - "web3-utils": "1.10.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-shh/node_modules/web3-net": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.10.4.tgz", - "integrity": "sha512-mKINnhOOnZ4koA+yV2OT5s5ztVjIx7IY9a03w6s+yao/BUn+Luuty0/keNemZxTr1E8Ehvtn28vbOtW7Ids+Ow==", - "dev": true, - "dependencies": { - "web3-core": "1.10.4", - "web3-core-method": "1.10.4", - "web3-utils": "1.10.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/web3-utils": { "version": "1.10.4", - "license": "LGPL-3.0", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.4.tgz", + "integrity": "sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A==", "dependencies": { "@ethereumjs/util": "^8.1.0", "bn.js": "^5.2.1", @@ -20659,7 +22225,8 @@ }, "node_modules/web3-utils/node_modules/@noble/hashes": { "version": "1.4.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", + "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", "engines": { "node": ">= 16" }, @@ -20668,15 +22235,17 @@ } }, "node_modules/web3-utils/node_modules/@scure/base": { - "version": "1.1.6", - "license": "MIT", + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.9.tgz", + "integrity": "sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg==", "funding": { "url": "https://paulmillr.com/funding/" } }, "node_modules/web3-utils/node_modules/@scure/bip32": { "version": "1.4.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.4.0.tgz", + "integrity": "sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==", "dependencies": { "@noble/curves": "~1.4.0", "@noble/hashes": "~1.4.0", @@ -20688,7 +22257,8 @@ }, "node_modules/web3-utils/node_modules/@scure/bip39": { "version": "1.3.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.3.0.tgz", + "integrity": "sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==", "dependencies": { "@noble/hashes": "~1.4.0", "@scure/base": "~1.1.6" @@ -20698,10 +22268,11 @@ } }, "node_modules/web3-utils/node_modules/ethereum-cryptography": { - "version": "2.2.0", - "license": "MIT", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.2.1.tgz", + "integrity": "sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==", "dependencies": { - "@noble/curves": "1.4.0", + "@noble/curves": "1.4.2", "@noble/hashes": "1.4.0", "@scure/bip32": "1.4.0", "@scure/bip39": "1.3.0" @@ -20709,15 +22280,17 @@ }, "node_modules/webidl-conversions": { "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", "dev": true, - "license": "BSD-2-Clause", "engines": { "node": ">=10.4" } }, "node_modules/websocket": { "version": "1.0.35", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.35.tgz", + "integrity": "sha512-/REy6amwPZl44DDzvRCkaI1q1bIiQB0mEFQLUrhz3z2EK91cp3n72rAjUlrTP0zV22HJIUOVHQGPxhFRjxjt+Q==", "dependencies": { "bufferutil": "^4.0.1", "debug": "^2.2.0", @@ -20732,27 +22305,31 @@ }, "node_modules/websocket/node_modules/debug": { "version": "2.6.9", - "license": "MIT", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dependencies": { "ms": "2.0.0" } }, "node_modules/websocket/node_modules/ms": { "version": "2.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, "node_modules/whatwg-encoding": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", "dev": true, - "license": "MIT", "dependencies": { "iconv-lite": "0.4.24" } }, "node_modules/whatwg-encoding/node_modules/iconv-lite": { "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, - "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -20762,13 +22339,15 @@ }, "node_modules/whatwg-mimetype": { "version": "2.3.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true }, "node_modules/whatwg-url": { "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", "dev": true, - "license": "MIT", "dependencies": { "lodash": "^4.7.0", "tr46": "^2.1.0", @@ -20780,7 +22359,8 @@ }, "node_modules/wherearewe": { "version": "1.0.2", - "license": "Apache-2.0 OR MIT", + "resolved": "https://registry.npmjs.org/wherearewe/-/wherearewe-1.0.2.tgz", + "integrity": "sha512-HyLZ7n1Yox+w1qWaFEgP/sMs5D7ka2UXmoVNaY0XzbEHLGljo4ScBchYm6cWRYNO33tmFX3Mgg4BiZkDOjihyw==", "dependencies": { "is-electron": "^2.2.0" }, @@ -20791,7 +22371,8 @@ }, "node_modules/which": { "version": "2.0.2", - "license": "ISC", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dependencies": { "isexe": "^2.0.0" }, @@ -20804,8 +22385,9 @@ }, "node_modules/which-boxed-primitive": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "is-bigint": "^1.0.1", @@ -20819,23 +22401,25 @@ } }, "node_modules/which-builtin-type": { - "version": "1.1.3", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.0.tgz", + "integrity": "sha512-I+qLGQ/vucCby4tf5HsLmGueEla4ZhwTBSqaooS+Y0BuxN4Cp+okmGuV+8mXZ84KDI9BA+oklo+RzKg0ONdSUA==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { - "function.prototype.name": "^1.1.5", - "has-tostringtag": "^1.0.0", + "call-bind": "^1.0.7", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", "is-async-function": "^2.0.0", "is-date-object": "^1.0.5", - "is-finalizationregistry": "^1.0.2", + "is-finalizationregistry": "^1.1.0", "is-generator-function": "^1.0.10", "is-regex": "^1.1.4", "is-weakref": "^1.0.2", "isarray": "^2.0.5", "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.9" + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.15" }, "engines": { "node": ">= 0.4" @@ -20846,8 +22430,9 @@ }, "node_modules/which-collection": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", "dev": true, - "license": "MIT", "peer": true, "dependencies": { "is-map": "^2.0.3", @@ -20864,13 +22449,15 @@ }, "node_modules/which-module": { "version": "2.0.1", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", + "dev": true }, "node_modules/which-typed-array": { - "version": "1.1.15", + "version": "1.1.16", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.16.tgz", + "integrity": "sha512-g+N+GAWiRj66DngFwHvISJd+ITsyphZvD1vChfVg6cEdnzy53GzB3oy0fUNlvhz7H7+MiqhYr26qxQShCpKTTQ==", "dev": true, - "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.7", @@ -20887,7 +22474,8 @@ }, "node_modules/widest-line": { "version": "3.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", "dependencies": { "string-width": "^4.0.0" }, @@ -20896,31 +22484,33 @@ } }, "node_modules/winston": { - "version": "3.13.0", - "license": "MIT", + "version": "3.17.0", + "resolved": "https://registry.npmjs.org/winston/-/winston-3.17.0.tgz", + "integrity": "sha512-DLiFIXYC5fMPxaRg832S6F5mJYvePtmO5G9v9IgUFPhXm9/GkXarH/TUrBAVzhTCzAj9anE/+GjrgXp/54nOgw==", "dependencies": { "@colors/colors": "^1.6.0", "@dabh/diagnostics": "^2.0.2", "async": "^3.2.3", "is-stream": "^2.0.0", - "logform": "^2.4.0", + "logform": "^2.7.0", "one-time": "^1.0.0", "readable-stream": "^3.4.0", "safe-stable-stringify": "^2.3.1", "stack-trace": "0.0.x", "triple-beam": "^1.3.0", - "winston-transport": "^4.7.0" + "winston-transport": "^4.9.0" }, "engines": { "node": ">= 12.0.0" } }, "node_modules/winston-transport": { - "version": "4.7.0", - "license": "MIT", + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.9.0.tgz", + "integrity": "sha512-8drMJ4rkgaPo1Me4zD/3WLfI/zPdA9o2IipKODunnGDcuqbHwjsbB79ylv04LCGGzU0xQ6vTznOMpQGaLhhm6A==", "dependencies": { - "logform": "^2.3.2", - "readable-stream": "^3.6.0", + "logform": "^2.7.0", + "readable-stream": "^3.6.2", "triple-beam": "^1.3.0" }, "engines": { @@ -20929,7 +22519,8 @@ }, "node_modules/winston-transport/node_modules/readable-stream": { "version": "3.6.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -20941,14 +22532,16 @@ }, "node_modules/winston/node_modules/@colors/colors": { "version": "1.6.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz", + "integrity": "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==", "engines": { "node": ">=0.1.90" } }, "node_modules/winston/node_modules/readable-stream": { "version": "3.6.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -20960,25 +22553,29 @@ }, "node_modules/wkx": { "version": "0.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/wkx/-/wkx-0.5.0.tgz", + "integrity": "sha512-Xng/d4Ichh8uN4l0FToV/258EjMGU9MGcA0HV2d9B/ZpZB3lqQm7nkOdZdm5GhKtLLhAE7PiVQwN4eN+2YJJUg==", "dependencies": { "@types/node": "*" } }, "node_modules/word-wrap": { "version": "1.2.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "engines": { "node": ">=0.10.0" } }, "node_modules/workerpool": { - "version": "6.2.1", - "license": "Apache-2.0" + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz", + "integrity": "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==" }, "node_modules/wrap-ansi": { "version": "7.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -20993,12 +22590,14 @@ }, "node_modules/wrappy": { "version": "1.0.2", - "license": "ISC" + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, "node_modules/write-file-atomic": { "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", "dev": true, - "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4", "is-typedarray": "^1.0.0", @@ -21096,12 +22695,14 @@ }, "node_modules/xml-name-validator": { "version": "3.0.0", - "dev": true, - "license": "Apache-2.0" + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true }, "node_modules/xml2js": { "version": "0.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", + "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", "dependencies": { "sax": ">=0.6.0", "xmlbuilder": "~11.0.0" @@ -21112,26 +22713,30 @@ }, "node_modules/xml2js/node_modules/xmlbuilder": { "version": "11.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", "engines": { "node": ">=4.0" } }, "node_modules/xmlbuilder": { "version": "15.1.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz", + "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==", "dev": true, - "license": "MIT", "engines": { "node": ">=8.0" } }, "node_modules/xmlchars": { "version": "2.2.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" }, "node_modules/xsalsa20": { "version": "1.2.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/xsalsa20/-/xsalsa20-1.2.0.tgz", + "integrity": "sha512-FIr/DEeoHfj7ftfylnoFt3rAIRoWXpx2AoDfrT2qD2wtp7Dp+COajvs/Icb7uHqRW9m60f5iXZwdsJJO3kvb7w==" }, "node_modules/xtend": { "version": "4.0.2", @@ -21144,34 +22749,39 @@ }, "node_modules/y18n": { "version": "5.0.8", - "license": "ISC", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "engines": { "node": ">=10" } }, "node_modules/yaeti": { "version": "0.0.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", + "integrity": "sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug==", "engines": { "node": ">=0.10.32" } }, "node_modules/yallist": { "version": "3.1.1", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true }, "node_modules/yaml": { "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", "dev": true, - "license": "ISC", "engines": { "node": ">= 6" } }, "node_modules/yargs": { "version": "17.7.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", @@ -21186,15 +22796,17 @@ } }, "node_modules/yargs-parser": { - "version": "20.2.4", - "license": "ISC", + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "engines": { "node": ">=10" } }, "node_modules/yargs-unparser": { "version": "2.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", "dependencies": { "camelcase": "^6.0.0", "decamelize": "^4.0.0", @@ -21207,7 +22819,8 @@ }, "node_modules/yargs-unparser/node_modules/decamelize": { "version": "4.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", "engines": { "node": ">=10" }, @@ -21217,21 +22830,24 @@ }, "node_modules/yargs/node_modules/yargs-parser": { "version": "21.1.1", - "license": "ISC", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "engines": { "node": ">=12" } }, "node_modules/yn": { "version": "3.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", "engines": { "node": ">=6" } }, "node_modules/yocto-queue": { "version": "0.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "engines": { "node": ">=10" }, @@ -21241,8 +22857,9 @@ }, "node_modules/yup": { "version": "0.32.11", + "resolved": "https://registry.npmjs.org/yup/-/yup-0.32.11.tgz", + "integrity": "sha512-Z2Fe1bn+eLstG8DRR6FTavGD+MeAwyfmouhHsIUgaADz8jvFKbO/fXc2trJKZg+5EBjh4gGm3iU/t3onKlXHIg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/runtime": "^7.15.4", "@types/lodash": "^4.14.175", @@ -21258,7 +22875,9 @@ }, "node_modules/zksync-web3": { "version": "0.14.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/zksync-web3/-/zksync-web3-0.14.4.tgz", + "integrity": "sha512-kYehMD/S6Uhe1g434UnaMN+sBr9nQm23Ywn0EUP5BfQCsbjcr3ORuS68PosZw8xUTu3pac7G6YMSnNHk+fwzvg==", + "deprecated": "This package has been deprecated in favor of zksync-ethers@5.0.0", "peerDependencies": { "ethers": "^5.7.0" } @@ -21267,10 +22886,14 @@ "dependencies": { "@adraffy/ens-normalize": { "version": "1.10.1", + "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz", + "integrity": "sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==", "dev": true }, "@ampproject/remapping": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "dev": true, "requires": { "@jridgewell/gen-mapping": "^0.3.5", @@ -21278,31 +22901,38 @@ } }, "@babel/code-frame": { - "version": "7.24.7", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", "dev": true, "requires": { - "@babel/highlight": "^7.24.7", + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", "picocolors": "^1.0.0" } }, "@babel/compat-data": { - "version": "7.24.7", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.2.tgz", + "integrity": "sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==", "dev": true }, "@babel/core": { - "version": "7.24.7", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.0.tgz", + "integrity": "sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==", "dev": true, "requires": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.24.7", - "@babel/helper-compilation-targets": "^7.24.7", - "@babel/helper-module-transforms": "^7.24.7", - "@babel/helpers": "^7.24.7", - "@babel/parser": "^7.24.7", - "@babel/template": "^7.24.7", - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7", + "@babel/code-frame": "^7.26.0", + "@babel/generator": "^7.26.0", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helpers": "^7.26.0", + "@babel/parser": "^7.26.0", + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.26.0", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -21312,37 +22942,48 @@ "dependencies": { "convert-source-map": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "dev": true }, "semver": { "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true } } }, "@babel/generator": { - "version": "7.24.7", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.2.tgz", + "integrity": "sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==", "dev": true, "requires": { - "@babel/types": "^7.24.7", + "@babel/parser": "^7.26.2", + "@babel/types": "^7.26.0", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^2.5.1" + "jsesc": "^3.0.2" } }, "@babel/helper-compilation-targets": { - "version": "7.24.7", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz", + "integrity": "sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==", "dev": true, "requires": { - "@babel/compat-data": "^7.24.7", - "@babel/helper-validator-option": "^7.24.7", - "browserslist": "^4.22.2", + "@babel/compat-data": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, "dependencies": { "lru-cache": { "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, "requires": { "yallist": "^3.0.2" @@ -21350,203 +22991,141 @@ }, "semver": { "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true } } }, - "@babel/helper-environment-visitor": { - "version": "7.24.7", - "dev": true, - "requires": { - "@babel/types": "^7.24.7" - } - }, - "@babel/helper-function-name": { - "version": "7.24.7", - "dev": true, - "requires": { - "@babel/template": "^7.24.7", - "@babel/types": "^7.24.7" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.24.7", - "dev": true, - "requires": { - "@babel/types": "^7.24.7" - } - }, "@babel/helper-module-imports": { - "version": "7.24.7", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", "dev": true, "requires": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" } }, "@babel/helper-module-transforms": { - "version": "7.24.7", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", + "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", "dev": true, "requires": { - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-module-imports": "^7.24.7", - "@babel/helper-simple-access": "^7.24.7", - "@babel/helper-split-export-declaration": "^7.24.7", - "@babel/helper-validator-identifier": "^7.24.7" - } - }, - "@babel/helper-simple-access": { - "version": "7.24.7", - "dev": true, - "requires": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.24.7", - "dev": true, - "requires": { - "@babel/types": "^7.24.7" + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" } }, "@babel/helper-string-parser": { - "version": "7.24.7", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", "dev": true }, "@babel/helper-validator-identifier": { - "version": "7.24.7", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", "dev": true }, "@babel/helper-validator-option": { - "version": "7.24.7", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", "dev": true }, "@babel/helpers": { - "version": "7.24.7", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.0.tgz", + "integrity": "sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==", "dev": true, "requires": { - "@babel/template": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/template": "^7.25.9", + "@babel/types": "^7.26.0" } }, - "@babel/highlight": { - "version": "7.24.7", + "@babel/parser": { + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.2.tgz", + "integrity": "sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.24.7", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "@babel/types": "^7.26.0" } }, - "@babel/parser": { - "version": "7.24.7", - "dev": true - }, "@babel/runtime": { - "version": "7.24.7", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.0.tgz", + "integrity": "sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==", "requires": { "regenerator-runtime": "^0.14.0" } }, "@babel/template": { - "version": "7.24.7", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz", + "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", "dev": true, "requires": { - "@babel/code-frame": "^7.24.7", - "@babel/parser": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/code-frame": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/types": "^7.25.9" } }, "@babel/traverse": { - "version": "7.24.7", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.9.tgz", + "integrity": "sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==", "dev": true, "requires": { - "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.24.7", - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-function-name": "^7.24.7", - "@babel/helper-hoist-variables": "^7.24.7", - "@babel/helper-split-export-declaration": "^7.24.7", - "@babel/parser": "^7.24.7", - "@babel/types": "^7.24.7", + "@babel/code-frame": "^7.25.9", + "@babel/generator": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/template": "^7.25.9", + "@babel/types": "^7.25.9", "debug": "^4.3.1", "globals": "^11.1.0" }, "dependencies": { "globals": { "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true } } }, "@babel/types": { - "version": "7.24.7", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.0.tgz", + "integrity": "sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==", "dev": true, "requires": { - "@babel/helper-string-parser": "^7.24.7", - "@babel/helper-validator-identifier": "^7.24.7", - "to-fast-properties": "^2.0.0" + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" } }, "@bergos/jsonparse": { - "version": "1.4.1", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@bergos/jsonparse/-/jsonparse-1.4.2.tgz", + "integrity": "sha512-qUt0QNJjvg4s1zk+AuLM6s/zcsQ8MvGn7+1f0vPuxvpCYa08YtTryuDInngbEyW5fNGGYe2znKt61RMGd5HnXg==", "requires": { "buffer": "^6.0.3" } }, "@colors/colors": { "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", "dev": true, "optional": true }, "@comunica/actor-abstract-mediatyped": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-mediatyped/-/actor-abstract-mediatyped-2.10.0.tgz", + "integrity": "sha512-0o6WBujsMnIVcwvRJv6Nj+kKPLZzqBS3On48rm01Rh9T1/My0E/buJMXwgcARKCfMonc2mJ9zxpPCh5ilGEU2A==", "requires": { "@comunica/core": "^2.10.0", "@comunica/types": "^2.10.0" @@ -21554,6 +23133,8 @@ }, "@comunica/actor-abstract-parse": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-parse/-/actor-abstract-parse-2.10.0.tgz", + "integrity": "sha512-0puCWF+y24EDOOAUUVVbC+tOf4UV+LzEbqi8T5v25jcVGCXyTqfra+bDywfrcv3adrVp18jLCJ46ycaH5xhy9Q==", "requires": { "@comunica/core": "^2.10.0", "readable-stream": "^4.4.2" @@ -21561,6 +23142,8 @@ }, "@comunica/actor-abstract-path": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-path/-/actor-abstract-path-2.10.1.tgz", + "integrity": "sha512-+k1ltuUuIyn4iUm5oRMObyt2zhu68h7ymzxuKU4ezATlgwfwj6EM7/3W2n2/gxjg9tcFMr5GC6aNnFQmq3Iuig==", "requires": { "@comunica/bindings-factory": "^2.10.1", "@comunica/bus-query-operation": "^2.10.1", @@ -21576,6 +23159,8 @@ }, "@comunica/actor-context-preprocess-source-to-destination": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-context-preprocess-source-to-destination/-/actor-context-preprocess-source-to-destination-2.10.0.tgz", + "integrity": "sha512-sQc42Sd4cuVumZ9+PDnWBTBYneqCFShFliK8Et83GR3wBGzu9x0tS/M2o3e63sBbb6ZkWHyO5jl/O8AbrjhcTg==", "requires": { "@comunica/bus-context-preprocess": "^2.10.0", "@comunica/context-entries": "^2.10.0", @@ -21585,6 +23170,8 @@ }, "@comunica/actor-dereference-fallback": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-dereference-fallback/-/actor-dereference-fallback-2.10.0.tgz", + "integrity": "sha512-RSc/ScPdC7l13aZjz/6r4niWA8WDETbzuESQKKSWXi/HAlFOyOxdrDADdayVY2oyeZHIQibeNRtSi2ItzU7OPQ==", "requires": { "@comunica/bus-dereference": "^2.10.0", "@comunica/core": "^2.10.0" @@ -21592,6 +23179,8 @@ }, "@comunica/actor-dereference-http": { "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-dereference-http/-/actor-dereference-http-2.10.2.tgz", + "integrity": "sha512-gdDo83W1TAgD2jx0kVbzZKzzt++L4Y4fbyTOH3duy6vx1EMGGZlNCp6I1uguepKEjNX4N0zhAcZzdJcv8A3XMA==", "requires": { "@comunica/bus-dereference": "^2.10.0", "@comunica/bus-http": "^2.10.2", @@ -21603,6 +23192,8 @@ }, "@comunica/actor-dereference-rdf-parse": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-dereference-rdf-parse/-/actor-dereference-rdf-parse-2.10.0.tgz", + "integrity": "sha512-ANWL6Bv+2WHUjVRS7hfkOfVBNJs8xYZ9KHlgBOQ94CKtQZB9uSMjdb1hLp/cQjiDmFIWLn0+GM5Xi0KFwBkVAw==", "requires": { "@comunica/bus-dereference": "^2.10.0", "@comunica/bus-dereference-rdf": "^2.10.0", @@ -21611,6 +23202,8 @@ }, "@comunica/actor-hash-bindings-sha1": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-hash-bindings-sha1/-/actor-hash-bindings-sha1-2.10.0.tgz", + "integrity": "sha512-f981PcCiDWbdZfM1ct1v1q/VII14y18lo1enEdHB25SF0hCkzIDwh9IrfDfJDju5I6luSWNE/MYMMeAAmF9e3g==", "requires": { "@comunica/bus-hash-bindings": "^2.10.0", "@comunica/core": "^2.10.0", @@ -21621,6 +23214,8 @@ }, "@comunica/actor-http-fetch": { "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-http-fetch/-/actor-http-fetch-2.10.2.tgz", + "integrity": "sha512-siHGx0TMVNb2gXvOroq0B3JE6uuS+4s+MsDkntqdBNVigwVYqLpNSKEaL5is8pputFfohJfDQY06lAHbfDNEcw==", "requires": { "@comunica/bus-http": "^2.10.2", "@comunica/context-entries": "^2.10.0", @@ -21631,6 +23226,8 @@ }, "@comunica/actor-http-proxy": { "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-http-proxy/-/actor-http-proxy-2.10.2.tgz", + "integrity": "sha512-3yUF8BCh4nwq8J6NRILEsyNrQNStkE9ggJ7hYwRfA1XcMgz1pANNaWJ2P2TEKH1jNinr23bL3JeuUZCm9Kz9dA==", "requires": { "@comunica/bus-http": "^2.10.2", "@comunica/context-entries": "^2.10.0", @@ -21640,6 +23237,8 @@ }, "@comunica/actor-http-wayback": { "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-http-wayback/-/actor-http-wayback-2.10.2.tgz", + "integrity": "sha512-wjYNXRrJvMqt9paO3HawyM+O5/14ofSHFuMAwGr/UyZQ5pCSFkY0YPd+qp9y8C4xvypPgsvT3PtiRyKgjD4FWw==", "requires": { "@comunica/bus-http": "^2.10.2", "@comunica/context-entries": "^2.10.0", @@ -21650,6 +23249,8 @@ }, "@comunica/actor-init-query": { "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-init-query/-/actor-init-query-2.10.2.tgz", + "integrity": "sha512-7A4bXdKCjXRdUThvMOOyg+U17DPeBAsyDYz1SA8F4lPUR06NapcG5TmZF+YWUTN/2EG5fZPUnD3etKuPXreGUw==", "requires": { "@comunica/actor-http-proxy": "^2.10.2", "@comunica/bus-context-preprocess": "^2.10.0", @@ -21678,6 +23279,8 @@ }, "@comunica/actor-optimize-query-operation-bgp-to-join": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-optimize-query-operation-bgp-to-join/-/actor-optimize-query-operation-bgp-to-join-2.10.0.tgz", + "integrity": "sha512-M9vwM4a3VQA/ir8Q7eGRNzzx52u6RJFIXBW8p+Zkn+zv+4fsket3zLYJGhJU7dcvaSXcOi68rDP/r8KfgNXr4Q==", "requires": { "@comunica/bus-optimize-query-operation": "^2.10.0", "@comunica/core": "^2.10.0", @@ -21686,6 +23289,8 @@ }, "@comunica/actor-optimize-query-operation-join-bgp": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-optimize-query-operation-join-bgp/-/actor-optimize-query-operation-join-bgp-2.10.0.tgz", + "integrity": "sha512-tzZojWPbWn/S0DZGjGfV90ZRJVWT/yX3DKGgZ1ur33U5TW8n/fBQxHNMPCLu0GkMQ1dyx6bU+ekILTqm+21Jyw==", "requires": { "@comunica/bus-optimize-query-operation": "^2.10.0", "@comunica/core": "^2.10.0", @@ -21694,6 +23299,8 @@ }, "@comunica/actor-optimize-query-operation-join-connected": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-optimize-query-operation-join-connected/-/actor-optimize-query-operation-join-connected-2.10.0.tgz", + "integrity": "sha512-RsbKIAxX1HyoR/AUzqIV++dTcLiEElRIVDHYTaXVVvGgHECYdh9s+oc8cvv/lDbLVpfnc6P9C9BTAfrqOjKkhA==", "requires": { "@comunica/bus-optimize-query-operation": "^2.10.0", "@comunica/core": "^2.10.0", @@ -21702,6 +23309,8 @@ }, "@comunica/actor-query-operation-ask": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-ask/-/actor-query-operation-ask-2.10.1.tgz", + "integrity": "sha512-7oktqE4fkMhi6Hs9XCcwwoZRsEismVqJZ5wp9lXXOPaxnHEiFyj5gb/B6baCstoCvCt6LcU8fVvfHSitbFCpeQ==", "requires": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/core": "^2.10.0", @@ -21711,6 +23320,8 @@ }, "@comunica/actor-query-operation-bgp-join": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-bgp-join/-/actor-query-operation-bgp-join-2.10.1.tgz", + "integrity": "sha512-eNpnvgFyKlZEHkMzubYL8ndADSsAQH4rwXvh22CGnf0FwyndHr6TEpmE6j77m9vXiSJ/lda0U3Zv4vIXvtREOw==", "requires": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/core": "^2.10.0", @@ -21720,6 +23331,8 @@ }, "@comunica/actor-query-operation-construct": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-construct/-/actor-query-operation-construct-2.10.1.tgz", + "integrity": "sha512-S+Nt1+1psv01QRnfytZjiog2NBNHIbjr7XIv+MO3p6aVmLCoZ6lmjxSGNdbX+EmcGr7tbbafXK5z3zRM+ke8Mw==", "requires": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/core": "^2.10.0", @@ -21733,6 +23346,8 @@ }, "@comunica/actor-query-operation-describe-subject": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-describe-subject/-/actor-query-operation-describe-subject-2.10.1.tgz", + "integrity": "sha512-E8i0M6haJ5iZVeHMn5PbvA4G+l87mcZKqIxVpYAnJVpD667F74Dkx3IMbk+ohRmyRmnkOEmztUrjeyixHHzUEQ==", "requires": { "@comunica/actor-query-operation-union": "^2.10.1", "@comunica/bus-query-operation": "^2.10.1", @@ -21745,6 +23360,8 @@ }, "@comunica/actor-query-operation-distinct-hash": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-distinct-hash/-/actor-query-operation-distinct-hash-2.10.1.tgz", + "integrity": "sha512-exvJbgcJ0Pe4EGbLJD5LuGpvaGcFeckCxwB5pyd9OewNke+tLLP7nbEjB8KFEPpCO9LE7zt4faB1HvpJdEHQKQ==", "requires": { "@comunica/bus-hash-bindings": "^2.10.0", "@comunica/bus-query-operation": "^2.10.1", @@ -21755,6 +23372,8 @@ }, "@comunica/actor-query-operation-extend": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-extend/-/actor-query-operation-extend-2.10.1.tgz", + "integrity": "sha512-wkZxUfDu8T5lXD+OFLItmjjbnEBqtv0z8pxVKgI/gX8mOeu5KcPWLH0dJODTWoIzIYrJhV25FmCgBks1rt6K8w==", "requires": { "@comunica/bindings-factory": "^2.10.1", "@comunica/bus-query-operation": "^2.10.1", @@ -21766,6 +23385,8 @@ }, "@comunica/actor-query-operation-filter-sparqlee": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-filter-sparqlee/-/actor-query-operation-filter-sparqlee-2.10.1.tgz", + "integrity": "sha512-w2PnDNnlf+9B947ZdeSs7NpW9qGJjRiuODZYwhh0e6cx89GPDhEDVuJwawF6VP3m/oLcgXOAdif0Wwo3d8KNAA==", "requires": { "@comunica/bindings-factory": "^2.10.1", "@comunica/bus-query-operation": "^2.10.1", @@ -21777,6 +23398,8 @@ }, "@comunica/actor-query-operation-from-quad": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-from-quad/-/actor-query-operation-from-quad-2.10.1.tgz", + "integrity": "sha512-7D4R8ONNJJPzoRu96dwIToOEk6/3O/T26FRzCqQKrbjFHNkX2v92KA/SiDzNz59VmDNWjYF1rsV31Ade6J89MA==", "requires": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/core": "^2.10.0", @@ -21787,6 +23410,8 @@ }, "@comunica/actor-query-operation-group": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-group/-/actor-query-operation-group-2.10.1.tgz", + "integrity": "sha512-Od5s9Vb6uDPzXa6OAUC1WSMF96spNPJI2Zqf0Ixejw4zCNevOK/VwHivYfF0vHIUZxjRrOl3Al1ZU9L8n5Wxlw==", "requires": { "@comunica/bindings-factory": "^2.10.1", "@comunica/bus-hash-bindings": "^2.10.0", @@ -21802,6 +23427,8 @@ }, "@comunica/actor-query-operation-join": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-join/-/actor-query-operation-join-2.10.1.tgz", + "integrity": "sha512-CGed1nSPvKsM8rvj/4KFME0lLnzlDMMEU+xGczu+BZW4FK+Z6RyBtHIUmy8SgFvNP1GXz83q8KnoecF5z8IpjA==", "requires": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/bus-rdf-join": "^2.10.1", @@ -21812,6 +23439,8 @@ }, "@comunica/actor-query-operation-leftjoin": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-leftjoin/-/actor-query-operation-leftjoin-2.10.1.tgz", + "integrity": "sha512-j0RwdoiV2WsCQnxcSa//m5FZ+ZHDRBm6ObsgpqS44WxzpV8rIB6Dq/3UxGgE7D2vK400JaiiHa3dFiHTwDF18w==", "requires": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/bus-rdf-join": "^2.10.1", @@ -21823,6 +23452,8 @@ }, "@comunica/actor-query-operation-minus": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-minus/-/actor-query-operation-minus-2.10.1.tgz", + "integrity": "sha512-rUvHbc5/EUWMSJUgOEtxabCJ9IT9YThuG0FhcQk+BGRPGmsv2oz8uri5urKgCjfVXMH/09hRZksiDMqrmkQmZw==", "requires": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/bus-rdf-join": "^2.10.1", @@ -21833,6 +23464,8 @@ }, "@comunica/actor-query-operation-nop": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-nop/-/actor-query-operation-nop-2.10.1.tgz", + "integrity": "sha512-l/Z8Uuoq3AlSoxkgYjrP7O7Xc9h8Y3ZOh0f7UKCuAST3U5vPQ3k1YJckrRtdli8s0NHptN9TfZjwviEHuYbDFQ==", "requires": { "@comunica/bindings-factory": "^2.10.1", "@comunica/bus-query-operation": "^2.10.1", @@ -21845,6 +23478,8 @@ }, "@comunica/actor-query-operation-orderby-sparqlee": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-orderby-sparqlee/-/actor-query-operation-orderby-sparqlee-2.10.1.tgz", + "integrity": "sha512-8D2JmCsBtqJC29zfiaAXNzZdsKybhDFo2F8iTHul3nQHxBC2CeKDrBnY70B/HpbWxkDE+pwMfSTEFc/CvNZN6A==", "requires": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/core": "^2.10.0", @@ -21856,6 +23491,8 @@ }, "@comunica/actor-query-operation-path-alt": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-path-alt/-/actor-query-operation-path-alt-2.10.1.tgz", + "integrity": "sha512-y1AHtkibThqHve79wAriXqrZ6hdLBhcdwyOpVqqEhY19a32P97Xv58bOwOkNeLguYdn/5CFlCTHz6dnzxUIoXg==", "requires": { "@comunica/actor-abstract-path": "^2.10.1", "@comunica/actor-query-operation-union": "^2.10.1", @@ -21867,6 +23504,8 @@ }, "@comunica/actor-query-operation-path-inv": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-path-inv/-/actor-query-operation-path-inv-2.10.1.tgz", + "integrity": "sha512-pd30Ug7bOAZ5amfA3I6v+cpitlDn2i5fE1BA006LYJISCAHSfKEgLmU2Q4ZPbwi4s1A8WKKLV7Q389Ru3Xtziw==", "requires": { "@comunica/actor-abstract-path": "^2.10.1", "@comunica/bus-query-operation": "^2.10.1", @@ -21876,6 +23515,8 @@ }, "@comunica/actor-query-operation-path-link": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-path-link/-/actor-query-operation-path-link-2.10.1.tgz", + "integrity": "sha512-akujCHvCLmxaZ3gw9b1odDcqqAQnbbr9E8dTWLZyMJ4Mei8q/FmfWTF5MjGuQOas4UmQ3mm6gcqAKRZnJqlXNg==", "requires": { "@comunica/actor-abstract-path": "^2.10.1", "@comunica/bus-query-operation": "^2.10.1", @@ -21885,6 +23526,8 @@ }, "@comunica/actor-query-operation-path-nps": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-path-nps/-/actor-query-operation-path-nps-2.10.1.tgz", + "integrity": "sha512-5X3EUzn6Cygz94gNn1XWQQUZVp+de59sw8/rxPQqgwzdi1Y1O9zrLv+/7GqMJoLz6MHmDSgsceTIY4eC1qmmOQ==", "requires": { "@comunica/actor-abstract-path": "^2.10.1", "@comunica/bus-query-operation": "^2.10.1", @@ -21894,6 +23537,8 @@ }, "@comunica/actor-query-operation-path-one-or-more": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-path-one-or-more/-/actor-query-operation-path-one-or-more-2.10.1.tgz", + "integrity": "sha512-SkQeKESQqZOlzuMIsipcZ3ni7YfeyYMZCOtxC01HFbeyq+SDVbyfYUZ4Dd9uAi/g3InyzJRfou4csxHS8g7sHw==", "requires": { "@comunica/actor-abstract-path": "^2.10.1", "@comunica/bindings-factory": "^2.10.1", @@ -21905,6 +23550,8 @@ }, "@comunica/actor-query-operation-path-seq": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-path-seq/-/actor-query-operation-path-seq-2.10.1.tgz", + "integrity": "sha512-8TYLdVYaq9oMd9cuLFay78103bOfvygQU/C8NtPdLI9kkRWFsBatvaKmykHOHQAvaLgNhniOlrIJNEpepZGnAQ==", "requires": { "@comunica/actor-abstract-path": "^2.10.1", "@comunica/bus-query-operation": "^2.10.1", @@ -21915,6 +23562,8 @@ }, "@comunica/actor-query-operation-path-zero-or-more": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-path-zero-or-more/-/actor-query-operation-path-zero-or-more-2.10.1.tgz", + "integrity": "sha512-DtqBSw4LV1KI3q1YYAwgXlWrz1PO4EUpe/bVri0UB3JSQnxjBMHuJlHn2crC9Z93tmizneXxfvtWlLSXRrehsw==", "requires": { "@comunica/actor-abstract-path": "^2.10.1", "@comunica/bindings-factory": "^2.10.1", @@ -21927,6 +23576,8 @@ }, "@comunica/actor-query-operation-path-zero-or-one": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-path-zero-or-one/-/actor-query-operation-path-zero-or-one-2.10.1.tgz", + "integrity": "sha512-qePX+7iW5DXDwaYO210y7jhSU32Zk82S5UHuLLvd4q4HS1Z7j8e4KhukbeZKzQmOsO8S5JOHHM9vwvsOc3GPlw==", "requires": { "@comunica/actor-abstract-path": "^2.10.1", "@comunica/bindings-factory": "^2.10.1", @@ -21939,6 +23590,8 @@ }, "@comunica/actor-query-operation-project": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-project/-/actor-query-operation-project-2.10.1.tgz", + "integrity": "sha512-KAaPl4GFIQMWR8I8OoJroktGssPKGbEEJHyGzTuYXrmJrcXgknOxf5IUSVJNpaFfS6dshT6nqW+ciT+wRzz0Tg==", "requires": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/core": "^2.10.0", @@ -21951,6 +23604,8 @@ }, "@comunica/actor-query-operation-quadpattern": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-quadpattern/-/actor-query-operation-quadpattern-2.10.1.tgz", + "integrity": "sha512-RZj1TXW+VDU4aYJVnSzgs8q0340e+YUeGLtoY9sl0Xzc8YNaIus4nXRUz/KfOXDknxm1q+a4Bof4yHNgXtb1Hw==", "requires": { "@comunica/bindings-factory": "^2.10.1", "@comunica/bus-query-operation": "^2.10.1", @@ -21968,6 +23623,8 @@ }, "@comunica/actor-query-operation-reduced-hash": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-reduced-hash/-/actor-query-operation-reduced-hash-2.10.1.tgz", + "integrity": "sha512-9hX25ztkbNxnaUd7Gtilok+9WJkr/s3a3y4axLoYX4/nOogYN+nZRKChvNSn4qn/lWvpG5VWv4+q0en1fP+AGA==", "requires": { "@comunica/bus-hash-bindings": "^2.10.0", "@comunica/bus-query-operation": "^2.10.1", @@ -21979,6 +23636,8 @@ }, "@comunica/actor-query-operation-service": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-service/-/actor-query-operation-service-2.10.1.tgz", + "integrity": "sha512-GvpvhUmhkVFOCLrmcblgIPqi91XPRog5WkC9NFMRCToaSNAMQq82DX2dvwzn3IFItcmyZrmy+GYoaQ9miK2uVQ==", "requires": { "@comunica/bindings-factory": "^2.10.1", "@comunica/bus-query-operation": "^2.10.1", @@ -21992,6 +23651,8 @@ }, "@comunica/actor-query-operation-slice": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-slice/-/actor-query-operation-slice-2.10.1.tgz", + "integrity": "sha512-KOBnTIUvwf28WB7oHevUC/xciEdH5gLg7MN8DvamkAkUiUjviEsRpkswUiD8lFe1dAs0ekA4pC0NoZ8BWp3uqA==", "requires": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/context-entries": "^2.10.0", @@ -22002,6 +23663,8 @@ }, "@comunica/actor-query-operation-sparql-endpoint": { "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-sparql-endpoint/-/actor-query-operation-sparql-endpoint-2.10.2.tgz", + "integrity": "sha512-nbBzVHhYHUu/9qg9ZzTw7rKvsRb3ViBvM+Fye0oMXojZUbyu2WI6eLFUc2Ze1/LYDNf/1KHNpkg6OdsiEi8HFQ==", "requires": { "@comunica/bindings-factory": "^2.10.1", "@comunica/bus-http": "^2.10.2", @@ -22022,6 +23685,8 @@ }, "@comunica/actor-query-operation-union": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-union/-/actor-query-operation-union-2.10.1.tgz", + "integrity": "sha512-Ezi2bAa9r6yyffXDDUPLlKoszsXnuhDUeQSQuU3c7JEAcwip3wC3zMNkavowwfRZ/1D5doitmUEdw2lAd+xloA==", "requires": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/core": "^2.10.0", @@ -22035,6 +23700,8 @@ }, "@comunica/actor-query-operation-update-add-rewrite": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-update-add-rewrite/-/actor-query-operation-update-add-rewrite-2.10.1.tgz", + "integrity": "sha512-is3mrCPciExrlny5JbCvB011kUNYE9/fzQc/zmA3h24S5hHZbygA9mSS+dI85IwwqdKPYlrEqfn8c0kCVWMKyw==", "requires": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/core": "^2.10.0", @@ -22045,6 +23712,8 @@ }, "@comunica/actor-query-operation-update-clear": { "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-update-clear/-/actor-query-operation-update-clear-2.10.2.tgz", + "integrity": "sha512-+sf6+LvXdKBv2pCuBH/ad5QdpheZSPEvw19UoaPQRQyQVBzIskOtfs4rwJHSn/YmoqhbstKZszakad3oxWwTTg==", "requires": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/bus-rdf-update-quads": "^2.10.2", @@ -22057,6 +23726,8 @@ }, "@comunica/actor-query-operation-update-compositeupdate": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-update-compositeupdate/-/actor-query-operation-update-compositeupdate-2.10.1.tgz", + "integrity": "sha512-IVNouBPFQLOczhW3qHyEoyxWrc7wnVT2vPwRHEaGlfnSiYAX42XSNLb9jR0XjB70wh3Civue4Ovs3upOXdrN3Q==", "requires": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/core": "^2.10.0", @@ -22066,6 +23737,8 @@ }, "@comunica/actor-query-operation-update-copy-rewrite": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-update-copy-rewrite/-/actor-query-operation-update-copy-rewrite-2.10.1.tgz", + "integrity": "sha512-l/3AM35hjahyHmiLoB3FPm0Jlhdmd/vqgOGj7V3Ra+TfHo5h8XOB3uzG78Q06HQNw4iyONBZc5lLlYXkzRd5lg==", "requires": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/core": "^2.10.0", @@ -22075,6 +23748,8 @@ }, "@comunica/actor-query-operation-update-create": { "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-update-create/-/actor-query-operation-update-create-2.10.2.tgz", + "integrity": "sha512-g3DwLkYFTU8uZoIOV7oNPWStBmqvnBBPvLngG19MQQezuVoh8w88efxhbN0B/khi5/v4qcLsr7C0ffAaPF8Fbg==", "requires": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/bus-rdf-update-quads": "^2.10.2", @@ -22085,6 +23760,8 @@ }, "@comunica/actor-query-operation-update-deleteinsert": { "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-update-deleteinsert/-/actor-query-operation-update-deleteinsert-2.10.2.tgz", + "integrity": "sha512-FiRCLUAxkDoFpOe9jKC5llI7njbFdb1N8McRvZjBazUS4XDutjTZEkcKLs6AcRyG3esfHt6gNm6PqCuZ+aP8TA==", "requires": { "@comunica/actor-query-operation-construct": "^2.10.1", "@comunica/bindings-factory": "^2.10.1", @@ -22099,6 +23776,8 @@ }, "@comunica/actor-query-operation-update-drop": { "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-update-drop/-/actor-query-operation-update-drop-2.10.2.tgz", + "integrity": "sha512-N/878InwoyQfysjCyo9r+H82eUlNeEGODJ95gCvzF/QGRc11N3dfcd3XijyHQ9OKAoQ9oR5gcS829LB3BDtKHg==", "requires": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/bus-rdf-update-quads": "^2.10.2", @@ -22111,6 +23790,8 @@ }, "@comunica/actor-query-operation-update-load": { "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-update-load/-/actor-query-operation-update-load-2.10.2.tgz", + "integrity": "sha512-lQb5fxb1+ZFbQkylmepze+e+LtVmVNvAvFBvjxUSfCT62uIKKHMeh1So5kTrGD0Co4ABCs1h6o9WB+8yQzFtQw==", "requires": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/bus-rdf-update-quads": "^2.10.2", @@ -22123,6 +23804,8 @@ }, "@comunica/actor-query-operation-update-move-rewrite": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-update-move-rewrite/-/actor-query-operation-update-move-rewrite-2.10.1.tgz", + "integrity": "sha512-GDLSHG2++EAAyUKhDu+mM6QfMTuzM8dS24HqeQL5Wzbkdc2KTmNKyJuhJw6SfXr6EiF/kxf1GPY6zwjcwACx/w==", "requires": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/core": "^2.10.0", @@ -22132,6 +23815,8 @@ }, "@comunica/actor-query-operation-values": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-values/-/actor-query-operation-values-2.10.1.tgz", + "integrity": "sha512-++9IgCVCQPIF8fzZLmrVpxPj8eI9TvkLshHAugQQBnhSijrDMUudW9eoA+eFmCaD/Ru7YtlKe3OJzRGV8FCG+Q==", "requires": { "@comunica/bindings-factory": "^2.10.1", "@comunica/bus-query-operation": "^2.10.1", @@ -22145,6 +23830,8 @@ }, "@comunica/actor-query-parse-graphql": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-parse-graphql/-/actor-query-parse-graphql-2.10.0.tgz", + "integrity": "sha512-l3RrkxElDYV4weXt3vpC0Q0She4AhbvPbPDronQulgN9nFAZhz4z9k8800T5uWMsL98wHNNXDFlnFk5S38lsow==", "requires": { "@comunica/bus-query-parse": "^2.10.0", "@comunica/context-entries": "^2.10.0", @@ -22154,6 +23841,8 @@ }, "@comunica/actor-query-parse-sparql": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-parse-sparql/-/actor-query-parse-sparql-2.10.0.tgz", + "integrity": "sha512-DUVAuSSNn0AyvLruOpRpLZBsr96Q4LuV1gcO+alKZALtfOZikRKY/3sXz1NUkaRQc7qDH9xFFTFrfJd0jLvlDA==", "requires": { "@comunica/bus-query-parse": "^2.10.0", "@comunica/core": "^2.10.0", @@ -22164,6 +23853,8 @@ }, "@comunica/actor-query-result-serialize-json": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-result-serialize-json/-/actor-query-result-serialize-json-2.10.0.tgz", + "integrity": "sha512-GuVcsOEhKgnVPT0AaCn8sJl/Uj5UUjUktEJpuMx1UAYt0//jcQsezJslYWmJrfXE/WJYidynyDxm8z3+jwLF7A==", "requires": { "@comunica/bus-query-result-serialize": "^2.10.0", "@comunica/types": "^2.10.0", @@ -22173,6 +23864,8 @@ }, "@comunica/actor-query-result-serialize-rdf": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-result-serialize-rdf/-/actor-query-result-serialize-rdf-2.10.0.tgz", + "integrity": "sha512-TBXJrDs5brRMFg8UisXS/F1vJw8nUtLhjugNZcd4ST8J965Ho1aNopydp4PMmwINMRxHhHtWJGwIB2Z5xD2lDw==", "requires": { "@comunica/bus-query-result-serialize": "^2.10.0", "@comunica/bus-rdf-serialize": "^2.10.0", @@ -22182,6 +23875,8 @@ }, "@comunica/actor-query-result-serialize-simple": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-result-serialize-simple/-/actor-query-result-serialize-simple-2.10.0.tgz", + "integrity": "sha512-pS7+aB9Rym1B5oi+O68NFjEq+EwpCRYtTIxGBp39CTQ0F7m4edt9QwqmARqveJPryK5X66ACvjxvutEaTgWI8w==", "requires": { "@comunica/bus-query-result-serialize": "^2.10.0", "@comunica/types": "^2.10.0", @@ -22192,6 +23887,8 @@ }, "@comunica/actor-query-result-serialize-sparql-csv": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-result-serialize-sparql-csv/-/actor-query-result-serialize-sparql-csv-2.10.0.tgz", + "integrity": "sha512-Vk+7oTIPigDENK3CnV56vLfvMZVjHc3p2F4a49WDHfMgRrfQKJSQkx603vjW35n3tmUB8JSgRXr/+v7LK83KYQ==", "requires": { "@comunica/bus-query-result-serialize": "^2.10.0", "@comunica/types": "^2.10.0", @@ -22201,6 +23898,8 @@ }, "@comunica/actor-query-result-serialize-sparql-json": { "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-result-serialize-sparql-json/-/actor-query-result-serialize-sparql-json-2.10.2.tgz", + "integrity": "sha512-+J7SWXc4nXHzmQMk6q8MScrLNKdqX+/xQe6XCk0zDbDAt3/8EJh/2ROYFp4fEQyPDFWOwN4xpALgHRIh8PQRAQ==", "requires": { "@comunica/bus-http": "^2.10.2", "@comunica/bus-http-invalidate": "^2.10.0", @@ -22213,6 +23912,8 @@ }, "@comunica/actor-query-result-serialize-sparql-tsv": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-result-serialize-sparql-tsv/-/actor-query-result-serialize-sparql-tsv-2.10.0.tgz", + "integrity": "sha512-TgA2WIXKdu/SrbHEP8HvGoLjhDOZnBoHsGsLFSHpxY/Uwk21rZqJLBEkhuhkUtGYzQPJ1n6Wmpjz9lBrUHGJPw==", "requires": { "@comunica/bus-query-result-serialize": "^2.10.0", "@comunica/types": "^2.10.0", @@ -22223,6 +23924,8 @@ }, "@comunica/actor-query-result-serialize-sparql-xml": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-result-serialize-sparql-xml/-/actor-query-result-serialize-sparql-xml-2.10.0.tgz", + "integrity": "sha512-8RDj5ZN23HnIc6zI5pD5XKi2pyg2cx6DhI7VDRcboi7v0DxfROuQqSEtbQ8m/W6Pngdz01ySogRcIVJCzRzBLQ==", "requires": { "@comunica/bus-query-result-serialize": "^2.10.0", "@comunica/types": "^2.10.0", @@ -22232,6 +23935,8 @@ }, "@comunica/actor-query-result-serialize-stats": { "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-result-serialize-stats/-/actor-query-result-serialize-stats-2.10.2.tgz", + "integrity": "sha512-jhj/vLDRxLuRMonBaqICt4saM9/UO9wJBT3Jxk7Rp73aQWLo+lILXKzcWpuxkh/EFx8raLUBmbjWCduamU1DzQ==", "requires": { "@comunica/bus-http": "^2.10.2", "@comunica/bus-http-invalidate": "^2.10.0", @@ -22244,6 +23949,8 @@ }, "@comunica/actor-query-result-serialize-table": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-result-serialize-table/-/actor-query-result-serialize-table-2.10.0.tgz", + "integrity": "sha512-AAPrgM/rbsSThRu9jkfJhBUeTUwQTLHNVbIn8El+Akvz+Fueoi6oSi3SslpPMHOvIUiOAgCZ05f2RbBLlhP03g==", "requires": { "@comunica/bus-query-result-serialize": "^2.10.0", "@comunica/types": "^2.10.0", @@ -22256,6 +23963,8 @@ }, "@comunica/actor-query-result-serialize-tree": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-result-serialize-tree/-/actor-query-result-serialize-tree-2.10.0.tgz", + "integrity": "sha512-sEyIzoSTV11YPY6r4fn6fwrf3WjLD6GrwXMTuevsDAKDYaMYxyriH3T/LMLLBEURy8SLD1I1Fpw/qaZisRmLTg==", "requires": { "@comunica/bus-query-result-serialize": "^2.10.0", "@comunica/context-entries": "^2.10.0", @@ -22267,6 +23976,8 @@ }, "@comunica/actor-rdf-join-entries-sort-cardinality": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-entries-sort-cardinality/-/actor-rdf-join-entries-sort-cardinality-2.10.0.tgz", + "integrity": "sha512-6dd/29q6QuQN2Ap090VA0KUFmmnHalPxFJb4MGh5nIbWZH0F/EvI+uK5vPx29cttr1yXL5u+MbJWaLb3IxwILg==", "requires": { "@comunica/bus-rdf-join-entries-sort": "^2.10.0", "@comunica/core": "^2.10.0" @@ -22274,6 +23985,8 @@ }, "@comunica/actor-rdf-join-inner-hash": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-inner-hash/-/actor-rdf-join-inner-hash-2.10.1.tgz", + "integrity": "sha512-nUtdS3NJGKSJQC8KjDVz4TEDmkXHBYQi0/bwnAXCDl1phhq8lgv+YEmRDNe/kuCze7HyqEt98rlSJ+ZhvcHXVQ==", "requires": { "@comunica/bus-rdf-join": "^2.10.1", "@comunica/mediatortype-join-coefficients": "^2.10.0", @@ -22283,6 +23996,8 @@ }, "@comunica/actor-rdf-join-inner-multi-bind": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-inner-multi-bind/-/actor-rdf-join-inner-multi-bind-2.10.1.tgz", + "integrity": "sha512-tNZ2Q7z44Yr0iIFkvtTVAsts4v0IoC4b0FYaIUeYav4y5JOlR74hWWijTAzVfb31dTMsAp3r+y0xGIdd75LRHQ==", "requires": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/bus-rdf-join": "^2.10.1", @@ -22296,6 +24011,8 @@ }, "@comunica/actor-rdf-join-inner-multi-empty": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-inner-multi-empty/-/actor-rdf-join-inner-multi-empty-2.10.1.tgz", + "integrity": "sha512-z6a3qENwuvSU0PvqOySrsHsWSUvzfWd1xIYwEvKuEIJ9vYPoefIUgggx08E95ZF/k+PxZ0vKEywFpBSUKUzGYA==", "requires": { "@comunica/bus-rdf-join": "^2.10.1", "@comunica/mediatortype-join-coefficients": "^2.10.0", @@ -22306,6 +24023,8 @@ }, "@comunica/actor-rdf-join-inner-multi-smallest": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-inner-multi-smallest/-/actor-rdf-join-inner-multi-smallest-2.10.1.tgz", + "integrity": "sha512-MXwIvq+viDCmsxJwD4+fwMhwZINWva3jtQ3j5ne6DXgZYUJUFOw3VujvCP4/cl075RuSxYlXgy6ETHLa1TNr7g==", "requires": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/bus-rdf-join": "^2.10.1", @@ -22317,6 +24036,8 @@ }, "@comunica/actor-rdf-join-inner-nestedloop": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-inner-nestedloop/-/actor-rdf-join-inner-nestedloop-2.10.1.tgz", + "integrity": "sha512-nFjGMrAIrRjRcsaU8UQXLbsDODVdf4LDpVNVQIrjfoWzhOIy13ApDQrqtuObaGVfryiFgt34zVEOwMWezWzl0A==", "requires": { "@comunica/bus-rdf-join": "^2.10.1", "@comunica/mediatortype-join-coefficients": "^2.10.0", @@ -22326,6 +24047,8 @@ }, "@comunica/actor-rdf-join-inner-none": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-inner-none/-/actor-rdf-join-inner-none-2.10.1.tgz", + "integrity": "sha512-4mqsuqvLSuXMbgY0PghqK5hmBGH5YkRTwUOpGpBE0EVQaiAoQOME0uVslkt2TBzUx5IQJC+trr/80sbA9mAhMw==", "requires": { "@comunica/bindings-factory": "^2.10.1", "@comunica/bus-rdf-join": "^2.10.1", @@ -22336,6 +24059,8 @@ }, "@comunica/actor-rdf-join-inner-single": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-inner-single/-/actor-rdf-join-inner-single-2.10.1.tgz", + "integrity": "sha512-RfnwTEsuXNdR0cNRWaCvNPlfD5KyuScsc/55j/9mr8yqGUTE9h9Om1Is5u7xnpRMxGOEqwVP6apK3ZxsZqlL/w==", "requires": { "@comunica/bus-rdf-join": "^2.10.1", "@comunica/mediatortype-join-coefficients": "^2.10.0" @@ -22343,6 +24068,8 @@ }, "@comunica/actor-rdf-join-inner-symmetrichash": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-inner-symmetrichash/-/actor-rdf-join-inner-symmetrichash-2.10.1.tgz", + "integrity": "sha512-beFGkMUe3pTADtMXXPU8ab/IMULj+Hkg3Iah0zgrVZgwWH1Kgfkj/2qp32Ll5y9qcRbio4ruruKlHNXJJUU46Q==", "requires": { "@comunica/bus-rdf-join": "^2.10.1", "@comunica/mediatortype-join-coefficients": "^2.10.0", @@ -22352,6 +24079,8 @@ }, "@comunica/actor-rdf-join-minus-hash": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-minus-hash/-/actor-rdf-join-minus-hash-2.10.1.tgz", + "integrity": "sha512-wIaB/EpuySaARhimoLzrE0cTH0TgVkL43IAtYX7ECwH9Qcv8blO4zbL4q2KUkY7OKZRM892aqMfo3kO1vMIK7w==", "requires": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/bus-rdf-join": "^2.10.1", @@ -22362,6 +24091,8 @@ }, "@comunica/actor-rdf-join-minus-hash-undef": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-minus-hash-undef/-/actor-rdf-join-minus-hash-undef-2.10.1.tgz", + "integrity": "sha512-tz5LdeAHnylEQIq4bRfFqaH89WZXkkdFxEshqxWijFBp5wprUYiotMDrBo9zDFaPquhs42fILtTzLY9yaalc9w==", "requires": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/bus-rdf-join": "^2.10.1", @@ -22373,6 +24104,8 @@ }, "@comunica/actor-rdf-join-optional-bind": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-optional-bind/-/actor-rdf-join-optional-bind-2.10.1.tgz", + "integrity": "sha512-6dOoI/rzRZ0RUyv2WlToClE42Z2YJE5xcSrot7haT2eMdxbzr1KjyasHBcIIkSK+WViDO006lXZ1Hi4tJm9uuA==", "requires": { "@comunica/actor-rdf-join-inner-multi-bind": "^2.10.1", "@comunica/bus-query-operation": "^2.10.1", @@ -22385,6 +24118,8 @@ }, "@comunica/actor-rdf-join-optional-nestedloop": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-optional-nestedloop/-/actor-rdf-join-optional-nestedloop-2.10.1.tgz", + "integrity": "sha512-d7KUDjEKZszizd4SBvYkK2A6lScrq9ciEgzdrrp6IYZhIGAhJLTgPNg3Js3NEjpE7oj4KWl2WwKJe2sWcJbKJg==", "requires": { "@comunica/bus-rdf-join": "^2.10.1", "@comunica/mediatortype-join-coefficients": "^2.10.0", @@ -22394,6 +24129,8 @@ }, "@comunica/actor-rdf-join-selectivity-variable-counting": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-selectivity-variable-counting/-/actor-rdf-join-selectivity-variable-counting-2.10.0.tgz", + "integrity": "sha512-D7tdzxA93bpZGXI5emJyvzk6LabeAnzcQMU/V5x2QwJxyoNr+LFbesBHDDP3/u4UJwmeP0a+dU0e5mbpJujSXw==", "requires": { "@comunica/bus-rdf-join-selectivity": "^2.10.0", "@comunica/core": "^2.10.0", @@ -22403,6 +24140,8 @@ }, "@comunica/actor-rdf-metadata-accumulate-cancontainundefs": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-accumulate-cancontainundefs/-/actor-rdf-metadata-accumulate-cancontainundefs-2.10.0.tgz", + "integrity": "sha512-N3rwX4kT9rkW+89q4xCjO3KKG0DbeNIyeMWDzeh2vTw8nAXYyTiPjHYvx/6VUMzhFUWF+50VtVv8ZJPO6nEapw==", "requires": { "@comunica/bus-rdf-metadata-accumulate": "^2.10.0", "@comunica/core": "^2.10.0" @@ -22410,6 +24149,8 @@ }, "@comunica/actor-rdf-metadata-accumulate-cardinality": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-accumulate-cardinality/-/actor-rdf-metadata-accumulate-cardinality-2.10.0.tgz", + "integrity": "sha512-UpC5PbhzEDCAxTUqETH89uRaFRqmP6YuWt67OAPo5wocv2tQDs6/SdLwS695XnfeMJdfDHsXyoUzQg3r8dwydw==", "requires": { "@comunica/bus-rdf-metadata-accumulate": "^2.10.0", "@comunica/core": "^2.10.0", @@ -22418,6 +24159,8 @@ }, "@comunica/actor-rdf-metadata-accumulate-pagesize": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-accumulate-pagesize/-/actor-rdf-metadata-accumulate-pagesize-2.10.0.tgz", + "integrity": "sha512-r364CWGr5rMpV2ec3TsD+9Yhvi1JUuRXLBQqtgzjAPbpWjfDSM1Q4h0P1z9h3D+sdUMEX/0iGAY3AH2FjJAxwA==", "requires": { "@comunica/bus-rdf-metadata-accumulate": "^2.10.0", "@comunica/core": "^2.10.0" @@ -22425,6 +24168,8 @@ }, "@comunica/actor-rdf-metadata-accumulate-requesttime": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-accumulate-requesttime/-/actor-rdf-metadata-accumulate-requesttime-2.10.0.tgz", + "integrity": "sha512-SpG7gxxAPoW2NbgyZ2UNpwluJ+IvCOYIRDTXmVTAK8bntav+/ZG30yfESFBjB3LmJEwAnktAsTgM6OhldohPKw==", "requires": { "@comunica/bus-rdf-metadata-accumulate": "^2.10.0", "@comunica/core": "^2.10.0" @@ -22432,6 +24177,8 @@ }, "@comunica/actor-rdf-metadata-all": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-all/-/actor-rdf-metadata-all-2.10.0.tgz", + "integrity": "sha512-dHaSxHTdneWVBMAF6WqZrGD+u4TPpHQaJ2WutK1NvQNPIiF0N7249aGTvXBIXZfsKYyQ73PUORDeLEOjX+tT7g==", "requires": { "@comunica/bus-rdf-metadata": "^2.10.0", "@comunica/core": "^2.10.0", @@ -22440,6 +24187,8 @@ }, "@comunica/actor-rdf-metadata-extract-allow-http-methods": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-extract-allow-http-methods/-/actor-rdf-metadata-extract-allow-http-methods-2.10.0.tgz", + "integrity": "sha512-aCSX+lWcmz5Q/g34VJEblczqDS6N+gJ3AlcOcGuqhd6qHRU17dMeCIZCk8p6p+AhbJ30w4BTsrZRY2sF0MGCVA==", "requires": { "@comunica/bus-rdf-metadata-extract": "^2.10.0", "@comunica/core": "^2.10.0" @@ -22447,6 +24196,8 @@ }, "@comunica/actor-rdf-metadata-extract-hydra-controls": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-extract-hydra-controls/-/actor-rdf-metadata-extract-hydra-controls-2.10.0.tgz", + "integrity": "sha512-T6F5OaQNqrHVIwSGNRX6YPDBoAOYBQj3NTPID7vQae7J80oEX+CLoTkeJJwfHpoUWx0ihs8J0UkABgK3AWeylA==", "requires": { "@comunica/bus-rdf-metadata-extract": "^2.10.0", "@comunica/core": "^2.10.0", @@ -22457,6 +24208,8 @@ }, "@comunica/actor-rdf-metadata-extract-hydra-count": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-extract-hydra-count/-/actor-rdf-metadata-extract-hydra-count-2.10.0.tgz", + "integrity": "sha512-nOMLN+9OSLFOVz6jc9pcyDizhcBBVT2azn7StTMK5ukFCcPCENS4y6lYhC5cijKZY7vUa7U6VzhX2vvw20MKDA==", "requires": { "@comunica/bus-rdf-metadata-extract": "^2.10.0", "@comunica/core": "^2.10.0" @@ -22464,6 +24217,8 @@ }, "@comunica/actor-rdf-metadata-extract-hydra-pagesize": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-extract-hydra-pagesize/-/actor-rdf-metadata-extract-hydra-pagesize-2.10.0.tgz", + "integrity": "sha512-mD8KS2ENr2rbfBWxtVpxkB/Y2LyyAnwQU5UYKkpet8ELhlostdGROzYCNIAgfOgirOAsLgVkbmrX0XBGouI7rA==", "requires": { "@comunica/bus-rdf-metadata-extract": "^2.10.0", "@comunica/core": "^2.10.0" @@ -22471,6 +24226,8 @@ }, "@comunica/actor-rdf-metadata-extract-patch-sparql-update": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-extract-patch-sparql-update/-/actor-rdf-metadata-extract-patch-sparql-update-2.10.0.tgz", + "integrity": "sha512-U5ARpeWKShbbSfdtJeb6nyPcsdtMwEo2dp56T4aSTNSBKtAhQ78DjOxb23WIU/VR/qpw2yWcsbPnNJvSaLpRVQ==", "requires": { "@comunica/bus-rdf-metadata-extract": "^2.10.0", "@comunica/core": "^2.10.0" @@ -22478,6 +24235,8 @@ }, "@comunica/actor-rdf-metadata-extract-put-accepted": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-extract-put-accepted/-/actor-rdf-metadata-extract-put-accepted-2.10.0.tgz", + "integrity": "sha512-cGJg6tMMCOSGcitkUBN7b9/Sg5zgwWQC52g+Zk22o4i+Zgt24WLjfXXbnGWGoV+h9YZo8pkg7v1cpE5GpapNCg==", "requires": { "@comunica/bus-rdf-metadata-extract": "^2.10.0", "@comunica/core": "^2.10.0" @@ -22485,6 +24244,8 @@ }, "@comunica/actor-rdf-metadata-extract-request-time": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-extract-request-time/-/actor-rdf-metadata-extract-request-time-2.10.0.tgz", + "integrity": "sha512-zh3coTPZMbgF4mXKCO3bzn99INt9HFraKMZWc9s/kwBE6vhNZ5246Ql/6z1v7mccoIbanhI72gtjFTGGHru80Q==", "requires": { "@comunica/bus-rdf-metadata-extract": "^2.10.0", "@comunica/core": "^2.10.0" @@ -22492,6 +24253,8 @@ }, "@comunica/actor-rdf-metadata-extract-sparql-service": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-extract-sparql-service/-/actor-rdf-metadata-extract-sparql-service-2.10.0.tgz", + "integrity": "sha512-Xc+id8FURTmY3ccb4hcVuAaOou5UqD+1YkTnGfMWQxVgMlFC1eeBvwWVzvedj0sHhnfbLgDwbCVYLCK1lNndSg==", "requires": { "@comunica/bus-rdf-metadata-extract": "^2.10.0", "@comunica/core": "^2.10.0", @@ -22500,6 +24263,8 @@ }, "@comunica/actor-rdf-metadata-primary-topic": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-primary-topic/-/actor-rdf-metadata-primary-topic-2.10.0.tgz", + "integrity": "sha512-nabxkiYSPGPRylhYjGxF0KiJ/K8QiG1N/am/t8eaqwyjn/fo2/tHl0yXUaLLx0E8fChfbBv10sVlmLhsLrg8DQ==", "requires": { "@comunica/bus-rdf-metadata": "^2.10.0", "@comunica/core": "^2.10.0", @@ -22509,6 +24274,8 @@ }, "@comunica/actor-rdf-parse-html": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-html/-/actor-rdf-parse-html-2.10.0.tgz", + "integrity": "sha512-zgImXKpc+BN1i6lQiN1Qhlb1HbKdMIeJMOys6qbzRIijdK8GkGGChwhQp7Cso3lY1Nf4K7M3jPLZeQXeED2w7g==", "requires": { "@comunica/bus-rdf-parse": "^2.10.0", "@comunica/bus-rdf-parse-html": "^2.10.0", @@ -22521,6 +24288,8 @@ }, "@comunica/actor-rdf-parse-html-microdata": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-html-microdata/-/actor-rdf-parse-html-microdata-2.10.0.tgz", + "integrity": "sha512-JLfiDauq4SmpI6TDS4HaHzI6iJe1j8lSk5FRRYK6YVEu8eO28jPmxQJiOiwbQiYqsjsV7kON/WIZSoUELoI4Ig==", "requires": { "@comunica/bus-rdf-parse-html": "^2.10.0", "@comunica/core": "^2.10.0", @@ -22529,6 +24298,8 @@ }, "@comunica/actor-rdf-parse-html-rdfa": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-html-rdfa/-/actor-rdf-parse-html-rdfa-2.10.0.tgz", + "integrity": "sha512-9K3iaws9+FGl50oZi53hqyzhwjNKZ3mIr2zg/TAJZoapKvc14cthH17zKSSJrqI/NgBStRmZhBBkXcwfu1CANw==", "requires": { "@comunica/bus-rdf-parse-html": "^2.10.0", "@comunica/core": "^2.10.0", @@ -22537,6 +24308,8 @@ }, "@comunica/actor-rdf-parse-html-script": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-html-script/-/actor-rdf-parse-html-script-2.10.0.tgz", + "integrity": "sha512-7XYqWchDquWnBLjG7rmmY+tdE81UZ8fPCU0Hn+vI39/MikNOpaiyr/ZYFqhogWFa9SkjmH0a7idVUzmjiwKRZQ==", "requires": { "@comunica/bus-rdf-parse": "^2.10.0", "@comunica/bus-rdf-parse-html": "^2.10.0", @@ -22550,6 +24323,8 @@ }, "@comunica/actor-rdf-parse-jsonld": { "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-jsonld/-/actor-rdf-parse-jsonld-2.10.2.tgz", + "integrity": "sha512-K4fvD0zMU22KkQCqIFVT5Oy2FREEZ9CAo9u6kOcsMxEvg9aHGIM6hkaXR8I+1JCx1mDuEj3zQ8joR4tQh8fYCw==", "requires": { "@comunica/bus-http": "^2.10.2", "@comunica/bus-rdf-parse": "^2.10.0", @@ -22563,6 +24338,8 @@ }, "@comunica/actor-rdf-parse-n3": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-n3/-/actor-rdf-parse-n3-2.10.0.tgz", + "integrity": "sha512-o1MAbwJxW4Br2WCZdhFoRmAiOP4mfogeQqJ4nqlsOkoMtQ45EvLHsotb3Kqhuk5V+vsTxyK5v/a4zylGtcU7VQ==", "requires": { "@comunica/bus-rdf-parse": "^2.10.0", "@comunica/types": "^2.10.0", @@ -22571,6 +24348,8 @@ }, "@comunica/actor-rdf-parse-rdfxml": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-rdfxml/-/actor-rdf-parse-rdfxml-2.10.0.tgz", + "integrity": "sha512-HoJN52shXY3cvYtsS0cpin9KXpW3L7g1leebyCRSqnlnHdJv5D6G0Ep8vyt2xhquKNbOQ7LnP5VhiDiqz73XDg==", "requires": { "@comunica/bus-rdf-parse": "^2.10.0", "@comunica/types": "^2.10.0", @@ -22579,6 +24358,8 @@ }, "@comunica/actor-rdf-parse-shaclc": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-shaclc/-/actor-rdf-parse-shaclc-2.10.0.tgz", + "integrity": "sha512-i6tmuZuS+RtDiSXpQc3s/PxtCqwIguo4ANmVB20PK4VWgQgBwoPG7LlNcJ0xmuH/3Bv6C2Agn18PLF6dZX+fKw==", "requires": { "@comunica/bus-rdf-parse": "^2.10.0", "@comunica/types": "^2.10.0", @@ -22591,6 +24372,8 @@ }, "@comunica/actor-rdf-parse-xml-rdfa": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-xml-rdfa/-/actor-rdf-parse-xml-rdfa-2.10.0.tgz", + "integrity": "sha512-68r/6B/fEyA1/OYleVuaPq47J+g4xJcJijpdL1wEj7CqjV+Xa+sDWRpNCyLcD/e1Y/g9UQmLz0ZnSpR00PFddA==", "requires": { "@comunica/bus-rdf-parse": "^2.10.0", "@comunica/types": "^2.10.0", @@ -22599,6 +24382,8 @@ }, "@comunica/actor-rdf-resolve-hypermedia-links-next": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-resolve-hypermedia-links-next/-/actor-rdf-resolve-hypermedia-links-next-2.10.0.tgz", + "integrity": "sha512-SpW46Tx8ksAxotGK2UEpvGcYjKwxB0x2KnbGmKHvo59embRjcUL/bmq3uHqZe7UwfynR2wDaRzMdVVSQccWSyA==", "requires": { "@comunica/bus-rdf-resolve-hypermedia-links": "^2.10.0", "@comunica/core": "^2.10.0" @@ -22606,6 +24391,8 @@ }, "@comunica/actor-rdf-resolve-hypermedia-links-queue-fifo": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-resolve-hypermedia-links-queue-fifo/-/actor-rdf-resolve-hypermedia-links-queue-fifo-2.10.0.tgz", + "integrity": "sha512-Hh53Ts6z6MxKXhZZxgpXfc1hgNzIX/xbA9mD2Au7ZfAa5V5j8zPaVVKe06sxILQBTPMsFh1idP3vIqRwRXpsvg==", "requires": { "@comunica/bus-rdf-resolve-hypermedia-links": "^2.10.0", "@comunica/bus-rdf-resolve-hypermedia-links-queue": "^2.10.0", @@ -22614,6 +24401,8 @@ }, "@comunica/actor-rdf-resolve-hypermedia-none": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-resolve-hypermedia-none/-/actor-rdf-resolve-hypermedia-none-2.10.0.tgz", + "integrity": "sha512-C4sJ0QJetq3QxsRkYstK5YXRYDGkcVTfyBOFUMYj7PbVakapnl8qPZkVL7VPMLVLVOfyBQHTT43Yp6Nl8VvmSA==", "requires": { "@comunica/actor-rdf-resolve-quad-pattern-rdfjs-source": "^2.10.0", "@comunica/bus-rdf-resolve-hypermedia": "^2.10.0", @@ -22622,6 +24411,8 @@ }, "@comunica/actor-rdf-resolve-hypermedia-qpf": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-resolve-hypermedia-qpf/-/actor-rdf-resolve-hypermedia-qpf-2.10.0.tgz", + "integrity": "sha512-1iP9xD72bxFBLpbfC7Ev0Xoc+0rwusPFdnoYbEtqMHRfiM0h3nNrsSxyzdGJMAZaJeQzmBZIEiwR5pbo9qpmaQ==", "requires": { "@comunica/actor-rdf-metadata-extract-hydra-controls": "^2.10.0", "@comunica/bus-dereference-rdf": "^2.10.0", @@ -22639,6 +24430,8 @@ }, "@comunica/actor-rdf-resolve-hypermedia-sparql": { "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-resolve-hypermedia-sparql/-/actor-rdf-resolve-hypermedia-sparql-2.10.2.tgz", + "integrity": "sha512-UFsTuzHvjK/XhRGqfHr3WAVr+iBv6XTuU1fV9EuOaB+odclQ+H6TGtmW6/38CSufj86Y691VBXMk29zdWfrmGA==", "requires": { "@comunica/bindings-factory": "^2.10.1", "@comunica/bus-http": "^2.10.2", @@ -22656,6 +24449,8 @@ }, "@comunica/actor-rdf-resolve-quad-pattern-federated": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-resolve-quad-pattern-federated/-/actor-rdf-resolve-quad-pattern-federated-2.10.1.tgz", + "integrity": "sha512-OBRTTUWkXKa0ibDzcYLG7aKf3BfQp2j75xm65brRvwstNLmye9ZEq1PrNhbP5UDqQQeCgzPBrb0eGC8Vxek2RA==", "requires": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/bus-rdf-metadata-accumulate": "^2.10.0", @@ -22674,6 +24469,8 @@ }, "@comunica/actor-rdf-resolve-quad-pattern-hypermedia": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-resolve-quad-pattern-hypermedia/-/actor-rdf-resolve-quad-pattern-hypermedia-2.10.1.tgz", + "integrity": "sha512-XkJOYu0bizWHsvgiaGyNAnRZsqv2risREK5SY14VCMXDYqmOWJLDppveGEUZAoEKEJuo4ZLDlP2gLDGzc0krxQ==", "requires": { "@comunica/bus-dereference-rdf": "^2.10.0", "@comunica/bus-http-invalidate": "^2.10.0", @@ -22700,6 +24497,8 @@ }, "@comunica/actor-rdf-resolve-quad-pattern-rdfjs-source": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-resolve-quad-pattern-rdfjs-source/-/actor-rdf-resolve-quad-pattern-rdfjs-source-2.10.0.tgz", + "integrity": "sha512-d6AlrngvZaVgoiiyMhkf6uiYaFZZdn/UZLo0FhZ++or1NZXo5KxK4UMgdiIygvPEiuuVzy0W1djHgOQ1rgh50g==", "requires": { "@comunica/bus-rdf-resolve-quad-pattern": "^2.10.0", "@comunica/core": "^2.10.0", @@ -22713,6 +24512,8 @@ }, "@comunica/actor-rdf-resolve-quad-pattern-string-source": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-resolve-quad-pattern-string-source/-/actor-rdf-resolve-quad-pattern-string-source-2.10.0.tgz", + "integrity": "sha512-v6QOBtXTXrDUZRHocrm2OYCsxGpyTScka/n85cewCcInqVGJP9J6zpdwetzvIy7wVJkac7JQabd96OEyDMK3sg==", "requires": { "@comunica/bus-rdf-parse": "^2.10.0", "@comunica/bus-rdf-resolve-quad-pattern": "^2.10.0", @@ -22727,6 +24528,8 @@ }, "@comunica/actor-rdf-serialize-jsonld": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-serialize-jsonld/-/actor-rdf-serialize-jsonld-2.10.0.tgz", + "integrity": "sha512-u1M5N7BSrkhS461fV6QXKMh6TnvpoEiSHPru7wJg1kGqR9q3reuQeKLf/U23JDYb1kom8uU3R7aBpDIjgVc49Q==", "requires": { "@comunica/bus-rdf-serialize": "^2.10.0", "@comunica/types": "^2.10.0", @@ -22735,6 +24538,8 @@ }, "@comunica/actor-rdf-serialize-n3": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-serialize-n3/-/actor-rdf-serialize-n3-2.10.0.tgz", + "integrity": "sha512-CoDktUI3YQuI7UBV+fQOdKl+5XjBx0XTOF9XxEDiNg5nwndEmDvq6C23fSHfkqX3/xDlnsuS/YysHAqXCrYoiA==", "requires": { "@comunica/bus-rdf-serialize": "^2.10.0", "@comunica/types": "^2.10.0", @@ -22743,6 +24548,8 @@ }, "@comunica/actor-rdf-serialize-shaclc": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-serialize-shaclc/-/actor-rdf-serialize-shaclc-2.10.0.tgz", + "integrity": "sha512-gp4bu4+aPtMk4bavXP27uD9X9bpa2F5u6/JtsaX2qwcqVI0x1tkVQOkm2RkUhafcHNj0Fz6lQ3aXmRIAQvaefg==", "requires": { "@comunica/bus-rdf-serialize": "^2.10.0", "@comunica/types": "^2.10.0", @@ -22753,6 +24560,8 @@ }, "@comunica/actor-rdf-update-hypermedia-patch-sparql-update": { "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-update-hypermedia-patch-sparql-update/-/actor-rdf-update-hypermedia-patch-sparql-update-2.10.2.tgz", + "integrity": "sha512-z/fOzYlA5fPtauTUISYhCWMKtEpkvKkSZIdvcgeGvetLnvw4fytfVHdtPhirZYmPya10GCeTG7m2iHvK53lOsQ==", "requires": { "@comunica/bus-http": "^2.10.2", "@comunica/bus-rdf-update-hypermedia": "^2.10.2", @@ -22768,6 +24577,8 @@ }, "@comunica/actor-rdf-update-hypermedia-put-ldp": { "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-update-hypermedia-put-ldp/-/actor-rdf-update-hypermedia-put-ldp-2.10.2.tgz", + "integrity": "sha512-Tof/mU0Lkt7HP3SwHXODczxvAFelWzAHdP+ap4Upr47K6Zg5GRPwJv//2AcPvT3p42Li6wuMz/4nh/A3pcnCKA==", "requires": { "@comunica/bus-http": "^2.10.2", "@comunica/bus-rdf-serialize": "^2.10.0", @@ -22782,6 +24593,8 @@ }, "@comunica/actor-rdf-update-hypermedia-sparql": { "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-update-hypermedia-sparql/-/actor-rdf-update-hypermedia-sparql-2.10.2.tgz", + "integrity": "sha512-uw1NIAoxuAechsjTQ6b53XpGOMx3Mp5uEL5LtUwNC6COJE6tzWH8wG54Dwj+0VNxsgqsSircKu2xwGl1uOsOPg==", "requires": { "@comunica/bus-http": "^2.10.2", "@comunica/bus-rdf-update-hypermedia": "^2.10.2", @@ -22797,6 +24610,8 @@ }, "@comunica/actor-rdf-update-quads-hypermedia": { "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-update-quads-hypermedia/-/actor-rdf-update-quads-hypermedia-2.10.2.tgz", + "integrity": "sha512-kzGfDv0PqcOIIULJLG8jtA/dOcrNUodu98J08ruSuYQBbnFgAZ07MG1TkWhEI/AM6D0w7hXkgQaC1sGWn4gVmA==", "requires": { "@comunica/bus-dereference-rdf": "^2.10.0", "@comunica/bus-http-invalidate": "^2.10.0", @@ -22811,6 +24626,8 @@ }, "@comunica/actor-rdf-update-quads-rdfjs-store": { "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-update-quads-rdfjs-store/-/actor-rdf-update-quads-rdfjs-store-2.10.2.tgz", + "integrity": "sha512-anX3SovvY2H8KwuWu8G9EqtITmCsz12jfqunNn5Efcch/bm4HyHTC1GThx77m6qpCdg4OMx8TLhNrH1II1UM1w==", "requires": { "@comunica/bus-rdf-update-quads": "^2.10.2", "@comunica/core": "^2.10.0", @@ -22823,6 +24640,8 @@ }, "@comunica/bindings-factory": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", "requires": { "@rdfjs/types": "*", "immutable": "^4.1.0", @@ -22832,6 +24651,8 @@ }, "@comunica/bus-context-preprocess": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-context-preprocess/-/bus-context-preprocess-2.10.0.tgz", + "integrity": "sha512-eJ5CkzbnmxB9fkr2F05jnnjcaowp+yxd0+pAtvx5MLl2Kpx3nWLqHPcl4/EVVDPD+i0TEkq4AXQ1BD9BMuXK0A==", "requires": { "@comunica/core": "^2.10.0", "@comunica/types": "^2.10.0" @@ -22839,6 +24660,8 @@ }, "@comunica/bus-dereference": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-dereference/-/bus-dereference-2.10.0.tgz", + "integrity": "sha512-nWyQXiH7zbiPTVttWVKJHykhV4IuahfhfUwPx3Op+cVsK489Su84dnGeSmPkxTAFFuxe6wU6ZEH4i7PDu48YvQ==", "requires": { "@comunica/actor-abstract-mediatyped": "^2.10.0", "@comunica/actor-abstract-parse": "^2.10.0", @@ -22850,6 +24673,8 @@ }, "@comunica/bus-dereference-rdf": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-dereference-rdf/-/bus-dereference-rdf-2.10.0.tgz", + "integrity": "sha512-WY/wPmFpO76wwJ2D5Aus43ZbYnBRLvQ0EOp4yywO0lBiq6F0JisjCVCM4EtWouOEAAfqEoIjHXGyC3gPWqm+SQ==", "requires": { "@comunica/bus-dereference": "^2.10.0", "@comunica/bus-rdf-parse": "^2.10.0", @@ -22859,6 +24684,8 @@ }, "@comunica/bus-hash-bindings": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-hash-bindings/-/bus-hash-bindings-2.10.0.tgz", + "integrity": "sha512-EdzIUgpSWMtFVxEJSesuQpMkfgznDap+U0F9epotxXc20Gg/qjTzs1gF6NkpDpaidQ7cFlV16vdbdfi8uiZ+mQ==", "requires": { "@comunica/core": "^2.10.0", "@comunica/types": "^2.10.0" @@ -22866,6 +24693,8 @@ }, "@comunica/bus-http": { "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/bus-http/-/bus-http-2.10.2.tgz", + "integrity": "sha512-MAYRF6uEBAuJ9dCPW2Uyne7w3lNwXFXKfa14XuPG5DFTDpgo/Z2pWupPrBsA1eIWMNJ6WOG6QyEv4rllSIBqlg==", "requires": { "@comunica/core": "^2.10.0", "@smessie/readable-web-to-node-stream": "^3.0.3", @@ -22876,12 +24705,16 @@ }, "@comunica/bus-http-invalidate": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-http-invalidate/-/bus-http-invalidate-2.10.0.tgz", + "integrity": "sha512-9DevRUzuCOfHFtsryIvTU6rOz6vMbnuDzerloBoNsLFVzQCU4wPNZbxiOn0+GMDXxw7M3KgYd+KFxI2kGObVWA==", "requires": { "@comunica/core": "^2.10.0" } }, "@comunica/bus-init": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-init/-/bus-init-2.10.0.tgz", + "integrity": "sha512-hJejHa8sLVhQLFlduCVnhOd5aW3FCEz8wmWjyeLI3kiHFaQibnGVMhUuuNRX5f8bnnPuTdEiHc1nnYHuSi+j8A==", "requires": { "@comunica/core": "^2.10.0", "readable-stream": "^4.4.2" @@ -22889,6 +24722,8 @@ }, "@comunica/bus-optimize-query-operation": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-optimize-query-operation/-/bus-optimize-query-operation-2.10.0.tgz", + "integrity": "sha512-qawKJprbVc+dfjBgVzV45UEo+jZBzY3dRo0a8UkXSvgSWPcX18SGrURl2VL4sZZSAyXQBMrGUwH2eUD8l26ZJQ==", "requires": { "@comunica/core": "^2.10.0", "@comunica/types": "^2.10.0", @@ -22897,6 +24732,8 @@ }, "@comunica/bus-query-operation": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", "requires": { "@comunica/bindings-factory": "^2.10.1", "@comunica/context-entries": "^2.10.0", @@ -22912,6 +24749,8 @@ }, "@comunica/bus-query-parse": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-parse/-/bus-query-parse-2.10.0.tgz", + "integrity": "sha512-1LynxACgCYTuBH/JMRG/IGaWtTVwr2O8wxOosCId2W3BDW9nf2DSCyOdnxnCSMSKfnLFWiaVuKybn24OLXW2dQ==", "requires": { "@comunica/core": "^2.10.0", "@rdfjs/types": "*", @@ -22920,6 +24759,8 @@ }, "@comunica/bus-query-result-serialize": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-result-serialize/-/bus-query-result-serialize-2.10.0.tgz", + "integrity": "sha512-9P5KUzmXvjtLbd44UVxYNB0yqAHx7molBUc7aysUQ3pbIcP/A57GXzAfiKueeiZ9cVRRG/BGsVoDGVj59tGWNg==", "requires": { "@comunica/actor-abstract-mediatyped": "^2.10.0", "@comunica/core": "^2.10.0", @@ -22928,6 +24769,8 @@ }, "@comunica/bus-rdf-join": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-join/-/bus-rdf-join-2.10.1.tgz", + "integrity": "sha512-pPFoJVHY5p931jIKt+9sqRCGiuuf8yFqrlOOAd3un72cwuyhwNHvn52xwvcPlNUAySz/kDmW+U0syflqI6VdAw==", "requires": { "@comunica/bus-query-operation": "^2.10.1", "@comunica/bus-rdf-join-selectivity": "^2.10.0", @@ -22943,6 +24786,8 @@ }, "@comunica/bus-rdf-join-entries-sort": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-join-entries-sort/-/bus-rdf-join-entries-sort-2.10.0.tgz", + "integrity": "sha512-17FQrdYtzjY84OI/ZvipJKD0ei3IySmsWwaGC9sIJn+1W4LBVKudTu5S0tzGTKTb0URhS4mrCliUBzyINtIZMQ==", "requires": { "@comunica/core": "^2.10.0", "@comunica/types": "^2.10.0" @@ -22950,6 +24795,8 @@ }, "@comunica/bus-rdf-join-selectivity": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-join-selectivity/-/bus-rdf-join-selectivity-2.10.0.tgz", + "integrity": "sha512-YjoygSiH6r4SAYqz6gpvUql2vnznPVE62IsWqYnjFWeH1kBsxO5yEOO01s2FfN3jLcfsytTyG7VNTCN788YbaA==", "requires": { "@comunica/core": "^2.10.0", "@comunica/mediatortype-accuracy": "^2.10.0", @@ -22958,6 +24805,8 @@ }, "@comunica/bus-rdf-metadata": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-metadata/-/bus-rdf-metadata-2.10.0.tgz", + "integrity": "sha512-LRUnHVqIzyUlmPKPNAYOusCF53iN8KEX7l/VinlA7NH3XBLhTkFoth26MVqIVtjtdH0hVfUVpkwy2kFEJpGldw==", "requires": { "@comunica/core": "^2.10.0", "@rdfjs/types": "*" @@ -22965,6 +24814,8 @@ }, "@comunica/bus-rdf-metadata-accumulate": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-metadata-accumulate/-/bus-rdf-metadata-accumulate-2.10.0.tgz", + "integrity": "sha512-XG/3s4a3yGpYt4H+sn9T2zTaUxLG+37dmhRhXv2cBmR4gaCXkglERPaOrQygHldEF+4ITF3RmXHCgANsQ1AwQg==", "requires": { "@comunica/core": "^2.10.0", "@comunica/types": "^2.10.0" @@ -22972,6 +24823,8 @@ }, "@comunica/bus-rdf-metadata-extract": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-metadata-extract/-/bus-rdf-metadata-extract-2.10.0.tgz", + "integrity": "sha512-KcMZh+7kHjdCIMkLFki99tQH1arVp/evVnk0BGXfWd+ca3eCLrr42tb1tGfN2JkaCSxgtzWO4DRZcSzJ4sI2dQ==", "requires": { "@comunica/core": "^2.10.0", "@rdfjs/types": "*" @@ -22979,6 +24832,8 @@ }, "@comunica/bus-rdf-parse": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-parse/-/bus-rdf-parse-2.10.0.tgz", + "integrity": "sha512-EgCMZACfTG/+mayQpExWt0HoBT32BBVC1aS1lC43fXKBTxJ8kYrSrorVUuMACoh4dQVGTb+7j1j4K0hGNVzXGA==", "requires": { "@comunica/actor-abstract-mediatyped": "^2.10.0", "@comunica/actor-abstract-parse": "^2.10.0", @@ -22988,6 +24843,8 @@ }, "@comunica/bus-rdf-parse-html": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-parse-html/-/bus-rdf-parse-html-2.10.0.tgz", + "integrity": "sha512-RZliz4TtKP63QggoohGuIkGb6lq0BoYJ4aztKtGldWtPAVP/pdEvlDpiZWLB/j19g7S2aDLNY/lJtZ5efM1tHQ==", "requires": { "@comunica/core": "^2.10.0", "@rdfjs/types": "*" @@ -22995,6 +24852,8 @@ }, "@comunica/bus-rdf-resolve-hypermedia": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-resolve-hypermedia/-/bus-rdf-resolve-hypermedia-2.10.0.tgz", + "integrity": "sha512-DjCoAg62pPzEOH5gKM9gaL4CVUmhBsmyOzao0tRu20G7L6RnTIFtRaOwMN2z+2uC7AkJRHZY12bPUb+yM8V0UQ==", "requires": { "@comunica/bus-rdf-resolve-quad-pattern": "^2.10.0", "@comunica/core": "^2.10.0", @@ -23003,6 +24862,8 @@ }, "@comunica/bus-rdf-resolve-hypermedia-links": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-resolve-hypermedia-links/-/bus-rdf-resolve-hypermedia-links-2.10.0.tgz", + "integrity": "sha512-Mcz6bUdZySLK2om0cMt86n5TOThZOTpEFq2M42n7YAE3LL2KMnMDdhkaOC6SyY4tS0HGAuhce21Uq+Gz8Veq2g==", "requires": { "@comunica/core": "^2.10.0", "@comunica/types": "^2.10.0", @@ -23011,6 +24872,8 @@ }, "@comunica/bus-rdf-resolve-hypermedia-links-queue": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-resolve-hypermedia-links-queue/-/bus-rdf-resolve-hypermedia-links-queue-2.10.0.tgz", + "integrity": "sha512-f9amJk7ikktRfOoRnwag1KMTuo9v+PiDEVQA0dijl+jhcispKdjG6XK0MdZ1KSEmtUWejjS6nMRGvfJdM37eog==", "requires": { "@comunica/bus-rdf-resolve-hypermedia-links": "^2.10.0", "@comunica/core": "^2.10.0" @@ -23018,6 +24881,8 @@ }, "@comunica/bus-rdf-resolve-quad-pattern": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-resolve-quad-pattern/-/bus-rdf-resolve-quad-pattern-2.10.0.tgz", + "integrity": "sha512-JEI4DqSprGmrbfmiIwc8PbS+HCoxXwmMtp7gDpoB1HyYKIHzzu9DOIiwmYEDRO5dwV+uTwaYKZz/mUPm2U6EEg==", "requires": { "@comunica/context-entries": "^2.10.0", "@comunica/core": "^2.10.0", @@ -23029,6 +24894,8 @@ }, "@comunica/bus-rdf-serialize": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-serialize/-/bus-rdf-serialize-2.10.0.tgz", + "integrity": "sha512-AmbN9MUgw6B6AfrIqR1u7PWHZFgbJz+j1SFJVtnHQ51hEpG+Ig9nNG2IWjHOsFK0xBBQ/wXgNmt/cufEMRM1SQ==", "requires": { "@comunica/actor-abstract-mediatyped": "^2.10.0", "@comunica/core": "^2.10.0", @@ -23037,6 +24904,8 @@ }, "@comunica/bus-rdf-update-hypermedia": { "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-update-hypermedia/-/bus-rdf-update-hypermedia-2.10.2.tgz", + "integrity": "sha512-GbRMxXN4kx+4UPsnGxWjyn770m675yy2gWK/xy/5qQIxxRTcuGk4wm/994FZQXpwLX1E0xJ+YKxMgXTIlEWmQA==", "requires": { "@comunica/bus-rdf-update-quads": "^2.10.2", "@comunica/core": "^2.10.0" @@ -23044,6 +24913,8 @@ }, "@comunica/bus-rdf-update-quads": { "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-update-quads/-/bus-rdf-update-quads-2.10.2.tgz", + "integrity": "sha512-+iVpAHps8ytGq8AZF4xTZbLyskS40JPn64MO+OAuYovqXLlezp6vh9eJ5qETuP9NP+BpZDk3nOU3Ky3fb0QCUw==", "requires": { "@comunica/actor-rdf-resolve-quad-pattern-federated": "^2.10.1", "@comunica/bus-http": "^2.10.2", @@ -23056,10 +24927,14 @@ } }, "@comunica/config-query-sparql": { - "version": "2.7.0" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/config-query-sparql/-/config-query-sparql-2.7.0.tgz", + "integrity": "sha512-rMnFgT7cz9+0z7wV4OzIMY5qM9/Z0mTGrR8y2JokoHyyTcBGOSajFmy61XCSLMCsLLG8qDXsJ4ClCCky3TGfqA==" }, "@comunica/context-entries": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", "requires": { "@comunica/core": "^2.10.0", "@comunica/types": "^2.10.0", @@ -23070,6 +24945,8 @@ }, "@comunica/core": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", "requires": { "@comunica/types": "^2.10.0", "immutable": "^4.1.0" @@ -23077,12 +24954,16 @@ }, "@comunica/data-factory": { "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", "requires": { "@rdfjs/types": "*" } }, "@comunica/expression-evaluator": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/expression-evaluator/-/expression-evaluator-2.10.0.tgz", + "integrity": "sha512-gSfiVSAE+SaxpXq3jT5OnyZd+sD9KFaWtTiKT1tDDs8lD7Jj68aRP7VoEhvKwPwRlUx0aoaXUL2MYtV6JsXRbg==", "requires": { "@rdfjs/types": "*", "@types/spark-md5": "^3.0.2", @@ -23099,12 +24980,16 @@ }, "dependencies": { "uuid": { - "version": "9.0.1" + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==" } } }, "@comunica/logger-pretty": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/logger-pretty/-/logger-pretty-2.10.0.tgz", + "integrity": "sha512-JXkeM5HnbyTPnQTf5/ugRPL9R+vXT7b/hRVYzYmhAGCjkCNL7NJPTBbIgxmZHqZ+UGxprotrvmDQtwHmVA+Ddw==", "requires": { "@comunica/types": "^2.10.0", "object-inspect": "^1.12.2", @@ -23113,18 +24998,24 @@ }, "@comunica/logger-void": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/logger-void/-/logger-void-2.10.0.tgz", + "integrity": "sha512-GFJh9hV8rIC9yXAuLGGKjQRVs8IOQOINBbaTNO+FJUWWWHlo5pDEKAoGYuysz5TBGoT3Lexz8bMfdkuHMa3uIQ==", "requires": { "@comunica/types": "^2.10.0" } }, "@comunica/mediator-all": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/mediator-all/-/mediator-all-2.10.0.tgz", + "integrity": "sha512-y1+A+sIW462G8iPzi6BSPIb4I9iy08ZruM2Thf1or6sytwLKro7E2RYjS6IdupwfFYafXXCeT85+lrJgTKERhQ==", "requires": { "@comunica/core": "^2.10.0" } }, "@comunica/mediator-combine-pipeline": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/mediator-combine-pipeline/-/mediator-combine-pipeline-2.10.0.tgz", + "integrity": "sha512-j7+/oUlbhKB4Rq6g9oNKU+e9cQL8U9z8tAUNhoXUSHajcr4huj0t1+riaOD109/DRWhV793ILhBDzgiZbHd7DA==", "requires": { "@comunica/core": "^2.10.0", "@comunica/types": "^2.10.0" @@ -23132,12 +25023,16 @@ }, "@comunica/mediator-combine-union": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/mediator-combine-union/-/mediator-combine-union-2.10.0.tgz", + "integrity": "sha512-QbP4zP1i6nMDZ8teC0RoTz5E8pOpxDhWPBr1ylb2jzPUjPpMgrnbHYTondlN0Oau3SMEehItojg/LYDtPOP/GQ==", "requires": { "@comunica/core": "^2.10.0" } }, "@comunica/mediator-join-coefficients-fixed": { "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/mediator-join-coefficients-fixed/-/mediator-join-coefficients-fixed-2.10.1.tgz", + "integrity": "sha512-HRvc0e8QDnR3sbRMMCyx9ILFA6KiUxHEqDOpt7BV3kFMWWIpBavFDwPUjLBG6sRA8o0CFu1+oVVh5fAFYZIxzQ==", "requires": { "@comunica/bus-rdf-join": "^2.10.1", "@comunica/context-entries": "^2.10.0", @@ -23148,30 +25043,40 @@ }, "@comunica/mediator-number": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/mediator-number/-/mediator-number-2.10.0.tgz", + "integrity": "sha512-0T8D1HGTu5Sd8iKb2dBjc6VRc/U4A15TAN6m561ra9pFlP+w31kby0ZYP6WWBHBobbUsX1LCvnbRQaAC4uWwVw==", "requires": { "@comunica/core": "^2.10.0" } }, "@comunica/mediator-race": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/mediator-race/-/mediator-race-2.10.0.tgz", + "integrity": "sha512-JiEtOLMkPnbjSLabVpE4VqDbu2ZKKnkUdATGBeWX+o+MjPw6c0hhw01RG4WY2rQhDyNl++nLQe3EowQh8xW9TA==", "requires": { "@comunica/core": "^2.10.0" } }, "@comunica/mediatortype-accuracy": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/mediatortype-accuracy/-/mediatortype-accuracy-2.10.0.tgz", + "integrity": "sha512-u9Noai4yGACaBRGOoRZ65XoQhazKNx5QaFOX5nJ/p84Qq4g50woC2rpsncuyrXhW1j/rIc2WvIUGUfy/g6CDiw==", "requires": { "@comunica/core": "^2.10.0" } }, "@comunica/mediatortype-httprequests": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/mediatortype-httprequests/-/mediatortype-httprequests-2.10.0.tgz", + "integrity": "sha512-uPjs/NdngHZZWomjZor6W29UeOlxganupIOa3Z6H3qdUnsSpxeoS9URXy7BICAX+4PmgebperSn18BRA+PWiSw==", "requires": { "@comunica/core": "^2.10.0" } }, "@comunica/mediatortype-join-coefficients": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/mediatortype-join-coefficients/-/mediatortype-join-coefficients-2.10.0.tgz", + "integrity": "sha512-EPipAV5PDNeEVXbsd+8NsqNKu5ztCAoEJ3azcFAmD9di9ppArNJWU/mxy5yUzcBgMUX4wRp6jCa5rIF5sRHG7g==", "requires": { "@comunica/core": "^2.10.0", "@rdfjs/types": "*" @@ -23179,18 +25084,24 @@ }, "@comunica/mediatortype-time": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/mediatortype-time/-/mediatortype-time-2.10.0.tgz", + "integrity": "sha512-nBz1exxrja1Tj8KSlSevG4Hw2u09tTh6gtNfVjI76i/e7muu4RUWVhi9b8PcwBNAfuUqRl+5OgOSa2X4W+6QlA==", "requires": { "@comunica/core": "^2.10.0" } }, "@comunica/metadata": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/metadata/-/metadata-2.10.0.tgz", + "integrity": "sha512-PF7TKhuDIO4GE9tzuAkTxarQV5cmwXZ64hp0qm8Ql/V+dVHu/3xLL9v/Q67ZX26GF9hOyr7cdpNI08M7DHc86g==", "requires": { "@comunica/types": "^2.10.0" } }, "@comunica/query-sparql": { "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/query-sparql/-/query-sparql-2.10.2.tgz", + "integrity": "sha512-bgjQ8N5/vP3Iy71AgDKQc06mXmEBvh7dsenw2VPbvk11iXywec4XCq8TzX+GozL+Zxxl5XyYlBw+nRjvORTGHg==", "requires": { "@comunica/actor-context-preprocess-source-to-destination": "^2.10.0", "@comunica/actor-dereference-fallback": "^2.10.0", @@ -23328,6 +25239,8 @@ }, "@comunica/runner": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/runner/-/runner-2.10.0.tgz", + "integrity": "sha512-v/oEKT+IwjO6Y74bCCzlR+ZMI6oykpfz7GQrQbl1oTWQsvBbTdf0omPkoYnk1esEAsFnsJD+NGwAiRiFKeBo0A==", "requires": { "@comunica/bus-init": "^2.10.0", "@comunica/core": "^2.10.0", @@ -23337,6 +25250,8 @@ }, "@comunica/runner-cli": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/runner-cli/-/runner-cli-2.10.0.tgz", + "integrity": "sha512-16QI0rWFHURCy5waVFcZ/fhKI/hyzNx5YyCGPaEaUX8MKyamvCCXHSWvPLLbjJbsjGZ9wXrC9dwwhRmbfmidpw==", "requires": { "@comunica/core": "^2.10.0", "@comunica/runner": "^2.10.0", @@ -23346,6 +25261,8 @@ }, "@comunica/types": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", "requires": { "@rdfjs/types": "*", "@types/yargs": "^17.0.24", @@ -23355,12 +25272,16 @@ }, "@cspotcode/source-map-support": { "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", "requires": { "@jridgewell/trace-mapping": "0.3.9" }, "dependencies": { "@jridgewell/trace-mapping": { "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", "requires": { "@jridgewell/resolve-uri": "^3.0.3", "@jridgewell/sourcemap-codec": "^1.4.10" @@ -23370,10 +25291,14 @@ }, "@cucumber/ci-environment": { "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@cucumber/ci-environment/-/ci-environment-9.1.0.tgz", + "integrity": "sha512-jdnF6APXP3GawMue8kdMxhu6TBhyRUO4KDRxTowf06NtclLjIw2Ybpo9IcIOMvE8kHukvJyM00uxWX+CfS7JgQ==", "dev": true }, "@cucumber/cucumber": { "version": "8.11.1", + "resolved": "https://registry.npmjs.org/@cucumber/cucumber/-/cucumber-8.11.1.tgz", + "integrity": "sha512-C+wdypoSzHA48GCRorJCAZYuxXo1RSESukAmoz/JhGV7KB4pIlg9Y2aWeZKx6bJQkq8yq4+S4jg9f8FGCdc3jQ==", "dev": true, "requires": { "@cucumber/ci-environment": "9.1.0", @@ -23419,6 +25344,8 @@ "dependencies": { "lru-cache": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "requires": { "yallist": "^4.0.0" @@ -23426,6 +25353,8 @@ }, "semver": { "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -23433,12 +25362,16 @@ }, "yallist": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true } } }, "@cucumber/cucumber-expressions": { "version": "16.1.1", + "resolved": "https://registry.npmjs.org/@cucumber/cucumber-expressions/-/cucumber-expressions-16.1.1.tgz", + "integrity": "sha512-Ugsb9qxfgrgfUKsGvbx0awVk+69NIFjWfxNT+dnm62YrF2gdTHYxAOzOLuPgvE0yqYTh+3otrFLDDfkHGThM1g==", "dev": true, "requires": { "regexp-match-indices": "1.0.2" @@ -23446,6 +25379,8 @@ }, "@cucumber/gherkin": { "version": "26.0.3", + "resolved": "https://registry.npmjs.org/@cucumber/gherkin/-/gherkin-26.0.3.tgz", + "integrity": "sha512-xwJHi//bLFEU1drIyw2yswwUHnnVWO4XcyVBbCTDs6DkSh262GkogFI/IWwChZqJfOXnPglzLGxR1DibcZsILA==", "dev": true, "requires": { "@cucumber/messages": "19.1.4 - 21" @@ -23453,6 +25388,8 @@ }, "@cucumber/gherkin-streams": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@cucumber/gherkin-streams/-/gherkin-streams-5.0.1.tgz", + "integrity": "sha512-/7VkIE/ASxIP/jd4Crlp4JHXqdNFxPGQokqWqsaCCiqBiu5qHoKMxcWNlp9njVL/n9yN4S08OmY3ZR8uC5x74Q==", "dev": true, "requires": { "commander": "9.1.0", @@ -23461,12 +25398,16 @@ "dependencies": { "commander": { "version": "9.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.1.0.tgz", + "integrity": "sha512-i0/MaqBtdbnJ4XQs4Pmyb+oFQl+q0lsAmokVUH92SlSw4fkeAcG3bVon+Qt7hmtF+u3Het6o4VgrcY3qAoEB6w==", "dev": true } } }, "@cucumber/gherkin-utils": { "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@cucumber/gherkin-utils/-/gherkin-utils-8.0.2.tgz", + "integrity": "sha512-aQlziN3r3cTwprEDbLEcFoMRQajb9DTOu2OZZp5xkuNz6bjSTowSY90lHUD2pWT7jhEEckZRIREnk7MAwC2d1A==", "dev": true, "requires": { "@cucumber/gherkin": "^25.0.0", @@ -23478,6 +25419,8 @@ "dependencies": { "@cucumber/gherkin": { "version": "25.0.2", + "resolved": "https://registry.npmjs.org/@cucumber/gherkin/-/gherkin-25.0.2.tgz", + "integrity": "sha512-EdsrR33Y5GjuOoe2Kq5Y9DYwgNRtUD32H4y2hCrT6+AWo7ibUQu7H+oiWTgfVhwbkHsZmksxHSxXz/AwqqyCRQ==", "dev": true, "requires": { "@cucumber/messages": "^19.1.4" @@ -23485,6 +25428,8 @@ }, "@cucumber/messages": { "version": "19.1.4", + "resolved": "https://registry.npmjs.org/@cucumber/messages/-/messages-19.1.4.tgz", + "integrity": "sha512-Pksl0pnDz2l1+L5Ug85NlG6LWrrklN9qkMxN5Mv+1XZ3T6u580dnE6mVaxjJRdcOq4tR17Pc0RqIDZMyVY1FlA==", "dev": true, "requires": { "@types/uuid": "8.3.4", @@ -23495,30 +25440,42 @@ }, "@types/uuid": { "version": "8.3.4", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", + "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==", "dev": true }, "commander": { "version": "9.4.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.1.tgz", + "integrity": "sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==", "dev": true }, "uuid": { "version": "9.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", + "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", "dev": true } } }, "@cucumber/html-formatter": { "version": "20.2.1", + "resolved": "https://registry.npmjs.org/@cucumber/html-formatter/-/html-formatter-20.2.1.tgz", + "integrity": "sha512-bwwyr1WjlOJ5dEFOLGbtYWbUprloB2eymqXBmmTC10s0xapZXkFn4VfHgMshaH91XiCIY/MoabWNAau3AeMHkQ==", "dev": true, "requires": {} }, "@cucumber/message-streams": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@cucumber/message-streams/-/message-streams-4.0.1.tgz", + "integrity": "sha512-Kxap9uP5jD8tHUZVjTWgzxemi/0uOsbGjd4LBOSxcJoOCRbESFwemUzilJuzNTB8pcTQUh8D5oudUyxfkJOKmA==", "dev": true, "requires": {} }, "@cucumber/messages": { "version": "21.0.1", + "resolved": "https://registry.npmjs.org/@cucumber/messages/-/messages-21.0.1.tgz", + "integrity": "sha512-pGR7iURM4SF9Qp1IIpNiVQ77J9kfxMkPOEbyy+zRmGABnWWCsqMpJdfHeh9Mb3VskemVw85++e15JT0PYdcR3g==", "dev": true, "requires": { "@types/uuid": "8.3.4", @@ -23529,20 +25486,28 @@ "dependencies": { "@types/uuid": { "version": "8.3.4", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", + "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==", "dev": true }, "uuid": { "version": "9.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", + "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", "dev": true } } }, "@cucumber/tag-expressions": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@cucumber/tag-expressions/-/tag-expressions-5.0.1.tgz", + "integrity": "sha512-N43uWud8ZXuVjza423T9ZCIJsaZhFekmakt7S9bvogTxqdVGbRobjR663s0+uW0Rz9e+Pa8I6jUuWtoBLQD2Mw==", "dev": true }, "@dabh/diagnostics": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.3.tgz", + "integrity": "sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==", "requires": { "colorspace": "1.1.x", "enabled": "2.0.x", @@ -23551,6 +25516,8 @@ }, "@digitalbazaar/http-client": { "version": "3.4.1", + "resolved": "https://registry.npmjs.org/@digitalbazaar/http-client/-/http-client-3.4.1.tgz", + "integrity": "sha512-Ahk1N+s7urkgj7WvvUND5f8GiWEPfUw0D41hdElaqLgu8wZScI8gdI0q+qWw5N1d35x7GCRH2uk9mi+Uzo9M3g==", "requires": { "ky": "^0.33.3", "ky-universal": "^0.11.0", @@ -23558,16 +25525,22 @@ } }, "@eslint-community/eslint-utils": { - "version": "4.4.0", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", + "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", "requires": { - "eslint-visitor-keys": "^3.3.0" + "eslint-visitor-keys": "^3.4.3" } }, "@eslint-community/regexpp": { - "version": "4.10.1" + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==" }, "@eslint/eslintrc": { "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "requires": { "ajv": "^6.12.4", "debug": "^4.3.2", @@ -23581,7 +25554,9 @@ } }, "@eslint/js": { - "version": "8.57.0" + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==" }, "@ethereumjs/common": { "version": "2.6.5", @@ -23632,7 +25607,9 @@ } }, "@ethereumjs/rlp": { - "version": "4.0.1" + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@ethereumjs/rlp/-/rlp-4.0.1.tgz", + "integrity": "sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==" }, "@ethereumjs/tx": { "version": "3.5.2", @@ -23684,6 +25661,8 @@ }, "@ethereumjs/util": { "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@ethereumjs/util/-/util-8.1.0.tgz", + "integrity": "sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==", "requires": { "@ethereumjs/rlp": "^4.0.1", "ethereum-cryptography": "^2.0.0", @@ -23691,13 +25670,19 @@ }, "dependencies": { "@noble/hashes": { - "version": "1.4.0" + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", + "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==" }, "@scure/base": { - "version": "1.1.6" + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.9.tgz", + "integrity": "sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg==" }, "@scure/bip32": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.4.0.tgz", + "integrity": "sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==", "requires": { "@noble/curves": "~1.4.0", "@noble/hashes": "~1.4.0", @@ -23706,15 +25691,19 @@ }, "@scure/bip39": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.3.0.tgz", + "integrity": "sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==", "requires": { "@noble/hashes": "~1.4.0", "@scure/base": "~1.1.6" } }, "ethereum-cryptography": { - "version": "2.2.0", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.2.1.tgz", + "integrity": "sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==", "requires": { - "@noble/curves": "1.4.0", + "@noble/curves": "1.4.2", "@noble/hashes": "1.4.0", "@scure/bip32": "1.4.0", "@scure/bip39": "1.3.0" @@ -23724,6 +25713,8 @@ }, "@ethersproject/abi": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", + "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", "requires": { "@ethersproject/address": "^5.7.0", "@ethersproject/bignumber": "^5.7.0", @@ -23738,6 +25729,8 @@ }, "@ethersproject/abstract-provider": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz", + "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==", "requires": { "@ethersproject/bignumber": "^5.7.0", "@ethersproject/bytes": "^5.7.0", @@ -23750,6 +25743,8 @@ }, "@ethersproject/abstract-signer": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz", + "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==", "requires": { "@ethersproject/abstract-provider": "^5.7.0", "@ethersproject/bignumber": "^5.7.0", @@ -23760,6 +25755,8 @@ }, "@ethersproject/address": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", + "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", "requires": { "@ethersproject/bignumber": "^5.7.0", "@ethersproject/bytes": "^5.7.0", @@ -23770,12 +25767,16 @@ }, "@ethersproject/base64": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", + "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", "requires": { "@ethersproject/bytes": "^5.7.0" } }, "@ethersproject/basex": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz", + "integrity": "sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==", "requires": { "@ethersproject/bytes": "^5.7.0", "@ethersproject/properties": "^5.7.0" @@ -23783,6 +25784,8 @@ }, "@ethersproject/bignumber": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", + "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==", "requires": { "@ethersproject/bytes": "^5.7.0", "@ethersproject/logger": "^5.7.0", @@ -23799,12 +25802,16 @@ }, "@ethersproject/constants": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", + "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", "requires": { "@ethersproject/bignumber": "^5.7.0" } }, "@ethersproject/contracts": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz", + "integrity": "sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==", "requires": { "@ethersproject/abi": "^5.7.0", "@ethersproject/abstract-provider": "^5.7.0", @@ -23836,6 +25843,8 @@ }, "@ethersproject/hdnode": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz", + "integrity": "sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==", "requires": { "@ethersproject/abstract-signer": "^5.7.0", "@ethersproject/basex": "^5.7.0", @@ -23853,6 +25862,8 @@ }, "@ethersproject/json-wallets": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz", + "integrity": "sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==", "requires": { "@ethersproject/abstract-signer": "^5.7.0", "@ethersproject/address": "^5.7.0", @@ -23871,22 +25882,30 @@ }, "@ethersproject/keccak256": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", + "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==", "requires": { "@ethersproject/bytes": "^5.7.0", "js-sha3": "0.8.0" } }, "@ethersproject/logger": { - "version": "5.7.0" + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", + "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==" }, "@ethersproject/networks": { "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", + "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", "requires": { "@ethersproject/logger": "^5.7.0" } }, "@ethersproject/pbkdf2": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz", + "integrity": "sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==", "requires": { "@ethersproject/bytes": "^5.7.0", "@ethersproject/sha2": "^5.7.0" @@ -23894,12 +25913,16 @@ }, "@ethersproject/properties": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", + "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", "requires": { "@ethersproject/logger": "^5.7.0" } }, "@ethersproject/providers": { "version": "5.7.2", + "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz", + "integrity": "sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==", "requires": { "@ethersproject/abstract-provider": "^5.7.0", "@ethersproject/abstract-signer": "^5.7.0", @@ -23925,12 +25948,16 @@ "dependencies": { "ws": { "version": "7.4.6", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", + "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", "requires": {} } } }, "@ethersproject/random": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz", + "integrity": "sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==", "requires": { "@ethersproject/bytes": "^5.7.0", "@ethersproject/logger": "^5.7.0" @@ -23938,6 +25965,8 @@ }, "@ethersproject/rlp": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", + "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", "requires": { "@ethersproject/bytes": "^5.7.0", "@ethersproject/logger": "^5.7.0" @@ -23945,6 +25974,8 @@ }, "@ethersproject/sha2": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz", + "integrity": "sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==", "requires": { "@ethersproject/bytes": "^5.7.0", "@ethersproject/logger": "^5.7.0", @@ -23953,6 +25984,8 @@ }, "@ethersproject/signing-key": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz", + "integrity": "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==", "requires": { "@ethersproject/bytes": "^5.7.0", "@ethersproject/logger": "^5.7.0", @@ -23964,6 +25997,8 @@ }, "@ethersproject/solidity": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.7.0.tgz", + "integrity": "sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==", "requires": { "@ethersproject/bignumber": "^5.7.0", "@ethersproject/bytes": "^5.7.0", @@ -23975,6 +26010,8 @@ }, "@ethersproject/strings": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", + "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", "requires": { "@ethersproject/bytes": "^5.7.0", "@ethersproject/constants": "^5.7.0", @@ -23983,6 +26020,8 @@ }, "@ethersproject/transactions": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", + "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", "requires": { "@ethersproject/address": "^5.7.0", "@ethersproject/bignumber": "^5.7.0", @@ -23997,6 +26036,8 @@ }, "@ethersproject/units": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz", + "integrity": "sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==", "requires": { "@ethersproject/bignumber": "^5.7.0", "@ethersproject/constants": "^5.7.0", @@ -24027,6 +26068,8 @@ }, "@ethersproject/web": { "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", + "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", "requires": { "@ethersproject/base64": "^5.7.0", "@ethersproject/bytes": "^5.7.0", @@ -24037,6 +26080,8 @@ }, "@ethersproject/wordlists": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz", + "integrity": "sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==", "requires": { "@ethersproject/bytes": "^5.7.0", "@ethersproject/hash": "^5.7.0", @@ -24046,24 +26091,34 @@ } }, "@fastify/busboy": { - "version": "2.1.1" + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz", + "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==" }, "@humanwhocodes/config-array": { - "version": "0.11.14", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", "requires": { - "@humanwhocodes/object-schema": "^2.0.2", + "@humanwhocodes/object-schema": "^2.0.3", "debug": "^4.3.1", "minimatch": "^3.0.5" } }, "@humanwhocodes/module-importer": { - "version": "1.0.1" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==" }, "@humanwhocodes/object-schema": { - "version": "2.0.3" + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==" }, "@istanbuljs/load-nyc-config": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "dev": true, "requires": { "camelcase": "^5.3.1", @@ -24075,6 +26130,8 @@ "dependencies": { "argparse": { "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { "sprintf-js": "~1.0.2" @@ -24082,10 +26139,14 @@ }, "camelcase": { "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true }, "find-up": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "requires": { "locate-path": "^5.0.0", @@ -24094,6 +26155,8 @@ }, "js-yaml": { "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, "requires": { "argparse": "^1.0.7", @@ -24102,6 +26165,8 @@ }, "locate-path": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "requires": { "p-locate": "^4.1.0" @@ -24109,6 +26174,8 @@ }, "p-limit": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { "p-try": "^2.0.0" @@ -24116,6 +26183,8 @@ }, "p-locate": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "requires": { "p-limit": "^2.2.0" @@ -24123,20 +26192,28 @@ }, "resolve-from": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true }, "sprintf-js": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true } } }, "@istanbuljs/schema": { "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true }, "@jeswr/prefixcc": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jeswr/prefixcc/-/prefixcc-1.2.1.tgz", + "integrity": "sha512-kBBXbqsaeh3Irp416h/RbelqJgIOp6X/OJJlYmLyr/9qlBYKTKSCuEv5/xjZ0Yf8Yec+QFRYBaOQ2JkMBSH7KA==", "requires": { "cross-fetch": "^3.1.5", "fsevents": "^2.3.2" @@ -24144,24 +26221,34 @@ "dependencies": { "cross-fetch": { "version": "3.1.8", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", + "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", "requires": { "node-fetch": "^2.6.12" } }, "node-fetch": { "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "requires": { "whatwg-url": "^5.0.0" } }, "tr46": { - "version": "0.0.3" + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, "webidl-conversions": { - "version": "3.0.1" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, "whatwg-url": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "requires": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -24171,6 +26258,8 @@ }, "@jridgewell/gen-mapping": { "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, "requires": { "@jridgewell/set-array": "^1.2.1", @@ -24179,17 +26268,25 @@ } }, "@jridgewell/resolve-uri": { - "version": "3.1.2" + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==" }, "@jridgewell/set-array": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "dev": true }, "@jridgewell/sourcemap-codec": { - "version": "1.4.15" + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" }, "@jridgewell/trace-mapping": { "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, "requires": { "@jridgewell/resolve-uri": "^3.1.0", @@ -24198,6 +26295,8 @@ }, "@metamask/eth-sig-util": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@metamask/eth-sig-util/-/eth-sig-util-4.0.1.tgz", + "integrity": "sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ==", "requires": { "ethereumjs-abi": "^0.6.8", "ethereumjs-util": "^6.2.1", @@ -24208,6 +26307,8 @@ }, "@motrix/nat-api": { "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@motrix/nat-api/-/nat-api-0.3.4.tgz", + "integrity": "sha512-RIH5sSP329Xn8TjDcAHYHn82VTajhdu2Ee4PTLA+9jCAi5x0D219D1XYW7nCK22ptcLrC+qzBXlWG/j16iuoLQ==", "requires": { "async": "^3.2.4", "debug": "^4.3.4", @@ -24219,18 +26320,26 @@ "dependencies": { "node-fetch": { "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "requires": { "whatwg-url": "^5.0.0" } }, "tr46": { - "version": "0.0.3" + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, "webidl-conversions": { - "version": "3.0.1" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, "whatwg-url": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "requires": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -24239,83 +26348,119 @@ } }, "@noble/curves": { - "version": "1.4.0", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.4.2.tgz", + "integrity": "sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==", "requires": { "@noble/hashes": "1.4.0" }, "dependencies": { "@noble/hashes": { - "version": "1.4.0" + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", + "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==" } } }, "@noble/hashes": { - "version": "1.2.0" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.2.0.tgz", + "integrity": "sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==" }, "@noble/secp256k1": { - "version": "1.7.1" + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@noble/secp256k1/-/secp256k1-1.7.1.tgz", + "integrity": "sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==" }, "@nodelib/fs.scandir": { "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "requires": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" } }, "@nodelib/fs.stat": { - "version": "2.0.5" + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" }, "@nodelib/fs.walk": { "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "requires": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" } }, "@nomicfoundation/edr": { - "version": "0.4.0", + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr/-/edr-0.6.5.tgz", + "integrity": "sha512-tAqMslLP+/2b2sZP4qe9AuGxG3OkQ5gGgHE4isUuq6dUVjwCRPFhAOhpdFl+OjY5P3yEv3hmq9HjUGRa2VNjng==", "requires": { - "@nomicfoundation/edr-darwin-arm64": "0.4.0", - "@nomicfoundation/edr-darwin-x64": "0.4.0", - "@nomicfoundation/edr-linux-arm64-gnu": "0.4.0", - "@nomicfoundation/edr-linux-arm64-musl": "0.4.0", - "@nomicfoundation/edr-linux-x64-gnu": "0.4.0", - "@nomicfoundation/edr-linux-x64-musl": "0.4.0", - "@nomicfoundation/edr-win32-x64-msvc": "0.4.0" + "@nomicfoundation/edr-darwin-arm64": "0.6.5", + "@nomicfoundation/edr-darwin-x64": "0.6.5", + "@nomicfoundation/edr-linux-arm64-gnu": "0.6.5", + "@nomicfoundation/edr-linux-arm64-musl": "0.6.5", + "@nomicfoundation/edr-linux-x64-gnu": "0.6.5", + "@nomicfoundation/edr-linux-x64-musl": "0.6.5", + "@nomicfoundation/edr-win32-x64-msvc": "0.6.5" } }, "@nomicfoundation/edr-darwin-arm64": { - "version": "0.4.0" + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-darwin-arm64/-/edr-darwin-arm64-0.6.5.tgz", + "integrity": "sha512-A9zCCbbNxBpLgjS1kEJSpqxIvGGAX4cYbpDYCU2f3jVqOwaZ/NU761y1SvuCRVpOwhoCXqByN9b7HPpHi0L4hw==" }, "@nomicfoundation/edr-darwin-x64": { - "version": "0.4.0" + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-darwin-x64/-/edr-darwin-x64-0.6.5.tgz", + "integrity": "sha512-x3zBY/v3R0modR5CzlL6qMfFMdgwd6oHrWpTkuuXnPFOX8SU31qq87/230f4szM+ukGK8Hi+mNq7Ro2VF4Fj+w==" }, "@nomicfoundation/edr-linux-arm64-gnu": { - "version": "0.4.0" + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-arm64-gnu/-/edr-linux-arm64-gnu-0.6.5.tgz", + "integrity": "sha512-HGpB8f1h8ogqPHTyUpyPRKZxUk2lu061g97dOQ/W4CxevI0s/qiw5DB3U3smLvSnBHKOzYS1jkxlMeGN01ky7A==" }, "@nomicfoundation/edr-linux-arm64-musl": { - "version": "0.4.0" + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-arm64-musl/-/edr-linux-arm64-musl-0.6.5.tgz", + "integrity": "sha512-ESvJM5Y9XC03fZg9KaQg3Hl+mbx7dsSkTIAndoJS7X2SyakpL9KZpOSYrDk135o8s9P9lYJdPOyiq+Sh+XoCbQ==" }, "@nomicfoundation/edr-linux-x64-gnu": { - "version": "0.4.0" + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-x64-gnu/-/edr-linux-x64-gnu-0.6.5.tgz", + "integrity": "sha512-HCM1usyAR1Ew6RYf5AkMYGvHBy64cPA5NMbaeY72r0mpKaH3txiMyydcHibByOGdQ8iFLWpyUdpl1egotw+Tgg==" }, "@nomicfoundation/edr-linux-x64-musl": { - "version": "0.4.0" + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-x64-musl/-/edr-linux-x64-musl-0.6.5.tgz", + "integrity": "sha512-nB2uFRyczhAvWUH7NjCsIO6rHnQrof3xcCe6Mpmnzfl2PYcGyxN7iO4ZMmRcQS7R1Y670VH6+8ZBiRn8k43m7A==" }, "@nomicfoundation/edr-win32-x64-msvc": { - "version": "0.4.0" + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-win32-x64-msvc/-/edr-win32-x64-msvc-0.6.5.tgz", + "integrity": "sha512-B9QD/4DSSCFtWicO8A3BrsnitO1FPv7axB62wq5Q+qeJ50yJlTmyeGY3cw62gWItdvy2mh3fRM6L1LpnHiB77A==" }, "@nomicfoundation/ethereumjs-common": { "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-common/-/ethereumjs-common-4.0.4.tgz", + "integrity": "sha512-9Rgb658lcWsjiicr5GzNCjI1llow/7r0k50dLL95OJ+6iZJcVbi15r3Y0xh2cIO+zgX0WIHcbzIu6FeQf9KPrg==", "requires": { "@nomicfoundation/ethereumjs-util": "9.0.4" } }, "@nomicfoundation/ethereumjs-rlp": { - "version": "5.0.4" + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-rlp/-/ethereumjs-rlp-5.0.4.tgz", + "integrity": "sha512-8H1S3s8F6QueOc/X92SdrA4RDenpiAEqMg5vJH99kcQaCy/a3Q6fgseo75mgWlbanGJXSlAPtnCeG9jvfTYXlw==" }, "@nomicfoundation/ethereumjs-tx": { "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-tx/-/ethereumjs-tx-5.0.4.tgz", + "integrity": "sha512-Xjv8wAKJGMrP1f0n2PeyfFCCojHd7iS3s/Ab7qzF1S64kxZ8Z22LCMynArYsVqiFx6rzYy548HNVEyI+AYN/kw==", "requires": { "@nomicfoundation/ethereumjs-common": "4.0.4", "@nomicfoundation/ethereumjs-rlp": "5.0.4", @@ -24325,6 +26470,8 @@ "dependencies": { "ethereum-cryptography": { "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", + "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", "requires": { "@types/pbkdf2": "^3.0.0", "@types/secp256k1": "^4.0.1", @@ -24347,6 +26494,8 @@ }, "@nomicfoundation/ethereumjs-util": { "version": "9.0.4", + "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-util/-/ethereumjs-util-9.0.4.tgz", + "integrity": "sha512-sLOzjnSrlx9Bb9EFNtHzK/FJFsfg2re6bsGqinFinH1gCqVfz9YYlXiMWwDM4C/L4ywuHFCYwfKTVr/QHQcU0Q==", "requires": { "@nomicfoundation/ethereumjs-rlp": "5.0.4", "ethereum-cryptography": "0.1.3" @@ -24354,6 +26503,8 @@ "dependencies": { "ethereum-cryptography": { "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", + "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", "requires": { "@types/pbkdf2": "^3.0.0", "@types/secp256k1": "^4.0.1", @@ -24376,6 +26527,8 @@ }, "@nomicfoundation/solidity-analyzer": { "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer/-/solidity-analyzer-0.1.2.tgz", + "integrity": "sha512-q4n32/FNKIhQ3zQGGw5CvPF6GTvDCpYwIf7bEY/dZTZbgfDsHyjJwURxUJf3VQuuJj+fDIFl4+KkBVbw4Ef6jA==", "requires": { "@nomicfoundation/solidity-analyzer-darwin-arm64": "0.1.2", "@nomicfoundation/solidity-analyzer-darwin-x64": "0.1.2", @@ -24388,45 +26541,67 @@ }, "@nomicfoundation/solidity-analyzer-darwin-arm64": { "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-arm64/-/solidity-analyzer-darwin-arm64-0.1.2.tgz", + "integrity": "sha512-JaqcWPDZENCvm++lFFGjrDd8mxtf+CtLd2MiXvMNTBD33dContTZ9TWETwNFwg7JTJT5Q9HEecH7FA+HTSsIUw==", "optional": true }, "@nomicfoundation/solidity-analyzer-darwin-x64": { "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-x64/-/solidity-analyzer-darwin-x64-0.1.2.tgz", + "integrity": "sha512-fZNmVztrSXC03e9RONBT+CiksSeYcxI1wlzqyr0L7hsQlK1fzV+f04g2JtQ1c/Fe74ZwdV6aQBdd6Uwl1052sw==", "optional": true }, "@nomicfoundation/solidity-analyzer-linux-arm64-gnu": { "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-gnu/-/solidity-analyzer-linux-arm64-gnu-0.1.2.tgz", + "integrity": "sha512-3d54oc+9ZVBuB6nbp8wHylk4xh0N0Gc+bk+/uJae+rUgbOBwQSfuGIbAZt1wBXs5REkSmynEGcqx6DutoK0tPA==", "optional": true }, "@nomicfoundation/solidity-analyzer-linux-arm64-musl": { "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-musl/-/solidity-analyzer-linux-arm64-musl-0.1.2.tgz", + "integrity": "sha512-iDJfR2qf55vgsg7BtJa7iPiFAsYf2d0Tv/0B+vhtnI16+wfQeTbP7teookbGvAo0eJo7aLLm0xfS/GTkvHIucA==", "optional": true }, "@nomicfoundation/solidity-analyzer-linux-x64-gnu": { "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-gnu/-/solidity-analyzer-linux-x64-gnu-0.1.2.tgz", + "integrity": "sha512-9dlHMAt5/2cpWyuJ9fQNOUXFB/vgSFORg1jpjX1Mh9hJ/MfZXlDdHQ+DpFCs32Zk5pxRBb07yGvSHk9/fezL+g==", "optional": true }, "@nomicfoundation/solidity-analyzer-linux-x64-musl": { "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-musl/-/solidity-analyzer-linux-x64-musl-0.1.2.tgz", + "integrity": "sha512-GzzVeeJob3lfrSlDKQw2bRJ8rBf6mEYaWY+gW0JnTDHINA0s2gPR4km5RLIj1xeZZOYz4zRw+AEeYgLRqB2NXg==", "optional": true }, "@nomicfoundation/solidity-analyzer-win32-x64-msvc": { "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-x64-msvc/-/solidity-analyzer-win32-x64-msvc-0.1.2.tgz", + "integrity": "sha512-Fdjli4DCcFHb4Zgsz0uEJXZ2K7VEO+w5KVv7HmT7WO10iODdU9csC2az4jrhEsRtiR9Gfd74FlG0NYlw1BMdyA==", "optional": true }, "@openzeppelin/contracts": { - "version": "4.9.6" + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-4.9.6.tgz", + "integrity": "sha512-xSmezSupL+y9VkHZJGDoCBpmnB2ogM13ccaYDWqJTfS3dbuHkgjuwDFUmaFauBCboQMGB/S5UqUl2y54X99BmA==" }, "@polkadot-api/json-rpc-provider": { "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@polkadot-api/json-rpc-provider/-/json-rpc-provider-0.0.1.tgz", + "integrity": "sha512-/SMC/l7foRjpykLTUTacIH05H3mr9ip8b5xxfwXlVezXrNVLp3Cv0GX6uItkKd+ZjzVPf3PFrDF2B2/HLSNESA==", "optional": true }, "@polkadot-api/json-rpc-provider-proxy": { "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@polkadot-api/json-rpc-provider-proxy/-/json-rpc-provider-proxy-0.0.1.tgz", + "integrity": "sha512-gmVDUP8LpCH0BXewbzqXF2sdHddq1H1q+XrAW2of+KZj4woQkIGBRGTJHeBEVHe30EB+UejR1N2dT4PO/RvDdg==", "optional": true }, "@polkadot-api/metadata-builders": { "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@polkadot-api/metadata-builders/-/metadata-builders-0.0.1.tgz", + "integrity": "sha512-GCI78BHDzXAF/L2pZD6Aod/yl82adqQ7ftNmKg51ixRL02JpWUA+SpUKTJE5MY1p8kiJJIo09P2um24SiJHxNA==", "optional": true, "requires": { "@polkadot-api/substrate-bindings": "0.0.1", @@ -24435,6 +26610,8 @@ }, "@polkadot-api/observable-client": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@polkadot-api/observable-client/-/observable-client-0.1.0.tgz", + "integrity": "sha512-GBCGDRztKorTLna/unjl/9SWZcRmvV58o9jwU2Y038VuPXZcr01jcw/1O3x+yeAuwyGzbucI/mLTDa1QoEml3A==", "optional": true, "requires": { "@polkadot-api/metadata-builders": "0.0.1", @@ -24445,6 +26622,8 @@ }, "@polkadot-api/substrate-bindings": { "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@polkadot-api/substrate-bindings/-/substrate-bindings-0.0.1.tgz", + "integrity": "sha512-bAe7a5bOPnuFVmpv7y4BBMRpNTnMmE0jtTqRUw/+D8ZlEHNVEJQGr4wu3QQCl7k1GnSV1wfv3mzIbYjErEBocg==", "optional": true, "requires": { "@noble/hashes": "^1.3.1", @@ -24454,17 +26633,23 @@ }, "dependencies": { "@noble/hashes": { - "version": "1.4.0", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.6.1.tgz", + "integrity": "sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w==", "optional": true } } }, "@polkadot-api/substrate-client": { "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@polkadot-api/substrate-client/-/substrate-client-0.0.1.tgz", + "integrity": "sha512-9Bg9SGc3AwE+wXONQoW8GC00N3v6lCZLW74HQzqB6ROdcm5VAHM4CB/xRzWSUF9CXL78ugiwtHx3wBcpx4H4Wg==", "optional": true }, "@polkadot-api/utils": { "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@polkadot-api/utils/-/utils-0.0.1.tgz", + "integrity": "sha512-3j+pRmlF9SgiYDabSdZsBSsN5XHbpXOAce1lWj56IEEaFZVjsiCaxDOA7C9nCcgfVXuvnbxqqEGQvnY+QfBAUw==", "optional": true }, "@polkadot/api": { @@ -24493,6 +26678,8 @@ }, "@polkadot/api-augment": { "version": "9.14.2", + "resolved": "https://registry.npmjs.org/@polkadot/api-augment/-/api-augment-9.14.2.tgz", + "integrity": "sha512-19MmW8AHEcLkdcUIo3LLk0eCQgREWqNSxkUyOeWn7UiNMY1AhDOOwMStUBNCvrIDK6VL6GGc1sY7rkPCLMuKSw==", "requires": { "@babel/runtime": "^7.20.13", "@polkadot/api-base": "9.14.2", @@ -24505,6 +26692,8 @@ }, "@polkadot/api-base": { "version": "9.14.2", + "resolved": "https://registry.npmjs.org/@polkadot/api-base/-/api-base-9.14.2.tgz", + "integrity": "sha512-ky9fmzG1Tnrjr/SBZ0aBB21l0TFr+CIyQenQczoUyVgiuxVaI/2Bp6R2SFrHhG28P+PW2/RcYhn2oIAR2Z2fZQ==", "requires": { "@babel/runtime": "^7.20.13", "@polkadot/rpc-core": "9.14.2", @@ -24515,6 +26704,8 @@ }, "@polkadot/api-derive": { "version": "9.14.2", + "resolved": "https://registry.npmjs.org/@polkadot/api-derive/-/api-derive-9.14.2.tgz", + "integrity": "sha512-yw9OXucmeggmFqBTMgza0uZwhNjPxS7MaT7lSCUIRKckl1GejdV+qMhL3XFxPFeYzXwzFpdPG11zWf+qJlalqw==", "requires": { "@babel/runtime": "^7.20.13", "@polkadot/api": "9.14.2", @@ -24540,6 +26731,8 @@ }, "@polkadot/networks": { "version": "10.4.2", + "resolved": "https://registry.npmjs.org/@polkadot/networks/-/networks-10.4.2.tgz", + "integrity": "sha512-FAh/znrEvWBiA/LbcT5GXHsCFUl//y9KqxLghSr/CreAmAergiJNT0MVUezC7Y36nkATgmsr4ylFwIxhVtuuCw==", "requires": { "@babel/runtime": "^7.20.13", "@polkadot/util": "10.4.2", @@ -24548,6 +26741,8 @@ }, "@polkadot/rpc-augment": { "version": "9.14.2", + "resolved": "https://registry.npmjs.org/@polkadot/rpc-augment/-/rpc-augment-9.14.2.tgz", + "integrity": "sha512-mOubRm3qbKZTbP9H01XRrfTk7k5it9WyzaWAg72DJBQBYdgPUUkGSgpPD/Srkk5/5GAQTWVWL1I2UIBKJ4TJjQ==", "requires": { "@babel/runtime": "^7.20.13", "@polkadot/rpc-core": "9.14.2", @@ -24558,6 +26753,8 @@ }, "@polkadot/rpc-core": { "version": "9.14.2", + "resolved": "https://registry.npmjs.org/@polkadot/rpc-core/-/rpc-core-9.14.2.tgz", + "integrity": "sha512-krA/mtQ5t9nUQEsEVC1sjkttLuzN6z6gyJxK2IlpMS3S5ncy/R6w4FOpy+Q0H18Dn83JBo0p7ZtY7Y6XkK48Kw==", "requires": { "@babel/runtime": "^7.20.13", "@polkadot/rpc-augment": "9.14.2", @@ -24569,6 +26766,8 @@ }, "@polkadot/rpc-provider": { "version": "9.14.2", + "resolved": "https://registry.npmjs.org/@polkadot/rpc-provider/-/rpc-provider-9.14.2.tgz", + "integrity": "sha512-YTSywjD5PF01V47Ru5tln2LlpUwJiSOdz6rlJXPpMaY53hUp7+xMU01FVAQ1bllSBNisSD1Msv/mYHq84Oai2g==", "requires": { "@babel/runtime": "^7.20.13", "@polkadot/keyring": "^10.4.2", @@ -24587,6 +26786,8 @@ }, "@polkadot/types": { "version": "9.14.2", + "resolved": "https://registry.npmjs.org/@polkadot/types/-/types-9.14.2.tgz", + "integrity": "sha512-hGLddTiJbvowhhUZJ3k+olmmBc1KAjWIQxujIUIYASih8FQ3/YJDKxaofGOzh0VygOKW3jxQBN2VZPofyDP9KQ==", "requires": { "@babel/runtime": "^7.20.13", "@polkadot/keyring": "^10.4.2", @@ -24600,6 +26801,8 @@ }, "@polkadot/types-augment": { "version": "9.14.2", + "resolved": "https://registry.npmjs.org/@polkadot/types-augment/-/types-augment-9.14.2.tgz", + "integrity": "sha512-WO9d7RJufUeY3iFgt2Wz762kOu1tjEiGBR5TT4AHtpEchVHUeosVTrN9eycC+BhleqYu52CocKz6u3qCT/jKLg==", "requires": { "@babel/runtime": "^7.20.13", "@polkadot/types": "9.14.2", @@ -24609,6 +26812,8 @@ }, "@polkadot/types-codec": { "version": "9.14.2", + "resolved": "https://registry.npmjs.org/@polkadot/types-codec/-/types-codec-9.14.2.tgz", + "integrity": "sha512-AJ4XF7W1no4PENLBRU955V6gDxJw0h++EN3YoDgThozZ0sj3OxyFupKgNBZcZb2V23H8JxQozzIad8k+nJbO1w==", "requires": { "@babel/runtime": "^7.20.13", "@polkadot/util": "^10.4.2", @@ -24617,6 +26822,8 @@ }, "@polkadot/types-create": { "version": "9.14.2", + "resolved": "https://registry.npmjs.org/@polkadot/types-create/-/types-create-9.14.2.tgz", + "integrity": "sha512-nSnKpBierlmGBQT8r6/SHf6uamBIzk4WmdMsAsR4uJKJF1PtbIqx2W5PY91xWSiMSNMzjkbCppHkwaDAMwLGaw==", "requires": { "@babel/runtime": "^7.20.13", "@polkadot/types-codec": "9.14.2", @@ -24625,6 +26832,8 @@ }, "@polkadot/types-known": { "version": "9.14.2", + "resolved": "https://registry.npmjs.org/@polkadot/types-known/-/types-known-9.14.2.tgz", + "integrity": "sha512-iM8WOCgguzJ3TLMqlm4K1gKQEwWm2zxEKT1HZZ1irs/lAbBk9MquDWDvebryiw3XsLB8xgrp3RTIBn2Q4FjB2A==", "requires": { "@babel/runtime": "^7.20.13", "@polkadot/networks": "^10.4.2", @@ -24636,6 +26845,8 @@ }, "@polkadot/types-support": { "version": "9.14.2", + "resolved": "https://registry.npmjs.org/@polkadot/types-support/-/types-support-9.14.2.tgz", + "integrity": "sha512-VWCOPgXDK3XtXT7wMLyIWeNDZxUbNcw/8Pn6n6vMogs7o/n4h6WGbGMeTIQhPWyn831/RmkVs5+2DUC+2LlOhw==", "requires": { "@babel/runtime": "^7.20.13", "@polkadot/util": "^10.4.2" @@ -24675,12 +26886,16 @@ }, "@polkadot/wasm-bridge": { "version": "6.4.1", + "resolved": "https://registry.npmjs.org/@polkadot/wasm-bridge/-/wasm-bridge-6.4.1.tgz", + "integrity": "sha512-QZDvz6dsUlbYsaMV5biZgZWkYH9BC5AfhT0f0/knv8+LrbAoQdP3Asbvddw8vyU9sbpuCHXrd4bDLBwUCRfrBQ==", "requires": { "@babel/runtime": "^7.20.6" } }, "@polkadot/wasm-crypto": { "version": "6.4.1", + "resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto/-/wasm-crypto-6.4.1.tgz", + "integrity": "sha512-FH+dcDPdhSLJvwL0pMLtn/LIPd62QDPODZRCmDyw+pFjLOMaRBc7raomWUOqyRWJTnqVf/iscc2rLVLNMyt7ag==", "requires": { "@babel/runtime": "^7.20.6", "@polkadot/wasm-bridge": "6.4.1", @@ -24692,12 +26907,16 @@ }, "@polkadot/wasm-crypto-asmjs": { "version": "6.4.1", + "resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto-asmjs/-/wasm-crypto-asmjs-6.4.1.tgz", + "integrity": "sha512-UxZTwuBZlnODGIQdCsE2Sn/jU0O2xrNQ/TkhRFELfkZXEXTNu4lw6NpaKq7Iey4L+wKd8h4lT3VPVkMcPBLOvA==", "requires": { "@babel/runtime": "^7.20.6" } }, "@polkadot/wasm-crypto-init": { "version": "6.4.1", + "resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto-init/-/wasm-crypto-init-6.4.1.tgz", + "integrity": "sha512-1ALagSi/nfkyFaH6JDYfy/QbicVbSn99K8PV9rctDUfxc7P06R7CoqbjGQ4OMPX6w1WYVPU7B4jPHGLYBlVuMw==", "requires": { "@babel/runtime": "^7.20.6", "@polkadot/wasm-bridge": "6.4.1", @@ -24707,6 +26926,8 @@ }, "@polkadot/wasm-crypto-wasm": { "version": "6.4.1", + "resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto-wasm/-/wasm-crypto-wasm-6.4.1.tgz", + "integrity": "sha512-3VV9ZGzh0ZY3SmkkSw+0TRXxIpiO0nB8lFwlRgcwaCihwrvLfRnH9GI8WE12mKsHVjWTEVR3ogzILJxccAUjDA==", "requires": { "@babel/runtime": "^7.20.6", "@polkadot/wasm-util": "6.4.1" @@ -24714,12 +26935,16 @@ }, "@polkadot/wasm-util": { "version": "6.4.1", + "resolved": "https://registry.npmjs.org/@polkadot/wasm-util/-/wasm-util-6.4.1.tgz", + "integrity": "sha512-Uwo+WpEsDmFExWC5kTNvsVhvqXMZEKf4gUHXFn4c6Xz4lmieRT5g+1bO1KJ21pl4msuIgdV3Bksfs/oiqMFqlw==", "requires": { "@babel/runtime": "^7.20.6" } }, "@polkadot/x-bigint": { "version": "10.4.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-10.4.2.tgz", + "integrity": "sha512-awRiox+/XSReLzimAU94fPldowiwnnMUkQJe8AebYhNocAj6SJU00GNoj6j6tAho6yleOwrTJXZaWFBaQVJQNg==", "requires": { "@babel/runtime": "^7.20.13", "@polkadot/x-global": "10.4.2" @@ -24727,6 +26952,8 @@ }, "@polkadot/x-fetch": { "version": "10.4.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-fetch/-/x-fetch-10.4.2.tgz", + "integrity": "sha512-Ubb64yaM4qwhogNP+4mZ3ibRghEg5UuCYRMNaCFoPgNAY8tQXuDKrHzeks3+frlmeH9YRd89o8wXLtWouwZIcw==", "requires": { "@babel/runtime": "^7.20.13", "@polkadot/x-global": "10.4.2", @@ -24736,12 +26963,16 @@ }, "@polkadot/x-global": { "version": "10.4.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-10.4.2.tgz", + "integrity": "sha512-g6GXHD/ykZvHap3M6wh19dO70Zm43l4jEhlxf5LtTo5/0/UporFCXr2YJYZqfbn9JbQwl1AU+NroYio+vtJdiA==", "requires": { "@babel/runtime": "^7.20.13" } }, "@polkadot/x-randomvalues": { "version": "10.4.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-randomvalues/-/x-randomvalues-10.4.2.tgz", + "integrity": "sha512-mf1Wbpe7pRZHO0V3V89isPLqZOy5XGX2bCqsfUWHgb1NvV1MMx5TjVjdaYyNlGTiOkAmJKlOHshcfPU2sYWpNg==", "requires": { "@babel/runtime": "^7.20.13", "@polkadot/x-global": "10.4.2" @@ -24749,6 +26980,8 @@ }, "@polkadot/x-textdecoder": { "version": "10.4.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-10.4.2.tgz", + "integrity": "sha512-d3ADduOKUTU+cliz839+KCFmi23pxTlabH7qh7Vs1GZQvXOELWdqFOqakdiAjtMn68n1KVF4O14Y+OUm7gp/zA==", "requires": { "@babel/runtime": "^7.20.13", "@polkadot/x-global": "10.4.2" @@ -24756,6 +26989,8 @@ }, "@polkadot/x-textencoder": { "version": "10.4.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-10.4.2.tgz", + "integrity": "sha512-mxcQuA1exnyv74Kasl5vxBq01QwckG088lYjc3KwmND6+pPrW2OWagbxFX5VFoDLDAE+UJtnUHsjdWyOTDhpQA==", "requires": { "@babel/runtime": "^7.20.13", "@polkadot/x-global": "10.4.2" @@ -24763,6 +26998,8 @@ }, "@polkadot/x-ws": { "version": "10.4.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-ws/-/x-ws-10.4.2.tgz", + "integrity": "sha512-3gHSTXAWQu1EMcMVTF5QDKHhEHzKxhAArweEyDXE7VsgKUP/ixxw4hVZBrkX122iI5l5mjSiooRSnp/Zl3xqDQ==", "requires": { "@babel/runtime": "^7.20.13", "@polkadot/x-global": "10.4.2", @@ -24772,6 +27009,8 @@ }, "@prb/math": { "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@prb/math/-/math-2.5.0.tgz", + "integrity": "sha512-iSNQd4L3HaYuAIhJliLVa7WGsyjFiQHGpomrFgdj7FhYGHT6Yo8bBwbmwAPF1bHD3LN8gdg+ssKrRUPNaNPEVw==", "requires": { "@ethersproject/bignumber": "^5.5.0", "decimal.js": "^10.3.1", @@ -24780,38 +27019,58 @@ } }, "@protobufjs/aspromise": { - "version": "1.1.2" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" }, "@protobufjs/base64": { - "version": "1.1.2" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" }, "@protobufjs/codegen": { - "version": "2.0.4" + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" }, "@protobufjs/eventemitter": { - "version": "1.1.0" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" }, "@protobufjs/fetch": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", "requires": { "@protobufjs/aspromise": "^1.1.1", "@protobufjs/inquire": "^1.1.0" } }, "@protobufjs/float": { - "version": "1.0.2" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" }, "@protobufjs/inquire": { - "version": "1.1.0" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" }, "@protobufjs/path": { - "version": "1.1.2" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" }, "@protobufjs/pool": { - "version": "1.1.0" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" }, "@protobufjs/utf8": { - "version": "1.1.0" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" }, "@questdb/nodejs-client": { "version": "3.0.0", @@ -24819,19 +27078,32 @@ "integrity": "sha512-lBKd732rRpS/pqyWgCJFVXi9N1YoWDAUZzp6BngBVxH92As/NDXigZmCYKQVKpAEGYx14606CH5AoJ23qf3oqA==" }, "@rdfjs/types": { - "version": "1.1.0", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@rdfjs/types/-/types-1.1.2.tgz", + "integrity": "sha512-wqpOJK1QCbmsGNtyzYnojPU8gRDPid2JO0Q0kMtb4j65xhCK880cnKAfEOwC+dX85VJcCByQx5zOwyyfCjDJsg==", "requires": { "@types/node": "*" } }, + "@rtsao/scc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", + "dev": true, + "peer": true + }, "@rubensworks/saxes": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@rubensworks/saxes/-/saxes-6.0.1.tgz", + "integrity": "sha512-UW4OTIsOtJ5KSXo2Tchi4lhZqu+tlHrOAs4nNti7CrtB53kAZl3/hyrTi6HkMihxdbDM6m2Zc3swc/ZewEe1xw==", "requires": { "xmlchars": "^2.2.0" } }, "@rushstack/node-core-library": { - "version": "5.4.1", + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-5.10.0.tgz", + "integrity": "sha512-2pPLCuS/3x7DCd7liZkqOewGM0OzLyCacdvOe8j6Yrx9LkETGnxul1t7603bIaB8nUAooORcct9fFDOQMbWAgw==", "requires": { "ajv": "~8.13.0", "ajv-draft-04": "~1.0.0", @@ -24845,6 +27117,8 @@ "dependencies": { "ajv": { "version": "8.13.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.13.0.tgz", + "integrity": "sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==", "requires": { "fast-deep-equal": "^3.1.3", "json-schema-traverse": "^1.0.0", @@ -24854,10 +27128,14 @@ }, "ajv-draft-04": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz", + "integrity": "sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==", "requires": {} }, "fs-extra": { "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", "requires": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", @@ -24865,45 +27143,61 @@ } }, "json-schema-traverse": { - "version": "1.0.0" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" }, "jsonfile": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", "requires": { "graceful-fs": "^4.1.6" } }, "lru-cache": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "requires": { "yallist": "^4.0.0" } }, "semver": { "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "requires": { "lru-cache": "^6.0.0" } }, "universalify": { - "version": "0.1.2" + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" }, "yallist": { - "version": "4.0.0" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" } } }, "@rushstack/terminal": { - "version": "0.13.0", + "version": "0.14.3", + "resolved": "https://registry.npmjs.org/@rushstack/terminal/-/terminal-0.14.3.tgz", + "integrity": "sha512-csXbZsAdab/v8DbU1sz7WC2aNaKArcdS/FPmXMOXEj/JBBZMvDK0+1b4Qao0kkG0ciB1Qe86/Mb68GjH6/TnMw==", "requires": { - "@rushstack/node-core-library": "5.4.1", + "@rushstack/node-core-library": "5.10.0", "supports-color": "~8.1.1" } }, "@rushstack/ts-command-line": { - "version": "4.22.0", + "version": "4.23.1", + "resolved": "https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-4.23.1.tgz", + "integrity": "sha512-40jTmYoiu/xlIpkkRsVfENtBq4CW3R4azbL0Vmda+fMwHWqss6wwf/Cy/UJmMqIzpfYc2OTnjYP1ZLD3CmyeCA==", "requires": { - "@rushstack/terminal": "0.13.0", + "@rushstack/terminal": "0.14.3", "@types/argparse": "1.0.38", "argparse": "~1.0.9", "string-argv": "~0.3.1" @@ -24911,20 +27205,28 @@ "dependencies": { "argparse": { "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "requires": { "sprintf-js": "~1.0.2" } }, "sprintf-js": { - "version": "1.0.3" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" } } }, "@scure/base": { - "version": "1.1.1" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.1.tgz", + "integrity": "sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA==" }, "@scure/bip32": { "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.1.5.tgz", + "integrity": "sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw==", "requires": { "@noble/hashes": "~1.2.0", "@noble/secp256k1": "~1.7.0", @@ -24933,6 +27235,8 @@ }, "@scure/bip39": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.1.1.tgz", + "integrity": "sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg==", "requires": { "@noble/hashes": "~1.2.0", "@scure/base": "~1.1.0" @@ -24940,6 +27244,8 @@ }, "@sentry/core": { "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.30.0.tgz", + "integrity": "sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==", "requires": { "@sentry/hub": "5.30.0", "@sentry/minimal": "5.30.0", @@ -24949,12 +27255,16 @@ }, "dependencies": { "tslib": { - "version": "1.14.1" + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" } } }, "@sentry/hub": { "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-5.30.0.tgz", + "integrity": "sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==", "requires": { "@sentry/types": "5.30.0", "@sentry/utils": "5.30.0", @@ -24962,12 +27272,16 @@ }, "dependencies": { "tslib": { - "version": "1.14.1" + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" } } }, "@sentry/minimal": { "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-5.30.0.tgz", + "integrity": "sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==", "requires": { "@sentry/hub": "5.30.0", "@sentry/types": "5.30.0", @@ -24975,12 +27289,16 @@ }, "dependencies": { "tslib": { - "version": "1.14.1" + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" } } }, "@sentry/node": { "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/node/-/node-5.30.0.tgz", + "integrity": "sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==", "requires": { "@sentry/core": "5.30.0", "@sentry/hub": "5.30.0", @@ -24994,15 +27312,21 @@ }, "dependencies": { "cookie": { - "version": "0.4.2" + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==" }, "tslib": { - "version": "1.14.1" + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" } } }, "@sentry/tracing": { "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-5.30.0.tgz", + "integrity": "sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==", "requires": { "@sentry/hub": "5.30.0", "@sentry/minimal": "5.30.0", @@ -25012,22 +27336,30 @@ }, "dependencies": { "tslib": { - "version": "1.14.1" + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" } } }, "@sentry/types": { - "version": "5.30.0" + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-5.30.0.tgz", + "integrity": "sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==" }, "@sentry/utils": { "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-5.30.0.tgz", + "integrity": "sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==", "requires": { "@sentry/types": "5.30.0", "tslib": "^1.9.3" }, "dependencies": { "tslib": { - "version": "1.14.1" + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" } } }, @@ -25039,13 +27371,25 @@ }, "@sinonjs/commons": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", + "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", "dev": true, "requires": { "type-detect": "4.0.8" + }, + "dependencies": { + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true + } } }, "@sinonjs/fake-timers": { "version": "9.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", + "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", "dev": true, "requires": { "@sinonjs/commons": "^1.7.0" @@ -25053,15 +27397,25 @@ "dependencies": { "@sinonjs/commons": { "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", "dev": true, "requires": { "type-detect": "4.0.8" } + }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true } } }, "@sinonjs/samsam": { "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-7.0.1.tgz", + "integrity": "sha512-zsAk2Jkiq89mhZovB2LLOdTCxJF4hqqTToGP0ASWlhp4I1hqOjcfmZGafXntCN7MDC6yySH0mFHrYtHceOeLmw==", "dev": true, "requires": { "@sinonjs/commons": "^2.0.0", @@ -25070,30 +27424,42 @@ } }, "@sinonjs/text-encoding": { - "version": "0.7.2", + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.3.tgz", + "integrity": "sha512-DE427ROAphMQzU4ENbliGYrBSYPXF+TtLg9S8vzeA+OF4ZKzoDdzfL8sxuMUGS/lgRhM6j1URSk9ghf7Xo1tyA==", "dev": true }, "@smessie/readable-web-to-node-stream": { "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smessie/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.3.tgz", + "integrity": "sha512-8FFE7psRtRWQT31/duqbmgnSf2++QLR2YH9kj5iwsHhnoqSvHdOY3SAN5e7dhc+60p2cNk7rv3HYOiXOapTEXQ==", "requires": { "process": "^0.11.10", "readable-stream": "^4.5.1" } }, "@stablelib/aead": { - "version": "1.0.1" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/aead/-/aead-1.0.1.tgz", + "integrity": "sha512-q39ik6sxGHewqtO0nP4BuSe3db5G1fEJE8ukvngS2gLkBXyy6E7pLubhbYgnkDFv6V8cWaxcE4Xn0t6LWcJkyg==" }, "@stablelib/binary": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/binary/-/binary-1.0.1.tgz", + "integrity": "sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q==", "requires": { "@stablelib/int": "^1.0.1" } }, "@stablelib/bytes": { - "version": "1.0.1" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/bytes/-/bytes-1.0.1.tgz", + "integrity": "sha512-Kre4Y4kdwuqL8BR2E9hV/R5sOrUj6NanZaZis0V6lX5yzqC3hBuVSDXUIBqQv/sCpmuWRiHLwqiT1pqqjuBXoQ==" }, "@stablelib/chacha": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/chacha/-/chacha-1.0.1.tgz", + "integrity": "sha512-Pmlrswzr0pBzDofdFuVe1q7KdsHKhhU24e8gkEwnTGOmlC7PADzLVxGdn2PoNVBBabdg0l/IfLKg6sHAbTQugg==", "requires": { "@stablelib/binary": "^1.0.1", "@stablelib/wipe": "^1.0.1" @@ -25101,6 +27467,8 @@ }, "@stablelib/chacha20poly1305": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/chacha20poly1305/-/chacha20poly1305-1.0.1.tgz", + "integrity": "sha512-MmViqnqHd1ymwjOQfghRKw2R/jMIGT3wySN7cthjXCBdO+qErNPUBnRzqNpnvIwg7JBCg3LdeCZZO4de/yEhVA==", "requires": { "@stablelib/aead": "^1.0.1", "@stablelib/binary": "^1.0.1", @@ -25111,13 +27479,19 @@ } }, "@stablelib/constant-time": { - "version": "1.0.1" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/constant-time/-/constant-time-1.0.1.tgz", + "integrity": "sha512-tNOs3uD0vSJcK6z1fvef4Y+buN7DXhzHDPqRLSXUel1UfqMB1PWNsnnAezrKfEwTLpN0cGH2p9NNjs6IqeD0eg==" }, "@stablelib/hash": { - "version": "1.0.1" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/hash/-/hash-1.0.1.tgz", + "integrity": "sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg==" }, "@stablelib/hkdf": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/hkdf/-/hkdf-1.0.1.tgz", + "integrity": "sha512-SBEHYE16ZXlHuaW5RcGk533YlBj4grMeg5TooN80W3NpcHRtLZLLXvKyX0qcRFxf+BGDobJLnwkvgEwHIDBR6g==", "requires": { "@stablelib/hash": "^1.0.1", "@stablelib/hmac": "^1.0.1", @@ -25126,6 +27500,8 @@ }, "@stablelib/hmac": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/hmac/-/hmac-1.0.1.tgz", + "integrity": "sha512-V2APD9NSnhVpV/QMYgCVMIYKiYG6LSqw1S65wxVoirhU/51ACio6D4yDVSwMzuTJXWZoVHbDdINioBwKy5kVmA==", "requires": { "@stablelib/constant-time": "^1.0.1", "@stablelib/hash": "^1.0.1", @@ -25133,16 +27509,22 @@ } }, "@stablelib/int": { - "version": "1.0.1" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/int/-/int-1.0.1.tgz", + "integrity": "sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w==" }, "@stablelib/keyagreement": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/keyagreement/-/keyagreement-1.0.1.tgz", + "integrity": "sha512-VKL6xBwgJnI6l1jKrBAfn265cspaWBPAPEc62VBQrWHLqVgNRE09gQ/AnOEyKUWrrqfD+xSQ3u42gJjLDdMDQg==", "requires": { "@stablelib/bytes": "^1.0.1" } }, "@stablelib/poly1305": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/poly1305/-/poly1305-1.0.1.tgz", + "integrity": "sha512-1HlG3oTSuQDOhSnLwJRKeTRSAdFNVB/1djy2ZbS35rBSJ/PFqx9cf9qatinWghC2UbfOYD8AcrtbUQl8WoxabA==", "requires": { "@stablelib/constant-time": "^1.0.1", "@stablelib/wipe": "^1.0.1" @@ -25150,6 +27532,8 @@ }, "@stablelib/random": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@stablelib/random/-/random-1.0.2.tgz", + "integrity": "sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w==", "requires": { "@stablelib/binary": "^1.0.1", "@stablelib/wipe": "^1.0.1" @@ -25157,6 +27541,8 @@ }, "@stablelib/sha256": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/sha256/-/sha256-1.0.1.tgz", + "integrity": "sha512-GIIH3e6KH+91FqGV42Kcj71Uefd/QEe7Dy42sBTeqppXV95ggCcxLTk39bEr+lZfJmp+ghsR07J++ORkRELsBQ==", "requires": { "@stablelib/binary": "^1.0.1", "@stablelib/hash": "^1.0.1", @@ -25164,10 +27550,14 @@ } }, "@stablelib/wipe": { - "version": "1.0.1" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/wipe/-/wipe-1.0.1.tgz", + "integrity": "sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==" }, "@stablelib/x25519": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@stablelib/x25519/-/x25519-1.0.3.tgz", + "integrity": "sha512-KnTbKmUhPhHavzobclVJQG5kuivH+qDLpe84iRqX3CLrKp881cF160JvXJ+hjn1aMyCwYOKeIZefIH/P5cJoRw==", "requires": { "@stablelib/keyagreement": "^1.0.1", "@stablelib/random": "^1.0.2", @@ -25176,6 +27566,8 @@ }, "@substrate/connect": { "version": "0.7.19", + "resolved": "https://registry.npmjs.org/@substrate/connect/-/connect-0.7.19.tgz", + "integrity": "sha512-+DDRadc466gCmDU71sHrYOt1HcI2Cbhm7zdCFjZfFVHXhC/E8tOdrVSglAH2HDEHR0x2SiHRxtxOGC7ak2Zjog==", "optional": true, "requires": { "@substrate/connect-extension-protocol": "^1.0.1", @@ -25185,20 +27577,28 @@ "dependencies": { "eventemitter3": { "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", "optional": true } } }, "@substrate/connect-extension-protocol": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@substrate/connect-extension-protocol/-/connect-extension-protocol-1.0.1.tgz", + "integrity": "sha512-161JhCC1csjH3GE5mPLEd7HbWtwNSPJBg3p1Ksz9SFlTzj/bgEwudiRN2y5i0MoLGCIJRYKyKGMxVnd29PzNjg==", "optional": true }, "@substrate/connect-known-chains": { - "version": "1.1.6", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@substrate/connect-known-chains/-/connect-known-chains-1.8.0.tgz", + "integrity": "sha512-sl7WfeDgnZuPvUl5Xw0XIziOTe8rEBJ3uugyDETGnafxEbjYMv5aJL0ilq5djhnQ7l9OuMJCN3Ckved2yINeeQ==", "optional": true }, "@substrate/light-client-extension-helpers": { "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@substrate/light-client-extension-helpers/-/light-client-extension-helpers-0.0.6.tgz", + "integrity": "sha512-girltEuxQ1BvkJWmc8JJlk4ZxnlGXc/wkLcNguhY+UoDEMBK0LsdtfzQKIfrIehi4QdeSBlFEFBoI4RqPmsZzA==", "optional": true, "requires": { "@polkadot-api/json-rpc-provider": "0.0.1", @@ -25211,13 +27611,17 @@ }, "dependencies": { "@substrate/connect-extension-protocol": { - "version": "2.0.0", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@substrate/connect-extension-protocol/-/connect-extension-protocol-2.2.1.tgz", + "integrity": "sha512-GoafTgm/Jey9E4Xlj4Z5ZBt/H4drH2CNq8VrAro80rtoznrXnFDNVivLQzZN0Xaj2g8YXSn9pC9Oc9IovYZJXw==", "optional": true } } }, "@substrate/smoldot-light": { "version": "0.7.9", + "resolved": "https://registry.npmjs.org/@substrate/smoldot-light/-/smoldot-light-0.7.9.tgz", + "integrity": "sha512-HP8iP7sFYlpSgjjbo0lqHyU+gu9lL2hbDNce6dWk5/10mFFF9jKIFGfui4zCecUY808o/Go9pan/31kMJoLbug==", "optional": true, "requires": { "pako": "^2.0.4", @@ -25225,7 +27629,9 @@ } }, "@substrate/ss58-registry": { - "version": "1.48.0" + "version": "1.51.0", + "resolved": "https://registry.npmjs.org/@substrate/ss58-registry/-/ss58-registry-1.51.0.tgz", + "integrity": "sha512-TWDurLiPxndFgKjVavCniytBIw+t4ViOi7TYp9h/D0NMmkEc9klFTo+827eyEJ0lELpqO207Ey7uGxUa+BS1jQ==" }, "@szmarczak/http-timer": { "version": "5.0.1", @@ -25238,29 +27644,45 @@ }, "@teppeis/multimaps": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@teppeis/multimaps/-/multimaps-2.0.0.tgz", + "integrity": "sha512-TL1adzq1HdxUf9WYduLcQ/DNGYiz71U31QRgbnr0Ef1cPyOUOsBojxHVWpFeOSUucB6Lrs0LxFRA14ntgtkc9w==", "dev": true }, "@tootallnate/once": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", "dev": true }, "@tsconfig/node10": { - "version": "1.0.11" + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", + "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==" }, "@tsconfig/node12": { - "version": "1.0.11" + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==" }, "@tsconfig/node14": { - "version": "1.0.3" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==" }, "@tsconfig/node16": { - "version": "1.0.4" + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==" }, "@types/argparse": { - "version": "1.0.38" + "version": "1.0.38", + "resolved": "https://registry.npmjs.org/@types/argparse/-/argparse-1.0.38.tgz", + "integrity": "sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==" }, "@types/bn.js": { - "version": "5.1.5", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.6.tgz", + "integrity": "sha512-Xh8vSwUeMKeYYrj3cX4lGQgFSF/N03r+tv4AiLl1SucqV+uTQpxRcnM8AkXKHwYP9ZPXOYXRr2KPXpVlIvqh9w==", "requires": { "@types/node": "*" } @@ -25279,6 +27701,8 @@ }, "@types/debug": { "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", "requires": { "@types/ms": "*" } @@ -25290,13 +27714,17 @@ "dev": true }, "@types/http-link-header": { - "version": "1.0.5", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@types/http-link-header/-/http-link-header-1.0.7.tgz", + "integrity": "sha512-snm5oLckop0K3cTDAiBnZDy6ncx9DJ3mCRDvs42C884MbVYPP74Tiq2hFsSDRTyjK6RyDYDIulPiW23ge+g5Lw==", "requires": { "@types/node": "*" } }, "@types/json5": { "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", "dev": true, "peer": true }, @@ -25310,39 +27738,57 @@ } }, "@types/lodash": { - "version": "4.17.5", + "version": "4.17.13", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.13.tgz", + "integrity": "sha512-lfx+dftrEZcdBPczf9d0Qv0x+j/rfNCMuC6OcfXmO8gkfeNAY88PgKUbvG56whcN23gc27yenwF6oJZXGFpYxg==", "dev": true }, "@types/long": { - "version": "4.0.2" + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", + "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" }, "@types/lru-cache": { - "version": "5.1.1" + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==" }, "@types/minimatch": { - "version": "3.0.5" + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==" }, "@types/minimist": { - "version": "1.2.5" + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==" }, "@types/ms": { - "version": "0.7.34" + "version": "0.7.34", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", + "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==" }, "@types/n3": { - "version": "1.16.4", + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/@types/n3/-/n3-1.21.1.tgz", + "integrity": "sha512-9KxFlFj3etnpdI2nyQEp/jHry5DHxWT22z9Nc/y/hdHe0CHVc9rKu+NacWKUyN06dDLDh7ZnjCzY8yBJ9lmzdw==", "requires": { "@rdfjs/types": "^1.1.0", "@types/node": "*" } }, "@types/node": { - "version": "20.14.2", + "version": "22.10.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.1.tgz", + "integrity": "sha512-qKgsUwfHZV2WCWLAnVP1JqnpE6Im6h3Y0+fYgMTasNQ7V++CBX5OT1as0g0f+OyubbFqhf6XVNIsmN4IIhEgGQ==", "requires": { - "undici-types": "~5.26.4" + "undici-types": "~6.20.0" } }, "@types/node-fetch": { - "version": "2.6.11", + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.12.tgz", + "integrity": "sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA==", "requires": { "@types/node": "*", "form-data": "^4.0.0" @@ -25350,22 +27796,30 @@ }, "@types/pbkdf2": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-uRwJqmiXmh9++aSu1VNEn3iIxWOhd8AHXNSdlaLfdAAdSTY9jYVeGWnzejM3dvrkbqE3/hyQkQQ29IFATEGlew==", "requires": { "@types/node": "*" } }, "@types/qs": { - "version": "6.9.15" + "version": "6.9.17", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.17.tgz", + "integrity": "sha512-rX4/bPcfmvxHDv0XjfJELTTr+iB+tn032nPILqHm5wbthUUUuVtNGGqzhya9XUxjTP8Fpr0qYgSZZKxGY++svQ==" }, "@types/readable-stream": { "version": "2.3.15", + "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-2.3.15.tgz", + "integrity": "sha512-oM5JSKQCcICF1wvGgmecmHldZ48OZamtMxcGGVICOJA8o8cahXC1zEVAif8iwoc5j8etxFaRFnf095+CDsuoFQ==", "requires": { "@types/node": "*", "safe-buffer": "~5.1.1" }, "dependencies": { "safe-buffer": { - "version": "5.1.2" + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" } } }, @@ -25379,93 +27833,133 @@ } }, "@types/retry": { - "version": "0.12.0" + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" }, "@types/secp256k1": { "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.6.tgz", + "integrity": "sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ==", "requires": { "@types/node": "*" } }, "@types/semver": { - "version": "7.5.8" + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==" }, "@types/spark-md5": { - "version": "3.0.4" + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/spark-md5/-/spark-md5-3.0.5.tgz", + "integrity": "sha512-lWf05dnD42DLVKQJZrDHtWFidcLrHuip01CtnC2/S6AMhX4t9ZlEUj4iuRlAnts0PQk7KESOqKxeGE/b6sIPGg==" }, "@types/sparqljs": { - "version": "3.1.10", + "version": "3.1.12", + "resolved": "https://registry.npmjs.org/@types/sparqljs/-/sparqljs-3.1.12.tgz", + "integrity": "sha512-zg/sdKKtYI0845wKPSuSgunyU1o/+7tRzMw85lHsf4p/0UbA6+65MXAyEtv1nkaqSqrq/bXm7+bqXas+Xo5dpQ==", "requires": { "@rdfjs/types": ">=1.0.0" } }, "@types/triple-beam": { - "version": "1.3.5" + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.5.tgz", + "integrity": "sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==" }, "@types/uritemplate": { - "version": "0.3.6" + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@types/uritemplate/-/uritemplate-0.3.6.tgz", + "integrity": "sha512-31BMGZ8GgLxgXxLnqg4KbbyYJjU1flhTTD2+PVQStVUPXSk0IIpK0zt+tH3eLT7ZRwLnzQw6JhYx69qza3U0wg==" }, "@types/uuid": { - "version": "9.0.8" + "version": "9.0.8", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz", + "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==" }, "@types/validator": { - "version": "13.11.10" + "version": "13.12.2", + "resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.12.2.tgz", + "integrity": "sha512-6SlHBzUW8Jhf3liqrGGXyTJSIFe4nqlJ5A5KaMZ2l/vbM3Wh3KSybots/wfWVzNLK4D1NZluDlSQIbIEPx6oyA==" }, "@types/websocket": { "version": "1.0.10", + "resolved": "https://registry.npmjs.org/@types/websocket/-/websocket-1.0.10.tgz", + "integrity": "sha512-svjGZvPB7EzuYS94cI7a+qhwgGU1y89wUgjT6E2wVUfmAGIvRfT7obBvRtnhXCSsoMdlG4gBFGE7MfkIXZLoww==", "requires": { "@types/node": "*" } }, "@types/yargs": { - "version": "17.0.32", + "version": "17.0.33", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", + "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", "requires": { "@types/yargs-parser": "*" } }, "@types/yargs-parser": { - "version": "21.0.3" + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==" }, "@ungap/structured-clone": { - "version": "1.2.0" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" }, "@vascosantos/moving-average": { - "version": "1.1.0" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@vascosantos/moving-average/-/moving-average-1.1.0.tgz", + "integrity": "sha512-MVEJ4vWAPNbrGLjz7ITnHYg+YXZ6ijAqtH5/cHwSoCpbvuJ98aLXwFfPKAUfZpJMQR5uXB58UJajbY130IRF/w==" }, "abab": { "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", "dev": true }, "abort-controller": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", "requires": { "event-target-shim": "^5.0.0" } }, "abortable-iterator": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/abortable-iterator/-/abortable-iterator-3.0.2.tgz", + "integrity": "sha512-qVP8HFfTpUQI2F+f1tpTriKDIZ4XrmwCrBCrQeRKO7DKWF3kgoT6NXiNDv2krrGcHxPwmI63eGQiec81sEaWIw==", "requires": { "get-iterator": "^1.0.2" } }, "abortcontroller-polyfill": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz", - "integrity": "sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ==", + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.6.tgz", + "integrity": "sha512-Zypm+LjYdWAzvuypZvDN0smUJrhOurcuBWhhMRBExqVLRvdjp3Z9mASxKyq19K+meZMshwjjy5S0lkm388zE4Q==", "dev": true }, "accepts": { "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "requires": { "mime-types": "~2.1.34", "negotiator": "0.6.3" } }, "acorn": { - "version": "8.11.3" + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==" }, "acorn-globals": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", "dev": true, "requires": { "acorn": "^7.1.1", @@ -25474,32 +27968,46 @@ "dependencies": { "acorn": { "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true } } }, "acorn-jsx": { "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "requires": {} }, "acorn-walk": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", "dev": true }, "adm-zip": { - "version": "0.4.16" + "version": "0.4.16", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", + "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==" }, "aes-js": { - "version": "3.0.0" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", + "integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==" }, "agent-base": { "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "requires": { "debug": "4" } }, "aggregate-error": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", "requires": { "clean-stack": "^2.0.0", "indent-string": "^4.0.0" @@ -25507,6 +28015,8 @@ }, "ajv": { "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "requires": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -25516,60 +28026,82 @@ }, "ajv-formats": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", "requires": { "ajv": "^8.0.0" }, "dependencies": { "ajv": { - "version": "8.16.0", + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "requires": { "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.4.1" + "require-from-string": "^2.0.2" } }, "json-schema-traverse": { - "version": "1.0.0" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" } } }, "ansi-align": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", "requires": { "string-width": "^4.1.0" } }, "ansi-colors": { - "version": "4.1.3" + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==" }, "ansi-escapes": { "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "requires": { "type-fest": "^0.21.3" }, "dependencies": { "type-fest": { - "version": "0.21.3" + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" } } }, "ansi-regex": { "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true }, "ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "requires": { "color-convert": "^2.0.1" } }, "any-promise": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", "dev": true }, "any-signal": { "version": "2.1.2", + "resolved": "https://registry.npmjs.org/any-signal/-/any-signal-2.1.2.tgz", + "integrity": "sha512-B+rDnWasMi/eWcajPcCWSlYc7muXOrcYrqgyzcdKisl2H/WTlQ0gip1KyQfr0ZlxJdsuWCj/LWwQm7fhyhRfIQ==", "requires": { "abort-controller": "^3.0.0", "native-abort-controller": "^1.0.3" @@ -25577,16 +28109,22 @@ }, "anymatch": { "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "requires": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" } }, "app-root-path": { - "version": "3.1.0" + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-3.1.0.tgz", + "integrity": "sha512-biN3PwB2gUtjaYy/isrU3aNWI5w+fAfvHkSvCKeQGxhmYpwKFUxudR3Yya+KqVRHBmEDYh+/lTozYCFbmzX4nA==" }, "append-transform": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", + "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", "dev": true, "requires": { "default-require-extensions": "^3.0.0" @@ -25594,24 +28132,31 @@ }, "archy": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", "dev": true }, "arg": { - "version": "4.1.3" + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" }, "argparse": { - "version": "2.0.1" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, "aria-query": { - "version": "5.3.0", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", "dev": true, - "peer": true, - "requires": { - "dequal": "^2.0.3" - } + "peer": true }, "array-buffer-byte-length": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", "dev": true, "peer": true, "requires": { @@ -25620,10 +28165,14 @@ } }, "array-flatten": { - "version": "1.1.1" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" }, "array-includes": { "version": "3.1.8", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", + "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", "dev": true, "peer": true, "requires": { @@ -25637,6 +28186,8 @@ }, "array.prototype.findlast": { "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", "dev": true, "peer": true, "requires": { @@ -25650,6 +28201,8 @@ }, "array.prototype.findlastindex": { "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", + "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", "dev": true, "peer": true, "requires": { @@ -25663,6 +28216,8 @@ }, "array.prototype.flat": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", "dev": true, "peer": true, "requires": { @@ -25674,17 +28229,8 @@ }, "array.prototype.flatmap": { "version": "1.3.2", - "dev": true, - "peer": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" - } - }, - "array.prototype.toreversed": { - "version": "1.1.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", "dev": true, "peer": true, "requires": { @@ -25696,6 +28242,8 @@ }, "array.prototype.tosorted": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", "dev": true, "peer": true, "requires": { @@ -25708,6 +28256,8 @@ }, "arraybuffer.prototype.slice": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", "dev": true, "peer": true, "requires": { @@ -25722,7 +28272,9 @@ } }, "arrayify-stream": { - "version": "2.0.1" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrayify-stream/-/arrayify-stream-2.0.1.tgz", + "integrity": "sha512-z8fB6PtmnewQpFB53piS2d1KlUi3BPMICH2h7leCOUXpQcwvZ4GbHHSpdKoUrgLMR6b4Qan/uDe1St3Ao3yIHg==" }, "asn1": { "version": "0.2.6", @@ -25735,6 +28287,8 @@ }, "asn1.js": { "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", "requires": { "bn.js": "^4.0.0", "inherits": "^2.0.1", @@ -25743,20 +28297,28 @@ }, "dependencies": { "bn.js": { - "version": "4.12.0" + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz", + "integrity": "sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==" } } }, "assert-plus": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", "dev": true }, "assertion-error": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", "dev": true }, "assertion-error-formatter": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/assertion-error-formatter/-/assertion-error-formatter-3.0.0.tgz", + "integrity": "sha512-6YyAVLrEze0kQ7CmJfUgrLHb+Y7XghmL2Ie7ijVa2Y9ynP3LV+VDiwFk62Dn0qtqbmY0BT0ss6p1xxpiF2PYbQ==", "dev": true, "requires": { "diff": "^4.0.1", @@ -25765,20 +28327,39 @@ } }, "assertion-tools": { - "version": "2.1.0", + "version": "8.0.0-alpha.2", + "resolved": "https://registry.npmjs.org/assertion-tools/-/assertion-tools-8.0.0-alpha.2.tgz", + "integrity": "sha512-g2vUPGdCB1lAP2jSQMYcfTjlhgmm/92t8l/rxucjYh+QdknuCgkZHOwJzVUxWmsOIYJz2fp0bbU0HKfAQt8LMQ==", "requires": { "ethers": "^5.7.2", "jsonld": "^8.1.0", - "merkletreejs": "^0.3.2" + "merkletreejs": "^0.3.2", + "n3": "^1.23.1", + "rdf-canonize": "^4.0.1", + "uuid": "^8.3.2" + }, + "dependencies": { + "rdf-canonize": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/rdf-canonize/-/rdf-canonize-4.0.1.tgz", + "integrity": "sha512-B5ynHt4sasbUafzrvYI2GFARgeFcD8Sx9yXPbg7gEyT2EH76rlCv84kyO6tnxzVbxUN/uJDbK1S/MXh+DsnuTA==", + "requires": { + "setimmediate": "^1.0.5" + } + } } }, "ast-types-flow": { "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", "dev": true, "peer": true }, "async": { - "version": "3.2.5" + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==" }, "async-limiter": { "version": "1.0.1", @@ -25788,27 +28369,39 @@ }, "async-mutex": { "version": "0.3.2", + "resolved": "https://registry.npmjs.org/async-mutex/-/async-mutex-0.3.2.tgz", + "integrity": "sha512-HuTK7E7MT7jZEh1P9GtRW9+aTWiDWWi9InbZ5hjxrnRa39KS4BW04+xLBhYNS2aXhHUIKZSw3gj4Pn1pj+qGAA==", "requires": { "tslib": "^2.3.1" } }, "asynciterator": { - "version": "3.9.0" + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/asynciterator/-/asynciterator-3.9.0.tgz", + "integrity": "sha512-bwLLTAnoE6Ap6XdjK/j8vDk2Vi9p3ojk0PFwM0SwktAG1k8pfRJF9ng+mmkaRFKdZCQQlOxcWnvOmX2NQ1HV0g==" }, "asyncjoin": { - "version": "1.2.2", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/asyncjoin/-/asyncjoin-1.2.4.tgz", + "integrity": "sha512-7/1g5uV2/iTDQteJ/pxqZq6qkO5406V+vNyOCYtHJ+mo6bmvvQHHrZgd7AtU/rx+cnz08NPWlwk8daW61thnlA==", "requires": { "asynciterator": "^3.9.0" } }, "asynckit": { - "version": "0.4.0" + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, "atomic-sleep": { - "version": "1.0.0" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz", + "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==" }, "available-typed-arrays": { "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", "dev": true, "requires": { "possible-typed-array-names": "^1.0.0" @@ -25816,6 +28409,8 @@ }, "awilix": { "version": "7.0.3", + "resolved": "https://registry.npmjs.org/awilix/-/awilix-7.0.3.tgz", + "integrity": "sha512-4Nmjyh9qloDwXfDK0DBuWd8WyFApyknoaKbE3leQflGLgNfNsBHy2/VYrlyy/mzMobjJ3J8XtNpbjzG3KRkIFQ==", "requires": { "camel-case": "^4.1.2", "fast-glob": "^3.2.11" @@ -25827,6 +28422,11 @@ "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", "dev": true }, + "aws-ssl-profiles": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/aws-ssl-profiles/-/aws-ssl-profiles-1.1.2.tgz", + "integrity": "sha512-NZKeq9AfyQvEeNlN0zSYAaWrmBffJh3IELMZfRpJVWgrpEbtEpnjvzqBPf+mxoI287JohRDoa+/nsfqqiZmF6g==" + }, "aws4": { "version": "1.13.2", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.13.2.tgz", @@ -25834,12 +28434,16 @@ "dev": true }, "axe-core": { - "version": "4.7.0", + "version": "4.10.2", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.2.tgz", + "integrity": "sha512-RE3mdQ7P3FRSe7eqCWoeQ/Z9QXrtniSjp1wUjt5nRC3WIpz5rSCve6o3fsZ2aCpJtrZjSZgjwXAoTO5k4tEI0w==", "dev": true, "peer": true }, "axios": { - "version": "1.7.2", + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.8.tgz", + "integrity": "sha512-Uu0wb7KNqK2t5K+YQyVCLM76prD5sRFjKHbJYCP1J7JFGEQ6nN7HWn9+04LAeiJ3ji54lgS/gZCH1oxyrf1SPw==", "requires": { "follow-redirects": "^1.15.6", "form-data": "^4.0.0", @@ -25847,27 +28451,34 @@ } }, "axobject-query": { - "version": "3.2.1", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", "dev": true, - "peer": true, - "requires": { - "dequal": "^2.0.3" - } + "peer": true }, "b4a": { - "version": "1.6.6", + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.7.tgz", + "integrity": "sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==", "dev": true }, "balanced-match": { - "version": "1.0.2" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "bare-events": { - "version": "2.4.2", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.5.0.tgz", + "integrity": "sha512-/E8dDe9dsbLyh2qrZ64PEPadOQ0F4gbl1sUJOrmph7xOiIxfY8vwab/4bFLh4Y88/Hk/ujKcrQKc+ps0mv873A==", "dev": true, "optional": true }, "bare-fs": { - "version": "2.3.1", + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-2.3.5.tgz", + "integrity": "sha512-SlE9eTxifPDJrT6YgemQ1WGFleevzwY+XAP1Xqgl56HtcrisC2CHCZ2tq6dBpcH2TnNxwUEUGhweo+lrQtYuiw==", "dev": true, "optional": true, "requires": { @@ -25877,12 +28488,16 @@ } }, "bare-os": { - "version": "2.3.0", + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-2.4.4.tgz", + "integrity": "sha512-z3UiI2yi1mK0sXeRdc4O1Kk8aOa/e+FNWZcTiPB/dfTWyLypuE99LibgRaQki914Jq//yAWylcAt+mknKdixRQ==", "dev": true, "optional": true }, "bare-path": { "version": "2.1.3", + "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-2.1.3.tgz", + "integrity": "sha512-lh/eITfU8hrj9Ru5quUp0Io1kJWIk1bTjzo7JH1P5dWmQ2EL4hFUlfI8FonAhSlgIfhn63p84CDY/x+PisgcXA==", "dev": true, "optional": true, "requires": { @@ -25890,24 +28505,32 @@ } }, "bare-stream": { - "version": "2.1.3", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.4.2.tgz", + "integrity": "sha512-XZ4ln/KV4KT+PXdIWTKjsLY+quqCaEtqqtgGJVPw9AoM73By03ij64YjepK0aQvHSWDb6AfAZwqKaFu68qkrdA==", "dev": true, "optional": true, "requires": { - "streamx": "^2.18.0" + "streamx": "^2.20.0" } }, "base-x": { - "version": "3.0.9", + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.10.tgz", + "integrity": "sha512-7d0s06rR9rYaIWHkpfLIFICM/tkSVdoPC9qYAQRpxn9DdKNWNsKC0uk++akckyLq16Tx2WIinnZ6WRriAt6njQ==", "requires": { "safe-buffer": "^5.0.1" } }, "base64-js": { - "version": "1.5.1" + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" }, "base64url": { - "version": "3.0.1" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/base64url/-/base64url-3.0.1.tgz", + "integrity": "sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==" }, "bcrypt-pbkdf": { "version": "1.0.2", @@ -25927,32 +28550,46 @@ } }, "bech32": { - "version": "1.1.4" + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", + "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==" }, "big-integer": { - "version": "1.6.52" + "version": "1.6.52", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz", + "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==" }, "bignumber.js": { - "version": "9.1.2" + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.2.tgz", + "integrity": "sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==" }, "binary": { "version": "0.3.0", + "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz", + "integrity": "sha512-D4H1y5KYwpJgK8wk1Cue5LLPgmwHKYSChkbspQg5JtVuR5ulGckxfR62H3AE9UDkdMC8yyXlqYihuz3Aqg2XZg==", "requires": { "buffers": "~0.1.1", "chainsaw": "~0.1.0" } }, "binary-extensions": { - "version": "2.3.0" + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==" }, "bindings": { "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", "requires": { "file-uri-to-path": "1.0.0" } }, "bl": { "version": "5.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-5.1.0.tgz", + "integrity": "sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==", "requires": { "buffer": "^6.0.3", "inherits": "^2.0.4", @@ -25961,6 +28598,8 @@ "dependencies": { "readable-stream": { "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -25970,16 +28609,24 @@ } }, "blakejs": { - "version": "1.2.1" + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", + "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" }, "bluebird": { - "version": "3.4.7" + "version": "3.4.7", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz", + "integrity": "sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA==" }, "bn.js": { - "version": "5.2.1" + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" }, "body-parser": { - "version": "1.20.2", + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", "requires": { "bytes": "3.1.2", "content-type": "~1.0.5", @@ -25989,7 +28636,7 @@ "http-errors": "2.0.0", "iconv-lite": "0.4.24", "on-finished": "2.4.1", - "qs": "6.11.0", + "qs": "6.13.0", "raw-body": "2.5.2", "type-is": "~1.6.18", "unpipe": "1.0.0" @@ -25997,23 +28644,31 @@ "dependencies": { "debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "requires": { "ms": "2.0.0" } }, "iconv-lite": { "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "requires": { "safer-buffer": ">= 2.1.2 < 3" } }, "ms": { - "version": "2.0.0" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" } } }, "boxen": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", + "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", "requires": { "ansi-align": "^3.0.0", "camelcase": "^6.2.0", @@ -26027,6 +28682,8 @@ }, "brace-expansion": { "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -26034,22 +28691,32 @@ }, "braces": { "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "requires": { "fill-range": "^7.1.1" } }, "brorand": { - "version": "1.1.0" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" }, "browser-process-hrtime": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", "dev": true }, "browser-stdout": { - "version": "1.3.1" + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" }, "browserify-aes": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "requires": { "buffer-xor": "^1.0.3", "cipher-base": "^1.0.0", @@ -26060,23 +28727,29 @@ } }, "browserslist": { - "version": "4.23.1", + "version": "4.24.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz", + "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001629", - "electron-to-chromium": "^1.4.796", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.16" + "caniuse-lite": "^1.0.30001669", + "electron-to-chromium": "^1.5.41", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.1" } }, "bs58": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", + "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", "requires": { "base-x": "^3.0.2" } }, "bs58check": { "version": "2.1.2", + "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", + "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", "requires": { "bs58": "^4.0.0", "create-hash": "^1.1.0", @@ -26085,22 +28758,32 @@ }, "buffer": { "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "requires": { "base64-js": "^1.3.1", "ieee754": "^1.2.1" } }, "buffer-equal-constant-time": { - "version": "1.0.1" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" }, "buffer-from": { - "version": "1.1.2" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, "buffer-indexof-polyfill": { - "version": "1.0.2" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.2.tgz", + "integrity": "sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A==" }, "buffer-reverse": { - "version": "1.0.1" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-reverse/-/buffer-reverse-1.0.1.tgz", + "integrity": "sha512-M87YIUBsZ6N924W57vDwT/aOu8hw7ZgdByz6ijksLjmHJELBASmYTTlNHRgjE+pTsT9oJXGaDSgqqwfdHotDUg==" }, "buffer-to-arraybuffer": { "version": "0.0.5", @@ -26109,25 +28792,35 @@ "dev": true }, "buffer-xor": { - "version": "1.0.3" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" }, "buffers": { - "version": "0.1.1" + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz", + "integrity": "sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ==" }, "bufferutil": { "version": "4.0.8", + "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.8.tgz", + "integrity": "sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw==", "requires": { "node-gyp-build": "^4.3.0" } }, "busboy": { "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", "requires": { "streamsearch": "^1.1.0" } }, "bytes": { - "version": "3.1.2" + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" }, "cacheable-lookup": { "version": "6.1.0", @@ -26169,6 +28862,8 @@ }, "caching-transform": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", + "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", "dev": true, "requires": { "hasha": "^5.0.0", @@ -26179,6 +28874,8 @@ }, "call-bind": { "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "requires": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", @@ -26188,27 +28885,39 @@ } }, "callsites": { - "version": "3.1.0" + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" }, "camel-case": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", "requires": { "pascal-case": "^3.1.2", "tslib": "^2.0.3" } }, "camelcase": { - "version": "6.3.0" + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" }, "caniuse-lite": { - "version": "1.0.30001633", + "version": "1.0.30001684", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001684.tgz", + "integrity": "sha512-G1LRwLIQjBQoyq0ZJGqGIJUXzJ8irpbjHLpVRXDvBEScFJ9b17sgK6vlx0GAJFE21okD7zXl08rRRUfq6HdoEQ==", "dev": true }, "canonicalize": { - "version": "2.0.0" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/canonicalize/-/canonicalize-2.0.0.tgz", + "integrity": "sha512-ulDEYPv7asdKvqahuAY35c1selLdzDwHqugK92hfkzvlDCwXRRelDkR+Er33md/PtnpqHemgkuDPanZ4fiYZ8w==" }, "capital-case": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/capital-case/-/capital-case-1.0.4.tgz", + "integrity": "sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==", "dev": true, "requires": { "no-case": "^3.0.4", @@ -26223,7 +28932,9 @@ "dev": true }, "chai": { - "version": "4.4.1", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.5.0.tgz", + "integrity": "sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==", "dev": true, "requires": { "assertion-error": "^1.1.0", @@ -26232,17 +28943,21 @@ "get-func-name": "^2.0.2", "loupe": "^2.3.6", "pathval": "^1.1.1", - "type-detect": "^4.0.8" + "type-detect": "^4.1.0" } }, "chainsaw": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", + "integrity": "sha512-75kWfWt6MEKNC8xYXIdRpDehRYY/tNSgwKaJq+dbbDcxORuVrrQ+SEHoWsniVn9XPYfP4gmdWIeDk/4YNp1rNQ==", "requires": { "traverse": ">=0.3.0 <0.4" } }, "chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -26250,6 +28965,8 @@ "dependencies": { "supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "requires": { "has-flag": "^4.0.0" } @@ -26258,38 +28975,31 @@ }, "check-error": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", "dev": true, "requires": { "get-func-name": "^2.0.2" } }, "chokidar": { - "version": "3.6.0", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.1.tgz", + "integrity": "sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==", "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "requires": { - "is-glob": "^4.0.1" - } - } + "readdirp": "^4.0.1" } }, "chownr": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", "dev": true }, "ci-info": { - "version": "2.0.0" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" }, "cids": { "version": "0.7.5", @@ -26333,27 +29043,39 @@ } }, "cipher-base": { - "version": "1.0.4", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.6.tgz", + "integrity": "sha512-3Ek9H3X6pj5TgenXYtNWdaBon1tgYCaebd+XPg0keyjEbEfkD4KkmAxkQ/i1vYvxdcT5nscLBfq9VJRmCBcFSw==", "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "inherits": "^2.0.4", + "safe-buffer": "^5.2.1" } }, "class-is": { - "version": "1.1.0" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", + "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==" }, "class-transformer": { "version": "0.5.1", + "resolved": "https://registry.npmjs.org/class-transformer/-/class-transformer-0.5.1.tgz", + "integrity": "sha512-SQa1Ws6hUbfC98vKGxZH3KFY0Y1lm5Zm0SY8XX9zbK7FJCyVEac3ATW0RIpwzW+oOfmHE5PMPufDG9hCfoEOMw==", "dev": true }, "clean-stack": { - "version": "2.2.0" + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" }, "cli-boxes": { - "version": "2.2.1" + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", + "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==" }, "cli-cursor": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", + "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", "dev": true, "requires": { "restore-cursor": "^4.0.0" @@ -26361,6 +29083,8 @@ }, "cli-table3": { "version": "0.6.3", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", + "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", "dev": true, "requires": { "@colors/colors": "1.5.0", @@ -26369,6 +29093,8 @@ }, "cli-truncate": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-3.1.0.tgz", + "integrity": "sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==", "dev": true, "requires": { "slice-ansi": "^5.0.0", @@ -26376,11 +29102,15 @@ }, "dependencies": { "ansi-regex": { - "version": "6.0.1", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true }, "string-width": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, "requires": { "eastasianwidth": "^0.2.0", @@ -26390,6 +29120,8 @@ }, "strip-ansi": { "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "requires": { "ansi-regex": "^6.0.1" @@ -26399,6 +29131,8 @@ }, "cliui": { "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "requires": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", @@ -26424,6 +29158,8 @@ }, "color": { "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", "dev": true, "requires": { "color-convert": "^2.0.1", @@ -26432,25 +29168,35 @@ }, "color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "requires": { "color-name": "~1.1.4" } }, "color-name": { - "version": "1.1.4" + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "color-string": { "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", "requires": { "color-name": "^1.0.0", "simple-swizzle": "^0.2.2" } }, "colorette": { - "version": "2.0.20" + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" }, "colorspace": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz", + "integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==", "requires": { "color": "^3.1.3", "text-hex": "1.0.x" @@ -26458,6 +29204,8 @@ "dependencies": { "color": { "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", "requires": { "color-convert": "^1.9.3", "color-string": "^1.6.0" @@ -26465,37 +29213,53 @@ }, "color-convert": { "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "requires": { "color-name": "1.1.3" } }, "color-name": { - "version": "1.1.3" + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" } } }, "combined-stream": { "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "requires": { "delayed-stream": "~1.0.0" } }, "command-exists": { - "version": "1.2.9" + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" }, "commander": { "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", "dev": true }, "commondir": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", "dev": true }, "complex.js": { - "version": "2.1.1" + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/complex.js/-/complex.js-2.4.2.tgz", + "integrity": "sha512-qtx7HRhPGSCBtGiST4/WGHuW+zeaND/6Ld+db6PbrulIB1i2Ev/2UPiqcmpQNPSyfBKraC0EOvOKCB5dGZKt3g==" }, "componentsjs": { "version": "5.5.1", + "resolved": "https://registry.npmjs.org/componentsjs/-/componentsjs-5.5.1.tgz", + "integrity": "sha512-hmqq+ZUa98t9CoeWPGwE14I18aXQFAt66HRd8DaZCNggcSr82vhlyrjeXX0JAUMgr2MyQzwKstkv4INRAREguA==", "requires": { "@rdfjs/types": "*", "@types/minimist": "^1.2.0", @@ -26514,22 +29278,35 @@ }, "dependencies": { "@types/node": { - "version": "18.19.34", + "version": "18.19.67", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.67.tgz", + "integrity": "sha512-wI8uHusga+0ZugNp0Ol/3BqQfEcCCNfojtO6Oou9iVNGPTL6QNSdnUdqq85fRgIorLhLMuPIKpsN98QE9Nh+KQ==", "requires": { "undici-types": "~5.26.4" } + }, + "undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" } } }, "concat-map": { - "version": "0.0.1" + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, "confusing-browser-globals": { "version": "1.0.11", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", + "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", "dev": true }, "content-disposition": { "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "requires": { "safe-buffer": "5.2.1" } @@ -26546,23 +29323,35 @@ } }, "content-type": { - "version": "1.0.5" + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==" }, "convert-source-map": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", "dev": true }, "cookie": { - "version": "0.6.0" + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", + "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==" }, "cookie-signature": { - "version": "1.0.6" + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" }, "core-util-is": { - "version": "1.0.2" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" }, "cors": { "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", "requires": { "object-assign": "^4", "vary": "^1" @@ -26576,6 +29365,8 @@ }, "create-hash": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "requires": { "cipher-base": "^1.0.1", "inherits": "^2.0.1", @@ -26586,6 +29377,8 @@ }, "create-hmac": { "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "requires": { "cipher-base": "^1.0.3", "create-hash": "^1.1.0", @@ -26596,28 +29389,40 @@ } }, "create-require": { - "version": "1.1.1" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" }, "cross-fetch": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz", + "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==", "requires": { "node-fetch": "^2.6.12" }, "dependencies": { "node-fetch": { "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "requires": { "whatwg-url": "^5.0.0" } }, "tr46": { - "version": "0.0.3" + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, "webidl-conversions": { - "version": "3.0.1" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, "whatwg-url": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "requires": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -26626,7 +29431,9 @@ } }, "cross-spawn": { - "version": "7.0.3", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "requires": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -26634,14 +29441,20 @@ } }, "crypto-js": { - "version": "4.2.0" + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz", + "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==" }, "cssom": { "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", "dev": true }, "cssstyle": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", "dev": true, "requires": { "cssom": "~0.3.6" @@ -26649,12 +29462,16 @@ "dependencies": { "cssom": { "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", "dev": true } } }, "d": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.2.tgz", + "integrity": "sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==", "requires": { "es5-ext": "^0.10.64", "type": "^2.7.2" @@ -26662,6 +29479,8 @@ }, "d3": { "version": "7.9.0", + "resolved": "https://registry.npmjs.org/d3/-/d3-7.9.0.tgz", + "integrity": "sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==", "dev": true, "requires": { "d3-array": "3", @@ -26698,6 +29517,8 @@ }, "d3-array": { "version": "3.2.4", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", + "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", "dev": true, "requires": { "internmap": "1 - 2" @@ -26705,10 +29526,14 @@ }, "d3-axis": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz", + "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==", "dev": true }, "d3-brush": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz", + "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==", "dev": true, "requires": { "d3-dispatch": "1 - 3", @@ -26720,6 +29545,8 @@ }, "d3-chord": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz", + "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==", "dev": true, "requires": { "d3-path": "1 - 3" @@ -26727,14 +29554,20 @@ }, "d3-collection": { "version": "1.0.7", + "resolved": "https://registry.npmjs.org/d3-collection/-/d3-collection-1.0.7.tgz", + "integrity": "sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A==", "dev": true }, "d3-color": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", "dev": true }, "d3-contour": { "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz", + "integrity": "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==", "dev": true, "requires": { "d3-array": "^3.2.0" @@ -26742,6 +29575,8 @@ }, "d3-delaunay": { "version": "6.0.4", + "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz", + "integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==", "dev": true, "requires": { "delaunator": "5" @@ -26749,10 +29584,14 @@ }, "d3-dispatch": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz", + "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==", "dev": true }, "d3-drag": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz", + "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", "dev": true, "requires": { "d3-dispatch": "1 - 3", @@ -26761,6 +29600,8 @@ }, "d3-dsv": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz", + "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==", "dev": true, "requires": { "commander": "7", @@ -26770,16 +29611,22 @@ "dependencies": { "commander": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", "dev": true } } }, "d3-ease": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", + "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", "dev": true }, "d3-fetch": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz", + "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==", "dev": true, "requires": { "d3-dsv": "1 - 3" @@ -26787,6 +29634,8 @@ }, "d3-force": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz", + "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==", "dev": true, "requires": { "d3-dispatch": "1 - 3", @@ -26796,10 +29645,14 @@ }, "d3-format": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", + "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", "dev": true }, "d3-geo": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.1.tgz", + "integrity": "sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==", "dev": true, "requires": { "d3-array": "2.5.0 - 3" @@ -26807,10 +29660,14 @@ }, "d3-hierarchy": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz", + "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==", "dev": true }, "d3-interpolate": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", "dev": true, "requires": { "d3-color": "1 - 3" @@ -26818,6 +29675,8 @@ }, "d3-node": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-node/-/d3-node-3.0.0.tgz", + "integrity": "sha512-JuuBToljSQBo+KHSuPVOEdKawsxuLDlrB8TZY8AkPkpvyKaGgX+g0ksgjRg+Mgat9fB77qFQrk09j72cD0yk7w==", "dev": true, "requires": { "d3": "^5.16.0", @@ -26826,10 +29685,14 @@ "dependencies": { "commander": { "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, "d3": { "version": "5.16.0", + "resolved": "https://registry.npmjs.org/d3/-/d3-5.16.0.tgz", + "integrity": "sha512-4PL5hHaHwX4m7Zr1UapXW23apo6pexCgdetdJ5kTmADpG/7T9Gkxw0M0tf/pjoB63ezCCm0u5UaFYy2aMt0Mcw==", "dev": true, "requires": { "d3-array": "1", @@ -26867,14 +29730,20 @@ }, "d3-array": { "version": "1.2.4", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.4.tgz", + "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==", "dev": true }, "d3-axis": { "version": "1.0.12", + "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-1.0.12.tgz", + "integrity": "sha512-ejINPfPSNdGFKEOAtnBtdkpr24c4d4jsei6Lg98mxf424ivoDP2956/5HDpIAtmHo85lqT4pruy+zEgvRUBqaQ==", "dev": true }, "d3-brush": { "version": "1.1.6", + "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-1.1.6.tgz", + "integrity": "sha512-7RW+w7HfMCPyZLifTz/UnJmI5kdkXtpCbombUSs8xniAyo0vIbrDzDwUJB6eJOgl9u5DQOt2TQlYumxzD1SvYA==", "dev": true, "requires": { "d3-dispatch": "1", @@ -26886,6 +29755,8 @@ }, "d3-chord": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-1.0.6.tgz", + "integrity": "sha512-JXA2Dro1Fxw9rJe33Uv+Ckr5IrAa74TlfDEhE/jfLOaXegMQFQTAgAw9WnZL8+HxVBRXaRGCkrNU7pJeylRIuA==", "dev": true, "requires": { "d3-array": "1", @@ -26894,10 +29765,14 @@ }, "d3-color": { "version": "1.4.1", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-1.4.1.tgz", + "integrity": "sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q==", "dev": true }, "d3-contour": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-1.3.2.tgz", + "integrity": "sha512-hoPp4K/rJCu0ladiH6zmJUEz6+u3lgR+GSm/QdM2BBvDraU39Vr7YdDCicJcxP1z8i9B/2dJLgDC1NcvlF8WCg==", "dev": true, "requires": { "d3-array": "^1.1.1" @@ -26905,10 +29780,14 @@ }, "d3-dispatch": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-1.0.6.tgz", + "integrity": "sha512-fVjoElzjhCEy+Hbn8KygnmMS7Or0a9sI2UzGwoB7cCtvI1XpVN9GpoYlnb3xt2YV66oXYb1fLJ8GMvP4hdU1RA==", "dev": true }, "d3-drag": { "version": "1.2.5", + "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-1.2.5.tgz", + "integrity": "sha512-rD1ohlkKQwMZYkQlYVCrSFxsWPzI97+W+PaEIBNTMxRuxz9RF0Hi5nJWHGVJ3Om9d2fRTe1yOBINJyy/ahV95w==", "dev": true, "requires": { "d3-dispatch": "1", @@ -26917,6 +29796,8 @@ }, "d3-dsv": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-1.2.0.tgz", + "integrity": "sha512-9yVlqvZcSOMhCYzniHE7EVUws7Fa1zgw+/EAV2BxJoG3ME19V6BQFBwI855XQDsxyOuG7NibqRMTtiF/Qup46g==", "dev": true, "requires": { "commander": "2", @@ -26926,10 +29807,14 @@ }, "d3-ease": { "version": "1.0.7", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-1.0.7.tgz", + "integrity": "sha512-lx14ZPYkhNx0s/2HX5sLFUI3mbasHjSSpwO/KaaNACweVwxUruKyWVcb293wMv1RqTPZyZ8kSZ2NogUZNcLOFQ==", "dev": true }, "d3-fetch": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-1.2.0.tgz", + "integrity": "sha512-yC78NBVcd2zFAyR/HnUiBS7Lf6inSCoWcSxFfw8FYL7ydiqe80SazNwoffcqOfs95XaLo7yebsmQqDKSsXUtvA==", "dev": true, "requires": { "d3-dsv": "1" @@ -26937,6 +29822,8 @@ }, "d3-force": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-1.2.1.tgz", + "integrity": "sha512-HHvehyaiUlVo5CxBJ0yF/xny4xoaxFxDnBXNvNcfW9adORGZfyNF1dj6DGLKyk4Yh3brP/1h3rnDzdIAwL08zg==", "dev": true, "requires": { "d3-collection": "1", @@ -26947,10 +29834,14 @@ }, "d3-format": { "version": "1.4.5", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.4.5.tgz", + "integrity": "sha512-J0piedu6Z8iB6TbIGfZgDzfXxUFN3qQRMofy2oPdXzQibYGqPB/9iMcxr/TGalU+2RsyDO+U4f33id8tbnSRMQ==", "dev": true }, "d3-geo": { "version": "1.12.1", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-1.12.1.tgz", + "integrity": "sha512-XG4d1c/UJSEX9NfU02KwBL6BYPj8YKHxgBEw5om2ZnTRSbIcego6dhHwcxuSR3clxh0EpE38os1DVPOmnYtTPg==", "dev": true, "requires": { "d3-array": "1" @@ -26958,10 +29849,14 @@ }, "d3-hierarchy": { "version": "1.1.9", + "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-1.1.9.tgz", + "integrity": "sha512-j8tPxlqh1srJHAtxfvOUwKNYJkQuBFdM1+JAUfq6xqH5eAqf93L7oG1NVqDa4CpFZNvnNKtCYEUC8KY9yEn9lQ==", "dev": true }, "d3-interpolate": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-1.4.0.tgz", + "integrity": "sha512-V9znK0zc3jOPV4VD2zZn0sDhZU3WAE2bmlxdIwwQPPzPjvyLkd8B3JUVdS1IDUFDkWZ72c9qnv1GK2ZagTZ8EA==", "dev": true, "requires": { "d3-color": "1" @@ -26969,22 +29864,32 @@ }, "d3-path": { "version": "1.0.9", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz", + "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==", "dev": true }, "d3-polygon": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-1.0.6.tgz", + "integrity": "sha512-k+RF7WvI08PC8reEoXa/w2nSg5AUMTi+peBD9cmFc+0ixHfbs4QmxxkarVal1IkVkgxVuk9JSHhJURHiyHKAuQ==", "dev": true }, "d3-quadtree": { "version": "1.0.7", + "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-1.0.7.tgz", + "integrity": "sha512-RKPAeXnkC59IDGD0Wu5mANy0Q2V28L+fNe65pOCXVdVuTJS3WPKaJlFHer32Rbh9gIo9qMuJXio8ra4+YmIymA==", "dev": true }, "d3-random": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-1.1.2.tgz", + "integrity": "sha512-6AK5BNpIFqP+cx/sreKzNjWbwZQCSUatxq+pPRmFIQaWuoD+NrbVWw7YWpHiXpCQ/NanKdtGDuB+VQcZDaEmYQ==", "dev": true }, "d3-scale": { "version": "2.2.2", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-2.2.2.tgz", + "integrity": "sha512-LbeEvGgIb8UMcAa0EATLNX0lelKWGYDQiPdHj+gLblGVhGLyNbaCn3EvrJf0A3Y/uOOU5aD6MTh5ZFCdEwGiCw==", "dev": true, "requires": { "d3-array": "^1.2.0", @@ -26997,6 +29902,8 @@ }, "d3-scale-chromatic": { "version": "1.5.0", + "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-1.5.0.tgz", + "integrity": "sha512-ACcL46DYImpRFMBcpk9HhtIyC7bTBR4fNOPxwVSl0LfulDAwyiHyPOTqcDG1+t5d4P9W7t/2NAuWu59aKko/cg==", "dev": true, "requires": { "d3-color": "1", @@ -27005,10 +29912,14 @@ }, "d3-selection": { "version": "1.4.2", + "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-1.4.2.tgz", + "integrity": "sha512-SJ0BqYihzOjDnnlfyeHT0e30k0K1+5sR3d5fNueCNeuhZTnGw4M4o8mqJchSwgKMXCNFo+e2VTChiSJ0vYtXkg==", "dev": true }, "d3-shape": { "version": "1.3.7", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz", + "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==", "dev": true, "requires": { "d3-path": "1" @@ -27016,10 +29927,14 @@ }, "d3-time": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-1.1.0.tgz", + "integrity": "sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA==", "dev": true }, "d3-time-format": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-2.3.0.tgz", + "integrity": "sha512-guv6b2H37s2Uq/GefleCDtbe0XZAuy7Wa49VGkPVPMfLL9qObgBST3lEHJBMUp8S7NdLQAGIvr2KXk8Hc98iKQ==", "dev": true, "requires": { "d3-time": "1" @@ -27027,10 +29942,14 @@ }, "d3-timer": { "version": "1.0.10", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-1.0.10.tgz", + "integrity": "sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw==", "dev": true }, "d3-transition": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-1.3.2.tgz", + "integrity": "sha512-sc0gRU4PFqZ47lPVHloMn9tlPcv8jxgOQg+0zjhfZXMQuvppjG6YuwdMBE0TuqCZjeJkLecku/l9R0JPcRhaDA==", "dev": true, "requires": { "d3-color": "1", @@ -27043,6 +29962,8 @@ }, "d3-zoom": { "version": "1.8.3", + "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-1.8.3.tgz", + "integrity": "sha512-VoLXTK4wvy1a0JpH2Il+F2CiOhVu7VRXWF5M/LroMIh3/zBAC3WAt7QoIvPibOavVo20hN6/37vwAsdBejLyKQ==", "dev": true, "requires": { "d3-dispatch": "1", @@ -27054,6 +29975,8 @@ }, "iconv-lite": { "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "requires": { "safer-buffer": ">= 2.1.2 < 3" @@ -27063,22 +29986,32 @@ }, "d3-path": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", "dev": true }, "d3-polygon": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz", + "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==", "dev": true }, "d3-quadtree": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz", + "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==", "dev": true }, "d3-random": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz", + "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==", "dev": true }, "d3-scale": { "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", + "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", "dev": true, "requires": { "d3-array": "2.10.0 - 3", @@ -27090,6 +30023,8 @@ }, "d3-scale-chromatic": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", + "integrity": "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==", "dev": true, "requires": { "d3-color": "1 - 3", @@ -27098,10 +30033,14 @@ }, "d3-selection": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", + "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", "dev": true }, "d3-shape": { "version": "3.2.0", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", + "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", "dev": true, "requires": { "d3-path": "^3.1.0" @@ -27109,6 +30048,8 @@ }, "d3-time": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", + "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", "dev": true, "requires": { "d3-array": "2 - 3" @@ -27116,6 +30057,8 @@ }, "d3-time-format": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", + "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", "dev": true, "requires": { "d3-time": "1 - 3" @@ -27123,10 +30066,14 @@ }, "d3-timer": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", + "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", "dev": true }, "d3-transition": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz", + "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==", "dev": true, "requires": { "d3-color": "1 - 3", @@ -27138,10 +30085,14 @@ }, "d3-voronoi": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/d3-voronoi/-/d3-voronoi-1.1.4.tgz", + "integrity": "sha512-dArJ32hchFsrQ8uMiTBLq256MpnZjeuBtdHpaDlYuQyjU0CVzCJl/BVW+SkszaAeH95D/8gxqAhgx0ouAWAfRg==", "dev": true }, "d3-zoom": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz", + "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==", "dev": true, "requires": { "d3-dispatch": "1 - 3", @@ -27153,6 +30104,8 @@ }, "damerau-levenshtein": { "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", "dev": true, "peer": true }, @@ -27166,10 +30119,14 @@ } }, "data-uri-to-buffer": { - "version": "4.0.1" + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", + "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==" }, "data-urls": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", "dev": true, "requires": { "abab": "^2.0.3", @@ -27179,6 +30136,8 @@ }, "data-view-buffer": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", + "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", "dev": true, "peer": true, "requires": { @@ -27189,6 +30148,8 @@ }, "data-view-byte-length": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", + "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", "dev": true, "peer": true, "requires": { @@ -27199,6 +30160,8 @@ }, "data-view-byte-offset": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", + "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", "dev": true, "peer": true, "requires": { @@ -27208,25 +30171,28 @@ } }, "dateformat": { - "version": "4.6.3" + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-4.6.3.tgz", + "integrity": "sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==" }, "debug": { - "version": "4.3.5", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "requires": { - "ms": "2.1.2" - }, - "dependencies": { - "ms": { - "version": "2.1.2" - } + "ms": "^2.1.3" } }, "decamelize": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "dev": true }, "decimal.js": { - "version": "10.4.3" + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" }, "decode-uri-component": { "version": "0.2.2", @@ -27236,6 +30202,8 @@ }, "decompress-response": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", "dev": true, "requires": { "mimic-response": "^3.1.0" @@ -27243,25 +30211,35 @@ }, "deep-eql": { "version": "4.1.4", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.4.tgz", + "integrity": "sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==", "dev": true, "requires": { "type-detect": "^4.0.0" } }, "deep-extend": { - "version": "0.6.0" + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" }, "deep-is": { - "version": "0.1.4" + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" }, "default-gateway": { "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", "requires": { "execa": "^5.0.0" } }, "default-require-extensions": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.1.tgz", + "integrity": "sha512-eXTJmRbm2TIt9MgWTsOH1wEuhew6XGZcMeGKCtLedIg/NCsg1iBePXkceTdK4Fii7pzmN9tGsZhKzZ4h7O/fxw==", "dev": true, "requires": { "strip-bom": "^4.0.0" @@ -27275,6 +30253,8 @@ }, "define-data-property": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "requires": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", @@ -27283,6 +30263,8 @@ }, "define-properties": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", "dev": true, "requires": { "define-data-property": "^1.0.1", @@ -27292,39 +30274,48 @@ }, "delaunator": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.1.tgz", + "integrity": "sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==", "dev": true, "requires": { "robust-predicates": "^3.0.2" } }, "delayed-stream": { - "version": "1.0.0" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" }, "denque": { - "version": "2.1.0" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz", + "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==" }, "depd": { - "version": "2.0.0" - }, - "dequal": { - "version": "2.0.3", - "dev": true, - "peer": true + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" }, "destroy": { - "version": "1.2.0" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" }, "detect-libc": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", + "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", "dev": true }, "diff": { - "version": "4.0.2" + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" }, "dkg-evm-module": { - "version": "8.0.1-alpha.1", - "resolved": "https://registry.npmjs.org/dkg-evm-module/-/dkg-evm-module-8.0.1-alpha.1.tgz", - "integrity": "sha512-D0lncygaWyuXBMq9U5ApXhdrAVyvkJEG7pO8knED7l5jwaCw6SNYTkhUc8FMVqX+9g9quo56SlxTGYGCMocgRw==", + "version": "8.0.2-alpha.0", + "resolved": "https://registry.npmjs.org/dkg-evm-module/-/dkg-evm-module-8.0.2-alpha.0.tgz", + "integrity": "sha512-T24YV2JBiOb6tXhJymhc2nYbv99vLMXr/fLXGITMSZBpdPrjCL0mClfit2k3XZ4GtUrZg7NJXBAu4ZFyXuHyhQ==", "requires": { "@openzeppelin/contracts": "^4.9.3", "@polkadot/api": "^11.0.3", @@ -27341,10 +30332,14 @@ }, "dependencies": { "@noble/hashes": { - "version": "1.4.0" + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.6.1.tgz", + "integrity": "sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w==" }, "@polkadot/api": { "version": "11.3.1", + "resolved": "https://registry.npmjs.org/@polkadot/api/-/api-11.3.1.tgz", + "integrity": "sha512-q4kFIIHTLvKxM24b0Eo8hJevsPMme+aITJGrDML9BgdZYTRN14+cu5nXiCsQvaEamdyYj+uCXWe2OV9X7pPxsA==", "requires": { "@polkadot/api-augment": "11.3.1", "@polkadot/api-base": "11.3.1", @@ -27367,6 +30362,8 @@ }, "@polkadot/api-augment": { "version": "11.3.1", + "resolved": "https://registry.npmjs.org/@polkadot/api-augment/-/api-augment-11.3.1.tgz", + "integrity": "sha512-Yj+6rb6h0WwY3yJ+UGhjGW+tyMRFUMsKQuGw+eFsXdjiNU9UoXsAqA2dG7Q1F+oeX/g+y2gLGBezNoCwbl6HfA==", "requires": { "@polkadot/api-base": "11.3.1", "@polkadot/rpc-augment": "11.3.1", @@ -27379,6 +30376,8 @@ }, "@polkadot/api-base": { "version": "11.3.1", + "resolved": "https://registry.npmjs.org/@polkadot/api-base/-/api-base-11.3.1.tgz", + "integrity": "sha512-b8UkNL00NN7+3QaLCwL5cKg+7YchHoKCAhwKusWHNBZkkO6Oo2BWilu0dZkPJOyqV9P389Kbd9+oH+SKs9u2VQ==", "requires": { "@polkadot/rpc-core": "11.3.1", "@polkadot/types": "11.3.1", @@ -27389,6 +30388,8 @@ }, "@polkadot/api-derive": { "version": "11.3.1", + "resolved": "https://registry.npmjs.org/@polkadot/api-derive/-/api-derive-11.3.1.tgz", + "integrity": "sha512-9dopzrh4cRuft1nANmBvMY/hEhFDu0VICMTOGxQLOl8NMfcOFPTLAN0JhSBUoicGZhV+c4vpv01NBx/7/IL1HA==", "requires": { "@polkadot/api": "11.3.1", "@polkadot/api-augment": "11.3.1", @@ -27404,6 +30405,8 @@ }, "@polkadot/keyring": { "version": "12.6.2", + "resolved": "https://registry.npmjs.org/@polkadot/keyring/-/keyring-12.6.2.tgz", + "integrity": "sha512-O3Q7GVmRYm8q7HuB3S0+Yf/q/EB2egKRRU3fv9b3B7V+A52tKzA+vIwEmNVaD1g5FKW9oB97rmpggs0zaKFqHw==", "requires": { "@polkadot/util": "12.6.2", "@polkadot/util-crypto": "12.6.2", @@ -27412,6 +30415,8 @@ }, "@polkadot/networks": { "version": "12.6.2", + "resolved": "https://registry.npmjs.org/@polkadot/networks/-/networks-12.6.2.tgz", + "integrity": "sha512-1oWtZm1IvPWqvMrldVH6NI2gBoCndl5GEwx7lAuQWGr7eNL+6Bdc5K3Z9T0MzFvDGoi2/CBqjX9dRKo39pDC/w==", "requires": { "@polkadot/util": "12.6.2", "@substrate/ss58-registry": "^1.44.0", @@ -27420,6 +30425,8 @@ }, "@polkadot/rpc-augment": { "version": "11.3.1", + "resolved": "https://registry.npmjs.org/@polkadot/rpc-augment/-/rpc-augment-11.3.1.tgz", + "integrity": "sha512-2PaDcKNju4QYQpxwVkWbRU3M0t340nMX9cMo+8awgvgL1LliV/fUDZueMKLuSS910JJMTPQ7y2pK4eQgMt08gQ==", "requires": { "@polkadot/rpc-core": "11.3.1", "@polkadot/types": "11.3.1", @@ -27430,6 +30437,8 @@ }, "@polkadot/rpc-core": { "version": "11.3.1", + "resolved": "https://registry.npmjs.org/@polkadot/rpc-core/-/rpc-core-11.3.1.tgz", + "integrity": "sha512-KKNepsDd/mpmXcA6v/h14eFFPEzLGd7nrvx2UUXUxoZ0Fq2MH1hplP3s93k1oduNY/vOXJR2K9S4dKManA6GVQ==", "requires": { "@polkadot/rpc-augment": "11.3.1", "@polkadot/rpc-provider": "11.3.1", @@ -27441,6 +30450,8 @@ }, "@polkadot/rpc-provider": { "version": "11.3.1", + "resolved": "https://registry.npmjs.org/@polkadot/rpc-provider/-/rpc-provider-11.3.1.tgz", + "integrity": "sha512-pqERChoHo45hd3WAgW8UuzarRF+G/o/eXEbl0PXLubiayw4X4qCmIzmtntUcKYgxGNcYGZaG87ZU8OjN97m6UA==", "requires": { "@polkadot/keyring": "^12.6.2", "@polkadot/types": "11.3.1", @@ -27459,6 +30470,8 @@ }, "@polkadot/types": { "version": "11.3.1", + "resolved": "https://registry.npmjs.org/@polkadot/types/-/types-11.3.1.tgz", + "integrity": "sha512-5c7uRFXQTT11Awi6T0yFIdAfD6xGDAOz06Kp7M5S9OGNZY28wSPk5x6BYfNphWPaIBmHHewYJB5qmnrdYQAWKQ==", "requires": { "@polkadot/keyring": "^12.6.2", "@polkadot/types-augment": "11.3.1", @@ -27472,6 +30485,8 @@ }, "@polkadot/types-augment": { "version": "11.3.1", + "resolved": "https://registry.npmjs.org/@polkadot/types-augment/-/types-augment-11.3.1.tgz", + "integrity": "sha512-eR3HVpvUmB3v7q2jTWVmVfAVfb1/kuNn7ij94Zqadg/fuUq0pKqIOKwkUj3OxRM3A/5BnW3MbgparjKD3r+fyw==", "requires": { "@polkadot/types": "11.3.1", "@polkadot/types-codec": "11.3.1", @@ -27481,6 +30496,8 @@ }, "@polkadot/types-codec": { "version": "11.3.1", + "resolved": "https://registry.npmjs.org/@polkadot/types-codec/-/types-codec-11.3.1.tgz", + "integrity": "sha512-i7IiiuuL+Z/jFoKTA9xeh4wGQnhnNNjMT0+1ohvlOvnFsoKZKFQQOaDPPntGJVL1JDCV+KjkN2uQKZSeW8tguQ==", "requires": { "@polkadot/util": "^12.6.2", "@polkadot/x-bigint": "^12.6.2", @@ -27489,6 +30506,8 @@ }, "@polkadot/types-create": { "version": "11.3.1", + "resolved": "https://registry.npmjs.org/@polkadot/types-create/-/types-create-11.3.1.tgz", + "integrity": "sha512-pBXtpz5FehcRJ6j5MzFUIUN8ZWM7z6HbqK1GxBmYbJVRElcGcOg7a/rL2pQVphU0Rx1E8bSO4thzGf4wUxSX7w==", "requires": { "@polkadot/types-codec": "11.3.1", "@polkadot/util": "^12.6.2", @@ -27497,6 +30516,8 @@ }, "@polkadot/types-known": { "version": "11.3.1", + "resolved": "https://registry.npmjs.org/@polkadot/types-known/-/types-known-11.3.1.tgz", + "integrity": "sha512-3BIof7u6tn9bk3ZCIxA07iNoQ3uj4+vn3DTOjCKECozkRlt6V+kWRvqh16Hc0SHMg/QjcMb2fIu/WZhka1McUQ==", "requires": { "@polkadot/networks": "^12.6.2", "@polkadot/types": "11.3.1", @@ -27508,6 +30529,8 @@ }, "@polkadot/types-support": { "version": "11.3.1", + "resolved": "https://registry.npmjs.org/@polkadot/types-support/-/types-support-11.3.1.tgz", + "integrity": "sha512-jTFz1GKyF7nI29yIOq4v0NiWTOf5yX4HahJNeFD8TcxoLhF+6tH/XXqrUXJEfbaTlSrRWiW1LZYlb+snctqKHA==", "requires": { "@polkadot/util": "^12.6.2", "tslib": "^2.6.2" @@ -27515,6 +30538,8 @@ }, "@polkadot/util": { "version": "12.6.2", + "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-12.6.2.tgz", + "integrity": "sha512-l8TubR7CLEY47240uki0TQzFvtnxFIO7uI/0GoWzpYD/O62EIAMRsuY01N4DuwgKq2ZWD59WhzsLYmA5K6ksdw==", "requires": { "@polkadot/x-bigint": "12.6.2", "@polkadot/x-global": "12.6.2", @@ -27527,6 +30552,8 @@ }, "@polkadot/util-crypto": { "version": "12.6.2", + "resolved": "https://registry.npmjs.org/@polkadot/util-crypto/-/util-crypto-12.6.2.tgz", + "integrity": "sha512-FEWI/dJ7wDMNN1WOzZAjQoIcCP/3vz3wvAp5QQm+lOrzOLj0iDmaIGIcBkz8HVm3ErfSe/uKP0KS4jgV/ib+Mg==", "requires": { "@noble/curves": "^1.3.0", "@noble/hashes": "^1.3.3", @@ -27541,54 +30568,68 @@ } }, "@polkadot/wasm-bridge": { - "version": "7.3.2", + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@polkadot/wasm-bridge/-/wasm-bridge-7.4.1.tgz", + "integrity": "sha512-tdkJaV453tezBxhF39r4oeG0A39sPKGDJmN81LYLf+Fihb7astzwju+u75BRmDrHZjZIv00un3razJEWCxze6g==", "requires": { - "@polkadot/wasm-util": "7.3.2", - "tslib": "^2.6.2" + "@polkadot/wasm-util": "7.4.1", + "tslib": "^2.7.0" } }, "@polkadot/wasm-crypto": { - "version": "7.3.2", + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto/-/wasm-crypto-7.4.1.tgz", + "integrity": "sha512-kHN/kF7hYxm1y0WeFLWeWir6oTzvcFmR4N8fJJokR+ajYbdmrafPN+6iLgQVbhZnDdxyv9jWDuRRsDnBx8tPMQ==", "requires": { - "@polkadot/wasm-bridge": "7.3.2", - "@polkadot/wasm-crypto-asmjs": "7.3.2", - "@polkadot/wasm-crypto-init": "7.3.2", - "@polkadot/wasm-crypto-wasm": "7.3.2", - "@polkadot/wasm-util": "7.3.2", - "tslib": "^2.6.2" + "@polkadot/wasm-bridge": "7.4.1", + "@polkadot/wasm-crypto-asmjs": "7.4.1", + "@polkadot/wasm-crypto-init": "7.4.1", + "@polkadot/wasm-crypto-wasm": "7.4.1", + "@polkadot/wasm-util": "7.4.1", + "tslib": "^2.7.0" } }, "@polkadot/wasm-crypto-asmjs": { - "version": "7.3.2", + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto-asmjs/-/wasm-crypto-asmjs-7.4.1.tgz", + "integrity": "sha512-pwU8QXhUW7IberyHJIQr37IhbB6DPkCG5FhozCiNTq4vFBsFPjm9q8aZh7oX1QHQaiAZa2m2/VjIVE+FHGbvHQ==", "requires": { - "tslib": "^2.6.2" + "tslib": "^2.7.0" } }, "@polkadot/wasm-crypto-init": { - "version": "7.3.2", + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto-init/-/wasm-crypto-init-7.4.1.tgz", + "integrity": "sha512-AVka33+f7MvXEEIGq5U0dhaA2SaXMXnxVCQyhJTaCnJ5bRDj0Xlm3ijwDEQUiaDql7EikbkkRtmlvs95eSUWYQ==", "requires": { - "@polkadot/wasm-bridge": "7.3.2", - "@polkadot/wasm-crypto-asmjs": "7.3.2", - "@polkadot/wasm-crypto-wasm": "7.3.2", - "@polkadot/wasm-util": "7.3.2", - "tslib": "^2.6.2" + "@polkadot/wasm-bridge": "7.4.1", + "@polkadot/wasm-crypto-asmjs": "7.4.1", + "@polkadot/wasm-crypto-wasm": "7.4.1", + "@polkadot/wasm-util": "7.4.1", + "tslib": "^2.7.0" } }, "@polkadot/wasm-crypto-wasm": { - "version": "7.3.2", + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto-wasm/-/wasm-crypto-wasm-7.4.1.tgz", + "integrity": "sha512-PE1OAoupFR0ZOV2O8tr7D1FEUAwaggzxtfs3Aa5gr+yxlSOaWUKeqsOYe1KdrcjmZVV3iINEAXxgrbzCmiuONg==", "requires": { - "@polkadot/wasm-util": "7.3.2", - "tslib": "^2.6.2" + "@polkadot/wasm-util": "7.4.1", + "tslib": "^2.7.0" } }, "@polkadot/wasm-util": { - "version": "7.3.2", + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@polkadot/wasm-util/-/wasm-util-7.4.1.tgz", + "integrity": "sha512-RAcxNFf3zzpkr+LX/ItAsvj+QyM56TomJ0xjUMo4wKkHjwsxkz4dWJtx5knIgQz/OthqSDMR59VNEycQeNuXzA==", "requires": { - "tslib": "^2.6.2" + "tslib": "^2.7.0" } }, "@polkadot/x-bigint": { "version": "12.6.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-12.6.2.tgz", + "integrity": "sha512-HSIk60uFPX4GOFZSnIF7VYJz7WZA7tpFJsne7SzxOooRwMTWEtw3fUpFy5cYYOeLh17/kHH1Y7SVcuxzVLc74Q==", "requires": { "@polkadot/x-global": "12.6.2", "tslib": "^2.6.2" @@ -27596,6 +30637,8 @@ }, "@polkadot/x-fetch": { "version": "12.6.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-fetch/-/x-fetch-12.6.2.tgz", + "integrity": "sha512-8wM/Z9JJPWN1pzSpU7XxTI1ldj/AfC8hKioBlUahZ8gUiJaOF7K9XEFCrCDLis/A1BoOu7Ne6WMx/vsJJIbDWw==", "requires": { "@polkadot/x-global": "12.6.2", "node-fetch": "^3.3.2", @@ -27604,12 +30647,16 @@ }, "@polkadot/x-global": { "version": "12.6.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-12.6.2.tgz", + "integrity": "sha512-a8d6m+PW98jmsYDtAWp88qS4dl8DyqUBsd0S+WgyfSMtpEXu6v9nXDgPZgwF5xdDvXhm+P0ZfVkVTnIGrScb5g==", "requires": { "tslib": "^2.6.2" } }, "@polkadot/x-randomvalues": { "version": "12.6.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-randomvalues/-/x-randomvalues-12.6.2.tgz", + "integrity": "sha512-Vr8uG7rH2IcNJwtyf5ebdODMcr0XjoCpUbI91Zv6AlKVYOGKZlKLYJHIwpTaKKB+7KPWyQrk4Mlym/rS7v9feg==", "requires": { "@polkadot/x-global": "12.6.2", "tslib": "^2.6.2" @@ -27617,6 +30664,8 @@ }, "@polkadot/x-textdecoder": { "version": "12.6.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-12.6.2.tgz", + "integrity": "sha512-M1Bir7tYvNappfpFWXOJcnxUhBUFWkUFIdJSyH0zs5LmFtFdbKAeiDXxSp2Swp5ddOZdZgPac294/o2TnQKN1w==", "requires": { "@polkadot/x-global": "12.6.2", "tslib": "^2.6.2" @@ -27624,6 +30673,8 @@ }, "@polkadot/x-textencoder": { "version": "12.6.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-12.6.2.tgz", + "integrity": "sha512-4N+3UVCpI489tUJ6cv3uf0PjOHvgGp9Dl+SZRLgFGt9mvxnvpW/7+XBADRMtlG4xi5gaRK7bgl5bmY6OMDsNdw==", "requires": { "@polkadot/x-global": "12.6.2", "tslib": "^2.6.2" @@ -27631,6 +30682,8 @@ }, "@polkadot/x-ws": { "version": "12.6.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-ws/-/x-ws-12.6.2.tgz", + "integrity": "sha512-cGZWo7K5eRRQCRl2LrcyCYsrc3lRbTlixZh3AzgU8uX4wASVGRlNWi/Hf4TtHNe1ExCDmxabJzdIsABIfrr7xw==", "requires": { "@polkadot/x-global": "12.6.2", "tslib": "^2.6.2", @@ -27638,10 +30691,14 @@ } }, "@scure/base": { - "version": "1.1.7" + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.2.1.tgz", + "integrity": "sha512-DGmGtC8Tt63J5GfHgfl5CuAXh96VF/LD8K9Hr/Gv0J2lAoRGlPOMpqMpMbCTOoOJMZCk2Xt+DskdDyn6dEFdzQ==" }, "@substrate/connect": { "version": "0.8.10", + "resolved": "https://registry.npmjs.org/@substrate/connect/-/connect-0.8.10.tgz", + "integrity": "sha512-DIyQ13DDlXqVFnLV+S6/JDgiGowVRRrh18kahieJxhgvzcWicw5eLc6jpfQ0moVVLBYkO7rctB5Wreldwpva8w==", "optional": true, "requires": { "@substrate/connect-extension-protocol": "^2.0.0", @@ -27651,37 +30708,31 @@ } }, "@substrate/connect-extension-protocol": { - "version": "2.0.0", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@substrate/connect-extension-protocol/-/connect-extension-protocol-2.2.1.tgz", + "integrity": "sha512-GoafTgm/Jey9E4Xlj4Z5ZBt/H4drH2CNq8VrAro80rtoznrXnFDNVivLQzZN0Xaj2g8YXSn9pC9Oc9IovYZJXw==", "optional": true - }, - "typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==" } } }, "dkg.js": { - "version": "6.3.0", + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/dkg.js/-/dkg.js-6.5.3.tgz", + "integrity": "sha512-A3dN9jcxOXD8e5JQpf7PBRjvmDabDeMGboA8p5THbFHwBostikG4UHC7BttN4CKyvgnQudKpFjAYRGkemGku2g==", "dev": true, "requires": { "assertion-tools": "^2.1.0", "axios": "^0.27.2", - "dkg-evm-module": "^4.2.4", + "dkg-evm-module": "^4.3.3", "ethers": "^6.1.0", "jsonld": "^8.1.0", "web3": "^1.7.3" }, "dependencies": { - "@noble/curves": { - "version": "1.2.0", - "dev": true, - "requires": { - "@noble/hashes": "1.3.2" - } - }, "@noble/hashes": { - "version": "1.3.2", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.6.1.tgz", + "integrity": "sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w==", "dev": true }, "@polkadot/api": { @@ -27710,9 +30761,9 @@ }, "dependencies": { "tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true } } @@ -27733,9 +30784,9 @@ }, "dependencies": { "tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true } } @@ -27754,9 +30805,9 @@ }, "dependencies": { "tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true } } @@ -27780,9 +30831,9 @@ }, "dependencies": { "tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true } } @@ -27799,9 +30850,9 @@ }, "dependencies": { "tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true } } @@ -27818,9 +30869,9 @@ }, "dependencies": { "tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true } } @@ -27839,9 +30890,9 @@ }, "dependencies": { "tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true } } @@ -27861,9 +30912,9 @@ }, "dependencies": { "tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true } } @@ -27890,9 +30941,9 @@ }, "dependencies": { "tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true } } @@ -27914,9 +30965,9 @@ }, "dependencies": { "tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true } } @@ -27934,9 +30985,9 @@ }, "dependencies": { "tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true } } @@ -27953,9 +31004,9 @@ }, "dependencies": { "tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true } } @@ -27972,9 +31023,9 @@ }, "dependencies": { "tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true } } @@ -27994,9 +31045,9 @@ }, "dependencies": { "tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true } } @@ -28012,9 +31063,9 @@ }, "dependencies": { "tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true } } @@ -28035,9 +31086,9 @@ }, "dependencies": { "tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true } } @@ -28060,25 +31111,10 @@ "tslib": "^2.6.2" }, "dependencies": { - "@noble/curves": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.6.0.tgz", - "integrity": "sha512-TlaHRXDehJuRNR9TfZDNQ45mMEd5dwUwmicsafcIX4SsNiqnCHKjE/1alYPd/lDRVhxdhUAlv8uEhMCI5zjIJQ==", - "dev": true, - "requires": { - "@noble/hashes": "1.5.0" - } - }, - "@noble/hashes": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.5.0.tgz", - "integrity": "sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA==", - "dev": true - }, "tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true } } @@ -28094,9 +31130,9 @@ }, "dependencies": { "tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true } } @@ -28116,9 +31152,9 @@ }, "dependencies": { "tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true } } @@ -28133,9 +31169,9 @@ }, "dependencies": { "tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true } } @@ -28154,9 +31190,9 @@ }, "dependencies": { "tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true } } @@ -28172,9 +31208,9 @@ }, "dependencies": { "tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true } } @@ -28189,9 +31225,9 @@ }, "dependencies": { "tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true } } @@ -28207,9 +31243,9 @@ }, "dependencies": { "tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true } } @@ -28226,9 +31262,9 @@ }, "dependencies": { "tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true } } @@ -28243,9 +31279,9 @@ }, "dependencies": { "tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true } } @@ -28261,9 +31297,9 @@ }, "dependencies": { "tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true } } @@ -28279,9 +31315,9 @@ }, "dependencies": { "tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true } } @@ -28297,9 +31333,9 @@ }, "dependencies": { "tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true } } @@ -28316,9 +31352,9 @@ }, "dependencies": { "tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true }, "ws": { @@ -28364,6 +31400,57 @@ "version": "4.0.0-beta.5", "dev": true }, + "assertion-tools": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/assertion-tools/-/assertion-tools-2.2.1.tgz", + "integrity": "sha512-JlA1S16Ox93PnYb45HvxNcax/Ii4gqTO8HLGa/ykj/ddp8EEHlokn6inJR2yMiz173WSFkCc0ciLJzGeaYBANw==", + "dev": true, + "requires": { + "ethers": "^5.7.2", + "jsonld": "^8.1.0", + "merkletreejs": "^0.3.2" + }, + "dependencies": { + "ethers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", + "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", + "dev": true, + "requires": { + "@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" + } + } + } + }, "axios": { "version": "0.27.2", "dev": true, @@ -28422,6 +31509,23 @@ "aes-js": "4.0.0-beta.5", "tslib": "2.4.0", "ws": "8.5.0" + }, + "dependencies": { + "@noble/curves": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz", + "integrity": "sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==", + "dev": true, + "requires": { + "@noble/hashes": "1.3.2" + } + }, + "@noble/hashes": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz", + "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==", + "dev": true + } } }, "tslib": { @@ -28610,6 +31714,8 @@ }, "dns-over-http-resolver": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/dns-over-http-resolver/-/dns-over-http-resolver-1.2.3.tgz", + "integrity": "sha512-miDiVSI6KSNbi4SVifzO/reD8rMnxgrlnkrlkugOLQpWQTe2qMdHsZp5DmfKjxNE+/T3VAAYLQUZMv9SMr6+AA==", "requires": { "debug": "^4.3.1", "native-fetch": "^3.0.0", @@ -28618,12 +31724,16 @@ }, "doctrine": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "requires": { "esutils": "^2.0.2" } }, "dom-serializer": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", "requires": { "domelementtype": "^2.3.0", "domhandler": "^5.0.2", @@ -28637,10 +31747,14 @@ "dev": true }, "domelementtype": { - "version": "2.3.0" + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" }, "domexception": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", "dev": true, "requires": { "webidl-conversions": "^5.0.0" @@ -28648,18 +31762,24 @@ "dependencies": { "webidl-conversions": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", "dev": true } } }, "domhandler": { "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", "requires": { "domelementtype": "^2.3.0" } }, "domutils": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", "requires": { "dom-serializer": "^2.0.0", "domelementtype": "^2.3.0", @@ -28667,22 +31787,32 @@ } }, "dotenv": { - "version": "16.4.5" + "version": "16.4.5", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", + "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==" }, "dottie": { - "version": "2.0.6" + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/dottie/-/dottie-2.0.6.tgz", + "integrity": "sha512-iGCHkfUc5kFekGiqhe8B/mdaurD+lakO9txNnTvKtA6PISrw86LgqHvRzWYPyoE2Ph5aMIrCw9/uko6XHTKCwA==" }, "duplexer2": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", "requires": { "readable-stream": "^2.0.2" }, "dependencies": { "isarray": { - "version": "1.0.0" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, "readable-stream": { "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -28694,10 +31824,14 @@ } }, "safe-buffer": { - "version": "5.1.2" + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "string_decoder": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { "safe-buffer": "~5.1.0" } @@ -28706,6 +31840,8 @@ }, "eastasianwidth": { "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", "dev": true }, "ecc-jsbn": { @@ -28728,31 +31864,43 @@ }, "ecdsa-sig-formatter": { "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", "requires": { "safe-buffer": "^5.0.1" } }, "ed2curve": { "version": "0.3.0", + "resolved": "https://registry.npmjs.org/ed2curve/-/ed2curve-0.3.0.tgz", + "integrity": "sha512-8w2fmmq3hv9rCrcI7g9hms2pMunQr1JINfcjwR9tAyZqhtyaMN991lF/ZfHfr5tzZQ8c7y7aBgZbjfbd0fjFwQ==", "requires": { "tweetnacl": "1.x.x" } }, "ee-first": { - "version": "1.1.1" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, "electron-fetch": { "version": "1.9.1", + "resolved": "https://registry.npmjs.org/electron-fetch/-/electron-fetch-1.9.1.tgz", + "integrity": "sha512-M9qw6oUILGVrcENMSRRefE1MbHPIz0h79EKIeJWK9v563aT9Qkh8aEHPO1H5vi970wPirNY+jO9OpFoLiMsMGA==", "requires": { "encoding": "^0.1.13" } }, "electron-to-chromium": { - "version": "1.4.802", + "version": "1.5.67", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.67.tgz", + "integrity": "sha512-nz88NNBsD7kQSAGGJyp8hS6xSPtWwqNogA0mjtc2nUYeEf3nURK9qpV18TuBdDmEDgVWotS8Wkzf+V52dSQ/LQ==", "dev": true }, "elliptic": { "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", "requires": { "bn.js": "^4.11.9", "brorand": "^1.1.0", @@ -28764,63 +31912,91 @@ }, "dependencies": { "bn.js": { - "version": "4.12.0" + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz", + "integrity": "sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==" } } }, "emittery": { - "version": "0.13.1" + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==" }, "emoji-regex": { "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true }, "enabled": { - "version": "2.0.0" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz", + "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==" }, "encode-utf8": { - "version": "1.0.3" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz", + "integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==" }, "encodeurl": { - "version": "1.0.2" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==" }, "encoding": { "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", "requires": { "iconv-lite": "^0.6.2" } }, "end-of-stream": { "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "requires": { "once": "^1.4.0" } }, "enquirer": { "version": "2.4.1", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", + "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", "requires": { "ansi-colors": "^4.1.1", "strip-ansi": "^6.0.1" } }, "entities": { - "version": "4.5.0" + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==" }, "env-paths": { - "version": "2.2.1" + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==" }, "err-code": { - "version": "3.0.1" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-3.0.1.tgz", + "integrity": "sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA==" }, "error-stack-parser": { "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", "dev": true, "requires": { "stackframe": "^1.3.4" } }, "es-abstract": { - "version": "1.23.3", + "version": "1.23.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.5.tgz", + "integrity": "sha512-vlmniQ0WNPwXqA0BnmwV3Ng7HxiGlh6r5U6JcTMNx8OilcAGqVJBHJcPjqOMaczU9fRuRK5Px2BdVyPRnKMMVQ==", "dev": true, "peer": true, "requires": { @@ -28839,7 +32015,7 @@ "function.prototype.name": "^1.1.6", "get-intrinsic": "^1.2.4", "get-symbol-description": "^1.0.2", - "globalthis": "^1.0.3", + "globalthis": "^1.0.4", "gopd": "^1.0.1", "has-property-descriptors": "^1.0.2", "has-proto": "^1.0.3", @@ -28855,10 +32031,10 @@ "is-string": "^1.0.7", "is-typed-array": "^1.1.13", "is-weakref": "^1.0.2", - "object-inspect": "^1.13.1", + "object-inspect": "^1.13.3", "object-keys": "^1.1.1", "object.assign": "^4.1.5", - "regexp.prototype.flags": "^1.5.2", + "regexp.prototype.flags": "^1.5.3", "safe-array-concat": "^1.1.2", "safe-regex-test": "^1.0.3", "string.prototype.trim": "^1.2.9", @@ -28874,15 +32050,21 @@ }, "es-define-property": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", "requires": { "get-intrinsic": "^1.2.4" } }, "es-errors": { - "version": "1.3.0" + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==" }, "es-iterator-helpers": { - "version": "1.0.19", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.0.tgz", + "integrity": "sha512-tpxqxncxnpw3c93u8n3VOzACmRFoVmWJqbWXvX/JfKbkhBw1oslgPrUfeSt2psuqyEJFD6N/9lg5i7bsKpoq+Q==", "dev": true, "peer": true, "requires": { @@ -28893,17 +32075,20 @@ "es-set-tostringtag": "^2.0.3", "function-bind": "^1.1.2", "get-intrinsic": "^1.2.4", - "globalthis": "^1.0.3", + "globalthis": "^1.0.4", + "gopd": "^1.0.1", "has-property-descriptors": "^1.0.2", "has-proto": "^1.0.3", "has-symbols": "^1.0.3", "internal-slot": "^1.0.7", - "iterator.prototype": "^1.1.2", + "iterator.prototype": "^1.1.3", "safe-array-concat": "^1.1.2" } }, "es-object-atoms": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", "dev": true, "requires": { "es-errors": "^1.3.0" @@ -28911,6 +32096,8 @@ }, "es-set-tostringtag": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", "dev": true, "peer": true, "requires": { @@ -28921,6 +32108,8 @@ }, "es-shim-unscopables": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", "dev": true, "peer": true, "requires": { @@ -28928,17 +32117,21 @@ } }, "es-to-primitive": { - "version": "1.2.1", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", + "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", "dev": true, "peer": true, "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-symbol": "^1.0.4" } }, "es5-ext": { "version": "0.10.64", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.64.tgz", + "integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==", "requires": { "es6-iterator": "^2.0.3", "es6-symbol": "^3.1.3", @@ -28948,10 +32141,14 @@ }, "es6-error": { "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", "dev": true }, "es6-iterator": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", "requires": { "d": "1", "es5-ext": "^0.10.35", @@ -28965,29 +32162,43 @@ "dev": true }, "es6-promisify": { - "version": "7.0.0" + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-7.0.0.tgz", + "integrity": "sha512-ginqzK3J90Rd4/Yz7qRrqUeIpe3TwSXTPPZtPne7tGBPeAaQiU8qt4fpKApnxHcq1AwtUdHVg5P77x/yrggG8Q==" }, "es6-symbol": { "version": "3.1.4", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.4.tgz", + "integrity": "sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==", "requires": { "d": "^1.0.2", "ext": "^1.7.0" } }, "escalade": { - "version": "3.1.2" + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==" }, "escape-html": { - "version": "1.0.3" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" }, "escape-latex": { - "version": "1.2.0" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/escape-latex/-/escape-latex-1.2.0.tgz", + "integrity": "sha512-nV5aVWW1K0wEiUIEdZ4erkGGH8mDxGyxSeqPzRNtWP7ataw+/olFObw7hujFWlVjNsaDFw5VZ5NzVSIqRgfTiw==" }, "escape-string-regexp": { - "version": "4.0.0" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" }, "escodegen": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", "dev": true, "requires": { "esprima": "^4.0.1", @@ -28997,13 +32208,15 @@ } }, "eslint": { - "version": "8.57.0", + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", "requires": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.0", - "@humanwhocodes/config-array": "^0.11.14", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "@ungap/structured-clone": "^1.2.0", @@ -29041,6 +32254,8 @@ }, "eslint-config-airbnb": { "version": "19.0.4", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-19.0.4.tgz", + "integrity": "sha512-T75QYQVQX57jiNgpF9r1KegMICE94VYwoFQyMGhrvc+lB8YF2E/M/PYDaQe1AJcWaEgqLE+ErXV1Og/+6Vyzew==", "dev": true, "requires": { "eslint-config-airbnb-base": "^15.0.0", @@ -29050,6 +32265,8 @@ }, "eslint-config-airbnb-base": { "version": "15.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz", + "integrity": "sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==", "dev": true, "requires": { "confusing-browser-globals": "^1.0.10", @@ -29060,21 +32277,29 @@ "dependencies": { "semver": { "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true } } }, "eslint-config-google": { "version": "0.13.0", + "resolved": "https://registry.npmjs.org/eslint-config-google/-/eslint-config-google-0.13.0.tgz", + "integrity": "sha512-ELgMdOIpn0CFdsQS+FuxO+Ttu4p+aLaXHv9wA9yVnzqlUGV7oN/eRRnJekk7TCur6Cu2FXX0fqfIXRBaM14lpQ==", "requires": {} }, "eslint-config-prettier": { "version": "8.10.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz", + "integrity": "sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==", "dev": true, "requires": {} }, "eslint-import-resolver-node": { "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", "dev": true, "peer": true, "requires": { @@ -29085,6 +32310,8 @@ "dependencies": { "debug": { "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "peer": true, "requires": { @@ -29094,7 +32321,9 @@ } }, "eslint-module-utils": { - "version": "2.8.1", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz", + "integrity": "sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==", "dev": true, "peer": true, "requires": { @@ -29103,6 +32332,8 @@ "dependencies": { "debug": { "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "peer": true, "requires": { @@ -29112,31 +32343,37 @@ } }, "eslint-plugin-import": { - "version": "2.29.1", + "version": "2.31.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz", + "integrity": "sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==", "dev": true, "peer": true, "requires": { - "array-includes": "^3.1.7", - "array.prototype.findlastindex": "^1.2.3", + "@rtsao/scc": "^1.1.0", + "array-includes": "^3.1.8", + "array.prototype.findlastindex": "^1.2.5", "array.prototype.flat": "^1.3.2", "array.prototype.flatmap": "^1.3.2", "debug": "^3.2.7", "doctrine": "^2.1.0", "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.8.0", - "hasown": "^2.0.0", - "is-core-module": "^2.13.1", + "eslint-module-utils": "^2.12.0", + "hasown": "^2.0.2", + "is-core-module": "^2.15.1", "is-glob": "^4.0.3", "minimatch": "^3.1.2", - "object.fromentries": "^2.0.7", - "object.groupby": "^1.0.1", - "object.values": "^1.1.7", + "object.fromentries": "^2.0.8", + "object.groupby": "^1.0.3", + "object.values": "^1.2.0", "semver": "^6.3.1", + "string.prototype.trimend": "^1.0.8", "tsconfig-paths": "^3.15.0" }, "dependencies": { "debug": { "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "peer": true, "requires": { @@ -29145,6 +32382,8 @@ }, "doctrine": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "peer": true, "requires": { @@ -29153,61 +32392,68 @@ }, "semver": { "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "peer": true } } }, "eslint-plugin-jsx-a11y": { - "version": "6.8.0", + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz", + "integrity": "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==", "dev": true, "peer": true, "requires": { - "@babel/runtime": "^7.23.2", - "aria-query": "^5.3.0", - "array-includes": "^3.1.7", + "aria-query": "^5.3.2", + "array-includes": "^3.1.8", "array.prototype.flatmap": "^1.3.2", "ast-types-flow": "^0.0.8", - "axe-core": "=4.7.0", - "axobject-query": "^3.2.1", + "axe-core": "^4.10.0", + "axobject-query": "^4.1.0", "damerau-levenshtein": "^1.0.8", "emoji-regex": "^9.2.2", - "es-iterator-helpers": "^1.0.15", - "hasown": "^2.0.0", + "hasown": "^2.0.2", "jsx-ast-utils": "^3.3.5", "language-tags": "^1.0.9", "minimatch": "^3.1.2", - "object.entries": "^1.1.7", - "object.fromentries": "^2.0.7" + "object.fromentries": "^2.0.8", + "safe-regex-test": "^1.0.3", + "string.prototype.includes": "^2.0.1" } }, "eslint-plugin-react": { - "version": "7.34.2", + "version": "7.37.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.2.tgz", + "integrity": "sha512-EsTAnj9fLVr/GZleBLFbj/sSuXeWmp1eXIN60ceYnZveqEaUCyW4X+Vh4WTdUhCkW4xutXYqTXCUSyqD4rB75w==", "dev": true, "peer": true, "requires": { "array-includes": "^3.1.8", "array.prototype.findlast": "^1.2.5", "array.prototype.flatmap": "^1.3.2", - "array.prototype.toreversed": "^1.1.2", - "array.prototype.tosorted": "^1.1.3", + "array.prototype.tosorted": "^1.1.4", "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.0.19", + "es-iterator-helpers": "^1.1.0", "estraverse": "^5.3.0", + "hasown": "^2.0.2", "jsx-ast-utils": "^2.4.1 || ^3.0.0", "minimatch": "^3.1.2", "object.entries": "^1.1.8", "object.fromentries": "^2.0.8", - "object.hasown": "^1.1.4", "object.values": "^1.2.0", "prop-types": "^15.8.1", "resolve": "^2.0.0-next.5", "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.11" + "string.prototype.matchall": "^4.0.11", + "string.prototype.repeat": "^1.0.0" }, "dependencies": { "doctrine": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "peer": true, "requires": { @@ -29216,6 +32462,8 @@ }, "resolve": { "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", "dev": true, "peer": true, "requires": { @@ -29226,6 +32474,8 @@ }, "semver": { "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "peer": true } @@ -29233,22 +32483,30 @@ }, "eslint-plugin-react-hooks": { "version": "4.6.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", + "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", "dev": true, "peer": true, "requires": {} }, "eslint-scope": { "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "requires": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" } }, "eslint-visitor-keys": { - "version": "3.4.3" + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==" }, "esniff": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz", + "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==", "requires": { "d": "^1.0.1", "es5-ext": "^0.10.62", @@ -29258,6 +32516,8 @@ }, "espree": { "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "requires": { "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", @@ -29266,28 +32526,40 @@ }, "esprima": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true }, "esquery": { - "version": "1.5.0", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "requires": { "estraverse": "^5.1.0" } }, "esrecurse": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "requires": { "estraverse": "^5.2.0" } }, "estraverse": { - "version": "5.3.0" + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" }, "esutils": { - "version": "2.0.3" + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" }, "etag": { - "version": "1.8.1" + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" }, "eth-ens-namehash": { "version": "2.0.8", @@ -29322,9 +32594,9 @@ }, "dependencies": { "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz", + "integrity": "sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==", "dev": true }, "safe-buffer": { @@ -29347,18 +32619,24 @@ } }, "ethereum-bloom-filters": { - "version": "1.1.0", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.2.0.tgz", + "integrity": "sha512-28hyiE7HVsWubqhpVLVmZXFd4ITeHi+BUu05o9isf0GUpMtzBUi+8/gFrGaGYzvGAJQmJ3JKj77Mk9G98T84rA==", "requires": { "@noble/hashes": "^1.4.0" }, "dependencies": { "@noble/hashes": { - "version": "1.4.0" + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.6.1.tgz", + "integrity": "sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w==" } } }, "ethereum-cryptography": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-1.2.0.tgz", + "integrity": "sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw==", "requires": { "@noble/hashes": "1.2.0", "@noble/secp256k1": "1.7.1", @@ -29368,18 +32646,24 @@ }, "ethereumjs-abi": { "version": "0.6.8", + "resolved": "https://registry.npmjs.org/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz", + "integrity": "sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==", "requires": { "bn.js": "^4.11.8", "ethereumjs-util": "^6.0.0" }, "dependencies": { "bn.js": { - "version": "4.12.0" + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz", + "integrity": "sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==" } } }, "ethereumjs-util": { "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", + "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", "requires": { "@types/bn.js": "^4.11.3", "bn.js": "^4.11.0", @@ -29392,15 +32676,21 @@ "dependencies": { "@types/bn.js": { "version": "4.11.6", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", "requires": { "@types/node": "*" } }, "bn.js": { - "version": "4.12.0" + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz", + "integrity": "sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==" }, "ethereum-cryptography": { "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", + "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", "requires": { "@types/pbkdf2": "^3.0.0", "@types/secp256k1": "^4.0.1", @@ -29423,6 +32713,8 @@ }, "ethers": { "version": "5.7.2", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", + "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", "requires": { "@ethersproject/abi": "5.7.0", "@ethersproject/abstract-provider": "5.7.0", @@ -29458,18 +32750,24 @@ }, "ethjs-unit": { "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", + "integrity": "sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==", "requires": { "bn.js": "4.11.6", "number-to-bn": "1.7.0" }, "dependencies": { "bn.js": { - "version": "4.11.6" + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==" } } }, "ethjs-util": { "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", + "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", "requires": { "is-hex-prefixed": "1.0.0", "strip-hex-prefix": "1.0.0" @@ -29477,22 +32775,32 @@ }, "event-emitter": { "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", "requires": { "d": "1", "es5-ext": "~0.10.14" } }, "event-target-shim": { - "version": "5.0.1" + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" }, "eventemitter3": { - "version": "5.0.1" + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==" }, "events": { - "version": "3.3.0" + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" }, "evm-bn": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/evm-bn/-/evm-bn-1.1.2.tgz", + "integrity": "sha512-Lq8CT1EAjSeN+Yk0h1hpSwnZyMA4Xir6fQD4vlStljAuW2xr7qLOEGDLGsTa9sU2e40EYIumA4wYhMC/e+lyKw==", "requires": { "@ethersproject/bignumber": "^5.5.0", "from-exponential": "^1.1.1" @@ -29500,6 +32808,8 @@ }, "evp_bytestokey": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "requires": { "md5.js": "^1.3.4", "safe-buffer": "^5.1.1" @@ -29507,6 +32817,8 @@ }, "execa": { "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "requires": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", @@ -29521,37 +32833,41 @@ }, "expand-template": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", "dev": true }, "express": { - "version": "4.19.2", + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.1.tgz", + "integrity": "sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==", "requires": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.2", + "body-parser": "1.20.3", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.6.0", + "cookie": "0.7.1", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "1.2.0", + "finalhandler": "1.3.1", "fresh": "0.5.2", "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", + "merge-descriptors": "1.0.3", "methods": "~1.1.2", "on-finished": "2.4.1", "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", + "path-to-regexp": "0.1.10", "proxy-addr": "~2.0.7", - "qs": "6.11.0", + "qs": "6.13.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", + "send": "0.19.0", + "serve-static": "1.16.2", "setprototypeof": "1.2.0", "statuses": "2.0.1", "type-is": "~1.6.18", @@ -29561,27 +32877,37 @@ "dependencies": { "debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "requires": { "ms": "2.0.0" } }, "ms": { - "version": "2.0.0" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" } } }, "express-fileupload": { - "version": "1.5.0", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/express-fileupload/-/express-fileupload-1.5.1.tgz", + "integrity": "sha512-LsYG1ALXEB7vlmjuSw8ABeOctMp8a31aUC5ZF55zuz7O2jLFnmJYrCv10py357ky48aEoBQ/9bVXgFynjvaPmA==", "requires": { "busboy": "^1.6.0" } }, "express-rate-limit": { "version": "6.11.2", + "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-6.11.2.tgz", + "integrity": "sha512-a7uwwfNTh1U60ssiIkuLFWHt4hAC5yxlLGU2VP0X4YNlyEDZAqF4tK3GD3NSitVBrCQmQ0++0uOyFOgC2y4DDw==", "requires": {} }, "ext": { "version": "1.7.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", + "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", "requires": { "type": "^2.7.2" } @@ -29594,19 +32920,29 @@ }, "extsprintf": { "version": "1.4.1", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.1.tgz", + "integrity": "sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==", "dev": true }, "fast-copy": { - "version": "3.0.2" + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/fast-copy/-/fast-copy-3.0.2.tgz", + "integrity": "sha512-dl0O9Vhju8IrcLndv2eU4ldt1ftXMqqfgN4H1cpmGV7P6jeB9FwpN9a2c8DPGE1Ys88rNUJVYDHq73CGAGOPfQ==" }, "fast-deep-equal": { - "version": "3.1.3" + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "fast-fifo": { - "version": "1.3.2" + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==" }, "fast-glob": { "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "requires": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -29617,6 +32953,8 @@ "dependencies": { "glob-parent": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "requires": { "is-glob": "^4.0.1" } @@ -29624,28 +32962,47 @@ } }, "fast-json-stable-stringify": { - "version": "2.1.0" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, "fast-levenshtein": { - "version": "2.0.6" + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" }, "fast-redact": { - "version": "3.5.0" + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.5.0.tgz", + "integrity": "sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==" }, "fast-safe-stringify": { - "version": "2.1.1" + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" + }, + "fast-uri": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.3.tgz", + "integrity": "sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw==" }, "fastq": { "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", "requires": { "reusify": "^1.0.4" } }, "fecha": { - "version": "4.2.3" + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz", + "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==" }, "fetch-blob": { "version": "3.2.0", + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", + "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", "requires": { "node-domexception": "^1.0.0", "web-streams-polyfill": "^3.0.3" @@ -29653,6 +33010,8 @@ }, "fetch-sparql-endpoint": { "version": "4.2.1", + "resolved": "https://registry.npmjs.org/fetch-sparql-endpoint/-/fetch-sparql-endpoint-4.2.1.tgz", + "integrity": "sha512-nRaexc3QCO95bjESf4ngNQ1J+qNtVzxFGlPUopqOIVHm/j6IDhWg996kk7fBM98Mmo0uM9b6uiTbXmJHOrnqYA==", "requires": { "@rdfjs/types": "*", "@smessie/readable-web-to-node-stream": "^3.0.3", @@ -29672,24 +33031,34 @@ "dependencies": { "cross-fetch": { "version": "3.1.8", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", + "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", "requires": { "node-fetch": "^2.6.12" } }, "node-fetch": { "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "requires": { "whatwg-url": "^5.0.0" } }, "tr46": { - "version": "0.0.3" + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, "webidl-conversions": { - "version": "3.0.1" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, "whatwg-url": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "requires": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -29699,6 +33068,8 @@ }, "figures": { "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", "dev": true, "requires": { "escape-string-regexp": "^1.0.5" @@ -29706,30 +33077,40 @@ "dependencies": { "escape-string-regexp": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true } } }, "file-entry-cache": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "requires": { "flat-cache": "^3.0.4" } }, "file-uri-to-path": { - "version": "1.0.0" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" }, "fill-range": { "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "requires": { "to-regex-range": "^5.0.1" } }, "finalhandler": { - "version": "1.2.0", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", "requires": { "debug": "2.6.9", - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "on-finished": "2.4.1", "parseurl": "~1.3.3", @@ -29739,17 +33120,23 @@ "dependencies": { "debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "requires": { "ms": "2.0.0" } }, "ms": { - "version": "2.0.0" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" } } }, "find-cache-dir": { "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", "dev": true, "requires": { "commondir": "^1.0.1", @@ -29759,16 +33146,22 @@ }, "find-up": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "requires": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" } }, "flat": { - "version": "5.0.2" + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==" }, "flat-cache": { "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", "requires": { "flatted": "^3.2.9", "keyv": "^4.5.3", @@ -29776,25 +33169,37 @@ } }, "flatstr": { - "version": "1.0.12" + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/flatstr/-/flatstr-1.0.12.tgz", + "integrity": "sha512-4zPxDyhCyiN2wIAtSLI6gc82/EjqZc1onI4Mz/l0pWrAlsSfYH/2ZIcU+e3oA2wDwbzIWNKwa23F8rh6+DRWkw==" }, "flatted": { - "version": "3.3.1" + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.2.tgz", + "integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==" }, "fmix": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/fmix/-/fmix-0.1.0.tgz", + "integrity": "sha512-Y6hyofImk9JdzU8k5INtTXX1cu8LDlePWDFU5sftm9H+zKCr5SGrVjdhkvsim646cw5zD0nADj8oHyXMZmCZ9w==", "requires": { "imul": "^1.0.0" } }, "fn.name": { - "version": "1.1.0" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz", + "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==" }, "follow-redirects": { - "version": "1.15.6" + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==" }, "for-each": { "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", "dev": true, "requires": { "is-callable": "^1.1.3" @@ -29802,6 +33207,8 @@ }, "foreground-child": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", + "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", "dev": true, "requires": { "cross-spawn": "^7.0.0", @@ -29815,7 +33222,9 @@ "dev": true }, "form-data": { - "version": "4.0.0", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz", + "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==", "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -29830,35 +33239,53 @@ }, "formdata-polyfill": { "version": "4.0.10", + "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", + "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", "requires": { "fetch-blob": "^3.1.2" } }, "forwarded": { - "version": "0.2.0" + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" }, "fp-ts": { - "version": "1.19.3" + "version": "1.19.3", + "resolved": "https://registry.npmjs.org/fp-ts/-/fp-ts-1.19.3.tgz", + "integrity": "sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==" }, "fraction.js": { - "version": "4.3.7" + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==" }, "fresh": { - "version": "0.5.2" + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" }, "from-exponential": { - "version": "1.1.1" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/from-exponential/-/from-exponential-1.1.1.tgz", + "integrity": "sha512-VBE7f5OVnYwdgB3LHa+Qo29h8qVpxhVO9Trlc+AWm+/XNAgks1tAwMFHb33mjeiof77GglsJzeYF7OqXrROP/A==" }, "fromentries": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", + "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==", "dev": true }, "fs-constants": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", "dev": true }, "fs-extra": { "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", "requires": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", @@ -29875,14 +33302,20 @@ } }, "fs.realpath": { - "version": "1.0.0" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "fsevents": { "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "optional": true }, "fstream": { "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", + "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", "requires": { "graceful-fs": "^4.1.2", "inherits": "~2.0.0", @@ -29892,6 +33325,8 @@ "dependencies": { "rimraf": { "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "requires": { "glob": "^7.1.3" } @@ -29899,10 +33334,14 @@ } }, "function-bind": { - "version": "1.1.2" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" }, "function.prototype.name": { "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", "dev": true, "peer": true, "requires": { @@ -29914,28 +33353,40 @@ }, "functions-have-names": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", "dev": true, "peer": true }, "generate-function": { "version": "2.3.1", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", + "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==", "requires": { "is-property": "^1.0.2" } }, "gensync": { "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true }, "get-caller-file": { - "version": "2.0.5" + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" }, "get-func-name": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", "dev": true }, "get-intrinsic": { "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "requires": { "es-errors": "^1.3.0", "function-bind": "^1.1.2", @@ -29945,17 +33396,25 @@ } }, "get-iterator": { - "version": "1.0.2" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-iterator/-/get-iterator-1.0.2.tgz", + "integrity": "sha512-v+dm9bNVfOYsY1OrhaCrmyOcYoSeVvbt+hHZ0Au+T+p1y+0Uyj9aMaGIeUTT6xdpRbWzDeYKvfOslPhggQMcsg==" }, "get-package-type": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "dev": true }, "get-stream": { - "version": "6.0.1" + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" }, "get-symbol-description": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", "dev": true, "peer": true, "requires": { @@ -29975,10 +33434,14 @@ }, "github-from-package": { "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", "dev": true }, "glob": { "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -29990,6 +33453,8 @@ }, "glob-parent": { "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "requires": { "is-glob": "^4.0.3" } @@ -30006,6 +33471,8 @@ }, "global-dirs": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", + "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", "dev": true, "requires": { "ini": "2.0.0" @@ -30013,12 +33480,16 @@ }, "globals": { "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "requires": { "type-fest": "^0.20.2" } }, "globalthis": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", "dev": true, "peer": true, "requires": { @@ -30028,6 +33499,8 @@ }, "gopd": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", "requires": { "get-intrinsic": "^1.1.3" } @@ -30062,10 +33535,14 @@ } }, "graceful-fs": { - "version": "4.2.11" + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" }, "graphdb": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/graphdb/-/graphdb-2.0.2.tgz", + "integrity": "sha512-ORbS7yw/kTUdKXyeO7QaXx1I3fxigej3KQQdrVSpu0ZQ1W7OVQHDAd/Gu+x2clpwm6sela94Uh/+YKkQGbZqmA==", "requires": { "axios": "^0.21.4", "base64url": "^3.0.1", @@ -30081,22 +33558,32 @@ }, "dependencies": { "@types/node": { - "version": "13.13.52" + "version": "13.13.52", + "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.52.tgz", + "integrity": "sha512-s3nugnZumCC//n4moGGe6tkNMyYEdaDBitVjwPxXmR5lnMG5dHePinH2EdxkG3Rh1ghFHHixAG4NJhpJW1rthQ==" }, "axios": { "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" } }, "canonicalize": { - "version": "1.0.8" + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/canonicalize/-/canonicalize-1.0.8.tgz", + "integrity": "sha512-0CNTVCLZggSh7bc5VkX5WWPWO+cyZbNd07IHIsSXLia/eAq+r836hgk+8BKoEh7949Mda87VUOitx5OddVj64A==" }, "fast-redact": { - "version": "2.1.0" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-2.1.0.tgz", + "integrity": "sha512-0LkHpTLyadJavq9sRzzyqIoMZemWli77K2/MGOkafrR64B9ItrvZ9aT+jluvNDsv0YEHjSNhlMBtbokuoqii4A==" }, "jsonld-streaming-parser": { "version": "2.4.3", + "resolved": "https://registry.npmjs.org/jsonld-streaming-parser/-/jsonld-streaming-parser-2.4.3.tgz", + "integrity": "sha512-ysuevJ+l8+Y4W3J/yQW3pa9VCBNDHo2tZkKmPAnfhfsmFMyxuueAeXMmTbpJZdrpagzeeDVr3A8EZVuHliQJ9A==", "requires": { "@rdfjs/types": "*", "@types/http-link-header": "^1.0.1", @@ -30109,6 +33596,8 @@ }, "pino": { "version": "5.17.0", + "resolved": "https://registry.npmjs.org/pino/-/pino-5.17.0.tgz", + "integrity": "sha512-LqrqmRcJz8etUjyV0ddqB6OTUutCgQULPFg2b4dtijRHUsucaAdBgSUW58vY6RFSX+NT8963F+q0tM6lNwGShA==", "requires": { "fast-redact": "^2.0.0", "fast-safe-stringify": "^2.0.7", @@ -30119,13 +33608,19 @@ } }, "pino-std-serializers": { - "version": "2.5.0" + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-2.5.0.tgz", + "integrity": "sha512-wXqbqSrIhE58TdrxxlfLwU9eDhrzppQDvGhBEr1gYbzzM4KKo3Y63gSjiDXRKLVS2UOXdPNR2v+KnQgNrs+xUg==" }, "quick-format-unescaped": { - "version": "3.0.3" + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-3.0.3.tgz", + "integrity": "sha512-dy1yjycmn9blucmJLXOfZDx1ikZJUi6E8bBZLnhPG5gBrVhHXx2xVyqqgKBubVNEXmx51dBACMHpoMQK/N/AXQ==" }, "rdfxml-streaming-parser": { "version": "1.5.0", + "resolved": "https://registry.npmjs.org/rdfxml-streaming-parser/-/rdfxml-streaming-parser-1.5.0.tgz", + "integrity": "sha512-pnt+7NgeqCMd2/rub+dqxzYJhZwJjBNU2BRwyYdCTmRZu2fr795jCPJB6Io5pjPzAt29ASqy+ODBSRMDKoKGbQ==", "requires": { "@rdfjs/types": "*", "rdf-data-factory": "^1.1.0", @@ -30135,6 +33630,8 @@ }, "sonic-boom": { "version": "0.7.7", + "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-0.7.7.tgz", + "integrity": "sha512-Ei5YOo5J64GKClHIL/5evJPgASXFVpfVYbJV9PILZQytTK6/LCwHvsZJW2Ig4p9FMC2OrBrMnXKgRN/OEoAWfg==", "requires": { "atomic-sleep": "^1.0.0", "flatstr": "^1.0.12" @@ -30142,6 +33639,8 @@ }, "sparqljson-parse": { "version": "1.7.0", + "resolved": "https://registry.npmjs.org/sparqljson-parse/-/sparqljson-parse-1.7.0.tgz", + "integrity": "sha512-/88g7aK1QZ42YvMx+nStNeZsiVJhmg/OC4RNnQk+ybItvEkQiTOpnYDmST5FnzOIsSmp5RxAZDCIDdMK1h7Ynw==", "requires": { "@rdfjs/types": "*", "@types/node": "^13.1.0", @@ -30151,6 +33650,8 @@ }, "sparqlxml-parse": { "version": "1.5.0", + "resolved": "https://registry.npmjs.org/sparqlxml-parse/-/sparqlxml-parse-1.5.0.tgz", + "integrity": "sha512-+0DCekgO3G6ugeVntrZS6+Fj60MsHR0q51WoRAdVzARb5V3jhX3dZJbwSaeydsOsXrtts4XSMc/z+kbqy5/VUQ==", "requires": { "@rdfjs/types": "*", "@types/node": "^13.1.0", @@ -30159,18 +33660,26 @@ } }, "uuid": { - "version": "3.4.0" + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" } } }, "graphemer": { - "version": "1.4.0" + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" }, "graphql": { - "version": "15.8.0" + "version": "15.9.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.9.0.tgz", + "integrity": "sha512-GCOQdvm7XxV1S4U4CGrsdlEN37245eC8P9zaYCMr6K1BG0IPGy5lUwmJsEOGyl1GD6HXjOtl2keCP9asRBwNvA==" }, "graphql-to-sparql": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/graphql-to-sparql/-/graphql-to-sparql-3.0.1.tgz", + "integrity": "sha512-A+RwB99o66CUj+XuqtP/u3P7fGS/qF6P+/jhNl1BE/JZ2SCnkrODvV0LADuJeCDmPh45fDhq+GTDVoN1ZQHYFw==", "requires": { "@rdfjs/types": "*", "graphql": "^15.5.2", @@ -30197,11 +33706,13 @@ } }, "hardhat": { - "version": "2.22.5", + "version": "2.22.16", + "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.22.16.tgz", + "integrity": "sha512-d52yQZ09u0roL6GlgJSvtknsBtIuj9JrJ/U8VMzr/wue+gO5v2tQayvOX6llerlR57Zw2EOTQjLAt6RpHvjwHA==", "requires": { "@ethersproject/abi": "^5.1.2", "@metamask/eth-sig-util": "^4.0.0", - "@nomicfoundation/edr": "^0.4.0", + "@nomicfoundation/edr": "^0.6.4", "@nomicfoundation/ethereumjs-common": "4.0.4", "@nomicfoundation/ethereumjs-tx": "5.0.4", "@nomicfoundation/ethereumjs-util": "9.0.4", @@ -30213,148 +33724,86 @@ "aggregate-error": "^3.0.0", "ansi-escapes": "^4.3.0", "boxen": "^5.1.2", - "chalk": "^2.4.2", - "chokidar": "^3.4.0", + "chokidar": "^4.0.0", "ci-info": "^2.0.0", "debug": "^4.1.1", "enquirer": "^2.3.0", "env-paths": "^2.2.0", "ethereum-cryptography": "^1.0.3", "ethereumjs-abi": "^0.6.8", - "find-up": "^2.1.0", + "find-up": "^5.0.0", "fp-ts": "1.19.3", "fs-extra": "^7.0.1", - "glob": "7.2.0", "immutable": "^4.0.0-rc.12", "io-ts": "1.10.4", + "json-stream-stringify": "^3.1.4", "keccak": "^3.0.2", "lodash": "^4.17.11", "mnemonist": "^0.38.0", "mocha": "^10.0.0", "p-map": "^4.0.0", + "picocolors": "^1.1.0", "raw-body": "^2.4.1", "resolve": "1.17.0", "semver": "^6.3.0", - "solc": "0.7.3", + "solc": "0.8.26", "source-map-support": "^0.5.13", "stacktrace-parser": "^0.1.10", + "tinyglobby": "^0.2.6", "tsort": "0.0.1", "undici": "^5.14.0", "uuid": "^8.3.2", "ws": "^7.4.6" }, "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3" - }, - "escape-string-regexp": { - "version": "1.0.5" - }, - "find-up": { - "version": "2.1.0", - "requires": { - "locate-path": "^2.0.0" - } - }, "fs-extra": { "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", "requires": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", "universalify": "^0.1.0" } }, - "glob": { - "version": "7.2.0", - "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" - } - }, - "has-flag": { - "version": "3.0.0" - }, "jsonfile": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", "requires": { "graceful-fs": "^4.1.6" } }, - "locate-path": { - "version": "2.0.0", - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "1.3.0", - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0" - }, - "path-exists": { - "version": "3.0.0" - }, "resolve": { "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", "requires": { "path-parse": "^1.0.6" } }, "semver": { - "version": "6.3.1" - }, - "supports-color": { - "version": "5.5.0", - "requires": { - "has-flag": "^3.0.0" - } + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" }, "universalify": { - "version": "0.1.2" + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" }, "ws": { - "version": "7.5.9", + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", "requires": {} } } }, "hardhat-deploy": { "version": "0.11.45", + "resolved": "https://registry.npmjs.org/hardhat-deploy/-/hardhat-deploy-0.11.45.tgz", + "integrity": "sha512-aC8UNaq3JcORnEUIwV945iJuvBwi65tjHVDU3v6mOcqik7WAzHVCJ7cwmkkipsHrWysrB5YvGF1q9S1vIph83w==", "requires": { "@ethersproject/abi": "^5.7.0", "@ethersproject/abstract-signer": "^5.7.0", @@ -30384,18 +33833,55 @@ "dependencies": { "axios": { "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" } + }, + "chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "requires": { + "picomatch": "^2.2.1" + } } } }, "hardhat-deploy-ethers": { "version": "0.3.0-beta.13", + "resolved": "https://registry.npmjs.org/hardhat-deploy-ethers/-/hardhat-deploy-ethers-0.3.0-beta.13.tgz", + "integrity": "sha512-PdWVcKB9coqWV1L7JTpfXRCI91Cgwsm7KLmBcwZ8f0COSm1xtABHZTyz3fvF6p42cTnz1VM0QnfDvMFlIRkSNw==", "requires": {} }, "has-ansi": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-4.0.1.tgz", + "integrity": "sha512-Qr4RtTm30xvEdqUXbSBVWDu+PrTokJOwe/FU+VdfJPk+MXAPoeOzKpRyrDTnZIJwAkQ4oBLTU53nu0HrkF/Z2A==", "dev": true, "requires": { "ansi-regex": "^4.1.0" @@ -30403,26 +33889,38 @@ }, "has-bigints": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", "dev": true, "peer": true }, "has-flag": { - "version": "4.0.0" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, "has-property-descriptors": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "requires": { "es-define-property": "^1.0.0" } }, "has-proto": { - "version": "1.0.3" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==" }, "has-symbols": { - "version": "1.0.3" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" }, "has-tostringtag": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", "dev": true, "requires": { "has-symbols": "^1.0.3" @@ -30430,6 +33928,8 @@ }, "hash-base": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", "requires": { "inherits": "^2.0.4", "readable-stream": "^3.6.0", @@ -30438,6 +33938,8 @@ "dependencies": { "readable-stream": { "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -30448,6 +33950,8 @@ }, "hash.js": { "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", "requires": { "inherits": "^2.0.3", "minimalistic-assert": "^1.0.1" @@ -30455,6 +33959,8 @@ }, "hasha": { "version": "5.2.2", + "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", + "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", "dev": true, "requires": { "is-stream": "^2.0.0", @@ -30463,27 +33969,39 @@ "dependencies": { "type-fest": { "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", "dev": true } } }, "hashlru": { - "version": "2.3.0" + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/hashlru/-/hashlru-2.3.0.tgz", + "integrity": "sha512-0cMsjjIC8I+D3M44pOQdsy0OHXGLVz6Z0beRuufhKa0KfaD2wGwAev6jILzXsd3/vpnNQJmWyZtIILqM1N+n5A==" }, "hasown": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "requires": { "function-bind": "^1.1.2" } }, "he": { - "version": "1.2.0" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" }, "heap": { - "version": "0.2.7" + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/heap/-/heap-0.2.7.tgz", + "integrity": "sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==" }, "help-me": { "version": "4.2.0", + "resolved": "https://registry.npmjs.org/help-me/-/help-me-4.2.0.tgz", + "integrity": "sha512-TAOnTB8Tz5Dw8penUuzHVrKNKlCIbwwbHnXraNJxPwf8LRtE2HlM84RYuezMFcwOJmoYOCWVDyJ8TQGxn9PgxA==", "requires": { "glob": "^8.0.0", "readable-stream": "^3.6.0" @@ -30491,12 +34009,16 @@ "dependencies": { "brace-expansion": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "requires": { "balanced-match": "^1.0.0" } }, "glob": { "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -30507,12 +34029,16 @@ }, "minimatch": { "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "requires": { "brace-expansion": "^2.0.1" } }, "readable-stream": { "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -30523,6 +34049,8 @@ }, "hmac-drbg": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", "requires": { "hash.js": "^1.0.3", "minimalistic-assert": "^1.0.0", @@ -30531,6 +34059,8 @@ }, "html-encoding-sniffer": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", "dev": true, "requires": { "whatwg-encoding": "^1.0.5" @@ -30538,10 +34068,14 @@ }, "html-escaper": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, "htmlparser2": { "version": "9.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-9.1.0.tgz", + "integrity": "sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==", "requires": { "domelementtype": "^2.3.0", "domhandler": "^5.0.3", @@ -30557,6 +34091,8 @@ }, "http-errors": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "requires": { "depd": "2.0.0", "inherits": "2.0.4", @@ -30572,10 +34108,14 @@ "dev": true }, "http-link-header": { - "version": "1.1.3" + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/http-link-header/-/http-link-header-1.1.3.tgz", + "integrity": "sha512-3cZ0SRL8fb9MUlU3mKM61FcQvPfXx2dBrZW3Vbg5CXa8jFlK8OaEpePenLe1oEXQduhz8b0QjsqfS59QP4AJDQ==" }, "http-proxy-agent": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", "dev": true, "requires": { "@tootallnate/once": "1", @@ -30606,20 +34146,28 @@ }, "https-proxy-agent": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "requires": { "agent-base": "6", "debug": "4" } }, "human-signals": { - "version": "2.1.0" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" }, "husky": { "version": "8.0.3", + "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.3.tgz", + "integrity": "sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==", "dev": true }, "iconv-lite": { "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "requires": { "safer-buffer": ">= 2.1.2 < 3.0.0" } @@ -30642,52 +34190,78 @@ } }, "ieee754": { - "version": "1.2.1" + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" }, "ignore": { - "version": "5.3.1" + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==" }, "immutable": { - "version": "4.3.6" + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz", + "integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==" }, "import-fresh": { "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "requires": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" } }, "import-lazy": { - "version": "4.0.0" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", + "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==" }, "imul": { - "version": "1.0.1" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/imul/-/imul-1.0.1.tgz", + "integrity": "sha512-WFAgfwPLAjU66EKt6vRdTlKj4nAgIDQzh29JonLa4Bqtl6D8JrIMvWjCnx7xEjVNmP3U0fM5o8ZObk7d0f62bA==" }, "imurmurhash": { - "version": "0.1.4" + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" }, "indent-string": { - "version": "4.0.0" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" }, "inflection": { - "version": "1.13.4" + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.13.4.tgz", + "integrity": "sha512-6I/HUDeYFfuNCVS3td055BaXBwKYuzw7K3ExVMStBowKo9oOAMJIXIHvdyR3iboTCp1b+1i5DSkIZTcwIktuDw==" }, "inflight": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "requires": { "once": "^1.3.0", "wrappy": "1" } }, "inherits": { - "version": "2.0.4" + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "ini": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", "dev": true }, "interface-datastore": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-5.2.0.tgz", + "integrity": "sha512-nthO4C4BMJM2j9x/mT2KFa/g/sbcY8yf9j/kOBgli3u5mq9ZdPvQyDxi0OhKzr4JmoM81OYh5xcFjyebquqwvA==", "requires": { "err-code": "^3.0.1", "interface-store": "^1.0.2", @@ -30701,10 +34275,14 @@ } }, "interface-store": { - "version": "1.0.2" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-1.0.2.tgz", + "integrity": "sha512-rUBLYsgoWwxuUpnQoSUr+DR/3dH3reVeIu5aOHFZK31lAexmb++kR6ZECNRgrx6WvoaM3Akdo0A7TDrqgCzZaQ==" }, "internal-slot": { "version": "1.0.7", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", "dev": true, "peer": true, "requires": { @@ -30715,32 +34293,46 @@ }, "internmap": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", + "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", "dev": true }, "io-ts": { "version": "1.10.4", + "resolved": "https://registry.npmjs.org/io-ts/-/io-ts-1.10.4.tgz", + "integrity": "sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g==", "requires": { "fp-ts": "^1.0.0" } }, "ip": { - "version": "1.1.9" + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.9.tgz", + "integrity": "sha512-cyRxvOEpNHNtchU3Ln9KC/auJgup87llfQpQ+t5ghoC/UhL16SWzbueiCsdTnWmqAWl7LadfuwhlqmtOaqMHdQ==" }, "ip-address": { "version": "8.1.0", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-8.1.0.tgz", + "integrity": "sha512-Wz91gZKpNKoXtqvY8ScarKYwhXoK4r/b5QuT+uywe/azv0/nUCo7Bh0IRRI7F9DHR06kJNWtzMGLIbXavngbKA==", "requires": { "jsbn": "1.1.0", "sprintf-js": "1.1.2" } }, "ip-regex": { - "version": "4.3.0" + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", + "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==" }, "ipaddr.js": { - "version": "2.2.0" + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", + "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==" }, "ipfs-utils": { "version": "8.1.6", + "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-8.1.6.tgz", + "integrity": "sha512-V/cwb6113DrDhrjDTWImA6+zmJbpdbUkxdxmEQO7it8ykV76bBmzU1ZXSM0QR0qxGy9VW8dkUlPAC2K10VgSmw==", "requires": { "abort-controller": "^3.0.0", "any-signal": "^2.1.0", @@ -30778,6 +34370,8 @@ }, "is-array-buffer": { "version": "3.0.4", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", "dev": true, "peer": true, "requires": { @@ -30786,10 +34380,14 @@ } }, "is-arrayish": { - "version": "0.3.2" + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" }, "is-async-function": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", "dev": true, "peer": true, "requires": { @@ -30798,6 +34396,8 @@ }, "is-bigint": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", "dev": true, "peer": true, "requires": { @@ -30806,12 +34406,16 @@ }, "is-binary-path": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "requires": { "binary-extensions": "^2.0.0" } }, "is-boolean-object": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "dev": true, "peer": true, "requires": { @@ -30820,20 +34424,28 @@ } }, "is-buffer": { - "version": "2.0.5" + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" }, "is-callable": { "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "dev": true }, "is-core-module": { - "version": "2.13.1", + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", "requires": { - "hasown": "^2.0.0" + "hasown": "^2.0.2" } }, "is-data-view": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", + "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", "dev": true, "peer": true, "requires": { @@ -30842,6 +34454,8 @@ }, "is-date-object": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "dev": true, "peer": true, "requires": { @@ -30849,21 +34463,29 @@ } }, "is-electron": { - "version": "2.2.2" + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.2.tgz", + "integrity": "sha512-FO/Rhvz5tuw4MCWkpMzHFKWD2LsfHzIb7i6MdPYZ/KW7AlxawyLkqdy+jPZP1WubqEADE3O4FUENlJHDfQASRg==" }, "is-extglob": { - "version": "2.1.1" + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" }, "is-finalizationregistry": { - "version": "1.0.2", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.0.tgz", + "integrity": "sha512-qfMdqbAQEwBw78ZyReKnlA8ezmPdb9BemzIIip/JkjaZUhitfXDkkr+3QTboW0JrSXT1QWyYShpvnNHGZ4c4yA==", "dev": true, "peer": true, "requires": { - "call-bind": "^1.0.2" + "call-bind": "^1.0.7" } }, "is-fullwidth-code-point": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", "dev": true }, "is-function": { @@ -30874,6 +34496,8 @@ }, "is-generator-function": { "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", "dev": true, "requires": { "has-tostringtag": "^1.0.0" @@ -30881,15 +34505,21 @@ }, "is-glob": { "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "requires": { "is-extglob": "^2.1.1" } }, "is-hex-prefixed": { - "version": "1.0.0" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", + "integrity": "sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==" }, "is-installed-globally": { "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", "dev": true, "requires": { "global-dirs": "^3.0.0", @@ -30898,28 +34528,40 @@ }, "is-ip": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", + "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", "requires": { "ip-regex": "^4.0.0" } }, "is-loopback-addr": { - "version": "1.0.1" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-loopback-addr/-/is-loopback-addr-1.0.1.tgz", + "integrity": "sha512-DhWU/kqY7X2F6KrrVTu7mHlbd2Pbo4D1YkAzasBMjQs6lJAoefxaA6m6CpSX0K6pjt9D0b9PNFI5zduy/vzOYw==" }, "is-map": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", "dev": true, "peer": true }, "is-negative-zero": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", "dev": true, "peer": true }, "is-number": { - "version": "7.0.0" + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" }, "is-number-object": { "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", "dev": true, "peer": true, "requires": { @@ -30927,20 +34569,30 @@ } }, "is-path-inside": { - "version": "3.0.3" + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" }, "is-plain-obj": { - "version": "2.1.0" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" }, "is-potential-custom-element-name": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", "dev": true }, "is-property": { - "version": "1.0.2" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==" }, "is-regex": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dev": true, "peer": true, "requires": { @@ -30950,11 +34602,15 @@ }, "is-set": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", "dev": true, "peer": true }, "is-shared-array-buffer": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", "dev": true, "peer": true, "requires": { @@ -30962,10 +34618,14 @@ } }, "is-stream": { - "version": "2.0.1" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" }, "is-string": { "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", "dev": true, "peer": true, "requires": { @@ -30974,6 +34634,8 @@ }, "is-symbol": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dev": true, "peer": true, "requires": { @@ -30982,24 +34644,34 @@ }, "is-typed-array": { "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", "dev": true, "requires": { "which-typed-array": "^1.1.14" } }, "is-typedarray": { - "version": "1.0.0" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" }, "is-unicode-supported": { - "version": "0.1.0" + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==" }, "is-weakmap": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", "dev": true, "peer": true }, "is-weakref": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", "dev": true, "peer": true, "requires": { @@ -31008,6 +34680,8 @@ }, "is-weakset": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", + "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", "dev": true, "peer": true, "requires": { @@ -31017,18 +34691,26 @@ }, "is-windows": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true }, "isarray": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", "dev": true, "peer": true }, "isexe": { - "version": "2.0.0" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, "iso-random-stream": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/iso-random-stream/-/iso-random-stream-2.0.2.tgz", + "integrity": "sha512-yJvs+Nnelic1L2vH2JzWvvPQFA4r7kSTnpST/+LkAQjSz0hos2oqLD+qIVi9Qk38Hoe7mNDt3j0S27R58MVjLQ==", "requires": { "events": "^3.3.0", "readable-stream": "^3.4.0" @@ -31036,6 +34718,8 @@ "dependencies": { "readable-stream": { "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -31045,7 +34729,9 @@ } }, "iso-url": { - "version": "1.2.1" + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-1.2.1.tgz", + "integrity": "sha512-9JPDgCN4B7QPkLtYAAOrEuAWvP9rWvR5offAr0/SeF046wIkglqH3VXgYYP6NcsKslH80UIVgmPqNe3j7tG2ng==" }, "isstream": { "version": "0.1.2", @@ -31055,10 +34741,14 @@ }, "istanbul-lib-coverage": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", "dev": true }, "istanbul-lib-hook": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", + "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", "dev": true, "requires": { "append-transform": "^2.0.0" @@ -31066,6 +34756,8 @@ }, "istanbul-lib-instrument": { "version": "4.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", "dev": true, "requires": { "@babel/core": "^7.7.5", @@ -31076,12 +34768,16 @@ "dependencies": { "semver": { "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true } } }, "istanbul-lib-processinfo": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.3.tgz", + "integrity": "sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==", "dev": true, "requires": { "archy": "^1.0.0", @@ -31094,6 +34790,8 @@ "dependencies": { "p-map": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", "dev": true, "requires": { "aggregate-error": "^3.0.0" @@ -31103,6 +34801,8 @@ }, "istanbul-lib-report": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, "requires": { "istanbul-lib-coverage": "^3.0.0", @@ -31112,6 +34812,8 @@ "dependencies": { "make-dir": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, "requires": { "semver": "^7.5.3" @@ -31119,6 +34821,8 @@ }, "supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { "has-flag": "^4.0.0" @@ -31128,6 +34832,8 @@ }, "istanbul-lib-source-maps": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dev": true, "requires": { "debug": "^4.1.1", @@ -31137,6 +34843,8 @@ }, "istanbul-reports": { "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", "dev": true, "requires": { "html-escaper": "^2.0.0", @@ -31144,26 +34852,38 @@ } }, "it-all": { - "version": "1.0.6" + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/it-all/-/it-all-1.0.6.tgz", + "integrity": "sha512-3cmCc6Heqe3uWi3CVM/k51fa/XbMFpQVzFoDsV0IZNHSQDyAXl3c4MjHkFX5kF3922OGj7Myv1nSEUgRtcuM1A==" }, "it-buffer": { "version": "0.1.3", + "resolved": "https://registry.npmjs.org/it-buffer/-/it-buffer-0.1.3.tgz", + "integrity": "sha512-9a2/9SYVwG7bcn3tpRDR4bXbtuMLXnDK48KVC+GXiQg97ZOOdWz2nIITBsOQ19b+gj01Rw8RNwtiLDLI8P8oiQ==", "requires": { "bl": "^5.0.0", "buffer": "^6.0.3" } }, "it-drain": { - "version": "1.0.5" + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/it-drain/-/it-drain-1.0.5.tgz", + "integrity": "sha512-r/GjkiW1bZswC04TNmUnLxa6uovme7KKwPhc+cb1hHU65E3AByypHH6Pm91WHuvqfFsm+9ws0kPtDBV3/8vmIg==" }, "it-filter": { - "version": "1.0.3" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/it-filter/-/it-filter-1.0.3.tgz", + "integrity": "sha512-EI3HpzUrKjTH01miLHWmhNWy3Xpbx4OXMXltgrNprL5lDpF3giVpHIouFpr5l+evXw6aOfxhnt01BIB+4VQA+w==" }, "it-first": { - "version": "1.0.7" + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/it-first/-/it-first-1.0.7.tgz", + "integrity": "sha512-nvJKZoBpZD/6Rtde6FXqwDqDZGF1sCADmr2Zoc0hZsIvnE449gRFnGctxDf09Bzc/FWnHXAdaHVIetY6lrE0/g==" }, "it-glob": { "version": "0.0.14", + "resolved": "https://registry.npmjs.org/it-glob/-/it-glob-0.0.14.tgz", + "integrity": "sha512-TKKzs9CglbsihSpcwJPXN5DBUssu4akRzPlp8QJRCoLrKoaOpyY2V1qDlxx+UMivn0i114YyTd4AawWl7eqIdw==", "requires": { "@types/minimatch": "^3.0.4", "minimatch": "^3.0.4" @@ -31171,6 +34891,8 @@ }, "it-handshake": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/it-handshake/-/it-handshake-2.0.0.tgz", + "integrity": "sha512-K4q+mz8aLlCK3vTjtgNdHC9c/JbuOATsfogarjMsLcBZC5vYfKbX3Gq3AWcCdjIsIrPqzTlhPKSxl64LJkrt2w==", "requires": { "it-pushable": "^1.4.0", "it-reader": "^3.0.0", @@ -31178,10 +34900,14 @@ } }, "it-length": { - "version": "1.0.4" + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/it-length/-/it-length-1.0.4.tgz", + "integrity": "sha512-KN4jXzp77/GQ4fxUGMbsJx3ALUZ6SP3E79tzs2weGghtImDLFZzua/l3fOK0LN/hMH0M330HJRZWwYZfDNuCIA==" }, "it-length-prefixed": { "version": "5.0.3", + "resolved": "https://registry.npmjs.org/it-length-prefixed/-/it-length-prefixed-5.0.3.tgz", + "integrity": "sha512-b+jDHLcnOnPDQN79ronmzF5jeBjdJsy0ce2O6i6X4J5tnaO8Fd146ZA/tMbzaLlKnTpXa0eKtofpYhumXGENeg==", "requires": { "bl": "^5.0.0", "buffer": "^6.0.3", @@ -31189,22 +34915,30 @@ } }, "it-map": { - "version": "1.0.6" + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/it-map/-/it-map-1.0.6.tgz", + "integrity": "sha512-XT4/RM6UHIFG9IobGlQPFQUrlEKkU4eBUFG3qhWhfAdh1JfF2x11ShCrKCdmZ0OiZppPfoLuzcfA4cey6q3UAQ==" }, "it-merge": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/it-merge/-/it-merge-1.0.4.tgz", + "integrity": "sha512-DcL6GksTD2HQ7+5/q3JznXaLNfwjyG3/bObaF98da+oHfUiPmdo64oJlT9J8R8G5sJRU7thwaY5zxoAKCn7FJw==", "requires": { "it-pushable": "^1.4.0" } }, "it-pair": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/it-pair/-/it-pair-1.0.0.tgz", + "integrity": "sha512-9raOiDu5OAuDOahtMtapKQDrQTxBfzlzrNcB6o7JARHkt+7Bb1dMkW/TpYdAjBJE77KH3e2zGzwpGUP9tXbLww==", "requires": { "get-iterator": "^1.0.2" } }, "it-pb-rpc": { "version": "0.1.13", + "resolved": "https://registry.npmjs.org/it-pb-rpc/-/it-pb-rpc-0.1.13.tgz", + "integrity": "sha512-aZ4FNJsDgNepVVTmYXgXbQabIiOQyqYWUhdfovaHDcPSM5KjegwJihJEWMJjMyj+oLSKcZl0vmHgHxXWJ9/ufw==", "requires": { "is-buffer": "^2.0.5", "it-handshake": "^2.0.0", @@ -31212,25 +34946,35 @@ } }, "it-pipe": { - "version": "1.1.0" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/it-pipe/-/it-pipe-1.1.0.tgz", + "integrity": "sha512-lF0/3qTVeth13TOnHVs0BTFaziwQF7m5Gg+E6JV0BXcLKutC92YjSi7bASgkPOXaLEb+YvNZrPorGMBIJvZfxg==" }, "it-pushable": { "version": "1.4.2", + "resolved": "https://registry.npmjs.org/it-pushable/-/it-pushable-1.4.2.tgz", + "integrity": "sha512-vVPu0CGRsTI8eCfhMknA7KIBqqGFolbRx+1mbQ6XuZ7YCz995Qj7L4XUviwClFunisDq96FdxzF5FnAbw15afg==", "requires": { "fast-fifo": "^1.0.0" } }, "it-reader": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/it-reader/-/it-reader-3.0.0.tgz", + "integrity": "sha512-NxR40odATeaBmSefn6Xn43DplYvn2KtEKQzn4jrTRuPYXMky5M4e+KQ7aTJh0k0vkytLyeenGO1I1GXlGm4laQ==", "requires": { "bl": "^5.0.0" } }, "it-take": { - "version": "1.0.2" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/it-take/-/it-take-1.0.2.tgz", + "integrity": "sha512-u7I6qhhxH7pSevcYNaMECtkvZW365ARqAIt9K+xjdK1B2WUDEjQSfETkOCT8bxFq/59LqrN3cMLUtTgmDBaygw==" }, "it-to-stream": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/it-to-stream/-/it-to-stream-1.0.0.tgz", + "integrity": "sha512-pLULMZMAB/+vbdvbZtebC0nWBTbG581lk6w8P7DfIIIKUfa8FbY7Oi0FxZcFPbxvISs7A9E+cMpLDBc1XhpAOA==", "requires": { "buffer": "^6.0.3", "fast-fifo": "^1.0.0", @@ -31242,6 +34986,8 @@ "dependencies": { "readable-stream": { "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -31251,7 +34997,9 @@ } }, "iterator.prototype": { - "version": "1.1.2", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.3.tgz", + "integrity": "sha512-FW5iMbeQ6rBGm/oKgzq2aW4KvAGpxPzYES8N4g4xNXUKpL1mclMvOe+76AcLDTvD+Ze+sOpVhgdAQEKF4L9iGQ==", "dev": true, "peer": true, "requires": { @@ -31263,32 +35011,48 @@ } }, "javascript-natural-sort": { - "version": "0.7.1" + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/javascript-natural-sort/-/javascript-natural-sort-0.7.1.tgz", + "integrity": "sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==" }, "jju": { - "version": "1.4.0" + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz", + "integrity": "sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==" }, "joycon": { - "version": "3.1.1" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz", + "integrity": "sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==" }, "js-sha3": { - "version": "0.8.0" + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" }, "js-tokens": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true }, "js-yaml": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "requires": { "argparse": "^2.0.1" } }, "jsbn": { - "version": "1.1.0" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==" }, "jsdom": { "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", "dev": true, "requires": { "abab": "^2.0.5", @@ -31321,7 +35085,9 @@ }, "dependencies": { "form-data": { - "version": "3.0.1", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.2.tgz", + "integrity": "sha512-sJe+TQb2vIaIyO783qN6BlMYWMw3WBOHA1Ay2qxsnjuafEOQFJ2JakedOQirT6D5XPRxDvS7AHYyem9fTpb4LQ==", "dev": true, "requires": { "asynckit": "^0.4.0", @@ -31330,18 +35096,24 @@ } }, "ws": { - "version": "7.5.9", + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", "dev": true, "requires": {} } } }, "jsesc": { - "version": "2.5.2", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", "dev": true }, "json-buffer": { - "version": "3.0.1" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" }, "json-schema": { "version": "0.4.0", @@ -31350,20 +35122,35 @@ "dev": true }, "json-schema-traverse": { - "version": "0.4.1" + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "json-stable-stringify-without-jsonify": { - "version": "1.0.1" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" + }, + "json-stream-stringify": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/json-stream-stringify/-/json-stream-stringify-3.1.6.tgz", + "integrity": "sha512-x7fpwxOkbhFCaJDJ8vb1fBY3DdSa4AlITaz+HHILQJzdPMnHEFjxPwVUi1ALIbcIxDE0PNe/0i7frnY8QnBQog==" }, "json-stringify-safe": { - "version": "5.0.1" + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" }, "json5": { "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true }, "jsonfile": { "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "requires": { "graceful-fs": "^4.1.6", "universalify": "^2.0.0" @@ -31371,6 +35158,8 @@ }, "jsonld": { "version": "8.3.2", + "resolved": "https://registry.npmjs.org/jsonld/-/jsonld-8.3.2.tgz", + "integrity": "sha512-MwBbq95szLwt8eVQ1Bcfwmgju/Y5P2GdtlHE2ncyfuYjIdEhluUVyj1eudacf1mOkWIoS9GpDBTECqhmq7EOaA==", "requires": { "@digitalbazaar/http-client": "^3.4.1", "canonicalize": "^1.0.1", @@ -31379,21 +35168,29 @@ }, "dependencies": { "canonicalize": { - "version": "1.0.8" + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/canonicalize/-/canonicalize-1.0.8.tgz", + "integrity": "sha512-0CNTVCLZggSh7bc5VkX5WWPWO+cyZbNd07IHIsSXLia/eAq+r836hgk+8BKoEh7949Mda87VUOitx5OddVj64A==" }, "lru-cache": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "requires": { "yallist": "^4.0.0" } }, "yallist": { - "version": "4.0.0" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" } } }, "jsonld-context-parser": { "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonld-context-parser/-/jsonld-context-parser-2.4.0.tgz", + "integrity": "sha512-ZYOfvh525SdPd9ReYY58dxB3E2RUEU4DJ6ZibO8AitcowPeBH4L5rCAitE2om5G1P+HMEgYEYEr4EZKbVN4tpA==", "requires": { "@types/http-link-header": "^1.0.1", "@types/node": "^18.0.0", @@ -31403,31 +35200,48 @@ }, "dependencies": { "@types/node": { - "version": "18.19.34", + "version": "18.19.67", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.67.tgz", + "integrity": "sha512-wI8uHusga+0ZugNp0Ol/3BqQfEcCCNfojtO6Oou9iVNGPTL6QNSdnUdqq85fRgIorLhLMuPIKpsN98QE9Nh+KQ==", "requires": { "undici-types": "~5.26.4" } }, "cross-fetch": { "version": "3.1.8", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", + "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", "requires": { "node-fetch": "^2.6.12" } }, "node-fetch": { "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "requires": { "whatwg-url": "^5.0.0" } }, "tr46": { - "version": "0.0.3" + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" }, "webidl-conversions": { - "version": "3.0.1" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, "whatwg-url": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "requires": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -31437,6 +35251,8 @@ }, "jsonld-streaming-parser": { "version": "3.4.0", + "resolved": "https://registry.npmjs.org/jsonld-streaming-parser/-/jsonld-streaming-parser-3.4.0.tgz", + "integrity": "sha512-897CloyQgQidfkB04dLM5XaAXVX/cN9A2hvgHJo4y4jRhIpvg3KLMBBfcrswepV2N3T8c/Rp2JeFdWfVsbVZ7g==", "requires": { "@bergos/jsonparse": "^1.4.0", "@rdfjs/types": "*", @@ -31451,12 +35267,16 @@ }, "dependencies": { "canonicalize": { - "version": "1.0.8" + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/canonicalize/-/canonicalize-1.0.8.tgz", + "integrity": "sha512-0CNTVCLZggSh7bc5VkX5WWPWO+cyZbNd07IHIsSXLia/eAq+r836hgk+8BKoEh7949Mda87VUOitx5OddVj64A==" } } }, "jsonld-streaming-serializer": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/jsonld-streaming-serializer/-/jsonld-streaming-serializer-2.1.0.tgz", + "integrity": "sha512-COHdLoeMTnrqHMoFhN3PoAwqnrKrpPC7/ACb0WbELYvt+HSOIFN3v4IJP7fOtLNQ4GeaeYkvbeWJ7Jo4EjxMDw==", "requires": { "@rdfjs/types": "*", "@types/readable-stream": "^2.3.13", @@ -31466,13 +35286,19 @@ } }, "jsonparse": { - "version": "1.3.1" + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==" }, "jsonschema": { - "version": "1.4.1" + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.4.1.tgz", + "integrity": "sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ==" }, "JSONStream": { "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", "requires": { "jsonparse": "^1.2.0", "through": ">=2.2.7 <3" @@ -31480,6 +35306,8 @@ }, "jsonwebtoken": { "version": "9.0.2", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", + "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", "requires": { "jws": "^3.2.2", "lodash.includes": "^4.3.0", @@ -31526,6 +35354,8 @@ }, "jsx-ast-utils": { "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", "dev": true, "peer": true, "requires": { @@ -31537,10 +35367,14 @@ }, "just-extend": { "version": "6.2.0", + "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-6.2.0.tgz", + "integrity": "sha512-cYofQu2Xpom82S6qD778jBDpwvvy39s1l/hrYij2u9AMdQcGRpaBu6kY4mVhuno5kJVi1DAz4aiphA2WI1/OAw==", "dev": true }, "jwa": { "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", "requires": { "buffer-equal-constant-time": "1.0.1", "ecdsa-sig-formatter": "1.0.11", @@ -31549,6 +35383,8 @@ }, "jws": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", "requires": { "jwa": "^1.4.1", "safe-buffer": "^5.0.1" @@ -31556,12 +35392,16 @@ }, "k-bucket": { "version": "5.1.0", + "resolved": "https://registry.npmjs.org/k-bucket/-/k-bucket-5.1.0.tgz", + "integrity": "sha512-Fac7iINEovXIWU20GPnOMLUbjctiS+cnmyjC4zAUgvs3XPf1vo9akfCHkigftSic/jiKqKl+KA3a/vFcJbHyCg==", "requires": { "randombytes": "^2.1.0" } }, "keccak": { "version": "3.0.4", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.4.tgz", + "integrity": "sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==", "requires": { "node-addon-api": "^2.0.0", "node-gyp-build": "^4.2.0", @@ -31570,6 +35410,8 @@ "dependencies": { "readable-stream": { "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -31579,35 +35421,41 @@ } }, "keypair": { - "version": "1.0.4" + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/keypair/-/keypair-1.0.4.tgz", + "integrity": "sha512-zwhgOhhniaL7oxMgUMKKw5219PWWABMO+dgMnzJOQ2/5L3XJtTJGhW2PEXlxXj9zaccdReZJZ83+4NPhVfNVDg==" }, "keyv": { "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "requires": { "json-buffer": "3.0.1" } }, - "klaw": { - "version": "1.3.1", - "requires": { - "graceful-fs": "^4.1.9" - } - }, "knuth-shuffle-seeded": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/knuth-shuffle-seeded/-/knuth-shuffle-seeded-1.0.6.tgz", + "integrity": "sha512-9pFH0SplrfyKyojCLxZfMcvkhf5hH0d+UwR9nTVJ/DDQJGuzcXjTwB7TP7sDfehSudlGGaOLblmEWqv04ERVWg==", "dev": true, "requires": { "seed-random": "~2.2.0" } }, "kuler": { - "version": "2.0.0" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", + "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==" }, "ky": { - "version": "0.33.3" + "version": "0.33.3", + "resolved": "https://registry.npmjs.org/ky/-/ky-0.33.3.tgz", + "integrity": "sha512-CasD9OCEQSFIam2U8efFK81Yeg8vNMTBUqtMOHlrcWQHqUX3HeCl9Dr31u4toV7emlH8Mymk5+9p0lL6mKb/Xw==" }, "ky-universal": { "version": "0.11.0", + "resolved": "https://registry.npmjs.org/ky-universal/-/ky-universal-0.11.0.tgz", + "integrity": "sha512-65KyweaWvk+uKKkCrfAf+xqN2/epw1IJDtlyCPxYffFCMR8u1sp2U65NtWpnozYfZxQ6IUzIlvUcw+hQ82U2Xw==", "requires": { "abort-controller": "^3.0.0", "node-fetch": "^3.2.10" @@ -31615,11 +35463,15 @@ }, "language-subtag-registry": { "version": "0.3.23", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", + "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", "dev": true, "peer": true }, "language-tags": { "version": "1.0.9", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", "dev": true, "peer": true, "requires": { @@ -31628,6 +35480,8 @@ }, "levn": { "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "requires": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -31635,6 +35489,8 @@ }, "libp2p": { "version": "0.32.5", + "resolved": "https://registry.npmjs.org/libp2p/-/libp2p-0.32.5.tgz", + "integrity": "sha512-G21yQUdq4LaGDvjMi3ySmcx1cESl8ZsTG1BAfjzjx65DsZJKQ5GPZlamcv+Rwppk3OIplWoRnCu6gam/fI//bw==", "requires": { "@motrix/nat-api": "^0.3.1", "@vascosantos/moving-average": "^1.1.0", @@ -31691,13 +35547,17 @@ "dependencies": { "timeout-abort-controller": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/timeout-abort-controller/-/timeout-abort-controller-1.1.1.tgz", + "integrity": "sha512-BsF9i3NAJag6T0ZEjki9j654zoafI2X6ayuNd6Tp8+Ul6Tr5s4jo973qFeiWrRSweqvskC+AHDKUmIW4b7pdhQ==", "requires": { "abort-controller": "^3.0.0", "retimer": "^2.0.0" }, "dependencies": { "retimer": { - "version": "2.0.0" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/retimer/-/retimer-2.0.0.tgz", + "integrity": "sha512-KLXY85WkEq2V2bKex/LOO1ViXVn2KGYe4PYysAdYdjmraYIUsVkXu8O4am+8+5UbaaGl1qho4aqAAPHNQ4GSbg==" } } } @@ -31705,6 +35565,8 @@ }, "libp2p-bootstrap": { "version": "0.13.0", + "resolved": "https://registry.npmjs.org/libp2p-bootstrap/-/libp2p-bootstrap-0.13.0.tgz", + "integrity": "sha512-8sXEZrikY+chKvMorkvOi9E/v9GvwsYr9DAEfzQZrOKQZByqhan1aXQKWrSpc4AxEv5/UopRzu1P47bkOi8wdw==", "requires": { "debug": "^4.3.1", "mafmt": "^10.0.0", @@ -31714,6 +35576,8 @@ }, "libp2p-crypto": { "version": "0.19.7", + "resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.19.7.tgz", + "integrity": "sha512-Qb5o/3WFKF2j6mYSt4UBPyi2kbKl3jYV0podBJoJCw70DlpM5Xc+oh3fFY9ToSunu8aSQQ5GY8nutjXgX/uGRA==", "requires": { "err-code": "^3.0.1", "is-typedarray": "^1.0.0", @@ -31730,6 +35594,8 @@ }, "libp2p-interfaces": { "version": "1.3.1", + "resolved": "https://registry.npmjs.org/libp2p-interfaces/-/libp2p-interfaces-1.3.1.tgz", + "integrity": "sha512-Bh991Nv2KT/jZ7DjPd/zqhk8cCtkHl6OWw8lyK7wBX7Aj3/ezGwjoDABJzKgt1lbvcgCeQIbzPiIbaKj4DUI4w==", "requires": { "abort-controller": "^3.0.0", "abortable-iterator": "^3.0.0", @@ -31749,6 +35615,8 @@ "dependencies": { "libp2p-crypto": { "version": "0.20.0", + "resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.20.0.tgz", + "integrity": "sha512-WgIW9rYcWaO/5j2T6NW3R6Q46yvp2ZfFErqRMbi4/pOTL3T7+OROYpL/1iWVksWkXyurU/t2qFsIijWMxR5C4Q==", "requires": { "err-code": "^3.0.1", "iso-random-stream": "^2.0.0", @@ -31767,6 +35635,8 @@ }, "libp2p-kad-dht": { "version": "0.24.2", + "resolved": "https://registry.npmjs.org/libp2p-kad-dht/-/libp2p-kad-dht-0.24.2.tgz", + "integrity": "sha512-fBIwmta7LnoQ77giJRVqhnj9QKcws0SvzPWAsOy5AP3ByuxhcmqrHXTDI1iBnkvtCCegOuL41JkJOvaafu1XnA==", "requires": { "debug": "^4.3.1", "err-code": "^3.0.0", @@ -31795,6 +35665,8 @@ }, "libp2p-mplex": { "version": "0.10.7", + "resolved": "https://registry.npmjs.org/libp2p-mplex/-/libp2p-mplex-0.10.7.tgz", + "integrity": "sha512-21VV0DZWuOsHgitWy1GZD1M/kki3a/hVoAJ5QC48p01JNSK5W8gxRiZtq7cCGJ/xNpbQxvMlMtS5eq8CFRlysg==", "requires": { "abortable-iterator": "^3.0.2", "bl": "^5.0.0", @@ -31807,6 +35679,8 @@ }, "libp2p-noise": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/libp2p-noise/-/libp2p-noise-4.0.0.tgz", + "integrity": "sha512-DCXRKh9Y4pkw4HEWKPpZbeoROilZA1nrQMHIVrJ4JDEMUKVRucJc9GZTFNzo4yJUZ+ayQAlrfbUARiPPFbpfng==", "requires": { "@stablelib/chacha20poly1305": "^1.0.1", "@stablelib/hkdf": "^1.0.1", @@ -31826,6 +35700,8 @@ "dependencies": { "uint8arrays": { "version": "2.1.10", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-2.1.10.tgz", + "integrity": "sha512-Q9/hhJa2836nQfEJSZTmr+pg9+cDJS9XEAp7N2Vg5MzL3bK/mkMVfjscRGYruP9jNda6MAdf4QD/y78gSzkp6A==", "requires": { "multiformats": "^9.4.2" } @@ -31834,6 +35710,8 @@ }, "libp2p-record": { "version": "0.10.6", + "resolved": "https://registry.npmjs.org/libp2p-record/-/libp2p-record-0.10.6.tgz", + "integrity": "sha512-CbdO2P9DQn/DKll6R/J4nIw6Qt8xbUTfxYgJjpP9oz3izHKkpGQo0mPTe0NyuFTGIQ4OprrxqWqG5v8ZCGBqqw==", "requires": { "err-code": "^3.0.1", "multiformats": "^9.4.5", @@ -31843,6 +35721,8 @@ }, "libp2p-tcp": { "version": "0.17.2", + "resolved": "https://registry.npmjs.org/libp2p-tcp/-/libp2p-tcp-0.17.2.tgz", + "integrity": "sha512-SAdgDB4Rm0olPbyvanKP5JBaiRwbIOo0Nt++WYe1U2B6akg2uatsDOtulfpnc1gsL1B5vamnOpOzKaDj4kkt8g==", "requires": { "abortable-iterator": "^3.0.0", "class-is": "^1.1.0", @@ -31856,6 +35736,8 @@ }, "libp2p-utils": { "version": "0.4.1", + "resolved": "https://registry.npmjs.org/libp2p-utils/-/libp2p-utils-0.4.1.tgz", + "integrity": "sha512-kq/US2unamiyY+YwP47dO1uqpAdcbdYI2Fzi9JIEhjfPBaD1MR/uyQ/YP7ABthl3EaxAjIQYd1TVp85d6QKAtQ==", "requires": { "abortable-iterator": "^3.0.0", "debug": "^4.3.0", @@ -31868,10 +35750,14 @@ }, "lilconfig": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", "dev": true }, "lint-staged": { "version": "13.3.0", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-13.3.0.tgz", + "integrity": "sha512-mPRtrYnipYYv1FEE134ufbWpeggNTo+O/UPzngoaKzbzHAthvR55am+8GfHTnqNRQVRRrYQLGW9ZyUoD7DsBHQ==", "dev": true, "requires": { "chalk": "5.3.0", @@ -31888,14 +35774,20 @@ "dependencies": { "chalk": { "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", "dev": true }, "commander": { "version": "11.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.0.0.tgz", + "integrity": "sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==", "dev": true }, "debug": { "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "requires": { "ms": "2.1.2" @@ -31903,6 +35795,8 @@ }, "execa": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", + "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", "dev": true, "requires": { "cross-spawn": "^7.0.3", @@ -31918,14 +35812,20 @@ }, "human-signals": { "version": "4.3.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", + "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", "dev": true }, "is-stream": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", "dev": true }, "micromatch": { "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, "requires": { "braces": "^3.0.2", @@ -31934,14 +35834,20 @@ }, "mimic-fn": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", "dev": true }, "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 }, "npm-run-path": { "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", "dev": true, "requires": { "path-key": "^4.0.0" @@ -31949,6 +35855,8 @@ }, "onetime": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", "dev": true, "requires": { "mimic-fn": "^4.0.0" @@ -31956,23 +35864,33 @@ }, "path-key": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", "dev": true }, "strip-final-newline": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", "dev": true }, "yaml": { "version": "2.3.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz", + "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==", "dev": true } } }, "listenercount": { - "version": "1.0.1" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/listenercount/-/listenercount-1.0.1.tgz", + "integrity": "sha512-3mk/Zag0+IJxeDrxSgaDPy4zZ3w05PRZeJNnlWhzFz5OkX49J4krc+A8X2d2M69vGMBEX0uyl8M+W+8gH+kBqQ==" }, "listr2": { "version": "6.6.1", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-6.6.1.tgz", + "integrity": "sha512-+rAXGHh0fkEWdXBmX+L6mmfmXmXvDGEKzkjxO+8mP3+nI/r/CWznVBvsibXdxda9Zz0OW2e2ikphN3OwCT/jSg==", "dev": true, "requires": { "cli-truncate": "^3.1.0", @@ -31984,15 +35902,21 @@ }, "dependencies": { "ansi-regex": { - "version": "6.0.1", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true }, "ansi-styles": { "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true }, "string-width": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, "requires": { "eastasianwidth": "^0.2.0", @@ -32002,6 +35926,8 @@ }, "strip-ansi": { "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "requires": { "ansi-regex": "^6.0.1" @@ -32009,6 +35935,8 @@ }, "wrap-ansi": { "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, "requires": { "ansi-styles": "^6.1.0", @@ -32020,55 +35948,85 @@ }, "locate-path": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "requires": { "p-locate": "^5.0.0" } }, "lodash": { - "version": "4.17.21" + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "lodash-es": { "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", "dev": true }, "lodash.flattendeep": { "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", + "integrity": "sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==", "dev": true }, "lodash.get": { "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", "dev": true }, "lodash.includes": { - "version": "4.3.0" + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" }, "lodash.isboolean": { - "version": "3.0.3" + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" }, "lodash.isinteger": { - "version": "4.0.4" + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" }, "lodash.isnumber": { - "version": "3.0.3" + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" }, "lodash.isplainobject": { - "version": "4.0.6" + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" }, "lodash.isstring": { - "version": "4.0.1" + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" }, "lodash.merge": { - "version": "4.6.2" + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" }, "lodash.mergewith": { "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz", + "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==", "dev": true }, "lodash.once": { - "version": "4.1.1" + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" }, "log-symbols": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "requires": { "chalk": "^4.1.0", "is-unicode-supported": "^0.1.0" @@ -32076,6 +36034,8 @@ }, "log-update": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-5.0.1.tgz", + "integrity": "sha512-5UtUDQ/6edw4ofyljDNcOVJQ4c7OjDro4h3y8e1GQL5iYElYclVHJ3zeWchylvMaKnDbDilC8irOVyexnA/Slw==", "dev": true, "requires": { "ansi-escapes": "^5.0.0", @@ -32087,21 +36047,29 @@ "dependencies": { "ansi-escapes": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-5.0.0.tgz", + "integrity": "sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==", "dev": true, "requires": { "type-fest": "^1.0.2" } }, "ansi-regex": { - "version": "6.0.1", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true }, "ansi-styles": { "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true }, "string-width": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, "requires": { "eastasianwidth": "^0.2.0", @@ -32111,6 +36079,8 @@ }, "strip-ansi": { "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "requires": { "ansi-regex": "^6.0.1" @@ -32118,10 +36088,14 @@ }, "type-fest": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", "dev": true }, "wrap-ansi": { "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, "requires": { "ansi-styles": "^6.1.0", @@ -32132,7 +36106,9 @@ } }, "logform": { - "version": "2.6.0", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/logform/-/logform-2.7.0.tgz", + "integrity": "sha512-TFYA4jnP7PVbmlBIfhlSe+WKxs9dklXMTEGcBCIvLhE/Tn3H6Gk1norupVW7m5Cnd4bLcr08AytbyV/xj7f/kQ==", "requires": { "@colors/colors": "1.6.0", "@types/triple-beam": "^1.3.2", @@ -32143,15 +36119,21 @@ }, "dependencies": { "@colors/colors": { - "version": "1.6.0" + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz", + "integrity": "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==" } } }, "long": { - "version": "5.2.3" + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", + "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" }, "loose-envify": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "dev": true, "peer": true, "requires": { @@ -32160,6 +36142,8 @@ }, "loupe": { "version": "2.3.7", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", + "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", "dev": true, "requires": { "get-func-name": "^2.0.1" @@ -32167,6 +36151,8 @@ }, "lower-case": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", "requires": { "tslib": "^2.0.3" } @@ -32178,23 +36164,38 @@ "dev": true }, "lru_map": { - "version": "0.3.3" + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz", + "integrity": "sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==" }, "lru-cache": { - "version": "10.2.2" + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" + }, + "lru.min": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/lru.min/-/lru.min-1.1.1.tgz", + "integrity": "sha512-FbAj6lXil6t8z4z3j0E5mfRlPzxkySotzUHwRXjlpRh10vc6AI6WN62ehZj82VG7M20rqogJ0GLwar2Xa05a8Q==" }, "luxon": { "version": "3.2.1", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.2.1.tgz", + "integrity": "sha512-QrwPArQCNLAKGO/C+ZIilgIuDnEnKx5QYODdDtbFaxzsbZcc/a7WFq7MhsVYgRlwawLtvOUESTlfJ+hc/USqPg==", "dev": true }, "mafmt": { "version": "10.0.0", + "resolved": "https://registry.npmjs.org/mafmt/-/mafmt-10.0.0.tgz", + "integrity": "sha512-K1bziJOXcnepfztu+2Xy9FLKVLaFMDuspmiyJIYRxnO0WOxFSV7XKSdMxMrVZxcvg1+YjlTIvSGTImUHU2k4Aw==", "requires": { "multiaddr": "^10.0.0" } }, "make-dir": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, "requires": { "semver": "^6.0.0" @@ -32202,18 +36203,26 @@ "dependencies": { "semver": { "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true } } }, "make-error": { - "version": "1.3.6" + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" }, "match-all": { - "version": "1.2.6" + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/match-all/-/match-all-1.2.6.tgz", + "integrity": "sha512-0EESkXiTkWzrQQntBu2uzKvLu6vVkUGz40nGPbSZuegcfE5UuSzNjLaIu76zJWuaT/2I3Z/8M06OlUOZLGwLlQ==" }, "mathjs": { "version": "10.6.4", + "resolved": "https://registry.npmjs.org/mathjs/-/mathjs-10.6.4.tgz", + "integrity": "sha512-omQyvRE1jIy+3k2qsqkWASOcd45aZguXZDckr3HtnTYyXk5+2xpVfC3kATgbO2Srjxlqww3TVdhD0oUdZ/hiFA==", "requires": { "@babel/runtime": "^7.18.6", "complex.js": "^2.1.1", @@ -32228,6 +36237,8 @@ }, "md5.js": { "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", "requires": { "hash-base": "^3.0.0", "inherits": "^2.0.1", @@ -32235,28 +36246,42 @@ } }, "media-typer": { - "version": "0.3.0" + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==" }, "memorystream": { - "version": "0.3.1" + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==" }, "merge-descriptors": { - "version": "1.0.1" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==" }, "merge-options": { "version": "3.0.4", + "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz", + "integrity": "sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==", "requires": { "is-plain-obj": "^2.1.0" } }, "merge-stream": { - "version": "2.0.0" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" }, "merge2": { - "version": "1.4.1" + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" }, "merkletreejs": { "version": "0.3.11", + "resolved": "https://registry.npmjs.org/merkletreejs/-/merkletreejs-0.3.11.tgz", + "integrity": "sha512-LJKTl4iVNTndhL+3Uz/tfkjD0klIWsHlUzgtuNnNrsf7bAlXR30m+xYB7lHr5Z/l6e/yAIsr26Dabx6Buo4VGQ==", "requires": { "bignumber.js": "^9.0.1", "buffer-reverse": "^1.0.1", @@ -32266,13 +36291,19 @@ } }, "methods": { - "version": "1.1.2" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" }, "micro-ftch": { - "version": "0.3.1" + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/micro-ftch/-/micro-ftch-0.3.1.tgz", + "integrity": "sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==" }, "microdata-rdf-streaming-parser": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/microdata-rdf-streaming-parser/-/microdata-rdf-streaming-parser-2.0.1.tgz", + "integrity": "sha512-oEEYP3OwPGOtoE4eIyJvX1eJXI7VkGR4gKYqpEufaRXc2ele/Tkid/KMU3Los13wGrOq6woSxLEGOYSHzpRvwA==", "requires": { "@rdfjs/types": "*", "htmlparser2": "^8.0.0", @@ -32283,6 +36314,8 @@ "dependencies": { "htmlparser2": { "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", "requires": { "domelementtype": "^2.3.0", "domhandler": "^5.0.3", @@ -32293,7 +36326,9 @@ } }, "micromatch": { - "version": "4.0.7", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "requires": { "braces": "^3.0.3", "picomatch": "^2.3.1" @@ -32301,33 +36336,47 @@ }, "microtime": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/microtime/-/microtime-3.1.1.tgz", + "integrity": "sha512-to1r7o24cDsud9IhN6/8wGmMx5R2kT0w2Xwm5okbYI3d1dk6Xv0m+Z+jg2vS9pt+ocgQHTCtgs/YuyJhySzxNg==", "requires": { "node-addon-api": "^5.0.0", "node-gyp-build": "^4.4.0" }, "dependencies": { "node-addon-api": { - "version": "5.1.0" + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.1.0.tgz", + "integrity": "sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==" } } }, "mime": { - "version": "1.6.0" + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" }, "mime-db": { - "version": "1.52.0" + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" }, "mime-types": { "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "requires": { "mime-db": "1.52.0" } }, "mimic-fn": { - "version": "2.1.0" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" }, "mimic-response": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", "dev": true }, "min-document": { @@ -32340,19 +36389,27 @@ } }, "minimalistic-assert": { - "version": "1.0.1" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" }, "minimalistic-crypto-utils": { - "version": "1.0.1" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" }, "minimatch": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { - "version": "1.2.8" + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" }, "minipass": { "version": "2.9.0", @@ -32375,12 +36432,16 @@ }, "mkdirp": { "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "requires": { "minimist": "^1.2.6" } }, "mkdirp-classic": { "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", "dev": true }, "mkdirp-promise": { @@ -32394,46 +36455,51 @@ }, "mnemonist": { "version": "0.38.5", + "resolved": "https://registry.npmjs.org/mnemonist/-/mnemonist-0.38.5.tgz", + "integrity": "sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==", "requires": { "obliterator": "^2.0.0" } }, "mocha": { - "version": "10.4.0", - "requires": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "8.1.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.8.2.tgz", + "integrity": "sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg==", + "requires": { + "ansi-colors": "^4.1.3", + "browser-stdout": "^1.3.1", + "chokidar": "^3.5.3", + "debug": "^4.3.5", + "diff": "^5.2.0", + "escape-string-regexp": "^4.0.0", + "find-up": "^5.0.0", + "glob": "^8.1.0", + "he": "^1.2.0", + "js-yaml": "^4.1.0", + "log-symbols": "^4.1.0", + "minimatch": "^5.1.6", + "ms": "^2.1.3", + "serialize-javascript": "^6.0.2", + "strip-json-comments": "^3.1.1", + "supports-color": "^8.1.1", + "workerpool": "^6.5.1", + "yargs": "^16.2.0", + "yargs-parser": "^20.2.9", + "yargs-unparser": "^2.0.0" }, "dependencies": { - "ansi-colors": { - "version": "4.1.1" - }, "brace-expansion": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "requires": { "balanced-match": "^1.0.0" } }, "chokidar": { - "version": "3.5.3", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "requires": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -32447,28 +36513,23 @@ }, "cliui": { "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "requires": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", "wrap-ansi": "^7.0.0" } }, - "debug": { - "version": "4.3.4", - "requires": { - "ms": "2.1.2" - }, - "dependencies": { - "ms": { - "version": "2.1.2" - } - } - }, "diff": { - "version": "5.0.0" + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", + "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==" }, "glob": { "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -32479,18 +36540,32 @@ }, "glob-parent": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "requires": { "is-glob": "^4.0.1" } }, "minimatch": { - "version": "5.0.1", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "requires": { "brace-expansion": "^2.0.1" } }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "requires": { + "picomatch": "^2.2.1" + } + }, "yargs": { "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "requires": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -32510,22 +36585,32 @@ "dev": true }, "mock-socket": { - "version": "9.3.1" + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/mock-socket/-/mock-socket-9.3.1.tgz", + "integrity": "sha512-qxBgB7Qa2sEQgHFjj0dSigq7fX4k6Saisd5Nelwp2q8mlbAFh5dHV9JTTlF8viYJLSSWgMCZFUom8PJcMNBoJw==" }, "moment": { - "version": "2.30.1" + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==" }, "moment-timezone": { - "version": "0.5.45", + "version": "0.5.46", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.46.tgz", + "integrity": "sha512-ZXm9b36esbe7OmdABqIWJuBBiLLwAjrN7CE+7sYdCCx82Nabt1wHDj8TVseS59QIlfFPbOoiBPm6ca9BioG4hw==", "requires": { "moment": "^2.29.4" } }, "ms": { - "version": "2.1.3" + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, "multiaddr": { "version": "10.0.1", + "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-10.0.1.tgz", + "integrity": "sha512-G5upNcGzEGuTHkzxezPrrD6CaIHR9uo+7MwqhNVcXTs33IInon4y7nMiGxl2CY5hG7chvYQUQhz5V52/Qe3cbg==", "requires": { "dns-over-http-resolver": "^1.2.3", "err-code": "^3.0.1", @@ -32575,7 +36660,9 @@ } }, "multiformats": { - "version": "9.9.0" + "version": "9.9.0", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", + "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==" }, "multihashes": { "version": "0.4.21", @@ -32618,6 +36705,8 @@ }, "multistream-select": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/multistream-select/-/multistream-select-2.0.1.tgz", + "integrity": "sha512-ziVNT/vux0uUElP4OKNMVr0afU/X6PciAmT2UJNolhzhSLXIwFAaYfmLajD8NoZ+DsBQ1bp0zZ2nMVPF+FhClA==", "requires": { "bl": "^5.0.0", "debug": "^4.1.1", @@ -32633,6 +36722,8 @@ }, "murmur-128": { "version": "0.2.1", + "resolved": "https://registry.npmjs.org/murmur-128/-/murmur-128-0.2.1.tgz", + "integrity": "sha512-WseEgiRkI6aMFBbj8Cg9yBj/y+OdipwVC7zUo3W2W1JAJITwouUOtpqsmGSg67EQmwwSyod7hsVsWY5LsrfQVg==", "requires": { "encode-utf8": "^1.0.2", "fmix": "^0.1.0", @@ -32640,28 +36731,30 @@ } }, "mutable-proxy": { - "version": "1.0.0" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mutable-proxy/-/mutable-proxy-1.0.0.tgz", + "integrity": "sha512-4OvNRr1DJpy2QuDUV74m+BWZ//n4gG4bmd21MzDSPqHEidIDWqwyOjcadU1LBMO3vXYGurVKjfBrxrSQIHFu9A==" }, "mysql2": { - "version": "3.10.0", + "version": "3.11.5", + "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-3.11.5.tgz", + "integrity": "sha512-0XFu8rUmFN9vC0ME36iBvCUObftiMHItrYFhlCRvFWbLgpNqtC4Br/NmZX1HNCszxT0GGy5QtP+k3Q3eCJPaYA==", "requires": { + "aws-ssl-profiles": "^1.1.1", "denque": "^2.1.0", "generate-function": "^2.3.1", "iconv-lite": "^0.6.3", "long": "^5.2.1", - "lru-cache": "^8.0.0", + "lru.min": "^1.0.0", "named-placeholders": "^1.1.3", "seq-queue": "^0.0.5", "sqlstring": "^2.3.2" - }, - "dependencies": { - "lru-cache": { - "version": "8.0.5" - } } }, "mz": { "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", "dev": true, "requires": { "any-promise": "^1.0.0", @@ -32670,25 +36763,34 @@ } }, "n3": { - "version": "1.17.3", + "version": "1.23.1", + "resolved": "https://registry.npmjs.org/n3/-/n3-1.23.1.tgz", + "integrity": "sha512-3f0IYJo+6+lXypothmlwPzm3wJNffsxUwnfONeFv2QqWq7RjTvyCMtkRXDUXW6XrZoOzaQX8xTTSYNlGjXcGtw==", "requires": { + "buffer": "^6.0.3", "queue-microtask": "^1.1.2", "readable-stream": "^4.0.0" } }, "named-placeholders": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/named-placeholders/-/named-placeholders-1.1.3.tgz", + "integrity": "sha512-eLoBxg6wE/rZkJPhU/xRX1WTpkFEwDJEN96oxFrTsqBdbT5ec295Q+CoHrL9IT0DipqKhmGcaZmwOt8OON5x1w==", "requires": { "lru-cache": "^7.14.1" }, "dependencies": { "lru-cache": { - "version": "7.18.3" + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==" } } }, "nan": { - "version": "2.20.0" + "version": "2.22.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.22.0.tgz", + "integrity": "sha512-nbajikzWTMwsW+eSsNm3QwlOs7het9gGJU5dDZzRTQGk03vyBOauxgI4VakDzE0PtsGTmXPsXTbbjVhRwR5mpw==" }, "nano-json-stream-parser": { "version": "0.1.2", @@ -32698,40 +36800,62 @@ }, "nanoclone": { "version": "0.2.1", + "resolved": "https://registry.npmjs.org/nanoclone/-/nanoclone-0.2.1.tgz", + "integrity": "sha512-wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA==", "dev": true }, "nanoid": { - "version": "3.3.7" + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==" }, "napi-build-utils": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", + "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==", "dev": true }, "native-abort-controller": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/native-abort-controller/-/native-abort-controller-1.0.4.tgz", + "integrity": "sha512-zp8yev7nxczDJMoP6pDxyD20IU0T22eX8VwN2ztDccKvSZhRaV33yP1BGwKSZfXuqWUzsXopVFjBdau9OOAwMQ==", "requires": {} }, "native-fetch": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/native-fetch/-/native-fetch-3.0.0.tgz", + "integrity": "sha512-G3Z7vx0IFb/FQ4JxvtqGABsOTIqRWvgQz6e+erkB+JJD6LrszQtMozEHI4EkmgZQvnGHrpLVzUWk7t4sJCIkVw==", "requires": {} }, "natural-compare": { - "version": "1.4.0" + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" }, "negotiate": { - "version": "1.0.1" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/negotiate/-/negotiate-1.0.1.tgz", + "integrity": "sha512-KBCIM4dAIT9j/pSXLHHQbZG74NmKNXTtxU2zHN0HG6uzzuFE01m1UdGoUmVHmACiBuCAOL7KwfqSW1oUQBj/vg==" }, "negotiator": { - "version": "0.6.3" + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" }, "netmask": { - "version": "2.0.2" + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", + "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==" }, "next-tick": { - "version": "1.1.0" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" }, "nise": { "version": "5.1.9", + "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.9.tgz", + "integrity": "sha512-qOnoujW4SV6e40dYxJOb3uvuoPHtmLzIk4TFo+j0jPJoC+5Z9xja5qH5JZobEPsa8+YYphMrOSwnrshEhG2qww==", "dev": true, "requires": { "@sinonjs/commons": "^3.0.0", @@ -32743,39 +36867,59 @@ "dependencies": { "@sinonjs/commons": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", "dev": true, "requires": { "type-detect": "4.0.8" } }, "@sinonjs/fake-timers": { - "version": "11.2.2", + "version": "11.3.1", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.3.1.tgz", + "integrity": "sha512-EVJO7nW5M/F5Tur0Rf2z/QoMo+1Ia963RiMtapiQrEWvY0iBUvADo8Beegwjpnle5BHkyHuoxSTW3jF43H1XRA==", "dev": true, "requires": { - "@sinonjs/commons": "^3.0.0" + "@sinonjs/commons": "^3.0.1" } }, "path-to-regexp": { - "version": "6.2.2", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz", + "integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==", + "dev": true + }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true } } }, "no-case": { "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", "requires": { "lower-case": "^2.0.2", "tslib": "^2.0.3" } }, "noble-ed25519": { - "version": "1.2.6" + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/noble-ed25519/-/noble-ed25519-1.2.6.tgz", + "integrity": "sha512-zfnWqg9FVMp8CnzUpAjbt1nDXpDjCvxYiCXdnW1mY8zQHw/6twUlkFm14VPdojVzc0kcd+i9zT79+26GcNbsuQ==" }, "noble-secp256k1": { - "version": "1.2.14" + "version": "1.2.14", + "resolved": "https://registry.npmjs.org/noble-secp256k1/-/noble-secp256k1-1.2.14.tgz", + "integrity": "sha512-GSCXyoZBUaaPwVWdYncMEmzlSUjF9J/YeEHpklYJCyg8wPuJP3NzDx0BkiwArzINkdX2HJHvUJhL6vVWPOQQcg==" }, "nock": { - "version": "13.5.4", + "version": "13.5.6", + "resolved": "https://registry.npmjs.org/nock/-/nock-13.5.6.tgz", + "integrity": "sha512-o2zOYiCpzRqSzPj0Zt/dQ/DqZeYoaQ7TUonc/xUPjCGl9WeHpNbxgVvOquXYAaJzI0M9BXV3HTzG0p8IUAbBTQ==", "requires": { "debug": "^4.1.0", "json-stringify-safe": "^5.0.1", @@ -32783,20 +36927,28 @@ } }, "node-abi": { - "version": "3.65.0", + "version": "3.71.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.71.0.tgz", + "integrity": "sha512-SZ40vRiy/+wRTf21hxkkEjPJZpARzUMVcJoQse2EF8qkUWbbO2z7vd5oA/H6bVH6SZQ5STGcu0KRDS7biNRfxw==", "dev": true, "requires": { "semver": "^7.3.5" } }, "node-addon-api": { - "version": "2.0.2" + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", + "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" }, "node-domexception": { - "version": "1.0.0" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==" }, "node-fetch": { "version": "3.3.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", + "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", "requires": { "data-uri-to-buffer": "^4.0.0", "fetch-blob": "^3.1.4", @@ -32804,24 +36956,34 @@ } }, "node-forge": { - "version": "0.10.0" + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", + "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==" }, "node-gyp-build": { - "version": "4.8.1" + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.4.tgz", + "integrity": "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==" }, "node-preload": { "version": "0.2.1", + "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", + "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", "dev": true, "requires": { "process-on-spawn": "^1.0.0" } }, "node-releases": { - "version": "2.0.14", + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", "dev": true }, "normalize-path": { - "version": "3.0.0" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" }, "normalize-url": { "version": "6.1.0", @@ -32831,28 +36993,38 @@ }, "npm-run-path": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "requires": { "path-key": "^3.0.0" } }, "number-to-bn": { "version": "1.7.0", + "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", + "integrity": "sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==", "requires": { "bn.js": "4.11.6", "strip-hex-prefix": "1.0.0" }, "dependencies": { "bn.js": { - "version": "4.11.6" + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==" } } }, "nwsapi": { - "version": "2.2.10", + "version": "2.2.13", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.13.tgz", + "integrity": "sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ==", "dev": true }, "nyc": { "version": "15.1.0", + "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", + "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", "dev": true, "requires": { "@istanbuljs/load-nyc-config": "^1.0.0", @@ -32886,10 +37058,14 @@ "dependencies": { "camelcase": { "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true }, "cliui": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", "dev": true, "requires": { "string-width": "^4.2.0", @@ -32899,6 +37075,8 @@ }, "find-up": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "requires": { "locate-path": "^5.0.0", @@ -32907,6 +37085,8 @@ }, "locate-path": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "requires": { "p-locate": "^4.1.0" @@ -32914,6 +37094,8 @@ }, "p-limit": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { "p-try": "^2.0.0" @@ -32921,6 +37103,8 @@ }, "p-locate": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "requires": { "p-limit": "^2.2.0" @@ -32928,6 +37112,8 @@ }, "p-map": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", "dev": true, "requires": { "aggregate-error": "^3.0.0" @@ -32935,10 +37121,14 @@ }, "resolve-from": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true }, "wrap-ansi": { "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, "requires": { "ansi-styles": "^4.0.0", @@ -32948,10 +37138,14 @@ }, "y18n": { "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", "dev": true }, "yargs": { "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", "dev": true, "requires": { "cliui": "^6.0.0", @@ -32969,6 +37163,8 @@ }, "yargs-parser": { "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", "dev": true, "requires": { "camelcase": "^5.0.0", @@ -32984,17 +37180,25 @@ "dev": true }, "object-assign": { - "version": "4.1.1" + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" }, "object-inspect": { - "version": "1.13.1" + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz", + "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==" }, "object-keys": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true }, "object.assign": { "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", "dev": true, "requires": { "call-bind": "^1.0.5", @@ -33005,6 +37209,8 @@ }, "object.entries": { "version": "1.1.8", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", + "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", "dev": true, "requires": { "call-bind": "^1.0.7", @@ -33014,6 +37220,8 @@ }, "object.fromentries": { "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", "dev": true, "peer": true, "requires": { @@ -33025,6 +37233,8 @@ }, "object.groupby": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", "dev": true, "peer": true, "requires": { @@ -33033,18 +37243,10 @@ "es-abstract": "^1.23.2" } }, - "object.hasown": { - "version": "1.1.4", - "dev": true, - "peer": true, - "requires": { - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0" - } - }, "object.values": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", + "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", "dev": true, "peer": true, "requires": { @@ -33054,7 +37256,9 @@ } }, "obliterator": { - "version": "2.0.4" + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/obliterator/-/obliterator-2.0.4.tgz", + "integrity": "sha512-lgHwxlxV1qIg1Eap7LgIeoBWIMFibOjbrYPIPJZcI1mmGAI2m3lNYpK12Y+GBdPQ0U1hRwSord7GIaawz962qQ==" }, "oboe": { "version": "2.1.5", @@ -33066,34 +37270,46 @@ } }, "on-exit-leak-free": { - "version": "2.1.2" + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-2.1.2.tgz", + "integrity": "sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==" }, "on-finished": { "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "requires": { "ee-first": "1.1.1" } }, "once": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "requires": { "wrappy": "1" } }, "one-time": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz", + "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==", "requires": { "fn.name": "1.x.x" } }, "onetime": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "requires": { "mimic-fn": "^2.1.0" } }, "optionator": { "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "requires": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", @@ -33104,61 +37320,85 @@ } }, "os-tmpdir": { - "version": "1.0.2" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==" }, "p-any": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-any/-/p-any-3.0.0.tgz", + "integrity": "sha512-5rqbqfsRWNb0sukt0awwgJMlaep+8jV45S15SKKB34z4UuzjcofIfnriCBhWjZP2jbVtjt9yRl7buB6RlKsu9w==", "requires": { "p-cancelable": "^2.0.0", "p-some": "^5.0.0" } }, "p-cancelable": { - "version": "2.1.1" + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==" }, "p-defer": { - "version": "3.0.0" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz", + "integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==" }, "p-fifo": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-fifo/-/p-fifo-1.0.0.tgz", + "integrity": "sha512-IjoCxXW48tqdtDFz6fqo5q1UfFVjjVZe8TC1QRflvNUJtNfCUhxOUw6MOVZhDPjqhSzc26xKdugsO17gmzd5+A==", "requires": { "fast-fifo": "^1.0.0", "p-defer": "^3.0.0" } }, "p-finally": { - "version": "1.0.0" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==" }, "p-limit": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "requires": { "yocto-queue": "^0.1.0" } }, "p-locate": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "requires": { "p-limit": "^3.0.2" } }, "p-map": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", "requires": { "aggregate-error": "^3.0.0" } }, "p-queue": { "version": "6.6.2", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz", + "integrity": "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==", "requires": { "eventemitter3": "^4.0.4", "p-timeout": "^3.2.0" }, "dependencies": { "eventemitter3": { - "version": "4.0.7" + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" }, "p-timeout": { "version": "3.2.0", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", + "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", "requires": { "p-finally": "^1.0.0" } @@ -33166,10 +37406,14 @@ } }, "p-reflect": { - "version": "2.1.0" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-reflect/-/p-reflect-2.1.0.tgz", + "integrity": "sha512-paHV8NUz8zDHu5lhr/ngGWQiW067DK/+IbJ+RfZ4k+s8y4EKyYCz8pGYWjxCg35eHztpJAt+NUgvN4L+GCbPlg==" }, "p-retry": { "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", "requires": { "@types/retry": "0.12.0", "retry": "^0.13.1" @@ -33177,6 +37421,8 @@ }, "p-settle": { "version": "4.1.1", + "resolved": "https://registry.npmjs.org/p-settle/-/p-settle-4.1.1.tgz", + "integrity": "sha512-6THGh13mt3gypcNMm0ADqVNCcYa3BK6DWsuJWFCuEKP1rpY+OKGp7gaZwVmLspmic01+fsg/fN57MfvDzZ/PuQ==", "requires": { "p-limit": "^2.2.2", "p-reflect": "^2.1.0" @@ -33184,6 +37430,8 @@ "dependencies": { "p-limit": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "requires": { "p-try": "^2.0.0" } @@ -33192,19 +37440,27 @@ }, "p-some": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-some/-/p-some-5.0.0.tgz", + "integrity": "sha512-Js5XZxo6vHjB9NOYAzWDYAIyyiPvva0DWESAIWIK7uhSpGsyg5FwUPxipU/SOQx5x9EqhOh545d1jo6cVkitig==", "requires": { "aggregate-error": "^3.0.0", "p-cancelable": "^2.0.0" } }, "p-timeout": { - "version": "4.1.0" + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-4.1.0.tgz", + "integrity": "sha512-+/wmHtzJuWii1sXn3HCuH/FTwGhrp4tmJTxSKJbfS+vkipci6osxXM5mY0jUiRzWKMTgUT8l7HFbeSwZAynqHw==" }, "p-try": { - "version": "2.2.0" + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" }, "package-hash": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", + "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", "dev": true, "requires": { "graceful-fs": "^4.1.15", @@ -33215,6 +37471,8 @@ }, "pad-right": { "version": "0.2.2", + "resolved": "https://registry.npmjs.org/pad-right/-/pad-right-0.2.2.tgz", + "integrity": "sha512-4cy8M95ioIGolCoMmm2cMntGR1lPLEbOMzOKu8bzjuJP6JpzEMQcDHmh7hHLYGgob+nKe1YHFMaG4V59HQa89g==", "dev": true, "requires": { "repeat-string": "^1.5.2" @@ -33222,10 +37480,14 @@ }, "pako": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", + "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==", "optional": true }, "parent-module": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "requires": { "callsites": "^3.0.0" } @@ -33238,39 +37500,59 @@ }, "parse5": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", "dev": true }, "parseurl": { - "version": "1.3.3" + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" }, "pascal-case": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", "requires": { "no-case": "^3.0.4", "tslib": "^2.0.3" } }, "path-exists": { - "version": "4.0.0" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" }, "path-is-absolute": { - "version": "1.0.1" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" }, "path-key": { - "version": "3.1.1" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" }, "path-parse": { - "version": "1.0.7" + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "path-to-regexp": { - "version": "0.1.7" + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz", + "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==" }, "pathval": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", "dev": true }, "pbkdf2": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", "requires": { "create-hash": "^1.1.2", "create-hmac": "^1.1.4", @@ -33281,6 +37563,8 @@ }, "peer-id": { "version": "0.15.4", + "resolved": "https://registry.npmjs.org/peer-id/-/peer-id-0.15.4.tgz", + "integrity": "sha512-MDoBIMZYwQIAHaZQUwsIcvoFgdbIl5GtZMwSkXpIYvc5v0TSDv+u8WsTKrKt2Vv28tHFFDJQdVzu3T4qTPzK+w==", "requires": { "class-is": "^1.1.0", "libp2p-crypto": "^0.20.0", @@ -33292,6 +37576,8 @@ "dependencies": { "libp2p-crypto": { "version": "0.20.0", + "resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.20.0.tgz", + "integrity": "sha512-WgIW9rYcWaO/5j2T6NW3R6Q46yvp2ZfFErqRMbi4/pOTL3T7+OROYpL/1iWVksWkXyurU/t2qFsIijWMxR5C4Q==", "requires": { "err-code": "^3.0.1", "iso-random-stream": "^2.0.0", @@ -33310,6 +37596,8 @@ }, "pem-jwk": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pem-jwk/-/pem-jwk-2.0.0.tgz", + "integrity": "sha512-rFxu7rVoHgQ5H9YsP50dDWf0rHjreVA2z0yPiWr5WdH/UHb29hKtF7h6l8vNd1cbYR1t0QL+JKhW55a2ZV4KtA==", "requires": { "asn1.js": "^5.0.1" } @@ -33321,21 +37609,30 @@ "dev": true }, "pg-connection-string": { - "version": "2.6.4" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.7.0.tgz", + "integrity": "sha512-PI2W9mv53rXJQEOb8xNR8lH7Hr+EKa6oJa38zsK0S/ky2er16ios1wLKhZyxzD7jUReiWokc9WK5nxSnC7W1TA==" }, "picocolors": { - "version": "1.0.1", - "dev": true + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" }, "picomatch": { - "version": "2.3.1" + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" }, "pidtree": { "version": "0.6.0", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", + "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", "dev": true }, "pino": { "version": "8.21.0", + "resolved": "https://registry.npmjs.org/pino/-/pino-8.21.0.tgz", + "integrity": "sha512-ip4qdzjkAyDDZklUaZkcRFb2iA118H9SgRh8yzTkSQK8HilsOJF7rSY8HoW5+I0M46AZgX/pxbprf2vvzQCE0Q==", "requires": { "atomic-sleep": "^1.0.0", "fast-redact": "^3.1.1", @@ -33352,6 +37649,8 @@ }, "pino-abstract-transport": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-1.2.0.tgz", + "integrity": "sha512-Guhh8EZfPCfH+PMXAb6rKOjGQEoy0xlAIn+irODG5kgfYV+BQ0rGYYWTIel3P5mmyXqkYkPmdIkywsn6QKUR1Q==", "requires": { "readable-stream": "^4.0.0", "split2": "^4.0.0" @@ -33359,6 +37658,8 @@ }, "pino-pretty": { "version": "9.4.1", + "resolved": "https://registry.npmjs.org/pino-pretty/-/pino-pretty-9.4.1.tgz", + "integrity": "sha512-loWr5SNawVycvY//hamIzyz3Fh5OSpvkcO13MwdDW+eKIGylobPLqnVGTDwDXkdmpJd1BhEG+qhDw09h6SqJiQ==", "requires": { "colorette": "^2.0.7", "dateformat": "^4.6.3", @@ -33377,10 +37678,14 @@ } }, "pino-std-serializers": { - "version": "6.2.2" + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-6.2.2.tgz", + "integrity": "sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==" }, "pkg-dir": { "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, "requires": { "find-up": "^4.0.0" @@ -33388,6 +37693,8 @@ "dependencies": { "find-up": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "requires": { "locate-path": "^5.0.0", @@ -33396,6 +37703,8 @@ }, "locate-path": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "requires": { "p-locate": "^4.1.0" @@ -33403,6 +37712,8 @@ }, "p-limit": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { "p-try": "^2.0.0" @@ -33410,6 +37721,8 @@ }, "p-locate": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "requires": { "p-limit": "^2.2.0" @@ -33418,14 +37731,20 @@ } }, "pony-cause": { - "version": "2.1.11" + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/pony-cause/-/pony-cause-2.1.11.tgz", + "integrity": "sha512-M7LhCsdNbNgiLYiP4WjsfLUuFmCfnjdF6jKe2R9NKl4WFN+HZPGHJZ9lnLP7f9ZnKe3U9nuWD0szirmj+migUg==" }, "possible-typed-array-names": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", "dev": true }, "prebuild-install": { "version": "7.1.2", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.2.tgz", + "integrity": "sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==", "dev": true, "requires": { "detect-libc": "^2.0.0", @@ -33444,6 +37763,8 @@ "dependencies": { "bl": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", "dev": true, "requires": { "buffer": "^5.5.0", @@ -33453,6 +37774,8 @@ }, "buffer": { "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "dev": true, "requires": { "base64-js": "^1.3.1", @@ -33461,6 +37784,8 @@ }, "readable-stream": { "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, "requires": { "inherits": "^2.0.3", @@ -33470,6 +37795,8 @@ }, "tar-fs": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", "dev": true, "requires": { "chownr": "^1.1.1", @@ -33480,6 +37807,8 @@ }, "tar-stream": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", "dev": true, "requires": { "bl": "^4.0.3", @@ -33492,14 +37821,20 @@ } }, "prelude-ls": { - "version": "1.2.1" + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" }, "prettier": { "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", "dev": true }, "private-ip": { "version": "2.3.4", + "resolved": "https://registry.npmjs.org/private-ip/-/private-ip-2.3.4.tgz", + "integrity": "sha512-ts/YFVwfBeLq61f9+KsOhXW6RH0wvY0gU50R6QZYzgFhggyyLK6WDFeYdjfi/HMnBm2hecLvsR3PB3JcRxDk+A==", "requires": { "ip-regex": "^4.3.0", "ipaddr.js": "^2.0.1", @@ -33508,30 +37843,44 @@ } }, "process": { - "version": "0.11.10" + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" }, "process-nextick-args": { - "version": "2.0.1" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "process-on-spawn": { - "version": "1.0.0", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.1.0.tgz", + "integrity": "sha512-JOnOPQ/8TZgjs1JIH/m9ni7FfimjNa/PRx7y/Wb5qdItsnhO0jE4AT7fC0HjC28DUQWDr50dwSYZLdRMlqDq3Q==", "dev": true, "requires": { "fromentries": "^1.2.0" } }, "process-warning": { - "version": "3.0.0" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-3.0.0.tgz", + "integrity": "sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==" }, "progress": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true }, "promise-polyfill": { - "version": "1.1.6" + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-1.1.6.tgz", + "integrity": "sha512-7rrONfyLkDEc7OJ5QBkqa4KI4EBhCd340xRuIUPGCfu13znS+vx+VDdrT9ODAJHlXm7w4lbxN3DRjyv58EuzDg==" }, "prop-types": { "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", "dev": true, "peer": true, "requires": { @@ -33541,14 +37890,20 @@ } }, "propagate": { - "version": "2.0.1" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", + "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==" }, "property-expr": { "version": "2.0.6", + "resolved": "https://registry.npmjs.org/property-expr/-/property-expr-2.0.6.tgz", + "integrity": "sha512-SVtmxhRE/CGkn3eZY1T6pC8Nln6Fr/lu1mKSgRud0eC73whjGfoAogbn78LkD8aFL0zz3bAFerKSnOl7NlErBA==", "dev": true }, "protobufjs": { "version": "6.11.4", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.4.tgz", + "integrity": "sha512-5kQWPaJHi1WoCpjTGszzQ32PG2F4+wRY6BmAT4Vfw56Q2FZ4YZzK20xUYQH4YkfehY1e6QSICrJquM6xXZNcrw==", "requires": { "@protobufjs/aspromise": "^1.1.2", "@protobufjs/base64": "^1.1.2", @@ -33566,43 +37921,62 @@ }, "dependencies": { "long": { - "version": "4.0.0" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" } } }, "proxy-addr": { "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "requires": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" }, "dependencies": { "ipaddr.js": { - "version": "1.9.1" + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" } } }, "proxy-from-env": { - "version": "1.1.0" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" }, "psl": { - "version": "1.9.0", - "dev": true + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.14.0.tgz", + "integrity": "sha512-Syk1bnf6fRZ9wQs03AtKJHcM12cKbOLo9L8JtCCdYj5/DTsHmTyXM4BK5ouWeG2P6kZ4nmFvuNTdtaqfobCOCg==", + "dev": true, + "requires": { + "punycode": "^2.3.1" + } }, "pump": { - "version": "3.0.0", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz", + "integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==", "requires": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, "punycode": { - "version": "2.3.1" + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==" }, "qs": { - "version": "6.11.0", + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", "requires": { - "side-channel": "^1.0.4" + "side-channel": "^1.0.6" } }, "query-string": { @@ -33618,17 +37992,25 @@ }, "querystringify": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", "dev": true }, "queue-microtask": { - "version": "1.2.3" + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" }, "queue-tick": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", + "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==", "dev": true }, "quick-format-unescaped": { - "version": "4.0.4" + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz", + "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==" }, "quick-lru": { "version": "5.1.1", @@ -33638,15 +38020,21 @@ }, "randombytes": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "requires": { "safe-buffer": "^5.1.0" } }, "range-parser": { - "version": "1.2.1" + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" }, "raw-body": { "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "requires": { "bytes": "3.1.2", "http-errors": "2.0.0", @@ -33656,6 +38044,8 @@ "dependencies": { "iconv-lite": { "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "requires": { "safer-buffer": ">= 2.1.2 < 3" } @@ -33664,6 +38054,8 @@ }, "rc": { "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "requires": { "deep-extend": "^0.6.0", "ini": "~1.3.0", @@ -33672,27 +38064,37 @@ }, "dependencies": { "ini": { - "version": "1.3.8" + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" }, "strip-json-comments": { - "version": "2.0.1" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==" } } }, "rdf-canonize": { "version": "3.4.0", + "resolved": "https://registry.npmjs.org/rdf-canonize/-/rdf-canonize-3.4.0.tgz", + "integrity": "sha512-fUeWjrkOO0t1rg7B2fdyDTvngj+9RlUyL92vOdiB7c0FPguWVsniIMjEtHH+meLBO9rzkUlUzBVXgWrjI8P9LA==", "requires": { "setimmediate": "^1.0.5" } }, "rdf-data-factory": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/rdf-data-factory/-/rdf-data-factory-1.1.2.tgz", + "integrity": "sha512-TfQD63Lokabd09ES1jAtKK8AA6rkr9rwyUBGo6olOt1CE0Um36CUQIqytyf0am2ouBPR0l7SaHxCiMcPGHkt1A==", "requires": { "@rdfjs/types": "*" } }, "rdf-isomorphic": { "version": "1.3.1", + "resolved": "https://registry.npmjs.org/rdf-isomorphic/-/rdf-isomorphic-1.3.1.tgz", + "integrity": "sha512-6uIhsXTVp2AtO6f41PdnRV5xZsa0zVZQDTBdn0br+DZuFf5M/YD+T6m8hKDUnALI6nFL/IujTMLgEs20MlNidQ==", "requires": { "@rdfjs/types": "*", "hash.js": "^1.1.7", @@ -33702,6 +38104,8 @@ }, "rdf-literal": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/rdf-literal/-/rdf-literal-1.3.2.tgz", + "integrity": "sha512-79Stlu3sXy0kq9/decHFLf3xNPuY6sfhFPhd/diWErgaFr0Ekyg38Vh9bnVcqDYu48CFRi0t+hrFii49n92Hbw==", "requires": { "@rdfjs/types": "*", "rdf-data-factory": "^1.1.0" @@ -33709,6 +38113,8 @@ }, "rdf-object": { "version": "1.14.0", + "resolved": "https://registry.npmjs.org/rdf-object/-/rdf-object-1.14.0.tgz", + "integrity": "sha512-/KSUWr7onDtL7d81kOpcUzJ2vHYOYJc2KU9WzBZRYydBhK0Sksh5Hg4VCQNaxUEvYEgdrrTuq9SLpOOCmag0rQ==", "requires": { "@rdfjs/types": "*", "jsonld-context-parser": "^2.0.2", @@ -33719,6 +38125,8 @@ }, "rdf-parse": { "version": "2.3.3", + "resolved": "https://registry.npmjs.org/rdf-parse/-/rdf-parse-2.3.3.tgz", + "integrity": "sha512-N5XEHm+ajFzwo/vVNzB4tDtvqMwBosbVJmZl5DlzplQM9ejlJBlN/43i0ImAb/NMtJJgQPC3jYnkCKGA7wdo/w==", "requires": { "@comunica/actor-http-fetch": "^2.0.1", "@comunica/actor-http-proxy": "^2.0.1", @@ -33748,6 +38156,8 @@ }, "rdf-quad": { "version": "1.5.0", + "resolved": "https://registry.npmjs.org/rdf-quad/-/rdf-quad-1.5.0.tgz", + "integrity": "sha512-LnCYx8XbRVW1wr6UiZPSy2Tv7bXAtEwuyck/68dANhFu8VMnGS+QfUNP3b9YI6p4Bfd/fyDx5E3x81IxGV6BzA==", "requires": { "rdf-data-factory": "^1.0.1", "rdf-literal": "^1.2.0", @@ -33756,6 +38166,8 @@ }, "rdf-store-stream": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/rdf-store-stream/-/rdf-store-stream-2.0.1.tgz", + "integrity": "sha512-znGaibHLvbRE0BrDcXHRleRcLKlHYP6ADr1RFJ3yA28QBmhOjxxgbBFTvCMzgsxvBIqdaFS8Vd2FG4NefJL4Mg==", "requires": { "@rdfjs/types": "*", "rdf-stores": "^1.0.0" @@ -33763,6 +38175,8 @@ }, "rdf-stores": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rdf-stores/-/rdf-stores-1.0.0.tgz", + "integrity": "sha512-wqp7M5409rbhpWQE0C1vyVysbz++aD2vEkZ6yueSxhDtyLvznS41R3cKiuUpm3ikc/yTpaCZwPo4iyKEaAwBIg==", "requires": { "@rdfjs/types": "*", "asynciterator": "^3.8.0", @@ -33772,19 +38186,39 @@ } }, "rdf-streaming-store": { - "version": "1.1.4", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/rdf-streaming-store/-/rdf-streaming-store-1.1.5.tgz", + "integrity": "sha512-Rfd3qo1otF/Jfau/lAFX8J1ZPorN0eaHoIkAlenIIcdZjq9AoIP85rEa4Sn+yMZOqNU1Kc4cCPUv5CFHhpAT2Q==", "requires": { "@rdfjs/types": "*", "@types/n3": "^1.10.4", - "@types/readable-stream": "^2.3.15", + "@types/readable-stream": "^4.0.15", "n3": "^1.16.3", "rdf-string": "^1.6.2", "rdf-terms": "^1.9.1", "readable-stream": "^4.3.0" + }, + "dependencies": { + "@types/readable-stream": { + "version": "4.0.18", + "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-4.0.18.tgz", + "integrity": "sha512-21jK/1j+Wg+7jVw1xnSwy/2Q1VgVjWuFssbYGTREPUBeZ+rqVFl2udq0IkxzPC0ZhOzVceUbyIACFZKLqKEBlA==", + "requires": { + "@types/node": "*", + "safe-buffer": "~5.1.1" + } + }, + "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==" + } } }, "rdf-string": { "version": "1.6.3", + "resolved": "https://registry.npmjs.org/rdf-string/-/rdf-string-1.6.3.tgz", + "integrity": "sha512-HIVwQ2gOqf+ObsCLSUAGFZMIl3rh9uGcRf1KbM85UDhKqP+hy6qj7Vz8FKt3GA54RiThqK3mNcr66dm1LP0+6g==", "requires": { "@rdfjs/types": "*", "rdf-data-factory": "^1.1.0" @@ -33792,6 +38226,8 @@ }, "rdf-string-ttl": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/rdf-string-ttl/-/rdf-string-ttl-1.3.2.tgz", + "integrity": "sha512-yqolaVoUvTaSC5aaQuMcB4BL54G/pCGsV4jQH87f0TvAx8zHZG0koh7XWrjva/IPGcVb1QTtaeEdfda5mcddJg==", "requires": { "@rdfjs/types": "*", "rdf-data-factory": "^1.1.0" @@ -33799,6 +38235,8 @@ }, "rdf-terms": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/rdf-terms/-/rdf-terms-1.11.0.tgz", + "integrity": "sha512-iKlVgnMopRKl9pHVNrQrax7PtZKRCT/uJIgYqvuw1VVQb88zDvurtDr1xp0rt7N9JtKtFwUXoIQoEsjyRo20qQ==", "requires": { "@rdfjs/types": "*", "rdf-data-factory": "^1.1.0", @@ -33807,6 +38245,8 @@ }, "rdfa-streaming-parser": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/rdfa-streaming-parser/-/rdfa-streaming-parser-2.0.1.tgz", + "integrity": "sha512-7Yyaj030LO7iQ38Wh/RNLVeYrVFJeyx3dpCK7C1nvX55eIN/gE4HWfbg4BYI9X7Bd+eUIUMVeiKYLmYjV6apow==", "requires": { "@rdfjs/types": "*", "htmlparser2": "^8.0.0", @@ -33817,6 +38257,8 @@ "dependencies": { "htmlparser2": { "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", "requires": { "domelementtype": "^2.3.0", "domhandler": "^5.0.3", @@ -33828,6 +38270,8 @@ }, "rdfxml-streaming-parser": { "version": "2.4.0", + "resolved": "https://registry.npmjs.org/rdfxml-streaming-parser/-/rdfxml-streaming-parser-2.4.0.tgz", + "integrity": "sha512-f+tdI1wxOiPzMbFWRtOwinwPsqac0WIN80668yFKcVdFCSTGOWTM70ucQGUSdDZZo7pce/UvZgV0C3LDj0P7tg==", "requires": { "@rdfjs/types": "*", "@rubensworks/saxes": "^6.0.1", @@ -33841,17 +38285,23 @@ }, "react-is": { "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", "dev": true, "peer": true }, "react-native-fetch-api": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/react-native-fetch-api/-/react-native-fetch-api-2.0.0.tgz", + "integrity": "sha512-GOA8tc1EVYLnHvma/TU9VTgLOyralO7eATRuCDchQveXW9Fr9vXygyq9iwqmM7YRZ8qRJfEt9xOS7OYMdJvRFw==", "requires": { "p-defer": "^3.0.0" } }, "readable-stream": { "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", "requires": { "abort-controller": "^3.0.0", "buffer": "^6.0.3", @@ -33861,46 +38311,59 @@ } }, "readable-stream-node-to-web": { - "version": "1.0.1" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/readable-stream-node-to-web/-/readable-stream-node-to-web-1.0.1.tgz", + "integrity": "sha512-OGzi2VKLa8H259kAx7BIwuRrXHGcxeHj4RdASSgEGBP9Q2wowdPvBc65upF4Q9O05qWgKqBw1+9PiLTtObl7uQ==" }, "readdirp": { - "version": "3.6.0", - "requires": { - "picomatch": "^2.2.1" - } + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.0.2.tgz", + "integrity": "sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==" }, "real-require": { - "version": "0.2.0" + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/real-require/-/real-require-0.2.0.tgz", + "integrity": "sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==" }, "receptacle": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/receptacle/-/receptacle-1.3.2.tgz", + "integrity": "sha512-HrsFvqZZheusncQRiEE7GatOAETrARKV/lnfYicIm8lbvp/JQOdADOfhjBd2DajvoszEyxSM6RlAAIZgEoeu/A==", "requires": { "ms": "^2.1.1" } }, "reflect-metadata": { "version": "0.1.13", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", + "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", "dev": true }, "reflect.getprototypeof": { - "version": "1.0.6", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.7.tgz", + "integrity": "sha512-bMvFGIUKlc/eSfXNX+aZ+EL95/EgZzuwA0OBPTbZZDEJw/0AkentjMuM1oiRfwHrshqk4RzdgiTg5CcDalXN5g==", "dev": true, "peer": true, "requires": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", - "es-abstract": "^1.23.1", + "es-abstract": "^1.23.5", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.4", - "globalthis": "^1.0.3", - "which-builtin-type": "^1.1.3" + "gopd": "^1.0.1", + "which-builtin-type": "^1.1.4" } }, "regenerator-runtime": { - "version": "0.14.1" + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" }, "regexp-match-indices": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regexp-match-indices/-/regexp-match-indices-1.0.2.tgz", + "integrity": "sha512-DwZuAkt8NF5mKwGGER1EGh2PRqyvhRhhLviH+R8y8dIuaQROlUfXjt4s9ZTXstIsSkptf06BSvwcEmmfheJJWQ==", "dev": true, "requires": { "regexp-tree": "^0.1.11" @@ -33908,24 +38371,32 @@ }, "regexp-tree": { "version": "0.1.27", + "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz", + "integrity": "sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==", "dev": true }, "regexp.prototype.flags": { - "version": "1.5.2", + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz", + "integrity": "sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==", "dev": true, "peer": true, "requires": { - "call-bind": "^1.0.6", + "call-bind": "^1.0.7", "define-properties": "^1.2.1", "es-errors": "^1.3.0", - "set-function-name": "^2.0.1" + "set-function-name": "^2.0.2" } }, "relative-to-absolute-iri": { - "version": "1.0.7" + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/relative-to-absolute-iri/-/relative-to-absolute-iri-1.0.7.tgz", + "integrity": "sha512-Xjyl4HmIzg2jzK/Un2gELqbcE8Fxy85A/aLSHE6PE/3+OGsFwmKVA1vRyGaz6vLWSqLDMHA+5rjD/xbibSQN1Q==" }, "release-zalgo": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", + "integrity": "sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==", "dev": true, "requires": { "es6-error": "^4.0.1" @@ -33933,6 +38404,8 @@ }, "repeat-string": { "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", "dev": true }, "request": { @@ -33999,21 +38472,31 @@ } }, "require-directory": { - "version": "2.1.1" + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" }, "require-from-string": { - "version": "2.0.2" + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" }, "require-main-filename": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", "dev": true }, "requires-port": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", "dev": true }, "resolve": { "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "requires": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", @@ -34027,10 +38510,14 @@ "dev": true }, "resolve-from": { - "version": "4.0.0" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" }, "resolve-pkg": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg/-/resolve-pkg-2.0.0.tgz", + "integrity": "sha512-+1lzwXehGCXSeryaISr6WujZzowloigEofRB+dj75y9RRa/obVcYgbHJd53tdYw8pvZj8GojXaaENws8Ktw/hQ==", "dev": true, "requires": { "resolve-from": "^5.0.0" @@ -34038,6 +38525,8 @@ "dependencies": { "resolve-from": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true } } @@ -34061,6 +38550,8 @@ }, "restore-cursor": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", + "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", "dev": true, "requires": { "onetime": "^5.1.0", @@ -34068,29 +38559,43 @@ } }, "retimer": { - "version": "3.0.0" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/retimer/-/retimer-3.0.0.tgz", + "integrity": "sha512-WKE0j11Pa0ZJI5YIk0nflGI7SQsfl2ljihVy7ogh7DeQSeYAUi0ubZ/yEueGtDfUPk6GH5LRw1hBdLq4IwUBWA==" }, "retry": { - "version": "0.13.1" + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==" }, "retry-as-promised": { - "version": "7.0.4" + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/retry-as-promised/-/retry-as-promised-7.0.4.tgz", + "integrity": "sha512-XgmCoxKWkDofwH8WddD0w85ZfqYz+ZHlr5yo+3YUCfycWawU56T5ckWXsScsj5B8tqUcIG67DxXByo3VUgiAdA==" }, "reusify": { - "version": "1.0.4" + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" }, "rfdc": { "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", "dev": true }, "rimraf": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "requires": { "glob": "^7.1.3" } }, "ripemd160": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "requires": { "hash-base": "^3.0.0", "inherits": "^2.0.1" @@ -34098,16 +38603,22 @@ }, "rlp": { "version": "2.2.7", + "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", + "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", "requires": { "bn.js": "^5.2.0" } }, "robust-predicates": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz", + "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==", "dev": true }, "rolling-rate-limiter": { "version": "0.2.13", + "resolved": "https://registry.npmjs.org/rolling-rate-limiter/-/rolling-rate-limiter-0.2.13.tgz", + "integrity": "sha512-fF5XeJn7t22cC9LIh77BDfs7Mg0jon03qezMfPige0vehzhmNyQ6U+eSYbaL1l80sX9z+22+6x4pQ8xHT0LrVw==", "requires": { "microtime": "^3.0.0", "uuid": "^8.3.0" @@ -34115,22 +38626,30 @@ }, "run-parallel": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "requires": { "queue-microtask": "^1.2.2" } }, "rw": { "version": "1.3.3", + "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", + "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==", "dev": true }, "rxjs": { "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", "requires": { "tslib": "^2.1.0" } }, "safe-array-concat": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", + "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", "dev": true, "peer": true, "requires": { @@ -34141,10 +38660,14 @@ } }, "safe-buffer": { - "version": "5.2.1" + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" }, "safe-regex-test": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", + "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", "dev": true, "peer": true, "requires": { @@ -34154,22 +38677,32 @@ } }, "safe-stable-stringify": { - "version": "2.4.3" + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.5.0.tgz", + "integrity": "sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==" }, "safer-buffer": { - "version": "2.1.2" + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "sanitize-filename": { "version": "1.6.3", + "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz", + "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==", "requires": { "truncate-utf8-bytes": "^1.0.0" } }, "sax": { - "version": "1.4.1" + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==" }, "sax-stream": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/sax-stream/-/sax-stream-1.3.0.tgz", + "integrity": "sha512-tcfsAAICAkyNNe4uiKtKmLKxx3C7qPAej13UUoN+7OLYq/P5kHGahZtJhhMVM3fIMndA6TlYHWFlFEzFkv1VGg==", "requires": { "debug": "~2", "sax": "~1" @@ -34177,31 +38710,43 @@ "dependencies": { "debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "requires": { "ms": "2.0.0" } }, "ms": { - "version": "2.0.0" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" } } }, "saxes": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", "dev": true, "requires": { "xmlchars": "^2.2.0" } }, "scale-ts": { - "version": "1.6.0", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/scale-ts/-/scale-ts-1.6.1.tgz", + "integrity": "sha512-PBMc2AWc6wSEqJYBDPcyCLUj9/tMKnLX70jLOSndMtcUoLQucP/DM0vnQo1wJAYjTrQiq8iG9rD0q6wFzgjH7g==", "optional": true }, "scrypt-js": { - "version": "3.0.1" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", + "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" }, "secp256k1": { "version": "4.0.3", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", + "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", "requires": { "elliptic": "^6.5.4", "node-addon-api": "^2.0.0", @@ -34209,20 +38754,30 @@ } }, "secure-json-parse": { - "version": "2.7.0" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.7.0.tgz", + "integrity": "sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==" }, "seed-random": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/seed-random/-/seed-random-2.2.0.tgz", + "integrity": "sha512-34EQV6AAHQGhoc0tn/96a9Fsi6v2xdqe/dMUwljGRaFOzR3EgRmECvD0O8vi8X+/uQ50LGHfkNu/Eue5TPKZkQ==", "dev": true }, "seedrandom": { - "version": "3.0.5" + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.5.tgz", + "integrity": "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==" }, "semver": { - "version": "7.6.2" + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==" }, "send": { - "version": "0.18.0", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", "requires": { "debug": "2.6.9", "depd": "2.0.0", @@ -34241,22 +38796,35 @@ "dependencies": { "debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "requires": { "ms": "2.0.0" }, "dependencies": { "ms": { - "version": "2.0.0" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" } } + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" } } }, "seq-queue": { - "version": "0.0.5" + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/seq-queue/-/seq-queue-0.0.5.tgz", + "integrity": "sha512-hr3Wtp/GZIc/6DAGPDcV4/9WoZhjrkXsi5B/07QgX8tsdc6ilr7BFM6PM6rbdAX1kFSDYeZGLipIZZKyQP0O5Q==" }, "sequelize": { - "version": "6.37.3", + "version": "6.37.5", + "resolved": "https://registry.npmjs.org/sequelize/-/sequelize-6.37.5.tgz", + "integrity": "sha512-10WA4poUb3XWnUROThqL2Apq9C2NhyV1xHPMZuybNMCucDsbbFuKg51jhmyvvAUyUqCiimwTZamc3AHhMoBr2Q==", "requires": { "@types/debug": "^4.1.8", "@types/validator": "^13.7.17", @@ -34277,21 +38845,27 @@ } }, "sequelize-pool": { - "version": "7.1.0" + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/sequelize-pool/-/sequelize-pool-7.1.0.tgz", + "integrity": "sha512-G9c0qlIWQSK29pR/5U2JF5dDQeqqHRragoyahj/Nx4KOOQ3CPPfzxnfqFPCSB7x5UgjOgnZ61nSxz+fjDpRlJg==" }, "serialize-javascript": { - "version": "6.0.0", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "requires": { "randombytes": "^2.1.0" } }, "serve-static": { - "version": "1.15.0", + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", "requires": { - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.18.0" + "send": "0.19.0" } }, "servify": { @@ -34309,13 +38883,19 @@ }, "set-blocking": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", "dev": true }, "set-delayed-interval": { - "version": "1.0.0" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/set-delayed-interval/-/set-delayed-interval-1.0.0.tgz", + "integrity": "sha512-29fhAwuZlLcuBnW/EwxvLcg2D3ELX+VBDNhnavs3YYkab72qmrcSeQNVdzl8EcPPahGQXhBM6MKdPLCQGMDakw==" }, "set-function-length": { "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "requires": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", @@ -34327,6 +38907,8 @@ }, "set-function-name": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", "dev": true, "peer": true, "requires": { @@ -34337,13 +38919,19 @@ } }, "setimmediate": { - "version": "1.0.5" + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" }, "setprototypeof": { - "version": "1.2.0" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" }, "sha.js": { "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "requires": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -34351,6 +38939,8 @@ }, "shaclc-parse": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/shaclc-parse/-/shaclc-parse-1.4.0.tgz", + "integrity": "sha512-zyxjIYQH2ghg/wtMvOp+4Nr6aK8j9bqFiVT3w47K8WHPYN+S3Zgnh2ybT+dGgMwo9KjiOoywxhjC7d8Z6GCmfA==", "requires": { "@rdfjs/types": "^1.1.0", "n3": "^1.16.3" @@ -34358,6 +38948,8 @@ }, "shaclc-write": { "version": "1.4.3", + "resolved": "https://registry.npmjs.org/shaclc-write/-/shaclc-write-1.4.3.tgz", + "integrity": "sha512-dtJ6LokIluzQuHRWCFvNnmGyh07FxBK2L4utkOQn/wYD9eNamUUCt7sDBcuFDyD3jAGv0Ipmv0EitTyKcM1f/w==", "requires": { "@jeswr/prefixcc": "^1.2.1", "n3": "^1.16.3", @@ -34366,6 +38958,8 @@ }, "sharp": { "version": "0.32.6", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.32.6.tgz", + "integrity": "sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==", "dev": true, "requires": { "color": "^4.2.3", @@ -34380,21 +38974,29 @@ "dependencies": { "node-addon-api": { "version": "6.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", + "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", "dev": true } } }, "shebang-command": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "requires": { "shebang-regex": "^3.0.0" } }, "shebang-regex": { - "version": "3.0.0" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" }, "side-channel": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", "requires": { "call-bind": "^1.0.7", "es-errors": "^1.3.0", @@ -34403,14 +39005,20 @@ } }, "signal-exit": { - "version": "3.0.7" + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, "simple-concat": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", "dev": true }, "simple-get": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", "dev": true, "requires": { "decompress-response": "^6.0.0", @@ -34420,12 +39028,16 @@ }, "simple-swizzle": { "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", "requires": { "is-arrayish": "^0.3.1" } }, "sinon": { "version": "14.0.2", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-14.0.2.tgz", + "integrity": "sha512-PDpV0ZI3ZCS3pEqx0vpNp6kzPhHrLx72wA0G+ZLaaJjLIYeE0n8INlgaohKuGy7hP0as5tbUd23QWu5U233t+w==", "dev": true, "requires": { "@sinonjs/commons": "^2.0.0", @@ -34438,10 +39050,14 @@ "dependencies": { "diff": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", + "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", "dev": true }, "supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { "has-flag": "^4.0.0" @@ -34451,6 +39067,8 @@ }, "slice-ansi": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", "dev": true, "requires": { "ansi-styles": "^6.0.0", @@ -34459,65 +39077,55 @@ "dependencies": { "ansi-styles": { "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true } } }, "slugify": { "version": "1.6.6", + "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.6.tgz", + "integrity": "sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw==", "dev": true }, "smoldot": { "version": "2.0.22", + "resolved": "https://registry.npmjs.org/smoldot/-/smoldot-2.0.22.tgz", + "integrity": "sha512-B50vRgTY6v3baYH6uCgL15tfaag5tcS2o/P5q1OiXcKGv1axZDfz2dzzMuIkVpyMR2ug11F6EAtQlmYBQd292g==", "optional": true, "requires": { "ws": "^8.8.1" } }, "solc": { - "version": "0.7.3", + "version": "0.8.26", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.8.26.tgz", + "integrity": "sha512-yiPQNVf5rBFHwN6SIf3TUUvVAFKcQqmSUFeq+fb6pNRCo0ZCgpYOZDi3BVoezCPIAcKrVYd/qXlBLUP9wVrZ9g==", "requires": { "command-exists": "^1.2.8", - "commander": "3.0.2", + "commander": "^8.1.0", "follow-redirects": "^1.12.1", - "fs-extra": "^0.30.0", "js-sha3": "0.8.0", "memorystream": "^0.3.1", - "require-from-string": "^2.0.0", "semver": "^5.5.0", "tmp": "0.0.33" }, "dependencies": { "commander": { - "version": "3.0.2" - }, - "fs-extra": { - "version": "0.30.0", - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0", - "path-is-absolute": "^1.0.0", - "rimraf": "^2.2.8" - } - }, - "jsonfile": { - "version": "2.4.0", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "rimraf": { - "version": "2.7.1", - "requires": { - "glob": "^7.1.3" - } + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" }, "semver": { - "version": "5.7.2" + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" }, "tmp": { "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "requires": { "os-tmpdir": "~1.0.2" } @@ -34526,25 +39134,35 @@ }, "sonic-boom": { "version": "3.8.1", + "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-3.8.1.tgz", + "integrity": "sha512-y4Z8LCDBuum+PBP3lSV7RHrXscqksve/bi0as7mhwVnBW+/wUqKT/2Kb7um8yqcFy0duYbbPxzt89Zy2nOCaxg==", "requires": { "atomic-sleep": "^1.0.0" } }, "source-map": { - "version": "0.6.1" + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "source-map-support": { "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, "spark-md5": { - "version": "3.0.2" + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/spark-md5/-/spark-md5-3.0.2.tgz", + "integrity": "sha512-wcFzz9cDfbuqe0FZzfi2or1sgyIrsDwmPwfZC4hiNidPdPINjeUwNfv5kldczoEAcjl9Y1L3SM7Uz2PUEQzxQw==" }, "sparqlalgebrajs": { - "version": "4.3.5", + "version": "4.3.8", + "resolved": "https://registry.npmjs.org/sparqlalgebrajs/-/sparqlalgebrajs-4.3.8.tgz", + "integrity": "sha512-Xo1/5icRtVk2N38BrY9NXN8N/ZPjULlns7sDHv0nlcGOsOediBLWVy8LmV+Q90RHvb3atZZbrFy3VqrM4iXciA==", "requires": { "@rdfjs/types": "*", "@types/sparqljs": "^3.1.3", @@ -34558,13 +39176,17 @@ } }, "sparqljs": { - "version": "3.7.1", + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/sparqljs/-/sparqljs-3.7.3.tgz", + "integrity": "sha512-FQfHUhfwn5PD9WH6xPU7DhFfXMgqK/XoDrYDVxz/grhw66Il0OjRg3JBgwuEvwHnQt7oSTiKWEiCZCPNaUbqgg==", "requires": { "rdf-data-factory": "^1.1.2" } }, "sparqljson-parse": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/sparqljson-parse/-/sparqljson-parse-2.2.0.tgz", + "integrity": "sha512-2TfvNvUsaJyWfCrq3ExdDdbF9LBLzIUCricg+D1YCYbbmyTzscgCtRk4KcIyJF178DtfCt4BkKzbKl8IXMHp8w==", "requires": { "@bergos/jsonparse": "^1.4.1", "@rdfjs/types": "*", @@ -34575,6 +39197,8 @@ }, "sparqljson-to-tree": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/sparqljson-to-tree/-/sparqljson-to-tree-3.0.2.tgz", + "integrity": "sha512-8h/ZEPPBhBlMbgMX1TOumJQku2mLYYdwd/octsDa/bdqdNcMeAcB7S2Qh4SEZ+0pPNed9CBk1d5TEUpwJlcdmw==", "requires": { "@rdfjs/types": "*", "rdf-literal": "^1.3.2", @@ -34583,6 +39207,8 @@ }, "sparqlxml-parse": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/sparqlxml-parse/-/sparqlxml-parse-2.1.1.tgz", + "integrity": "sha512-71sltShF6gDAzuKWEHNeij7r0Mv5VqRrvJing6W4WHJ12GRe6+t1IRTv6MeqxYN3XJmKevs7B3HCBUo7wceeJQ==", "requires": { "@rdfjs/types": "*", "@rubensworks/saxes": "^6.0.1", @@ -34594,6 +39220,8 @@ }, "spawn-wrap": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", + "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", "dev": true, "requires": { "foreground-child": "^2.0.0", @@ -34605,13 +39233,19 @@ } }, "split2": { - "version": "4.2.0" + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==" }, "sprintf-js": { - "version": "1.1.2" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", + "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==" }, "sqlstring": { - "version": "2.3.3" + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.3.tgz", + "integrity": "sha512-qC9iz2FlN7DQl3+wjwn3802RTyjCx7sDvfQEXchwa6CWOx07/WVfh91gBmQ9fahw8snwGEWU3xGzOt4tFyHLxg==" }, "sshpk": { "version": "1.18.0", @@ -34645,52 +39279,76 @@ } }, "stack-trace": { - "version": "0.0.10" + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==" }, "stackframe": { "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", "dev": true }, "stacktrace-parser": { "version": "0.1.10", + "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", + "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", "requires": { "type-fest": "^0.7.1" }, "dependencies": { "type-fest": { - "version": "0.7.1" + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", + "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==" } } }, "statuses": { - "version": "2.0.1" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" }, "stream-to-it": { "version": "0.2.4", + "resolved": "https://registry.npmjs.org/stream-to-it/-/stream-to-it-0.2.4.tgz", + "integrity": "sha512-4vEbkSs83OahpmBybNJXlJd7d6/RxzkkSdT3I0mnGt79Xd2Kk+e1JqbvAvsQfCeKj3aKb0QIWkyK3/n0j506vQ==", "requires": { "get-iterator": "^1.0.2" } }, "stream-to-string": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/stream-to-string/-/stream-to-string-1.2.1.tgz", + "integrity": "sha512-WsvTDNF8UYs369Yko3pcdTducQtYpzEZeOV7cTuReyFvOoA9S/DLJ6sYK+xPafSPHhUMpaxiljKYnT6JSFztIA==", "requires": { "promise-polyfill": "^1.1.6" } }, "streamify-array": { - "version": "1.0.1" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/streamify-array/-/streamify-array-1.0.1.tgz", + "integrity": "sha512-ZnswaBcC6B1bhPLSQOlC6CdaDUSzU0wr2lvvHpbHNms8V7+DLd8uEAzDAWpsjxbFkijBHhuObFO/qqu52DZUMA==" }, "streamify-string": { - "version": "1.0.1" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/streamify-string/-/streamify-string-1.0.1.tgz", + "integrity": "sha512-RXvBglotrvSIuQQ7oC55pdV40wZ/17gTb68ipMC4LA0SqMN4Sqfsf31Dpei7qXpYqZQ8ueVnPglUvtep3tlhqw==" }, "streaming-iterables": { - "version": "6.2.0" + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/streaming-iterables/-/streaming-iterables-6.2.0.tgz", + "integrity": "sha512-3AYC8oB60WyD1ic7uHmN/vm2oRGzRnQ3XFBl/bFMDi1q1+nc5/vjMmiE4vroIya3jG59t87VpyAj/iXYxyw9AA==" }, "streamsearch": { - "version": "1.1.0" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==" }, "streamx": { - "version": "2.18.0", + "version": "2.20.2", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.20.2.tgz", + "integrity": "sha512-aDGDLU+j9tJcUdPGOaHmVF1u/hhI+CsGkT02V3OKlHDV7IukOI+nTWAGkiZEKCO35rWN1wIr4tS7YFr1f4qSvA==", "dev": true, "requires": { "bare-events": "^2.2.0", @@ -34707,15 +39365,21 @@ }, "string_decoder": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "requires": { "safe-buffer": "~5.2.0" } }, "string-argv": { - "version": "0.3.2" + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", + "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==" }, "string-width": { "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -34723,15 +39387,33 @@ }, "dependencies": { "emoji-regex": { - "version": "8.0.0" + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "is-fullwidth-code-point": { - "version": "3.0.0" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" } } }, + "string.prototype.includes": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz", + "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3" + } + }, "string.prototype.matchall": { "version": "4.0.11", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", + "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", "dev": true, "peer": true, "requires": { @@ -34749,8 +39431,21 @@ "side-channel": "^1.0.6" } }, + "string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", + "dev": true, + "peer": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, "string.prototype.trim": { "version": "1.2.9", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", + "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", "dev": true, "peer": true, "requires": { @@ -34762,6 +39457,8 @@ }, "string.prototype.trimend": { "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", + "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", "dev": true, "peer": true, "requires": { @@ -34772,6 +39469,8 @@ }, "string.prototype.trimstart": { "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", "dev": true, "peer": true, "requires": { @@ -34782,39 +39481,55 @@ }, "strip-ansi": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "requires": { "ansi-regex": "^5.0.1" }, "dependencies": { "ansi-regex": { - "version": "5.0.1" + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" } } }, "strip-bom": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true }, "strip-final-newline": { - "version": "2.0.0" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" }, "strip-hex-prefix": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", + "integrity": "sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==", "requires": { "is-hex-prefixed": "1.0.0" } }, "strip-json-comments": { - "version": "3.1.1" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" }, "supports-color": { "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "requires": { "has-flag": "^4.0.0" } }, "supports-preserve-symlinks-flag": { - "version": "1.0.0" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" }, "swarm-js": { "version": "0.1.42", @@ -34931,6 +39646,8 @@ }, "symbol-tree": { "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", "dev": true }, "tar": { @@ -34950,6 +39667,8 @@ }, "tar-fs": { "version": "3.0.6", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.6.tgz", + "integrity": "sha512-iokBDQQkUyeXhgPYaZxmczGPhnhXZ0CmrqI+MOb/WFGS9DW5wnfrLgtjUJBvz50vQ3qfRwJ62QVoCFu8mPVu5w==", "dev": true, "requires": { "bare-fs": "^2.1.1", @@ -34960,6 +39679,8 @@ }, "tar-stream": { "version": "3.1.7", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", + "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", "dev": true, "requires": { "b4a": "^1.6.4", @@ -34969,6 +39690,8 @@ }, "test-exclude": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, "requires": { "@istanbuljs/schema": "^0.1.2", @@ -34977,20 +39700,25 @@ } }, "text-decoder": { - "version": "1.1.0", - "dev": true, - "requires": { - "b4a": "^1.6.4" - } + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.1.tgz", + "integrity": "sha512-x9v3H/lTKIJKQQe7RPQkLfKAnc9lUTkWDypIQgTzPJAq+5/GCDHonmshfvlsNSj58yyshbIJJDLmU15qNERrXQ==", + "dev": true }, "text-hex": { - "version": "1.0.0" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", + "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==" }, "text-table": { - "version": "0.2.0" + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" }, "thenify": { "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", "dev": true, "requires": { "any-promise": "^1.0.0" @@ -34998,6 +39726,8 @@ }, "thenify-all": { "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", "dev": true, "requires": { "thenify": ">= 3.1.0 < 4" @@ -35005,12 +39735,16 @@ }, "thread-stream": { "version": "2.7.0", + "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-2.7.0.tgz", + "integrity": "sha512-qQiRWsU/wvNolI6tbbCKd9iKaTnCXsTwVxhhKM6nctPdujTyztjlbUkUTUymidWcMnZ5pWR0ej4a0tjsW021vw==", "requires": { "real-require": "^0.2.0" } }, "through": { - "version": "2.3.8" + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" }, "timed-out": { "version": "4.0.1", @@ -35020,42 +39754,78 @@ }, "timeout-abort-controller": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/timeout-abort-controller/-/timeout-abort-controller-3.0.0.tgz", + "integrity": "sha512-O3e+2B8BKrQxU2YRyEjC/2yFdb33slI22WRdUaDx6rvysfi9anloNZyR2q0l6LnePo5qH7gSM7uZtvvwZbc2yA==", "requires": { "retimer": "^3.0.0" } }, "tiny-emitter": { - "version": "2.1.0" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", + "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==" + }, + "tinyglobby": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.10.tgz", + "integrity": "sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==", + "requires": { + "fdir": "^6.4.2", + "picomatch": "^4.0.2" + }, + "dependencies": { + "fdir": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.2.tgz", + "integrity": "sha512-KnhMXsKSPZlAhp7+IjUkRZKPb4fUyccpDrdFXbi4QL1qkmFh9kVY09Yox+n4MaOb3lHZ1Tv829C3oaaXoMYPDQ==", + "requires": {} + }, + "picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==" + } + } }, "tmp": { "version": "0.2.3", - "dev": true - }, - "to-fast-properties": { - "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", + "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", "dev": true }, "to-regex-range": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "requires": { "is-number": "^7.0.0" } }, "toidentifier": { - "version": "1.0.1" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" }, "toobusy-js": { - "version": "0.5.1" + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/toobusy-js/-/toobusy-js-0.5.1.tgz", + "integrity": "sha512-GiCux/c8G2TV0FTDgtxnXOxmSAndaI/9b1YxT14CqyeBDtTZAcJLx9KlXT3qECi8D0XCc78T4sN/7gWtjRyCaA==" }, "toposort": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz", + "integrity": "sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==", "dev": true }, "toposort-class": { - "version": "1.0.1" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toposort-class/-/toposort-class-1.0.1.tgz", + "integrity": "sha512-OsLcGGbYF3rMjPUf8oKktyvCiUxSbqMMS39m33MAjLTC1DVIH6x3WSt63/M77ihI09+Sdfk1AXvfhCEeUmC7mg==" }, "tough-cookie": { "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", "dev": true, "requires": { "psl": "^1.1.33", @@ -35066,34 +39836,48 @@ "dependencies": { "universalify": { "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", "dev": true } } }, "tr46": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", "dev": true, "requires": { "punycode": "^2.1.1" } }, "traverse": { - "version": "0.3.9" + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz", + "integrity": "sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ==" }, "treeify": { - "version": "1.1.0" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/treeify/-/treeify-1.1.0.tgz", + "integrity": "sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A==" }, "triple-beam": { - "version": "1.4.1" + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.4.1.tgz", + "integrity": "sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==" }, "truncate-utf8-bytes": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", + "integrity": "sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==", "requires": { "utf8-byte-length": "^1.0.1" } }, "ts-node": { "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", "requires": { "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", @@ -35111,7 +39895,9 @@ }, "dependencies": { "acorn-walk": { - "version": "8.3.3", + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", + "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", "requires": { "acorn": "^8.11.0" } @@ -35120,6 +39906,8 @@ }, "tsconfig-paths": { "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", "dev": true, "peer": true, "requires": { @@ -35131,6 +39919,8 @@ "dependencies": { "json5": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, "peer": true, "requires": { @@ -35139,48 +39929,70 @@ }, "strip-bom": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true, "peer": true } } }, "tslib": { - "version": "2.6.3" + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" }, "tsort": { - "version": "0.0.1" + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/tsort/-/tsort-0.0.1.tgz", + "integrity": "sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==" }, "tunnel-agent": { "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", "dev": true, "requires": { "safe-buffer": "^5.0.1" } }, "tweetnacl": { - "version": "1.0.3" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", + "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" }, "tweetnacl-util": { - "version": "0.15.1" + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz", + "integrity": "sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==" }, "type": { - "version": "2.7.3" + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/type/-/type-2.7.3.tgz", + "integrity": "sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==" }, "type-check": { "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "requires": { "prelude-ls": "^1.2.1" } }, "type-detect": { - "version": "4.0.8", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz", + "integrity": "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==", "dev": true }, "type-fest": { - "version": "0.20.2" + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" }, "type-is": { "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "requires": { "media-typer": "0.3.0", "mime-types": "~2.1.24" @@ -35188,6 +40000,8 @@ }, "typed-array-buffer": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", "dev": true, "peer": true, "requires": { @@ -35198,6 +40012,8 @@ }, "typed-array-byte-length": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", "dev": true, "peer": true, "requires": { @@ -35209,7 +40025,9 @@ } }, "typed-array-byte-offset": { - "version": "1.0.2", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.3.tgz", + "integrity": "sha512-GsvTyUHTriq6o/bHcTd0vM7OQ9JEdlvluu9YISaA7+KzDzPaIzEeDFNkTfhdE3MYcNhNi0vq/LlegYgIs5yPAw==", "dev": true, "peer": true, "requires": { @@ -35218,37 +40036,47 @@ "for-each": "^0.3.3", "gopd": "^1.0.1", "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13" + "is-typed-array": "^1.1.13", + "reflect.getprototypeof": "^1.0.6" } }, "typed-array-length": { - "version": "1.0.6", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", "dev": true, "peer": true, "requires": { "call-bind": "^1.0.7", "for-each": "^0.3.3", "gopd": "^1.0.1", - "has-proto": "^1.0.3", "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0" + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" } }, "typed-function": { - "version": "2.1.0" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/typed-function/-/typed-function-2.1.0.tgz", + "integrity": "sha512-bctQIOqx2iVbWGDGPWwIm18QScpu2XRmkC19D8rQGFsjKSgteq/o1hTZvIG/wuDq8fanpBDrLkLq+aEN/6y5XQ==" }, "typedarray-to-buffer": { "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", "requires": { "is-typedarray": "^1.0.0" } }, "typescript": { - "version": "5.4.5", - "peer": true + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==" }, "uint8arrays": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.1.tgz", + "integrity": "sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==", "requires": { "multiformats": "^9.4.2" } @@ -35260,7 +40088,9 @@ "dev": true }, "umzug": { - "version": "3.8.1", + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/umzug/-/umzug-3.8.2.tgz", + "integrity": "sha512-BEWEF8OJjTYVC56GjELeHl/1XjFejrD7aHzn+HldRJTx+pL1siBrKHZC8n4K/xL3bEzVA9o++qD1tK2CpZu4KA==", "requires": { "@rushstack/ts-command-line": "^4.12.2", "emittery": "^0.13.0", @@ -35270,12 +40100,16 @@ }, "dependencies": { "type-fest": { - "version": "4.20.0" + "version": "4.29.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.29.0.tgz", + "integrity": "sha512-RPYt6dKyemXJe7I6oNstcH24myUGSReicxcHTvCLgzm4e0n8y05dGvcGB15/SoPRBmhlMthWQ9pvKyL81ko8nQ==" } } }, "unbox-primitive": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", "dev": true, "peer": true, "requires": { @@ -35287,24 +40121,36 @@ }, "undici": { "version": "5.28.4", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz", + "integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==", "requires": { "@fastify/busboy": "^2.0.0" } }, "undici-types": { - "version": "5.26.5" + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", + "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==" }, "universalify": { - "version": "2.0.1" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==" }, "unordered-array-remove": { - "version": "1.0.2" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unordered-array-remove/-/unordered-array-remove-1.0.2.tgz", + "integrity": "sha512-45YsfD6svkgaCBNyvD+dFHm4qFX9g3wRSIVgWVPtm2OCnphvPxzJoe20ATsiNpNJrmzHifnxm+BN5F7gFT/4gw==" }, "unpipe": { - "version": "1.0.0" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" }, "unzipper": { "version": "0.10.14", + "resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.10.14.tgz", + "integrity": "sha512-ti4wZj+0bQTiX2KmKWuwj7lhV+2n//uXEotUmGuQqrbVZSEGFMbI68+c6JCQ8aAmUWYvtHEz2A8K6wXvueR/6g==", "requires": { "big-integer": "^1.6.17", "binary": "~0.3.0", @@ -35319,10 +40165,14 @@ }, "dependencies": { "isarray": { - "version": "1.0.0" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, "readable-stream": { "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -35334,10 +40184,14 @@ } }, "safe-buffer": { - "version": "5.1.2" + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "string_decoder": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { "safe-buffer": "~5.1.0" } @@ -35345,15 +40199,19 @@ } }, "update-browserslist-db": { - "version": "1.0.16", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", + "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", "dev": true, "requires": { - "escalade": "^3.1.2", - "picocolors": "^1.0.1" + "escalade": "^3.2.0", + "picocolors": "^1.1.0" } }, "upper-case-first": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-2.0.2.tgz", + "integrity": "sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==", "dev": true, "requires": { "tslib": "^2.0.3" @@ -35361,15 +40219,21 @@ }, "uri-js": { "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "requires": { "punycode": "^2.1.0" } }, "uritemplate": { - "version": "0.3.4" + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/uritemplate/-/uritemplate-0.3.4.tgz", + "integrity": "sha512-enADBvHfhjrwxFMTVWeIIYz51SZ91uC6o2MR/NQTVljJB6HTZ8eQL3Q7JBj3RxNISA14MOwJaU3vpf5R6dyxHA==" }, "url-parse": { "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", "dev": true, "requires": { "querystringify": "^2.1.1", @@ -35384,6 +40248,8 @@ }, "ursa-optional": { "version": "0.10.2", + "resolved": "https://registry.npmjs.org/ursa-optional/-/ursa-optional-0.10.2.tgz", + "integrity": "sha512-TKdwuLboBn7M34RcvVTuQyhvrA8gYKapuVdm0nBP0mnBc7oECOfUQZrY91cefL3/nm64ZyrejSRrhTVdX7NG/A==", "requires": { "bindings": "^1.5.0", "nan": "^2.14.2" @@ -35391,15 +40257,21 @@ }, "utf-8-validate": { "version": "5.0.10", + "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz", + "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==", "requires": { "node-gyp-build": "^4.3.0" } }, "utf8": { - "version": "3.0.0" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", + "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==" }, "utf8-byte-length": { - "version": "1.0.5" + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.5.tgz", + "integrity": "sha512-Xn0w3MtiQ6zoz2vFyUVruaCL53O/DwUvkEeOvj+uulMm0BkUGYWmBYVyElqZaSLhY6ZD0ulfU3aBra2aVT4xfA==" }, "util": { "version": "0.12.5", @@ -35416,34 +40288,54 @@ }, "util-arity": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/util-arity/-/util-arity-1.1.0.tgz", + "integrity": "sha512-kkyIsXKwemfSy8ZEoaIz06ApApnWsk5hQO0vLjZS6UkBiGiW++Jsyb8vSBoc0WKlffGoGs5yYy/j5pp8zckrFA==", "dev": true }, "util-deprecate": { - "version": "1.0.2" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "utils-merge": { - "version": "1.0.1" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==" }, "uuid": { - "version": "8.3.2" + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" }, "v8-compile-cache-lib": { - "version": "3.0.1" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==" }, "validate-iri": { - "version": "1.0.1" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/validate-iri/-/validate-iri-1.0.1.tgz", + "integrity": "sha512-gLXi7351CoyVVQw8XE5sgpYawRKatxE7kj/xmCxXOZS1kMdtcqC0ILIqLuVEVnAUQSL/evOGG3eQ+8VgbdnstA==" }, "validator": { - "version": "13.12.0" + "version": "13.12.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.12.0.tgz", + "integrity": "sha512-c1Q0mCiPlgdTVVVIJIrBuxNicYE+t/7oKeI9MWLj3fh/uq2Pxh/3eeWbVZ4OcGW1TUf53At0njHw5SMdA3tmMg==" }, "varint": { - "version": "6.0.0" + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", + "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==" }, "vary": { - "version": "1.1.2" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" }, "verror": { "version": "1.10.1", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.1.tgz", + "integrity": "sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg==", "dev": true, "requires": { "assert-plus": "^1.0.0", @@ -35453,6 +40345,8 @@ }, "w3c-hr-time": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", "dev": true, "requires": { "browser-process-hrtime": "^1.0.0" @@ -35460,16 +40354,22 @@ }, "w3c-xmlserializer": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", "dev": true, "requires": { "xml-name-validator": "^3.0.0" } }, "web-streams-polyfill": { - "version": "3.3.3" + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", + "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==" }, "web-streams-ponyfill": { - "version": "1.4.2" + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/web-streams-ponyfill/-/web-streams-ponyfill-1.4.2.tgz", + "integrity": "sha512-LCHW+fE2UBJ2vjhqJujqmoxh1ytEDEr0dPO3CabMdMDJPKmsaxzS90V1Ar6LtNE5VHLqxR4YMEj1i4lzMAccIA==" }, "web3-bzz": { "version": "1.10.4", @@ -35490,6 +40390,29 @@ } } }, + "web3-core": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.10.4.tgz", + "integrity": "sha512-B6elffYm81MYZDTrat7aEhnhdtVE3lDBUZft16Z8awYMZYJDbnykEbJVS+l3mnA7AQTnSDr/1MjWofGDLBJPww==", + "dev": true, + "requires": { + "@types/bn.js": "^5.1.1", + "@types/node": "^12.12.6", + "bignumber.js": "^9.0.0", + "web3-core-helpers": "1.10.4", + "web3-core-method": "1.10.4", + "web3-core-requestmanager": "1.10.4", + "web3-utils": "1.10.4" + }, + "dependencies": { + "@types/node": { + "version": "12.20.55", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", + "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", + "dev": true + } + } + }, "web3-core-helpers": { "version": "1.10.4", "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.10.4.tgz", @@ -35498,18 +40421,6 @@ "requires": { "web3-eth-iban": "1.10.4", "web3-utils": "1.10.4" - }, - "dependencies": { - "web3-eth-iban": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.4.tgz", - "integrity": "sha512-0gE5iNmOkmtBmbKH2aTodeompnNE8jEyvwFJ6s/AF6jkw9ky9Op9cqfzS56AYAbrqEFuClsqB/AoRves7LDELw==", - "dev": true, - "requires": { - "bn.js": "^5.2.1", - "web3-utils": "1.10.4" - } - } } }, "web3-core-method": { @@ -35553,6 +40464,16 @@ "web3-providers-http": "1.10.4", "web3-providers-ipc": "1.10.4", "web3-providers-ws": "1.10.4" + } + }, + "web3-core-subscriptions": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.10.4.tgz", + "integrity": "sha512-o0lSQo/N/f7/L76C0HV63+S54loXiE9fUPfHFcTtpJRQNDBVsSDdWRdePbWwR206XlsBqD5VHApck1//jEafTw==", + "dev": true, + "requires": { + "eventemitter3": "4.0.4", + "web3-core-helpers": "1.10.4" }, "dependencies": { "eventemitter3": { @@ -35560,50 +40481,61 @@ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", "dev": true - }, - "web3-providers-http": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.10.4.tgz", - "integrity": "sha512-m2P5Idc8hdiO0l60O6DSCPw0kw64Zgi0pMjbEFRmxKIck2Py57RQMu4bxvkxJwkF06SlGaEQF8rFZBmuX7aagQ==", - "dev": true, - "requires": { - "abortcontroller-polyfill": "^1.7.5", - "cross-fetch": "^4.0.0", - "es6-promise": "^4.2.8", - "web3-core-helpers": "1.10.4" - } - }, - "web3-providers-ipc": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.10.4.tgz", - "integrity": "sha512-YRF/bpQk9z3WwjT+A6FI/GmWRCASgd+gC0si7f9zbBWLXjwzYAKG73bQBaFRAHex1hl4CVcM5WUMaQXf3Opeuw==", - "dev": true, - "requires": { - "oboe": "2.1.5", - "web3-core-helpers": "1.10.4" - } - }, - "web3-providers-ws": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.10.4.tgz", - "integrity": "sha512-j3FBMifyuFFmUIPVQR4pj+t5ILhAexAui0opgcpu9R5LxQrLRUZxHSnU+YO25UycSOa/NAX8A+qkqZNpcFAlxA==", - "dev": true, - "requires": { - "eventemitter3": "4.0.4", - "web3-core-helpers": "1.10.4", - "websocket": "^1.0.32" - } } } }, - "web3-core-subscriptions": { + "web3-eth-iban": { "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.10.4.tgz", - "integrity": "sha512-o0lSQo/N/f7/L76C0HV63+S54loXiE9fUPfHFcTtpJRQNDBVsSDdWRdePbWwR206XlsBqD5VHApck1//jEafTw==", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.10.4.tgz", + "integrity": "sha512-0gE5iNmOkmtBmbKH2aTodeompnNE8jEyvwFJ6s/AF6jkw9ky9Op9cqfzS56AYAbrqEFuClsqB/AoRves7LDELw==", "dev": true, "requires": { - "eventemitter3": "4.0.4", + "bn.js": "^5.2.1", + "web3-utils": "1.10.4" + } + }, + "web3-net": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.10.4.tgz", + "integrity": "sha512-mKINnhOOnZ4koA+yV2OT5s5ztVjIx7IY9a03w6s+yao/BUn+Luuty0/keNemZxTr1E8Ehvtn28vbOtW7Ids+Ow==", + "dev": true, + "requires": { + "web3-core": "1.10.4", + "web3-core-method": "1.10.4", + "web3-utils": "1.10.4" + } + }, + "web3-providers-http": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.10.4.tgz", + "integrity": "sha512-m2P5Idc8hdiO0l60O6DSCPw0kw64Zgi0pMjbEFRmxKIck2Py57RQMu4bxvkxJwkF06SlGaEQF8rFZBmuX7aagQ==", + "dev": true, + "requires": { + "abortcontroller-polyfill": "^1.7.5", + "cross-fetch": "^4.0.0", + "es6-promise": "^4.2.8", + "web3-core-helpers": "1.10.4" + } + }, + "web3-providers-ipc": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.10.4.tgz", + "integrity": "sha512-YRF/bpQk9z3WwjT+A6FI/GmWRCASgd+gC0si7f9zbBWLXjwzYAKG73bQBaFRAHex1hl4CVcM5WUMaQXf3Opeuw==", + "dev": true, + "requires": { + "oboe": "2.1.5", "web3-core-helpers": "1.10.4" + } + }, + "web3-providers-ws": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.10.4.tgz", + "integrity": "sha512-j3FBMifyuFFmUIPVQR4pj+t5ILhAexAui0opgcpu9R5LxQrLRUZxHSnU+YO25UycSOa/NAX8A+qkqZNpcFAlxA==", + "dev": true, + "requires": { + "eventemitter3": "4.0.4", + "web3-core-helpers": "1.10.4", + "websocket": "^1.0.32" }, "dependencies": { "eventemitter3": { @@ -35624,44 +40556,12 @@ "web3-core-method": "1.10.4", "web3-core-subscriptions": "1.10.4", "web3-net": "1.10.4" - }, - "dependencies": { - "@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", - "dev": true - }, - "web3-core": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.10.4.tgz", - "integrity": "sha512-B6elffYm81MYZDTrat7aEhnhdtVE3lDBUZft16Z8awYMZYJDbnykEbJVS+l3mnA7AQTnSDr/1MjWofGDLBJPww==", - "dev": true, - "requires": { - "@types/bn.js": "^5.1.1", - "@types/node": "^12.12.6", - "bignumber.js": "^9.0.0", - "web3-core-helpers": "1.10.4", - "web3-core-method": "1.10.4", - "web3-core-requestmanager": "1.10.4", - "web3-utils": "1.10.4" - } - }, - "web3-net": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.10.4.tgz", - "integrity": "sha512-mKINnhOOnZ4koA+yV2OT5s5ztVjIx7IY9a03w6s+yao/BUn+Luuty0/keNemZxTr1E8Ehvtn28vbOtW7Ids+Ow==", - "dev": true, - "requires": { - "web3-core": "1.10.4", - "web3-core-method": "1.10.4", - "web3-utils": "1.10.4" - } - } } }, "web3-utils": { "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.4.tgz", + "integrity": "sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A==", "requires": { "@ethereumjs/util": "^8.1.0", "bn.js": "^5.2.1", @@ -35674,13 +40574,19 @@ }, "dependencies": { "@noble/hashes": { - "version": "1.4.0" + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", + "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==" }, "@scure/base": { - "version": "1.1.6" + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.9.tgz", + "integrity": "sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg==" }, "@scure/bip32": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.4.0.tgz", + "integrity": "sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==", "requires": { "@noble/curves": "~1.4.0", "@noble/hashes": "~1.4.0", @@ -35689,15 +40595,19 @@ }, "@scure/bip39": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.3.0.tgz", + "integrity": "sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==", "requires": { "@noble/hashes": "~1.4.0", "@scure/base": "~1.1.6" } }, "ethereum-cryptography": { - "version": "2.2.0", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.2.1.tgz", + "integrity": "sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==", "requires": { - "@noble/curves": "1.4.0", + "@noble/curves": "1.4.2", "@noble/hashes": "1.4.0", "@scure/bip32": "1.4.0", "@scure/bip39": "1.3.0" @@ -35707,10 +40617,14 @@ }, "webidl-conversions": { "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", "dev": true }, "websocket": { "version": "1.0.35", + "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.35.tgz", + "integrity": "sha512-/REy6amwPZl44DDzvRCkaI1q1bIiQB0mEFQLUrhz3z2EK91cp3n72rAjUlrTP0zV22HJIUOVHQGPxhFRjxjt+Q==", "requires": { "bufferutil": "^4.0.1", "debug": "^2.2.0", @@ -35722,17 +40636,23 @@ "dependencies": { "debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "requires": { "ms": "2.0.0" } }, "ms": { - "version": "2.0.0" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" } } }, "whatwg-encoding": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", "dev": true, "requires": { "iconv-lite": "0.4.24" @@ -35740,6 +40660,8 @@ "dependencies": { "iconv-lite": { "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "requires": { "safer-buffer": ">= 2.1.2 < 3" @@ -35749,10 +40671,14 @@ }, "whatwg-mimetype": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", "dev": true }, "whatwg-url": { "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", "dev": true, "requires": { "lodash": "^4.7.0", @@ -35762,18 +40688,24 @@ }, "wherearewe": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wherearewe/-/wherearewe-1.0.2.tgz", + "integrity": "sha512-HyLZ7n1Yox+w1qWaFEgP/sMs5D7ka2UXmoVNaY0XzbEHLGljo4ScBchYm6cWRYNO33tmFX3Mgg4BiZkDOjihyw==", "requires": { "is-electron": "^2.2.0" } }, "which": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "requires": { "isexe": "^2.0.0" } }, "which-boxed-primitive": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", "dev": true, "peer": true, "requires": { @@ -35785,26 +40717,31 @@ } }, "which-builtin-type": { - "version": "1.1.3", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.0.tgz", + "integrity": "sha512-I+qLGQ/vucCby4tf5HsLmGueEla4ZhwTBSqaooS+Y0BuxN4Cp+okmGuV+8mXZ84KDI9BA+oklo+RzKg0ONdSUA==", "dev": true, "peer": true, "requires": { - "function.prototype.name": "^1.1.5", - "has-tostringtag": "^1.0.0", + "call-bind": "^1.0.7", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", "is-async-function": "^2.0.0", "is-date-object": "^1.0.5", - "is-finalizationregistry": "^1.0.2", + "is-finalizationregistry": "^1.1.0", "is-generator-function": "^1.0.10", "is-regex": "^1.1.4", "is-weakref": "^1.0.2", "isarray": "^2.0.5", "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.9" + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.15" } }, "which-collection": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", "dev": true, "peer": true, "requires": { @@ -35816,10 +40753,14 @@ }, "which-module": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", "dev": true }, "which-typed-array": { - "version": "1.1.15", + "version": "1.1.16", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.16.tgz", + "integrity": "sha512-g+N+GAWiRj66DngFwHvISJd+ITsyphZvD1vChfVg6cEdnzy53GzB3oy0fUNlvhz7H7+MiqhYr26qxQShCpKTTQ==", "dev": true, "requires": { "available-typed-arrays": "^1.0.7", @@ -35831,31 +40772,39 @@ }, "widest-line": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", "requires": { "string-width": "^4.0.0" } }, "winston": { - "version": "3.13.0", + "version": "3.17.0", + "resolved": "https://registry.npmjs.org/winston/-/winston-3.17.0.tgz", + "integrity": "sha512-DLiFIXYC5fMPxaRg832S6F5mJYvePtmO5G9v9IgUFPhXm9/GkXarH/TUrBAVzhTCzAj9anE/+GjrgXp/54nOgw==", "requires": { "@colors/colors": "^1.6.0", "@dabh/diagnostics": "^2.0.2", "async": "^3.2.3", "is-stream": "^2.0.0", - "logform": "^2.4.0", + "logform": "^2.7.0", "one-time": "^1.0.0", "readable-stream": "^3.4.0", "safe-stable-stringify": "^2.3.1", "stack-trace": "0.0.x", "triple-beam": "^1.3.0", - "winston-transport": "^4.7.0" + "winston-transport": "^4.9.0" }, "dependencies": { "@colors/colors": { - "version": "1.6.0" + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz", + "integrity": "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==" }, "readable-stream": { "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -35865,15 +40814,19 @@ } }, "winston-transport": { - "version": "4.7.0", + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.9.0.tgz", + "integrity": "sha512-8drMJ4rkgaPo1Me4zD/3WLfI/zPdA9o2IipKODunnGDcuqbHwjsbB79ylv04LCGGzU0xQ6vTznOMpQGaLhhm6A==", "requires": { - "logform": "^2.3.2", - "readable-stream": "^3.6.0", + "logform": "^2.7.0", + "readable-stream": "^3.6.2", "triple-beam": "^1.3.0" }, "dependencies": { "readable-stream": { "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -35884,18 +40837,26 @@ }, "wkx": { "version": "0.5.0", + "resolved": "https://registry.npmjs.org/wkx/-/wkx-0.5.0.tgz", + "integrity": "sha512-Xng/d4Ichh8uN4l0FToV/258EjMGU9MGcA0HV2d9B/ZpZB3lqQm7nkOdZdm5GhKtLLhAE7PiVQwN4eN+2YJJUg==", "requires": { "@types/node": "*" } }, "word-wrap": { - "version": "1.2.5" + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==" }, "workerpool": { - "version": "6.2.1" + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz", + "integrity": "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==" }, "wrap-ansi": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "requires": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -35903,10 +40864,14 @@ } }, "wrappy": { - "version": "1.0.2" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, "write-file-atomic": { "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", "dev": true, "requires": { "imurmurhash": "^0.1.4", @@ -35987,29 +40952,41 @@ }, "xml-name-validator": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", "dev": true }, "xml2js": { "version": "0.5.0", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", + "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", "requires": { "sax": ">=0.6.0", "xmlbuilder": "~11.0.0" }, "dependencies": { "xmlbuilder": { - "version": "11.0.1" + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" } } }, "xmlbuilder": { "version": "15.1.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz", + "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==", "dev": true }, "xmlchars": { - "version": "2.2.0" + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" }, "xsalsa20": { - "version": "1.2.0" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/xsalsa20/-/xsalsa20-1.2.0.tgz", + "integrity": "sha512-FIr/DEeoHfj7ftfylnoFt3rAIRoWXpx2AoDfrT2qD2wtp7Dp+COajvs/Icb7uHqRW9m60f5iXZwdsJJO3kvb7w==" }, "xtend": { "version": "4.0.2", @@ -36018,21 +40995,31 @@ "dev": true }, "y18n": { - "version": "5.0.8" + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" }, "yaeti": { - "version": "0.0.6" + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", + "integrity": "sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug==" }, "yallist": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true }, "yaml": { "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", "dev": true }, "yargs": { "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "requires": { "cliui": "^8.0.1", "escalade": "^3.1.1", @@ -36044,15 +41031,21 @@ }, "dependencies": { "yargs-parser": { - "version": "21.1.1" + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" } } }, "yargs-parser": { - "version": "20.2.4" + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" }, "yargs-unparser": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", "requires": { "camelcase": "^6.0.0", "decamelize": "^4.0.0", @@ -36061,18 +41054,26 @@ }, "dependencies": { "decamelize": { - "version": "4.0.0" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==" } } }, "yn": { - "version": "3.1.1" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==" }, "yocto-queue": { - "version": "0.1.0" + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" }, "yup": { "version": "0.32.11", + "resolved": "https://registry.npmjs.org/yup/-/yup-0.32.11.tgz", + "integrity": "sha512-Z2Fe1bn+eLstG8DRR6FTavGD+MeAwyfmouhHsIUgaADz8jvFKbO/fXc2trJKZg+5EBjh4gGm3iU/t3onKlXHIg==", "dev": true, "requires": { "@babel/runtime": "^7.15.4", @@ -36086,6 +41087,8 @@ }, "zksync-web3": { "version": "0.14.4", + "resolved": "https://registry.npmjs.org/zksync-web3/-/zksync-web3-0.14.4.tgz", + "integrity": "sha512-kYehMD/S6Uhe1g434UnaMN+sBr9nQm23Ywn0EUP5BfQCsbjcr3ORuS68PosZw8xUTu3pac7G6YMSnNHk+fwzvg==", "requires": {} } } diff --git a/package.json b/package.json index bf483d956c..89310f0ce2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "origintrail_node", - "version": "8.1.2+beta.0", + "version": "8.0.0-beta.6", "description": "OTNode V8", "main": "index.js", "type": "module", @@ -74,14 +74,14 @@ "@polkadot/util": "^10.1.7", "@polkadot/util-crypto": "^10.1.7", "app-root-path": "^3.1.0", - "assertion-tools": "^2.0.2", + "assertion-tools": "^8.0.0-alpha.2", "async": "^3.2.4", "async-mutex": "^0.3.2", "awilix": "^7.0.3", "axios": "^1.6.0", "cors": "^2.8.5", "deep-extend": "^0.6.0", - "dkg-evm-module": "^8.0.1-alpha.1", + "dkg-evm-module": "^8.0.2-alpha.0", "dotenv": "^16.0.1", "ethers": "^5.7.2", "express": "^4.18.1", diff --git a/scripts/copy-assertions.js b/scripts/copy-assertions.js index a107f6a88b..867655c111 100644 --- a/scripts/copy-assertions.js +++ b/scripts/copy-assertions.js @@ -109,7 +109,7 @@ const copyAssertion = async (g) => { } try { - await tripleStoreModuleManager.insertAssertion( + await tripleStoreModuleManager.insertKnowledgeCollection( toImplementation, toRepository, g.substring('assertion:'.length), diff --git a/src/commands/blockchain-event-listener/blockchain-event-listener-command.js b/src/commands/blockchain-event-listener/blockchain-event-listener-command.js new file mode 100644 index 0000000000..79da901904 --- /dev/null +++ b/src/commands/blockchain-event-listener/blockchain-event-listener-command.js @@ -0,0 +1,529 @@ +import Command from '../command.js'; +import { + CONTRACTS, + MONITORED_CONTRACT_EVENTS, + CONTRACT_INDEPENDENT_EVENTS, + ERROR_TYPE, + OPERATION_ID_STATUS, + MONITORED_CONTRACTS, + MONITORED_EVENTS, +} from '../../constants/constants.js'; + +class BlockchainEventListenerCommand extends Command { + constructor(ctx) { + super(ctx); + this.blockchainModuleManager = ctx.blockchainModuleManager; + this.repositoryModuleManager = ctx.repositoryModuleManager; + this.ualService = ctx.ualService; + this.hashingService = ctx.hashingService; + this.shardingTableService = ctx.shardingTableService; + this.blockchainEventsService = ctx.blockchainEventsService; + this.fileService = ctx.fileService; + this.operationIdService = ctx.operationIdService; + this.commandExecutor = ctx.commandExecutor; + + this.invalidatedContracts = new Set(); + + this.errorType = ERROR_TYPE.BLOCKCHAIN_EVENT_LISTENER_ERROR; + } + + async execute(command) { + const { blockchainId } = command.data; + + const repositoryTransaction = await this.repositoryModuleManager.transaction(); + + try { + await this.fetchAndHandleBlockchainEvents(blockchainId, repositoryTransaction); + await repositoryTransaction.commit(); + } catch (e) { + this.logger.error( + `Failed to fetch and process blockchain events for blockchain: ${blockchainId}. Error: ${e}`, + ); + await repositoryTransaction.rollback(); + + return Command.repeat(); + } + + await this.repositoryModuleManager.markAllBlockchainEventsAsProcessed(blockchainId); + + return Command.empty(); + } + + async fetchAndHandleBlockchainEvents(blockchainId, repositoryTransaction) { + this.currentBlock = (await this.blockchainEventsService.getBlock(blockchainId)).number; + const lastCheckedBlockRecord = await this.repositoryModuleManager.getLastCheckedBlock( + blockchainId, + { transaction: repositoryTransaction }, + ); + + const { events: newEvents, eventsMissed } = + await this.blockchainEventsService.getPastEvents( + blockchainId, + MONITORED_CONTRACTS, + MONITORED_EVENTS, + lastCheckedBlockRecord?.lastCheckedBlock ?? 0, + this.currentBlock, + ); + + if (eventsMissed) { + // TODO: Add some logic for missed events in the future + } + + if (newEvents.length !== 0) { + this.logger.trace( + `Storing ${newEvents.length} new events for blockchain ${blockchainId} in the database.`, + ); + await this.repositoryModuleManager.insertBlockchainEvents(newEvents, { + transaction: repositoryTransaction, + }); + await this.repositoryModuleManager.updateLastCheckedBlock( + blockchainId, + this.currentBlock, + Date.now(), + { transaction: repositoryTransaction }, + ); + } + + const unprocessedEvents = + await this.repositoryModuleManager.getAllUnprocessedBlockchainEvents( + blockchainId, + MONITORED_EVENTS, + { transaction: repositoryTransaction }, + ); + + if (unprocessedEvents.length > 0) { + this.logger.trace( + `Handling ${unprocessedEvents.length} unprocessed blockchain events.`, + ); + } + + this.independentEvents = []; + this.dependentEvents = []; + for (const event of unprocessedEvents) { + if (this.isIndependentEvent(event.contract, event.event)) { + this.independentEvents.push(event); + } else { + this.dependentEvents.push(event); + } + } + + this.dependentEvents.sort((a, b) => { + if (a.blockNumber !== b.blockNumber) { + return a.blockNumber - b.blockNumber; + } + if (a.transactionIndex !== b.transactionIndex) { + return a.transactionIndex - b.transactionIndex; + } + return a.logIndex - b.logIndex; + }); + + await Promise.all([ + this.processIndependentEvents(repositoryTransaction), + this.processDependentEvents(repositoryTransaction), + ]); + } + + isIndependentEvent(contractName, eventName) { + const contractIndependentEvents = CONTRACT_INDEPENDENT_EVENTS[contractName] || []; + return contractIndependentEvents.includes(eventName); + } + + async processIndependentEvents(repositoryTransaction) { + await Promise.all( + this.independentEvents.map((event) => this.processEvent(event, repositoryTransaction)), + ); + } + + async processDependentEvents(repositoryTransaction) { + let index = 0; + + while (index < this.dependentEvents.length) { + const event = this.dependentEvents[index]; + + // Step 1: Handle invalidated contracts + if (this.invalidatedContracts.has(event.contractAddress)) { + this.logger.info( + `Skipping event ${event.event} for blockchain: ${event.blockchain}, ` + + `invalidated contract: ${event.contract} (${event.contractAddress})`, + ); + + this.dependentEvents.splice(index, 1); // Remove the invalidated event + continue; // Restart the loop with the updated array + } + + // Step 2: Handle new dependent events + if (this.newDependentEvents?.length > 0) { + this.logger.info( + `Adding ${this.newDependentEvents.length} new dependent events before processing.`, + ); + + // Merge new events into the unprocessed part of the array + const combinedEvents = [ + ...this.dependentEvents.slice(index), // Unprocessed events + ...this.newDependentEvents, // New events + ].sort((a, b) => { + if (a.blockNumber !== b.blockNumber) { + return a.blockNumber - b.blockNumber; + } + if (a.transactionIndex !== b.transactionIndex) { + return a.transactionIndex - b.transactionIndex; + } + return a.logIndex - b.logIndex; + }); + + // Update dependentEvents: add back processed events + sorted combined events + this.dependentEvents = [...this.dependentEvents.slice(0, index), ...combinedEvents]; + + // Reset the new events buffer + this.newDependentEvents = []; + } + + // Step 3: Process the current event + // eslint-disable-next-line no-await-in-loop + await this.processEvent(event, repositoryTransaction); + + index += 1; // Move to the next event + } + + // Clear invalidated contracts after processing + this.invalidatedContracts.clear(); + } + + async processEvent(event, repositoryTransaction) { + const handlerFunctionName = `handle${event.event}Event`; + + if (typeof this[handlerFunctionName] !== 'function') { + this.logger.warn(`No handler for event type: ${event.event}`); + return; + } + + this.logger.trace(`Processing event ${event.event} in block ${event.blockNumber}.`); + try { + await this[handlerFunctionName](event, repositoryTransaction); + } catch (error) { + this.logger.error( + `Error processing event ${event.event} in block ${event.blockNumber}: ${error.message}`, + ); + } + } + + async handleParameterChangedEvent(event) { + const { blockchainId, contract, data } = event; + const { parameterName, parameterValue } = JSON.parse(data); + switch (contract) { + case CONTRACTS.PARAMETERS_STORAGE: + this.blockchainModuleManager.setContractCallCache( + blockchainId, + CONTRACTS.PARAMETERS_STORAGE, + parameterName, + parameterValue, + ); + break; + default: + this.logger.warn( + `Unable to handle parameter changed event. Unknown contract name ${event.contract}`, + ); + } + } + + async handleNewContractEvent(event, repositoryTransaction) { + const { contractName, newContractAddress } = JSON.parse(event.data); + + const blockchchainModuleContractAddress = this.blockchainModuleManager.getContractAddress( + event.blockchain, + contractName, + ); + + if (newContractAddress !== blockchchainModuleContractAddress) { + this.blockchainModuleManager.initializeContract( + event.blockchain, + contractName, + newContractAddress, + ); + } + + const blockchainEventsServiceContractAddress = + this.blockchainEventsService.getContractAddress(event.blockchain, contractName); + + if ( + blockchainEventsServiceContractAddress && + newContractAddress !== blockchainEventsServiceContractAddress + ) { + this.blockchainEventsService.updateContractAddress( + event.blockchain, + contractName, + newContractAddress, + ); + + this.invalidatedContracts.add(blockchainEventsServiceContractAddress); + + await this.repositoryModuleManager.removeContractEventsAfterBlock( + event.blockchain, + contractName, + event.contractAddress, + event.blockNumber, + event.transactionIndex, + { transaction: repositoryTransaction }, + ); + + const { events: newEvents } = await this.blockchainEventsService.getPastEvents( + event.blockchain, + [contractName], + MONITORED_CONTRACT_EVENTS[contractName], + event.blockNumber, + this.currentBlock, + ); + + if (newEvents.length !== 0) { + this.logger.trace( + `Storing ${newEvents.length} new events for blockchain ${event.blockchain} in the database.`, + ); + await this.repositoryModuleManager.insertBlockchainEvents(newEvents, { + transaction: repositoryTransaction, + }); + + this.newDependentEvents = newEvents; + } + } + } + + async handleContractChangedEvent(event, repositoryTransaction) { + const { contractName, newContractAddress } = JSON.parse(event.data); + + const blockchchainModuleContractAddress = this.blockchainModuleManager.getContractAddress( + event.blockchain, + contractName, + ); + + if (newContractAddress !== blockchchainModuleContractAddress) { + this.blockchainModuleManager.initializeContract( + event.blockchain, + contractName, + newContractAddress, + ); + } + + const blockchainEventsServiceContractAddress = + this.blockchainEventsService.getContractAddress(event.blockchain, contractName); + + if ( + blockchainEventsServiceContractAddress && + newContractAddress !== blockchainEventsServiceContractAddress + ) { + this.blockchainEventsService.updateContractAddress( + event.blockchain, + contractName, + newContractAddress, + ); + + this.invalidatedContracts.add(blockchainEventsServiceContractAddress); + + await this.repositoryModuleManager.removeContractEventsAfterBlock( + event.blockchain, + contractName, + event.contractAddress, + event.blockNumber, + event.transactionIndex, + { transaction: repositoryTransaction }, + ); + + const { events: newEvents } = await this.blockchainEventsService.getPastEvents( + event.blockchain, + [contractName], + MONITORED_CONTRACT_EVENTS[contractName], + event.blockNumber, + this.currentBlock, + ); + + if (newEvents.length !== 0) { + this.logger.trace( + `Storing ${newEvents.length} new events for blockchain ${event.blockchain} in the database.`, + ); + await this.repositoryModuleManager.insertBlockchainEvents(newEvents, { + transaction: repositoryTransaction, + }); + + this.newDependentEvents = newEvents; + } + } + } + + async handleNewAssetStorageEvent(event, repositoryTransaction) { + const { contractName, newContractAddress } = JSON.parse(event.data); + + const blockchchainModuleContractAddress = this.blockchainModuleManager.getContractAddress( + event.blockchain, + contractName, + ); + + if (newContractAddress !== blockchchainModuleContractAddress) { + this.blockchainModuleManager.initializeAssetStorageContract( + event.blockchain, + newContractAddress, + ); + } + + const blockchainEventsServiceContractAddress = + this.blockchainEventsService.getContractAddress(event.blockchain, contractName); + + if ( + blockchainEventsServiceContractAddress && + newContractAddress !== blockchainEventsServiceContractAddress + ) { + this.blockchainEventsService.updateContractAddress( + event.blockchain, + contractName, + newContractAddress, + ); + + this.invalidatedContracts.add(blockchainEventsServiceContractAddress); + + await this.repositoryModuleManager.removeContractEventsAfterBlock( + event.blockchain, + contractName, + event.contractAddress, + event.blockNumber, + event.transactionIndex, + { transaction: repositoryTransaction }, + ); + + const { events: newEvents } = await this.blockchainEventsService.getPastEvents( + event.blockchain, + [contractName], + MONITORED_CONTRACT_EVENTS[contractName], + event.blockNumber, + this.currentBlock, + ); + + if (newEvents.length !== 0) { + this.logger.trace( + `Storing ${newEvents.length} new events for blockchain ${event.blockchain} in the database.`, + ); + await this.repositoryModuleManager.insertBlockchainEvents(newEvents, { + transaction: repositoryTransaction, + }); + + this.newDependentEvents = newEvents; + } + } + } + + async handleAssetStorageChangedEvent(event, repositoryTransaction) { + const { contractName, newContractAddress } = JSON.parse(event.data); + + const blockchchainModuleContractAddress = this.blockchainModuleManager.getContractAddress( + event.blockchain, + contractName, + ); + + if (newContractAddress !== blockchchainModuleContractAddress) { + this.blockchainModuleManager.initializeAssetStorageContract( + event.blockchain, + newContractAddress, + ); + } + + const blockchainEventsServiceContractAddress = + this.blockchainEventsService.getContractAddress(event.blockchain, contractName); + + if ( + blockchainEventsServiceContractAddress && + newContractAddress !== blockchainEventsServiceContractAddress + ) { + this.blockchainEventsService.updateContractAddress( + event.blockchain, + contractName, + newContractAddress, + ); + + this.invalidatedContracts.add(blockchainEventsServiceContractAddress); + + await this.repositoryModuleManager.removeContractEventsAfterBlock( + event.blockchain, + contractName, + event.contractAddress, + event.blockNumber, + event.transactionIndex, + { transaction: repositoryTransaction }, + ); + + const { events: newEvents } = await this.blockchainEventsService.getPastEvents( + event.blockchain, + [contractName], + MONITORED_CONTRACT_EVENTS[contractName], + event.blockNumber, + this.currentBlock, + ); + + if (newEvents.length !== 0) { + this.logger.trace( + `Storing ${newEvents.length} new events for blockchain ${event.blockchain} in the database.`, + ); + await this.repositoryModuleManager.insertBlockchainEvents(newEvents, { + transaction: repositoryTransaction, + }); + + this.newDependentEvents = newEvents; + } + } + } + + async handleAssetMintedEvent(event) { + const eventData = JSON.parse(event.data); + + const { assetContract, tokenId, state, publishOperationId } = eventData; + const { blockchain } = event; + + const operationId = await this.operationIdService.generateOperationId( + OPERATION_ID_STATUS.PUBLISH_FINALIZATION.PUBLISH_FINALIZATION_START, + ); + + const datasetPath = this.fileService.getPendingStorageDocumentPath(publishOperationId); + + const data = await this.fileService.readFile(datasetPath, true); + + const ual = this.ualService.deriveUAL(blockchain, assetContract, tokenId); + + await this.commandExecutor.add({ + name: 'validateAssertionMetadataCommand', + sequence: ['storeAssertionCommand'], + delay: 0, + data: { + operationId, + ual, + blockchain, + contract: assetContract, + tokenId, + merkleRoot: state, + assertion: data.assertion, + cachedMerkleRoot: data.merkleRoot, + }, + transactional: false, + }); + } + + /** + * Recover system from failure + * @param error + */ + async recover() { + return Command.repeat(); + } + + /** + * Builds default BlockchainEventListenerCommand + * @param map + * @returns {{add, data: *, delay: *, deadline: *}} + */ + default(map) { + const command = { + name: 'blockchainEventListenerCommand', + data: {}, + transactional: false, + }; + Object.assign(command, map); + return command; + } +} + +export default BlockchainEventListenerCommand; diff --git a/src/commands/blockchain-event-listener/event-listener-command.js b/src/commands/blockchain-event-listener/event-listener-command.js new file mode 100644 index 0000000000..ddd0408cdd --- /dev/null +++ b/src/commands/blockchain-event-listener/event-listener-command.js @@ -0,0 +1,85 @@ +import Command from '../command.js'; +import { + CONTRACT_EVENT_FETCH_INTERVALS, + NODE_ENVIRONMENTS, + ERROR_TYPE, + COMMAND_PRIORITY, + MAXIMUM_FETCH_EVENTS_FAILED_COUNT, +} from '../../constants/constants.js'; + +class EventListenerCommand extends Command { + constructor(ctx) { + super(ctx); + this.commandExecutor = ctx.commandExecutor; + this.blockchainModuleManager = ctx.blockchainModuleManager; + + this.errorType = ERROR_TYPE.EVENT_LISTENER_ERROR; + } + + calculateCommandPeriod() { + const isDevEnvironment = [NODE_ENVIRONMENTS.DEVELOPMENT, NODE_ENVIRONMENTS.TEST].includes( + process.env.NODE_ENV, + ); + + return isDevEnvironment + ? CONTRACT_EVENT_FETCH_INTERVALS.DEVELOPMENT + : CONTRACT_EVENT_FETCH_INTERVALS.MAINNET; + } + + async execute() { + this.logger.info('Event Listener: Starting event listener command.'); + + await Promise.all( + this.blockchainModuleManager.getImplementationNames().map(async (blockchainId) => { + const commandData = { blockchainId }; + + return this.commandExecutor.add({ + name: 'blockchainEventListenerCommand', + data: commandData, + retries: MAXIMUM_FETCH_EVENTS_FAILED_COUNT, + priority: COMMAND_PRIORITY.HIGHEST, + isBlocking: true, + transactional: false, + }); + }), + ); + + if (!this.blockchainModuleManager.getImplementationNames().length) { + this.logger.error(`No blockchain implementations. OT-node shutting down...`); + process.exit(1); + } + + return Command.repeat(); + } + + /** + * Recover system from failure + * @param command + * @param error + */ + async recover(command) { + this.logger.warn(`Failed to execute ${command.name}. Error: ${command.message}`); + + return Command.repeat(); + } + + /** + * Builds default eventListenerCommand + * @param map + * @returns {{add, data: *, delay: *, deadline: *}} + */ + default(map) { + const command = { + name: 'eventListenerCommand', + delay: 0, + data: {}, + transactional: false, + period: this.calculateCommandPeriod(), + priority: COMMAND_PRIORITY.HIGHEST, + }; + Object.assign(command, map); + return command; + } +} + +export default EventListenerCommand; diff --git a/src/commands/cleaners/pending-storage-cleaner-command.js b/src/commands/cleaners/pending-storage-cleaner-command.js new file mode 100644 index 0000000000..df9dfd4431 --- /dev/null +++ b/src/commands/cleaners/pending-storage-cleaner-command.js @@ -0,0 +1,63 @@ +import Command from '../command.js'; +import { + PUBLISH_STORAGE_MEMORY_CLEANUP_COMMAND_CLEANUP_TIME_MILLS, + PUBLISH_STORAGE_FILE_CLEANUP_COMMAND_CLEANUP_TIME_MILLS, + PENDING_STORAGE_FILES_FOR_REMOVAL_MAX_NUMBER, +} from '../../constants/constants.js'; + +/** + * Cleans memory cache in the pending storage service + */ +class PendingStorageCleanerCommand extends Command { + constructor(ctx) { + super(ctx); + this.logger = ctx.logger; + this.pendingStorageService = ctx.pendingStorageService; + } + + /** + * Executes command and produces one or more events + * @param command + */ + async execute() { + this.logger.debug('Starting command for removal of expired pending storage entries'); + + const removed = await this.pendingStorageService.removeExpiredFileCache( + PUBLISH_STORAGE_FILE_CLEANUP_COMMAND_CLEANUP_TIME_MILLS, + PENDING_STORAGE_FILES_FOR_REMOVAL_MAX_NUMBER, + ); + if (removed) { + this.logger.debug(`Successfully removed ${removed} expired cached operation files`); + } + + return Command.repeat(); + } + + /** + * Recover system from failure + * @param command + * @param error + */ + async recover(command) { + this.logger.warn(`Failed to clean pending storage: error: ${command.message}`); + return Command.repeat(); + } + + /** + * Builds default command + * @param map + * @returns {{add, data: *, delay: *, deadline: *}} + */ + default(map) { + const command = { + name: 'pendingStorageCleanerCommand', + period: PUBLISH_STORAGE_MEMORY_CLEANUP_COMMAND_CLEANUP_TIME_MILLS, + data: {}, + transactional: false, + }; + Object.assign(command, map); + return command; + } +} + +export default PendingStorageCleanerCommand; diff --git a/src/commands/command-executor.js b/src/commands/command-executor.js index 17def90862..1ba07d9934 100644 --- a/src/commands/command-executor.js +++ b/src/commands/command-executor.js @@ -7,6 +7,7 @@ import { COMMAND_STATUS, DEFAULT_COMMAND_DELAY_IN_MILLS, COMMAND_QUEUE_PARALLELISM, + DEFAULT_COMMAND_PRIORITY, } from '../constants/constants.js'; /** @@ -20,7 +21,7 @@ class CommandExecutor { this.repositoryModuleManager = ctx.repositoryModuleManager; this.verboseLoggingEnabled = ctx.config.commandExecutorVerboseLoggingEnabled; - this.queue = async.queue((command, callback = () => {}) => { + this.queue = async.priorityQueue((command, callback = () => {}) => { this._execute(command) .then((result) => { callback(result); @@ -73,6 +74,7 @@ class CommandExecutor { async _execute(executeCommand) { const command = executeCommand; const now = Date.now(); + await this._update(command, { startedAt: now, }); @@ -81,7 +83,7 @@ class CommandExecutor { commandId: command.id, commandName: command.name, }; - if (command.data && command.data.operationId) { + if (command.data?.operationId) { commandContext.operationId = command.data.operationId; } const loggerWithContext = this.logger.child(commandContext); @@ -263,7 +265,13 @@ class CommandExecutor { handler.logger.warn(`Command will not be executed.`); return; } - await this.add(handler.default(), DEFAULT_COMMAND_DELAY_IN_MILLS, true); + + if (['eventListenerCommand', 'shardingTableCheckCommand'].includes(name)) { + await this.add(handler.default(), 0, true); + } else { + await this.add(handler.default(), DEFAULT_COMMAND_DELAY_IN_MILLS, true); + } + if (this.verboseLoggingEnabled) { handler.logger.trace(`Permanent command created.`); } @@ -277,10 +285,33 @@ class CommandExecutor { */ async add(addCommand, addDelay, insert = true) { let command = addCommand; + + if (command.isBlocking) { + // Check the db to see if there are unfinalized instances of the same command + const unfinalizedBlockingCommands = + await this.repositoryModuleManager.findUnfinalizedCommandsByName(command.name); + + for (const unfinalizedCommand of unfinalizedBlockingCommands) { + if (command.id && command.id === unfinalizedCommand.id) { + if (insert) { + this.logger.warn(`Inserting duplicate of command ${command.id}!`); + } + continue; + } + + if (JSON.stringify(unfinalizedCommand.data) === JSON.stringify(command.data)) { + this.logger.info( + `Skipping blocking command: ${command.name} because of unfinalized instance of this command with id: ${unfinalizedCommand.id}`, + ); + return; + } + } + } + let delay = addDelay ?? 0; if (delay > MAX_COMMAND_DELAY_IN_MILLS) { - if (command.readyAt == null) { + if (!command.readyAt) { command.readyAt = Date.now(); } command.readyAt += delay; @@ -290,16 +321,19 @@ class CommandExecutor { if (insert) { command = await this._insert(command); } + + const commandPriority = command.priority ?? DEFAULT_COMMAND_PRIORITY; + if (delay) { setTimeout( (timeoutCommand) => { - this.queue.push(timeoutCommand); + this.queue.push(timeoutCommand, commandPriority); }, delay, command, ); } else { - this.queue.push(command); + this.queue.push(command, commandPriority); } } @@ -311,7 +345,7 @@ class CommandExecutor { */ async _handleRetry(retryCommand, handler) { const command = retryCommand; - if (command.retries > 1) { + if (command.retries && command.retries > 1) { command.data = handler.pack(command.data); await this._update(command, { status: COMMAND_STATUS.PENDING, @@ -337,7 +371,7 @@ class CommandExecutor { * @private */ async _handleError(command, handler, error) { - if (command.retries > 0) { + if (command.retries && command.retries > 0) { await this._update(command, { retries: command.retries - 1, }); @@ -373,28 +407,27 @@ class CommandExecutor { [command.name] = command.sequence; command.sequence = command.sequence.slice(1); } - if (!command.readyAt) { - command.readyAt = Date.now(); // take current time - } - if (command.delay == null) { - command.delay = 0; - } - if (!command.transactional) { - command.transactional = 0; - } + + command.readyAt = command.readyAt || Date.now(); + command.delay = command.delay ?? 0; + command.transactional = command.transactional ?? 0; + command.priority = command.priority ?? DEFAULT_COMMAND_PRIORITY; + command.isBlocking = command.isBlocking ?? false; + command.status = COMMAND_STATUS.PENDING; + if (!command.data) { const commandInstance = this.commandResolver.resolve(command.name); if (commandInstance) { command.data = commandInstance.pack(command.data); } } - command.status = COMMAND_STATUS.PENDING; - const opts = {}; - if (transaction != null) { - opts.transaction = transaction; - } + + const opts = transaction ? { transaction } : {}; + const model = await this.repositoryModuleManager.createCommand(command, opts); + command.id = model.id; + return command; } @@ -442,6 +475,11 @@ class CommandExecutor { const commands = []; for (const command of pendingCommands) { + if (command?.isBlocking) { + commands.push(command); + continue; + } + if (!command?.parentId) { continue; } @@ -462,6 +500,8 @@ class CommandExecutor { id: commandModel.id, name: commandModel.name, data: commandModel.data, + priority: commandModel.priority ?? DEFAULT_COMMAND_PRIORITY, + isBlocking: commandModel.isBlocking ?? false, readyAt: commandModel.readyAt, delay: commandModel.delay, startedAt: commandModel.startedAt, diff --git a/src/commands/common/sharding-table-check-command.js b/src/commands/common/sharding-table-check-command.js index 1a3a02e274..049b1d439d 100644 --- a/src/commands/common/sharding-table-check-command.js +++ b/src/commands/common/sharding-table-check-command.js @@ -1,5 +1,8 @@ import Command from '../command.js'; -import { SHARDING_TABLE_CHECK_COMMAND_FREQUENCY_MINUTES } from '../../constants/constants.js'; +import { + COMMAND_PRIORITY, + SHARDING_TABLE_CHECK_COMMAND_FREQUENCY_MILLS, +} from '../../constants/constants.js'; class ShardingTableCheckCommand extends Command { constructor(ctx) { @@ -8,7 +11,7 @@ class ShardingTableCheckCommand extends Command { this.config = ctx.config; this.blockchainModuleManager = ctx.blockchainModuleManager; this.repositoryModuleManager = ctx.repositoryModuleManager; - this.hashingService = ctx.hashingService; + this.shardingTableService = ctx.shardingTableService; } /** @@ -17,6 +20,8 @@ class ShardingTableCheckCommand extends Command { * @param command */ async execute() { + const repositoryTransaction = await this.repositoryModuleManager.transaction(); + try { const promises = this.blockchainModuleManager .getImplementationNames() @@ -31,82 +36,17 @@ class ShardingTableCheckCommand extends Command { ); if (shardingTableLength !== totalNodesNumber) { - this.logger.debug( - `Sharding table check for blockchain ${blockchainId} - difference between local sharding table - (${totalNodesNumber} nodes) and blockchain sharding table (${shardingTableLength} nodes).`, - ); - this.logger.debug( - `Removing nodes from local sharding table for blockchain ${blockchainId}.`, - ); - await this.repositoryModuleManager.removeShardingTablePeerRecords( + return this.shardingTableService.pullBlockchainShardingTable( blockchainId, - ); - - let startingIdentityId = - await this.blockchainModuleManager.getShardingTableHead(blockchainId); - const pageSize = 10; - const shardingTable = []; - - this.logger.debug( - `Started pulling ${shardingTableLength} nodes from blockchain sharding table.`, - ); - - let sliceIndex = 0; - - while (shardingTable.length < shardingTableLength) { - // eslint-disable-next-line no-await-in-loop - const nodes = await this.blockchainModuleManager.getShardingTablePage( - blockchainId, - startingIdentityId, - pageSize, - ); - shardingTable.push( - ...nodes.slice(sliceIndex).filter((node) => node.nodeId !== '0x'), - ); - sliceIndex = 1; - startingIdentityId = nodes[nodes.length - 1].identityId; - } - - this.logger.debug( - `Finished pulling ${shardingTable.length} nodes from blockchain sharding table.`, - ); - - await this.repositoryModuleManager.createManyPeerRecords( - await Promise.all( - shardingTable.map(async (peer) => { - const nodeId = this.blockchainModuleManager.convertHexToAscii( - blockchainId, - peer.nodeId, - ); - - const sha256 = await this.hashingService.callHashFunction( - 1, - nodeId, - ); - - return { - peerId: nodeId, - blockchainId, - ask: this.blockchainModuleManager.convertFromWei( - blockchainId, - peer.ask, - 'ether', - ), - stake: this.blockchainModuleManager.convertFromWei( - blockchainId, - peer.stake, - 'ether', - ), - sha256, - }; - }), - ), + repositoryTransaction, ); } }); await Promise.all(promises); + await repositoryTransaction.commit(); } catch (error) { + await repositoryTransaction.rollback(); await this.handleError(error.message); } return Command.repeat(); @@ -132,7 +72,9 @@ class ShardingTableCheckCommand extends Command { name: 'shardingTableCheckCommand', delay: 0, data: {}, - period: SHARDING_TABLE_CHECK_COMMAND_FREQUENCY_MINUTES * 60 * 1000, + period: SHARDING_TABLE_CHECK_COMMAND_FREQUENCY_MILLS, + priority: COMMAND_PRIORITY.HIGHEST, + isBlocking: true, transactional: false, }; Object.assign(command, map); diff --git a/src/commands/common/validate-asset-command.js b/src/commands/common/validate-asset-command.js index 36a34aacd1..73014ee303 100644 --- a/src/commands/common/validate-asset-command.js +++ b/src/commands/common/validate-asset-command.js @@ -80,28 +80,6 @@ class ValidateAssetCommand extends Command { cachedData.public.assertion, ); - if (cachedData.private?.assertionId && cachedData.private?.assertion) { - this.logger.info( - `Validating asset's private assertion with id: ${cachedData.private.assertionId} ual: ${ual}`, - ); - - try { - this.validationService.validateAssertionId( - cachedData.private.assertion, - cachedData.private.assertionId, - ); - } catch (error) { - await this.handleError( - operationId, - blockchain, - error.message, - this.errorType, - true, - ); - return Command.empty(); - } - } - let paranetId; if (storeType === LOCAL_STORE_TYPES.TRIPLE_PARANET) { try { diff --git a/src/commands/local-store/local-store-command.js b/src/commands/local-store/local-store-command.js index a60a94a6d7..c2ea7d719c 100644 --- a/src/commands/local-store/local-store-command.js +++ b/src/commands/local-store/local-store-command.js @@ -2,11 +2,8 @@ import { OPERATION_ID_STATUS, ERROR_TYPE, LOCAL_STORE_TYPES, - PENDING_STORAGE_REPOSITORIES, - TRIPLE_STORE_REPOSITORIES, - LOCAL_INSERT_FOR_CURATED_PARANET_MAX_ATTEMPTS, - LOCAL_INSERT_FOR_CURATED_PARANET_RETRY_DELAY, - PARANET_SYNC_SOURCES, + OPERATION_REQUEST_STATUS, + NETWORK_MESSAGE_TYPES, } from '../../constants/constants.js'; import Command from '../command.js'; @@ -17,13 +14,14 @@ class LocalStoreCommand extends Command { this.paranetService = ctx.paranetService; this.pendingStorageService = ctx.pendingStorageService; this.operationIdService = ctx.operationIdService; + this.operationService = ctx.publishService; this.dataService = ctx.dataService; this.ualService = ctx.ualService; this.serviceAgreementService = ctx.serviceAgreementService; this.blockchainModuleManager = ctx.blockchainModuleManager; this.commandExecutor = ctx.commandExecutor; this.repositoryModuleManager = ctx.repositoryModuleManager; - this.tripleStoreModuleManager = ctx.tripleStoreModuleManager; + this.blsService = ctx.blsService; this.errorType = ERROR_TYPE.LOCAL_STORE.LOCAL_STORE_ERROR; } @@ -32,10 +30,9 @@ class LocalStoreCommand extends Command { const { operationId, blockchain, - contract, - tokenId, storeType = LOCAL_STORE_TYPES.TRIPLE, paranetId, + datasetRoot, } = command.data; try { @@ -47,41 +44,38 @@ class LocalStoreCommand extends Command { const cachedData = await this.operationIdService.getCachedOperationIdData(operationId); - const keyword = await this.ualService.calculateLocationKeyword( - blockchain, - contract, - tokenId, - ); - if (storeType === LOCAL_STORE_TYPES.TRIPLE) { const storePromises = []; - if (cachedData.public.assertion && cachedData.public.assertionId) { - storePromises.push( - this.tripleStoreService.localStoreAsset( - TRIPLE_STORE_REPOSITORIES.PRIVATE_CURRENT, - cachedData.public.assertionId, - cachedData.public.assertion, - blockchain, - contract, - tokenId, - keyword, - ), - ); - } - if (cachedData.private.assertion && cachedData.private.assertionId) { - storePromises.push( - this.tripleStoreService.localStoreAsset( - TRIPLE_STORE_REPOSITORIES.PRIVATE_CURRENT, - cachedData.private.assertionId, - cachedData.private.assertion, - blockchain, - contract, - tokenId, - keyword, - ), - ); - } + + // if (cachedData.dataset && cachedData.datasetRoot) { + // storePromises.push( + // this.pendingStorageService.cacheDataset( + // operationId, + // cachedData.datasetRoot, + // cachedData.dataset, + // ), + // ); + // } + // if (cachedData.private?.assertion && cachedData.private?.assertionId) { + // storePromises.push( + // this.pendingStorageService.cacheDataset(operationId, datasetRoot, dataset), + // ); + // } await Promise.all(storePromises); + + const identityId = await this.blockchainModuleManager.getIdentityId(blockchain); + const signature = await this.blsService.sign(datasetRoot); + + await this.operationService.processResponse( + command, + OPERATION_REQUEST_STATUS.COMPLETED, + { + messageType: NETWORK_MESSAGE_TYPES.RESPONSES.ACK, + messageData: { identityId, signature }, + }, + null, + true, + ); } else if (storeType === LOCAL_STORE_TYPES.TRIPLE_PARANET) { const paranetMetadata = await this.blockchainModuleManager.getParanetMetadata( blockchain, @@ -97,70 +91,69 @@ class LocalStoreCommand extends Command { await this.tripleStoreModuleManager.initializeParanetRepository(paranetRepository); await this.paranetService.initializeParanetRecord(blockchain, paranetId); - if (cachedData.public.assertion && cachedData.public.assertionId) { - await this.tripleStoreService.localStoreAsset( - paranetRepository, - cachedData.public.assertionId, - cachedData.public.assertion, - blockchain, - contract, - tokenId, - keyword, - LOCAL_INSERT_FOR_CURATED_PARANET_MAX_ATTEMPTS, - LOCAL_INSERT_FOR_CURATED_PARANET_RETRY_DELAY, - ); + if (cachedData && cachedData.datasetRoot) { + // await this.tripleStoreService.localStoreAsset( + // paranetRepository, + // cachedData.public.assertionId, + // cachedData.public.assertion, + // blockchain, + // contract, + // tokenId, + // keyword, + // LOCAL_INSERT_FOR_CURATED_PARANET_MAX_ATTEMPTS, + // LOCAL_INSERT_FOR_CURATED_PARANET_RETRY_DELAY, + // ); } - if (cachedData.private?.assertion && cachedData.private?.assertionId) { - await this.tripleStoreService.localStoreAsset( - paranetRepository, - cachedData.private.assertionId, - cachedData.private.assertion, - blockchain, - contract, - tokenId, - keyword, - LOCAL_INSERT_FOR_CURATED_PARANET_MAX_ATTEMPTS, - LOCAL_INSERT_FOR_CURATED_PARANET_RETRY_DELAY, - ); + if (cachedData && cachedData.datasetRoot) { + // await this.tripleStoreService.localStoreAsset( + // paranetRepository, + // cachedData.private.assertionId, + // cachedData.private.assertion, + // blockchain, + // contract, + // tokenId, + // keyword, + // LOCAL_INSERT_FOR_CURATED_PARANET_MAX_ATTEMPTS, + // LOCAL_INSERT_FOR_CURATED_PARANET_RETRY_DELAY, + // ); } await this.repositoryModuleManager.incrementParanetKaCount(paranetId, blockchain); - await this.repositoryModuleManager.createParanetSyncedAssetRecord( - blockchain, - this.ualService.deriveUAL(blockchain, contract, tokenId), - paranetUAL, - cachedData.public.assertionId, - cachedData.private?.assertionId, - cachedData.sender, - cachedData.txHash, - PARANET_SYNC_SOURCES.LOCAL_STORE, - ); + // await this.repositoryModuleManager.createParanetSyncedAssetRecord( + // blockchain, + // this.ualService.deriveUAL(blockchain, contract, tokenId), + // paranetUAL, + // cachedData.public.datasetRoot, + // cachedData.private?.assertionId, + // cachedData.sender, + // cachedData.txHash, + // PARANET_SYNC_SOURCES.LOCAL_STORE, + // ); } else { - await this.pendingStorageService.cacheAssertion( - PENDING_STORAGE_REPOSITORIES.PRIVATE, - blockchain, - contract, - tokenId, - cachedData.public.assertionId, - { - ...cachedData, - keyword, - }, - operationId, - ); - - const updateCommitWindowDuration = - await this.blockchainModuleManager.getUpdateCommitWindowDuration(blockchain); - await this.commandExecutor.add({ - name: 'deletePendingStateCommand', - sequence: [], - delay: (updateCommitWindowDuration + 60) * 1000, - data: { - ...command.data, - assertionId: cachedData.public.assertionId, - }, - transactional: false, - }); + // await this.pendingStorageService.cacheAssertion( + // PENDING_STORAGE_REPOSITORIES.PRIVATE, + // blockchain, + // contract, + // tokenId, + // cachedData.public.datasetRoot, + // { + // ...cachedData, + // keyword, + // }, + // operationId, + // ); + // const updateCommitWindowDuration = + // await this.blockchainModuleManager.getUpdateCommitWindowDuration(blockchain); + // await this.commandExecutor.add({ + // name: 'deletePendingStateCommand', + // sequence: [], + // delay: (updateCommitWindowDuration + 60) * 1000, + // data: { + // ...command.data, + // datasetRoot: cachedData.public.assertionId, + // }, + // transactional: false, + // }); } await this.operationIdService.updateOperationIdStatus( diff --git a/src/commands/paranet/paranet-sync-command.js b/src/commands/paranet/paranet-sync-command.js index 3164f968de..f2cf51c174 100644 --- a/src/commands/paranet/paranet-sync-command.js +++ b/src/commands/paranet/paranet-sync-command.js @@ -217,6 +217,8 @@ class ParanetSyncCommand extends Command { state: assertionId, hashFunctionId: CONTENT_ASSET_HASH_FUNCTION_ID, assertionId, + paranetId, + paranetUAL, }, transactional: false, }); @@ -234,6 +236,8 @@ class ParanetSyncCommand extends Command { state: assertionId, hashFunctionId: CONTENT_ASSET_HASH_FUNCTION_ID, assertionId, + paranetId, + paranetUAL, }, transactional: false, }); @@ -274,9 +278,8 @@ class ParanetSyncCommand extends Command { } const data = await this.operationIdService.getCachedOperationIdData(getOperationId); - this.logger.debug( - `Paranet sync: ${data.nquads.length} nquads found for asset with ual: ${ual}, state index: ${stateIndex}, assertionId: ${assertionId}`, + `Paranet sync: ${data.assertion.length} nquads found for asset with ual: ${ual}, state index: ${stateIndex}, assertionId: ${assertionId}`, ); let repository; @@ -293,7 +296,7 @@ class ParanetSyncCommand extends Command { await this.tripleStoreService.localStoreAsset( repository, assertionId, - data.nquads, + data.assertion, blockchain, contract, tokenId, @@ -301,11 +304,11 @@ class ParanetSyncCommand extends Command { LOCAL_INSERT_FOR_CURATED_PARANET_MAX_ATTEMPTS, LOCAL_INSERT_FOR_CURATED_PARANET_RETRY_DELAY, ); - if (paranetNodesAccessPolicy === 'CURATED' && data.privateNquads) { + if (paranetNodesAccessPolicy === 'CURATED' && data.privateAssertion) { await this.tripleStoreService.localStoreAsset( repository, data.syncedAssetRecord.privateAssertionId, - data.privateNquads, + data.privateAssertion, blockchain, contract, tokenId, diff --git a/src/commands/protocols/common/find-nodes-command.js b/src/commands/protocols/common/find-nodes-command.js deleted file mode 100644 index 2014dfbd7d..0000000000 --- a/src/commands/protocols/common/find-nodes-command.js +++ /dev/null @@ -1,133 +0,0 @@ -import Command from '../../command.js'; -import { OPERATION_ID_STATUS } from '../../../constants/constants.js'; - -class FindNodesCommand extends Command { - constructor(ctx) { - super(ctx); - this.networkModuleManager = ctx.networkModuleManager; - this.blockchainModuleManager = ctx.blockchainModuleManager; - this.shardingTableService = ctx.shardingTableService; - } - - /** - * Executes command and produces one or more events - * @param command - */ - async execute(command) { - const { - keyword, - operationId, - blockchain, - errorType, - networkProtocols, - hashFunctionId, - minAckResponses, - } = command.data; - const proximityScoreFunctionsPairId = command.data.proximityScoreFunctionsPairId ?? 1; - - this.errorType = errorType; - this.logger.debug( - `Searching for closest node(s) for operationId: ${operationId}, keyword: ${keyword}`, - ); - - // TODO: protocol selection - const closestNodes = []; - const foundNodes = await this.findNodes( - blockchain, - keyword, - operationId, - hashFunctionId, - proximityScoreFunctionsPairId, - ); - for (const node of foundNodes) { - if (node.id !== this.networkModuleManager.getPeerId().toB58String()) { - closestNodes.push({ id: node.id, protocol: networkProtocols[0] }); - } - } - - this.logger.debug( - `Found ${closestNodes.length} node(s) for operationId: ${operationId}, keyword: ${keyword}`, - ); - this.logger.trace( - `Found neighbourhood: ${JSON.stringify( - closestNodes.map((node) => node.id), - null, - 2, - )}`, - ); - - if (closestNodes.length < minAckResponses) { - await this.handleError( - operationId, - blockchain, - `Unable to find enough nodes for operationId: ${operationId}, keyword: ${keyword}. Minimum number of nodes required: ${minAckResponses}`, - this.errorType, - true, - ); - return Command.empty(); - } - - return this.continueSequence( - { - ...command.data, - leftoverNodes: closestNodes, - numberOfFoundNodes: closestNodes.length, - }, - command.sequence, - ); - } - - async findNodes( - blockchainId, - keyword, - operationId, - hashFunctionId, - proximityScoreFunctionsPairId, - ) { - await this.operationIdService.updateOperationIdStatus( - operationId, - blockchainId, - OPERATION_ID_STATUS.FIND_NODES_START, - ); - const r2 = await this.blockchainModuleManager.getR2(blockchainId); - const closestNodes = await this.shardingTableService.findNeighbourhood( - blockchainId, - keyword, - r2, - hashFunctionId, - proximityScoreFunctionsPairId, - true, // filter inactive nodes - ); - - const nodesFound = await Promise.all( - closestNodes.map(({ peerId }) => - this.shardingTableService.findPeerAddressAndProtocols(peerId), - ), - ); - - await this.operationIdService.updateOperationIdStatus( - operationId, - blockchainId, - OPERATION_ID_STATUS.FIND_NODES_END, - ); - - return nodesFound; - } - - /** - * Builds default findNodesCommand - * @param map - * @returns {{add, data: *, delay: *, deadline: *}} - */ - default(map) { - const command = { - name: 'findNodesCommand', - delay: 0, - transactional: false, - }; - Object.assign(command, map); - return command; - } -} - -export default FindNodesCommand; diff --git a/src/commands/protocols/common/find-shard-command.js b/src/commands/protocols/common/find-shard-command.js new file mode 100644 index 0000000000..c53f63cbd2 --- /dev/null +++ b/src/commands/protocols/common/find-shard-command.js @@ -0,0 +1,127 @@ +import Command from '../../command.js'; +import { OPERATION_ID_STATUS, ERROR_TYPE } from '../../../constants/constants.js'; + +class FindShardCommand extends Command { + constructor(ctx) { + super(ctx); + this.networkModuleManager = ctx.networkModuleManager; + this.blockchainModuleManager = ctx.blockchainModuleManager; + this.shardingTableService = ctx.shardingTableService; + } + + // eslint-disable-next-line no-unused-vars + getOperationCommandSequence(nodePartOfShard) { + return []; + } + + /** + * Executes command and produces one or more events + * @param command + */ + async execute(command) { + const { operationId, blockchain, datasetRoot } = command.data; + this.errorType = ERROR_TYPE.FIND_SHARD.FIND_SHARD_ERROR; + this.logger.debug( + `Searching for shard for operationId: ${operationId}, dataset root: ${datasetRoot}`, + ); + await this.operationIdService.updateOperationIdStatus( + operationId, + blockchain, + OPERATION_ID_STATUS.FIND_NODES_START, + ); + + this.minAckResponses = await this.operationService.getMinAckResponses(blockchain); + + const networkProtocols = this.operationService.getNetworkProtocols(); + + const shardNodes = []; + let nodePartOfShard = false; + const currentPeerId = this.networkModuleManager.getPeerId().toB58String(); + + const foundNodes = await this.findShardNodes(blockchain); + for (const node of foundNodes) { + if (node.id === currentPeerId) { + nodePartOfShard = true; + } else { + shardNodes.push({ id: node.id, protocol: networkProtocols[0] }); + } + } + + const commandSequence = this.getOperationCommandSequence(nodePartOfShard); + + command.sequence.push(...commandSequence); + + this.logger.debug( + `Found ${ + shardNodes.length + nodePartOfShard ? 1 : 0 + } node(s) for operationId: ${operationId}`, + ); + // TODO: Log local node + this.logger.trace( + `Found shard: ${JSON.stringify( + shardNodes.map((node) => node.id), + null, + 2, + )}`, + ); + + if (shardNodes.length + (nodePartOfShard ? 1 : 0) < this.minAckResponses) { + await this.handleError( + operationId, + blockchain, + `Unable to find enough nodes for operationId: ${operationId}. Minimum number of nodes required: ${this.minAckResponses}`, + this.errorType, + true, + ); + return Command.empty(); + } + + await this.operationIdService.updateOperationIdStatus( + operationId, + blockchain, + OPERATION_ID_STATUS.FIND_NODES_END, + ); + + return this.continueSequence( + { + ...command.data, + leftoverNodes: shardNodes, + numberOfShardNodes: shardNodes.length + nodePartOfShard ? 1 : 0, + }, + command.sequence, + ); + } + + async findShardNodes(blockchainId) { + const shardNodes = await this.shardingTableService.findShard( + blockchainId, + true, // filter inactive nodes + ); + + // TODO: Optimize this so it's returned by shardingTableService.findShard + const nodesFound = await Promise.all( + shardNodes.map(({ peerId }) => + this.shardingTableService.findPeerAddressAndProtocols(peerId), + ), + ); + + return nodesFound; + } + + /** + * Builds default findShardCommand + * @param map + * @returns {{add, data: *, delay: *, deadline: *}} + */ + default(map) { + const command = { + name: 'findShardCommand', + delay: 0, + transactional: false, + }; + Object.assign(command, map); + return command; + } +} + +export default FindShardCommand; diff --git a/src/commands/protocols/common/handle-protocol-message-command.js b/src/commands/protocols/common/handle-protocol-message-command.js index 7427a50050..3a46c6097a 100644 --- a/src/commands/protocols/common/handle-protocol-message-command.js +++ b/src/commands/protocols/common/handle-protocol-message-command.js @@ -1,5 +1,5 @@ import Command from '../../command.js'; -import { BYTES_IN_KILOBYTE, NETWORK_MESSAGE_TYPES } from '../../../constants/constants.js'; +import { NETWORK_MESSAGE_TYPES } from '../../../constants/constants.js'; class HandleProtocolMessageCommand extends Command { constructor(ctx) { @@ -18,7 +18,7 @@ class HandleProtocolMessageCommand extends Command { * @param command */ async execute(command) { - const { remotePeerId, operationId, keywordUuid, protocol } = command.data; + const { remotePeerId, operationId, protocol } = command.data; try { const { messageType, messageData } = await this.prepareMessage(command.data); @@ -27,7 +27,6 @@ class HandleProtocolMessageCommand extends Command { remotePeerId, messageType, operationId, - keywordUuid, messageData, ); } catch (error) { @@ -38,7 +37,7 @@ class HandleProtocolMessageCommand extends Command { await this.handleError(error.message, command); } - this.networkModuleManager.removeCachedSession(operationId, keywordUuid, remotePeerId); + this.networkModuleManager.removeCachedSession(operationId, remotePeerId); return Command.empty(); } @@ -47,32 +46,14 @@ class HandleProtocolMessageCommand extends Command { throw Error('prepareMessage not implemented'); } - async validateNeighborhood( - blockchain, - keyword, - hashFunctionId, - proximityScoreFunctionsPairId, - ual, - ) { - const closestNodes = await this.shardingTableService.findNeighbourhood( - blockchain, - keyword, - await this.blockchainModuleManager.getR2(blockchain), - hashFunctionId, - proximityScoreFunctionsPairId, - true, // filter inactive nodes - ); + async validateShard(blockchain) { const peerId = this.networkModuleManager.getPeerId().toB58String(); - for (const { peerId: otherPeerId } of closestNodes) { - if (otherPeerId === peerId) { - return true; - } - } - this.logger.warn( - `Invalid neighborhood for ual: ${ual} on blockchain: ${blockchain} with hashFunctionId: ${hashFunctionId}, proximityScoreFunctionsPairId: ${proximityScoreFunctionsPairId}`, + const isNodePartOfShard = await this.shardingTableService.isNodePartOfShard( + blockchain, + peerId, ); - return false; + return isNodePartOfShard; } async validateAssertionId(blockchain, contract, tokenId, assertionId, ual) { @@ -88,158 +69,38 @@ class HandleProtocolMessageCommand extends Command { } } - async validateBid( - contract, - tokenId, - keyword, - hashFunctionId, - blockchain, - assertionId, - operationId, - ) { - const getAgreementData = async () => { - const agreementId = this.serviceAgreementService.generateId( - blockchain, - contract, - tokenId, - keyword, - hashFunctionId, - ); - this.logger.info( - `Calculated agreement id: ${agreementId} for contract: ${contract}, token id: ${tokenId}, keyword: ${keyword}, hash function id: ${hashFunctionId}, operationId: ${operationId}`, - ); - - const agreementData = await this.blockchainModuleManager.getAgreementData( - blockchain, - agreementId, - ); - - return { - agreementId, - agreementData, - }; - }; - - const getAsk = async () => { - const peerRecord = await this.repositoryModuleManager.getPeerRecord( - this.networkModuleManager.getPeerId().toB58String(), - blockchain, - ); - - return this.blockchainModuleManager.convertToWei(blockchain, peerRecord.ask); - }; - - const [{ agreementId, agreementData }, blockchainAssertionSize, r0, ask] = - await Promise.all([ - getAgreementData(), - this.blockchainModuleManager.getAssertionSize(blockchain, assertionId), - this.blockchainModuleManager.getR0(blockchain), - getAsk(), - ]); - const blockchainAssertionSizeInKb = blockchainAssertionSize / BYTES_IN_KILOBYTE; - if (!agreementData) { - this.logger.warn( - `Unable to fetch agreement data in handle protocol messsage command for agreement id: ${agreementId}, blockchain id: ${blockchain}`, - ); - return { - errorMessage: 'Unable to fetch agreement data.', - agreementId, - agreementData, - }; - } - if (blockchainAssertionSizeInKb > this.config.maximumAssertionSizeInKb) { + async validateReceivedData(operationId, datasetRoot, dataset, blockchain) { + this.logger.trace(`Validating shard for datasetRoot: ${datasetRoot}`); + const isShardValid = await this.validateShard(blockchain); + if (!isShardValid) { this.logger.warn( - `The size of the received assertion exceeds the maximum limit allowed.. Maximum allowed assertion size in kb: ${this.config.maximumAssertionSizeInKb}, assertion size read from blockchain in kb: ${blockchainAssertionSizeInKb}`, + `Invalid shard on blockchain: ${blockchain}, operationId: ${operationId}`, ); - return { - errorMessage: - 'The size of the received assertion exceeds the maximum limit allowed.', - agreementId, - agreementData, - }; - } - - const serviceAgreementBid = await this.serviceAgreementService.calculateBid( - blockchain, - blockchainAssertionSize, - agreementData, - r0, - ); - - const bidAskLog = `Service agreement bid: ${serviceAgreementBid}, ask: ${ask}, operationId: ${operationId}`; - this.logger.trace(bidAskLog); - - return { - errorMessage: ask.lte(serviceAgreementBid) ? null : bidAskLog, - agreementId, - agreementData, - }; - } - - async validateReceivedData( - operationId, - assertionId, - blockchain, - contract, - tokenId, - keyword, - hashFunctionId, - proximityScoreFunctionsPairId, - ) { - const ual = this.ualService.deriveUAL(blockchain, contract, tokenId); - - this.logger.trace(`Validating neighborhood for ual: ${ual}`); - if ( - !(await this.validateNeighborhood( - blockchain, - keyword, - hashFunctionId, - proximityScoreFunctionsPairId, - ual, - )) - ) { return { messageType: NETWORK_MESSAGE_TYPES.RESPONSES.NACK, messageData: { errorMessage: 'Invalid neighbourhood' }, }; } - this.logger.trace(`Validating assertion with ual: ${ual}`); - await this.validateAssertionId(blockchain, contract, tokenId, assertionId, ual); - this.logger.trace(`Validating bid for asset with ual: ${ual}`); - const { errorMessage, agreementId, agreementData } = await this.validateBid( - contract, - tokenId, - keyword, - hashFunctionId, - blockchain, - assertionId, - operationId, + const isValidAssertion = await this.validationService.validateDatasetRoot( + dataset, + datasetRoot, ); - if (errorMessage) { + if (!isValidAssertion) { return { messageType: NETWORK_MESSAGE_TYPES.RESPONSES.NACK, - messageData: { errorMessage }, + messageData: { + errorMessage: `Invalid dataset root for asset ???. Received value , received value from request: ${datasetRoot}`, + }, }; } - await this.operationIdService.cacheOperationIdData(operationId, { - assertionId, - blockchain, - contract, - tokenId, - keyword, - hashFunctionId, - agreementId, - agreementData, - }); - return { messageType: NETWORK_MESSAGE_TYPES.RESPONSES.ACK, messageData: {} }; } async handleError(errorMessage, command) { - const { operationId, blockchain, remotePeerId, keywordUuid, protocol } = command.data; + const { operationId, blockchain, remotePeerId, protocol } = command.data; await super.handleError(operationId, blockchain, errorMessage, this.errorType, true); await this.networkModuleManager.sendMessageResponse( @@ -247,10 +108,9 @@ class HandleProtocolMessageCommand extends Command { remotePeerId, NETWORK_MESSAGE_TYPES.RESPONSES.NACK, operationId, - keywordUuid, { errorMessage }, ); - this.networkModuleManager.removeCachedSession(operationId, keywordUuid, remotePeerId); + this.networkModuleManager.removeCachedSession(operationId, remotePeerId); } } diff --git a/src/commands/protocols/common/network-protocol-command.js b/src/commands/protocols/common/network-protocol-command.js index 6c3aab9c15..13079344b3 100644 --- a/src/commands/protocols/common/network-protocol-command.js +++ b/src/commands/protocols/common/network-protocol-command.js @@ -13,49 +13,27 @@ class NetworkProtocolCommand extends Command { * @param command */ async execute(command) { - const { blockchain, contract, tokenId, hashFunctionId } = command.data; + const { blockchain } = command.data; - const keywords = await this.getKeywords(command); - const batchSize = await this.getBatchSize(blockchain); - const minAckResponses = await this.getMinAckResponses(blockchain); - - const serviceAgreementId = this.serviceAgreementService.generateId( - blockchain, - contract, - tokenId, - keywords[0], - hashFunctionId, - ); - const proximityScoreFunctionsPairId = - await this.blockchainModuleManager.getAgreementScoreFunctionId( - blockchain, - serviceAgreementId, - ); + const batchSize = await this.operationService.getBatchSize(blockchain); + const minAckResponses = await this.operationService.getMinAckResponses(blockchain); const commandSequence = [ - 'findNodesCommand', `${this.operationService.getOperationName()}ScheduleMessagesCommand`, ]; - const addCommandPromises = keywords.map((keyword) => - this.commandExecutor.add({ - name: commandSequence[0], - sequence: commandSequence.slice(1), - delay: 0, - data: { - ...command.data, - keyword, - batchSize, - minAckResponses, - errorType: this.errorType, - networkProtocols: this.operationService.getNetworkProtocols(), - proximityScoreFunctionsPairId, - }, - transactional: false, - }), - ); - - await Promise.all(addCommandPromises); + await this.commandExecutor.add({ + name: commandSequence[0], + sequence: commandSequence.slice(1), + delay: 0, + data: { + ...command.data, + batchSize, + minAckResponses, + errorType: this.errorType, + }, + transactional: false, + }); return Command.empty(); } diff --git a/src/commands/protocols/common/protocol-message-command.js b/src/commands/protocols/common/protocol-message-command.js index b0ee5c48b9..7db1746a4e 100644 --- a/src/commands/protocols/common/protocol-message-command.js +++ b/src/commands/protocols/common/protocol-message-command.js @@ -1,4 +1,3 @@ -import { v5 as uuidv5 } from 'uuid'; import Command from '../../command.js'; import { NETWORK_MESSAGE_TYPES, OPERATION_REQUEST_STATUS } from '../../../constants/constants.js'; @@ -26,21 +25,18 @@ class ProtocolMessageCommand extends Command { } async sendProtocolMessage(command, message, messageType) { - const { node, operationId, keyword } = command.data; - - const keywordUuid = uuidv5(keyword, uuidv5.URL); + const { node, operationId } = command.data; const response = await this.networkModuleManager.sendMessage( node.protocol, node.id, messageType, operationId, - keywordUuid, message, this.messageTimeout(), ); - this.networkModuleManager.removeCachedSession(operationId, keywordUuid, node.id); + this.networkModuleManager.removeCachedSession(operationId, node.id); switch (response.header.messageType) { case NETWORK_MESSAGE_TYPES.RESPONSES.BUSY: @@ -79,9 +75,8 @@ class ProtocolMessageCommand extends Command { } async recover(command) { - const { node, operationId, keyword } = command.data; - const keywordUuid = uuidv5(keyword, uuidv5.URL); - this.networkModuleManager.removeCachedSession(operationId, keywordUuid, node.id); + const { node, operationId } = command.data; + this.networkModuleManager.removeCachedSession(operationId, node.id); await this.markResponseAsFailed(command, command.message); return Command.empty(); diff --git a/src/commands/protocols/common/protocol-schedule-messages-command.js b/src/commands/protocols/common/protocol-schedule-messages-command.js index dd84e7d287..6ce961fe2d 100644 --- a/src/commands/protocols/common/protocol-schedule-messages-command.js +++ b/src/commands/protocols/common/protocol-schedule-messages-command.js @@ -14,7 +14,6 @@ class ProtocolScheduleMessagesCommand extends Command { async execute(command) { const { operationId, - keyword, batchSize, leftoverNodes, numberOfFoundNodes, @@ -35,9 +34,7 @@ class ProtocolScheduleMessagesCommand extends Command { this.logger.debug( `Trying to ${this.operationService.getOperationName()} to batch of ${ currentBatchNodes.length - } nodes for keyword : ${keyword}, leftover for retry: ${ - currentBatchLeftoverNodes.length - }`, + }, leftover for retry: ${currentBatchLeftoverNodes.length}`, ); const addCommandPromises = currentBatchNodes.map(async (node) => { @@ -50,7 +47,6 @@ class ProtocolScheduleMessagesCommand extends Command { ...this.getNextCommandData(command), blockchain, operationId, - keyword, node, numberOfFoundNodes, batchSize, @@ -69,13 +65,11 @@ class ProtocolScheduleMessagesCommand extends Command { } getNextCommandData(command) { - const { assertionId, blockchain, contract, tokenId, hashFunctionId } = command.data; + const { datasetRoot, blockchain, hashFunctionId } = command.data; const proximityScoreFunctionsPairId = command.data.proximityScoreFunctionsPairId ?? 1; return { - assertionId, blockchain, - contract, - tokenId, + datasetRoot, hashFunctionId, proximityScoreFunctionsPairId, }; diff --git a/src/commands/protocols/common/simple-asset-sync-command.js b/src/commands/protocols/common/simple-asset-sync-command.js deleted file mode 100644 index cd08272a32..0000000000 --- a/src/commands/protocols/common/simple-asset-sync-command.js +++ /dev/null @@ -1,194 +0,0 @@ -import { setTimeout } from 'timers/promises'; -import Command from '../../command.js'; -import { - COMMAND_RETRIES, - ERROR_TYPE, - OPERATION_ID_STATUS, - OPERATION_STATUS, - SIMPLE_ASSET_SYNC_PARAMETERS, -} from '../../../constants/constants.js'; - -class SimpleAssetSyncCommand extends Command { - constructor(ctx) { - super(ctx); - this.tripleStoreService = ctx.tripleStoreService; - this.ualService = ctx.ualService; - this.operationIdService = ctx.operationIdService; - this.getService = ctx.getService; - this.repositoryModuleManager = ctx.repositoryModuleManager; - this.commandExecutor = ctx.commandExecutor; - - this.errorType = ERROR_TYPE.COMMIT_PROOF.SIMPLE_ASSET_SYNC_ERROR; - } - - /** - * Executes command and produces one or more events - * @param command - */ - async execute(command) { - const { - operationId, - blockchain, - contract, - tokenId, - keyword, - hashFunctionId, - epoch, - assertionId, - stateIndex, - } = command.data; - - await this.operationIdService.updateOperationIdStatus( - operationId, - blockchain, - OPERATION_ID_STATUS.COMMIT_PROOF.SIMPLE_ASSET_SYNC_START, - ); - - this.logger.info( - `[SIMPLE_ASSET_SYNC] (${operationId}): Started command for the ` + - `Blockchain: ${blockchain}, Contract: ${contract}, Token ID: ${tokenId}, ` + - `Keyword: ${keyword}, Hash function ID: ${hashFunctionId}, Epoch: ${epoch}, ` + - `State Index: ${stateIndex}, Retry number: ${ - COMMAND_RETRIES.SIMPLE_ASSET_SYNC - command.retries + 1 - }`, - ); - - const ual = this.ualService.deriveUAL(blockchain, contract, tokenId); - - const getOperationId = await this.operationIdService.generateOperationId( - OPERATION_ID_STATUS.GET.GET_START, - ); - - this.logger.debug( - `[SIMPLE_ASSET_SYNC] (${operationId}): Fetching Knowledge Asset from the network for the ` + - `Blockchain: ${blockchain}, Contract: ${contract}, Token ID: ${tokenId}, ` + - `Keyword: ${keyword}, Hash function ID: ${hashFunctionId}, Epoch: ${epoch}, ` + - `State Index: ${stateIndex}, Network Get Operation ID: ${getOperationId}`, - ); - - await Promise.all([ - this.operationIdService.updateOperationIdStatus( - getOperationId, - blockchain, - OPERATION_ID_STATUS.GET.GET_INIT_START, - ), - this.repositoryModuleManager.createOperationRecord( - this.getService.getOperationName(), - getOperationId, - OPERATION_STATUS.IN_PROGRESS, - ), - ]); - - let getResult; - - try { - await this.commandExecutor.add({ - name: 'networkGetCommand', - sequence: [], - delay: 0, - data: { - operationId: getOperationId, - id: ual, - blockchain, - contract, - tokenId, - state: assertionId, - hashFunctionId, - assertionId, - stateIndex, - assetSync: true, - }, - transactional: false, - }); - - await this.operationIdService.updateOperationIdStatus( - getOperationId, - blockchain, - OPERATION_ID_STATUS.GET.GET_INIT_END, - ); - - let attempt = 0; - do { - // eslint-disable-next-line no-await-in-loop - await setTimeout(SIMPLE_ASSET_SYNC_PARAMETERS.GET_RESULT_POLLING_INTERVAL_MILLIS); - - // eslint-disable-next-line no-await-in-loop - getResult = await this.operationIdService.getOperationIdRecord(getOperationId); - attempt += 1; - } while ( - attempt < SIMPLE_ASSET_SYNC_PARAMETERS.GET_RESULT_POLLING_MAX_ATTEMPTS && - getResult?.status !== OPERATION_ID_STATUS.FAILED && - getResult?.status !== OPERATION_ID_STATUS.COMPLETED - ); - } catch (error) { - this.logger.warn( - `[SIMPLE_ASSET_SYNC] (${operationId}): Unable to sync Knowledge Asset for the ` + - `Blockchain: ${blockchain}, Contract: ${contract}, Token ID: ${tokenId}, ` + - `Keyword: ${keyword}, Hash function ID: ${hashFunctionId}, Epoch: ${epoch}, ` + - `State Index: ${stateIndex}, Network Get Operation ID: ${getOperationId}, ` + - `Operation failed with error: ${error}.`, - ); - - return Command.retry(); - } - - await this.operationIdService.updateOperationIdStatus( - operationId, - blockchain, - OPERATION_ID_STATUS.COMMIT_PROOF.SIMPLE_ASSET_SYNC_END, - ); - const getOperationCachedData = await this.operationIdService.getCachedOperationIdData( - getOperationId, - ); - if (getOperationCachedData.message === 'Unable to find assertion on the network!') { - this.logger.info( - `[SIMPLE_ASSET_SYNC] (${operationId}): Failed to executed command. Couldn't find asset on the network for the ` + - `Blockchain: ${blockchain}, Contract: ${contract}, Token ID: ${tokenId}, ` + - `Keyword: ${keyword}, Hash function ID: ${hashFunctionId}, Epoch: ${epoch}, ` + - `State Index: ${stateIndex}, Network Get Operation ID: ${getOperationId}, `, - ); - - return Command.empty(); - } - this.logger.info( - `[SIMPLE_ASSET_SYNC] (${operationId}): Successfully executed command for the ` + - `Blockchain: ${blockchain}, Contract: ${contract}, Token ID: ${tokenId}, ` + - `Keyword: ${keyword}, Hash function ID: ${hashFunctionId}, Epoch: ${epoch}, ` + - `State Index: ${stateIndex}, Network Get Operation ID: ${getOperationId}, `, - ); - - return this.continueSequence(command.data, command.sequence, { - retries: COMMAND_RETRIES.SUBMIT_COMMIT, - }); - } - - async retryFinished(command) { - const { blockchain, contract, tokenId, operationId } = command.data; - const ual = this.ualService.deriveUAL(blockchain, contract, tokenId); - await this.handleError( - operationId, - blockchain, - `Max retry count for the ${command.name} reached! ` + - `Unable to sync Knowledge Asset on the ${blockchain} blockchain with the UAL: ${ual}`, - this.errorType, - true, - ); - } - - /** - * Builds default simpleAssetSyncCommand - * @param map - * @returns {{add, data: *, delay: *, deadline: *}} - */ - default(map) { - const command = { - name: 'simpleAssetSyncCommand', - delay: 0, - transactional: false, - }; - Object.assign(command, map); - return command; - } -} - -export default SimpleAssetSyncCommand; diff --git a/src/commands/protocols/common/submit-commit-command.js b/src/commands/protocols/common/submit-commit-command.js deleted file mode 100644 index 71458ae2f0..0000000000 --- a/src/commands/protocols/common/submit-commit-command.js +++ /dev/null @@ -1,202 +0,0 @@ -import { - OPERATION_ID_STATUS, - ERROR_TYPE, - COMMAND_RETRIES, - COMMAND_TX_GAS_INCREASE_FACTORS, -} from '../../../constants/constants.js'; -import Command from '../../command.js'; -import SendTransactionCommand from '../../common/send-transaction-command.js'; - -class SubmitCommitCommand extends SendTransactionCommand { - constructor(ctx) { - super(ctx); - this.commandExecutor = ctx.commandExecutor; - this.blockchainModuleManager = ctx.blockchainModuleManager; - this.operationIdService = ctx.operationIdService; - this.repositoryModuleManager = ctx.repositoryModuleManager; - - this.errorType = ERROR_TYPE.COMMIT_PROOF.SUBMIT_COMMIT_ERROR; - - this.txStartStatus = OPERATION_ID_STATUS.COMMIT_PROOF.SUBMIT_COMMIT_SEND_TX_START; - this.txEndStatus = OPERATION_ID_STATUS.COMMIT_PROOF.SUBMIT_COMMIT_SEND_TX_END; - this.txErrorType = ERROR_TYPE.COMMIT_PROOF.SUBMIT_COMMIT_SEND_TX_ERROR; - this.txGasIncreaseFactor = COMMAND_TX_GAS_INCREASE_FACTORS.SUBMIT_COMMIT; - this.operationEndStatus = OPERATION_ID_STATUS.COMMIT_PROOF.SUBMIT_COMMIT_END; - this.commandRetryNumber = COMMAND_RETRIES.SUBMIT_COMMIT; - } - - async execute(command) { - const { - operationId, - blockchain, - contract, - tokenId, - keyword, - hashFunctionId, - epoch, - agreementId, - stateIndex, - gasPrice, - closestNode, - leftNeighborhoodEdge, - rightNeighborhoodEdge, - } = command.data; - - this.logger.trace( - `Started ${command.name} for the Service Agreement with the ID: ${agreementId}, ` + - `Blockchain: ${blockchain}, Contract: ${contract}, Token ID: ${tokenId}, ` + - `Keyword: ${keyword}, Hash function ID: ${hashFunctionId}, Epoch: ${epoch}, ` + - `State Index: ${stateIndex}, Operation ID: ${operationId}, ` + - `Closest Node: ${closestNode}, Left neighborhood edge: ${leftNeighborhoodEdge}, ` + - `Right neighborhood edge: ${rightNeighborhoodEdge}, ` + - `Retry number: ${COMMAND_RETRIES.SUBMIT_COMMIT - command.retries + 1}`, - ); - - if (command.retries === COMMAND_RETRIES.SUBMIT_COMMIT) { - this.operationIdService.emitChangeEvent( - OPERATION_ID_STATUS.COMMIT_PROOF.SUBMIT_COMMIT_START, - operationId, - blockchain, - agreementId, - epoch, - ); - } - - const assertionIds = await this.blockchainModuleManager.getAssertionIds( - blockchain, - contract, - tokenId, - ); - - // If update for new state is already finalized (and node haven't processed the event yet), don't send commit for the older state - if (stateIndex < assertionIds.length - 1) { - this.logger.trace( - `Knowledge Asset was updated, not sending Commit for the Service Agreement with the ID: ${agreementId}, ` + - `Blockchain: ${blockchain}, Contract: ${contract}, Token ID: ${tokenId}, ` + - `Keyword: ${keyword}, Hash function ID: ${hashFunctionId}, Epoch: ${epoch}, ` + - `State Index: ${stateIndex}, Operation ID: ${operationId}` + - `Closest Node: ${closestNode}, Left neighborhood edge: ${leftNeighborhoodEdge}, ` + - `Right neighborhood edge: ${rightNeighborhoodEdge}`, - ); - - return Command.empty(); - } - - // this can happen in case node has already submitted update commit - const alreadySubmitted = await this.commitAlreadySubmitted( - blockchain, - agreementId, - epoch, - stateIndex, - ); - if (alreadySubmitted) { - this.logger.trace( - `Commit has already been submitted for the Service Agreement with the ID: ${agreementId}, ` + - `Blockchain: ${blockchain}, Contract: ${contract}, Token ID: ${tokenId}, ` + - `Keyword: ${keyword}, Hash function ID: ${hashFunctionId}, Epoch: ${epoch}, ` + - `State Index: ${stateIndex}, Operation ID: ${operationId}` + - `Closest Node: ${closestNode}, Left neighborhood edge: ${leftNeighborhoodEdge}, ` + - `Right neighborhood edge: ${rightNeighborhoodEdge}`, - ); - - return Command.empty(); - } - - const txGasPrice = gasPrice ?? (await this.blockchainModuleManager.getGasPrice(blockchain)); - - const transactionCompletePromise = new Promise((resolve, reject) => { - this.blockchainModuleManager.submitCommit( - blockchain, - contract, - tokenId, - keyword, - hashFunctionId, - closestNode, - leftNeighborhoodEdge, - rightNeighborhoodEdge, - epoch, - stateIndex, - (result) => { - if (result?.error) { - reject(result.error); - } - resolve(true); - }, - txGasPrice, - ); - }); - - return this.sendTransactionAndHandleResult( - transactionCompletePromise, - { - blockchain, - agreementId, - epoch, - operationId, - closestNode, - leftNeighborhoodEdge, - rightNeighborhoodEdge, - contract, - tokenId, - keyword, - hashFunctionId, - stateIndex, - txGasPrice, - }, - command, - ); - } - - async insufficientFundsErrorReceived(commandData) { - await this.repositoryModuleManager.updateServiceAgreementLastCommitEpoch( - commandData.agreementId, - commandData.epoch - 1 < 0 ? null : commandData.epoch - 1, - ); - } - - async commitAlreadySubmitted(blockchain, agreementId, epoch, stateIndex) { - const commits = await this.blockchainModuleManager.getTopCommitSubmissions( - blockchain, - agreementId, - epoch, - stateIndex, - ); - const identityId = await this.blockchainModuleManager.getIdentityId(blockchain); - - for (const commit of commits) { - if (Number(commit.identityId) === identityId) { - return true; - } - } - - return false; - } - - async retryFinished(command) { - const { blockchain, operationId } = command.data; - await this.handleError( - operationId, - blockchain, - `Max retries has been reached! Latest Error Message: ${command.message}`, - this.errorType, - true, - ); - } - - /** - * Builds default handleStoreInitCommand - * @param map - * @returns {{add, data: *, delay: *, deadline: *}} - */ - default(map) { - const command = { - name: 'submitCommitCommand', - delay: 0, - transactional: false, - }; - Object.assign(command, map); - return command; - } -} - -export default SubmitCommitCommand; diff --git a/src/commands/protocols/common/submit-proofs-command.js b/src/commands/protocols/common/submit-proofs-command.js deleted file mode 100644 index 57b4b7d028..0000000000 --- a/src/commands/protocols/common/submit-proofs-command.js +++ /dev/null @@ -1,238 +0,0 @@ -import { - OPERATION_ID_STATUS, - ERROR_TYPE, - COMMAND_RETRIES, - COMMAND_TX_GAS_INCREASE_FACTORS, - TRIPLE_STORE_REPOSITORIES, -} from '../../../constants/constants.js'; -import Command from '../../command.js'; -import SendTransactionCommand from '../../common/send-transaction-command.js'; - -class SubmitProofsCommand extends SendTransactionCommand { - constructor(ctx) { - super(ctx); - - this.blockchainModuleManager = ctx.blockchainModuleManager; - this.repositoryModuleManager = ctx.repositoryModuleManager; - this.validationModuleManager = ctx.validationModuleManager; - this.tripleStoreService = ctx.tripleStoreService; - this.operationIdService = ctx.operationIdService; - this.repositoryModuleManager = ctx.repositoryModuleManager; - - this.errorType = ERROR_TYPE.COMMIT_PROOF.SUBMIT_PROOFS_ERROR; - - this.txStartStatus = OPERATION_ID_STATUS.COMMIT_PROOF.SUBMIT_PROOFS_SEND_TX_START; - this.txEndStatus = OPERATION_ID_STATUS.COMMIT_PROOF.SUBMIT_PROOFS_SEND_TX_END; - this.txErrorType = ERROR_TYPE.COMMIT_PROOF.SUBMIT_PROOFS_SEND_TX_ERROR; - this.txGasIncreaseFactor = COMMAND_TX_GAS_INCREASE_FACTORS.SUBMIT_PROOFS; - this.operationEndStatus = OPERATION_ID_STATUS.COMMIT_PROOF.SUBMIT_PROOFS_END; - this.commandRetryNumber = COMMAND_RETRIES.SUBMIT_PROOFS; - } - - async execute(command) { - const { - operationId, - blockchain, - contract, - tokenId, - keyword, - hashFunctionId, - epoch, - agreementId, - assertionId, - stateIndex, - gasPrice, - } = command.data; - - this.logger.trace( - `Started ${command.name} for the Service Agreement with the ID: ${agreementId} ` + - `Blockchain: ${blockchain}, Contract: ${contract}, Token ID: ${tokenId}, ` + - `Keyword: ${keyword}, Hash function ID: ${hashFunctionId}, Epoch: ${epoch}, ` + - `State Index: ${stateIndex}, Operation ID: ${operationId}, ` + - `Retry number: ${COMMAND_RETRIES.SUBMIT_PROOFS - command.retries + 1}`, - ); - - if (command.retries === COMMAND_RETRIES.SUBMIT_PROOFS) { - this.operationIdService.emitChangeEvent( - OPERATION_ID_STATUS.COMMIT_PROOF.CALCULATE_PROOFS_START, - operationId, - blockchain, - agreementId, - epoch, - ); - } - - const { challenge } = await this.blockchainModuleManager.getChallenge( - blockchain, - contract, - tokenId, - epoch, - stateIndex, - ); - - const assertion = await this.tripleStoreService.getAssertion( - TRIPLE_STORE_REPOSITORIES.PUBLIC_CURRENT, - assertionId, - ); - - if (!assertion.length) { - const errorMessage = `Assertion with id: ${assertionId} not found in the triple store.`; - this.logger.trace(errorMessage); - - await this.handleError(operationId, blockchain, errorMessage, this.errorType, true); - - return Command.empty(); - } - - const { leaf, proof } = this.validationModuleManager.getMerkleProof( - assertion, - Number(challenge), - ); - - if (command.retries === COMMAND_RETRIES.SUBMIT_PROOFS) { - this.operationIdService.emitChangeEvent( - OPERATION_ID_STATUS.COMMIT_PROOF.CALCULATE_PROOFS_END, - operationId, - blockchain, - agreementId, - epoch, - ); - - this.operationIdService.emitChangeEvent( - OPERATION_ID_STATUS.COMMIT_PROOF.SUBMIT_PROOFS_START, - operationId, - blockchain, - agreementId, - epoch, - ); - } - - const assertionIds = await this.blockchainModuleManager.getAssertionIds( - blockchain, - contract, - tokenId, - ); - - // If update for new state is already finalized (and node haven't processed the event yet), don't send commit for the older state - if (stateIndex < assertionIds.length - 1) { - this.logger.trace( - `Knowledge Asset was updated, not sending Proof for the Service Agreement with the ID: ${agreementId}, ` + - `Blockchain: ${blockchain}, Contract: ${contract}, Token ID: ${tokenId}, ` + - `Keyword: ${keyword}, Hash function ID: ${hashFunctionId}, Epoch: ${epoch}, ` + - `State Index: ${stateIndex}, Operation ID: ${operationId}`, - ); - - return Command.empty(); - } - - const alreadySubmitted = await this.proofAlreadySubmitted( - blockchain, - agreementId, - epoch, - stateIndex, - ); - if (alreadySubmitted) { - this.logger.trace( - `Proof has already been submitted for the Service Agreement with the ID: ${agreementId}, ` + - `Blockchain: ${blockchain}, Contract: ${contract}, Token ID: ${tokenId}, ` + - `Keyword: ${keyword}, Hash function ID: ${hashFunctionId}, Epoch: ${epoch}, ` + - `State Index: ${stateIndex}, Operation ID: ${operationId}`, - ); - - return Command.empty(); - } - - const txGasPrice = gasPrice ?? (await this.blockchainModuleManager.getGasPrice(blockchain)); - - const transactionCompletePromise = new Promise((resolve, reject) => { - this.blockchainModuleManager.sendProof( - blockchain, - contract, - tokenId, - keyword, - hashFunctionId, - epoch, - proof, - leaf, - stateIndex, - (result) => { - if (result?.error) { - reject(result.error); - } - - resolve(true); - }, - txGasPrice, - ); - }); - return this.sendTransactionAndHandleResult( - transactionCompletePromise, - { - blockchain, - agreementId, - epoch, - operationId, - contract, - tokenId, - keyword, - hashFunctionId, - stateIndex, - txGasPrice, - }, - command, - ); - } - - async proofAlreadySubmitted(blockchain, agreementId, epoch, stateIndex) { - const commits = await this.blockchainModuleManager.getTopCommitSubmissions( - blockchain, - agreementId, - epoch, - stateIndex, - ); - const identityId = await this.blockchainModuleManager.getIdentityId(blockchain); - - for (const commit of commits) { - if (Number(commit.identityId) === identityId && Number(commit.score) === 0) { - return true; - } - } - - return false; - } - - async insufficientFundsErrorReceived(commandData) { - await this.repositoryModuleManager.updateServiceAgreementLastProofEpoch( - commandData.agreementId, - commandData.epoch - 1 < 0 ? null : commandData.epoch - 1, - ); - } - - async retryFinished(command) { - const { blockchain, operationId } = command.data; - await this.handleError( - operationId, - blockchain, - `Max retries has been reached! Latest Error Message: ${command.message}`, - this.errorType, - true, - ); - } - - /** - * Builds default submitProofsCommand - * @param map - * @returns {{add, data: *, delay: *, deadline: *}} - */ - default(map) { - const command = { - name: 'submitProofsCommand', - delay: 0, - transactional: false, - }; - Object.assign(command, map); - return command; - } -} - -export default SubmitProofsCommand; diff --git a/src/commands/protocols/finality/receiver/v1.0.0/v1-0-0-handle-finality-request-command.js b/src/commands/protocols/finality/receiver/v1.0.0/v1-0-0-handle-finality-request-command.js new file mode 100644 index 0000000000..f54280197e --- /dev/null +++ b/src/commands/protocols/finality/receiver/v1.0.0/v1-0-0-handle-finality-request-command.js @@ -0,0 +1,76 @@ +import HandleProtocolMessageCommand from '../../../common/handle-protocol-message-command.js'; +import { + ERROR_TYPE, + NETWORK_MESSAGE_TYPES, + OPERATION_ID_STATUS, +} from '../../../../../constants/constants.js'; + +class HandleFinalityRequestCommand extends HandleProtocolMessageCommand { + constructor(ctx) { + super(ctx); + this.operationService = ctx.finalityService; + this.tripleStoreService = ctx.tripleStoreService; + this.pendingStorageService = ctx.pendingStorageService; + this.paranetService = ctx.paranetService; + + this.errorType = ERROR_TYPE.FINALITY.FINALITY_REQUEST_REMOTE_ERROR; + } + + async prepareMessage(commandData) { + const { ual, operationId, blockchain } = commandData; + await this.operationIdService.updateOperationIdStatus( + operationId, + blockchain, + OPERATION_ID_STATUS.FINALITY.FINALITY_REMOTE_START, + ); + + const knowledgeCollectionExistsInUnifiedGraph = + await this.tripleStoreService.checkIfKnowledgeCollectionExistsInUnifiedGraph(ual); + if (knowledgeCollectionExistsInUnifiedGraph) { + await this.operationService.markOperationAsCompleted( + operationId, + blockchain, + knowledgeCollectionExistsInUnifiedGraph, + [ + OPERATION_ID_STATUS.FINALITY.FINALITY_FETCH_FROM_NODES_END, + OPERATION_ID_STATUS.FINALITY.FINALITY_END, + OPERATION_ID_STATUS.COMPLETED, + ], + ); + } + + await this.operationIdService.updateOperationIdStatus( + operationId, + blockchain, + OPERATION_ID_STATUS.FINALITY.FINALITY_REMOTE_END, + ); + + return knowledgeCollectionExistsInUnifiedGraph + ? { + messageType: NETWORK_MESSAGE_TYPES.RESPONSES.ACK, + messageData: { knowledgeCollectionExistsInUnifiedGraph }, + } + : { + messageType: NETWORK_MESSAGE_TYPES.RESPONSES.NACK, + messageData: { errorMessage: `Unable to find knowledge collection ${ual}` }, + }; + } + + /** + * Builds default handleFinalityRequestCommand + * @param map + * @returns {{add, data: *, delay: *, deadline: *}} + */ + default(map) { + const command = { + name: 'v1_0_0HandleFinalityRequestCommand', + delay: 0, + transactional: false, + errorType: ERROR_TYPE.FINALITY.FINALITY_REQUEST_REMOTE_ERROR, + }; + Object.assign(command, map); + return command; + } +} + +export default HandleFinalityRequestCommand; diff --git a/src/commands/protocols/finality/sender/finality-find-shard-command.js b/src/commands/protocols/finality/sender/finality-find-shard-command.js new file mode 100644 index 0000000000..40cc9e0c84 --- /dev/null +++ b/src/commands/protocols/finality/sender/finality-find-shard-command.js @@ -0,0 +1,30 @@ +import FindShardCommand from '../../common/find-shard-command.js'; + +class FinalityFindShardCommand extends FindShardCommand { + constructor(ctx) { + super(ctx); + this.operationService = ctx.finalityService; + } + + // eslint-disable-next-line no-unused-vars + getOperationCommandSequence(nodePartOfShard) { + return []; + } + + /** + * Builds default finalityFindShardCommand + * @param map + * @returns {{add, data: *, delay: *, deadline: *}} + */ + default(map) { + const command = { + name: 'finalityFindShardCommand', + delay: 0, + transactional: false, + }; + Object.assign(command, map); + return command; + } +} + +export default FinalityFindShardCommand; diff --git a/src/commands/protocols/finality/sender/finality-schedule-messages-command.js b/src/commands/protocols/finality/sender/finality-schedule-messages-command.js new file mode 100644 index 0000000000..1f07785c47 --- /dev/null +++ b/src/commands/protocols/finality/sender/finality-schedule-messages-command.js @@ -0,0 +1,38 @@ +import ProtocolScheduleMessagesCommand from '../../common/protocol-schedule-messages-command.js'; +import { OPERATION_ID_STATUS, ERROR_TYPE } from '../../../../constants/constants.js'; + +class FinalityScheduleMessagesCommand extends ProtocolScheduleMessagesCommand { + constructor(ctx) { + super(ctx); + this.operationService = ctx.finalityService; + + this.errorType = ERROR_TYPE.FINALITY.FINALITY_ERROR; + this.startEvent = OPERATION_ID_STATUS.FINALITY.FINALITY_FETCH_FROM_NODES_START; + } + + getNextCommandData(command) { + return { + ...super.getNextCommandData(command), + ual: command.data.ual, + operationId: command.data.operationId, + minimumNumberOfNodeReplications: command.data.minimumNumberOfNodeReplications, + }; + } + + /** + * Builds default finalityScheduleMessagesCommand + * @param map + * @returns {{add, data: *, delay: *, deadline: *}} + */ + default(map) { + const command = { + name: 'finalityScheduleMessagesCommand', + delay: 0, + transactional: false, + }; + Object.assign(command, map); + return command; + } +} + +export default FinalityScheduleMessagesCommand; diff --git a/src/commands/protocols/finality/sender/network-finality-command.js b/src/commands/protocols/finality/sender/network-finality-command.js new file mode 100644 index 0000000000..ccaf67b8b2 --- /dev/null +++ b/src/commands/protocols/finality/sender/network-finality-command.js @@ -0,0 +1,29 @@ +import NetworkProtocolCommand from '../../common/network-protocol-command.js'; +import { ERROR_TYPE } from '../../../../constants/constants.js'; + +class NetworkFinalityCommand extends NetworkProtocolCommand { + constructor(ctx) { + super(ctx); + this.operationService = ctx.finalityService; + this.ualService = ctx.ualService; + + this.errorType = ERROR_TYPE.FINALITY.FINALITY_NETWORK_ERROR; + } + + /** + * Builds default networkGetCommand + * @param map + * @returns {{add, data: *, delay: *, deadline: *}} + */ + default(map) { + const command = { + name: 'networkFinalityCommand', + delay: 0, + transactional: false, + }; + Object.assign(command, map); + return command; + } +} + +export default NetworkFinalityCommand; diff --git a/src/commands/protocols/finality/sender/v1.0.0/v1-0-0-finality-request-command.js b/src/commands/protocols/finality/sender/v1.0.0/v1-0-0-finality-request-command.js new file mode 100644 index 0000000000..a48dd222b6 --- /dev/null +++ b/src/commands/protocols/finality/sender/v1.0.0/v1-0-0-finality-request-command.js @@ -0,0 +1,78 @@ +import ProtocolRequestCommand from '../../../common/protocol-request-command.js'; +import { + NETWORK_MESSAGE_TIMEOUT_MILLS, + ERROR_TYPE, + OPERATION_REQUEST_STATUS, + OPERATION_STATUS, +} from '../../../../../constants/constants.js'; + +class FinalityRequestCommand extends ProtocolRequestCommand { + constructor(ctx) { + super(ctx); + this.operationService = ctx.finalityService; + this.operationIdService = ctx.operationIdService; + this.errorType = ERROR_TYPE.FINALITY.FINALITY_REQUEST_ERROR; + } + + async shouldSendMessage(command) { + const { operationId } = command.data; + + const { status } = await this.operationService.getOperationStatus(operationId); + + if (status === OPERATION_STATUS.IN_PROGRESS) { + return true; + } + this.logger.trace( + `${command.name} skipped for operationId: ${operationId} with status ${status}`, + ); + + return false; + } + + async prepareMessage(command) { + const { ual, operationId, numberOfShardNodes, blockchain } = command.data; + + return { + ual, + operationId, + numberOfShardNodes, + blockchain, + }; + } + + messageTimeout() { + return NETWORK_MESSAGE_TIMEOUT_MILLS.FINALITY.REQUEST; + } + + async handleAck(command, responseData) { + if (responseData?.knowledgeCollectionExistsInUnifiedGraph) { + await this.operationService.processResponse( + command, + OPERATION_REQUEST_STATUS.COMPLETED, + responseData, + ); + + return ProtocolRequestCommand.empty(); + } + + return this.handleNack(command, responseData); + } + + /** + * Builds default finalityRequestCommand + * @param map + * @returns {{add, data: *, delay: *, deadline: *}} + */ + default(map) { + const command = { + name: 'v1_0_0FinalityRequestCommand', + delay: 0, + retries: 0, + transactional: false, + }; + Object.assign(command, map); + return command; + } +} + +export default FinalityRequestCommand; diff --git a/src/commands/protocols/get/receiver/v1.0.0/v1-0-0-handle-get-init-command.js b/src/commands/protocols/get/receiver/v1.0.0/v1-0-0-handle-get-init-command.js deleted file mode 100644 index 663cec2e90..0000000000 --- a/src/commands/protocols/get/receiver/v1.0.0/v1-0-0-handle-get-init-command.js +++ /dev/null @@ -1,171 +0,0 @@ -import HandleProtocolMessageCommand from '../../../common/handle-protocol-message-command.js'; -import { - ERROR_TYPE, - GET_STATES, - NETWORK_MESSAGE_TYPES, - OPERATION_ID_STATUS, - PENDING_STORAGE_REPOSITORIES, - TRIPLE_STORE_REPOSITORIES, -} from '../../../../../constants/constants.js'; - -class HandleGetInitCommand extends HandleProtocolMessageCommand { - constructor(ctx) { - super(ctx); - this.tripleStoreService = ctx.tripleStoreService; - this.repositoryModuleManager = ctx.repositoryModuleManager; - this.operationService = ctx.getService; - this.pendingStorageService = ctx.pendingStorageService; - this.ualService = ctx.ualService; - this.paranetService = ctx.paranetService; - - this.errorType = ERROR_TYPE.GET.GET_INIT_REMOTE_ERROR; - } - - async prepareMessage(commandData) { - const { - operationId, - blockchain, - contract, - tokenId, - assertionId, - state, - paranetUAL, - paranetId, - remotePeerId, - } = commandData; - - await this.operationIdService.updateOperationIdStatus( - operationId, - blockchain, - OPERATION_ID_STATUS.GET.ASSERTION_EXISTS_LOCAL_START, - ); - - this.logger.trace( - `Checking if assertion ${assertionId} exists for state ${state}, on blockchain: ${blockchain}, contract: ${contract}, and tokenId: ${tokenId}`, - ); - - let assertionExists = false; - - if (paranetUAL) { - const paranetCuratedNodes = await this.blockchainModuleManager.getParanetCuratedNodes( - blockchain, - paranetId, - ); - const paranetCuratedPeerIds = paranetCuratedNodes.map((node) => - this.blockchainModuleManager.convertHexToAscii(blockchain, node.nodeId), - ); - - if (!paranetCuratedPeerIds.includes(remotePeerId)) { - return { - messageType: NETWORK_MESSAGE_TYPES.RESPONSES.NACK, - messageData: { - errorMessage: `Remote peer ${remotePeerId} is not a part of the Paranet (${paranetId}) with UAL: ${paranetUAL}`, - }, - }; - } - - const ual = this.ualService.deriveUAL(blockchain, contract, tokenId); - const syncedAssetRecord = - await this.repositoryModuleManager.getParanetSyncedAssetRecordByUAL(ual); - - if (!syncedAssetRecord) { - return { - messageType: NETWORK_MESSAGE_TYPES.RESPONSES.NACK, - messageData: { - errorMessage: `Synced record is missing in 'paranet_synced_asset' table for Assertion: ${assertionId}, Paranet (${paranetId}) with UAL: ${paranetUAL}`, - }, - }; - } - - const paranetRepository = this.paranetService.getParanetRepositoryName(paranetUAL); - assertionExists = await this.tripleStoreService.assertionExists( - paranetRepository, - syncedAssetRecord.publicAssertionId, - ); - - if (syncedAssetRecord.privateAssertionId) { - assertionExists = - assertionExists && - (await this.tripleStoreService.assertionExists( - paranetRepository, - syncedAssetRecord.privateAssertionId, - )); - } - - if (!assertionExists) { - return { - messageType: NETWORK_MESSAGE_TYPES.RESPONSES.NACK, - messageData: { - errorMessage: `Assertion ${assertionId} not found for Paranet (${paranetId}) with UAL: ${paranetUAL}`, - }, - }; - } - } - - if ( - !assertionExists && - state !== GET_STATES.FINALIZED && - blockchain != null && - contract != null && - tokenId != null - ) { - assertionExists = await this.pendingStorageService.assetHasPendingState( - PENDING_STORAGE_REPOSITORIES.PUBLIC, - blockchain, - contract, - tokenId, - assertionId, - ); - } - - if (!assertionExists) { - for (const repository of [ - TRIPLE_STORE_REPOSITORIES.PUBLIC_CURRENT, - TRIPLE_STORE_REPOSITORIES.PUBLIC_HISTORY, - ]) { - // eslint-disable-next-line no-await-in-loop - assertionExists = await this.tripleStoreService.assertionExists( - repository, - assertionId, - ); - if (assertionExists) { - break; - } - } - } - - await this.operationIdService.updateOperationIdStatus( - operationId, - blockchain, - OPERATION_ID_STATUS.GET.ASSERTION_EXISTS_LOCAL_END, - ); - - if (assertionExists) { - return { - messageType: NETWORK_MESSAGE_TYPES.RESPONSES.ACK, - messageData: {}, - }; - } - return { - messageType: NETWORK_MESSAGE_TYPES.RESPONSES.NACK, - messageData: { errorMessage: `Assertion ${assertionId} not found` }, - }; - } - - /** - * Builds default handleGetInitCommand - * @param map - * @returns {{add, data: *, delay: *, deadline: *}} - */ - default(map) { - const command = { - name: 'v1_0_0HandleGetInitCommand', - delay: 0, - transactional: false, - }; - Object.assign(command, map); - return command; - } -} - -export default HandleGetInitCommand; diff --git a/src/commands/protocols/get/receiver/v1.0.0/v1-0-0-handle-get-request-command.js b/src/commands/protocols/get/receiver/v1.0.0/v1-0-0-handle-get-request-command.js index ab4b3b28d5..afb9d2dd02 100644 --- a/src/commands/protocols/get/receiver/v1.0.0/v1-0-0-handle-get-request-command.js +++ b/src/commands/protocols/get/receiver/v1.0.0/v1-0-0-handle-get-request-command.js @@ -1,13 +1,8 @@ import HandleProtocolMessageCommand from '../../../common/handle-protocol-message-command.js'; - import { ERROR_TYPE, NETWORK_MESSAGE_TYPES, OPERATION_ID_STATUS, - GET_STATES, - TRIPLE_STORE_REPOSITORIES, - PENDING_STORAGE_REPOSITORIES, - PARANET_ACCESS_POLICY, } from '../../../../../constants/constants.js'; class HandleGetRequestCommand extends HandleProtocolMessageCommand { @@ -26,12 +21,10 @@ class HandleGetRequestCommand extends HandleProtocolMessageCommand { operationId, blockchain, contract, - tokenId, - assertionId, - state, - paranetUAL, - paranetId, - remotePeerId, + knowledgeCollectionId, + knowledgeAssetId, + ual, + includeMetadata, } = commandData; await this.operationIdService.updateOperationIdStatus( operationId, @@ -39,98 +32,92 @@ class HandleGetRequestCommand extends HandleProtocolMessageCommand { OPERATION_ID_STATUS.GET.GET_REMOTE_START, ); - let nquads; - if (paranetUAL) { - const paranetNodeAccessPolicy = await this.blockchainModuleManager.getNodesAccessPolicy( - blockchain, - paranetId, - ); - if (paranetNodeAccessPolicy === PARANET_ACCESS_POLICY.CURATED) { - const paranetCuratedNodes = - await this.blockchainModuleManager.getParanetCuratedNodes( - blockchain, - paranetId, - ); - const paranetCuratedPeerIds = paranetCuratedNodes.map((node) => - this.blockchainModuleManager.convertHexToAscii(blockchain, node.nodeId), - ); - - if (!paranetCuratedPeerIds.includes(remotePeerId)) { - return { - messageType: NETWORK_MESSAGE_TYPES.RESPONSES.NACK, - messageData: { - errorMessage: `Remote peer ${remotePeerId} is not a part of the Paranet (${paranetId}) with UAL: ${paranetUAL}`, - }, - }; - } - const ual = this.ualService.deriveUAL(blockchain, contract, tokenId); - const paranetRepository = this.paranetService.getParanetRepositoryName(paranetUAL); - const syncedAssetRecord = - await this.repositoryModuleManager.getParanetSyncedAssetRecordByUAL(ual); - - nquads = await this.tripleStoreService.getAssertion(paranetRepository, assertionId); - - let privateNquads; - if (syncedAssetRecord.privateAssertionId) { - privateNquads = await this.tripleStoreService.getAssertion( - paranetRepository, - syncedAssetRecord.privateAssertionId, - ); - } - - if (nquads?.length) { - const response = { - messageType: NETWORK_MESSAGE_TYPES.RESPONSES.ACK, - messageData: { nquads, syncedAssetRecord }, - }; - - if (privateNquads?.length) { - response.messageData.privateNquads = privateNquads; - } - - return response; - } - - return { - messageType: NETWORK_MESSAGE_TYPES.RESPONSES.NACK, - messageData: { - errorMessage: `Unable to find assertion ${assertionId} for Paranet ${paranetId} with UAL: ${paranetUAL}`, - }, - }; - } - } - if ( - !nquads?.length && - state !== GET_STATES.FINALIZED && - blockchain != null && - contract != null && - tokenId != null - ) { - const cachedAssertion = await this.pendingStorageService.getCachedAssertion( - PENDING_STORAGE_REPOSITORIES.PUBLIC, + // if (paranetUAL) { + // const paranetNodeAccessPolicy = await this.blockchainModuleManager.getNodesAccessPolicy( + // blockchain, + // paranetId, + // ); + // if (paranetNodeAccessPolicy === PARANET_ACCESS_POLICY.CURATED) { + // const paranetCuratedNodes = + // await this.blockchainModuleManager.getParanetCuratedNodes( + // blockchain, + // paranetId, + // ); + // const paranetCuratedPeerIds = paranetCuratedNodes.map((node) => + // this.blockchainModuleManager.convertHexToAscii(blockchain, node.nodeId), + // ); + + // if (!paranetCuratedPeerIds.includes(remotePeerId)) { + // return { + // messageType: NETWORK_MESSAGE_TYPES.RESPONSES.NACK, + // messageData: { + // errorMessage: `Remote peer ${remotePeerId} is not a part of the Paranet (${paranetId}) with UAL: ${paranetUAL}`, + // }, + // }; + // } + // const ual = this.ualService.deriveUAL(blockchain, contract, tokenId); + // const paranetRepository = this.paranetService.getParanetRepositoryName(paranetUAL); + // const syncedAssetRecord = + // await this.repositoryModuleManager.getParanetSyncedAssetRecordByUAL(ual); + + // nquads = await this.tripleStoreService.getAssertion(paranetRepository, assertionId); + + // let privateNquads; + // if (syncedAssetRecord.privateAssertionId) { + // privateNquads = await this.tripleStoreService.getAssertion( + // paranetRepository, + // syncedAssetRecord.privateAssertionId, + // ); + // } + + // if (nquads?.length) { + // const response = { + // messageType: NETWORK_MESSAGE_TYPES.RESPONSES.ACK, + // messageData: { nquads, syncedAssetRecord }, + // }; + + // if (privateNquads?.length) { + // response.messageData.privateNquads = privateNquads; + // } + + // return response; + // } + + // return { + // messageType: NETWORK_MESSAGE_TYPES.RESPONSES.NACK, + // messageData: { + // errorMessage: `Unable to find assertion ${assertionId} for Paranet ${paranetId} with UAL: ${paranetUAL}`, + // }, + // }; + // } + // } + + const promises = [ + this.tripleStoreService.getAssertion( blockchain, contract, - tokenId, - assertionId, - operationId, + knowledgeCollectionId, + knowledgeAssetId, + ), + ]; + + if (includeMetadata) { + promises.push( + this.tripleStoreService.getAssertionMetadata( + blockchain, + contract, + knowledgeCollectionId, + knowledgeAssetId, + ), ); - if (cachedAssertion?.public?.assertion?.length) { - nquads = cachedAssertion.public.assertion; - } } - if (!nquads?.length) { - for (const repository of [ - TRIPLE_STORE_REPOSITORIES.PUBLIC_CURRENT, - TRIPLE_STORE_REPOSITORIES.PUBLIC_HISTORY, - ]) { - // eslint-disable-next-line no-await-in-loop - nquads = await this.tripleStoreService.getAssertion(repository, assertionId); - if (nquads.length) { - break; - } - } - } + const [assertion, metadata] = await Promise.all(promises); + + const responseData = { + assertion, + ...(includeMetadata && metadata && { metadata }), + }; await this.operationIdService.updateOperationIdStatus( operationId, @@ -138,11 +125,11 @@ class HandleGetRequestCommand extends HandleProtocolMessageCommand { OPERATION_ID_STATUS.GET.GET_REMOTE_END, ); - return nquads.length - ? { messageType: NETWORK_MESSAGE_TYPES.RESPONSES.ACK, messageData: { nquads } } + return assertion.length + ? { messageType: NETWORK_MESSAGE_TYPES.RESPONSES.ACK, messageData: responseData } : { messageType: NETWORK_MESSAGE_TYPES.RESPONSES.NACK, - messageData: { errorMessage: `Unable to find assertion ${assertionId}` }, + messageData: { errorMessage: `Unable to find assertion ${ual}` }, }; } diff --git a/src/commands/protocols/get/sender/get-assertion-id-command.js b/src/commands/protocols/get/sender/get-assertion-id-command.js deleted file mode 100644 index beea10c2ce..0000000000 --- a/src/commands/protocols/get/sender/get-assertion-id-command.js +++ /dev/null @@ -1,210 +0,0 @@ -import Command from '../../../command.js'; -import { - ERROR_TYPE, - GET_STATES, - PENDING_STORAGE_REPOSITORIES, - ZERO_BYTES32, -} from '../../../../constants/constants.js'; - -class GetAssertionIdCommand extends Command { - constructor(ctx) { - super(ctx); - this.operationService = ctx.getService; - this.blockchainModuleManager = ctx.blockchainModuleManager; - this.ualService = ctx.ualService; - this.serviceAgreementService = ctx.serviceAgreementService; - this.pendingStorageService = ctx.pendingStorageService; - this.repositoryModuleManager = ctx.repositoryModuleManager; - - this.errorType = ERROR_TYPE.GET.GET_ASSERTION_ID_ERROR; - } - - /** - * Executes command and produces one or more events - * @param command - */ - async execute(command) { - const { operationId, blockchain, contract, tokenId, state, hashFunctionId } = command.data; - this.logger.info( - `Getting assertion id for token id: ${tokenId}, contract: ${contract}, state: ${state}, hash function id: ${hashFunctionId}, operation id: ${operationId} on blockchain: ${blockchain}`, - ); - let assertionId; - if (!Object.values(GET_STATES).includes(state)) { - if (state === ZERO_BYTES32) { - await this.handleError( - operationId, - blockchain, - `The provided state: ${state}. State hash cannot be 0x0.`, - this.errorType, - ); - - return Command.empty(); - } - - let pendingState; - pendingState = await this.pendingStorageService.getPendingState( - PENDING_STORAGE_REPOSITORIES.PUBLIC, - blockchain, - contract, - tokenId, - ); - if (!pendingState) { - pendingState = await this.blockchainModuleManager.getUnfinalizedAssertionId( - blockchain, - tokenId, - ); - } - - if ( - state !== pendingState && - !( - await this.blockchainModuleManager.getAssertionIds( - blockchain, - contract, - tokenId, - ) - ).includes(state) - ) { - await this.handleError( - operationId, - blockchain, - `The provided state: ${state} does not exist on the ${blockchain} blockchain, ``within contract: ${contract}, for the Knowledge Asset with tokenId: ${tokenId}, operation id: ${operationId}.`, - this.errorType, - ); - - return Command.empty(); - } - - assertionId = state; - } else { - this.logger.debug( - `Searching for latest assertion id on ${blockchain} on contract: ${contract} with tokenId: ${tokenId}, operation id: ${operationId}`, - ); - - const assertionIds = await this.blockchainModuleManager.getAssertionIds( - blockchain, - contract, - tokenId, - ); - - const latestFinalizedAssertionId = assertionIds[assertionIds.length - 1]; - - if (state === GET_STATES.LATEST) { - let unfinalizedAssertionId; - unfinalizedAssertionId = await this.pendingStorageService.getPendingState( - PENDING_STORAGE_REPOSITORIES.PUBLIC, - blockchain, - contract, - tokenId, - ); - if (!unfinalizedAssertionId) { - unfinalizedAssertionId = - await this.blockchainModuleManager.getUnfinalizedAssertionId( - blockchain, - tokenId, - ); - } - if (unfinalizedAssertionId !== ZERO_BYTES32) { - const updateCommitWindowOpen = await this.isUpdateCommitWindowOpen( - blockchain, - contract, - tokenId, - hashFunctionId, - assertionIds, - ); - if (updateCommitWindowOpen) { - assertionId = unfinalizedAssertionId; - this.logger.warn( - `Commit update window open for tokenId: ${tokenId}, using unfinalized assertion id: ${assertionId} for operation id: ${operationId}`, - ); - } else { - assertionId = latestFinalizedAssertionId; - this.logger.warn( - `Commit update window closed for tokenId: ${tokenId}, latest assertion id will be used instead of unfinalized for operation id: ${operationId}`, - ); - } - } - } - if (assertionId === null || assertionId === ZERO_BYTES32 || assertionId === undefined) { - assertionId = latestFinalizedAssertionId; - } - } - this.logger.info( - `Found assertion id: ${assertionId} for token id: ${tokenId}, contract: ${contract} on blockchain: ${blockchain} for operation id: ${operationId}`, - ); - return this.continueSequence({ ...command.data, state, assertionId }, command.sequence); - } - - async isUpdateCommitWindowOpen(blockchain, contract, tokenId, hashFunctionId, assertionIds) { - const keyword = await this.ualService.calculateLocationKeyword( - blockchain, - contract, - tokenId, - assertionIds[0], - ); - - const agreementId = this.serviceAgreementService.generateId( - blockchain, - contract, - tokenId, - keyword, - hashFunctionId, - ); - const latestStateIndex = assertionIds.length; - - let agreementData; - agreementData = await this.repositoryModuleManager.getServiceAgreementRecord(agreementId); - if (!agreementData || agreementData.scoreFunctionId === 0) { - agreementData = await this.blockchainModuleManager.getAgreementData( - blockchain, - agreementId, - ); - } - - if (!agreementData || agreementData.scoreFunctionId === 0) { - this.logger.warn( - `Unable to fetch agreement data in get assertion id command ${agreementId}, blockchain id: ${blockchain}`, - ); - throw Error(`Unable to get agreement data`); - } - - const epoch = await this.serviceAgreementService.calculateCurrentEpoch( - agreementData.startTime, - agreementData.epochLength, - blockchain, - ); - - return this.blockchainModuleManager.isUpdateCommitWindowOpen( - blockchain, - agreementId, - epoch, - latestStateIndex, - ); - } - - async handleError(operationId, blockchain, errorMessage, errorType) { - await this.operationService.markOperationAsFailed( - operationId, - blockchain, - errorMessage, - errorType, - ); - } - - /** - * Builds default getStateIdConditionalCommand - * @param map - * @returns {{add, data: *, delay: *, deadline: *}} - */ - default(map) { - const command = { - name: 'getAssertionIdCommand', - delay: 0, - transactional: false, - }; - Object.assign(command, map); - return command; - } -} - -export default GetAssertionIdCommand; diff --git a/src/commands/protocols/get/sender/get-find-shard-command.js b/src/commands/protocols/get/sender/get-find-shard-command.js new file mode 100644 index 0000000000..8acfb2b5d6 --- /dev/null +++ b/src/commands/protocols/get/sender/get-find-shard-command.js @@ -0,0 +1,35 @@ +import FindShardCommand from '../../common/find-shard-command.js'; + +class GetFindShardCommand extends FindShardCommand { + constructor(ctx) { + super(ctx); + this.operationService = ctx.getService; + } + + getOperationCommandSequence(nodePartOfShard) { + const sequence = []; + if (nodePartOfShard) { + sequence.push('localGetCommand'); + } + sequence.push('networkGetCommand'); + + return sequence; + } + + /** + * Builds default getFindShardCommand + * @param map + * @returns {{add, data: *, delay: *, deadline: *}} + */ + default(map) { + const command = { + name: 'getFindShardCommand', + delay: 0, + transactional: false, + }; + Object.assign(command, map); + return command; + } +} + +export default GetFindShardCommand; diff --git a/src/commands/protocols/get/sender/get-schedule-messages-command.js b/src/commands/protocols/get/sender/get-schedule-messages-command.js index 259d87b013..2bf7a6f2a8 100644 --- a/src/commands/protocols/get/sender/get-schedule-messages-command.js +++ b/src/commands/protocols/get/sender/get-schedule-messages-command.js @@ -13,7 +13,11 @@ class GetScheduleMessagesCommand extends ProtocolScheduleMessagesCommand { getNextCommandData(command) { return { ...super.getNextCommandData(command), - state: command.data.state, + contract: command.data.contract, + knowledgeCollectionId: command.data.knowledgeCollectionId, + knowledgeAssetId: command.data.knowledgeAssetId, + includeMetadata: command.data.includeMetadata, + ual: command.data.ual, assetSync: command.data.assetSync, paranetSync: command.data.paranetSync, paranetTokenId: command.data.paranetTokenId, diff --git a/src/commands/protocols/get/sender/get-validate-asset-command.js b/src/commands/protocols/get/sender/get-validate-asset-command.js new file mode 100644 index 0000000000..b2867dd3f1 --- /dev/null +++ b/src/commands/protocols/get/sender/get-validate-asset-command.js @@ -0,0 +1,91 @@ +import ValidateAssetCommand from '../../../common/validate-asset-command.js'; +import Command from '../../../command.js'; +import { OPERATION_ID_STATUS } from '../../../../constants/constants.js'; + +class GetValidateAssetCommand extends ValidateAssetCommand { + constructor(ctx) { + super(ctx); + this.operationService = ctx.publishService; + } + + async handleError(operationId, blockchain, errorMessage, errorType) { + await this.operationService.markOperationAsFailed( + operationId, + blockchain, + errorMessage, + errorType, + ); + } + + /** + * Executes command and produces one or more events + * @param command + */ + async execute(command) { + const { operationId, blockchain, contract, knowledgeCollectionId, ual } = command.data; + await this.operationIdService.updateOperationIdStatus( + operationId, + blockchain, + OPERATION_ID_STATUS.VALIDATE_ASSET_START, + ); + + const isUAL = this.ualService.isUAL(ual); + + if (!isUAL) { + await this.handleError( + operationId, + blockchain, + `Get for operation id: ${operationId}, UAL: ${ual}: is not a UAL.`, + this.errorType, + ); + return Command.empty(); + } + // TODO: Update to validate knowledge asset index + const isValidUal = await this.validationService.validateUal( + blockchain, + contract, + knowledgeCollectionId, + ); + + if (!isValidUal) { + await this.handleError( + operationId, + blockchain, + `Get for operation id: ${operationId}, UAL: ${ual}: there is no asset with this UAL.`, + this.errorType, + ); + return Command.empty(); + } + + await this.operationIdService.updateOperationIdStatus( + operationId, + blockchain, + OPERATION_ID_STATUS.VALIDATE_ASSET_END, + ); + return this.continueSequence( + { + ...command.data, + retry: undefined, + period: undefined, + }, + command.sequence, + ); + } + + /** + * Builds default getValidateAssetCommand + * @param map + * @returns {{add, data: *, delay: *, deadline: *}} + */ + default(map) { + const command = { + name: 'getValidateAssetCommand', + delay: 0, + transactional: false, + }; + Object.assign(command, map); + return command; + } +} + +export default GetValidateAssetCommand; diff --git a/src/commands/protocols/get/sender/local-get-command.js b/src/commands/protocols/get/sender/local-get-command.js index ba7f090576..e7ec1e7c3a 100644 --- a/src/commands/protocols/get/sender/local-get-command.js +++ b/src/commands/protocols/get/sender/local-get-command.js @@ -1,11 +1,5 @@ import Command from '../../../command.js'; -import { - OPERATION_ID_STATUS, - ERROR_TYPE, - GET_STATES, - TRIPLE_STORE_REPOSITORIES, - PENDING_STORAGE_REPOSITORIES, -} from '../../../../constants/constants.js'; +import { OPERATION_ID_STATUS, ERROR_TYPE } from '../../../../constants/constants.js'; class LocalGetCommand extends Command { constructor(ctx) { @@ -28,126 +22,103 @@ class LocalGetCommand extends Command { * @param command */ async execute(command) { - const { operationId, blockchain, contract, tokenId, assertionId, state, paranetUAL } = - command.data; + const { + operationId, + blockchain, + includeMetadata, + contract, + knowledgeCollectionId, + knowledgeAssetId, + } = command.data; await this.operationIdService.updateOperationIdStatus( operationId, blockchain, OPERATION_ID_STATUS.GET.GET_LOCAL_START, ); - const response = {}; - - if (paranetUAL) { - const paranetRepository = this.paranetService.getParanetRepositoryName(paranetUAL); - - const ual = this.ualService.deriveUAL(blockchain, contract, tokenId); - const syncedAssetRecord = - await this.repositoryModuleManager.getParanetSyncedAssetRecordByUAL(ual); - - const nquads = await this.tripleStoreService.getAssertion( - paranetRepository, - syncedAssetRecord.publicAssertionId, - ); - - let privateNquads; - if (syncedAssetRecord.privateAssertionId) { - privateNquads = await this.tripleStoreService.getAssertion( - paranetRepository, - syncedAssetRecord.privateAssertionId, - ); - } - - if (nquads?.length) { - response.assertion = nquads; - if (privateNquads?.length) { - response.privateAssertion = privateNquads; - } - } else { - this.handleError( - operationId, - blockchain, - `Couldn't find locally asset with ${ual} in paranet ${paranetUAL}`, - this.errorType, - ); - } - - await this.operationService.markOperationAsCompleted( - operationId, + // const response = {}; + + // if (paranetUAL) { + // const paranetRepository = this.paranetService.getParanetRepositoryName(paranetUAL); + + // const ual = this.ualService.deriveUAL(blockchain, contract, tokenId); + // const syncedAssetRecord = + // await this.repositoryModuleManager.getParanetSyncedAssetRecordByUAL(ual); + + // const nquads = await this.tripleStoreService.getAssertion( + // paranetRepository, + // syncedAssetRecord.publicAssertionId, + // ); + + // let privateNquads; + // if (syncedAssetRecord.privateAssertionId) { + // privateNquads = await this.tripleStoreService.getAssertion( + // paranetRepository, + // syncedAssetRecord.privateAssertionId, + // ); + // } + + // if (nquads?.length) { + // response.assertion = nquads; + // if (privateNquads?.length) { + // response.privateAssertion = privateNquads; + // } + // } else { + // this.handleError( + // operationId, + // blockchain, + // `Couldn't find locally asset with ${ual} in paranet ${paranetUAL}`, + // this.errorType, + // ); + // } + + // await this.operationService.markOperationAsCompleted( + // operationId, + // blockchain, + // response, + // [ + // OPERATION_ID_STATUS.GET.GET_LOCAL_END, + // OPERATION_ID_STATUS.GET.GET_END, + // OPERATION_ID_STATUS.COMPLETED, + // ], + // ); + + // return Command.empty(); + // } + + // else { + + const promises = [ + this.tripleStoreService.getAssertion( blockchain, - response, - [ - OPERATION_ID_STATUS.GET.GET_LOCAL_END, - OPERATION_ID_STATUS.GET.GET_END, - OPERATION_ID_STATUS.COMPLETED, - ], - ); - - return Command.empty(); - } - - if ( - state !== GET_STATES.FINALIZED && - blockchain != null && - contract != null && - tokenId != null - ) { - for (const repository of [ - PENDING_STORAGE_REPOSITORIES.PRIVATE, - PENDING_STORAGE_REPOSITORIES.PUBLIC, - ]) { - // eslint-disable-next-line no-await-in-loop - const stateIsPending = await this.pendingStorageService.assetHasPendingState( - repository, + contract, + knowledgeCollectionId, + knowledgeAssetId, + ), + ]; + + if (includeMetadata) { + promises.push( + this.tripleStoreService.getAssertionMetadata( blockchain, contract, - tokenId, - assertionId, - ); - - if (stateIsPending) { - // eslint-disable-next-line no-await-in-loop - const cachedAssertion = await this.pendingStorageService.getCachedAssertion( - repository, - blockchain, - contract, - tokenId, - assertionId, - operationId, - ); - - if (cachedAssertion?.public?.assertion?.length) { - response.assertion = cachedAssertion.public.assertion; - if (cachedAssertion?.private?.assertion?.length) { - response.privateAssertion = cachedAssertion.private.assertion; - } - break; - } - } - } + knowledgeCollectionId, + knowledgeAssetId, + ), + ); } - if (!response?.assertion?.length) { - for (const repository of [ - TRIPLE_STORE_REPOSITORIES.PRIVATE_CURRENT, - TRIPLE_STORE_REPOSITORIES.PUBLIC_CURRENT, - TRIPLE_STORE_REPOSITORIES.PRIVATE_HISTORY, - TRIPLE_STORE_REPOSITORIES.PUBLIC_HISTORY, - ]) { - // eslint-disable-next-line no-await-in-loop - response.assertion = await this.tripleStoreService.getAssertion( - repository, - assertionId, - ); - if (response?.assertion?.length) break; - } - } + const [assertion, metadata] = await Promise.all(promises); - if (response?.assertion?.length) { + const responseData = { + assertion, + ...(includeMetadata && metadata && { metadata }), + }; + if (assertion.length) { await this.operationService.markOperationAsCompleted( operationId, blockchain, - response, + responseData, [ OPERATION_ID_STATUS.GET.GET_LOCAL_END, OPERATION_ID_STATUS.GET.GET_END, @@ -157,6 +128,7 @@ class LocalGetCommand extends Command { return Command.empty(); } + // } await this.operationIdService.updateOperationIdStatus( operationId, diff --git a/src/commands/protocols/get/sender/network-get-command.js b/src/commands/protocols/get/sender/network-get-command.js index 2856591cbb..a8ea8e3123 100644 --- a/src/commands/protocols/get/sender/network-get-command.js +++ b/src/commands/protocols/get/sender/network-get-command.js @@ -10,25 +10,6 @@ class NetworkGetCommand extends NetworkProtocolCommand { this.errorType = ERROR_TYPE.GET.GET_NETWORK_ERROR; } - async getKeywords(command) { - const { blockchain, contract, tokenId } = command.data; - const locationKeyword = await this.ualService.calculateLocationKeyword( - blockchain, - contract, - tokenId, - ); - - return [locationKeyword]; - } - - async getBatchSize() { - return 2; - } - - async getMinAckResponses() { - return 1; - } - /** * Builds default networkGetCommand * @param map diff --git a/src/commands/protocols/get/sender/v1.0.0/v1-0-0-get-init-command.js b/src/commands/protocols/get/sender/v1.0.0/v1-0-0-get-init-command.js deleted file mode 100644 index 24dc11de19..0000000000 --- a/src/commands/protocols/get/sender/v1.0.0/v1-0-0-get-init-command.js +++ /dev/null @@ -1,53 +0,0 @@ -import ProtocolInitCommand from '../../../common/protocol-init-command.js'; -import { NETWORK_MESSAGE_TIMEOUT_MILLS, ERROR_TYPE } from '../../../../../constants/constants.js'; - -class GetInitCommand extends ProtocolInitCommand { - constructor(ctx) { - super(ctx); - this.operationService = ctx.getService; - - this.errorType = ERROR_TYPE.GET.GET_INIT_ERROR; - } - - async prepareMessage(command) { - const { contract, tokenId, keyword, assertionId, state, paranetUAL, paranetId } = - command.data; - const proximityScoreFunctionsPairId = command.data.proximityScoreFunctionsPairId ?? 1; - // TODO: Backwards compatibility, send blockchain without chainId - const blockchain = command.data.blockchain.split(':')[0]; - - return { - blockchain, - contract, - tokenId, - keyword, - assertionId, - state, - proximityScoreFunctionsPairId, - paranetUAL, - paranetId, - }; - } - - messageTimeout() { - return NETWORK_MESSAGE_TIMEOUT_MILLS.GET.INIT; - } - - /** - * Builds default getInitCommand - * @param map - * @returns {{add, data: *, delay: *, deadline: *}} - */ - default(map) { - const command = { - name: 'v1_0_0GetInitCommand', - delay: 0, - retries: 0, - transactional: false, - }; - Object.assign(command, map); - return command; - } -} - -export default GetInitCommand; diff --git a/src/commands/protocols/get/sender/v1.0.0/v1-0-0-get-request-command.js b/src/commands/protocols/get/sender/v1.0.0/v1-0-0-get-request-command.js index 1b5d2167eb..c5d9cae199 100644 --- a/src/commands/protocols/get/sender/v1.0.0/v1-0-0-get-request-command.js +++ b/src/commands/protocols/get/sender/v1.0.0/v1-0-0-get-request-command.js @@ -31,19 +31,26 @@ class GetRequestCommand extends ProtocolRequestCommand { } async prepareMessage(command) { - const { contract, tokenId, assertionId, state, hashFunctionId, paranetUAL, paranetId } = - command.data; - const proximityScoreFunctionsPairId = command.data.proximityScoreFunctionsPairId ?? 1; - - // TODO: Backwards compatibility, send blockchain without chainId - const blockchain = command.data.blockchain.split(':')[0]; + const { + blockchain, + contract, + knowledgeCollectionId, + knowledgeAssetId, + includeMetadata, + ual, + hashFunctionId, + paranetUAL, + paranetId, + } = command.data; + const proximityScoreFunctionsPairId = command.data.proximityScoreFunctionsPairId ?? 2; return { blockchain, contract, - tokenId, - assertionId, - state, + knowledgeCollectionId, + knowledgeAssetId, + includeMetadata, + ual, hashFunctionId, proximityScoreFunctionsPairId, paranetUAL, @@ -52,18 +59,18 @@ class GetRequestCommand extends ProtocolRequestCommand { } async handleAck(command, responseData) { - if (responseData?.nquads) { - try { - await this.validationService.validateAssertion( - command.data.assertionId, - command.data.blockchain, - responseData.nquads, - ); - } catch (e) { - return this.handleNack(command, { - errorMessage: e.message, - }); - } + if (responseData?.assertion) { + // TODO: Add this validation + // try { + // await this.validationService.validateAssertion( + // command.data.blockchain, + // responseData.assertion, + // ); + // } catch (e) { + // return this.handleNack(command, { + // errorMessage: e.message, + // }); + // } await this.operationService.processResponse( command, diff --git a/src/commands/protocols/publish/receiver/v1.0.0/v1-0-0-handle-store-init-command.js b/src/commands/protocols/publish/receiver/v1.0.0/v1-0-0-handle-store-init-command.js deleted file mode 100644 index 8a0e410be3..0000000000 --- a/src/commands/protocols/publish/receiver/v1.0.0/v1-0-0-handle-store-init-command.js +++ /dev/null @@ -1,68 +0,0 @@ -import HandleProtocolMessageCommand from '../../../common/handle-protocol-message-command.js'; -import { ERROR_TYPE, OPERATION_ID_STATUS } from '../../../../../constants/constants.js'; - -class HandleStoreInitCommand extends HandleProtocolMessageCommand { - constructor(ctx) { - super(ctx); - this.publishService = ctx.publishService; - this.ualService = ctx.ualService; - - this.errorType = ERROR_TYPE.PUBLISH.PUBLISH_REMOTE_ERROR; - } - - async prepareMessage(commandData) { - const { operationId, assertionId, blockchain, contract, tokenId, keyword, hashFunctionId } = - commandData; - const proximityScoreFunctionsPairId = commandData.proximityScoreFunctionsPairId ?? 1; - - await this.operationIdService.updateOperationIdStatus( - operationId, - blockchain, - OPERATION_ID_STATUS.VALIDATE_ASSET_REMOTE_START, - ); - - const validationResult = await this.validateReceivedData( - operationId, - assertionId, - blockchain, - contract, - tokenId, - keyword, - hashFunctionId, - proximityScoreFunctionsPairId, - ); - - this.operationIdService.updateOperationIdStatus( - operationId, - blockchain, - OPERATION_ID_STATUS.VALIDATE_ASSET_REMOTE_END, - ); - - return validationResult; - } - - async retryFinished(command) { - const { operationId } = command.data; - await this.handleError( - `Retry count for command: ${command.name} reached! Unable to validate data for operation id: ${operationId}`, - command, - ); - } - - /** - * Builds default handleStoreInitCommand - * @param map - * @returns {{add, data: *, delay: *, deadline: *}} - */ - default(map) { - const command = { - name: 'v1_0_0HandleStoreInitCommand', - delay: 0, - transactional: false, - }; - Object.assign(command, map); - return command; - } -} - -export default HandleStoreInitCommand; diff --git a/src/commands/protocols/publish/receiver/v1.0.0/v1-0-0-handle-store-request-command.js b/src/commands/protocols/publish/receiver/v1.0.0/v1-0-0-handle-store-request-command.js index bda74a7bb0..5a8d1ef17d 100644 --- a/src/commands/protocols/publish/receiver/v1.0.0/v1-0-0-handle-store-request-command.js +++ b/src/commands/protocols/publish/receiver/v1.0.0/v1-0-0-handle-store-request-command.js @@ -4,8 +4,7 @@ import { NETWORK_MESSAGE_TYPES, OPERATION_ID_STATUS, ERROR_TYPE, - TRIPLE_STORE_REPOSITORIES, - SERVICE_AGREEMENT_SOURCES, + // TRIPLE_STORE_REPOSITORIES, } from '../../../../../constants/constants.js'; class HandleStoreRequestCommand extends HandleProtocolMessageCommand { @@ -18,83 +17,76 @@ class HandleStoreRequestCommand extends HandleProtocolMessageCommand { this.blockchainModuleManager = ctx.blockchainModuleManager; this.tripleStoreService = ctx.tripleStoreService; this.ualService = ctx.ualService; + this.pendingStorageService = ctx.pendingStorageService; + this.blsService = ctx.blsService; + this.operationIdService = ctx.operationIdService; + this.pendingStorageService = ctx.pendingStorageService; this.errorType = ERROR_TYPE.PUBLISH.PUBLISH_LOCAL_STORE_REMOTE_ERROR; } async prepareMessage(commandData) { - const { - blockchain, - keyword, - hashFunctionId, - contract, - tokenId, - operationId, - assertionId, - agreementId, - agreementData, - } = commandData; + const { blockchain, operationId, datasetRoot } = commandData; await this.operationIdService.updateOperationIdStatus( operationId, blockchain, - OPERATION_ID_STATUS.PUBLISH.VALIDATING_PUBLISH_ASSERTION_REMOTE_START, + OPERATION_ID_STATUS.VALIDATE_ASSET_REMOTE_START, ); - const assertionIds = await this.blockchainModuleManager.getAssertionIds( + + const { dataset } = await this.operationIdService.getCachedOperationIdData(operationId); + + const validationResult = await this.validateReceivedData( + operationId, + datasetRoot, + dataset, blockchain, - contract, - tokenId, ); - const stateIndex = assertionIds.length - 1; - const { assertion } = await this.operationIdService.getCachedOperationIdData(operationId); - await this.validationService.validateAssertion(assertionId, blockchain, assertion); - await this.operationIdService.updateOperationIdStatus( + this.operationIdService.updateOperationIdStatus( operationId, blockchain, - OPERATION_ID_STATUS.PUBLISH.VALIDATING_PUBLISH_ASSERTION_REMOTE_END, + OPERATION_ID_STATUS.VALIDATE_ASSET_REMOTE_END, ); + if (validationResult.messageType === NETWORK_MESSAGE_TYPES.RESPONSES.NACK) { + return validationResult; + } + await this.operationIdService.updateOperationIdStatus( operationId, blockchain, - OPERATION_ID_STATUS.PUBLISH.PUBLISH_LOCAL_STORE_START, + OPERATION_ID_STATUS.PUBLISH.VALIDATING_PUBLISH_ASSERTION_REMOTE_START, ); - await this.tripleStoreService.localStoreAsset( - TRIPLE_STORE_REPOSITORIES.PUBLIC_CURRENT, - assertionId, - assertion, + // TODO: Two updateOperationIdStatus update in a row, this should be changed + await this.operationIdService.updateOperationIdStatus( + operationId, blockchain, - contract, - tokenId, - keyword, + OPERATION_ID_STATUS.PUBLISH.VALIDATING_PUBLISH_ASSERTION_REMOTE_END, ); - await this.repositoryModuleManager.updateServiceAgreementRecord( + await this.operationIdService.updateOperationIdStatus( + operationId, blockchain, - contract, - tokenId, - agreementId, - agreementData.startTime, - agreementData.epochsNumber, - agreementData.epochLength, - agreementData.scoreFunctionId, - agreementData.proofWindowOffsetPerc, - hashFunctionId, - keyword, - assertionId, - stateIndex, - SERVICE_AGREEMENT_SOURCES.NODE, + OPERATION_ID_STATUS.PUBLISH.PUBLISH_LOCAL_STORE_START, ); + await this.pendingStorageService.cacheDataset(operationId, datasetRoot, dataset); + + const identityId = await this.blockchainModuleManager.getIdentityId(blockchain); + const signature = await this.blsService.sign(datasetRoot); + await this.operationIdService.updateOperationIdStatus( operationId, blockchain, OPERATION_ID_STATUS.PUBLISH.PUBLISH_LOCAL_STORE_END, ); - return { messageType: NETWORK_MESSAGE_TYPES.RESPONSES.ACK, messageData: {} }; + return { + messageType: NETWORK_MESSAGE_TYPES.RESPONSES.ACK, + messageData: { identityId, signature }, + }; } /** diff --git a/src/commands/protocols/publish/sender/network-publish-command.js b/src/commands/protocols/publish/sender/network-publish-command.js index ed1bf5bbdd..102fce6c7a 100644 --- a/src/commands/protocols/publish/sender/network-publish-command.js +++ b/src/commands/protocols/publish/sender/network-publish-command.js @@ -4,32 +4,13 @@ import { ERROR_TYPE } from '../../../../constants/constants.js'; class NetworkPublishCommand extends NetworkProtocolCommand { constructor(ctx) { super(ctx); - this.operationService = ctx.publishService; this.blockchainModuleManager = ctx.blockchainModuleManager; this.ualService = ctx.ualService; + this.operationService = ctx.publishService; this.errorType = ERROR_TYPE.PUBLISH.PUBLISH_START_ERROR; } - async getKeywords(command) { - const { blockchain, contract, tokenId } = command.data; - const locationKeyword = await this.ualService.calculateLocationKeyword( - blockchain, - contract, - tokenId, - ); - - return [locationKeyword]; - } - - async getBatchSize(blockchainId) { - return this.blockchainModuleManager.getR2(blockchainId); - } - - async getMinAckResponses(blockchainId) { - return this.blockchainModuleManager.getR1(blockchainId); - } - /** * Builds default networkPublishCommand * @param map diff --git a/src/commands/protocols/publish/sender/publish-find-shard-command.js b/src/commands/protocols/publish/sender/publish-find-shard-command.js new file mode 100644 index 0000000000..9965e4a0d5 --- /dev/null +++ b/src/commands/protocols/publish/sender/publish-find-shard-command.js @@ -0,0 +1,36 @@ +import FindShardCommand from '../../common/find-shard-command.js'; + +class PublishFindShardCommand extends FindShardCommand { + constructor(ctx) { + super(ctx); + this.operationService = ctx.publishService; + } + + getOperationCommandSequence(nodePartOfShard) { + const sequence = []; + sequence.push('publishValidateAssetCommand'); + if (nodePartOfShard) { + sequence.push('localStoreCommand'); + } + sequence.push('networkPublishCommand'); + + return sequence; + } + + /** + * Builds default publishFindShardCommand + * @param map + * @returns {{add, data: *, delay: *, deadline: *}} + */ + default(map) { + const command = { + name: 'publishFindShardCommand', + delay: 0, + transactional: false, + }; + Object.assign(command, map); + return command; + } +} + +export default PublishFindShardCommand; diff --git a/src/commands/protocols/publish/sender/publish-schedule-messages-command.js b/src/commands/protocols/publish/sender/publish-schedule-messages-command.js index ff0f7ebdb0..da1e1995e0 100644 --- a/src/commands/protocols/publish/sender/publish-schedule-messages-command.js +++ b/src/commands/protocols/publish/sender/publish-schedule-messages-command.js @@ -1,5 +1,4 @@ import ProtocolScheduleMessagesCommand from '../../common/protocol-schedule-messages-command.js'; -import Command from '../../../command.js'; import { OPERATION_ID_STATUS, ERROR_TYPE } from '../../../../constants/constants.js'; class PublishScheduleMessagesCommand extends ProtocolScheduleMessagesCommand { @@ -14,116 +13,6 @@ class PublishScheduleMessagesCommand extends ProtocolScheduleMessagesCommand { this.errorType = ERROR_TYPE.PUBLISH.PUBLISH_START_ERROR; } - async execute(command) { - const { - operationId, - keyword, - leftoverNodes, - numberOfFoundNodes, - blockchain, - minAckResponses, - hashFunctionId, - assertionId, - tokenId, - contract, - } = command.data; - let isValid = true; - // perform check only first time not for every batch - if (leftoverNodes.length === numberOfFoundNodes) { - isValid = await this.validateBidsForNeighbourhood( - blockchain, - contract, - tokenId, - keyword, - hashFunctionId, - assertionId, - leftoverNodes, - minAckResponses, - operationId, - ); - } - if (isValid) { - return super.execute(command); - } - return Command.empty(); - } - - async validateBidsForNeighbourhood( - blockchain, - contract, - tokenId, - keyword, - hashFunctionId, - assertionId, - nodes, - minAckResponses, - operationId, - ) { - const blockchainAssertionSize = await this.blockchainModuleManager.getAssertionSize( - blockchain, - assertionId, - ); - - const agreementId = this.serviceAgreementService.generateId( - blockchain, - contract, - tokenId, - keyword, - hashFunctionId, - ); - const agreementData = await this.blockchainModuleManager.getAgreementData( - blockchain, - agreementId, - ); - - if (!agreementData) { - await this.operationService.markOperationAsFailed( - operationId, - blockchain, - 'Unable to fetch agreement data.', - ERROR_TYPE.PUBLISH.PUBLISH_START_ERROR, - ); - return false; - } - - const r0 = await this.blockchainModuleManager.getR0(); - - const serviceAgreementBid = await this.serviceAgreementService.calculateBid( - blockchain, - blockchainAssertionSize, - agreementData, - r0, - ); - - let validBids = 0; - - await Promise.all( - nodes.map(async (node) => { - const ask = await this.getAsk(blockchain, node.id); - if (ask.lte(serviceAgreementBid)) { - validBids += 1; - } - }), - ); - - if (validBids < minAckResponses) { - await this.operationService.markOperationAsFailed( - operationId, - blockchain, - 'Unable to start publish, not enough nodes in neighbourhood satisfy the bid.', - ERROR_TYPE.PUBLISH.PUBLISH_START_ERROR, - ); - return false; - } - return true; - } - - async getAsk(blockchain, nodeId) { - const peerRecord = await this.repositoryModuleManager.getPeerRecord(nodeId, blockchain); - - return this.blockchainModuleManager.convertToWei(blockchain, peerRecord.ask); - } - /** * Builds default publishScheduleMessagesCommand * @param map diff --git a/src/commands/protocols/publish/sender/publish-validate-asset-blockchain-command.js b/src/commands/protocols/publish/sender/publish-validate-asset-blockchain-command.js new file mode 100644 index 0000000000..021a635de3 --- /dev/null +++ b/src/commands/protocols/publish/sender/publish-validate-asset-blockchain-command.js @@ -0,0 +1,112 @@ +import ValidateAssetCommand from '../../../common/validate-asset-command.js'; +import Command from '../../../command.js'; +import { + OPERATION_ID_STATUS, + LOCAL_STORE_TYPES, + ZERO_BYTES32, +} from '../../../../constants/constants.js'; + +class PublishValidateAssetBlockchainCommand extends ValidateAssetCommand { + constructor(ctx) { + super(ctx); + this.operationService = ctx.publishService; + } + + async handleError(operationId, blockchain, errorMessage, errorType) { + await this.operationService.markOperationAsFailed( + operationId, + blockchain, + errorMessage, + errorType, + ); + } + + /** + * Executes command and produces one or more events + * @param command + */ + async execute(command) { + const { + operationId, + blockchain, + contract, + tokenId, + datasetRoot, + storeType = LOCAL_STORE_TYPES.TRIPLE, + } = command.data; + + await this.operationIdService.updateOperationIdStatus( + operationId, + blockchain, + OPERATION_ID_STATUS.VALIDATE_ASSET_BLOCKCHAIN_START, + ); + + let blockchainAssertionId; + if ( + storeType === LOCAL_STORE_TYPES.TRIPLE || + storeType === LOCAL_STORE_TYPES.TRIPLE_PARANET + ) { + blockchainAssertionId = await this.blockchainModuleManager.getLatestAssertionId( + blockchain, + contract, + tokenId, + ); + } else { + blockchainAssertionId = await this.blockchainModuleManager.getUnfinalizedAssertionId( + blockchain, + tokenId, + ); + } + if (!blockchainAssertionId || blockchainAssertionId === ZERO_BYTES32) { + return Command.retry(); + } + + const { dataset: cachedData } = await this.operationIdService.getCachedOperationIdData( + operationId, + ); + const ual = this.ualService.deriveUAL(blockchain, contract, tokenId); + this.logger.debug( + `Validating asset's public assertion with id: ${datasetRoot} ual: ${ual}`, + ); + + if (blockchainAssertionId !== datasetRoot) { + await this.handleError( + operationId, + blockchain, + `Invalid assertion id for asset ${ual}. Received value from blockchain: ${blockchainAssertionId}, received value from request: ${datasetRoot}`, + this.errorType, + true, + ); + return Command.empty(); + } + + await this.validationService.validateAssertion(datasetRoot, blockchain, cachedData); + + await this.operationIdService.updateOperationIdStatus( + operationId, + blockchain, + OPERATION_ID_STATUS.VALIDATE_ASSET_BLOCKCHAIN_END, + ); + return this.continueSequence( + { ...command.data, retry: undefined, period: undefined }, + command.sequence, + ); + } + + /** + * Builds default PublishValidateAssetBlockchainCommand + * @param map + * @returns {{add, data: *, delay: *, deadline: *}} + */ + default(map) { + const command = { + name: 'publishValidateAssetBlockchainCommand', + delay: 0, + transactional: false, + }; + Object.assign(command, map); + return command; + } +} + +export default PublishValidateAssetBlockchainCommand; diff --git a/src/commands/protocols/publish/sender/publish-validate-asset-command.js b/src/commands/protocols/publish/sender/publish-validate-asset-command.js index 764624a226..c47c5576d3 100644 --- a/src/commands/protocols/publish/sender/publish-validate-asset-command.js +++ b/src/commands/protocols/publish/sender/publish-validate-asset-command.js @@ -1,4 +1,10 @@ import ValidateAssetCommand from '../../../common/validate-asset-command.js'; +import Command from '../../../command.js'; +import { + OPERATION_ID_STATUS, + LOCAL_STORE_TYPES, + PARANET_ACCESS_POLICY, +} from '../../../../constants/constants.js'; class PublishValidateAssetCommand extends ValidateAssetCommand { constructor(ctx) { @@ -15,6 +21,115 @@ class PublishValidateAssetCommand extends ValidateAssetCommand { ); } + /** + * Executes command and produces one or more events + * @param command + */ + async execute(command) { + const { + operationId, + blockchain, + storeType = LOCAL_STORE_TYPES.TRIPLE, + paranetUAL, + datasetRoot, + } = command.data; + + await this.operationIdService.updateOperationIdStatus( + operationId, + blockchain, + OPERATION_ID_STATUS.VALIDATE_ASSET_START, + ); + + const cachedData = await this.operationIdService.getCachedOperationIdData(operationId); + const isValidAssertion = await this.validationService.validateDatasetRoot( + cachedData.dataset, + datasetRoot, + ); + + if (!isValidAssertion) { + await this.handleError( + operationId, + blockchain, + `Invalid dataset root for assertion. Received value received value from request: ${cachedData.datasetRoot}`, + this.errorType, + ); + return Command.empty(); + } + + let paranetId; + if (storeType === LOCAL_STORE_TYPES.TRIPLE_PARANET) { + try { + const { + blockchain: paranetBlockchain, + contract: paranetContract, + tokenId: paranetTokenId, + } = this.ualService.resolveUAL(paranetUAL); + + paranetId = this.paranetService.constructParanetId( + paranetBlockchain, + paranetContract, + paranetTokenId, + ); + const paranetExists = await this.blockchainModuleManager.paranetExists( + paranetBlockchain, + paranetId, + ); + if (!paranetExists) { + await this.handleError( + operationId, + blockchain, + `Paranet: ${paranetId} doesn't exist.`, + this.errorType, + ); + return Command.empty(); + } + + const nodesAccessPolicy = await this.blockchainModuleManager.getNodesAccessPolicy( + blockchain, + paranetId, + ); + if (nodesAccessPolicy === PARANET_ACCESS_POLICY.CURATED) { + const identityId = await this.blockchainModuleManager.getIdentityId(blockchain); + const isCuratedNode = await this.blockchainModuleManager.isCuratedNode( + blockchain, + paranetId, + identityId, + ); + if (!isCuratedNode) { + await this.handleError( + operationId, + blockchain, + `Node is not part of curated paranet ${paranetId} because node with id ${identityId} is not a curated node.`, + this.errorType, + ); + return Command.empty(); + } + } else { + await this.handleError( + operationId, + blockchain, + `Paranet ${paranetId} is not curated paranet.`, + this.errorType, + ); + return Command.empty(); + } + } catch (error) { + await this.handleError(operationId, blockchain, error.message, this.errorType); + return Command.empty(); + } + } + + await this.operationIdService.updateOperationIdStatus( + operationId, + blockchain, + OPERATION_ID_STATUS.VALIDATE_ASSET_END, + ); + return this.continueSequence( + { ...command.data, paranetId, retry: undefined, period: undefined }, + command.sequence, + ); + } + /** * Builds default publishValidateAssetCommand * @param map diff --git a/src/commands/protocols/publish/sender/v1.0.0/v1-0-0-publish-init-command.js b/src/commands/protocols/publish/sender/v1.0.0/v1-0-0-publish-init-command.js deleted file mode 100644 index 11aa6753b7..0000000000 --- a/src/commands/protocols/publish/sender/v1.0.0/v1-0-0-publish-init-command.js +++ /dev/null @@ -1,32 +0,0 @@ -import ProtocolInitCommand from '../../../common/protocol-init-command.js'; -import { NETWORK_MESSAGE_TIMEOUT_MILLS, ERROR_TYPE } from '../../../../../constants/constants.js'; - -class PublishInitCommand extends ProtocolInitCommand { - constructor(ctx) { - super(ctx); - this.operationService = ctx.publishService; - - this.errorType = ERROR_TYPE.PUBLISH.PUBLISH_STORE_INIT_ERROR; - } - - messageTimeout() { - return NETWORK_MESSAGE_TIMEOUT_MILLS.PUBLISH.INIT; - } - - /** - * Builds default publishInitCommand - * @param map - * @returns {{add, data: *, delay: *, deadline: *}} - */ - default(map) { - const command = { - name: 'v1_0_0PublishInitCommand', - delay: 0, - transactional: false, - }; - Object.assign(command, map); - return command; - } -} - -export default PublishInitCommand; diff --git a/src/commands/protocols/publish/sender/v1.0.0/v1-0-0-publish-request-command.js b/src/commands/protocols/publish/sender/v1.0.0/v1-0-0-publish-request-command.js index d1f5b01ce1..0d0c8a74e1 100644 --- a/src/commands/protocols/publish/sender/v1.0.0/v1-0-0-publish-request-command.js +++ b/src/commands/protocols/publish/sender/v1.0.0/v1-0-0-publish-request-command.js @@ -5,17 +5,23 @@ class PublishRequestCommand extends ProtocolRequestCommand { constructor(ctx) { super(ctx); this.operationService = ctx.publishService; - + this.signatureStorageService = ctx.signatureStorageService; + this.operationIdService = ctx.operationIdService; this.errorType = ERROR_TYPE.PUBLISH.PUBLISH_STORE_REQUEST_ERROR; } async prepareMessage(command) { - const { - public: { assertion }, - } = await this.operationIdService.getCachedOperationIdData(command.data.operationId); + const { datasetRoot, operationId } = command.data; + + // TODO: Backwards compatibility, send blockchain without chainId + const { blockchain } = command.data; + + const { dataset } = await this.operationIdService.getCachedOperationIdData(operationId); return { - assertion, + dataset, + datasetRoot, + blockchain, }; } @@ -23,6 +29,16 @@ class PublishRequestCommand extends ProtocolRequestCommand { return NETWORK_MESSAGE_TIMEOUT_MILLS.PUBLISH.REQUEST; } + async handleAck(command, responseData) { + const { operationId } = command.data; + await this.signatureStorageService.addSignatureToStorage( + operationId, + responseData.identityId, + responseData.signature, + ); + return super.handleAck(command, responseData); + } + /** * Builds default publishRequestCommand * @param map diff --git a/src/commands/protocols/publish/store-assertion-command.js b/src/commands/protocols/publish/store-assertion-command.js new file mode 100644 index 0000000000..b906aeb993 --- /dev/null +++ b/src/commands/protocols/publish/store-assertion-command.js @@ -0,0 +1,81 @@ +import Command from '../../command.js'; +import { + OPERATION_ID_STATUS, + ERROR_TYPE, + TRIPLE_STORE_REPOSITORIES, +} from '../../../constants/constants.js'; + +class StoreAssertionCommand extends Command { + constructor(ctx) { + super(ctx); + this.operationIdService = ctx.operationIdService; + this.ualService = ctx.ualService; + this.dataService = ctx.dataService; + this.tripleStoreService = ctx.tripleStoreService; + + this.errorType = ERROR_TYPE.STORE_ASSERTION_ERROR; + } + + async execute(command) { + const { operationId, ual, blockchain, assertion } = command.data; + + await this.operationIdService.updateOperationIdStatus( + operationId, + blockchain, + OPERATION_ID_STATUS.PUBLISH_FINALIZATION.PUBLISH_FINALIZATION_STORE_ASSERTION_START, + ); + + try { + const knowledgeAssetsCount = this.dataService.countDistinctSubjects(assertion); + const knowledgeAssetsUALs = []; + const knowledgeAssetStates = []; + for (let i = 0; i < knowledgeAssetsCount; i += 1) { + knowledgeAssetsUALs.push(`${ual}/${i + 1}`); + knowledgeAssetStates.push(0); + } + + // eslint-disable-next-line no-await-in-loop + await this.tripleStoreService.insertKnowledgeCollection( + TRIPLE_STORE_REPOSITORIES.DKG, + ual, + knowledgeAssetsUALs, + knowledgeAssetStates, + assertion, + ); + } catch (e) { + await this.handleError(operationId, blockchain, e.message, this.errorType, true); + } + + await this.operationIdService.updateOperationIdStatus( + operationId, + blockchain, + OPERATION_ID_STATUS.PUBLISH_FINALIZATION.PUBLISH_FINALIZATION_STORE_ASSERTION_END, + ); + + await this.operationIdService.updateOperationIdStatus( + operationId, + blockchain, + OPERATION_ID_STATUS.COMPLETED, + ); + + return Command.empty(); + } + + /** + * Builds default storeAssertionCommand + * @param map + * @returns {{add, data: *, delay: *, deadline: *}} + */ + default(map) { + const command = { + name: 'storeAssertionCommand', + delay: 0, + retries: 0, + transactional: false, + }; + Object.assign(command, map); + return command; + } +} + +export default StoreAssertionCommand; diff --git a/src/commands/protocols/publish/validate-assertion-metadata-command.js b/src/commands/protocols/publish/validate-assertion-metadata-command.js new file mode 100644 index 0000000000..0888924728 --- /dev/null +++ b/src/commands/protocols/publish/validate-assertion-metadata-command.js @@ -0,0 +1,61 @@ +import Command from '../../command.js'; +import { OPERATION_ID_STATUS, ERROR_TYPE } from '../../../constants/constants.js'; + +class ValidateAssertionMetadataCommand extends Command { + constructor(ctx) { + super(ctx); + this.operationIdService = ctx.operationIdService; + + this.errorType = ERROR_TYPE.VALIDATE_ASSERTION_METADATA_ERROR; + } + + async execute(command) { + const { operationId, ual, blockchain, merkleRoot, cachedMerkleRoot } = command.data; + + await this.operationIdService.updateOperationIdStatus( + operationId, + blockchain, + OPERATION_ID_STATUS.PUBLISH_FINALIZATION.PUBLISH_FINALIZATION_METADATA_VALIDATION_START, + ); + + try { + if (merkleRoot !== cachedMerkleRoot) { + await this.handleError( + operationId, + blockchain, + `Invalid Merkle Root for Knowledge Collection with UAL: ${ual}. Received value from blockchain: ${merkleRoot}, Cached value from publish operation: ${cachedMerkleRoot}`, + this.errorType, + true, + ); + } + } catch (e) { + await this.handleError(operationId, blockchain, e.message, this.errorType, true); + } + + await this.operationIdService.updateOperationIdStatus( + operationId, + null, + OPERATION_ID_STATUS.PUBLISH_FINALIZATION.PUBLISH_FINALIZATION_METADATA_VALIDATION_END, + ); + + return this.continueSequence(command.data, command.sequence); + } + + /** + * Builds default validateAssertionMetadataCommand + * @param map + * @returns {{add, data: *, delay: *, deadline: *}} + */ + default(map) { + const command = { + name: 'validateAssertionMetadataCommand', + delay: 0, + retries: 0, + transactional: false, + }; + Object.assign(command, map); + return command; + } +} + +export default ValidateAssertionMetadataCommand; diff --git a/src/commands/protocols/update/receiver/delete-pending-state-command.js b/src/commands/protocols/update/receiver/delete-pending-state-command.js deleted file mode 100644 index 4edf754a55..0000000000 --- a/src/commands/protocols/update/receiver/delete-pending-state-command.js +++ /dev/null @@ -1,133 +0,0 @@ -import Command from '../../../command.js'; -import { - ERROR_TYPE, - PENDING_STORAGE_REPOSITORIES, - TRIPLE_STORE_REPOSITORIES, -} from '../../../../constants/constants.js'; - -class DeletePendingStateCommand extends Command { - constructor(ctx) { - super(ctx); - this.blockchainModuleManager = ctx.blockchainModuleManager; - this.pendingStorageService = ctx.pendingStorageService; - - this.errorType = ERROR_TYPE.UPDATE.UPDATE_DELETE_PENDING_STATE_ERROR; - } - - async execute(command) { - const { blockchain, contract, tokenId, assertionId, operationId, keyword, hashFunctionId } = - command.data; - - this.logger.trace( - `Started ${command.name} for blockchain: ${blockchain} contract: ${contract}, ` + - `token id: ${tokenId}, assertion id: ${assertionId}`, - ); - - const pendingStateExists = await this.pendingStateExists( - blockchain, - contract, - tokenId, - assertionId, - ); - - if (pendingStateExists) { - this.logger.trace( - `Pending state exists for token id: ${tokenId}, assertion id: ${assertionId}, blockchain: ${blockchain} and operationId: ${operationId}`, - ); - const assetStates = await this.blockchainModuleManager.getAssertionIds( - blockchain, - contract, - tokenId, - ); - if (assetStates.includes(assertionId)) { - const stateIndex = assetStates.indexOf(assertionId); - this.logger.trace( - `Node missed state finalized event for token id: ${tokenId}, assertion id: ${assertionId}, blockchain: ${blockchain} and operationId: ${operationId}. Node will now move data from pending storage to triple store`, - ); - await Promise.all([ - this.pendingStorageService.moveAndDeletePendingState( - TRIPLE_STORE_REPOSITORIES.PUBLIC_CURRENT, - TRIPLE_STORE_REPOSITORIES.PUBLIC_HISTORY, - PENDING_STORAGE_REPOSITORIES.PUBLIC, - blockchain, - contract, - tokenId, - keyword, - hashFunctionId, - assertionId, - stateIndex, - ), - this.pendingStorageService.moveAndDeletePendingState( - TRIPLE_STORE_REPOSITORIES.PRIVATE_CURRENT, - TRIPLE_STORE_REPOSITORIES.PRIVATE_HISTORY, - PENDING_STORAGE_REPOSITORIES.PRIVATE, - blockchain, - contract, - tokenId, - keyword, - hashFunctionId, - assertionId, - stateIndex, - ), - ]); - } - await this.deletePendingState(blockchain, contract, tokenId, assertionId, operationId); - } - return Command.empty(); - } - - async deletePendingState(blockchain, contract, tokenId, assertionId, operationId) { - for (const repository of [ - PENDING_STORAGE_REPOSITORIES.PUBLIC, - PENDING_STORAGE_REPOSITORIES.PRIVATE, - ]) { - // eslint-disable-next-line no-await-in-loop - await this.pendingStorageService.removeCachedAssertion( - repository, - blockchain, - contract, - tokenId, - assertionId, - operationId, - ); - } - } - - async pendingStateExists(blockchain, contract, tokenId, assertionId) { - for (const repository of [ - PENDING_STORAGE_REPOSITORIES.PUBLIC, - PENDING_STORAGE_REPOSITORIES.PRIVATE, - ]) { - // eslint-disable-next-line no-await-in-loop - const pendingStateExists = await this.pendingStorageService.assetHasPendingState( - repository, - blockchain, - contract, - tokenId, - assertionId, - ); - - if (pendingStateExists) { - return true; - } - } - return false; - } - - /** - * Builds default deletePendingStorageCommand - * @param map - * @returns {{add, data: *, delay: *, deadline: *}} - */ - default(map) { - const command = { - name: 'deletePendingStateCommand', - delay: 0, - transactional: false, - }; - Object.assign(command, map); - return command; - } -} - -export default DeletePendingStateCommand; diff --git a/src/commands/protocols/update/receiver/submit-update-commit-command.js b/src/commands/protocols/update/receiver/submit-update-commit-command.js deleted file mode 100644 index c2bf7eb5a0..0000000000 --- a/src/commands/protocols/update/receiver/submit-update-commit-command.js +++ /dev/null @@ -1,160 +0,0 @@ -import Command from '../../../command.js'; -import { - OPERATION_ID_STATUS, - ERROR_TYPE, - COMMAND_RETRIES, - COMMAND_TX_GAS_INCREASE_FACTORS, - CONTRACT_FUNCTION_FIXED_GAS_PRICE, -} from '../../../../constants/constants.js'; -import SendTransactionCommand from '../../../common/send-transaction-command.js'; - -class SubmitUpdateCommitCommand extends SendTransactionCommand { - constructor(ctx) { - super(ctx); - this.commandExecutor = ctx.commandExecutor; - this.blockchainModuleManager = ctx.blockchainModuleManager; - this.operationIdService = ctx.operationIdService; - this.serviceAgreementService = ctx.serviceAgreementService; - - this.errorType = ERROR_TYPE.COMMIT_PROOF.SUBMIT_UPDATE_COMMIT_ERROR; - - this.txStartStatus = OPERATION_ID_STATUS.COMMIT_PROOF.SUBMIT_UPDATE_COMMIT_SEND_TX_START; - this.txEndStatus = OPERATION_ID_STATUS.COMMIT_PROOF.SUBMIT_UPDATE_COMMIT_SEND_TX_END; - this.txErrorType = ERROR_TYPE.COMMIT_PROOF.SUBMIT_UPDATE_COMMIT_SEND_TX_ERROR; - this.txGasIncreaseFactor = COMMAND_TX_GAS_INCREASE_FACTORS.SUBMIT_UPDATE_COMMIT; - this.operationEndStatus = OPERATION_ID_STATUS.COMMIT_PROOF.SUBMIT_UPDATE_COMMIT_END; - this.commandRetryNumber = COMMAND_RETRIES.SUBMIT_UPDATE_COMMIT; - } - - async execute(command) { - const { - blockchain, - contract, - tokenId, - keyword, - hashFunctionId, - agreementData, - agreementId, - operationId, - gasPrice, - closestNode, - leftNeighborhoodEdge, - rightNeighborhoodEdge, - } = command.data; - - this.logger.trace( - `Started ${command.name} for the Service Agreement with the ID: ${agreementId}, ` + - `Blockchain: ${blockchain}, Contract: ${contract}, Token ID: ${tokenId}, ` + - `Keyword: ${keyword}, Hash function ID: ${hashFunctionId}, Operation ID: ${operationId}, ` + - `Closest Node: ${closestNode}, Left neighborhood edge: ${leftNeighborhoodEdge}, ` + - `Right neighborhood edge: ${rightNeighborhoodEdge}, `, - `Retry number: ${COMMAND_RETRIES.SUBMIT_UPDATE_COMMIT - command.retries + 1}`, - ); - - const epoch = await this.serviceAgreementService.calculateCurrentEpoch( - agreementData.startTime, - agreementData.epochLength, - blockchain, - ); - - if (command.retries === COMMAND_RETRIES.SUBMIT_UPDATE_COMMIT) { - this.operationIdService.emitChangeEvent( - OPERATION_ID_STATUS.COMMIT_PROOF.SUBMIT_UPDATE_COMMIT_START, - operationId, - blockchain, - agreementId, - epoch, - ); - } - - const hasPendingUpdate = await this.blockchainModuleManager.hasPendingUpdate( - blockchain, - tokenId, - ); - - if (!hasPendingUpdate) { - this.logger.trace( - `Not submitting update commit as state has been already finalized for the Service Agreement ` + - `with the ID: ${agreementId}, Blockchain: ${blockchain}, Contract: ${contract}, ` + - `Token ID: ${tokenId}, Keyword: ${keyword}, Hash function ID: ${hashFunctionId}, ` + - `Closest Node: ${closestNode}, Left neighborhood edge: ${leftNeighborhoodEdge}, ` + - `Right neighborhood edge: ${rightNeighborhoodEdge}, `, - +`Epoch: ${epoch}, Operation ID: ${operationId}`, - ); - - return Command.empty(); - } - const txGasPrice = - gasPrice ?? - CONTRACT_FUNCTION_FIXED_GAS_PRICE[blockchain]?.SUBMIT_UPDATE_COMMIT ?? - (await this.blockchainModuleManager.getGasPrice(blockchain)); - - const transactionCompletePromise = new Promise((resolve, reject) => { - this.blockchainModuleManager.submitUpdateCommit( - blockchain, - contract, - tokenId, - keyword, - hashFunctionId, - closestNode, - leftNeighborhoodEdge, - rightNeighborhoodEdge, - epoch, - (result) => { - if (result?.error) { - reject(result.error); - } - resolve(true); - }, - txGasPrice, - ); - }); - - return this.sendTransactionAndHandleResult( - transactionCompletePromise, - { - blockchain, - agreementId, - epoch, - operationId, - closestNode, - leftNeighborhoodEdge, - rightNeighborhoodEdge, - contract, - tokenId, - keyword, - hashFunctionId, - txGasPrice, - }, - command, - ); - } - - async retryFinished(command) { - const { blockchain, operationId } = command.data; - await this.handleError( - operationId, - blockchain, - `Max retries has been reached! Latest Error Message: ${command.message}`, - this.errorType, - true, - ); - } - - /** - * Builds default submitUpdateCommitCommand - * @param map - * @returns {{add, data: *, delay: *, deadline: *}} - */ - default(map) { - const command = { - name: 'submitUpdateCommitCommand', - delay: 0, - transactional: false, - }; - Object.assign(command, map); - return command; - } -} - -export default SubmitUpdateCommitCommand; diff --git a/src/commands/protocols/update/receiver/v1.0.0/v1-0-0-handle-update-init-command.js b/src/commands/protocols/update/receiver/v1.0.0/v1-0-0-handle-update-init-command.js deleted file mode 100644 index 5f218f45a9..0000000000 --- a/src/commands/protocols/update/receiver/v1.0.0/v1-0-0-handle-update-init-command.js +++ /dev/null @@ -1,90 +0,0 @@ -import HandleProtocolMessageCommand from '../../../common/handle-protocol-message-command.js'; -import { ERROR_TYPE, OPERATION_ID_STATUS } from '../../../../../constants/constants.js'; - -class HandleUpdateInitCommand extends HandleProtocolMessageCommand { - constructor(ctx) { - super(ctx); - this.ualService = ctx.ualService; - this.shardingTableService = ctx.shardingTableService; - this.blockchainModuleManager = ctx.blockchainModuleManager; - this.serviceAgreementService = ctx.serviceAgreementService; - this.repositoryModuleManager = ctx.repositoryModuleManager; - - this.errorType = ERROR_TYPE.UPDATE.UPDATE_REMOTE_ERROR; - } - - async prepareMessage(commandData) { - const { operationId, assertionId, blockchain, contract, tokenId, keyword, hashFunctionId } = - commandData; - const proximityScoreFunctionsPairId = commandData.proximityScoreFunctionsPairId ?? 1; - await this.operationIdService.updateOperationIdStatus( - operationId, - blockchain, - OPERATION_ID_STATUS.VALIDATE_ASSET_REMOTE_START, - ); - - await this.operationIdService.cacheOperationIdData(operationId, { - assertionId, - blockchain, - contract, - tokenId, - keyword, - hashFunctionId, - }); - - const validationResult = await this.validateReceivedData( - operationId, - assertionId, - blockchain, - contract, - tokenId, - keyword, - hashFunctionId, - proximityScoreFunctionsPairId, - ); - - await this.operationIdService.updateOperationIdStatus( - operationId, - blockchain, - OPERATION_ID_STATUS.VALIDATE_ASSET_REMOTE_END, - ); - return validationResult; - } - - async validateAssertionId(blockchain, contract, tokenId, assertionId, ual) { - const blockchainAssertionId = await this.blockchainModuleManager.getUnfinalizedAssertionId( - blockchain, - tokenId, - ); - if (blockchainAssertionId !== assertionId) { - throw Error( - `Invalid assertion id for asset ${ual}. Received value from blockchain: ${blockchainAssertionId}, received value from request: ${assertionId}`, - ); - } - } - - async retryFinished(command) { - const { operationId } = command.data; - await this.handleError( - `Retry count for command: ${command.name} reached! Unable to validate data for operation id: ${operationId}`, - command, - ); - } - - /** - * Builds default v1_0_0HandleUpdateInitCommand - * @param map - * @returns {{add, data: *, delay: *, deadline: *}} - */ - default(map) { - const command = { - name: 'v1_0_0HandleUpdateInitCommand', - delay: 0, - transactional: false, - }; - Object.assign(command, map); - return command; - } -} - -export default HandleUpdateInitCommand; diff --git a/src/commands/protocols/update/receiver/v1.0.0/v1-0-0-handle-update-request-command.js b/src/commands/protocols/update/receiver/v1.0.0/v1-0-0-handle-update-request-command.js deleted file mode 100644 index 199bf7f55f..0000000000 --- a/src/commands/protocols/update/receiver/v1.0.0/v1-0-0-handle-update-request-command.js +++ /dev/null @@ -1,216 +0,0 @@ -import HandleProtocolMessageCommand from '../../../common/handle-protocol-message-command.js'; - -import { - NETWORK_MESSAGE_TYPES, - OPERATION_ID_STATUS, - ERROR_TYPE, - COMMAND_RETRIES, - PENDING_STORAGE_REPOSITORIES, - COMMIT_BLOCK_DURATION_IN_BLOCKS, - COMMITS_DELAY_BETWEEN_NODES_IN_BLOCKS, -} from '../../../../../constants/constants.js'; - -class HandleUpdateRequestCommand extends HandleProtocolMessageCommand { - constructor(ctx) { - super(ctx); - this.operationService = ctx.updateService; - this.serviceAgreementService = ctx.serviceAgreementService; - this.commandExecutor = ctx.commandExecutor; - this.repositoryModuleManager = ctx.repositoryModuleManager; - this.blockchainModuleManager = ctx.blockchainModuleManager; - this.tripleStoreService = ctx.tripleStoreService; - this.ualService = ctx.ualService; - this.pendingStorageService = ctx.pendingStorageService; - this.shardingTableService = ctx.shardingTableService; - this.hashingService = ctx.hashingService; - this.proximityScoringService = ctx.proximityScoringService; - - this.errorType = ERROR_TYPE.UPDATE.UPDATE_LOCAL_STORE_REMOTE_ERROR; - } - - async prepareMessage(commandData) { - const { - blockchain, - contract, - tokenId, - operationId, - agreementId, - keyword, - hashFunctionId, - agreementData, - } = commandData; - - const proximityScoreFunctionsPairId = commandData.proximityScoreFunctionsPairId ?? 1; - - await this.operationIdService.updateOperationIdStatus( - operationId, - blockchain, - OPERATION_ID_STATUS.UPDATE.VALIDATING_UPDATE_ASSERTION_REMOTE_START, - ); - - const cachedData = await this.operationIdService.getCachedOperationIdData(operationId); - await this.pendingStorageService.cacheAssertion( - PENDING_STORAGE_REPOSITORIES.PUBLIC, - blockchain, - contract, - tokenId, - cachedData.assertionId, - { - public: { - assertion: cachedData.assertion, - }, - agreementId, - agreementData, - }, - operationId, - ); - - const updateCommitWindowDuration = - await this.blockchainModuleManager.getUpdateCommitWindowDuration(blockchain); - const r0 = await this.blockchainModuleManager.getR0(blockchain); - const r2 = await this.blockchainModuleManager.getR2(blockchain); - const scheduleCommandsPromises = []; - - const neighbourhood = await this.shardingTableService.findNeighbourhood( - blockchain, - keyword, - r2, - hashFunctionId, - proximityScoreFunctionsPairId, - ); - - const closestNode = neighbourhood[0]; - - let neighbourhoodEdges = null; - if (proximityScoreFunctionsPairId === 2) { - neighbourhoodEdges = await this.shardingTableService.getNeighboorhoodEdgeNodes( - neighbourhood, - blockchain, - hashFunctionId, - proximityScoreFunctionsPairId, - keyword, - ); - } - - if (!neighbourhoodEdges && proximityScoreFunctionsPairId === 2) { - throw Error('Unable to find neighbourhood edges for asset'); - } - - const totalNodesNumber = await this.repositoryModuleManager.getPeersCount(blockchain); - const minStake = await this.blockchainModuleManager.getMinimumStake(blockchain); - const maxStake = await this.blockchainModuleManager.getMaximumStake(blockchain); - - const rank = await this.serviceAgreementService.calculateRank( - blockchain, - keyword, - hashFunctionId, - proximityScoreFunctionsPairId, - r2, - neighbourhood, - neighbourhoodEdges, - totalNodesNumber, - minStake, - maxStake, - ); - if (rank != null) { - this.logger.trace(`Calculated rank: ${rank + 1} for agreement id: ${agreementId}`); - const finalizationCommitsNumber = - await this.blockchainModuleManager.getFinalizationCommitsNumber(blockchain); - - const updateCommitDelay = await this.calculateUpdateCommitDelay( - blockchain, - updateCommitWindowDuration, - finalizationCommitsNumber, - r0, - rank, - ); - scheduleCommandsPromises.push( - this.commandExecutor.add({ - name: 'submitUpdateCommitCommand', - delay: updateCommitDelay, - retries: COMMAND_RETRIES.SUBMIT_UPDATE_COMMIT, - data: { - ...commandData, - agreementData, - agreementId, - r0, - r2, - updateCommitWindowDuration, - proximityScoreFunctionsPairId, - closestNode: closestNode?.index, - leftNeighborhoodEdge: neighbourhoodEdges?.leftEdge?.index, - rightNeighborhoodEdge: neighbourhoodEdges?.rightEdge?.index, - }, - transactional: false, - }), - ); - } - - scheduleCommandsPromises.push( - this.commandExecutor.add({ - name: 'deletePendingStateCommand', - sequence: [], - delay: (updateCommitWindowDuration + 60) * 1000, - data: { - ...commandData, - assertionId: cachedData.assertionId, - }, - transactional: false, - }), - ); - - await Promise.all(scheduleCommandsPromises); - await this.operationIdService.updateOperationIdStatus( - operationId, - blockchain, - OPERATION_ID_STATUS.UPDATE.VALIDATING_UPDATE_ASSERTION_REMOTE_END, - ); - return { messageType: NETWORK_MESSAGE_TYPES.RESPONSES.ACK, messageData: {} }; - } - - async calculateUpdateCommitDelay( - blockchain, - updateCommitWindowDuration, - finalizationCommitsNumber, - r0, - rank, - ) { - const r0OffsetPeriod = 0; - const blockTime = this.blockchainModuleManager.getBlockTimeMillis(blockchain); - // wait for 5 blocks for first batch to send commits - const commitsBlockDuration = blockTime * COMMIT_BLOCK_DURATION_IN_BLOCKS; - const commitBlock = Math.floor(rank / finalizationCommitsNumber); - // put 5 blocks delay between nodes if they are not in first batch - const nextNodeDelay = - commitBlock === 0 - ? 0 - : (rank % finalizationCommitsNumber) * - COMMITS_DELAY_BETWEEN_NODES_IN_BLOCKS * - blockTime; - const delay = commitsBlockDuration * commitBlock + r0OffsetPeriod + nextNodeDelay; - this.logger.info( - `Calculated update commit delay: ${Math.floor( - delay / 1000, - )}s, commitsBlockDuration: ${commitsBlockDuration}, commitBlock: ${commitBlock}, r0OffsetPeriod:${r0OffsetPeriod}, updateCommitWindowDuration ${updateCommitWindowDuration}s, finalizationCommitsNumber: ${finalizationCommitsNumber}, r0: ${r0}, rank: ${rank}`, - ); - - return delay; - } - - /** - * Builds default HandleUpdateRequestCommand - * @param map - * @returns {{add, data: *, delay: *, deadline: *}} - */ - default(map) { - const command = { - name: 'v1_0_0HandleUpdateRequestCommand', - delay: 0, - transactional: false, - }; - Object.assign(command, map); - return command; - } -} - -export default HandleUpdateRequestCommand; diff --git a/src/commands/protocols/update/sender/network-update-command.js b/src/commands/protocols/update/sender/network-update-command.js deleted file mode 100644 index 3b921a7499..0000000000 --- a/src/commands/protocols/update/sender/network-update-command.js +++ /dev/null @@ -1,49 +0,0 @@ -import NetworkProtocolCommand from '../../common/network-protocol-command.js'; -import { ERROR_TYPE } from '../../../../constants/constants.js'; - -class NetworkUpdateCommand extends NetworkProtocolCommand { - constructor(ctx) { - super(ctx); - this.operationService = ctx.updateService; - this.blockchainModuleManager = ctx.blockchainModuleManager; - this.ualService = ctx.ualService; - - this.errorType = ERROR_TYPE.UPDATE.UPDATE_START_ERROR; - } - - async getKeywords(command) { - const { blockchain, contract, tokenId } = command.data; - const locationKeyword = await this.ualService.calculateLocationKeyword( - blockchain, - contract, - tokenId, - ); - - return [locationKeyword]; - } - - async getBatchSize(blockchainId) { - return this.blockchainModuleManager.getR2(blockchainId); - } - - async getMinAckResponses(blockchainId) { - return this.blockchainModuleManager.getFinalizationCommitsNumber(blockchainId); - } - - /** - * Builds default NetworkUpdateCommand - * @param map - * @returns {{add, data: *, delay: *, deadline: *}} - */ - default(map) { - const command = { - name: 'networkUpdateCommand', - delay: 0, - transactional: false, - }; - Object.assign(command, map); - return command; - } -} - -export default NetworkUpdateCommand; diff --git a/src/commands/protocols/update/sender/update-schedule-messages-command.js b/src/commands/protocols/update/sender/update-schedule-messages-command.js deleted file mode 100644 index be0bbbda21..0000000000 --- a/src/commands/protocols/update/sender/update-schedule-messages-command.js +++ /dev/null @@ -1,29 +0,0 @@ -import ProtocolScheduleMessagesCommand from '../../common/protocol-schedule-messages-command.js'; -import { OPERATION_ID_STATUS, ERROR_TYPE } from '../../../../constants/constants.js'; - -class UpdateScheduleMessagesCommand extends ProtocolScheduleMessagesCommand { - constructor(ctx) { - super(ctx); - this.operationService = ctx.updateService; - - this.startEvent = OPERATION_ID_STATUS.UPDATE.UPDATE_REPLICATE_START; - this.errorType = ERROR_TYPE.UPDATE.UPDATE_START_ERROR; - } - - /** - * Builds default updateScheduleMessagesCommand - * @param map - * @returns {{add, data: *, delay: *, deadline: *}} - */ - default(map) { - const command = { - name: 'updateScheduleMessagesCommand', - delay: 0, - transactional: false, - }; - Object.assign(command, map); - return command; - } -} - -export default UpdateScheduleMessagesCommand; diff --git a/src/commands/protocols/update/sender/update-validate-asset-command.js b/src/commands/protocols/update/sender/update-validate-asset-command.js deleted file mode 100644 index 867a6729a7..0000000000 --- a/src/commands/protocols/update/sender/update-validate-asset-command.js +++ /dev/null @@ -1,34 +0,0 @@ -import ValidateAssetCommand from '../../../common/validate-asset-command.js'; - -class UpdateValidateAssetCommand extends ValidateAssetCommand { - constructor(ctx) { - super(ctx); - this.operationService = ctx.updateService; - } - - async handleError(operationId, blockchain, errorMessage, errorType) { - await this.operationService.markOperationAsFailed( - operationId, - blockchain, - errorMessage, - errorType, - ); - } - - /** - * Builds default updateValidateAssetCommand - * @param map - * @returns {{add, data: *, delay: *, deadline: *}} - */ - default(map) { - const command = { - name: 'updateValidateAssetCommand', - delay: 0, - transactional: false, - }; - Object.assign(command, map); - return command; - } -} - -export default UpdateValidateAssetCommand; diff --git a/src/commands/protocols/update/sender/v1.0.0/v1-0-0-update-init-command.js b/src/commands/protocols/update/sender/v1.0.0/v1-0-0-update-init-command.js deleted file mode 100644 index 405a19278d..0000000000 --- a/src/commands/protocols/update/sender/v1.0.0/v1-0-0-update-init-command.js +++ /dev/null @@ -1,32 +0,0 @@ -import ProtocolInitCommand from '../../../common/protocol-init-command.js'; -import { NETWORK_MESSAGE_TIMEOUT_MILLS, ERROR_TYPE } from '../../../../../constants/constants.js'; - -class UpdateInitCommand extends ProtocolInitCommand { - constructor(ctx) { - super(ctx); - this.operationService = ctx.updateService; - - this.errorType = ERROR_TYPE.UPDATE.UPDATE_STORE_INIT_ERROR; - } - - messageTimeout() { - return NETWORK_MESSAGE_TIMEOUT_MILLS.UPDATE.INIT; - } - - /** - * Builds default v1_0_0UpdateInitCommand - * @param map - * @returns {{add, data: *, delay: *, deadline: *}} - */ - default(map) { - const command = { - name: 'v1_0_0UpdateInitCommand', - delay: 0, - transactional: false, - }; - Object.assign(command, map); - return command; - } -} - -export default UpdateInitCommand; diff --git a/src/commands/protocols/update/sender/v1.0.0/v1-0-0-update-request-command.js b/src/commands/protocols/update/sender/v1.0.0/v1-0-0-update-request-command.js deleted file mode 100644 index cda7aec635..0000000000 --- a/src/commands/protocols/update/sender/v1.0.0/v1-0-0-update-request-command.js +++ /dev/null @@ -1,42 +0,0 @@ -import ProtocolRequestCommand from '../../../common/protocol-request-command.js'; -import { NETWORK_MESSAGE_TIMEOUT_MILLS, ERROR_TYPE } from '../../../../../constants/constants.js'; - -class UpdateRequestCommand extends ProtocolRequestCommand { - constructor(ctx) { - super(ctx); - this.operationService = ctx.updateService; - - this.errorType = ERROR_TYPE.UPDATE.UPDATE_REQUEST_ERROR; - } - - async prepareMessage(command) { - const { - public: { assertion }, - } = await this.operationIdService.getCachedOperationIdData(command.data.operationId); - - return { - assertion, - }; - } - - messageTimeout() { - return NETWORK_MESSAGE_TIMEOUT_MILLS.UPDATE.REQUEST; - } - - /** - * Builds default v1_0_0UpdateRequestCommand - * @param map - * @returns {{add, data: *, delay: *, deadline: *}} - */ - default(map) { - const command = { - name: 'v1_0_0UpdateRequestCommand', - delay: 0, - transactional: false, - }; - Object.assign(command, map); - return command; - } -} - -export default UpdateRequestCommand; diff --git a/src/commands/query/query-command.js b/src/commands/query/query-command.js index 74412a0cf5..b69229aabf 100644 --- a/src/commands/query/query-command.js +++ b/src/commands/query/query-command.js @@ -18,44 +18,44 @@ class QueryCommand extends Command { } async execute(command) { - const { queryType, operationId } = command.data; - - let { query, repository = TRIPLE_STORE_REPOSITORIES.PRIVATE_CURRENT } = command.data; - - let data; + const { operationId, query, queryType } = command.data; await this.operationIdService.updateOperationIdStatus( operationId, null, OPERATION_ID_STATUS.QUERY.QUERY_START, ); - repository = this.validateRepositoryName(repository); + + let data; + + // TODO: Review federated query logic for V8 + // check if it's federated query - const pattern = /SERVICE\s+<([^>]+)>/g; - const matches = []; - let match; - // eslint-disable-next-line no-cond-assign - while ((match = pattern.exec(query)) !== null) { - matches.push(match[1]); - } - if (matches.length > 0) { - for (const repositoryInOriginalQuery of matches) { - const federatedQueryRepositoryName = `http://localhost:9999/blazegraph/namespace/${this.paranetService.getParanetRepositoryName( - repositoryInOriginalQuery, - )}/sparql`; - this.validateRepositoryName(repositoryInOriginalQuery); - query = query.replace(repositoryInOriginalQuery, federatedQueryRepositoryName); - } - } + // const pattern = /SERVICE\s+<([^>]+)>/g; + // const matches = []; + // let match; + // // eslint-disable-next-line no-cond-assign + // while ((match = pattern.exec(query)) !== null) { + // matches.push(match[1]); + // } + // if (matches.length > 0) { + // for (const repositoryInOriginalQuery of matches) { + // const federatedQueryRepositoryName = `http://localhost:9999/blazegraph/namespace/${this.paranetService.getParanetRepositoryName( + // repositoryInOriginalQuery, + // )}/sparql`; + // this.validateRepositoryName(repositoryInOriginalQuery); + // query = query.replace(repositoryInOriginalQuery, federatedQueryRepositoryName); + // } + // } try { switch (queryType) { case QUERY_TYPES.CONSTRUCT: { - data = await this.tripleStoreService.construct(repository, query); + data = await this.tripleStoreService.construct(query); break; } case QUERY_TYPES.SELECT: { data = await this.dataService.parseBindings( - await this.tripleStoreService.select(repository, query), + await this.tripleStoreService.select(query), ); break; } @@ -69,7 +69,9 @@ class QueryCommand extends Command { OPERATION_ID_STATUS.QUERY.QUERY_END, ); - await this.operationIdService.cacheOperationIdData(operationId, data); + await this.operationIdService.cacheOperationIdDataToMemory(operationId, data); + + await this.operationIdService.cacheOperationIdDataToFile(operationId, data); await this.operationIdService.updateOperationIdStatus( operationId, diff --git a/src/constants/constants.js b/src/constants/constants.js index 8a85c78795..e23173890a 100644 --- a/src/constants/constants.js +++ b/src/constants/constants.js @@ -1,4 +1,5 @@ import { BigNumber, ethers } from 'ethers'; +import { createRequire } from 'module'; export const WS_RPC_PROVIDER_PRIORITY = 2; @@ -32,8 +33,8 @@ export const ZERO_ADDRESS = ethers.constants.AddressZero; export const SCHEMA_CONTEXT = 'http://schema.org/'; -export const PRIVATE_ASSERTION_PREDICATE = - 'https://ontology.origintrail.io/dkg/1.0#privateAssertionID'; +export const TRIPLE_ANNOTATION_LABEL_PREDICATE = 'https://ontology.origintrail.io/dkg/1.0#label'; +export const UAL_PREDICATE = ''; export const COMMIT_BLOCK_DURATION_IN_BLOCKS = 5; @@ -61,8 +62,22 @@ export const LIBP2P_KEY_DIRECTORY = 'libp2p'; export const LIBP2P_KEY_FILENAME = 'privateKey'; +export const BLS_KEY_DIRECTORY = 'bls'; + +export const BLS_KEY_FILENAME = 'secretKey'; + export const TRIPLE_STORE_CONNECT_MAX_RETRIES = 10; +export const COMMAND_PRIORITY = { + HIGHEST: 0, + HIGH: 1, + MEDIUM: 5, + LOW: 10, + LOWEST: 20, +}; + +export const DEFAULT_COMMAND_PRIORITY = COMMAND_PRIORITY.MEDIUM; + export const DEFAULT_BLOCKCHAIN_EVENT_SYNC_PERIOD_IN_MILLS = 15 * 24 * 60 * 60 * 1000; // 15 days export const MAX_BLOCKCHAIN_EVENT_SYNC_OF_HISTORICAL_BLOCKS_IN_MILLS = 60 * 60 * 1000; // 1 hour @@ -73,7 +88,7 @@ export const TRANSACTION_QUEUE_CONCURRENCY = 1; export const TRIPLE_STORE_CONNECT_RETRY_FREQUENCY = 10; -export const MAX_FILE_SIZE = 10000000; +export const MAX_FILE_SIZE = 524288000; export const GET_STATES = { LATEST: 'LATEST', FINALIZED: 'LATEST_FINALIZED' }; @@ -99,10 +114,13 @@ export const PARANET_ACCESS_POLICY = { }; export const TRIPLE_STORE_REPOSITORIES = { - PUBLIC_CURRENT: 'publicCurrent', - PUBLIC_HISTORY: 'publicHistory', - PRIVATE_CURRENT: 'privateCurrent', - PRIVATE_HISTORY: 'privateHistory', + DKG: 'dkg', +}; + +export const BASE_NAMED_GRAPHS = { + UNIFIED: 'unified:graph', + HISTORICAL_UNIFIED: 'historical-unified:graph', + METADATA: 'metadata:graph', }; export const PENDING_STORAGE_REPOSITORIES = { @@ -157,7 +175,7 @@ export const NETWORK_API_BLACK_LIST_TIME_WINDOW_MINUTES = 60; export const HIGH_TRAFFIC_OPERATIONS_NUMBER_PER_HOUR = 16000; -export const SHARDING_TABLE_CHECK_COMMAND_FREQUENCY_MINUTES = 30; +export const SHARDING_TABLE_CHECK_COMMAND_FREQUENCY_MILLS = 10 * 1000; // 10 seconds export const PARANET_SYNC_FREQUENCY_MILLS = 1 * 60 * 1000; @@ -180,6 +198,7 @@ export const DIAL_PEERS_CONCURRENCY = 10; export const MIN_DIAL_FREQUENCY_MILLIS = 60 * 60 * 1000; export const PERMANENT_COMMANDS = [ + 'eventListenerCommand', 'otnodeUpdateCommand', 'sendTelemetryCommand', 'shardingTableCheckCommand', @@ -194,6 +213,7 @@ export const PERMANENT_COMMANDS = [ 'updateCleanerCommand', 'updateResponseCleanerCommand', 'startParanetSyncCommands', + 'pendingStorageCleanerCommand', ]; export const MAX_COMMAND_DELAY_IN_MILLS = 14400 * 60 * 1000; // 10 days @@ -203,18 +223,52 @@ export const DEFAULT_COMMAND_REPEAT_INTERVAL_IN_MILLS = 5000; // 5 seconds export const DEFAULT_COMMAND_DELAY_IN_MILLS = 60 * 1000; // 60 seconds export const TRANSACTION_PRIORITY = { + HIGHEST: 0, HIGH: 1, - REGULAR: 2, + MEDIUM: 5, + LOW: 10, + LOWEST: 20, +}; + +const require = createRequire(import.meta.url); + +export const ABIs = { + ContentAsset: require('dkg-evm-module/abi/ContentAssetV2.json'), + ContentAssetStorage: require('dkg-evm-module/abi/ContentAssetStorageV2.json'), + AssertionStorage: require('dkg-evm-module/abi/AssertionStorage.json'), + Staking: require('dkg-evm-module/abi/Staking.json'), + StakingStorage: require('dkg-evm-module/abi/StakingStorage.json'), + Token: require('dkg-evm-module/abi/Token.json'), + HashingProxy: require('dkg-evm-module/abi/HashingProxy.json'), + Hub: require('dkg-evm-module/abi/Hub.json'), + IdentityStorage: require('dkg-evm-module/abi/IdentityStorage.json'), + Log2PLDSF: require('dkg-evm-module/abi/Log2PLDSF.json'), + ParametersStorage: require('dkg-evm-module/abi/ParametersStorage.json'), + Profile: require('dkg-evm-module/abi/Profile.json'), + ProfileStorage: require('dkg-evm-module/abi/ProfileStorage.json'), + ScoringProxy: require('dkg-evm-module/abi/ScoringProxy.json'), + ServiceAgreementV1: require('dkg-evm-module/abi/ServiceAgreementV1.json'), + CommitManagerV1: require('dkg-evm-module/abi/CommitManagerV2.json'), + CommitManagerV1U1: require('dkg-evm-module/abi/CommitManagerV2U1.json'), + ProofManagerV1: require('dkg-evm-module/abi/ProofManagerV1.json'), + ProofManagerV1U1: require('dkg-evm-module/abi/ProofManagerV1U1.json'), + ShardingTable: require('dkg-evm-module/abi/ShardingTableV2.json'), + ShardingTableStorage: require('dkg-evm-module/abi/ShardingTableStorageV2.json'), + ServiceAgreementStorageProxy: require('dkg-evm-module/abi/ServiceAgreementStorageProxy.json'), + UnfinalizedStateStorage: require('dkg-evm-module/abi/UnfinalizedStateStorage.json'), + LinearSum: require('dkg-evm-module/abi/LinearSum.json'), + ParanetsRegistry: require('dkg-evm-module/abi/ParanetsRegistry.json'), + ParanetKnowledgeAssetsRegistry: require('dkg-evm-module/abi/ParanetKnowledgeAssetsRegistry.json'), }; export const CONTRACT_FUNCTION_PRIORITY = { 'submitCommit((address,uint256,bytes,uint8,uint16,uint72,uint72,uint72))': - TRANSACTION_PRIORITY.REGULAR, - 'submitCommit((address,uint256,bytes,uint8,uint16))': TRANSACTION_PRIORITY.REGULAR, + TRANSACTION_PRIORITY.MEDIUM, + 'submitCommit((address,uint256,bytes,uint8,uint16))': TRANSACTION_PRIORITY.MEDIUM, 'submitUpdateCommit((address,uint256,bytes,uint8,uint16,uint72,uint72,uint72))': TRANSACTION_PRIORITY.HIGH, 'submitUpdateCommit((address,uint256,bytes,uint8,uint16))': TRANSACTION_PRIORITY.HIGH, - sendProof: TRANSACTION_PRIORITY.REGULAR, + sendProof: TRANSACTION_PRIORITY.MEDIUM, }; export const COMMAND_RETRIES = { @@ -231,7 +285,7 @@ export const SIMPLE_ASSET_SYNC_PARAMETERS = { export const PARANET_SYNC_PARAMETERS = { GET_RESULT_POLLING_INTERVAL_MILLIS: 1 * 1000, - GET_RESULT_POLLING_MAX_ATTEMPTS: 30, + GET_RESULT_POLLING_MAX_ATTEMPTS: 300, }; export const COMMAND_TX_GAS_INCREASE_FACTORS = { @@ -298,7 +352,6 @@ export const PARANET_NODES_ACCESS_POLICIES = ['OPEN', 'CURATED']; export const NETWORK_MESSAGE_TIMEOUT_MILLS = { PUBLISH: { - INIT: 60 * 1000, REQUEST: 60 * 1000, }, UPDATE: { @@ -306,6 +359,10 @@ export const NETWORK_MESSAGE_TIMEOUT_MILLS = { REQUEST: 60 * 1000, }, GET: { + INIT: 60 * 1000, + REQUEST: 5 * 60 * 1000, + }, + FINALITY: { INIT: 60 * 1000, REQUEST: 60 * 1000, }, @@ -314,6 +371,8 @@ export const NETWORK_MESSAGE_TIMEOUT_MILLS = { export const MAX_OPEN_SESSIONS = 10; export const ERROR_TYPE = { + EVENT_LISTENER_ERROR: 'EventListenerError', + BLOCKCHAIN_EVENT_LISTENER_ERROR: 'BlockchainEventListenerError', DIAL_PROTOCOL_ERROR: 'DialProtocolError', VALIDATE_ASSET_ERROR: 'ValidateAssetError', PUBLISH: { @@ -322,11 +381,11 @@ export const ERROR_TYPE = { PUBLISH_LOCAL_STORE_ERROR: 'PublishLocalStoreError', PUBLISH_LOCAL_STORE_REMOTE_ERROR: 'PublishLocalStoreRemoteError', PUBLISH_FIND_NODES_ERROR: 'PublishFindNodesError', - PUBLISH_STORE_INIT_ERROR: 'PublishStoreInitError', PUBLISH_STORE_REQUEST_ERROR: 'PublishStoreRequestError', PUBLISH_ERROR: 'PublishError', - PUBLISH_REMOTE_ERROR: 'PublishRemoteError', }, + VALIDATE_ASSERTION_METADATA_ERROR: 'ValidateAssertionMetadataError', + STORE_ASSERTION_ERROR: 'StoreAssertionError', UPDATE: { UPDATE_INIT_ERROR: 'UpdateInitError', UPDATE_REQUEST_ERROR: 'UpdateRequestError', @@ -378,6 +437,15 @@ export const ERROR_TYPE = { START_PARANET_SYNC_ERROR: 'StartParanetSyncError', PARANET_SYNC_ERROR: 'ParanetSyncError', }, + FIND_SHARD: { + FIND_SHARD_ERROR: 'FindShardError', + }, + FINALITY: { + FINALITY_ERROR: 'FinalityError', + FINALITY_NETWORK_ERROR: 'FinalityNetworkError', + FINALITY_REQUEST_ERROR: 'FinalityRequestError', + FINALITY_REQUEST_REMOTE_ERROR: 'FinalityRequestRemoteError', + }, }; export const OPERATION_ID_STATUS = { PENDING: 'PENDING', @@ -391,6 +459,8 @@ export const OPERATION_ID_STATUS = { DIAL_PROTOCOL_END: 'DIAL_PROTOCOL_END', VALIDATE_ASSET_START: 'VALIDATE_ASSET_START', VALIDATE_ASSET_END: 'VALIDATE_ASSET_END', + VALIDATE_ASSET_BLOCKCHAIN_START: 'VALIDATE_ASSET_BLOCKCHAIN_START', + VALIDATE_ASSET_BLOCKCHAIN_END: 'VALIDATE_ASSET_BLOCKCHAIN_END', VALIDATE_ASSET_REMOTE_START: 'VALIDATE_ASSET_REMOTE_START', VALIDATE_ASSET_REMOTE_END: 'VALIDATE_ASSET_REMOTE_END', PUBLISH: { @@ -407,6 +477,16 @@ export const OPERATION_ID_STATUS = { PUBLISH_REPLICATE_END: 'PUBLISH_REPLICATE_END', PUBLISH_END: 'PUBLISH_END', }, + PUBLISH_FINALIZATION: { + PUBLISH_FINALIZATION_START: 'PUBLISH_FINALIZATION_START', + PUBLISH_FINALIZATION_METADATA_VALIDATION_START: + 'PUBLISH_FINALIZATION_METADATA_VALIDATION_START', + PUBLISH_FINALIZATION_METADATA_VALIDATION_END: + 'PUBLISH_FINALIZATION_METADATA_VALIDATION_END', + PUBLISH_FINALIZATION_STORE_ASSERTION_START: 'PUBLISH_FINALIZATION_STORE_ASSERTION_START', + PUBLISH_FINALIZATION_STORE_ASSERTION_END: 'PUBLISH_FINALIZATION_STORE_ASSERTION_END', + PUBLISH_FINALIZATION_END: 'PUBLISH_FINALIZATION_END', + }, UPDATE: { UPDATE_START: 'UPDATE_START', UPDATE_INIT_START: 'UPDATE_INIT_START', @@ -471,12 +551,21 @@ export const OPERATION_ID_STATUS = { PARANET_SYNC_NEW_KAS_SYNC_START: 'PARANET_SYNC_NEW_KAS_SYNC_START', PARANET_SYNC_NEW_KAS_SYNC_END: 'PARANET_SYNC_NEW_KAS_SYNC_END', }, + FINALITY: { + FINALITY_START: 'FINALITY_START', + FINALITY_END: 'FINALITY_END', + FINALITY_REMOTE_START: 'FINALITY_REMOTE_START', + FINALITY_REMOTE_END: 'FINALITY_REMOTE_START', + FINALITY_FETCH_FROM_NODES_START: 'FINALITY_FETCH_FROM_NODES_START', + FINALITY_FETCH_FROM_NODES_END: 'FINALITY_FETCH_FROM_NODES_END', + }, }; export const OPERATIONS = { PUBLISH: 'publish', UPDATE: 'update', GET: 'get', + FINALITY: 'finality', }; export const SERVICE_AGREEMENT_START_TIME_DELAY_FOR_COMMITS_SECONDS = { @@ -513,6 +602,11 @@ export const OPERATION_ID_COMMAND_CLEANUP_TIME_MILLS = 24 * 60 * 60 * 1000; * @constant {number} FINALIZED_COMMAND_CLEANUP_TIME_MILLS - Command cleanup interval time * finalized commands command cleanup interval time 24h */ + +export const PUBLISH_STORAGE_MEMORY_CLEANUP_COMMAND_CLEANUP_TIME_MILLS = 4 * 60 * 60 * 1000; + +export const PUBLISH_STORAGE_FILE_CLEANUP_COMMAND_CLEANUP_TIME_MILLS = 24 * 60 * 60 * 1000; + export const FINALIZED_COMMAND_CLEANUP_TIME_MILLS = 24 * 60 * 60 * 1000; export const GET_CLEANUP_TIME_MILLS = 24 * 60 * 60 * 1000; @@ -556,6 +650,8 @@ export const COMMAND_STATUS = { REPEATING: 'REPEATING', }; +export const PENDING_STORAGE_FILES_FOR_REMOVAL_MAX_NUMBER = 100; + export const OPERATION_ID_FILES_FOR_REMOVAL_MAX_NUMBER = 100; export const REPOSITORY_ROWS_FOR_REMOVAL_MAX_NUMBER = 10_000; @@ -636,8 +732,19 @@ export const HTTP_API_ROUTES = { path: '/bid-suggestion', options: {}, }, + finality: { + method: 'post', + path: '/finality', + options: {}, + }, + }, + v1: { + // get: { + // method: 'post', + // path: '/get', + // options: { rateLimit: true }, + // }, }, - v1: {}, }; /** @@ -648,6 +755,7 @@ export const NETWORK_PROTOCOLS = { STORE: ['/store/1.0.0'], UPDATE: ['/update/1.0.0'], GET: ['/get/1.0.0'], + FINALITY: ['/finality/1.0.0'], }; export const OPERATION_STATUS = { @@ -687,44 +795,35 @@ export const LOCAL_STORE_TYPES = { /** * Contract names - * @type {{SHARDING_TABLE_CONTRACT: string}} + * @type {{SHARDING_TABLE: string}} */ export const CONTRACTS = { - SHARDING_TABLE_CONTRACT: 'ShardingTableContract', - STAKING_CONTRACT: 'StakingContract', - PROFILE_CONTRACT: 'ProfileContract', - HUB_CONTRACT: 'HubContract', - CONTENT_ASSET: 'ContentAssetContract', - COMMIT_MANAGER_V1_U1_CONTRACT: 'CommitManagerV1U1Contract', - PARAMETERS_STORAGE_CONTRACT: 'ParametersStorageContract', - IDENTITY_STORAGE_CONTRACT: 'IdentityStorageContract', - LOG2PLDSF_CONTRACT: 'Log2PLDSFContract', - LINEAR_SUM_CONTRACT: 'LinearSumContract', - PARANETS_REGISTRY_CONTRACT: 'ParanetsRegistry', -}; - -export const CONTRACT_EVENTS = { - HUB: ['NewContract', 'ContractChanged', 'NewAssetStorage', 'AssetStorageChanged'], - SHARDING_TABLE: ['NodeAdded', 'NodeRemoved'], - STAKING: ['StakeIncreased', 'StakeWithdrawalStarted'], - PROFILE: ['AskUpdated'], - COMMIT_MANAGER_V1: ['StateFinalized'], - PARAMETERS_STORAGE: ['ParameterChanged'], - LOG2PLDSF: ['ParameterChanged'], - LINEAR_SUM: ['ParameterChanged'], -}; - -export const GROUPED_CONTRACT_EVENTS = {}; - -export const CONTRACT_EVENT_TO_GROUP_MAPPING = (() => { - const mapping = {}; - Object.entries(GROUPED_CONTRACT_EVENTS).forEach(([groupName, { events }]) => { - events.forEach((eventName) => { - mapping[eventName] = groupName; - }); - }); - return mapping; -})(); + SHARDING_TABLE: 'ShardingTable', + STAKING: 'Staking', + PROFILE: 'Profile', + HUB: 'Hub', + CONTENT_ASSET: 'ContentAsset', + COMMIT_MANAGER_V1_U1: 'CommitManagerV1U1', + PARAMETERS_STORAGE: 'ParametersStorage', + IDENTITY_STORAGE: 'IdentityStorage', + LOG2PLDSF: 'Log2PLDSF', + LINEAR_SUM: 'LinearSum', + PARANETS_REGISTRY: 'ParanetsRegistry', +}; + +export const MONITORED_CONTRACT_EVENTS = { + Hub: ['NewContract', 'ContractChanged', 'NewAssetStorage', 'AssetStorageChanged'], + ParametersStorage: ['ParameterChanged'], + ContentAsset: ['AssetMinted'], +}; + +export const MONITORED_CONTRACTS = Object.keys(MONITORED_CONTRACT_EVENTS); + +export const MONITORED_EVENTS = Object.values(MONITORED_CONTRACT_EVENTS).flatMap( + (events) => events, +); + +export const CONTRACT_INDEPENDENT_EVENTS = {}; export const NODE_ENVIRONMENTS = { DEVELOPMENT: 'development', @@ -736,21 +835,11 @@ export const NODE_ENVIRONMENTS = { export const MAXIMUM_FETCH_EVENTS_FAILED_COUNT = 1000; -export const DELAY_BETWEEN_FAILED_FETCH_EVENTS_MILLIS = 10 * 1000; - export const CONTRACT_EVENT_FETCH_INTERVALS = { MAINNET: 10 * 1000, DEVELOPMENT: 4 * 1000, }; -export const BLOCK_TIME_MILLIS = { - OTP: 12_000, - HARDHAT: 5_000, - GNOSIS: 5_000, - DEFAULT: 12_000, - BASE: 2_000, -}; - export const TRANSACTION_CONFIRMATIONS = 1; export const SERVICE_AGREEMENT_SOURCES = { @@ -822,3 +911,7 @@ export const LOCAL_INSERT_FOR_ASSET_SYNC_RETRY_DELAY = 1000; export const LOCAL_INSERT_FOR_CURATED_PARANET_MAX_ATTEMPTS = 5; export const LOCAL_INSERT_FOR_CURATED_PARANET_RETRY_DELAY = 1000; + +export const TRIPLE_STORE_REPOSITORY = { + DKG: 'dkg', +}; diff --git a/src/controllers/http-api/v0/finality-http-api-controller-v0.js b/src/controllers/http-api/v0/finality-http-api-controller-v0.js new file mode 100644 index 0000000000..372039b983 --- /dev/null +++ b/src/controllers/http-api/v0/finality-http-api-controller-v0.js @@ -0,0 +1,84 @@ +import { OPERATION_ID_STATUS, OPERATION_STATUS, ERROR_TYPE } from '../../../constants/constants.js'; +import BaseController from '../base-http-api-controller.js'; + +class FinalityController extends BaseController { + constructor(ctx) { + super(ctx); + this.commandExecutor = ctx.commandExecutor; + this.operationIdService = ctx.operationIdService; + this.operationService = ctx.finalityService; + this.repositoryModuleManager = ctx.repositoryModuleManager; + this.ualService = ctx.ualService; + this.validationService = ctx.validationService; + this.blockchainModuleManager = ctx.blockchainModuleManager; + } + + async handleRequest(req, res) { + const operationId = await this.operationIdService.generateOperationId( + OPERATION_ID_STATUS.FINALITY.FINALITY_START, + ); + + await this.operationIdService.updateOperationIdStatus( + operationId, + null, + OPERATION_ID_STATUS.FINALITY.FINALITY_START, + ); + + this.returnResponse(res, 202, { + operationId, + }); + + await this.repositoryModuleManager.createOperationRecord( + this.operationService.getOperationName(), + operationId, + OPERATION_STATUS.IN_PROGRESS, + ); + + const { ual, blockchain, minimumNumberOfNodeReplications } = req.body; + + try { + this.logger.info(`Finality for ${ual} with operation id ${operationId} initiated.`); + + const commandSequence = ['finalityFindShardCommand', 'networkFinalityCommand']; + + const { contract, knowledgeCollectionId } = this.ualService.resolveUAL(ual); + + const datasetRoot = await this.blockchainModuleManager.getLatestAssertionId( + blockchain, + contract, + knowledgeCollectionId, + ); + + await this.commandExecutor.add({ + name: commandSequence[0], + sequence: commandSequence.slice(1), + delay: 0, + data: { + ual, + operationId, + blockchain, + datasetRoot, + minimumNumberOfNodeReplications, + }, + transactional: false, + }); + + await this.operationIdService.updateOperationIdStatus( + operationId, + blockchain, + OPERATION_ID_STATUS.FINALITY.FINALITY_END, + ); + } catch (error) { + this.logger.error(`Error while initializing finality: ${error.message}.`); + + await this.operationService.markOperationAsFailed( + operationId, + blockchain, + 'Unable to check finality, Failed to process input data!', + ERROR_TYPE.FINALITY.FINALITY_ERROR, + ); + } + } +} + +export default FinalityController; diff --git a/src/controllers/http-api/v0/get-http-api-controller-v0.js b/src/controllers/http-api/v0/get-http-api-controller-v0.js index e58e4cf9a0..a106e3a7de 100644 --- a/src/controllers/http-api/v0/get-http-api-controller-v0.js +++ b/src/controllers/http-api/v0/get-http-api-controller-v0.js @@ -1,8 +1,115 @@ +// import { +// OPERATION_ID_STATUS, +// OPERATION_STATUS, +// CONTENT_ASSET_HASH_FUNCTION_ID, +// DEFAULT_GET_STATE, +// ERROR_TYPE, +// } from '../../../constants/constants.js'; +// import BaseController from '../base-http-api-controller.js'; + +// class GetController extends BaseController { +// constructor(ctx) { +// super(ctx); +// this.commandExecutor = ctx.commandExecutor; +// this.operationIdService = ctx.operationIdService; +// this.operationService = ctx.getService; +// this.repositoryModuleManager = ctx.repositoryModuleManager; +// this.ualService = ctx.ualService; +// this.validationService = ctx.validationService; +// } + +// async handleRequest(req, res) { +// const operationId = await this.operationIdService.generateOperationId( +// OPERATION_ID_STATUS.GET.GET_START, +// ); + +// await this.operationIdService.updateOperationIdStatus( +// operationId, +// null, +// OPERATION_ID_STATUS.GET.GET_INIT_START, +// ); + +// this.returnResponse(res, 202, { +// operationId, +// }); + +// await this.repositoryModuleManager.createOperationRecord( +// this.operationService.getOperationName(), +// operationId, +// OPERATION_STATUS.IN_PROGRESS, +// ); + +// let blockchain; +// let contract; +// let tokenId; +// try { +// const { id, paranetUAL } = req.body; + +// if (!this.ualService.isUAL(id)) { +// throw Error('Requested id is not a UAL.'); +// } + +// ({ blockchain, contract, tokenId } = this.ualService.resolveUAL(id)); + +// const isValidUal = await this.validationService.validateUal( +// blockchain, +// contract, +// tokenId, +// ); +// if (!isValidUal) { +// throw Error(`${id} UAL isn't valid.`); +// } + +// const state = req.body.state ?? DEFAULT_GET_STATE; +// const hashFunctionId = req.body.hashFunctionId ?? CONTENT_ASSET_HASH_FUNCTION_ID; + +// this.logger.info(`Get for ${id} with operation id ${operationId} initiated.`); + +// const commandSequence = [ +// 'getAssertionIdCommand', +// 'localGetCommand', +// 'networkGetCommand', +// ]; + +// await this.commandExecutor.add({ +// name: commandSequence[0], +// sequence: commandSequence.slice(1), +// delay: 0, +// data: { +// blockchain, +// contract, +// tokenId, +// operationId, +// state, +// hashFunctionId, +// paranetUAL, +// }, +// transactional: false, +// }); + +// await this.operationIdService.updateOperationIdStatus( +// operationId, +// blockchain, +// OPERATION_ID_STATUS.GET.GET_INIT_END, +// ); +// } catch (error) { +// this.logger.error(`Error while initializing get data: ${error.message}.`); + +// await this.operationService.markOperationAsFailed( +// operationId, +// blockchain, +// 'Unable to get data, Failed to process input data!', +// ERROR_TYPE.GET.GET_ROUTE_ERROR, +// ); +// } +// } +// } + +// export default GetController; import { OPERATION_ID_STATUS, OPERATION_STATUS, CONTENT_ASSET_HASH_FUNCTION_ID, - DEFAULT_GET_STATE, ERROR_TYPE, } from '../../../constants/constants.js'; import BaseController from '../base-http-api-controller.js'; @@ -38,49 +145,35 @@ class GetController extends BaseController { operationId, OPERATION_STATUS.IN_PROGRESS, ); - let blockchain; let contract; - let tokenId; + let knowledgeCollectionId; + let knowledgeAssetId; try { - const { id, paranetUAL } = req.body; - - if (!this.ualService.isUAL(id)) { - throw Error('Requested id is not a UAL.'); - } - - ({ blockchain, contract, tokenId } = this.ualService.resolveUAL(id)); - - const isValidUal = await this.validationService.validateUal( - blockchain, - contract, - tokenId, - ); - if (!isValidUal) { - throw Error(`${id} UAL isn't valid.`); - } - - const state = req.body.state ?? DEFAULT_GET_STATE; + const { id, paranetUAL, includeMetadata } = req.body; + ({ blockchain, contract, knowledgeCollectionId, knowledgeAssetId } = + this.ualService.resolveUAL(id)); const hashFunctionId = req.body.hashFunctionId ?? CONTENT_ASSET_HASH_FUNCTION_ID; this.logger.info(`Get for ${id} with operation id ${operationId} initiated.`); - const commandSequence = [ - 'getAssertionIdCommand', - 'localGetCommand', - 'networkGetCommand', - ]; + // Get assertionId - datasetRoot + // + + const commandSequence = ['getValidateAssetCommand', 'getFindShardCommand']; await this.commandExecutor.add({ name: commandSequence[0], sequence: commandSequence.slice(1), delay: 0, data: { + ual: id, + includeMetadata, blockchain, contract, - tokenId, + knowledgeCollectionId, + knowledgeAssetId, operationId, - state, hashFunctionId, paranetUAL, }, diff --git a/src/controllers/http-api/v0/local-store-http-api-controller-v0.js b/src/controllers/http-api/v0/local-store-http-api-controller-v0.js index a7a82d0064..28a974b35b 100644 --- a/src/controllers/http-api/v0/local-store-http-api-controller-v0.js +++ b/src/controllers/http-api/v0/local-store-http-api-controller-v0.js @@ -7,6 +7,7 @@ class LocalStoreController extends BaseController { this.commandExecutor = ctx.commandExecutor; this.operationIdService = ctx.operationIdService; this.dataService = ctx.dataService; + this.fileService = ctx.fileService; } async handleRequest(req, res) { @@ -23,8 +24,13 @@ class LocalStoreController extends BaseController { null, OPERATION_ID_STATUS.LOCAL_STORE.LOCAL_STORE_INIT_END, ); - - const assertions = req.body; + let assertions; + const { filePath } = req.body; + if (filePath) { + assertions = JSON.parse(await this.fileService.readFile(filePath)); + } else { + assertions = req.body; + } const cachedAssertions = { public: {}, @@ -37,24 +43,6 @@ class LocalStoreController extends BaseController { break; } - case 2: { - const isFirstPublic = - this.dataService.getPrivateAssertionId(assertions[0].assertion) != null; - - const publicAssertionData = isFirstPublic ? assertions[0] : assertions[1]; - const privateAssertionData = isFirstPublic ? assertions[1] : assertions[0]; - - cachedAssertions.public = { - assertion: publicAssertionData.assertion, - assertionId: publicAssertionData.assertionId, - }; - cachedAssertions.private = { - assertion: privateAssertionData.assertion, - assertionId: privateAssertionData.assertionId, - }; - - break; - } default: throw Error('Unexpected number of assertions in local store'); } @@ -65,7 +53,9 @@ class LocalStoreController extends BaseController { )}. Operation id: ${operationId}`, ); - await this.operationIdService.cacheOperationIdData(operationId, cachedAssertions); + await this.operationIdService.cacheOperationIdDataToMemory(operationId, cachedAssertions); + + await this.operationIdService.cacheOperationIdDataToFile(operationId, cachedAssertions); const commandSequence = ['validateAssetCommand', 'localStoreCommand']; diff --git a/src/controllers/http-api/v0/publish-http-api-controller-v0.js b/src/controllers/http-api/v0/publish-http-api-controller-v0.js index f3de5c7c4b..0ad5a51e5d 100644 --- a/src/controllers/http-api/v0/publish-http-api-controller-v0.js +++ b/src/controllers/http-api/v0/publish-http-api-controller-v0.js @@ -17,14 +17,15 @@ class PublishController extends BaseController { this.ualService = ctx.ualService; this.serviceAgreementService = ctx.serviceAgreementService; this.blockchainModuleManager = ctx.blockchainModuleManager; + this.pendingStorageService = ctx.pendingStorageService; } async handleRequest(req, res) { - const { assertion, assertionId, blockchain, contract, tokenId } = req.body; + const { dataset, datasetRoot, blockchain } = req.body; const hashFunctionId = req.body.hashFunctionId ?? CONTENT_ASSET_HASH_FUNCTION_ID; this.logger.info( - `Received asset with assertion id: ${assertionId}, blockchain: ${blockchain}, hub contract: ${contract}, token id: ${tokenId}`, + `Received asset with dataset root: ${datasetRoot}, blockchain: ${blockchain}`, ); const operationId = await this.operationIdService.generateOperationId( @@ -53,24 +54,19 @@ class PublishController extends BaseController { ); try { - await this.operationIdService.cacheOperationIdData(operationId, { - public: { - assertion, - assertionId, - }, - blockchain, - contract, - tokenId, + await this.operationIdService.cacheOperationIdDataToMemory(operationId, { + dataset, + datasetRoot, }); - const commandSequence = ['publishValidateAssetCommand']; + await this.operationIdService.cacheOperationIdDataToFile(operationId, { + dataset, + datasetRoot, + }); - // Backwards compatibility check - true for older clients - if (req.body.localStore) { - commandSequence.push('localStoreCommand'); - } + await this.pendingStorageService.cacheDataset(operationId, datasetRoot, dataset); - commandSequence.push('networkPublishCommand'); + const commandSequence = ['publishFindShardCommand']; await this.commandExecutor.add({ name: commandSequence[0], @@ -79,10 +75,8 @@ class PublishController extends BaseController { period: 5000, retries: 3, data: { - assertionId, + datasetRoot, blockchain, - contract, - tokenId, hashFunctionId, operationId, storeType: LOCAL_STORE_TYPES.TRIPLE, diff --git a/src/controllers/http-api/v0/query-http-api-controller-v0.js b/src/controllers/http-api/v0/query-http-api-controller-v0.js index 79e2455734..99826d0cab 100644 --- a/src/controllers/http-api/v0/query-http-api-controller-v0.js +++ b/src/controllers/http-api/v0/query-http-api-controller-v0.js @@ -1,6 +1,46 @@ +// import BaseController from '../base-http-api-controller.js'; + +// import { OPERATION_ID_STATUS } from '../../../constants/constants.js'; + +// class QueryController extends BaseController { +// constructor(ctx) { +// super(ctx); +// this.commandExecutor = ctx.commandExecutor; +// this.operationIdService = ctx.operationIdService; +// } + +// async handleRequest(req, res) { +// const { query, type: queryType } = req.body; + +// const operationId = await this.operationIdService.generateOperationId( +// OPERATION_ID_STATUS.QUERY.QUERY_INIT_START, +// ); + +// this.returnResponse(res, 202, { +// operationId, +// }); + +// await this.operationIdService.updateOperationIdStatus( +// operationId, +// null, +// OPERATION_ID_STATUS.QUERY.QUERY_INIT_END, +// ); + +// await this.commandExecutor.add({ +// name: 'queryCommand', +// sequence: [], +// delay: 0, +// data: { query, queryType, repository: req.body.repository, operationId }, +// transactional: false, +// }); +// } +// } + +// export default QueryController; + import BaseController from '../base-http-api-controller.js'; -import { OPERATION_ID_STATUS } from '../../../constants/constants.js'; +import { OPERATION_ID_STATUS, TRIPLE_STORE_REPOSITORIES } from '../../../constants/constants.js'; class QueryController extends BaseController { constructor(ctx) { @@ -30,7 +70,12 @@ class QueryController extends BaseController { name: 'queryCommand', sequence: [], delay: 0, - data: { query, queryType, repository: req.body.repository, operationId }, + data: { + query, + queryType, + repository: TRIPLE_STORE_REPOSITORIES.DKG, + operationId, + }, transactional: false, }); } diff --git a/src/controllers/http-api/v0/request-schema/get-schema-v0.js b/src/controllers/http-api/v0/request-schema/get-schema-v0.js index 3502029e41..6de06ffc35 100644 --- a/src/controllers/http-api/v0/request-schema/get-schema-v0.js +++ b/src/controllers/http-api/v0/request-schema/get-schema-v0.js @@ -1,5 +1,3 @@ -import { GET_STATES } from '../../../../constants/constants.js'; - export default () => ({ type: 'object', required: ['id'], @@ -7,21 +5,18 @@ export default () => ({ id: { type: 'string', }, - state: { - oneOf: [ - { enum: [GET_STATES.LATEST, GET_STATES.FINALIZED] }, - { - type: 'string', - pattern: '^0x[A-Fa-f0-9]{64}$', - }, - ], + contentType: { + type: 'string', + }, + includeMetadata: { + type: 'boolean', }, hashFunctionId: { type: 'number', minimum: 1, }, - paranetaUAL: { - type: 'string', + paranetUAL: { + type: ['string', 'null'], }, }, }); diff --git a/src/controllers/http-api/v0/request-schema/local-store-schema-v0.js b/src/controllers/http-api/v0/request-schema/local-store-schema-v0.js index fc090858a4..39cded78f4 100644 --- a/src/controllers/http-api/v0/request-schema/local-store-schema-v0.js +++ b/src/controllers/http-api/v0/request-schema/local-store-schema-v0.js @@ -1,49 +1,82 @@ import { LOCAL_STORE_TYPES } from '../../../../constants/constants.js'; export default (argumentsObject) => ({ - type: 'array', + type: ['object', 'array'], items: { - type: 'object', - required: ['assertionId', 'assertion'], - properties: { - assertionId: { - type: 'string', - minLength: 66, - maxLength: 66, - }, - assertion: { - type: 'array', - items: { - type: 'string', + oneOf: [ + { + type: 'object', + required: ['assertionId', 'assertion'], + properties: { + assertionId: { + type: 'string', + minLength: 66, + maxLength: 66, + }, + assertion: { + type: 'array', + items: { + type: 'string', + }, + minItems: 1, + }, + blockchain: { + enum: argumentsObject.blockchainImplementationNames, + }, + contract: { + type: 'string', + minLength: 42, + maxLength: 42, + }, + tokenId: { + type: 'number', + minimum: 0, + }, + storeType: { + enum: [ + LOCAL_STORE_TYPES.TRIPLE, + LOCAL_STORE_TYPES.TRIPLE_PARANET, + LOCAL_STORE_TYPES.PENDING, + ], + }, + paranetUAL: { + type: 'string', + }, }, minItems: 1, + maxItems: 2, }, - blockchain: { - enum: argumentsObject.blockchainImplementationNames, - }, - contract: { - type: 'string', - minLength: 42, - maxLength: 42, - }, - tokenId: { - type: 'number', - minimum: 0, - }, - storeType: { - type: { - enum: [ - LOCAL_STORE_TYPES.TRIPLE, - LOCAL_STORE_TYPES.TRIPLE_PARANET, - LOCAL_STORE_TYPES.PENDING, - ], + { + type: 'object', + required: ['filePath'], + properties: { + filePath: { + type: 'string', + }, + paranetUAL: { + type: 'string', + }, + blockchain: { + enum: argumentsObject.blockchainImplementationNames, + }, + contract: { + type: 'string', + minLength: 42, + maxLength: 42, + }, + tokenId: { + type: 'number', + minimum: 0, + }, + storeType: { + enum: [ + LOCAL_STORE_TYPES.TRIPLE, + LOCAL_STORE_TYPES.TRIPLE_PARANET, + LOCAL_STORE_TYPES.PENDING, + ], + }, }, }, - paranetUAL: { - type: 'string', - }, - }, + ], }, - minItems: 1, - maxItems: 2, }); diff --git a/src/controllers/http-api/v0/request-schema/publish-schema-v0.js b/src/controllers/http-api/v0/request-schema/publish-schema-v0.js index 236db2ea5d..f3bcce648a 100644 --- a/src/controllers/http-api/v0/request-schema/publish-schema-v0.js +++ b/src/controllers/http-api/v0/request-schema/publish-schema-v0.js @@ -1,13 +1,13 @@ export default (argumentsObject) => ({ type: 'object', - required: ['assertionId', 'assertion', 'blockchain', 'contract', 'tokenId'], + required: ['datasetRoot', 'dataset', 'blockchain'], properties: { - assertionId: { + datasetRoot: { type: 'string', minLength: 66, maxLength: 66, }, - assertion: { + dataset: { type: 'array', items: { type: 'string', @@ -17,15 +17,6 @@ export default (argumentsObject) => ({ blockchain: { enum: argumentsObject.blockchainImplementationNames, }, - contract: { - type: 'string', - minLength: 42, - maxLength: 42, - }, - tokenId: { - type: 'number', - minimum: 0, - }, hashFunctionId: { type: 'number', minimum: 1, diff --git a/src/controllers/http-api/v0/request-schema/query-schema-v0.js b/src/controllers/http-api/v0/request-schema/query-schema-v0.js index 41f70f84f2..68ccc101d1 100644 --- a/src/controllers/http-api/v0/request-schema/query-schema-v0.js +++ b/src/controllers/http-api/v0/request-schema/query-schema-v0.js @@ -10,8 +10,8 @@ export default () => ({ query: { type: 'string', }, - repository: { - type: 'string', - }, + // repository: { + // type: 'string', + // }, }, }); diff --git a/src/controllers/http-api/v0/result-http-api-controller-v0.js b/src/controllers/http-api/v0/result-http-api-controller-v0.js index de5999f05a..4cd7736b66 100644 --- a/src/controllers/http-api/v0/result-http-api-controller-v0.js +++ b/src/controllers/http-api/v0/result-http-api-controller-v0.js @@ -6,7 +6,7 @@ class ResultController extends BaseController { super(ctx); this.operationIdService = ctx.operationIdService; - this.availableOperations = ['publish', 'get', 'query', 'local-store', 'update']; + this.availableOperations = ['publish', 'get', 'query', 'local-store', 'update', 'finality']; } async handleRequest(req, res) { @@ -48,6 +48,11 @@ class ResultController extends BaseController { ); } break; + case 'finality': + response.data = await this.operationIdService.getCachedOperationIdData( + operationId, + ); + break; default: break; } diff --git a/src/controllers/http-api/v1/finality-http-api-controller-v1.js b/src/controllers/http-api/v1/finality-http-api-controller-v1.js new file mode 100644 index 0000000000..6746d10293 --- /dev/null +++ b/src/controllers/http-api/v1/finality-http-api-controller-v1.js @@ -0,0 +1,72 @@ +import { OPERATION_ID_STATUS, OPERATION_STATUS, ERROR_TYPE } from '../../../constants/constants.js'; +import BaseController from '../base-http-api-controller.js'; + +class FinalityController extends BaseController { + constructor(ctx) { + super(ctx); + this.commandExecutor = ctx.commandExecutor; + this.operationIdService = ctx.operationIdService; + this.operationService = ctx.finalityService; + this.repositoryModuleManager = ctx.repositoryModuleManager; + this.ualService = ctx.ualService; + this.validationService = ctx.validationService; + } + + async handleRequest(req, res) { + const operationId = await this.operationIdService.generateOperationId( + OPERATION_ID_STATUS.FINALITY.FINALITY_START, + ); + + const { ual, blockchain } = req.body; + + await this.operationIdService.updateOperationIdStatus( + operationId, + blockchain, + OPERATION_ID_STATUS.FINALITY.FINALITY_START, + ); + + this.returnResponse(res, 202, { + operationId, + }); + + await this.repositoryModuleManager.createOperationRecord( + this.operationService.getOperationName(), + operationId, + OPERATION_STATUS.IN_PROGRESS, + ); + + try { + this.logger.info(`Finality for ${ual} with operation id ${operationId} initiated.`); + + const commandSequence = ['finalityFindShardCommand', 'networkFinalityCommand']; + + await this.commandExecutor.add({ + name: commandSequence[0], + sequence: commandSequence.slice(1), + delay: 0, + data: { + ual, + operationId, + }, + transactional: false, + }); + + await this.operationIdService.updateOperationIdStatus( + operationId, + blockchain, + OPERATION_ID_STATUS.FINALITY.FINALITY_END, + ); + } catch (error) { + this.logger.error(`Error while initializing finality: ${error.message}.`); + + await this.operationService.markOperationAsFailed( + operationId, + blockchain, + 'Unable to check finality, Failed to process input data!', + ERROR_TYPE.FINALITY.FINALITY_ERROR, + ); + } + } +} + +export default FinalityController; diff --git a/src/controllers/http-api/v1/get-http-api-controller-v1.js b/src/controllers/http-api/v1/get-http-api-controller-v1.js new file mode 100644 index 0000000000..585de20fb6 --- /dev/null +++ b/src/controllers/http-api/v1/get-http-api-controller-v1.js @@ -0,0 +1,90 @@ +import { + OPERATION_ID_STATUS, + OPERATION_STATUS, + CONTENT_ASSET_HASH_FUNCTION_ID, + ERROR_TYPE, +} from '../../../constants/constants.js'; +import BaseController from '../base-http-api-controller.js'; + +class GetController extends BaseController { + constructor(ctx) { + super(ctx); + this.commandExecutor = ctx.commandExecutor; + this.operationIdService = ctx.operationIdService; + this.operationService = ctx.getService; + this.repositoryModuleManager = ctx.repositoryModuleManager; + this.ualService = ctx.ualService; + this.validationService = ctx.validationService; + } + + async handleRequest(req, res) { + const operationId = await this.operationIdService.generateOperationId( + OPERATION_ID_STATUS.GET.GET_START, + ); + + await this.operationIdService.updateOperationIdStatus( + operationId, + null, + OPERATION_ID_STATUS.GET.GET_INIT_START, + ); + + this.returnResponse(res, 202, { + operationId, + }); + + await this.repositoryModuleManager.createOperationRecord( + this.operationService.getOperationName(), + operationId, + OPERATION_STATUS.IN_PROGRESS, + ); + let blockchain; + let tokenId; + let contract; + try { + const { id, paranetUAL } = req.body; + + ({ blockchain, tokenId, contract } = this.ualService.resolveUAL(id)); + const hashFunctionId = req.body.hashFunctionId ?? CONTENT_ASSET_HASH_FUNCTION_ID; + + this.logger.info(`Get for ${id} with operation id ${operationId} initiated.`); + + // Get assertionId - datasetRoot + // + + const commandSequence = ['getValidateAssetCommand', 'getFindShardCommand']; + + await this.commandExecutor.add({ + name: commandSequence[0], + sequence: commandSequence.slice(1), + delay: 0, + data: { + ual: id, + blockchain, + operationId, + hashFunctionId, + paranetUAL, + tokenId, + contract, + }, + transactional: false, + }); + + await this.operationIdService.updateOperationIdStatus( + operationId, + blockchain, + OPERATION_ID_STATUS.GET.GET_INIT_END, + ); + } catch (error) { + this.logger.error(`Error while initializing get data: ${error.message}.`); + + await this.operationService.markOperationAsFailed( + operationId, + blockchain, + 'Unable to get data, Failed to process input data!', + ERROR_TYPE.GET.GET_ROUTE_ERROR, + ); + } + } +} + +export default GetController; diff --git a/src/controllers/http-api/v1/query-http-api-controller-v1.js b/src/controllers/http-api/v1/query-http-api-controller-v1.js new file mode 100644 index 0000000000..f2d8f0cddd --- /dev/null +++ b/src/controllers/http-api/v1/query-http-api-controller-v1.js @@ -0,0 +1,44 @@ +import BaseController from '../base-http-api-controller.js'; + +import { OPERATION_ID_STATUS, TRIPLE_STORE_REPOSITORIES } from '../../../constants/constants.js'; + +class QueryController extends BaseController { + constructor(ctx) { + super(ctx); + this.commandExecutor = ctx.commandExecutor; + this.operationIdService = ctx.operationIdService; + } + + async handleRequest(req, res) { + const { query, queryType } = req.body; + + const operationId = await this.operationIdService.generateOperationId( + OPERATION_ID_STATUS.QUERY.QUERY_INIT_START, + ); + + this.returnResponse(res, 202, { + operationId, + }); + + await this.operationIdService.updateOperationIdStatus( + operationId, + null, + OPERATION_ID_STATUS.QUERY.QUERY_INIT_END, + ); + + await this.commandExecutor.add({ + name: 'queryCommand', + sequence: [], + delay: 0, + data: { + query, + queryType, + repository: TRIPLE_STORE_REPOSITORIES.DKG, + operationId, + }, + transactional: false, + }); + } +} + +export default QueryController; diff --git a/src/controllers/http-api/v1/request-schema/get-schema-v1.js b/src/controllers/http-api/v1/request-schema/get-schema-v1.js new file mode 100644 index 0000000000..9623f3daea --- /dev/null +++ b/src/controllers/http-api/v1/request-schema/get-schema-v1.js @@ -0,0 +1,22 @@ +export default () => ({ + type: 'object', + required: ['id'], + properties: { + id: { + type: 'string', + }, + contentType: { + type: 'string', + }, + includeMetadata: { + type: 'boolean', + }, + hashFunctionId: { + type: 'number', + minimum: 1, + }, + paranetUAL: { + type: 'string', + }, + }, +}); diff --git a/src/controllers/rpc/finality-rpc-controller.js b/src/controllers/rpc/finality-rpc-controller.js new file mode 100644 index 0000000000..fe3f3468dc --- /dev/null +++ b/src/controllers/rpc/finality-rpc-controller.js @@ -0,0 +1,40 @@ +import { NETWORK_MESSAGE_TYPES } from '../../constants/constants.js'; +import BaseController from './base-rpc-controller.js'; + +class FinalityController extends BaseController { + constructor(ctx) { + super(ctx); + this.commandExecutor = ctx.commandExecutor; + this.operationService = ctx.finalityService; + } + + async v1_0_0HandleRequest(message, remotePeerId, protocol) { + const { operationId, messageType } = message.header; + const [handleRequestCommand] = this.getCommandSequence(protocol); + let commandName; + switch (messageType) { + case NETWORK_MESSAGE_TYPES.REQUESTS.PROTOCOL_REQUEST: + commandName = handleRequestCommand; + break; + default: + throw Error('unknown messageType'); + } + + await this.commandExecutor.add({ + name: commandName, + sequence: [], + delay: 0, + data: { + remotePeerId, + operationId, + protocol, + ual: message.data.ual, + numberOfShardNodes: message.data.numberOfShardNodes, + blockchain: message.data.blockchain, + }, + transactional: false, + }); + } +} + +export default FinalityController; diff --git a/src/controllers/rpc/get-rpc-controller.js b/src/controllers/rpc/get-rpc-controller.js index 196cabfaae..901dd7bfc6 100644 --- a/src/controllers/rpc/get-rpc-controller.js +++ b/src/controllers/rpc/get-rpc-controller.js @@ -13,13 +13,10 @@ class GetController extends BaseController { } async v1_0_0HandleRequest(message, remotePeerId, protocol) { - const { operationId, keywordUuid, messageType } = message.header; - const [handleInitCommand, handleRequestCommand] = this.getCommandSequence(protocol); + const { operationId, messageType } = message.header; + const [handleRequestCommand] = this.getCommandSequence(protocol); let commandName; switch (messageType) { - case NETWORK_MESSAGE_TYPES.REQUESTS.PROTOCOL_INIT: - commandName = handleInitCommand; - break; case NETWORK_MESSAGE_TYPES.REQUESTS.PROTOCOL_REQUEST: commandName = handleRequestCommand; break; @@ -34,13 +31,13 @@ class GetController extends BaseController { data: { remotePeerId, operationId, - keywordUuid, protocol, - assertionId: message.data.assertionId, + ual: message.data.ual, blockchain: message.data.blockchain, contract: message.data.contract, - tokenId: message.data.tokenId, - keyword: message.data.keyword, + knowledgeCollectionId: message.data.knowledgeCollectionId, + knowledgeAssetId: message.data.knowledgeAssetId, + includeMetadata: message.data.includeMetadata, hashFunctionId: message.data.hashFunctionId ?? CONTENT_ASSET_HASH_FUNCTION_ID, state: message.data.state ?? DEFAULT_GET_STATE, paranetUAL: message.data.paranetUAL, diff --git a/src/controllers/rpc/publish-rpc-controller.js b/src/controllers/rpc/publish-rpc-controller.js index a3aaa0c8b2..db67d8ef8e 100644 --- a/src/controllers/rpc/publish-rpc-controller.js +++ b/src/controllers/rpc/publish-rpc-controller.js @@ -1,8 +1,5 @@ import BaseController from './base-rpc-controller.js'; -import { - NETWORK_MESSAGE_TYPES, - CONTENT_ASSET_HASH_FUNCTION_ID, -} from '../../constants/constants.js'; +import { NETWORK_MESSAGE_TYPES } from '../../constants/constants.js'; class PublishController extends BaseController { constructor(ctx) { @@ -13,48 +10,38 @@ class PublishController extends BaseController { } async v1_0_0HandleRequest(message, remotePeerId, protocol) { - const { operationId, keywordUuid, messageType } = message.header; + const { operationId, messageType } = message.header; const command = { sequence: [], delay: 0, transactional: false, data: {} }; - let dataSource; - const [handleInitCommand, handleRequestCommand] = this.getCommandSequence(protocol); - switch (messageType) { - case NETWORK_MESSAGE_TYPES.REQUESTS.PROTOCOL_INIT: - dataSource = message.data; - command.name = handleInitCommand; - command.period = 5000; - command.retries = 3; + const [handleRequestCommand] = this.getCommandSequence(protocol); + if (messageType === NETWORK_MESSAGE_TYPES.REQUESTS.PROTOCOL_REQUEST) { + Object.assign(command, { + name: handleRequestCommand, + period: 5000, + retries: 3, + }); - break; - case NETWORK_MESSAGE_TYPES.REQUESTS.PROTOCOL_REQUEST: - // eslint-disable-next-line no-case-declarations - dataSource = await this.operationIdService.getCachedOperationIdData(operationId); - await this.operationIdService.cacheOperationIdData(operationId, { - assertionId: dataSource.assertionId, - assertion: message.data.assertion, - }); - command.name = handleRequestCommand; - command.data.keyword = message.data.keyword; - command.data.agreementId = dataSource.agreementId; - command.data.agreementData = dataSource.agreementData; - break; - default: - throw Error('unknown message type'); + await this.operationIdService.cacheOperationIdDataToMemory(operationId, { + dataset: message.data.dataset, + datasetRoot: message.data.datasetRoot, + }); + + await this.operationIdService.cacheOperationIdDataToFile(operationId, { + dataset: message.data.dataset, + datasetRoot: message.data.datasetRoot, + }); + } else { + throw new Error('Unknown message type'); } command.data = { ...command.data, remotePeerId, operationId, - keywordUuid, protocol, - assertionId: dataSource.assertionId, - blockchain: dataSource.blockchain, - contract: dataSource.contract, - tokenId: dataSource.tokenId, - keyword: dataSource.keyword, - hashFunctionId: message.data.hashFunctionId ?? CONTENT_ASSET_HASH_FUNCTION_ID, - proximityScoreFunctionsPairId: dataSource.proximityScoreFunctionsPairId ?? 1, + dataset: message.data.dataset, + datasetRoot: message.data.datasetRoot, + blockchain: message.data.blockchain, }; await this.commandExecutor.add(command); diff --git a/src/controllers/rpc/rpc-router.js b/src/controllers/rpc/rpc-router.js index 18bfd4e9a1..073e346f3c 100644 --- a/src/controllers/rpc/rpc-router.js +++ b/src/controllers/rpc/rpc-router.js @@ -9,6 +9,7 @@ class RpcRouter { this.publishRpcController = ctx.publishRpcController; this.getRpcController = ctx.getRpcController; this.updateRpcController = ctx.updateRpcController; + this.finalityRpcController = ctx.finalityRpcController; } initialize() { diff --git a/src/controllers/rpc/update-rpc-controller.js b/src/controllers/rpc/update-rpc-controller.js index 74e24ae7fc..1a549880c7 100644 --- a/src/controllers/rpc/update-rpc-controller.js +++ b/src/controllers/rpc/update-rpc-controller.js @@ -13,7 +13,7 @@ class UpdateController extends BaseController { } async v1_0_0HandleRequest(message, remotePeerId, protocol) { - const { operationId, keywordUuid, messageType } = message.header; + const { operationId, messageType } = message.header; const command = { sequence: [], delay: 0, transactional: false, data: {} }; let dataSource; @@ -49,7 +49,6 @@ class UpdateController extends BaseController { ...command.data, remotePeerId, operationId, - keywordUuid, protocol, assertionId: dataSource.assertionId, blockchain: dataSource.blockchain, diff --git a/src/migration/blockchain-identity-migration.js b/src/migration/blockchain-identity-migration.js deleted file mode 100644 index fb697a1ee0..0000000000 --- a/src/migration/blockchain-identity-migration.js +++ /dev/null @@ -1,31 +0,0 @@ -import path from 'path'; -import appRootPath from 'app-root-path'; -import BaseMigration from './base-migration.js'; -import { NODE_ENVIRONMENTS } from '../constants/constants.js'; - -class BlockchainIdentityMigration extends BaseMigration { - async executeMigration() { - if ( - process.env.NODE_ENV !== NODE_ENVIRONMENTS.DEVELOPMENT && - process.env.NODE_ENV !== NODE_ENVIRONMENTS.TEST - ) { - const configurationFolderPath = path.join(appRootPath.path, '..'); - const configurationFilePath = path.join( - configurationFolderPath, - this.config.configFilename, - ); - - const config = await this.fileService.readFile(configurationFilePath, true); - for (const blockchainImpl in config.modules.blockchain.implementation) { - delete config.modules.blockchain.implementation[blockchainImpl].config.identity; - } - await this.fileService.writeContentsToFile( - configurationFolderPath, - this.config.configFilename, - JSON.stringify(config, null, 4), - ); - } - } -} - -export default BlockchainIdentityMigration; diff --git a/src/migration/clean-operational-database-migration.js b/src/migration/clean-operational-database-migration.js deleted file mode 100644 index e65847384e..0000000000 --- a/src/migration/clean-operational-database-migration.js +++ /dev/null @@ -1,21 +0,0 @@ -import BaseMigration from './base-migration.js'; -import { NODE_ENVIRONMENTS } from '../constants/constants.js'; - -class CleanOperationalDatabaseMigration extends BaseMigration { - constructor(migrationName, logger, config, repositoryModuleManager) { - super(migrationName, logger, config); - this.repositoryModuleManager = repositoryModuleManager; - } - - async executeMigration() { - if ( - process.env.NODE_ENV !== NODE_ENVIRONMENTS.DEVELOPMENT && - process.env.NODE_ENV !== NODE_ENVIRONMENTS.TEST - ) { - this.logger.info('Dropping old operational database.'); - await this.repositoryModuleManager.dropDatabase(); - } - } -} - -export default CleanOperationalDatabaseMigration; diff --git a/src/migration/clean-sharding-table-migration.js b/src/migration/clean-sharding-table-migration.js deleted file mode 100644 index 7eb37a7328..0000000000 --- a/src/migration/clean-sharding-table-migration.js +++ /dev/null @@ -1,27 +0,0 @@ -import BaseMigration from './base-migration.js'; -import { CONTRACTS, NODE_ENVIRONMENTS } from '../constants/constants.js'; - -class CleanShardingTableMigration extends BaseMigration { - constructor(migrationName, logger, config, repositoryModuleManager) { - super(migrationName, logger, config); - this.repositoryModuleManager = repositoryModuleManager; - } - - async executeMigration() { - if ( - process.env.NODE_ENV !== NODE_ENVIRONMENTS.DEVELOPMENT && - process.env.NODE_ENV !== NODE_ENVIRONMENTS.TEST - ) { - this.logger.info('Removing all entries from local sharding table'); - await this.repositoryModuleManager.cleanShardingTable(); - await this.repositoryModuleManager.removeBlockchainEvents( - CONTRACTS.SHARDING_TABLE_CONTRACT, - ); - await this.repositoryModuleManager.removeLastCheckedBlockForContract( - CONTRACTS.SHARDING_TABLE_CONTRACT, - ); - } - } -} - -export default CleanShardingTableMigration; diff --git a/src/migration/devnet-neuro-pruning-migration.js b/src/migration/devnet-neuro-pruning-migration.js deleted file mode 100644 index 1fb9d6ca27..0000000000 --- a/src/migration/devnet-neuro-pruning-migration.js +++ /dev/null @@ -1,34 +0,0 @@ -import BaseMigration from './base-migration.js'; -import { NODE_ENVIRONMENTS } from '../constants/constants.js'; - -class DevnetNeuroPruningMigration extends BaseMigration { - constructor(migrationName, logger, config, repositoryModuleManager) { - super(migrationName, logger, config); - this.repositoryModuleManager = repositoryModuleManager; - } - - async executeMigration() { - if (process.env.NODE_ENV === NODE_ENVIRONMENTS.DEVNET) { - this.logger.info('Pruning Neuro devenet tables'); - // commands are not here as parsing JSON in SQL would take too much time - const tables = [ - 'blockchain', - 'blockchain_event', - 'event', - 'missed_paranet_asset', - 'paranet', - 'service_agreement', - 'shard', - ]; - for (const table of tables) { - const query = ` - DELETE FROM ${table} - WHERE blockchain_id = 'otp:2160'`; - // eslint-disable-next-line no-await-in-loop - await this.repositoryModuleManager.query(query); - } - } - } -} - -export default DevnetNeuroPruningMigration; diff --git a/src/migration/devnet-pruning-migration.js b/src/migration/devnet-pruning-migration.js deleted file mode 100644 index 23ace47dd1..0000000000 --- a/src/migration/devnet-pruning-migration.js +++ /dev/null @@ -1,46 +0,0 @@ -import BaseMigration from './base-migration.js'; -import { NODE_ENVIRONMENTS } from '../constants/constants.js'; - -class DevnetPruningMigration extends BaseMigration { - constructor(migrationName, logger, config, repositoryModuleManager) { - super(migrationName, logger, config); - this.repositoryModuleManager = repositoryModuleManager; - } - - async executeMigration() { - if ( - process.env.NODE_ENV === NODE_ENVIRONMENTS.DEVNET || - process.env.NODE_ENV === NODE_ENVIRONMENTS.TESTNET - ) { - this.logger.info('Pruning devenet operational tables'); - // commands are not here as parsing JSON in SQL would take too much time - const tables = [ - 'blockchain', - 'blockchain_event', - 'commands', - 'event', - 'get', // Reserved word in SQL - 'get_response', - 'missed_paranet_asset', - 'operation_ids', - 'paranet', - 'publish', - 'publish_response', - 'service_agreement', - 'update', - 'update_response', - 'shard', - ]; - for (const table of tables) { - const query = ` - TRUNCATE TABLE \`${table}\`; - `; - - // eslint-disable-next-line no-await-in-loop - await this.repositoryModuleManager.query(query); - } - } - } -} - -export default DevnetPruningMigration; diff --git a/src/migration/get-old-service-agreements-migration.js b/src/migration/get-old-service-agreements-migration.js deleted file mode 100644 index dd6f33d65b..0000000000 --- a/src/migration/get-old-service-agreements-migration.js +++ /dev/null @@ -1,133 +0,0 @@ -import BaseMigration from './base-migration.js'; -import { SERVICE_AGREEMENT_SOURCES } from '../constants/constants.js'; - -const BATCH_SIZE = 50; -const GNOSIS_MAINNET_CHAIN_ID = 'gnosis:100'; -const GNOSIS_MAINNET_ASSET_STORAGE_CONTRACT_ADDRESS = '0xf81a8c0008de2dcdb73366cf78f2b178616d11dd'; - -class GetOldServiceAgreementsMigration extends BaseMigration { - constructor( - migrationName, - logger, - config, - repositoryModuleManager, - blockchainModuleManager, - serviceAgreementService, - ) { - super(migrationName, logger, config); - this.repositoryModuleManager = repositoryModuleManager; - this.blockchainModuleManager = blockchainModuleManager; - this.serviceAgreementService = serviceAgreementService; - } - - async executeMigration() { - const blockchainId = this.blockchainModuleManager - .getImplementationNames() - .find((s) => s === GNOSIS_MAINNET_CHAIN_ID); - - if (blockchainId) { - const contract = GNOSIS_MAINNET_ASSET_STORAGE_CONTRACT_ADDRESS; - - const existingTokenIds = - await this.repositoryModuleManager.getServiceAgreementsTokenIds(0, blockchainId); - - const latestTokenId = Number( - await this.blockchainModuleManager.getLatestTokenId(blockchainId, contract), - ); - - const missingTokenIds = []; - let expectedTokenId = 0; - existingTokenIds.forEach((serviceAgreement) => { - while (serviceAgreement.tokenId > expectedTokenId) { - missingTokenIds.push(expectedTokenId); - expectedTokenId += 1; - } - expectedTokenId += 1; - }); - - for ( - let i = (existingTokenIds[existingTokenIds.length - 1] ?? -1) + 1; - i <= latestTokenId; - i += 1 - ) { - missingTokenIds.push(i); - } - - let batchNumber = 0; - // Check < or <= condition - while (batchNumber * BATCH_SIZE < missingTokenIds.length) { - const promises = []; - for ( - let i = batchNumber * BATCH_SIZE; - i < missingTokenIds.length && i < (batchNumber + 1) * BATCH_SIZE; - i += 1 - ) { - const tokenIdToBeFetched = missingTokenIds[i]; - promises.push( - this.getAndProcessMissingServiceAgreement( - tokenIdToBeFetched, - blockchainId, - contract, - ), - ); - } - - // eslint-disable-next-line no-await-in-loop - const missingAgreements = await Promise.all(promises); - - // eslint-disable-next-line no-await-in-loop - await this.repositoryModuleManager.bulkCreateServiceAgreementRecords( - missingAgreements.filter((agreement) => agreement != null), - ); - batchNumber += 1; - } - } - } - - async getAndProcessMissingServiceAgreement(tokenIdToBeFetched, blockchainId, contract) { - try { - const assertionIds = await this.blockchainModuleManager.getAssertionIds( - blockchainId, - contract, - tokenIdToBeFetched, - ); - const keyword = this.blockchainModuleManager.encodePacked( - blockchainId, - ['address', 'bytes32'], - [contract, assertionIds[0]], - ); - const agreementId = this.serviceAgreementService.generateId( - blockchainId, - contract, - tokenIdToBeFetched, - keyword, - 1, - ); - const agreementData = await this.blockchainModuleManager.getAgreementData( - blockchainId, - agreementId, - ); - return { - blockchainId, - assetStorageContractAddress: contract, - tokenId: tokenIdToBeFetched, - agreementId, - startTime: agreementData?.startTime ?? 0, - epochsNumber: agreementData?.epochsNumber ?? 0, - epochLength: agreementData?.epochLength ?? 0, - scoreFunctionId: agreementData?.scoreFunctionId ?? 0, - stateIndex: 0, - assertionId: assertionIds[0], - hashFunctionId: 1, - keyword, - proofWindowOffsetPerc: agreementData?.proofWindowOffsetPerc ?? 0, - dataSource: SERVICE_AGREEMENT_SOURCES.BLOCKCHAIN, - }; - } catch (error) { - this.logger.warn(`Unable to fetch agreement data for token id: ${tokenIdToBeFetched}`); - return null; - } - } -} - -export default GetOldServiceAgreementsMigration; diff --git a/src/migration/mark-old-blockchain-events-as-processed-migration.js b/src/migration/mark-old-blockchain-events-as-processed-migration.js deleted file mode 100644 index 78e69904fd..0000000000 --- a/src/migration/mark-old-blockchain-events-as-processed-migration.js +++ /dev/null @@ -1,19 +0,0 @@ -import BaseMigration from './base-migration.js'; - -class MarkOldBlockchainEventsAsProcessedMigration extends BaseMigration { - constructor(migrationName, logger, config, repositoryModuleManager) { - super(migrationName, logger, config); - this.repositoryModuleManager = repositoryModuleManager; - } - - async executeMigration() { - this.logger.info('Marking old blockchain events as processed'); - const timestamp = Date.now(); - const query = `update blockchain_event - set processed = true - where created_at < FROM_UNIXTIME(${timestamp / 1000})`; - await this.repositoryModuleManager.query(query); - } -} - -export default MarkOldBlockchainEventsAsProcessedMigration; diff --git a/src/migration/mark-staking-events-as-processed-migration.js b/src/migration/mark-staking-events-as-processed-migration.js deleted file mode 100644 index 2fe63ac39d..0000000000 --- a/src/migration/mark-staking-events-as-processed-migration.js +++ /dev/null @@ -1,25 +0,0 @@ -/* eslint-disable no-await-in-loop */ -import BaseMigration from './base-migration.js'; - -class MarkStakingEventsAsProcessedMigration extends BaseMigration { - constructor(migrationName, logger, config, repositoryModuleManager, blockchainModuleManager) { - super(migrationName, logger, config); - this.repositoryModuleManager = repositoryModuleManager; - this.blockchainModuleManager = blockchainModuleManager; - } - - async executeMigration() { - this.logger.info('Marking old blockchain events as processed'); - for (const blockchain of this.blockchainModuleManager.getImplementationNames()) { - const timestamp = Date.now(); - const block = await this.blockchainModuleManager.getLatestBlock(blockchain); - const query = `update blockchain - set last_checked_block = ${block.number}, - last_checked_timestamp = ${timestamp} - where blockchain_id = 'otp:2043'`; - await this.repositoryModuleManager.query(query); - } - } -} - -export default MarkStakingEventsAsProcessedMigration; diff --git a/src/migration/migration-executor.js b/src/migration/migration-executor.js index 1cb9ffc27f..aa83c85557 100644 --- a/src/migration/migration-executor.js +++ b/src/migration/migration-executor.js @@ -1,586 +1,6 @@ import path from 'path'; -import { NODE_ENVIRONMENTS } from '../constants/constants.js'; -import PullBlockchainShardingTableMigration from './pull-sharding-table-migration.js'; -import PrivateAssetsMetadataMigration from './private-assets-metadata-migration.js'; -import TelemetryModuleUserConfigurationMigration from './telemetry-module-user-configuration-migration.js'; -import TripleStoreUserConfigurationMigration from './triple-store-user-configuration-migration.js'; -import ServiceAgreementsMetadataMigration from './service-agreements-metadata-migration.js'; -import RemoveAgreementStartEndTimeMigration from './remove-agreement-start-end-time-migration.js'; -import TripleStoreMetadataMigration from './triple-store-metadata-migration.js'; -import RemoveOldEpochCommandsMigration from './remove-old-epoch-commands-migration.js'; -import PendingStorageMigration from './pending-storage-migration.js'; -import MarkOldBlockchainEventsAsProcessedMigration from './mark-old-blockchain-events-as-processed-migration.js'; -import ServiceAgreementsDataInspector from './service-agreements-data-inspector.js'; -import ServiceAgreementsInvalidDataMigration from './service-agreements-invalid-data-migration.js'; -import UalExtensionUserConfigurationMigration from './ual-extension-user-configuration-migration.js'; -import UalExtensionTripleStoreMigration from './ual-extension-triple-store-migration.js'; -import MarkStakingEventsAsProcessedMigration from './mark-staking-events-as-processed-migration.js'; -import RemoveServiceAgreementsForChiadoMigration from './remove-service-agreements-for-chiado-migration.js'; -import MultipleOpWalletsUserConfigurationMigration from './multiple-op-wallets-user-configuration-migration.js'; -import GetOldServiceAgreementsMigration from './get-old-service-agreements-migration.js'; -import ServiceAgreementPruningMigration from './service-agreement-pruning-migration.js'; -import RemoveDuplicateServiceAgreementMigration from './remove-duplicate-service-agreement-migration.js'; -import DevnetNeuroPruningMigration from './devnet-neuro-pruning-migration.js'; -import DevnetPruningMigration from './devnet-pruning-migration.js'; -import SetParanetSyncedAssetTypeMigration from './set-paranet-synced-asset-type-migration.js'; class MigrationExecutor { - static async executePullShardingTableMigration(container, logger, config) { - if ( - process.env.NODE_ENV === NODE_ENVIRONMENTS.DEVELOPMENT || - process.env.NODE_ENV === NODE_ENVIRONMENTS.TEST - ) - return; - - const blockchainModuleManager = container.resolve('blockchainModuleManager'); - const repositoryModuleManager = container.resolve('repositoryModuleManager'); - const validationModuleManager = container.resolve('validationModuleManager'); - - const migration = new PullBlockchainShardingTableMigration( - 'pullShardingTableMigrationV620Hotfix11', - logger, - config, - repositoryModuleManager, - blockchainModuleManager, - validationModuleManager, - ); - if (!(await migration.migrationAlreadyExecuted())) { - await migration.migrate(); - } - } - - static async executePrivateAssetsMetadataMigration(container, logger, config) { - if ( - process.env.NODE_ENV === NODE_ENVIRONMENTS.DEVELOPMENT || - process.env.NODE_ENV === NODE_ENVIRONMENTS.TEST - ) - return; - const blockchainModuleManager = container.resolve('blockchainModuleManager'); - const tripleStoreService = container.resolve('tripleStoreService'); - const serviceAgreementService = container.resolve('serviceAgreementService'); - const ualService = container.resolve('ualService'); - const dataService = container.resolve('dataService'); - - const migration = new PrivateAssetsMetadataMigration( - 'privateAssetsMetadataMigration', - logger, - config, - tripleStoreService, - blockchainModuleManager, - serviceAgreementService, - ualService, - dataService, - ); - - if (!(await migration.migrationAlreadyExecuted())) { - await migration.migrate(); - logger.info('Node will now restart!'); - MigrationExecutor.exitNode(1); - } - } - - static async executeTelemetryModuleUserConfigurationMigration(logger, config) { - if ( - process.env.NODE_ENV === NODE_ENVIRONMENTS.DEVELOPMENT || - process.env.NODE_ENV === NODE_ENVIRONMENTS.TEST - ) - return; - - const migration = new TelemetryModuleUserConfigurationMigration( - 'telemetryModuleUserConfigurationMigration', - logger, - config, - ); - if (!(await migration.migrationAlreadyExecuted())) { - await migration.migrate(); - logger.info('Node will now restart!'); - MigrationExecutor.exitNode(1); - } - } - - static async executeTripleStoreUserConfigurationMigration(logger, config) { - if ( - process.env.NODE_ENV === NODE_ENVIRONMENTS.DEVELOPMENT || - process.env.NODE_ENV === NODE_ENVIRONMENTS.TEST - ) - return; - - const migration = new TripleStoreUserConfigurationMigration( - 'tripleStoreUserConfigurationMigration', - logger, - config, - ); - if (!(await migration.migrationAlreadyExecuted())) { - await migration.migrate(); - logger.info('Node will now restart!'); - MigrationExecutor.exitNode(1); - } - } - - static async executeServiceAgreementsMetadataMigration(container, logger, config) { - if ( - process.env.NODE_ENV === NODE_ENVIRONMENTS.DEVELOPMENT || - process.env.NODE_ENV === NODE_ENVIRONMENTS.TEST - ) - return; - - const blockchainModuleManager = container.resolve('blockchainModuleManager'); - const repositoryModuleManager = container.resolve('repositoryModuleManager'); - const tripleStoreService = container.resolve('tripleStoreService'); - const serviceAgreementService = container.resolve('serviceAgreementService'); - const ualService = container.resolve('ualService'); - - const migration = new ServiceAgreementsMetadataMigration( - 'serviceAgreementsMetadataMigration', - logger, - config, - tripleStoreService, - blockchainModuleManager, - repositoryModuleManager, - serviceAgreementService, - ualService, - ); - if (!(await migration.migrationAlreadyExecuted())) { - await migration.migrate(); - } - } - - static async executeRemoveAgreementStartEndTimeMigration(container, logger, config) { - if ( - process.env.NODE_ENV === NODE_ENVIRONMENTS.DEVELOPMENT || - process.env.NODE_ENV === NODE_ENVIRONMENTS.TEST - ) - return; - - const tripleStoreService = container.resolve('tripleStoreService'); - - const migration = new RemoveAgreementStartEndTimeMigration( - 'removeAgreementStartEndTimeMigration', - logger, - config, - tripleStoreService, - ); - if (!(await migration.migrationAlreadyExecuted())) { - await migration.migrate(); - } - } - - static async executeTripleStoreMetadataMigration(container, logger, config) { - if ( - process.env.NODE_ENV === NODE_ENVIRONMENTS.DEVELOPMENT || - process.env.NODE_ENV === NODE_ENVIRONMENTS.TEST - ) - return; - const blockchainModuleManager = container.resolve('blockchainModuleManager'); - const tripleStoreService = container.resolve('tripleStoreService'); - const serviceAgreementService = container.resolve('serviceAgreementService'); - const ualService = container.resolve('ualService'); - const dataService = container.resolve('dataService'); - - const migration = new TripleStoreMetadataMigration( - 'tripleStoreMetadataMigration', - logger, - config, - tripleStoreService, - blockchainModuleManager, - serviceAgreementService, - ualService, - dataService, - ); - - if (!(await migration.migrationAlreadyExecuted())) { - await migration.migrate(); - } - } - - static async executeRemoveOldEpochCommandsMigration(container, logger, config) { - if ( - process.env.NODE_ENV === NODE_ENVIRONMENTS.DEVELOPMENT || - process.env.NODE_ENV === NODE_ENVIRONMENTS.TEST - ) - return; - - const repositoryModuleManager = container.resolve('repositoryModuleManager'); - - const migration = new RemoveOldEpochCommandsMigration( - 'removeOldEpochCommandsMigration', - logger, - config, - repositoryModuleManager, - ); - if (!(await migration.migrationAlreadyExecuted())) { - await migration.migrate(); - } - } - - static async executePendingStorageMigration(logger, config) { - if ( - process.env.NODE_ENV === NODE_ENVIRONMENTS.DEVELOPMENT || - process.env.NODE_ENV === NODE_ENVIRONMENTS.TEST - ) - return; - - const migration = new PendingStorageMigration('pendingStorageMigration', logger, config); - if (!(await migration.migrationAlreadyExecuted())) { - await migration.migrate(); - } - } - - static async executeMarkOldBlockchainEventsAsProcessedMigration(container, logger, config) { - if ( - process.env.NODE_ENV === NODE_ENVIRONMENTS.DEVELOPMENT || - process.env.NODE_ENV === NODE_ENVIRONMENTS.TEST - ) - return; - - const repositoryModuleManager = container.resolve('repositoryModuleManager'); - - const migration = new MarkOldBlockchainEventsAsProcessedMigration( - 'markOldBlockchainEventsAsProcessedMigration', - logger, - config, - repositoryModuleManager, - ); - if (!(await migration.migrationAlreadyExecuted())) { - await migration.migrate(); - } - } - - static async executeServiceAgreementsDataInspector(container, logger, config) { - if ( - process.env.NODE_ENV === NODE_ENVIRONMENTS.DEVELOPMENT || - process.env.NODE_ENV === NODE_ENVIRONMENTS.TEST - ) - return; - - const blockchainModuleManager = container.resolve('blockchainModuleManager'); - const repositoryModuleManager = container.resolve('repositoryModuleManager'); - const tripleStoreService = container.resolve('tripleStoreService'); - const ualService = container.resolve('ualService'); - const serviceAgreementService = container.resolve('serviceAgreementService'); - - const migration = new ServiceAgreementsDataInspector( - 'serviceAgreementsDataInspector', - logger, - config, - blockchainModuleManager, - repositoryModuleManager, - tripleStoreService, - ualService, - serviceAgreementService, - ); - if (!(await migration.migrationAlreadyExecuted())) { - await migration.migrate(); - logger.info('Node will now restart!'); - MigrationExecutor.exitNode(1); - } - } - - static async executeServiceAgreementsInvalidDataMigration(container, logger, config) { - if ( - process.env.NODE_ENV === NODE_ENVIRONMENTS.DEVELOPMENT || - process.env.NODE_ENV === NODE_ENVIRONMENTS.TEST - ) - return; - - const repositoryModuleManager = container.resolve('repositoryModuleManager'); - const tripleStoreService = container.resolve('tripleStoreService'); - - const migration = new ServiceAgreementsInvalidDataMigration( - 'serviceAgreementsInvalidDataMigration', - logger, - config, - repositoryModuleManager, - tripleStoreService, - ); - if ( - (await migration.migrationAlreadyExecuted('serviceAgreementsDataInspector')) && - !(await migration.migrationAlreadyExecuted()) - ) { - await migration.migrate(); - } - } - - static async executeUalExtensionUserConfigurationMigration(logger, config) { - if ( - process.env.NODE_ENV === NODE_ENVIRONMENTS.DEVELOPMENT || - process.env.NODE_ENV === NODE_ENVIRONMENTS.TEST - ) - return; - - const migration = new UalExtensionUserConfigurationMigration( - 'ualExtensionUserConfigurationMigration', - logger, - config, - ); - if (!(await migration.migrationAlreadyExecuted())) { - await migration.migrate(); - logger.info('Node will now restart!'); - this.exitNode(1); - } - } - - static async executeUalExtensionTripleStoreMigration(container, logger, config) { - if ( - process.env.NODE_ENV === NODE_ENVIRONMENTS.DEVELOPMENT || - process.env.NODE_ENV === NODE_ENVIRONMENTS.TEST - ) - return; - - const tripleStoreService = container.resolve('tripleStoreService'); - - const migration = new UalExtensionTripleStoreMigration( - 'ualExtensionTripleStoreMigration', - logger, - config, - tripleStoreService, - ); - if (!(await migration.migrationAlreadyExecuted())) { - try { - await migration.migrate(); - } catch (error) { - logger.error( - `Unable to execute ual extension triple store migration. Error: ${error.message}`, - ); - this.exitNode(1); - } - } - } - - static async executeMarkStakingEventsAsProcessedMigration(container, logger, config) { - if (process.env.NODE_ENV !== NODE_ENVIRONMENTS.MAINNET) return; - - const repositoryModuleManager = container.resolve('repositoryModuleManager'); - const blockchainModuleManager = container.resolve('blockchainModuleManager'); - - const migration = new MarkStakingEventsAsProcessedMigration( - 'markStakingEventsAsProcessedMigration', - logger, - config, - repositoryModuleManager, - blockchainModuleManager, - ); - if (!(await migration.migrationAlreadyExecuted())) { - try { - await migration.migrate(); - } catch (error) { - logger.error( - `Unable to execute mark staking events as processed migration. Error: ${error.message}`, - ); - this.exitNode(1); - } - } - } - - static async executeRemoveServiceAgreementsForChiadoMigration(container, logger, config) { - if ( - process.env.NODE_ENV === NODE_ENVIRONMENTS.DEVNET || - process.env.NODE_ENV === NODE_ENVIRONMENTS.TESTNET - ) { - const repositoryModuleManager = container.resolve('repositoryModuleManager'); - - const migration = new RemoveServiceAgreementsForChiadoMigration( - 'removeServiceAgreementsForChiadoMigrationV6.2.0.Hotfix11', - logger, - config, - repositoryModuleManager, - ); - if (!(await migration.migrationAlreadyExecuted())) { - try { - await migration.migrate(); - } catch (error) { - logger.error( - `Unable to execute remove service agreements for Chiado migration. Error: ${error.message}`, - ); - this.exitNode(1); - } - } - } - } - - static async executeMultipleOpWalletsUserConfigurationMigration(container, logger, config) { - if ( - process.env.NODE_ENV === NODE_ENVIRONMENTS.DEVELOPMENT || - process.env.NODE_ENV === NODE_ENVIRONMENTS.TEST - ) - return; - - const migration = new MultipleOpWalletsUserConfigurationMigration( - 'multipleOpWalletsUserConfigurationMigration', - logger, - config, - ); - if (!(await migration.migrationAlreadyExecuted())) { - try { - await migration.migrate(); - } catch (error) { - logger.error( - `Unable to execute multiple op wallets user configuration migration. Error: ${error.message}`, - ); - } - } - } - - static async executeGetOldServiceAgreementsMigration(container, logger, config) { - if (process.env.NODE_ENV !== NODE_ENVIRONMENTS.MAINNET) return; - - const repositoryModuleManager = container.resolve('repositoryModuleManager'); - const blockchainModuleManager = container.resolve('blockchainModuleManager'); - const serviceAgreementService = container.resolve('serviceAgreementService'); - - const migration = new GetOldServiceAgreementsMigration( - 'getOldServiceAgreementsMigrationv623', - logger, - config, - repositoryModuleManager, - blockchainModuleManager, - serviceAgreementService, - ); - if (!(await migration.migrationAlreadyExecuted())) { - try { - await migration.migrate(); - } catch (error) { - logger.error( - `Unable to execute get old service agreements migration. Error: ${error.message}`, - ); - } - } - } - - static async executeServiceAgreementPruningMigration(container, logger, config) { - if ( - process.env.NODE_ENV === NODE_ENVIRONMENTS.DEVELOPMENT || - process.env.NODE_ENV === NODE_ENVIRONMENTS.TEST - ) - return; - - const repositoryModuleManager = container.resolve('repositoryModuleManager'); - const blockchainModuleManager = container.resolve('blockchainModuleManager'); - const serviceAgreementService = container.resolve('serviceAgreementService'); - - const migration = new ServiceAgreementPruningMigration( - 'serviceAgreementPruningMigration', - logger, - config, - repositoryModuleManager, - blockchainModuleManager, - serviceAgreementService, - ); - if (!(await migration.migrationAlreadyExecuted())) { - try { - await migration.migrate(); - } catch (error) { - logger.error( - `Unable to execute service agreement pruning migration. Error: ${error.message}`, - ); - } - } - } - - static async executeRemoveDuplicateServiceAgreementMigration(container, logger, config) { - if ( - process.env.NODE_ENV === NODE_ENVIRONMENTS.DEVELOPMENT || - process.env.NODE_ENV === NODE_ENVIRONMENTS.TEST - ) - return; - - const repositoryModuleManager = container.resolve('repositoryModuleManager'); - const blockchainModuleManager = container.resolve('blockchainModuleManager'); - - const migration = new RemoveDuplicateServiceAgreementMigration( - 'removeDuplicateServiceAgreementMigration', - logger, - config, - repositoryModuleManager, - blockchainModuleManager, - ); - if (!(await migration.migrationAlreadyExecuted())) { - try { - await migration.migrate(); - } catch (error) { - logger.error( - `Unable to execute remove duplicate service agreement migration. Error: ${error.message}`, - ); - } - } - } - - static async executeDevnetNeuroPruningMigration(container, logger, config) { - if ( - process.env.NODE_ENV === NODE_ENVIRONMENTS.DEVELOPMENT || - process.env.NODE_ENV === NODE_ENVIRONMENTS.TEST - ) - return; - - const repositoryModuleManager = container.resolve('repositoryModuleManager'); - - const migration = new DevnetNeuroPruningMigration( - 'devnetNeuroPruningMigration', - logger, - config, - repositoryModuleManager, - ); - if (!(await migration.migrationAlreadyExecuted())) { - try { - await migration.migrate(); - } catch (error) { - logger.error( - `Unable to execute devnet neuro pruning migration. Error: ${error.message}`, - ); - } - } - } - - static async executeDevnetPruningMigration(container, logger, config) { - if ( - process.env.NODE_ENV === NODE_ENVIRONMENTS.DEVELOPMENT || - process.env.NODE_ENV === NODE_ENVIRONMENTS.TEST - ) - return; - - const repositoryModuleManager = container.resolve('repositoryModuleManager'); - - const migration = new DevnetPruningMigration( - 'devnetPruningMigration', - logger, - config, - repositoryModuleManager, - ); - if (!(await migration.migrationAlreadyExecuted())) { - try { - await migration.migrate(); - } catch (error) { - logger.error(`Unable to execute devnet pruning migration. Error: ${error.message}`); - } - } - } - - static async executeSetParanetSyncedAssetType(container, logger, config) { - if ( - process.env.NODE_ENV === NODE_ENVIRONMENTS.DEVELOPMENT || - process.env.NODE_ENV === NODE_ENVIRONMENTS.TEST - ) - return; - - const repositoryModuleManager = container.resolve('repositoryModuleManager'); - - const migration = new SetParanetSyncedAssetTypeMigration( - 'setParanetSyncedAssetTypeMigration', - logger, - config, - repositoryModuleManager, - ); - if (!(await migration.migrationAlreadyExecuted())) { - try { - await migration.migrate(); - } catch (error) { - logger.error( - `Unable to execute SetParanetSyncedAssetType migration. Error: ${error.message}`, - ); - } - } - } - static exitNode(code = 0) { process.exit(code); } diff --git a/src/migration/multiple-op-wallets-user-configuration-migration.js b/src/migration/multiple-op-wallets-user-configuration-migration.js deleted file mode 100644 index 7ef95b512a..0000000000 --- a/src/migration/multiple-op-wallets-user-configuration-migration.js +++ /dev/null @@ -1,56 +0,0 @@ -import appRootPath from 'app-root-path'; -import path from 'path'; -import BaseMigration from './base-migration.js'; - -class MultipleOpWalletsUserConfigurationMigration extends BaseMigration { - constructor(migrationName, logger, config, repositoryModuleManager) { - super(migrationName, logger, config); - this.repositoryModuleManager = repositoryModuleManager; - } - - async executeMigration() { - const configurationFolderPath = path.join(appRootPath.path, '..'); - const configurationFilePath = path.join( - configurationFolderPath, - this.config.configFilename, - ); - - const userConfiguration = await this.fileService.readFile(configurationFilePath, true); - - for (const blockchainId in userConfiguration?.modules?.blockchain?.implementation) { - const blockchain = userConfiguration.modules.blockchain.implementation[blockchainId]; - - if (!blockchain?.config.operationalWallets) { - try { - blockchain.config.operationalWallets = [ - { - evmAddress: blockchain.config.evmOperationalWalletPublicKey ?? '', - privateKey: blockchain.config.evmOperationalWalletPrivateKey ?? '', - }, - ]; - delete blockchain.config.evmOperationalWalletPublicKey; - delete blockchain.config.evmOperationalWalletPrivateKey; - this.logger.trace( - `${this.migrationName}: User configuration updated for blockchain: ${blockchainId}`, - ); - } catch (error) { - this.logger.warn( - `${this.migrationName}: Error while updating user configuration for blockchain: ${blockchainId}, error: ${error}`, - ); - } - } else { - this.logger.trace( - `${this.migrationName}: Skipping user configuration update for blockchain: ${blockchainId}. Configuration in new format.`, - ); - } - } - - await this.fileService.writeContentsToFile( - configurationFolderPath, - this.config.configFilename, - JSON.stringify(userConfiguration, null, 4), - ); - } -} - -export default MultipleOpWalletsUserConfigurationMigration; diff --git a/src/migration/network-private-key-migration.js b/src/migration/network-private-key-migration.js deleted file mode 100644 index 70a18b1e8e..0000000000 --- a/src/migration/network-private-key-migration.js +++ /dev/null @@ -1,40 +0,0 @@ -import { join } from 'path'; -import appRootPath from 'app-root-path'; -import BaseMigration from './base-migration.js'; -import { LIBP2P_KEY_DIRECTORY, LIBP2P_KEY_FILENAME } from '../constants/constants.js'; - -class NetworkPrivateKeyMigration extends BaseMigration { - async executeMigration() { - const networkPrivateKey = - this.config.modules?.network?.implementation?.['libp2p-service']?.config?.privateKey; - - if (networkPrivateKey) { - let directoryPath; - if ( - process.env.NODE_ENV === 'testnet' || - process.env.NODE_ENV === 'mainnet' || - process.env.NODE_ENV === 'devnet' - ) { - directoryPath = join( - appRootPath.path, - '..', - this.config.appDataPath, - LIBP2P_KEY_DIRECTORY, - ); - } else { - directoryPath = join( - appRootPath.path, - this.config.appDataPath, - LIBP2P_KEY_DIRECTORY, - ); - } - await this.fileService.writeContentsToFile( - directoryPath, - LIBP2P_KEY_FILENAME, - networkPrivateKey, - ); - } - } -} - -export default NetworkPrivateKeyMigration; diff --git a/src/migration/pending-storage-migration.js b/src/migration/pending-storage-migration.js deleted file mode 100644 index 040cf491a5..0000000000 --- a/src/migration/pending-storage-migration.js +++ /dev/null @@ -1,38 +0,0 @@ -import path from 'path'; -import { calculateRoot } from 'assertion-tools'; -import { PENDING_STORAGE_REPOSITORIES } from '../constants/constants.js'; -import BaseMigration from './base-migration.js'; - -class PendingStorageMigration extends BaseMigration { - async executeMigration() { - const promises = Object.values(PENDING_STORAGE_REPOSITORIES).map(async (repository) => { - let fileNames; - const repositoryPath = this.fileService.getPendingStorageCachePath(repository); - try { - fileNames = await this.fileService.readDirectory(repositoryPath); - } catch (error) { - return false; - } - - await Promise.all( - fileNames.map(async (fileName) => { - const newDirectoryPath = path.join(repositoryPath, fileName); - const cachedData = await this.fileService.readFile(newDirectoryPath, true); - await this.fileService.removeFile(newDirectoryPath); - if (cachedData?.public?.assertion) { - const newDocumentName = calculateRoot(cachedData.public.assertion); - await this.fileService.writeContentsToFile( - newDirectoryPath, - newDocumentName, - JSON.stringify(cachedData), - ); - } - }), - ); - }); - - await Promise.all(promises); - } -} - -export default PendingStorageMigration; diff --git a/src/migration/private-assets-metadata-migration.js b/src/migration/private-assets-metadata-migration.js deleted file mode 100644 index 3558c8aa68..0000000000 --- a/src/migration/private-assets-metadata-migration.js +++ /dev/null @@ -1,154 +0,0 @@ -/* eslint-disable no-await-in-loop */ -import BaseMigration from './base-migration.js'; -import { TRIPLE_STORE_REPOSITORIES } from '../constants/constants.js'; - -class PrivateAssetsMetadataMigration extends BaseMigration { - constructor( - migrationName, - logger, - config, - tripleStoreService, - blockchainModuleManager, - serviceAgreementService, - ualService, - dataService, - ) { - super(migrationName, logger, config); - this.blockchainModuleManager = blockchainModuleManager; - this.serviceAgreementService = serviceAgreementService; - this.ualService = ualService; - this.tripleStoreService = tripleStoreService; - this.dataService = dataService; - } - - async executeMigration() { - const graphs = await this.tripleStoreService.select( - TRIPLE_STORE_REPOSITORIES.PRIVATE_CURRENT, - `SELECT DISTINCT ?g - WHERE { - GRAPH ?g { ?s ?p ?o } - }`, - ); - - const assertionIds = (graphs ?? []) - .filter(({ g }) => g.startsWith('assertion:')) - .map(({ g }) => g.replace('assertion:', '')); - - if (!assertionIds?.length) { - this.logger.debug( - `No assertions found in ${TRIPLE_STORE_REPOSITORIES.PRIVATE_CURRENT} repository. Skipping migration.`, - ); - return; - } - - this.logger.debug( - `${assertionIds.length} assertions found in ${TRIPLE_STORE_REPOSITORIES.PRIVATE_CURRENT} repository.`, - ); - for (const blockchain of this.blockchainModuleManager.getImplementationNames()) { - const assetStorageContractAddresses = - this.blockchainModuleManager.getAssetStorageContractAddresses(); - - for (const assetStorageContractAddress of assetStorageContractAddresses) { - const latestTokenId = Number( - await this.blockchainModuleManager.getLatestTokenId( - blockchain, - assetStorageContractAddress, - ), - ); - - this.logger.debug( - `Getting latest asset metadata from blockchain: ${blockchain}, asset storage contract address: ${assetStorageContractAddress}, from tokenId 0 to tokenId ${latestTokenId}`, - ); - const concurrency = 100; - let promises = []; - for (let tokenId = 0; tokenId < latestTokenId; tokenId += 1) { - promises.push( - this._migrateAssertions( - blockchain, - assetStorageContractAddress, - tokenId, - latestTokenId, - assertionIds, - ), - ); - if (promises.length > concurrency) { - // eslint-disable-next-line no-await-in-loop - await Promise.all(promises); - promises = []; - } - } - await Promise.all(promises); - } - } - } - - async _migrateAssertions( - blockchain, - assetStorageContractAddress, - tokenId, - latestTokenId, - assertionIds, - ) { - this._logPercentage(tokenId, latestTokenId); - let assertionId; - try { - assertionId = await this.blockchainModuleManager.getLatestAssertionId( - blockchain, - assetStorageContractAddress, - tokenId, - ); - } catch (error) { - this.logger.warn(`Unable to find assertion id for token id: ${tokenId}`); - return; - } - if (!assertionIds.includes(assertionId)) return; - - this.logger.debug( - `Getting latest metadata for asset with token id: ${tokenId}, assertion id: ${assertionId}, blockchain: ${blockchain}, asset storage contract address: ${assetStorageContractAddress}`, - ); - - const keyword = await this.ualService.calculateLocationKeyword( - blockchain, - assetStorageContractAddress, - tokenId, - ); - - await this.tripleStoreService.insertAssetAssertionMetadata( - TRIPLE_STORE_REPOSITORIES.PRIVATE_CURRENT, - blockchain, - assetStorageContractAddress, - tokenId, - assertionId, - keyword, - ); - - const assertion = await this.tripleStoreService.getAssertion( - TRIPLE_STORE_REPOSITORIES.PRIVATE_CURRENT, - assertionId, - ); - - const privateAssertionId = this.dataService.getPrivateAssertionId(assertion); - - if (privateAssertionId == null || !assertionIds.includes(privateAssertionId)) return; - - await this.tripleStoreService.insertAssetAssertionMetadata( - TRIPLE_STORE_REPOSITORIES.PRIVATE_CURRENT, - blockchain, - assetStorageContractAddress, - tokenId, - privateAssertionId, - keyword, - ); - } - - _logPercentage(index, max) { - const previousPercentage = (Math.max(0, index - 1) / max) * 100; - const currentPercentage = (index / max) * 100; - - if (Math.floor(currentPercentage) - Math.floor(previousPercentage) < 1) return; - - this.logger.debug(`Migration at ${Math.floor(currentPercentage * 10) / 10}%`); - } -} - -export default PrivateAssetsMetadataMigration; diff --git a/src/migration/pull-sharding-table-migration.js b/src/migration/pull-sharding-table-migration.js deleted file mode 100644 index 7a7411d5f4..0000000000 --- a/src/migration/pull-sharding-table-migration.js +++ /dev/null @@ -1,93 +0,0 @@ -import BaseMigration from './base-migration.js'; - -class PullBlockchainShardingTableMigration extends BaseMigration { - constructor( - migrationName, - logger, - config, - repositoryModuleManager, - blockchainModuleManager, - hashingService, - ) { - super(migrationName, logger, config); - this.repositoryModuleManager = repositoryModuleManager; - this.blockchainModuleManager = blockchainModuleManager; - this.hashingService = hashingService; - } - - async executeMigration() { - const promises = this.blockchainModuleManager - .getImplementationNames() - .map(async (blockchainId) => { - this.logger.debug( - `Removing nodes from local sharding table for blockchain ${blockchainId}.`, - ); - await this.repositoryModuleManager.removeShardingTablePeerRecords(blockchainId); - - const shardingTableLength = - await this.blockchainModuleManager.getShardingTableLength(blockchainId); - let startingIdentityId = await this.blockchainModuleManager.getShardingTableHead( - blockchainId, - ); - const pageSize = 10; - const shardingTable = []; - - this.logger.debug( - `Started pulling ${shardingTableLength} nodes from blockchain sharding table.`, - ); - - let sliceIndex = 0; - - while (shardingTable.length < shardingTableLength) { - // eslint-disable-next-line no-await-in-loop - const nodes = await this.blockchainModuleManager.getShardingTablePage( - blockchainId, - startingIdentityId, - pageSize, - ); - shardingTable.push( - ...nodes.slice(sliceIndex).filter((node) => node.nodeId !== '0x'), - ); - sliceIndex = 1; - startingIdentityId = nodes[nodes.length - 1].identityId; - } - - this.logger.debug( - `Finished pulling ${shardingTable.length} nodes from blockchain sharding table.`, - ); - - await this.repositoryModuleManager.createManyPeerRecords( - await Promise.all( - shardingTable.map(async (peer) => { - const nodeId = this.blockchainModuleManager.convertHexToAscii( - blockchainId, - peer.nodeId, - ); - - const sha256 = await this.hashingService.callHashFunction(1, nodeId); - - return { - peerId: nodeId, - blockchainId, - ask: this.blockchainModuleManager.convertFromWei( - blockchainId, - peer.ask, - 'ether', - ), - stake: this.blockchainModuleManager.convertFromWei( - blockchainId, - peer.stake, - 'ether', - ), - sha256, - }; - }), - ), - ); - }); - - await Promise.all(promises); - } -} - -export default PullBlockchainShardingTableMigration; diff --git a/src/migration/remove-agreement-start-end-time-migration.js b/src/migration/remove-agreement-start-end-time-migration.js deleted file mode 100644 index 469aab1290..0000000000 --- a/src/migration/remove-agreement-start-end-time-migration.js +++ /dev/null @@ -1,35 +0,0 @@ -import BaseMigration from './base-migration.js'; -import { TRIPLE_STORE_REPOSITORIES, SCHEMA_CONTEXT } from '../constants/constants.js'; - -class RemoveAgreementStartEndTimeMigration extends BaseMigration { - constructor(migrationName, logger, config, tripleStoreService) { - super(migrationName, logger, config); - this.tripleStoreService = tripleStoreService; - } - - async executeMigration() { - const repositories = Object.values(TRIPLE_STORE_REPOSITORIES); - const query = ` - PREFIX schema: <${SCHEMA_CONTEXT}> - - DELETE { - GRAPH { - ?ual schema:agreementEndTime ?agreementEndTime . - ?ual schema:agreementStartTime ?agreementStartTime . - } - } - WHERE { - GRAPH { - { ?ual schema:agreementEndTime ?agreementEndTime . } - UNION - { ?ual schema:agreementStartTime ?agreementStartTime . } - } - }`; - - await Promise.all( - repositories.map((repository) => this.tripleStoreService.queryVoid(repository, query)), - ); - } -} - -export default RemoveAgreementStartEndTimeMigration; diff --git a/src/migration/remove-duplicate-service-agreement-migration.js b/src/migration/remove-duplicate-service-agreement-migration.js deleted file mode 100644 index 489596173e..0000000000 --- a/src/migration/remove-duplicate-service-agreement-migration.js +++ /dev/null @@ -1,47 +0,0 @@ -import BaseMigration from './base-migration.js'; - -class RemoveDuplicateServiceAgreementMigration extends BaseMigration { - constructor(migrationName, logger, config, repositoryModuleManager, blockchainModuleManager) { - super(migrationName, logger, config); - this.repositoryModuleManager = repositoryModuleManager; - this.blockchainModuleManager = blockchainModuleManager; - } - - async executeMigration() { - const blockchainIds = this.blockchainModuleManager.getImplementationNames(); - - for (const blockchainId of blockchainIds) { - const incorrectServiceAgreementId = []; - const duplicateTokenIdsRestult = - // eslint-disable-next-line no-await-in-loop - await this.repositoryModuleManager.findDuplicateServiceAgreements(blockchainId); - const duplicateTokenIds = duplicateTokenIdsRestult.map((t) => t.dataValues.token_id); - const findDuplicateServiceAgreements = - // eslint-disable-next-line no-await-in-loop - await this.repositoryModuleManager.findServiceAgreementsByTokenIds( - duplicateTokenIds, - blockchainId, - ); - for (const serviceAgreement of findDuplicateServiceAgreements) { - try { - const blockchainAssertionId = - // eslint-disable-next-line no-await-in-loop - await this.blockchainModuleManager.getAssertionIdByIndex( - blockchainId, - serviceAgreement.assetStorageContractAddress, - serviceAgreement.tokenId, - serviceAgreement.stateIndex, - ); - if (serviceAgreement.assertionId !== blockchainAssertionId) { - incorrectServiceAgreementId.push(serviceAgreement.agreementId); - } - } catch (error) { - incorrectServiceAgreementId.push(serviceAgreement.agreementId); - } - } - // eslint-disable-next-line no-await-in-loop - await this.repositoryModuleManager.removeServiceAgreements(incorrectServiceAgreementId); - } - } -} -export default RemoveDuplicateServiceAgreementMigration; diff --git a/src/migration/remove-old-epoch-commands-migration.js b/src/migration/remove-old-epoch-commands-migration.js deleted file mode 100644 index bda9b823b8..0000000000 --- a/src/migration/remove-old-epoch-commands-migration.js +++ /dev/null @@ -1,25 +0,0 @@ -import BaseMigration from './base-migration.js'; - -class RemoveOldEpochCommandsMigration extends BaseMigration { - constructor(migrationName, logger, config, repositoryModuleManager) { - super(migrationName, logger, config); - this.repositoryModuleManager = repositoryModuleManager; - } - - async executeMigration() { - const commandsToDestroy = [ - 'epochCheckCommand', - 'calculateProofsCommand', - 'submitCommitCommand', - 'submitProofsCommand', - ]; - - await Promise.all( - commandsToDestroy.map((command) => - this.repositoryModuleManager.destroyCommand(command), - ), - ); - } -} - -export default RemoveOldEpochCommandsMigration; diff --git a/src/migration/remove-service-agreements-for-chiado-migration.js b/src/migration/remove-service-agreements-for-chiado-migration.js deleted file mode 100644 index 680931b4f2..0000000000 --- a/src/migration/remove-service-agreements-for-chiado-migration.js +++ /dev/null @@ -1,18 +0,0 @@ -import BaseMigration from './base-migration.js'; - -const GNOSIS_DEVNET_CHAIN_ID = 'gnosis:10200'; - -class RemoveServiceAgreementsForChiadoMigration extends BaseMigration { - constructor(migrationName, logger, config, repositoryModuleManager) { - super(migrationName, logger, config); - this.repositoryModuleManager = repositoryModuleManager; - } - - async executeMigration() { - await this.repositoryModuleManager.removeServiceAgreementsForBlockchain( - GNOSIS_DEVNET_CHAIN_ID, - ); - } -} - -export default RemoveServiceAgreementsForChiadoMigration; diff --git a/src/migration/service-agreement-pruning-migration.js b/src/migration/service-agreement-pruning-migration.js deleted file mode 100644 index c29ba4de17..0000000000 --- a/src/migration/service-agreement-pruning-migration.js +++ /dev/null @@ -1,46 +0,0 @@ -import BaseMigration from './base-migration.js'; - -class ServiceAgreementPruningMigration extends BaseMigration { - constructor( - migrationName, - logger, - config, - repositoryModuleManager, - blockchainModuleManager, - serviceAgreementService, - ) { - super(migrationName, logger, config); - this.repositoryModuleManager = repositoryModuleManager; - this.blockchainModuleManager = blockchainModuleManager; - this.serviceAgreementService = serviceAgreementService; - } - - async executeMigration() { - const blockchainIds = this.blockchainModuleManager.getImplementationNames(); - - // eslint-disable-next-line no-await-in-loop - for (const blockchainId of blockchainIds) { - const assetStorageContractAddresses = - // eslint-disable-next-line no-await-in-loop - await this.blockchainModuleManager.getAssetStorageContractAddresses(blockchainId); - - const countOfServiceAgreementsToBeRemoved = - // eslint-disable-next-line no-await-in-loop - await this.repositoryModuleManager.getCountOfServiceAgreementsByBlockchainAndContract( - blockchainId, - assetStorageContractAddresses[0], - ); - - // removeServiceAgreementsByBlockchainAndContract deletes in batches od 100_000 - const numberOfIteration = Math.ceil(countOfServiceAgreementsToBeRemoved / 100_000); - for (let i = 0; i < numberOfIteration; i += 1) { - // eslint-disable-next-line no-await-in-loop - await this.repositoryModuleManager.removeServiceAgreementsByBlockchainAndContract( - blockchainId, - assetStorageContractAddresses[0], - ); - } - } - } -} -export default ServiceAgreementPruningMigration; diff --git a/src/migration/service-agreements-data-inspector.js b/src/migration/service-agreements-data-inspector.js deleted file mode 100644 index aad52f2fe8..0000000000 --- a/src/migration/service-agreements-data-inspector.js +++ /dev/null @@ -1,210 +0,0 @@ -/* eslint-disable no-await-in-loop */ -import BaseMigration from './base-migration.js'; -import { TRIPLE_STORE_REPOSITORIES } from '../constants/constants.js'; - -const fixedServiceAgreements = []; -const fixedHistoricalAssertions = []; -let wrongAgreementsCount = 0; -const MAX_BATCH_SIZE = 10000; -const CONCURRENCY = 200; - -class ServiceAgreementsDataInspector extends BaseMigration { - constructor( - migrationName, - logger, - config, - blockchainModuleManager, - repositoryModuleManager, - tripleStoreService, - ualService, - serviceAgreementService, - ) { - super(migrationName, logger, config); - this.blockchainModuleManager = blockchainModuleManager; - this.repositoryModuleManager = repositoryModuleManager; - this.tripleStoreService = tripleStoreService; - this.ualService = ualService; - this.serviceAgreementService = serviceAgreementService; - } - - async executeMigration() { - let migrationInfo = await this.getMigrationInfo(); - if (!migrationInfo?.lastProcessedTokenId) { - migrationInfo = { - fixedServiceAgreements: [], - fixedHistoricalAssertions: [], - lastProcessedTokenId: 0, - }; - } - - const numberOfActiveServiceAgreements = - await this.repositoryModuleManager.getNumberOfActiveServiceAgreements(); - let processed = 0; - const batchSize = - numberOfActiveServiceAgreements > MAX_BATCH_SIZE - ? MAX_BATCH_SIZE - : numberOfActiveServiceAgreements; - - while (processed < numberOfActiveServiceAgreements) { - const serviceAgreementsToProcess = - await this.repositoryModuleManager.getServiceAgreements( - migrationInfo.lastProcessedTokenId, - batchSize, - ); - let promises = []; - - for (const serviceAgreement of serviceAgreementsToProcess) { - promises.push(this.processServiceAgreement(serviceAgreement)); - - if ( - promises.length >= CONCURRENCY || - promises.length === serviceAgreementsToProcess.length - ) { - try { - await Promise.all(promises); - } catch (error) { - this.logger.warn( - `Unable to process invalid service agreements. Error: ${error}`, - ); - } - promises = []; - migrationInfo.fixedServiceAgreements.push(...fixedServiceAgreements); - migrationInfo.fixedHistoricalAssertions.push(...fixedHistoricalAssertions); - migrationInfo.lastProcessedTokenId = serviceAgreement.tokenId; - await this.saveMigrationInfo(migrationInfo); - this.logger.trace( - `${this.migrationName} Last token id processed: ${migrationInfo.lastProcessedTokenId}. ` + - `Invalid Service Agreements: ${migrationInfo.fixedServiceAgreements.length}. ` + - `Assets with Invalid Historical Assertions: ${migrationInfo.fixedHistoricalAssertions.length}.`, - ); - } - } - - processed += serviceAgreementsToProcess.length; - } - - this.logger.trace( - `${this.migrationName} Total number of processed agreements ${processed}. Found invalid agreements: ${wrongAgreementsCount}`, - ); - } - - async processServiceAgreement(serviceAgreement) { - const updatedServiceAgreement = {}; - let isInvalid = false; - - const assertionIds = await this.blockchainModuleManager.getAssertionIds( - serviceAgreement.blockchain, - serviceAgreement.assetStorageContractAddress, - serviceAgreement.tokenId, - ); - - const historicalAssertionIds = assertionIds.slice(0, -1); - - const publicHistoricalAssertionLinks = await this.tripleStoreService.getAssetAssertionLinks( - TRIPLE_STORE_REPOSITORIES.PUBLIC_HISTORY, - serviceAgreement.blockchain, - serviceAgreement.assetStorageContractAddress, - serviceAgreement.tokenId, - ); - const publicHistoricalLinkedAssertionIds = publicHistoricalAssertionLinks.map( - ({ assertion }) => assertion.replace('assertion:', ''), - ); - const missingPublicHistoricalAssertions = historicalAssertionIds.filter( - (element) => !publicHistoricalLinkedAssertionIds.includes(element), - ); - const redundantPublicHistoricalAssertions = publicHistoricalLinkedAssertionIds.filter( - (element) => !historicalAssertionIds.includes(element), - ); - - const privateHistoricalAssertionLinks = - await this.tripleStoreService.getAssetAssertionLinks( - TRIPLE_STORE_REPOSITORIES.PRIVATE_HISTORY, - serviceAgreement.blockchain, - serviceAgreement.assetStorageContractAddress, - serviceAgreement.tokenId, - ); - const privateHistoricalLinkedAssertionIds = privateHistoricalAssertionLinks.map( - ({ assertion }) => assertion.replace('assertion:', ''), - ); - const missingPrivateHistoricalAssertions = historicalAssertionIds.filter( - (element) => !privateHistoricalLinkedAssertionIds.includes(element), - ); - const redundantPrivateHistoricalAssertions = privateHistoricalLinkedAssertionIds.filter( - (element) => !historicalAssertionIds.includes(element), - ); - - const hasInvalidHistoricalAssertions = [ - missingPublicHistoricalAssertions, - missingPrivateHistoricalAssertions, - redundantPublicHistoricalAssertions, - redundantPrivateHistoricalAssertions, - ].some((array) => array.length > 0); - - if (hasInvalidHistoricalAssertions) { - fixedHistoricalAssertions.push({ - blockchain: serviceAgreement.blockchain, - contract: serviceAgreement.assetStorageContractAddress, - tokenId: serviceAgreement.tokenId, - missingPublicHistoricalAssertions, - missingPrivateHistoricalAssertions, - redundantPublicHistoricalAssertions, - redundantPrivateHistoricalAssertions, - }); - } - - const stateIndex = assertionIds.length - 1; - - if (serviceAgreement.assertionId !== assertionIds[stateIndex]) { - updatedServiceAgreement.assertionId = assertionIds[stateIndex]; - isInvalid = true; - } - - if (serviceAgreement.stateIndex !== stateIndex) { - updatedServiceAgreement.stateIndex = stateIndex; - isInvalid = true; - } - - const keyword = await this.ualService.calculateLocationKeyword( - serviceAgreement.blockchainId, - serviceAgreement.assetStorageContractAddress, - serviceAgreement.tokenId, - assertionIds[0], - ); - - if (serviceAgreement.keyword !== keyword) { - updatedServiceAgreement.keyword = keyword; - isInvalid = true; - } - - const agreementId = this.serviceAgreementService.generateId( - serviceAgreement.blockchainId, - serviceAgreement.assetStorageContractAddress, - serviceAgreement.tokenId, - keyword, - serviceAgreement.hashFunctionId, - ); - - if (serviceAgreement.agreementId !== agreementId) { - updatedServiceAgreement.agreementId = agreementId; - isInvalid = true; - } - - if (isInvalid) { - wrongAgreementsCount += 1; - fixedServiceAgreements.push({ - blockchain: serviceAgreement.blockchain, - contract: serviceAgreement.assetStorageContractAddress, - tokenId: serviceAgreement.tokenId, - agreementId: updatedServiceAgreement.agreementId ?? serviceAgreement.agreementId, - currentKeyword: serviceAgreement.keyword, - correctKeyword: updatedServiceAgreement.keyword ?? serviceAgreement.keyword, - currentAssertionId: serviceAgreement.assertionId, - correctAssertionId: - updatedServiceAgreement.assertionId ?? serviceAgreement.assertionId, - stateIndex: updatedServiceAgreement.stateIndex ?? serviceAgreement.stateIndex, - }); - } - } -} - -export default ServiceAgreementsDataInspector; diff --git a/src/migration/service-agreements-invalid-data-migration.js b/src/migration/service-agreements-invalid-data-migration.js deleted file mode 100644 index 59f1636cc6..0000000000 --- a/src/migration/service-agreements-invalid-data-migration.js +++ /dev/null @@ -1,218 +0,0 @@ -/* eslint-disable no-await-in-loop */ -import BaseMigration from './base-migration.js'; -import { TRIPLE_STORE_REPOSITORIES } from '../constants/constants.js'; - -class ServiceAgreementsInvalidDataMigration extends BaseMigration { - constructor(migrationName, logger, config, repositoryModuleManager, tripleStoreService) { - super(migrationName, logger, config); - this.repositoryModuleManager = repositoryModuleManager; - this.tripleStoreService = tripleStoreService; - } - - async executeMigration() { - let migrationInfo = await this.getMigrationInfo(); - if (!migrationInfo?.lastFixedTokenId) { - migrationInfo = { - lastFixedTokenId: 0, - }; - } - - const serviceAgreementsDataInspectorInfo = await this.getMigrationInfo( - 'serviceAgreementsDataInspector', - ); - - // Fixing invalid Service Agreements in the Operational DB (agreementId + keyword + assertionId + stateIndex) + - // Current repositories of the Triple Store ([Metadata: keyword] + [Assertion Links]) - const serviceAgreementsToUpdate = - serviceAgreementsDataInspectorInfo.fixedServiceAgreements.sort( - (a, b) => a.tokenId - b.tokenId, - ); - for (const serviceAgreement of serviceAgreementsToUpdate) { - if (serviceAgreement.tokenId < migrationInfo.lastFixedTokenId) { - continue; - } - - this.logger.trace( - `Fixing Service Agreement in the Operational DB for the Knowledge Asset with the ID: ${serviceAgreement.tokenId}, ` + - `Service Agreement ID: ${serviceAgreement.agreementId}, Keyword: ${serviceAgreement.correctKeyword}, ` + - `Assertion ID: ${serviceAgreement.correctAssertionId}, State Index: ${serviceAgreement.stateIndex}.`, - ); - - await this.repositoryModuleManager.updateServiceAgreementForTokenId( - serviceAgreement.tokenId, - serviceAgreement.agreementId, - serviceAgreement.correctKeyword, - serviceAgreement.correctAssertionId, - serviceAgreement.stateIndex, - ); - - // Fix wrong Assertion links in the PublicCurrent / PrivateCurrent repositories - if (serviceAgreement.currentAssertionId !== serviceAgreement.correctAssertionId) { - const assertionLinkedInPublicCurrentRepository = - await this.tripleStoreService.assetAssertionLinkExists( - TRIPLE_STORE_REPOSITORIES.PUBLIC_CURRENT, - serviceAgreement.blockchain, - serviceAgreement.contract, - serviceAgreement.tokenId, - serviceAgreement.currentAssertionId, - ); - - if (assertionLinkedInPublicCurrentRepository) { - await this.tripleStoreService.updateAssetAssertionLink( - TRIPLE_STORE_REPOSITORIES.PUBLIC_CURRENT, - serviceAgreement.blockchain, - serviceAgreement.contract, - serviceAgreement.tokenId, - serviceAgreement.currentAssertionId, - serviceAgreement.correctAssertionId, - ); - } - - const assertionLinkedInPrivateCurrentRepository = - await this.tripleStoreService.assetAssertionLinkExists( - TRIPLE_STORE_REPOSITORIES.PRIVATE_CURRENT, - serviceAgreement.blockchain, - serviceAgreement.contract, - serviceAgreement.tokenId, - serviceAgreement.currentAssertionId, - ); - - if (assertionLinkedInPrivateCurrentRepository) { - await this.tripleStoreService.updateAssetAssertionLink( - TRIPLE_STORE_REPOSITORIES.PRIVATE_CURRENT, - serviceAgreement.blockchain, - serviceAgreement.contract, - serviceAgreement.tokenId, - serviceAgreement.currentAssertionId, - serviceAgreement.correctAssertionId, - ); - } - } - - // Fix wrong keyword for the Asset Metadata in the Triple Store - if (serviceAgreement.currentKeyword !== serviceAgreement.correctKeyword) { - const assetInPublicCurrentRepository = await this.tripleStoreService.assetExists( - TRIPLE_STORE_REPOSITORIES.PUBLIC_CURRENT, - serviceAgreement.blockchain, - serviceAgreement.contract, - serviceAgreement.tokenId, - ); - - if (assetInPublicCurrentRepository) { - await this.tripleStoreService.updateAssetNonAssertionMetadata( - TRIPLE_STORE_REPOSITORIES.PUBLIC_CURRENT, - serviceAgreement.blockchain, - serviceAgreement.contract, - serviceAgreement.tokenId, - serviceAgreement.correctKeyword, - ); - } - - const assetInPrivateCurrentRepository = await this.tripleStoreService.assetExists( - TRIPLE_STORE_REPOSITORIES.PRIVATE_CURRENT, - serviceAgreement.blockchain, - serviceAgreement.contract, - serviceAgreement.tokenId, - ); - - if (assetInPrivateCurrentRepository) { - await this.tripleStoreService.updateAssetNonAssertionMetadata( - TRIPLE_STORE_REPOSITORIES.PRIVATE_CURRENT, - serviceAgreement.blockchain, - serviceAgreement.contract, - serviceAgreement.tokenId, - serviceAgreement.correctKeyword, - ); - } - - const assetInPublicHistoricalRepository = await this.tripleStoreService.assetExists( - TRIPLE_STORE_REPOSITORIES.PUBLIC_HISTORY, - serviceAgreement.blockchain, - serviceAgreement.contract, - serviceAgreement.tokenId, - ); - - if (assetInPublicHistoricalRepository) { - await this.tripleStoreService.updateAssetNonAssertionMetadata( - TRIPLE_STORE_REPOSITORIES.PUBLIC_HISTORY, - serviceAgreement.blockchain, - serviceAgreement.contract, - serviceAgreement.tokenId, - serviceAgreement.correctKeyword, - ); - } - - const assetInPrivateHistoricalRepository = - await this.tripleStoreService.assetExists( - TRIPLE_STORE_REPOSITORIES.PRIVATE_HISTORY, - serviceAgreement.blockchain, - serviceAgreement.contract, - serviceAgreement.tokenId, - ); - - if (assetInPrivateHistoricalRepository) { - await this.tripleStoreService.updateAssetNonAssertionMetadata( - TRIPLE_STORE_REPOSITORIES.PRIVATE_HISTORY, - serviceAgreement.blockchain, - serviceAgreement.contract, - serviceAgreement.tokenId, - serviceAgreement.correctKeyword, - ); - } - } - } - - // Fixing invalid Historical Assertions ([Assertion Links]) - const historicalStatesToUpdate = - serviceAgreementsDataInspectorInfo.fixedHistoricalAssertions.sort( - (a, b) => a.tokenId - b.tokenId, - ); - for (const state of historicalStatesToUpdate) { - if (state.tokenId < migrationInfo.lastFixedTokenId) { - continue; - } - - for (const assertionId of state.missingPublicHistoricalAssertions) { - await this.tripleStoreService.insertAssetAssertionLink( - TRIPLE_STORE_REPOSITORIES.PUBLIC_HISTORY, - state.blockchain, - state.contract, - state.tokenId, - assertionId, - ); - } - - for (const assertionId of state.missingPrivateHistoricalAssertions) { - await this.tripleStoreService.insertAssetAssertionLink( - TRIPLE_STORE_REPOSITORIES.PRIVATE_HISTORY, - state.blockchain, - state.contract, - state.tokenId, - assertionId, - ); - } - - for (const assertionId of state.redundantPublicHistoricalAssertions) { - await this.tripleStoreService.deleteAssetAssertionLink( - TRIPLE_STORE_REPOSITORIES.PUBLIC_HISTORY, - state.blockchain, - state.contract, - state.tokenId, - assertionId, - ); - } - - for (const assertionId of state.redundantPrivateHistoricalAssertions) { - await this.tripleStoreService.deleteAssetAssertionLink( - TRIPLE_STORE_REPOSITORIES.PRIVATE_HISTORY, - state.blockchain, - state.contract, - state.tokenId, - assertionId, - ); - } - } - } -} - -export default ServiceAgreementsInvalidDataMigration; diff --git a/src/migration/service-agreements-metadata-migration.js b/src/migration/service-agreements-metadata-migration.js deleted file mode 100644 index 382c2eaf94..0000000000 --- a/src/migration/service-agreements-metadata-migration.js +++ /dev/null @@ -1,234 +0,0 @@ -/* eslint-disable no-await-in-loop */ -import path from 'path'; -import { setTimeout } from 'timers/promises'; -import BaseMigration from './base-migration.js'; -import { - CONTENT_ASSET_HASH_FUNCTION_ID, - SCHEMA_CONTEXT, - TRIPLE_STORE_REPOSITORIES, - SERVICE_AGREEMENT_SOURCES, -} from '../constants/constants.js'; - -class ServiceAgreementsMetadataMigration extends BaseMigration { - constructor( - migrationName, - logger, - config, - tripleStoreService, - blockchainModuleManager, - repositoryModuleManager, - serviceAgreementService, - ualService, - ) { - super(migrationName, logger, config); - this.blockchainModuleManager = blockchainModuleManager; - this.repositoryModuleManager = repositoryModuleManager; - this.serviceAgreementService = serviceAgreementService; - this.ualService = ualService; - this.tripleStoreService = tripleStoreService; - } - - async executeMigration() { - const migrationFolderPath = this.fileService.getMigrationFolderPath(); - const migrationInfoFileName = `${this.migrationName}_info`; - const migrationInfoPath = path.join(migrationFolderPath, migrationInfoFileName); - let migrationInfo; - if (await this.fileService.pathExists(migrationInfoPath)) { - migrationInfo = await this.fileService - .readFile(migrationInfoPath, true) - .catch(() => {}); - } - if (!migrationInfo?.lastProcessedTokenId) { - migrationInfo = { - lastProcessedTokenId: -1, - }; - } - // get metadata of all stored assets in public current triple store - const query = `PREFIX schema: <${SCHEMA_CONTEXT}> - SELECT DISTINCT ?ual WHERE { - GRAPH { - ?ual schema:tokenId ?tokenId - } - FILTER (xsd:integer(?tokenId) > ${migrationInfo.lastProcessedTokenId}) - } - ORDER BY ASC(xsd:integer(?tokenId))`; - const assetsMetadata = await this.tripleStoreService.select( - TRIPLE_STORE_REPOSITORIES.PUBLIC_CURRENT, - query, - ); - const identities = {}; - const concurrency = 3; - let promises = []; - let assetsToProcess = assetsMetadata.length; - for (const { ual } of assetsMetadata) { - const { blockchain, contract, tokenId } = this.ualService.resolveUAL(ual); - if (!identities[blockchain]) { - identities[blockchain] = await this.blockchainModuleManager.getIdentityId( - blockchain, - ); - } - promises.push( - this.processAsset(ual, blockchain, contract, tokenId, identities[blockchain]), - ); - assetsToProcess -= 1; - if (promises.length >= concurrency) { - // eslint-disable-next-line no-await-in-loop - await Promise.all(promises); - promises = []; - await this.fileService.writeContentsToFile( - migrationFolderPath, - migrationInfoFileName, - JSON.stringify({ lastProcessedTokenId: tokenId }), - false, - ); - this.logger.trace( - `${this.migrationName} remaining assets to process: ${assetsToProcess}.`, - ); - } - } - await Promise.all(promises); - } - - async processAsset(ual, blockchain, contract, tokenId, identityId) { - const maxAttempts = 10; - const sleepTimeSeconds = 2; - - // get assertion ids - let attempt = 0; - let assertionIds; - while (!assertionIds) { - attempt += 1; - if (attempt >= maxAttempts) - throw Error( - `Error while trying to get assertion ids for asset with ual: ${ual}. Max attempts reached`, - ); - if (attempt > 1) { - await setTimeout(sleepTimeSeconds * 1000); - } - try { - assertionIds = await this.blockchainModuleManager.getAssertionIds( - blockchain, - contract, - tokenId, - ); - } catch (error) { - this.logger.warn( - `Error while trying to get assertion ids for asset with ual: ${ual}. Retrying in ${sleepTimeSeconds} seconds. Attempt number: ${attempt}.`, - ); - } - } - - if (!assertionIds?.length) { - this.logger.warn(`Unable to find assertion ids for asset with ual: ${ual}`); - return; - } - const stateIndex = assertionIds.length - 1; - const assertionId = assertionIds[stateIndex]; - // calculate keyword - const keyword = this.blockchainModuleManager.encodePacked( - blockchain, - ['address', 'bytes32'], - [contract, assertionIds[0]], - ); - - // generate agreement id - const agreementId = this.serviceAgreementService.generateId( - blockchain, - contract, - tokenId, - keyword, - CONTENT_ASSET_HASH_FUNCTION_ID, - ); - - // get agreement data - attempt = 0; - let agreementData; - while (!agreementData) { - attempt += 1; - if (attempt >= maxAttempts) - throw Error( - `Error while trying to get agreement data for asset with ual: ${ual}. Max attempts reached`, - ); - if (attempt > 1) { - await setTimeout(sleepTimeSeconds * 1000); - } - try { - agreementData = await this.blockchainModuleManager.getAgreementData( - blockchain, - agreementId, - ); - } catch (error) { - this.logger.warn( - `Error while trying to get agreement data for asset with ual: ${ual}. Retrying in ${sleepTimeSeconds} seconds. Attempt number: ${attempt}.`, - ); - } - } - - // calculate current epoch - const now = await this.blockchainModuleManager.getBlockchainTimestamp(blockchain); - const epoch = Math.floor((now - agreementData.startTime) / agreementData.epochLength); - - // service agreement expired, don't update commits and proofs - if (epoch >= Number(agreementData.epochsNumber)) return; - - // get top commits - attempt = 0; - let commits; - while (!commits) { - attempt += 1; - if (attempt >= maxAttempts) - throw Error( - `Error while trying to get top commit submissions for asset with ual: ${ual}. Max attempts reached`, - ); - if (attempt > 1) { - await setTimeout(sleepTimeSeconds * 1000); - } - try { - commits = await this.blockchainModuleManager.getTopCommitSubmissions( - blockchain, - agreementId, - epoch, - stateIndex, - ); - } catch (error) { - this.logger.warn( - `Error while trying to get top commit submissions for asset with ual: ${ual}. Retrying in ${sleepTimeSeconds} seconds. Attempt number: ${attempt}.`, - ); - } - } - - let lastCommitEpoch = null; - let lastProofEpoch = null; - - for (const commit of commits) { - if (Number(commit.identityId) === identityId) { - lastCommitEpoch = epoch; - if (Number(commit.score) === 0) { - lastProofEpoch = epoch; - } - } - } - - // store in service_agreement table - await this.repositoryModuleManager.updateServiceAgreementRecord( - blockchain, - contract, - tokenId, - agreementId, - agreementData.startTime, - agreementData.epochsNumber, - agreementData.epochLength, - agreementData.scoreFunctionId, - agreementData.proofWindowOffsetPerc, - CONTENT_ASSET_HASH_FUNCTION_ID, - keyword, - assertionId, - stateIndex, - SERVICE_AGREEMENT_SOURCES.BLOCKCHAIN, - lastCommitEpoch, - lastProofEpoch, - ); - } -} - -export default ServiceAgreementsMetadataMigration; diff --git a/src/migration/set-paranet-synced-asset-type-migration.js b/src/migration/set-paranet-synced-asset-type-migration.js deleted file mode 100644 index 1a17096d7e..0000000000 --- a/src/migration/set-paranet-synced-asset-type-migration.js +++ /dev/null @@ -1,20 +0,0 @@ -import BaseMigration from './base-migration.js'; -import { PARANET_SYNC_SOURCES } from '../constants/constants.js'; - -class SetParanetSyncedAssetTypeMigration extends BaseMigration { - constructor(migrationName, logger, config, repositoryModuleManager) { - super(migrationName, logger, config); - this.repositoryModuleManager = repositoryModuleManager; - } - - async executeMigration() { - this.logger.info('Starting SetParanetSyncedAssetType migration.'); - const query = ` - UPDATE paranet_synced_asset - SET data_source = '${PARANET_SYNC_SOURCES.SYNC}' - `; - await this.repositoryModuleManager.query(query); - } -} - -export default SetParanetSyncedAssetTypeMigration; diff --git a/src/migration/telemetry-module-user-configuration-migration.js b/src/migration/telemetry-module-user-configuration-migration.js deleted file mode 100644 index a49cc393af..0000000000 --- a/src/migration/telemetry-module-user-configuration-migration.js +++ /dev/null @@ -1,45 +0,0 @@ -import appRootPath from 'app-root-path'; -import path from 'path'; -import BaseMigration from './base-migration.js'; - -class TelemetryModuleUserConfigurationMigration extends BaseMigration { - async executeMigration() { - const configurationFolderPath = path.join(appRootPath.path, '..'); - const configurationFilePath = path.join( - configurationFolderPath, - this.config.configFilename, - ); - - const userConfiguration = await this.fileService.readFile(configurationFilePath, true); - - let newTelemetryConfig; - - if ('telemetry' in userConfiguration) { - const oldConfigTelemetry = userConfiguration.telemetry; - newTelemetryConfig = { - enabled: oldConfigTelemetry.enabled, - implementation: { - 'ot-telemetry': { - enabled: oldConfigTelemetry.enabled, - package: './telemetry/implementation/ot-telemetry.js', - config: { - sendTelemetryData: oldConfigTelemetry.sendTelemetryData, - signalingServerUrl: oldConfigTelemetry.signalingServerUrl, - }, - }, - }, - }; - - delete userConfiguration.telemetry; - userConfiguration.modules.telemetry = newTelemetryConfig; - - await this.fileService.writeContentsToFile( - configurationFolderPath, - this.config.configFilename, - JSON.stringify(userConfiguration, null, 4), - ); - } - } -} - -export default TelemetryModuleUserConfigurationMigration; diff --git a/src/migration/triple-store-metadata-migration.js b/src/migration/triple-store-metadata-migration.js deleted file mode 100644 index dc087689d8..0000000000 --- a/src/migration/triple-store-metadata-migration.js +++ /dev/null @@ -1,776 +0,0 @@ -/* eslint-disable no-await-in-loop */ -import { formatAssertion } from 'assertion-tools'; -import path from 'path'; -import BaseMigration from './base-migration.js'; -import { SCHEMA_CONTEXT, TRIPLE_STORE_REPOSITORIES } from '../constants/constants.js'; - -class TripleStoreMetadataMigration extends BaseMigration { - constructor( - migrationName, - logger, - config, - tripleStoreService, - blockchainModuleManager, - serviceAgreementService, - ualService, - dataService, - ) { - super(migrationName, logger, config); - this.blockchainModuleManager = blockchainModuleManager; - this.serviceAgreementService = serviceAgreementService; - this.ualService = ualService; - this.tripleStoreService = tripleStoreService; - this.dataService = dataService; - } - - async executeMigration() { - await this.updatePublicCurrentMetadata(); - await this.updatePrivateCurrentMetadata(); - } - - async updatePublicCurrentMetadata() { - const currentRepository = TRIPLE_STORE_REPOSITORIES.PUBLIC_CURRENT; - const historyRepository = TRIPLE_STORE_REPOSITORIES.PUBLIC_HISTORY; - const migrationFolderPath = this.fileService.getMigrationFolderPath(); - const migrationInfoFileName = `${this.migrationName}_${currentRepository}`; - const migrationInfoPath = path.join(migrationFolderPath, migrationInfoFileName); - - let migrationInfo; - if (await this.fileService.pathExists(migrationInfoPath)) { - try { - migrationInfo = await this.fileService.readFile(migrationInfoPath, true); - } catch (error) { - migrationInfo = { - status: 'IN_PROGRESS', - processedUals: {}, - deletedAssertions: [], - }; - } - - if (migrationInfo.status === 'COMPLETED') return; - } else { - migrationInfo = { - status: 'IN_PROGRESS', - processedUals: {}, - deletedAssertions: [], - }; - } - - await this._logMetadataStats(currentRepository); - - migrationInfo = await this.updateBlockchainMetadata(currentRepository, migrationInfo); - migrationInfo = await this.updateContractMetadata(currentRepository, migrationInfo); - await this.deleteUnsupportedAssetsMetadata(currentRepository); - migrationInfo = await this.updateKeywordMetadata(currentRepository, migrationInfo); - migrationInfo = await this.updateAssertionMetadata( - currentRepository, - historyRepository, - migrationInfo, - ); - migrationInfo = await this.deleteUnlinkedAssertions(currentRepository, migrationInfo); - - await this._logMetadataStats(currentRepository); - - migrationInfo.status = 'COMPLETED'; - await this._updateMigrationInfoFile(currentRepository, migrationInfo); - } - - async updatePrivateCurrentMetadata() { - const currentRepository = TRIPLE_STORE_REPOSITORIES.PRIVATE_CURRENT; - const historyRepository = TRIPLE_STORE_REPOSITORIES.PRIVATE_HISTORY; - const migrationFolderPath = this.fileService.getMigrationFolderPath(); - const migrationInfoFileName = `${this.migrationName}_${currentRepository}`; - const migrationInfoPath = path.join(migrationFolderPath, migrationInfoFileName); - let migrationInfo; - if (await this.fileService.pathExists(migrationInfoPath)) { - try { - migrationInfo = await this.fileService.readFile(migrationInfoPath, true); - } catch (error) { - migrationInfo = { - status: 'IN_PROGRESS', - processedUals: {}, - deletedAssertions: [], - }; - } - - if (migrationInfo.status === 'COMPLETED') return; - } else { - const assetsQueryResult = await this.tripleStoreService.select( - currentRepository, - `SELECT distinct ?ual - WHERE { - GRAPH { - ?ual ?p ?o - } - }`, - ); - - migrationInfo = { - status: 'IN_PROGRESS', - ualsToProcess: assetsQueryResult.map(({ ual }) => ual), - processedUals: {}, - deletedAssertions: [], - }; - } - - await this._logMetadataStats(currentRepository); - - const ualsToProcess = JSON.parse(JSON.stringify(migrationInfo.ualsToProcess)); - for (let i = 0; i < ualsToProcess.length; i += 1) { - this._logPercentage(i, ualsToProcess.length, currentRepository); - const ual = ualsToProcess[i]; - if (!migrationInfo.processedUals[ual]) migrationInfo.processedUals[ual] = {}; - - let resolvedUAL; - try { - resolvedUAL = this.ualService.resolveUAL(ual); - } catch (error) { - this.logger.warn(`Unable to resolve UAL: ${error}`); - continue; - } - - const { blockchain, contract, tokenId } = resolvedUAL; - - let assertionIds; - try { - assertionIds = await this.blockchainModuleManager.getAssertionIds( - blockchain, - contract, - tokenId, - ); - migrationInfo.processedUals[ual].assertionIds = assertionIds; - } catch (error) { - this.logger.warn(`Unable to find assertion ids for asset with ual: ${ual}`); - migrationInfo.ualsToProcess.splice(i, 1); - await this._updateMigrationInfoFile(currentRepository, migrationInfo); - continue; - } - - if (!assertionIds?.length) { - this.logger.warn(`Unable to find assertion ids for asset with ual: ${ual}`); - migrationInfo.ualsToProcess.splice(i, 1); - await this._updateMigrationInfoFile(currentRepository, migrationInfo); - continue; - } - - const keyword = this.blockchainModuleManager.encodePacked( - blockchain, - ['address', 'bytes32'], - [contract, assertionIds[0]], - ); - - migrationInfo = await this._moveOldAssertionIds( - currentRepository, - historyRepository, - ual, - blockchain, - contract, - tokenId, - keyword, - assertionIds, - migrationInfo, - ); - - migrationInfo = await this._updateAssetMetadata( - currentRepository, - assertionIds, - ual, - blockchain, - contract, - tokenId, - keyword, - migrationInfo, - ); - - migrationInfo.ualsToProcess.splice(i, 1); - await this._updateMigrationInfoFile(currentRepository, migrationInfo); - } - await this.deleteUnlinkedAssertions(currentRepository, migrationInfo); - - await this._logMetadataStats(currentRepository); - - migrationInfo.status = 'COMPLETED'; - await this._updateMigrationInfoFile(currentRepository, migrationInfo); - } - - async updateBlockchainMetadata(repository, migrationInfo) { - const assetsQueryResult = await this.tripleStoreService.select( - repository, - `PREFIX schema: <${SCHEMA_CONTEXT}> - SELECT DISTINCT ?ual - WHERE { - GRAPH { - ?ual ?p ?o . - FILTER NOT EXISTS { - ?ual schema:blockchain ?blockchain . - } - } - }`, - ); - - this.logger.debug( - `found ${assetsQueryResult.length} assets with missing blockchain metadata`, - ); - - let triples = ''; - let processedAssets = []; - const migrationInfoCopy = migrationInfo; - for (let i = 0; i < assetsQueryResult.length; i += 1) { - const { ual } = assetsQueryResult[i]; - let resolvedUAL; - try { - resolvedUAL = this.ualService.resolveUAL(ual); - } catch (error) { - this.logger.warn(`Unable to resolve UAL: ${error}`); - continue; - } - - const { blockchain } = resolvedUAL; - - triples += `<${ual}> schema:blockchain "${blockchain}" . \n`; - processedAssets.push({ ual, blockchain }); - if (i % 10_000 === 0) { - await this.insertMetadataTriples(repository, triples); - for (const processedAsset of processedAssets) { - if (!migrationInfoCopy.processedUals[processedAsset.ual]) - migrationInfoCopy.processedUals[processedAsset.ual] = { - blockchain: processedAsset.blockchain, - }; - else - migrationInfoCopy.processedUals[processedAsset.ual].blockchain = - processedAsset.blockchain; - } - await this._updateMigrationInfoFile(repository, migrationInfoCopy); - triples = ''; - processedAssets = []; - } - } - await this.insertMetadataTriples(repository, triples); - return migrationInfoCopy; - } - - async updateContractMetadata(repository, migrationInfo) { - const assetsQueryResult = await this.tripleStoreService.select( - repository, - `PREFIX schema: <${SCHEMA_CONTEXT}> - SELECT DISTINCT ?ual - WHERE { - GRAPH { - ?ual ?p ?o . - FILTER NOT EXISTS { - ?ual schema:contract ?contract . - } - } - }`, - ); - - this.logger.debug( - `found ${assetsQueryResult.length} assets with missing contract metadata`, - ); - - let triples = ''; - let processedAssets = []; - const migrationInfoCopy = migrationInfo; - for (let i = 0; i < assetsQueryResult.length; i += 1) { - const { ual } = assetsQueryResult[i]; - let resolvedUAL; - try { - resolvedUAL = this.ualService.resolveUAL(ual); - } catch (error) { - this.logger.warn(`Unable to resolve UAL: ${error}`); - continue; - } - - const { contract } = resolvedUAL; - - triples += `<${ual}> schema:contract "${contract}" . \n`; - processedAssets.push({ ual, contract }); - if (i % 10_000 === 0) { - await this.insertMetadataTriples(repository, triples); - for (const processedAsset of processedAssets) { - if (!migrationInfoCopy.processedUals[processedAsset.ual]) - migrationInfoCopy.processedUals[processedAsset.ual] = { - contract: processedAsset.contract, - }; - else - migrationInfoCopy.processedUals[processedAsset.ual].contract = - processedAsset.contract; - } - await this._updateMigrationInfoFile(repository, migrationInfoCopy); - triples = ''; - processedAssets = []; - } - } - await this.insertMetadataTriples(repository, triples); - return migrationInfoCopy; - } - - async updateKeywordMetadata(repository, migrationInfo) { - const assetsQueryResult = await this.tripleStoreService.select( - repository, - `PREFIX schema: <${SCHEMA_CONTEXT}> - SELECT DISTINCT ?ual - WHERE { - GRAPH { - ?ual ?p ?o . - FILTER NOT EXISTS { - ?ual schema:keyword ?keyword . - } - } - }`, - ); - - this.logger.debug(`found ${assetsQueryResult.length} assets with missing keyword metadata`); - - let triples = ''; - const processedAssets = []; - const migrationInfoCopy = migrationInfo; - for (const { ual } of assetsQueryResult) { - let resolvedUAL; - try { - resolvedUAL = this.ualService.resolveUAL(ual); - } catch (error) { - this.logger.warn(`Unable to resolve UAL: ${error}`); - continue; - } - - const { blockchain, contract, tokenId } = resolvedUAL; - - let assertionIds; - try { - assertionIds = await this.blockchainModuleManager.getAssertionIds( - blockchain, - contract, - tokenId, - ); - } catch (error) { - this.logger.warn(`Unable to find assertion ids for asset with ual: ${ual}`); - continue; - } - - if (!assertionIds?.length) { - this.logger.warn(`Unable to find assertion ids for asset with ual: ${ual}`); - continue; - } - - const keyword = this.blockchainModuleManager.encodePacked( - blockchain, - ['address', 'bytes32'], - [contract, assertionIds[0]], - ); - - triples += `<${ual}> schema:keyword "${keyword}" . \n`; - processedAssets.push({ ual, keyword }); - } - - for (const processedAsset of processedAssets) { - if (!migrationInfoCopy.processedUals[processedAsset.ual]) - migrationInfoCopy.processedUals[processedAsset.ual] = { - keyword: processedAsset.keyword, - }; - else - migrationInfoCopy.processedUals[processedAsset.ual].keyword = - processedAsset.keyword; - } - await this.insertMetadataTriples(repository, triples); - await this._updateMigrationInfoFile(repository, migrationInfoCopy); - return migrationInfoCopy; - } - - async updateAssertionMetadata(currentRepository, historyRepository, migrationInfo) { - const assetsQueryResult = await this.tripleStoreService.select( - currentRepository, - `PREFIX schema: <${SCHEMA_CONTEXT}> - - SELECT distinct ?ual - WHERE { - { - GRAPH { - ?ual ?p ?o . - } - FILTER NOT EXISTS { - ?ual schema:assertion ?assertion . - } - } - UNION - { - GRAPH { - ?ual schema:assertion ?assertion1 . - ?ual schema:assertion ?assertion2 . - } - FILTER (?assertion1 != ?assertion2) - } - }`, - ); - - this.logger.debug( - `found ${assetsQueryResult.length} assets not containing exactly one assertion id in metadata`, - ); - - let migrationInfoCopy = migrationInfo; - for (const { ual } of assetsQueryResult) { - if (!migrationInfoCopy.processedUals[ual]) migrationInfoCopy.processedUals[ual] = {}; - let resolvedUAL; - try { - resolvedUAL = this.ualService.resolveUAL(ual); - } catch (error) { - this.logger.warn(`Unable to resolve UAL: ${error}`); - continue; - } - - const { blockchain, contract, tokenId } = resolvedUAL; - - let assertionIds; - try { - assertionIds = await this.blockchainModuleManager.getAssertionIds( - blockchain, - contract, - tokenId, - ); - migrationInfoCopy.processedUals[ual].assertionIds = assertionIds; - } catch (error) { - this.logger.warn(`Unable to find assertion ids for asset with ual: ${ual}`); - continue; - } - - if (!assertionIds?.length) { - this.logger.warn(`Unable to find assertion ids for asset with ual: ${ual}`); - continue; - } - - const keyword = this.blockchainModuleManager.encodePacked( - blockchain, - ['address', 'bytes32'], - [contract, assertionIds[0]], - ); - - migrationInfoCopy = await this._moveOldAssertionIds( - currentRepository, - historyRepository, - ual, - blockchain, - contract, - tokenId, - keyword, - assertionIds, - migrationInfoCopy, - ); - - migrationInfoCopy = await this._updateAssetMetadata( - currentRepository, - assertionIds, - ual, - blockchain, - contract, - tokenId, - keyword, - migrationInfoCopy, - ); - } - - return migrationInfoCopy; - } - - async _moveOldAssertionIds( - currentRepository, - historyRepository, - ual, - blockchain, - contract, - tokenId, - keyword, - assertionIds, - migrationInfo, - ) { - const migrationInfoCopy = migrationInfo; - for (let i = 0; i < assertionIds.length - 1; i += 1) { - const publicAssertionId = assertionIds[i]; - const publicAssertion = await this.tripleStoreService.getAssertion( - currentRepository, - publicAssertionId, - ); - - if (publicAssertion?.length) { - await this.tripleStoreService.localStoreAsset( - historyRepository, - publicAssertionId, - publicAssertion, - blockchain, - contract, - tokenId, - keyword, - ); - if (!migrationInfoCopy.processedUals[ual].copiedHistory) { - migrationInfoCopy.processedUals[ual].copiedHistory = []; - } - migrationInfoCopy.processedUals[ual].copiedHistory.push({ - stateIndex: i, - publicAssertionId, - publicAssertion, - }); - - await this._updateMigrationInfoFile(currentRepository, migrationInfoCopy); - - if (currentRepository === TRIPLE_STORE_REPOSITORIES.PRIVATE_CURRENT) { - const privateAssertionId = - this.dataService.getPrivateAssertionId(publicAssertion); - if (privateAssertionId) { - const privateAssertion = await this.tripleStoreService.getAssertion( - currentRepository, - privateAssertionId, - ); - - if (privateAssertion?.length) { - await this.tripleStoreService.localStoreAsset( - historyRepository, - privateAssertionId, - privateAssertion, - blockchain, - contract, - tokenId, - keyword, - ); - migrationInfoCopy.processedUals[ual].copiedHistory.push({ - stateIndex: i, - privateAssertionId, - privateAssertion, - }); - await this._updateMigrationInfoFile( - currentRepository, - migrationInfoCopy, - ); - } - } - } - } - } - - return migrationInfoCopy; - } - - async _updateAssetMetadata( - currentRepository, - assertionIds, - ual, - blockchain, - contract, - tokenId, - keyword, - migrationInfo, - ) { - const migrationInfoCopy = migrationInfo; - const latestPublicAssertionId = assertionIds[assertionIds.length - 1]; - const latestPublicAssertion = await this.tripleStoreService.getAssertion( - currentRepository, - latestPublicAssertionId, - ); - - if (latestPublicAssertion?.length) { - const assetMetadata = { - '@context': SCHEMA_CONTEXT, - '@id': ual, - blockchain, - contract, - tokenId, - keyword, - assertion: [{ '@id': `assertion:${latestPublicAssertionId}` }], - }; - - if (currentRepository === TRIPLE_STORE_REPOSITORIES.PRIVATE_CURRENT) { - const latestPrivateAssertionId = - this.dataService.getPrivateAssertionId(latestPublicAssertion); - if (latestPrivateAssertionId) { - assetMetadata.assertion.push({ - '@id': `assertion:${latestPrivateAssertionId}`, - }); - } - } - - const assetMetadataNquads = await formatAssertion(assetMetadata); - await this.tripleStoreService.queryVoid( - currentRepository, - `DELETE WHERE { - GRAPH { - <${ual}> ?p ?o - } - }; - INSERT DATA { - GRAPH { - ${assetMetadataNquads.join('\n')} - } - }`, - ); - migrationInfoCopy.processedUals[ual].upddatedMetadata = true; - } else { - await this.tripleStoreService.deleteAssetMetadata( - currentRepository, - blockchain, - contract, - tokenId, - ); - migrationInfoCopy.processedUals[ual].deletedMetadata = true; - } - - await this._updateMigrationInfoFile(currentRepository, migrationInfoCopy); - - return migrationInfoCopy; - } - - async deleteUnsupportedAssetsMetadata(repository) { - let assetStorageContractAddresses = []; - for (const blockchain of this.blockchainModuleManager.getImplementationNames()) { - assetStorageContractAddresses = assetStorageContractAddresses.concat( - await this.blockchainModuleManager.getAssetStorageContractAddresses(blockchain), - ); - } - - const deleteQuery = ` - PREFIX schema: <${SCHEMA_CONTEXT}> - - DELETE { - GRAPH { ?s ?p ?o . } - } WHERE { - GRAPH { - ?s ?p ?o . - ?s schema:contract ?o2 . - FILTER NOT EXISTS { - VALUES ?oValue { ${assetStorageContractAddresses - .map((addr) => `"${addr}"`) - .join(' ')} } - FILTER (?o2 = ?oValue) - } - } - }`; - - await this.tripleStoreService.queryVoid(repository, deleteQuery); - } - - async deleteUnlinkedAssertions(repository, migrationInfo) { - let assetsQueryResult; - const migrationInfoCopy = migrationInfo; - do { - assetsQueryResult = await this.tripleStoreService.select( - repository, - `PREFIX schema: <${SCHEMA_CONTEXT}> - - SELECT DISTINCT ?g WHERE { - GRAPH ?g { ?s ?p ?o . } - FILTER NOT EXISTS { - GRAPH { - ?ual schema:assertion ?g . - } - } - FILTER (?g != ) - } - LIMIT 100`, - ); - if (assetsQueryResult?.length) { - assetsQueryResult = assetsQueryResult.filter(({ g }) => g.startsWith('assertion:')); - } - this.logger.debug( - `found ${assetsQueryResult.length} assertions not linked to any asset.`, - ); - let deleteQuery = ''; - if (!migrationInfoCopy.deletedAssertions) migrationInfoCopy.deletedAssertions = []; - for (const { g } of assetsQueryResult) { - deleteQuery += ` - WITH <${g}> - DELETE { ?s ?p ?o } - WHERE { ?s ?p ?o };`; - migrationInfoCopy.deletedAssertions.push(g); - } - - if (deleteQuery !== '') { - await this.tripleStoreService.queryVoid(repository, deleteQuery); - } - await this._updateMigrationInfoFile(repository, migrationInfoCopy); - } while (assetsQueryResult?.length); - - return migrationInfoCopy; - } - - async _logMetadataStats(repository) { - const allAssetsResult = await this.tripleStoreService.select( - repository, - `PREFIX schema: <${SCHEMA_CONTEXT}> - - SELECT - (COUNT(DISTINCT ?ual) AS ?all) - WHERE { - GRAPH { - { - ?ual ?p ?o . - } - } - }`, - ); - let stats = this.dataService.parseBindings(allAssetsResult)[0]; - - let log = `metadata stats for ${repository} repository: `; - log += `\n\t\t\t\tdistinct number of uals: ${stats.all}`; - - const predicates = ['blockchain', 'contract', 'tokenId', 'keyword', 'assertion']; - for (const predicate of predicates) { - stats = await this._getPredicateStats(repository, predicate); - log += `\n\t\t\t\tdistinct number of uals with predicate ${predicate}: ${stats}`; - } - this.logger.debug(log); - } - - async _getPredicateStats(repository, predicate) { - const query = ` - PREFIX schema: <${SCHEMA_CONTEXT}> - SELECT - (COUNT(DISTINCT ?ual) AS ?${predicate}) - WHERE { - GRAPH { - { - ?ual schema:${predicate} ?${predicate} . - } - } - }`; - - const result = await this.tripleStoreService.select(repository, query); - const stats = this.dataService.parseBindings(result)[0]; - - return stats[predicate]; - } - - _logPercentage(index, max, repository) { - const previousPercentage = (Math.max(0, index - 1) / max) * 100; - const currentPercentage = (index / max) * 100; - - if (Math.floor(currentPercentage) - Math.floor(previousPercentage) < 1) return; - - this.logger.debug( - `${this.migrationName} at ${ - Math.floor(currentPercentage * 10) / 10 - }% for ${repository} repository`, - ); - } - - async _updateMigrationInfoFile(repository, migrationInfo) { - const migrationFolderPath = this.fileService.getMigrationFolderPath(); - const migrationInfoFileName = `${this.migrationName}_${repository}`; - - await this.fileService.writeContentsToFile( - migrationFolderPath, - migrationInfoFileName, - JSON.stringify(migrationInfo), - ); - } - - async insertMetadataTriples(repository, triples) { - await this.tripleStoreService.queryVoid( - repository, - `PREFIX schema: <${SCHEMA_CONTEXT}> - INSERT DATA { - GRAPH { - ${triples} - } - }`, - ); - } -} - -export default TripleStoreMetadataMigration; diff --git a/src/migration/triple-store-user-configuration-migration.js b/src/migration/triple-store-user-configuration-migration.js deleted file mode 100644 index ba6f7b8646..0000000000 --- a/src/migration/triple-store-user-configuration-migration.js +++ /dev/null @@ -1,137 +0,0 @@ -import path from 'path'; -import appRootPath from 'app-root-path'; -import BaseMigration from './base-migration.js'; -import { NODE_ENVIRONMENTS } from '../constants/constants.js'; - -class TripleStoreUserConfigurationMigration extends BaseMigration { - async executeMigration() { - if ( - process.env.NODE_ENV !== NODE_ENVIRONMENTS.DEVELOPMENT && - process.env.NODE_ENV !== NODE_ENVIRONMENTS.TEST - ) { - const configurationFolderPath = path.join(appRootPath.path, '..'); - const configurationFilePath = path.join( - configurationFolderPath, - this.config.configFilename, - ); - - const userConfiguration = await this.fileService.readFile(configurationFilePath, true); - if (userConfiguration.modules.tripleStore.implementation) { - for (const implementationName in userConfiguration.modules.tripleStore - .implementation) { - const oldImplementationConfig = - userConfiguration.modules.tripleStore.implementation[implementationName] - .config; - if (oldImplementationConfig && !oldImplementationConfig.repositories) { - let { url, username, password, repository } = oldImplementationConfig; - - if (!url) { - url = - implementationName === 'ot-blazegraph' - ? 'http://localhost:9999' - : 'http://localhost:3030'; - } - - if (!username) { - username = 'admin'; - } - - if (!password) { - password = ''; - } - - if (!repository) { - if (implementationName === 'ot-blazegraph') { - repository = 'kb'; - } - if (implementationName === 'ot-fuseki') { - repository = 'node0'; - } - } - const newImplementationConfig = { - repositories: { - publicCurrent: { - url, - name: repository, - username, - password, - }, - publicHistory: { - url, - name: 'public-history', - username, - password, - }, - privateCurrent: { - url, - name: 'private-current', - username, - password, - }, - privateHistory: { - url, - name: 'private-history', - username, - password, - }, - }, - }; - - userConfiguration.modules.tripleStore.implementation[ - implementationName - ].config = newImplementationConfig; - } - } - } else { - const configurationTemplatePath = path.join( - appRootPath.path, - 'tools', - 'local-network-setup', - '.origintrail_noderc_template.json', - ); - const configurationTemplate = await this.fileService.readFile( - configurationTemplatePath, - true, - ); - - if ( - userConfiguration.modules.tripleStore.defaultImplementation === 'ot-blazegraph' - ) { - userConfiguration.modules.tripleStore.implementation = { - 'ot-blazegraph': - configurationTemplate.modules.tripleStore.implementation[ - 'ot-blazegraph' - ], - }; - configurationTemplate.modules.tripleStore.implementation[ - 'ot-blazegraph' - ].enabled = true; - configurationTemplate.modules.tripleStore.implementation[ - 'ot-blazegraph' - ].config.repositories.publicCurrent.name = 'kb'; - } else if ( - userConfiguration.modules.tripleStore.defaultImplementation === 'ot-fuseki' - ) { - userConfiguration.modules.tripleStore.implementation = { - 'ot-fuseki': - configurationTemplate.modules.tripleStore.implementation['ot-fuseki'], - }; - configurationTemplate.modules.tripleStore.implementation[ - 'ot-fuseki' - ].enabled = true; - configurationTemplate.modules.tripleStore.implementation[ - 'ot-fuseki' - ].config.repositories.publicCurrent.name = 'node0'; - } - } - delete userConfiguration.modules.tripleStore.defaultImplementation; - await this.fileService.writeContentsToFile( - configurationFolderPath, - this.config.configFilename, - JSON.stringify(userConfiguration, null, 4), - ); - } - } -} - -export default TripleStoreUserConfigurationMigration; diff --git a/src/migration/ual-extension-triple-store-migration.js b/src/migration/ual-extension-triple-store-migration.js deleted file mode 100644 index 4709c6133b..0000000000 --- a/src/migration/ual-extension-triple-store-migration.js +++ /dev/null @@ -1,95 +0,0 @@ -/* eslint-disable no-await-in-loop */ -import BaseMigration from './base-migration.js'; -import { TRIPLE_STORE_REPOSITORIES } from '../constants/constants.js'; - -const CHAIN_IDS = { - development: 31337, - test: 31337, - devnet: 2160, - testnet: 20430, - mainnet: 2043, -}; -const chainId = CHAIN_IDS[process.env.NODE_ENV]; - -class UalExtensionTripleStoreMigration extends BaseMigration { - constructor(migrationName, logger, config, tripleStoreService) { - super(migrationName, logger, config); - this.tripleStoreService = tripleStoreService; - } - - async executeMigration() { - const oldBlockchainId = this.getOldBlockchainId(); - const newBlockchainId = `${oldBlockchainId}:${chainId}`; - - const chunkSize = 10000; - - for (const repository in TRIPLE_STORE_REPOSITORIES) { - const getUalListQuery = ` - PREFIX schema: - SELECT DISTINCT ?subject ?object - WHERE { - ?subject schema:assertion ?object . - }`; - - const ualList = await this.tripleStoreService.select( - TRIPLE_STORE_REPOSITORIES[repository], - getUalListQuery, - ); - - this.logger.info( - `Ual extension triple store migration: found ${ualList.length} distinct UALs in ${repository}`, - ); - const subjectsSet = new Set(ualList.map((item) => item.subject)); - const newTriples = []; - for (const { subject: ual, object: assertionId } of ualList) { - if (assertionId.startsWith('assertion:')) { - let newUal; - if (ual.includes(newBlockchainId)) { - newUal = ual.replace(newBlockchainId, oldBlockchainId); - } else { - newUal = ual.replace(oldBlockchainId, newBlockchainId); - } - if (!subjectsSet.has(newUal)) { - newTriples.push(`<${newUal}> schema:assertion <${assertionId}>`); - } - } - } - - while (newTriples.length) { - const triplesForInsert = newTriples.splice(0, chunkSize); - const insertQuery = ` - PREFIX schema: - INSERT DATA { - GRAPH { - ${triplesForInsert.join(' .\n')} - } - }`; - await this.tripleStoreService.queryVoid( - TRIPLE_STORE_REPOSITORIES[repository], - insertQuery, - ); - this.logger.info( - `Inserted ${triplesForInsert.length} triples, left for insert: ${newTriples.length} repository: ${repository}`, - ); - } - this.logger.info(`Finished processing of UALs in repository: ${repository}`); - } - } - - getOldBlockchainId() { - let oldBlockchainId; - if (this.config.modules.blockchain.implementation) { - for (const implementationName in this.config.modules.blockchain.implementation) { - if (this.config.modules.blockchain.implementation[implementationName].enabled) { - oldBlockchainId = implementationName; - } - } - } - if (!oldBlockchainId) { - throw Error('Unable to find old blockchain id in configuration'); - } - return oldBlockchainId.split(':')[0]; - } -} - -export default UalExtensionTripleStoreMigration; diff --git a/src/migration/ual-extension-user-configuration-migration.js b/src/migration/ual-extension-user-configuration-migration.js deleted file mode 100644 index 5d0c74f570..0000000000 --- a/src/migration/ual-extension-user-configuration-migration.js +++ /dev/null @@ -1,71 +0,0 @@ -import appRootPath from 'app-root-path'; -import path from 'path'; -import BaseMigration from './base-migration.js'; - -const CHAIN_IDS = { - development: 31337, - test: 31337, - devnet: 2160, - testnet: 20430, - mainnet: 2043, -}; -const chainId = CHAIN_IDS[process.env.NODE_ENV]; - -class UalExtensionUserConfigurationMigration extends BaseMigration { - constructor(migrationName, logger, config, repositoryModuleManager) { - super(migrationName, logger, config); - this.repositoryModuleManager = repositoryModuleManager; - } - - async executeMigration() { - const configurationFolderPath = path.join(appRootPath.path, '..'); - const configurationFilePath = path.join( - configurationFolderPath, - this.config.configFilename, - ); - - const userConfiguration = await this.fileService.readFile(configurationFilePath, true); - - const oldBlockchainId = this.getOldBlockchainId(userConfiguration); - - if (this.blockchainIdInNewFormat(oldBlockchainId)) { - this.logger.info( - 'Blockchain id in user configuration already updated to be in new format, migration will be skipped', - ); - return null; - } - - const newBlockchainId = `${oldBlockchainId}:${chainId}`; - userConfiguration.modules.blockchain.defaultImplementation = newBlockchainId; - userConfiguration.modules.blockchain.implementation[newBlockchainId] = - userConfiguration.modules.blockchain.implementation[oldBlockchainId]; - userConfiguration.modules.blockchain.implementation[newBlockchainId].enabled = true; - delete userConfiguration.modules.blockchain.implementation[oldBlockchainId]; - await this.fileService.writeContentsToFile( - configurationFolderPath, - this.config.configFilename, - JSON.stringify(userConfiguration, null, 4), - ); - } - - blockchainIdInNewFormat(blockchainId) { - return blockchainId.includes(':'); - } - - getOldBlockchainId(userConfiguration) { - let oldBlockchainId; - if (userConfiguration.modules.blockchain.implementation) { - for (const implementationName in userConfiguration.modules.blockchain.implementation) { - if (implementationName.includes('otp')) { - oldBlockchainId = implementationName; - } - } - } - if (!oldBlockchainId) { - throw Error('Unable to find old blockchain id in user configuration'); - } - return oldBlockchainId; - } -} - -export default UalExtensionUserConfigurationMigration; diff --git a/src/modules/blockchain-events/blockchain-events-module-manager.js b/src/modules/blockchain-events/blockchain-events-module-manager.js new file mode 100644 index 0000000000..4ddc821eb9 --- /dev/null +++ b/src/modules/blockchain-events/blockchain-events-module-manager.js @@ -0,0 +1,55 @@ +import BaseModuleManager from '../base-module-manager.js'; + +class BlockchainEventsModuleManager extends BaseModuleManager { + getContractAddress(implementationName, blockchain, contractName) { + if (this.getImplementation(implementationName)) { + return this.getImplementation(implementationName).module.getContractAddress( + blockchain, + contractName, + ); + } + } + + updateContractAddress(implementationName, blockchain, contractName, contractAddress) { + if (this.getImplementation(implementationName)) { + return this.getImplementation(implementationName).module.updateContractAddress( + blockchain, + contractName, + contractAddress, + ); + } + } + + async getBlock(implementationName, blockchain, tag) { + if (this.getImplementation(implementationName)) { + return this.getImplementation(implementationName).module.getBlock(blockchain, tag); + } + } + + async getPastEvents( + implementationName, + blockchain, + contractNames, + eventsToFilter, + lastCheckedBlock, + lastCheckedTimestamp, + currentBlock, + ) { + if (this.getImplementation(implementationName)) { + return this.getImplementation(implementationName).module.getPastEvents( + blockchain, + contractNames, + eventsToFilter, + lastCheckedBlock, + lastCheckedTimestamp, + currentBlock, + ); + } + } + + getName() { + return 'blockchainEvents'; + } +} + +export default BlockchainEventsModuleManager; diff --git a/src/modules/blockchain-events/implementation/blockchain-events-service.js b/src/modules/blockchain-events/implementation/blockchain-events-service.js new file mode 100644 index 0000000000..a0a3cb3a10 --- /dev/null +++ b/src/modules/blockchain-events/implementation/blockchain-events-service.js @@ -0,0 +1,24 @@ +class BlockchainEventsService { + async initialize(config, logger) { + this.logger = logger; + this.config = config; + } + + getContractAddress() { + throw Error('getContractAddress not implemented'); + } + + updateContractAddress() { + throw Error('updateContractAddress not implemented'); + } + + async getBlock() { + throw Error('getBlock not implemented'); + } + + async getPastEvents() { + throw Error('getPastEvents not implemented'); + } +} + +export default BlockchainEventsService; diff --git a/src/modules/blockchain-events/implementation/ot-ethers/ot-ethers.js b/src/modules/blockchain-events/implementation/ot-ethers/ot-ethers.js new file mode 100644 index 0000000000..ca40db5424 --- /dev/null +++ b/src/modules/blockchain-events/implementation/ot-ethers/ot-ethers.js @@ -0,0 +1,253 @@ +/* eslint-disable no-await-in-loop */ +import { ethers } from 'ethers'; +import BlockchainEventsService from '../blockchain-events-service.js'; + +import { + MAXIMUM_NUMBERS_OF_BLOCKS_TO_FETCH, + MAX_BLOCKCHAIN_EVENT_SYNC_OF_HISTORICAL_BLOCKS_IN_MILLS, + NODE_ENVIRONMENTS, + ABIs, + MONITORED_CONTRACTS, +} from '../../../../constants/constants.js'; + +class OtEthers extends BlockchainEventsService { + async initialize(config, logger) { + await super.initialize(config, logger); + this.contractCallCache = {}; + await this._initializeRpcProviders(); + await this._initializeContracts(); + } + + async _initializeRpcProviders() { + this.providers = {}; + for (const blockchain of this.config.blockchains) { + const validProviders = []; + for (const rpcEndpoint of this.config.rpcEndpoints[blockchain]) { + try { + const provider = new ethers.providers.JsonRpcProvider(rpcEndpoint); + + // eslint-disable-next-line no-await-in-loop + await provider.getNetwork(); + + let isArchiveNode = false; + try { + // eslint-disable-next-line no-await-in-loop + const block = await provider.getBlock(1); + if (block) { + isArchiveNode = true; + } + } catch (error) { + this.logger.warn(`RPC ${rpcEndpoint} is not an archive node.`); + } + + if (isArchiveNode) { + validProviders.push(provider); + this.logger.info(`Connected to archive node: ${rpcEndpoint}`); + } else { + this.logger.warn(`Skipping non-archive node: ${rpcEndpoint}`); + } + } catch (error) { + this.logger.error( + `Failed to initialize provider: ${rpcEndpoint}. Error: ${error.message}`, + ); + } + } + + if (validProviders.length === 0) { + throw new Error(`No valid providers found for blockchain: ${blockchain}`); + } + + this.providers[blockchain] = validProviders; + this.logger.info( + `Initialized ${validProviders.length} valid providers for blockchain: ${blockchain}`, + ); + } + } + + _getRandomProvider(blockchain) { + const blockchainProviders = this.providers[blockchain]; + if (!blockchainProviders || blockchainProviders.length === 0) { + throw new Error(`No providers available for blockchain: ${blockchain}`); + } + const randomIndex = Math.floor(Math.random() * blockchainProviders.length); + return blockchainProviders[randomIndex]; + } + + async _initializeContracts() { + this.contracts = {}; + + for (const blockchain of this.config.blockchains) { + this.contracts[blockchain] = {}; + + this.logger.info( + `Initializing contracts with hub contract address: ${this.config.hubContractAddress[blockchain]}`, + ); + this.contracts[blockchain].Hub = this.config.hubContractAddress[blockchain]; + + const provider = this._getRandomProvider(blockchain); + const hubContract = new ethers.Contract( + this.config.hubContractAddress[blockchain], + ABIs.Hub, + provider, + ); + + const contractsAray = await hubContract.getAllContracts(); + const assetStoragesArray = await hubContract.getAllAssetStorages(); + + const allContracts = [...contractsAray, ...assetStoragesArray]; + + for (const [contractName, contractAddress] of allContracts) { + if (MONITORED_CONTRACTS.includes(contractName) && ABIs[contractName] != null) { + this.contracts[blockchain][contractName] = contractAddress; + } + } + } + } + + getContractAddress(blockchain, contractName) { + return this.contracts[blockchain][contractName]; + } + + updateContractAddress(blockchain, contractName, contractAddress) { + this.contracts[blockchain][contractName] = contractAddress; + } + + async getBlock(blockchain, tag) { + const provider = this._getRandomProvider(blockchain); + return provider.getBlock(tag); + } + + async getPastEvents(blockchain, contractNames, eventsToFilter, lastCheckedBlock, currentBlock) { + const maxBlocksToSync = await this._getMaxNumberOfHistoricalBlocksForSync(blockchain); + let fromBlock = + currentBlock - lastCheckedBlock > maxBlocksToSync ? currentBlock : lastCheckedBlock + 1; + const eventsMissed = currentBlock - lastCheckedBlock > maxBlocksToSync; + + if (eventsMissed) { + return { + events: [], + lastCheckedBlock: currentBlock, + eventsMissed, + }; + } + + const contractAddresses = []; + const topics = []; + const addressToContractNameMap = {}; + + for (const contractName of contractNames) { + const contractAddress = this.contracts[blockchain][contractName]; + + if (!contractAddress) { + continue; + } + + const provider = this._getRandomProvider(blockchain); + const contract = new ethers.Contract(contractAddress, ABIs[contractName], provider); + const contractTopics = []; + for (const filterName in contract.filters) { + if (!eventsToFilter.includes(filterName)) { + continue; + } + const filter = contract.filters[filterName]().topics[0]; + contractTopics.push(filter); + } + + if (contractTopics.length > 0) { + contractAddresses.push(contract.address); + topics.push(...contractTopics); + addressToContractNameMap[contract.address.toLowerCase()] = contractName; + } + } + + const events = []; + let toBlock = currentBlock; + try { + while (fromBlock <= currentBlock) { + toBlock = Math.min( + fromBlock + MAXIMUM_NUMBERS_OF_BLOCKS_TO_FETCH - 1, + currentBlock, + ); + const provider = this._getRandomProvider(blockchain); + const newLogs = await provider.send('eth_getLogs', [ + { + address: contractAddresses, + fromBlock: ethers.BigNumber.from(fromBlock).toHexString(), + toBlock: ethers.BigNumber.from(toBlock).toHexString(), + topics: [topics], + }, + ]); + + for (const log of newLogs) { + const contractName = addressToContractNameMap[log.address]; + const contractInterface = new ethers.utils.Interface(ABIs[contractName]); + + try { + const parsedLog = contractInterface.parseLog(log); + events.push({ + blockchain, + contract: contractName, + contractAddress: log.address, + event: parsedLog.name, + data: JSON.stringify( + Object.fromEntries( + Object.entries(parsedLog.args).map(([k, v]) => [ + k, + ethers.BigNumber.isBigNumber(v) ? v.toString() : v, + ]), + ), + ), + blockNumber: parseInt(log.blockNumber, 16), + transactionIndex: parseInt(log.transactionIndex, 16), + logIndex: parseInt(log.logIndex, 16), + }); + } catch (error) { + this.logger.warn( + `Failed to parse log for contract: ${contractName}. Error: ${error.message}`, + ); + } + } + + fromBlock = toBlock + 1; + } + } catch (error) { + this.logger.warn( + `Unable to process block range from: ${fromBlock} to: ${toBlock} on blockchain: ${blockchain}. Error: ${error.message}`, + ); + } + + return { + events, + eventsMissed, + }; + } + + async _getMaxNumberOfHistoricalBlocksForSync(blockchain) { + if (!this.maxNumberOfHistoricalBlocksForSync) { + if ( + [NODE_ENVIRONMENTS.DEVELOPMENT, NODE_ENVIRONMENTS.TEST].includes( + process.env.NODE_ENV, + ) + ) { + this.maxNumberOfHistoricalBlocksForSync = Infinity; + } else { + const blockTimeMillis = await this._getBlockTimeMillis(blockchain); + + this.maxNumberOfHistoricalBlocksForSync = Math.round( + MAX_BLOCKCHAIN_EVENT_SYNC_OF_HISTORICAL_BLOCKS_IN_MILLS / blockTimeMillis, + ); + } + } + return this.maxNumberOfHistoricalBlocksForSync; + } + + async _getBlockTimeMillis(blockchain, blockRange = 1000) { + const latestBlock = await this.getBlock(blockchain); + const olderBlock = await this.getBlock(blockchain, latestBlock.number - blockRange); + + const timeDiffMillis = (latestBlock.timestamp - olderBlock.timestamp) * 1000; + return timeDiffMillis / blockRange; + } +} + +export default OtEthers; diff --git a/src/modules/blockchain/blockchain-module-manager.js b/src/modules/blockchain/blockchain-module-manager.js index 5cc5c10911..3454c4302f 100644 --- a/src/modules/blockchain/blockchain-module-manager.js +++ b/src/modules/blockchain/blockchain-module-manager.js @@ -32,6 +32,10 @@ class BlockchainModuleManager extends BaseModuleManager { ]); } + getContractAddress(blockchain, contractName) { + return this.callImplementationFunction(blockchain, 'getContractAddress', [contractName]); + } + setContractCallCache(blockchain, contractName, functionName, value) { return this.callImplementationFunction(blockchain, 'setContractCallCache', [ contractName, @@ -157,28 +161,6 @@ class BlockchainModuleManager extends BaseModuleManager { ]); } - async getTransaction(blockchain, transactionHash) { - return this.callImplementationFunction(blockchain, 'getTransaction', [transactionHash]); - } - - async getAllPastEvents( - blockchain, - contractName, - eventsToFilter, - lastCheckedBlock, - lastCheckedTimestamp, - currentBlock, - ) { - return this.callImplementationFunction(blockchain, 'getAllPastEvents', [ - blockchain, - contractName, - eventsToFilter, - lastCheckedBlock, - lastCheckedTimestamp, - currentBlock, - ]); - } - toBigNumber(blockchain, value) { return this.callImplementationFunction(blockchain, 'toBigNumber', [value]); } @@ -449,10 +431,6 @@ class BlockchainModuleManager extends BaseModuleManager { return this.callImplementationFunction(blockchain, 'getBlockchainTimestamp'); } - getBlockTimeMillis(blockchain) { - return this.callImplementationFunction(blockchain, 'getBlockTimeMillis'); - } - async hasPendingUpdate(blockchain, tokenId) { return this.callImplementationFunction(blockchain, 'hasPendingUpdate', [tokenId]); } diff --git a/src/modules/blockchain/implementation/base/base-service.js b/src/modules/blockchain/implementation/base/base-service.js index c6dd518cdd..2bd71d9482 100644 --- a/src/modules/blockchain/implementation/base/base-service.js +++ b/src/modules/blockchain/implementation/base/base-service.js @@ -1,5 +1,4 @@ import Web3Service from '../web3-service.js'; -import { BLOCK_TIME_MILLIS } from '../../../../constants/constants.js'; class BaseService extends Web3Service { constructor(ctx) { @@ -9,10 +8,6 @@ class BaseService extends Web3Service { this.tracTicker = 'TRAC'; } - getBlockTimeMillis() { - return BLOCK_TIME_MILLIS.BASE; - } - async getGasPrice() { return this.provider.getGasPrice(); } diff --git a/src/modules/blockchain/implementation/gnosis/gnosis-service.js b/src/modules/blockchain/implementation/gnosis/gnosis-service.js index 5a83949d5b..7b76d2d102 100644 --- a/src/modules/blockchain/implementation/gnosis/gnosis-service.js +++ b/src/modules/blockchain/implementation/gnosis/gnosis-service.js @@ -1,10 +1,6 @@ import axios from 'axios'; import Web3Service from '../web3-service.js'; -import { - BLOCK_TIME_MILLIS, - GNOSIS_DEFAULT_GAS_PRICE, - NODE_ENVIRONMENTS, -} from '../../../../constants/constants.js'; +import { GNOSIS_DEFAULT_GAS_PRICE, NODE_ENVIRONMENTS } from '../../../../constants/constants.js'; class GnosisService extends Web3Service { constructor(ctx) { @@ -21,10 +17,6 @@ class GnosisService extends Web3Service { ); } - getBlockTimeMillis() { - return BLOCK_TIME_MILLIS.GNOSIS; - } - async getGasPrice() { let gasPrice; diff --git a/src/modules/blockchain/implementation/hardhat/hardhat-service.js b/src/modules/blockchain/implementation/hardhat/hardhat-service.js index 5a89c03a27..e8e430daeb 100644 --- a/src/modules/blockchain/implementation/hardhat/hardhat-service.js +++ b/src/modules/blockchain/implementation/hardhat/hardhat-service.js @@ -1,4 +1,3 @@ -import { BLOCK_TIME_MILLIS } from '../../../../constants/constants.js'; import Web3Service from '../web3-service.js'; class HardhatService extends Web3Service { @@ -13,10 +12,6 @@ class HardhatService extends Web3Service { return latestBlock.timestamp; } - getBlockTimeMillis() { - return BLOCK_TIME_MILLIS.HARDHAT; - } - async providerReady() { return this.provider.ready; } diff --git a/src/modules/blockchain/implementation/ot-parachain/ot-parachain-service.js b/src/modules/blockchain/implementation/ot-parachain/ot-parachain-service.js index 9f4e15e51f..d702c73059 100644 --- a/src/modules/blockchain/implementation/ot-parachain/ot-parachain-service.js +++ b/src/modules/blockchain/implementation/ot-parachain/ot-parachain-service.js @@ -1,10 +1,6 @@ import { ApiPromise, WsProvider, HttpProvider } from '@polkadot/api'; import { ethers } from 'ethers'; -import { - BLOCK_TIME_MILLIS, - NEURO_DEFAULT_GAS_PRICE, - NODE_ENVIRONMENTS, -} from '../../../../constants/constants.js'; +import { NEURO_DEFAULT_GAS_PRICE, NODE_ENVIRONMENTS } from '../../../../constants/constants.js'; import Web3Service from '../web3-service.js'; const NATIVE_TOKEN_DECIMALS = 12; @@ -174,10 +170,6 @@ class OtParachainService extends Web3Service { return nativeBalance / 10 ** NATIVE_TOKEN_DECIMALS; } - getBlockTimeMillis() { - return BLOCK_TIME_MILLIS.OTP; - } - getValidOperationalWallets() { const wallets = []; this.config.operationalWallets.forEach((wallet) => { diff --git a/src/modules/blockchain/implementation/web3-service.js b/src/modules/blockchain/implementation/web3-service.js index d86bfab1ac..76acbb1b90 100644 --- a/src/modules/blockchain/implementation/web3-service.js +++ b/src/modules/blockchain/implementation/web3-service.js @@ -3,18 +3,15 @@ import { ethers, BigNumber } from 'ethers'; import axios from 'axios'; import async from 'async'; import { setTimeout as sleep } from 'timers/promises'; -import { createRequire } from 'module'; import { SOLIDITY_ERROR_STRING_PREFIX, SOLIDITY_PANIC_CODE_PREFIX, SOLIDITY_PANIC_REASONS, ZERO_PREFIX, - MAXIMUM_NUMBERS_OF_BLOCKS_TO_FETCH, TRANSACTION_QUEUE_CONCURRENCY, TRANSACTION_POLLING_TIMEOUT_MILLIS, TRANSACTION_CONFIRMATIONS, - BLOCK_TIME_MILLIS, WS_RPC_PROVIDER_PRIORITY, HTTP_RPC_PROVIDER_PRIORITY, FALLBACK_PROVIDER_QUORUM, @@ -25,41 +22,10 @@ import { CONTRACT_FUNCTION_PRIORITY, TRANSACTION_PRIORITY, CONTRACT_FUNCTION_GAS_LIMIT_INCREASE_FACTORS, - MAX_BLOCKCHAIN_EVENT_SYNC_OF_HISTORICAL_BLOCKS_IN_MILLS, + ABIs, } from '../../../constants/constants.js'; import Web3ServiceValidator from './web3-service-validator.js'; -const require = createRequire(import.meta.url); - -const ABIs = { - ContentAsset: require('dkg-evm-module/abi/ContentAsset.json'), - ContentAssetStorage: require('dkg-evm-module/abi/ContentAssetStorageV2.json'), - AssertionStorage: require('dkg-evm-module/abi/AssertionStorage.json'), - Staking: require('dkg-evm-module/abi/Staking.json'), - StakingStorage: require('dkg-evm-module/abi/StakingStorage.json'), - Token: require('dkg-evm-module/abi/Token.json'), - HashingProxy: require('dkg-evm-module/abi/HashingProxy.json'), - Hub: require('dkg-evm-module/abi/Hub.json'), - IdentityStorage: require('dkg-evm-module/abi/IdentityStorage.json'), - Log2PLDSF: require('dkg-evm-module/abi/Log2PLDSF.json'), - ParametersStorage: require('dkg-evm-module/abi/ParametersStorage.json'), - Profile: require('dkg-evm-module/abi/Profile.json'), - ProfileStorage: require('dkg-evm-module/abi/ProfileStorage.json'), - ScoringProxy: require('dkg-evm-module/abi/ScoringProxy.json'), - ServiceAgreementV1: require('dkg-evm-module/abi/ServiceAgreementV1.json'), - CommitManagerV1: require('dkg-evm-module/abi/CommitManagerV2.json'), - CommitManagerV1U1: require('dkg-evm-module/abi/CommitManagerV2U1.json'), - ProofManagerV1: require('dkg-evm-module/abi/ProofManagerV1.json'), - ProofManagerV1U1: require('dkg-evm-module/abi/ProofManagerV1U1.json'), - ShardingTable: require('dkg-evm-module/abi/ShardingTableV2.json'), - ShardingTableStorage: require('dkg-evm-module/abi/ShardingTableStorageV2.json'), - ServiceAgreementStorageProxy: require('dkg-evm-module/abi/ServiceAgreementStorageProxy.json'), - UnfinalizedStateStorage: require('dkg-evm-module/abi/UnfinalizedStateStorage.json'), - LinearSum: require('dkg-evm-module/abi/LinearSum.json'), - ParanetsRegistry: require('dkg-evm-module/abi/ParanetsRegistry.json'), - ParanetKnowledgeAssetsRegistry: require('dkg-evm-module/abi/ParanetKnowledgeAssetsRegistry.json'), -}; - const SCORING_FUNCTIONS = { 1: 'Log2PLDSF', 2: 'LinearSum', @@ -72,7 +38,6 @@ class Web3Service { this.contractCallCache = {}; await this.initializeWeb3(); this.initializeTransactionQueues(); - this.startBlock = await this.getBlockNumber(); await this.initializeContracts(); this.initializeProviderDebugging(); @@ -81,7 +46,7 @@ class Web3Service { initializeTransactionQueues(concurrency = TRANSACTION_QUEUE_CONCURRENCY) { this.transactionQueues = {}; for (const operationalWallet of this.operationalWallets) { - const transactionQueue = async.queue((args, cb) => { + const transactionQueue = async.priorityQueue((args, cb) => { const { contractInstance, functionName, transactionArgs, gasPrice } = args; this._executeContractFunction( contractInstance, @@ -104,33 +69,18 @@ class Web3Service { queueTransaction(contractInstance, functionName, transactionArgs, callback, gasPrice) { const selectedQueue = this.selectTransactionQueue(); - const priority = CONTRACT_FUNCTION_PRIORITY[functionName] ?? TRANSACTION_PRIORITY.REGULAR; + const priority = CONTRACT_FUNCTION_PRIORITY[functionName] ?? TRANSACTION_PRIORITY.MEDIUM; this.logger.info(`Calling ${functionName} with priority: ${priority}`); - switch (priority) { - case TRANSACTION_PRIORITY.HIGH: - selectedQueue.unshift( - { - contractInstance, - functionName, - transactionArgs, - gasPrice, - }, - callback, - ); - break; - case TRANSACTION_PRIORITY.REGULAR: - default: - selectedQueue.push( - { - contractInstance, - functionName, - transactionArgs, - gasPrice, - }, - callback, - ); - break; - } + selectedQueue.push( + { + contractInstance, + functionName, + transactionArgs, + gasPrice, + }, + priority, + callback, + ); } removeTransactionQueue(walletAddress) { @@ -216,6 +166,7 @@ class Web3Service { }); } else { this.logger.warn(`${rpcEndpoint} RPC is not an Archive Node, skipping...`); + continue; } this.logger.debug( @@ -250,25 +201,22 @@ class Web3Service { } } - getABIs() { - return ABIs; - } - async initializeContracts() { + this.contracts = {}; this.contractAddresses = {}; this.logger.info( `Initializing contracts with hub contract address: ${this.config.hubContractAddress}`, ); - this.HubContract = new ethers.Contract( + this.contracts.Hub = new ethers.Contract( this.config.hubContractAddress, - this.getABIs().Hub, + ABIs.Hub, this.operationalWallets[0], ); - this.contractAddresses[this.config.hubContractAddress] = this.HubContract; + this.contractAddresses[this.config.hubContractAddress] = this.contracts.Hub; const contractsArray = await this.callContractFunction( - this.HubContract, + this.contracts.Hub, 'getAllContracts', [], ); @@ -279,7 +227,7 @@ class Web3Service { this.scoringFunctionsContracts = {}; const scoringFunctionsArray = await this.callContractFunction( - this.ScoringProxyContract, + this.contracts.ScoringProxy, 'getAllScoreFunctions', [], ); @@ -289,7 +237,7 @@ class Web3Service { this.assetStorageContracts = {}; const assetStoragesArray = await this.callContractFunction( - this.HubContract, + this.contracts.Hub, 'getAllAssetStorages', [], ); @@ -369,7 +317,7 @@ class Web3Service { initializeAssetStorageContract(assetStorageAddress) { this.assetStorageContracts[assetStorageAddress.toLowerCase()] = new ethers.Contract( assetStorageAddress, - this.getABIs().ContentAssetStorage, + ABIs.ContentAssetStorage, this.operationalWallets[0], ); this.contractAddresses[assetStorageAddress] = @@ -379,17 +327,13 @@ class Web3Service { initializeScoringContract(id, contractAddress) { const contractName = SCORING_FUNCTIONS[id]; - if (this.getABIs()[contractName] != null) { + if (ABIs[contractName] != null) { this.scoringFunctionsContracts[id] = new ethers.Contract( contractAddress, - this.getABIs()[contractName], + ABIs[contractName], this.operationalWallets[0], ); this.contractAddresses[contractAddress] = this.scoringFunctionsContracts[id]; - } else { - this.logger.trace( - `Skipping initialisation of contract with id: ${id}, address: ${contractAddress}`, - ); } } @@ -420,18 +364,24 @@ class Web3Service { } initializeContract(contractName, contractAddress) { - if (this.getABIs()[contractName] != null) { - this[`${contractName}Contract`] = new ethers.Contract( + if (ABIs[contractName] != null) { + this.contracts[contractName] = new ethers.Contract( contractAddress, - this.getABIs()[contractName], + ABIs[contractName], this.operationalWallets[0], ); - this.contractAddresses[contractAddress] = this[`${contractName}Contract`]; - } else { - this.logger.trace( - `Skipping initialisation of contract: ${contractName}, address: ${contractAddress}`, - ); + this.contractAddresses[contractAddress] = this.contracts[contractName]; + } + } + + getContractAddress(contractName) { + const contract = this.contracts[contractName]; + + if (!contract) { + return null; } + + return contract.address; } async providerReady() { @@ -464,7 +414,7 @@ class Web3Service { } async getTokenBalance(publicKey) { - const tokenBalance = await this.callContractFunction(this.TokenContract, 'balanceOf', [ + const tokenBalance = await this.callContractFunction(this.contracts.Token, 'balanceOf', [ publicKey, ]); return Number(ethers.utils.formatEther(tokenBalance)); @@ -475,10 +425,6 @@ class Web3Service { return latestBlock.number; } - getBlockTimeMillis() { - return BLOCK_TIME_MILLIS.DEFAULT; - } - async getIdentityId() { if (this.identityId) { return this.identityId; @@ -486,10 +432,10 @@ class Web3Service { const promises = this.operationalWallets.map((wallet) => this.callContractFunction( - this.IdentityStorageContract, + this.contracts.IdentityStorage, 'getIdentityId', [wallet.address], - CONTRACTS.IDENTITY_STORAGE_CONTRACT, + CONTRACTS.IDENTITY_STORAGE, ).then((identityId) => [wallet.address, Number(identityId)]), ); const results = await Promise.all(promises); @@ -564,7 +510,7 @@ class Web3Service { try { // eslint-disable-next-line no-await-in-loop await this._executeContractFunction( - this.ProfileContract, + this.contracts.Profile, 'createProfile', [ this.getManagementKey(), @@ -930,134 +876,27 @@ class Web3Service { return value.toString(); } - async getTransaction(transactionHash) { - return this.provider.getTransaction(transactionHash); - } - - async getAllPastEvents( - blockchainId, - contractName, - eventsToFilter, - lastCheckedBlock, - lastCheckedTimestamp, - currentBlock, - ) { - const contract = this[contractName]; - if (!contract) { - // this will happen when we have different set of contracts on different blockchains - // eg LinearSum contract is available on gnosis but not on NeuroWeb, so the node should not fetch events - // from LinearSum contract on NeuroWeb blockchain - return { - events: [], - lastCheckedBlock: currentBlock, - eventsMissed: false, - }; - } - - let fromBlock; - let eventsMissed = false; - if (this.startBlock - lastCheckedBlock > this.getMaxNumberOfHistoricalBlocksForSync()) { - fromBlock = this.startBlock; - eventsMissed = true; - } else { - fromBlock = lastCheckedBlock + 1; - } - - const topics = []; - for (const filterName in contract.filters) { - if (!eventsToFilter.includes(filterName)) { - continue; - } - const filter = contract.filters[filterName]().topics[0]; - topics.push(filter); - } - - const events = []; - let toBlock = currentBlock; - try { - while (fromBlock <= currentBlock) { - toBlock = Math.min( - fromBlock + MAXIMUM_NUMBERS_OF_BLOCKS_TO_FETCH - 1, - currentBlock, - ); - const newEvents = await this.processBlockRange( - fromBlock, - toBlock, - contract, - topics, - ); - newEvents.forEach((e) => events.push(...e)); - fromBlock = toBlock + 1; - } - } catch (error) { - this.logger.warn( - `Unable to process block range from: ${fromBlock} to: ${toBlock} for contract ${contractName} on blockchain: ${blockchainId}. Error: ${error.message}`, - ); - } - - return { - events: events.map((event) => ({ - contract: contractName, - event: event.event, - data: JSON.stringify( - Object.fromEntries( - Object.entries(event.args).map(([k, v]) => [ - k, - ethers.BigNumber.isBigNumber(v) ? v.toString() : v, - ]), - ), - ), - block: event.blockNumber, - blockchainId, - })), - lastCheckedBlock: toBlock, - eventsMissed, - }; - } - - getMaxNumberOfHistoricalBlocksForSync() { - if (!this.maxNumberOfHistoricalBlocksForSync) { - this.maxNumberOfHistoricalBlocksForSync = Math.round( - MAX_BLOCKCHAIN_EVENT_SYNC_OF_HISTORICAL_BLOCKS_IN_MILLS / this.getBlockTimeMillis(), - ); - } - return this.maxNumberOfHistoricalBlocksForSync; - } - - async processBlockRange(fromBlock, toBlock, contract, topics) { - const newEvents = await Promise.all( - topics.map((topic) => contract.queryFilter(topic, fromBlock, toBlock)), - ); - return newEvents; - } - - isOlderThan(timestamp, olderThanInMills) { - if (!timestamp) return true; - const timestampThirtyDaysInPast = new Date().getTime() - olderThanInMills; - return timestamp < timestampThirtyDaysInPast; - } - async isAssetStorageContract(contractAddress) { - return this.callContractFunction(this.HubContract, 'isAssetStorage(address)', [ + return this.callContractFunction(this.contracts.Hub, 'isAssetStorage(address)', [ contractAddress, ]); } async getMinProofWindowOffsetPerc() { return this.callContractFunction( - this.ParametersStorageContract, + this.contracts.ParametersStorage, 'minProofWindowOffsetPerc', [], - CONTRACTS.PARAMETERS_STORAGE_CONTRACT, + CONTRACTS.PARAMETERS_STORAGE, ); } async getMaxProofWindowOffsetPerc() { return this.callContractFunction( - this.ParametersStorageContract, + this.contracts.ParametersStorage, 'maxProofWindowOffsetPerc', [], - CONTRACTS.PARAMETERS_STORAGE_CONTRACT, + CONTRACTS.PARAMETERS_STORAGE, ); } @@ -1136,7 +975,7 @@ class Web3Service { async getUnfinalizedState(tokenId) { return this.callContractFunction( - this.UnfinalizedStateStorageContract, + this.contracts.UnfinalizedStateStorage, 'getUnfinalizedState', [tokenId], ); @@ -1144,7 +983,7 @@ class Web3Service { async getAgreementData(agreementId) { const result = await this.callContractFunction( - this.ServiceAgreementStorageProxyContract, + this.contracts.ServiceAgreementStorageProxy, 'getAgreementData', [agreementId], ); @@ -1164,7 +1003,7 @@ class Web3Service { async getAssertionSize(assertionId) { const assertionSize = await this.callContractFunction( - this.AssertionStorageContract, + this.contracts.AssertionStorage, 'getAssertionSize', [assertionId], ); @@ -1173,7 +1012,7 @@ class Web3Service { async getAssertionTriplesNumber(assertionId) { const assertionTriplesNumber = await this.callContractFunction( - this.AssertionStorageContract, + this.contracts.AssertionStorage, 'getAssertionTriplesNumber', [assertionId], ); @@ -1182,7 +1021,7 @@ class Web3Service { async getAssertionChunksNumber(assertionId) { const assertionChunksNumber = await this.callContractFunction( - this.AssertionStorageContract, + this.contracts.AssertionStorage, 'getAssertionChunksNumber', [assertionId], ); @@ -1191,7 +1030,7 @@ class Web3Service { async getAssertionData(assertionId) { const assertionData = await this.callContractFunction( - this.AssertionStorageContract, + this.contracts.AssertionStorage, 'getAssertion', [assertionId], ); @@ -1205,8 +1044,8 @@ class Web3Service { selectCommitManagerContract(latestStateIndex) { return latestStateIndex === 0 - ? this.CommitManagerV1Contract - : this.CommitManagerV1U1Contract; + ? this.contracts.CommitManagerV1 + : this.contracts.CommitManagerV1U1; } async isCommitWindowOpen(agreementId, epoch, latestStateIndex) { @@ -1219,7 +1058,7 @@ class Web3Service { async isUpdateCommitWindowOpen(agreementId, epoch, stateIndex) { return this.callContractFunction( - this.CommitManagerV1U1Contract, + this.contracts.CommitManagerV1U1, 'isUpdateCommitWindowOpen', [agreementId, epoch, stateIndex], ); @@ -1247,10 +1086,10 @@ class Web3Service { async getMinimumStake() { const minimumStake = await this.callContractFunction( - this.ParametersStorageContract, + this.contracts.ParametersStorage, 'minimumStake', [], - CONTRACTS.PARAMETERS_STORAGE_CONTRACT, + CONTRACTS.PARAMETERS_STORAGE, ); return Number(ethers.utils.formatEther(minimumStake)); @@ -1258,10 +1097,10 @@ class Web3Service { async getMaximumStake() { const maximumStake = await this.callContractFunction( - this.ParametersStorageContract, + this.contracts.ParametersStorage, 'maximumStake', [], - CONTRACTS.PARAMETERS_STORAGE_CONTRACT, + CONTRACTS.PARAMETERS_STORAGE, ); return Number(ethers.utils.formatEther(maximumStake)); @@ -1269,40 +1108,40 @@ class Web3Service { async getR2() { const r2 = await this.callContractFunction( - this.ParametersStorageContract, + this.contracts.ParametersStorage, 'r2', [], - CONTRACTS.PARAMETERS_STORAGE_CONTRACT, + CONTRACTS.PARAMETERS_STORAGE, ); return r2; } async getR1() { const r1 = await this.callContractFunction( - this.ParametersStorageContract, + this.contracts.ParametersStorage, 'r1', [], - CONTRACTS.PARAMETERS_STORAGE_CONTRACT, + CONTRACTS.PARAMETERS_STORAGE, ); return r1; } async getR0() { const r0 = await this.callContractFunction( - this.ParametersStorageContract, + this.contracts.ParametersStorage, 'r0', [], - CONTRACTS.PARAMETERS_STORAGE_CONTRACT, + CONTRACTS.PARAMETERS_STORAGE, ); return r0; } async getFinalizationCommitsNumber() { const finalizationCommitsNumber = await this.callContractFunction( - this.ParametersStorageContract, + this.contracts.ParametersStorage, 'finalizationCommitsNumber', [], - CONTRACTS.PARAMETERS_STORAGE_CONTRACT, + CONTRACTS.PARAMETERS_STORAGE, ); return finalizationCommitsNumber; } @@ -1364,7 +1203,7 @@ class Web3Service { 'submitUpdateCommit((address,uint256,bytes,uint8,uint16,uint72,uint72,uint72))'; } return this.queueTransaction( - this.CommitManagerV1U1Contract, + this.contracts.CommitManagerV1U1, functionName, [submitCommitArgs], callback, @@ -1373,7 +1212,9 @@ class Web3Service { } selectProofManagerContract(latestStateIndex) { - return latestStateIndex === 0 ? this.ProofManagerV1Contract : this.ProofManagerV1U1Contract; + return latestStateIndex === 0 + ? this.contracts.ProofManagerV1 + : this.contracts.ProofManagerV1U1; } async isProofWindowOpen(agreementId, epoch, latestStateIndex) { @@ -1421,12 +1262,12 @@ class Web3Service { } async getShardingTableHead() { - return this.callContractFunction(this.ShardingTableStorageContract, 'head', []); + return this.callContractFunction(this.contracts.ShardingTableStorage, 'head', []); } async getShardingTableLength() { const nodesCount = await this.callContractFunction( - this.ShardingTableStorageContract, + this.contracts.ShardingTableStorage, 'nodesCount', [], ); @@ -1435,7 +1276,7 @@ class Web3Service { async getShardingTablePage(startingIdentityId, nodesNum) { return this.callContractFunction( - this.ShardingTableContract, + this.contracts.ShardingTable, 'getShardingTable(uint72,uint72)', [startingIdentityId, nodesNum], ); @@ -1503,45 +1344,45 @@ class Web3Service { async getUpdateCommitWindowDuration() { const commitWindowDurationPerc = await this.callContractFunction( - this.ParametersStorageContract, + this.contracts.ParametersStorage, 'updateCommitWindowDuration', [], - CONTRACTS.PARAMETERS_STORAGE_CONTRACT, + CONTRACTS.PARAMETERS_STORAGE, ); return Number(commitWindowDurationPerc); } async getCommitWindowDurationPerc() { const commitWindowDurationPerc = await this.callContractFunction( - this.ParametersStorageContract, + this.contracts.ParametersStorage, 'commitWindowDurationPerc', [], - CONTRACTS.PARAMETERS_STORAGE_CONTRACT, + CONTRACTS.PARAMETERS_STORAGE, ); return Number(commitWindowDurationPerc); } async getProofWindowDurationPerc() { return this.callContractFunction( - this.ParametersStorageContract, + this.contracts.ParametersStorage, 'proofWindowDurationPerc', [], - CONTRACTS.PARAMETERS_STORAGE_CONTRACT, + CONTRACTS.PARAMETERS_STORAGE, ); } async getEpochLength() { const epochLength = await this.callContractFunction( - this.ParametersStorageContract, + this.contracts.ParametersStorage, 'epochLength', [], - CONTRACTS.PARAMETERS_STORAGE_CONTRACT, + CONTRACTS.PARAMETERS_STORAGE, ); return Number(epochLength); } async isHashFunction(hashFunctionId) { - return this.callContractFunction(this.HashingProxyContract, 'isHashFunction(uint8)', [ + return this.callContractFunction(this.contracts.HashingProxy, 'isHashFunction(uint8)', [ hashFunctionId, ]); } @@ -1555,7 +1396,7 @@ class Web3Service { this.scoringFunctionsContracts[1], 'getParameters', [], - CONTRACTS.LOG2PLDSF_CONTRACT, + CONTRACTS.LOG2PLDSF, ); const params = {}; @@ -1590,14 +1431,16 @@ class Web3Service { } async hasPendingUpdate(tokenId) { - return this.callContractFunction(this.UnfinalizedStateStorageContract, 'hasPendingUpdate', [ - tokenId, - ]); + return this.callContractFunction( + this.contracts.UnfinalizedStateStorage, + 'hasPendingUpdate', + [tokenId], + ); } async getAgreementScoreFunctionId(agreementId) { return this.callContractFunction( - this.ServiceAgreementStorageProxyContract, + this.contracts.ServiceAgreementStorageProxy, 'getAgreementScoreFunctionId', [agreementId], ); @@ -1608,7 +1451,7 @@ class Web3Service { this.scoringFunctionsContracts[2], 'getParameters', [], - CONTRACTS.LINEAR_SUM_CONTRACT, + CONTRACTS.LINEAR_SUM, ); return { distanceScaleFactor: BigNumber.from(linearSumParams[0]), @@ -1620,52 +1463,52 @@ class Web3Service { async getParanetKnowledgeAssetsCount(paranetId) { return this.callContractFunction( - this.ParanetsRegistryContract, + this.contracts.ParanetsRegistry, 'getKnowledgeAssetsCount', [paranetId], - CONTRACTS.PARANETS_REGISTRY_CONTRACT, + CONTRACTS.PARANETS_REGISTRY, ); } async getParanetKnowledgeAssetsWithPagination(paranetId, offset, limit) { return this.callContractFunction( - this.ParanetsRegistryContract, + this.contracts.ParanetsRegistry, 'getKnowledgeAssetsWithPagination', [paranetId, offset, limit], - CONTRACTS.PARANETS_REGISTRY_CONTRACT, + CONTRACTS.PARANETS_REGISTRY, ); } async getParanetMetadata(paranetId) { return this.callContractFunction( - this.ParanetsRegistryContract, + this.contracts.ParanetsRegistry, 'getParanetMetadata', [paranetId], - CONTRACTS.PARANETS_REGISTRY_CONTRACT, + CONTRACTS.PARANETS_REGISTRY, ); } async getName(paranetId) { return this.callContractFunction( - this.ParanetsRegistryContract, + this.contracts.ParanetsRegistry, 'getName', [paranetId], - CONTRACTS.PARANETS_REGISTRY_CONTRACT, + CONTRACTS.PARANETS_REGISTRY, ); } async getDescription(paranetId) { return this.callContractFunction( - this.ParanetsRegistryContract, + this.contracts.ParanetsRegistry, 'getDescription', [paranetId], - CONTRACTS.PARANETS_REGISTRY_CONTRACT, + CONTRACTS.PARANETS_REGISTRY, ); } async getParanetKnowledgeAssetLocator(knowledgeAssetId) { const [knowledgeAssetStorageContract, kaTokenId] = await this.callContractFunction( - this.ParanetKnowledgeAssetsRegistryContract, + this.contracts.ParanetKnowledgeAssetsRegistry, 'getKnowledgeAssetLocator', [knowledgeAssetId], ); @@ -1676,7 +1519,7 @@ class Web3Service { async getKnowledgeAssetLocatorFromParanetId(paranetId) { const [paranetKAStorageContract, paranetKATokenId] = await this.callContractFunction( - this.ParanetsRegistryContract, + this.contracts.ParanetsRegistry, 'getParanetKnowledgeAssetLocator', [paranetId], ); @@ -1687,16 +1530,16 @@ class Web3Service { async paranetExists(paranetId) { return this.callContractFunction( - this.ParanetsRegistryContract, + this.contracts.ParanetsRegistry, 'paranetExists', [paranetId], - CONTRACTS.PARANETS_REGISTRY_CONTRACT, + CONTRACTS.PARANETS_REGISTRY, ); } async getParanetId(knowledgeAssetId) { return this.callContractFunction( - this.ParanetKnowledgeAssetsRegistryContract, + this.contracts.ParanetKnowledgeAssetsRegistry, 'getParanetId', [knowledgeAssetId], ); @@ -1704,44 +1547,44 @@ class Web3Service { async isParanetKnowledgeAsset(knowledgeAssetId) { return this.callContractFunction( - this.ParanetKnowledgeAssetsRegistryContract, + this.contracts.ParanetKnowledgeAssetsRegistry, 'isParanetKnowledgeAsset', [knowledgeAssetId], ); } async isCuratedNode(paranetId, identityId) { - return this.callContractFunction(this.ParanetsRegistryContract, 'isCuratedNode', [ + return this.callContractFunction(this.contracts.ParanetsRegistry, 'isCuratedNode', [ paranetId, identityId, ]); } async getNodesAccessPolicy(paranetId) { - return this.callContractFunction(this.ParanetsRegistryContract, 'getNodesAccessPolicy', [ + return this.callContractFunction(this.contracts.ParanetsRegistry, 'getNodesAccessPolicy', [ paranetId, ]); } async getParanetCuratedNodes(paranetId) { return this.callContractFunction( - this.ParanetsRegistryContract, + this.contracts.ParanetsRegistry, 'getCuratedNodes', [paranetId], - CONTRACTS.PARANETS_REGISTRY_CONTRACT, + CONTRACTS.PARANETS_REGISTRY, ); } async getNodeId(identityId) { - return this.callContractFunction(this.ProfileStorageContract, 'getNodeId', [identityId]); + return this.callContractFunction(this.contracts.ProfileStorage, 'getNodeId', [identityId]); } async isKnowledgeAssetRegistered(paranetId, knowledgeAssetId) { return this.callContractFunction( - this.ParanetsRegistryContract, + this.contracts.ParanetsRegistry, 'isKnowledgeAssetRegistered', [paranetId, knowledgeAssetId], - CONTRACTS.PARANETS_REGISTRY_CONTRACT, + CONTRACTS.PARANETS_REGISTRY, ); } } diff --git a/src/modules/module-config-validation.js b/src/modules/module-config-validation.js index 2b533c652d..ffd5a51bab 100644 --- a/src/modules/module-config-validation.js +++ b/src/modules/module-config-validation.js @@ -12,7 +12,7 @@ class ModuleConfigValidation { if (typeof this[`validate${capitalizedName}`] === 'function') { this[`validate${capitalizedName}`](config); } else { - throw Error(`Missing validation for ${capitalizedName}`); + throw new Error(`Missing validation for ${capitalizedName}`); } } @@ -36,6 +36,64 @@ class ModuleConfigValidation { return true; } + validateBlockchainEvents(config) { + const occurences = {}; + for (const implementation of Object.values(config.implementation)) { + // eslint-disable-next-line no-continue + if (!implementation.enabled) { + continue; + } + + if (implementation.config.blockchains.length === 0) { + throw new Error( + 'Blockchains must be specified in the blockchain events service config.', + ); + } + + if ( + implementation.config.blockchains.length > + Object.keys(implementation.config.rpcEndpoints).length + ) { + throw new Error('Missing RPC edpoints in the blockchain events service config.'); + } + + if ( + implementation.config.blockchains.length > + Object.keys(implementation.config.hubContractAddress).length + ) { + throw new Error('Missing hub addresses in the blockchain events service config.'); + } + + for (const blockchain of implementation.config.blockchains) { + if (!occurences[blockchain]) { + occurences[blockchain] = 0; + } + occurences[blockchain] += 1; + + if (occurences[blockchain] > 1) { + throw new Error( + `Exactly one blockchain events service for blockchain ${blockchain} needs to be defined.`, + ); + } + + if ( + !implementation.config.rpcEndpoints[blockchain] || + implementation.config.rpcEndpoints[blockchain].length === 0 + ) { + throw new Error( + `RPC endpoint is not defined for blockchain: ${blockchain} in the blockchain events service config.`, + ); + } + + if (!implementation.config.hubContractAddress[blockchain]) { + throw new Error( + `Hub contract address is not defined for blockchain: ${blockchain} in the blockchain events service config.`, + ); + } + } + } + } + validateTripleStore(config) { const occurences = {}; for (const implementation of Object.values(config.implementation)) { @@ -53,7 +111,9 @@ class ModuleConfigValidation { } for (const repository of Object.values(TRIPLE_STORE_REPOSITORIES)) { if (occurences[repository] !== 1) { - throw Error(`Exactly one config for repository ${repository} needs to be defined.`); + throw new Error( + `Exactly one config for repository ${repository} needs to be defined.`, + ); } } } diff --git a/src/modules/network/implementation/libp2p-service.js b/src/modules/network/implementation/libp2p-service.js index 19d1eeb9df..f1baad9f7e 100644 --- a/src/modules/network/implementation/libp2p-service.js +++ b/src/modules/network/implementation/libp2p-service.js @@ -104,17 +104,6 @@ class Libp2pService { initializationObject.peerId = this.config.peerId; this._initializeRateLimiters(); - /** - * sessions = { - * [peerId]: { - * [operationId]: { - * [keywordUuid] : { - * stream - * } - * } - * } - * } - */ this.sessions = {}; this.node = await libp2p.create(initializationObject); const peerId = this.node.peerId.toB58String(); @@ -222,12 +211,7 @@ class Libp2pService { peerIdString, ); - this.updateSessionStream( - message.header.operationId, - message.header.keywordUuid, - peerIdString, - stream, - ); + this.updateSessionStream(message.header.operationId, peerIdString, stream); if (!valid) { await this.sendMessageResponse( @@ -235,28 +219,18 @@ class Libp2pService { peerIdString, NETWORK_MESSAGE_TYPES.RESPONSES.NACK, message.header.operationId, - message.header.keywordUuid, { errorMessage: 'Invalid request message' }, ); - this.removeCachedSession( - message.header.operationId, - message.header.keywordUuid, - peerIdString, - ); + this.removeCachedSession(message.header.operationId, peerIdString); } else if (busy) { await this.sendMessageResponse( protocol, peerIdString, NETWORK_MESSAGE_TYPES.RESPONSES.BUSY, message.header.operationId, - message.header.keywordUuid, {}, ); - this.removeCachedSession( - message.header.operationId, - message.header.keywordUuid, - peerIdString, - ); + this.removeCachedSession(message.header.operationId, peerIdString); } else { this.logger.debug( `Receiving message from ${peerIdString} to ${this.config.id}: protocol: ${protocol}, messageType: ${message.header.messageType};`, @@ -266,65 +240,48 @@ class Libp2pService { }); } - updateSessionStream(operationId, keywordUuid, peerIdString, stream) { + updateSessionStream(operationId, peerIdString, stream) { this.logger.trace( `Storing new session stream for remotePeerId: ${peerIdString} with operation id: ${operationId}`, ); if (!this.sessions[peerIdString]) { this.sessions[peerIdString] = { [operationId]: { - [keywordUuid]: { - stream, - }, + stream, }, }; } else if (!this.sessions[peerIdString][operationId]) { this.sessions[peerIdString][operationId] = { - [keywordUuid]: { - stream, - }, + stream, }; } else { - this.sessions[peerIdString][operationId][keywordUuid] = { + this.sessions[peerIdString][operationId] = { stream, }; } } - getSessionStream(operationId, keywordUuid, peerIdString) { - if ( - this.sessions[peerIdString] && - this.sessions[peerIdString][operationId] && - this.sessions[peerIdString][operationId][keywordUuid] - ) { + getSessionStream(operationId, peerIdString) { + if (this.sessions[peerIdString] && this.sessions[peerIdString][operationId]) { this.logger.trace( `Session found remotePeerId: ${peerIdString}, operation id: ${operationId}`, ); - return this.sessions[peerIdString][operationId][keywordUuid].stream; + return this.sessions[peerIdString][operationId].stream; } return null; } - createStreamMessage(message, operationId, keywordUuid, messageType) { + createStreamMessage(message, operationId, messageType) { return { header: { messageType, operationId, - keywordUuid, }, data: message, }; } - async sendMessage( - protocol, - peerIdString, - messageType, - operationId, - keywordUuid, - message, - timeout, - ) { + async sendMessage(protocol, peerIdString, messageType, operationId, message, timeout) { const nackMessage = { header: { messageType: NETWORK_MESSAGE_TYPES.RESPONSES.NACK }, data: { @@ -366,14 +323,9 @@ class Libp2pService { const { stream } = dialResult; - this.updateSessionStream(operationId, keywordUuid, peerIdString, stream); + this.updateSessionStream(operationId, peerIdString, stream); - const streamMessage = this.createStreamMessage( - message, - operationId, - keywordUuid, - messageType, - ); + const streamMessage = this.createStreamMessage(message, operationId, messageType); this.logger.trace( `Sending message to ${peerIdString}. protocol: ${protocol}, messageType: ${messageType}, operationId: ${operationId}`, @@ -452,24 +404,17 @@ class Libp2pService { return response.message; } - async sendMessageResponse( - protocol, - peerIdString, - messageType, - operationId, - keywordUuid, - message, - ) { + async sendMessageResponse(protocol, peerIdString, messageType, operationId, message) { this.logger.debug( `Sending response from ${this.config.id} to ${peerIdString}: protocol: ${protocol}, messageType: ${messageType};`, ); - const stream = this.getSessionStream(operationId, keywordUuid, peerIdString); + const stream = this.getSessionStream(operationId, peerIdString); if (!stream) { throw Error(`Unable to find opened stream for remotePeerId: ${peerIdString}`); } - const response = this.createStreamMessage(message, operationId, keywordUuid, messageType); + const response = this.createStreamMessage(message, operationId, messageType); await this._sendMessageToStream(stream, response); } @@ -511,7 +456,7 @@ class Libp2pService { } async readMessageSink(source, isMessageValid, peerIdString) { - const message = { header: { operationId: '', keywordUuid: '' }, data: {} }; + const message = { header: { operationId: '' }, data: {} }; // we expect first buffer to be header const stringifiedHeader = (await source.next()).value; @@ -551,7 +496,6 @@ class Libp2pService { // header well formed if ( !header.operationId || - !header.keywordUuid || !header.messageType || !Object.keys(NETWORK_MESSAGE_TYPES.REQUESTS).includes(header.messageType) ) @@ -560,7 +504,7 @@ class Libp2pService { return true; } - return this.sessionExists(peerIdString, header.operationId, header.keywordUuid); + return this.sessionExists(peerIdString, header.operationId); } sessionExists() { @@ -646,9 +590,9 @@ class Libp2pService { return this.node.peerStore.get(createFromB58String(peerId)); } - removeCachedSession(operationId, keywordUuid, peerIdString) { - if (this.sessions[peerIdString]?.[operationId]?.[keywordUuid]?.stream) { - this.sessions[peerIdString][operationId][keywordUuid].stream.close(); + removeCachedSession(operationId, peerIdString) { + if (this.sessions[peerIdString]?.[operationId]?.stream) { + this.sessions[peerIdString][operationId].stream.close(); delete this.sessions[peerIdString][operationId]; this.logger.trace( `Removed session for remotePeerId: ${peerIdString}, operationId: ${operationId}.`, diff --git a/src/modules/network/network-module-manager.js b/src/modules/network/network-module-manager.js index 698c7f5697..4216734a05 100644 --- a/src/modules/network/network-module-manager.js +++ b/src/modules/network/network-module-manager.js @@ -29,36 +29,26 @@ class NetworkModuleManager extends BaseModuleManager { } } - async sendMessage( - protocol, - remotePeerId, - messageType, - operationId, - keywordUuid, - message, - timeout, - ) { + async sendMessage(protocol, remotePeerId, messageType, operationId, message, timeout) { if (this.initialized) { return this.getImplementation().module.sendMessage( protocol, remotePeerId, messageType, operationId, - keywordUuid, message, timeout, ); } } - async sendMessageResponse(protocol, remotePeerId, messageType, operationId, keyword, message) { + async sendMessageResponse(protocol, remotePeerId, messageType, operationId, message) { if (this.initialized) { return this.getImplementation().module.sendMessageResponse( protocol, remotePeerId, messageType, operationId, - keyword, message, ); } @@ -100,13 +90,9 @@ class NetworkModuleManager extends BaseModuleManager { } } - removeCachedSession(operationId, keywordUuid, remotePeerId) { + removeCachedSession(operationId, remotePeerId) { if (this.initialized) { - this.getImplementation().module.removeCachedSession( - operationId, - keywordUuid, - remotePeerId, - ); + this.getImplementation().module.removeCachedSession(operationId, remotePeerId); } } } diff --git a/src/modules/repository/implementation/sequelize/migrations/20240301095400-remove-corrupted-service-agreements-for-gnosis.js b/src/modules/repository/implementation/sequelize/migrations/20240301095400-remove-corrupted-service-agreements- for-gnosis.js similarity index 100% rename from src/modules/repository/implementation/sequelize/migrations/20240301095400-remove-corrupted-service-agreements-for-gnosis.js rename to src/modules/repository/implementation/sequelize/migrations/20240301095400-remove-corrupted-service-agreements- for-gnosis.js diff --git a/src/modules/repository/implementation/sequelize/migrations/20241125151200-rename-keyword-column-to-datasetroot-in-responses.js b/src/modules/repository/implementation/sequelize/migrations/20241125151200-rename-keyword-column-to-datasetroot-in-responses.js new file mode 100644 index 0000000000..0ac4d26f1f --- /dev/null +++ b/src/modules/repository/implementation/sequelize/migrations/20241125151200-rename-keyword-column-to-datasetroot-in-responses.js @@ -0,0 +1,9 @@ +export async function up({ context: { queryInterface } }) { + await queryInterface.renameColumn('publish_response', 'keyword', 'dataset_root'); + await queryInterface.renameColumn('get_response', 'keyword', 'dataset_root'); +} + +export async function down({ context: { queryInterface } }) { + await queryInterface.renameColumn('publish_response', 'dataset_root', 'keyword'); + await queryInterface.renameColumn('get_response', 'dataset_root', 'keyword'); +} diff --git a/src/modules/repository/implementation/sequelize/migrations/20241126114400-add-commands-priority.js b/src/modules/repository/implementation/sequelize/migrations/20241126114400-add-commands-priority.js new file mode 100644 index 0000000000..09e969fb8c --- /dev/null +++ b/src/modules/repository/implementation/sequelize/migrations/20241126114400-add-commands-priority.js @@ -0,0 +1,9 @@ +export async function up({ context: { queryInterface, Sequelize } }) { + await queryInterface.addColumn('commands', 'priority', { + type: Sequelize.BIGINT, + }); +} + +export async function down({ context: { queryInterface } }) { + await queryInterface.removeColumn('commands', 'priority'); +} diff --git a/src/modules/repository/implementation/sequelize/migrations/20241129120000-add-commands-is_blocking.js b/src/modules/repository/implementation/sequelize/migrations/20241129120000-add-commands-is_blocking.js new file mode 100644 index 0000000000..16c78763b9 --- /dev/null +++ b/src/modules/repository/implementation/sequelize/migrations/20241129120000-add-commands-is_blocking.js @@ -0,0 +1,9 @@ +export async function up({ context: { queryInterface, Sequelize } }) { + await queryInterface.addColumn('commands', 'is_blocking', { + type: Sequelize.BOOLEAN, + }); +} + +export async function down({ context: { queryInterface } }) { + await queryInterface.removeColumn('commands', 'is_blocking'); +} diff --git a/src/modules/repository/implementation/sequelize/migrations/20241129125800-remove-datasetroot-response-table.js b/src/modules/repository/implementation/sequelize/migrations/20241129125800-remove-datasetroot-response-table.js new file mode 100644 index 0000000000..60e39c2622 --- /dev/null +++ b/src/modules/repository/implementation/sequelize/migrations/20241129125800-remove-datasetroot-response-table.js @@ -0,0 +1,15 @@ +export async function up({ context: { queryInterface } }) { + await queryInterface.removeColumn('publish_response', 'dataset_root'); + await queryInterface.removeColumn('get_response', 'dataset_root'); +} + +export async function down({ context: { queryInterface, Sequelize } }) { + await queryInterface.addColumn('publish_response', 'dataset_root', { + type: Sequelize.STRING, + allowNull: false, + }); + await queryInterface.addColumn('publish_response', 'dataset_root', { + type: Sequelize.STRING, + allowNull: false, + }); +} diff --git a/src/modules/repository/implementation/sequelize/migrations/20241201152000-update-blockchain-events.js b/src/modules/repository/implementation/sequelize/migrations/20241201152000-update-blockchain-events.js new file mode 100644 index 0000000000..d4909d2cac --- /dev/null +++ b/src/modules/repository/implementation/sequelize/migrations/20241201152000-update-blockchain-events.js @@ -0,0 +1,37 @@ +export async function up({ context: { queryInterface, Sequelize } }) { + await queryInterface.renameColumn('blockchain_event', 'blockchain_id', 'blockchain'); + + await queryInterface.changeColumn('blockchain_event', 'block', { + type: Sequelize.BIGINT, + }); + + await queryInterface.renameColumn('blockchain_event', 'block', 'block_number'); + + await queryInterface.addColumn('blockchain_event', 'transaction_index', { + type: Sequelize.BIGINT, + }); + + await queryInterface.addColumn('blockchain_event', 'log_index', { + type: Sequelize.BIGINT, + }); + + await queryInterface.addColumn('blockchain_event', 'contract_address', { + type: Sequelize.STRING, + }); +} + +export async function down({ context: { queryInterface, Sequelize } }) { + await queryInterface.renameColumn('blockchain_event', 'block_number', 'block'); + + await queryInterface.changeColumn('blockchain_event', 'block', { + type: Sequelize.INTEGER, + }); + + await queryInterface.renameColumn('blockchain_event', 'blockchain', 'blockchain_id'); + + await queryInterface.removeColumn('blockchain_event', 'transaction_index'); + + await queryInterface.removeColumn('blockchain_event', 'log_index'); + + await queryInterface.removeColumn('blockchain_event', 'contract_address'); +} diff --git a/src/modules/repository/implementation/sequelize/migrations/20241202214500-update-blockchain-table.js b/src/modules/repository/implementation/sequelize/migrations/20241202214500-update-blockchain-table.js new file mode 100644 index 0000000000..ac2d1a5eb6 --- /dev/null +++ b/src/modules/repository/implementation/sequelize/migrations/20241202214500-update-blockchain-table.js @@ -0,0 +1,37 @@ +export async function up({ context: { queryInterface } }) { + const tableInfo = await queryInterface.describeTable('blockchain'); + + if (tableInfo.blockchain_id) { + await queryInterface.renameColumn('blockchain', 'blockchain_id', 'blockchain'); + } + + await queryInterface.sequelize.query(` + DELETE t1 + FROM blockchain t1 + JOIN blockchain t2 + ON t1.blockchain = t2.blockchain + AND ( + t1.last_checked_block > t2.last_checked_block OR + (t1.last_checked_block = t2.last_checked_block AND t1.last_checked_timestamp > t2.last_checked_timestamp) + ); + `); + + await queryInterface.sequelize.query(` + ALTER TABLE blockchain DROP PRIMARY KEY, ADD PRIMARY KEY (blockchain); + `); + + await queryInterface.removeColumn('blockchain', 'contract'); +} + +export async function down({ context: { queryInterface, Sequelize } }) { + await queryInterface.renameColumn('blockchain', 'blockchain', 'blockchain_id'); + + await queryInterface.addColumn('blockchain', 'contract', { + type: Sequelize.STRING, + allowNull: false, + }); + + await queryInterface.sequelize.query(` + ALTER TABLE blockchain DROP PRIMARY KEY, ADD PRIMARY KEY (blockchain_id, contract); + `); +} diff --git a/src/modules/repository/implementation/sequelize/migrations/20241203125000-create-finality.js b/src/modules/repository/implementation/sequelize/migrations/20241203125000-create-finality.js new file mode 100644 index 0000000000..a75c168ea8 --- /dev/null +++ b/src/modules/repository/implementation/sequelize/migrations/20241203125000-create-finality.js @@ -0,0 +1,30 @@ +export async function up({ context: { queryInterface, Sequelize } }) { + await queryInterface.createTable('finality', { + id: { + type: Sequelize.INTEGER, + primaryKey: true, + autoIncrement: true, + }, + operation_id: { + type: Sequelize.UUID, + allowNull: false, + }, + status: { + allowNull: false, + type: Sequelize.STRING, + }, + created_at: { + allowNull: false, + type: Sequelize.DATE, + defaultValue: Sequelize.literal('NOW()'), + }, + updated_at: { + allowNull: false, + type: Sequelize.DATE, + defaultValue: Sequelize.literal('NOW()'), + }, + }); +} +export async function down({ context: { queryInterface } }) { + await queryInterface.dropTable('finality'); +} diff --git a/src/modules/repository/implementation/sequelize/migrations/20241203125001-create-finality-response.js b/src/modules/repository/implementation/sequelize/migrations/20241203125001-create-finality-response.js new file mode 100644 index 0000000000..dcd973bbbf --- /dev/null +++ b/src/modules/repository/implementation/sequelize/migrations/20241203125001-create-finality-response.js @@ -0,0 +1,34 @@ +export async function up({ context: { queryInterface, Sequelize } }) { + await queryInterface.createTable('finality_response', { + id: { + type: Sequelize.INTEGER, + primaryKey: true, + autoIncrement: true, + }, + operation_id: { + type: Sequelize.UUID, + allowNull: false, + }, + status: { + allowNull: false, + type: Sequelize.STRING, + }, + message: { + allowNull: true, + type: Sequelize.TEXT, + }, + created_at: { + allowNull: false, + type: Sequelize.DATE, + defaultValue: Sequelize.literal('NOW()'), + }, + updated_at: { + allowNull: false, + type: Sequelize.DATE, + defaultValue: Sequelize.literal('NOW()'), + }, + }); +} +export async function down({ context: { queryInterface } }) { + await queryInterface.dropTable('finality_response'); +} diff --git a/src/modules/repository/implementation/sequelize/models/blockchain-event.js b/src/modules/repository/implementation/sequelize/models/blockchain-event.js index b15537849f..40ba9cb1f6 100644 --- a/src/modules/repository/implementation/sequelize/models/blockchain-event.js +++ b/src/modules/repository/implementation/sequelize/models/blockchain-event.js @@ -8,10 +8,13 @@ export default (sequelize, DataTypes) => { autoIncrement: true, }, contract: DataTypes.STRING, - blockchainId: DataTypes.STRING, + contractAddress: DataTypes.STRING, + blockchain: DataTypes.STRING, event: DataTypes.STRING, data: DataTypes.TEXT, - block: DataTypes.INTEGER, + blockNumber: DataTypes.BIGINT, + transactionIndex: DataTypes.BIGINT, + logIndex: DataTypes.BIGINT, processed: DataTypes.BOOLEAN, createdAt: DataTypes.DATE, updatedAt: DataTypes.DATE, diff --git a/src/modules/repository/implementation/sequelize/models/blockchain.js b/src/modules/repository/implementation/sequelize/models/blockchain.js index 6bb7977805..0c2807965e 100644 --- a/src/modules/repository/implementation/sequelize/models/blockchain.js +++ b/src/modules/repository/implementation/sequelize/models/blockchain.js @@ -2,11 +2,7 @@ export default (sequelize, DataTypes) => { const blockchain = sequelize.define( 'blockchain', { - blockchainId: { - type: DataTypes.STRING, - primaryKey: true, - }, - contract: { + blockchain: { type: DataTypes.STRING, primaryKey: true, }, diff --git a/src/modules/repository/implementation/sequelize/models/commands.js b/src/modules/repository/implementation/sequelize/models/commands.js index dde59ba7f0..a0396d6d6d 100644 --- a/src/modules/repository/implementation/sequelize/models/commands.js +++ b/src/modules/repository/implementation/sequelize/models/commands.js @@ -17,12 +17,14 @@ export default (sequelize, DataTypes) => { }, name: DataTypes.STRING, data: DataTypes.JSON, + priority: DataTypes.BIGINT, + isBlocking: DataTypes.BOOLEAN, sequence: DataTypes.JSON, readyAt: DataTypes.BIGINT, delay: DataTypes.BIGINT, startedAt: DataTypes.BIGINT, deadlineAt: DataTypes.BIGINT, - period: DataTypes.INTEGER, + period: DataTypes.BIGINT, status: DataTypes.STRING, message: DataTypes.TEXT, parentId: DataTypes.UUID, diff --git a/src/modules/repository/implementation/sequelize/models/finality-response.js b/src/modules/repository/implementation/sequelize/models/finality-response.js new file mode 100644 index 0000000000..c377107691 --- /dev/null +++ b/src/modules/repository/implementation/sequelize/models/finality-response.js @@ -0,0 +1,22 @@ +export default (sequelize, DataTypes) => { + const finalityResponse = sequelize.define( + 'finality_response', + { + id: { + type: DataTypes.INTEGER, + primaryKey: true, + autoIncrement: true, + }, + operationId: DataTypes.UUID, + status: DataTypes.STRING, + message: DataTypes.TEXT, + createdAt: DataTypes.DATE, + updatedAt: DataTypes.DATE, + }, + { underscored: true }, + ); + finalityResponse.associate = () => { + // associations can be defined here + }; + return finalityResponse; +}; diff --git a/src/modules/repository/implementation/sequelize/models/finality.js b/src/modules/repository/implementation/sequelize/models/finality.js new file mode 100644 index 0000000000..1ee1d3cf47 --- /dev/null +++ b/src/modules/repository/implementation/sequelize/models/finality.js @@ -0,0 +1,21 @@ +export default (sequelize, DataTypes) => { + const finality = sequelize.define( + 'finality', + { + id: { + type: DataTypes.INTEGER, + primaryKey: true, + autoIncrement: true, + }, + operationId: DataTypes.UUID, + status: DataTypes.STRING, + createdAt: DataTypes.DATE, + updatedAt: DataTypes.DATE, + }, + { underscored: true }, + ); + finality.associate = () => { + // associations can be defined here + }; + return finality; +}; diff --git a/src/modules/repository/implementation/sequelize/models/get-response.js b/src/modules/repository/implementation/sequelize/models/get-response.js index 201873eb81..5c529b81ae 100644 --- a/src/modules/repository/implementation/sequelize/models/get-response.js +++ b/src/modules/repository/implementation/sequelize/models/get-response.js @@ -8,7 +8,6 @@ export default (sequelize, DataTypes) => { autoIncrement: true, }, operationId: DataTypes.UUID, - keyword: DataTypes.STRING, status: DataTypes.STRING, message: DataTypes.TEXT, createdAt: DataTypes.DATE, diff --git a/src/modules/repository/implementation/sequelize/models/publish-response.js b/src/modules/repository/implementation/sequelize/models/publish-response.js index f9b44bc5e8..ccc932b850 100644 --- a/src/modules/repository/implementation/sequelize/models/publish-response.js +++ b/src/modules/repository/implementation/sequelize/models/publish-response.js @@ -8,7 +8,6 @@ export default (sequelize, DataTypes) => { autoIncrement: true, }, operationId: DataTypes.UUID, - keyword: DataTypes.STRING, status: DataTypes.STRING, message: DataTypes.TEXT, createdAt: DataTypes.DATE, diff --git a/src/modules/repository/implementation/sequelize/models/service-agreement.js b/src/modules/repository/implementation/sequelize/models/service-agreement.js deleted file mode 100644 index b00bb300fd..0000000000 --- a/src/modules/repository/implementation/sequelize/models/service-agreement.js +++ /dev/null @@ -1,75 +0,0 @@ -import { SERVICE_AGREEMENT_SOURCES } from '../../../../../constants/constants.js'; - -export default (sequelize, DataTypes) => { - const serviceAgreement = sequelize.define( - 'service_agreement', - { - blockchainId: { - type: DataTypes.STRING, - allowNull: false, - }, - assetStorageContractAddress: { - type: DataTypes.STRING(42), - allowNull: false, - }, - tokenId: { - type: DataTypes.INTEGER.UNSIGNED, - allowNull: false, - }, - agreementId: { - type: DataTypes.STRING, - primaryKey: true, - }, - startTime: { - type: DataTypes.INTEGER.UNSIGNED, - allowNull: false, - }, - epochsNumber: { - type: DataTypes.SMALLINT.UNSIGNED, - allowNull: false, - }, - epochLength: { - type: DataTypes.INTEGER.UNSIGNED, - allowNull: false, - }, - scoreFunctionId: { - type: DataTypes.TINYINT.UNSIGNED, - allowNull: false, - }, - stateIndex: { - type: DataTypes.SMALLINT.UNSIGNED, - allowNull: false, - }, - assertionId: { - type: DataTypes.STRING, - allowNull: false, - }, - hashFunctionId: { - type: DataTypes.TINYINT.UNSIGNED, - allowNull: false, - }, - keyword: { - type: DataTypes.STRING, - allowNull: false, - }, - proofWindowOffsetPerc: { - type: DataTypes.TINYINT.UNSIGNED, - allowNull: false, - }, - dataSource: { - type: DataTypes.ENUM(...Object.values(SERVICE_AGREEMENT_SOURCES)), - }, - lastCommitEpoch: { - type: DataTypes.SMALLINT.UNSIGNED, - }, - lastProofEpoch: { - type: DataTypes.SMALLINT.UNSIGNED, - }, - }, - { underscored: true }, - ); - serviceAgreement.associate = () => { - // associations can be defined here - }; - return serviceAgreement; -}; diff --git a/src/modules/repository/implementation/sequelize/repositories/blockchain-event-repository.js b/src/modules/repository/implementation/sequelize/repositories/blockchain-event-repository.js index 92f4edf035..4bde67a877 100644 --- a/src/modules/repository/implementation/sequelize/repositories/blockchain-event-repository.js +++ b/src/modules/repository/implementation/sequelize/repositories/blockchain-event-repository.js @@ -6,7 +6,7 @@ class BlockchainEventRepository { this.model = models.blockchain_event; } - async insertBlockchainEvents(events) { + async insertBlockchainEvents(events, options) { const chunkSize = 10000; let insertedEvents = []; @@ -15,15 +15,19 @@ class BlockchainEventRepository { // eslint-disable-next-line no-await-in-loop const insertedChunk = await this.model.bulkCreate( chunk.map((event) => ({ + blockchain: event.blockchain, contract: event.contract, + contractAddress: event.contractAddress, event: event.event, data: event.data, - block: event.block, - blockchainId: event.blockchainId, + blockNumber: event.blockNumber, + transactionIndex: event.transactionIndex, + logIndex: event.logIndex, processed: false, })), { ignoreDuplicates: true, + ...options, }, ); @@ -33,49 +37,69 @@ class BlockchainEventRepository { return insertedEvents; } - async getAllUnprocessedBlockchainEvents(eventNames, blockchainId) { + async getAllUnprocessedBlockchainEvents(blockchain, eventNames, options) { return this.model.findAll({ where: { - blockchainId, + blockchain, processed: false, event: { [Sequelize.Op.in]: eventNames }, }, - order: [['block', 'asc']], + order: [ + ['blockNumber', 'asc'], + ['transactionIndex', 'asc'], + ['logIndex', 'asc'], + ], + ...options, }); } - async blockchainEventExists(contract, event, data, block, blockchainId) { - const dbEvent = await this.model.findOne({ - where: { - contract, - event, - data, - block, - blockchainId, - }, - }); - return !!dbEvent; - } - - async markBlockchainEventsAsProcessed(events) { - const idsForUpdate = events.flatMap((event) => event.id); + async markAllBlockchainEventsAsProcessed(blockchain, options) { return this.model.update( { processed: true }, { - where: { id: { [Sequelize.Op.in]: idsForUpdate } }, + where: { blockchain }, + ...options, }, ); } - async removeEvents(ids) { + async removeEvents(ids, options) { await this.model.destroy({ where: { id: { [Sequelize.Op.in]: ids }, }, + ...options, + }); + } + + async removeContractEventsAfterBlock( + blockchain, + contract, + contractAddress, + blockNumber, + transactionIndex, + options, + ) { + return this.model.destroy({ + where: { + blockchain, + contract, + contractAddress, + [Sequelize.Op.or]: [ + // Events in blocks after the given blockNumber + { blockNumber: { [Sequelize.Op.gt]: blockNumber } }, + // Events in the same blockNumber but with a higher transactionIndex + { + blockNumber, + transactionIndex: { [Sequelize.Op.gt]: transactionIndex }, + }, + ], + }, + ...options, }); } - async findProcessedEvents(timestamp, limit) { + async findProcessedEvents(timestamp, limit, options) { return this.model.findAll({ where: { processed: true, @@ -84,6 +108,7 @@ class BlockchainEventRepository { order: [['createdAt', 'asc']], raw: true, limit, + ...options, }); } } diff --git a/src/modules/repository/implementation/sequelize/repositories/blockchain-repository.js b/src/modules/repository/implementation/sequelize/repositories/blockchain-repository.js index 8d16e18026..baba9ccc3c 100644 --- a/src/modules/repository/implementation/sequelize/repositories/blockchain-repository.js +++ b/src/modules/repository/implementation/sequelize/repositories/blockchain-repository.js @@ -4,27 +4,22 @@ class BlockchainRepository { this.model = models.blockchain; } - async getLastCheckedBlock(blockchainId, contract) { + async getLastCheckedBlock(blockchain, options) { return this.model.findOne({ - where: { blockchainId, contract }, + where: { blockchain }, + ...options, }); } - async removeLastCheckedBlockForContract(contract) { - return this.model.destroy({ - where: { - contract, + async updateLastCheckedBlock(blockchain, currentBlock, timestamp, options) { + return this.model.upsert( + { + blockchain, + lastCheckedBlock: currentBlock, + lastCheckedTimestamp: timestamp, }, - }); - } - - async updateLastCheckedBlock(blockchainId, currentBlock, timestamp, contract) { - return this.model.upsert({ - blockchainId, - contract, - lastCheckedBlock: currentBlock, - lastCheckedTimestamp: timestamp, - }); + options, + ); } } diff --git a/src/modules/repository/implementation/sequelize/repositories/command-repository.js b/src/modules/repository/implementation/sequelize/repositories/command-repository.js index 44c08b6bed..a789069822 100644 --- a/src/modules/repository/implementation/sequelize/repositories/command-repository.js +++ b/src/modules/repository/implementation/sequelize/repositories/command-repository.js @@ -7,23 +7,24 @@ class CommandRepository { this.model = models.commands; } - async updateCommand(update, opts) { - await this.model.update(update, opts); + async updateCommand(update, options) { + await this.model.update(update, options); } - async destroyCommand(name) { + async destroyCommand(name, options) { await this.model.destroy({ where: { name: { [Sequelize.Op.eq]: name }, }, + ...options, }); } - async createCommand(command, opts) { - return this.model.create(command, opts); + async createCommand(command, options) { + return this.model.create(command, options); } - async getCommandsWithStatus(statusArray, excludeNameArray) { + async getCommandsWithStatus(statusArray, excludeNameArray, options) { return this.model.findAll({ where: { status: { @@ -31,26 +32,29 @@ class CommandRepository { }, name: { [Sequelize.Op.notIn]: excludeNameArray }, }, + ...options, }); } - async getCommandWithId(id) { + async getCommandWithId(id, options) { return this.model.findOne({ where: { id, }, + ...options, }); } - async removeCommands(ids) { + async removeCommands(ids, options) { await this.model.destroy({ where: { id: { [Sequelize.Op.in]: ids }, }, + ...options, }); } - async findFinalizedCommands(timestamp, limit) { + async findFinalizedCommands(timestamp, limit, options) { return this.model.findAll({ where: { status: { @@ -66,6 +70,25 @@ class CommandRepository { order: [['startedAt', 'asc']], raw: true, limit, + ...options, + }); + } + + async findUnfinalizedCommandsByName(name, options) { + return this.model.findAll({ + where: { + name, + status: { + [Sequelize.Op.notIn]: [ + COMMAND_STATUS.COMPLETED, + COMMAND_STATUS.FAILED, + COMMAND_STATUS.EXPIRED, + COMMAND_STATUS.UNKNOWN, + ], + }, + }, + raw: true, + ...options, }); } } diff --git a/src/modules/repository/implementation/sequelize/repositories/event-repository.js b/src/modules/repository/implementation/sequelize/repositories/event-repository.js index 8304bfc66d..d4f3eae9e9 100644 --- a/src/modules/repository/implementation/sequelize/repositories/event-repository.js +++ b/src/modules/repository/implementation/sequelize/repositories/event-repository.js @@ -11,7 +11,31 @@ class EventRepository { this.model = models.event; } - async getUnpublishedEvents() { + async createEventRecord( + operationId, + blockchainId, + name, + timestamp, + value1, + value2, + value3, + options, + ) { + return this.model.create( + { + operationId, + blockchainId, + name, + timestamp, + value1, + value2, + value3, + }, + options, + ); + } + + async getUnpublishedEvents(options) { // events without COMPLETE/FAILED status which are older than 30min // are also considered finished const minutes = 5; @@ -41,6 +65,7 @@ class EventRepository { limit: Math.floor(HIGH_TRAFFIC_OPERATIONS_NUMBER_PER_HOUR / 60) * SEND_TELEMETRY_COMMAND_FREQUENCY_MINUTES, + ...options, }); operationIds = operationIds.map((e) => e.operation_id); @@ -51,16 +76,18 @@ class EventRepository { [Sequelize.Op.in]: operationIds, }, }, + ...options, }); } - async destroyEvents(ids) { + async destroyEvents(ids, options) { await this.model.destroy({ where: { id: { [Sequelize.Op.in]: ids, }, }, + ...options, }); } } diff --git a/src/modules/repository/implementation/sequelize/repositories/missed-paranet-asset-repository.js b/src/modules/repository/implementation/sequelize/repositories/missed-paranet-asset-repository.js index 0aa3a5c1cb..cd9a0c8eb0 100644 --- a/src/modules/repository/implementation/sequelize/repositories/missed-paranet-asset-repository.js +++ b/src/modules/repository/implementation/sequelize/repositories/missed-paranet-asset-repository.js @@ -6,15 +6,16 @@ class MissedParanetAssetRepository { this.model = models.missed_paranet_asset; } - async createMissedParanetAssetRecord(missedParanetAsset) { - return this.model.create(missedParanetAsset); + async createMissedParanetAssetRecord(missedParanetAsset, options) { + return this.model.create(missedParanetAsset, options); } async getMissedParanetAssetsRecordsWithRetryCount( paranetUal, retryCountLimit, retryDelayInMs, - count = null, + limit, + options, ) { const now = new Date(); const delayDate = new Date(now.getTime() - retryDelayInMs); @@ -35,44 +36,53 @@ class MissedParanetAssetRepository { Sequelize.literal(`COUNT(ual) < ${retryCountLimit}`), Sequelize.literal(`MAX(created_at) <= '${delayDate.toISOString()}'`), ), + ...options, }; - if (count !== null) { - queryOptions.limit = count; + if (limit !== null) { + queryOptions.limit = limit; } return this.model.findAll(queryOptions); } - async missedParanetAssetRecordExists(ual) { + async missedParanetAssetRecordExists(ual, options) { const missedParanetAssetRecord = await this.model.findOne({ where: { ual }, + ...options, }); return !!missedParanetAssetRecord; } - async removeMissedParanetAssetRecordsByUAL(ual) { + async removeMissedParanetAssetRecordsByUAL(ual, options) { await this.model.destroy({ where: { ual, }, + ...options, }); } - async getCountOfMissedAssetsOfParanet(paranetUal) { + async getCountOfMissedAssetsOfParanet(paranetUal, options) { const records = await this.model.findAll({ attributes: ['paranet_ual', 'ual'], where: { paranetUal, }, group: ['paranet_ual', 'ual'], + ...options, }); return records.length; } - async getFilteredCountOfMissedAssetsOfParanet(paranetUal, retryCountLimit, retryDelayInMs) { + async getFilteredCountOfMissedAssetsOfParanet( + paranetUal, + retryCountLimit, + retryDelayInMs, + options, + ) { const now = new Date(); const delayDate = new Date(now.getTime() - retryDelayInMs); @@ -93,6 +103,7 @@ class MissedParanetAssetRepository { [Sequelize.Op.lte]: delayDate, }, }, + ...options, }); return records.length; diff --git a/src/modules/repository/implementation/sequelize/repositories/operation-id-repository.js b/src/modules/repository/implementation/sequelize/repositories/operation-id-repository.js index 9d85d2da79..fbb660461e 100644 --- a/src/modules/repository/implementation/sequelize/repositories/operation-id-repository.js +++ b/src/modules/repository/implementation/sequelize/repositories/operation-id-repository.js @@ -6,32 +6,35 @@ class OperationIdRepository { this.model = models.operation_ids; } - async createOperationIdRecord(handlerData) { - return this.model.create(handlerData); + async createOperationIdRecord(handlerData, options) { + return this.model.create(handlerData, options); } - async getOperationIdRecord(operationId) { + async getOperationIdRecord(operationId, options) { return this.model.findOne({ where: { operationId, }, + ...options, }); } - async updateOperationIdRecord(data, operationId) { + async updateOperationIdRecord(data, operationId, options) { await this.model.update(data, { where: { operationId, }, + ...options, }); } - async removeOperationIdRecord(timeToBeDeleted, statuses) { + async removeOperationIdRecord(timeToBeDeleted, statuses, options) { await this.model.destroy({ where: { timestamp: { [Sequelize.Op.lt]: timeToBeDeleted }, status: { [Sequelize.Op.in]: statuses }, }, + ...options, }); } } diff --git a/src/modules/repository/implementation/sequelize/repositories/operation-repository.js b/src/modules/repository/implementation/sequelize/repositories/operation-repository.js index 270314c105..7ffc9223e1 100644 --- a/src/modules/repository/implementation/sequelize/repositories/operation-repository.js +++ b/src/modules/repository/implementation/sequelize/repositories/operation-repository.js @@ -8,27 +8,32 @@ class OperationRepository { publish: models.publish, update: models.update, publish_paranet: models.publish_paranet, + finality: models.finality, }; } - async createOperationRecord(operation, operationId, status) { + async createOperationRecord(operation, operationId, status, options) { const operationModel = operation.replace(/([a-z0-9])([A-Z])/g, '$1_$2').toLowerCase(); - return this.models[operationModel].create({ - operationId, - status, - }); + return this.models[operationModel].create( + { + operationId, + status, + }, + options, + ); } - async removeOperationRecords(operation, ids) { + async removeOperationRecords(operation, ids, options) { const operationModel = operation.replace(/([a-z0-9])([A-Z])/g, '$1_$2').toLowerCase(); return this.models[operationModel].destroy({ where: { id: { [Sequelize.Op.in]: ids }, }, + ...options, }); } - async findProcessedOperations(operation, timestamp, limit) { + async findProcessedOperations(operation, timestamp, limit, options) { const operationModel = operation.replace(/([a-z0-9])([A-Z])/g, '$1_$2').toLowerCase(); return this.models[`${operationModel}`].findAll({ where: { @@ -37,20 +42,22 @@ class OperationRepository { order: [['createdAt', 'asc']], raw: true, limit, + ...options, }); } - async getOperationStatus(operation, operationId) { + async getOperationStatus(operation, operationId, options) { const operationModel = operation.replace(/([a-z0-9])([A-Z])/g, '$1_$2').toLowerCase(); return this.models[operationModel].findOne({ attributes: ['status'], where: { operationId, }, + ...options, }); } - async updateOperationStatus(operation, operationId, status) { + async updateOperationStatus(operation, operationId, status, options) { const operationModel = operation.replace(/([a-z0-9])([A-Z])/g, '$1_$2').toLowerCase(); await this.models[operationModel].update( { status }, @@ -58,6 +65,7 @@ class OperationRepository { where: { operationId, }, + ...options, }, ); } diff --git a/src/modules/repository/implementation/sequelize/repositories/operation-response.js b/src/modules/repository/implementation/sequelize/repositories/operation-response.js index 0d728d6870..a52ce79788 100644 --- a/src/modules/repository/implementation/sequelize/repositories/operation-response.js +++ b/src/modules/repository/implementation/sequelize/repositories/operation-response.js @@ -8,30 +8,34 @@ class OperationResponseRepository { publish_response: models.publish_response, update_response: models.update_response, publish_paranet_response: models.publish_paranet_response, + finality_response: models.finality_response, }; } - async createOperationResponseRecord(status, operation, operationId, keyword, message) { + async createOperationResponseRecord(status, operation, operationId, message, options) { const operationModel = operation.replace(/([a-z0-9])([A-Z])/g, '$1_$2').toLowerCase(); - await this.models[`${operationModel}_response`].create({ - status, - message, - operationId, - keyword, - }); + await this.models[`${operationModel}_response`].create( + { + status, + message, + operationId, + }, + options, + ); } - async getOperationResponsesStatuses(operation, operationId) { + async getOperationResponsesStatuses(operation, operationId, options) { const operationModel = operation.replace(/([a-z0-9])([A-Z])/g, '$1_$2').toLowerCase(); return this.models[`${operationModel}_response`].findAll({ - attributes: ['status', 'keyword'], + attributes: ['status'], where: { operationId, }, + ...options, }); } - async findProcessedOperationResponse(timestamp, limit, operation) { + async findProcessedOperationResponse(timestamp, limit, operation, options) { const operationModel = operation.replace(/([a-z0-9])([A-Z])/g, '$1_$2').toLowerCase(); return this.models[`${operationModel}_response`].findAll({ where: { @@ -40,15 +44,17 @@ class OperationResponseRepository { order: [['createdAt', 'asc']], raw: true, limit, + ...options, }); } - async removeOperationResponse(ids, operation) { + async removeOperationResponse(ids, operation, options) { const operationModel = operation.replace(/([a-z0-9])([A-Z])/g, '$1_$2').toLowerCase(); await this.models[`${operationModel}_response`].destroy({ where: { id: { [Sequelize.Op.in]: ids }, }, + ...options, }); } } diff --git a/src/modules/repository/implementation/sequelize/repositories/paranet-repository.js b/src/modules/repository/implementation/sequelize/repositories/paranet-repository.js index 3b58e28f89..af46d4e4cb 100644 --- a/src/modules/repository/implementation/sequelize/repositories/paranet-repository.js +++ b/src/modules/repository/implementation/sequelize/repositories/paranet-repository.js @@ -6,7 +6,7 @@ class ParanetRepository { this.model = models.paranet; } - async createParanetRecord(name, description, paranetId, blockchainId) { + async createParanetRecord(name, description, paranetId, blockchainId, options) { return this.model.create( { name, @@ -17,20 +17,22 @@ class ParanetRepository { }, { ignoreDuplicates: true, + ...options, }, ); } - async getParanet(paranetId, blockchainId) { + async getParanet(paranetId, blockchainId, options) { return this.model.findOne({ where: { paranetId, blockchainId, }, + ...options, }); } - async addToParanetKaCount(paranetId, blockchainId, kaCount) { + async addToParanetKaCount(paranetId, blockchainId, kaCount, options) { return this.model.update( { kaCount: Sequelize.literal(`ka_count + ${kaCount}`), @@ -40,31 +42,34 @@ class ParanetRepository { paranetId, blockchainId, }, + ...options, }, ); } - async paranetExists(paranetId, blockchainId) { + async paranetExists(paranetId, blockchainId, options) { const paranetRecord = await this.model.findOne({ where: { paranetId, blockchainId, }, + ...options, }); return !!paranetRecord; } - async getParanetKnowledgeAssetsCount(paranetId, blockchainId) { + async getParanetKnowledgeAssetsCount(paranetId, blockchainId, options) { return this.model.findAll({ attributes: ['ka_count'], where: { paranetId, blockchainId, }, + ...options, }); } - async incrementParanetKaCount(paranetId, blockchainId) { + async incrementParanetKaCount(paranetId, blockchainId, options) { return this.model.update( { kaCount: Sequelize.literal(`ka_count + 1`), @@ -74,15 +79,17 @@ class ParanetRepository { paranetId, blockchainId, }, + ...options, }, ); } - async getParanetsBlockchains() { + async getParanetsBlockchains(options) { return this.model.findAll({ attributes: [ [Sequelize.fn('DISTINCT', Sequelize.col('blockchain_id')), 'blockchain_id'], ], + ...options, }); } } diff --git a/src/modules/repository/implementation/sequelize/repositories/paranet-synced-asset-repository.js b/src/modules/repository/implementation/sequelize/repositories/paranet-synced-asset-repository.js index 5405a8f041..c9cde1c422 100644 --- a/src/modules/repository/implementation/sequelize/repositories/paranet-synced-asset-repository.js +++ b/src/modules/repository/implementation/sequelize/repositories/paranet-synced-asset-repository.js @@ -13,36 +13,42 @@ class ParanetSyncedAssetRepository { sender, transactionHash, dataSource, + options, ) { - return this.model.create({ - blockchainId, - ual, - paranetUal, - publicAssertionId, - privateAssertionId, - sender, - transactionHash, - dataSource, - }); + return this.model.create( + { + blockchainId, + ual, + paranetUal, + publicAssertionId, + privateAssertionId, + sender, + transactionHash, + dataSource, + }, + options, + ); } - async getParanetSyncedAssetRecordByUAL(ual) { + async getParanetSyncedAssetRecordByUAL(ual, options) { return this.model.findOne({ where: { ual }, + ...options, }); } - async getParanetSyncedAssetRecordsCountByDataSource(paranetUal, dataSource) { + async getParanetSyncedAssetRecordsCountByDataSource(paranetUal, dataSource, options) { return this.model.count({ where: { paranetUal, dataSource, }, + ...options, }); } - async paranetSyncedAssetRecordExists(ual) { - const paranetSyncedAssetRecord = await this.getParanetSyncedAssetRecordByUAL(ual); + async paranetSyncedAssetRecordExists(ual, options) { + const paranetSyncedAssetRecord = await this.getParanetSyncedAssetRecordByUAL(ual, options); return !!paranetSyncedAssetRecord; } diff --git a/src/modules/repository/implementation/sequelize/repositories/service-agreement-repository.js b/src/modules/repository/implementation/sequelize/repositories/service-agreement-repository.js deleted file mode 100644 index 844a523dcd..0000000000 --- a/src/modules/repository/implementation/sequelize/repositories/service-agreement-repository.js +++ /dev/null @@ -1,336 +0,0 @@ -import Sequelize from 'sequelize'; - -class ServiceAgreementRepository { - constructor(models) { - this.sequelize = models.sequelize; - this.model = models.service_agreement; - } - - async updateServiceAgreementEpochsNumber(agreementId, epochsNumber) { - return this.model.update( - { epochsNumber }, - { - where: { agreementId }, - }, - ); - } - - async removeServiceAgreements(agreementIds) { - return this.model.destroy({ - where: { agreementId: { [Sequelize.Op.in]: agreementIds } }, - }); - } - - async removeServiceAgreementsForBlockchain(blockchainId) { - await this.model.destroy({ - where: { - blockchainId, - }, - }); - } - - async updateServiceAgreementRecord( - blockchainId, - assetStorageContractAddress, - tokenId, - agreementId, - startTime, - epochsNumber, - epochLength, - scoreFunctionId, - proofWindowOffsetPerc, - hashFunctionId, - keyword, - assertionId, - stateIndex, - dataSource, - lastCommitEpoch, - lastProofEpoch, - ) { - return this.model.upsert({ - blockchainId, - assetStorageContractAddress, - tokenId, - agreementId, - startTime, - epochsNumber, - epochLength, - scoreFunctionId, - proofWindowOffsetPerc, - hashFunctionId, - keyword, - assertionId, - stateIndex, - dataSource, - lastCommitEpoch, - lastProofEpoch, - }); - } - - async updateServiceAgreementForTokenId(tokenId, agreementId, keyword, assertionId, stateIndex) { - return this.model.update( - { - agreementId, - keyword, - assertionId, - stateIndex, - }, - { - where: { - tokenId, - }, - }, - ); - } - - async serviceAgreementExists(blockchainId, tokenId) { - const agreementRecord = await this.model.findOne({ - where: { - blockchainId, - tokenId, - }, - }); - return !!agreementRecord; - } - - async bulkCreateServiceAgreementRecords(serviceAgreements) { - return this.model.bulkCreate(serviceAgreements, { - ignoreDuplicates: true, - }); - } - - async getServiceAgreementRecord(agreementId) { - return this.model.findOne({ - where: { - agreementId, - }, - }); - } - - async updateServiceAgreementLastCommitEpoch(agreementId, lastCommitEpoch) { - return this.model.update( - { lastCommitEpoch }, - { - where: { - agreementId, - }, - }, - ); - } - - async updateServiceAgreementLastProofEpoch(agreementId, lastProofEpoch) { - return this.model.update( - { lastProofEpoch }, - { - where: { - agreementId, - }, - }, - ); - } - - async removeServiceAgreementRecord(blockchainId, contract, tokenId) { - await this.model.destroy({ - where: { - blockchainId, - assetStorageContractAddress: contract, - tokenId, - }, - }); - } - - getEligibleAgreementsForSubmitCommit( - timestampSeconds, - blockchain, - commitWindowDurationPerc, - startTimeDelay, - ) { - const cutoffTimestamp = timestampSeconds - startTimeDelay; - const currentEpoch = `FLOOR((${timestampSeconds} - start_time) / epoch_length)`; - const currentEpochPerc = `((${timestampSeconds} - start_time) % epoch_length) / epoch_length * 100`; - - return this.model.findAll({ - attributes: { - include: [ - [Sequelize.literal(currentEpoch), 'currentEpoch'], - [ - Sequelize.cast( - Sequelize.literal(`${commitWindowDurationPerc} - ${currentEpochPerc}`), - 'DOUBLE', - ), - 'timeLeftInSubmitCommitWindow', - ], - ], - }, - where: { - blockchainId: blockchain, - start_time: { - [Sequelize.Op.lt]: cutoffTimestamp, - }, - [Sequelize.Op.or]: [ - { - lastCommitEpoch: { - [Sequelize.Op.is]: null, - }, - }, - { - lastCommitEpoch: { - [Sequelize.Op.lt]: Sequelize.literal(currentEpoch), - }, - }, - ], - [Sequelize.Op.and]: Sequelize.literal( - `${currentEpochPerc} < ${commitWindowDurationPerc}`, - ), - epochsNumber: { - [Sequelize.Op.gt]: Sequelize.literal(currentEpoch), - }, - }, - order: [ - ['scoreFunctionId', 'DESC'], - [Sequelize.col('timeLeftInSubmitCommitWindow'), 'ASC'], - ], - limit: 500, - raw: true, - }); - } - - async getEligibleAgreementsForSubmitProof( - timestampSeconds, - blockchain, - proofWindowDurationPerc, - ) { - const currentEpoch = `FLOOR((${timestampSeconds} - start_time) / epoch_length)`; - const currentEpochPerc = `((${timestampSeconds} - start_time) % epoch_length) / epoch_length * 100`; - - return this.model.findAll({ - attributes: { - include: [ - [Sequelize.literal(currentEpoch), 'currentEpoch'], - [ - Sequelize.cast( - Sequelize.literal( - `proof_window_offset_perc + ${proofWindowDurationPerc} - ${currentEpochPerc}`, - ), - 'DOUBLE', - ), - 'timeLeftInSubmitProofWindow', - ], - ], - }, - where: { - blockchainId: blockchain, - lastCommitEpoch: { - [Sequelize.Op.eq]: Sequelize.literal(currentEpoch), - }, - [Sequelize.Op.or]: [ - { - lastProofEpoch: { - [Sequelize.Op.is]: null, - }, - }, - { - lastProofEpoch: { - [Sequelize.Op.lt]: Sequelize.literal(currentEpoch), - }, - }, - ], - proofWindowOffsetPerc: { - [Sequelize.Op.lte]: Sequelize.literal(`${currentEpochPerc}`), - [Sequelize.Op.gt]: Sequelize.literal( - `${currentEpochPerc} - ${proofWindowDurationPerc}`, - ), - }, - epochsNumber: { - [Sequelize.Op.gt]: Sequelize.literal(currentEpoch), - }, - }, - order: [ - ['scoreFunctionId', 'DESC'], - [Sequelize.col('timeLeftInSubmitProofWindow'), 'ASC'], - ], - limit: 500, - raw: true, - }); - } - - async getNumberOfActiveServiceAgreements() { - return this.model.count(); - } - - async getServiceAgreements(fromTokenId, batchSize) { - return this.model.findAll({ - where: { - tokenId: { [Sequelize.Op.gte]: fromTokenId }, - }, - limit: batchSize, - order: [['token_id', 'asc']], - }); - } - - async getServiceAgreementsTokenIds(fromTokenId, blockchainId) { - return this.model.findAll({ - attributes: ['tokenId'], - where: { - tokenId: { [Sequelize.Op.gte]: fromTokenId }, - blockchainId, - }, - order: [['token_id', 'asc']], - }); - } - - async getLatestServiceAgreementTokenId(blockchainId) { - return this.model.max('tokenId', { - where: { - blockchainId, - }, - }); - } - - async getCountOfServiceAgreementsByBlockchainAndContract(blockchainId, contract) { - return this.model.count({ - where: { - blockchainId, - assetStorageContractAddress: { - [Sequelize.Op.ne]: contract, - }, - }, - }); - } - - // Sequelize destroy method doesn't support limit - async removeServiceAgreementsByBlockchainAndContract(blockchainId, contract) { - const query = ` - DELETE FROM service_agreement - WHERE blockchain_id = '${blockchainId}' - AND asset_storage_contract_address != '${contract}' - LIMIT 100000; - `; - await this.sequelize.query(query, { - type: Sequelize.QueryTypes.DELETE, - }); - } - - async findDuplicateServiceAgreements(blockchainId) { - return this.model.findAll({ - attributes: ['token_id', [Sequelize.fn('COUNT', Sequelize.col('*')), 'count']], - where: { - blockchain_id: `${blockchainId}`, - }, - group: ['token_id'], - having: Sequelize.literal('count > 1'), - }); - } - - async findServiceAgreementsByTokenIds(tokenIds, blockchainId) { - return this.model.findAll({ - where: { - tokenId: { [Sequelize.Op.in]: tokenIds }, - blockchainId, - }, - order: [['token_id']], - }); - } -} - -export default ServiceAgreementRepository; diff --git a/src/modules/repository/implementation/sequelize/repositories/shard-repository.js b/src/modules/repository/implementation/sequelize/repositories/shard-repository.js index 32c674bb97..6d34ec9984 100644 --- a/src/modules/repository/implementation/sequelize/repositories/shard-repository.js +++ b/src/modules/repository/implementation/sequelize/repositories/shard-repository.js @@ -6,20 +6,22 @@ class ShardRepository { this.model = models.shard; } - async createManyPeerRecords(peerRecords) { + async createManyPeerRecords(peerRecords, options) { return this.model.bulkCreate(peerRecords, { validate: true, updateOnDuplicate: ['ask', 'stake', 'sha256'], + ...options, }); } - async removeShardingTablePeerRecords(blockchainId) { + async removeShardingTablePeerRecords(blockchainId, options) { return this.model.destroy({ where: { blockchainId }, + ...options, }); } - async createPeerRecord(peerId, blockchainId, ask, stake, lastSeen, sha256) { + async createPeerRecord(peerId, blockchainId, ask, stake, lastSeen, sha256, options) { return this.model.create( { peerId, @@ -31,11 +33,12 @@ class ShardRepository { }, { ignoreDuplicates: true, + ...options, }, ); } - async getAllPeerRecords(blockchainId) { + async getAllPeerRecords(blockchainId, options) { const query = { where: { blockchainId, @@ -50,12 +53,13 @@ class ShardRepository { 'sha256', ], order: [['sha256', 'asc']], + ...options, }; return this.model.findAll(query); } - async getPeerRecordsByIds(blockchainId, peerIds) { + async getPeerRecordsByIds(blockchainId, peerIds, options) { return this.model.findAll({ where: { blockchainId, @@ -63,27 +67,30 @@ class ShardRepository { [Sequelize.Op.in]: peerIds, }, }, + ...options, }); } - async getPeerRecord(peerId, blockchainId) { + async getPeerRecord(peerId, blockchainId, options) { return this.model.findOne({ where: { blockchainId, peerId, }, + ...options, }); } - async getPeersCount(blockchainId) { + async getPeersCount(blockchainId, options) { return this.model.count({ where: { blockchainId, }, + ...options, }); } - async getPeersToDial(limit, dialFrequencyMillis) { + async getPeersToDial(limit, dialFrequencyMillis, options) { const result = await this.model.findAll({ attributes: ['peer_id'], where: { @@ -95,11 +102,12 @@ class ShardRepository { group: ['peer_id', 'last_dialed'], limit, raw: true, + ...options, }); return (result ?? []).map((record) => ({ peerId: record.peer_id })); } - async updatePeerAsk(peerId, blockchainId, ask) { + async updatePeerAsk(peerId, blockchainId, ask, options) { return this.model.update( { ask }, { @@ -107,11 +115,12 @@ class ShardRepository { peerId, blockchainId, }, + ...options, }, ); } - async updatePeerStake(peerId, blockchainId, stake) { + async updatePeerStake(peerId, blockchainId, stake, options) { return this.model.update( { stake }, { @@ -119,22 +128,24 @@ class ShardRepository { peerId, blockchainId, }, + ...options, }, ); } - async updatePeerRecordLastDialed(peerId, timestamp) { + async updatePeerRecordLastDialed(peerId, timestamp, options) { return this.model.update( { lastDialed: timestamp, }, { where: { peerId }, + ...options, }, ); } - async updatePeerRecordLastSeenAndLastDialed(peerId, timestamp) { + async updatePeerRecordLastSeenAndLastDialed(peerId, timestamp, options) { return this.model.update( { lastDialed: timestamp, @@ -142,24 +153,36 @@ class ShardRepository { }, { where: { peerId }, + ...options, }, ); } - async removePeerRecord(blockchainId, peerId) { + async removePeerRecord(blockchainId, peerId, options) { await this.model.destroy({ where: { blockchainId, peerId, }, + ...options, }); } - async cleanShardingTable(blockchainId) { + async cleanShardingTable(blockchainId, options) { await this.model.destroy({ where: blockchainId ? { blockchainId } : {}, + ...options, }); } + + async isNodePartOfShard(blockchainId, peerId, options) { + const nodeIsPartOfShard = await this.model.findOne({ + where: { blockchainId, peerId }, + ...options, + }); + + return !!nodeIsPartOfShard; + } } export default ShardRepository; diff --git a/src/modules/repository/implementation/sequelize/repositories/token-repository.js b/src/modules/repository/implementation/sequelize/repositories/token-repository.js index 6c3e601267..3de7ba92a8 100644 --- a/src/modules/repository/implementation/sequelize/repositories/token-repository.js +++ b/src/modules/repository/implementation/sequelize/repositories/token-repository.js @@ -6,22 +6,25 @@ class TokenRepository { this.model = models.token; } - async saveToken(tokenId, userId, tokenName, expiresAt) { - return this.model.create({ - id: tokenId, - userId, - expiresAt, - name: tokenName, - }); + async saveToken(tokenId, userId, tokenName, expiresAt, options) { + return this.model.create( + { + id: tokenId, + userId, + expiresAt, + name: tokenName, + }, + options, + ); } - async isTokenRevoked(tokenId) { - const token = await this.model.findByPk(tokenId); + async isTokenRevoked(tokenId, options) { + const token = await this.model.findByPk(tokenId, options); return token && token.revoked; } - async getTokenAbilities(tokenId) { + async getTokenAbilities(tokenId, options) { const abilities = await this.sequelize.query( `SELECT a.name FROM token t INNER JOIN user u ON t.user_id = u.id @@ -29,7 +32,11 @@ class TokenRepository { INNER JOIN role_ability ra on r.id = ra.role_id INNER JOIN ability a on ra.ability_id = a.id WHERE t.id=$tokenId;`, - { bind: { tokenId }, type: Sequelize.QueryTypes.SELECT }, + { + bind: { tokenId }, + type: Sequelize.QueryTypes.SELECT, + ...options, + }, ); return abilities.map((e) => e.name); diff --git a/src/modules/repository/implementation/sequelize/repositories/user-repository.js b/src/modules/repository/implementation/sequelize/repositories/user-repository.js index c54a84a155..16fb043e81 100644 --- a/src/modules/repository/implementation/sequelize/repositories/user-repository.js +++ b/src/modules/repository/implementation/sequelize/repositories/user-repository.js @@ -4,11 +4,12 @@ class UserRepository { this.model = models.user; } - async getUser(username) { + async getUser(username, options) { return this.model.findOne({ where: { name: username, }, + ...options, }); } } diff --git a/src/modules/repository/implementation/sequelize/sequelize-repository.js b/src/modules/repository/implementation/sequelize/sequelize-repository.js index 81ee9db0ce..d145504935 100644 --- a/src/modules/repository/implementation/sequelize/sequelize-repository.js +++ b/src/modules/repository/implementation/sequelize/sequelize-repository.js @@ -12,7 +12,6 @@ import ParanetRepository from './repositories/paranet-repository.js'; import OperationIdRepository from './repositories/operation-id-repository.js'; import OperationRepository from './repositories/operation-repository.js'; import OperationResponseRepository from './repositories/operation-response.js'; -import ServiceAgreementRepository from './repositories/service-agreement-repository.js'; import ShardRepository from './repositories/shard-repository.js'; import TokenRepository from './repositories/token-repository.js'; import UserRepository from './repositories/user-repository.js'; @@ -43,7 +42,6 @@ class SequelizeRepository { operation_id: new OperationIdRepository(this.models), operation: new OperationRepository(this.models), operation_response: new OperationResponseRepository(this.models), - service_agreement: new ServiceAgreementRepository(this.models), shard: new ShardRepository(this.models), token: new TokenRepository(this.models), user: new UserRepository(this.models), @@ -75,7 +73,7 @@ class SequelizeRepository { } async createDatabaseIfNotExists() { - const connection = await mysql.createConnection({ + const connection = mysql.createConnection({ host: process.env.SEQUELIZE_REPOSITORY_HOST, port: process.env.SEQUELIZE_REPOSITORY_PORT, user: process.env.SEQUELIZE_REPOSITORY_USER, @@ -88,7 +86,7 @@ class SequelizeRepository { } async dropDatabase() { - const connection = await mysql.createConnection({ + const connection = mysql.createConnection({ host: process.env.SEQUELIZE_REPOSITORY_HOST, port: process.env.SEQUELIZE_REPOSITORY_PORT, user: process.env.SEQUELIZE_REPOSITORY_USER, @@ -129,20 +127,23 @@ class SequelizeRepository { }); } - transaction(execFn) { - return this.models.sequelize.transaction(async (t) => execFn(t)); + async transaction(execFn) { + if (execFn) { + return this.models.sequelize.transaction(async (t) => execFn(t)); + } + return this.models.sequelize.transaction(); } getRepository(repositoryName) { return this.repositories[repositoryName]; } - async query(query) { - return this.models.sequelize.query(query); + async query(query, options) { + return this.models.sequelize.query(query, options); } - async destroyAllRecords(table) { - return this.models[table].destroy({ where: {} }); + async destroyAllRecords(table, options) { + return this.models[table].destroy({ where: {}, ...options }); } } diff --git a/src/modules/repository/repository-module-manager.js b/src/modules/repository/repository-module-manager.js index 405a5bf02d..c51c850d58 100644 --- a/src/modules/repository/repository-module-manager.js +++ b/src/modules/repository/repository-module-manager.js @@ -12,7 +12,7 @@ class RepositoryModuleManager extends BaseModuleManager { return this.getImplementation().module.getRepository(repoName); } - transaction(execFn) { + async transaction(execFn) { if (this.initialized) { return this.getImplementation().module.transaction(execFn); } @@ -24,132 +24,157 @@ class RepositoryModuleManager extends BaseModuleManager { } } - async query(query) { + async query(query, options = {}) { if (this.initialized) { - return this.getImplementation().module.query(query); + return this.getImplementation().module.query(query, options); } } - async destroyAllRecords(table) { + async destroyAllRecords(table, options = {}) { if (this.initialized) { - return this.getImplementation().module.destroyAllRecords(table); + return this.getImplementation().module.destroyAllRecords(table, options); } } - async updateCommand(update, opts) { - return this.getRepository('command').updateCommand(update, opts); + async updateCommand(update, options = {}) { + return this.getRepository('command').updateCommand(update, options); } - async destroyCommand(name) { - return this.getRepository('command').destroyCommand(name); + async destroyCommand(name, options = {}) { + return this.getRepository('command').destroyCommand(name, options); } - async createCommand(command, opts) { - return this.getRepository('command').createCommand(command, opts); + async createCommand(command, options = {}) { + return this.getRepository('command').createCommand(command, options); } - async getCommandsWithStatus(statusArray, excludeNameArray = []) { - return this.getRepository('command').getCommandsWithStatus(statusArray, excludeNameArray); + async getCommandsWithStatus(statusArray, excludeNameArray = [], options = {}) { + return this.getRepository('command').getCommandsWithStatus( + statusArray, + excludeNameArray, + options, + ); + } + + async getCommandWithId(id, options = {}) { + return this.getRepository('command').getCommandWithId(id, options); } - async getCommandWithId(id) { - return this.getRepository('command').getCommandWithId(id); + async removeCommands(ids, options = {}) { + return this.getRepository('command').removeCommands(ids, options); } - async removeCommands(ids) { - return this.getRepository('command').removeCommands(ids); + async findFinalizedCommands(timestamp, limit, options = {}) { + return this.getRepository('command').findFinalizedCommands(timestamp, limit, options); } - async findFinalizedCommands(timestamp, limit) { - return this.getRepository('command').findFinalizedCommands(timestamp, limit); + async findUnfinalizedCommandsByName(limit, options = {}) { + return this.getRepository('command').findUnfinalizedCommandsByName(limit, options); } - async createOperationIdRecord(handlerData) { - return this.getRepository('operation_id').createOperationIdRecord(handlerData); + async createOperationIdRecord(handlerData, options = {}) { + return this.getRepository('operation_id').createOperationIdRecord(handlerData, options); } - async updateOperationIdRecord(data, operationId) { - return this.getRepository('operation_id').updateOperationIdRecord(data, operationId); + async updateOperationIdRecord(data, operationId, options = {}) { + return this.getRepository('operation_id').updateOperationIdRecord( + data, + operationId, + options, + ); } - async getOperationIdRecord(operationId) { - return this.getRepository('operation_id').getOperationIdRecord(operationId); + async getOperationIdRecord(operationId, options = {}) { + return this.getRepository('operation_id').getOperationIdRecord(operationId, options); } - async removeOperationIdRecord(timeToBeDeleted, statuses) { + async removeOperationIdRecord(timeToBeDeleted, statuses, options = {}) { return this.getRepository('operation_id').removeOperationIdRecord( timeToBeDeleted, statuses, + options, ); } - async createOperationRecord(operation, operationId, status) { + async createOperationRecord(operation, operationId, status, options = {}) { return this.getRepository('operation').createOperationRecord( operation, operationId, status, + options, ); } - async removeOperationRecords(operation, ids) { - return this.getRepository('operation').removeOperationRecords(operation, ids); + async removeOperationRecords(operation, ids, options = {}) { + return this.getRepository('operation').removeOperationRecords(operation, ids, options); } - async findProcessedOperations(operation, timestamp, limit) { - return this.getRepository('operation').findProcessedOperations(operation, timestamp, limit); + async findProcessedOperations(operation, timestamp, limit, options = {}) { + return this.getRepository('operation').findProcessedOperations( + operation, + timestamp, + limit, + options, + ); } - async getOperationStatus(operation, operationId) { - return this.getRepository('operation').getOperationStatus(operation, operationId); + async getOperationStatus(operation, operationId, options = {}) { + return this.getRepository('operation').getOperationStatus(operation, operationId, options); } - async updateOperationStatus(operation, operationId, status) { + async updateOperationStatus(operation, operationId, status, options = {}) { return this.getRepository('operation').updateOperationStatus( operation, operationId, status, + options, ); } - async createOperationResponseRecord(status, operation, operationId, keyword, errorMessage) { + async createOperationResponseRecord(status, operation, operationId, errorMessage, options) { return this.getRepository('operation_response').createOperationResponseRecord( status, operation, operationId, - keyword, errorMessage, + options, ); } - async getOperationResponsesStatuses(operation, operationId) { + async getOperationResponsesStatuses(operation, operationId, options = {}) { return this.getRepository('operation_response').getOperationResponsesStatuses( operation, operationId, + options, ); } - async findProcessedOperationResponse(timestamp, limit, operation) { + async findProcessedOperationResponse(timestamp, limit, operation, options = {}) { return this.getRepository('operation_response').findProcessedOperationResponse( timestamp, limit, operation, + options, ); } - async removeOperationResponse(ids, operation) { - return this.getRepository('operation_response').removeOperationResponse(ids, operation); + async removeOperationResponse(ids, operation, options = {}) { + return this.getRepository('operation_response').removeOperationResponse( + ids, + operation, + options, + ); } - // Sharding Table - async createManyPeerRecords(peers) { - return this.getRepository('shard').createManyPeerRecords(peers); + async createManyPeerRecords(peers, options = {}) { + return this.getRepository('shard').createManyPeerRecords(peers, options); } - async removeShardingTablePeerRecords(blockchain) { - return this.getRepository('shard').removeShardingTablePeerRecords(blockchain); + async removeShardingTablePeerRecords(blockchain, options = {}) { + return this.getRepository('shard').removeShardingTablePeerRecords(blockchain, options); } - async createPeerRecord(peerId, blockchain, ask, stake, lastSeen, sha256) { + async createPeerRecord(peerId, blockchain, ask, stake, lastSeen, sha256, options = {}) { return this.getRepository('shard').createPeerRecord( peerId, blockchain, @@ -157,382 +182,223 @@ class RepositoryModuleManager extends BaseModuleManager { stake, lastSeen, sha256, + options, ); } - async getPeerRecord(peerId, blockchain) { - return this.getRepository('shard').getPeerRecord(peerId, blockchain); + async getPeerRecord(peerId, blockchain, options = {}) { + return this.getRepository('shard').getPeerRecord(peerId, blockchain, options); } - async getAllPeerRecords(blockchain) { - return this.getRepository('shard').getAllPeerRecords(blockchain); + async getAllPeerRecords(blockchain, options = {}) { + return this.getRepository('shard').getAllPeerRecords(blockchain, options); } - async getPeerRecordsByIds(blockchain, peerIds) { - return this.getRepository('shard').getPeerRecordsByIds(blockchain, peerIds); + async getPeerRecordsByIds(blockchain, peerIds, options = {}) { + return this.getRepository('shard').getPeerRecordsByIds(blockchain, peerIds, options); } - async getPeersCount(blockchain) { - return this.getRepository('shard').getPeersCount(blockchain); + async getPeersCount(blockchain, options = {}) { + return this.getRepository('shard').getPeersCount(blockchain, options); } - async getPeersToDial(limit, dialFrequencyMillis) { - return this.getRepository('shard').getPeersToDial(limit, dialFrequencyMillis); + async getPeersToDial(limit, dialFrequencyMillis, options = {}) { + return this.getRepository('shard').getPeersToDial(limit, dialFrequencyMillis, options); } - async removePeerRecord(blockchain, peerId) { - return this.getRepository('shard').removePeerRecord(blockchain, peerId); + async removePeerRecord(blockchain, peerId, options = {}) { + return this.getRepository('shard').removePeerRecord(blockchain, peerId, options); } - async updatePeerRecordLastDialed(peerId, timestamp) { - return this.getRepository('shard').updatePeerRecordLastDialed(peerId, timestamp); + async updatePeerRecordLastDialed(peerId, timestamp, options = {}) { + return this.getRepository('shard').updatePeerRecordLastDialed(peerId, timestamp, options); } - async updatePeerRecordLastSeenAndLastDialed(peerId, timestamp) { - return this.getRepository('shard').updatePeerRecordLastSeenAndLastDialed(peerId, timestamp); + async updatePeerRecordLastSeenAndLastDialed(peerId, timestamp, options = {}) { + return this.getRepository('shard').updatePeerRecordLastSeenAndLastDialed( + peerId, + timestamp, + options, + ); } - async updatePeerAsk(peerId, blockchainId, ask) { - return this.getRepository('shard').updatePeerAsk(peerId, blockchainId, ask); + async updatePeerAsk(peerId, blockchainId, ask, options = {}) { + return this.getRepository('shard').updatePeerAsk(peerId, blockchainId, ask, options); } - async updatePeerStake(peerId, blockchainId, stake) { - return this.getRepository('shard').updatePeerStake(peerId, blockchainId, stake); + async updatePeerStake(peerId, blockchainId, stake, options = {}) { + return this.getRepository('shard').updatePeerStake(peerId, blockchainId, stake, options); } - async getNeighbourhood(assertionId, r2) { - return this.getRepository('shard').getNeighbourhood(assertionId, r2); + async getNeighbourhood(assertionId, r2, options = {}) { + return this.getRepository('shard').getNeighbourhood(assertionId, r2, options); } - async cleanShardingTable(blockchainId) { - return this.getRepository('shard').cleanShardingTable(blockchainId); + async cleanShardingTable(blockchainId, options = {}) { + return this.getRepository('shard').cleanShardingTable(blockchainId, options); } - async getUnpublishedEvents() { - return this.getRepository('event').getUnpublishedEvents(); + async isNodePartOfShard(blockchainId, peerId, options = {}) { + return this.getRepository('shard').isNodePartOfShard(blockchainId, peerId, options); } - async destroyEvents(ids) { - return this.getRepository('event').destroyEvents(ids); + async destroyEvents(ids, options = {}) { + return this.getRepository('event').destroyEvents(ids, options); } - async getUser(username) { - return this.getRepository('user').getUser(username); + async getUser(username, options = {}) { + return this.getRepository('user').getUser(username, options); } - async saveToken(tokenId, userId, tokenName, expiresAt) { - return this.getRepository('token').saveToken(tokenId, userId, tokenName, expiresAt); + async saveToken(tokenId, userId, tokenName, expiresAt, options = {}) { + return this.getRepository('token').saveToken( + tokenId, + userId, + tokenName, + expiresAt, + options, + ); } - async isTokenRevoked(tokenId) { - return this.getRepository('token').isTokenRevoked(tokenId); + async isTokenRevoked(tokenId, options = {}) { + return this.getRepository('token').isTokenRevoked(tokenId, options); } - async getTokenAbilities(tokenId) { - return this.getRepository('token').getTokenAbilities(tokenId); + async getTokenAbilities(tokenId, options = {}) { + return this.getRepository('token').getTokenAbilities(tokenId, options); } - async insertBlockchainEvents(events) { - return this.getRepository('blockchain_event').insertBlockchainEvents(events); + async insertBlockchainEvents(events, options = {}) { + return this.getRepository('blockchain_event').insertBlockchainEvents(events, options); } - async getAllUnprocessedBlockchainEvents(eventNames, blockchainId) { + async getAllUnprocessedBlockchainEvents(blockchain, eventNames, options = {}) { return this.getRepository('blockchain_event').getAllUnprocessedBlockchainEvents( + blockchain, eventNames, - blockchainId, + options, ); } - async markBlockchainEventsAsProcessed(events) { - return this.getRepository('blockchain_event').markBlockchainEventsAsProcessed(events); - } - - async removeBlockchainEvents(contract) { - return this.getRepository('blockchain_event').removeBlockchainEvents(contract); - } - - async removeEvents(ids) { - return this.getRepository('blockchain_event').removeEvents(ids); - } - - async findProcessedEvents(timestamp, limit) { - return this.getRepository('blockchain_event').findProcessedEvents(timestamp, limit); - } - - async removeLastCheckedBlockForContract(contract) { - return this.getRepository('blockchain').removeLastCheckedBlockForContract(contract); - } - - async getLastCheckedBlock(blockchainId, contract) { - return this.getRepository('blockchain').getLastCheckedBlock(blockchainId, contract); - } - - async updateLastCheckedBlock(blockchainId, currentBlock, timestamp, contract) { - return this.getRepository('blockchain').updateLastCheckedBlock( - blockchainId, - currentBlock, - timestamp, - contract, + async markAllBlockchainEventsAsProcessed(blockchain, options = {}) { + return this.getRepository('blockchain_event').markAllBlockchainEventsAsProcessed( + blockchain, + options, ); } - async getOrCreateParanetById(paranetId) { - return this.getRepository('paranet').getOrCreateParanet(paranetId); + async removeEvents(ids, options = {}) { + return this.getRepository('blockchain_event').removeEvents(ids, options); } - async addToParanetKaCount(paranetId, blockchainId, kaCount) { - return this.getRepository('paranet').addToParanetKaCount(paranetId, blockchainId, kaCount); - } - - async updateServiceAgreementRecord( - blockchainId, - contract, - tokenId, - agreementId, - startTime, - epochsNumber, - epochLength, - scoreFunctionId, - proofWindowOffsetPerc, - hashFunctionId, - keyword, - assertionId, - stateIndex, - dataSource, - lastCommitEpoch, - lastProofEpoch, - ) { - if (this.initialized) { - return this.getRepository('service_agreement').updateServiceAgreementRecord( - blockchainId, - contract, - tokenId, - agreementId, - startTime, - epochsNumber, - epochLength, - scoreFunctionId, - proofWindowOffsetPerc, - hashFunctionId, - keyword, - assertionId, - stateIndex, - dataSource, - lastCommitEpoch, - lastProofEpoch, - ); - } - } - - async updateServiceAgreementForTokenId(tokenId, agreementId, keyword, assertionId, stateIndex) { - if (this.initialized) { - return this.getRepository('service_agreement').updateServiceAgreementForTokenId( - tokenId, - agreementId, - keyword, - assertionId, - stateIndex, - ); - } - } - - async serviceAgreementExists(blockchain, tokenId) { - if (this.initialized) { - return this.getRepository('service_agreement').serviceAgreementExists( - blockchain, - tokenId, - ); - } - } - - async bulkCreateServiceAgreementRecords(records) { - if (this.initialized) { - return this.getRepository('service_agreement').bulkCreateServiceAgreementRecords( - records, - ); - } - } - - async getServiceAgreementRecord(agreementId) { - if (this.initialized) { - return this.getRepository('service_agreement').getServiceAgreementRecord(agreementId); - } - } - - async updateServiceAgreementLastCommitEpoch(agreementId, lastCommitEpoch) { - if (this.initialized) { - return this.getRepository('service_agreement').updateServiceAgreementLastCommitEpoch( - agreementId, - lastCommitEpoch, - ); - } - } - - async updateServiceAgreementLastProofEpoch(agreementId, lastProofEpoch) { - if (this.initialized) { - return this.getRepository('service_agreement').updateServiceAgreementLastProofEpoch( - agreementId, - lastProofEpoch, - ); - } - } - - async removeServiceAgreementRecord(blockchainId, contract, tokenId) { - if (this.initialized) { - return this.getRepository('service_agreement').removeServiceAgreementRecord( - blockchainId, - contract, - tokenId, - ); - } - } - - async getCountOfServiceAgreementsByBlockchainAndContract(blockchainId, contract) { - if (this.initialized) { - return this.getRepository( - 'service_agreement', - ).getCountOfServiceAgreementsByBlockchainAndContract(blockchainId, contract); - } - } - - async removeServiceAgreementsByBlockchainAndContract(blockchainId, contract) { - if (this.initialized) { - return this.getRepository( - 'service_agreement', - ).removeServiceAgreementsByBlockchainAndContract(blockchainId, contract); - } - } - - async getEligibleAgreementsForSubmitCommit( - timestampSeconds, + async removeContractEventsAfterBlock( blockchain, - commitWindowDurationPerc, - ask, - startTimeDelay, - ) { - if (this.initialized) { - return this.getRepository('service_agreement').getEligibleAgreementsForSubmitCommit( - timestampSeconds, - blockchain, - commitWindowDurationPerc, - ask, - startTimeDelay, - ); - } - } - - async getEligibleAgreementsForSubmitProof( - timestampSeconds, - blockchain, - proofWindowDurationPerc, + contract, + contractAddress, + blockNumber, + transactionIndex, + options = {}, ) { - if (this.initialized) { - return this.getRepository('service_agreement').getEligibleAgreementsForSubmitProof( - timestampSeconds, - blockchain, - proofWindowDurationPerc, - ); - } - } - - async removeServiceAgreements(agreementIds) { - return this.getRepository('service_agreement').removeServiceAgreements(agreementIds); - } - - async removeServiceAgreementsForBlockchain(blockchainId) { - return this.getRepository('service_agreement').removeServiceAgreementsForBlockchain( - blockchainId, + return this.getRepository('blockchain_event').removeContractEventsAfterBlock( + blockchain, + contract, + contractAddress, + blockNumber, + transactionIndex, + options, ); } - async updateServiceAgreementEpochsNumber(agreementId, epochsNumber) { - return this.getRepository('service_agreement').updateServiceAgreementEpochsNumber( - agreementId, - epochsNumber, + async findProcessedEvents(timestamp, limit, options = {}) { + return this.getRepository('blockchain_event').findProcessedEvents( + timestamp, + limit, + options, ); } - async getNumberOfActiveServiceAgreements() { - return this.getRepository('service_agreement').getNumberOfActiveServiceAgreements(); + async getLastCheckedBlock(blockchain, options = {}) { + return this.getRepository('blockchain').getLastCheckedBlock(blockchain, options); } - async getServiceAgreements(fromTokenId, batchSize) { - return this.getRepository('service_agreement').getServiceAgreements(fromTokenId, batchSize); - } - - async getServiceAgreementsTokenIds(fromTokenId, blockchainId) { - return this.getRepository('service_agreement').getServiceAgreementsTokenIds( - fromTokenId, - blockchainId, - ); - } - - async getLatestServiceAgreementTokenId(blockchainId) { - return this.getRepository('service_agreement').getLatestServiceAgreementTokenId( - blockchainId, + async updateLastCheckedBlock(blockchain, currentBlock, timestamp, options = {}) { + return this.getRepository('blockchain').updateLastCheckedBlock( + blockchain, + currentBlock, + timestamp, + options, ); } - async findDuplicateServiceAgreements(blockchainId) { - return this.getRepository('service_agreement').findDuplicateServiceAgreements(blockchainId); - } - - async findServiceAgreementsByTokenIds(tokenIds, blockchainId) { - return this.getRepository('service_agreement').findServiceAgreementsByTokenIds( - tokenIds, + async addToParanetKaCount(paranetId, blockchainId, kaCount, options = {}) { + return this.getRepository('paranet').addToParanetKaCount( + paranetId, blockchainId, + kaCount, + options, ); } - async createParanetRecord(name, description, paranetId, blockchainId) { + async createParanetRecord(name, description, paranetId, blockchainId, options = {}) { this.getRepository('paranet').createParanetRecord( name, description, paranetId, blockchainId, + options, ); } - async paranetExists(paranetId, blockchainId) { - return this.getRepository('paranet').paranetExists(paranetId, blockchainId); + async paranetExists(paranetId, blockchainId, options = {}) { + return this.getRepository('paranet').paranetExists(paranetId, blockchainId, options); } - async getParanet(paranetId, blockchainId) { - return this.getRepository('paranet').getParanet(paranetId, blockchainId); + async getParanet(paranetId, blockchainId, options = {}) { + return this.getRepository('paranet').getParanet(paranetId, blockchainId, options); } - async getParanetKnowledgeAssetsCount(paranetId, blockchainId) { + async getParanetKnowledgeAssetsCount(paranetId, blockchainId, options = {}) { return this.getRepository('paranet').getParanetKnowledgeAssetsCount( paranetId, blockchainId, + options, ); } - async createMissedParanetAssetRecord(missedParanetAssset) { + async createMissedParanetAssetRecord(missedParanetAssset, options = {}) { return this.getRepository('missed_paranet_asset').createMissedParanetAssetRecord( missedParanetAssset, + options, ); } - async getMissedParanetAssetRecords(blockchainId) { + async getMissedParanetAssetRecords(blockchainId, options = {}) { return this.getRepository('missed_paranet_asset').getMissedParanetAssetRecords( blockchainId, + options, ); } - async missedParanetAssetRecordExists(ual) { - return this.getRepository('missed_paranet_asset').missedParanetAssetRecordExists(ual); + async missedParanetAssetRecordExists(ual, options = {}) { + return this.getRepository('missed_paranet_asset').missedParanetAssetRecordExists( + ual, + options, + ); } - async removeMissedParanetAssetRecordsByUAL(ual) { - return this.getRepository('missed_paranet_asset').removeMissedParanetAssetRecordsByUAL(ual); + async removeMissedParanetAssetRecordsByUAL(ual, options = {}) { + return this.getRepository('missed_paranet_asset').removeMissedParanetAssetRecordsByUAL( + ual, + options, + ); } async getMissedParanetAssetsRecordsWithRetryCount( paranetUal, retryCountLimit, retryDelayInMs, - count, + limit = null, + options = {}, ) { return this.getRepository( 'missed_paranet_asset', @@ -540,24 +406,34 @@ class RepositoryModuleManager extends BaseModuleManager { paranetUal, retryCountLimit, retryDelayInMs, - count, + limit, + options, ); } - async getCountOfMissedAssetsOfParanet(ual) { - return this.getRepository('missed_paranet_asset').getCountOfMissedAssetsOfParanet(ual); + async getCountOfMissedAssetsOfParanet(ual, options = {}) { + return this.getRepository('missed_paranet_asset').getCountOfMissedAssetsOfParanet( + ual, + options, + ); } - async getFilteredCountOfMissedAssetsOfParanet(ual, retryCountLimit, retryDelayInMs) { + async getFilteredCountOfMissedAssetsOfParanet( + ual, + retryCountLimit, + retryDelayInMs, + options = {}, + ) { return this.getRepository('missed_paranet_asset').getFilteredCountOfMissedAssetsOfParanet( ual, retryCountLimit, retryDelayInMs, + options, ); } - async getParanetsBlockchains() { - return this.getRepository('paranet').getParanetsBlockchains(); + async getParanetsBlockchains(options = {}) { + return this.getRepository('paranet').getParanetsBlockchains(options); } async createParanetSyncedAssetRecord( @@ -569,6 +445,7 @@ class RepositoryModuleManager extends BaseModuleManager { sender, transactionHash, dataSource, + options = {}, ) { return this.getRepository('paranet_synced_asset').createParanetSyncedAssetRecord( blockchainId, @@ -579,25 +456,36 @@ class RepositoryModuleManager extends BaseModuleManager { sender, transactionHash, dataSource, + options, ); } - async getParanetSyncedAssetRecordByUAL(ual) { - return this.getRepository('paranet_synced_asset').getParanetSyncedAssetRecordByUAL(ual); + async getParanetSyncedAssetRecordByUAL(ual, options = {}) { + return this.getRepository('paranet_synced_asset').getParanetSyncedAssetRecordByUAL( + ual, + options, + ); } - async getParanetSyncedAssetRecordsCountByDataSource(paranetUal, dataSource) { + async getParanetSyncedAssetRecordsCountByDataSource(paranetUal, dataSource, options = {}) { return this.getRepository( 'paranet_synced_asset', - ).getParanetSyncedAssetRecordsCountByDataSource(paranetUal, dataSource); + ).getParanetSyncedAssetRecordsCountByDataSource(paranetUal, dataSource, options); } - async paranetSyncedAssetRecordExists(ual) { - return this.getRepository('paranet_synced_asset').paranetSyncedAssetRecordExists(ual); + async paranetSyncedAssetRecordExists(ual, options = {}) { + return this.getRepository('paranet_synced_asset').paranetSyncedAssetRecordExists( + ual, + options, + ); } - async incrementParanetKaCount(paranetId, blockchainId) { - return this.getRepository('paranet').incrementParanetKaCount(paranetId, blockchainId); + async incrementParanetKaCount(paranetId, blockchainId, options = {}) { + return this.getRepository('paranet').incrementParanetKaCount( + paranetId, + blockchainId, + options, + ); } } diff --git a/src/modules/triple-store/implementation/ot-blazegraph/ot-blazegraph.js b/src/modules/triple-store/implementation/ot-blazegraph/ot-blazegraph.js index bf770bdede..e6567c5b75 100644 --- a/src/modules/triple-store/implementation/ot-blazegraph/ot-blazegraph.js +++ b/src/modules/triple-store/implementation/ot-blazegraph/ot-blazegraph.js @@ -19,7 +19,18 @@ class OtBlazegraph extends OtTripleStore { if (!(await this.repositoryExists(repository))) { await axios.post( `${url}/blazegraph/namespace`, - `com.bigdata.rdf.sail.truthMaintenance=false\ncom.bigdata.namespace.${name}.lex.com.bigdata.btree.BTree.branchingFactor=400\ncom.bigdata.rdf.store.AbstractTripleStore.textIndex=false\ncom.bigdata.rdf.store.AbstractTripleStore.justify=false\ncom.bigdata.namespace.${name}.spo.com.bigdata.btree.BTree.branchingFactor=1024\ncom.bigdata.rdf.store.AbstractTripleStore.statementIdentifiers=false\ncom.bigdata.rdf.store.AbstractTripleStore.axiomsClass=com.bigdata.rdf.axioms.NoAxioms\ncom.bigdata.rdf.sail.namespace=${name}\ncom.bigdata.rdf.store.AbstractTripleStore.quads=true\ncom.bigdata.rdf.store.AbstractTripleStore.geoSpatial=false\ncom.bigdata.journal.Journal.groupCommit=false\ncom.bigdata.rdf.sail.isolatableIndices=false\n`, + `com.bigdata.rdf.sail.truthMaintenance=false\n` + + `com.bigdata.namespace.${name}.lex.com.bigdata.btree.BTree.branchingFactor=400\n` + + `com.bigdata.rdf.store.AbstractTripleStore.textIndex=false\n` + + `com.bigdata.rdf.store.AbstractTripleStore.justify=false\n` + + `com.bigdata.namespace.${name}.spo.com.bigdata.btree.BTree.branchingFactor=1024\n` + + `com.bigdata.rdf.store.AbstractTripleStore.statementIdentifiers=false\n` + + `com.bigdata.rdf.store.AbstractTripleStore.axiomsClass=com.bigdata.rdf.axioms.NoAxioms\n` + + `com.bigdata.rdf.sail.namespace=${name}\n` + + `com.bigdata.rdf.store.AbstractTripleStore.quads=true\n` + + `com.bigdata.rdf.store.AbstractTripleStore.geoSpatial=false\n` + + `com.bigdata.journal.Journal.groupCommit=false\n` + + `com.bigdata.rdf.sail.isolatableIndices=false\n`, { headers: { 'Content-Type': 'text/plain', @@ -37,21 +48,6 @@ class OtBlazegraph extends OtTripleStore { ].sparqlEndpointUpdate = `${url}/blazegraph/namespace/${name}/sparql`; } - async insertAssertion(repository, assertionId, assertionNquads) { - const exists = await this.assertionExists(repository, assertionId); - - if (!exists) { - return axios({ - method: 'post', - url: `${this.repositories[repository].sparqlEndpointUpdate}?context-uri=assertion:${assertionId}`, - headers: { - 'Content-Type': 'text/x-nquads', - }, - data: assertionNquads, - }); - } - } - hasUnicodeCodePoints(input) { return this.unicodeRegex.test(input); } diff --git a/src/modules/triple-store/implementation/ot-triple-store.js b/src/modules/triple-store/implementation/ot-triple-store.js index f36687524c..e9ae282ad0 100644 --- a/src/modules/triple-store/implementation/ot-triple-store.js +++ b/src/modules/triple-store/implementation/ot-triple-store.js @@ -5,6 +5,9 @@ import { TRIPLE_STORE_CONNECT_MAX_RETRIES, TRIPLE_STORE_CONNECT_RETRY_FREQUENCY, MEDIA_TYPES, + UAL_PREDICATE, + BASE_NAMED_GRAPHS, + TRIPLE_ANNOTATION_LABEL_PREDICATE, } from '../../../constants/constants.js'; class OtTripleStore { @@ -97,184 +100,362 @@ class OtTripleStore { await Promise.all(ensureConnectionPromises); } - async assetExists(repository, ual) { - const query = `PREFIX schema: <${SCHEMA_CONTEXT}> - ASK WHERE { - GRAPH { - <${ual}> ?p ?o - } - }`; + async insertKnowledgeCollectionIntoUnifiedGraph(repository, namedGraph, collectionNQuads) { + const query = ` + PREFIX schema: <${SCHEMA_CONTEXT}> + INSERT DATA { + GRAPH <${namedGraph}> { + ${collectionNQuads.join('\n')} + } + } + `; - return this.ask(repository, query); + await this.queryVoid(repository, query); } - async insertAssetAssertionLink(repository, ual, assertionId) { - const assetExists = await this.assetExists(repository, ual); + async deleteUniqueKnowledgeCollectionTriplesFromUnifiedGraph(repository, namedGraph, ual) { + const query = ` + DELETE { + GRAPH <${namedGraph}> { + ?s ?p ?o . + << ?s ?p ?o >> ?annotationPredicate ?annotationValue . + } + } + WHERE { + GRAPH <${namedGraph}> { + << ?s ?p ?o >> ${UAL_PREDICATE} ?annotationValue . + } + FILTER(STRSTARTS(STR(?annotationValue), "${ual}/")) - if (assetExists) { - const insertQuery = ` - PREFIX schema: <${SCHEMA_CONTEXT}> - INSERT DATA { - GRAPH { - <${ual}> schema:assertion . + { + SELECT ?s ?p ?o (COUNT(?annotationValue) AS ?annotationCount) + WHERE { + GRAPH <${namedGraph}> { + << ?s ?p ?o >> ${UAL_PREDICATE} ?annotationValue . + } } - }`; - await this.queryVoid(repository, insertQuery); - } + GROUP BY ?s ?p ?o + HAVING(?annotationCount = 1) + } + } + `; + + await this.queryVoid(repository, query); } - async deleteAssetAssertionLink(repository, ual, assertionId) { - const linkExists = await this.assetAssertionLinkExists(repository, ual, assertionId); + async getKnowledgeCollectionFromUnifiedGraph(repository, namedGraph, ual, sort) { + const query = ` + PREFIX schema: <${SCHEMA_CONTEXT}> + CONSTRUCT { ?s ?p ?o . } + WHERE { + GRAPH <${namedGraph}> { + << ?s ?p ?o >> ${UAL_PREDICATE} ?ual . + FILTER(STRSTARTS(STR(?ual), "${ual}/")) + } + } + ${sort ? 'ORDER BY ?s' : ''} + `; + + return this.construct(repository, query); + } - if (linkExists) { - const deleteQuery = ` - PREFIX schema: <${SCHEMA_CONTEXT}> - DELETE DATA { - GRAPH { - <${ual}> schema:assertion . + async getKnowledgeCollectionPublicFromUnifiedGraph(repository, namedGraph, ual, sort) { + const query = ` + PREFIX schema: <${SCHEMA_CONTEXT}> + CONSTRUCT { ?s ?p ?o } + WHERE { + GRAPH <${namedGraph}> { + << ?s ?p ?o >> ${UAL_PREDICATE} ?ual . + FILTER(STRSTARTS(STR(?ual), "${ual}/")) + FILTER NOT EXISTS { + << ?s ?p ?o >> ${TRIPLE_ANNOTATION_LABEL_PREDICATE} "private" . } - }`; - await this.queryVoid(repository, deleteQuery); - } + } + } + ${sort ? 'ORDER BY ?s' : ''} + `; + + return this.construct(repository, query); } - async updateAssetAssertionLink(repository, ual, oldAssertionId, newAssertionId) { - const linkExists = await this.assetAssertionLinkExists(repository, ual, oldAssertionId); + async knowledgeCollectionExistsInUnifiedGraph(repository, namedGraph, ual) { + const query = ` + ASK + WHERE { + GRAPH <${namedGraph}> { + << ?s ?p ?o >> ${UAL_PREDICATE} ?ual + FILTER(STRSTARTS(STR(?ual), "${ual}/")) + } + } + `; - if (linkExists) { - const updateQuery = ` - PREFIX schema: <${SCHEMA_CONTEXT}> - DELETE { - GRAPH { - <${ual}> schema:assertion . - } - } INSERT { - GRAPH { - <${ual}> schema:assertion . - } - } WHERE { - GRAPH { - <${ual}> schema:assertion . - } - }`; - await this.queryVoid(repository, updateQuery); - } + return this.ask(repository, query); } - async getAssetAssertionLinks(repository, ual) { - const query = `PREFIX schema: <${SCHEMA_CONTEXT}> - SELECT ?assertion WHERE { - GRAPH { - <${ual}> schema:assertion ?assertion - } - }`; + async deleteUniqueKnowledgeAssetTriplesFromUnifiedGraph(repository, namedGraph, ual) { + const query = ` + DELETE { + GRAPH <${namedGraph}> { + ?s ?p ?o . + << ?s ?p ?o >> ?annotationPredicate ?annotationValue . + } + } + WHERE { + GRAPH <${namedGraph}> { + << ?s ?p ?o >> ${UAL_PREDICATE} <${ual}> . + } + + { + SELECT ?s ?p ?o (COUNT(?annotationValue) AS ?annotationCount) + WHERE { + GRAPH <${namedGraph}> { + << ?s ?p ?o >> ${UAL_PREDICATE} ?annotationValue . + } + } + GROUP BY ?s ?p ?o + HAVING(?annotationCount = 1) + } + } + `; - return this.select(repository, query); + await this.queryVoid(repository, query); } - async assetAssertionLinkExists(repository, ual, assertionId) { + async getKnowledgeAssetFromUnifiedGraph(repository, namedGraph, ual) { const query = ` PREFIX schema: <${SCHEMA_CONTEXT}> - ASK { - GRAPH { - <${ual}> schema:assertion . + CONSTRUCT { ?s ?p ?o . } + WHERE { + GRAPH <${namedGraph}> { + << ?s ?p ?o >> ${UAL_PREDICATE} <${ual}> . } - }`; + } + `; - return this.ask(repository, query); + return this.construct(repository, query); } - async updateAssetNonAssertionMetadata(repository, ual, assetNquads) { - const updateQuery = ` + async getKnowledgeAssetPublicFromUnifiedGraph(repository, namedGraph, ual) { + const query = ` PREFIX schema: <${SCHEMA_CONTEXT}> - DELETE { - GRAPH { - <${ual}> ?p ?o . - FILTER(?p != schema:assertion) + CONSTRUCT { ?s ?p ?o } + WHERE { + GRAPH <${namedGraph}> { + << ?s ?p ?o >> ${UAL_PREDICATE} <${ual}> . + FILTER NOT EXISTS { + << ?s ?p ?o >> ${TRIPLE_ANNOTATION_LABEL_PREDICATE} "private" . + } } } - INSERT { - GRAPH { - ${assetNquads} + `; + + return this.construct(repository, query); + } + + async knowledgeAssetExistsInUnifiedGraph(repository, namedGraph, ual) { + const query = ` + ASK + WHERE { + GRAPH <${namedGraph}> { + << ?s ?p ?o >> ${UAL_PREDICATE} <${ual}> } } + `; + + return this.ask(repository, query); + } + + async createKnowledgeCollectionNamedGraphs(repository, uals, assetsNQuads) { + const query = ` + PREFIX schema: <${SCHEMA_CONTEXT}> + INSERT DATA { + ${uals + .map( + (ual, index) => ` + GRAPH <${ual}> { + ${assetsNQuads[index].join('\n')} + } + `, + ) + .join('\n')} + } + `; + + await this.queryVoid(repository, query); + } + + async deleteKnowledgeCollectionNamedGraphs(repository, uals) { + const query = `${uals.map((ual) => `DROP GRAPH <${ual}>`).join(';\n')};`; + + await this.queryVoid(repository, query); + } + + async getKnowledgeCollectionNamedGraphs(repository, ual, sort) { + const query = ` + PREFIX schema: <${SCHEMA_CONTEXT}> + CONSTRUCT { ?s ?p ?o . } WHERE { - GRAPH { - <${ual}> ?p ?o . - FILTER(?p != schema:assertion) + GRAPH ?g { + ?s ?p ?o . } - }`; - await this.queryVoid(repository, updateQuery); + FILTER(STRSTARTS(STR(?g), "${ual}/")) + } + ${sort ? 'ORDER BY ?s' : ''} + `; + + return this.construct(repository, query); } - async deleteAssetMetadata(repository, ual) { - const query = `DELETE WHERE { - GRAPH { - <${ual}> ?p ?o + async getKnowledgeCollectionNamedGraphsPublic(repository, ual, sort) { + const query = ` + PREFIX schema: <${SCHEMA_CONTEXT}> + CONSTRUCT { ?s ?p ?o } + WHERE { + GRAPH ?g { + ?s ?p ?o . + FILTER NOT EXISTS { + << ?s ?p ?o >> ${TRIPLE_ANNOTATION_LABEL_PREDICATE} "private" . + } } - };`; + FILTER(STRSTARTS(STR(?g), "${ual}/")) + } + ${sort ? 'ORDER BY ?s' : ''} + `; - return this.queryVoid(repository, query); + return this.construct(repository, query); } - async countAssetsWithAssertionId(repository, assertionId) { - const query = `PREFIX schema: <${SCHEMA_CONTEXT}> - SELECT (COUNT(DISTINCT ?ual) as ?count) - WHERE { - GRAPH { - ?ual schema:assertion - } - }`; - return this.select(repository, query); + async knowledgeCollectionNamedGraphsExist(repository, ual) { + const query = ` + ASK { + GRAPH ?g { + ?s ?p ?o + } + FILTER(STRSTARTS(STR(?g), "${ual}/")) + } + `; + + return this.ask(repository, query); } - async getAssetAssertionIds(repository, ual) { - const query = `PREFIX schema: <${SCHEMA_CONTEXT}> - SELECT DISTINCT ?assertionId - WHERE { - GRAPH { - <${ual}> schema:assertion ?assertionId . - } - }`; - return this.select(repository, query); + async deleteKnowledgeAssetNamedGraph(repository, ual) { + const query = ` + DROP GRAPH <${ual}> + `; + + await this.queryVoid(repository, query); } - async insertAssetAssertionMetadata(repository, ual, assetNquads, checkExists) { - if (checkExists) { - const existedBeforeInsertion = await this.assetExists(repository, ual); - if (existedBeforeInsertion) { - return; + async getKnowledgeAssetNamedGraph(repository, ual) { + const query = ` + PREFIX schema: <${SCHEMA_CONTEXT}> + CONSTRUCT { ?s ?p ?o } + WHERE { + GRAPH <${ual}> { + ?s ?p ?o . + } } - } + `; + + return this.construct(repository, query); + } + async getKnowledgeAssetNamedGraphPublic(repository, ual) { const query = ` PREFIX schema: <${SCHEMA_CONTEXT}> - INSERT DATA { - GRAPH { - ${assetNquads} + CONSTRUCT { ?s ?p ?o } + WHERE { + GRAPH <${ual}> { + ?s ?p ?o . + FILTER NOT EXISTS { + << ?s ?p ?o >> ${TRIPLE_ANNOTATION_LABEL_PREDICATE} "private" . + } } - }`; - await this.queryVoid(repository, query); + } + `; + + return this.construct(repository, query); } - async insertAssertion(repository, assertionId, assertionNquads, checkExists) { - if (checkExists) { - const existedBeforeInsertion = await this.assertionExists(repository, assertionId); - if (existedBeforeInsertion) { - return; + async knowledgeAssetNamedGraphExists(repository, ual) { + const query = ` + ASK { + GRAPH <${ual}> { + ?s ?p ?o + } } - } + `; + + return this.ask(repository, query); + } + async insertKnowledgeCollectionMetadata(repository, metadataNQuads) { const query = ` PREFIX schema: <${SCHEMA_CONTEXT}> INSERT DATA { - GRAPH { - ${assertionNquads} + GRAPH <${BASE_NAMED_GRAPHS.METADATA}> { + ${metadataNQuads} } - }`; + } + `; + await this.queryVoid(repository, query); } + async deleteKnowledgeCollectionMetadata(repository, ual) { + const query = ` + DELETE + WHERE { + GRAPH <${BASE_NAMED_GRAPHS.METADATA}> { + ?ual ?p ?o . + FILTER(STRSTARTS(STR(?ual), "${ual}/")) + } + } + `; + + await this.queryVoid(repository, query); + } + + async getKnowledgeCollectionMetadata(repository, ual) { + const query = ` + CONSTRUCT { ?ual ?p ?o . } + WHERE { + GRAPH <${BASE_NAMED_GRAPHS.METADATA}> { + ?ual ?p ?o . + FILTER(STRSTARTS(STR(?ual), "${ual}/")) + } + } + `; + + return this.construct(repository, query); + } + + async getKnowledgeAssetMetadata(repository, ual) { + const query = ` + CONSTRUCT { <${ual}> ?p ?o . } + WHERE { + GRAPH <${BASE_NAMED_GRAPHS.METADATA}> { + <${ual}> ?p ?o . + } + } + `; + + return this.construct(repository, query); + } + + async knowledgeCollectionMetadataExists(repository, ual) { + const query = ` + ASK { + GRAPH <${BASE_NAMED_GRAPHS.METADATA}> { + ?ual ?p ?o + FILTER(STRSTARTS(STR(?ual), "${ual}/")) + } + } + `; + + return this.ask(repository, query); + } + async construct(repository, query) { return this._executeQuery(repository, query, MEDIA_TYPES.N_QUADS); } @@ -295,35 +476,6 @@ class OtTripleStore { return this.queryEngine.queryBoolean(query, this.repositories[repository].queryContext); } - async assertionExists(repository, assertionId) { - const escapedAssertionId = this.cleanEscapeCharacter(assertionId); - const query = `ASK WHERE { GRAPH { ?s ?p ?o } }`; - - return this.ask(repository, query); - } - - async deleteAssertion(repository, assertionId) { - const query = `DROP GRAPH `; - - await this.queryVoid(repository, query); - } - - async getAssertion(repository, assertionId) { - const escapedGraphName = this.cleanEscapeCharacter(assertionId); - - const query = `PREFIX schema: <${SCHEMA_CONTEXT}> - CONSTRUCT { ?s ?p ?o } - WHERE { - { - GRAPH - { - ?s ?p ?o . - } - } - }`; - return this.construct(repository, query); - } - async healthCheck() { return true; } @@ -344,10 +496,6 @@ class OtTripleStore { return response; } - cleanEscapeCharacter(query) { - return query.replace(/['|[\]\\]/g, '\\$&'); - } - async reinitialize() { const ready = await this.healthCheck(); if (!ready) { diff --git a/src/modules/triple-store/triple-store-module-manager.js b/src/modules/triple-store/triple-store-module-manager.js index 51c097018c..fa0a0a3642 100644 --- a/src/modules/triple-store/triple-store-module-manager.js +++ b/src/modules/triple-store/triple-store-module-manager.js @@ -5,163 +5,232 @@ class TripleStoreModuleManager extends BaseModuleManager { return this.getImplementation().module.initializeParanetRepository(repository); } - async insertAssetAssertionMetadata( + async insertKnowledgeCollectionIntoUnifiedGraph( implementationName, repository, - ual, - assetNquads, - checkExists = true, + namedGraph, + collectionNQuads, ) { if (this.getImplementation(implementationName)) { - return this.getImplementation(implementationName).module.insertAssetAssertionMetadata( - repository, - ual, - assetNquads, - checkExists, - ); - } - } - - async updateAssetNonAssertionMetadata(implementationName, repository, ual, assetNquads) { - if (this.getImplementation(implementationName)) { - return this.getImplementation(implementationName).module.updateAssetMetadata( + return this.getImplementation( + implementationName, + ).module.insertKnowledgeCollectionIntoUnifiedGraph( repository, - ual, - assetNquads, + namedGraph, + collectionNQuads, ); } } - async deleteAssetMetadata(implementationName, repository, ual) { + async deleteUniqueKnowledgeCollectionTriplesFromUnifiedGraph( + implementationName, + repository, + namedGraph, + ual, + ) { if (this.getImplementation(implementationName)) { - return this.getImplementation(implementationName).module.deleteAssetMetadata( + return this.getImplementation( + implementationName, + ).module.deleteUniqueKnowledgeCollectionTriplesFromUnifiedGraph( repository, + namedGraph, ual, ); } } - async assetExists(implementationName, repository, ual) { + async getKnowledgeCollectionFromUnifiedGraph( + implementationName, + repository, + namedGraph, + ual, + sort, + ) { if (this.getImplementation(implementationName)) { - return this.getImplementation(implementationName).module.assetExists(repository, ual); + return this.getImplementation( + implementationName, + ).module.getKnowledgeCollectionFromUnifiedGraph(repository, namedGraph, ual, sort); } } - async insertAssetAssertionLink(implementationName, repository, ual, assertionId) { + async getKnowledgeCollectionPublicFromUnifiedGraph( + implementationName, + repository, + namedGraph, + ual, + sort, + ) { if (this.getImplementation(implementationName)) { - return this.getImplementation(implementationName).module.insertAssetAssertionLink( + return this.getImplementation( + implementationName, + ).module.getKnowledgeCollectionPublicFromUnifiedGraph( repository, + namedGraph, ual, - assertionId, + sort, ); } } - async deleteAssetAssertionLink(implementationName, repository, ual, assertionId) { + async knowledgeCollectionExistsInUnifiedGraph(implementationName, repository, namedGraph, ual) { if (this.getImplementation(implementationName)) { - return this.getImplementation(implementationName).module.deleteAssetAssertionLink( - repository, - ual, - assertionId, - ); + return this.getImplementation( + implementationName, + ).module.knowledgeCollectionExistsInUnifiedGraph(repository, namedGraph, ual); } } - async updateAssetAssertionLink( + async deleteUniqueKnowledgeAssetTriplesFromUnifiedGraph( implementationName, repository, + namedGraph, ual, - oldAssertionId, - newAssertionId, ) { if (this.getImplementation(implementationName)) { - return this.getImplementation(implementationName).module.updateAssetAssertionLink( - repository, - ual, - oldAssertionId, - newAssertionId, - ); + return this.getImplementation( + implementationName, + ).module.deleteUniqueKnowledgeAssetTriplesFromUnifiedGraph(repository, namedGraph, ual); + } + } + + async getKnowledgeAssetFromUnifiedGraph(implementationName, repository, namedGraph, ual) { + if (this.getImplementation(implementationName)) { + return this.getImplementation( + implementationName, + ).module.getKnowledgeAssetFromUnifiedGraph(repository, namedGraph, ual); + } + } + + async getKnowledgeAssetPublicFromUnifiedGraph(implementationName, repository, namedGraph, ual) { + if (this.getImplementation(implementationName)) { + return this.getImplementation( + implementationName, + ).module.getKnowledgeAssetPublicFromUnifiedGraph(repository, namedGraph, ual); + } + } + + async knowledgeAssetExistsInUnifiedGraph(implementationName, repository, namedGraph, ual) { + if (this.getImplementation(implementationName)) { + return this.getImplementation( + implementationName, + ).module.knowledgeAssetExistsInUnifiedGraph(repository, namedGraph, ual); + } + } + + async createKnowledgeCollectionNamedGraphs(implementationName, repository, uals, assetsNQuads) { + if (this.getImplementation(implementationName)) { + return this.getImplementation( + implementationName, + ).module.createKnowledgeCollectionNamedGraphs(repository, uals, assetsNQuads); + } + } + + async deleteKnowledgeCollectionNamedGraphs(implementationName, repository, uals) { + if (this.getImplementation(implementationName)) { + return this.getImplementation( + implementationName, + ).module.deleteKnowledgeCollectionNamedGraphs(repository, uals); } } - async getAssetAssertionLinks(implementationName, repository, ual) { + async getKnowledgeCollectionNamedGraphs(implementationName, repository, ual, sort) { if (this.getImplementation(implementationName)) { - return this.getImplementation(implementationName).module.getAssetAssertionLinks( + return this.getImplementation( + implementationName, + ).module.getKnowledgeCollectionNamedGraphs(repository, ual, sort); + } + } + + async getKnowledgeCollectionNamedGraphsPublic(implementationName, repository, ual, sort) { + if (this.getImplementation(implementationName)) { + return this.getImplementation( + implementationName, + ).module.getKnowledgeCollectionNamedGraphsPublic(repository, ual, sort); + } + } + + async knowledgeCollectionNamedGraphsExist(implementationName, repository, ual) { + if (this.getImplementation(implementationName)) { + return this.getImplementation( + implementationName, + ).module.knowledgeCollectionNamedGraphsExist(repository, ual); + } + } + + async deleteKnowledgeAssetNamedGraph(implementationName, repository, ual) { + if (this.getImplementation(implementationName)) { + return this.getImplementation(implementationName).module.deleteKnowledgeAssetNamedGraph( repository, ual, ); } } - async assetAssertionLinkExists(implementationName, repository, ual, assertionId) { + async getKnowledgeAssetNamedGraph(implementationName, repository, ual) { if (this.getImplementation(implementationName)) { - return this.getImplementation(implementationName).module.assetAssertionLinkExists( + return this.getImplementation(implementationName).module.getKnowledgeAssetNamedGraph( repository, ual, - assertionId, ); } } - async insertAssertion( - implementationName, - repository, - assertionId, - assertionNquads, - checkExists = true, - ) { + async getKnowledgeAssetNamedGraphPublic(implementationName, repository, ual) { if (this.getImplementation(implementationName)) { - return this.getImplementation(implementationName).module.insertAssertion( - repository, - assertionId, - assertionNquads, - checkExists, - ); + return this.getImplementation( + implementationName, + ).module.getKnowledgeAssetNamedGraphPublic(repository, ual); } } - async assertionExists(implementationName, repository, assertionId) { + async knowledgeAssetNamedGraphExists(implementationName, repository, ual) { if (this.getImplementation(implementationName)) { - return this.getImplementation(implementationName).module.assertionExists( + return this.getImplementation(implementationName).module.knowledgeAssetNamedGraphExists( repository, - assertionId, + ual, ); } } - async countAssetsWithAssertionId(implementationName, repository, assertionId) { + async insertKnowledgeCollectionMetadata(implementationName, repository, metadataNQuads) { if (this.getImplementation(implementationName)) { - return this.getImplementation(implementationName).module.countAssetsWithAssertionId( - repository, - assertionId, - ); + return this.getImplementation( + implementationName, + ).module.insertKnowledgeCollectionMetadata(repository, metadataNQuads); } } - async getAssetAssertionIds(implementationName, repository, ual) { + async deleteKnowledgeCollectionMetadata(implementationName, repository, ual) { if (this.getImplementation(implementationName)) { - return this.getImplementation(implementationName).module.getAssetAssertionIds( + return this.getImplementation( + implementationName, + ).module.deleteKnowledgeCollectionMetadata(repository, ual); + } + } + + async getKnowledgeCollectionMetadata(implementationName, repository, ual) { + if (this.getImplementation(implementationName)) { + return this.getImplementation(implementationName).module.getKnowledgeCollectionMetadata( repository, ual, ); } } - async getAssertion(implementationName, repository, assertionId) { + async getKnowledgeAssetMetadata(implementationName, repository, ual) { if (this.getImplementation(implementationName)) { - return this.getImplementation(implementationName).module.getAssertion( + return this.getImplementation(implementationName).module.getKnowledgeAssetMetadata( repository, - assertionId, + ual, ); } } - async deleteAssertion(implementationName, repository, assertionId) { + async knowledgeCollectionMetadataExists(implementationName, repository, ual) { if (this.getImplementation(implementationName)) { - return this.getImplementation(implementationName).module.deleteAssertion( - repository, - assertionId, - ); + return this.getImplementation( + implementationName, + ).module.knowledgeCollectionMetadataExists(repository, ual); } } diff --git a/src/modules/validation/implementation/merkle-validation.js b/src/modules/validation/implementation/merkle-validation.js index 72980825f5..48005b5038 100644 --- a/src/modules/validation/implementation/merkle-validation.js +++ b/src/modules/validation/implementation/merkle-validation.js @@ -1,40 +1,13 @@ -import { ethers } from 'ethers'; -import { calculateRoot, getMerkleProof } from 'assertion-tools'; +import { kcTools } from 'assertion-tools'; class MerkleValidation { async initialize(config, logger) { this.config = config; this.logger = logger; - - this.hashFunctions = { - // TODO: Change this nonsense - 1: 'sha256', - }; - } - - calculateRoot(assertion) { - return calculateRoot(assertion); - } - - getMerkleProof(nquadsArray, challenge) { - return getMerkleProof(nquadsArray, challenge); - } - - async callHashFunction(hashFunctionId, data) { - const hashFunctionName = this.getHashFunctionName(hashFunctionId); - return this[hashFunctionName](data); // TODO: Change this nonsense - } - - getHashFunctionName(hashFunctionId) { - return this.hashFunctions[hashFunctionId]; } - async sha256(data) { - if (!ethers.utils.isBytesLike(data)) { - const bytesLikeData = ethers.utils.toUtf8Bytes(data); - return ethers.utils.sha256(bytesLikeData); - } - return ethers.utils.sha256(data); + async calculateRoot(assertion) { + return kcTools.calculateMerkleRoot(assertion); } } diff --git a/src/modules/validation/validation-module-manager.js b/src/modules/validation/validation-module-manager.js index 8f326905ae..b94fe06b8d 100644 --- a/src/modules/validation/validation-module-manager.js +++ b/src/modules/validation/validation-module-manager.js @@ -5,7 +5,7 @@ class ValidationModuleManager extends BaseModuleManager { return 'validation'; } - calculateRoot(assertion) { + async calculateRoot(assertion) { if (this.initialized) { if (!assertion) { throw new Error('Calculation failed: Assertion cannot be null or undefined.'); @@ -14,39 +14,6 @@ class ValidationModuleManager extends BaseModuleManager { } throw new Error('Validation module is not initialized.'); } - - getMerkleProof(assertion, index) { - if (this.initialized) { - if (!assertion) { - throw new Error('Get merkle proof failed: Assertion cannot be null or undefined.'); - } - return this.getImplementation().module.getMerkleProof(assertion, index); - } - throw new Error('Validation module is not initialized.'); - } - - getHashFunctionName(hashFunctionId) { - if (this.initialized) { - if (!hashFunctionId) { - throw new Error( - 'Getting function name failed: Function ID cannot be null or undefined.', - ); - } - return this.getImplementation().module.getHashFunctionName(hashFunctionId); - } - throw new Error('Validation module is not initialized.'); - } - - async callHashFunction(hashFunctionId, data) { - if (this.initialized) { - if (!!hashFunctionId && !!data) { - return this.getImplementation().module.callHashFunction(hashFunctionId, data); - } - throw new Error('Calling hash fn failed: Values cannot be null or undefined.'); - } else { - throw new Error('Validation module is not initialized.'); - } - } } export default ValidationModuleManager; diff --git a/src/service/blockchain-event-listener-service.js b/src/service/blockchain-event-listener-service.js deleted file mode 100644 index b8210436a7..0000000000 --- a/src/service/blockchain-event-listener-service.js +++ /dev/null @@ -1,618 +0,0 @@ -import { setTimeout } from 'timers/promises'; -import { - CONTENT_ASSET_HASH_FUNCTION_ID, - CONTRACTS, - CONTRACT_EVENT_FETCH_INTERVALS, - TRIPLE_STORE_REPOSITORIES, - NODE_ENVIRONMENTS, - PENDING_STORAGE_REPOSITORIES, - CONTRACT_EVENTS, - MAXIMUM_FETCH_EVENTS_FAILED_COUNT, - DELAY_BETWEEN_FAILED_FETCH_EVENTS_MILLIS, - CONTRACT_EVENT_TO_GROUP_MAPPING, - GROUPED_CONTRACT_EVENTS, - ZERO_BYTES32, -} from '../constants/constants.js'; - -const fetchEventsFailedCount = {}; - -const eventNames = Object.values(CONTRACT_EVENTS).flatMap((e) => e); - -class BlockchainEventListenerService { - constructor(ctx) { - this.logger = ctx.logger; - this.blockchainModuleManager = ctx.blockchainModuleManager; - this.repositoryModuleManager = ctx.repositoryModuleManager; - this.tripleStoreService = ctx.tripleStoreService; - this.pendingStorageService = ctx.pendingStorageService; - this.ualService = ctx.ualService; - this.hashingService = ctx.hashingService; - this.serviceAgreementService = ctx.serviceAgreementService; - this.shardingTableService = ctx.shardingTableService; - this.paranetService = ctx.paranetService; - - this.eventGroupsBuffer = {}; - } - - async initialize() { - const promises = []; - for (const blockchainId of this.blockchainModuleManager.getImplementationNames()) { - this.logger.info( - `Initializing blockchain event listener for blockchain ${blockchainId}, handling missed events`, - ); - this.eventGroupsBuffer[blockchainId] = {}; - promises.push(this.fetchAndHandleBlockchainEvents(blockchainId)); - } - await Promise.all(promises); - } - - startListeningOnEvents() { - for (const blockchainId of this.blockchainModuleManager.getImplementationNames()) { - this.listenOnBlockchainEvents(blockchainId); - this.logger.info(`Event listener initialized for blockchain: '${blockchainId}'.`); - } - } - - async fetchAndHandleBlockchainEvents(blockchainId) { - const devEnvironment = - process.env.NODE_ENV === NODE_ENVIRONMENTS.DEVELOPMENT || - process.env.NODE_ENV === NODE_ENVIRONMENTS.TEST; - - const currentBlock = await this.blockchainModuleManager.getBlockNumber(blockchainId); - - if (devEnvironment) { - // handling sharding table node added events first for tests and local network setup - // because of race condition for node added and ask updated events - const shardingTableEvents = await this.getContractEvents( - blockchainId, - CONTRACTS.SHARDING_TABLE_CONTRACT, - currentBlock, - CONTRACT_EVENTS.SHARDING_TABLE, - ); - - await this.handleBlockchainEvents(shardingTableEvents, blockchainId); - } - - const syncContractEventsPromises = [ - this.getContractEvents( - blockchainId, - CONTRACTS.SHARDING_TABLE_CONTRACT, - currentBlock, - CONTRACT_EVENTS.SHARDING_TABLE, - ), - this.getContractEvents( - blockchainId, - CONTRACTS.STAKING_CONTRACT, - currentBlock, - CONTRACT_EVENTS.STAKING, - ), - this.getContractEvents( - blockchainId, - CONTRACTS.PROFILE_CONTRACT, - currentBlock, - CONTRACT_EVENTS.PROFILE, - ), - this.getContractEvents( - blockchainId, - CONTRACTS.COMMIT_MANAGER_V1_U1_CONTRACT, - currentBlock, - CONTRACT_EVENTS.COMMIT_MANAGER_V1, - ), - this.getContractEvents( - blockchainId, - CONTRACTS.PARAMETERS_STORAGE_CONTRACT, - currentBlock, - CONTRACT_EVENTS.PARAMETERS_STORAGE, - ), - this.getContractEvents( - blockchainId, - CONTRACTS.LOG2PLDSF_CONTRACT, - currentBlock, - CONTRACT_EVENTS.LOG2PLDSF, - ), - this.getContractEvents( - blockchainId, - CONTRACTS.LINEAR_SUM_CONTRACT, - currentBlock, - CONTRACT_EVENTS.LINEAR_SUM, - ), - ]; - - if (!devEnvironment) { - syncContractEventsPromises.push( - this.getContractEvents( - blockchainId, - CONTRACTS.HUB_CONTRACT, - currentBlock, - CONTRACT_EVENTS.HUB, - ), - ); - } - const contractEvents = await Promise.all(syncContractEventsPromises); - - await this.handleBlockchainEvents( - contractEvents.flatMap((events) => events), - blockchainId, - ); - } - - listenOnBlockchainEvents(blockchainId) { - const devEnvironment = - process.env.NODE_ENV === NODE_ENVIRONMENTS.DEVELOPMENT || - process.env.NODE_ENV === NODE_ENVIRONMENTS.TEST; - - const eventFetchInterval = devEnvironment - ? CONTRACT_EVENT_FETCH_INTERVALS.DEVELOPMENT - : CONTRACT_EVENT_FETCH_INTERVALS.MAINNET; - - let working = false; - fetchEventsFailedCount[blockchainId] = 0; - const fetchEventInterval = setInterval(async () => { - if (working) return; - try { - working = true; - await this.fetchAndHandleBlockchainEvents(blockchainId); - fetchEventsFailedCount[blockchainId] = 0; - } catch (e) { - if (fetchEventsFailedCount[blockchainId] >= MAXIMUM_FETCH_EVENTS_FAILED_COUNT) { - clearInterval(fetchEventInterval); - this.blockchainModuleManager.removeImplementation(blockchainId); - if (!this.blockchainModuleManager.getImplementationNames().length) { - this.logger.error( - `Unable to fetch new events for blockchain: ${blockchainId}. Error message: ${e.message} OT-node shutting down...`, - ); - process.exit(1); - } - this.logger.error( - `Unable to fetch new events for blockchain: ${blockchainId}. Error message: ${e.message} blockchain implementation removed.`, - ); - } - this.logger.error( - `Failed to get and process blockchain events for blockchain: ${blockchainId}. Error: ${e}`, - ); - fetchEventsFailedCount[blockchainId] += 1; - await setTimeout(DELAY_BETWEEN_FAILED_FETCH_EVENTS_MILLIS); - } finally { - working = false; - } - }, eventFetchInterval); - } - - async getContractEvents(blockchainId, contractName, currentBlock, eventsToFilter) { - const lastCheckedBlockObject = await this.repositoryModuleManager.getLastCheckedBlock( - blockchainId, - contractName, - ); - - const result = await this.blockchainModuleManager.getAllPastEvents( - blockchainId, - contractName, - eventsToFilter, - lastCheckedBlockObject?.lastCheckedBlock ?? 0, - lastCheckedBlockObject?.lastCheckedTimestamp ?? 0, - currentBlock, - ); - - await this.repositoryModuleManager.updateLastCheckedBlock( - blockchainId, - result.lastCheckedBlock, - Date.now(0), - contractName, - ); - - if (!result.eventsMissed) { - await this.shardingTableService.pullBlockchainShardingTable(blockchainId, true); - } - - return result.events; - } - - async handleBlockchainEvents(events, blockchainId) { - const eventsForProcessing = events.filter((event) => eventNames.includes(event.event)); - - if (eventsForProcessing?.length) { - this.logger.trace( - `${eventsForProcessing.length} blockchain events caught on blockchain ${blockchainId}.`, - ); - await this.repositoryModuleManager.insertBlockchainEvents(eventsForProcessing); - } - const unprocessedEvents = - await this.repositoryModuleManager.getAllUnprocessedBlockchainEvents( - eventNames, - blockchainId, - ); - - if (unprocessedEvents?.length) { - this.logger.trace( - `Processing ${unprocessedEvents.length} blockchain events on blockchain ${blockchainId}.`, - ); - let batchedEvents = {}; - let currentBlockNumber = 0; - for (const event of unprocessedEvents) { - if (event.block !== currentBlockNumber) { - // eslint-disable-next-line no-await-in-loop - await this.handleBlockBatchedEvents(batchedEvents); - batchedEvents = {}; - currentBlockNumber = event.block; - } - - // Check if event should be grouped with other event - const eventsGroupName = CONTRACT_EVENT_TO_GROUP_MAPPING[event.event]; - if (eventsGroupName) { - // Get Events Group object containing predefined events and Grouping Key (Event Argument) - const eventsGroup = GROUPED_CONTRACT_EVENTS[eventsGroupName]; - // Get value of the Grouping Key from the Event - const groupingKeyValue = JSON.parse(event.data)[eventsGroup.groupingKey]; - - if (!this.eventGroupsBuffer[blockchainId][eventsGroupName]) { - this.eventGroupsBuffer[blockchainId][eventsGroupName] = {}; - } - - if (!this.eventGroupsBuffer[blockchainId][eventsGroupName][groupingKeyValue]) { - this.eventGroupsBuffer[blockchainId][eventsGroupName][groupingKeyValue] = - []; - } - - // Push event to the buffer until Events Group is not full - this.eventGroupsBuffer[blockchainId][eventsGroupName][groupingKeyValue].push( - event, - ); - - // Mark event as processed - // TODO: There should be a smarter way to do this, because it will cause troubles - // in case node goes offline while only catched some of the events from the group - // and not all of them. Buffer will be cleared and event is already marked as processed. - // eslint-disable-next-line no-await-in-loop - await this.repositoryModuleManager.markBlockchainEventsAsProcessed([event]); - - // When all expected Events from the Event Group are collected - if ( - this.eventGroupsBuffer[blockchainId][eventsGroupName][groupingKeyValue] - .length === eventsGroup.events.length - ) { - if (!batchedEvents[eventsGroupName]) { - batchedEvents[eventsGroupName] = []; - } - - // Add Events Group to the Processing Queue - batchedEvents[eventsGroupName].push( - this.eventGroupsBuffer[blockchainId][eventsGroupName][groupingKeyValue], - ); - - // Remove Events Group from the Buffer - delete this.eventGroupsBuffer[blockchainId][eventsGroupName][ - groupingKeyValue - ]; - } - } else if (batchedEvents[event.event]) { - batchedEvents[event.event].push(event); - } else { - batchedEvents[event.event] = [event]; - } - } - - await this.handleBlockBatchedEvents(batchedEvents); - } - } - - async handleBlockBatchedEvents(batchedEvents) { - const handleBlockEventsPromises = []; - for (const [eventName, blockEvents] of Object.entries(batchedEvents)) { - handleBlockEventsPromises.push(this.handleBlockEvents(eventName, blockEvents)); - } - // eslint-disable-next-line no-await-in-loop - await Promise.all(handleBlockEventsPromises); - } - - async handleBlockEvents(eventName, blockEvents) { - const handlerFunctionName = `handle${eventName}Events`; - if (!this[handlerFunctionName]) return; - this.logger.trace(`${blockEvents.length} ${eventName} events caught.`); - try { - await this[handlerFunctionName](blockEvents); - await this.repositoryModuleManager.markBlockchainEventsAsProcessed(blockEvents); - } catch (error) { - this.logger.warn( - `Error while processing events: ${eventName}. Error: ${error.message}`, - ); - } - } - - async handleParameterChangedEvents(blockEvents) { - for (const event of blockEvents) { - const { blockchainId, contract, data } = event; - const { parameterName, parameterValue } = JSON.parse(data); - switch (contract) { - case CONTRACTS.LOG2PLDSF_CONTRACT: - // This invalidates contracts parameter - // TODO: Create function for contract call cache invalidation - this.blockchainModuleManager.setContractCallCache( - blockchainId, - CONTRACTS.LOG2PLDSF_CONTRACT, - parameterName, - null, - ); - break; - case CONTRACTS.LINEAR_SUM_CONTRACT: - this.blockchainModuleManager.setContractCallCache( - blockchainId, - CONTRACTS.LINEAR_SUM_CONTRACT, - parameterName, - null, - ); - break; - case CONTRACTS.PARAMETERS_STORAGE_CONTRACT: - this.blockchainModuleManager.setContractCallCache( - blockchainId, - CONTRACTS.PARAMETERS_STORAGE_CONTRACT, - parameterName, - parameterValue, - ); - break; - default: - this.logger.warn( - `Unable to handle parameter changed event. Unknown contract name ${event.contract}`, - ); - } - } - } - - handleNewContractEvents(blockEvents) { - for (const event of blockEvents) { - const { contractName, newContractAddress } = JSON.parse(event.data); - this.blockchainModuleManager.initializeContract( - event.blockchainId, - contractName, - newContractAddress, - ); - } - } - - async handleContractChangedEvents(blockEvents) { - await Promise.all( - blockEvents.map(async (event) => { - const { contractName, newContractAddress } = JSON.parse(event.data); - this.blockchainModuleManager.initializeContract( - event.blockchainId, - contractName, - newContractAddress, - ); - - if (contractName === CONTRACTS.SHARDING_TABLE_CONTRACT) { - await this.shardingTableService.pullBlockchainShardingTable( - event.blockchainId, - true, - ); - } - }), - ); - } - - handleNewAssetStorageEvents(blockEvents) { - for (const event of blockEvents) { - const { newContractAddress } = JSON.parse(event.data); - this.blockchainModuleManager.initializeAssetStorageContract( - event.blockchainId, - newContractAddress, - ); - } - } - - handleAssetStorageChangedEvents(blockEvents) { - for (const event of blockEvents) { - const { newContractAddress } = JSON.parse(event.data); - this.blockchainModuleManager.initializeAssetStorageContract( - event.blockchainId, - newContractAddress, - ); - } - } - - async handleNodeAddedEvents(blockEvents) { - const peerRecords = await Promise.all( - blockEvents.map(async (event) => { - const eventData = JSON.parse(event.data); - - const nodeId = this.blockchainModuleManager.convertHexToAscii( - event.blockchainId, - eventData.nodeId, - ); - - const sha256 = await this.hashingService.callHashFunction( - CONTENT_ASSET_HASH_FUNCTION_ID, - nodeId, - ); - - return { - peerId: nodeId, - blockchainId: event.blockchainId, - ask: this.blockchainModuleManager.convertFromWei( - event.blockchainId, - eventData.ask, - ), - stake: this.blockchainModuleManager.convertFromWei( - event.blockchainId, - eventData.stake, - ), - lastSeen: new Date(0), - sha256, - }; - }), - ); - await this.repositoryModuleManager.createManyPeerRecords(peerRecords); - } - - async handleNodeRemovedEvents(blockEvents) { - await Promise.all( - blockEvents.map(async (event) => { - const eventData = JSON.parse(event.data); - - const nodeId = this.blockchainModuleManager.convertHexToAscii( - event.blockchainId, - eventData.nodeId, - ); - - this.logger.trace(`Removing peer id: ${nodeId} from sharding table.`); - - await this.repositoryModuleManager.removePeerRecord(event.blockchainId, nodeId); - }), - ); - } - - async handleStakeIncreasedEvents(blockEvents) { - await Promise.all( - blockEvents.map(async (event) => { - const eventData = JSON.parse(event.data); - - const nodeId = this.blockchainModuleManager.convertHexToAscii( - event.blockchainId, - eventData.nodeId, - ); - - await this.repositoryModuleManager.updatePeerStake( - nodeId, - event.blockchainId, - this.blockchainModuleManager.convertFromWei( - event.blockchainId, - eventData.newStake, - ), - ); - }), - ); - } - - async handleStakeWithdrawalStartedEvents(blockEvents) { - await this.handleStakeIncreasedEvents(blockEvents); - } - - async handleAskUpdatedEvents(blockEvents) { - await Promise.all( - blockEvents.map(async (event) => { - const eventData = JSON.parse(event.data); - - const nodeId = this.blockchainModuleManager.convertHexToAscii( - event.blockchainId, - eventData.nodeId, - ); - - await this.repositoryModuleManager.updatePeerAsk( - nodeId, - event.blockchainId, - this.blockchainModuleManager.convertFromWei(event.blockchainId, eventData.ask), - ); - }), - ); - } - - async handleStateFinalizedEvents(blockEvents) { - // todo: find a way to safely parallelize this - for (const event of blockEvents) { - const eventData = JSON.parse(event.data); - - const { tokenId, keyword, hashFunctionId, state, stateIndex } = eventData; - const blockchain = event.blockchainId; - const contract = eventData.assetContract; - this.logger.trace( - `Handling event: ${event.event} for asset with ual: ${this.ualService.deriveUAL( - blockchain, - contract, - tokenId, - )} with keyword: ${keyword}, assertion id: ${state}.`, - ); - - // eslint-disable-next-line no-await-in-loop - await Promise.all([ - this.pendingStorageService.moveAndDeletePendingState( - TRIPLE_STORE_REPOSITORIES.PUBLIC_CURRENT, - TRIPLE_STORE_REPOSITORIES.PUBLIC_HISTORY, - PENDING_STORAGE_REPOSITORIES.PUBLIC, - blockchain, - contract, - tokenId, - keyword, - hashFunctionId, - state, - stateIndex, - ), - this.pendingStorageService.moveAndDeletePendingState( - TRIPLE_STORE_REPOSITORIES.PRIVATE_CURRENT, - TRIPLE_STORE_REPOSITORIES.PRIVATE_HISTORY, - PENDING_STORAGE_REPOSITORIES.PRIVATE, - blockchain, - contract, - tokenId, - keyword, - hashFunctionId, - state, - stateIndex, - ), - ]); - - // eslint-disable-next-line no-await-in-loop - const paranetsBlockchains = await this.repositoryModuleManager.getParanetsBlockchains(); - - if (paranetsBlockchains.includes(blockchain)) { - // eslint-disable-next-line no-await-in-loop - const knowledgeAssetId = await this.paranetService.constructKnowledgeAssetId( - blockchain, - contract, - tokenId, - ); - - // eslint-disable-next-line no-await-in-loop - const paranetId = await this.blockchainModuleManager.getParanetId( - blockchain, - knowledgeAssetId, - ); - if (paranetId && paranetId !== ZERO_BYTES32) { - // eslint-disable-next-line no-await-in-loop - const paranetExists = await this.repositoryModuleManager.paranetExists( - paranetId, - blockchain, - ); - if (paranetExists) { - const { - paranetKAStorageContract: paranetKasContract, - tokenId: paranetTokenId, - } = - // eslint-disable-next-line no-await-in-loop - await this.blockchainModuleManager.getKnowledgeAssetLocatorFromParanetId( - blockchain, - paranetId, - ); - const paranetUAL = this.ualService.deriveUAL( - blockchain, - paranetKasContract, - paranetTokenId, - ); - - // eslint-disable-next-line no-await-in-loop - const paranetAssetExists = await this.tripleStoreService.paranetAssetExists( - blockchain, - contract, - tokenId, - paranetKasContract, - paranetTokenId, - ); - - if (paranetAssetExists) { - const kaUAL = this.ualService.deriveUAL(blockchain, contract, tokenId); - - // Create a record for missing Paranet KA - // Paranet sync command will get it from network - // eslint-disable-next-line no-await-in-loop - await this.repositoryModuleManager.createMissedParanetAssetRecord({ - blockchainId: blockchain, - ual: kaUAL, - paranetUal: paranetUAL, - knowledgeAssetId, - }); - } - } - } - } - } - } -} - -export default BlockchainEventListenerService; diff --git a/src/service/blockchain-events-service.js b/src/service/blockchain-events-service.js new file mode 100644 index 0000000000..e7ba7f03a9 --- /dev/null +++ b/src/service/blockchain-events-service.js @@ -0,0 +1,65 @@ +class BlockchainEventsService { + constructor(ctx) { + this.config = ctx.config; + this.logger = ctx.logger; + + this.blockchainEventsModuleManager = ctx.blockchainEventsModuleManager; + } + + initializeBlockchainEventsServices() { + this.blockchainEventsServicesImplementations = {}; + for (const implementationName of this.blockchainEventsModuleManager.getImplementationNames()) { + for (const blockchain in this.blockchainEventsModuleManager.getImplementation( + implementationName, + ).module.blockchains) { + this.blockchainEventsServicesImplementations[blockchain] = implementationName; + } + } + } + + getContractAddress(blockchain, contractName) { + return this.blockchainEventsModuleManager.getContractAddress( + this.blockchainEventsServicesImplementations[blockchain], + blockchain, + contractName, + ); + } + + updateContractAddress(blockchain, contractName, contractAddress) { + return this.blockchainEventsModuleManager.updateContractAddress( + this.blockchainEventsServicesImplementations[blockchain], + blockchain, + contractName, + contractAddress, + ); + } + + async getBlock(blockchain, tag = 'latest') { + return this.blockchainEventsModuleManager.getBlock( + this.blockchainEventsServicesImplementations[blockchain], + blockchain, + tag, + ); + } + + async getPastEvents( + blockchain, + contractNames, + eventsToFilter, + lastCheckedBlock, + lastCheckedTimestamp, + currentBlock, + ) { + return this.blockchainEventsModuleManager.getPastEvents( + this.blockchainEventsServicesImplementations[blockchain], + blockchain, + contractNames, + eventsToFilter, + lastCheckedBlock, + lastCheckedTimestamp, + currentBlock, + ); + } +} + +export default BlockchainEventsService; diff --git a/src/service/bls-service.js b/src/service/bls-service.js new file mode 100644 index 0000000000..8bc32812a0 --- /dev/null +++ b/src/service/bls-service.js @@ -0,0 +1,101 @@ +import os from 'os'; +import { chmod } from 'fs'; +import { spawn } from 'child_process'; +import { BLS_KEY_FILENAME, NODE_ENVIRONMENTS } from '../constants/constants.js'; + +class BLSService { + constructor(ctx) { + this.config = ctx.config; + this.logger = ctx.logger; + + this.fileService = ctx.fileService; + this.binaryPath = this.fileService.getBinaryPath('bls-tools'); + } + + async initialize() { + if (os.platform() !== 'win32') { + chmod(this.binaryPath, '755', (err) => { + if (err) { + throw err; + } + this.logger.debug( + `Permissions for binary ${this.binaryPath} have been set to 755.`, + ); + }); + } + + if (!this.config.blsPublicKey) { + const devEnvironment = + process.env.NODE_ENV === NODE_ENVIRONMENTS.DEVELOPMENT || + process.env.NODE_ENV === NODE_ENVIRONMENTS.TEST; + + if (!devEnvironment || !this.config.blsSecretKey) { + this.config.blsSecretKey = await this.readSecretKeyFromFile(); + } + + if (!this.config.blsSecretKey) { + const keys = await this.generateKeys(); + this.config.blsPublicKey = keys.publicKey; + this.config.blsSecretKey = keys.secretKey; + await this.fileService.writeContentsToFile( + this.fileService.getBLSSecretKeyFolderPath(), + BLS_KEY_FILENAME, + this.config.blsSecretKey, + false, + ); + } else { + this.config.blsPublicKey = await this.publicKeyFromSecret(); + } + } + + this.logger.info(`BLS Public Key is ${this.config.blsPublicKey}`); + } + + async readSecretKeyFromFile() { + const secretKeyPath = this.fileService.getBLSSecretKeyPath(); + const secretKeyFileExists = await this.fileService.pathExists(secretKeyPath); + if (secretKeyFileExists) { + return this.fileService.readFile(secretKeyPath); + } + } + + async runBLSBinary(args, jsonOutput = false) { + return new Promise((resolve) => { + const process = spawn(this.binaryPath, args); + let result = ''; + process.stdout.on('data', (data) => { + result += data.toString(); + }); + process.stderr.on('data', (data) => { + this.logger.error(`Error: ${data}`); + }); + process.on('close', () => { + if (jsonOutput) { + resolve(JSON.parse(result)); + } else { + resolve(result.trim()); + } + }); + }); + } + + async generateKeys() { + return this.runBLSBinary(['generate-keys'], true); + } + + async publicKeyFromSecret() { + return this.runBLSBinary(['public-key-from-secret', '--secret', this.config.blsSecretKey]); + } + + async sign(message) { + return this.runBLSBinary([ + 'sign', + '--secret', + this.config.blsSecretKey, + '--message', + message, + ]); + } +} + +export default BLSService; diff --git a/src/service/data-service.js b/src/service/data-service.js index 2f51a4b972..652ea5d619 100644 --- a/src/service/data-service.js +++ b/src/service/data-service.js @@ -1,12 +1,5 @@ -import jsonld from 'jsonld'; -import { - SCHEMA_CONTEXT, - MEDIA_TYPES, - XML_DATA_TYPES, - PRIVATE_ASSERTION_PREDICATE, -} from '../constants/constants.js'; - -const ALGORITHM = 'URDNA2015'; +import { kcTools } from 'assertion-tools'; +import { XML_DATA_TYPES } from '../constants/constants.js'; class DataService { constructor(ctx) { @@ -14,36 +7,23 @@ class DataService { this.logger = ctx.logger; } - async toNQuads(content, inputFormat) { - const options = { - algorithm: ALGORITHM, - format: MEDIA_TYPES.N_QUADS, - }; - - if (inputFormat) { - options.inputFormat = inputFormat; - } - - const canonized = await jsonld.canonize(content, options); - - return canonized.split('\n').filter((x) => x !== ''); + createTripleAnnotations(groupedTriples, annotationPredicate, annotations) { + return groupedTriples.flatMap((knowledgeAssetTriples, index) => + knowledgeAssetTriples.map( + (triple) => + `<< ${triple.replace(' .', '')} >> ${annotationPredicate} ${ + annotations[index] + } .`, + ), + ); } - async compact(content) { - const result = await jsonld.compact(content, { - '@context': SCHEMA_CONTEXT, - }); - - return result; + countDistinctSubjects(triples) { + return kcTools.countDistinctSubjects(triples); } - async canonize(content) { - const nquads = await this.toNQuads(content); - if (nquads && nquads.length === 0) { - throw new Error('File format is corrupted, no n-quads extracted.'); - } - - return nquads; + groupTriplesBySubject(triples, sort = true) { + return kcTools.groupNquadsBySubject(triples, sort); } /** @@ -87,15 +67,6 @@ class DataService { return value; } } - - getPrivateAssertionId(publicAssertion) { - const privateAssertionLinkTriple = publicAssertion.filter((triple) => - triple.includes(PRIVATE_ASSERTION_PREDICATE), - )[0]; - if (!privateAssertionLinkTriple) return; - - return privateAssertionLinkTriple.match(/"(.*?)"/)[1]; - } } export default DataService; diff --git a/src/service/file-service.js b/src/service/file-service.js index 6fed996b7e..ebe8a74ec2 100644 --- a/src/service/file-service.js +++ b/src/service/file-service.js @@ -1,6 +1,7 @@ import path from 'path'; -import { mkdir, writeFile, readFile, unlink, stat, readdir, rm } from 'fs/promises'; +import { mkdir, writeFile, readFile, unlink, stat, readdir, rm, appendFile } from 'fs/promises'; import appRootPath from 'app-root-path'; +import { BLS_KEY_DIRECTORY, BLS_KEY_FILENAME, NODE_ENVIRONMENTS } from '../constants/constants.js'; const ARCHIVE_FOLDER_NAME = 'archive'; const MIGRATION_FOLDER_NAME = 'migrations'; @@ -22,16 +23,28 @@ class FileService { * @param data * @returns {Promise} */ - async writeContentsToFile(directory, filename, data, log = true) { + async writeContentsToFile(directory, filename, data, log = true, flag = 'w') { if (log) { this.logger.debug(`Saving file with name: ${filename} in the directory: ${directory}`); } await mkdir(directory, { recursive: true }); const fullpath = path.join(directory, filename); - await writeFile(fullpath, data); + await writeFile(fullpath, data, { flag }); return fullpath; } + async appendContentsToFile(directory, filename, data, log = true) { + if (log) { + this.logger.debug(`Saving file with name: ${filename} in the directory: ${directory}`); + } + await mkdir(directory, { recursive: true }); + const fullPath = path.join(directory, filename); + + await appendFile(fullPath, data); + + return fullPath; + } + async readDirectory(dirPath) { this.logger.debug(`Reading folder at path: ${dirPath}`); try { @@ -102,11 +115,31 @@ class FileService { } } + getBinariesFolderPath() { + return path.join(appRootPath.path, 'bin'); + } + + getBinaryPath(binary) { + let binaryName = binary; + if (process.platform === 'win32') { + binaryName += '.exe'; + } + return path.join(this.getBinariesFolderPath(), process.platform, process.arch, binaryName); + } + + getBLSSecretKeyFolderPath() { + return path.join(this.getDataFolderPath(), BLS_KEY_DIRECTORY); + } + + getBLSSecretKeyPath() { + return path.join(this.getBLSSecretKeyFolderPath(), BLS_KEY_FILENAME); + } + getDataFolderPath() { if ( - process.env.NODE_ENV === 'testnet' || - process.env.NODE_ENV === 'mainnet' || - process.env.NODE_ENV === 'devnet' + process.env.NODE_ENV === NODE_ENVIRONMENTS.DEVNET || + process.env.NODE_ENV === NODE_ENVIRONMENTS.TESTNET || + process.env.NODE_ENV === NODE_ENVIRONMENTS.MAINNET ) { return path.join(appRootPath.path, '..', this.config.appDataPath); } @@ -129,60 +162,20 @@ class FileService { return path.join(this.getOperationIdCachePath(), operationId); } - getPendingStorageCachePath(repository) { - return path.join(this.getDataFolderPath(), 'pending_storage_cache', repository); + getPendingStorageCachePath() { + return path.join(this.getDataFolderPath(), 'pending_storage_cache'); } - getPendingStorageFolderPath(repository, blockchain, contract, tokenId) { - return path.join( - this.getPendingStorageCachePath(repository), - `${blockchain.toLowerCase()}:${contract.toLowerCase()}:${tokenId}`, - ); + getPendingStorageDocumentPath(operationId) { + return path.join(this.getPendingStorageCachePath(), operationId); } - async getPendingStorageLatestDocument(repository, blockchain, contract, tokenId) { - const pendingStorageFolder = this.getPendingStorageFolderPath( - repository, - blockchain, - contract, - tokenId, - ); - - let latestFile; - let latestMtime = 0; - try { - const files = await readdir(pendingStorageFolder); - - for (const file of files) { - const filePath = path.join(pendingStorageFolder, file); - // eslint-disable-next-line no-await-in-loop - const stats = await stat(filePath); - - if (stats.mtimeMs > latestMtime) { - latestFile = file; - latestMtime = stats.mtimeMs; - } - } - } catch (error) { - if (error.code === 'ENOENT') { - this.logger.debug(`Folder not found at path: ${pendingStorageFolder}`); - return false; - } - throw error; - } - - return latestFile ?? false; + getSignatureStorageCachePath() { + return path.join(this.getDataFolderPath(), 'signature_storage_cache'); } - async getPendingStorageDocumentPath(repository, blockchain, contract, tokenId, assertionId) { - const pendingStorageFolder = this.getPendingStorageFolderPath( - repository, - blockchain, - contract, - tokenId, - ); - - return path.join(pendingStorageFolder, assertionId); + getSignatureStorageDocumentPath(operationId) { + return path.join(this.getSignatureStorageCachePath(), operationId); } getArchiveFolderPath(subFolder) { diff --git a/src/service/finality-service.js b/src/service/finality-service.js new file mode 100644 index 0000000000..71e3ade21e --- /dev/null +++ b/src/service/finality-service.js @@ -0,0 +1,120 @@ +import { Mutex } from 'async-mutex'; +import OperationService from './operation-service.js'; +import { + OPERATION_ID_STATUS, + NETWORK_PROTOCOLS, + ERROR_TYPE, + OPERATIONS, + OPERATION_REQUEST_STATUS, +} from '../constants/constants.js'; + +class FinalityService extends OperationService { + constructor(ctx) { + super(ctx); + + this.operationName = OPERATIONS.FINALITY; + this.networkProtocols = NETWORK_PROTOCOLS.FINALITY; + this.errorType = ERROR_TYPE.FINALITY.FINALITY_ERROR; + this.completedStatuses = [ + OPERATION_ID_STATUS.FINALITY.FINALITY_FETCH_FROM_NODES_END, + OPERATION_ID_STATUS.FINALITY.FINALITY_END, + OPERATION_ID_STATUS.COMPLETED, + ]; + this.ualService = ctx.ualService; + this.tripleStoreService = ctx.tripleStoreService; + this.repositoryModuleManager = ctx.repositoryModuleManager; + this.blockchainModuleManager = ctx.blockchainModuleManager; + this.paranetService = ctx.paranetService; + this.operationMutex = new Mutex(); + } + + async processResponse(command, responseStatus, responseData) { + const { operationId, blockchain, numberOfFoundNodes, leftoverNodes, batchSize } = + command.data; + + const responseStatusesFromDB = await this.getResponsesStatuses( + responseStatus, + responseData.errorMessage, + operationId, + ); + + const { completedNumber, failedNumber } = responseStatusesFromDB[operationId]; + + const totalResponses = completedNumber + failedNumber; + const isAllNodesResponded = numberOfFoundNodes === totalResponses; + const isBatchCompleted = totalResponses % batchSize === 0; + + const minimumNumberOfNodeReplications = + command.data.minimumNumberOfNodeReplications ?? numberOfFoundNodes; + + this.logger.debug( + `Processing ${ + this.operationName + } response with status: ${responseStatus} for operationId: ${operationId}. Total number of nodes: ${numberOfFoundNodes}, number of nodes in batch: ${Math.min( + numberOfFoundNodes, + batchSize, + )} number of leftover nodes: ${ + leftoverNodes.length + }, number of responses: ${totalResponses}, Completed: ${completedNumber}, Failed: ${failedNumber}`, + ); + if (responseData.errorMessage) { + this.logger.trace( + `Error message for operation id: ${operationId} : ${responseData.errorMessage}`, + ); + } + + if ( + responseStatus === OPERATION_REQUEST_STATUS.COMPLETED && + completedNumber === minimumNumberOfNodeReplications + ) { + await this.markOperationAsCompleted( + operationId, + blockchain, + { + completedNodes: completedNumber, + allNodesReplicatedData: true, + }, + [...this.completedStatuses], + ); + this.logResponsesSummary(completedNumber, failedNumber); + } else if ( + completedNumber < minimumNumberOfNodeReplications && + (isAllNodesResponded || isBatchCompleted) + ) { + const potentialCompletedNumber = completedNumber + leftoverNodes.length; + + await this.operationIdService.cacheOperationIdDataToFile(operationId, { + completedNodes: completedNumber, + allNodesReplicatedData: false, + }); + + // Still possible to meet minimumNumberOfNodeReplications, schedule leftover nodes + if ( + leftoverNodes.length > 0 && + potentialCompletedNumber >= minimumNumberOfNodeReplications + ) { + await this.scheduleOperationForLeftoverNodes(command.data, leftoverNodes); + } else { + // Not enough potential responses to meet minimumNumberOfNodeReplications, or no leftover nodes + await this.markOperationAsFailed( + operationId, + blockchain, + `Unable to replicate data on the network!`, + this.errorType, + ); + this.logResponsesSummary(completedNumber, failedNumber); + } + } + } + + async getBatchSize() { + return 20; + } + + // this is not used, because instead of predefined minAckResponses, we use minimumNumberOfNodeReplications from the client + async getMinAckResponses() { + return 1; + } +} + +export default FinalityService; diff --git a/src/service/get-service.js b/src/service/get-service.js index 4cf4ce52ec..55d717f9c9 100644 --- a/src/service/get-service.js +++ b/src/service/get-service.js @@ -34,20 +34,18 @@ class GetService extends OperationService { blockchain, numberOfFoundNodes, leftoverNodes, - keyword, batchSize, minAckResponses, assertionId, } = command.data; - const keywordsStatuses = await this.getResponsesStatuses( + const responseStatusesFromDB = await this.getResponsesStatuses( responseStatus, responseData.errorMessage, operationId, - keyword, ); - const { completedNumber, failedNumber } = keywordsStatuses[keyword]; + const { completedNumber, failedNumber } = responseStatusesFromDB[operationId]; const totalResponses = completedNumber + failedNumber; const isAllNodesResponded = numberOfFoundNodes === totalResponses; @@ -56,7 +54,7 @@ class GetService extends OperationService { this.logger.debug( `Processing ${ this.operationName - } response with status: ${responseStatus} for operationId: ${operationId}, keyword: ${keyword}. Total number of nodes: ${numberOfFoundNodes}, number of nodes in batch: ${Math.min( + } response with status: ${responseStatus} for operationId: ${operationId}. Total number of nodes: ${numberOfFoundNodes}, number of nodes in batch: ${Math.min( numberOfFoundNodes, batchSize, )} number of leftover nodes: ${ @@ -65,7 +63,7 @@ class GetService extends OperationService { ); if (responseData.errorMessage) { this.logger.trace( - `Error message for operation id: ${operationId}, keyword: ${keyword} : ${responseData.errorMessage}`, + `Error message for operation id: ${operationId} : ${responseData.errorMessage}`, ); } @@ -73,12 +71,9 @@ class GetService extends OperationService { responseStatus === OPERATION_REQUEST_STATUS.COMPLETED && completedNumber === minAckResponses ) { - await this.markOperationAsCompleted( - operationId, - blockchain, - { assertion: responseData.nquads }, - [...this.completedStatuses], - ); + await this.markOperationAsCompleted(operationId, blockchain, responseData, [ + ...this.completedStatuses, + ]); this.logResponsesSummary(completedNumber, failedNumber); } else if (completedNumber < minAckResponses && (isAllNodesResponded || isBatchCompleted)) { const potentialCompletedNumber = completedNumber + leftoverNodes.length; @@ -98,6 +93,14 @@ class GetService extends OperationService { } } } + + async getBatchSize() { + return 2; + } + + async getMinAckResponses() { + return 1; + } } export default GetService; diff --git a/src/service/json-schema-service.js b/src/service/json-schema-service.js index 859d9edab2..12533c0df1 100644 --- a/src/service/json-schema-service.js +++ b/src/service/json-schema-service.js @@ -71,6 +71,7 @@ class JsonSchemaService { switch (version) { case 'v0': + // case 'v1': break; default: throw Error(`HTTP API version: ${version} isn't supported.`); diff --git a/src/service/operation-id-service.js b/src/service/operation-id-service.js index 8331c067ea..832ebf5edc 100644 --- a/src/service/operation-id-service.js +++ b/src/service/operation-id-service.js @@ -101,7 +101,13 @@ class OperationIdService { this.eventEmitter.emit(eventName, eventData); } - async cacheOperationIdData(operationId, data) { + async cacheOperationIdDataToMemory(operationId, data) { + this.logger.debug(`Caching data for operation id: ${operationId} in memory`); + + this.memoryCachedHandlersData[operationId] = { data, timestamp: Date.now() }; + } + + async cacheOperationIdDataToFile(operationId, data) { this.logger.debug(`Caching data for operation id: ${operationId} in file`); const operationIdCachePath = this.fileService.getOperationIdCachePath(); @@ -110,8 +116,6 @@ class OperationIdService { operationId, JSON.stringify(data), ); - - this.memoryCachedHandlersData[operationId] = { data, timestamp: Date.now() }; } async getCachedOperationIdData(operationId) { @@ -120,7 +124,9 @@ class OperationIdService { return this.memoryCachedHandlersData[operationId].data; } - this.logger.debug(`Reading operation id: ${operationId} cached data from file`); + this.logger.debug( + `Didn't manage to get cached ${operationId} data from memory, trying file`, + ); const documentPath = this.fileService.getOperationIdDocumentPath(operationId); let data; if (await this.fileService.pathExists(documentPath)) { diff --git a/src/service/operation-service.js b/src/service/operation-service.js index c2897d7222..27f1a91e8d 100644 --- a/src/service/operation-service.js +++ b/src/service/operation-service.js @@ -27,15 +27,14 @@ class OperationService { ); } - async getResponsesStatuses(responseStatus, errorMessage, operationId, keyword) { - const self = this; + async getResponsesStatuses(responseStatus, errorMessage, operationId) { let responses = 0; + const self = this; await this.operationMutex.runExclusive(async () => { await self.repositoryModuleManager.createOperationResponseRecord( responseStatus, this.operationName, operationId, - keyword, errorMessage, ); responses = await self.repositoryModuleManager.getOperationResponsesStatuses( @@ -44,19 +43,19 @@ class OperationService { ); }); - const keywordsStatuses = {}; - responses.forEach((response) => { - if (!keywordsStatuses[response.keyword]) - keywordsStatuses[response.keyword] = { failedNumber: 0, completedNumber: 0 }; + const operationIdStatuses = {}; + for (const response of responses) { + if (!operationIdStatuses[operationId]) + operationIdStatuses[operationId] = { failedNumber: 0, completedNumber: 0 }; if (response.status === OPERATION_REQUEST_STATUS.FAILED) { - keywordsStatuses[response.keyword].failedNumber += 1; + operationIdStatuses[operationId].failedNumber += 1; } else { - keywordsStatuses[response.keyword].completedNumber += 1; + operationIdStatuses[operationId].completedNumber += 1; } - }); + } - return keywordsStatuses; + return operationIdStatuses; } async markOperationAsCompleted(operationId, blockchain, responseData, endStatuses) { @@ -69,7 +68,7 @@ class OperationService { ); if (responseData != null) { - await this.operationIdService.cacheOperationIdData(operationId, responseData); + await this.operationIdService.cacheOperationIdDataToFile(operationId, responseData); } for (const status of endStatuses) { @@ -112,6 +111,14 @@ class OperationService { }, failed: ${failedNumber}, completed: ${completedNumber}`, ); } + + async getBatchSize() { + throw Error('getBatchSize not implemented'); + } + + async getMinAckResponses() { + throw Error('getMinAckResponses not implemented'); + } } export default OperationService; diff --git a/src/service/pending-storage-service.js b/src/service/pending-storage-service.js index 1269e760f0..668e874191 100644 --- a/src/service/pending-storage-service.js +++ b/src/service/pending-storage-service.js @@ -1,3 +1,4 @@ +import path from 'path'; import { CONTENT_ASSET_HASH_FUNCTION_ID, SERVICE_AGREEMENT_SOURCES, @@ -7,40 +8,125 @@ class PendingStorageService { constructor(ctx) { this.logger = ctx.logger; this.fileService = ctx.fileService; - this.ualService = ctx.ualService; this.serviceAgreementService = ctx.serviceAgreementService; this.repositoryModuleManager = ctx.repositoryModuleManager; this.blockchainModuleManager = ctx.blockchainModuleManager; this.tripleStoreService = ctx.tripleStoreService; } - async cacheAssertion( - repository, - blockchain, - contract, - tokenId, - assertionId, - assertion, - operationId, - ) { - const ual = this.ualService.deriveUAL(blockchain, contract, tokenId); - + async cacheDataset(operationId, datasetRoot, dataset) { this.logger.debug( - `Caching ${assertionId} assertion for ual: ${ual}, operation id: ${operationId} in file in ${repository} pending storage`, + `Caching ${datasetRoot} dataset root, operation id: ${operationId} in file in pending storage`, ); - const pendingStorageFolderPath = this.fileService.getPendingStorageFolderPath( - repository, - blockchain, - contract, - tokenId, + await this.fileService.writeContentsToFile( + this.fileService.getPendingStorageCachePath(), + operationId, + JSON.stringify({ + merkleRoot: datasetRoot, + assertion: dataset, + }), ); + } - await this.fileService.writeContentsToFile( - pendingStorageFolderPath, - assertionId, - JSON.stringify(assertion), + async getCachedDataset(operationId) { + this.logger.debug(`Retrieving cached dataset for ${operationId} from pending storage`); + + const filePath = this.fileService.getPendingStorageDocumentPath(operationId); + + try { + const fileContents = await this.fileService.readFile(filePath, true); + return fileContents.assertion; + } catch (error) { + this.logger.error( + `Failed to retrieve or parse cached dataset for ${operationId}: ${error.message}`, + ); + throw error; + } + } + + async removeExpiredFileCache(expirationTimeMillis, maxRemovalCount) { + this.logger.debug( + `Cleaning up expired files older than ${expirationTimeMillis} milliseconds. Max removal: ${maxRemovalCount}`, ); + + const now = Date.now(); + let removedCount = 0; + + try { + // Define the paths to the directories we want to clean + const storagePaths = [ + this.fileService.getPendingStorageCachePath(), + this.fileService.getSignatureStorageCachePath(), + ]; + + const filesToDelete = []; + + // Function to collect files from the provided base path + const collectFiles = async (basePath) => { + if (!(await this.fileService.pathExists(basePath))) { + this.logger.warn(`Storage path does not exist: ${basePath}`); + return; + } + + const files = await this.fileService.readDirectory(basePath); + + // Add all files found in the directory to the filesToDelete array + files.forEach((file) => { + filesToDelete.push({ file, basePath }); + }); + }; + + // Collect files from both storage paths + for (const basePath of storagePaths) { + // eslint-disable-next-line no-await-in-loop + await collectFiles(basePath); + } + + // Function to delete an expired file + const deleteFile = async ({ file, basePath }) => { + const filePath = path.join(basePath, file); + this.logger.debug(`Attempting to delete file: ${filePath}`); + + try { + const fileStats = await this.fileService.stat(filePath); + this.logger.debug(`File stats for ${filePath}: ${JSON.stringify(fileStats)}`); + + const createdDate = fileStats.mtime; + if (createdDate.getTime() + expirationTimeMillis < now) { + await this.fileService.removeFile(filePath); + this.logger.debug(`Deleted expired file: ${filePath}`); + return true; + } + } catch (fileError) { + this.logger.warn(`Failed to process file ${filePath}: ${fileError.message}`); + } + return false; + }; + + // Process files in batches + for (let i = 0; i < filesToDelete.length; i += maxRemovalCount) { + const batch = filesToDelete.slice(i, i + maxRemovalCount); + + // eslint-disable-next-line no-await-in-loop + const deletionResults = await Promise.allSettled(batch.map(deleteFile)); + + removedCount += deletionResults.filter( + (result) => result.status === 'fulfilled' && result.value, + ).length; + + if (removedCount >= maxRemovalCount) { + this.logger.debug(`Reached max removal count: ${maxRemovalCount}`); + return removedCount; + } + } + } catch (error) { + this.logger.error(`Error during file cleanup: ${error.message}`); + throw error; + } + + this.logger.debug(`Total files removed: ${removedCount}`); + return removedCount; } async getCachedAssertion(repository, blockchain, contract, tokenId, assertionId, operationId) { @@ -50,13 +136,7 @@ class PendingStorageService { `Reading cached assertion for ual: ${ual}, assertion id: ${assertionId}, operation id: ${operationId} from file in ${repository} pending storage`, ); try { - const documentPath = await this.fileService.getPendingStorageDocumentPath( - repository, - blockchain, - contract, - tokenId, - assertionId, - ); + const documentPath = await this.fileService.getPendingStorageDocumentPath(operationId); const data = await this.fileService.readFile(documentPath, true); return data; @@ -68,14 +148,7 @@ class PendingStorageService { } } - async removeCachedAssertion( - repository, - blockchain, - contract, - tokenId, - assertionId, - operationId, - ) { + async removeCachedAssertion(repository, blockchain, contract, tokenId, operationId) { const ual = this.ualService.deriveUAL(blockchain, contract, tokenId); this.logger.debug( @@ -83,11 +156,7 @@ class PendingStorageService { ); const pendingAssertionPath = await this.fileService.getPendingStorageDocumentPath( - repository, - blockchain, - contract, - tokenId, - assertionId, + operationId, ); await this.fileService.removeFile(pendingAssertionPath); @@ -108,31 +177,8 @@ class PendingStorageService { } } - async assetHasPendingState(repository, blockchain, contract, tokenId, assertionId) { - try { - const documentPath = await this.fileService.getPendingStorageDocumentPath( - repository, - blockchain, - contract, - tokenId, - assertionId, - ); - this.logger.trace( - `Checking if assertion exists in pending storage at path: ${documentPath}`, - ); - return this.fileService.pathExists(documentPath); - } catch (error) { - return false; - } - } - - async getPendingState(repository, blockchain, contract, tokenId) { - return this.fileService.getPendingStorageLatestDocument( - repository, - blockchain, - contract, - tokenId, - ); + async getPendingState(operationId) { + return this.fileService.getPendingStorageLatestDocument(operationId); } async moveAndDeletePendingState( diff --git a/src/service/protocol-service.js b/src/service/protocol-service.js index 919689b213..d99850e7f3 100644 --- a/src/service/protocol-service.js +++ b/src/service/protocol-service.js @@ -36,7 +36,7 @@ class ProtocolService { const prefix = `${version}Handle${capitalizedOperation}`; - return [`${prefix}InitCommand`, `${prefix}RequestCommand`]; + return [`${prefix}RequestCommand`]; } getSenderCommandSequence(protocol) { @@ -46,7 +46,7 @@ class ProtocolService { const prefix = `${version}${capitalizedOperation}`; - return [`${prefix}InitCommand`, `${prefix}RequestCommand`]; + return [`${prefix}RequestCommand`]; } } diff --git a/src/service/publish-service.js b/src/service/publish-service.js index 1b7afdb7a0..59528b3f54 100644 --- a/src/service/publish-service.js +++ b/src/service/publish-service.js @@ -13,6 +13,7 @@ class PublishService extends OperationService { constructor(ctx) { super(ctx); + this.blockchainModuleManager = ctx.blockchainModuleManager; this.operationName = OPERATIONS.PUBLISH; this.networkProtocols = NETWORK_PROTOCOLS.STORE; this.errorType = ERROR_TYPE.PUBLISH.PUBLISH_ERROR; @@ -22,37 +23,47 @@ class PublishService extends OperationService { OPERATION_ID_STATUS.COMPLETED, ]; this.operationMutex = new Mutex(); + this.signatureStorageService = ctx.signatureStorageService; } - async processResponse(command, responseStatus, responseData, errorMessage = null) { + async processResponse( + command, + responseStatus, + responseData, + errorMessage = null, + localStore = false, + ) { const { operationId, blockchain, - numberOfFoundNodes, + numberOfShardNodes, leftoverNodes, - keyword, batchSize, minAckResponses, + datasetRoot, } = command.data; - const keywordsStatuses = await this.getResponsesStatuses( + const datasetRootStatus = await this.getResponsesStatuses( responseStatus, errorMessage, operationId, - keyword, ); - const { completedNumber, failedNumber } = keywordsStatuses[keyword]; + if (localStore) { + return; + } + + const { completedNumber, failedNumber } = datasetRootStatus[operationId]; const totalResponses = completedNumber + failedNumber; - const isAllNodesResponded = numberOfFoundNodes === totalResponses; + const isAllNodesResponded = numberOfShardNodes === totalResponses; const isBatchCompleted = totalResponses % batchSize === 0; this.logger.debug( `Processing ${ this.operationName - } response with status: ${responseStatus} for operationId: ${operationId}, keyword: ${keyword}. Total number of nodes: ${numberOfFoundNodes}, number of nodes in batch: ${Math.min( - numberOfFoundNodes, + } response with status: ${responseStatus} for operationId: ${operationId}, dataset root: ${datasetRoot}. Total number of nodes: ${numberOfShardNodes}, number of nodes in batch: ${Math.min( + numberOfShardNodes, batchSize, )} number of leftover nodes: ${ leftoverNodes.length @@ -60,7 +71,7 @@ class PublishService extends OperationService { ); if (responseData.errorMessage) { this.logger.trace( - `Error message for operation id: ${operationId}, keyword: ${keyword} : ${responseData.errorMessage}`, + `Error message for operation id: ${operationId}, dataset root: ${datasetRoot} : ${responseData.errorMessage}`, ); } @@ -68,10 +79,13 @@ class PublishService extends OperationService { responseStatus === OPERATION_REQUEST_STATUS.COMPLETED && completedNumber === minAckResponses ) { + const signatures = await this.signatureStorageService.getSignaturesFromStorage( + operationId, + ); await this.markOperationAsCompleted( operationId, blockchain, - null, + signatures, this.completedStatuses, ); this.logResponsesSummary(completedNumber, failedNumber); @@ -93,6 +107,14 @@ class PublishService extends OperationService { } } } + + async getBatchSize(blockchainId) { + return this.blockchainModuleManager.getR2(blockchainId); + } + + async getMinAckResponses(blockchainId) { + return this.blockchainModuleManager.getR1(blockchainId); + } } export default PublishService; diff --git a/src/service/sharding-table-service.js b/src/service/sharding-table-service.js index f5ed64c416..eef464766b 100644 --- a/src/service/sharding-table-service.js +++ b/src/service/sharding-table-service.js @@ -1,7 +1,5 @@ import { BYTES_IN_KILOBYTE, - CONTRACTS, - DEFAULT_BLOCKCHAIN_EVENT_SYNC_PERIOD_IN_MILLS, PEER_RECORD_UPDATE_DELAY, LOW_BID_SUGGESTION, MED_BID_SUGGESTION, @@ -27,15 +25,7 @@ class ShardingTableService { } async initialize() { - const pullBlockchainShardingTables = this.blockchainModuleManager - .getImplementationNames() - .map((blockchainId) => this.pullBlockchainShardingTable(blockchainId)); - await Promise.all(pullBlockchainShardingTables); - await this.networkModuleManager.onPeerConnected((connection) => { - this.logger.trace( - `Node connected to ${connection.remotePeer.toB58String()}, updating sharding table last seen and last dialed.`, - ); this.updatePeerRecordLastSeenAndLastDialed(connection.remotePeer.toB58String()).catch( (error) => { this.logger.warn(`Unable to update connected peer, error: ${error.message}`); @@ -44,25 +34,13 @@ class ShardingTableService { }); } - async pullBlockchainShardingTable(blockchainId, force = false) { - const lastCheckedBlock = await this.repositoryModuleManager.getLastCheckedBlock( - blockchainId, - CONTRACTS.SHARDING_TABLE_CONTRACT, - ); - - if ( - force || - (lastCheckedBlock?.lastCheckedTimestamp && - Date.now() - lastCheckedBlock.lastCheckedTimestamp < - DEFAULT_BLOCKCHAIN_EVENT_SYNC_PERIOD_IN_MILLS) - ) { - return; - } + async pullBlockchainShardingTable(blockchainId, transaction = null) { + const options = transaction ? { transaction } : {}; this.logger.debug( `Removing nodes from local sharding table for blockchain ${blockchainId}.`, ); - await this.repositoryModuleManager.removeShardingTablePeerRecords(blockchainId); + await this.repositoryModuleManager.removeShardingTablePeerRecords(blockchainId, options); const shardingTableLength = await this.blockchainModuleManager.getShardingTableLength( blockchainId, @@ -94,57 +72,43 @@ class ShardingTableService { `Finished pulling ${shardingTable.length} nodes from blockchain sharding table.`, ); - await this.repositoryModuleManager.createManyPeerRecords( - await Promise.all( - shardingTable.map(async (peer) => { - const nodeId = this.blockchainModuleManager.convertHexToAscii( - blockchainId, - peer.nodeId, - ); - const sha256 = await this.hashingService.callHashFunction(1, nodeId); + const newPeerRecords = await Promise.all( + shardingTable.map(async (peer) => { + const nodeId = this.blockchainModuleManager.convertHexToAscii( + blockchainId, + peer.nodeId, + ); + const sha256 = await this.hashingService.callHashFunction(1, nodeId); - return { - peerId: nodeId, + return { + peerId: nodeId, + blockchainId, + ask: this.blockchainModuleManager.convertFromWei( blockchainId, - ask: this.blockchainModuleManager.convertFromWei( - blockchainId, - peer.ask, - 'ether', - ), - stake: this.blockchainModuleManager.convertFromWei( - blockchainId, - peer.stake, - 'ether', - ), - sha256, - }; - }), - ), + peer.ask, + 'ether', + ), + stake: this.blockchainModuleManager.convertFromWei( + blockchainId, + peer.stake, + 'ether', + ), + sha256, + }; + }), ); + + await this.repositoryModuleManager.createManyPeerRecords(newPeerRecords, options); } - async findNeighbourhood( - blockchainId, - key, - r2, - hashFunctionId, - proximityScoreFunctionsPairId, - filterInactive = false, - ) { + async findShard(blockchainId /* filterInactive = false */) { let peers = await this.repositoryModuleManager.getAllPeerRecords(blockchainId); peers = peers.map((peer, index) => ({ ...peer.dataValues, index })); - const keyHash = await this.hashingService.callHashFunction(hashFunctionId, key); + return peers; + } - const sortedPeers = this.sortPeers( - blockchainId, - keyHash, - peers, - r2, - hashFunctionId, - proximityScoreFunctionsPairId, - filterInactive, - ); - return sortedPeers; + async isNodePartOfShard(blockchainId, peerId) { + return this.repositoryModuleManager.isNodePartOfShard(blockchainId, peerId); } async sortPeers( @@ -199,17 +163,7 @@ class ShardingTableService { bidSuggestionRange = LOW_BID_SUGGESTION, ) { const kbSize = assertionSize < BYTES_IN_KILOBYTE ? BYTES_IN_KILOBYTE : assertionSize; - const peerRecords = await this.findNeighbourhood( - blockchainId, - this.blockchainModuleManager.encodePacked( - blockchainId, - ['address', 'bytes32'], - [contentAssetStorageAddress, firstAssertionId], - ), - await this.blockchainModuleManager.getR2(blockchainId), - hashFunctionId, - proximityScoreFunctionsPairId, - ); + const peerRecords = await this.findShard(blockchainId); const r0 = await this.blockchainModuleManager.getR0(blockchainId); // todo remove this line once we implement logic for storing assertion in publish node if it's in neighbourhood const myPeerId = this.networkModuleManager.getPeerId().toB58String(); diff --git a/src/service/signature-storage-service.js b/src/service/signature-storage-service.js new file mode 100644 index 0000000000..6fa6c63865 --- /dev/null +++ b/src/service/signature-storage-service.js @@ -0,0 +1,33 @@ +class SignatureStorageService { + constructor(ctx) { + this.config = ctx.config; + this.logger = ctx.logger; + + this.fileService = ctx.fileService; + } + + async addSignatureToStorage(operationId, identityId, signature) { + await this.fileService.appendContentsToFile( + this.fileService.getSignatureStorageCachePath(), + operationId, + `${JSON.stringify({ identityId, signature })}\n`, + ); + } + + async getSignaturesFromStorage(operationId) { + const signatureStorageFile = this.fileService.getSignatureStorageDocumentPath(operationId); + + const rawSignatures = await this.fileService.readFile(signatureStorageFile); + const signaturesArray = []; + for (const line of rawSignatures.split('\n')) { + const trimmedLine = line.trim(); + if (trimmedLine) { + signaturesArray.push(JSON.parse(trimmedLine)); + } + } + + return signaturesArray; + } +} + +export default SignatureStorageService; diff --git a/src/service/triple-store-service.js b/src/service/triple-store-service.js index dc98cbd310..f6776d77ba 100644 --- a/src/service/triple-store-service.js +++ b/src/service/triple-store-service.js @@ -1,8 +1,12 @@ /* eslint-disable no-await-in-loop */ import { setTimeout } from 'timers/promises'; -import { formatAssertion } from 'assertion-tools'; +import { kcTools } from 'assertion-tools'; -import { SCHEMA_CONTEXT, TRIPLE_STORE_REPOSITORIES, MEDIA_TYPES } from '../constants/constants.js'; +import { + SCHEMA_CONTEXT, + BASE_NAMED_GRAPHS, + TRIPLE_STORE_REPOSITORY, +} from '../constants/constants.js'; class TripleStoreService { constructor(ctx) { @@ -10,6 +14,7 @@ class TripleStoreService { this.logger = ctx.logger; this.tripleStoreModuleManager = ctx.tripleStoreModuleManager; + this.operationIdService = ctx.operationIdService; this.ualService = ctx.ualService; this.dataService = ctx.dataService; this.paranetService = ctx.paranetService; @@ -26,337 +31,238 @@ class TripleStoreService { } } - async localStoreAsset( + async insertKnowledgeCollection( repository, - assertionId, - assertion, - blockchain, - contract, - tokenId, - keyword, + knowledgeCollectionUAL, + knowledgeAssetsUALs, + knowledgeAssetsStates, + triples, retries = 1, retryDelay = 0, ) { - const ual = this.ualService.deriveUAL(blockchain, contract, tokenId); - this.logger.info( - `Inserting Knowledge Asset with the UAL: ${ual}, Assertion ID: ${assertionId}, ` + + `Inserting Knowledge Collection with the UAL: ${knowledgeCollectionUAL} ` + `to the Triple Store's ${repository} repository.`, ); - const currentAssetNquads = await formatAssertion({ - '@context': SCHEMA_CONTEXT, - '@id': ual, - blockchain, - contract, - tokenId, - assertion: { '@id': `assertion:${assertionId}` }, - keyword, - }); - - const oldUalConnection = await formatAssertion({ - '@context': SCHEMA_CONTEXT, - '@id': this.ualService.getUalWithoutChainId(ual, blockchain), - assertion: { '@id': `assertion:${assertionId}` }, - }); - - let attempts = 0; - let success = false; - - const [currentAssetExists, assertionExists] = await Promise.all([ - this.tripleStoreModuleManager.assetExists( + const [existsInUnifiedGraph, existsInNamedGraphs] = await Promise.all([ + this.tripleStoreModuleManager.knowledgeCollectionNamedGraphsExist( this.repositoryImplementations[repository], repository, - ual, + knowledgeCollectionUAL, ), - this.tripleStoreModuleManager.assertionExists( + this.tripleStoreModuleManager.knowledgeCollectionExistsInUnifiedGraph( this.repositoryImplementations[repository], repository, - assertionId, + BASE_NAMED_GRAPHS.UNIFIED, + knowledgeCollectionUAL, ), ]); + const knowledgeAssetsStatesUALs = knowledgeAssetsUALs.map( + (ual, index) => `${ual}:${knowledgeAssetsStates[index]}`, + ); + const knowledgeAssetsTriples = this.dataService.groupTriplesBySubject(triples); + + // TODO: Add with the introduction of RDF-star mode + // const tripleAnnotations = this.dataService.createTripleAnnotations( + // knowledgeAssetsTriples, + // UAL_PREDICATE, + // knowledgeAssetsUALs.map((ual) => `<${ual}>`), + // ); + // const unifiedGraphTriples = [...triples, ...tripleAnnotations]; + + const promises = []; + + if (!existsInNamedGraphs) { + promises.push( + this.tripleStoreModuleManager.createKnowledgeCollectionNamedGraphs( + this.repositoryImplementations[repository], + repository, + knowledgeAssetsStatesUALs, + knowledgeAssetsTriples, + ), + ); + } + + if (!existsInUnifiedGraph) { + promises.push( + this.tripleStoreModuleManager.insertKnowledgeCollectionIntoUnifiedGraph( + this.repositoryImplementations[repository], + repository, + BASE_NAMED_GRAPHS.UNIFIED, + triples, + ), + ); + } + + const metadataTriples = await kcTools.formatDataset({ + '@context': SCHEMA_CONTEXT, + '@graph': knowledgeAssetsUALs.map((ual, index) => ({ + '@id': ual, + states: [knowledgeAssetsStatesUALs[index]], + })), + }); + + promises.push( + this.tripleStoreModuleManager.insertKnowledgeCollectionMetadata( + this.repositoryImplementations[repository], + repository, + metadataTriples, + ), + ); + + let attempts = 0; + let success = false; + while (attempts < retries && !success) { try { - await Promise.all([ - this.tripleStoreModuleManager.insertAssetAssertionMetadata( - this.repositoryImplementations[repository], - repository, - ual, - currentAssetNquads.join('\n'), - false, - ), - this.tripleStoreModuleManager.insertAssetAssertionMetadata( - this.repositoryImplementations[repository], - repository, - ual, - oldUalConnection.join('\n'), - false, - ), - this.tripleStoreModuleManager.insertAssertion( - this.repositoryImplementations[repository], - repository, - assertionId, - assertion.join('\n'), - false, - ), - ]); + await Promise.all(promises); success = true; this.logger.info( - `Knowledge Asset with UAL: ${ual}, Assertion ID: ${assertionId}, Repository: ${repository} has been successfully inserted.`, + `Knowledge Collection with the UAL: ${knowledgeCollectionUAL} ` + + `has been successfully inserted to the Triple Store's ${repository} repository.`, ); } catch (error) { this.logger.error( - `Error during insertion. UAL: ${ual}, Assertion ID: ${assertionId}, Repository: ${repository}. Error: ${error.message}`, + `Error during insertion of the Knowledge Collection to the Triple Store's ${repository} repository. ` + + `UAL: ${knowledgeCollectionUAL}. Error: ${error.message}`, ); attempts += 1; if (attempts < retries) { this.logger.info( - `Retrying insertion attempt ${ - attempts + 1 - } of ${retries} after delay of ${retryDelay} ms. UAL: ${ual}, Assertion ID: ${assertionId}, Repository: ${repository}`, + `Retrying insertion of the Knowledge Collection with the UAL: ${knowledgeCollectionUAL} ` + + `to the Triple Store's ${repository} repository. Attempt ${ + attempts + 1 + } of ${retries} after delay of ${retryDelay} ms.`, ); await setTimeout(retryDelay); } else { this.logger.error( - `Max retries reached. Rolling back data. UAL: ${ual}, Assertion ID: ${assertionId}, Repository: ${repository}`, + `Max retries reached for the insertion of the Knowledge Collection with the UAL: ${knowledgeCollectionUAL} ` + + `to the Triple Store's ${repository} repository. Rolling back data.`, ); // Rollback insertions if data didn't exist before the operation - if (!currentAssetExists) { + if (!existsInUnifiedGraph) { this.logger.info( - `Rolling back asset metadata. UAL: ${ual}, Assertion ID: ${assertionId}, Repository: ${repository}`, + `Rolling back Knowledge Collection with the UAL: ${knowledgeCollectionUAL} ` + + `from the Triple Store's ${repository} repository Unified Graph.`, + ); + await this.tripleStoreModuleManager.deleteKnowledgeCollectionFromUnifiedGraph( + this.repositoryImplementations[repository], + repository, + knowledgeCollectionUAL, ); - await this.deleteAssetMetadata(repository, blockchain, contract, tokenId); } - if (!assertionExists) { + if (!existsInNamedGraphs) { this.logger.info( - `Rolling back assertion data. UAL: ${ual}, Assertion ID: ${assertionId}, Repository: ${repository}`, + `Rolling back Knowledge Collection with the UAL: ${knowledgeCollectionUAL} ` + + `from the Triple Store's ${repository} repository Named Graphs.`, + ); + await this.tripleStoreModuleManager.deleteKnowledgeCollectionNamedGraphs( + this.repositoryImplementations[repository], + repository, + knowledgeAssetsStatesUALs, ); - await this.deleteAssertion(repository, assertionId); } throw new Error( - `Failed to store asset after maximum retries. UAL: ${ual}, Assertion ID: ${assertionId}, Repository: ${repository}`, + `Failed to store Knowledge Collection with the UAL: ${knowledgeCollectionUAL} ` + + `to the Triple Store's ${repository} repository after maximum retries.`, ); } } } } - async moveAsset( - fromRepository, - toRepository, - assertionId, - blockchain, - contract, - tokenId, - keyword, - ) { - let assertion; - // Try-catch to prevent infinite processing loop when unexpected error is thrown while getting KA - try { - assertion = await this.getAssertion(fromRepository, assertionId); - } catch (e) { - this.logger.error(`Error while getting assertion for moving asset: ${e.message}`); - return; - } - - // copy metadata and assertion - await this.localStoreAsset( - toRepository, - assertionId, - assertion, - blockchain, - contract, - tokenId, - keyword, - ); - - const [assetsWithAssertionIdCount] = await this.countAssetsWithAssertionId( - fromRepository, - assertionId, - ); + async moveKnowledgeCollectionBetweenUnifiedGraphs(fromRepository, toRepository, ual) { + const knowledgeCollection = + await this.tripleStoreModuleManager.getKnowledgeCollectionFromUnifiedGraph( + this.repositoryImplementations[fromRepository], + fromRepository, + BASE_NAMED_GRAPHS.UNIFIED, + ual, + false, + ); - // delete assertion from repository if not linked to other assets - if (assetsWithAssertionIdCount?.count <= 1) { - await this.deleteAssertion(fromRepository, assertionId); - } + // TODO: Add with the introduction of the RDF-star mode + // const knowledgeCollectionAnnotations = this.dataService.createTripleAnnotations( + // knowledgeCollection, + // UAL_PREDICATE, + // `<${ual}>`, + // ); + // const knowledgeCollectionWithAnnotations = [ + // ...knowledgeCollection, + // ...knowledgeCollectionAnnotations, + // ]; + + await Promise.all([ + this.tripleStoreModuleManager.insertKnowledgeCollectionIntoUnifiedGraph( + this.repositoryImplementations[toRepository], + toRepository, + BASE_NAMED_GRAPHS.HISTORICAL_UNIFIED, + knowledgeCollection, + ), + this.tripleStoreModuleManager.deleteUniqueKnowledgeCollectionTriplesFromUnifiedGraph( + this.repositoryImplementations[toRepository], + toRepository, + BASE_NAMED_GRAPHS.UNIFIED, + ual, + ), + ]); } - async moveAssetWithoutDelete( - fromRepository, - toRepository, - assertionId, - blockchain, - contract, - tokenId, - keyword, + async checkIfKnowledgeCollectionExistsInUnifiedGraph( + ual, + repository = TRIPLE_STORE_REPOSITORY.DKG, ) { - let assertion; - // Try-catch to prevent infinite processing loop when unexpected error is thrown while getting KA - try { - assertion = await this.getAssertion(fromRepository, assertionId); - } catch (e) { - this.logger.error(`Error while getting assertion for moving asset: ${e.message}`); - return; - } + const knowledgeCollectionExists = + await this.tripleStoreModuleManager.knowledgeCollectionExistsInUnifiedGraph( + this.repositoryImplementations[repository], + repository, + BASE_NAMED_GRAPHS.UNIFIED, + ual, + ); - // copy metadata and assertion - await this.localStoreAsset( - toRepository, - assertionId, - assertion, - blockchain, - contract, - tokenId, - keyword, - ); + return knowledgeCollectionExists; } - async insertAssetAssertionMetadata( - repository, + async getAssertion( blockchain, contract, - tokenId, - assertionId, - keyword, + knowledgeCollectionId, + knowledgeAssetId, + repository = TRIPLE_STORE_REPOSITORY.DKG, ) { - const ual = this.ualService.deriveUAL(blockchain, contract, tokenId); - - this.logger.info( - `Inserting metadata for the Knowledge Asset with the UAL: ${ual}, Assertion ID: ${assertionId}, ` + - `to the Triple Store's ${repository} repository.`, - ); - - const currentAssetNquads = await formatAssertion({ - '@context': SCHEMA_CONTEXT, - '@id': ual, - blockchain, - contract, - tokenId, - assertion: { '@id': `assertion:${assertionId}` }, - keyword, - }); - - await this.tripleStoreModuleManager.insertAssetAssertionMetadata( - this.repositoryImplementations[repository], - repository, - ual, - currentAssetNquads.join('\n'), - ); - } + const ual = `did:dkg:${blockchain}/${contract}/${knowledgeCollectionId}${ + knowledgeAssetId ? `/${knowledgeAssetId}` : '' + }`; - async updateAssetNonAssertionMetadata(repository, blockchain, contract, tokenId, keyword) { - const ual = this.ualService.deriveUAL(blockchain, contract, tokenId); - - this.logger.info( - `Updating Non-Assertion metadata for the Knowledge Asset with the UAL: ${ual} ` + - `in the Triple Store's ${repository} repository.`, - ); - - const updatedAssetNquads = await formatAssertion({ - '@context': SCHEMA_CONTEXT, - '@id': ual, - blockchain, - contract, - tokenId, - keyword, - }); - - await this.tripleStoreModuleManager.updateAssetNonAssertionMetadata( - this.repositoryImplementations[repository], - repository, - ual, - updatedAssetNquads.join('\n'), - ); - } - - async deleteAssetMetadata(repository, blockchain, contract, tokenId) { - const ual = this.ualService.deriveUAL(blockchain, contract, tokenId); - this.logger.info( - `Deleting metadata for the Knowledge Asset with the UAL: ${ual} ` + - `from the Triple Store's ${repository} repository.`, - ); - - const assertionLinks = await this.getAssetAssertionLinks( - repository, - blockchain, - contract, - tokenId, - ); - const linkedAssertionIds = assertionLinks.map(({ assertion }) => - assertion.replace('assertion:', ''), - ); - - await this.tripleStoreModuleManager.deleteAssetMetadata( - this.repositoryImplementations[repository], - repository, - ual, - ); - await this.tripleStoreModuleManager.deleteAssetMetadata( - this.repositoryImplementations[repository], - repository, - this.ualService.getUalWithoutChainId(ual, blockchain), - ); + this.logger.debug(`Getting Assertion with the UAL: ${ual}.`); - // Delete assertions that were linked only to this Knowledge Asset - for (const linkedAssertionId of linkedAssertionIds) { - // eslint-disable-next-line no-await-in-loop - const [assetsWithAssertionIdCount] = await this.countAssetsWithAssertionId( + let nquads; + if (knowledgeAssetId) { + nquads = await this.tripleStoreModuleManager.getKnowledgeAssetNamedGraph( + this.repositoryImplementations[repository], repository, - linkedAssertionId, + `${ual}:0`, // TO DO: Add state with implemented update + ); + } else { + nquads = await this.tripleStoreModuleManager.getKnowledgeCollectionNamedGraphs( + this.repositoryImplementations[repository], + repository, + ual, ); - - if (assetsWithAssertionIdCount?.count === 0) { - // eslint-disable-next-line no-await-in-loop - await this.deleteAssertion(repository, linkedAssertionId); - } - } - } - - async deleteAssertion(repository, assertionId) { - this.logger.info( - `Deleting Assertion with the ID: ${assertionId} from the Triple Store's ${repository} repository.`, - ); - return this.tripleStoreModuleManager.deleteAssertion( - this.repositoryImplementations[repository], - repository, - assertionId, - ); - } - - async countAssetsWithAssertionId(repository, assertionId) { - const bindings = await this.tripleStoreModuleManager.countAssetsWithAssertionId( - this.repositoryImplementations[repository], - repository, - assertionId, - ); - const count = this.dataService.parseBindings(bindings); - if (count > 1) { - // since 6.1.0 in asset metadata we are storing two triples connected to assertion id - // using 2 formats of ual - so we can expect that this query returns 2 triples per asset - return Math.round(count / 2); } - return count; - } - async getAssertion(repository, assertionId) { - this.logger.debug( - `Getting Assertion with the ID: ${assertionId} from the Triple Store's ${repository} repository.`, - ); - let nquads = await this.tripleStoreModuleManager.getAssertion( - this.repositoryImplementations[repository], - repository, - assertionId, - ); - nquads = await this.dataService.toNQuads(nquads, MEDIA_TYPES.N_QUADS); + nquads = nquads.split('\n').filter((line) => line !== ''); this.logger.debug( - `Assertion: ${assertionId} ${ + `Assertion: ${ual} ${ nquads.length ? '' : 'is not' } found in the Triple Store's ${repository} repository.`, ); @@ -370,122 +276,49 @@ class TripleStoreService { return nquads; } - async assetExists(repository, blockchain, contract, tokenId) { - return this.tripleStoreModuleManager.assetExists( - this.repositoryImplementations[repository], - repository, - this.ualService.deriveUAL(blockchain, contract, tokenId), - ); - } - - async paranetAssetExists(blockchain, kaContract, kaTokenId, paranetContract, paranetTokenId) { - const paranetUAL = this.ualService.deriveUAL(blockchain, paranetContract, paranetTokenId); - const repository = this.paranetService.getParanetRepositoryName(paranetUAL); - return this.assetExists(repository, blockchain, kaContract, kaTokenId); - } - - async insertAssetAssertionLink(repository, blockchain, contract, tokenId, assertionId) { - const ual = this.ualService.deriveUAL(blockchain, contract, tokenId); - this.logger.info( - `Inserting Link to the Assertion with the ID: ${assertionId} for the Knowledge Asset with the UAL: ${ual} ` + - `to the Triple Store's ${repository} repository.`, - ); - - return this.tripleStoreModuleManager.insertAssetAssertionLink( - this.repositoryImplementations[repository], - repository, - ual, - assertionId, - ); - } - - async updateAssetAssertionLink( - repository, + async getAssertionMetadata( blockchain, contract, - tokenId, - oldAssertionId, - newAssertionId, + knowledgeCollectionId, + knowledgeAssetId, + repository = TRIPLE_STORE_REPOSITORY.DKG, ) { - const ual = this.ualService.deriveUAL(blockchain, contract, tokenId); - this.logger.info( - `Updating Assertion for the Knowledge Asset with the UAL: ${ual} in the Triple Store's ${repository} repository. ` + - `Old Assertion ID: ${oldAssertionId}. New Assertion ID: ${newAssertionId}.`, - ); - - await this.tripleStoreModuleManager.updateAssetAssertionLink( - this.repositoryImplementations[repository], - repository, - ual, - oldAssertionId, - newAssertionId, - ); - - const [assetsWithAssertionIdCount] = await this.countAssetsWithAssertionId( - repository, - oldAssertionId, - ); - - // Delete old assertion if it was only linked to this Knowledge Asset - if (assetsWithAssertionIdCount?.count === 0) { - await this.deleteAssertion(repository, oldAssertionId); + const ual = `did:dkg:${blockchain}/${contract}/${knowledgeCollectionId}${ + knowledgeAssetId ? `/${knowledgeAssetId}` : '' + }`; + this.logger.debug(`Getting Assertion Metadata with the UAL: ${ual}.`); + let nquads; + if (knowledgeAssetId) { + nquads = await this.tripleStoreModuleManager.getKnowledgeAssetMetadata( + this.repositoryImplementations[repository], + repository, + ual, + ); + } else { + nquads = await this.tripleStoreModuleManager.getKnowledgeCollectionMetadata( + this.repositoryImplementations[repository], + repository, + ual, + ); } - } + nquads = nquads.split('\n').filter((line) => line !== ''); - async deleteAssetAssertionLink(repository, blockchain, contract, tokenId, assertionId) { - const ual = this.ualService.deriveUAL(blockchain, contract, tokenId); - this.logger.info( - `Deleting Link to the Assertion with the ID: ${assertionId} for the Knowledge Asset with the UAL: ${ual} ` + - `from the Triple Store's ${repository} repository.`, - ); - - await this.tripleStoreModuleManager.deleteAssetAssertionLink( - this.repositoryImplementations[repository], - repository, - ual, - assertionId, - ); - - const [assetsWithAssertionIdCount] = await this.countAssetsWithAssertionId( - repository, - assertionId, + this.logger.debug( + `Knowledge Asset Metadata: ${ual} ${ + nquads.length ? '' : 'is not' + } found in the Triple Store's ${repository} repository.`, ); - // Delete assertion if it was only linked to this Knowledge Asset - if (assetsWithAssertionIdCount?.count === 0) { - await this.deleteAssertion(repository, assertionId); + if (nquads.length) { + this.logger.debug( + `Number of n-quads retrieved from the Triple Store's ${repository} repository: ${nquads.length}.`, + ); } - } - - async getAssetAssertionLinks(repository, blockchain, contract, tokenId) { - const bindings = await this.tripleStoreModuleManager.getAssetAssertionLinks( - this.repositoryImplementations[repository], - repository, - this.ualService.deriveUAL(blockchain, contract, tokenId), - ); - return this.dataService.parseBindings(bindings); - } - - async assetAssertionLinkExists(repository, blockchain, contract, tokenId, assertionId) { - const ual = this.ualService.deriveUAL(blockchain, contract, tokenId); - - return this.tripleStoreModuleManager.assetAssertionLinkExists( - this.repositoryImplementations[repository], - repository, - ual, - assertionId, - ); - } - async assertionExists(repository, assertionId) { - return this.tripleStoreModuleManager.assertionExists( - this.repositoryImplementations[repository], - repository, - assertionId, - ); + return nquads; } - async construct(repository, query) { + async construct(query, repository = TRIPLE_STORE_REPOSITORY.DKG) { return this.tripleStoreModuleManager.construct( this.repositoryImplementations[repository], repository, @@ -493,7 +326,7 @@ class TripleStoreService { ); } - async select(repository, query) { + async select(query, repository = TRIPLE_STORE_REPOSITORY.DKG) { return this.tripleStoreModuleManager.select( this.repositoryImplementations[repository], repository, @@ -501,28 +334,13 @@ class TripleStoreService { ); } - async queryVoid(repository, query) { + async queryVoid(repository, query, namedGraphs = null, labels = null) { return this.tripleStoreModuleManager.queryVoid( this.repositoryImplementations[repository], repository, - query, + this.buildQuery(query, namedGraphs, labels), ); } - - async queryVoidAllRepositories(query) { - const queryPromises = []; - for (const repository in TRIPLE_STORE_REPOSITORIES) { - queryPromises.push( - this.tripleStoreModuleManager.queryVoid( - this.repositoryImplementations[repository], - TRIPLE_STORE_REPOSITORIES[repository], - query, - ), - ); - } - - return Promise.all(queryPromises); - } } export default TripleStoreService; diff --git a/src/service/ual-service.js b/src/service/ual-service.js index f3f2b35266..8bfb68efd0 100644 --- a/src/service/ual-service.js +++ b/src/service/ual-service.js @@ -14,6 +14,14 @@ class UALService { isUAL(ual) { if (!ual.startsWith('did:dkg:')) return false; const parts = ual.replace('did:', '').replace('dkg:', '').split('/'); + parts.push(...parts.pop().split(':')); + if (parts.length === 4) { + return ( + this.isContract(parts[1]) && + !Number.isNaN(Number(parts[2])) && + !Number.isNaN(Number(parts[3])) + ); + } if (parts.length === 3) { // eslint-disable-next-line no-restricted-globals return this.isContract(parts[1]) && !Number.isNaN(Number(parts[2])); @@ -36,6 +44,29 @@ class UALService { resolveUAL(ual) { const parts = ual.replace('did:', '').replace('dkg:', '').split('/'); + // TODO: Resolve UAL with state + // parts.push(...parts.pop().split(':')); + if (parts.length === 4) { + const contract = parts[1]; + if (!this.isContract(contract)) { + throw new Error(`Invalid contract format: ${contract}`); + } + let blockchainName = parts[0]; + if (blockchainName.split(':').length === 1) { + for (const implementation of this.blockchainModuleManager.getImplementationNames()) { + if (implementation.split(':')[0] === blockchainName) { + blockchainName = implementation; + break; + } + } + } + return { + blockchain: blockchainName, + contract, + knowledgeCollectionId: Number(parts[2]), + knowledgeAssetId: Number(parts[3]), + }; + } if (parts.length === 3) { const contract = parts[1]; if (!this.isContract(contract)) { @@ -50,7 +81,11 @@ class UALService { } } } - return { blockchain: blockchainName, contract, tokenId: Number(parts[2]) }; + return { + blockchain: blockchainName, + contract, + knowledgeCollectionId: Number(parts[2]), + }; } if (parts.length === 2) { const parts2 = parts[0].split(':'); diff --git a/src/service/validation-service.js b/src/service/validation-service.js index 6782ddbc36..55e7296866 100644 --- a/src/service/validation-service.js +++ b/src/service/validation-service.js @@ -1,5 +1,4 @@ -import { assertionMetadata } from 'assertion-tools'; -import { BYTES_IN_KILOBYTE, ZERO_ADDRESS } from '../constants/constants.js'; +import { ZERO_ADDRESS } from '../constants/constants.js'; class ValidationService { constructor(ctx) { @@ -34,61 +33,15 @@ class ValidationService { async validateAssertion(assertionId, blockchain, assertion) { this.logger.info(`Validating assertionId: ${assertionId}`); - this.validateAssertionId(assertion, assertionId); - const blockchainAssertionData = await this.blockchainModuleManager.getAssertionData( - blockchain, - assertionId, - ); - this.validateAssertionSize(blockchainAssertionData.size, assertion); - this.validateTriplesNumber(blockchainAssertionData.triplesNumber, assertion); - this.validateChunkSize(blockchainAssertionData.chunksNumber, assertion); + await this.validateDatasetRoot(assertion, assertionId); this.logger.info(`Assertion integrity validated! AssertionId: ${assertionId}`); } - validateAssertionSize(blockchainAssertionSize, assertion) { - const blockchainAssertionSizeInKb = blockchainAssertionSize / BYTES_IN_KILOBYTE; - if (blockchainAssertionSizeInKb > this.config.maximumAssertionSizeInKb) { - throw Error( - `The size of the received assertion exceeds the maximum limit allowed.. Maximum allowed assertion size in kb: ${this.config.maximumAssertionSizeInKb}, assertion size read from blockchain in kb: ${blockchainAssertionSizeInKb}`, - ); - } - const assertionSize = assertionMetadata.getAssertionSizeInBytes(assertion); - if (blockchainAssertionSize !== assertionSize) { - // todo after corrective component is implemented, update this logic - this.logger.warn( - `Invalid assertion size, value read from blockchain: ${blockchainAssertionSize}, calculated: ${assertionSize}`, - ); - } - } + async validateDatasetRoot(dataset, datasetRoot) { + const calculatedDatasetRoot = await this.validationModuleManager.calculateRoot(dataset); - validateTriplesNumber(blockchainTriplesNumber, assertion) { - const triplesNumber = assertionMetadata.getAssertionTriplesNumber(assertion); - if (blockchainTriplesNumber !== triplesNumber) { - throw Error( - `Invalid triples number, value read from blockchain: ${blockchainTriplesNumber}, calculated: ${triplesNumber}`, - ); - } - } - - validateChunkSize(blockchainChunksNumber, assertion) { - const chunksNumber = assertionMetadata.getAssertionChunksNumber(assertion); - if (blockchainChunksNumber !== chunksNumber) { - throw Error( - `Invalid chunks number, value read from blockchain: ${blockchainChunksNumber}, calculated size: ${chunksNumber}`, - ); - } - } - - validateAssertionId(assertion, assertionId) { - const calculatedAssertionId = this.validationModuleManager.calculateRoot(assertion); - - if (assertionId !== calculatedAssertionId) { - // todo after corrective component is implemented, update this logic - this.logger.warn( - `Invalid assertion id. Received value: ${assertionId}, calculated: ${calculatedAssertionId}`, - ); - } + return datasetRoot === calculatedDatasetRoot; } } diff --git a/test/unit/mock/operation-id-service-mock.js b/test/unit/mock/operation-id-service-mock.js index 7e7a728857..9ce690d859 100644 --- a/test/unit/mock/operation-id-service-mock.js +++ b/test/unit/mock/operation-id-service-mock.js @@ -3,7 +3,9 @@ class OperationIdServiceMock { this.repositoryModuleManager = ctx.repositoryModuleManager; } - cacheOperationIdData(operationId, data) {} + cacheOperationIdDataToFile(operationId, data) {} + + cacheOperationIdDataToMemory(operationId, data) {} async updateOperationIdStatus( operationId, diff --git a/test/unit/mock/repository-module-manager-mock.js b/test/unit/mock/repository-module-manager-mock.js index ff6aa93168..fc9a4b418b 100644 --- a/test/unit/mock/repository-module-manager-mock.js +++ b/test/unit/mock/repository-module-manager-mock.js @@ -130,14 +130,13 @@ class RepositoryModuleManagerMock { ); } - async createOperationResponseRecord(status, operation, operationId, keyword, errorMessage) { + async createOperationResponseRecord(status, operation, operationId, errorMessage) { this.responseStatuses = [ ...this.responseStatuses, { id: this.responseStatuses[this.responseStatuses.length - 1].id + 1, status, operationId, - keyword, createdAt: new Date().toISOString(), updatedAt: new Date().toISOString(), }, diff --git a/test/unit/modules/triple-store/triple-store.test.js b/test/unit/modules/triple-store/triple-store.test.js index 9209cf8bc3..ec75ee10a4 100644 --- a/test/unit/modules/triple-store/triple-store.test.js +++ b/test/unit/modules/triple-store/triple-store.test.js @@ -20,14 +20,14 @@ async function _insertAndGet(content) { const assertion = await formatAssertion(content); const assertionId = calculateRoot(assertion); - await tripleStoreModuleManager.insertAssertion( + await tripleStoreModuleManager.insertKnowledgeAssets( implementationName, TRIPLE_STORE_REPOSITORIES.PUBLIC_CURRENT, assertionId, assertion.join('\n'), ); - const nquads = await tripleStoreModuleManager.getAssertion( + const nquads = await tripleStoreModuleManager.getKnowledgeCollection( implementationName, TRIPLE_STORE_REPOSITORIES.PUBLIC_CURRENT, assertionId, diff --git a/test/unit/modules/validation/validation-module-manager.test.js b/test/unit/modules/validation/validation-module-manager.test.js index 4cabe5041a..4e2306d1f0 100644 --- a/test/unit/modules/validation/validation-module-manager.test.js +++ b/test/unit/modules/validation/validation-module-manager.test.js @@ -49,8 +49,8 @@ describe.only('Validation module manager', async () => { }); it('validate successful root hash calculation, expect to be matched', async () => { - const expectedRootHash = calculateRoot(assertion); - const calculatedRootHash = validationManager.calculateRoot(assertion); + const expectedRootHash = await calculateRoot(assertion); + const calculatedRootHash = await validationManager.calculateRoot(assertion); assert(expect(calculatedRootHash).to.exist); expect(calculatedRootHash).to.equal(expectedRootHash); @@ -60,7 +60,7 @@ describe.only('Validation module manager', async () => { validationManager.initialized = false; try { - validationManager.calculateRoot(assertion); + await validationManager.calculateRoot(assertion); } catch (error) { expect(error.message).to.equal('Validation module is not initialized.'); } @@ -76,7 +76,7 @@ describe.only('Validation module manager', async () => { }); it('successful getting merkle proof hash', async () => { - const calculatedMerkleHash = validationManager.getMerkleProof(assertion, 0); + const calculatedMerkleHash = await validationManager.getMerkleProof(assertion, 0); assert(expect(calculatedMerkleHash).to.exist); expect(calculatedMerkleHash).to.be.instanceof(Object); @@ -88,19 +88,20 @@ describe.only('Validation module manager', async () => { validationManager.initialized = false; try { - validationManager.getMerkleProof(assertion, 0); + await validationManager.getMerkleProof(assertion, 0); } catch (error) { expect(error.message).to.equal('Validation module is not initialized.'); } }); - it('failed merkle prof hash calculation when assertion is null or undefined', async () => { - invalidValues.forEach((value) => { - expect(() => validationManager.getMerkleProof(value, 0)).to.throw( + it('failed merkle proof hash calculation when assertion is null or undefined', async () => { + for (const value of invalidValues) { + // eslint-disable-next-line no-await-in-loop + expect(await validationManager.getMerkleProof(value, 0)).to.be.rejectedWith( Error, 'Get merkle proof failed: Assertion cannot be null or undefined.', ); - }); + } }); it('validate getting function name', async () => { diff --git a/tools/local-network-setup/.origintrail_noderc_template.json b/tools/local-network-setup/.origintrail_noderc_template.json index 6b976bfe90..f8e09ba834 100644 --- a/tools/local-network-setup/.origintrail_noderc_template.json +++ b/tools/local-network-setup/.origintrail_noderc_template.json @@ -27,27 +27,9 @@ "package": "./triple-store/implementation/ot-blazegraph/ot-blazegraph.js", "config": { "repositories": { - "privateCurrent": { + "dkg": { "url": "http://localhost:9999", - "name": "private-current", - "username": "admin", - "password": "" - }, - "privateHistory": { - "url": "http://localhost:9999", - "name": "private-history", - "username": "admin", - "password": "" - }, - "publicCurrent": { - "url": "http://localhost:9999", - "name": "public-current", - "username": "admin", - "password": "" - }, - "publicHistory": { - "url": "http://localhost:9999", - "name": "public-history", + "name": "dkg", "username": "admin", "password": "" } @@ -59,27 +41,9 @@ "package": "./triple-store/implementation/ot-fuseki/ot-fuseki.js", "config": { "repositories": { - "privateCurrent": { - "url": "http://localhost:3030", - "name": "private-current", - "username": "admin", - "password": "" - }, - "privateHistory": { - "url": "http://localhost:3030", - "name": "private-history", - "username": "admin", - "password": "" - }, - "publicCurrent": { - "url": "http://localhost:3030", - "name": "public-current", - "username": "admin", - "password": "" - }, - "publicHistory": { + "dkg": { "url": "http://localhost:3030", - "name": "public-history", + "name": "dkg", "username": "admin", "password": "" } @@ -91,27 +55,9 @@ "package": "./triple-store/implementation/ot-graphdb/ot-graphdb.js", "config": { "repositories": { - "privateCurrent": { - "url": "http://localhost:7200", - "name": "private-current", - "username": "admin", - "password": "" - }, - "privateHistory": { - "url": "http://localhost:7200", - "name": "private-history", - "username": "admin", - "password": "" - }, - "publicCurrent": { + "dkg": { "url": "http://localhost:7200", - "name": "public-current", - "username": "admin", - "password": "" - }, - "publicHistory": { - "url": "http://localhost:7200", - "name": "public-history", + "name": "dkg", "username": "admin", "password": "" } @@ -162,6 +108,26 @@ } } } + }, + "blockchainEvents": { + "enabled": true, + "implementation": { + "ot-ethers": { + "enabled": true, + "package": "./blockchain-events/implementation/ot-ethers/ot-ethers.js", + "config": { + "blockchains": ["hardhat1:31337", "hardhat2:31337"], + "rpcEndpoints": { + "hardhat1:31337": ["http://localhost:8545"], + "hardhat2:31337": ["http://localhost:9545"] + }, + "hubContractAddress": { + "hardhat1:31337": "0x5FbDB2315678afecb367f032d93F642f64180aa3", + "hardhat2:31337": "0x5FbDB2315678afecb367f032d93F642f64180aa3" + } + } + } + } } }, "auth": {