From 6d93c5d290e8796d55c508fc276b47b01a296c23 Mon Sep 17 00:00:00 2001 From: CM Date: Fri, 20 Oct 2023 13:53:29 +0100 Subject: [PATCH] Hello world! Removed non-eos chains and code Removed non-privatekey account modes Update several packages Add eos/tlos/beos to config and blockchain factory --- app/index.html | 2 +- package-lock.json | 3562 +++++++---------- package.json | 64 +- src/components/add-account.vue | 35 +- .../address/ImportAddressBased.vue | 117 - .../blockchains/bitshares/ImportBinFile.vue | 284 -- .../blockchains/bitshares/ImportCloudPass.vue | 179 - .../blockchains/bitshares/ImportMemo.vue | 128 - src/config/config.js | 181 +- src/lib/Logger.js | 16 - src/lib/assetUtils.js | 6 +- src/lib/blockchains/BEOS.js | 15 + src/lib/blockchains/Binance.js | 287 -- src/lib/blockchains/BitShares.js | 1748 -------- src/lib/blockchains/Bitcoin.js | 312 -- src/lib/blockchains/EOSmainnet.js | 2 - src/lib/blockchains/Steem.js | 39 - src/lib/blockchains/SteemBasedChain.js | 273 -- src/lib/blockchains/TUSC.js | 68 - src/lib/blockchains/WhaleShares.js | 33 - .../blockchains/bitshares/BTSWalletHandler.js | 174 - src/lib/blockchains/bitshares/beautify.js | 1607 -------- src/lib/blockchains/blockchainFactory.js | 36 +- 23 files changed, 1587 insertions(+), 7581 deletions(-) delete mode 100644 src/components/blockchains/address/ImportAddressBased.vue delete mode 100644 src/components/blockchains/bitshares/ImportBinFile.vue delete mode 100644 src/components/blockchains/bitshares/ImportCloudPass.vue delete mode 100644 src/components/blockchains/bitshares/ImportMemo.vue create mode 100644 src/lib/blockchains/BEOS.js delete mode 100644 src/lib/blockchains/Binance.js delete mode 100644 src/lib/blockchains/BitShares.js delete mode 100644 src/lib/blockchains/Bitcoin.js delete mode 100644 src/lib/blockchains/Steem.js delete mode 100644 src/lib/blockchains/SteemBasedChain.js delete mode 100644 src/lib/blockchains/TUSC.js delete mode 100644 src/lib/blockchains/WhaleShares.js delete mode 100644 src/lib/blockchains/bitshares/BTSWalletHandler.js delete mode 100644 src/lib/blockchains/bitshares/beautify.js diff --git a/app/index.html b/app/index.html index b3032a66..160dcf0a 100644 --- a/app/index.html +++ b/app/index.html @@ -2,7 +2,7 @@ - Beet Blockchain Companion + BeetEOS Blockchain Companion
diff --git a/package-lock.json b/package-lock.json index e63feddf..0d944167 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,69 +1,76 @@ { "name": "beet", - "version": "0.17.0-rc1", + "version": "0.0.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "beet", - "version": "0.20.0", - "hasInstallScript": true, + "version": "0.0.1", "license": "MIT", "dependencies": { "@babel/runtime": "^7.19.0", "@noble/ed25519": "^1.6.1", "@noble/secp256k1": "^1.6.3", - "balm-ui": "^10.9.3", - "bitcoinjs-lib": "^6.0.1", - "bitsharesjs": "https://github.com/bitshares/bitsharesjs#develop", + "balm-ui": "^10.23.2", "crypto-js": "^4.1.1", - "dexie": "^3.2.2", + "dexie": "^3.2.4", "electron-devtools-installer": "^3.2.0", - "linebyline": "^1.3.0", + "eosjs": "^22.1.0", + "eosjs-ecc": "^4.0.7", "lzma": "^2.3.2", - "mitt": "^3.0.0", + "mitt": "^3.0.1", "otpauth": "^8.0.1", "query-string": "^7.1.1", "simple-websocket": "^9.1.0", - "socket.io": "^4.6.1", + "socket.io": "^4.7.2", "typeface-rajdhani": "1.1.13", "typeface-roboto": "1.1.13", "uuid": "^8.3.2", - "vue": "^3.2.37", + "vue": "^3.3.5", "vue-i18n": "9", "vue-qrcode-reader": "^4.0.0", - "vue-router": "^4.1.2", - "vuex": "^4.0.2" + "vue-router": "^4.2.5", + "vuex": "^4.1.0" }, "devDependencies": { - "@babel/core": "^7.18.9", - "@babel/plugin-proposal-object-rest-spread": "^7.18.9", - "@babel/plugin-transform-runtime": "^7.18.9", - "@babel/preset-env": "^7.18.9", + "@babel/core": "^7.23.2", + "@babel/plugin-proposal-object-rest-spread": "^7.20.7", + "@babel/plugin-transform-runtime": "^7.23.2", + "@babel/preset-env": "^7.23.2", "@soda/friendly-errors-webpack-plugin": "^1.8.1", "babel-loader": "^8.2.5", - "css-loader": "^6.7.1", + "css-loader": "^6.8.1", "electron": "^24.2.0", "electron-builder": "^23.1.0", - "eslint": "^8.20.0", - "eslint-plugin-vue": "^9.2.0", + "eslint": "^8.51.0", + "eslint-plugin-vue": "^9.17.0", "file-loader": "^6.2.0", - "sass": "^1.53.0", - "sass-loader": "^13.0.2", + "sass": "^1.69.4", + "sass-loader": "^13.3.2", "source-map-support": "^0.5.21", - "style-loader": "^3.3.1", + "style-loader": "^3.3.3", "vue-loader": "^17.0.0", - "vue-template-compiler": "^2.7.7", - "webpack": "^5.73.0", + "vue-template-compiler": "^2.7.14", + "webpack": "^5.89.0", "webpack-cli": "^4.10.0", - "webpack-merge": "^5.8.0", + "webpack-merge": "^5.10.0", "webpack-node-externals": "^3.0.0" }, "optionalDependencies": { - "bufferutil": "^4.0.6", + "bufferutil": "^4.0.8", "utf-8-validate": "^5.0.9" } }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/@ampproject/remapping": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", @@ -78,47 +85,48 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", "dev": true, "dependencies": { - "@babel/highlight": "^7.18.6" + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.0.tgz", - "integrity": "sha512-y5rqgTTPTmaF5e2nVhOxw+Ur9HDJLsWb6U/KpgUzRZEdPfE6VOubXBKLdbcUTijzRptednSBDQbYZBOSqJxpJw==", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.2.tgz", + "integrity": "sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.0.tgz", - "integrity": "sha512-reM4+U7B9ss148rh2n1Qs9ASS+w94irYXga7c2jaQv9RVzpS7Mv1a9rnYYwuDa45G+DkORt9g6An2k/V4d9LbQ==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.19.0", - "@babel/helper-compilation-targets": "^7.19.0", - "@babel/helper-module-transforms": "^7.19.0", - "@babel/helpers": "^7.19.0", - "@babel/parser": "^7.19.0", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0", - "convert-source-map": "^1.7.0", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.2.tgz", + "integrity": "sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helpers": "^7.23.2", + "@babel/parser": "^7.23.0", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.2", + "@babel/types": "^7.23.0", + "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" + "json5": "^2.2.3", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -129,13 +137,14 @@ } }, "node_modules/@babel/generator": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.0.tgz", - "integrity": "sha512-S1ahxf1gZ2dpoiFgA+ohK9DIpz50bJ0CWs7Zlzb54Z4sG8qmdIrGrVqmy1sAtTVRb+9CU6U8VqT9L0Zj7hxHVg==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", + "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", "dev": true, "dependencies": { - "@babel/types": "^7.19.0", + "@babel/types": "^7.23.0", "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" }, "engines": { @@ -143,9 +152,9 @@ } }, "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", "dev": true, "dependencies": { "@jridgewell/set-array": "^1.0.1", @@ -157,61 +166,75 @@ } }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", - "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", "dev": true, "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", - "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", + "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", "dev": true, "dependencies": { - "@babel/helper-explode-assignable-expression": "^7.18.6", - "@babel/types": "^7.18.9" + "@babel/types": "^7.22.15" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.0.tgz", - "integrity": "sha512-Ai5bNWXIvwDvWM7njqsG3feMlL9hCVQsPYXodsZyLwshYkZVJt59Gftau4VrE8S9IT9asd2uSP1hG6wCNw+sXA==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", + "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.19.0", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.20.2", - "semver": "^6.3.0" + "@babel/compat-data": "^7.22.9", + "@babel/helper-validator-option": "^7.22.15", + "browserslist": "^4.21.9", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" } }, + "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, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.19.0.tgz", - "integrity": "sha512-NRz8DwF4jT3UfrmUoZjd0Uph9HQnP30t7Ash+weACcyNkiYTywpIjDBgReJMKgr+n86sn2nPVVmJ28Dm053Kqw==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz", + "integrity": "sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-member-expression-to-functions": "^7.18.9", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.9", - "@babel/helper-split-export-declaration": "^7.18.6" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -221,13 +244,14 @@ } }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz", - "integrity": "sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", + "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "regexpu-core": "^5.1.0" + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -237,142 +261,128 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz", - "integrity": "sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg==", + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.3.tgz", + "integrity": "sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==", "dev": true, "dependencies": { - "@babel/helper-compilation-targets": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", "debug": "^4.1.1", "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" + "resolve": "^1.14.2" }, "peerDependencies": { - "@babel/core": "^7.4.0-0" + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", "dev": true, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/helper-explode-assignable-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", - "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-function-name": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", - "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", "dev": true, "dependencies": { - "@babel/template": "^7.18.10", - "@babel/types": "^7.19.0" + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "dev": true, "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz", - "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", + "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", "dev": true, "dependencies": { - "@babel/types": "^7.18.9" + "@babel/types": "^7.23.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", "dev": true, "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.15" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz", - "integrity": "sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz", + "integrity": "sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.18.6", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0" + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", - "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", "dev": true, "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz", - "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", - "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", + "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-wrap-function": "^7.18.9", - "@babel/types": "^7.18.9" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-wrap-function": "^7.22.20" }, "engines": { "node": ">=6.9.0" @@ -382,121 +392,121 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz", - "integrity": "sha512-dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", + "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.18.9", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-optimise-call-expression": "^7.22.5" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-simple-access": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", - "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", "dev": true, "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz", - "integrity": "sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", "dev": true, "dependencies": { - "@babel/types": "^7.18.9" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "dev": true, "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", - "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", - "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz", + "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.19.0.tgz", - "integrity": "sha512-txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", + "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", "dev": true, "dependencies": { - "@babel/helper-function-name": "^7.19.0", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0" + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.15", + "@babel/types": "^7.22.19" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.0.tgz", - "integrity": "sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg==", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.2.tgz", + "integrity": "sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==", "dev": true, "dependencies": { - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0" + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.2", + "@babel/types": "^7.23.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", "js-tokens": "^4.0.0" }, "engines": { @@ -504,9 +514,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.0.tgz", - "integrity": "sha512-74bEXKX2h+8rrfQUfsBfuZZHzsEs6Eql4pqy/T4Nn6Y9wNPggQOqD6z6pn5Bl8ZfysKouFZT/UXEH94ummEeQw==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", "bin": { "parser": "bin/babel-parser.js" }, @@ -515,12 +525,12 @@ } }, "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", - "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.15.tgz", + "integrity": "sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -530,14 +540,14 @@ } }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz", - "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.15.tgz", + "integrity": "sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", - "@babel/plugin-proposal-optional-chaining": "^7.18.9" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.15" }, "engines": { "node": ">=6.9.0" @@ -546,16 +556,18 @@ "@babel/core": "^7.13.0" } }, - "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.0.tgz", - "integrity": "sha512-nhEByMUTx3uZueJ/QkJuSlCfN4FGg+xy+vRsfGQGzSauq5ks2Deid2+05Q3KhfaUjvec1IGhw/Zm3cFm8JigTQ==", + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", + "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead.", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-remap-async-to-generator": "^7.18.9", - "@babel/plugin-syntax-async-generators": "^7.8.4" + "@babel/compat-data": "^7.20.5", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.20.7" }, "engines": { "node": ">=6.9.0" @@ -564,15 +576,11 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, "engines": { "node": ">=6.9.0" }, @@ -580,47 +588,37 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-class-static-block": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz", - "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==", + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { - "@babel/core": "^7.12.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-dynamic-import": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", - "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-export-namespace-from": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", - "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -629,30 +627,37 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-json-strings": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", - "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-json-strings": "^7.8.3" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=6.9.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz", - "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==", + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", + "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -661,14 +666,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", - "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", + "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -677,82 +681,109 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-numeric-separator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", - "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" + "@babel/helper-plugin-utils": "^7.10.4" }, - "engines": { - "node": ">=6.9.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz", - "integrity": "sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q==", + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.18.8", - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.18.8" + "@babel/helper-plugin-utils": "^7.10.4" }, - "engines": { - "node": ">=6.9.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-optional-catch-binding": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", - "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" }, - "engines": { - "node": ">=6.9.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz", - "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==", + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=6.9.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-private-methods": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", - "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -761,16 +792,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz", - "integrity": "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==", + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -779,53 +807,64 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-unicode-property-regex": { + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", - "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", "dev": true, "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" }, "engines": { - "node": ">=4" + "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", + "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.2.tgz", + "integrity": "sha512-BBYVGxbDVHfoeXbOwcagAkOQAm9NxoTdMGfTqghu1GrvadSaw6iW3Je6IcL5PNOw8VwjxqBECXy50/iCQSY/lQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.20", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", + "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -834,37 +873,44 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", + "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.0.tgz", + "integrity": "sha512-cOsrbmIOXmf+5YbL99/S49Y3j46k/T16b9ml8bm9lP6N9US5iQ2yBK7gpui1pg0V/WMcXdkfKbTb7HXq9u+v4g==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz", - "integrity": "sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==", + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", + "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -873,97 +919,148 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.11.tgz", + "integrity": "sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-create-class-features-plugin": "^7.22.11", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.15.tgz", + "integrity": "sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.9", + "@babel/helper-split-export-declaration": "^7.22.6", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", + "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.0.tgz", + "integrity": "sha512-vaMdgNXFkYrB+8lbgniSYWHsgqK5gjaMNcc84bMIOMRLH0L9AqYq3hwMdvnyqj1OPqea8UtjPEuS/DCenah1wg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", + "integrity": "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", + "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.11.tgz", + "integrity": "sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", + "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.11.tgz", + "integrity": "sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" }, "engines": { "node": ">=6.9.0" @@ -972,13 +1069,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.15.tgz", + "integrity": "sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -987,13 +1084,15 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz", - "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==", + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", + "integrity": "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1002,15 +1101,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz", - "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==", + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.11.tgz", + "integrity": "sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw==", "dev": true, "dependencies": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-remap-async-to-generator": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" }, "engines": { "node": ">=6.9.0" @@ -1019,13 +1117,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", - "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", + "node_modules/@babel/plugin-transform-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", + "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1034,13 +1132,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz", - "integrity": "sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw==", + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.11.tgz", + "integrity": "sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" }, "engines": { "node": ">=6.9.0" @@ -1049,21 +1148,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.19.0.tgz", - "integrity": "sha512-YfeEE9kCjqTS9IitkgfJuxjcEtLUHMqa8yUJ6zdz8vR7hKuo6mOy2C05P0F1tdMmDCeuyidKnlrw/iTppHcr2A==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-compilation-targets": "^7.19.0", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-replace-supers": "^7.18.9", - "@babel/helper-split-export-declaration": "^7.18.6", - "globals": "^11.1.0" + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", + "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1072,13 +1163,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz", - "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==", + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.0.tgz", + "integrity": "sha512-xWT5gefv2HGSm4QHtgc1sYPbseOyf+FFDo2JbpE25GWl5BqTGO9IMwTYJRoIdjsF85GE+VegHxSCUt5EvoYTAw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1087,13 +1179,15 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.18.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.13.tgz", - "integrity": "sha512-TodpQ29XekIsex2A+YJPj5ax2plkGa8YYY6mFjCohk/IG9IY42Rtuj1FuDeemfg2ipxIFLzPeA83SIBnlhSIow==", + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.0.tgz", + "integrity": "sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1102,14 +1196,16 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", - "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.0.tgz", + "integrity": "sha512-qBej6ctXZD2f+DhlOC9yO47yEYgUh5CZNz/aBoH4j/3NOlRfJXJbY7xDQCqQVf9KbrqGzIWER1f23doHGrIHFg==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20" }, "engines": { "node": ">=6.9.0" @@ -1118,13 +1214,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", - "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", + "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1133,29 +1230,29 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", - "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", "dev": true, "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", - "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", + "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1164,15 +1261,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", - "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.11.tgz", + "integrity": "sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg==", "dev": true, "dependencies": { - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" }, "engines": { "node": ">=6.9.0" @@ -1181,13 +1277,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", - "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.11.tgz", + "integrity": "sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" }, "engines": { "node": ">=6.9.0" @@ -1196,13 +1293,17 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", - "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.15.tgz", + "integrity": "sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/compat-data": "^7.22.9", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.22.15" }, "engines": { "node": ">=6.9.0" @@ -1211,15 +1312,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz", - "integrity": "sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==", + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", + "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1228,16 +1328,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz", - "integrity": "sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==", + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.11.tgz", + "integrity": "sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" }, "engines": { "node": ">=6.9.0" @@ -1246,17 +1344,15 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.0.tgz", - "integrity": "sha512-x9aiR0WXAWmOWsqcsnrzGR+ieaTMVyGyffPVA7F8cXAGt/UxefYv6uSHZLkAFChN5M5Iy1+wjE+xJuPt22H39A==", + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.0.tgz", + "integrity": "sha512-sBBGXbLJjxTzLBF5rFWaikMnOGOk/BmK6vVByIdEggZ7Vn6CvWXZyRkkLFK6WE0IF8jSliyOkUN6SScFgzCM0g==", "dev": true, "dependencies": { - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.19.0", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-validator-identifier": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" }, "engines": { "node": ">=6.9.0" @@ -1265,14 +1361,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", - "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.15.tgz", + "integrity": "sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1281,29 +1376,32 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.0.tgz", - "integrity": "sha512-HDSuqOQzkU//kfGdiHBt71/hkDTApw4U/cMVgKgX7PqfB3LOaK+2GtCEsBu1dL9CkswDm0Gwehht1dCr421ULQ==", + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", + "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.19.0", - "@babel/helper-plugin-utils": "^7.19.0" + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", - "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.11.tgz", + "integrity": "sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.11", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -1312,14 +1410,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", - "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", + "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1328,13 +1425,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz", - "integrity": "sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==", + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz", + "integrity": "sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.2" }, "engines": { "node": ">=6.9.0" @@ -1343,13 +1441,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", - "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", + "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1358,14 +1456,18 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz", - "integrity": "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==", + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.2.tgz", + "integrity": "sha512-XOntj6icgzMS58jPVtQpiuF6ZFWxQiJavISGx5KGjRj+3gqZr8+N6Kx+N9BApWzgS+DOjIZfXXj0ZesenOWDyA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "regenerator-transform": "^0.15.0" + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "babel-plugin-polyfill-corejs2": "^0.4.6", + "babel-plugin-polyfill-corejs3": "^0.8.5", + "babel-plugin-polyfill-regenerator": "^0.5.3", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -1374,13 +1476,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", - "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", + "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1389,18 +1491,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-runtime": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.18.10.tgz", - "integrity": "sha512-q5mMeYAdfEbpBAgzl7tBre/la3LeCxmDO1+wMXRdPWbcoMjR3GiXlCLk7JBZVVye0bqTGNMbt0yYVXX1B1jEWQ==", + "node_modules/@babel/plugin-transform-spread": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", + "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", "dev": true, "dependencies": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.9", - "babel-plugin-polyfill-corejs2": "^0.3.2", - "babel-plugin-polyfill-corejs3": "^0.5.3", - "babel-plugin-polyfill-regenerator": "^0.4.0", - "semver": "^6.3.0" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1409,13 +1507,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", - "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", + "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1424,14 +1522,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz", - "integrity": "sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==", + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", + "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1440,13 +1537,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", - "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", + "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1455,13 +1552,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", - "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz", + "integrity": "sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1470,13 +1567,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", - "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", + "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1485,13 +1583,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", - "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", + "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1500,55 +1599,43 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", - "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", + "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, "node_modules/@babel/preset-env": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.19.0.tgz", - "integrity": "sha512-1YUju1TAFuzjIQqNM9WsF4U6VbD/8t3wEAlw3LFYuuEr+ywqLRcSXxFKz4DCEj+sN94l/XTDiUXYRrsvMpz9WQ==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.19.0", - "@babel/helper-compilation-targets": "^7.19.0", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-async-generator-functions": "^7.19.0", - "@babel/plugin-proposal-class-properties": "^7.18.6", - "@babel/plugin-proposal-class-static-block": "^7.18.6", - "@babel/plugin-proposal-dynamic-import": "^7.18.6", - "@babel/plugin-proposal-export-namespace-from": "^7.18.9", - "@babel/plugin-proposal-json-strings": "^7.18.6", - "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", - "@babel/plugin-proposal-numeric-separator": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "^7.18.9", - "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", - "@babel/plugin-proposal-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-private-methods": "^7.18.6", - "@babel/plugin-proposal-private-property-in-object": "^7.18.6", - "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.2.tgz", + "integrity": "sha512-BW3gsuDD+rvHL2VO2SjAUNTBe5YrjsTiDyqamPDWY723na3/yPQ65X5oQkFVJZ0o50/2d+svm1rkPoJeR1KxVQ==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.23.2", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.15", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.15", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.18.6", + "@babel/plugin-syntax-import-assertions": "^7.22.5", + "@babel/plugin-syntax-import-attributes": "^7.22.5", + "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", @@ -1558,45 +1645,62 @@ "@babel/plugin-syntax-optional-chaining": "^7.8.3", "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.18.6", - "@babel/plugin-transform-async-to-generator": "^7.18.6", - "@babel/plugin-transform-block-scoped-functions": "^7.18.6", - "@babel/plugin-transform-block-scoping": "^7.18.9", - "@babel/plugin-transform-classes": "^7.19.0", - "@babel/plugin-transform-computed-properties": "^7.18.9", - "@babel/plugin-transform-destructuring": "^7.18.13", - "@babel/plugin-transform-dotall-regex": "^7.18.6", - "@babel/plugin-transform-duplicate-keys": "^7.18.9", - "@babel/plugin-transform-exponentiation-operator": "^7.18.6", - "@babel/plugin-transform-for-of": "^7.18.8", - "@babel/plugin-transform-function-name": "^7.18.9", - "@babel/plugin-transform-literals": "^7.18.9", - "@babel/plugin-transform-member-expression-literals": "^7.18.6", - "@babel/plugin-transform-modules-amd": "^7.18.6", - "@babel/plugin-transform-modules-commonjs": "^7.18.6", - "@babel/plugin-transform-modules-systemjs": "^7.19.0", - "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.0", - "@babel/plugin-transform-new-target": "^7.18.6", - "@babel/plugin-transform-object-super": "^7.18.6", - "@babel/plugin-transform-parameters": "^7.18.8", - "@babel/plugin-transform-property-literals": "^7.18.6", - "@babel/plugin-transform-regenerator": "^7.18.6", - "@babel/plugin-transform-reserved-words": "^7.18.6", - "@babel/plugin-transform-shorthand-properties": "^7.18.6", - "@babel/plugin-transform-spread": "^7.19.0", - "@babel/plugin-transform-sticky-regex": "^7.18.6", - "@babel/plugin-transform-template-literals": "^7.18.9", - "@babel/plugin-transform-typeof-symbol": "^7.18.9", - "@babel/plugin-transform-unicode-escapes": "^7.18.10", - "@babel/plugin-transform-unicode-regex": "^7.18.6", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.19.0", - "babel-plugin-polyfill-corejs2": "^0.3.2", - "babel-plugin-polyfill-corejs3": "^0.5.3", - "babel-plugin-polyfill-regenerator": "^0.4.0", - "core-js-compat": "^3.22.1", - "semver": "^6.3.0" + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.22.5", + "@babel/plugin-transform-async-generator-functions": "^7.23.2", + "@babel/plugin-transform-async-to-generator": "^7.22.5", + "@babel/plugin-transform-block-scoped-functions": "^7.22.5", + "@babel/plugin-transform-block-scoping": "^7.23.0", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-class-static-block": "^7.22.11", + "@babel/plugin-transform-classes": "^7.22.15", + "@babel/plugin-transform-computed-properties": "^7.22.5", + "@babel/plugin-transform-destructuring": "^7.23.0", + "@babel/plugin-transform-dotall-regex": "^7.22.5", + "@babel/plugin-transform-duplicate-keys": "^7.22.5", + "@babel/plugin-transform-dynamic-import": "^7.22.11", + "@babel/plugin-transform-exponentiation-operator": "^7.22.5", + "@babel/plugin-transform-export-namespace-from": "^7.22.11", + "@babel/plugin-transform-for-of": "^7.22.15", + "@babel/plugin-transform-function-name": "^7.22.5", + "@babel/plugin-transform-json-strings": "^7.22.11", + "@babel/plugin-transform-literals": "^7.22.5", + "@babel/plugin-transform-logical-assignment-operators": "^7.22.11", + "@babel/plugin-transform-member-expression-literals": "^7.22.5", + "@babel/plugin-transform-modules-amd": "^7.23.0", + "@babel/plugin-transform-modules-commonjs": "^7.23.0", + "@babel/plugin-transform-modules-systemjs": "^7.23.0", + "@babel/plugin-transform-modules-umd": "^7.22.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.22.5", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.11", + "@babel/plugin-transform-numeric-separator": "^7.22.11", + "@babel/plugin-transform-object-rest-spread": "^7.22.15", + "@babel/plugin-transform-object-super": "^7.22.5", + "@babel/plugin-transform-optional-catch-binding": "^7.22.11", + "@babel/plugin-transform-optional-chaining": "^7.23.0", + "@babel/plugin-transform-parameters": "^7.22.15", + "@babel/plugin-transform-private-methods": "^7.22.5", + "@babel/plugin-transform-private-property-in-object": "^7.22.11", + "@babel/plugin-transform-property-literals": "^7.22.5", + "@babel/plugin-transform-regenerator": "^7.22.10", + "@babel/plugin-transform-reserved-words": "^7.22.5", + "@babel/plugin-transform-shorthand-properties": "^7.22.5", + "@babel/plugin-transform-spread": "^7.22.5", + "@babel/plugin-transform-sticky-regex": "^7.22.5", + "@babel/plugin-transform-template-literals": "^7.22.5", + "@babel/plugin-transform-typeof-symbol": "^7.22.5", + "@babel/plugin-transform-unicode-escapes": "^7.22.10", + "@babel/plugin-transform-unicode-property-regex": "^7.22.5", + "@babel/plugin-transform-unicode-regex": "^7.22.5", + "@babel/plugin-transform-unicode-sets-regex": "^7.22.5", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "@babel/types": "^7.23.0", + "babel-plugin-polyfill-corejs2": "^0.4.6", + "babel-plugin-polyfill-corejs3": "^0.8.5", + "babel-plugin-polyfill-regenerator": "^0.5.3", + "core-js-compat": "^3.31.0", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -1606,21 +1710,25 @@ } }, "node_modules/@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", "@babel/types": "^7.4.4", "esutils": "^2.0.2" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" } }, + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "dev": true + }, "node_modules/@babel/runtime": { "version": "7.19.0", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.0.tgz", @@ -1633,33 +1741,33 @@ } }, "node_modules/@babel/template": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", - "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.18.10", - "@babel/types": "^7.18.10" + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.0.tgz", - "integrity": "sha512-4pKpFRDh+utd2mbRC8JLnlsMUii3PMHjpL6a0SZ4NMZy7YFP9aXORxEhdMVOc9CpWtDF09IkciQLEhK7Ml7gRA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.19.0", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.19.0", - "@babel/types": "^7.19.0", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", + "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.0", + "@babel/types": "^7.23.0", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -1668,13 +1776,13 @@ } }, "node_modules/@babel/types": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.0.tgz", - "integrity": "sha512-YuGopBq3ke25BVSiS6fgF49Ul9gH1x70Bcr6bqRLjWCkcX8Hre1/5+z+IiWOIerRMSSEfGZVB9z9kyq7wVs9YA==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", + "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", "dev": true, "dependencies": { - "@babel/helper-string-parser": "^7.18.10", - "@babel/helper-validator-identifier": "^7.18.6", + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" }, "engines": { @@ -1782,16 +1890,40 @@ "node": ">= 10.0.0" } }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz", + "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, "node_modules/@eslint/eslintrc": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.1.tgz", - "integrity": "sha512-OhSY22oQQdw3zgPOOwdoj01l/Dzl1Z+xyUP33tkSN+aqyEhymJCcPHyXt+ylW8FSe0TfRC2VG+ROQOapD0aZSQ==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", + "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", "dev": true, "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.4.0", - "globals": "^13.15.0", + "espree": "^9.6.0", + "globals": "^13.19.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", @@ -1806,9 +1938,9 @@ } }, "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.17.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", - "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -1832,30 +1964,29 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@eslint/js": { + "version": "8.51.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.51.0.tgz", + "integrity": "sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, "node_modules/@humanwhocodes/config-array": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.4.tgz", - "integrity": "sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw==", + "version": "0.11.12", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.12.tgz", + "integrity": "sha512-NlGesA1usRNn6ctHCZ21M4/dKPgW9Nn1FypRdIKKgZOKzkVV4T1FlK5mBiLhHBCDmEbdQG0idrcXlbZfksJ+RA==", "dev": true, "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", + "@humanwhocodes/object-schema": "^2.0.0", "debug": "^4.1.1", - "minimatch": "^3.0.4" + "minimatch": "^3.0.5" }, "engines": { "node": ">=10.10.0" } }, - "node_modules/@humanwhocodes/gitignore-to-minimatch": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz", - "integrity": "sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", @@ -1870,9 +2001,9 @@ } }, "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.0.tgz", + "integrity": "sha512-9S9QrXY2K0L4AGDcSgTi9vgiCcG8VcBv4Mp7/1hDPYoswIy6Z6KO5blYto82BT8M0MZNRWmCFLpCs3HlpYGGdw==", "dev": true }, "node_modules/@intlify/core-base": { @@ -1964,9 +2095,9 @@ } }, "node_modules/@jridgewell/source-map": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", - "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", "dev": true, "dependencies": { "@jridgewell/gen-mapping": "^0.3.0", @@ -1974,9 +2105,9 @@ } }, "node_modules/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", "dev": true, "dependencies": { "@jridgewell/set-array": "^1.0.1", @@ -1988,19 +2119,18 @@ } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.15", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz", - "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==", + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", "dev": true, "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, "node_modules/@malept/cross-spawn-promise": { @@ -3025,9 +3155,9 @@ "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==" }, "node_modules/@types/cors": { - "version": "2.8.13", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.13.tgz", - "integrity": "sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==", + "version": "2.8.15", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.15.tgz", + "integrity": "sha512-n91JxbNLD8eQIuXDIChAN1tCKNWCEgpceU9b7ZMbFA+P+Q4yIeh80jizFLEvolRPc1ES0VdwFlGv+kJTSirogw==", "dependencies": { "@types/node": "*" } @@ -3067,9 +3197,9 @@ } }, "node_modules/@types/estree": { - "version": "0.0.51", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", - "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.3.tgz", + "integrity": "sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ==", "dev": true }, "node_modules/@types/fs-extra": { @@ -3184,255 +3314,255 @@ } }, "node_modules/@vue/compiler-core": { - "version": "3.2.39", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.39.tgz", - "integrity": "sha512-mf/36OWXqWn0wsC40nwRRGheR/qoID+lZXbIuLnr4/AngM0ov8Xvv8GHunC0rKRIkh60bTqydlqTeBo49rlbqw==", + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.5.tgz", + "integrity": "sha512-S8Ma+eICI40Y4UotR+iKR729Bma+wERn/xLc+Jz203s5WIW1Sx3qoiONqXGg3Q4vBMa+QHDncULya19ZSJuhog==", "dependencies": { - "@babel/parser": "^7.16.4", - "@vue/shared": "3.2.39", + "@babel/parser": "^7.23.0", + "@vue/shared": "3.3.5", "estree-walker": "^2.0.2", - "source-map": "^0.6.1" + "source-map-js": "^1.0.2" } }, "node_modules/@vue/compiler-dom": { - "version": "3.2.39", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.39.tgz", - "integrity": "sha512-HMFI25Be1C8vLEEv1hgEO1dWwG9QQ8LTTPmCkblVJY/O3OvWx6r1+zsox5mKPMGvqYEZa6l8j+xgOfUspgo7hw==", + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.5.tgz", + "integrity": "sha512-dxt6QntN9T/NtnV6Pz+/nmcoo3ULnsYCnRpvEyY73wbk1tzzx7dnwngUN1cXkyGNu9c3UE7llhq/5T54lKwyhQ==", "dependencies": { - "@vue/compiler-core": "3.2.39", - "@vue/shared": "3.2.39" + "@vue/compiler-core": "3.3.5", + "@vue/shared": "3.3.5" } }, "node_modules/@vue/compiler-sfc": { - "version": "3.2.39", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.39.tgz", - "integrity": "sha512-fqAQgFs1/BxTUZkd0Vakn3teKUt//J3c420BgnYgEOoVdTwYpBTSXCMJ88GOBCylmUBbtquGPli9tVs7LzsWIA==", - "dependencies": { - "@babel/parser": "^7.16.4", - "@vue/compiler-core": "3.2.39", - "@vue/compiler-dom": "3.2.39", - "@vue/compiler-ssr": "3.2.39", - "@vue/reactivity-transform": "3.2.39", - "@vue/shared": "3.2.39", + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.5.tgz", + "integrity": "sha512-M6ys4iReSbrF4NTcMCnJiBioCpzXjfkfXwkdziknRyps+pG0DkwpDfQT7zQ0q91/rCR/Ejz64b5H6C4HBhX41w==", + "dependencies": { + "@babel/parser": "^7.23.0", + "@vue/compiler-core": "3.3.5", + "@vue/compiler-dom": "3.3.5", + "@vue/compiler-ssr": "3.3.5", + "@vue/reactivity-transform": "3.3.5", + "@vue/shared": "3.3.5", "estree-walker": "^2.0.2", - "magic-string": "^0.25.7", - "postcss": "^8.1.10", - "source-map": "^0.6.1" + "magic-string": "^0.30.5", + "postcss": "^8.4.31", + "source-map-js": "^1.0.2" } }, "node_modules/@vue/compiler-ssr": { - "version": "3.2.39", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.39.tgz", - "integrity": "sha512-EoGCJ6lincKOZGW+0Ky4WOKsSmqL7hp1ZYgen8M7u/mlvvEQUaO9tKKOy7K43M9U2aA3tPv0TuYYQFrEbK2eFQ==", + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.5.tgz", + "integrity": "sha512-v7p2XuEpOcgjd6c49NqOnq3UTJOv5Uo9tirOyGnEadwxTov2O1J3/TUt4SgAAnwA+9gcUyH5c3lIOFsBe+UIyw==", "dependencies": { - "@vue/compiler-dom": "3.2.39", - "@vue/shared": "3.2.39" + "@vue/compiler-dom": "3.3.5", + "@vue/shared": "3.3.5" } }, "node_modules/@vue/devtools-api": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.2.1.tgz", - "integrity": "sha512-OEgAMeQXvCoJ+1x8WyQuVZzFo0wcyCmUR3baRVLmKBo1LmYZWMlRiXlux5jd0fqVJu6PfDbOrZItVqUEzLobeQ==" + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.1.tgz", + "integrity": "sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==" }, "node_modules/@vue/reactivity": { - "version": "3.2.39", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.39.tgz", - "integrity": "sha512-vlaYX2a3qMhIZfrw3Mtfd+BuU+TZmvDrPMa+6lpfzS9k/LnGxkSuf0fhkP0rMGfiOHPtyKoU9OJJJFGm92beVQ==", + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.5.tgz", + "integrity": "sha512-P7OBfPjsbV5lDCwZQDtWFqPh3uAP3Q6bRqYVgsYr6ki7jiaiHGSLmeaevUi+Nkev8nhublUpApnWevNiACN3sw==", "dependencies": { - "@vue/shared": "3.2.39" + "@vue/shared": "3.3.5" } }, "node_modules/@vue/reactivity-transform": { - "version": "3.2.39", - "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.39.tgz", - "integrity": "sha512-HGuWu864zStiWs9wBC6JYOP1E00UjMdDWIG5W+FpUx28hV3uz9ODOKVNm/vdOy/Pvzg8+OcANxAVC85WFBbl3A==", + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.5.tgz", + "integrity": "sha512-OhpBD1H32pIapRzqy31hWwTFLf9STP+0uk5bVOQWXACTa2Rt/RPhvX4zixbPgMGo6iP+S+tFpZzUdcG8AASn8A==", "dependencies": { - "@babel/parser": "^7.16.4", - "@vue/compiler-core": "3.2.39", - "@vue/shared": "3.2.39", + "@babel/parser": "^7.23.0", + "@vue/compiler-core": "3.3.5", + "@vue/shared": "3.3.5", "estree-walker": "^2.0.2", - "magic-string": "^0.25.7" + "magic-string": "^0.30.5" } }, "node_modules/@vue/runtime-core": { - "version": "3.2.39", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.39.tgz", - "integrity": "sha512-xKH5XP57JW5JW+8ZG1khBbuLakINTgPuINKL01hStWLTTGFOrM49UfCFXBcFvWmSbci3gmJyLl2EAzCaZWsx8g==", + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.5.tgz", + "integrity": "sha512-kxAW3fTzwzZQqiHV1SndTtLMlNfJ/bsvcYku6NDuPzTeG6sMOAIXvuz6N5NUox+P7sNCInESbSOrPMMvtWx3vA==", "dependencies": { - "@vue/reactivity": "3.2.39", - "@vue/shared": "3.2.39" + "@vue/reactivity": "3.3.5", + "@vue/shared": "3.3.5" } }, "node_modules/@vue/runtime-dom": { - "version": "3.2.39", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.39.tgz", - "integrity": "sha512-4G9AEJP+sLhsqf5wXcyKVWQKUhI+iWfy0hWQgea+CpaTD7BR0KdQzvoQdZhwCY6B3oleSyNLkLAQwm0ya/wNoA==", + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.5.tgz", + "integrity": "sha512-seYSeHmBNlTrR0eFyQFocEBtzljNlKzC2JfdebfBqoEmikyNYzLWTouv71DignLFXEXZKWNTqCIs4d7dk5Q3Ng==", "dependencies": { - "@vue/runtime-core": "3.2.39", - "@vue/shared": "3.2.39", - "csstype": "^2.6.8" + "@vue/runtime-core": "3.3.5", + "@vue/shared": "3.3.5", + "csstype": "^3.1.2" } }, "node_modules/@vue/server-renderer": { - "version": "3.2.39", - "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.39.tgz", - "integrity": "sha512-1yn9u2YBQWIgytFMjz4f/t0j43awKytTGVptfd3FtBk76t1pd8mxbek0G/DrnjJhd2V7mSTb5qgnxMYt8Z5iSQ==", + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.5.tgz", + "integrity": "sha512-7VIZkohYn8GAnNT9chrm0vDpHJ6mWPL+TmUBKtDWcWxYcq33YJP/VHCPQN5TazkxXCtv3c1KfXAMZowX4giLoQ==", "dependencies": { - "@vue/compiler-ssr": "3.2.39", - "@vue/shared": "3.2.39" + "@vue/compiler-ssr": "3.3.5", + "@vue/shared": "3.3.5" }, "peerDependencies": { - "vue": "3.2.39" + "vue": "3.3.5" } }, "node_modules/@vue/shared": { - "version": "3.2.39", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.39.tgz", - "integrity": "sha512-D3dl2ZB9qE6mTuWPk9RlhDeP1dgNRUKC3NJxji74A4yL8M2MwlhLKUC/49WHjrNzSPug58fWx/yFbaTzGAQSBw==" + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.5.tgz", + "integrity": "sha512-oNJN1rCtkqm1cIxU1BuZVEVRWIp4DhaxXucEzzZ/iDKHP71ZxhkBPNK+URySiECH6aiOZzC60PS2bd6JFznvNA==" }, "node_modules/@webassemblyjs/ast": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", - "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", "dev": true, "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" } }, "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", - "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", "dev": true }, "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", - "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", "dev": true }, "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", - "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", "dev": true }, "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", - "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", "dev": true, "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", - "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", "dev": true }, "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", - "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1" + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" } }, "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", - "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", "dev": true, "dependencies": { "@xtuc/ieee754": "^1.2.0" } }, "node_modules/@webassemblyjs/leb128": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", - "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", "dev": true, "dependencies": { "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/utf8": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", - "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", "dev": true }, "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", - "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/helper-wasm-section": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-opt": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "@webassemblyjs/wast-printer": "1.11.1" + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" } }, "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", - "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" } }, "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", - "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1" + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" } }, "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", - "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" } }, "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", - "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/ast": "1.11.6", "@xtuc/long": "4.2.2" } }, @@ -3503,9 +3633,9 @@ } }, "node_modules/acorn": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", - "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -3515,9 +3645,9 @@ } }, "node_modules/acorn-import-assertions": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", - "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", "dev": true, "peerDependencies": { "acorn": "^8" @@ -3702,15 +3832,6 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/asar": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/asar/-/asar-3.2.0.tgz", @@ -3783,17 +3904,6 @@ "node": ">= 4.0.0" } }, - "node_modules/available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/babel-loader": { "version": "8.2.5", "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz", @@ -3813,52 +3923,43 @@ "webpack": ">=2" } }, - "node_modules/babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "dev": true, - "dependencies": { - "object.assign": "^4.1.0" - } - }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz", - "integrity": "sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q==", + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz", + "integrity": "sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.3.2", - "semver": "^6.1.1" + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.4.3", + "semver": "^6.3.1" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz", - "integrity": "sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==", + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.5.tgz", + "integrity": "sha512-Q6CdATeAvbScWPNLB8lzSO7fgUVBkQt6zLgNlfyeCr/EQaEQR+bWiBYYPYAFyE528BMjRhL+1QBMOI4jc/c5TA==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.2", - "core-js-compat": "^3.21.0" + "@babel/helper-define-polyfill-provider": "^0.4.3", + "core-js-compat": "^3.32.2" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.0.tgz", - "integrity": "sha512-RW1cnryiADFeHmfLS+WW/G431p1PsW5qdRdz0SDRi7TKcUgc7Oh/uXkT7MZ/+tGsT1BkczEAmD5XjUyJ5SWDTw==", + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz", + "integrity": "sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.2" + "@babel/helper-define-polyfill-provider": "^0.4.3" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/balanced-match": { @@ -3867,9 +3968,9 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "node_modules/balm-ui": { - "version": "10.22.3", - "resolved": "https://registry.npmjs.org/balm-ui/-/balm-ui-10.22.3.tgz", - "integrity": "sha512-4lJjmA21QPRQ1x+xBbhJq7XCthQt2+fZMr6JQewROkhdJQj3+ziNupm0vl92SE7vIrxQ36QGEgioj9FW0JQzaA==", + "version": "10.23.2", + "resolved": "https://registry.npmjs.org/balm-ui/-/balm-ui-10.23.2.tgz", + "integrity": "sha512-7PdD6bSkHvomFrTFpLnxQ5z7xYeUBade3nZqFlj0rZjcwnPaeUWVmzfAlrWUNHWoWjfzW044L0zyFCWiUUufFw==", "dependencies": { "deepmerge": "^4.3.1", "flatpickr": "^4.6.13", @@ -3916,11 +4017,6 @@ "node": "^4.5.0 || >= 5.9" } }, - "node_modules/bech32": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/bech32/-/bech32-2.0.0.tgz", - "integrity": "sha512-LcknSilhIGatDAsY1ak2I8VtGaHNhgMSYVxFrGLXv+xLHytaKZKcaUJJUE7qmBr7h33o5YQwP55pMI0xmkpJwg==" - }, "node_modules/big.js": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", @@ -3944,69 +4040,6 @@ "node": ">=8" } }, - "node_modules/bip174": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/bip174/-/bip174-2.1.0.tgz", - "integrity": "sha512-lkc0XyiX9E9KiVAS1ZiOqK1xfiwvf4FXDDdkDq5crcDzOq+xGytY+14qCsqz7kCiy8rpN1CRNfacRhf9G3JNSA==", - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/bitcoinjs-lib": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/bitcoinjs-lib/-/bitcoinjs-lib-6.0.2.tgz", - "integrity": "sha512-I994pGt9cL5s5OA6mkv1e8IuYcsKN2ORXnWbkqAXLNGvEnOHBhKBSvCjFl7YC2uVoJnfr/iwq7JMrq575SYO5w==", - "dependencies": { - "bech32": "^2.0.0", - "bip174": "^2.0.1", - "bs58check": "^2.1.2", - "create-hash": "^1.1.0", - "ripemd160": "^2.0.2", - "typeforce": "^1.11.3", - "varuint-bitcoin": "^1.1.2", - "wif": "^2.0.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/bitsharesjs": { - "version": "6.0.0", - "resolved": "git+ssh://git@github.com/bitshares/bitsharesjs.git#168bec801205e2e07a6eb8f75700471f5ac0ecb9", - "license": "MIT", - "dependencies": { - "bigi": "^1.4.2", - "bitsharesjs-ws": "^6.0.0", - "bs58": "^4.0.1", - "bytebuffer": "^5.0.1", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "crypto-js": "^4.1.1", - "deep-equal": "^2.0.5", - "ecurve": "^1.0.6", - "event-emitter": "^0.3.5", - "immutable": "^4.0.0", - "safe-buffer": "^5.2.1", - "secure-random": "^1.1.2" - }, - "engines": { - "node": ">= 16.13.0" - } - }, - "node_modules/bitsharesjs-ws": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/bitsharesjs-ws/-/bitsharesjs-ws-6.0.0.tgz", - "integrity": "sha512-hIsFcGggV6jkgCKrVE7Pmm8AgJMbBc2pthOx1/9he436gfehtbMvjn7J5G3rWhPu0VONROI//LAX/qhhhIieaA==", - "dependencies": { - "isomorphic-ws": "^4.0.1", - "ws": "^8.4.0" - }, - "engines": { - "node": ">=16.13.x", - "npm": ">=8.2.x", - "yarn": ">=1.22.x" - } - }, "node_modules/bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", @@ -4022,6 +4055,11 @@ "bluebird": "^3.5.5" } }, + "node_modules/bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" + }, "node_modules/boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", @@ -4056,10 +4094,27 @@ "node": ">=8" } }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" + }, + "node_modules/browserify-aes": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.0.6.tgz", + "integrity": "sha512-MMvWM6jpfsiuzY2Y+pRJvHRac3x3rHWQisWoz1dJaF9qDFsD8HdVxB7MyZKeLKeEt0fEjrXXZ0mxgTHSoJusug==", + "dependencies": { + "buffer-xor": "^1.0.2", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "inherits": "^2.0.1" + } + }, "node_modules/browserslist": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz", - "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==", + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", + "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", "dev": true, "funding": [ { @@ -4069,13 +4124,17 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "dependencies": { - "caniuse-lite": "^1.0.30001370", - "electron-to-chromium": "^1.4.202", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.5" + "caniuse-lite": "^1.0.30001541", + "electron-to-chromium": "^1.4.535", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.13" }, "bin": { "browserslist": "cli.js" @@ -4092,16 +4151,6 @@ "base-x": "^3.0.2" } }, - "node_modules/bs58check": { - "version": "2.1.2", - "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", - "safe-buffer": "^5.1.2" - } - }, "node_modules/buffer": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", @@ -4173,10 +4222,15 @@ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" + }, "node_modules/bufferutil": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.6.tgz", - "integrity": "sha512-jduaYOYtnio4aIAyc6UbvPCVcgq7nYpVnucyxr6eCYg/Woad9Hf/oxxBRDnGGjPfjUm6j5O/uBWhIu4iLebFaw==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.8.tgz", + "integrity": "sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw==", "hasInstallScript": true, "optional": true, "dependencies": { @@ -4389,9 +4443,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001393", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001393.tgz", - "integrity": "sha512-N/od11RX+Gsk+1qY/jbPa0R6zJupEa0lxeBG598EbrtblxVCTJsQwbRBm6+V+rxpc5lHKdsXb9RY83cZIPLseA==", + "version": "1.0.30001551", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001551.tgz", + "integrity": "sha512-vtBAez47BoGMMzlbYhfXrMV1kvRF2WP/lqiMuDu1Sb4EE4LKEgjopFDSRtZfdVnslNRpOqV/woE+Xgrwj6VQlg==", "dev": true, "funding": [ { @@ -4401,6 +4455,10 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ] }, @@ -4639,18 +4697,9 @@ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, "node_modules/convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.1" - } - }, - "node_modules/convert-source-map/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==", + "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 }, "node_modules/cookie": { @@ -4662,12 +4711,12 @@ } }, "node_modules/core-js-compat": { - "version": "3.25.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.25.1.tgz", - "integrity": "sha512-pOHS7O0i8Qt4zlPW/eIFjwp+NrTPx+wTL0ctgI2fHn31sZOq89rDsmtc/A2vAX7r6shl+bmVI+678He46jgBlw==", + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.33.1.tgz", + "integrity": "sha512-6pYKNOgD/j/bkC5xS5IIg6bncid3rfrI42oBH1SQJbsmYPKF7rhzcFzYCcxYMmNQQ0rCEB8WqpW7QHndOggaeQ==", "dev": true, "dependencies": { - "browserslist": "^4.21.3" + "browserslist": "^4.22.1" }, "funding": { "type": "opencollective", @@ -4702,21 +4751,20 @@ } }, "node_modules/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==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", + "integrity": "sha512-snRpch/kwQhcdlnZKYanNF1m0RDlrCdSKQaH87w1FCFPVPNCQ/Il9QJKAX2jVBZddRdaHBMC+zXa9Gw9tmkNUA==", "dependencies": { "cipher-base": "^1.0.1", "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", + "ripemd160": "^2.0.0", "sha.js": "^2.4.0" } }, "node_modules/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==", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz", + "integrity": "sha512-23osI7H2SH6Zm4g7A7BTM9+3XicGZkemw00eEhrFViR3EdGru+azj2fMKf9J2zWMGO7AfPgYRdIRL96kkdy8QA==", "dependencies": { "cipher-base": "^1.0.3", "create-hash": "^1.1.0", @@ -4746,19 +4794,19 @@ "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==" }, "node_modules/css-loader": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.1.tgz", - "integrity": "sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw==", + "version": "6.8.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.8.1.tgz", + "integrity": "sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==", "dev": true, "dependencies": { "icss-utils": "^5.1.0", - "postcss": "^8.4.7", + "postcss": "^8.4.21", "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-local-by-default": "^4.0.3", "postcss-modules-scope": "^3.0.0", "postcss-modules-values": "^4.0.0", "postcss-value-parser": "^4.2.0", - "semver": "^7.3.5" + "semver": "^7.3.8" }, "engines": { "node": ">= 12.13.0" @@ -4799,18 +4847,9 @@ } }, "node_modules/csstype": { - "version": "2.6.20", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.20.tgz", - "integrity": "sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==" - }, - "node_modules/d": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", - "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", - "dependencies": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" - } + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" }, "node_modules/de-indent": { "version": "1.0.2", @@ -4869,31 +4908,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/deep-equal": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.0.5.tgz", - "integrity": "sha512-nPiRgmbAtm1a3JsnLCf6/SLfXcjyN5v8L1TXzdCmHrXJ4hx+gW/w1YCcn7z8gJtSiDArZCgYtbao3QqLm/N1Sw==", - "dependencies": { - "call-bind": "^1.0.0", - "es-get-iterator": "^1.1.1", - "get-intrinsic": "^1.0.1", - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.2", - "is-regex": "^1.1.1", - "isarray": "^2.0.5", - "object-is": "^1.1.4", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "regexp.prototype.flags": "^1.3.0", - "side-channel": "^1.0.3", - "which-boxed-primitive": "^1.0.1", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -4949,9 +4963,9 @@ "optional": true }, "node_modules/dexie": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/dexie/-/dexie-3.2.2.tgz", - "integrity": "sha512-q5dC3HPmir2DERlX+toCBbHQXW5MsyrFqPFcovkH9N2S/UW/H3H5AWAB6iEOExeraAu+j+zRDG+zg/D7YhH0qg==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/dexie/-/dexie-3.2.4.tgz", + "integrity": "sha512-VKoTQRSv7+RnffpOJ3Dh6ozknBqzWw/F3iqMdsZg958R0AS8AnY9x9d1lbwENr0gzeGJHXKcGhAMRaqys6SxqA==", "engines": { "node": ">=6.0" } @@ -4995,18 +5009,6 @@ "node": "*" } }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/dmg-builder": { "version": "23.6.0", "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-23.6.0.tgz", @@ -5113,12 +5115,11 @@ "dev": true }, "node_modules/ecurve": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/ecurve/-/ecurve-1.0.6.tgz", - "integrity": "sha512-/BzEjNfiSuB7jIWKcS/z8FK9jNjmEWvUV2YZ4RLSmcDtP7Lq0m6FvDuSnJpBlDpGRpfRQeTLGLBI8H+kEv0r+w==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/ecurve/-/ecurve-1.0.5.tgz", + "integrity": "sha512-1Z3Zu5Nh5LSVGnwEnie1LDoHZByZxG2tk3wftkqeVHrfujmR8O+dOh96HVPxRPh4BjRWX0Z9mpwCYv/O/njgDw==", "dependencies": { - "bigi": "^1.1.0", - "safe-buffer": "^5.0.1" + "bigi": "^1.1.0" } }, "node_modules/ejs": { @@ -5481,11 +5482,30 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.247", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.247.tgz", - "integrity": "sha512-FLs6R4FQE+1JHM0hh3sfdxnYjKvJpHZyhQDjc2qFq/xFvmmRt/TATNToZhrcGUFzpF2XjeiuozrA8lI0PZmYYw==", + "version": "1.4.561", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.561.tgz", + "integrity": "sha512-eS5t4ulWOBfVHdq9SW2dxEaFarj1lPjvJ8PaYMOjY0DecBaj/t4ARziL2IPpDr4atyWwjLFGQ2vo/VCgQFezVQ==", "dev": true }, + "node_modules/elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -5511,9 +5531,9 @@ } }, "node_modules/engine.io": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.5.1.tgz", - "integrity": "sha512-mGqhI+D7YxS9KJMppR6Iuo37Ed3abhU8NdfgSvJSDUafQutrN+sPTncJYTyM9+tkhSmWodKtVYGPPHyXJEwEQA==", + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.5.3.tgz", + "integrity": "sha512-IML/R4eG/pUS5w7OfcDE0jKrljWS9nwnEfsxWCIJF5eO6AHo6+Hlv+lQbdlAYsiJPHzUthLm1RUjnBzWOs45cw==", "dependencies": { "@types/cookie": "^0.4.1", "@types/cors": "^2.8.12", @@ -5523,25 +5543,25 @@ "cookie": "~0.4.1", "cors": "~2.8.5", "debug": "~4.3.1", - "engine.io-parser": "~5.1.0", + "engine.io-parser": "~5.2.1", "ws": "~8.11.0" }, "engines": { - "node": ">=10.0.0" + "node": ">=10.2.0" } }, "node_modules/engine.io-parser": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.1.0.tgz", - "integrity": "sha512-enySgNiK5tyZFynt3z7iqBR+Bto9EVVVvDFuTT0ioHCGbzirZVGDGiQjZzEp8hWl6hd5FSVytJGuScX1C1C35w==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.1.tgz", + "integrity": "sha512-9JktcM3u18nU9N2Lz3bWeBgxVgOKpw7yhRaoxQA3FUDZzzw+9WlA6p4G4u0RixNkg14fH7EfEc/RhpurtiROTQ==", "engines": { "node": ">=10.0.0" } }, "node_modules/enhanced-resolve": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz", - "integrity": "sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", "dev": true, "dependencies": { "graceful-fs": "^4.2.4", @@ -5572,130 +5592,75 @@ "node": ">=4" } }, - "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, + "node_modules/eosjs": { + "version": "22.1.0", + "resolved": "https://registry.npmjs.org/eosjs/-/eosjs-22.1.0.tgz", + "integrity": "sha512-Ka8KO7akC3RxNdSg/3dkGWuUWUQESTzSUzQljBdVP16UG548vmQoBqSGnZdnjlZyfcab8VOu2iEt+JjyfYc5+A==", "dependencies": { - "stackframe": "^1.3.4" + "bn.js": "5.2.0", + "elliptic": "6.5.4", + "hash.js": "1.1.7", + "pako": "2.0.3" } }, - "node_modules/es-abstract": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.2.tgz", - "integrity": "sha512-XxXQuVNrySBNlEkTYJoDNFe5+s2yIOpzq80sUHEdPdQr0S5nTLz4ZPPPswNIpKseDDUS5yghX1gfLIHQZ1iNuQ==", + "node_modules/eosjs-ecc": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eosjs-ecc/-/eosjs-ecc-4.0.7.tgz", + "integrity": "sha512-uuqhqnrDy9XTpKfkhiZqRDUTCCI9oWBalVK5IosL7kpYwA9I3lm68INYFLyWsHpF2xwHqPql8MrMYJ3zfOn5Qg==", "dependencies": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.1.2", - "get-symbol-description": "^1.0.0", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "is-callable": "^1.2.4", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.2", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "string.prototype.trimend": "^1.0.5", - "string.prototype.trimstart": "^1.0.5", - "unbox-primitive": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "@babel/runtime": "7.6.0", + "bigi": "1.4.2", + "browserify-aes": "1.0.6", + "bs58": "4.0.1", + "bytebuffer": "5.0.1", + "create-hash": "1.1.3", + "create-hmac": "1.1.6", + "ecurve": "1.0.5", + "randombytes": "2.0.5" } }, - "node_modules/es-get-iterator": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.2.tgz", - "integrity": "sha512-+DTO8GYwbMCwbywjimwZMHp8AuYXOS2JZFWoi2AlPOS3ebnII9w/NLpNZtA7A0YLaVDw+O7KFCeoIV7OPvM7hQ==", + "node_modules/eosjs-ecc/node_modules/@babel/runtime": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.6.0.tgz", + "integrity": "sha512-89eSBLJsxNxOERC0Op4vd+0Bqm6wRMqMbFtV3i0/fbaWw/mJ8Q3eBvgX0G4SyrOOLCtbu98HspF8o09MRT+KzQ==", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.0", - "has-symbols": "^1.0.1", - "is-arguments": "^1.1.0", - "is-map": "^2.0.2", - "is-set": "^2.0.2", - "is-string": "^1.0.5", - "isarray": "^2.0.5" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "regenerator-runtime": "^0.13.2" } }, - "node_modules/es-module-lexer": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", - "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", - "dev": true - }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "node_modules/eosjs-ecc/node_modules/randombytes": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.5.tgz", + "integrity": "sha512-8T7Zn1AhMsQ/HI1SjcCfT/t4ii3eAqco3yOcSzS4mozsOz69lHLsoMXmF9nZgnFanYscnSlUSgs8uZyKzpE6kg==", "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "safe-buffer": "^5.1.0" } }, - "node_modules/es5-ext": { - "version": "0.10.62", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz", - "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==", - "hasInstallScript": true, + "node_modules/eosjs/node_modules/pako": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pako/-/pako-2.0.3.tgz", + "integrity": "sha512-WjR1hOeg+kki3ZIOjaf4b5WVcay1jaliKSYiEaB1XzwhMQZJxRdQRv0V31EKBYlxb4T7SK3hjfc/jxyU64BoSw==" + }, + "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, "dependencies": { - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.3", - "next-tick": "^1.1.0" - }, - "engines": { - "node": ">=0.10" + "stackframe": "^1.3.4" } }, + "node_modules/es-module-lexer": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.1.tgz", + "integrity": "sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==", + "dev": true + }, "node_modules/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, - "optional": true - }, - "node_modules/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==", - "dependencies": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - } - }, - "node_modules/es6-symbol": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", - "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", - "dependencies": { - "d": "^1.0.1", - "ext": "^1.1.2" - } + "optional": true }, "node_modules/escalade": { "version": "3.1.1", @@ -5716,49 +5681,47 @@ } }, "node_modules/eslint": { - "version": "8.23.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.23.0.tgz", - "integrity": "sha512-pBG/XOn0MsJcKcTRLr27S5HpzQo4kLr+HjLQIyK4EiCsijDl/TB+h5uEuJU6bQ8Edvwz1XWOjpaP2qgnXGpTcA==", + "version": "8.51.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.51.0.tgz", + "integrity": "sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==", "dev": true, "dependencies": { - "@eslint/eslintrc": "^1.3.1", - "@humanwhocodes/config-array": "^0.10.4", - "@humanwhocodes/gitignore-to-minimatch": "^1.0.2", + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.2", + "@eslint/js": "8.51.0", + "@humanwhocodes/config-array": "^0.11.11", "@humanwhocodes/module-importer": "^1.0.1", - "ajv": "^6.10.0", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.3.2", "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.4.0", - "esquery": "^1.4.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", "find-up": "^5.0.0", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^6.0.1", - "globals": "^13.15.0", - "globby": "^11.1.0", - "grapheme-splitter": "^1.0.4", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", "ignore": "^5.2.0", - "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "regexpp": "^3.2.0", + "optionator": "^0.9.3", "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", "text-table": "^0.2.0" }, "bin": { @@ -5772,17 +5735,17 @@ } }, "node_modules/eslint-plugin-vue": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.4.0.tgz", - "integrity": "sha512-Nzz2QIJ8FG+rtJaqT/7/ru5ie2XgT9KCudkbN0y3uFYhQ41nuHEaboLAiqwMcK006hZPQv/rVMRhUIwEGhIvfQ==", + "version": "9.17.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.17.0.tgz", + "integrity": "sha512-r7Bp79pxQk9I5XDP0k2dpUC7Ots3OSWgvGZNu3BxmKK6Zg7NgVtcOB6OCna5Kb9oQwJPl5hq183WD0SY5tZtIQ==", "dev": true, "dependencies": { - "eslint-utils": "^3.0.0", + "@eslint-community/eslint-utils": "^4.4.0", "natural-compare": "^1.4.0", - "nth-check": "^2.0.1", - "postcss-selector-parser": "^6.0.9", - "semver": "^7.3.5", - "vue-eslint-parser": "^9.0.1", + "nth-check": "^2.1.1", + "postcss-selector-parser": "^6.0.13", + "semver": "^7.5.4", + "vue-eslint-parser": "^9.3.1", "xml-name-validator": "^4.0.0" }, "engines": { @@ -5808,9 +5771,9 @@ } }, "node_modules/eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, "dependencies": { "esrecurse": "^4.3.0", @@ -5818,42 +5781,21 @@ }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" }, "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=5" - } - }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, - "engines": { - "node": ">=10" + "url": "https://opencollective.com/eslint" } }, "node_modules/eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "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==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/eslint/node_modules/ansi-styles": { @@ -5918,9 +5860,9 @@ } }, "node_modules/eslint/node_modules/globals": { - "version": "13.17.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", - "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -5966,14 +5908,14 @@ } }, "node_modules/espree": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz", - "integrity": "sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==", + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, "dependencies": { - "acorn": "^8.8.0", + "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.3.0" + "eslint-visitor-keys": "^3.4.1" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -5983,9 +5925,9 @@ } }, "node_modules/esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, "dependencies": { "estraverse": "^5.1.0" @@ -6029,15 +5971,6 @@ "node": ">=0.10.0" } }, - "node_modules/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==", - "dependencies": { - "d": "1", - "es5-ext": "~0.10.14" - } - }, "node_modules/eventemitter3": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-2.0.3.tgz", @@ -6052,19 +5985,15 @@ "node": ">=0.8.x" } }, - "node_modules/ext": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", - "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", + "node_modules/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==", "dependencies": { - "type": "^2.7.2" + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" } }, - "node_modules/ext/node_modules/type": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", - "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==" - }, "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", @@ -6111,34 +6040,6 @@ "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.1.2.tgz", "integrity": "sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig==" }, - "node_modules/fast-glob": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/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==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", @@ -6161,9 +6062,9 @@ } }, "node_modules/fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", "dev": true, "dependencies": { "reusify": "^1.0.4" @@ -6311,6 +6212,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true, + "bin": { + "flat": "cli.js" + } + }, "node_modules/flat-cache": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", @@ -6335,14 +6245,6 @@ "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", "dev": true }, - "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==", - "dependencies": { - "is-callable": "^1.1.3" - } - }, "node_modules/form-data": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", @@ -6405,29 +6307,6 @@ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, - "node_modules/function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", - "dev": true - }, "node_modules/functions-have-names": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", @@ -6482,21 +6361,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -6593,26 +6457,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/got": { "version": "11.8.6", "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", @@ -6650,10 +6494,10 @@ "integrity": "sha512-8tLu60LgxF6XpdbK8OW3FA+IfTNBn1ZHGHKF4KQbEeSkajYw5PlYJcKluntgegDPTg8UkHjpet1T82vk6TQ68w==", "dev": true }, - "node_modules/grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, "node_modules/has": { @@ -6667,14 +6511,6 @@ "node": ">= 0.4.0" } }, - "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==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -6734,9 +6570,9 @@ } }, "node_modules/hash-base/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "version": "3.6.2", + "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", @@ -6752,6 +6588,15 @@ "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==", "dev": true }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, "node_modules/he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", @@ -6761,6 +6606,16 @@ "he": "bin/he" } }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "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", + "minimalistic-crypto-utils": "^1.0.1" + } + }, "node_modules/hosted-git-info": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", @@ -6882,9 +6737,9 @@ "optional": true }, "node_modules/ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", "dev": true, "engines": { "node": ">= 4" @@ -6898,7 +6753,8 @@ "node_modules/immutable": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz", - "integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==" + "integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==", + "dev": true }, "node_modules/import-fresh": { "version": "3.3.0", @@ -6958,19 +6814,6 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "node_modules/internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", - "dependencies": { - "get-intrinsic": "^1.1.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/interpret": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", @@ -6995,17 +6838,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", @@ -7018,32 +6850,6 @@ "node": ">=8" } }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-callable": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", - "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-ci": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", @@ -7097,191 +6903,66 @@ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, "engines": { - "node": ">=8" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", - "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "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==", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-set": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", - "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "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==", + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, "dependencies": { - "has-symbols": "^1.0.2" + "is-extglob": "^2.1.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, - "node_modules/is-typed-array": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.9.tgz", - "integrity": "sha512-kfrlnTTn8pZkfpJMUgYD7YZ3qzeJgWUn8XfVYBARc4wnmNOmLbmuuaAs3q5fvB0UJOn6yHAKaGTPM7d6ezoD/A==", - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-abstract": "^1.20.0", - "for-each": "^0.3.3", - "has-tostringtag": "^1.0.0" - }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.12.0" } }, - "node_modules/is-weakmap": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", - "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node_modules/is-path-inside": { + "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==", + "dev": true, + "engines": { + "node": ">=8" } }, - "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==", + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2" + "isobject": "^3.0.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/is-weakset": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", - "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dependencies": { "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" - }, "node_modules/isbinaryfile": { "version": "4.0.10", "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", @@ -7309,14 +6990,6 @@ "node": ">=0.10.0" } }, - "node_modules/isomorphic-ws": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", - "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", - "peerDependencies": { - "ws": "*" - } - }, "node_modules/jake": { "version": "10.8.5", "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", @@ -7561,15 +7234,6 @@ "node": ">=0.10.0" } }, - "node_modules/klona": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", - "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, "node_modules/lazy-val": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.5.tgz", @@ -7597,11 +7261,6 @@ "immediate": "~3.0.5" } }, - "node_modules/linebyline": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/linebyline/-/linebyline-1.3.0.tgz", - "integrity": "sha512-3fpIYMrSU77OCf89hjXKuCx6vGwgWEu4N5DDCGqgZ1BF0HYy9V8IbQb/3+VWIU17iBQ83qQoUokH0AhPMOTi7w==" - }, "node_modules/loader-runner": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", @@ -7707,11 +7366,14 @@ } }, "node_modules/magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "version": "0.30.5", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz", + "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==", "dependencies": { - "sourcemap-codec": "^1.4.8" + "@jridgewell/sourcemap-codec": "^1.4.15" + }, + "engines": { + "node": ">=12" } }, "node_modules/make-dir": { @@ -7827,28 +7489,6 @@ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "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, - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, "node_modules/mime": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", @@ -7889,6 +7529,16 @@ "node": ">=4" } }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" + }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -7940,9 +7590,9 @@ } }, "node_modules/mitt": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.0.tgz", - "integrity": "sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ==" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==" }, "node_modules/mkdirp": { "version": "0.5.6", @@ -7961,9 +7611,15 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -7991,11 +7647,6 @@ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, - "node_modules/next-tick": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", - "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" - }, "node_modules/node-addon-api": { "version": "1.7.2", "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz", @@ -8015,9 +7666,9 @@ } }, "node_modules/node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", "dev": true }, "node_modules/normalize-path": { @@ -8061,14 +7712,6 @@ "node": ">=0.10.0" } }, - "node_modules/object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/object-is": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", @@ -8092,23 +7735,6 @@ "node": ">= 0.4" } }, - "node_modules/object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -8118,17 +7744,17 @@ } }, "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "dev": true, "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "type-check": "^0.4.0" }, "engines": { "node": ">= 0.8.0" @@ -8244,15 +7870,6 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", @@ -8354,9 +7971,9 @@ } }, "node_modules/postcss": { - "version": "8.4.16", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.16.tgz", - "integrity": "sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==", + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", "funding": [ { "type": "opencollective", @@ -8365,10 +7982,14 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "dependencies": { - "nanoid": "^3.3.4", + "nanoid": "^3.3.6", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" }, @@ -8389,9 +8010,9 @@ } }, "node_modules/postcss-modules-local-by-default": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", - "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz", + "integrity": "sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==", "dev": true, "dependencies": { "icss-utils": "^5.0.0", @@ -8436,9 +8057,9 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", - "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", "dev": true, "dependencies": { "cssesc": "^3.0.0", @@ -8693,9 +8314,9 @@ "dev": true }, "node_modules/regenerate-unicode-properties": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", - "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", "dev": true, "dependencies": { "regenerate": "^1.4.2" @@ -8710,9 +8331,9 @@ "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" }, "node_modules/regenerator-transform": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", - "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", "dev": true, "dependencies": { "@babel/runtime": "^7.8.4" @@ -8734,45 +8355,27 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, "node_modules/regexpu-core": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.1.0.tgz", - "integrity": "sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", "dev": true, "dependencies": { + "@babel/regjsgen": "^0.8.0", "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.0.1", - "regjsgen": "^0.6.0", - "regjsparser": "^0.8.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.0.0" + "unicode-match-property-value-ecmascript": "^2.1.0" }, "engines": { "node": ">=4" } }, - "node_modules/regjsgen": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", - "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==", - "dev": true - }, "node_modules/regjsparser": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", - "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", "dev": true, "dependencies": { "jsesc": "~0.5.0" @@ -8973,9 +8576,9 @@ } }, "node_modules/sass": { - "version": "1.54.9", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.54.9.tgz", - "integrity": "sha512-xb1hjASzEH+0L0WI9oFjqhRi51t/gagWnxLiwUNMltA0Ab6jIDkAacgKiGYKM9Jhy109osM7woEEai6SXeJo5Q==", + "version": "1.69.4", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.69.4.tgz", + "integrity": "sha512-+qEreVhqAy8o++aQfCJwp0sklr2xyEzkm9Pp/Igu9wNPoe7EZEQ8X/MBvvXggI2ql607cxKg/RKOwDj6pp2XDA==", "dev": true, "dependencies": { "chokidar": ">=3.0.0 <4.0.0", @@ -8986,16 +8589,15 @@ "sass": "sass.js" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.0.0" } }, "node_modules/sass-loader": { - "version": "13.0.2", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.0.2.tgz", - "integrity": "sha512-BbiqbVmbfJaWVeOOAu2o7DhYWtcNmTfvroVgFXa6k2hHheMxNAeDHLNoDy/Q5aoaVlz0LH+MbMktKwm9vN/j8Q==", + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.3.2.tgz", + "integrity": "sha512-CQbKl57kdEv+KDLquhC+gE3pXt74LEAzm+tzywcA0/aHZuub8wTErbjAoNI57rPUWRYRNC5WUnNl8eGJNbDdwg==", "dev": true, "dependencies": { - "klona": "^2.0.4", "neo-async": "^2.6.2" }, "engines": { @@ -9007,7 +8609,7 @@ }, "peerDependencies": { "fibers": ">= 3.1.0", - "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0", "sass": "^1.3.0", "sass-embedded": "*", "webpack": "^5.0.0" @@ -9051,11 +8653,6 @@ "url": "https://opencollective.com/webpack" } }, - "node_modules/secure-random": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/secure-random/-/secure-random-1.1.2.tgz", - "integrity": "sha512-H2bdSKERKdBV1SwoqYm6C0y+9EA94v6SUBOWO8kDndc4NoUih7Dv6Tsgma7zO1lv27wIvjlD0ZpMQk7um5dheQ==" - }, "node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", @@ -9089,9 +8686,9 @@ } }, "node_modules/serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", "dev": true, "dependencies": { "randombytes": "^2.1.0" @@ -9147,19 +8744,6 @@ "node": ">=8" } }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/simple-update-notifier": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz", @@ -9240,15 +8824,6 @@ } } }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/slice-ansi": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", @@ -9312,20 +8887,20 @@ } }, "node_modules/socket.io": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.1.tgz", - "integrity": "sha512-W+utHys2w//dhFjy7iQQu9sGd3eokCjGbl2r59tyLqNiJJBdIebn3GAKEXBr3osqHTObJi2die/25bCx2zsaaw==", + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.2.tgz", + "integrity": "sha512-bvKVS29/I5fl2FGLNHuXlQaUH/BlzX1IN6S+NKLNZpBsPZIDH+90eQmCs2Railn4YUiww4SzUedJ6+uzwFnKLw==", "dependencies": { "accepts": "~1.3.4", "base64id": "~2.0.0", "cors": "~2.8.5", "debug": "~4.3.2", - "engine.io": "~6.5.0", + "engine.io": "~6.5.2", "socket.io-adapter": "~2.5.2", "socket.io-parser": "~4.2.4" }, "engines": { - "node": ">=10.0.0" + "node": ">=10.2.0" } }, "node_modules/socket.io-adapter": { @@ -9374,11 +8949,6 @@ "source-map": "^0.6.0" } }, - "node_modules/sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" - }, "node_modules/split-on-first": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", @@ -9444,32 +9014,6 @@ "node": ">=8" } }, - "node_modules/string.prototype.trimend": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", - "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz", - "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -9495,9 +9039,9 @@ } }, "node_modules/style-loader": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.1.tgz", - "integrity": "sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.3.tgz", + "integrity": "sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw==", "dev": true, "engines": { "node": ">= 12.13.0" @@ -9630,13 +9174,13 @@ } }, "node_modules/terser": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.15.0.tgz", - "integrity": "sha512-L1BJiXVmheAQQy+as0oF3Pwtlo4s3Wi1X2zNZ2NxOB4wx9bdS9Vk67XQENLFdLYGCK/Z2di53mTj/hBafR+dTA==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.22.0.tgz", + "integrity": "sha512-hHZVLgRA2z4NWcN6aS5rQDc+7Dcy58HOf2zbYwmFcQ+ua3h6eEFf5lIDKTzbWwlazPyOZsFQO8V80/IjVNExEw==", "dev": true, "dependencies": { - "@jridgewell/source-map": "^0.3.2", - "acorn": "^8.5.0", + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", "commander": "^2.20.0", "source-map-support": "~0.5.20" }, @@ -9648,16 +9192,16 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.6", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz", - "integrity": "sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==", + "version": "5.3.9", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", + "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", "dev": true, "dependencies": { - "@jridgewell/trace-mapping": "^0.3.14", + "@jridgewell/trace-mapping": "^0.3.17", "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.0", - "terser": "^5.14.1" + "serialize-javascript": "^6.0.1", + "terser": "^5.16.8" }, "engines": { "node": ">= 10.13.0" @@ -9682,9 +9226,9 @@ } }, "node_modules/terser-webpack-plugin/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.8", @@ -9767,11 +9311,6 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" }, - "node_modules/type": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", - "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" - }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -9807,25 +9346,6 @@ "resolved": "https://registry.npmjs.org/typeface-roboto/-/typeface-roboto-1.1.13.tgz", "integrity": "sha512-YXvbd3a1QTREoD+FJoEkl0VQNJoEjewR2H11IjVv4bp6ahuIcw0yyw/3udC4vJkHw3T3cUh85FTg8eWef3pSaw==" }, - "node_modules/typeforce": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/typeforce/-/typeforce-1.18.0.tgz", - "integrity": "sha512-7uc1O8h1M1g0rArakJdf0uLRSSgFcYexrVoKo+bzJd32gd4gDy2L/Z+8/FjPnU9ydY3pEnVPtr9FyscYY60K1g==" - }, - "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==", - "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", @@ -9849,18 +9369,18 @@ } }, "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", - "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", "dev": true, "engines": { "node": ">=4" } }, "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", - "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", "dev": true, "engines": { "node": ">=4" @@ -9886,9 +9406,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.7.tgz", - "integrity": "sha512-iN/XYesmZ2RmmWAiI4Z5rq0YqSiv0brj9Ce9CfhNE4xIW2h+MFxcgkxIzZ+ShkFPUkjU3gQ+3oypadD3RAMtrg==", + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", "dev": true, "funding": [ { @@ -9898,6 +9418,10 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "dependencies": { @@ -9905,7 +9429,7 @@ "picocolors": "^1.0.0" }, "bin": { - "browserslist-lint": "cli.js" + "update-browserslist-db": "cli.js" }, "peerDependencies": { "browserslist": ">= 4.21.0" @@ -9960,14 +9484,6 @@ "uuid": "dist/bin/uuid" } }, - "node_modules/varuint-bitcoin": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/varuint-bitcoin/-/varuint-bitcoin-1.1.2.tgz", - "integrity": "sha512-4EVb+w4rx+YfVM32HQX42AbbT7/1f5zwAYhIujKXKk8NQK+JfRVl3pqT3hjNn/L+RstigmGGKVwHA/P0wgITZw==", - "dependencies": { - "safe-buffer": "^5.1.1" - } - }, "node_modules/vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", @@ -9999,21 +9515,29 @@ "optional": true }, "node_modules/vue": { - "version": "3.2.39", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.39.tgz", - "integrity": "sha512-tRkguhRTw9NmIPXhzk21YFBqXHT2t+6C6wPOgQ50fcFVWnPdetmRqbmySRHznrYjX2E47u0cGlKGcxKZJ38R/g==", + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.5.tgz", + "integrity": "sha512-xYpLEGb25yYU1ul9ZhCcavNZ4YW6PS7YTDdDAd0yc/3w69Tra2BwY4EpKguKddfD56QApXQ17XHq+fJJwEP+UQ==", "dependencies": { - "@vue/compiler-dom": "3.2.39", - "@vue/compiler-sfc": "3.2.39", - "@vue/runtime-dom": "3.2.39", - "@vue/server-renderer": "3.2.39", - "@vue/shared": "3.2.39" + "@vue/compiler-dom": "3.3.5", + "@vue/compiler-sfc": "3.3.5", + "@vue/runtime-dom": "3.3.5", + "@vue/server-renderer": "3.3.5", + "@vue/shared": "3.3.5" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, "node_modules/vue-eslint-parser": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.1.0.tgz", - "integrity": "sha512-NGn/iQy8/Wb7RrRa4aRkokyCZfOUWk19OP5HP6JEozQFX5AoS/t+Z0ZN7FY4LlmWc4FNI922V7cvX28zctN8dQ==", + "version": "9.3.2", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.3.2.tgz", + "integrity": "sha512-q7tWyCVaV9f8iQyIA5Mkj/S6AoJ9KBN8IeUSf3XEmBrOtxOZnfTg5s4KClbZBCK3GtnT/+RyCLZyDHuZwTuBjg==", "dev": true, "dependencies": { "debug": "^4.3.4", @@ -10180,11 +9704,11 @@ } }, "node_modules/vue-router": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.1.5.tgz", - "integrity": "sha512-IsvoF5D2GQ/EGTs/Th4NQms9gd2NSqV+yylxIyp/OYp8xOwxmU8Kj/74E9DTSYAyH5LX7idVUngN3JSj1X4xcQ==", + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.2.5.tgz", + "integrity": "sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==", "dependencies": { - "@vue/devtools-api": "^6.1.4" + "@vue/devtools-api": "^6.5.0" }, "funding": { "url": "https://github.com/sponsors/posva" @@ -10194,9 +9718,9 @@ } }, "node_modules/vue-template-compiler": { - "version": "2.7.10", - "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.10.tgz", - "integrity": "sha512-QO+8R9YRq1Gudm8ZMdo/lImZLJVUIAM8c07Vp84ojdDAf8HmPJc7XB556PcXV218k2AkKznsRz6xB5uOjAC4EQ==", + "version": "2.7.14", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.14.tgz", + "integrity": "sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==", "dev": true, "dependencies": { "de-indent": "^1.0.2", @@ -10204,14 +9728,14 @@ } }, "node_modules/vuex": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/vuex/-/vuex-4.0.2.tgz", - "integrity": "sha512-M6r8uxELjZIK8kTKDGgZTYX/ahzblnzC4isU1tpmEuOIIKmV+TRdc+H4s8ds2NuZ7wpUTdGRzJRtoj+lI+pc0Q==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/vuex/-/vuex-4.1.0.tgz", + "integrity": "sha512-hmV6UerDrPcgbSy9ORAtNXDr9M4wlNP4pEFKye4ujJF8oqgFFuxDCdOLS3eNoRTtq5O3hoBDh9Doj1bQMYHRbQ==", "dependencies": { "@vue/devtools-api": "^6.0.0-beta.11" }, "peerDependencies": { - "vue": "^3.0.2" + "vue": "^3.2.0" } }, "node_modules/watchpack": { @@ -10228,22 +9752,22 @@ } }, "node_modules/webpack": { - "version": "5.76.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.76.2.tgz", - "integrity": "sha512-Th05ggRm23rVzEOlX8y67NkYCHa9nTNcwHPBhdg+lKG+mtiW7XgggjAeeLnADAe7mLjJ6LUNfgHAuRRh+Z6J7w==", + "version": "5.89.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", + "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", "dev": true, "dependencies": { "@types/eslint-scope": "^3.7.3", - "@types/estree": "^0.0.51", - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/wasm-edit": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", "acorn": "^8.7.1", - "acorn-import-assertions": "^1.7.6", + "acorn-import-assertions": "^1.9.0", "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.10.0", - "es-module-lexer": "^0.9.0", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", @@ -10252,9 +9776,9 @@ "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", - "schema-utils": "^3.1.0", + "schema-utils": "^3.2.0", "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.3", + "terser-webpack-plugin": "^5.3.7", "watchpack": "^2.4.0", "webpack-sources": "^3.2.3" }, @@ -10331,12 +9855,13 @@ } }, "node_modules/webpack-merge": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", - "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", "dev": true, "dependencies": { "clone-deep": "^4.0.1", + "flat": "^5.0.2", "wildcard": "^2.0.0" }, "engines": { @@ -10384,9 +9909,9 @@ } }, "node_modules/webpack/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.8", @@ -10416,77 +9941,12 @@ "node": ">= 8" } }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-collection": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", - "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", - "dependencies": { - "is-map": "^2.0.1", - "is-set": "^2.0.1", - "is-weakmap": "^2.0.1", - "is-weakset": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-typed-array": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.8.tgz", - "integrity": "sha512-Jn4e5PItbcAHyLoRDwvPj1ypu27DJbtdYXUa5zsinrUx77Uvfb0cXwwnGMTn7cjUfhhqgVQnVJCwF+7cgU7tpw==", - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-abstract": "^1.20.0", - "for-each": "^0.3.3", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.9" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/wif": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/wif/-/wif-2.0.6.tgz", - "integrity": "sha512-HIanZn1zmduSF+BQhkE+YXIbEiH0xPr1012QbFEGB0xsKqJii0/SqJjyn8dFv6y36kOznMgMB+LGcbZTJ1xACQ==", - "dependencies": { - "bs58check": "<3.0.0" - } - }, "node_modules/wildcard": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", "dev": true }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", diff --git a/package.json b/package.json index 44ad8951..1ea192ee 100644 --- a/package.json +++ b/package.json @@ -1,18 +1,18 @@ { "name": "beet", - "productName": "Beet Blockchain Companion", - "version": "0.17.0-rc1", + "productName": "BeetEOS Blockchain Companion", + "version": "0.0.1", "apiversion": 3, - "description": "Beet is a stand-alone key-manager and signing app for blockchains like BitShares, Bitcoin and others.", - "author": "clockworkgr ", + "description": "BeetEOS is a stand-alone key-manager and signing app for EOS based blockchains.", + "author": "BeetEOS team", "license": "MIT", - "homepage": "https://github.com/bitshares/beet", - "repository": "github:bitshares/beet", + "homepage": "https://github.com/beetapp/beeteos", + "repository": "github:beetapp/beeteos", "main": "app/background.js", "build": { "appId": "io.get-beet.beet", - "productName": "Beet Blockchain Companion", - "artifactName": "BeetSetup.${ext}", + "productName": "BeetEOS Blockchain Companion", + "artifactName": "BeetEOSSetup.${ext}", "files": [ "app/**/*", "node_modules/**/*", @@ -37,7 +37,6 @@ } }, "scripts": { - "postinstall": "electron-builder install-app-deps", "start": "node build/start.js", "compile": "webpack --config=build/webpack.app.config.js --env=production", "build": "webpack --config=build/webpack.app.config.js --env=production && electron-builder --publish never", @@ -52,54 +51,53 @@ "@babel/runtime": "^7.19.0", "@noble/ed25519": "^1.6.1", "@noble/secp256k1": "^1.6.3", - "balm-ui": "^10.9.3", - "bitcoinjs-lib": "^6.0.1", - "bitsharesjs": "https://github.com/bitshares/bitsharesjs#develop", + "balm-ui": "^10.23.2", "crypto-js": "^4.1.1", - "dexie": "^3.2.2", + "dexie": "^3.2.4", "electron-devtools-installer": "^3.2.0", - "linebyline": "^1.3.0", + "eosjs": "^22.1.0", + "eosjs-ecc": "^4.0.7", "lzma": "^2.3.2", - "mitt": "^3.0.0", + "mitt": "^3.0.1", "otpauth": "^8.0.1", "query-string": "^7.1.1", "simple-websocket": "^9.1.0", - "socket.io": "^4.6.1", + "socket.io": "^4.7.2", "typeface-rajdhani": "1.1.13", "typeface-roboto": "1.1.13", "uuid": "^8.3.2", - "vue": "^3.2.37", + "vue": "^3.3.5", "vue-i18n": "9", "vue-qrcode-reader": "^4.0.0", - "vue-router": "^4.1.2", - "vuex": "^4.0.2" + "vue-router": "^4.2.5", + "vuex": "^4.1.0" }, "devDependencies": { - "@babel/core": "^7.18.9", - "@babel/plugin-proposal-object-rest-spread": "^7.18.9", - "@babel/plugin-transform-runtime": "^7.18.9", - "@babel/preset-env": "^7.18.9", + "@babel/core": "^7.23.2", + "@babel/plugin-proposal-object-rest-spread": "^7.20.7", + "@babel/plugin-transform-runtime": "^7.23.2", + "@babel/preset-env": "^7.23.2", "@soda/friendly-errors-webpack-plugin": "^1.8.1", "babel-loader": "^8.2.5", - "css-loader": "^6.7.1", + "css-loader": "^6.8.1", "electron": "^24.2.0", "electron-builder": "^23.1.0", - "eslint": "^8.20.0", - "eslint-plugin-vue": "^9.2.0", + "eslint": "^8.51.0", + "eslint-plugin-vue": "^9.17.0", "file-loader": "^6.2.0", - "sass": "^1.53.0", - "sass-loader": "^13.0.2", + "sass": "^1.69.4", + "sass-loader": "^13.3.2", "source-map-support": "^0.5.21", - "style-loader": "^3.3.1", + "style-loader": "^3.3.3", "vue-loader": "^17.0.0", - "vue-template-compiler": "^2.7.7", - "webpack": "^5.73.0", + "vue-template-compiler": "^2.7.14", + "webpack": "^5.89.0", "webpack-cli": "^4.10.0", - "webpack-merge": "^5.8.0", + "webpack-merge": "^5.10.0", "webpack-node-externals": "^3.0.0" }, "optionalDependencies": { - "bufferutil": "^4.0.6", + "bufferutil": "^4.0.8", "utf-8-validate": "^5.0.9" } } diff --git a/src/components/add-account.vue b/src/components/add-account.vue index ae996700..4dc95434 100644 --- a/src/components/add-account.vue +++ b/src/components/add-account.vue @@ -3,11 +3,7 @@ import { ipcRenderer } from 'electron'; import { useI18n } from 'vue-i18n'; - import ImportCloudPass from "./blockchains/bitshares/ImportCloudPass"; - import ImportBinFile from "./blockchains/bitshares/ImportBinFile"; - import ImportMemo from "./blockchains/bitshares/ImportMemo"; import ImportKeys from "./blockchains/ImportKeys"; - import ImportAddressBased from "./blockchains/address/ImportAddressBased"; import store from '../store/index'; import router from '../router/index.js'; @@ -294,7 +290,7 @@ -
+

{{ t('common.bts_importtype_cta') }}

@@ -338,7 +334,7 @@ - + - - - - - diff --git a/src/components/blockchains/address/ImportAddressBased.vue b/src/components/blockchains/address/ImportAddressBased.vue deleted file mode 100644 index 0ed7cdec..00000000 --- a/src/components/blockchains/address/ImportAddressBased.vue +++ /dev/null @@ -1,117 +0,0 @@ - - - diff --git a/src/components/blockchains/bitshares/ImportBinFile.vue b/src/components/blockchains/bitshares/ImportBinFile.vue deleted file mode 100644 index b0a0b95c..00000000 --- a/src/components/blockchains/bitshares/ImportBinFile.vue +++ /dev/null @@ -1,284 +0,0 @@ - - - diff --git a/src/components/blockchains/bitshares/ImportCloudPass.vue b/src/components/blockchains/bitshares/ImportCloudPass.vue deleted file mode 100644 index a98c4d95..00000000 --- a/src/components/blockchains/bitshares/ImportCloudPass.vue +++ /dev/null @@ -1,179 +0,0 @@ - - - diff --git a/src/components/blockchains/bitshares/ImportMemo.vue b/src/components/blockchains/bitshares/ImportMemo.vue deleted file mode 100644 index 01a9baf5..00000000 --- a/src/components/blockchains/bitshares/ImportMemo.vue +++ /dev/null @@ -1,128 +0,0 @@ - - - diff --git a/src/config/config.js b/src/config/config.js index 8524fe13..deac0fc9 100644 --- a/src/config/config.js +++ b/src/config/config.js @@ -1,137 +1,4 @@ let _blockchains = { - BTS: { - coreSymbol: 'BTS', - name: 'BitShares', - chainId: '4018d7844c78f6a6c41c6a552b898022310fc5dec06da467ee7905a8dad512c8', - nodeList: [ - { - url: "wss://node.xbts.io/ws" - }, - { - url: "wss://api.bts.mobi/ws" - }, - { - url: "wss://nexus01.co.uk/ws" - }, - { - url: "wss://dex.iobanker.com/ws" - }, - { - url: "wss://api.dex.trading/" - }, - { - url: "wss://api.bitshares.bhuz.info/ws" - }, - { - url: "wss://btsws.roelandp.nl/ws" - } - ] - }, - BTS_TEST: { - coreSymbol: 'TEST', - name: 'BitShares', - testnet: true, - chainId: '39f5e2ede1f8bc1a3a54a7914414e3779e33193f1f5693510e73cb7a87617447', - nodeList: [ - { - url: "wss://testnet.xbts.io/ws" - }, - { - url: "wss://testnet.dex.trading/" - }, - { - url: "wss://api-testnet.61bts.com/ws" - }, - { - url: "wss://testnet.bitshares.im/ws" - }, - { - url: "wss://eu.nodes.testnet.bitshares.ws/" - } - ] - }, - TUSC: { - coreSymbol: 'TUSC', - name: 'The Universal Settlement Coin', - chainId: 'eb938e2a955e39e335120d0a99f3b9f8c04a9ed5690275ea5037d6bbadfc6cf3', - nodeList: [ - { - url: "wss://api.tusc.network/wallet" - }, - { - url: "wss://api.cryptotusc.com" - }, - { - url: "wss://tuscapi.gambitweb.com" - }, - { - url: "wss://api.readyrhino.one" - } - ] - }, - BTC: { - coreSymbol: 'BTC', - name: 'Bitcoin', - chainId: null, - nodeList: [ - { - url: "https://blockchain.info/rawaddr/", - push: "https://blockchain.info/pushtx", - location: "Unknown", - region: "Unknown", - country: "Luxembourg", - operator: "Blockchain Luxembourg S.A.", - contact: "https://www.blockchain.com" - } - ] - }, - BTC_TEST: { - coreSymbol: 'BTC', - name: 'Bitcoin', - chainId: null, - testnet: true, - nodeList: [ - { - url: "https://testnet.blockchain.info/rawaddr/", - push: "https://testnet-api.smartbit.com.au/v1/blockchain/pushtx", - location: "Unknown", - region: "Unknown", - country: "Luxembourg", - operator: "Blockchain Luxembourg S.A.", - contact: "https://www.blockchain.com" - } - ] - } - /*STEEM: { - coreSymbol: 'STM', - name: 'Steem', - chainId: '0', - nodeList: [ - { - url: "https://api.steemit.com/", - location: "Unknown", - region: "Unknown", - country: "Unknown", - operator: "Steemit Inc.", - contact: "https://steem.com" - } - ] - }, - WLS: { - coreSymbol: 'WLS', - name: 'WhaleShares', - chainId: '0', - nodeList: [ - { - url: "https://wls.kennybll.com/", - location: "Unknown", - region: "Unknown", - country: "Unknown", - operator: "Beyond Bitcoin", - contact: "Discord Channel" - } - ] - }, EOS: { coreSymbol: 'EOS', name: 'EOSmainnet', @@ -147,54 +14,36 @@ let _blockchains = { } ] }, - TLOS: { - coreSymbol: 'TLOS', - name: 'Telos', - chainId: '4667b205c6838ef70ff7988f6e8257e8be0e1284a2f59699054a018f743b1d11', - nodeList: [ - { - url: "https://api.theteloscope.io", - location: "Unknown", - region: "Unknown", - country: "Unknown", - operator: "Greymass", - contact: "Greymass" - } - ] - }, - BNB_TEST: { - coreSymbol: 'BNB', - name: 'BinanceChain', - testnet: true, - chainId: 'Binance-Chain-Nile', + BEOS: { + coreSymbol: 'BEOS', + name: 'BEOSmainnet', + chainId: 'cbef47b0b26d2b8407ec6a6f91284100ec32d288a39d4b4bbd49655f7c484112', nodeList: [ { - url: "https://testnet-dex.binance.org/", - explorer: "https://testnet-explorer.binance.org/", + url: "https://api.beos.world", location: "Unknown", region: "Unknown", country: "Unknown", - operator: "Binance", - contact: "Binance.org" + operator: "BEOS", + contact: "BEOS" } ] }, - BNB: { - coreSymbol: 'BNB', - name: 'BinanceChain', - chainId: 'Binance-Chain-Tigris', + TLOS: { + coreSymbol: 'TLOS', + name: 'Telos', + chainId: '4667b205c6838ef70ff7988f6e8257e8be0e1284a2f59699054a018f743b1d11', nodeList: [ { - url: "https://dex.binance.org/", - explorer: "https://explorer.binance.org/", + url: "https://api.theteloscope.io", location: "Unknown", region: "Unknown", country: "Unknown", - operator: "Binance", - contact: "Binance.org" + operator: "Greymass", + contact: "Greymass" } ] - }*/ + } }; Object.keys(_blockchains).forEach(key => { diff --git a/src/lib/Logger.js b/src/lib/Logger.js index d35afc24..78a89c04 100644 --- a/src/lib/Logger.js +++ b/src/lib/Logger.js @@ -1,5 +1,3 @@ -//import //readline from 'linebyline'; - function lpad(str, padString, length) { while (str.toString().length < length) { str = padString + '' + str; @@ -41,45 +39,31 @@ class Logger { return [year, month, day].join('-') + ' ' + lpad(date.getHours(), '0', 2) + ':' + lpad(date.getMinutes(), '0', 2) + ':' + lpad(date.getSeconds(), '0', 2) + ' GMT' + offset; } log(msg) { - //readline.clearLine(process.stdout, 0); - //readline.cursorTo(process.stdout, 0, null); process.stdout.write(`${this.timestamp()} - [LOG] ${msg}\n`); } info(msg) { if (this.log_level > 0) { - //readline.clearLine(process.stdout, 0); - //readline.cursorTo(process.stdout, 0, null); process.stdout.write(`${this.timestamp()} - [INFO] ${msg}\n`); } } warning(msg) { - //readline.clearLine(process.stdout, 0); - //readline.cursorTo(process.stdout, 0, null); process.stdout.write(`${this.timestamp()} - [WARNING] ${msg}\n`); } error(msg) { - //readline.clearLine(process.stdout, 0); - //readline.cursorTo(process.stdout, 0, null); process.stdout.write(`${this.timestamp()} - [ERROR] ${msg}\n`); } verbose(msg) { if (this.log_level > 1) { - //readline.clearLine(process.stdout, 0); - //readline.cursorTo(process.stdout, 0, null); process.stdout.write(`${this.timestamp()} - [VERBOSE] ${msg}\n`); } } debug(msg) { if (this.log_level > 1) { - //readline.clearLine(process.stdout, 0); - //readline.cursorTo(process.stdout, 0, null); process.stdout.write(`${this.timestamp()} - [DEBUG] ${msg}\n`); } } transient(msg) { if (this.log_level > 2) { - //readline.clearLine(process.stdout, 0); - //readline.cursorTo(process.stdout, 0, null); process.stdout.write(msg); } } diff --git a/src/lib/assetUtils.js b/src/lib/assetUtils.js index 32547f6c..2b2a0f2f 100644 --- a/src/lib/assetUtils.js +++ b/src/lib/assetUtils.js @@ -1,7 +1,7 @@ const lookupPrecision = { - "BTC": 8, - "BNB": 8, - "BTS": 5 + "EOS": 4, + "TLOS": 4, + "BEOS": 4, }; export function humanReadableFloat(satoshis, precision) { diff --git a/src/lib/blockchains/BEOS.js b/src/lib/blockchains/BEOS.js new file mode 100644 index 00000000..f7266309 --- /dev/null +++ b/src/lib/blockchains/BEOS.js @@ -0,0 +1,15 @@ +import EOSmainnet from "./EOSmainnet"; + +export default class BEOS extends EOSmainnet { + + getExplorer(object) { + if (object.accountName) { + return "https://explore.beos.world/accounts/" + object.accountName; + } else if (object.txid && object.blocknum) { + return `https://explore.beos.world/transactions/${object.blocknum}/${object.txid}`; + } else { + return false; + } + } + +} \ No newline at end of file diff --git a/src/lib/blockchains/Binance.js b/src/lib/blockchains/Binance.js deleted file mode 100644 index e3a43295..00000000 --- a/src/lib/blockchains/Binance.js +++ /dev/null @@ -1,287 +0,0 @@ -import BlockchainAPI from "./BlockchainAPI"; - -import binancejs from "@binance-chain/javascript-sdk"; -import Transaction from "@binance-chain/javascript-sdk/lib/tx"; -import {formatAsset, humanReadableFloat} from "../assetUtils"; - -export default class Bitcoin extends BlockchainAPI { - - _connect(nodeToConnect) { - return new Promise((resolve, reject) => { - if (nodeToConnect == null) { - nodeToConnect = this.getNodes()[0].url; - } - this.client = new binancejs(nodeToConnect); - this.client.initChain().then(() => { - console.log("Binance Chain initialized", this.client); - this._connectionEstablished(resolve, nodeToConnect); - }).catch(this._connectionFailed.bind(this, reject, nodeToConnect)); - }); - } - - getAccount(accountname) { - return new Promise((resolve, reject) => { - this.ensureConnection().then(() => { - this.client.getAccount(accountname).then(result => { - if (result.status != 200) { - reject("HTTP status not ok"); - } - result = result.result; - let account = {}; - account.active = {}; - account.owner = {}; - //if (!!this._lastPublicKey) { - account.active.public_keys = [[accountname, 1]]; - // if (this._publicKeyToAddress(this._lastPublicKey) !== accountname) { - // reject("Public key not matching"); - // } - //} else { - // reject("No public key found!"); - //} - account.owner.public_keys = []; - account.memo = {public_key: null}; - account.id = result.account_number; - account.name = accountname; - account.balances = result.balances; - resolve(account); - }).catch(reject); - }).catch(reject); - }); - } - - _publicKeyToAddress(publicKey) { - return binancejs.crypto.getAddressFromPublicKey(publicKey, this._config.testnet ? 'tbnb' : 'bnb'); - } - - getPublicKey(privateKey) { - return binancejs.crypto.getPublicKeyFromPrivateKey(privateKey); - } - - getBalances(accountName) { - return new Promise((resolve, reject) => { - this.ensureConnection().then(() => { - this.client.getBalance(accountName).then((result) => { - let balances = []; - result.forEach(balance => { - balances.push({ - asset_type: "UIA", - asset_name: balance.symbol, - balance: parseFloat(balance.free), - owner: "-", - prefix: "" - }); - }); - resolve(balances); - }); - }); - }); - } - - getAccessType() { - return "address"; - } - - getSignUpInput() { - return { - active: true - } - } - - sign(operation, key) { - return new Promise((resolve, reject) => { - this.ensureConnection().then(() => { - if (typeof operation == "object" - && operation.length == 3 - && operation[0] == "signAndBroadcast") { - let tx = this._stringToTx(operation[1]); - tx.sign(key, JSON.parse(operation[2])); - resolve(tx); - } else if (typeof operation == "object" - && operation.length == 3 - && operation[0] == "sign") { - let tx = this._stringToTx(operation[1]); - tx.sign(key, JSON.parse(operation[2])); - resolve(this._txToString(tx)); - } else if (typeof operation == "object" - && operation.length > 2 - && operation[1] == "inject_wif") { - this.client.setPrivateKey(key).then(() => { - resolve(operation) - }); - } else { - reject("Unknown sign request"); - } - }).catch(err => reject(err)); - }); - } - - _txToString(transaction) { - let raw = {}; - raw.type = transaction.type; - raw.sequence = transaction.sequence; - raw.account_number = transaction.account_number; - raw.chain_id = transaction.chain_id; - raw.msgs = transaction.msgs; - raw.memo = transaction.memo; - raw.signatures = transaction.signatures; - return JSON.stringify(raw); - } - - _stringToTx(string) { - let raw = JSON.parse(string); - raw.msgs.forEach(msg => { - msg.inputs.forEach(input => { - input.address = Buffer.from(input.address); - }); - msg.outputs.forEach(output => { - output.address = Buffer.from(output.address); - }); - }); - let tx = new Transaction(raw); - tx.msgs = raw.msgs; - if (raw.signatures) { - tx.signatures = raw.signatures; - } - return tx; - } - - broadcast(transaction) { - return new Promise((resolve, reject) => { - this.ensureConnection().then(() => { - if (typeof transaction == "object" - && transaction.length == 2 - && transaction[0] == "broadcast") { - this.client.sendTransaction(this._stringToTx(transaction[1])).then(resolve).catch(reject); - } else if (typeof transaction == "object" && !!transaction.type) { - this.client.sendTransaction(transaction).then(resolve).catch(reject); - } else { - switch (transaction[0]) { - case "transfer": - this.client.transfer(transaction[2], transaction[3], transaction[4], transaction[5], transaction[6], transaction[7]) - .then(resolve) - .catch(reject) - .finally(() => { - this.client.privateKey = undefined; - }); - break; - case "cancelOrder": - this.client.cancelOrder(transaction[2], transaction[3], transaction[4], transaction[5]) - .then(resolve) - .catch(reject) - .finally(() => { - this.client.privateKey = undefined; - }); - break; - case "placeOrder": - this.client.placeOrder(transaction[2], transaction[3], transaction[4], transaction[5], transaction[6], transaction[7], transaction[8]) - .then(resolve) - .catch(reject) - .finally(() => { - this.client.privateKey = undefined; - }); - break; - } - } - }).catch(reject); - }); - } - - getOperation(data, account) { - return new Promise((resolve, reject) => { - reject("Not supported"); - }); - } - - mapOperationData(incoming) { - return new Promise((resolve, reject) => { - reject("Not supported"); - }); - } - - _signString(key, string) { - let signature = binancejs.crypto.generateSignature(Buffer.from(string).toString("hex"), key); - return signature.toString("hex"); - } - - _verifyString(signature, publicKey, string) { - return binancejs.crypto.verifySignature(signature, Buffer.from(string).toString("hex"), publicKey); - } - - _compareKeys(key1, key2) { - return key1 === this._publicKeyToAddress(key2); - } - - _verifyAccountAndKey(accountName, publicKey, permission = null) { - return super._verifyAccountAndKey(accountName, this._publicKeyToAddress(publicKey), permission = null); - } - - async transfer(key, from, to, amount, memo = null) { - if (!amount.amount || !amount.asset_id) { - throw "Amount must be a dict with amount and asset_id as keys" - } - - // convert to floats - let newAmount = { - amount: humanReadableFloat(amount.amount, 8), - asset_id: amount.asset_id - }; - - from = await this.getAccount(from); - to = await this.getAccount(to); - - const api = this.getNodes()[0].url; - const sequenceURL = `${api}api/v1/account/${from.name}/sequence`; - - if (memo == null){ - memo = ""; - } - - let result = await fetch(sequenceURL); - result = await result.json(); - const sequence = (result.data ? result.data.sequence : 0) || (result.sequence ? result.sequence : 0); - let transaction = await this.sign(["transfer", "inject_wif", from.name, to.name, newAmount.amount, newAmount.asset_id, memo, sequence], key); - return await this.broadcast(transaction); - } - - getExplorer(object) { - if (object.accountName) { - return this.getNodes()[0].explorer + "address/" + object.accountName; - } else if (object.txid) { - // 260D46A66E79503F205AF1E826B0460FAFBBDB25C235FB408DAA1EBFA0C3D256 - return this.getNodes()[0].explorer + "tx/" + object.txid - } else { - return false; - } - } - - visualize(transaction) { - if ( - typeof transaction == "object" - && transaction.length == 3 - && transaction[0] == "signAndBroadcast" - ) { - let msg = JSON.parse(transaction[2]); - - if (msg.inputs.length > 1 || msg.outputs.length > 1 || msg.outputs[0].coins.length > 1) { - return false; - } - - let from = msg.inputs[0].address; - let to = msg.outputs[0].address; - let toSend = formatAsset(msg.outputs[0].coins[0].amount, msg.outputs[0].coins[0].denom); - return `Transfer\n Sender: ${from}\n Recipient: ${to}\n Amount: ${toSend}` - } else { - return false; - } - } - - getImportOptions() { - return [ - { - type: "ImportAddressBased", - translate_key: "import_address" - } - ]; - } - -} diff --git a/src/lib/blockchains/BitShares.js b/src/lib/blockchains/BitShares.js deleted file mode 100644 index 64cae072..00000000 --- a/src/lib/blockchains/BitShares.js +++ /dev/null @@ -1,1748 +0,0 @@ -import BlockchainAPI from "./BlockchainAPI"; -import {Apis} from "bitsharesjs-ws"; -import { - Aes, - TransactionHelper, - PrivateKey, - PublicKey, - TransactionBuilder, - Signature -} from "bitsharesjs"; -import * as Socket from "simple-websocket"; - -import * as Actions from '../Actions'; - -import beautify from "./bitshares/beautify"; -import RendererLogger from "../RendererLogger"; -import { humanReadableFloat } from "../assetUtils"; -const logger = new RendererLogger(); - -/** - * Returns the value of a nested property within an object, given a string path. - * @param {Object} obj - The object to search for the property. - * @param {string} path - The string path of the property to retrieve. - * @param {*} defaultValue - The default value to return if the property is not found. - * @returns {*} The value of the property, or the default value if the property is not found. - */ -const get = (obj, path, defaultValue = undefined) => { - const result = path.split('.').reduce((res, key) => (res !== null && res !== undefined) ? res[key] : res, obj); - return result !== undefined && result !== obj ? result : defaultValue; -}; - -/** - * Splits an array into smaller arrays of a specified size. - * @param {Array} input - The array to split. - * @param {number} size - The size of each chunk. - * @returns {Array} An array of smaller arrays, each of size 'size'. - */ -const chunk = (input, size) => { - return input.reduce((arr, item, idx) => { - return idx % size === 0 - ? [...arr, [item]] - : [...arr.slice(0, -1), [...arr.slice(-1)[0], item]]; - }, []); -}; - -export default class BitShares extends BlockchainAPI { - - /* - * Signing a Bitshares NFT with the user's account. - * @param {string} key - * @param {String} nft_object - * @returns {Promise} - */ - signNFT(key, nft_object) { - return new Promise((resolve,reject) => { - let updatedObject = JSON.parse(nft_object); - updatedObject.sig_pubkey_or_address = this.getPublicKey(key); - try { - resolve({ - key: this.getPublicKey(key), - signed: updatedObject, - signature: this._signString(key, JSON.stringify(updatedObject)) - }); - } catch (error) { - console.log(error) - reject(error); - } - }); - } - - /** - * Returning the list of injectable operations - * @returns {Array} - */ - getOperationTypes() { - // No virtual operations included - return [ - // Beet based - { - id: Actions.GET_ACCOUNT, - from: '', - method: Actions.GET_ACCOUNT - }, - { - id: Actions.REQUEST_SIGNATURE, - from: '', - method: Actions.REQUEST_SIGNATURE - }, - { - id: Actions.INJECTED_CALL, - from: '', - method: Actions.INJECTED_CALL - }, - { - id: Actions.VOTE_FOR, - from: '', - method: Actions.VOTE_FOR - }, - { - id: Actions.SIGN_MESSAGE, - from: '', - method: Actions.SIGN_MESSAGE - }, - { - id: Actions.SIGN_NFT, - from: '', - method: Actions.SIGN_NFT - }, - { - id: Actions.VERIFY_MESSAGE, - from: '', - method: Actions.VERIFY_MESSAGE - }, - { - id: Actions.TRANSFER, - from: '', - method: Actions.TRANSFER - }, - // Blockchain based: - { - id: 0, - from: '', - method: "transfer" - }, - { - id: 1, - from: 'seller', - method: "limit_order_create" - }, - { - id: 2, - from: 'fee_paying_account', - method: "limit_order_cancel" - }, - { - id: 3, - from: 'funding_account', - method: "call_order_update" - }, - { - id: 5, - from: 'registrar', - method: "account_create" - }, - { - id: 6, - from: 'account', - method: "account_update" - }, - { - id: 7, - from: 'authorizing_account', - method: "account_whitelist" - }, - { - id: 8, - from: 'account_to_upgrade', - method: "account_upgrade" - }, - { - id: 9, - from: 'account_id', - method: "account_transfer" - }, - { - id: 10, - from: 'issuer', - method: "asset_create" - }, - { - id: 11, - from: 'issuer', - method: "asset_update" - }, - { - id: 12, - from: 'issuer', - method: "asset_update_bitasset" - }, - { - id: 13, - from: 'issuer', - method: "asset_update_feed_producers" - }, - { - id: 14, - from: 'issuer', - method: "asset_issue" - }, - { - id: 15, - from: 'payer', - method: "asset_reserve" - }, - { - id: 16, - from: 'from_account', - method: "asset_fund_fee_pool" - }, - { - id: 17, - from: 'account', - method: "asset_settle" - }, - { - id: 18, - from: 'issuer', - method: "asset_global_settle" - }, - { - id: 19, - from: 'publisher', - method: "asset_publish_feed" - }, - { - id: 20, - from: 'witness_account', - method: "witness_create" - }, - { - id: 21, - from: 'witness_account', - method: "witness_update" - }, - { - id: 22, - from: 'fee_paying_account', - method: "proposal_create" - }, - { - id: 23, - from: 'fee_paying_account', - method: "proposal_update" - }, - { - id: 24, - from: 'fee_paying_account', - method: "proposal_delete" - }, - { - id: 25, - from: 'withdraw_from_account', - method: "withdraw_permission_create" - }, - { - id: 26, - from: 'withdraw_from_account', - method: "withdraw_permission_update" - }, - { - id: 27, - from: 'withdraw_from_account', - method: "withdraw_permission_claim" - }, - { - id: 28, - from: 'withdraw_from_account', - method: "withdraw_permission_delete" - }, - { - id: 29, - from: 'committee_member_account', - method: "committee_member_create" - }, - { - id: 30, - from: '', - method: "committee_member_update" - }, - { - id: 31, - from: 'committee_member_account', - method: "committee_member_update_global_parameters" - }, - { - id: 32, - from: '', - method: "vesting_balance_create" - }, - { - id: 33, - from: 'owner', - method: "vesting_balance_withdraw" - }, - { - id: 34, - from: 'owner', - method: "worker_create" - }, - { - id: 35, - from: 'payer', - method: "custom" - }, - { - id: 36, - from: 'fee_paying_account', - method: "assert" - }, - { - id: 37, - from: 'deposit_to_account', - method: "balance_claim" - }, - { - id: 38, - from: 'from', - method: "override_transfer" - }, - { - id: 39, - from: 'from', - method: "transfer_to_blind" - }, - { - id: 40, - from: '', - method: "blind_transfer" - }, - { - id: 41, - from: '', - method: "transfer_from_blind" - }, - { - id: 43, - from: 'issuer', - method: "asset_claim_fees" - }, - { - id: 45, - from: 'bidder', - method: "bid_collateral" - }, - { - id: 47, - from: 'issuer', - method: "asset_claim_pool" - }, - { - id: 48, - from: 'issuer', - method: "asset_update_issuer" - }, - { - id: 49, - from: 'from', - method: "htlc_create" - }, - { - id: 50, - from: 'redeemer', - method: "htlc_redeem" - }, - { - id: 52, - from: 'update_issuer', - method: "htlc_extend" - }, - { - id: 54, - from: 'account', - method: "custom_authority_create" - }, - { - id: 55, - from: 'account', - method: "custom_authority_update" - }, - { - id: 56, - from: 'account', - method: "custom_authority_delete" - }, - { - id: 57, - from: 'account', - method: "ticket_create" - }, - { - id: 58, - from: 'account', - method: "ticket_update" - }, - { - id: 59, - from: 'account', - method: "liquidity_pool_create" - }, - { - id: 60, - from: 'account', - method: "liquidity_pool_delete" - }, - { - id: 61, - from: 'account', - method: "liquidity_pool_deposit" - }, - { - id: 62, - from: 'account', - method: "liquidity_pool_withdraw" - }, - { - id: 63, - from: 'account', - method: "liquidity_pool_exchange" - }, - { - id: 64, - from: 'owner_account', - method: "samet_fund_create" - }, - { - id: 65, - from: 'owner_account', - method: "samet_fund_delete" - }, - { - id: 66, - from: 'owner_account', - method: "samet_fund_update" - }, - { - id: 67, - from: 'borrower', - method: "samet_fund_borrow" - }, - { - id: 68, - from: 'account', - method: "samt_fund_repay" - }, - { - id: 69, - from: 'owner_account', - method: "credit_offer_create" - }, - { - id: 70, - from: 'owner_account', - method: "credit_offer_delete" - }, - { - id: 71, - from: 'owner_account', - method: "credit_offer_update" - }, - { - id: 72, - from: 'borrower', - method: "credit_offer_accept" - }, - { - id: 73, - from: 'account', - method: "credit_deal_repay" - } - ] - } - - /** - * Test a wss url for successful connection. - * @param {String} url - * @returns {Object} - */ - _testConnection(url) { - let timeoutPromise = new Promise((resolve) => { - setTimeout(() => { - resolve(null); - }, 2000); - }); - - let connectionPromise = new Promise(async (resolve, reject) => { - //console.log(`Testing: ${url}`); - let before = new Date(); - let beforeTS = before.getTime(); - - let socket = new Socket(url); - socket.on('connect', () => { - let now = new Date(); - let nowTS = now.getTime(); - socket.destroy(); - //console.log(`Success: ${url} (${nowTS - beforeTS}ms)`); - return resolve({ url: url, lag: nowTS - beforeTS }); - }); - - socket.on('error', (error) => { - //console.log(`Failure: ${url}`); - socket.destroy(); - return resolve(null); - }); - }); - - const fastestPromise = Promise.race([connectionPromise, timeoutPromise]).catch( - (error) => { - return null; - } - ); - - return fastestPromise; - } - - /** - * Test the wss nodes, return latencies and fastest url. - * @returns {Promise} - */ - async _testNodes() { - return new Promise(async (resolve, reject) => { - let urls = this.getNodes().map(node => node.url); - - let filteredURLS = urls.filter(url => { - if (!this._tempBanned || !this._tempBanned.includes(url)) { - return true; - } - }); - - return Promise.all(filteredURLS.map(url => this._testConnection(url))) - .then((validNodes) => { - let filteredNodes = validNodes.filter(x => x); - if (filteredNodes.length) { - let sortedNodes = filteredNodes.sort((a, b) => a.lag - b.lag); - let now = new Date(); - return resolve({ - node: sortedNodes[0].url, - latencies: sortedNodes, - timestamp: now.getTime() - }); - } else { - console.error("No valid BTS WSS connections established; Please check your internet connection.") - return reject(); - } - }) - .catch(error => { - console.log(error); - }) - - - }); - - } - - /* - * Fetch account/address list to warn users about - * List is maintained by the Bitshares committee - * @returns {Array} - */ - getBlockedAccounts() { - return new Promise(async (resolve, reject) => { - if (this._config.identifier === "BTS_TEST") { - console.log('testnet - no blocked accounts'); - return resolve([]); - } - - let committeeAccountDetails; - try { - committeeAccountDetails = await this.getAccount('committee-blacklist-manager'); - } catch (error) { - console.log(error); - return reject(error); - } - - if (!committeeAccountDetails) { - return reject('Committee account details not found'); - } - - let blockedAccounts = committeeAccountDetails.blacklisted_accounts; - return resolve(blockedAccounts); - }); - } - - /** - * Fetch a working node to connect to, using bitsharesws-js manager class - * Unused code - manager class failed to disconnect fast enough. - * @returns {Promise} - */ - /* - _fetchValidNode() { - return new Promise((resolve, reject) => { - let urls = this.getNodes().map(node => node.url); - - let filteredURLS = urls.filter(url => { - if (!this._tempBanned || !this._tempBanned.includes(url)) { - return true; - } - }); - - let connectionManager = new Manager({ - url: filteredURLS[0], - urls: filteredURLS, - closeCb: res => { - console.log(res); - }, - optionalApis: {enableOrders: true}, - urlChangeCallback: url => { - console.log("urlChangeCallback:", url); - } - }) - - connectionManager - .checkConnections() - .then(res => { - let urls = Object.keys(res); - let ascLagNodes = urls.map(url => { - return { url: url, lag: res[url] }; - }).sort((a, b) => a.lag - b.lag); - //console.log("best node: ", ascLagNodes[0]); - let now = new Date(); - resolve({ - node: ascLagNodes[0].url, - latencies: ascLagNodes, - timestamp: now.getTime() - }) - }) - .catch(err => { - console.log("doLatencyUpdate error", err); - reject(); - }) - }); - } - */ - - /* - * Check if the connection needs reestablished (placeholder replacement) - * @returns {Boolean} - */ - async _needsNewConnection() { - return new Promise(async (resolve, reject) => { - if ( - !this._isConnected || - !this._isConnectedToNode || - !this._nodeLatencies - ) { - return resolve(true); - } - - if (this._isTestnet()) { - let _isConnectedToTestnet = Apis.instance().url.indexOf("testnet") !== -1; - return resolve(_isConnectedToTestnet !== this._isTestnet()); - } - - let testConnection = await this._testConnection(this._isConnectedToNode); - let connectionResult = testConnection && testConnection.url ? false : true; - return resolve(connectionResult); - }); - } - - /* - * Establish a connection - * @param {String} nodeToConnect - * @param {Promise} resolve - * @param {Promise} reject - * @returns {String} - */ - _establishConnection(nodeToConnect, resolve, reject) { - if (!nodeToConnect) { - this._connectionFailed(reject, '', 'No node url') - } - - Apis.instance( - nodeToConnect, - true, - 4000, - {enableCrypto: false, enableOrders: false}, - console.log('Initial WSS Connection closed') - ).init_promise - .then((res) => { - console.log({msg: "established connection", res}) - this._connectionEstablished(resolve, nodeToConnect); - }) - .catch(error => { - console.log(error); - this._connectionFailed(reject, nodeToConnect, error) - }); - } - - /* - * Connect to the Bitshares blockchain. (placeholder replacement) - * @param {String||null} nodeToConnect - * @returns {String} - */ - _connect(nodeToConnect = null) { - return new Promise((resolve, reject) => { - - if (nodeToConnect) { - //console.log(`nodetoconnect: ${nodeToConnect}`) - return this._establishConnection(nodeToConnect, resolve, reject); - } - - if (this._isConnected && this._isConnectedToNode && !nodeToConnect) { - //console.log(`isConnected: ${this._isConnectedToNode}`) - return this._connectionEstablished(resolve, this._isConnectedToNode); - } - - let diff; - if (this._nodeCheckTime) { - let now = new Date(); - let nowTS = now.getTime(); - diff = Math.abs(Math.round((nowTS - this._nodeCheckTime) / 1000)); - } - - if (!nodeToConnect && (!this._nodeLatencies || diff && diff > 360)) { - // initializing the blockchain - return this._testNodes().then((res) => { - this._node = res.node; - this._nodeLatencies = res.latencies; - this._nodeCheckTime = res.timestamp; - console.log(`Establishing connection to ${res.node}`); - return this._establishConnection(res.node, resolve, reject); - }) - .catch(error => { - console.log(error); - return this._connectionFailed(reject, '', 'Node test fail'); - }) - } else if (!nodeToConnect && this._nodeLatencies) { - // blockchain has previously been initialized - let filteredNodes = this._nodeLatencies - .filter(item => { - if (!this._tempBanned.includes(item.url)) { - return true; - } - }); - - this._nodeLatencies = filteredNodes; - if (!filteredNodes || !filteredNodes.length) { - return this._connectionFailed(reject, '', 'No working nodes'); - } - - this._node = filteredNodes[0].url; - return this._establishConnection(filteredNodes[0].url, resolve, reject); - } - - }); - } - - /* - * Returns an array of default import options. (placeholder replacement) - * @returns {Array} - */ - getImportOptions() { - return [ - { - type: "ImportKeys", - translate_key: "import_keys" - }, - { - type: "bitshares/ImportBinFile", - translate_key: "import_bin" - }, - { - type: "bitshares/ImportCloudPass", - translate_key: "import_pass" - }, - { - type: "bitshares/ImportMemo", - translate_key: "import_only_memo" - }, - ]; - } - - /* - * Retrieve the contents of the provided account name from the blockchain API - * @param {String} accountName - * @returns {Object} parsedAccount - */ - async getAccount(accountName) { - let timeoutPromise = new Promise((resolve) => { - setTimeout(() => { - resolve(null); - }, 3000); - }); - - let timeLimitedPromise = new Promise(async (resolve, reject) => { - this.ensureConnection().then(() => { - Apis.instance() - .db_api() - .exec("get_full_accounts", [[accountName], false]) - .then(response => { - if (!response || !response.length || !response[0].length) { - console.log({ - error: 'Failed to query blockchain', - apiURL: Apis.instance().url, - response: response, - accountName: accountName - }) - return reject('Failed to query BTS blockchain'); - } - - let parsedAccount = response[0][1].account; - parsedAccount.active.public_keys = parsedAccount.active.key_auths; - parsedAccount.owner.public_keys = parsedAccount.owner.key_auths; - parsedAccount.memo = {public_key: parsedAccount.options.memo_key}; - parsedAccount.balances = response[0][1].balances; - return resolve(parsedAccount); - }) - .catch(error => { - console.log(`get_full_accounts: ${error}`); - return this._connectionFailed(reject, this._node, error) - }) - }) - .catch(error => { - console.log(`ensureConnection: ${error}`); - reject(error); - }) - }); - - const fastestPromise = Promise.race([timeLimitedPromise, timeoutPromise]).catch( - (error) => { - return null; - } - ); - - return fastestPromise; - } - - /* - * Get the associated Bitshares account name from the provided account ID - * @param {String} accountId - * @returns {String} - */ - _getAccountName(accountId) { - return new Promise((resolve, reject) => { - this.ensureConnection().then(() => { - Apis.instance().db_api().exec("get_objects", [[accountId]]).then((asset_objects) => { - if (asset_objects.length && asset_objects[0]) { - resolve(asset_objects[0].name); - } - }).catch(reject); - }).catch(reject); - }); - } - - /** - * Given an array of account IDs, retrieve their account names - * @param {Array} accountIDs - * @param {Object} - */ - _getMultipleAccountNames(accountIDs) { - return new Promise((resolve, reject) => { - this.ensureConnection().then(() => { - if (!accountIDs) { - resolve([]); - return; - } - - Apis.instance().db_api().exec("get_objects", [accountIDs, false]).then((results) => { - if (results && results.length) { - const filteredResults = results.filter(result => result !== null); - resolve(filteredResults); - return; - } - }).catch((error) => { - - console.error('Error fetching account details:', error); - reject(error) - }); - }).catch(reject); - }); - } - - /* - * Retrieve multiple asset objects from an array of asset IDs - * @param {Array} assetIDs - * @returns {Object} - */ - _resolveMultipleAssets(assetIDs) { - let timeoutPromise = new Promise((resolve) => { - setTimeout(() => { - console.log('timed out'); - resolve(null); - }, 3000); - }); - - let timeLimitedPromise = new Promise(async (resolve, reject) => { - this.ensureConnection().then(() => { - Apis.instance().db_api().exec("lookup_asset_symbols", [assetIDs]).then((asset_objects) => { - if (asset_objects && asset_objects.length) { - resolve(asset_objects); - } - }).catch((error) => { - console.log(error); - reject(error) - }); - }).catch((error) => { - console.log(error); - reject(error) - }); - }); - - const fastestPromise = Promise.race([timeLimitedPromise, timeoutPromise]).catch( - (error) => { - return null; - } - ); - - return fastestPromise; - } - - /* - * Retrieve an asset object from a provided asset symbol or ID - * @param {String} assetSymbolOrId - * @returns {Object} - */ - _resolveAsset(assetSymbolOrId) { - let timeoutPromise = new Promise((resolve) => { - setTimeout(() => { - console.log('timed out'); - resolve(null); - }, 3000); - }); - - let timeLimitedPromise = new Promise(async (resolve, reject) => { - this.ensureConnection().then(() => { - Apis.instance().db_api().exec("lookup_asset_symbols", [[assetSymbolOrId]]).then((asset_objects) => { - if (asset_objects.length && asset_objects[0]) { - resolve(asset_objects[0]); - } - }).catch((error) => { - console.log(error); - reject(error) - }); - }).catch((error) => { - console.log(error); - reject(error) - }); - }); - - const fastestPromise = Promise.race([timeLimitedPromise, timeoutPromise]).catch( - (error) => { - return null; - } - ); - - return fastestPromise; - } - - /* - * Retrieve an asset object from a provided asset symbol or ID - * @param {String} assetSymbolOrId - * @returns {Object} - */ - getAsset(assetSymbolOrId) { - let timeoutPromise = new Promise((resolve) => { - setTimeout(() => { - resolve(null); - }, 3000); - }); - - let timeLimitedPromise = new Promise(async (resolve, reject) => { - if (this._isTestnet()) { - if (assetSymbolOrId == "1.3.0") { - return resolve({ - asset_id: "1.3.0", - symbol: "TEST", - precision: 5 - }); - } else { - // TODO: Provide testnet bitshares lookup - return reject(null); - } - } - - this.ensureConnection().then(() => { - Apis.instance().db_api().exec("lookup_asset_symbols", [[assetSymbolOrId]]).then((asset_objects) => { - if (!asset_objects.length || !asset_objects[0]) { - return resolve(null); - } - - let retrievedAsset = asset_objects[0]; - return resolve({ - asset_id: retrievedAsset.id, - symbol: retrievedAsset.symbol, - precision: retrievedAsset.precision - }); - }).catch((error) => { - console.log(error); - reject(error) - }); - }).catch((error) => { - console.log(error); - reject(error) - }); - }); - - const fastestPromise = Promise.race([timeLimitedPromise, timeoutPromise]).catch( - (error) => { - return null; - } - ); - - return fastestPromise; - } - - /* - * Retrieve the Bitshares balances for the provided account name. - * @param {String} accountName - * @returns {Array} balances - */ - getBalances(accountName) { - let timeoutPromise = new Promise((resolve) => { - setTimeout(() => { - resolve(null); - }, 5000); - }); - - let timeLimitedPromise = new Promise(async (resolve, reject) => { - // getAccount has already ensureConnection - this.getAccount(accountName).then((account) => { - let neededAssets = []; - for (let i = 0; i < account.balances.length; i++) { - neededAssets.push(account.balances[i].asset_type); - } - Apis.instance().db_api().exec("get_objects", [neededAssets]).then((assets) => { - let balances = []; - for (let i = 0; i < account.balances.length; i++) { - balances[i] = { - asset_type: account.balances[i].asset_type, - asset_name: assets[i].symbol, - rawbalance: account.balances[i].balance, - balance: humanReadableFloat(account.balances[i].balance, assets[i].precision), - precision: assets[i].precision, - owner: assets[i].issuer, - prefix: assets[i].issuer == "1.2.0" ? "bit" : "" - }; - } - resolve(balances); - }); - }).catch((error) => { - console.log(error); - reject(error); - }); - }); - - const fastestPromise = Promise.race([timeLimitedPromise, timeoutPromise]).catch( - (error) => { - return null; - } - ); - - return fastestPromise; - } - - /* - * Retrieve the pubkey from a provided BTS private key - * @param {String} privateKey - * @returns {String} publicKey - */ - getPublicKey(privateKey) { - return PrivateKey.fromWif(privateKey) - .toPublicKey() - .toString(this._getCoreSymbol()); - } - - /* - * Map operational data for incoming Bitshares vote actions - * Retrieves committee members, witnesses and worker proposal objects. - * @param {Object} incoming - * @returns {Object} - */ - mapOperationData(incoming) { - return new Promise((resolve, reject) => { - this.ensureConnection().then(() => { - if (incoming.action == "vote") { - let entity_id = incoming.params.id.split("."); - if (entity_id[0] != "1") { - reject("ID format unknown"); - } - if (entity_id[1] != "5" && entity_id[1] != "6" && entity_id[1] != "14") { - reject("Given object does not support voting"); - } - Apis.instance().db_api().exec( - "get_objects", [[incoming.params.id]] - ).then(objdata => { - switch (entity_id[1]) { - case "5": - Apis.instance().db_api().exec( - "get_objects", [[objdata[0].committee_member_account]] - ).then(objextradata => { - resolve({ - entity: "committee member", - description: - "Commitee member: " + - objextradata[0].name + - "\nCommittee Member ID: " + - incoming.params.id, - vote_id: objdata[0].vote_id - }); - }).catch(error => { - console.log(error); - reject(error) - }); - break; - case "6": - Apis.instance().db_api().exec( - "get_objects", [[objdata[0].witness_account]] - ).then(objextradata => { - resolve({ - entity: "witness", - description: - "Witness: " + - objextradata[0].name + - "\nWitness ID: " + - incoming.params.id, - vote_id: objdata[0].vote_id - }); - }).catch(error => { - console.log(error); - reject(error) - }); - break; - case "14": - Apis.instance().db_api().exec( - "get_objects", [[objdata[0].worker_account]] - ).then(objextradata => { - let dailyPay = objdata[0].daily_pay / Math.pow(10, 5); - resolve({ - entity: "worker proposal", - description: - "Proposal: " + - objdata[0].name + - "\nProposal ID: " + - incoming.params.id + - "\nDaily Pay: " + - dailyPay + - "BTS\nWorker Account: " + - objextradata[0].name, - vote_id: objdata[0].vote_for - }); - }).catch(error => { - console.log(error); - reject(error) - }); - break; - } - }).catch(error => { - console.log(error); - reject(error) - }); - } - }).catch((error) => { - console.log(error); - reject(error) - }); - }); - } - - /** - * Bitshares blockchain implementation of QR code scanning - * Supported QR codes: Bitshares-ui reference QRs - * @param {Object} contents - */ - handleQR(contents) { - let parsedTransaction; - try { - parsedTransaction = this._parseTransactionBuilder(JSON.parse(contents)) - } catch (error) { - console.log(error); - return; - } - - return parsedTransaction; - } - - /** - * Bitshares supports TOTP codes - * @returns Boolean - */ - supportsTOTP() { - return true; - } - - /** - * Bitshares supports QR scanning - * @returns Boolean - */ - supportsQR() { - return true; - } - - /** - * Bitshares supports local file processing - * @returns Boolean - */ - supportsLocal() { - return true; - } - - /* - * Parse incoming and return a readied transaction builder instance - * @param {Class||Object} incoming - * @returns {Class} TransactionBuilder - */ - _parseTransactionBuilder(incoming) { - if (incoming instanceof TransactionBuilder) { - return incoming; - } else if (typeof incoming == "object" - && incoming.length > 1 - && (incoming[0] == "signAndBroadcast" || incoming[0] == "sign" || incoming[0] == "broadcast") - ) { - if (incoming.length <= 3) { - return new TransactionBuilder(JSON.parse(incoming[1])); - } else { - console.warn("This way of parsing TransactionBuilder is deprecated, use new constructor"); - let tr = new TransactionBuilder(); - tr.ref_block_num = incoming[1]; - tr.ref_block_prefix = incoming[2]; - tr.expiration = incoming[3]; - incoming[4].forEach(op => { - tr.add_operation(tr.get_type_operation(op[0], op[1])); - }); - return tr; - } - } else if (typeof incoming == "object" && incoming.operations) { - let tr = new TransactionBuilder(); - - tr.expiration = incoming.expiration; - tr.extensions = incoming.extensions; - tr.signatures = incoming.signatures; - tr.operations = incoming.operations; - - if (incoming.ref_block_num && incoming.ref_block_prefix) { - tr.ref_block_num = incoming.ref_block_num; - tr.ref_block_prefix = incoming.ref_block_prefix; - } else { - tr.finalize(); - } - - return tr; - } else if (incoming.type) { - let tr = new TransactionBuilder(); - tr.add_type_operation( - incoming.type, - incoming.data - ); - return tr; - } - throw "Reconstruction of TransactionBuilder failed"; - } - - /* - * Parse incoming and return a readied transaction builder instance - * @param {Class||Object} operation - * @param {String} key - * @returns {Class} TransactionBuilder - */ - sign(operation, key) { - return new Promise((resolve, reject) => { - this.ensureConnection().then(() => { - let tr = this._parseTransactionBuilder(operation); - Promise.all([ - tr.set_required_fees(), - tr.update_head_block() - ]).then(() => { - let privateKey = PrivateKey.fromWif(key); - tr.add_signer( - privateKey, - privateKey.toPublicKey().toPublicKeyString(this._getCoreSymbol())); - tr.finalize().then(() => { - tr.sign(); - resolve(tr); - }).catch((error) => { - console.log(error); - reject(error) - }); - }); - }).catch(error => { - console.log(error); - reject(error) - }); - }); - } - - /* - * Broadcast a transaction on the Bitshares blockchain. - * @param {Class||Object} transaction - * @returns {Object} broadcastResult - */ - broadcast(transaction) { - return new Promise((resolve, reject) => { - this.ensureConnection().then(() => { - transaction = this._parseTransactionBuilder(transaction); - transaction.broadcast().then(id => { - resolve(id); - }).catch(error => { - console.log(error); - reject(error) - }); - }).catch((error) => { - console.log(error); - reject(error) - }); - }); - } - - /* - * Retrieve operation from input data and account combination - * @param {Object} data - * @param {Object} account - * @returns {Object} - */ - getOperation(data, account) { - let timeoutPromise = new Promise((resolve) => { - setTimeout(() => { - resolve(null); - }, 5000); - }); - - let timeLimitedPromise = new Promise(async (resolve, reject) => { - this.ensureConnection().then(() => { - - if (data.action === 'vote') { - let accountID; - try { - accountID = account.accountID; - } catch (error) { - console.log(error) - } - - Apis.instance().db_api().exec("get_objects", [[accountID]]).then((accounts) => { - - let new_options = accounts[0].options; - if (new_options.votes.findIndex(item => item == data.vote_id) !== -1) { - resolve({ - vote_id: data.vote_id, - nothingToDo: true - }); - } - - new_options.votes.push(data.vote_id); - new_options.votes = new_options.votes.sort((a, b) => { - let a_split = a.split(":"); - let b_split = b.split(":"); - return ( - parseInt(a_split[1], 10) - parseInt(b_split[1], 10) - ); - }); - resolve({ - data: { - account: accountID, - new_options: new_options - }, - type: 'account_update' - }); - - }).catch(error => { - console.log(error) - reject(error); - }); - - } else { - resolve({data: data, type: 'transfer'}); - } - }).catch((error) => { - console.log(error); - reject(error) - }); - }); - - const fastestPromise = Promise.race([timeLimitedPromise, timeoutPromise]).catch( - (error) => { - return null; - } - ); - - return fastestPromise; - } - - /* - * Signs a string using a provided private key. - * @param {String} key - * @param {String} string - * @returns {String} hexString - */ - _signString(key, string) { - let signature = Signature.signBuffer( - string, - PrivateKey.fromWif(key) - ); - return signature.toHex(); - } - - /* - * Verifies that the signature is the BTS public key signed string. - * @param {String} signature (hex) - * @param {String} publicKey - * @param {String} string - * @returns {Boolean} - */ - _verifyString(signature, publicKey, string) { - let _PublicKey = PublicKey; - let sig = Signature.fromHex(signature); - let pkey = PublicKey.fromPublicKeyString(publicKey, this._getCoreSymbol()); - return sig.verifyBuffer( - string, - pkey - ); - } - - /** - * Create an encrypted memo for transfer operations - * @param {Object} from - * @param {Object} to - * @param {Object} memo - * @param {String} optionalNonce - * @param {Boolean} encryptMemo - * @returns {Object} - */ - _createMemoObject( - from, - to, - memo, - optionalNonce = null, - encryptMemo = true - ) { - let nonce = optionalNonce ?? TransactionHelper.unique_nonce_uint64(); - - return { - from: from.memo.public_key, - to: to.memo.public_key, - nonce, - message: encryptMemo - ? Aes.encrypt_with_checksum( - PrivateKey.fromWif(memo.key), - to.memo.public_key, - nonce, - memo.memo - ) - : Buffer.isBuffer(memo) - ? memo.toString("utf-8") - : memo.memo - }; - } - - /* - * Broadcast a transfer operation on the Bitshares blockchain. - * @param {String} key - * @param {String} from - * @param {String} to - * @param {String} amount - * @param {String} memo - * @returns {Object} transfer result - */ - async transfer( - key, - from, - to, - amount, - memo = null, - optionalNonce = null, - encryptMemo = true - ) { - if (!amount.amount || !amount.asset_id) { - throw "Amount must be a dict with amount and asset_id as keys" - } - - try { - from = await this.getAccount(from); - } catch (error) { - console.log(error); - } - - try { - to = await this.getAccount(to); - } catch (error) { - console.log(error); - } - - let memoObject; - if (memo) { - try { - memoObject = this._createMemoObject( - from, - to, - memo, - optionalNonce, - encryptMemo - ); - } catch (error) { - console.log(error); - } - } - - let transaction; - try { - transaction = await this.sign( - { - type: "transfer", - data: { - fee: { - amount: 0, - asset_id: "1.3.0" - }, - from: from.id, - to: to.id, - amount: amount, - memo: memoObject ?? undefined - } - }, - key - ); - } catch (error) { - console.log(error); - throw "Could not sign operation with Bitshares key"; - } - - let broadcastResult; - try { - broadcastResult = await this.broadcast(transaction); - } catch (error) { - console.log(error); - throw "Could not broadcast signed Bitshares transaction"; - } - - return broadcastResult - } - - /* - * Return an appropriate Bitshares blockchain explorer link. - * Warning: Opens dangerously, be cautious adding alt explorers. - * @param {Object} object - * @returns {String} - */ - getExplorer(object) { - if (object.accountName) { - return "https://blocksights.info/#/accounts/" + object.accountID; - } else if (object.opid) { - // 1.11.833380474 - return "https://blocksights.info/#/operations/" + object.opid; - } else if (object.txid) { - // e94404a94b4bb160601241ffb78ad0e615a9636b - return "https://blocksights.info/#/txs/" + object.txid; - } else { - return false; - } - } - - /* - * Returns the required keys for sign up input forms - * @returns {Object} - */ - getSignUpInput() { - return { - active: false, - memo: true, - owner: false - } - } - - /* - * Returns the remaining nodes sorted by asc latency - * @returns {Array} - */ - getLatencies() { - return this._nodeLatencies ?? []; - } - - /* - * Returns a visualization for the input data. - * TODO: Requires refactor - * @param {String||Class||Object} thing - * @returns {String} - */ - async visualize(thing) { - if (typeof thing == "string" && thing.startsWith("1.2.")) { - return await this._getAccountName(thing); - } - - if (!thing) { - console.log('Nothing to visualize'); - return; - } - - let tr; - try { - tr = await this._parseTransactionBuilder(thing); - } catch (error) { - console.log(error); - return; - } - - // iterate over to get the operations - // summarize the details we need to query from the blockchain - // try to reduce duplicate calls - let accountsToFetch = []; - let assetsToFetch = []; - for (let i = 0; i < tr.operations.length; i++) { - let operation = tr.operations[i]; - const op = operation[1]; - const idKeys = [ - "from", - "from_account", - "to", - "witness_account", - "fee_paying_account", - "funding_account", - "seller", - "registrar", - "referrer", - "account", - "authorizing_account", - "account_to_list", - "account_to_upgrade", - "account_id", - "issuer", - "issue_to_account", - "payer", - "publisher", - "fee_paying_account", - "authorized_account", - "withdraw_from_account", - "committee_member_account", - "creator", - "owner", - "owner_account", - "new_owner", - "deposit_to_account", - "bidder", - "new_issuer", - "redeemer", - "update_issuer", - "borrower" - ]; - - const assetKeys = [ - "amount.asset_id", - "min_to_receive.asset_id", - "amount_to_sell.asset_id", - "delta_collateral.asset_id", - "delta_debt.asset_id", - "asset_to_update", - "new_options.short_backing_asset", - "asset_to_issue.asset_id", - "asset_to_reserve.asset_id", - "asset_id", - "asset_to_settle", - "settle_price.base.asset_id", - "settle_price.quote.asset_id", - "withdrawal_limit.asset_id", - "asset_to_withdraw.asset_id", - "amount_to_claim.asset_id", - "additional_collateral.asset_id", - "debtCovered.asset_id", - "amount_for_new_target.asset_id", - "asset_a", - "asset_b", - "share_asset", - "amount_a.asset_id", - "amount_b.asset_id", - "share_amount.asset_id", - "amount_to_sell.asset_id", - "min_to_receive.asset_id", - "delta_amount.asset_id", - "borrow_amount.asset_id", - "repay_amount.asset_id", - "fund_fee.asset_id", - "collateral.asset_id", - "credit_fee.asset_id" - ] - - for (let k = 0; k < idKeys.length; k++) { - const id = get(op, idKeys[k]); - if (id && !accountsToFetch.includes(id)) { - accountsToFetch.push(id); - } - } - - for (let z = 0; z < assetKeys.length; z++) { - const id = get(op, assetKeys[z]); - if (id && !assetsToFetch.includes(id)) { - assetsToFetch.push(id); - } - } - } - - let accountResults = []; - let accountBatches = chunk(accountsToFetch, 100); - for (let i = 0; i < accountBatches.length; i++) { - let fetchedAccountNames; - try { - fetchedAccountNames = await this._getMultipleAccountNames(accountBatches[i]) - } catch (error) { - console.log(error) - } - - if (fetchedAccountNames && fetchedAccountNames.length) { - let finalNames = fetchedAccountNames.map((user) => { - return {id: user.id, accountName: user.name} - }); - - accountResults.push(...finalNames); - } - } - - let assetResults = []; - let assetBatches = chunk( - assetsToFetch, - this._isTestnet() ? 9 : 49 - ); - for (let i = 0; i < assetBatches.length; i++) { - let fetchedAssets; - try { - fetchedAssets = await this._resolveMultipleAssets(assetBatches[i]) - } catch (error) { - console.log(error) - } - - if (fetchedAssets && fetchedAssets.length) { - assetResults.push(...fetchedAssets) - } - } - - let beautifiedOpPromises = []; - // https://github.com/bitshares/bitsharesjs/blob/master/lib/serializer/src/operations.js#L1551 - for (let i = 0; i < tr.operations.length; i++) { - let operationArray = tr.operations[i]; // extract operation i from transaction - const opType = operationArray[0]; // type id - const opContents = operationArray[1]; // operation object - const btsOperationTypes = this.getOperationTypes(); - - let relevantOperationType = btsOperationTypes.find((op) => op.id === opType); - beautifiedOpPromises.push( - beautify( - accountResults, // fetched accounts - assetResults, // fetched assets - opContents, - operationArray, - opType, - relevantOperationType - ) - ); - } - - return Promise.all(beautifiedOpPromises).then((operations) => { - if (operations.some(op => !Object.prototype.hasOwnProperty.call(op, 'rows'))) { - console.log({ - invalid: operations.filter(op => !Object.prototype.hasOwnProperty.call(op, 'rows')), - valid: operations.filter(op => Object.prototype.hasOwnProperty.call(op, 'rows')) - }); - throw new Error("There's an issue with the format of an operation!") - } - return operations; - }).catch((error) => { - console.log(error); - }); - } - -} \ No newline at end of file diff --git a/src/lib/blockchains/Bitcoin.js b/src/lib/blockchains/Bitcoin.js deleted file mode 100644 index 35960197..00000000 --- a/src/lib/blockchains/Bitcoin.js +++ /dev/null @@ -1,312 +0,0 @@ -import BlockchainAPI from "./BlockchainAPI"; -import RendererLogger from "../RendererLogger"; -const logger = new RendererLogger(); - -import * as bitcoin from "bitcoinjs-lib"; - -import {formatAsset} from "../assetUtils"; - -export default class Bitcoin extends BlockchainAPI { - - // https://github.com/steemit/steem-js/tree/master/doc#broadcast-api - - _connect(nodeToConnect) { - return new Promise((resolve, reject) => { - if (nodeToConnect == null) { - nodeToConnect = this.getNodes()[0].url; - } - this._connectionEstablished(resolve, nodeToConnect); - }); - } - - _getAddressURL() { - return this.getNodes()[0].url; - } - - _getPushURL() { - return this.getNodes()[0].push; - } - - getAccount(accountname) { - return new Promise((resolve, reject) => { - this.ensureConnection().then(() => { - fetch(this._getAddressURL() + accountname).then(result => { - result.json().then(result => { - let account = {}; - account.active = {}; - account.owner = {}; - //if (!!this._lastPublicKey) { - account.active.public_keys = [[accountname, 1]]; - // if (this._publicKeyToAddress(this._lastPublicKey) !== accountname) { - // reject("Public key not matching"); - // } - //} else { - // reject("No public key found!"); - //} - account.owner.public_keys = []; - account.memo = {public_key: null}; - account.id = accountname; - - account.raw = result; - - resolve(account); - }).catch(reject); - }).catch(reject); - }).catch(reject); - }); - } - - _publicKeyToAddress(publicKey) { - let _bitcoin = bitcoin; - let publicKeyBuffer = Buffer.from(publicKey, 'hex') - let options = {}; - if (this._config.testnet) { - options.network = bitcoin.networks.testnet; - } - let keyPair = this._getKeyPairFromPublic(publicKeyBuffer); - options.pubkey = keyPair.publicKey; - const { address } = bitcoin.payments.p2pkh(options); - return address; - } - - getPublicKey(privateKey) { - const keyPair = this._getKeyPairFromWif(privateKey); - this._lastPublicKey = keyPair.publicKey.toString("hex"); - return keyPair.publicKey.toString("hex"); - } - - getBalances(accountName) { - return new Promise((resolve, reject) => { - this.getAccount(accountName).then((account) => { - let balances = []; - balances.push({ - asset_type: "Core", - asset_name: this._getCoreSymbol(), - balance: formatAsset(parseFloat(account.raw.total_received - account.raw.total_sent), "BTC", null, false), - owner: "-", - prefix: "" - }); - resolve(balances); - }); - }); - } - - getAccessType() { - return "address"; - } - - getSignUpInput() { - return { - active: true - } - } - - sign(operation, key) { - return new Promise((resolve, reject) => { - reject("Not supported yet"); - }); - } - - async broadcast(transaction) { - if (typeof transaction == "object" && !!transaction.build) { - let hex = transaction.build().toHex(); - let payload = null; - if (this._config.testnet) { - payload = {hex: hex} - } else { - payload = {tx: hex} - } - let result = await fetch(this._getPushURL(), - { - method: 'POST', - headers: { - 'Accept': 'application/json', - 'Content-Type': 'application/json' - }, - body: JSON.stringify(payload) - } - ); - if (result.status != 200) { - throw result - } - let json = await result.json(); - if (json.success) { - return json; - } else { - throw json; - } - } else { - throw "Not supported"; - } - } - - getOperation(data, account) { - return new Promise((resolve, reject) => { - reject("Not supported"); - }); - } - - mapOperationData(incoming) { - return new Promise((resolve, reject) => { - reject("Not supported"); - }); - } - - _signString(key, string) { - const keyPair = this._getKeyPairFromWif(key); - let hash = bitcoin.crypto.sha256(string); - let signature = keyPair.sign(hash); - return signature.toString("hex"); - } - - _getKeyPairFromWif(key) { - let network = undefined; - if (this._config.testnet) { - network = bitcoin.networks.testnet; - } - return bitcoin.ECPair.fromWIF(key, network); - } - - _getKeyPairFromPublic(publicKeyBuffer) { - let options = {}; - if (this._config.testnet) { - options.network = bitcoin.networks.testnet; - } - return bitcoin.ECPair.fromPublicKey(publicKeyBuffer, options); - } - - _verifyString(signature, publicKey, string) { - let publicKeyBuffer = Buffer.from(publicKey, 'hex') - let keyPair = this._getKeyPairFromPublic(publicKeyBuffer); - let hash = bitcoin.crypto.sha256(string); - return keyPair.verify(hash, Buffer.from(signature, 'hex')); - } - - _compareKeys(key1, key2) { - return key1 === this._publicKeyToAddress(key2); - } - - _verifyAccountAndKey(accountName, publicKey, permission = null) { - return super._verifyAccountAndKey(accountName, this._publicKeyToAddress(publicKey), permission = null); - } - - async transfer(key, from, to, amount, memo = null, broadcast = true) { - let account = await this.getAccount(from); - - let unspent = []; - account.raw.txs.forEach(_item => { - _item.out.forEach(_tmp => { - if (!_tmp.spent && _tmp.addr == from) { - _tmp.txhash = _item.hash; - unspent.push(_tmp); - } - }); - }); - - let feePerByte = (await (await fetch("https://bitcoinfees.earn.com/api/v1/fees/recommended")).json()).halfHourFee; - - let network = undefined; - if (this._config.testnet) { - network = bitcoin.networks.testnet; - } - const txb = new bitcoin.TransactionBuilder(network); - - let total_input = 0; - - unspent.forEach(out => { - if (total_input >= amount) { - return; - } - txb.addInput(out.txhash, out.n); - total_input = total_input + out.value; - }); - - if (total_input < amount.amount) { - throw {key: "insufficient_balance"}; - } - - - let total_output = amount.amount; - txb.addOutput(to, amount.amount); - - let estimate = await this._estimateFee(txb); - let free = total_input - amount.amount; - if (free <= estimate.lower + (estimate.upper - estimate.lower)*2.5) { - // no sense in adding another output, pay more fee for a quicker transaction rather than - // getting this one stuck or creating outputs that are not worth being processed - } else { - let overspent = free - estimate.upper; - txb.addOutput(from, overspent); - total_output = total_output + overspent; - } - - const keyPair = this._getKeyPairFromWif(key); - unspent.forEach((item, index) => { - txb.sign(index, keyPair); - }); - - txb.total_output = total_output; - txb.total_input = total_input; - - let feeInSatoshis = await this._getFee(txb); - - if (!broadcast) { - return { - transaction: txb, - feeInSatoshis: feeInSatoshis - }; - } else { - return this.broadcast(txb); - } - } - - async _estimateFee(transaction) { - let feePerByte = (await (await fetch("https://bitcoinfees.earn.com/api/v1/fees/recommended")).json()).halfHourFee; - let sizeInBytes = transaction.buildIncomplete().virtualSize(); - let countInAndOut = transaction.__tx.ins.length + transaction.__tx.outs.length; - return { - lower: feePerByte*sizeInBytes, - upper: feePerByte*sizeInBytes/countInAndOut*(countInAndOut+1), - }; - } - - async _getFee(transaction) { - let fee = transaction.total_input - transaction.total_output; - let estimated = await this._estimateFee(transaction).lower; - if (fee > estimated*1.2) { - throw "Fee is too high"; - } - return { - satoshis: fee, - asset_id: "BTC" - }; - } - - supportsFeeCalculation() { - return true; - } - - getExplorer(object) { - if (object.accountName) { - if (this._config.testnet) { - return "https://testnet.blockexplorer.com/address/" + object.accountName - } else { - return "https://www.blockchain.com/btc/address/" + object.accountName - } - } else if (object.txid) { - return "https://testnet.blockexplorer.com/tx/" + object.txid - } else { - return false; - } - } - - getImportOptions() { - return [ - { - type: "ImportAddressBased", - translate_key: "import_address" - } - ]; - } - -} diff --git a/src/lib/blockchains/EOSmainnet.js b/src/lib/blockchains/EOSmainnet.js index ca9eb114..3b5fa959 100644 --- a/src/lib/blockchains/EOSmainnet.js +++ b/src/lib/blockchains/EOSmainnet.js @@ -10,8 +10,6 @@ import { TextEncoder, TextDecoder } from "util"; export default class EOS extends BlockchainAPI { - // https://github.com/steemit/steem-js/tree/master/doc#broadcast-api - _connect(nodeToConnect) { return new Promise((resolve, reject) => { if (nodeToConnect == null) { diff --git a/src/lib/blockchains/Steem.js b/src/lib/blockchains/Steem.js deleted file mode 100644 index 4edfb692..00000000 --- a/src/lib/blockchains/Steem.js +++ /dev/null @@ -1,39 +0,0 @@ -import SteemBasedChain from "./SteemBasedChain"; - -import steem from "steem"; -import Signature from "steem/lib/auth/ecc/src/signature"; -import KeyPrivate from "steem/lib/auth/ecc/src/key_private"; -import PublicKey from "steem/lib/auth/ecc/src/key_public"; - -export default class Steem extends SteemBasedChain { - - // https://github.com/steemit/steem-js/tree/master/doc#broadcast-api - - _getSignature() { - return Signature; - } - - _getPrivateKey() { - return KeyPrivate; - } - - _getPublicKey() { - return PublicKey; - } - - _getLibrary() { - return steem; - } - - getExplorer(object) { - if (object.accountName) { - return "https://steemblockexplorer.com/@" + object.accountName; - } else if (object.txid) { - // d52a49b9c5a76f95f32099bf387390e78ad02a65 - return "https://steemblockexplorer.com/tx/" + object.txid; - } else { - return false; - } - } - -} diff --git a/src/lib/blockchains/SteemBasedChain.js b/src/lib/blockchains/SteemBasedChain.js deleted file mode 100644 index a1e476b9..00000000 --- a/src/lib/blockchains/SteemBasedChain.js +++ /dev/null @@ -1,273 +0,0 @@ -import BlockchainAPI from "./BlockchainAPI"; - -export default class SteemBasedChain extends BlockchainAPI { - - _connect(nodeToConnect) { - return new Promise((resolve, reject) => { - if (nodeToConnect == null) { - nodeToConnect = this.getNodes()[0].url; - } - // steem library handles connection internally, just set node - this._getLibrary().api.setOptions({ url: nodeToConnect }); - this._connectionEstablished(resolve, nodeToConnect); - }); - } - - getAccount(accountname) { - return new Promise((resolve, reject) => { - this.ensureConnection().then(() => { - this._getLibrary().api.getAccounts([accountname], function(err, result) { - if (result.length == 0) { - reject("Account " + accountname + " not found!"); - return; - } - result[0].active.public_keys = result[0].active.key_auths; - result[0].owner.public_keys = result[0].owner.key_auths; - result[0].memo = {public_key: result[0].memo_key}; - resolve(result[0]); - }); - }).catch(reject); - }); - } - - getPublicKey(privateKey) { - return this._getLibrary().auth.wifToPublic(privateKey); - } - - getBalances(accountName) { - return new Promise((resolve, reject) => { - this.ensureConnection().then(() => { - this.getAccount(accountName).then((account) => { - let balances = []; - balances.push({ - asset_type: "Core", - asset_name: this._getCoreSymbol(), - balance: parseFloat(account.balance), - owner: "-", - prefix: "" - }); - balances.push({ - asset_type: "UIA", - asset_name: "VESTS", - balance: parseFloat(account.vesting_shares), - owner: "-", - prefix: "" - }); - balances.push({ - asset_type: "UIA", - asset_name: "SDB", - balance: parseFloat(account.sbd_balance), - owner: "-", - prefix: "" - }); - balances.push({ - asset_type: "UIA", - asset_name: "SP", - balance: parseFloat(account.reward_vesting_steem), - owner: "-", - prefix: "" - }); - resolve(balances); - }); - }).catch(reject); - }); - } - - sign(operation, key) { - return new Promise((resolve, reject) => { - this.ensureConnection().then(() => { - if (operation.type) { - switch (operation.type) { - case 'vote': { - // do actual transaction building - operation.wif = key; - resolve(operation); - break; - } - default: - operation.wif = key; - resolve(operation); - } - } else { - if (typeof operation == "object" - && operation.length > 2 - && operation[1] == "inject_wif") { - operation[1] = key; - resolve(operation); - } else { - reject("Unknown sign request"); - } - } - - }).catch(err => reject(err)); - }); - } - - broadcast(transaction) { - return new Promise((resolve, reject) => { - this.ensureConnection().then(() => { - if (transaction.type) { - switch (transaction.type) { - case 'vote': { - if (transaction.data.author) { - this._getLibrary().broadcast.vote( - transaction.wif, - transaction.data.username, - transaction.data.author, - transaction.data.permlink, - transaction.data.weight, - (err, result) => { - resolve(result); - } - ); - } else { - this._getLibrary().broadcast.accountWitnessVote( - transaction.wif, - transaction.data.username, - transaction.data.witness, - transaction.data.approve, - (err, result) => { - resolve(result); - } - ); - } - break; - } - case "customJSON": { - this._getLibrary().broadcast.customJson( - transaction.wif, //transaction.wif, - transaction.data.requiredAuths, - transaction.data.requiredPostingAuths, - transaction.data.id, - transaction.data.json, - (err, result) => { - resolve(result); - } - ); - break; - } - default: { - reject("not broadcast") - } - } - } else { - if (typeof transaction == "object" - && transaction.length > 3 - && typeof transaction[0] == "string") { - let operationName = transaction.shift(); - this._getLibrary().broadcast[operationName]( - ...transaction, - (err, result) => { - if (err) { - reject(err); - } else { - resolve(result); - } - } - ); - } else { - reject("Unknown broadcast request"); - } - - } - - }).catch(err => reject(err)); - }); - } - - getOperation(data, account) { - return new Promise((resolve, reject) => { - this.ensureConnection().then(() => { - switch (data.action) { - case 'vote': { - if (data.params.author) { - resolve({ - type: "vote", - data: { - username: account.name, - author: data.params.author, - permlink: data.params.permlink, - weight: data.params.weight - } - }); - } else { - resolve({ - type: "vote", - data: { - username: account.name, - witness: data.params.witness, - approve: data.params.approve - } - }); - } - } - } - }); - }); - } - - mapOperationData(incoming) { - return new Promise((resolve, reject) => { - this.ensureConnection().then(() => { - if (incoming.action == "vote") { - if (incoming.params.author) { - resolve({ - entity: "Post", - description: - "Author: " + incoming.params.author + - "\nPost: " + incoming.params.permlink + - "\nWeight: " + incoming.params.weight, - vote: incoming.params - }); - } else { - resolve({ - entity: "Witness", - description: - "Account Name: " + incoming.params.witness + - "\nApprove: " + incoming.params.approve, - vote: incoming.params - }); - } - } - }); - }); - } - - _signString(key, string) { - let signature = this._getSignature().signBuffer( - string, - this._getPrivateKey().fromWif(key) - ); - return signature.toHex(); - } - - _verifyString(signature, publicKey, string) { - return this._getSignature().fromHex(signature).verifyBuffer( - string, - this._getPublicKey().fromStringOrThrow(publicKey) - ); - } - - transfer(key, from, to, amount, memo = null) { - return new Promise((resolve, reject) => { - this.ensureConnection().then(() => { - this._getLibrary().broadcast.transfer( - key, - from, - to, - amount, - memo, - (err, result) => { - if (err) { - reject(err); - } else { - resolve(result); - } - } - ); - }); - }); - } - - -} diff --git a/src/lib/blockchains/TUSC.js b/src/lib/blockchains/TUSC.js deleted file mode 100644 index ce424a6a..00000000 --- a/src/lib/blockchains/TUSC.js +++ /dev/null @@ -1,68 +0,0 @@ -import BitShares from "./BitShares"; -//import {Apis} from "bitsharesjs-ws"; - -export default class TUSC extends BitShares { - - /* - _connect(nodeToConnect = null) { - return new Promise((resolve, reject) => { - if (nodeToConnect == null) { - nodeToConnect = this.getNodes()[0].url; - } - if (this._isConnected) { - Apis.close().then(() => { - this._isConnected = false; - Apis.instance( - nodeToConnect, - true, - 10000, - {enableCrypto: false, enableOrders: false}, - // no use in firing reject because it might happen at any time in the future after connecting! - this._connectionFailed.bind(this, null, nodeToConnect, "Connection closed") - ).init_promise.then(() => { - this._connectionEstablished(resolve, nodeToConnect); - }).catch(this._connectionFailed.bind(this, reject, nodeToConnect)); - }); - } else { - Apis.instance( - nodeToConnect, - true, - 10000, - {enableCrypto: false, enableOrders: false}, - // no use in firing reject because it might happen at any time in the future after connecting! - this._connectionFailed.bind(this, null, nodeToConnect, "Connection closed") - ).init_promise.then(() => { - this._connectionEstablished(resolve, nodeToConnect); - }).catch(this._connectionFailed.bind(this, reject, nodeToConnect)); - } - }); - } - - _needsNewConnection() { - if (this._isConnected) { - // is this tusc node? - if (Apis.instance().url.indexOf("testnet") === -1) { - return true; - } - } - return super._needsNewConnection(); - } - */ - - getAsset(assetSymbolOrId) { - if (assetSymbolOrId == "1.3.0") { - return { - asset_id: "1.3.0", - symbol: "TUSC", - precision: 5 - }; - } else { - return null; - } - } - - getExplorer(object) { - return "https://wallet.tusc.network/wallet/explorer"; - } - -} diff --git a/src/lib/blockchains/WhaleShares.js b/src/lib/blockchains/WhaleShares.js deleted file mode 100644 index a45289db..00000000 --- a/src/lib/blockchains/WhaleShares.js +++ /dev/null @@ -1,33 +0,0 @@ -import SteemBasedChain from "./SteemBasedChain"; - -import wlsjs from "@whaleshares/wlsjs"; -import Signature from "@whaleshares/wlsjs/lib/auth/ecc/src/signature"; -import KeyPrivate from "@whaleshares/wlsjs/lib/auth/ecc/src/key_private"; -import PublicKey from "@whaleshares/wlsjs/lib/auth/ecc/src/key_public"; - -export default class WhaleShares extends SteemBasedChain { - - _getSignature() { - return Signature; - } - - _getPrivateKey() { - return KeyPrivate; - } - - _getPublicKey() { - return PublicKey; - } - - _getLibrary() { - return wlsjs; - } - - getExplorer(object) { - if (object.accountName) { - return "https://whaleshares.io/whalesharesexplorer/#account/" + object.accountName; - } else { - return false; - } - } -} diff --git a/src/lib/blockchains/bitshares/BTSWalletHandler.js b/src/lib/blockchains/bitshares/BTSWalletHandler.js deleted file mode 100644 index cb69bd03..00000000 --- a/src/lib/blockchains/bitshares/BTSWalletHandler.js +++ /dev/null @@ -1,174 +0,0 @@ -import { - PrivateKey, - PublicKey, - Aes -} from "bitsharesjs"; -import { - decompress -} from "lzma"; -import { - Apis -} from "bitsharesjs-ws"; - -import getBlockchainAPI from "../blockchainFactory"; -import store from '../../../store/index.js'; - -class BTSWalletHandler { - - constructor(backup) { - this.wallet_buffer = Buffer.from(backup, "binary"); - } - unlock(wallet_pass) { - try { - this.wallet_pass = wallet_pass; - let private_key = PrivateKey.fromSeed(this.wallet_pass); - let public_key = PublicKey.fromBuffer(this.wallet_buffer.slice(0, 33)); - this.wallet_buffer = this.wallet_buffer.slice(33); - this.wallet_buffer = Aes.decrypt_with_checksum( - private_key, - public_key, - null /*nonce*/ , - this.wallet_buffer - ); - let wallet_string = decompress(this.wallet_buffer); - this.wallet_object = JSON.parse(wallet_string); - let password_aes = Aes.fromSeed(this.wallet_pass); - let encryption_plainbuffer = password_aes.decryptHexToBuffer( - this.wallet_object.wallet[0].encryption_key - ); - this.aes_private = Aes.fromSeed(encryption_plainbuffer); - this.keypairs = []; - for (let i = 0; i < this.wallet_object.private_keys.length; i++) { - let private_key_hex = this.aes_private.decryptHex( - this.wallet_object.private_keys[i].encrypted_key - ); - let pkey = PrivateKey.fromBuffer(Buffer.from(private_key_hex, "hex")); - let keypair = { - 'priv': pkey.toWif(), - 'pub': this.wallet_object.private_keys[i].pubkey - }; - this.keypairs.push(keypair); - } - this.public = []; - this.keypairs.forEach(keypair => { - this.public.push(keypair.pub); - }); - return true; - } catch (e) { - throw new Error('Could not decrypt wallet'); - } - } - - async lookupAccounts() { - - let blockchain = getBlockchainAPI('BTS'); - await blockchain.ensureConnection().then((connectedNode) => { - store.dispatch("SettingsStore/setNode", { - chain: 'BTS', - node: connectedNode - }); - }); - let account_ids = await Apis.instance() - .db_api() - .exec("get_key_references", [this.public]) - .then(res => { - return res; - }); - this.accounts = new Set(); - for (let i = 0; i < account_ids.length; i++) { - for (let j = 0; j < account_ids[i].length; j++) { - this.accounts.add(account_ids[i][j]); - } - } - let refs = []; - this.accounts.forEach((account) => { - refs.push( - Apis.instance() - .db_api() - .exec("get_account_references", [account]) - .then(res => { - if (res.length > 0) { - res.forEach((ref) => { - this.accounts.add(ref); - }) - } - }) - ); - }); - await Promise.all(refs); - let accounts = Array.from(this.accounts); - let account_matrix = await Apis.instance() - .db_api() - .exec("get_accounts", [accounts]) - .then(res => { - return this.buildMatrix(res); - }); - return account_matrix; - } - buildMatrix(account_data) { - let account_matrix = []; - let active_controlled_accounts = []; - let owner_controlled_accounts = []; - for (let i = 0; i < account_data.length; i++) { - let account_details = { - 'id': account_data[i].id, - 'name': account_data[i].name - }; - let active = {}; - let importable = false; - //Check active - active.availWeight = 0; - active.canPropose = false; - for (let j = 0; j < account_data[i].active.key_auths.length; j++) { - if (this.public.includes(account_data[i].active.key_auths[j][0])) { - active.canPropose = true; - active.availWeight = active.availWeight + account_data[i].active.key_auths[j][1]; - if (account_data[i].active.key_auths[j][1] >= account_data[i].active.weight_threshold) { - importable = true; - active.key = this.keypairs.filter(x => x.pub == account_data[i].active.key_auths[j][0])[0].priv; - } - } - } - if (active.availWeight >= account_data[i].active.weight_threshold) { - active.canTransact = true; - active_controlled_accounts.push(account_data[i].id); - } else { - active.canTransact = false; - } - account_details.active = active; - - let owner = {} - //Check owner - owner.availWeight = 0; - owner.canPropose = false; - for (let j = 0; j < account_data[i].owner.key_auths.length; j++) { - if (this.public.includes(account_data[i].owner.key_auths[j][0])) { - owner.canPropose = true; - owner.availWeight = owner.availWeight + account_data[i].owner.key_auths[j][1]; - if (account_data[i].owner.key_auths[j][1] >= account_data[i].owner.weight_threshold) { - owner.key = this.keypairs.filter(x => x.pub == account_data[i].owner.key_auths[j][0])[0].priv; - } - } - } - if (owner.availWeight >= account_data[i].owner.weight_threshold) { - owner.canTransact = true; - owner_controlled_accounts.push(account_data[i].id); - } else { - owner.canTransact = false; - } - account_details.owner = owner; - - let memo = {}; - memo.canSend = false; - if (this.public.includes(account_data[i].options.memo_key)) { - memo.key = this.keypairs.filter(x => x.pub == account_data[i].options.memo_key)[0].priv; - memo.canSend = true; - } - account_details.importable = importable; - account_details.memo = memo; - account_matrix[i] = account_details; - } - return account_matrix; - } -} -export default BTSWalletHandler; diff --git a/src/lib/blockchains/bitshares/beautify.js b/src/lib/blockchains/bitshares/beautify.js deleted file mode 100644 index 24fca1d3..00000000 --- a/src/lib/blockchains/bitshares/beautify.js +++ /dev/null @@ -1,1607 +0,0 @@ -import {formatAsset, humanReadableFloat} from "../../assetUtils"; - -const permission_flags = { - charge_market_fee: 0x01 /**< an issuer-specified percentage of all market trades in this asset is paid to the issuer */, - white_list: 0x02 /**< accounts must be whitelisted in order to hold this asset */, - override_authority: 0x04 /**< issuer may transfer asset back to himself */, - transfer_restricted: 0x08 /**< require the issuer to be one party to every transfer */, - disable_force_settle: 0x10 /**< disable force settling */, - global_settle: 0x20 /**< allow the bitasset issuer to force a global settling -- this may be set in permissions, but not flags */, - disable_confidential: 0x40 /**< allow the asset to be used with confidential transactions */, - witness_fed_asset: 0x80 /**< allow the asset to be fed by witnesses */, - committee_fed_asset: 0x100 /**< allow the asset to be fed by the committee */, - lock_max_supply: 0x200, ///< the max supply of the asset can not be updated - disable_new_supply: 0x400, ///< unable to create new supply for the asset - disable_mcr_update: 0x800, ///< the bitasset owner can not update MCR, permission only - disable_icr_update: 0x1000, ///< the bitasset owner can not update ICR, permission only - disable_mssr_update: 0x2000, ///< the bitasset owner can not update MSSR, permission only - disable_bsrm_update: 0x4000, ///< the bitasset owner can not update BSRM, permission only - disable_collateral_bidding: 0x8000 ///< Can not bid collateral after a global settlement -}; - -const uia_permission_mask = [ - "charge_market_fee", - "white_list", - "override_authority", - "transfer_restricted", - "disable_confidential" -]; - -/** - * - * @param {String} mask - * @param {Boolean} isBitAsset - * @returns Object - */ -function getFlagBooleans(mask, isBitAsset = false) { - let booleans = { - charge_market_fee: false, - white_list: false, - override_authority: false, - transfer_restricted: false, - disable_force_settle: false, - global_settle: false, - disable_confidential: false, - witness_fed_asset: false, - committee_fed_asset: false, - lock_max_supply: false, - disable_new_supply: false, - disable_mcr_update: false, - disable_icr_update: false, - disable_mssr_update: false, - disable_bsrm_update: false, - disable_collateral_bidding: false - }; - - if (mask === "all") { - for (let flag in booleans) { - if ( - !isBitAsset && - uia_permission_mask.indexOf(flag) === -1 - ) { - delete booleans[flag]; - } else { - booleans[flag] = true; - } - } - return booleans; - } - - for (let flag in booleans) { - if ( - !isBitAsset && - uia_permission_mask.indexOf(flag) === -1 - ) { - delete booleans[flag]; - } else { - if (mask & permission_flags[flag]) { - booleans[flag] = true; - } - } - } - - return booleans; -} - -/** - * - * @param {Array} accountResults - * @param {Array} assetResults - * @param {Object} opContents - * @param {Array} operationArray // [0, {...}] - * @param {Number} opType - * @param {*} relevantOperationType - * @returns - */ -export default async function beautify( - accountResults, // fetched accounts - assetResults, // fetched assets - opContents, - operationArray, - opType, - relevantOperationType -) { - const currentOperation = { - title: `operations.injected.BTS.${relevantOperationType.method}.title`, - opType: opType, - method: relevantOperationType.method, - op: opContents, - operation: operationArray - }; - - if (opType == 0) { - // transfer - let from = accountResults.find((resAcc) => resAcc.id === opContents.from); - let to = accountResults.find((resAcc) => resAcc.id === opContents.to); - let asset = assetResults.find((assRes) => assRes.id === opContents.amount.asset_id); - - if (from && to && asset) { - currentOperation['rows'] = [ - {key: 'from', params: {from: from.accountName, opFrom: opContents.from}}, - {key: 'to', params: {to: to.accountName, opTo: opContents.to}}, - {key: 'amount', params: {amount: formatAsset(opContents.amount.amount, asset.symbol, asset.precision)}} - ]; - } - } else if (opType == 1) { - // limit_order_create - let seller = accountResults.find((resAcc) => resAcc.id === opContents.seller).accountName; - let buy = assetResults.find((assRes) => assRes.id === opContents.min_to_receive.asset_id); - let sell = assetResults.find((assRes) => assRes.id === opContents.amount_to_sell.asset_id); - - if (seller && buy && sell) { - let fillOrKill = opContents.amount_to_sell.fill_or_kill; - - let price = humanReadableFloat(opContents.amount_to_sell.amount, sell.precision) - / humanReadableFloat(opContents.min_to_receive.amount, buy.precision); - - currentOperation['rows'] = [ - {key: fillOrKill ? 'tradeFK' : 'trade'}, - {key: 'seller', params: {seller: seller, opSeller: opContents.seller}}, - {key: 'sell', params: {amount: formatAsset(opContents.amount_to_sell.amount, sell.symbol, sell.precision)}}, - {key: 'buying', params: {amount: formatAsset(opContents.min_to_receive.amount, buy.symbol, buy.precision)}}, - {key: 'price', params: {price: price.toPrecision(sell.precision), sellSymbol: sell.symbol, buySymbol: buy.symbol}} - ]; - } - } else if (opType == 2) { - // limit_order_cancel - let feePayingAccount = accountResults.find((resAcc) => resAcc.id === opContents.fee_paying_account).accountName; - - if (feePayingAccount) { - currentOperation['rows'] = [ - {key: "id", params: {id: opContents.order}}, - {key: "fees", params: {fee: JSON.stringify(opContents.fee)}}, - {key: "account", params: {account: feePayingAccount ?? '' + " (" + opContents.fee_paying_account + ")"}} - ]; - } - } else if (opType == 3) { - // call_order_update - let fundingAccount = accountResults.find((resAcc) => resAcc.id === opContents.funding_account).accountName; - let deltaCollateral = assetResults.find((assRes) => assRes.id === opContents.delta_collateral.asset_id); - let deltaDebt = assetResults.find((assRes) => assRes.id === opContents.delta_debt.asset_id); - - if (fundingAccount && deltaCollateral && deltaDebt) { - currentOperation['rows'] = [ - {key: "funding_account", params: {funding_account: fundingAccount ?? '' + " (" + opContents.funding_account + ")"}}, - { - key: "delta_collateral", - params: { - delta_collateral: formatAsset(opContents.delta_collateral.amount, deltaCollateral.symbol, deltaCollateral.precision), - id: opContents.delta_collateral.asset_id - } - }, - { - key: "delta_debt", - params: { - delta_debt: formatAsset(opContents.delta_debt.amount, deltaDebt.symbol, deltaDebt.precision), - id: opContents.delta_debt.asset_id - } - }, - {key: "fees", params: {fee: JSON.stringify(opContents.fee)}} - ]; - } - } else if (opType == 5) { - // account_create - let registrar = accountResults.find((resAcc) => resAcc.id === opContents.registrar).accountName; - let referrer = accountResults.find((resAcc) => resAcc.id === opContents.referrer).accountName; - - if (registrar && referrer) { - currentOperation['rows'] = [ - {key: "registrar", params: {registrar: registrar ?? '', opRegistrar: opContents.registrar}}, - {key: "referrer", params: {referrer: referrer ?? '', opReferrer: opContents.referrer}}, - {key: "referrer_percent", params: {referrer_percent: opContents.referrer_percent}}, - {key: "name", params: {name: opContents.name}}, - {key: "ownerHeader", params: {}}, - {key: "weight_threshold", params: {weight_threshold: opContents.owner.weight_threshold}}, - {key: "account_auths", params: {account_auths: JSON.stringify(opContents.owner.account_auths)}}, - {key: "key_auths", params: {key_auths: JSON.stringify(opContents.owner.key_auths)}}, - {key: "address_auths", params: {address_auths: JSON.stringify(opContents.owner.address_auths)}}, - {key: "activeHeader", params: {}}, - {key: "weight_threshold", params: {weight_threshold: opContents.active.weight_threshold}}, - {key: "account_auths", params: {account_auths: JSON.stringify(opContents.active.account_auths)}}, - {key: "key_auths", params: {key_auths: JSON.stringify(opContents.active.key_auths)}}, - {key: "address_auths", params: {address_auths: JSON.stringify(opContents.active.address_auths)}}, - {key: "optionsHeader", params: {}}, - {key: "memo_key", params: {memo_key: opContents.options.memo_key}}, - {key: "voting_account", params: {voting_account: opContents.options.voting_account}}, - {key: "num_witness", params: {num_witness: opContents.options.num_witness}}, - {key: "num_committee", params: {num_committee: opContents.options.num_committee}}, - {key: "votes", params: {votes: JSON.stringify(opContents.options.votes)}}, - {key: "extensions", params: {extensions: JSON.stringify(opContents.options.extensions)}}, - {key: "fees", params: {fee: JSON.stringify(opContents.fee)}} - ]; - } - } else if (opType == 6) { - // account_update - let targetAccount = accountResults.find((resAcc) => resAcc.id === opContents.account).accountName; - if (targetAccount) { - currentOperation['rows'] = [ - {key: "warning", params: {}}, - {key: "account", params: {account: targetAccount ?? '', opAccount: opContents.account}}, - {key: "owner", params: {owner: JSON.stringify(opContents.owner)}}, - {key: "active", params: {active: JSON.stringify(opContents.active)}}, - {key: "new_options", params: {new_options: JSON.stringify(opContents.new_options)}}, - {key: "extensions", params: {extensions: JSON.stringify(opContents.extensions)}}, - {key: "fees", params: {fee: JSON.stringify(opContents.fee)}} - ]; - } - } else if (opType == 7) { - // account_whitelist - let authorizingAccount = accountResults.find((resAcc) => resAcc.id === opContents.authorizing_account).accountName; - let accountToList = accountResults.find((resAcc) => resAcc.id === opContents.account_to_list).accountName; - - if (authorizingAccount && accountToList) { - currentOperation['rows'] = [ - { - key: "authorizing_account", - params: { - authorizingAccount: authorizingAccount ?? '', - authorizingAccountOP: opContents.authorizing_account - } - }, - { - key: "account_to_list", - params: { - accountToList: accountToList ?? '', - accountToListOP: opContents.account_to_list - } - }, - {key: "new_listing", params: {new_listing: opContents.new_listing}}, - { - key: "extensions", - params: { - extensions: opContents.extensions ? JSON.stringify(opContents.extensions) : "[]" - } - }, - {key: "fee", params: {fee: JSON.stringify(opContents.fee)}} - ]; - } - } else if (opType == 8) { - // account_upgrade - let accountToUpgrade = accountResults.find((resAcc) => resAcc.id === opContents.account_to_upgrade).accountName; - if (accountToUpgrade) { - currentOperation['rows'] = [ - { - key: "account_to_upgrade", - params: { - accountToUpgrade: accountToUpgrade ?? '', - accountToUpgradeOP: opContents.account_to_upgrade - } - }, - {key: "upgrade_to_lifetime_member", params: {upgradeToLifetimeMember: opContents.upgrade_to_lifetime_member}}, - {key: "extensions", params: {extensions: opContents.extensions ? JSON.stringify(opContents.extensions) : "[]"}}, - {key: "fee", params: {fee: JSON.stringify(opContents.fee)}} - ]; - } - } else if (opType == 9) { - // account_transfer - let originalOwner = accountResults.find((resAcc) => resAcc.id === opContents.account_id).accountName; - let newOwner = accountResults.find((resAcc) => resAcc.id === opContents.new_owner).accountName; - - if (originalOwner && newOwner) { - currentOperation['rows'] = [ - {key: "warning", params: {}}, - { - key: "account_id", - params: { - originalOwner: originalOwner ?? '', - account_id: opContents.account_id - } - }, - { - key: "new_owner", - params: { - newOwner: newOwner ?? '', - newOwnerOP: opContents.new_owner - } - }, - {key: "fee", params: {fee: JSON.stringify(opContents.fee)}} - ]; - } - } else if (opType == 10 || opType == 11) { - // Create or Update an asset - let asset = opType === 11 - ? assetResults.find((assRes) => assRes.id === opContents.asset_to_update) // fetch asset to update - : null; - - let symbol = asset ? asset.symbol : opContents.symbol; - let precision = asset ? asset.precision : opContents.precision; - let is_prediction_market = asset ? asset.is_prediction_market : opContents.is_prediction_market; - let options = opType === 10 ? opContents.common_options : opContents.new_options; - let max_supply = options.max_supply; - let market_fee_percent = options.market_fee_percent; - let max_market_fee = options.max_market_fee; - let isBitasset = opContents.bitasset_opts ? true : false; - let issuer_permissions = getFlagBooleans(options.issuer_permissions, isBitasset); - let flags = getFlagBooleans(options.flags, isBitasset); - let cer_base_amount = options.core_exchange_rate.base.amount; - let cer_base_asset_id = options.core_exchange_rate.base.asset_id; - let cer_quote_amount = options.core_exchange_rate.quote.amount; - let cer_quote_asset_id = options.core_exchange_rate.quote.asset_id; - let whitelist_authorities = options.whitelist_authorities; - let blacklist_authorities = options.blacklist_authorities; - let whitelist_markets = options.whitelist_markets; - let blacklist_markets = options.blacklist_markets; - let description = JSON.parse(options.description); - let nft_object = description ? description.nft_object : null; - - let tempRows = [ - {key: "symbol", params: {symbol: symbol}}, - {key: "main", params: {main: description.main}}, - {key: "market", params: {market: description.market}}, - {key: "short_name", params: {short_name: description.short_name}}, - {key: "precision", params: {precision: precision}}, - {key: "max_supply", params: {max_supply: max_supply}}, - {key: "market_fee_percent", params: {market_fee_percent: market_fee_percent}}, - {key: "max_market_fee", params: {max_market_fee: max_market_fee}}, - {key: "cer", params: {}}, - {key: "cer_base_amount", params: {cer_base_amount: cer_base_amount}}, - {key: "cer_base_id", params: {cer_base_id: cer_base_asset_id}}, - {key: "cer_quote_amount", params: {cer_quote_amount: cer_quote_amount}}, - {key: "cer_quote_id", params: {cer_quote_id: cer_quote_asset_id}}, - {key: "whitelist_authorities", params: {whitelist_authorities: whitelist_authorities}}, - {key: "blacklist_authorities", params: {blacklist_authorities: blacklist_authorities}}, - {key: "whitelist_markets", params: {whitelist_markets: whitelist_markets}}, - {key: "blacklist_markets", params: {blacklist_markets: blacklist_markets}}, - {key: "is_prediction_market", params: {is_prediction_market: is_prediction_market}}, - {key: "permissions", params: {}}, - {key: "perm_charge_market_fee", params: {charge_market_fee: issuer_permissions["charge_market_fee"]}}, - {key: "perm_white_list", params: {white_list: issuer_permissions["white_list"]}}, - {key: "perm_override_authority", params: {override_authority: issuer_permissions["override_authority"]}}, - {key: "perm_transfer_restricted", params: {transfer_restricted: issuer_permissions["transfer_restricted"]}}, - {key: "perm_disable_confidential", params: {disable_confidential: issuer_permissions["disable_confidential"]}}, - {key: "flags", params: {}}, - {key: "flag_charge_market_fee", params: {charge_market_fee: flags["charge_market_fee"]}}, - {key: "flag_white_list", params: {white_list: flags["white_list"]}}, - {key: "flag_override_authority", params: {override_authority: flags["override_authority"]}}, - {key: "flag_transfer_restricted", params: {transfer_restricted: flags["transfer_restricted"]}}, - {key: "flag_disable_confidential", params: {disable_confidential: flags["disable_confidential"]}}, - {key: "bitasset", params: {}} - ]; - - if (isBitasset) { - tempRows = tempRows.concat([ - {key: "bitasset_opts", params: {}}, - { - key: "feed_lifetime_sec", - params: {feed_lifetime_sec: opContents.bitasset_opts.feed_lifetime_sec} - }, - { - key: "force_settlement_delay_sec", - params: {force_settlement_delay_sec: opContents.bitasset_opts.force_settlement_delay_sec} - }, - { - key: "force_settlement_offset_percent", - params: {force_settlement_offset_percent: opContents.bitasset_opts.force_settlement_offset_percent} - }, - { - key: "maximum_force_settlement_volume", - params: {maximum_force_settlement_volume: opContents.bitasset_opts.maximum_force_settlement_volume} - }, - { - key: "minimum_feeds", - params: {minimum_feeds: opContents.bitasset_opts.minimum_feeds} - }, - { - key: "short_backing_asset", - params: {short_backing_asset: opContents.bitasset_opts.short_backing_asset} - } - ]); - } - - if (nft_object) { - tempRows = tempRows.concat([ - {key: "nft", params: {}}, - { - key: "acknowledgements", - params: {acknowledgements: nft_object.acknowledgements} - }, - { - key: "artist", - params: {artist: nft_object.artist} - }, - { - key: "attestation", - params: {attestation: nft_object.attestation} - }, - { - key: "holder_license", - params: {holder_license: nft_object.holder_license} - }, - { - key: "license", - params: {license: nft_object.license} - }, - { - key: "narrative", - params: {narrative: nft_object.narrative} - }, - { - key: "title", - params: {title: nft_object.title} - }, - { - key: "tags", - params: {tags: nft_object.tags} - }, - { - key: "type", - params: {type: nft_object.type} - } - ]); - } - - return tempRows; - } else if (opType == 12) { - // asset_update_bitasset - let shortBackingAsset = assetResults.find((assRes) => assRes.id === opContents.new_options.short_backing_asset); - - if (shortBackingAsset) { - currentOperation['rows'] = [ - {key: "issuer", params: {issuer: opContents.issuer}}, - {key: "asset_to_update", params: {asset_to_update: opContents.asset_to_update}}, - {key: "new_options", params: {}}, - {key: "feed_lifetime_sec", params: {feed_lifetime_sec: opContents.new_options.feed_lifetime_sec}}, - {key: "minimum_feeds", params: {minimum_feeds: opContents.new_options.minimum_feeds}}, - {key: "force_settlement_delay_sec", params: {force_settlement_delay_sec: opContents.new_options.force_settlement_delay_sec}}, - {key: "force_settlement_offset_percent", params: {force_settlement_offset_percent: opContents.new_options.force_settlement_offset_percent}}, - {key: "maximum_force_settlement_volume", params: {maximum_force_settlement_volume: opContents.new_options.maximum_force_settlement_volume}}, - {key: "short_backing_asset", params: {short_backing_asset: shortBackingAsset.symbol}}, - opContents.new_options.extensions - ? {key: "extensions", params: {extensions: opContents.new_options.extensions}} - : {key: "noExtensions", params: {}}, - {key: "fee", params: {fee: formatAsset(opContents.fee.amount, "BTS", 5), id: opContents.fee.asset_id }} - ]; - } - } else if (opType == 13) { - // asset_update_feed_producers - let issuer = accountResults.find((resAcc) => resAcc.id === opContents.issuer).accountName; - let assetToUpdate = assetResults.find((assRes) => assRes.id === opContents.new_options.short_backing_asset); - - if (issuer && assetToUpdate) { - currentOperation['rows'] = [ - {key: "issuer", params: {issuer: issuer, issuerOP: opContents.issuer}}, - {key: "asset_to_update", params: {symbol: assetToUpdate.symbol, asset_to_update: opContents.asset_to_update}}, - {key: "new_feed_producers", params: {new_feed_producers: JSON.stringify(opContents.new_feed_producers)}}, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } - } else if (opType == 14) { - // asset_issue - //let issuer = accountResults.find((resAcc) => resAcc.id === opContents.issuer).accountName; - let targetAccount = accountResults.find((resAcc) => resAcc.id === opContents.issue_to_account).accountName; - let assetToIssue = assetResults.find((assRes) => assRes.id === opContents.asset_to_issue.asset_id); - - if (targetAccount && assetToIssue) { - currentOperation['rows'] = [ - { - key: "prompt", - params: { - amount: opContents.asset_to_issue.amount, - symbol: assetToIssue.symbol, - asset_id: opContents.asset_to_issue.asset_id, - to: targetAccount, - toID: opContents.issue_to_account - } - }, - {key: "fee", params: {fee: JSON.stringify(opContents.fee).amount, id: opContents.fee.asset_id }} - ]; - } - } else if (opType == 15) { - // asset_reserve - let payer = accountResults.find((resAcc) => resAcc.id === opContents.payer).accountName; - let assetToReserve = assetResults.find((assRes) => assRes.id === opContents.amount_to_reserve.asset_id); - - if (payer && assetToReserve) { - currentOperation['rows'] = [ - {key: "payer", params: {payer: payer, payerOP: opContents.payer}}, - { - key: "amount_to_reserve", - params: { - amount_to_reserve: formatAsset( - opContents.amount_to_reserve.amount, - assetToReserve.symbol, - assetToReserve.precision - ), - asset_id: opContents.amount_to_reserve.asset_id - } - }, - { - key: "extensions", - params: {extensions: opContents.extensions ? JSON.stringify(opContents.extensions) : "[]" } - }, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } - } else if (opType == 16) { - // asset_fund_fee_pool - let fromAccount = accountResults.find((resAcc) => resAcc.id === opContents.from_account).accountName; - let assetToFund = assetResults.find((assRes) => assRes.id === opContents.asset_id); - - if (fromAccount && assetToFund) { - currentOperation['rows'] = [ - {key: "from_account", params: {from_account: fromAccount, from_accountOP: opContents.from_account}}, - { - key: "asset", - params: {from_account: assetToFund.symbol, from_accountOP: opContents.asset_id} - }, - { key: "amount", params: {amount: formatAsset(opContents.amount, assetToFund.symbol, assetToFund.precision)}}, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } - } else if (opType == 17) { - // asset_settle - let account = accountResults.find((resAcc) => resAcc.id === opContents.account).accountName; - let assetToSettle = assetResults.find((assRes) => assRes.id === opContents.amount.asset_id); - - if (account && assetToSettle) { - currentOperation['rows'] = [ - {key: "account", params: {account: account, accountOP: opContents.account}}, - { - key: "amount", - params: { - amount: formatAsset( - opContents.amount.amount, - assetToSettle.symbol, - assetToSettle.precision - ), - assetID: opContents.amount.asset_id - } - }, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } - } else if (opType == 18) { - // asset_global_settle - let issuer = accountResults.find((resAcc) => resAcc.id === opContents.account).accountName; - let assetToSettle = assetResults.find((assRes) => assRes.id === opContents.asset_to_settle) - let baseAsset = assetResults.find((assRes) => assRes.id === opContents.settle_price.base.asset_id); - let quoteAsset = assetResults.find((assRes) => assRes.id === opContents.settle_price.quote.asset_id); - - if (issuer && assetToSettle && baseAsset && quoteAsset) { - let price = humanReadableFloat(opContents.settle_price.base.amount, baseAsset.precision) - / humanReadableFloat(opContents.settle_price.quote.amount, quoteAsset.precision); - - currentOperation['rows'] = [ - {key: "issuer", params: {issuer: issuer, issuerOP: opContents.account}}, - { - key: "asset_to_settle", - params: { - asset_to_settle: assetToSettle.symbol, - asset_to_settleOP: opContents.asset_to_settle - } - }, - {key: "settle_price", params: {settle_price: price}}, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } - } else if (opType == 19) { - // asset_publish_feed - let publisher = accountResults.find((resAcc) => resAcc.id === opContents.publisher).accountName; - let baseAsset = assetResults.find((assRes) => assRes.id === opContents.settle_price.base.asset_id); // backing e.g. BTS - let quoteAsset = assetResults.find((assRes) => assRes.id === opContents.settle_price.quote.asset_id); // same as asset_id - - if (publisher && baseAsset && quoteAsset) { - let coreExchangeRate = humanReadableFloat(opContents.feed.core_exchange_rate.base.amount, baseAsset.precision) - / humanReadableFloat(opContents.feed.core_exchange_rate.quote.amount, quoteAsset.precision); - - let settlementPrice = humanReadableFloat(opContents.feed.settlement_price.base.amount, baseAsset.precision) - / humanReadableFloat(opContents.feed.settlement_price.quote.amount, quoteAsset.precision); - - currentOperation['rows'] = [ - {key: "publisher", params: {publisher: publisher, publisherOP: opContents.publisher}}, - { - key: "asset_id", - params: { - symbol: quoteAsset.symbol, - asset_idOP: opContents.asset_id - } - }, - {key: "feed", params: {}}, - {key: "core_exchange_rate", params: {core_exchange_rate: coreExchangeRate}}, - {key: "settlement_price", params: {settlement_price: settlementPrice}}, - {key: "maintenance_collateral_ratio", params: {maintenance_collateral_ratio: opContents.feed.maintenance_collateral_ratio}}, - {key: "maximum_short_squeeze_ratio", params: {maximum_short_squeeze_ratio: opContents.feed.maximum_short_squeeze_ratio}}, - {key: "extensions", params: {extensions: opContents.extensions ? JSON.stringify(opContents.extensions) : "[]"}}, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } - } else if (opType == 20) { - // witness_create - let witnessAccount = accountResults.find((resAcc) => resAcc.id === opContents.witness_account).accountName; - if (witnessAccount) { - currentOperation['rows'] = [ - { - key: "witness_account", - params: { - witness_account: witnessAccount, - witness_accountOP: opContents.witness_account - } - }, - {key: "url", params: {url: opContents.url}}, - {key: "block_signing_key", params: {block_signing_key: opContents.block_signing_key}}, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } - } else if (opType == 21) { - // witness_update - let witnessAccount = accountResults.find((resAcc) => resAcc.id === opContents.witness_account).accountName; - if (witnessAccount) { - currentOperation['rows'] = [ - { - key: "witness", - params: { - witness: opContents.witness, - } - }, - { - key: "witness_account", - params: { - witness_account: witnessAccount, - witness_accountOP: opContents.witness_account - } - }, - {key: "new_url", params: {new_url: opContents.new_url}}, - {key: "new_signing_key", params: {new_signing_key: opContents.new_signing_key}}, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } - } else if (opType == 22) { - // proposal_create - let feePayingAccount = accountResults.find((resAcc) => resAcc.id === opContents.fee_paying_account).accountName; - if (feePayingAccount) { - currentOperation['rows'] = [ - {key: "expiration_time", params: {expiration_time: opContents.expiration_time}}, - {key: "proposed_ops", params: {proposed_ops: JSON.stringify(opContents.proposed_ops)}}, - {key: "review_period_seconds", params: {review_period_seconds: opContents.review_period_seconds}}, - { - key: "fee_paying_account", - params: { - fee_paying_account: feePayingAccount, - fee_paying_accountOP: opContents.fee_paying_account - } - }, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } - } else if (opType == 23) { - // proposal_update - let feePayingAccount = accountResults.find((resAcc) => resAcc.id === opContents.fee_paying_account).accountName; - if (feePayingAccount) { - currentOperation['rows'] = [ - {key: "proposal", params: {proposal: opContents.proposal}}, - { - key: "active_approvals_to_add", params: {active_approvals_to_add: JSON.stringify(opContents.active_approvals_to_add)} - }, - { - key: "active_approvals_to_remove", params: {active_approvals_to_remove: JSON.stringify(opContents.active_approvals_to_remove)} - }, - { - key: "owner_approvals_to_add", params: {owner_approvals_to_add: JSON.stringify(opContents.owner_approvals_to_add)} - }, - { - key: "owner_approvals_to_remove", params: {owner_approvals_to_remove: JSON.stringify(opContents.owner_approvals_to_remove)} - }, - { - key: "key_approvals_to_add", params: {key_approvals_to_add: JSON.stringify(opContents.key_approvals_to_add)} - }, - { - key: "key_approvals_to_remove", params: {key_approvals_to_remove: JSON.stringify(opContents.key_approvals_to_remove)} - }, - { - key: "fee_paying_account", params: {fee_paying_account: feePayingAccount, fee_paying_accountOP: opContents.fee_paying_account} - }, - {key: "extensions", params: {extensions: opContents.extensions ? JSON.stringify(opContents.extensions) : "[]"}}, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } - } else if (opType == 24) { - // proposal_delete - let feePayingAccount = accountResults.find((resAcc) => resAcc.id === opContents.fee_paying_account).accountName; - if (feePayingAccount) { - currentOperation['rows'] = [ - {key: "using_owner_authority", params: {using_owner_authority: opContents.using_owner_authority}}, - {key: "proposal", params: {proposal: opContents.proposal}}, - { - key: "fee_paying_account", params: {fee_paying_account: feePayingAccount, fee_paying_accountOP: opContents.fee_paying_account} - }, - {key: "extensions", params: {extensions: opContents.extensions ? JSON.stringify(opContents.extensions) : "[]"}}, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } - } else if (opType == 25) { - // withdraw_permission_create - let to = accountResults.find((resAcc) => resAcc.id === opContents.authorized_account).accountName; - let from = accountResults.find((resAcc) => resAcc.id === opContents.withdraw_from_account).accountName; - let asset = assetResults.find((assRes) => assRes.id === opContents.withdrawal_limit.asset_id); - - if (to && from && asset) { - currentOperation['rows'] = [ - {key: "recipient", params: {recipient: to, recipientOP: opContents.authorized_account}}, - {key: "withdraw_from", params: {withdraw_from: from, withdraw_fromOP: opContents.withdraw_from_account}}, - { - key: "taking", - params: { - amount: formatAsset(opContents.withdrawal_limit.amount, asset.symbol, asset.precision), - period_sec: opContents.withdrawal_period_sec, - period_qty: opContents.periods_until_expiration - } - }, - ]; - } - } else if (opType == 26) { - // withdraw_permission_update - let withdrawFromAccount = accountResults.find((resAcc) => resAcc.id === opContents.withdraw_from_account).accountName; - let authorizedAccount = accountResults.find((resAcc) => resAcc.id === opContents.authorized_account).accountName; - let withdrawalLimit = assetResults.find((assRes) => assRes.id === opContents.withdrawal_limit.asset_id); - - if (withdrawFromAccount && authorizedAccount && withdrawalLimit) { - currentOperation['rows'] = [ - { - key: "withdraw_from_account", - params: { - withdraw_from_account: withdrawFromAccount, - withdraw_from_accountOP: opContents.withdraw_from_account - } - }, - { - key: "authorized_account", - params: { - authorized_account: authorizedAccount, - authorized_accountOP: opContents.authorized_account - } - }, - {key: "permission_to_update", params: {permission_to_update: opContents.permission_to_update}}, - withdrawalLimit - ? { - key: "withdrawal_limited", - params: { - withdrawal_limit: formatAsset(opContents.withdrawal_limit.amount, withdrawalLimit.symbol, withdrawalLimit.precision) - } - } - : { - key: "withdrawal_unlimited", - params: { - withdrawal_limit: opContents.withdrawal_limit.amount, - withdrawal_limitOP: opContents.withdrawal_limit.asset_id - } - }, - {key: "withdrawal_period_sec", params: {withdrawal_period_sec: opContents.withdrawal_period_sec}}, - {key: "period_start_time", params: {period_start_time: opContents.period_start_time}}, - {key: "periods_until_expiration", params: {periods_until_expiration: opContents.periods_until_expiration}}, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } - } else if (opType == 27) { - // withdraw_permission_claim - let from = accountResults.find((resAcc) => resAcc.id === opContents.withdraw_from_account).accountName; - let to = accountResults.find((resAcc) => resAcc.id === opContents.withdraw_to_account).accountName; - let withdrawnAsset = assetResults.find((assRes) => assRes.id === opContents.amount_to_withdraw.asset_id); - - if (from && to && withdrawnAsset) { - currentOperation['rows'] = [ - {key: "withdraw_permission", params: {withdraw_permission: opContents.withdraw_permission}}, - { - key: "withdraw_from_account", - params: { - withdraw_from_account: from ?? '', - withdraw_from_accountOP: opContents.withdraw_from_account - } - }, - { - key: "withdraw_to_account", - params: { - withdraw_to_account: to ?? '', - withdraw_to_accountOP: opContents.withdraw_to_account - } - }, - { - key: "amount_to_withdraw", - params: { - amount_to_withdraw: withdrawnAsset - ? formatAsset(opContents.amount_to_withdraw.amount, withdrawnAsset.symbol, withdrawnAsset.precision) - : opContents.amount_to_withdraw.amount, - amount_to_withdrawOP: opContents.amount_to_withdraw.asset_id - } - }, - {key: "memo", params: {memo: opContents.memo}}, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } - } else if (opType == 28) { - // withdraw_permission_delete - let withdrawFromAccount = accountResults.find((resAcc) => resAcc.id === opContents.withdraw_from_account).accountName; - let authorizedAccount = accountResults.find((resAcc) => resAcc.id === opContents.authorized_account).accountName; - - if (withdrawFromAccount && authorizedAccount) { - currentOperation['rows'] = [ - { - key: "withdraw_from_account", - params: { - withdraw_from_account: withdrawFromAccount, - withdraw_from_accountOP: opContents.withdraw_from_account - } - }, - { - key: "authorized_account", - params: { - authorized_account: authorizedAccount, - authorized_accountOP: opContents.authorized_account - } - }, - {key: "withdrawal_permission", params: {withdrawal_permission: opContents.withdrawal_permission}}, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } - } else if (opType == 29) { - // committee_member_create - let committeeMemberAccount = accountResults.find((resAcc) => resAcc.id === opContents.committee_member_account).accountName; - if (committeeMemberAccount) { - currentOperation['rows'] = [ - { - key: "committee_member_account", - params: { - committee_member_account: committeeMemberAccount, - committee_member_accountOP: opContents.committee_member_account - } - }, - {key: "url", params: {url: opContents.url}}, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } - } else if (opType == 30) { - // committee_member_update - let committeeMemberAccount = accountResults.find((resAcc) => resAcc.id === opContents.committee_member_account).accountName; - if (committeeMemberAccount) { - currentOperation['rows'] = [ - {key: "committee_member", params: {committee_member: opContents.committee_member}}, - { - key: "committee_member_account", - params: { - committee_member_account: committeeMemberAccount, - committee_member_accountOP: opContents.committee_member_account - } - }, - {key: "new_url", params: {new_url: opContents.new_url}}, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } - } else if (opType == 31) { - // committee_member_update_global_parameters - currentOperation['rows'] = [ - {key: "new_parameters", params: {}}, - { - key: "current_fees", - params: {current_fees: JSON.stringify(opContents.new_parameters.current_fees)} - }, - {key: "block_interval", params: {block_interval: opContents.block_interval}}, - {key: "maintenance_interval", params: {maintenance_interval: opContents.maintenance_interval}}, - {key: "maintenance_skip_slots", params: {maintenance_skip_slots: opContents.maintenance_skip_slots}}, - { - key: "committee_proposal_review_period", - params: {committee_proposal_review_period: opContents.committee_proposal_review_period} - }, - {key: "maximum_transaction_size", params: {maximum_transaction_size: opContents.maximum_transaction_size}}, - {key: "maximum_block_size", params: {maximum_block_size: opContents.maximum_block_size}}, - { - key: "maximum_time_until_expiration", - params: {maximum_time_until_expiration: opContents.maximum_time_until_expiration} - }, - {key: "maximum_proposal_lifetime", params: {maximum_proposal_lifetime: opContents.maximum_proposal_lifetime}}, - {key: "maximum_asset_whitelist_authorities", params: {maximum_asset_whitelist_authorities: opContents.maximum_asset_whitelist_authorities}}, - {key: "maximum_asset_feed_publishers", params: {maximum_asset_feed_publishers: opContents.maximum_asset_feed_publishers}}, - {key: "maximum_witness_count", params: {maximum_witness_count: opContents.maximum_witness_count}}, - {key: "maximum_committee_count", params: {maximum_committee_count: opContents.maximum_committee_count}}, - {key: "maximum_authority_membership", params: {maximum_authority_membership: opContents.maximum_authority_membership}}, - {key: "reserve_percent_of_fee", params: {reserve_percent_of_fee: opContents.reserve_percent_of_fee}}, - {key: "network_percent_of_fee", params: {network_percent_of_fee: opContents.network_percent_of_fee}}, - {key: "lifetime_referrer_percent_of_fee", params: {lifetime_referrer_percent_of_fee: opContents.lifetime_referrer_percent_of_fee}}, - {key: "cashback_vesting_period_seconds", params: {cashback_vesting_period_seconds: opContents.cashback_vesting_period_seconds}}, - {key: "cashback_vesting_threshold", params: {cashback_vesting_threshold: opContents.cashback_vesting_threshold}}, - {key: "count_non_member_votes", params: {count_non_member_votes: opContents.count_non_member_votes}}, - {key: "allow_non_member_whitelists", params: {allow_non_member_whitelists: opContents.allow_non_member_whitelists}}, - {key: "witness_pay_per_block", params: {witness_pay_per_block: opContents.witness_pay_per_block}}, - {key: "worker_budget_per_day", params: {worker_budget_per_day: opContents.worker_budget_per_day}}, - {key: "max_predicate_opcode", params: {max_predicate_opcode: opContents.max_predicate_opcode}}, - {key: "fee_liquidation_threshold", params: {fee_liquidation_threshold: opContents.fee_liquidation_threshold}}, - {key: "accounts_per_fee_scale", params: {accounts_per_fee_scale: opContents.accounts_per_fee_scale}}, - {key: "account_fee_scale_bitshifts", params: {account_fee_scale_bitshifts: opContents.account_fee_scale_bitshifts}}, - {key: "max_authority_depth", params: {max_authority_depth: opContents.max_authority_depth}}, - {key: "extensions", params: {extensions: JSON.stringify(opContents.extensions)}}, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } else if (opType == 32) { - // vesting_balance_create - let creator = accountResults.find((resAcc) => resAcc.id === opContents.creator).accountName; - let owner = accountResults.find((resAcc) => resAcc.id === opContents.owner).accountName; - let amount = assetResults.find((assRes) => assRes.id === opContents.amount.asset_id); - - if (creator && owner && amount) { - let tempRows = [ - {key: "creator", params: {creator: creator, creatorOP: opContents.creator}}, - {key: "owner", params: {owner: owner, ownerOP: opContents.owner}}, - { - key: "amount", - params: { - amount: formatAsset(opContents.amount.amount, amount.symbol, amount.precision), - amount_id: opContents.amount.asset_id - } - }, - {key: "policy", params: {}} - ]; - - let policy = opContents.policy; - if (policy[0] == 0) { - tempRows.push({key: "begin_timestamp", params: {begin_timestamp: policy[1].begin_timestamp}}) - tempRows.push({key: "vesting_cliff_seconds", params: {vesting_cliff_seconds: policy[1].vesting_cliff_seconds}}) - tempRows.push({key: "vesting_duration_seconds", params: {vesting_duration_seconds: policy[1].vesting_duration_seconds}}) - } else { - tempRows.push({key: "start_claim", params: {start_claim: policy[1].start_claim}}) - tempRows.push({key: "vesting_seconds", params: {vesting_seconds: policy[1].vesting_seconds}}) - } - - tempRows.push({key: "fee", params: {fee: JSON.stringify(opContents.fee) }}) - return tempRows; - } - } else if (opType == 33) { - // vesting_balance_withdraw - let owner = accountResults.find((resAcc) => resAcc.id === opContents.owner).accountName; - let asset = assetResults.find((assRes) => assRes.id === opContents.amount.asset_id); - - if (owner && asset) { - currentOperation['rows'] = [ - {key: "owner", params: {owner: owner, ownerOP: opContents.owner}}, - { - key: "claim", - params: { - claim: formatAsset(opContents.amount.amount, asset.symbol, asset.precision), - asset_id: opContents.amount.asset_id - } - }, - ]; - } - } else if (opType == 34) { - // worker_create - let owner = accountResults.find((resAcc) => resAcc.id === opContents.owner).accountName; - if (owner) { - currentOperation['rows'] = [ - {key: "owner", params: {owner: owner, ownerOP: opContents.owner}}, - {key: "work_begin_date", params: {work_begin_date: opContents.work_begin_date}}, - {key: "work_end_date", params: {work_end_date: opContents.work_end_date}}, - {key: "daily_pay", params: {daily_pay: opContents.daily_pay}}, - {key: "name", params: {name: opContents.name}}, - {key: "url", params: {url: opContents.url}}, - {key: "initializer", params: {initializer: JSON.stringify(opContents.initializer)}}, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } - } else if (opType == 35) { - // custom - let payer = accountResults.find((resAcc) => resAcc.id === opContents.payer).accountName; - if (payer) { - currentOperation['rows'] = [ - {key: "payer", params: {payer: payer, payerOP: opContents.payer}}, - {key: "required_auths", params: {required_auths: JSON.stringify(opContents.required_auths)}}, - {key: "id", params: {id: opContents.id}}, - {key: "data", params: {data: JSON.stringify(opContents.data)}}, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } - } else if (opType == 36) { - // assert - let feePayingAccount = accountResults.find((resAcc) => resAcc.id === opContents.fee_paying_account).accountName; - if (feePayingAccount) { - currentOperation['rows'] = [ - { - key: "fee_paying_account", - params: { - fee_paying_account: feePayingAccount, - fee_paying_accountOP: opContents.fee_paying_account - } - }, - {key: "predicates", params: {predicates: JSON.stringify(opContents.predicates)}}, - {key: "required_auths", params: {required_auths: JSON.stringify(opContents.required_auths)}}, - {key: "extensions", params: {extensions: opContents.extensions ? JSON.stringify(opContents.extensions) : "[]"}}, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } - } else if (opType == 37) { - // balance_claim - let depositToAccount = accountResults.find((resAcc) => resAcc.id === opContents.deposit_to_account).accountName; - let claimedAsset = assetResults.find((assRes) => assRes.id === opContents.amount.asset_id); - - if (depositToAccount && claimedAsset) { - currentOperation['rows'] = [ - { - key: "deposit_to_account", - params: { - deposit_to_account: depositToAccount, - deposit_to_accountOP: opContents.deposit_to_account - } - }, - {key: "balance_to_claim", params: {balance_to_claim: opContents.balance_to_claim}}, - {key: "balance_owner_key", params: {balance_owner_key: opContents.balance_owner_key}}, - { - key: "total_claimed", - params: { - total_claimed: formatAsset(opContents.amount.amount, claimedAsset.symbol, claimedAsset.precision), - asset_id: opContents.amount.asset_id - } - }, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } - } else if (opType == 38) { - // override_transfer - let issuer = accountResults.find((resAcc) => resAcc.id === opContents.issuer).accountName; - let from = accountResults.find((resAcc) => resAcc.id === opContents.from).accountName; - let to = accountResults.find((resAcc) => resAcc.id === opContents.to).accountName; - let overridenAsset = assetResults.find((assRes) => assRes.id === opContents.amount.asset_id); - - if (issuer && from && to && overridenAsset) { - currentOperation['rows'] = [ - {key: "issuer", params: {issuer: issuer, issuerOP: opContents.issuer}}, - {key: "from", params: {from: from, fromOP: opContents.from}}, - {key: "to", params: {to: to, toOP: opContents.to}}, - { - key: "amount", - params: { - amount: formatAsset(opContents.amount.amount, overridenAsset.symbol, overridenAsset.precision), - asset_id: opContents.amount.asset_id - } - }, - {key: "memo", params: {memo: opContents.memo}}, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } - } else if (opType == 39) { - // transfer_to_blind - let from = accountResults.find((resAcc) => resAcc.id === opContents.from).accountName; - let assetToTransfer = assetResults.find((assRes) => assRes.id === opContents.amount.asset_id); - - if (from && assetToTransfer) { - currentOperation['rows'] = [ - { - key: "amount", - params: { - amount: formatAsset(opContents.amount.amount, assetToTransfer.symbol, assetToTransfer.precision), - } - }, - {key: "from", params: {from: from, fromOP: opContents.from}}, - {key: "blinding_factor", params: {blinding_factor: opContents.blinding_factor}}, - {key: "outputs", params: {outputs: JSON.stringify(opContents.outputs)}}, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } - } else if (opType == 40) { - // blind_transfer - currentOperation['rows'] = [ - {key: "inputs", params: {inputs: JSON.stringify(opContents.inputs)}}, - {key: "outputs", params: {outputs: JSON.stringify(opContents.outputs)}}, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } else if (opType == 41) { - // transfer_from_blind - let to = accountResults.find((resAcc) => resAcc.id === opContents.to).accountName; - let assetToTransfer = assetResults.find((assRes) => assRes.id === opContents.amount.asset_id); - - if (to && assetToTransfer) { - currentOperation['rows'] = [ - { - key: "amount", - params: { - amount: formatAsset(opContents.amount.amount, assetToTransfer.symbol, assetToTransfer.precision), - } - }, - {key: "to", params: {to: to, toOP: opContents.to}}, - {key: "blinding_factor", params: {blinding_factor: opContents.blinding_factor}}, - {key: "inputs", params: {inputs: JSON.stringify(opContents.inputs)}}, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } - } else if (opType == 43) { - // asset_claim_fees - let issuer = accountResults.find((resAcc) => resAcc.id === opContents.issuer).accountName; - let assetToClaim = assetResults.find((assRes) => assRes.id === opContents.amount_to_claim.asset_id); - - if (issuer && assetToClaim) { - currentOperation['rows'] = [ - {key: "issuer", params: {issuer: issuer, issuerOP: opContents.issuer}}, - { - key: "amount_to_claim", - params: { - amount_to_claim: formatAsset(opContents.amount_to_claim.amount, assetToClaim.symbol, assetToClaim.precision), - asset_id: opContents.amount_to_claim.asset_id - } - }, - {key: "extensions", params: {extensions: JSON.stringify(opContents.extensions)}}, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } - } else if (opType == 45) { - // bid_collateral - let bidder = accountResults.find((resAcc) => resAcc.id === opContents.bidder).accountName; - let collateral = assetResults.find((assRes) => assRes.id === opContents.additional_collateral.asset_id); - let debtCovered = assetResults.find((assRes) => assRes.id === opContents.debtCovered.asset_id); - - if (bidder && collateral && debtCovered) { - currentOperation['rows'] = [ - {key: "bidder", params: {bidder: bidder, bidderOP: opContents.bidder}}, - { - key: "additional_collateral", - params: { - additional_collateral: formatAsset(opContents.additional_collateral.amount, collateral.symbol, collateral.precision), - } - }, - { - key: "debt_covered", - params: { - debt_covered: formatAsset(opContents.debt_covered.amount, debtCovered.symbol, debtCovered.precision), - } - }, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } - } else if (opType == 47) { - // asset_claim_pool - let issuer = accountResults.find((resAcc) => resAcc.id === opContents.issuer).accountName; - let relevantAsset = assetResults.find((assRes) => assRes.id === opContents.asset_id); - - if (issuer && relevantAsset) { - currentOperation['rows'] = [ - {key: "issuer", params: {issuer: issuer, issuerOP: opContents.issuer}}, - {key: "asset_id", params: {asset_id: opContents.asset_id}}, - { - key: "amount_to_claim", - params: { - amount_to_claim: formatAsset(opContents.amount_to_claim.amount, relevantAsset.symbol, relevantAsset.precision), - } - }, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } - } else if (opType == 48) { - // asset_update_issuer - let issuer = accountResults.find((resAcc) => resAcc.id === opContents.issuer).accountName; - let new_issuer = accountResults.find((resAcc) => resAcc.id === opContents.new_issuer).accountName; - let assetToUpdate = assetResults.find((assRes) => assRes.id === opContents.asset_to_update); - - if (issuer && new_issuer && assetToUpdate) { - currentOperation['rows'] = [ - {key: "issuer", params: {issuer: issuer, issuerOP: opContents.issuer}}, - {key: "asset_to_update", params: {asset_to_update: assetToUpdate.symbol}}, - {key: "new_issuer", params: {new_issuer: new_issuer, new_issuerOP: opContents.new_issuer}}, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } - } else if (opType == 49) { - // htlc_create - let from = accountResults.find((resAcc) => resAcc.id === opContents.from).accountName; - let to = accountResults.find((resAcc) => resAcc.id === opContents.to).accountName; - let htlcAsset = assetResults.find((assRes) => assRes.id === opContents.amount.asset_id); - - if (from && to && htlcAsset) { - currentOperation['rows'] = [ - {key: "from", params: {from: from, fromOP: opContents.from}}, - {key: "to", params: {to: to, toOP: opContents.to}}, - { - key: "amount", - params: { - amount: formatAsset(opContents.amount.amount, htlcAsset.symbol, htlcAsset.precision), - } - }, - {key: "preimage_hash", params: {preimage_hash: opContents.preimage_hash}}, - {key: "preimage_size", params: {preimage_size: opContents.preimage_size}}, - {key: "claim_period_seconds", params: {claim_period_seconds: opContents.claim_period_seconds}}, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } - } else if (opType == 50) { - // htlc_redeem - let redeemer = accountResults.find((resAcc) => resAcc.id === opContents.redeemer).accountName; - if (redeemer) { - currentOperation['rows'] = [ - {key: "htlc_id", params: {htlc_id: opContents.htlc_id}}, - {key: "redeemer", params: {redeemer: redeemer, redeemerOP: opContents.redeemer}}, - {key: "preimage", params: {preimage: opContents.preimage}}, - {key: "extensions", params: {extensions: opContents.extensions ? JSON.stringify(opContents.extensions) : "[]"}}, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } - } else if (opType == 52) { - // htlc_extend - let update_issuer = accountResults.find((resAcc) => resAcc.id === opContents.update_issuer).accountName; - if (update_issuer) { - currentOperation['rows'] = [ - {key: "htlc_id", params: {htlc_id: opContents.htlc_id}}, - {key: "update_issuer", params: {update_issuer: update_issuer, update_issuerOP: opContents.update_issuer}}, - {key: "seconds_to_add", params: {seconds_to_add: opContents.seconds_to_add}}, - {key: "extensions", params: {extensions: opContents.extensions ? JSON.stringify(opContents.extensions) : "[]"}}, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } - } else if (opType == 54) { - // custom_authority_create - let account = accountResults.find((resAcc) => resAcc.id === opContents.account).accountName; - if (account) { - currentOperation['rows'] = [ - {key: "account", params: {account: account, accountOP: opContents.account}}, - {key: "enabled", params: {enabled: opContents.enabled}}, - {key: "valid_from", params: {valid_from: opContents.valid_from}}, - {key: "valid_to", params: {valid_to: opContents.valid_to}}, - {key: "operation_type", params: {operation_type: opContents.operation_type}}, - {key: "auth", params: {auth: JSON.stringify(opContents.auth)}}, - {key: "restrictions", params: {restrictions: JSON.stringify(opContents.restrictions)}}, - {key: "extensions", params: {extensions: opContents.extensions ? JSON.stringify(opContents.extensions) : "[]"}}, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } - } else if (opType == 55) { - // custom_authority_update - let account = accountResults.find((resAcc) => resAcc.id === opContents.account).accountName; - - if (account) { - currentOperation['rows'] = [ - {key: "account", params: {account: account, accountOP: opContents.account}}, - {key: "authority_to_update", params: {authority_to_update: opContents.authority_to_update}}, - {key: "new_enabled", params: {new_enabled: opContents.new_enabled}}, - {key: "new_valid_from", params: {new_valid_from: opContents.new_valid_from}}, - {key: "new_valid_to", params: {new_valid_to: opContents.new_valid_to}}, - {key: "new_auth", params: {new_auth: JSON.stringify(opContents.new_auth)}}, - {key: "restrictions_to_remove", params: {restrictions_to_remove: JSON.stringify(opContents.restrictions_to_remove)}}, - {key: "restrictions_to_add", params: {restrictions_to_add: JSON.stringify(opContents.restrictions_to_add)}}, - {key: "extensions", params: {extensions: opContents.extensions ? JSON.stringify(opContents.extensions) : "[]"}}, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } - } else if (opType == 56) { - // custom_authority_delete - let account = accountResults.find((resAcc) => resAcc.id === opContents.account).accountName; - if (account) { - currentOperation['rows'] = [ - {key: "account", params: {account: account, accountOP: opContents.account}}, - {key: "authority_to_delete", params: {authority_to_delete: opContents.authority_to_delete}}, - {key: "extensions", params: {extensions: opContents.extensions ? JSON.stringify(opContents.extensions) : "[]"}}, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } - } else if (opType == 57) { - // ticket_create - let account = accountResults.find((resAcc) => resAcc.id === opContents.account).accountName; - let ticketAsset = assetResults.find((assRes) => assRes.id === opContents.amount.asset_id); - - if (account && ticketAsset) { - currentOperation['rows'] = [ - {key: "account", params: {account: account, accountOP: opContents.account}}, - {key: "target_type", params: {target_type: opContents.target_type}}, - {key: "amount", params: {amount: formatAsset(opContents.amount.amount, ticketAsset.symbol, ticketAsset.precision)}}, - {key: "extensions", params: {extensions: opContents.extensions ? JSON.stringify(opContents.extensions) : "[]"}}, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } - } else if (opType == 58) { - // ticket_update - let account = accountResults.find((resAcc) => resAcc.id === opContents.account).accountName; - let ticketAsset = assetResults.find((assRes) => assRes.id === opContents.amount_for_new_target.asset_id); - - if (account && ticketAsset) { - currentOperation['rows'] = [ - {key: "ticket", params: {ticket: opContents.ticket}}, - {key: "account", params: {account: account, accountOP: opContents.account}}, - {key: "target_type", params: {target_type: opContents.target_type}}, - {key: "amount_for_new_target", params: {amount_for_new_target: formatAsset(opContents.amount_for_new_target.amount, ticketAsset.symbol, ticketAsset.precision)}}, - {key: "extensions", params: {extensions: opContents.extensions ? JSON.stringify(opContents.extensions) : "[]"}}, - ]; - } - } else if (opType == 59) { - // liquidity_pool_create - let account = accountResults.find((resAcc) => resAcc.id === opContents.account).accountName; - let assetA = assetResults.find((assRes) => assRes.id === opContents.asset_a); - let assetB = assetResults.find((assRes) => assRes.id === opContents.asset_b); - let shareAsset = assetResults.find((assRes) => assRes.id === opContents.share_asset); - - if (account && assetA && assetB && shareAsset) { - currentOperation['rows'] = [ - {key: "account", params: {account: account, accountOP: opContents.account}}, - {key: "asset_a", params: {asset_a: assetA.symbol, asset_aOP: opContents.asset_a}}, - {key: "asset_b", params: {asset_b: assetB.symbol, asset_bOP: opContents.asset_b}}, - {key: "share_asset", params: {share_asset: shareAsset.symbol, share_assetOP: opContents.share_asset}}, - {key: "taker_fee_percent", params: {taker_fee_percent: opContents.taker_fee_percent}}, - {key: "withdrawal_fee_percent", params: {withdrawal_fee_percent: opContents.withdrawal_fee_percent}}, - {key: "extensions", params: {extensions: opContents.extensions ? JSON.stringify(opContents.extensions) : "[]"}}, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } - } else if (opType == 60) { - // liquidity_pool_delete - let account = accountResults.find((resAcc) => resAcc.id === opContents.account).accountName; - if (account) { - currentOperation['rows'] = [ - {key: "account", params: {account: account, accountOP: opContents.account}}, - {key: "pool_id", params: {pool_id: opContents.pool}}, - {key: "extensions", params: {extensions: opContents.extensions ? JSON.stringify(opContents.extensions) : "[]"}}, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } - } else if (opType == 61) { - // liquidity_pool_deposit - let account = accountResults.find((resAcc) => resAcc.id === opContents.account).accountName; - let amountA = assetResults.find((assRes) => assRes.id === opContents.amount_a.asset_id); - let amountB = assetResults.find((assRes) => assRes.id === opContents.amount_b.asset_id); - - if (account && amountA && amountB) { - currentOperation['rows'] = [ - {key: "account", params: {account: account, accountOP: opContents.account}}, - {key: "pool", params: {pool: opContents.pool}}, - { - key: "amount_a", - params: { - amount_a: formatAsset(opContents.amount_a.amount, amountA.symbol, amountA.precision), - amount_aOP: opContents.amount_a.asset_id - } - }, - { - key: "amount_b", - params: { - amount_b: formatAsset(opContents.amount_b.amount, amountB.symbol, amountB.precision), - amount_bOP: opContents.amount_b.asset_id - } - }, - {key: "extensions", params: {extensions: opContents.extensions ? JSON.stringify(opContents.extensions) : "[]"}}, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } - } else if (opType == 62) { - // liquidity_pool_withdraw - let account = accountResults.find((resAcc) => resAcc.id === opContents.account).accountName; - let shareAsset = assetResults.find((assRes) => assRes.id === opContents.share_amount.asset_id); - - if (account && shareAsset) { - currentOperation['rows'] = [ - {key: "account", params: {account: account, accountOP: opContents.account}}, - {key: "pool", params: {pool: opContents.pool}}, - { - key: "share_amount", - params: { - share_amount: formatAsset(opContents.share_amount.amount, shareAsset.symbol, shareAsset.precision), - share_amountOP: opContents.share_amount.asset_id - } - }, - {key: "extensions", params: {extensions: opContents.extensions ? JSON.stringify(opContents.extensions) : "[]"}}, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } - } else if (opType == 63) { - // liquidity_pool_exchange - let account = accountResults.find((resAcc) => resAcc.id === opContents.account).accountName; - let soldAsset = assetResults.find((assRes) => assRes.id === opContents.amount_to_sell.asset_id); - let receivedAsset = assetResults.find((assRes) => assRes.id === opContents.min_to_receive.asset_id); - - if (account && soldAsset && receivedAsset) { - currentOperation['rows'] = [ - {key: "account", params: {account: account, accountOP: opContents.account}}, - {key: "pool", params: {pool: opContents.pool}}, - { - key: "amount_to_sell", - params: { - amount_to_sell: formatAsset(opContents.amount_to_sell.amount, soldAsset.symbol, soldAsset.precision), - } - }, - { - key: "min_to_receive", - params: { - min_to_receive: formatAsset(opContents.min_to_receive.amount, receivedAsset.symbol, receivedAsset.precision), - } - }, - {key: "extensions", params: {extensions: opContents.extensions ? JSON.stringify(opContents.extensions) : "[]"}}, - {key: "fee", params: {fee: JSON.stringify(opContents.fee)}} - ]; - } - } else if (opType == 64) { - // samet_fund_create - let ownerAccount = accountResults.find((resAcc) => resAcc.id === opContents.owner_account).accountName; - if (ownerAccount) { - currentOperation['rows'] = [ - {key: "owner_account", params: {owner_account: ownerAccount, owner_accountOP: opContents.owner_account}}, - {key: "asset_type", params: {asset_type: opContents.asset_type}}, - {key: "balance", params: {balance: opContents.balance}}, - {key: "fee_rate", params: {fee_rate: opContents.fee_rate}}, - {key: "extensions", params: {extensions: opContents.extensions ? JSON.stringify(opContents.extensions) : "[]"}}, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } - } else if (opType == 65) { - // samet_fund_delete - let ownerAccount = accountResults.find((resAcc) => resAcc.id === opContents.owner_account).accountName; - if (ownerAccount) { - currentOperation['rows'] = [ - {key: "owner_account", params: {owner_account: ownerAccount, owner_accountOP: opContents.owner_account}}, - {key: "fund_id", params: {fund_id: opContents.fund_id}}, - {key: "extensions", params: {extensions: opContents.extensions ? JSON.stringify(opContents.extensions) : "[]"}}, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } - } else if (opType == 66) { - // samet_fund_update - let ownerAccount = accountResults.find((resAcc) => resAcc.id === opContents.owner_account).accountName; - - let deltaAmount = opContents.delta_amount - ? assetResults.find((assRes) => assRes.id === opContents.delta_amount.asset_id) - : null; - if (ownerAccount) { - currentOperation['rows'] = [ - {key: "owner_account", params: {owner_account: ownerAccount, owner_accountOP: opContents.owner_account}}, - {key: "fund_id", params: {fund_id: opContents.fund_id}}, - { - key: "delta_amount", - params: { - delta_amount: deltaAmount ? formatAsset(opContents.delta_amount.amount, deltaAmount.symbol, deltaAmount.precision) : '{}', - } - }, - {key: "new_fee_rate", params: {new_fee_rate: opContents.new_fee_rate}}, - {key: "extensions", params: {extensions: opContents.extensions ? JSON.stringify(opContents.extensions) : "[]"}}, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } - } else if (opType == 67) { - // samet_fund_borrow - let borrower = accountResults.find((resAcc) => resAcc.id === opContents.borrower).accountName; - let borrowAmount = assetResults.find((assRes) => assRes.id === opContents.borrow_amount.asset_id); - - if (borrower && borrowAmount) { - currentOperation['rows'] = [ - {key: "borrower", params: {borrower: borrower, borrowerOP: opContents.borrower}}, - {key: "fund_id", params: {fund_id: opContents.fund_id}}, - { - key: "borrow_amount", - params: { - borrow_amount: formatAsset(opContents.borrow_amount.amount, borrowAmount.symbol, borrowAmount.precision), - } - }, - {key: "extensions", params: {extensions: opContents.extensions ? JSON.stringify(opContents.extensions) : "[]"}}, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } - } else if (opType == 68) { - // samet_fund_repay - let account = accountResults.find((resAcc) => resAcc.id === opContents.account).accountName; - let repayAmount = assetResults.find((assRes) => assRes.id === opContents.repay_amount.asset_id); - let fundFee = assetResults.find((assRes) => assRes.id === opContents.fund_fee.asset_id); - - if (account && repayAmount && fundFee) { - currentOperation['rows'] = [ - {key: "account", params: {account: account, accountOP: opContents.account}}, - {key: "fund_id", params: {fund_id: opContents.fund_id}}, - { - key: "repay_amount", - params: { - repay_amount: formatAsset(opContents.repay_amount.amount, repayAmount.symbol, repayAmount.precision), - } - }, - { - key: "fund_fee", - params: { - fund_fee: formatAsset(opContents.fund_fee.amount, fundFee.symbol, fundFee.precision), - } - }, - {key: "extensions", params: {extensions: opContents.extensions ? JSON.stringify(opContents.extensions) : "[]"}}, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } - - } else if (opType == 69) { - // credit_offer_create - let ownerAccount = accountResults.find((resAcc) => resAcc.id === opContents.owner_account).accountName; - if (ownerAccount) { - currentOperation['rows'] = [ - {key: "owner_account", params: {owner_account: ownerAccount, owner_accountOP: opContents.owner_account}}, - {key: "asset_type", params: {asset_type: opContents.asset_type}}, - {key: "balance", params: {balance: opContents.balance}}, - {key: "fee_rate", params: {fee_rate: opContents.fee_rate}}, - {key: "max_duration_seconds", params: {max_duration_seconds: opContents.max_duration_seconds}}, - {key: "min_deal_amount", params: {min_deal_amount: opContents.min_deal_amount}}, - {key: "enabled", params: {enabled: opContents.enabled}}, - {key: "auto_disable_time", params: {auto_disable_time: opContents.auto_disable_time}}, - {key: "acceptable_collateral", params: {acceptable_collateral: JSON.stringify(opContents.acceptable_collateral)}}, - {key: "acceptable_borrowers", params: {acceptable_borrowers: JSON.stringify(opContents.acceptable_borrowers)}}, - {key: "extensions", params: {extensions: opContents.extensions ? JSON.stringify(opContents.extensions) : "[]"}}, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } - } else if (opType == 70) { - // credit_offer_delete - let ownerAccount = accountResults.find((resAcc) => resAcc.id === opContents.owner_account).accountName; - if (ownerAccount) { - currentOperation['rows'] = [ - {key: "owner_account", params: {owner_account: ownerAccount, owner_accountOP: opContents.owner_account}}, - {key: "offer_id", params: {offer_id: opContents.offer_id}}, - {key: "extensions", params: {extensions: opContents.extensions ? JSON.stringify(opContents.extensions) : "[]"}}, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } - } else if (opType == 71) { - // credit_offer_update - let ownerAccount = accountResults.find((resAcc) => resAcc.id === opContents.owner_account).accountName; - - let deltaAmount = opContents.delta_amount - ? assetResults.find((assRes) => assRes.id === opContents.delta_amount.asset_id) - : null; - - if (ownerAccount && deltaAmount) { - currentOperation['rows'] = [ - {key: "owner_account", params: {owner_account: ownerAccount, owner_accountOP: opContents.owner_account}}, - {key: "offer_id", params: {offer_id: opContents.offer_id}}, - { - key: "delta_amount", - params: { - delta_amount: formatAsset(opContents.delta_amount.amount, deltaAmount.symbol, deltaAmount.precision), - } - }, - {key: "fee_rate", params: {fee_rate: opContents.fee_rate}}, - {key: "max_duration_seconds", params: {max_duration_seconds: opContents.max_duration_seconds}}, - {key: "min_deal_amount", params: {min_deal_amount: opContents.min_deal_amount}}, - {key: "enabled", params: {enabled: opContents.enabled}}, - {key: "auto_disable_time", params: {auto_disable_time: opContents.auto_disable_time}}, - {key: "acceptable_collateral", params: {acceptable_collateral: JSON.stringify(opContents.acceptable_collateral)}}, - {key: "acceptable_borrowers", params: {acceptable_borrowers: JSON.stringify(opContents.acceptable_borrowers)}}, - {key: "extensions", params: {extensions: opContents.extensions ? JSON.stringify(opContents.extensions) : "[]"}}, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } - } else if (opType == 72) { - // credit_offer_accept - let borrower = accountResults.find((resAcc) => resAcc.id === opContents.borrower).accountName; - let borrowAmount = assetResults.find((assRes) => assRes.id === opContents.borrow_amount.asset_id); - let collateral = assetResults.find((assRes) => assRes.id === opContents.collateral.asset_id); - - if (borrower && borrowAmount && collateral) { - currentOperation['rows'] = [ - {key: "borrower", params: {borrower: borrower, borrowerOP: opContents.borrower}}, - {key: "offer_id", params: {offer_id: opContents.offer_id}}, - { - key: "borrow_amount", - params: { - borrow_amount: formatAsset(opContents.borrow_amount.amount, borrowAmount.symbol, borrowAmount.precision), - } - }, - { - key: "collateral", - params: { - collateral: formatAsset(opContents.collateral.amount, collateral.symbol, collateral.precision), - } - }, - {key: "max_fee_rate", params: {max_fee_rate: opContents.max_fee_rate}}, - {key: "min_duration_seconds", params: {min_duration_seconds: opContents.min_duration_seconds}}, - {key: "extensions", params: {extensions: opContents.extensions ? JSON.stringify(opContents.extensions) : "[]"}}, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } - } else if (opType == 73) { - // credit_deal_repay - let account = accountResults.find((resAcc) => resAcc.id === opContents.account).accountName; - let repayAmount = assetResults.find((assRes) => assRes.id === opContents.repay_amount.asset_id); - let creditFee = assetResults.find((assRes) => assRes.id === opContents.credit_fee.asset_id); - - if (account && repayAmount && creditFee) { - currentOperation['rows'] = [ - {key: "account", params: {account: account, accountOP: opContents.account}}, - {key: "deal_id", params: {deal_id: opContents.deal_id}}, - { - key: "repay_amount", - params: { - repay_amount: formatAsset(opContents.repay_amount.amount, repayAmount.symbol, repayAmount.precision), - } - }, - { - key: "credit_fee", - params: { - credit_fee: formatAsset(opContents.credit_fee.amount, creditFee.symbol, creditFee.precision), - } - }, - {key: "extensions", params: {extensions: opContents.extensions ? JSON.stringify(opContents.extensions) : "[]"}}, - {key: "fee", params: {fee: JSON.stringify(opContents.fee) }} - ]; - } - } - - return currentOperation; // No matching operation -} \ No newline at end of file diff --git a/src/lib/blockchains/blockchainFactory.js b/src/lib/blockchains/blockchainFactory.js index 1b763263..e410e824 100644 --- a/src/lib/blockchains/blockchainFactory.js +++ b/src/lib/blockchains/blockchainFactory.js @@ -1,17 +1,10 @@ import { blockchains } from "../../config/config.js"; -import BitShares from "./BitShares" -import TUSC from "./TUSC" import store from "../../store"; -import Bitcoin from "./Bitcoin"; -/* -import Steem from "./Steem" -import WhaleShares from "./WhaleShares"; import EOSmainnet from "./EOSmainnet"; import TLOS from "./TLOS"; -import Binance from "./Binance"; -*/ +import BEOS from "./BEOS"; let storedChain; let lastChain; @@ -39,26 +32,13 @@ export default function getBlockchainAPI(chain = null, node = null) { if (!storedChain) { try { - if (chain == "BTS" || chain == "BTS_TEST") { - storedChain = new BitShares(config, node); - } else if (chain == "TUSC") { - storedChain = new TUSC(config, node); - } else if (chain == "BTC" || chain == "BTC_TEST") { - storedChain = new Bitcoin(config, node); - } - /* - else if (chain == "STEEM" || chain == "STM") { - storedChain = new Steem(config, node); - } else if (chain == "WLS") { - storedChain = new WhaleShares(config, node); - } else if (chain == "EOS") { - storedChain = new EOSmainnet(config, node); - } else if (chain == "TLOS") { - storedChain = new TLOS(config, node); - } else if (chain == "BNB" || chain == "BNB_TEST") { - storedChain = new Binance(config, node); - } - */ + if (chain == "EOS") { + storedChain = new EOSmainnet(config, node); + } else if (chain == "BEOS") { + storedChain = new BEOS(config, node); + } else if (chain == "TLOS") { + storedChain = new TLOS(config, node); + } } catch (error) { console.log(error); return;