From d771eb8fa8373a81bdf5636e03e50ce5fd37f99d Mon Sep 17 00:00:00 2001 From: Asher Dawes Date: Mon, 3 Aug 2020 15:28:38 -0700 Subject: [PATCH 01/10] Update dependencies --- gui/Verus-Desktop-GUI | 2 +- package.json | 8 +- yarn.lock | 281 ++++++++++++------------------------------ 3 files changed, 84 insertions(+), 207 deletions(-) diff --git a/gui/Verus-Desktop-GUI b/gui/Verus-Desktop-GUI index 54d93305..4d6cb143 160000 --- a/gui/Verus-Desktop-GUI +++ b/gui/Verus-Desktop-GUI @@ -1 +1 @@ -Subproject commit 54d93305b766de0926400a741e8784c87885daf3 +Subproject commit 4d6cb1439f81dcaf21a75605aa7a3ec24dcf55d5 diff --git a/package.json b/package.json index 5d5be1f2..829e2baa 100644 --- a/package.json +++ b/package.json @@ -74,6 +74,7 @@ "socket.io": "^2.1.1", "systeminformation": "^4.18.0", "wif": "^2.0.6" + }, "optionalDependencies": { "osx-temperature-sensor": "^1.0.4" @@ -143,13 +144,16 @@ } }, "resolutions": { - "lodash": "^4.17.15", + "lodash": "^4.17.19", "js-yaml": "^3.13.1", "tar": "^4.4.8", "https-proxy-agent": "2.2.4", "mem": "4.0.0", "bin-links": "1.1.6", "yargs-parser": "^13.1.2", - "minimist": "^1.2.5" + "minimist": "^1.2.5", + "elliptic": "^6.5.3", + "dot-prop": "^5.2.0", + "npm-registry-fetch": "^4.0.5" } } diff --git a/yarn.lock b/yarn.lock index 22648031..16d5f8dd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -116,7 +116,7 @@ after@0.8.2: "agama-wallet-lib@git+https://github.com/VerusCoin/agama-wallet-lib.git#dev": version "0.3.4" - resolved "git+https://github.com/VerusCoin/agama-wallet-lib.git#ebf2d1adb04536f549d6e47906b6b9ff5c35d41c" + resolved "git+https://github.com/VerusCoin/agama-wallet-lib.git#c6b51636eb7a3fb80b1e3cc1386e301eb85f27e3" dependencies: bigi "^1.4.2" bip32 "^1.0.2" @@ -135,7 +135,7 @@ after@0.8.2: iocane "^1.0.0" js-sha256 "^0.7.1" nodejs-aes256 "^1.0.1" - npm "^6.14.5" + npm "^6.14.7" passwd-strength "git+https://github.com/pbca26/passwd-strength.git" sha256 "^0.2.0" tx-builder "^0.18.0" @@ -454,7 +454,7 @@ bigi@^1.1.0, bigi@^1.4.0, bigi@^1.4.2: resolved "https://registry.yarnpkg.com/bigi/-/bigi-1.4.2.tgz#9c665a95f88b8b08fc05cfd731f561859d725825" integrity sha1-nGZalfiLiwj8Bc/XMfVhhZ1yWCU= -bin-links@1.1.6, bin-links@^1.1.2, bin-links@^1.1.7: +bin-links@1.1.6, bin-links@^1.1.2, bin-links@^1.1.8: version "1.1.6" resolved "https://registry.yarnpkg.com/bin-links/-/bin-links-1.1.6.tgz#30d33e810829305e5e61b90cfcb9a3a4f65eb516" integrity sha512-b5rV3uVyrlrJWLI3mawUUf5t2f9mCEQm/TqT5zNj6DPYhYDZaNp0AYaYd/CVASkSEklayNDLliZHVdo2J3niPw== @@ -571,7 +571,7 @@ bitcoinjs-message@^2.1.0: "bitgo-utxo-lib@git+https://github.com/VerusCoin/bitgo-utxo-lib.git": version "1.5.0" - resolved "git+https://github.com/VerusCoin/bitgo-utxo-lib.git#01ff39e27c140c5f08a9910b249380e1fd30f91a" + resolved "git+https://github.com/VerusCoin/bitgo-utxo-lib.git#60f4ae3056cbd8c295571c9c6480058ae9a653b1" dependencies: bech32 "0.0.3" bigi "^1.4.0" @@ -628,11 +628,6 @@ bn.js@=2.0.4: resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-2.0.4.tgz#220a7cd677f7f1bfa93627ff4193776fe7819480" integrity sha1-Igp81nf38b+pNif/QZN3b+eBlIA= -bn.js@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-2.2.0.tgz#12162bc2ae71fc40a5626c33438f3a875cd37625" - integrity sha1-EhYrwq5x/EClYmwzQ486h1zTdiU= - bn.js@^4.11.0, bn.js@^4.11.1, bn.js@^4.11.8, bn.js@^4.4.0: version "4.11.8" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" @@ -982,15 +977,6 @@ cli-table3@^0.5.0, cli-table3@^0.5.1: optionalDependencies: colors "^1.1.2" -cliui@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" - integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ== - dependencies: - string-width "^2.1.1" - strip-ansi "^4.0.0" - wrap-ansi "^2.0.0" - cliui@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" @@ -1355,7 +1341,7 @@ debuglog@^1.0.1: resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" integrity sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI= -decamelize@^1.1.1, decamelize@^1.1.2, decamelize@^1.2.0: +decamelize@^1.1.2, decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= @@ -1456,14 +1442,7 @@ dmg-builder@22.6.1: js-yaml "^3.13.1" sanitize-filename "^1.6.3" -dot-prop@^4.1.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57" - integrity sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ== - dependencies: - is-obj "^1.0.0" - -dot-prop@^5.2.0: +dot-prop@^4.1.0, dot-prop@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.2.0.tgz#c34ecc29556dc45f1f4c22697b6f4904e0cc4fcb" integrity sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A== @@ -1625,33 +1604,10 @@ electron@^4.2.12: electron-download "^4.1.0" extract-zip "^1.0.3" -elliptic@6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.2.tgz#05c5678d7173c049d8ca433552224a495d0e3762" - integrity sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw== - dependencies: - bn.js "^4.4.0" - brorand "^1.0.1" - hash.js "^1.0.0" - hmac-drbg "^1.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.0" - -elliptic@=3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-3.0.3.tgz#865c9b420bfbe55006b9f969f97a0d2c44966595" - integrity sha1-hlybQgv75VAGuflp+XoNLESWZZU= - dependencies: - bn.js "^2.0.0" - brorand "^1.0.1" - hash.js "^1.0.0" - inherits "^2.0.1" - -elliptic@^6.4.0, elliptic@^6.4.1: - version "6.5.1" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.1.tgz#c380f5f909bf1b9b4428d028cd18d3b0efd6b52b" - integrity sha512-xvJINNLbTeWQjrl6X+7eQCrIy/YPv5XCpKW6kB5mKvtnGILoLDcySuwomfdzt0BMdLNVnuRNTuzKNHj0bva1Cg== +elliptic@6.5.2, elliptic@=3.0.3, elliptic@^6.4.0, elliptic@^6.4.1, elliptic@^6.5.3: + version "6.5.3" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.3.tgz#cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6" + integrity sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw== dependencies: bn.js "^4.4.0" brorand "^1.0.1" @@ -2037,13 +1993,6 @@ find-up@^1.0.0: path-exists "^2.0.0" pinkie-promise "^2.0.0" -find-up@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= - dependencies: - locate-path "^2.0.0" - find-up@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" @@ -2223,10 +2172,22 @@ gentle-fs@^2.3.0: read-cmd-shim "^1.0.1" slide "^1.1.6" -get-caller-file@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" - integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== +gentle-fs@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/gentle-fs/-/gentle-fs-2.3.1.tgz#11201bf66c18f930ddca72cf69460bdfa05727b1" + integrity sha512-OlwBBwqCFPcjm33rF2BjW+Pr6/ll2741l+xooiwTCeaX2CA1ZuclavyMBe0/KlR21/XGsgY6hzEQZ15BdNa13Q== + dependencies: + aproba "^1.1.2" + chownr "^1.1.2" + cmd-shim "^3.0.3" + fs-vacuum "^1.2.10" + graceful-fs "^4.1.11" + iferr "^0.1.5" + infer-owner "^1.0.4" + mkdirp "^0.5.1" + path-is-inside "^1.0.2" + read-cmd-shim "^1.0.1" + slide "^1.1.6" get-caller-file@^2.0.1: version "2.0.5" @@ -2643,11 +2604,6 @@ install@^0.12.2: resolved "https://registry.yarnpkg.com/install/-/install-0.12.2.tgz#ea10e9b2cbb5b0484f25080b24b5b34429d9f564" integrity sha512-+7thTb4Rpvs9mnlhHKGZFJbGOO6kyMgy+gg0sgM5vFzIFK0wrCYXqdlaM71Bi289DTuPHf61puMFsaZBcwDIrg== -invert-kv@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" - integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY= - iocane@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/iocane/-/iocane-1.0.2.tgz#3697b168e699bdcded8d6418f962e0a3237db50e" @@ -2768,11 +2724,6 @@ is-number-like@^1.0.3: dependencies: lodash.isfinite "^3.3.2" -is-obj@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" - integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= - is-obj@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" @@ -3011,17 +2962,10 @@ lazy-val@^1.0.4: resolved "https://registry.yarnpkg.com/lazy-val/-/lazy-val-1.0.4.tgz#882636a7245c2cfe6e0a4e3ba6c5d68a137e5c65" integrity sha512-u93kb2fPbIrfzBuLjZE+w+fJbUUMhNDXxNmMfaqNgpfQf1CO5ZSe2LfsnBqVAk7i/2NF48OSoRj+Xe2VT+lE8Q== -lcid@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" - integrity sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU= - dependencies: - invert-kv "^1.0.0" - -libcipm@^4.0.7: - version "4.0.7" - resolved "https://registry.yarnpkg.com/libcipm/-/libcipm-4.0.7.tgz#76cd675c98bdaae64db88b782b01b804b6d02c8a" - integrity sha512-fTq33otU3PNXxxCTCYCYe7V96o59v/o7bvtspmbORXpgFk+wcWrGf5x6tBgui5gCed/45/wtPomBsZBYm5KbIw== +libcipm@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/libcipm/-/libcipm-4.0.8.tgz#dcea4919e10dfbce420327e63901613b9141bc89" + integrity sha512-IN3hh2yDJQtZZ5paSV4fbvJg4aHxCCg5tcZID/dSVlTuUiWktsgaldVljJv6Z5OUlYspx6xQkbR0efNodnIrOA== dependencies: bin-links "^1.1.2" bluebird "^3.5.1" @@ -3029,7 +2973,7 @@ libcipm@^4.0.7: find-npm-prefix "^1.0.2" graceful-fs "^4.1.11" ini "^1.3.5" - lock-verify "^2.0.2" + lock-verify "^2.1.0" mkdirp "^0.5.1" npm-lifecycle "^3.0.0" npm-logical-tree "^1.2.1" @@ -3138,10 +3082,10 @@ libnpmteam@^1.0.2: get-stream "^4.0.0" npm-registry-fetch "^4.0.0" -libnpx@^10.2.2: - version "10.2.3" - resolved "https://registry.yarnpkg.com/libnpx/-/libnpx-10.2.3.tgz#d5e01f12d383ffca9a947807ca6a8f587d38fe2c" - integrity sha512-bCvdARu55fLQBhMfcYGF0GznF1kB2sqxq/9zKZ3652M8DDFWpVpCnpgzjzn0yWMDMez5ZGMBiX24yR11uEYZVQ== +libnpx@^10.2.4: + version "10.2.4" + resolved "https://registry.yarnpkg.com/libnpx/-/libnpx-10.2.4.tgz#ef0e3258e29aef2ec7ee3276115e20e67f67d4ee" + integrity sha512-BPc0D1cOjBeS8VIBKUu5F80s6njm0wbVt7CsGMrIcJ+SI7pi7V0uVPGpEMH9H5L8csOcclTxAXFE2VAsJXUhfA== dependencies: dotenv "^5.0.1" npm-package-arg "^6.0.0" @@ -3150,7 +3094,7 @@ libnpx@^10.2.2: update-notifier "^2.3.0" which "^1.3.0" y18n "^4.0.0" - yargs "^11.0.0" + yargs "^14.2.3" load-json-file@^1.0.0: version "1.1.0" @@ -3163,14 +3107,6 @@ load-json-file@^1.0.0: pinkie-promise "^2.0.0" strip-bom "^2.0.0" -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - locate-path@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" @@ -3249,10 +3185,10 @@ lodash.without@~4.4.0: resolved "https://registry.yarnpkg.com/lodash.without/-/lodash.without-4.4.0.tgz#3cd4574a00b67bae373a94b748772640507b7aac" integrity sha1-PNRXSgC2e643OpS3SHcmQFB7eqw= -lodash@=3.10.1, lodash@^4.17.14, lodash@^4.17.15: - version "4.17.15" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" - integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== +lodash@=3.10.1, lodash@^4.17.14, lodash@^4.17.19: + version "4.17.19" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b" + integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ== log-symbols@^2.2.0: version "2.2.0" @@ -3356,7 +3292,7 @@ media-typer@0.3.0: resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= -mem@4.0.0, mem@^1.1.0: +mem@4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/mem/-/mem-4.0.0.tgz#6437690d9471678f6cc83659c00cbafcd6b0cdaf" integrity sha512-WQxG/5xYc3tMbYLXoXPm81ET2WDULiU5FxbuIoNbJqLOOI8zehXFdZuiUEgfdrU2mVB1pxBZUGlYORSrpuJreA== @@ -3672,10 +3608,10 @@ normalize-url@^4.1.0: resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.4.1.tgz#81e9c153b0ad5743755696f2aa20488d48e962b6" integrity sha512-rjH3yRt0Ssx19mUwS0hrDUOdG9VI+oRLpLHJ7tXRdjcuQ7v7wo6qPvOZppHRrqfslTKr0L2yBhjj4UXd7c3cQg== -npm-audit-report@^1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/npm-audit-report/-/npm-audit-report-1.3.2.tgz#303bc78cd9e4c226415076a4f7e528c89fc77018" - integrity sha512-abeqS5ONyXNaZJPGAf6TOUMNdSe1Y6cpc9MLBRn+CuUoYbfdca6AxOyXVlfIv9OgKX+cacblbG5w7A6ccwoTPw== +npm-audit-report@^1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/npm-audit-report/-/npm-audit-report-1.3.3.tgz#8226deeb253b55176ed147592a3995442f2179ed" + integrity sha512-8nH/JjsFfAWMvn474HB9mpmMjrnKb1Hx/oTAdjv4PT9iZBvBxiZ+wtDUapHCJwLqYGQVPaAfs+vL5+5k9QndXw== dependencies: cli-table3 "^0.5.0" console-control-strings "^1.1.0" @@ -3697,7 +3633,7 @@ npm-install-checks@^3.0.2: dependencies: semver "^2.3.0 || 3.x || 4 || 5" -npm-lifecycle@^3.0.0, npm-lifecycle@^3.1.4: +npm-lifecycle@^3.0.0: version "3.1.4" resolved "https://registry.yarnpkg.com/npm-lifecycle/-/npm-lifecycle-3.1.4.tgz#de6975c7d8df65f5150db110b57cce498b0b604c" integrity sha512-tgs1PaucZwkxECGKhC/stbEgFyc3TGh2TJcg2CDr6jbvQRdteHNhmMeljRzpe4wgFAXQADoy1cSqqi7mtiAa5A== @@ -3711,6 +3647,20 @@ npm-lifecycle@^3.0.0, npm-lifecycle@^3.1.4: umask "^1.1.0" which "^1.3.1" +npm-lifecycle@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/npm-lifecycle/-/npm-lifecycle-3.1.5.tgz#9882d3642b8c82c815782a12e6a1bfeed0026309" + integrity sha512-lDLVkjfZmvmfvpvBzA4vzee9cn+Me4orq0QF8glbswJVEbIcSNWib7qGOffolysc3teCqbbPZZkzbr3GQZTL1g== + dependencies: + byline "^5.0.0" + graceful-fs "^4.1.15" + node-gyp "^5.0.2" + resolve-from "^4.0.0" + slide "^1.1.6" + uid-number "0.0.6" + umask "^1.1.0" + which "^1.3.1" + npm-logical-tree@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/npm-logical-tree/-/npm-logical-tree-1.2.1.tgz#44610141ca24664cad35d1e607176193fd8f5b88" @@ -3775,23 +3725,10 @@ npm-profile@^4.0.4: figgy-pudding "^3.4.1" npm-registry-fetch "^4.0.0" -npm-registry-fetch@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-4.0.1.tgz#4ec0964dce6f29d253801a47cd381a7d6ad13a5e" - integrity sha512-1ZQ+yjnxc698R5h9Yje9CASapzAZr7aYDkJDdERg9xg2hOEY0vRJwskOaJAXq8N/eLavzvW4g564YAfq6zMn/A== - dependencies: - JSONStream "^1.3.4" - bluebird "^3.5.1" - figgy-pudding "^3.4.1" - lru-cache "^5.1.1" - make-fetch-happen "^5.0.0" - npm-package-arg "^6.1.0" - safe-buffer "^5.2.0" - -npm-registry-fetch@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-4.0.4.tgz#2da1ecf3f43d419d96abf313664291a4623d3ea5" - integrity sha512-6jb34hX/iYNQebqWUHtU8YF6Cjb1H6ouTFPClYsyiW6lpFkljTpdeftm53rRojtja1rKAvKNIIiTS5Sjpw4wsA== +npm-registry-fetch@^4.0.0, npm-registry-fetch@^4.0.5: + version "4.0.5" + resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-4.0.5.tgz#cb87cf7f25bfb048d6c3ee19d115bebf93ea5bfa" + integrity sha512-yQ0/U4fYpCCqmueB2g8sc+89ckQ3eXpmU4+Yi2j5o/r0WkKvE2+Y0tK3DEILAtn2UaQTkjTHxIXe2/CSdit+/Q== dependencies: JSONStream "^1.3.4" bluebird "^3.5.1" @@ -3813,10 +3750,10 @@ npm-user-validate@~1.0.0: resolved "https://registry.yarnpkg.com/npm-user-validate/-/npm-user-validate-1.0.0.tgz#8ceca0f5cea04d4e93519ef72d0557a75122e951" integrity sha1-jOyg9c6gTU6TUZ73LQVXp1Ei6VE= -npm@^6.14.5: - version "6.14.5" - resolved "https://registry.yarnpkg.com/npm/-/npm-6.14.5.tgz#2cc59a3158cdd8461b486d0584c74ab554567219" - integrity sha512-CDwa3FJd0XJpKDbWCST484H+mCNjF26dPrU+xnREW+upR0UODjMEfXPl3bxWuAwZIX6c2ASg1plLO7jP8ehWeA== +npm@^6.14.7: + version "6.14.7" + resolved "https://registry.yarnpkg.com/npm/-/npm-6.14.7.tgz#011584b469467e5bc5acd5a0dbe58a3d46869582" + integrity sha512-swhsdpNpyXg4GbM6LpOQ6qaloQuIKizZ+Zh6JPXJQc59ka49100Js0WvZx594iaKSoFgkFq2s8uXFHS3/Xy2WQ== dependencies: JSONStream "^1.3.5" abbrev "~1.1.1" @@ -3824,7 +3761,7 @@ npm@^6.14.5: ansistyles "~0.1.3" aproba "^2.0.0" archy "~1.0.0" - bin-links "^1.1.7" + bin-links "^1.1.8" bluebird "^3.5.5" byte-size "^5.0.1" cacache "^12.0.3" @@ -3844,7 +3781,7 @@ npm@^6.14.5: find-npm-prefix "^1.0.2" fs-vacuum "~1.2.10" fs-write-stream-atomic "~1.0.10" - gentle-fs "^2.3.0" + gentle-fs "^2.3.1" glob "^7.1.6" graceful-fs "^4.2.4" has-unicode "~2.0.1" @@ -3858,14 +3795,14 @@ npm@^6.14.5: is-cidr "^3.0.0" json-parse-better-errors "^1.0.2" lazy-property "~1.0.0" - libcipm "^4.0.7" + libcipm "^4.0.8" libnpm "^3.0.1" libnpmaccess "^3.0.2" libnpmhook "^5.0.3" libnpmorg "^1.0.1" libnpmsearch "^2.0.2" libnpmteam "^1.0.2" - libnpx "^10.2.2" + libnpx "^10.2.4" lock-verify "^2.1.0" lockfile "^1.0.4" lodash._baseuniq "~4.6.0" @@ -3881,15 +3818,15 @@ npm@^6.14.5: node-gyp "^5.1.0" nopt "^4.0.3" normalize-package-data "^2.5.0" - npm-audit-report "^1.3.2" + npm-audit-report "^1.3.3" npm-cache-filename "~1.0.2" npm-install-checks "^3.0.2" - npm-lifecycle "^3.1.4" + npm-lifecycle "^3.1.5" npm-package-arg "^6.1.1" npm-packlist "^1.4.8" npm-pick-manifest "^3.0.2" npm-profile "^4.0.4" - npm-registry-fetch "^4.0.4" + npm-registry-fetch "^4.0.5" npm-user-validate "~1.0.0" npmlog "~4.1.2" once "~1.4.0" @@ -4048,15 +3985,6 @@ os-homedir@^1.0.0: resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= -os-locale@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" - integrity sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA== - dependencies: - execa "^0.7.0" - lcid "^1.0.0" - mem "^1.1.0" - os-tmpdir@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" @@ -4095,13 +4023,6 @@ p-is-promise@^1.1.0: resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-1.1.0.tgz#9c9456989e9f6588017b0434d56097675c3da05e" integrity sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4= -p-limit@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" - integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== - dependencies: - p-try "^1.0.0" - p-limit@^2.0.0: version "2.2.1" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.1.tgz#aa07a788cc3151c939b5131f63570f0dd2009537" @@ -4116,13 +4037,6 @@ p-limit@^2.2.0: dependencies: p-try "^2.0.0" -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" - integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= - dependencies: - p-limit "^1.1.0" - p-locate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" @@ -4137,11 +4051,6 @@ p-locate@^4.1.0: dependencies: p-limit "^2.2.0" -p-try@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" - integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= - p-try@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" @@ -4839,11 +4748,6 @@ require-directory@^2.1.1: resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= -require-main-filename@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" - integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= - require-main-filename@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" @@ -5935,14 +5839,6 @@ worker-farm@^1.6.0, worker-farm@^1.7.0: dependencies: errno "~0.1.7" -wrap-ansi@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" - integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - wrap-ansi@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" @@ -6031,11 +5927,6 @@ xtend@~4.0.1: resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== -y18n@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" - integrity sha1-bRX7qITAhnnA136I53WegR4H+kE= - y18n@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" @@ -6051,7 +5942,7 @@ yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3: resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.0.tgz#906cc2100972dc2625ae78f566a2577230a1d6f7" integrity sha512-6gpP93MR+VOOehKbCPchro3wFZNSNmek8A2kbkOAZLIZAYx1KP/zAqwO0sOHi3xJEb+UBz8NaYt/17UNit1Q9w== -yargs-parser@^13.1.2, yargs-parser@^15.0.1, yargs-parser@^18.1.1, yargs-parser@^9.0.2: +yargs-parser@^13.1.2, yargs-parser@^15.0.1, yargs-parser@^18.1.1: version "13.1.2" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== @@ -6059,25 +5950,7 @@ yargs-parser@^13.1.2, yargs-parser@^15.0.1, yargs-parser@^18.1.1, yargs-parser@^ camelcase "^5.0.0" decamelize "^1.2.0" -yargs@^11.0.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-11.1.0.tgz#90b869934ed6e871115ea2ff58b03f4724ed2d77" - integrity sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A== - dependencies: - cliui "^4.0.0" - decamelize "^1.1.1" - find-up "^2.1.0" - get-caller-file "^1.0.1" - os-locale "^2.0.0" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^2.0.0" - which-module "^2.0.0" - y18n "^3.2.1" - yargs-parser "^9.0.2" - -yargs@^14.2.0: +yargs@^14.2.0, yargs@^14.2.3: version "14.2.3" resolved "https://registry.yarnpkg.com/yargs/-/yargs-14.2.3.tgz#1a1c3edced1afb2a2fea33604bc6d1d8d688a414" integrity sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg== From 5dcfed98f93fe637c159d2bbfff55824c7a23ba0 Mon Sep 17 00:00:00 2001 From: Asher Dawes Date: Mon, 3 Aug 2020 15:29:32 -0700 Subject: [PATCH 02/10] Update version --- .gitlab-ci.yml | 4 ++-- package.json | 2 +- version | 4 ++-- version_build | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b1c3eb1d..3d477d2c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -8,8 +8,8 @@ stages: variables: DOCKER_DRIVER: overlay2 DEFAULT_VERUSCOIN_BRANCH: release - VERUS_VERSION: 0.7.1-4 - VERUSCOIN_VERSION: 0.7.1-4 + VERUS_VERSION: 0.7.1-5 + VERUSCOIN_VERSION: 0.7.1-5 KOMODO_VERSION: 0.6.1 BINARY_SOURCE: VerusCoin VERUS_APPIMAGE_X64: Verus-Desktop-v${VERUS_VERSION}-x86_64.AppImage diff --git a/package.json b/package.json index 829e2baa..83afeab8 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "verus-desktop", "productName": "Verus-Desktop", - "version": "0.7.1-4", + "version": "0.7.1-5", "description": "Verus Desktop Wallet App", "main": "main.js", "scripts": { diff --git a/version b/version index f3775b91..05caa24e 100644 --- a/version +++ b/version @@ -1,2 +1,2 @@ -version=0.7.1-4 -minversion=0.7.1-4 \ No newline at end of file +version=0.7.1-5 +minversion=0.7.1-5 \ No newline at end of file diff --git a/version_build b/version_build index a609e157..82b44a38 100644 --- a/version_build +++ b/version_build @@ -1 +1 @@ -0.7.1-4 +0.7.1-5 From 62a375e1e6b62d1ca98005c13ef48613bbbad613 Mon Sep 17 00:00:00 2001 From: Michael Toutonghi Date: Wed, 5 Aug 2020 18:00:09 +0200 Subject: [PATCH 03/10] Move directory related api sub-objects to path sub-object --- routes/api/addressBook.js | 6 +- routes/api/appInfo.js | 10 +- routes/api/coindWalletKeys.js | 4 +- routes/api/coinsList.js | 10 +- routes/api/conf.js | 28 ++-- routes/api/confMaxconnections.js | 10 +- routes/api/config.js | 10 +- routes/api/daemonControl.js | 24 +-- routes/api/daemonControlDeprecated.js | 42 ++--- routes/api/data_files/backup.js | 6 +- routes/api/data_files/jsonFileManager.js | 6 +- routes/api/debugLog.js | 18 +-- routes/api/downloadZcparams.js | 26 +-- routes/api/electrum/cache.js | 10 +- routes/api/electrum/csv.js | 4 +- routes/api/electrum/servers.js | 22 +-- routes/api/exchange/exchange.js | 14 +- routes/api/init.js | 72 ++++----- routes/api/kickstart.js | 2 +- routes/api/log.js | 25 ++- routes/api/pathsUtil.js | 192 ++++++++++++----------- routes/api/pathsUtilDeprecated.js | 143 ----------------- routes/api/pin.js | 22 +-- routes/api/users.js | 20 +-- 24 files changed, 293 insertions(+), 433 deletions(-) delete mode 100644 routes/api/pathsUtilDeprecated.js diff --git a/routes/api/addressBook.js b/routes/api/addressBook.js index 507552e8..709f6193 100644 --- a/routes/api/addressBook.js +++ b/routes/api/addressBook.js @@ -10,7 +10,7 @@ module.exports = (api) => { const data = req.body.data; if (api.checkToken(req.body.token)) { - fs.writeFile(`${api.agamaDir}/shepherd/addressBook.json`, JSON.stringify(data), (err) => { + fs.writeFile(`${api.paths.agamaDir}/shepherd/addressBook.json`, JSON.stringify(data), (err) => { if (err) { api.log('error writing address book file', 'addressBook'); @@ -42,8 +42,8 @@ module.exports = (api) => { //TODO: Re-evauluate as POST or eliminate use of API token /*api.get('/addressbook', (req, res, next) => { if (api.checkToken(req.query.token)) { - if (fs.existsSync(`${api.agamaDir}/shepherd/addressBook.json`)) { - fs.readFile(`${api.agamaDir}/shepherd/addressBook.json`, 'utf8', (err, data) => { + if (fs.existsSync(`${api.paths.agamaDir}/shepherd/addressBook.json`)) { + fs.readFile(`${api.paths.agamaDir}/shepherd/addressBook.json`, 'utf8', (err, data) => { if (err) { const retObj = { msg: 'error', diff --git a/routes/api/appInfo.js b/routes/api/appInfo.js index ca34b353..c3f50aa9 100644 --- a/routes/api/appInfo.js +++ b/routes/api/appInfo.js @@ -22,16 +22,16 @@ module.exports = (api) => { const sysInfo = api.SystemInfo(); const releaseInfo = api.appBasicInfo; const dirs = { - agamaDir: api.agamaDir, - kmdDir: api.kmdDir, + agamaDir: api.paths.agamaDir, + kmdDir: api.paths.kmdDir, komododBin: api.komododBin, - configLocation: `${api.agamaDir}/config.json`, - cacheLocation: `${api.agamaDir}/spv-cache.json`, + configLocation: `${api.paths.agamaDir}/config.json`, + cacheLocation: `${api.paths.agamaDir}/spv-cache.json`, }; let spvCacheSize = '2 Bytes'; try { - spvCacheSize = formatBytes(fs.lstatSync(`${api.agamaDir}/spv-cache.json`).size); + spvCacheSize = formatBytes(fs.lstatSync(`${api.paths.agamaDir}/spv-cache.json`).size); } catch (e) {} return { diff --git a/routes/api/coindWalletKeys.js b/routes/api/coindWalletKeys.js index a4fa129a..edd087f5 100644 --- a/routes/api/coindWalletKeys.js +++ b/routes/api/coindWalletKeys.js @@ -15,8 +15,8 @@ module.exports = (api) => { const chain = req.query.chain; // ref: https://gist.github.com/kendricktan/1e62495150ad236b38616d733aac4eb9 - let _walletDatLocation = chain === 'komodo' || chain === 'KMD' || chain === 'null' ? `${api.kmdDir}/wallet.dat` : `${api.kmdDir}/${chain}/wallet.dat`; - _walletDatLocation = chain === 'CHIPS' ? `${api.chipsDir}/wallet.dat` : _walletDatLocation; + let _walletDatLocation = chain === 'komodo' || chain === 'KMD' || chain === 'null' ? `${api.paths.kmdDir}/wallet.dat` : `${api.paths.kmdDir}/${chain}/wallet.dat`; + _walletDatLocation = chain === 'CHIPS' ? `${api.paths.chipsDir}/wallet.dat` : _walletDatLocation; try { _fs.access(_walletDatLocation, fs.constants.R_OK, (err) => { diff --git a/routes/api/coinsList.js b/routes/api/coinsList.js index 02aede80..9593f277 100644 --- a/routes/api/coinsList.js +++ b/routes/api/coinsList.js @@ -3,8 +3,8 @@ const fs = require('fs-extra'); module.exports = (api) => { api.loadCoinsListFromFile = () => { try { - if (fs.existsSync(`${api.agamaDir}/shepherd/coinslist.json`)) { - const _coinsList = JSON.parse(fs.readFileSync(`${api.agamaDir}/shepherd/coinslist.json`, 'utf8')); + if (fs.existsSync(`${api.paths.agamaDir}/shepherd/coinslist.json`)) { + const _coinsList = JSON.parse(fs.readFileSync(`${api.paths.agamaDir}/shepherd/coinslist.json`, 'utf8')); for (let i = 0; i < _coinsList.length; i++) { const _coin = _coinsList[i].selectedCoin.split('|'); @@ -27,8 +27,8 @@ module.exports = (api) => { //TODO: Re-evauluate as POST or eliminate use of API token /*api.get('/coinslist', (req, res, next) => { if (api.checkToken(req.query.token)) { - if (fs.existsSync(`${api.agamaDir}/shepherd/coinslist.json`)) { - fs.readFile(`${api.agamaDir}/shepherd/coinslist.json`, 'utf8', (err, data) => { + if (fs.existsSync(`${api.paths.agamaDir}/shepherd/coinslist.json`)) { + fs.readFile(`${api.paths.agamaDir}/shepherd/coinslist.json`, 'utf8', (err, data) => { if (err) { const retObj = { msg: 'error', @@ -79,7 +79,7 @@ module.exports = (api) => { res.end(JSON.stringify(retObj)); } else { - fs.writeFile(`${api.agamaDir}/shepherd/coinslist.json`, JSON.stringify(_payload), (err) => { + fs.writeFile(`${api.paths.agamaDir}/shepherd/coinslist.json`, JSON.stringify(_payload), (err) => { if (err) { const retObj = { msg: 'error', diff --git a/routes/api/conf.js b/routes/api/conf.js index c87ff189..ea166508 100644 --- a/routes/api/conf.js +++ b/routes/api/conf.js @@ -41,10 +41,10 @@ module.exports = (api) => { //directory will lie in PBaaS territory, outside of the kmdDir if (api.appConfig.general.main.reservedChains.indexOf(flock) === -1) { if (api.appConfig.general.main.pbaasTestmode) { - pbaasCoinDir = path.normalize(path.join(api.verusTestDir, `/PBAAS/${flock}`)); + pbaasCoinDir = path.normalize(path.join(api.paths.verusTestDir, `/PBAAS/${flock}`)); api.log(`Assuming PBAAS chain in test mode, using conf path as ${pbaasCoinDir}`, 'native.confd'); } else { - pbaasCoinDir = path.normalize(path.join(api.verusDir, `/PBAAS/${flock}`)); + pbaasCoinDir = path.normalize(path.join(api.paths.verusDir, `/PBAAS/${flock}`)); api.log(`Assuming PBAAS chain, using conf path as ${pbaasCoinDir}`, 'native.confd'); } @@ -53,7 +53,7 @@ module.exports = (api) => { switch (flock) { case 'komodod': - DaemonConfPath = api.kmdDir; + DaemonConfPath = api.paths.kmdDir; if (_platform === 'win32') { DaemonConfPath = path.normalize(DaemonConfPath); api.log('===>>> API OUTPUT ===>>>', 'native.confd'); @@ -66,7 +66,7 @@ module.exports = (api) => { } break; case 'chipsd': - DaemonConfPath = api.chipsDir; + DaemonConfPath = api.paths.chipsDir; if (_platform === 'win32') { DaemonConfPath = path.normalize(DaemonConfPath); } @@ -76,7 +76,7 @@ module.exports = (api) => { // DaemonConfPath = _platform === 'win32' ? path.normalize(`${api.coindRootDir}/${coind.toLowerCase()}`) : `${api.coindRootDir}/${coind.toLowerCase()}`; // break; default: - DaemonConfPath = `${api.kmdDir}/${flock}`; + DaemonConfPath = `${api.paths.kmdDir}/${flock}`; if (_platform === 'win32') { DaemonConfPath = path.normalize(DaemonConfPath); } @@ -111,9 +111,9 @@ module.exports = (api) => { switch (flock) { case 'verusd': if (coind && api.appConfig.general.main.reservedChains.indexOf(coind) === -1) { - DaemonConfPath = `${api.verusDir}/PBAAS/${coind}.conf`; + DaemonConfPath = `${api.paths.verusDir}/PBAAS/${coind}.conf`; } else { - DaemonConfPath = `${api.vrscDir}/VRSC.conf`; + DaemonConfPath = `${api.paths.vrscDir}/VRSC.conf`; } @@ -122,7 +122,7 @@ module.exports = (api) => { } break; case 'komodod': - DaemonConfPath = `${api.kmdDir}/komodo.conf`; + DaemonConfPath = `${api.paths.kmdDir}/komodo.conf`; if (_platform === 'win32') { DaemonConfPath = path.normalize(DaemonConfPath); @@ -136,7 +136,7 @@ module.exports = (api) => { } break; case 'chipsd': - DaemonConfPath = `${api.chipsDir}/chips.conf`; + DaemonConfPath = `${api.paths.chipsDir}/chips.conf`; if (_platform === 'win32') { DaemonConfPath = path.normalize(DaemonConfPath); @@ -150,7 +150,7 @@ module.exports = (api) => { } break; default: - DaemonConfPath = `${api.kmdDir}/${flock}/${flock}.conf`; + DaemonConfPath = `${api.paths.kmdDir}/${flock}/${flock}.conf`; if (_platform === 'win32') { DaemonConfPath = path.normalize(DaemonConfPath); @@ -468,17 +468,17 @@ module.exports = (api) => { api.setConfKMD = (isChips) => { // check if kmd conf exists - _fs.access(isChips ? `${api.chipsDir}/chips.conf` : `${api.kmdDir}/komodo.conf`, fs.constants.R_OK, (err) => { + _fs.access(isChips ? `${api.paths.chipsDir}/chips.conf` : `${api.paths.kmdDir}/komodo.conf`, fs.constants.R_OK, (err) => { if (err) { api.log(isChips ? 'creating chips conf' : 'creating komodo conf', 'native.confd'); - api.writeLog(isChips ? `creating chips conf in ${api.chipsDir}/chips.conf` : `creating komodo conf in ${api.kmdDir}/komodo.conf`); + api.writeLog(isChips ? `creating chips conf in ${api.paths.chipsDir}/chips.conf` : `creating komodo conf in ${api.paths.kmdDir}/komodo.conf`); setConf(isChips ? 'chipsd' : 'komodod'); } else { - const _confSize = fs.lstatSync(isChips ? `${api.chipsDir}/chips.conf` : `${api.kmdDir}/komodo.conf`); + const _confSize = fs.lstatSync(isChips ? `${api.paths.chipsDir}/chips.conf` : `${api.paths.kmdDir}/komodo.conf`); if (_confSize.size === 0) { api.log(isChips ? 'err: chips conf file is empty, creating chips conf' : 'err: komodo conf file is empty, creating komodo conf', 'native.confd'); - api.writeLog(isChips ? `creating chips conf in ${api.chipsDir}/chips.conf` : `creating komodo conf in ${api.kmdDir}/komodo.conf`); + api.writeLog(isChips ? `creating chips conf in ${api.paths.chipsDir}/chips.conf` : `creating komodo conf in ${api.paths.kmdDir}/komodo.conf`); setConf(isChips ? 'chipsd' : 'komodod'); } else { api.writeLog(isChips ? 'chips conf exists' : 'komodo conf exists'); diff --git a/routes/api/confMaxconnections.js b/routes/api/confMaxconnections.js index 89a19b70..a9d4d900 100644 --- a/routes/api/confMaxconnections.js +++ b/routes/api/confMaxconnections.js @@ -4,7 +4,7 @@ const Promise = require('bluebird'); module.exports = (api) => { api.getMaxconKMDConf = () => { return new Promise((resolve, reject) => { - fs.readFile(`${api.kmdDir}/komodo.conf`, 'utf8', (err, data) => { + fs.readFile(`${api.paths.kmdDir}/komodo.conf`, 'utf8', (err, data) => { if (err) { api.log('kmd conf maxconnections param read failed', 'native.confd'); resolve('unset'); @@ -25,11 +25,11 @@ module.exports = (api) => { api.setMaxconKMDConf = (limit) => { return new Promise((resolve, reject) => { - fs.readFile(`${api.kmdDir}/komodo.conf`, 'utf8', (err, data) => { + fs.readFile(`${api.paths.kmdDir}/komodo.conf`, 'utf8', (err, data) => { const _maxconVal = limit ? 1 : 10; if (err) { - api.log(`error reading ${api.kmdDir}/komodo.conf`, 'native.confd'); + api.log(`error reading ${api.paths.kmdDir}/komodo.conf`, 'native.confd'); resolve(false); } else { if (data.indexOf('maxconnections=') > -1) { @@ -40,9 +40,9 @@ module.exports = (api) => { data = `${data}\nmaxconnections=${_maxconVal}\n`; } - fs.writeFile(`${api.kmdDir}/komodo.conf`, data, (err) => { + fs.writeFile(`${api.paths.kmdDir}/komodo.conf`, data, (err) => { if (err) { - api.log(`error writing ${api.kmdDir}/komodo.conf maxconnections=${_maxconVal}`, 'native.confd'); + api.log(`error writing ${api.paths.kmdDir}/komodo.conf maxconnections=${_maxconVal}`, 'native.confd'); resolve(false); } else { api.log(`kmd conf maxconnections is set to ${_maxconVal}`, 'native.confd'); diff --git a/routes/api/config.js b/routes/api/config.js index bc153b4d..29e810d2 100644 --- a/routes/api/config.js +++ b/routes/api/config.js @@ -12,7 +12,7 @@ const { module.exports = (api) => { api.loadLocalConfig = () => { - const configLocation = `${api.agamaDir}/config.json` + const configLocation = `${api.paths.agamaDir}/config.json` if (fs.existsSync(configLocation)) { try { @@ -85,11 +85,11 @@ module.exports = (api) => { }; api.saveLocalAppConf = (appSettings) => { - const configFileName = `${api.agamaDir}/config.json`; + const configFileName = `${api.paths.agamaDir}/config.json`; try { try { - _fs.accessSync(api.agamaDir, fs.constants.R_OK) + _fs.accessSync(api.paths.agamaDir, fs.constants.R_OK) } catch (e) { if (e.code == 'EACCES') { fsnode.chmodSync(configFileName, '0666'); @@ -103,8 +103,8 @@ module.exports = (api) => { api.log('config.json write file is done', 'settings'); - api.log(`app config.json file is created successfully at: ${api.agamaDir}`, 'settings'); - api.writeLog(`app config.json file is created successfully at: ${api.agamaDir}`); + api.log(`app config.json file is created successfully at: ${api.paths.agamaDir}`, 'settings'); + api.writeLog(`app config.json file is created successfully at: ${api.paths.agamaDir}`); } catch (e) { api.log('error writing config', 'settings'); api.log(e, 'settings'); diff --git a/routes/api/daemonControl.js b/routes/api/daemonControl.js index dfdc4153..b5674c9e 100644 --- a/routes/api/daemonControl.js +++ b/routes/api/daemonControl.js @@ -23,7 +23,7 @@ module.exports = (api) => { api.initLogfile = (coin) => { return new Promise((resolve, reject) => { - const logName = `${api.agamaDir}/${coin}.log`; + const logName = `${api.paths.agamaDir}/${coin}.log`; api.log(`initializing ${coin} log file for verus-desktop`, 'native.process'); fs.access(logName, fs.R_OK | fs.W_OK) @@ -126,7 +126,7 @@ module.exports = (api) => { api.initConffile = (coin, confName, fallbackPort) => { const coinLc = coin.toLowerCase() return new Promise((resolve, reject) => { - const confFile = `${api[`${coinLc}Dir`]}/${confName == null ? coin : confName}.conf`; + const confFile = `${api.paths[`${coinLc}Dir`]}/${confName == null ? coin : confName}.conf`; api.log(`initializing ${coinLc} conf file for verus-desktop`, 'native.process'); fs.access(confFile, fs.R_OK | fs.W_OK) @@ -219,7 +219,7 @@ module.exports = (api) => { api.initCoinDir = (coinLc) => { return new Promise((resolve, reject) => { - const coinDir = api[`${coinLc}Dir`]; + const coinDir = api.paths[`${coinLc}Dir`]; api.log(`initializing ${coinLc} directory file for verus-desktop`, 'native.process'); fs.access(coinDir, fs.R_OK | fs.W_OK) @@ -257,7 +257,7 @@ module.exports = (api) => { api.prepareCoinPort = (coin, confName, fallbackPort) => { const coinLc = coin.toLowerCase() - const confLocation = `${api[`${coinLc}Dir`]}/${ + const confLocation = `${api.paths[`${coinLc}Dir`]}/${ confName ? confName : coin }.conf`; api.log(`attempting to read ${confLocation}...`, "native.process"); @@ -348,7 +348,7 @@ module.exports = (api) => { // Spawn dameon child process api.spawnDaemonChild = (daemon, coin, acOptions) => { try { - const daemonChild = execFile(`${api[daemon + 'Bin']}`, acOptions, { + const daemonChild = execFile(`${api.paths[daemon + 'Bin']}`, acOptions, { maxBuffer: 1024 * 1000000, // 1000 mb }, (error, stdout, stderr) => { api.writeLog(`stdout: ${stdout}`, 'native.debug'); @@ -363,7 +363,7 @@ module.exports = (api) => { daemonChild.on('exit', (exitCode) => { const errMsg = `${daemon} exited with code ${exitCode}${exitCode === 0 ? '' : ', crashed?'}`; - fs.appendFile(`${api.agamaDir}/${coin}.log`, errMsg, (err) => { + fs.appendFile(`${api.paths.agamaDir}/${coin}.log`, errMsg, (err) => { if (err) { api.writeLog(errMsg); api.log(errMsg, 'native.debug'); @@ -375,7 +375,7 @@ module.exports = (api) => { daemonChild.on('error', (err) => { const errMsg = `${daemon} error: ${err.message}`; - fs.appendFile(`${api.agamaDir}/${coin}.log`, errMsg, (err) => { + fs.appendFile(`${api.paths.agamaDir}/${coin}.log`, errMsg, (err) => { if (err) { api.writeLog(errMsg); api.log(errMsg, 'native.debug'); @@ -410,14 +410,14 @@ module.exports = (api) => { return new Promise((resolve, reject) => { // Set coin daemon bin location into memory if it doesn't exist there yet - if (api[`${daemon}Bin`] == null) { + if (api.paths[`${daemon}Bin`] == null) { api.log(`${daemon} binaries not used yet this session, saving their path...`, 'native.process'); api.setDaemonPath(daemon) - api.log(`${daemon} binary path set to ${api[`${daemon}Bin`]}`, 'native.process'); + api.log(`${daemon} binary path set to ${api.paths[`${daemon}Bin`]}`, 'native.process'); } // Set coin data directory into memory if it doesnt exist yet - if (api[`${coinLc}Dir`] == null) { + if (api.paths[`${coinLc}Dir`] == null) { api.log(`${coin} data directory not already saved in memory...`, 'native.process'); if (dirNames != null) { @@ -427,11 +427,11 @@ module.exports = (api) => { } api.setCoinDir(coinLc, dirNames) - api.log(`${coin} dir path set to ${api[`${coinLc}Dir`]}...`, 'native.process'); + api.log(`${coin} dir path set to ${api.paths[`${coinLc}Dir`]}...`, 'native.process'); } else api.log(`${coin} data directory retrieved...`, 'native.process'); if (global.USB_MODE) { - acOptions.push(`-datadir=${api[`${coin.toLowerCase()}Dir`]}`) + acOptions.push(`-datadir=${api.paths[`${coin.toLowerCase()}Dir`]}`) } else if ( api.appConfig.coin.native.dataDir[coin] && api.appConfig.coin.native.dataDir[coin].length > 0 diff --git a/routes/api/daemonControlDeprecated.js b/routes/api/daemonControlDeprecated.js index 8ddd4961..741b7548 100644 --- a/routes/api/daemonControlDeprecated.js +++ b/routes/api/daemonControlDeprecated.js @@ -41,10 +41,10 @@ module.exports = (api) => { //directory will lie in PBaaS territory, outside of the kmdDir if (api.appConfig.general.main.reservedChains.indexOf(flock) === -1) { if (api.appConfig.general.main.pbaasTestmode) { - pbaasCoinDir = path.normalize(path.join(api.verusTestDir, `/PBAAS/${flock}`)); + pbaasCoinDir = path.normalize(path.join(api.paths.verusTestDir, `/PBAAS/${flock}`)); api.log(`Assuming PBAAS chain in test mode, using conf path as ${pbaasCoinDir}`, 'native.confd'); } else { - pbaasCoinDir = path.normalize(path.join(api.verusDir, `/PBAAS/${flock}`)); + pbaasCoinDir = path.normalize(path.join(api.paths.verusDir, `/PBAAS/${flock}`)); api.log(`Assuming PBAAS chain, using conf path as ${pbaasCoinDir}`, 'native.confd'); } @@ -53,7 +53,7 @@ module.exports = (api) => { switch (flock) { case 'komodod': - DaemonConfPath = api.kmdDir; + DaemonConfPath = api.paths.kmdDir; if (_platform === 'win32') { DaemonConfPath = path.normalize(DaemonConfPath); api.log('===>>> API OUTPUT ===>>>', 'native.confd'); @@ -66,7 +66,7 @@ module.exports = (api) => { } break; case 'chipsd': - DaemonConfPath = api.chipsDir; + DaemonConfPath = api.paths.chipsDir; if (_platform === 'win32') { DaemonConfPath = path.normalize(DaemonConfPath); } @@ -75,7 +75,7 @@ module.exports = (api) => { DaemonConfPath = _platform === 'win32' ? path.normalize(`${api.coindRootDir}/${coind.toLowerCase()}`) : `${api.coindRootDir}/${coind.toLowerCase()}`; break; default: - DaemonConfPath = `${api.kmdDir}/${flock}`; + DaemonConfPath = `${api.paths.kmdDir}/${flock}`; if (_platform === 'win32') { DaemonConfPath = path.normalize(DaemonConfPath); } @@ -112,12 +112,12 @@ module.exports = (api) => { //If these conditions pass, we can assume PBaaS chain if (acDaemon && data.ac_daemon === 'verusd' && (api.appConfig.general.main.reservedChains.indexOf(data.ac_name) === -1)) { - kmdDebugLogLocation = `${api.appConfig.general.main.pbaasTestmode ? api.verusTestDir : api.verusDir}/PBAAS/${data.ac_name}/debug.log`; - _coindConf = `${api.appConfig.general.main.pbaasTestmode ? api.verusTestDir : api.verusDir}/PBAAS/${data.ac_name}/${data.ac_name}.conf`; + kmdDebugLogLocation = `${api.appConfig.general.main.pbaasTestmode ? api.paths.verusTestDir : api.paths.verusDir}/PBAAS/${data.ac_name}/debug.log`; + _coindConf = `${api.appConfig.general.main.pbaasTestmode ? api.paths.verusTestDir : api.paths.verusDir}/PBAAS/${data.ac_name}/${data.ac_name}.conf`; api.log(`Assuming PBAAS chain, using ${kmdDebugLogLocation}`, 'native.confd'); } else { - kmdDebugLogLocation = (data.ac_name !== 'komodod' ? `${api.kmdDir}/${data.ac_name}` : api.kmdDir) + '/debug.log'; - _coindConf = data.ac_name !== 'komodod' ? `${api.kmdDir}/${data.ac_name}/${data.ac_name}.conf` : `${api.kmdDir}/komodo.conf`; + kmdDebugLogLocation = (data.ac_name !== 'komodod' ? `${api.paths.kmdDir}/${data.ac_name}` : api.paths.kmdDir) + '/debug.log'; + _coindConf = data.ac_name !== 'komodod' ? `${api.paths.kmdDir}/${data.ac_name}/${data.ac_name}.conf` : `${api.paths.kmdDir}/komodo.conf`; } // get custom coind port @@ -164,7 +164,7 @@ module.exports = (api) => { // datadir case, check if komodo/chain folder exists if (api.appConfig.general.native.dataDir.length && data.ac_name !== 'komodod') { - const _dir = data.ac_name !== 'komodod' ? `${api.kmdDir}/${data.ac_name}` : api.kmdDir; + const _dir = data.ac_name !== 'komodod' ? `${api.paths.kmdDir}/${data.ac_name}` : api.paths.kmdDir; try { _fs.accessSync(_dir, fs.R_OK | fs.W_OK); @@ -239,7 +239,7 @@ module.exports = (api) => { api.native.startParams[data.ac_name] = _arg; const _daemonName = data.ac_name !== 'komodod' ? data.ac_name : 'komodod'; - const _daemonLogName = `${api.agamaDir}/${_daemonName}.log`; + const _daemonLogName = `${api.paths.agamaDir}/${_daemonName}.log`; try { fs.accessSync(_daemonLogName, fs.R_OK | fs.W_OK); @@ -370,7 +370,7 @@ module.exports = (api) => { } else if (flock === 'chipsd') { //TODO: Refactor chips code and handling, until then, do not touch - let kmdDebugLogLocation = `${api.chipsDir}/debug.log`; + let kmdDebugLogLocation = `${api.paths.chipsDir}/debug.log`; api.log('chipsd flock selected...', 'native.confd'); api.log(`selected data: ${JSON.stringify(data, null, '\t')}`, 'native.confd'); @@ -541,9 +541,9 @@ module.exports = (api) => { switch (flock) { case 'verusd': if (coind && api.appConfig.general.main.reservedChains.indexOf(coind) === -1) { - DaemonConfPath = `${api.verusDir}/PBAAS/${coind}.conf`; + DaemonConfPath = `${api.paths.verusDir}/PBAAS/${coind}.conf`; } else { - DaemonConfPath = `${api.vrscDir}/VRSC.conf`; + DaemonConfPath = `${api.paths.vrscDir}/VRSC.conf`; } @@ -552,7 +552,7 @@ module.exports = (api) => { } break; case 'komodod': - DaemonConfPath = `${api.kmdDir}/komodo.conf`; + DaemonConfPath = `${api.paths.kmdDir}/komodo.conf`; if (_platform === 'win32') { DaemonConfPath = path.normalize(DaemonConfPath); @@ -566,7 +566,7 @@ module.exports = (api) => { } break; case 'chipsd': - DaemonConfPath = `${api.chipsDir}/chips.conf`; + DaemonConfPath = `${api.paths.chipsDir}/chips.conf`; if (_platform === 'win32') { DaemonConfPath = path.normalize(DaemonConfPath); @@ -580,7 +580,7 @@ module.exports = (api) => { } break; default: - DaemonConfPath = `${api.kmdDir}/${flock}/${flock}.conf`; + DaemonConfPath = `${api.paths.kmdDir}/${flock}/${flock}.conf`; if (_platform === 'win32') { DaemonConfPath = path.normalize(DaemonConfPath); @@ -996,17 +996,17 @@ module.exports = (api) => { api.setConfKMD = (isChips) => { // check if kmd conf exists - _fs.access(isChips ? `${api.chipsDir}/chips.conf` : `${api.kmdDir}/komodo.conf`, fs.constants.R_OK, (err) => { + _fs.access(isChips ? `${api.paths.chipsDir}/chips.conf` : `${api.paths.kmdDir}/komodo.conf`, fs.constants.R_OK, (err) => { if (err) { api.log(isChips ? 'creating chips conf' : 'creating komodo conf', 'native.confd'); - api.writeLog(isChips ? `creating chips conf in ${api.chipsDir}/chips.conf` : `creating komodo conf in ${api.kmdDir}/komodo.conf`); + api.writeLog(isChips ? `creating chips conf in ${api.paths.chipsDir}/chips.conf` : `creating komodo conf in ${api.paths.kmdDir}/komodo.conf`); setConf(isChips ? 'chipsd' : 'komodod'); } else { - const _confSize = fs.lstatSync(isChips ? `${api.chipsDir}/chips.conf` : `${api.kmdDir}/komodo.conf`); + const _confSize = fs.lstatSync(isChips ? `${api.paths.chipsDir}/chips.conf` : `${api.paths.kmdDir}/komodo.conf`); if (_confSize.size === 0) { api.log(isChips ? 'err: chips conf file is empty, creating chips conf' : 'err: komodo conf file is empty, creating komodo conf', 'native.confd'); - api.writeLog(isChips ? `creating chips conf in ${api.chipsDir}/chips.conf` : `creating komodo conf in ${api.kmdDir}/komodo.conf`); + api.writeLog(isChips ? `creating chips conf in ${api.paths.chipsDir}/chips.conf` : `creating komodo conf in ${api.paths.kmdDir}/komodo.conf`); setConf(isChips ? 'chipsd' : 'komodod'); } else { api.writeLog(isChips ? 'chips conf exists' : 'komodo conf exists'); diff --git a/routes/api/data_files/backup.js b/routes/api/data_files/backup.js index 66f9ffc2..aa63896a 100644 --- a/routes/api/data_files/backup.js +++ b/routes/api/data_files/backup.js @@ -17,7 +17,7 @@ module.exports = (api) => { } try { - await fs.access(api.agamaDir, fs.constants.R_OK); + await fs.access(api.paths.agamaDir, fs.constants.R_OK); } catch (e) { if (e.code == "EACCES") { await fs.chmod(path, "0666"); @@ -28,13 +28,13 @@ module.exports = (api) => { } try { - const backupPath = `${api.backupDir}/${backupName}` + const backupPath = `${api.paths.backupDir}/${backupName}` if (await fs.exists(backupPath)) { throw new Error(`Backup at ${backupPath} already exists!`) } - await fs.copy(api.agamaDir, backupPath); + await fs.copy(api.paths.agamaDir, backupPath); api.log( `appdata backup created at ${backupPath}`, diff --git a/routes/api/data_files/jsonFileManager.js b/routes/api/data_files/jsonFileManager.js index 3985d330..594d1564 100644 --- a/routes/api/data_files/jsonFileManager.js +++ b/routes/api/data_files/jsonFileManager.js @@ -21,7 +21,7 @@ module.exports = (api) => { */ api.loadJsonFile = async (relativePath, description, handleMissing = true) => { if (ALLOWED_PATHS_ARR.includes(relativePath)) { - const path = `${api.agamaDir}/${relativePath}` + const path = `${api.paths.agamaDir}/${relativePath}` if (fs.existsSync(path)) { let localString = await fs.readFile(path, 'utf8'); @@ -71,11 +71,11 @@ module.exports = (api) => { handleErrors = true ) => { if (ALLOWED_PATHS_ARR.includes(relativePath)) { - const path = `${api.agamaDir}/${relativePath}`; + const path = `${api.paths.agamaDir}/${relativePath}`; try { try { - await fs.access(api.agamaDir, fs.constants.R_OK); + await fs.access(api.paths.agamaDir, fs.constants.R_OK); } catch (e) { if (e.code == "EACCES") { await fs.chmod(path, "0666"); diff --git a/routes/api/debugLog.js b/routes/api/debugLog.js index 4a33df9a..20fca2cd 100644 --- a/routes/api/debugLog.js +++ b/routes/api/debugLog.js @@ -19,38 +19,38 @@ module.exports = (api) => { switch (_platform) { case "darwin": - api.kmdDir = global.USB_MODE + api.paths.kmdDir = global.USB_MODE ? `${global.HOME}/Komodo` : api.appConfig.general.native.dataDir.length ? api.appConfig.general.native.dataDir : `${process.env.HOME}/Library/Application Support/Komodo`; break; case "linux": - api.kmdDir = global.USB_MODE + api.paths.kmdDir = global.USB_MODE ? `${global.HOME}/Komodo` : api.appConfig.general.native.dataDir.length ? api.appConfig.general.native.dataDir : `${process.env.HOME}/.komodo`; break; case "win32": - api.kmdDir = global.USB_MODE + api.paths.kmdDir = global.USB_MODE ? `${global.HOME}/Komodo` : api.appConfig.general.native.dataDir.length ? api.appConfig.general.native.dataDir : `${process.env.APPDATA}/Komodo`; - api.kmdDir = path.normalize(api.kmdDir); + api.paths.kmdDir = path.normalize(api.paths.kmdDir); break; } if (_ac && api.appConfig.general.main.reservedChains.indexOf(_ac) === -1) { - _location = `${api.appConfig.general.main.pbaasTestmode ? api.verusTestDir : api.verusDir}/PBAAS/${_ac}` + _location = `${api.appConfig.general.main.pbaasTestmode ? api.paths.verusTestDir : api.paths.verusDir}/PBAAS/${_ac}` } else if (_herd === 'komodo') { - _location = api.kmdDir; + _location = api.paths.kmdDir; } else if (_ac) { - _location = `${api.kmdDir}/${_ac}`; + _location = `${api.paths.kmdDir}/${_ac}`; if (_ac === 'CHIPS') { - _location = api.chipsDir; + _location = api.paths.chipsDir; } } @@ -84,7 +84,7 @@ module.exports = (api) => { /*api.get('/coind/stdout', (req, res) => { if (api.checkToken(req.query.token)) { const _daemonName = req.query.chain !== 'komodod' && req.query.chain.toLowerCase() !== 'kmd' ? req.query.chain : 'komodod'; - const _daemonLogName = `${api.agamaDir}/${_daemonName}.log`; + const _daemonLogName = `${api.paths.agamaDir}/${_daemonName}.log`; api.readDebugLog(_daemonLogName, 'all') .then((result) => { diff --git a/routes/api/downloadZcparams.js b/routes/api/downloadZcparams.js index 1f0612aa..2c36697e 100644 --- a/routes/api/downloadZcparams.js +++ b/routes/api/downloadZcparams.js @@ -19,16 +19,16 @@ let _inMemCheckList; module.exports = (api) => { api.zcashParamsExist = () => { let _checkList = { - rootDir: _fs.existsSync(api.zcashParamsDir), - provingKey: _fs.existsSync(`${api.zcashParamsDir}/sprout-proving.key`), + rootDir: _fs.existsSync(api.paths.zcashParamsDir), + provingKey: _fs.existsSync(`${api.paths.zcashParamsDir}/sprout-proving.key`), provingKeySize: false, - verifyingKey: _fs.existsSync(`${api.zcashParamsDir}/sprout-verifying.key`), + verifyingKey: _fs.existsSync(`${api.paths.zcashParamsDir}/sprout-verifying.key`), verifyingKeySize: false, - spendKey: _fs.existsSync(`${api.zcashParamsDir}/sapling-spend.params`), + spendKey: _fs.existsSync(`${api.paths.zcashParamsDir}/sapling-spend.params`), spendKeySize: false, - outputKey: _fs.existsSync(`${api.zcashParamsDir}/sapling-output.params`), + outputKey: _fs.existsSync(`${api.paths.zcashParamsDir}/sapling-output.params`), outputKeySize: false, - groth16Key: _fs.existsSync(`${api.zcashParamsDir}/sprout-groth16.params`), + groth16Key: _fs.existsSync(`${api.paths.zcashParamsDir}/sprout-groth16.params`), groth16KeySize: false, errors: false, }; @@ -40,11 +40,11 @@ module.exports = (api) => { _checkList.outputKey || _checkList.groth16Key) { // verify each key size - const _provingKeySize = _checkList.provingKey ? fs.lstatSync(`${api.zcashParamsDir}/sprout-proving.key`) : 0; - const _verifyingKeySize = _checkList.verifyingKey ? fs.lstatSync(`${api.zcashParamsDir}/sprout-verifying.key`) : 0; - const _spendKeySize = _checkList.spendKey ? fs.lstatSync(`${api.zcashParamsDir}/sapling-spend.params`) : 0; - const _outputKeySize = _checkList.outputKey ? fs.lstatSync(`${api.zcashParamsDir}/sapling-output.params`) : 0; - const _groth16KeySize = _checkList.groth16Key ? fs.lstatSync(`${api.zcashParamsDir}/sprout-groth16.params`) : 0; + const _provingKeySize = _checkList.provingKey ? fs.lstatSync(`${api.paths.zcashParamsDir}/sprout-proving.key`) : 0; + const _verifyingKeySize = _checkList.verifyingKey ? fs.lstatSync(`${api.paths.zcashParamsDir}/sprout-verifying.key`) : 0; + const _spendKeySize = _checkList.spendKey ? fs.lstatSync(`${api.paths.zcashParamsDir}/sapling-spend.params`) : 0; + const _outputKeySize = _checkList.outputKey ? fs.lstatSync(`${api.paths.zcashParamsDir}/sapling-output.params`) : 0; + const _groth16KeySize = _checkList.groth16Key ? fs.lstatSync(`${api.paths.zcashParamsDir}/sprout-groth16.params`) : 0; if (Number(_provingKeySize.size) === fileSizes.proving) { // bytes _checkList.provingKeySize = true; @@ -127,8 +127,8 @@ module.exports = (api) => { */ api.post('/zcparamsdl', (req, res, next) => { if (api.checkToken(req.body.token)) { - // const dlLocation = api.zcashParamsDir + '/test'; - const dlLocation = api.zcashParamsDir; + // const dlLocation = api.paths.zcashParamsDir + '/test'; + const dlLocation = api.paths.zcashParamsDir; const dlOption = req.body.dloption; let _keysProgress = { proving: 0, diff --git a/routes/api/electrum/cache.js b/routes/api/electrum/cache.js index 0fd945a4..6bd9fa9f 100644 --- a/routes/api/electrum/cache.js +++ b/routes/api/electrum/cache.js @@ -74,8 +74,8 @@ module.exports = (api) => { }; api.loadLocalSPVCache = () => { - if (fs.existsSync(`${api.agamaDir}/spv-cache.json`)) { - const localCache = fs.readFileSync(`${api.agamaDir}/spv-cache.json`, 'utf8'); + if (fs.existsSync(`${api.paths.agamaDir}/spv-cache.json`)) { + const localCache = fs.readFileSync(`${api.paths.agamaDir}/spv-cache.json`, 'utf8'); api.log('local spv cache loaded from local file', 'spv.cache'); @@ -94,9 +94,9 @@ module.exports = (api) => { }; api.saveLocalSPVCache = () => { - const spvCacheFileName = `${api.agamaDir}/spv-cache.json`; + const spvCacheFileName = `${api.paths.agamaDir}/spv-cache.json`; - _fs.access(api.agamaDir, fs.constants.R_OK, (err) => { + _fs.access(api.paths.agamaDir, fs.constants.R_OK, (err) => { if (!err) { const FixFilePermissions = () => { return new Promise((resolve, reject) => { @@ -125,7 +125,7 @@ module.exports = (api) => { fsnode.chmodSync(spvCacheFileName, '0666'); setTimeout(() => { api.log(result, 'spv.cache'); - api.log(`spv-cache.json file is created successfully at: ${api.agamaDir}`, 'spv.cache'); + api.log(`spv-cache.json file is created successfully at: ${api.paths.agamaDir}`, 'spv.cache'); resolve(result); }, 2000); }); diff --git a/routes/api/electrum/csv.js b/routes/api/electrum/csv.js index ca498cac..ac8102c8 100644 --- a/routes/api/electrum/csv.js +++ b/routes/api/electrum/csv.js @@ -36,7 +36,7 @@ module.exports = (api) => { `${txhistory.result[i].txid}`); } - const _fname = `${api.agamaDir}/shepherd/csv/${_coin.toUpperCase()}-${req.query.address}-${_time}.csv`; + const _fname = `${api.paths.agamaDir}/shepherd/csv/${_coin.toUpperCase()}-${req.query.address}-${_time}.csv`; const err = fs.writeFileSync(_fname, _csv.join('\r\n'), 'utf8'); if (err) { @@ -117,7 +117,7 @@ module.exports = (api) => { `${txhistory.result[i].txid}`); } - const _fname = `${api.agamaDir}/shepherd/csv/${_coin.toUpperCase()}-native-all-${_time}.csv`; + const _fname = `${api.paths.agamaDir}/shepherd/csv/${_coin.toUpperCase()}-native-all-${_time}.csv`; const err = fs.writeFileSync(_fname, _csv.join('\r\n'), 'utf8'); if (err) { diff --git a/routes/api/electrum/servers.js b/routes/api/electrum/servers.js index f1aeb649..db2929fa 100644 --- a/routes/api/electrum/servers.js +++ b/routes/api/electrum/servers.js @@ -26,7 +26,7 @@ module.exports = (api) => { if (api.appConfig.general.electrum && api.appConfig.general.electrum.syncServerListFromKv) { try { - let kvElectrumServersCache = fs.readFileSync(`${api.agamaDir}/kvElectrumServersCache.json`, 'utf8'); + let kvElectrumServersCache = fs.readFileSync(`${api.paths.agamaDir}/kvElectrumServersCache.json`, 'utf8'); // temp edge cases until kv edit is implemented kvElectrumServersCache.replace('tpc', 'tcp'); @@ -63,8 +63,8 @@ module.exports = (api) => { }; api.loadElectrumServersList = () => { - if (fs.existsSync(`${api.agamaDir}/electrumServers.json`)) { - const localElectrumServersList = fs.readFileSync(`${api.agamaDir}/electrumServers.json`, 'utf8'); + if (fs.existsSync(`${api.paths.agamaDir}/electrumServers.json`)) { + const localElectrumServersList = fs.readFileSync(`${api.paths.agamaDir}/electrumServers.json`, 'utf8'); api.log('electrum servers list set from local file', 'spv.serverList'); api.writeLog('electrum servers list set from local file'); @@ -84,13 +84,13 @@ module.exports = (api) => { }; api.saveElectrumServersList = (list) => { - const electrumServersListFileName = `${api.agamaDir}/electrumServers.json`; + const electrumServersListFileName = `${api.paths.agamaDir}/electrumServers.json`; if (!list) { list = api.electrumServers; } - _fs.access(api.agamaDir, fs.constants.R_OK, (err) => { + _fs.access(api.paths.agamaDir, fs.constants.R_OK, (err) => { if (!err) { const FixFilePermissions = () => { return new Promise((resolve, reject) => { @@ -118,8 +118,8 @@ module.exports = (api) => { fsnode.chmodSync(electrumServersListFileName, '0666'); setTimeout(() => { api.log(result, 'spv.serverList'); - api.log(`electrumServers.json file is created successfully at: ${api.agamaDir}`, 'spv.serverList'); - api.writeLog(`electrumServers.json file is created successfully at: ${api.agamaDir}`); + api.log(`electrumServers.json file is created successfully at: ${api.paths.agamaDir}`, 'spv.serverList'); + api.writeLog(`electrumServers.json file is created successfully at: ${api.paths.agamaDir}`); resolve(result); }, 2000); }); @@ -132,9 +132,9 @@ module.exports = (api) => { }; api.saveKvElectrumServersCache = (list) => { - const kvElectrumServersListFileName = `${api.agamaDir}/kvElectrumServersCache.json`; + const kvElectrumServersListFileName = `${api.paths.agamaDir}/kvElectrumServersCache.json`; - _fs.access(api.agamaDir, fs.constants.R_OK, (err) => { + _fs.access(api.paths.agamaDir, fs.constants.R_OK, (err) => { if (!err) { const FixFilePermissions = () => { return new Promise((resolve, reject) => { @@ -162,8 +162,8 @@ module.exports = (api) => { fsnode.chmodSync(kvElectrumServersListFileName, '0666'); setTimeout(() => { api.log(result, 'spv.serverList'); - api.log(`kvElectrumServersCache.json file is created successfully at: ${api.agamaDir}`, 'spv.serverList'); - api.writeLog(`kvElectrumServersCache.json file is created successfully at: ${api.agamaDir}`); + api.log(`kvElectrumServersCache.json file is created successfully at: ${api.paths.agamaDir}`, 'spv.serverList'); + api.writeLog(`kvElectrumServersCache.json file is created successfully at: ${api.paths.agamaDir}`); resolve(result); }, 2000); }); diff --git a/routes/api/exchange/exchange.js b/routes/api/exchange/exchange.js index 850a99ee..e5b34e4c 100644 --- a/routes/api/exchange/exchange.js +++ b/routes/api/exchange/exchange.js @@ -6,8 +6,8 @@ const fsnode = require('fs'); module.exports = (api) => { api.loadLocalExchangesCache = () => { - if (fs.existsSync(`${api.agamaDir}/exchanges-cache.json`)) { - const localCache = fs.readFileSync(`${api.agamaDir}/exchanges-cache.json`, 'utf8'); + if (fs.existsSync(`${api.paths.agamaDir}/exchanges-cache.json`)) { + const localCache = fs.readFileSync(`${api.paths.agamaDir}/exchanges-cache.json`, 'utf8'); try { api.exchangesCache = JSON.parse(localCache); @@ -36,13 +36,13 @@ module.exports = (api) => { }; api.saveLocalExchangesCache = () => { - _fs.access(api.agamaDir, fs.constants.R_OK, (err) => { + _fs.access(api.paths.agamaDir, fs.constants.R_OK, (err) => { if (!err) { const FixFilePermissions = () => { return new Promise((resolve, reject) => { const result = 'exchanges-cache.json file permissions updated to Read/Write'; - fsnode.chmodSync(`${api.agamaDir}/exchanges-cache.json`, '0666'); + fsnode.chmodSync(`${api.paths.agamaDir}/exchanges-cache.json`, '0666'); setTimeout(() => { api.log(result, 'exchanges.cache'); @@ -55,15 +55,15 @@ module.exports = (api) => { const FsWrite = () => { return new Promise((resolve, reject) => { const result = 'exchanges-cache.json write file is done'; - const err = fs.writeFileSync(`${api.agamaDir}/exchanges-cache.json`, JSON.stringify(api.exchangesCache), 'utf8'); + const err = fs.writeFileSync(`${api.paths.agamaDir}/exchanges-cache.json`, JSON.stringify(api.exchangesCache), 'utf8'); if (err) return api.log(err, 'exchanges.cache'); - fsnode.chmodSync(`${api.agamaDir}/exchanges-cache.json`, '0666'); + fsnode.chmodSync(`${api.paths.agamaDir}/exchanges-cache.json`, '0666'); setTimeout(() => { api.log(result, 'exchanges.cache'); - api.log(`exchanges-cache.json file is created successfully at: ${api.agamaDir}`, 'exchanges.cache'); + api.log(`exchanges-cache.json file is created successfully at: ${api.paths.agamaDir}`, 'exchanges.cache'); resolve(result); }, 2000); }); diff --git a/routes/api/init.js b/routes/api/init.js index c9f11209..dbe997c7 100644 --- a/routes/api/init.js +++ b/routes/api/init.js @@ -12,15 +12,15 @@ module.exports = (api) => { ]; oldDirs.forEach((dir) => { - if (fs.existsSync(`${api.VerusDesktopDir}/${dir}`)) { + if (fs.existsSync(`${api.paths.VerusDesktopDir}/${dir}`)) { try { - fs.copySync(`${api.VerusDesktopDir}/${dir}`, `${api.agamaDir}/${dir}`) + fs.copySync(`${api.paths.VerusDesktopDir}/${dir}`, `${api.paths.agamaDir}/${dir}`) - api.log(`copied ${api.VerusDesktopDir}/${dir} to ${api.agamaDir}/${dir}`, 'init'); - api.writeLog(`copied ${api.VerusDesktopDir}/${dir} to ${api.agamaDir}/${dir}`); + api.log(`copied ${api.paths.VerusDesktopDir}/${dir} to ${api.paths.agamaDir}/${dir}`, 'init'); + api.writeLog(`copied ${api.paths.VerusDesktopDir}/${dir} to ${api.paths.agamaDir}/${dir}`); } catch(e) { - api.log(`error copying ${api.VerusDesktopDir}/${dir} to ${api.agamaDir}/${dir}`, 'init'); - api.writeLog(`error copying ${api.VerusDesktopDir}/${dir} to ${api.agamaDir}/${dir}`); + api.log(`error copying ${api.paths.VerusDesktopDir}/${dir} to ${api.paths.agamaDir}/${dir}`, 'init'); + api.writeLog(`error copying ${api.paths.VerusDesktopDir}/${dir} to ${api.paths.agamaDir}/${dir}`); } } }) @@ -28,8 +28,8 @@ module.exports = (api) => { api.isOldDataFolderFormat = () => { return ( - fs.existsSync(api.VerusDesktopDir) && - !fs.existsSync(api.agamaDir) + fs.existsSync(api.paths.VerusDesktopDir) && + !fs.existsSync(api.paths.agamaDir) ) } @@ -46,50 +46,50 @@ module.exports = (api) => { } }); - if (!fs.existsSync(api.VerusDesktopDir)) { - fs.mkdirSync(api.VerusDesktopDir); + if (!fs.existsSync(api.paths.VerusDesktopDir)) { + fs.mkdirSync(api.paths.VerusDesktopDir); - if (fs.existsSync(api.VerusDesktopDir)) { - api.log(`created verus desktop main folder at ${api.VerusDesktopDir}`, 'init'); - api.writeLog(`created verus desktop main folder at ${api.VerusDesktopDir}`); + if (fs.existsSync(api.paths.VerusDesktopDir)) { + api.log(`created verus desktop main folder at ${api.paths.VerusDesktopDir}`, 'init'); + api.writeLog(`created verus desktop main folder at ${api.paths.VerusDesktopDir}`); } } else { api.log('verus desktop main folder already exists', 'init'); } - if (!fs.existsSync(api.agamaDir)) { + if (!fs.existsSync(api.paths.agamaDir)) { if (api.isOldDataFolderFormat()) { - fs.mkdirSync(api.agamaDir); + fs.mkdirSync(api.paths.agamaDir); api.updateDataFolderFormatv071() } else { - fs.mkdirSync(api.agamaDir); + fs.mkdirSync(api.paths.agamaDir); } - if (fs.existsSync(api.agamaDir)) { - api.log(`created verus desktop appdata folder at ${api.agamaDir}`, 'init'); - api.writeLog(`created verus desktop appdata folder at ${api.agamaDir}`); + if (fs.existsSync(api.paths.agamaDir)) { + api.log(`created verus desktop appdata folder at ${api.paths.agamaDir}`, 'init'); + api.writeLog(`created verus desktop appdata folder at ${api.paths.agamaDir}`); } } else { api.log('verus desktop appdata folder already exists', 'init'); } - if (!fs.existsSync(api.backupDir)) { - fs.mkdirSync(api.backupDir); + if (!fs.existsSync(api.paths.backupDir)) { + fs.mkdirSync(api.paths.backupDir); - if (fs.existsSync(api.backupDir)) { - api.log(`created verus desktop backup folder at ${api.agamaDir}`, 'init'); - api.writeLog(`created verus desktop backup folder at ${api.agamaDir}`); + if (fs.existsSync(api.paths.backupDir)) { + api.log(`created verus desktop backup folder at ${api.paths.agamaDir}`, 'init'); + api.writeLog(`created verus desktop backup folder at ${api.paths.agamaDir}`); } } else { api.log('verus desktop backup folder already exists', 'init'); } - if (!fs.existsSync(`${api.agamaDir}/shepherd`)) { - fs.mkdirSync(`${api.agamaDir}/shepherd`); + if (!fs.existsSync(`${api.paths.agamaDir}/shepherd`)) { + fs.mkdirSync(`${api.paths.agamaDir}/shepherd`); - if (fs.existsSync(`${api.agamaDir}/shepherd`)) { - api.log(`created shepherd folder at ${api.agamaDir}/shepherd`, 'init'); - api.writeLog(`create shepherd folder at ${api.agamaDir}/shepherd`); + if (fs.existsSync(`${api.paths.agamaDir}/shepherd`)) { + api.log(`created shepherd folder at ${api.paths.agamaDir}/shepherd`, 'init'); + api.writeLog(`create shepherd folder at ${api.paths.agamaDir}/shepherd`); } } else { api.log('agama/shepherd folder already exists', 'init'); @@ -103,20 +103,20 @@ module.exports = (api) => { ]; for (let i = 0; i < _subFolders.length; i++) { - if (!fs.existsSync(`${api.agamaDir}/shepherd/${_subFolders[i]}`)) { - fs.mkdirSync(`${api.agamaDir}/shepherd/${_subFolders[i]}`); + if (!fs.existsSync(`${api.paths.agamaDir}/shepherd/${_subFolders[i]}`)) { + fs.mkdirSync(`${api.paths.agamaDir}/shepherd/${_subFolders[i]}`); - if (fs.existsSync(`${api.agamaDir}/shepherd/${_subFolders[i]}`)) { - api.log(`created ${_subFolders[i]} folder at ${api.agamaDir}/shepherd/${_subFolders[i]}`, 'init'); - api.writeLog(`create ${_subFolders[i]} folder at ${api.agamaDir}/shepherd/${_subFolders[i]}`); + if (fs.existsSync(`${api.paths.agamaDir}/shepherd/${_subFolders[i]}`)) { + api.log(`created ${_subFolders[i]} folder at ${api.paths.agamaDir}/shepherd/${_subFolders[i]}`, 'init'); + api.writeLog(`create ${_subFolders[i]} folder at ${api.paths.agamaDir}/shepherd/${_subFolders[i]}`); } } else { api.log(`shepherd/${_subFolders[i]} folder already exists`, 'init'); } } - if (!fs.existsSync(api.zcashParamsDir)) { - fs.mkdirSync(api.zcashParamsDir); + if (!fs.existsSync(api.paths.zcashParamsDir)) { + fs.mkdirSync(api.paths.zcashParamsDir); } else { api.log('zcashparams folder already exists', 'init'); } diff --git a/routes/api/kickstart.js b/routes/api/kickstart.js index 04edebd9..70fb41f6 100644 --- a/routes/api/kickstart.js +++ b/routes/api/kickstart.js @@ -21,7 +21,7 @@ module.exports = (api) => { res.end(JSON.stringify(retObj)); } else { - const _location = path.join(_coin === 'KMD' ? api.kmdDir : `${api.kmdDir}/${_coin}`); + const _location = path.join(_coin === 'KMD' ? api.paths.kmdDir : `${api.paths.kmdDir}/${_coin}`); if (fs.existsSync(_location)) { const items = fs.readdirSync(_location); diff --git a/routes/api/log.js b/routes/api/log.js index bbec827c..5506142b 100644 --- a/routes/api/log.js +++ b/routes/api/log.js @@ -22,7 +22,7 @@ module.exports = (api) => { } api.writeLog = (data) => { - const logLocation = `${api.agamaDir}/shepherd`; + const logLocation = `${api.paths.agamaDir}/shepherd`; const timeFormatted = new Date(Date.now()).toLocaleString('en-US', { hour12: false }); if (api.appConfig.general.main.debug) { @@ -111,7 +111,7 @@ module.exports = (api) => { const _time = secondsToString(Date.now() / 1000).replace(/\s+/g, '-'); const err = fs.writeFileSync( - `${api.agamaDir}/shepherd/log/log-${_time}.json`, + `${api.paths.agamaDir}/shepherd/log/log-${_time}.json`, JSON.stringify(_log), 'utf8' ); @@ -125,7 +125,7 @@ module.exports = (api) => { } else { const retObj = { msg: 'success', - result: `${api.agamaDir}/shepherd/log/log-${_time}.json`, + result: `${api.paths.agamaDir}/shepherd/log/log-${_time}.json`, }; res.end(JSON.stringify(retObj)); } @@ -152,7 +152,7 @@ module.exports = (api) => { */ /* api.post('/guilog', (req, res, next) => { if (api.checkToken(req.body.token)) { - const logLocation = `${api.agamaDir}/shepherd`; + const logLocation = `${api.paths.agamaDir}/shepherd`; const timestamp = req.body.timestamp; if (!api.guiLog[api.appSessionHash]) { @@ -205,8 +205,8 @@ module.exports = (api) => { if (api.checkToken(req.query.token)) { const logExt = req.query.type === 'txt' ? 'txt' : 'json'; - if (fs.existsSync(`${api.agamaDir}/shepherd/agamalog.${logExt}`)) { - fs.readFile(`${api.agamaDir}/shepherd/agamalog.${logExt}`, 'utf8', (err, data) => { + if (fs.existsSync(`${api.paths.agamaDir}/shepherd/agamalog.${logExt}`)) { + fs.readFile(`${api.paths.agamaDir}/shepherd/agamalog.${logExt}`, 'utf8', (err, data) => { if (err) { const retObj = { msg: 'error', @@ -242,13 +242,12 @@ module.exports = (api) => { });*/ api.printDirs = () => { - api.log(`agama dir: ${api.agamaDir}`, 'env'); - api.log('--------------------------', 'env') - api.log(`komodo dir: ${api.komododBin}`, 'env'); - api.log(`komodo bin: ${api.kmdDir}`, 'env'); - api.writeLog(`agama dir: ${api.agamaDir}`); - api.writeLog(`komodo dir: ${api.komododBin}`); - api.writeLog(`komodo bin: ${api.kmdDir}`); + api.log("DIR PATHS:", 'env') + api.writeLog("DIR PATHS:") + for (const pathType in api.paths) { + api.log(`${pathType}: ${api.paths[pathType]}`, 'env') + api.writeLog(`${pathType}: ${api.paths[pathType]}`); + } } return api; diff --git a/routes/api/pathsUtil.js b/routes/api/pathsUtil.js index 75fc0a88..5f8bd2f3 100644 --- a/routes/api/pathsUtil.js +++ b/routes/api/pathsUtil.js @@ -3,19 +3,20 @@ const fixPath = require('fix-path'); const os = require('os'); const pathsAgama = (api) => { - if (!api) api = {}; + if (!api) api = { paths: {} }; + else if (!api.paths) api.paths = {}; if (global.USB_MODE) { if (os.platform() === 'darwin') fixPath() - api.VerusDesktopDir = `${global.HOME}/Verus-Desktop`; - api.agamaDir = `${global.HOME}/Verus-Desktop/appdata`; - api.backupDir = `${global.HOME}/Verus-Desktop/backups`; + api.paths.VerusDesktopDir = `${global.HOME}/Verus-Desktop`; + api.paths.agamaDir = `${global.HOME}/Verus-Desktop/appdata`; + api.paths.backupDir = `${global.HOME}/Verus-Desktop/backups`; if (os.platform() === 'win32') { - api.VerusDesktopDir = path.normalize(api.VerusDesktopDir); - api.agamaDir = path.normalize(api.agamaDir); - api.backupDir = path.normalize(api.backupDir); + api.paths.VerusDesktopDir = path.normalize(api.paths.VerusDesktopDir); + api.paths.agamaDir = path.normalize(api.paths.agamaDir); + api.paths.backupDir = path.normalize(api.paths.backupDir); } return api; @@ -23,30 +24,30 @@ const pathsAgama = (api) => { switch (os.platform()) { case "darwin": fixPath(); - api.VerusDesktopDir = `${global.HOME}/Library/Application Support/Verus-Desktop`; + api.paths.VerusDesktopDir = `${global.HOME}/Library/Application Support/Verus-Desktop`; - api.agamaDir = `${global.HOME}/Library/Application Support/Verus-Desktop/appdata`; - api.backupDir = `${global.HOME}/Library/Application Support/Verus-Desktop/backups`; + api.paths.agamaDir = `${global.HOME}/Library/Application Support/Verus-Desktop/appdata`; + api.paths.backupDir = `${global.HOME}/Library/Application Support/Verus-Desktop/backups`; return api; break; case "linux": - api.VerusDesktopDir = `${global.HOME}/.verus-desktop`; + api.paths.VerusDesktopDir = `${global.HOME}/.verus-desktop`; - api.agamaDir = `${global.HOME}/.verus-desktop/appdata`; - api.backupDir = `${global.HOME}/.verus-desktop/backups`; + api.paths.agamaDir = `${global.HOME}/.verus-desktop/appdata`; + api.paths.backupDir = `${global.HOME}/.verus-desktop/backups`; return api; break; case "win32": - api.VerusDesktopDir = `${global.HOME}/Verus-Desktop`; - api.VerusDesktopDir = path.normalize(api.VerusDesktopDir); + api.paths.VerusDesktopDir = `${global.HOME}/Verus-Desktop`; + api.paths.VerusDesktopDir = path.normalize(api.paths.VerusDesktopDir); - api.agamaDir = `${global.HOME}/Verus-Desktop/appdata`; - api.agamaDir = path.normalize(api.agamaDir); + api.paths.agamaDir = `${global.HOME}/Verus-Desktop/appdata`; + api.paths.agamaDir = path.normalize(api.paths.agamaDir); - api.backupDir = `${global.HOME}/Verus-Desktop/backups`; - api.backupDir = path.normalize(api.backupDir); + api.paths.backupDir = `${global.HOME}/Verus-Desktop/backups`; + api.paths.backupDir = path.normalize(api.paths.backupDir); return api; break; } @@ -54,52 +55,53 @@ const pathsAgama = (api) => { }; const pathsDaemons = (api) => { - if (!api) api = {}; + if (!api) api = { paths: {} }; + else if (!api.paths) api.paths = {}; if (global.USB_MODE) { switch (os.platform()) { case 'darwin': fixPath(); - api.komodocliDir = path.join(__dirname, '../../assets/bin/osx'), - api.kmdDir = `${global.HOME}/Komodo`, - api.vrscDir = `${global.HOME}/Komodo/VRSC`, - api.verusDir = `${global.HOME}/Verus`, - api.verusTestDir = `${global.HOME}/VerusTest`, - api.zcashParamsDir = `${global.HOME}/ZcashParams`, - api.chipsDir = `${global.HOME}/Chips`, - api.mmBin = path.join(__dirname, '../../node_modules/marketmaker/bin/darwin/x64/marketmaker'); + api.paths.komodocliDir = path.join(__dirname, '../../assets/bin/osx'), + api.paths.kmdDir = `${global.HOME}/Komodo`, + api.paths.vrscDir = `${global.HOME}/Komodo/VRSC`, + api.paths.verusDir = `${global.HOME}/Verus`, + api.paths.verusTestDir = `${global.HOME}/VerusTest`, + api.paths.zcashParamsDir = `${global.HOME}/ZcashParams`, + api.paths.chipsDir = `${global.HOME}/Chips`, + api.paths.mmBin = path.join(__dirname, '../../node_modules/marketmaker/bin/darwin/x64/marketmaker'); return api; break; case 'linux': - api.komodocliDir = path.join(__dirname, '../../assets/bin/linux64'), - api.kmdDir = `${global.HOME}/Komodo`, - api.vrscDir = `${global.HOME}/Komodo/VRSC`, - api.verusDir = `${global.HOME}/Verus`, - api.verusTestDir = `${global.HOME}/VerusTest`, - api.zcashParamsDir = `${global.HOME}/ZcashParams`, - api.chipsDir = `${global.HOME}/Chips`, - api.mmBin = path.join(__dirname, '../../node_modules/marketmaker/bin/linux/x64/marketmaker'); + api.paths.komodocliDir = path.join(__dirname, '../../assets/bin/linux64'), + api.paths.kmdDir = `${global.HOME}/Komodo`, + api.paths.vrscDir = `${global.HOME}/Komodo/VRSC`, + api.paths.verusDir = `${global.HOME}/Verus`, + api.paths.verusTestDir = `${global.HOME}/VerusTest`, + api.paths.zcashParamsDir = `${global.HOME}/ZcashParams`, + api.paths.chipsDir = `${global.HOME}/Chips`, + api.paths.mmBin = path.join(__dirname, '../../node_modules/marketmaker/bin/linux/x64/marketmaker'); return api; break; case 'win32': - api.komodocliDir = path.join(__dirname, '../../assets/bin/win64'), - api.komodocliDir = path.normalize(api.komodocliDir), - api.kmdDir = `${global.HOME}/Komodo`, - api.kmdDir = path.normalize(api.kmdDir), - api.vrscDir = `${global.HOME}/Komodo/VRSC`, - api.vrscDir = path.normalize(api.vrscDir), - api.verusDir = `${global.HOME}/Verus`, - api.verusDir = path.normalize(api.verusDir), - api.verusTestDir = `${global.HOME}/VerusTest`, - api.verusTestDir = path.normalize(api.verusTestDir), - api.chipsDir = `${global.HOME}/Chips`, - api.chipsDir = path.normalize(api.chipsDir); - api.zcashParamsDir = `${global.HOME}/ZcashParams`; - api.zcashParamsDir = path.normalize(api.zcashParamsDir); - api.mmBin = path.join(__dirname, '../../node_modules/marketmaker/bin/win32/x64/marketmaker.exe'); - api.mmBin = path.normalize(api.mmBin); + api.paths.komodocliDir = path.join(__dirname, '../../assets/bin/win64'), + api.paths.komodocliDir = path.normalize(api.paths.komodocliDir), + api.paths.kmdDir = `${global.HOME}/Komodo`, + api.paths.kmdDir = path.normalize(api.paths.kmdDir), + api.paths.vrscDir = `${global.HOME}/Komodo/VRSC`, + api.paths.vrscDir = path.normalize(api.paths.vrscDir), + api.paths.verusDir = `${global.HOME}/Verus`, + api.paths.verusDir = path.normalize(api.paths.verusDir), + api.paths.verusTestDir = `${global.HOME}/VerusTest`, + api.paths.verusTestDir = path.normalize(api.paths.verusTestDir), + api.paths.chipsDir = `${global.HOME}/Chips`, + api.paths.chipsDir = path.normalize(api.paths.chipsDir); + api.paths.zcashParamsDir = `${global.HOME}/ZcashParams`; + api.paths.zcashParamsDir = path.normalize(api.paths.zcashParamsDir); + api.paths.mmBin = path.join(__dirname, '../../node_modules/marketmaker/bin/win32/x64/marketmaker.exe'); + api.paths.mmBin = path.normalize(api.paths.mmBin); return api; break; } @@ -107,46 +109,46 @@ const pathsDaemons = (api) => { switch (os.platform()) { case 'darwin': fixPath(); - api.komodocliDir = path.join(__dirname, '../../assets/bin/osx'), - api.kmdDir = `${global.HOME}/Library/Application Support/Komodo`, - api.vrscDir = `${global.HOME}/Library/Application Support/Komodo/VRSC`, - api.verusDir = `${global.HOME}/Library/Application Support/Verus`, - api.verusTestDir = `${global.HOME}/Library/Application Support/VerusTest`, - api.zcashParamsDir = `${global.HOME}/Library/Application Support/ZcashParams`, - api.chipsDir = `${global.HOME}/Library/Application Support/Chips`, - api.mmBin = path.join(__dirname, '../../node_modules/marketmaker/bin/darwin/x64/marketmaker'); + api.paths.komodocliDir = path.join(__dirname, '../../assets/bin/osx'), + api.paths.kmdDir = `${global.HOME}/Library/Application Support/Komodo`, + api.paths.vrscDir = `${global.HOME}/Library/Application Support/Komodo/VRSC`, + api.paths.verusDir = `${global.HOME}/Library/Application Support/Verus`, + api.paths.verusTestDir = `${global.HOME}/Library/Application Support/VerusTest`, + api.paths.zcashParamsDir = `${global.HOME}/Library/Application Support/ZcashParams`, + api.paths.chipsDir = `${global.HOME}/Library/Application Support/Chips`, + api.paths.mmBin = path.join(__dirname, '../../node_modules/marketmaker/bin/darwin/x64/marketmaker'); return api; break; case 'linux': - api.komodocliDir = path.join(__dirname, '../../assets/bin/linux64'), - api.kmdDir = `${global.HOME}/.komodo`, - api.vrscDir = `${global.HOME}/.komodo/VRSC`, - api.verusDir = `${global.HOME}/.verus`, - api.verusTestDir = `${global.HOME}/.verustest`, - api.zcashParamsDir = `${global.HOME}/.zcash-params`, - api.chipsDir = `${global.HOME}/.chips`, - api.mmBin = path.join(__dirname, '../../node_modules/marketmaker/bin/linux/x64/marketmaker'); + api.paths.komodocliDir = path.join(__dirname, '../../assets/bin/linux64'), + api.paths.kmdDir = `${global.HOME}/.komodo`, + api.paths.vrscDir = `${global.HOME}/.komodo/VRSC`, + api.paths.verusDir = `${global.HOME}/.verus`, + api.paths.verusTestDir = `${global.HOME}/.verustest`, + api.paths.zcashParamsDir = `${global.HOME}/.zcash-params`, + api.paths.chipsDir = `${global.HOME}/.chips`, + api.paths.mmBin = path.join(__dirname, '../../node_modules/marketmaker/bin/linux/x64/marketmaker'); return api; break; case 'win32': - api.komodocliDir = path.join(__dirname, '../../assets/bin/win64'), - api.komodocliDir = path.normalize(api.komodocliDir), - api.kmdDir = `${global.HOME}/Komodo`, - api.kmdDir = path.normalize(api.kmdDir), - api.vrscDir = `${global.HOME}/Komodo/VRSC`, - api.vrscDir = path.normalize(api.vrscDir), - api.verusDir = `${global.HOME}/Verus`, - api.verusDir = path.normalize(api.verusDir), - api.verusTestDir = `${global.HOME}/VerusTest`, - api.verusTestDir = path.normalize(api.verusTestDir), - api.chipsDir = `${global.HOME}/Chips`, - api.chipsDir = path.normalize(api.chipsDir); - api.zcashParamsDir = `${global.HOME}/ZcashParams`; - api.zcashParamsDir = path.normalize(api.zcashParamsDir); - api.mmBin = path.join(__dirname, '../../node_modules/marketmaker/bin/win32/x64/marketmaker.exe'); - api.mmBin = path.normalize(api.mmBin); + api.paths.komodocliDir = path.join(__dirname, '../../assets/bin/win64'), + api.paths.komodocliDir = path.normalize(api.paths.komodocliDir), + api.paths.kmdDir = `${global.HOME}/Komodo`, + api.paths.kmdDir = path.normalize(api.paths.kmdDir), + api.paths.vrscDir = `${global.HOME}/Komodo/VRSC`, + api.paths.vrscDir = path.normalize(api.paths.vrscDir), + api.paths.verusDir = `${global.HOME}/Verus`, + api.paths.verusDir = path.normalize(api.paths.verusDir), + api.paths.verusTestDir = `${global.HOME}/VerusTest`, + api.paths.verusTestDir = path.normalize(api.paths.verusTestDir), + api.paths.chipsDir = `${global.HOME}/Chips`, + api.paths.chipsDir = path.normalize(api.paths.chipsDir); + api.paths.zcashParamsDir = `${global.HOME}/ZcashParams`; + api.paths.zcashParamsDir = path.normalize(api.paths.zcashParamsDir); + api.paths.mmBin = path.join(__dirname, '../../node_modules/marketmaker/bin/win32/x64/marketmaker.exe'); + api.paths.mmBin = path.normalize(api.paths.mmBin); return api; break; } @@ -155,45 +157,47 @@ const pathsDaemons = (api) => { } const setDaemonPath = (api, daemonName) => { - if (!api) api = {}; + if (!api) api = { paths: {} }; + else if (!api.paths) api.paths = {}; let binName = daemonName + "Bin"; switch (os.platform()) { case 'darwin': fixPath(); - api[binName] = path.join(__dirname, `../../assets/bin/osx/${daemonName}/${daemonName}`); + api.paths[binName] = path.join(__dirname, `../../assets/bin/osx/${daemonName}/${daemonName}`); return api; break; case 'linux': - api[binName] = path.join(__dirname, `../../assets/bin/linux64/${daemonName}/${daemonName}`); + api.paths[binName] = path.join(__dirname, `../../assets/bin/linux64/${daemonName}/${daemonName}`); return api; break; case 'win32': - api[binName] = path.join(__dirname, `../../assets/bin/win64/${daemonName}/${daemonName}.exe`), - api[binName] = path.normalize(api[binName]); + api.paths[binName] = path.join(__dirname, `../../assets/bin/win64/${daemonName}/${daemonName}.exe`), + api.paths[binName] = path.normalize(api.paths[binName]); return api; break; } } const setCoinDir = (api, coin, dirNames) => { - if (!api) api = {}; + if (!api) api = { paths: {} }; + else if (!api.paths) api.paths = {}; const { darwin, linux, win32 } = dirNames let dirName = coin + "Dir"; switch (os.platform()) { case 'darwin': fixPath(); - api[dirName] = global.USB_MODE + api.paths[dirName] = global.USB_MODE ? `${global.HOME}/${darwin}` : `${global.HOME}/Library/Application Support/${darwin}`; return api; case 'linux': - api[dirName] = `${global.HOME}/${linux}` + api.paths[dirName] = `${global.HOME}/${linux}` return api; case 'win32': - api[dirName] = `${global.HOME}/${win32}`, - api[dirName] = path.normalize(api[dirName]); + api.paths[dirName] = `${global.HOME}/${win32}`, + api.paths[dirName] = path.normalize(api.paths[dirName]); return api; } } diff --git a/routes/api/pathsUtilDeprecated.js b/routes/api/pathsUtilDeprecated.js deleted file mode 100644 index 169cf4bf..00000000 --- a/routes/api/pathsUtilDeprecated.js +++ /dev/null @@ -1,143 +0,0 @@ -const path = require('path'); -const fixPath = require('fix-path'); -const os = require('os'); - -const pathsAgama = (api) => { - if (!api) api = {}; - - switch (os.platform()) { - case 'darwin': - fixPath(); - //api.agamaDirKMD = `${process.env.HOME}/Library/Application Support/Agama`; - - api.agamaDir = `${process.env.HOME}/Library/Application Support/Verus-Desktop`; - return api; - break; - - case 'linux': - //api.agamaDirKMD = `${process.env.HOME}/.agama`; - - api.agamaDir = `${process.env.HOME}/.verus-desktop`; - return api; - break; - - case 'win32': - //api.agamaDirKMD = `${process.env.APPDATA}/Agama`; - //api.agamaDirKMD = path.normalize(api.agamaDirKMD); - - api.agamaDir = `${process.env.APPDATA}/Verus-Desktop`; - api.agamaDir = path.normalize(api.agamaDir); - return api; - break; - } -}; - -const pathsDaemons = (api) => { - if (!api) api = {}; - - switch (os.platform()) { - case 'darwin': - fixPath(); - api.agamaTestDir = `${process.env.HOME}/Library/Application Support/Verus/test`, - api.komododBin = path.join(__dirname, '../../assets/bin/osx/komodod'), - api.komodocliBin = path.join(__dirname, '../../assets/bin/osx/komodo-cli'), - api.veruscliBin = path.join(__dirname, '../../assets/bin/osx/verusd/verus'), - api.komodocliDir = path.join(__dirname, '../../assets/bin/osx'), - api.kmdDir = `${process.env.HOME}/Library/Application Support/Komodo`, - api.vrscDir = `${process.env.HOME}/Library/Application Support/Komodo/VRSC`, - api.verusDir = `${process.env.HOME}/Library/Application Support/Verus`, - api.verusTestDir = `${process.env.HOME}/Library/Application Support/VerusTest`, - api.zcashdBin = '/Applications/ZCashSwingWalletUI.app/Contents/MacOS/zcashd', - api.zcashcliBin = '/Applications/ZCashSwingWalletUI.app/Contents/MacOS/zcash-cli', - api.zecDir = `${process.env.HOME}/Library/Application Support/Zcash`, - api.zcashParamsDir = `${process.env.HOME}/Library/Application Support/ZcashParams`, - api.chipsBin = path.join(__dirname, '../../assets/bin/osx/chipsd'), - api.chipscliBin = path.join(__dirname, '../../assets/bin/osx/chips-cli'), - api.chipsDir = `${process.env.HOME}/Library/Application Support/Chips`, - api.coindRootDir = path.join(__dirname, '../../assets/bin/osx/dex/coind'), - api.mmBin = path.join(__dirname, '../../node_modules/marketmaker/bin/darwin/x64/marketmaker'); - return api; - break; - - case 'linux': - api.agamaTestDir = `${process.env.HOME}/.verus/test`, - api.komododBin = path.join(__dirname, '../../assets/bin/linux64/komodod'), - api.komodocliBin = path.join(__dirname, '../../assets/bin/linux64/komodo-cli'), - api.veruscliBin = path.join(__dirname, '../../assets/bin/linux64/verusd/verus'), - api.komodocliDir = path.join(__dirname, '../../assets/bin/linux64'), - api.kmdDir = `${process.env.HOME}/.komodo`, - api.vrscDir = `${process.env.HOME}/.komodo/VRSC`, - api.verusDir = `${process.env.HOME}/.verus`, - api.verusTestDir = `${process.env.HOME}/.verustest`, - api.zcashParamsDir = `${process.env.HOME}/.zcash-params`, - api.chipsBin = path.join(__dirname, '../../assets/bin/linux64/chipsd'), - api.chipscliBin = path.join(__dirname, '../../assets/bin/linux64/chips-cli'), - api.chipsDir = `${process.env.HOME}/.chips`, - api.coindRootDir = path.join(__dirname, '../../assets/bin/linux64/dex/coind'), - api.mmBin = path.join(__dirname, '../../node_modules/marketmaker/bin/linux/x64/marketmaker'); - return api; - break; - - case 'win32': - api.agamaTestDir = `${process.env.APPDATA}/Verus/test`; - api.agamaTestDir = path.normalize(api.agamaTestDir); - api.komododBin = path.join(__dirname, '../../assets/bin/win64/komodod.exe'), - api.komododBin = path.normalize(api.komododBin), - api.komodocliBin = path.join(__dirname, '../../assets/bin/win64/komodo-cli.exe'), - api.komodocliBin = path.normalize(api.komodocliBin), - api.veruscliBin = path.join(__dirname, '../../assets/bin/win64/verusd/verus.exe'), - api.veruscliBin = path.normalize(api.veruscliBin), - api.komodocliDir = path.join(__dirname, '../../assets/bin/win64'), - api.komodocliDir = path.normalize(api.komodocliDir), - api.kmdDir = `${process.env.APPDATA}/Komodo`, - api.kmdDir = path.normalize(api.kmdDir), - api.vrscDir = `${process.env.APPDATA}/Komodo/VRSC`, - api.vrscDir = path.normalize(api.vrscDir), - api.verusDir = `${process.env.APPDATA}/Verus`, - api.verusDir = path.normalize(api.verusDir), - api.verusTestDir = `${process.env.APPDATA}/VerusTest`, - api.verusTestDir = path.normalize(api.verusTestDir), - api.chipsBin = path.join(__dirname, '../../assets/bin/win64/chipsd.exe'), - api.chipsBin = path.normalize(api.chipsBin), - api.chipscliBin = path.join(__dirname, '../../assets/bin/win64/chips-cli.exe'), - api.chipscliBin = path.normalize(api.chipscliBin), - api.chipsDir = `${process.env.APPDATA}/Chips`, - api.chipsDir = path.normalize(api.chipsDir); - api.zcashParamsDir = `${process.env.APPDATA}/ZcashParams`; - api.zcashParamsDir = path.normalize(api.zcashParamsDir); - api.coindRootDir = path.join(__dirname, '../../assets/bin/osx/dex/coind'); - api.coindRootDir = path.normalize(api.coindRootDir); - api.mmBin = path.join(__dirname, '../../node_modules/marketmaker/bin/win32/x64/marketmaker.exe'); - api.mmBin = path.normalize(api.mmBin); - return api; - break; - } -} - -const setDaemonPath = (api, daemonName) => { - if (!api) api = {}; - - let binName = daemonName + "Bin"; - switch (os.platform()) { - case 'darwin': - fixPath(); - api[binName] = path.join(__dirname, `../../assets/bin/osx/${daemonName}/${daemonName}`); - return api; - break; - case 'linux': - api[binName] = path.join(__dirname, `../../assets/bin/linux64/${daemonName}/${daemonName}`); - return api; - break; - case 'win32': - api[binName] = path.join(__dirname, `../../assets/bin/win64/${daemonName}/${daemonName}.exe`), - api[binName] = path.normalize(api[binName]); - return api; - break; - } -} - -module.exports = { - pathsAgama, - pathsDaemons, - setDaemonPath -}; diff --git a/routes/api/pin.js b/routes/api/pin.js index 026a58e5..f2e0bdd8 100644 --- a/routes/api/pin.js +++ b/routes/api/pin.js @@ -54,7 +54,7 @@ module.exports = (api) => { if (_customPinFilenameTest.test(pubkey)) { encrypt(req.body.string, _pin) .then((encryptedString) => { - fs.writeFile(`${api.agamaDir}/shepherd/pin/${pubkey}.pin`, encryptedString, (err) => { + fs.writeFile(`${api.paths.agamaDir}/shepherd/pin/${pubkey}.pin`, encryptedString, (err) => { if (err) { api.log('error writing pin file', 'pin'); @@ -120,8 +120,8 @@ module.exports = (api) => { if (_key && _pubkey) { - if (fs.existsSync(`${api.agamaDir}/shepherd/pin/${_pubkey}.pin`)) { - fs.readFile(`${api.agamaDir}/shepherd/pin/${_pubkey}.pin`, 'utf8', async(err, data) => { + if (fs.existsSync(`${api.paths.agamaDir}/shepherd/pin/${_pubkey}.pin`)) { + fs.readFile(`${api.paths.agamaDir}/shepherd/pin/${_pubkey}.pin`, 'utf8', async(err, data) => { if (err) { const retObj = { msg: 'error', @@ -138,7 +138,7 @@ module.exports = (api) => { .then((encryptedString) => { api.log(`seed encrypt old method detected for file ${_pubkey}`, 'pin'); - fs.writeFile(`${api.agamaDir}/shepherd/pin/${_pubkey}.pin`, encryptedString, (err) => { + fs.writeFile(`${api.paths.agamaDir}/shepherd/pin/${_pubkey}.pin`, encryptedString, (err) => { if (err) { api.log(`Error re-encrypt pin file ${_pubkey}`, 'pin'); @@ -213,8 +213,8 @@ module.exports = (api) => { /* api.get('/getpinlist', (req, res, next) => { if (api.checkToken(req.query.token)) { - if (fs.existsSync(`${api.agamaDir}/shepherd/pin`)) { - fs.readdir(`${api.agamaDir}/shepherd/pin`, (err, items) => { + if (fs.existsSync(`${api.paths.agamaDir}/shepherd/pin`)) { + fs.readdir(`${api.paths.agamaDir}/shepherd/pin`, (err, items) => { let _pins = []; for (let i = 0; i < items.length; i++) { @@ -262,8 +262,8 @@ module.exports = (api) => { const pubkey = req.body.pubkey; if (pubkey) { - if (fs.existsSync(`${api.agamaDir}/shepherd/pin/${pubkey}.pin`)) { - fs.readFile(`${api.agamaDir}/shepherd/pin/${pubkey}.pin`, 'utf8', (err, data) => { + if (fs.existsSync(`${api.paths.agamaDir}/shepherd/pin/${pubkey}.pin`)) { + fs.readFile(`${api.paths.agamaDir}/shepherd/pin/${pubkey}.pin`, 'utf8', (err, data) => { if (err) { const retObj = { msg: 'error', @@ -273,7 +273,7 @@ module.exports = (api) => { res.end(JSON.stringify(retObj)); } else { if (req.body.delete) { - fs.unlinkSync(`${api.agamaDir}/shepherd/pin/${pubkey}.pin`); + fs.unlinkSync(`${api.paths.agamaDir}/shepherd/pin/${pubkey}.pin`); const retObj = { msg: 'success', @@ -287,7 +287,7 @@ module.exports = (api) => { if (pubkeynew) { if (_customPinFilenameTest.test(pubkeynew)) { - fs.writeFile(`${api.agamaDir}/shepherd/pin/${pubkeynew}.pin`, data, (err) => { + fs.writeFile(`${api.paths.agamaDir}/shepherd/pin/${pubkeynew}.pin`, data, (err) => { if (err) { api.log('error writing pin file', 'pin'); @@ -298,7 +298,7 @@ module.exports = (api) => { res.end(JSON.stringify(retObj)); } else { - fs.unlinkSync(`${api.agamaDir}/shepherd/pin/${pubkey}.pin`); + fs.unlinkSync(`${api.paths.agamaDir}/shepherd/pin/${pubkey}.pin`); const retObj = { msg: 'success', diff --git a/routes/api/users.js b/routes/api/users.js index 85868fb7..7512ca1f 100644 --- a/routes/api/users.js +++ b/routes/api/users.js @@ -5,8 +5,8 @@ const Promise = require('bluebird'); module.exports = (api) => { api.loadLocalUsers = () => { - if (fs.existsSync(`${api.agamaDir}/users.json`)) { - let localUsersJson = fs.readFileSync(`${api.agamaDir}/users.json`, 'utf8'); + if (fs.existsSync(`${api.paths.agamaDir}/users.json`)) { + let localUsersJson = fs.readFileSync(`${api.paths.agamaDir}/users.json`, 'utf8'); let localUsers try { @@ -30,11 +30,11 @@ module.exports = (api) => { }; api.saveLocalUsers = (users) => { - const usersFileName = `${api.agamaDir}/users.json`; + const usersFileName = `${api.paths.agamaDir}/users.json`; try { try { - _fs.accessSync(api.agamaDir, fs.constants.R_OK) + _fs.accessSync(api.paths.agamaDir, fs.constants.R_OK) } catch (e) { if (e.code == 'EACCES') { fsnode.chmodSync(usersFileName, '0666'); @@ -48,8 +48,8 @@ module.exports = (api) => { api.log('users.json write file is done', 'users'); - api.log(`app users.json file is created successfully at: ${api.agamaDir}`, 'users'); - api.writeLog(`app users.json file is created successfully at: ${api.agamaDir}`); + api.log(`app users.json file is created successfully at: ${api.paths.agamaDir}`, 'users'); + api.writeLog(`app users.json file is created successfully at: ${api.paths.agamaDir}`); } catch (e) { api.log('error writing users', 'users'); api.log(e, 'users'); @@ -58,11 +58,11 @@ module.exports = (api) => { api.backupLocalUsers = () => { const users = api.loadLocalUsers() - const usersFileName = `${api.agamaDir}/users_backup_${new Date().getTime()}.json`; + const usersFileName = `${api.paths.agamaDir}/users_backup_${new Date().getTime()}.json`; try { try { - _fs.accessSync(api.agamaDir, fs.constants.R_OK) + _fs.accessSync(api.paths.agamaDir, fs.constants.R_OK) } catch (e) { if (e.code == 'EACCES') { fsnode.chmodSync(usersFileName, '0666'); @@ -76,8 +76,8 @@ module.exports = (api) => { api.log(`${usersFileName} write file is done`, 'users'); - api.log(`app ${usersFileName} file is created successfully at: ${api.agamaDir}`, 'users'); - api.writeLog(`app ${usersFileName} file is created successfully at: ${api.agamaDir}`); + api.log(`app ${usersFileName} file is created successfully at: ${api.paths.agamaDir}`, 'users'); + api.writeLog(`app ${usersFileName} file is created successfully at: ${api.paths.agamaDir}`); } catch (e) { api.log('error writing users', 'users'); api.log(e, 'users'); From 37f1db365e7646043f16b20531d49db66bf6fd44 Mon Sep 17 00:00:00 2001 From: Michael Toutonghi Date: Wed, 5 Aug 2020 19:16:58 +0200 Subject: [PATCH 04/10] Stabilize get_currency_data_map by waiting for daemon query calls to finish before querying for another currency --- routes/api/native/getCurrencies.js | 51 +++++++++++++----------------- 1 file changed, 22 insertions(+), 29 deletions(-) diff --git a/routes/api/native/getCurrencies.js b/routes/api/native/getCurrencies.js index 4c28aed6..6724e77c 100644 --- a/routes/api/native/getCurrencies.js +++ b/routes/api/native/getCurrencies.js @@ -25,39 +25,32 @@ module.exports = (api) => { // Returns an object with key = currency name and value = currency object // for every currency name mentioned in the input array api.native.get_currency_data_map = (chain, api_token, currencies = []) => { - return new Promise((resolve, reject) => { - const get_currency_promise = (currency) => { - return new Promise((_resolve) => { - api.native.get_currency(chain, api_token, currency) - .then(res => _resolve(res)) - .catch(err => { - api.log(`Error fetching currency: "${currency}"!`, "getCurrencies") - api.log(err, "getCurrencies") - - _resolve(null) - }) - }) + return new Promise(async (resolve, reject) => { + let res = { + currencyData: {}, + currencyNames: {} } - Promise.all(currencies.map((currency) => get_currency_promise(currency))) - .then(currencyArray => { - let res = { - currencyData: {}, - currencyNames: {} - } + for (let i = 0; i < currencies.length; i++) { + const currency = currencies[i] - currencyArray.forEach((value, index) => { - if (value != null && value.currencyid != null && value.name != null) { - res.currencyData[currencies[index]] = value - res.currencyNames[value.currencyid] = value.name + try { + const fullCurrencyObj = await api.native.get_currency(chain, api_token, currency) + + if ( + fullCurrencyObj.currencyid != null && + fullCurrencyObj.name != null + ) { + res.currencyData[currency] = fullCurrencyObj + res.currencyNames[fullCurrencyObj.currencyid] = fullCurrencyObj.name } - }) - - resolve(res) - }) - .catch(e => { - throw (e) - }) + } catch(e) { + api.log(`Error fetching currency: "${currency}"!`, "getCurrencies") + api.log(err, "getCurrencies") + } + } + + resolve(res) }); }; From 8578ea398f5f1588243f0c57bb1e74970258a06a Mon Sep 17 00:00:00 2001 From: Asher Dawes Date: Thu, 6 Aug 2020 01:14:48 -0700 Subject: [PATCH 05/10] Update submodule --- gui/Verus-Desktop-GUI | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gui/Verus-Desktop-GUI b/gui/Verus-Desktop-GUI index 4d6cb143..b09efe13 160000 --- a/gui/Verus-Desktop-GUI +++ b/gui/Verus-Desktop-GUI @@ -1 +1 @@ -Subproject commit 4d6cb1439f81dcaf21a75605aa7a3ec24dcf55d5 +Subproject commit b09efe138e32304ac94303cd45cf5da8e29a406f From b925a6761363e2acf4aefc03fcb94b94ed9490e2 Mon Sep 17 00:00:00 2001 From: Michael Toutonghi Date: Thu, 6 Aug 2020 21:04:11 +0200 Subject: [PATCH 06/10] Fix datadir config param --- routes/api/daemonControl.js | 48 ++++++++++++++++++++++--------------- routes/api/paths.js | 4 ++-- routes/api/pathsUtil.js | 10 ++++---- 3 files changed, 37 insertions(+), 25 deletions(-) diff --git a/routes/api/daemonControl.js b/routes/api/daemonControl.js index b5674c9e..37c515b9 100644 --- a/routes/api/daemonControl.js +++ b/routes/api/daemonControl.js @@ -416,29 +416,39 @@ module.exports = (api) => { api.log(`${daemon} binary path set to ${api.paths[`${daemon}Bin`]}`, 'native.process'); } - // Set coin data directory into memory if it doesnt exist yet - if (api.paths[`${coinLc}Dir`] == null) { - api.log(`${coin} data directory not already saved in memory...`, 'native.process'); - - if (dirNames != null) { - api.log(`saving ${coin} data directory as custom specified dir...`, 'native.process'); - } else { - reject(new Error(`Could not start ${coin} daemon, no data directory found or specified!`)) - } - - api.setCoinDir(coinLc, dirNames) - api.log(`${coin} dir path set to ${api.paths[`${coinLc}Dir`]}...`, 'native.process'); - } else api.log(`${coin} data directory retrieved...`, 'native.process'); - - if (global.USB_MODE) { - acOptions.push(`-datadir=${api.paths[`${coin.toLowerCase()}Dir`]}`) - } else if ( + if ( api.appConfig.coin.native.dataDir[coin] && api.appConfig.coin.native.dataDir[coin].length > 0 ) { - acOptions.push(`-datadir=${api.appConfig.coin.native.dataDir[chainTicker]}`) - } + api.log(`custom data dir detected, setting coin dir to ${api.appConfig.coin.native.dataDir[coin]}`, 'native.process'); + + api.setCoinDir(coinLc, { + linux: api.appConfig.coin.native.dataDir[coin], + darwin: api.appConfig.coin.native.dataDir[coin], + win32: api.appConfig.coin.native.dataDir[coin] + }, true) + + acOptions.push(`-datadir=${api.appConfig.coin.native.dataDir[coin]}`) + } else { + if (global.USB_MODE) { + acOptions.push(`-datadir=${api.paths[`${coin.toLowerCase()}Dir`]}`) + } + + // Set coin data directory into memory if it doesnt exist yet + if (api.paths[`${coinLc}Dir`] == null) { + api.log(`${coin} data directory not already saved in memory...`, 'native.process'); + if (dirNames != null) { + api.log(`saving ${coin} data directory as custom specified dir...`, 'native.process'); + } else { + reject(new Error(`Could not start ${coin} daemon, no data directory found or specified!`)) + } + + api.setCoinDir(coinLc, dirNames) + api.log(`${coin} dir path set to ${api.paths[`${coinLc}Dir`]}...`, 'native.process'); + } else api.log(`${coin} data directory retrieved...`, 'native.process'); + } + api.log(`selected data: ${JSON.stringify(acOptions, null, '\t')}`, 'native.confd'); api.initCoinDir(coinLc) diff --git a/routes/api/paths.js b/routes/api/paths.js index 34ba875e..17c16fbc 100644 --- a/routes/api/paths.js +++ b/routes/api/paths.js @@ -21,8 +21,8 @@ module.exports = (api) => { api = setDaemonPath(api, daemonName); } - api.setCoinDir = (coin, dirNames) => { - api = setCoinDir(api, coin, dirNames) + api.setCoinDir = (coin, dirNames, absolute = false) => { + api = setCoinDir(api, coin, dirNames, absolute) } return api; diff --git a/routes/api/pathsUtil.js b/routes/api/pathsUtil.js index 5f8bd2f3..759c904b 100644 --- a/routes/api/pathsUtil.js +++ b/routes/api/pathsUtil.js @@ -179,7 +179,7 @@ const setDaemonPath = (api, daemonName) => { } } -const setCoinDir = (api, coin, dirNames) => { +const setCoinDir = (api, coin, dirNames, absolute = false) => { if (!api) api = { paths: {} }; else if (!api.paths) api.paths = {}; const { darwin, linux, win32 } = dirNames @@ -188,15 +188,17 @@ const setCoinDir = (api, coin, dirNames) => { switch (os.platform()) { case 'darwin': fixPath(); - api.paths[dirName] = global.USB_MODE + api.paths[dirName] = absolute + ? darwin + : global.USB_MODE ? `${global.HOME}/${darwin}` : `${global.HOME}/Library/Application Support/${darwin}`; return api; case 'linux': - api.paths[dirName] = `${global.HOME}/${linux}` + api.paths[dirName] = absolute ? linux : `${global.HOME}/${linux}` return api; case 'win32': - api.paths[dirName] = `${global.HOME}/${win32}`, + api.paths[dirName] = absolute ? win32 : `${global.HOME}/${win32}`, api.paths[dirName] = path.normalize(api.paths[dirName]); return api; } From 5d9c534fa8552e05849ebd375194d37948ad2e58 Mon Sep 17 00:00:00 2001 From: Michael Toutonghi Date: Wed, 12 Aug 2020 13:59:41 +0200 Subject: [PATCH 07/10] Fix broken folder links in help menu --- private/mainmenu.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/private/mainmenu.js b/private/mainmenu.js index 55f38e4a..1b5eb02b 100644 --- a/private/mainmenu.js +++ b/private/mainmenu.js @@ -125,19 +125,19 @@ const template = [ { label: 'Show Verus Desktop Wallet data folder', click (item, focusedWindow) { - shell.openItem(pathsAgama().agamaDir); + shell.openItem(pathsAgama().paths.agamaDir); } }, { label: 'Show Verus data folder (default)', click (item, focusedWindow) { - shell.openItem(pathsDaemons().vrscDir); + shell.openItem(pathsDaemons().paths.vrscDir); } }, { label: 'Show binary folder', click (item, focusedWindow) { - shell.openItem(pathsDaemons().komodocliDir); + shell.openItem(pathsDaemons().paths.komodocliDir); } }, /*{ From 0e85c1a55097471ce94a26ac123694d125f61ebb Mon Sep 17 00:00:00 2001 From: Asher Dawes Date: Wed, 12 Aug 2020 16:33:29 -0700 Subject: [PATCH 08/10] Update submodule --- gui/Verus-Desktop-GUI | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gui/Verus-Desktop-GUI b/gui/Verus-Desktop-GUI index b09efe13..045e9cd7 160000 --- a/gui/Verus-Desktop-GUI +++ b/gui/Verus-Desktop-GUI @@ -1 +1 @@ -Subproject commit b09efe138e32304ac94303cd45cf5da8e29a406f +Subproject commit 045e9cd7a92fcfa5739eabcf20277675d16c4471 From 215539292411330d731881b3590e8ba8c6232adb Mon Sep 17 00:00:00 2001 From: Michael Toutonghi Date: Fri, 14 Aug 2020 17:59:02 +0200 Subject: [PATCH 09/10] Fix ZCoin electrum servers --- package.json | 1 - routes/electrumjs/electrumServers.js | 1 - routes/electrumjs/electrumServersConfig.js | 3 +- yarn.lock | 750 +++++++++++++-------- 4 files changed, 488 insertions(+), 267 deletions(-) diff --git a/package.json b/package.json index 83afeab8..4c3f27d6 100644 --- a/package.json +++ b/package.json @@ -74,7 +74,6 @@ "socket.io": "^2.1.1", "systeminformation": "^4.18.0", "wif": "^2.0.6" - }, "optionalDependencies": { "osx-temperature-sensor": "^1.0.4" diff --git a/routes/electrumjs/electrumServers.js b/routes/electrumjs/electrumServers.js index 86a18b3d..7c959560 100644 --- a/routes/electrumjs/electrumServers.js +++ b/routes/electrumjs/electrumServers.js @@ -278,7 +278,6 @@ for (let i = 0; i < disableCoins.length; i++) { if (electrumServers[disableCoins[i]]) { delete electrumServers[disableCoins[i]]; delete electrumServersFlag[disableCoins[i]]; - // console.log(`disable spv coin ${disableCoins[i]}`); } } diff --git a/routes/electrumjs/electrumServersConfig.js b/routes/electrumjs/electrumServersConfig.js index 919f564d..4501cdf4 100644 --- a/routes/electrumjs/electrumServersConfig.js +++ b/routes/electrumjs/electrumServersConfig.js @@ -12,7 +12,7 @@ const disableCoins = [ 'put', // needs kv edit 'ecn', // needs kv edit 'ac', - 'btcp', // sort out kv + //'btcp', // sort out kv 'blk', // untested coins 'smart', @@ -22,7 +22,6 @@ const disableCoins = [ 'xvc', 'nro', 'uno', - 'xzc', 'bela', 'ldcn', 'hnc', diff --git a/yarn.lock b/yarn.lock index 16d5f8dd..a5910a21 100644 --- a/yarn.lock +++ b/yarn.lock @@ -20,6 +20,15 @@ ajv "^6.12.0" ajv-keywords "^3.4.1" +"@iarna/cli@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@iarna/cli/-/cli-1.2.0.tgz#0f7af5e851afe895104583c4ca07377a8094d641" + integrity sha512-ukITQAqVs2n9HGmn3car/Ir7d3ta650iXhrG7pjr3EWdFmJuuOVWgYsu7ftsSe5VifEFFhjxVuX9+8F7L8hwcA== + dependencies: + signal-exit "^3.0.2" + update-notifier "^2.2.0" + yargs "^8.0.2" + "@sindresorhus/is@^0.14.0": version "0.14.0" resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" @@ -66,6 +75,20 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-10.14.19.tgz#f52742c7834a815dedf66edfc8a51547e2a67342" integrity sha512-j6Sqt38ssdMKutXBUuAcmWF8QtHW1Fwz/mz4Y+Wd9mzpBiVFirjpNQf363hG5itkG+yGaD+oiLyb50HxJ36l9Q== +"@types/pbkdf2@^3.0.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@types/pbkdf2/-/pbkdf2-3.1.0.tgz#039a0e9b67da0cdc4ee5dab865caa6b267bb66b1" + integrity sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ== + dependencies: + "@types/node" "*" + +"@types/secp256k1@^4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@types/secp256k1/-/secp256k1-4.0.1.tgz#fb3aa61a1848ad97d7425ff9dcba784549fca5a4" + integrity sha512-+ZjSA8ELlOp8SlKi0YLB2tz9d5iPNEmOBd+8Rz21wTMdaXQIa9b6TEnD6l5qKOCypE7FSyPyck12qZJxSDNoog== + dependencies: + "@types/node" "*" + "@types/yargs-parser@*": version "15.0.0" resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d" @@ -116,7 +139,7 @@ after@0.8.2: "agama-wallet-lib@git+https://github.com/VerusCoin/agama-wallet-lib.git#dev": version "0.3.4" - resolved "git+https://github.com/VerusCoin/agama-wallet-lib.git#c6b51636eb7a3fb80b1e3cc1386e301eb85f27e3" + resolved "git+https://github.com/VerusCoin/agama-wallet-lib.git#0a9f14e2de70f71877bcbac488989e15a5c92548" dependencies: bigi "^1.4.2" bip32 "^1.0.2" @@ -438,9 +461,9 @@ bech32@0.0.3: integrity sha512-O+K1w8P/aAOLcYwwQ4sbiPYZ51ZIW95lnS4/6nE8Aib/z+OOddQIIPdu2qi94qGDp4HhYy/wJotttXKkak1lXg== bech32@^1.1.2, bech32@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.3.tgz#bd47a8986bbb3eec34a56a097a84b8d3e9a2dfcd" - integrity sha512-yuVFUvrNcoJi0sv5phmqc6P+Fl1HjRDRNOOkHY2X/3LBy2bIGNSFx4fZ95HMaXHupuS7cZR15AsvtmCIF4UEyg== + version "1.1.4" + resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9" + integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== better-assert@~1.0.0: version "1.0.2" @@ -530,9 +553,9 @@ bitcoinjs-lib@^4.0.1: wif "^2.0.1" bitcoinjs-message@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/bitcoinjs-message/-/bitcoinjs-message-2.1.0.tgz#5fe36a7d92473bdc929d9183416970bbef1690ad" - integrity sha512-xVL2YvyAJUI8ZwfNpi6Ju5zda3+QYGHTLUvISDb0VHWbsWn9Zyvd1o8XHRC/0r+DNwDIwenpXDSPl1XLCMGnMA== + version "2.1.1" + resolved "https://registry.yarnpkg.com/bitcoinjs-message/-/bitcoinjs-message-2.1.1.tgz#c55d78f4461691b77fa5f9341216f8cd7ae0d0f4" + integrity sha512-aOXdP3a8ol0uTY32KDCiI2cEn1Cy4iUWx6jHjClENsKbBLdY5q9JkeebAemWNrWOmYOT2+oEWn8cDjmxE0M6mA== dependencies: bech32 "^1.1.3" bs58check "^2.1.2" @@ -554,6 +577,7 @@ bitcoinjs-message@^2.1.0: "bitcore-lib-zcash@https://github.com/zcash-hackworks/bitcore-lib-zcash": version "0.13.19" + uid e97ae1dd2e9f14d6076d5e5429c75d8965afa4ab resolved "https://github.com/zcash-hackworks/bitcore-lib-zcash#e97ae1dd2e9f14d6076d5e5429c75d8965afa4ab" dependencies: bn.js "=2.0.4" @@ -606,6 +630,11 @@ bitcoinjs-message@^2.1.0: blake2b-wasm "https://github.com/BitGo/blake2b-wasm#193cdb71656c1a6c7f89b05d0327bb9b758d071b" nanoassert "^1.0.0" +blakejs@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.1.0.tgz#69df92ef953aa88ca51a32df6ab1c54a155fc7a5" + integrity sha1-ad+S75U6qIylGjLfarHFShVfx6U= + blob@0.0.5: version "0.0.5" resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.5.tgz#d680eeef25f8cd91ad533f5b01eed48e64caf683" @@ -628,7 +657,12 @@ bn.js@=2.0.4: resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-2.0.4.tgz#220a7cd677f7f1bfa93627ff4193776fe7819480" integrity sha1-Igp81nf38b+pNif/QZN3b+eBlIA= -bn.js@^4.11.0, bn.js@^4.11.1, bn.js@^4.11.8, bn.js@^4.4.0: +bn.js@^4.11.0, bn.js@^4.11.1: + version "4.11.9" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828" + integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw== + +bn.js@^4.11.8, bn.js@^4.4.0: version "4.11.8" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA== @@ -689,7 +723,7 @@ brorand@^1.0.1: resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= -browserify-aes@^1.0.6: +browserify-aes@^1.0.6, browserify-aes@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== @@ -795,7 +829,7 @@ bytes@3.1.0: resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== -cacache@^12.0.0, cacache@^12.0.2, cacache@^12.0.3: +cacache@^12.0.0: version "12.0.3" resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.3.tgz#be99abba4e1bf5df461cd5a2c1071fc432573390" integrity sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw== @@ -816,6 +850,27 @@ cacache@^12.0.0, cacache@^12.0.2, cacache@^12.0.3: unique-filename "^1.1.1" y18n "^4.0.0" +cacache@^12.0.2, cacache@^12.0.3: + version "12.0.4" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" + integrity sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ== + dependencies: + bluebird "^3.5.5" + chownr "^1.1.1" + figgy-pudding "^3.5.1" + glob "^7.1.4" + graceful-fs "^4.1.15" + infer-owner "^1.0.3" + lru-cache "^5.1.1" + mississippi "^3.0.0" + mkdirp "^0.5.1" + move-concurrently "^1.0.1" + promise-inflight "^1.0.1" + rimraf "^2.6.3" + ssri "^6.0.1" + unique-filename "^1.1.1" + y18n "^4.0.0" + cacheable-request@^6.0.0: version "6.1.0" resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912" @@ -852,7 +907,7 @@ camelcase@^2.0.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8= -camelcase@^4.0.0: +camelcase@^4.0.0, camelcase@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= @@ -977,6 +1032,15 @@ cli-table3@^0.5.0, cli-table3@^0.5.1: optionalDependencies: colors "^1.1.2" +cliui@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" + integrity sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0= + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + wrap-ansi "^2.0.0" + cliui@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" @@ -1336,12 +1400,12 @@ debug@^4.1.1, debug@~4.1.0: dependencies: ms "^2.1.1" -debuglog@^1.0.1: +debuglog@*, debuglog@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" integrity sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI= -decamelize@^1.1.2, decamelize@^1.2.0: +decamelize@^1.1.1, decamelize@^1.1.2, decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= @@ -1604,7 +1668,7 @@ electron@^4.2.12: electron-download "^4.1.0" extract-zip "^1.0.3" -elliptic@6.5.2, elliptic@=3.0.3, elliptic@^6.4.0, elliptic@^6.4.1, elliptic@^6.5.3: +elliptic@6.5.2, elliptic@=3.0.3, elliptic@^6.4.0, elliptic@^6.4.1, elliptic@^6.5.2, elliptic@^6.5.3: version "6.5.3" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.3.tgz#cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6" integrity sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw== @@ -1715,26 +1779,27 @@ error-ex@^1.2.0: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.5.1: - version "1.14.2" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.14.2.tgz#7ce108fad83068c8783c3cdf62e504e084d8c497" - integrity sha512-DgoQmbpFNOofkjJtKwr87Ma5EW4Dc8fWhD0R+ndq7Oc456ivUfGOOP6oAZTTKl5/CcNMP+EN+e3/iUzgE0veZg== +es-abstract@^1.17.0-next.1, es-abstract@^1.17.5: + version "1.17.6" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.6.tgz#9142071707857b2cacc7b89ecb670316c3e2d52a" + integrity sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw== dependencies: - es-to-primitive "^1.2.0" + es-to-primitive "^1.2.1" function-bind "^1.1.1" has "^1.0.3" - has-symbols "^1.0.0" - is-callable "^1.1.4" - is-regex "^1.0.4" - object-inspect "^1.6.0" + has-symbols "^1.0.1" + is-callable "^1.2.0" + is-regex "^1.1.0" + object-inspect "^1.7.0" object-keys "^1.1.1" - string.prototype.trimleft "^2.0.0" - string.prototype.trimright "^2.0.0" + object.assign "^4.1.0" + string.prototype.trimend "^1.0.1" + string.prototype.trimstart "^1.0.1" -es-to-primitive@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" - integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg== +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== dependencies: is-callable "^1.1.4" is-date-object "^1.0.1" @@ -1777,18 +1842,39 @@ etag@~1.8.1: resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= +ethereum-cryptography@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz#8d6143cfc3d74bf79bbd8edecdf29e4ae20dd191" + integrity sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ== + dependencies: + "@types/pbkdf2" "^3.0.0" + "@types/secp256k1" "^4.0.1" + blakejs "^1.1.0" + browserify-aes "^1.2.0" + bs58check "^2.1.2" + create-hash "^1.2.0" + create-hmac "^1.1.7" + hash.js "^1.1.7" + keccak "^3.0.0" + pbkdf2 "^3.0.17" + randombytes "^2.1.0" + safe-buffer "^5.1.2" + scrypt-js "^3.0.0" + secp256k1 "^4.0.1" + setimmediate "^1.0.5" + ethereumjs-util@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-6.2.0.tgz#23ec79b2488a7d041242f01e25f24e5ad0357960" - integrity sha512-vb0XN9J2QGdZGIEKG2vXM+kUdEivUfU6Wmi5y0cg+LRhDYKnXIZ/Lz7XjFbHRR9VIKq2lVGLzGBkA++y2nOdOQ== + version "6.2.1" + resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz#fcb4e4dd5ceacb9d2305426ab1a5cd93e3163b69" + integrity sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw== dependencies: "@types/bn.js" "^4.11.3" bn.js "^4.11.0" create-hash "^1.1.2" + elliptic "^6.5.2" + ethereum-cryptography "^0.1.3" ethjs-util "0.1.6" - keccak "^2.0.0" rlp "^2.2.3" - secp256k1 "^3.0.1" ethers@4.0.44: version "4.0.44" @@ -1993,6 +2079,13 @@ find-up@^1.0.0: path-exists "^2.0.0" pinkie-promise "^2.0.0" +find-up@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= + dependencies: + locate-path "^2.0.0" + find-up@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" @@ -2189,6 +2282,11 @@ gentle-fs@^2.3.1: read-cmd-shim "^1.0.1" slide "^1.1.6" +get-caller-file@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" + integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== + get-caller-file@^2.0.1: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" @@ -2233,10 +2331,10 @@ getpass@^0.1.1: dependencies: assert-plus "^1.0.0" -glob@^7.0.3, glob@^7.1.1, glob@^7.1.3, glob@^7.1.4: - version "7.1.4" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" - integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== +glob@^7.1.1, glob@^7.1.6: + version "7.1.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" @@ -2245,10 +2343,10 @@ glob@^7.0.3, glob@^7.1.1, glob@^7.1.3, glob@^7.1.4: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.1.6: - version "7.1.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== +glob@^7.1.3, glob@^7.1.4: + version "7.1.4" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" + integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" @@ -2358,10 +2456,10 @@ has-flag@^4.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" - integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= +has-symbols@^1.0.0, has-symbols@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" + integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== has-unicode@^2.0.0, has-unicode@~2.0.1: version "2.0.1" @@ -2373,7 +2471,7 @@ has-yarn@^2.1.0: resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw== -has@^1.0.1, has@^1.0.3: +has@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== @@ -2396,7 +2494,7 @@ hash.js@1.1.3: inherits "^2.0.3" minimalistic-assert "^1.0.0" -hash.js@^1.0.0, hash.js@^1.0.3: +hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== @@ -2524,9 +2622,9 @@ iferr@^1.0.2: integrity sha512-9AfeLfji44r5TKInjhz3W9DyZI1zR1JAf2hVBMGhddAKPqBsupb89jGfbCTHIGZd6fGZl9WlHdn4AObygyMKwg== ignore-walk@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.2.tgz#99d83a246c196ea5c93ef9315ad7b0819c35069b" - integrity sha512-EXyErtpHbn75ZTsOADsfx6J/FPo6/5cjev46PXrcTpd8z3BoRkXgYu9/JVqrI7tusjmwCZutGeRJeU0Wo1e4Cw== + version "3.0.3" + resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.3.tgz#017e2447184bfeade7c238e4aefdd1e8f95b1e37" + integrity sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw== dependencies: minimatch "^3.0.4" @@ -2535,7 +2633,7 @@ import-lazy@^2.1.0: resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= -imurmurhash@^0.1.4: +imurmurhash@*, imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= @@ -2604,6 +2702,11 @@ install@^0.12.2: resolved "https://registry.yarnpkg.com/install/-/install-0.12.2.tgz#ea10e9b2cbb5b0484f25080b24b5b34429d9f564" integrity sha512-+7thTb4Rpvs9mnlhHKGZFJbGOO6kyMgy+gg0sgM5vFzIFK0wrCYXqdlaM71Bi289DTuPHf61puMFsaZBcwDIrg== +invert-kv@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" + integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY= + iocane@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/iocane/-/iocane-1.0.2.tgz#3697b168e699bdcded8d6418f962e0a3237db50e" @@ -2631,10 +2734,10 @@ is-arrayish@^0.2.1: resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= -is-callable@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" - integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== +is-callable@^1.1.4, is-callable@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.0.tgz#83336560b54a38e35e3a2df7afd0454d691468bb" + integrity sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw== is-ci@^1.0.10: version "1.2.1" @@ -2651,16 +2754,16 @@ is-ci@^2.0.0: ci-info "^2.0.0" is-cidr@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/is-cidr/-/is-cidr-3.1.0.tgz#72e233d8e1c4cd1d3f11713fcce3eba7b0e3476f" - integrity sha512-3kxTForpuj8O4iHn0ocsn1jxRm5VYm60GDghK6HXmpn4IyZOoRy9/GmdjFA2yEMqw91TB1/K3bFTuI7FlFNR1g== + version "3.1.1" + resolved "https://registry.yarnpkg.com/is-cidr/-/is-cidr-3.1.1.tgz#e92ef121bdec2782271a77ce487a8b8df3718ab7" + integrity sha512-Gx+oErgq1j2jAKCR2Kbq0b3wbH0vQKqZ0wOlHxm0o56nq51Cs/DZA8oz9dMDhbHyHEGgJ86eTeVudtgMMOx3Mw== dependencies: cidr-regex "^2.0.10" is-date-object@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" - integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" + integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== is-finite@^1.0.0: version "1.0.2" @@ -2746,12 +2849,12 @@ is-redirect@^1.0.0: resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" integrity sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ= -is-regex@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" - integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= +is-regex@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.1.tgz#c6f98aacc546f6cec5468a07b7b153ab564a57b9" + integrity sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg== dependencies: - has "^1.0.1" + has-symbols "^1.0.1" is-retry-allowed@^1.0.0: version "1.2.0" @@ -2764,11 +2867,11 @@ is-stream@^1.0.0, is-stream@^1.1.0: integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= is-symbol@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" - integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw== + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" + integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== dependencies: - has-symbols "^1.0.0" + has-symbols "^1.0.1" is-typedarray@^1.0.0, is-typedarray@~1.0.0: version "1.0.0" @@ -2921,15 +3024,13 @@ jsprim@^1.2.2: json-schema "0.2.3" verror "1.10.0" -keccak@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/keccak/-/keccak-2.1.0.tgz#734ea53f2edcfd0f42cdb8d5f4c358fef052752b" - integrity sha512-m1wbJRTo+gWbctZWay9i26v5fFnYkOn7D5PCxJ3fZUGUEb49dE1Pm4BREUYCt/aoO6di7jeoGmhvqN9Nzylm3Q== +keccak@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.1.tgz#ae30a0e94dbe43414f741375cff6d64c8bea0bff" + integrity sha512-epq90L9jlFWCW7+pQa6JOnKn2Xgl2mtI664seYR6MHskvI9agt7AnDqmAlp9TqU4/caMYbA08Hi5DMZAl5zdkA== dependencies: - bindings "^1.5.0" - inherits "^2.0.4" - nan "^2.14.0" - safe-buffer "^5.2.0" + node-addon-api "^2.0.0" + node-gyp-build "^4.2.0" keyv@^3.0.0: version "3.1.0" @@ -2962,6 +3063,13 @@ lazy-val@^1.0.4: resolved "https://registry.yarnpkg.com/lazy-val/-/lazy-val-1.0.4.tgz#882636a7245c2cfe6e0a4e3ba6c5d68a137e5c65" integrity sha512-u93kb2fPbIrfzBuLjZE+w+fJbUUMhNDXxNmMfaqNgpfQf1CO5ZSe2LfsnBqVAk7i/2NF48OSoRj+Xe2VT+lE8Q== +lcid@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" + integrity sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU= + dependencies: + invert-kv "^1.0.0" + libcipm@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/libcipm/-/libcipm-4.0.8.tgz#dcea4919e10dfbce420327e63901613b9141bc89" @@ -3107,6 +3215,24 @@ load-json-file@^1.0.0: pinkie-promise "^2.0.0" strip-bom "^2.0.0" +load-json-file@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" + integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + strip-bom "^3.0.0" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + locate-path@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" @@ -3123,10 +3249,11 @@ locate-path@^5.0.0: p-locate "^4.1.0" lock-verify@^2.0.2, lock-verify@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/lock-verify/-/lock-verify-2.1.0.tgz#fff4c918b8db9497af0c5fa7f6d71555de3ceb47" - integrity sha512-vcLpxnGvrqisKvLQ2C2v0/u7LVly17ak2YSgoK4PrdsYBXQIax19vhKiLfvKNFx7FRrpTnitrpzF/uuCMuorIg== + version "2.2.1" + resolved "https://registry.yarnpkg.com/lock-verify/-/lock-verify-2.2.1.tgz#81107948c51ed16f97b96ff8b60675affb243fc1" + integrity sha512-n0Zw2DVupKfZMazy/HIFVNohJ1z8fIoZ77WBnyyBGG6ixw83uJNyrbiJvvHWe1QKkGiBCjj8RCPlymltliqEww== dependencies: + "@iarna/cli" "^1.2.0" npm-package-arg "^6.1.0" semver "^5.4.1" @@ -3137,6 +3264,11 @@ lockfile@^1.0.4: dependencies: signal-exit "^3.0.2" +lodash._baseindexof@*: + version "3.1.0" + resolved "https://registry.yarnpkg.com/lodash._baseindexof/-/lodash._baseindexof-3.1.0.tgz#fe52b53a1c6761e42618d654e4a25789ed61822c" + integrity sha1-/lK1OhxnYeQmGNZU5KJXie1hgiw= + lodash._baseuniq@~4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash._baseuniq/-/lodash._baseuniq-4.6.0.tgz#0ebb44e456814af7905c6212fa2c9b2d51b841e8" @@ -3145,11 +3277,33 @@ lodash._baseuniq@~4.6.0: lodash._createset "~4.0.0" lodash._root "~3.0.0" +lodash._bindcallback@*: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz#e531c27644cf8b57a99e17ed95b35c748789392e" + integrity sha1-5THCdkTPi1epnhftlbNcdIeJOS4= + +lodash._cacheindexof@*: + version "3.0.2" + resolved "https://registry.yarnpkg.com/lodash._cacheindexof/-/lodash._cacheindexof-3.0.2.tgz#3dc69ac82498d2ee5e3ce56091bafd2adc7bde92" + integrity sha1-PcaayCSY0u5ePOVgkbr9Ktx73pI= + +lodash._createcache@*: + version "3.1.2" + resolved "https://registry.yarnpkg.com/lodash._createcache/-/lodash._createcache-3.1.2.tgz#56d6a064017625e79ebca6b8018e17440bdcf093" + integrity sha1-VtagZAF2JeeevKa4AY4XRAvc8JM= + dependencies: + lodash._getnative "^3.0.0" + lodash._createset@~4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/lodash._createset/-/lodash._createset-4.0.3.tgz#0f4659fbb09d75194fa9e2b88a6644d363c9fe26" integrity sha1-D0ZZ+7CddRlPqeK4imZE02PJ/iY= +lodash._getnative@*, lodash._getnative@^3.0.0: + version "3.9.1" + resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" + integrity sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U= + lodash._root@~3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692" @@ -3170,6 +3324,11 @@ lodash.isfinite@^3.3.2: resolved "https://registry.yarnpkg.com/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz#fb89b65a9a80281833f0b7478b3a5104f898ebb3" integrity sha1-+4m2WpqAKBgz8LdHizpRBPiY67M= +lodash.restparam@*: + version "3.6.1" + resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" + integrity sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU= + lodash.union@~4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.union/-/lodash.union-4.6.0.tgz#48bb5088409f16f1821666641c44dd1aaae3cd88" @@ -3283,16 +3442,16 @@ md5.js@^1.3.4: safe-buffer "^5.1.2" meant@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/meant/-/meant-1.0.1.tgz#66044fea2f23230ec806fb515efea29c44d2115d" - integrity sha512-UakVLFjKkbbUwNWJ2frVLnnAtbb7D7DsloxRd3s/gDpI8rdv8W5Hp3NaDb+POBI1fQdeussER6NB8vpcRURvlg== + version "1.0.2" + resolved "https://registry.yarnpkg.com/meant/-/meant-1.0.2.tgz#5d0c78310a3d8ae1408a16be0fe0bd42a969f560" + integrity sha512-KN+1uowN/NK+sT/Lzx7WSGIj2u+3xe5n2LbwObfjOhPZiA+cCfCm6idVl0RkEfjThkw5XJ96CyRcanq6GmKtUg== media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= -mem@4.0.0: +mem@4.0.0, mem@^1.1.0: version "4.0.0" resolved "https://registry.yarnpkg.com/mem/-/mem-4.0.0.tgz#6437690d9471678f6cc83659c00cbafcd6b0cdaf" integrity sha512-WQxG/5xYc3tMbYLXoXPm81ET2WDULiU5FxbuIoNbJqLOOI8zehXFdZuiUEgfdrU2mVB1pxBZUGlYORSrpuJreA== @@ -3386,18 +3545,18 @@ minimist@0.0.8, minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2 resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== -minipass@^2.3.5, minipass@^2.6.0, minipass@^2.8.6: - version "2.8.6" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.8.6.tgz#620d889ace26356391d010ecb9458749df9b6db5" - integrity sha512-lFG7d6g3+/UaFDCOtqPiKAC9zngWWsQZl1g5q6gaONqrjq61SX2xFqXMleQiFVyDpYwa018E9hmlAFY22PCb+A== +minipass@^2.3.5, minipass@^2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" + integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg== dependencies: safe-buffer "^5.1.2" yallist "^3.0.0" -minipass@^2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" - integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg== +minipass@^2.6.0, minipass@^2.8.6: + version "2.8.6" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.8.6.tgz#620d889ace26356391d010ecb9458749df9b6db5" + integrity sha512-lFG7d6g3+/UaFDCOtqPiKAC9zngWWsQZl1g5q6gaONqrjq61SX2xFqXMleQiFVyDpYwa018E9hmlAFY22PCb+A== dependencies: safe-buffer "^5.1.2" yallist "^3.0.0" @@ -3471,7 +3630,12 @@ mute-stream@~0.0.4: resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== -nan@^2.13.2, nan@^2.14.0: +nan@^2.13.2: + version "2.14.1" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01" + integrity sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw== + +nan@^2.14.0: version "2.14.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== @@ -3498,6 +3662,11 @@ node-abi@^2.11.0: dependencies: semver "^5.4.1" +node-addon-api@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32" + integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA== + node-fetch-npm@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/node-fetch-npm/-/node-fetch-npm-2.0.2.tgz#7258c9046182dca345b4208eda918daf33697ff7" @@ -3507,27 +3676,15 @@ node-fetch-npm@^2.0.2: json-parse-better-errors "^1.0.0" safe-buffer "^5.1.1" -node-gyp@^5.0.2: - version "5.0.4" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-5.0.4.tgz#1de243f17b081a6e89f4330967900c816114f8fb" - integrity sha512-PMYap4ekQckQDZ2lxoORUF/nX13haU1JdCAlmLgvrykLyN0LFkhfwPbWhYjTxwTruCWbTkeOxFo043kjhmKHZA== - dependencies: - env-paths "^1.0.0" - glob "^7.0.3" - graceful-fs "^4.1.2" - mkdirp "^0.5.0" - nopt "2 || 3" - npmlog "0 || 1 || 2 || 3 || 4" - request "^2.87.0" - rimraf "2" - semver "~5.3.0" - tar "^4.4.12" - which "1" +node-gyp-build@^4.2.0: + version "4.2.3" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.2.3.tgz#ce6277f853835f718829efb47db20f3e4d9c4739" + integrity sha512-MN6ZpzmfNCRM+3t57PTJHgHyw/h4OWnZ6mR8P5j/uZtqQr46RRuDE/P+g3n0YR/AiYXeWixZZzaip77gdICfRg== -node-gyp@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-5.1.0.tgz#8e31260a7af4a2e2f994b0673d4e0b3866156332" - integrity sha512-OUTryc5bt/P8zVgNUmC6xdXiDJxLMAW8cF5tLQOT9E5sOQj+UeQxnnPy74K3CLCa/SOjjBlbuzDLR8ANwA+wmw== +node-gyp@^5.0.2, node-gyp@^5.1.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-5.1.1.tgz#eb915f7b631c937d282e33aed44cb7a025f62a3e" + integrity sha512-WH0WKGi+a4i4DUt2mHnvocex/xPLp9pYt5R6M2JdFB7pJ7Z34hveZ4nDTGTiLXCkitA9T8HFZjhinBCiVHYcWw== dependencies: env-paths "^2.2.0" glob "^7.1.4" @@ -3563,13 +3720,6 @@ nodejs-aes256@^1.0.1: resolved "https://registry.yarnpkg.com/nodejs-aes256/-/nodejs-aes256-1.0.1.tgz#bb68cb3f3591c2888c1a136e9667cc1a8ee15448" integrity sha1-u2jLPzWRwoiMGhNulmfMGo7hVEg= -"nopt@2 || 3", nopt@~3.0.1: - version "3.0.6" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" - integrity sha1-xkZdvwirzU2zWTF/eaxopkayj/k= - dependencies: - abbrev "1" - nopt@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" @@ -3586,6 +3736,13 @@ nopt@^4.0.3: abbrev "1" osenv "^0.1.4" +nopt@~3.0.1: + version "3.0.6" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + integrity sha1-xkZdvwirzU2zWTF/eaxopkayj/k= + dependencies: + abbrev "1" + noptd@~2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/noptd/-/noptd-2.0.1.tgz#b0357ae822e4d6876316fc2f795e4dd456ae5715" @@ -3617,9 +3774,11 @@ npm-audit-report@^1.3.3: console-control-strings "^1.1.0" npm-bundled@^1.0.1: - version "1.0.6" - resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.6.tgz#e7ba9aadcef962bb61248f91721cd932b3fe6bdd" - integrity sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g== + version "1.1.1" + resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.1.tgz#1edd570865a94cdb1bc8220775e29466c9fb234b" + integrity sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA== + dependencies: + npm-normalize-package-bin "^1.0.1" npm-cache-filename@~1.0.2: version "1.0.2" @@ -3633,21 +3792,7 @@ npm-install-checks@^3.0.2: dependencies: semver "^2.3.0 || 3.x || 4 || 5" -npm-lifecycle@^3.0.0: - version "3.1.4" - resolved "https://registry.yarnpkg.com/npm-lifecycle/-/npm-lifecycle-3.1.4.tgz#de6975c7d8df65f5150db110b57cce498b0b604c" - integrity sha512-tgs1PaucZwkxECGKhC/stbEgFyc3TGh2TJcg2CDr6jbvQRdteHNhmMeljRzpe4wgFAXQADoy1cSqqi7mtiAa5A== - dependencies: - byline "^5.0.0" - graceful-fs "^4.1.15" - node-gyp "^5.0.2" - resolve-from "^4.0.0" - slide "^1.1.6" - uid-number "0.0.6" - umask "^1.1.0" - which "^1.3.1" - -npm-lifecycle@^3.1.5: +npm-lifecycle@^3.0.0, npm-lifecycle@^3.1.5: version "3.1.5" resolved "https://registry.yarnpkg.com/npm-lifecycle/-/npm-lifecycle-3.1.5.tgz#9882d3642b8c82c815782a12e6a1bfeed0026309" integrity sha512-lDLVkjfZmvmfvpvBzA4vzee9cn+Me4orq0QF8glbswJVEbIcSNWib7qGOffolysc3teCqbbPZZkzbr3GQZTL1g== @@ -3681,15 +3826,7 @@ npm-normalize-package-bin@^1.0.0, npm-normalize-package-bin@^1.0.1: semver "^5.6.0" validate-npm-package-name "^3.0.0" -npm-packlist@^1.1.12: - version "1.4.4" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.4.tgz#866224233850ac534b63d1a6e76050092b5d2f44" - integrity sha512-zTLo8UcVYtDU3gdeaFu2Xu0n0EvelfHDGuqtNIn5RO7yQj4H1TqNdBc/yZjxnWA0PVB8D3Woyp0i5B43JwQ6Vw== - dependencies: - ignore-walk "^3.0.1" - npm-bundled "^1.0.1" - -npm-packlist@^1.4.8: +npm-packlist@^1.1.12, npm-packlist@^1.4.8: version "1.4.8" resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.8.tgz#56ee6cc135b9f98ad3d51c1c95da22bbb9b2ef3e" integrity sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A== @@ -3707,16 +3844,7 @@ npm-pick-manifest@^3.0.0, npm-pick-manifest@^3.0.2: npm-package-arg "^6.0.0" semver "^5.4.1" -npm-profile@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/npm-profile/-/npm-profile-4.0.2.tgz#8272a71c19634d0dce9c35a5daf8ee589cbb0f52" - integrity sha512-VRsC04pvRH+9cF+PoVh2nTmJjiG21yu59IHpsBpkxk+jaGAV8lxx96G4SDc0jOHAkfWLXbc6kIph3dGAuRnotQ== - dependencies: - aproba "^1.1.2 || 2" - figgy-pudding "^3.4.1" - npm-registry-fetch "^4.0.0" - -npm-profile@^4.0.4: +npm-profile@^4.0.2, npm-profile@^4.0.4: version "4.0.4" resolved "https://registry.yarnpkg.com/npm-profile/-/npm-profile-4.0.4.tgz#28ee94390e936df6d084263ee2061336a6a1581b" integrity sha512-Ta8xq8TLMpqssF0H60BXS1A90iMoM6GeKwsmravJ6wYjWwSzcYBTdyWa3DZCYqPutacBMEm7cxiOkiIeCUAHDQ== @@ -3871,7 +3999,7 @@ npm@^6.14.7: worker-farm "^1.7.0" write-file-atomic "^2.4.3" -"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.1.2, npmlog@~4.1.2: +npmlog@^4.1.2, npmlog@~4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== @@ -3919,12 +4047,12 @@ object-component@0.0.3: resolved "https://registry.yarnpkg.com/object-component/-/object-component-0.0.3.tgz#f0c69aa50efc95b866c186f400a33769cb2f1291" integrity sha1-8MaapQ78lbhmwYb0AKM3acsvEpE= -object-inspect@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.6.0.tgz#c70b6cbf72f274aab4c34c0c82f5167bf82cf15b" - integrity sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ== +object-inspect@^1.7.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.8.0.tgz#df807e5ecf53a609cc6bfe93eac3cc7be5b3a9d0" + integrity sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA== -object-keys@^1.0.12, object-keys@^1.1.1: +object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== @@ -3934,13 +4062,23 @@ object-keys@~0.4.0: resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-0.4.0.tgz#28a6aae7428dd2c3a92f3d95f21335dd204e0336" integrity sha1-KKaq50KN0sOpLz2V8hM13SBOAzY= -object.getownpropertydescriptors@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" - integrity sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY= +object.assign@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" + integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== dependencies: define-properties "^1.1.2" - es-abstract "^1.5.1" + function-bind "^1.1.1" + has-symbols "^1.0.0" + object-keys "^1.0.11" + +object.getownpropertydescriptors@^2.0.3: + version "2.1.0" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649" + integrity sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" on-finished@~2.3.0: version "2.3.0" @@ -3985,6 +4123,15 @@ os-homedir@^1.0.0: resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= +os-locale@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" + integrity sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA== + dependencies: + execa "^0.7.0" + lcid "^1.0.0" + mem "^1.1.0" + os-tmpdir@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" @@ -4023,6 +4170,13 @@ p-is-promise@^1.1.0: resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-1.1.0.tgz#9c9456989e9f6588017b0434d56097675c3da05e" integrity sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4= +p-limit@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== + dependencies: + p-try "^1.0.0" + p-limit@^2.0.0: version "2.2.1" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.1.tgz#aa07a788cc3151c939b5131f63570f0dd2009537" @@ -4037,6 +4191,13 @@ p-limit@^2.2.0: dependencies: p-try "^2.0.0" +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= + dependencies: + p-limit "^1.1.0" + p-locate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" @@ -4051,6 +4212,11 @@ p-locate@^4.1.0: dependencies: p-limit "^2.2.0" +p-try@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= + p-try@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" @@ -4076,42 +4242,7 @@ package-json@^6.3.0: registry-url "^5.0.0" semver "^6.2.0" -pacote@^9.1.0, pacote@^9.5.3: - version "9.5.8" - resolved "https://registry.yarnpkg.com/pacote/-/pacote-9.5.8.tgz#23480efdc4fa74515855c9ecf39cf64078f99786" - integrity sha512-0Tl8Oi/K0Lo4MZmH0/6IsT3gpGf9eEAznLXEQPKgPq7FscnbUOyopnVpwXlnQdIbCUaojWy1Wd7VMyqfVsRrIw== - dependencies: - bluebird "^3.5.3" - cacache "^12.0.2" - chownr "^1.1.2" - figgy-pudding "^3.5.1" - get-stream "^4.1.0" - glob "^7.1.3" - infer-owner "^1.0.4" - lru-cache "^5.1.1" - make-fetch-happen "^5.0.0" - minimatch "^3.0.4" - minipass "^2.3.5" - mississippi "^3.0.0" - mkdirp "^0.5.1" - normalize-package-data "^2.4.0" - npm-package-arg "^6.1.0" - npm-packlist "^1.1.12" - npm-pick-manifest "^3.0.0" - npm-registry-fetch "^4.0.0" - osenv "^0.1.5" - promise-inflight "^1.0.1" - promise-retry "^1.1.1" - protoduck "^5.0.1" - rimraf "^2.6.2" - safe-buffer "^5.1.2" - semver "^5.6.0" - ssri "^6.0.1" - tar "^4.4.10" - unique-filename "^1.1.1" - which "^1.3.1" - -pacote@^9.5.12: +pacote@^9.1.0, pacote@^9.5.12, pacote@^9.5.3: version "9.5.12" resolved "https://registry.yarnpkg.com/pacote/-/pacote-9.5.12.tgz#1e11dd7a8d736bcc36b375a9804d41bb0377bf66" integrity sha512-BUIj/4kKbwWg4RtnBncXPJd15piFSVNpTzY0rysSr3VnMowTYgkGKcaHrbReepAkjTr8lH2CVWRi58Spg2CicQ== @@ -4241,6 +4372,24 @@ path-type@^1.0.0: pify "^2.0.0" pinkie-promise "^2.0.0" +path-type@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" + integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= + dependencies: + pify "^2.0.0" + +pbkdf2@^3.0.17: + version "3.1.1" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94" + integrity sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg== + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + pbkdf2@^3.0.9, pbkdf2@~3.0.17: version "3.0.17" resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6" @@ -4448,9 +4597,9 @@ qs@~6.5.1, qs@~6.5.2: integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== query-string@^6.8.2: - version "6.8.3" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.8.3.tgz#fd9fb7ffb068b79062b43383685611ee47777d4b" - integrity sha512-llcxWccnyaWlODe7A9hRjkvdCKamEKTh+wH8ITdTc3OhchaqUZteiSCX/2ablWHVrkVIe04dntnaZJ7BdyW0lQ== + version "6.13.1" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.13.1.tgz#d913ccfce3b4b3a713989fe6d39466d92e71ccad" + integrity sha512-RfoButmcK+yCta1+FuU8REvisx1oEzhMKwhLUNcepQTPGcNMp1sIqjnfCtfnvGSQZQEhaBHvccujtWoUV3TTbA== dependencies: decode-uri-component "^0.2.0" split-on-first "^1.0.0" @@ -4466,7 +4615,7 @@ ramda@^0.24.1: resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.24.1.tgz#c3b7755197f35b8dc3502228262c4c91ddb6b857" integrity sha1-w7d1UZfzW43DUCIoJixMkd22uFc= -randombytes@^2.0.1: +randombytes@^2.0.1, randombytes@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== @@ -4537,19 +4686,7 @@ read-installed@~4.0.3: optionalDependencies: graceful-fs "^4.1.2" -"read-package-json@1 || 2", read-package-json@^2.0.0, read-package-json@^2.0.13: - version "2.1.0" - resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-2.1.0.tgz#e3d42e6c35ea5ae820d9a03ab0c7291217fc51d5" - integrity sha512-KLhu8M1ZZNkMcrq1+0UJbR8Dii8KZUqB0Sha4mOx/bknfKI/fyrQVrG/YIt2UOtG667sD8+ee4EXMM91W9dC+A== - dependencies: - glob "^7.1.1" - json-parse-better-errors "^1.0.1" - normalize-package-data "^2.0.0" - slash "^1.0.0" - optionalDependencies: - graceful-fs "^4.1.2" - -read-package-json@^2.1.1: +"read-package-json@1 || 2", read-package-json@^2.0.0, read-package-json@^2.0.13, read-package-json@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-2.1.1.tgz#16aa66c59e7d4dad6288f179dd9295fd59bb98f1" integrity sha512-dAiqGtVc/q5doFz6096CcnXhpYk0ZN8dEKVkGLU0CsASt8SrgF6SF7OTKAYubfvFhWaqofl+Y8HK19GR8jwW+A== @@ -4578,6 +4715,14 @@ read-pkg-up@^1.0.1: find-up "^1.0.0" read-pkg "^1.0.0" +read-pkg-up@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" + integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= + dependencies: + find-up "^2.0.0" + read-pkg "^2.0.0" + read-pkg@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" @@ -4587,6 +4732,15 @@ read-pkg@^1.0.0: normalize-package-data "^2.3.2" path-type "^1.0.0" +read-pkg@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" + integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= + dependencies: + load-json-file "^2.0.0" + normalize-package-data "^2.3.2" + path-type "^2.0.0" + read@1, read@~1.0.1, read@~1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4" @@ -4691,7 +4845,7 @@ repeating@^2.0.0: dependencies: is-finite "^1.0.0" -request@^2.45.0, request@^2.87.0, request@^2.88.0: +request@^2.45.0, request@^2.88.0: version "2.88.0" resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== @@ -4748,6 +4902,11 @@ require-directory@^2.1.1: resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= +require-main-filename@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" + integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= + require-main-filename@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" @@ -4790,7 +4949,7 @@ retry@^0.12.0: resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= -rimraf@2, rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.2, rimraf@^2.6.3, rimraf@^2.7.1: +rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.2, rimraf@^2.6.3, rimraf@^2.7.1: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== @@ -4806,9 +4965,9 @@ ripemd160@^2.0.0, ripemd160@^2.0.1, ripemd160@^2.0.2: inherits "^2.0.1" rlp@^2.2.3: - version "2.2.4" - resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.4.tgz#d6b0e1659e9285fc509a5d169a9bd06f704951c1" - integrity sha512-fdq2yYCWpAQBhwkZv+Z8o/Z4sPmYm1CUq6P7n6lVTOdb949CnqA0sndXal5C1NleSVSZm6q5F3iEbauyVln/iw== + version "2.2.6" + resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.6.tgz#c80ba6266ac7a483ef1e69e8e2f056656de2fb2c" + integrity sha512-HAfAmL6SDYNWPUOJNrM500x4Thn4PZsEy5pijPh40U9WfNk0z15hUYzO9xVIMAdIHdFtD8CBDHd75Td1g36Mjg== dependencies: bn.js "^4.11.1" @@ -4831,11 +4990,16 @@ safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== +safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + "safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" @@ -4858,7 +5022,26 @@ scrypt-js@2.0.4: resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-2.0.4.tgz#32f8c5149f0797672e551c07e230f834b6af5f16" integrity sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw== -secp256k1@^3.0.1, secp256k1@^3.5.2: +scrypt-js@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" + integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== + +secp256k1@^3.0.1: + version "3.8.0" + resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-3.8.0.tgz#28f59f4b01dbee9575f56a47034b7d2e3b3b352d" + integrity sha512-k5ke5avRZbtl9Tqx/SA7CbY3NF6Ro+Sj9cZxezFzuBlLDmyqPiL8hJJ+EmzD8Ig4LUDByHJ3/iPOVoRixs/hmw== + dependencies: + bindings "^1.5.0" + bip66 "^1.1.5" + bn.js "^4.11.8" + create-hash "^1.2.0" + drbg.js "^1.0.1" + elliptic "^6.5.2" + nan "^2.14.0" + safe-buffer "^5.1.2" + +secp256k1@^3.5.2: version "3.7.1" resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-3.7.1.tgz#12e473e0e9a7c2f2d4d4818e722ad0e14cc1e2f1" integrity sha512-1cf8sbnRreXrQFdH6qsg2H71Xw91fCCS9Yp021GnUNJzWJS/py96fS4lHbnTnouLp08Xj6jBoBB6V78Tdbdu5g== @@ -4872,6 +5055,15 @@ secp256k1@^3.0.1, secp256k1@^3.5.2: nan "^2.14.0" safe-buffer "^5.1.2" +secp256k1@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.2.tgz#15dd57d0f0b9fdb54ac1fa1694f40e5e9a54f4a1" + integrity sha512-UDar4sKvWAksIlfX3xIaQReADn+WFnHvbVujpcbr+9Sf/69odMwy2MUsz5CKLQgX9nsIyrjuxL2imVyoNHa3fg== + dependencies: + elliptic "^6.5.2" + node-addon-api "^2.0.0" + node-gyp-build "^4.2.0" + semver-compare@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" @@ -4906,11 +5098,6 @@ semver@^7.3.2: resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== -semver@~5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" - integrity sha1-myzl094C0XxgEq0yaqa00M9U+U8= - send@0.17.1: version "0.17.1" resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" @@ -4950,6 +5137,11 @@ setimmediate@1.0.4: resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.4.tgz#20e81de622d4a02588ce0c8da8973cbcf1d3138f" integrity sha1-IOgd5iLUoCWIzgyNqJc8vPHTE48= +setimmediate@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= + setprototypeof@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" @@ -5018,11 +5210,6 @@ single-line-log@^1.1.2: dependencies: string-width "^1.0.1" -slash@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" - integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= - slide@^1.1.6, slide@~1.1.3, slide@~1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" @@ -5273,21 +5460,21 @@ string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" -string.prototype.trimleft@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz#6cc47f0d7eb8d62b0f3701611715a3954591d634" - integrity sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw== +string.prototype.trimend@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913" + integrity sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g== dependencies: define-properties "^1.1.3" - function-bind "^1.1.1" + es-abstract "^1.17.5" -string.prototype.trimright@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz#669d164be9df9b6f7559fa8e89945b168a5a6c58" - integrity sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg== +string.prototype.trimstart@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54" + integrity sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw== dependencies: define-properties "^1.1.3" - function-bind "^1.1.1" + es-abstract "^1.17.5" string_decoder@^1.1.1: version "1.3.0" @@ -5308,12 +5495,7 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -stringify-package@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/stringify-package/-/stringify-package-1.0.0.tgz#e02828089333d7d45cd8c287c30aa9a13375081b" - integrity sha512-JIQqiWmLiEozOC0b0BtxZ/AOUtdUZHCBPgqIZ2kSJJqGwgb9neo44XdTHUC4HZSGqi03hOeB7W/E8rAlKnGe9g== - -stringify-package@^1.0.1: +stringify-package@^1.0.0, stringify-package@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/stringify-package/-/stringify-package-1.0.1.tgz#e5aa3643e7f74d0f28628b72f3dad5cecfc3ba85" integrity sha512-sa4DUQsYciMP1xhKWGuFM04fB0LG/9DlluZoSVywUMRNvzid6XucHK0/90xGxRoHrAaROrcHK1aPKaijCtSrhg== @@ -5353,6 +5535,11 @@ strip-bom@^2.0.0: dependencies: is-utf8 "^0.2.0" +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + strip-eof@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" @@ -5478,9 +5665,9 @@ tiny-relative-date@^1.3.0: integrity sha512-MOQHpzllWxDCHHaDno30hhLfbouoYlOI8YlMNtvKe1zXbjEVhbcEovQxvZrPvtiYW630GQDoMMarCnjfyfHA+A== tiny-secp256k1@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/tiny-secp256k1/-/tiny-secp256k1-1.1.3.tgz#e93b1e1bf62e9bd1ad3ab24af27ff6127ce0e077" - integrity sha512-ZpobrhOtHP98VYEN51IYQH1YcrbFpnxFhI6ceWa3OEbJn7eHvSd8YFjGPxbedGCy7PNYU1v/+BRsdvyr5uRd4g== + version "1.1.5" + resolved "https://registry.yarnpkg.com/tiny-secp256k1/-/tiny-secp256k1-1.1.5.tgz#3dc37b9bf0fa5b4390b9fa29e953228810cebc18" + integrity sha512-duE2hSLSQIpHGzmK48OgRrGTi+4OTkXLC6aa86uOYQ6LLCYZSarVKIAvEtY7MoXjoL6bOXMSerEGMzrvW4SkDw== dependencies: bindings "^1.3.0" bn.js "^4.11.8" @@ -5656,7 +5843,7 @@ unzip-response@^2.0.1: resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" integrity sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c= -update-notifier@^2.3.0, update-notifier@^2.5.0: +update-notifier@^2.2.0, update-notifier@^2.3.0, update-notifier@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.5.0.tgz#d0744593e13f161e406acb1d9408b72cad08aff6" integrity sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw== @@ -5744,11 +5931,16 @@ uuid@2.0.1: resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.1.tgz#c2a30dedb3e535d72ccf82e343941a50ba8533ac" integrity sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w= -uuid@^3.1.0, uuid@^3.3.2, uuid@^3.3.3: +uuid@^3.1.0, uuid@^3.3.2: version "3.3.3" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866" integrity sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ== +uuid@^3.3.3: + version "3.4.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" @@ -5797,7 +5989,7 @@ which-module@^2.0.0: resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= -which@1, which@^1.2.9, which@^1.3.0, which@^1.3.1: +which@^1.2.9, which@^1.3.0, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== @@ -5839,6 +6031,14 @@ worker-farm@^1.6.0, worker-farm@^1.7.0: dependencies: errno "~0.1.7" +wrap-ansi@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" + integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + wrap-ansi@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" @@ -5927,6 +6127,11 @@ xtend@~4.0.1: resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== +y18n@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" + integrity sha1-bRX7qITAhnnA136I53WegR4H+kE= + y18n@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" @@ -5942,7 +6147,7 @@ yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3: resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.0.tgz#906cc2100972dc2625ae78f566a2577230a1d6f7" integrity sha512-6gpP93MR+VOOehKbCPchro3wFZNSNmek8A2kbkOAZLIZAYx1KP/zAqwO0sOHi3xJEb+UBz8NaYt/17UNit1Q9w== -yargs-parser@^13.1.2, yargs-parser@^15.0.1, yargs-parser@^18.1.1: +yargs-parser@^13.1.2, yargs-parser@^15.0.1, yargs-parser@^18.1.1, yargs-parser@^7.0.0: version "13.1.2" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== @@ -5984,6 +6189,25 @@ yargs@^15.3.1: y18n "^4.0.0" yargs-parser "^18.1.1" +yargs@^8.0.2: + version "8.0.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360" + integrity sha1-YpmpBVsc78lp/355wdkY3Osiw2A= + dependencies: + camelcase "^4.1.0" + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + os-locale "^2.0.0" + read-pkg-up "^2.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1" + yargs-parser "^7.0.0" + yauzl@2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.4.1.tgz#9528f442dab1b2284e58b4379bb194e22e0c4005" From 80dbf0636f669611b11ea68ea80a0ee893f5efd4 Mon Sep 17 00:00:00 2001 From: Asher Dawes Date: Fri, 14 Aug 2020 13:18:33 -0700 Subject: [PATCH 10/10] Update submodule --- gui/Verus-Desktop-GUI | 2 +- yarn.lock | 36 ++---------------------------------- 2 files changed, 3 insertions(+), 35 deletions(-) diff --git a/gui/Verus-Desktop-GUI b/gui/Verus-Desktop-GUI index 045e9cd7..3d2de9b0 160000 --- a/gui/Verus-Desktop-GUI +++ b/gui/Verus-Desktop-GUI @@ -1 +1 @@ -Subproject commit 045e9cd7a92fcfa5739eabcf20277675d16c4471 +Subproject commit 3d2de9b0abbbe63300e6b279d1fde84265e7713c diff --git a/yarn.lock b/yarn.lock index a5910a21..212da43d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1400,7 +1400,7 @@ debug@^4.1.1, debug@~4.1.0: dependencies: ms "^2.1.1" -debuglog@*, debuglog@^1.0.1: +debuglog@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" integrity sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI= @@ -2633,7 +2633,7 @@ import-lazy@^2.1.0: resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= -imurmurhash@*, imurmurhash@^0.1.4: +imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= @@ -3264,11 +3264,6 @@ lockfile@^1.0.4: dependencies: signal-exit "^3.0.2" -lodash._baseindexof@*: - version "3.1.0" - resolved "https://registry.yarnpkg.com/lodash._baseindexof/-/lodash._baseindexof-3.1.0.tgz#fe52b53a1c6761e42618d654e4a25789ed61822c" - integrity sha1-/lK1OhxnYeQmGNZU5KJXie1hgiw= - lodash._baseuniq@~4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash._baseuniq/-/lodash._baseuniq-4.6.0.tgz#0ebb44e456814af7905c6212fa2c9b2d51b841e8" @@ -3277,33 +3272,11 @@ lodash._baseuniq@~4.6.0: lodash._createset "~4.0.0" lodash._root "~3.0.0" -lodash._bindcallback@*: - version "3.0.1" - resolved "https://registry.yarnpkg.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz#e531c27644cf8b57a99e17ed95b35c748789392e" - integrity sha1-5THCdkTPi1epnhftlbNcdIeJOS4= - -lodash._cacheindexof@*: - version "3.0.2" - resolved "https://registry.yarnpkg.com/lodash._cacheindexof/-/lodash._cacheindexof-3.0.2.tgz#3dc69ac82498d2ee5e3ce56091bafd2adc7bde92" - integrity sha1-PcaayCSY0u5ePOVgkbr9Ktx73pI= - -lodash._createcache@*: - version "3.1.2" - resolved "https://registry.yarnpkg.com/lodash._createcache/-/lodash._createcache-3.1.2.tgz#56d6a064017625e79ebca6b8018e17440bdcf093" - integrity sha1-VtagZAF2JeeevKa4AY4XRAvc8JM= - dependencies: - lodash._getnative "^3.0.0" - lodash._createset@~4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/lodash._createset/-/lodash._createset-4.0.3.tgz#0f4659fbb09d75194fa9e2b88a6644d363c9fe26" integrity sha1-D0ZZ+7CddRlPqeK4imZE02PJ/iY= -lodash._getnative@*, lodash._getnative@^3.0.0: - version "3.9.1" - resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" - integrity sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U= - lodash._root@~3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692" @@ -3324,11 +3297,6 @@ lodash.isfinite@^3.3.2: resolved "https://registry.yarnpkg.com/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz#fb89b65a9a80281833f0b7478b3a5104f898ebb3" integrity sha1-+4m2WpqAKBgz8LdHizpRBPiY67M= -lodash.restparam@*: - version "3.6.1" - resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" - integrity sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU= - lodash.union@~4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.union/-/lodash.union-4.6.0.tgz#48bb5088409f16f1821666641c44dd1aaae3cd88"