diff --git a/blockchain/package.json b/blockchain/package.json index 4314f653..e9c40b0b 100755 --- a/blockchain/package.json +++ b/blockchain/package.json @@ -16,10 +16,6 @@ "heroku-postbuild": "yarn build", "start": "node ./dist/index.js" }, - "resolutions": { - "axios": "0.18.1", - "lodash": "4.17.13" - }, "devDependencies": { "@types/body-parser": "1.17.0", "@types/expect": "^1.20.3", @@ -38,7 +34,7 @@ "@types/cors": "2.8.4", "@types/dotenv": "^6.1.0", "@types/ws": "^6.0.1", - "axios": "0.18.1", + "axios": "0.18.0", "bitgo": "4.48.1", "body-parser": "1.18.3", "cors": "2.8.5", diff --git a/blockchain/src/util.spec.ts b/blockchain/src/util.spec.ts index 47b20e1d..ca4556b2 100644 --- a/blockchain/src/util.spec.ts +++ b/blockchain/src/util.spec.ts @@ -37,64 +37,63 @@ describe('util', () => { }); // Keys and values taken from https://iancoleman.io/bip39/ - // zcash-bitcore-lib requires a version of lodash that is insecure. - // describe('deriveTransparentAddress', () => { - // const xpub = 'xpub6DKCpzYonPtjhfL9Gc6cJRxqtX3pvw3ACLguiZByfS1vic1EqgHPRBu7inUvoNxBT1m6BNuU5uUSSo5X3Zzi5mbrByBBQwhvNmmi8HErHt6'; - // const addresses = { - // mainnet: { - // 0: 't1MZtRMbCE6uJTbVot6XczUKNvG5iRgcf8d', - // 999: 't1aCsQns9UuRZzdXp71gFTpcMomyFfpWE1W', - // }, - // testnet: { - // 0: 'tmDQdkC5bcmQobqhFYpqMr8z8XFAXragbZ6', - // 999: 'tmS3cjdMYsZw58sjFmjyzKVH7Qm458gbea7', - // }, - // }; - // let oldXPub: any; - // - // before(() => { - // oldXPub = process.env.BIP32_XPUB; - // process.env.BIP32_XPUB = xpub; - // }); - // - // - // it('Should generate the correct address for mainnet m/0/0', () => { - // const addr = util.deriveTransparentAddress(0, bitcore.Networks.mainnet); - // assert.equal(addr, addresses.mainnet[0]); - // }); - // - // it('Should generate the correct address for index m/0/999', () => { - // const addr = util.deriveTransparentAddress(999, bitcore.Networks.mainnet); - // assert.equal(addr, addresses.mainnet[999]); - // }); - // - // it('Should generate the correct address for testnet m/0/0', () => { - // const addr = util.deriveTransparentAddress(0, bitcore.Networks.testnet); - // assert.equal(addr, addresses.testnet[0]); - // }); - // - // it('Should generate the correct address for testnet index m/0/999', () => { - // const addr = util.deriveTransparentAddress(999, bitcore.Networks.testnet); - // assert.equal(addr, addresses.testnet[999]); - // }); - // - // it('Should throw on numbers greater than or equal to 2^31', () => { - // assert.ok(util.deriveTransparentAddress(Math.pow(2, 31) - 1, bitcore.Networks.mainnet)); - // assert.throws(() => { - // util.deriveTransparentAddress(Math.pow(2, 31), bitcore.Networks.mainnet); - // }); - // }); - // - // it('Should throw on numbers less than 0', () => { - // assert.throws(() => { - // util.deriveTransparentAddress(-1, bitcore.Networks.mainnet); - // }); - // }); - // - // after(() => { - // process.env.BIP32_XPUB = oldXPub; - // }); - // }); + describe('deriveTransparentAddress', () => { + const xpub = 'xpub6DKCpzYonPtjhfL9Gc6cJRxqtX3pvw3ACLguiZByfS1vic1EqgHPRBu7inUvoNxBT1m6BNuU5uUSSo5X3Zzi5mbrByBBQwhvNmmi8HErHt6'; + const addresses = { + mainnet: { + 0: 't1MZtRMbCE6uJTbVot6XczUKNvG5iRgcf8d', + 999: 't1aCsQns9UuRZzdXp71gFTpcMomyFfpWE1W', + }, + testnet: { + 0: 'tmDQdkC5bcmQobqhFYpqMr8z8XFAXragbZ6', + 999: 'tmS3cjdMYsZw58sjFmjyzKVH7Qm458gbea7', + }, + }; + let oldXPub: any; + + before(() => { + oldXPub = process.env.BIP32_XPUB; + process.env.BIP32_XPUB = xpub; + }); + + + it('Should generate the correct address for mainnet m/0/0', () => { + const addr = util.deriveTransparentAddress(0, bitcore.Networks.mainnet); + assert.equal(addr, addresses.mainnet[0]); + }); + + it('Should generate the correct address for index m/0/999', () => { + const addr = util.deriveTransparentAddress(999, bitcore.Networks.mainnet); + assert.equal(addr, addresses.mainnet[999]); + }); + + it('Should generate the correct address for testnet m/0/0', () => { + const addr = util.deriveTransparentAddress(0, bitcore.Networks.testnet); + assert.equal(addr, addresses.testnet[0]); + }); + + it('Should generate the correct address for testnet index m/0/999', () => { + const addr = util.deriveTransparentAddress(999, bitcore.Networks.testnet); + assert.equal(addr, addresses.testnet[999]); + }); + + it('Should throw on numbers greater than or equal to 2^31', () => { + assert.ok(util.deriveTransparentAddress(Math.pow(2, 31) - 1, bitcore.Networks.mainnet)); + assert.throws(() => { + util.deriveTransparentAddress(Math.pow(2, 31), bitcore.Networks.mainnet); + }); + }); + + it('Should throw on numbers less than 0', () => { + assert.throws(() => { + util.deriveTransparentAddress(-1, bitcore.Networks.mainnet); + }); + }); + + after(() => { + process.env.BIP32_XPUB = oldXPub; + }); + }); describe('dedupeArray', () => { it('Should remove duplicates', () => { diff --git a/blockchain/yarn.lock b/blockchain/yarn.lock index c516f3b5..c09b612e 100755 --- a/blockchain/yarn.lock +++ b/blockchain/yarn.lock @@ -290,13 +290,19 @@ atob@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" -axios@0.18.1, axios@^0.16.2, axios@^0.18.0: - version "0.18.1" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.18.1.tgz#ff3f0de2e7b5d180e757ad98000f1081b87bcea3" - integrity sha512-0BfJq4NSfQXd+SkFdrvFbG7addhYSBA2mQwISr46pD6E5iqkWg02RAs8vyTT/j0RTnoYmeXauBuSv1qKwR179g== +axios@0.18.0, axios@^0.18.0: + version "0.18.0" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.18.0.tgz#32d53e4851efdc0a11993b6cd000789d70c05102" dependencies: - follow-redirects "1.5.10" - is-buffer "^2.0.2" + follow-redirects "^1.3.0" + is-buffer "^1.1.5" + +axios@^0.16.2: + version "0.16.2" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.16.2.tgz#ba4f92f17167dfbab40983785454b9ac149c3c6d" + dependencies: + follow-redirects "^1.2.3" + is-buffer "^1.1.5" babel-runtime@^5.8.20: version "5.8.38" @@ -511,9 +517,9 @@ bitgo@4.48.1: dependencies: nanoassert "^1.0.0" -"blake2b@https://github.com/BitGo/blake2b#6268e6dd678661e0acc4359e9171b97eb1ebf8ac": +"blake2b@git+https://github.com/BitGo/blake2b.git#6268e6dd678661e0acc4359e9171b97eb1ebf8ac": version "2.1.3" - resolved "https://github.com/BitGo/blake2b#6268e6dd678661e0acc4359e9171b97eb1ebf8ac" + resolved "git+https://github.com/BitGo/blake2b.git#6268e6dd678661e0acc4359e9171b97eb1ebf8ac" dependencies: blake2b-wasm "https://github.com/BitGo/blake2b-wasm#193cdb71656c1a6c7f89b05d0327bb9b758d071b" nanoassert "^1.0.0" @@ -1469,12 +1475,18 @@ finalhandler@1.1.1: statuses "~1.4.0" unpipe "~1.0.0" -follow-redirects@1.5.10: +follow-redirects@^1.2.3: version "1.5.10" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a" dependencies: debug "=3.1.0" +follow-redirects@^1.3.0: + version "1.6.1" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.6.1.tgz#514973c44b5757368bad8bddfe52f81f015c94cb" + dependencies: + debug "=3.1.0" + for-in@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" @@ -1816,11 +1828,6 @@ is-buffer@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" -is-buffer@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.3.tgz#4ecf3fcf749cbd1e472689e109ac66261a25e725" - integrity sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw== - is-ci@^1.0.10: version "1.2.1" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c" @@ -2070,10 +2077,13 @@ lodash.debounce@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" -lodash@4.17.11, lodash@4.17.13, lodash@=3.10.1, lodash@^4.12.0, lodash@^4.17.10, lodash@^4.17.4, lodash@^4.17.5, lodash@~4.17.4: - version "4.17.13" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.13.tgz#0bdc3a6adc873d2f4e0c4bac285df91b64fc7b93" - integrity sha512-vm3/XWXfWtRua0FkUyEHBZy8kCPjErNBT9fJx8Zvs+U6zjqPbTUOpkaoum3O5uiA8sm+yNMHXfYkTUHFoMxFNA== +lodash@4.17.11, lodash@^4.12.0, lodash@^4.17.10, lodash@^4.17.4, lodash@^4.17.5, lodash@~4.17.4: + version "4.17.11" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" + +lodash@=3.10.1: + version "3.10.1" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" logform@^1.9.1: version "1.10.0" diff --git a/frontend/package.json b/frontend/package.json index b16164da..5021c581 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -30,9 +30,7 @@ }, "resolutions": { "js-yaml": "3.13.1", - "lodash": "4.17.13", - "marked": "0.6.1", - "lodash-es": "4.17.14" + "marked": "0.6.1" }, "dependencies": { "@babel/core": "^7.0.1", diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 0afb6c94..232c5ac7 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -7346,16 +7346,16 @@ lodash-decorators@^6.0.0: dependencies: tslib "^1.9.2" -lodash-es@4.17.14, lodash-es@^4.17.5, lodash-es@^4.2.1: - version "4.17.14" - resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.14.tgz#12a95a963cc5955683cee3b74e85458954f37ecc" - integrity sha512-7zchRrGa8UZXjD/4ivUWP1867jDkhzTG2c/uj739utSd7O/pFFdxspCemIFKEEjErbcqRzn8nKnGsi7mvTgRPA== - lodash-es@^4.17.15: version "4.17.15" resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.15.tgz#21bd96839354412f23d7a10340e5eac6ee455d78" integrity sha512-rlrc3yU3+JNOpZ9zj5pQtxnx2THmvRykwL4Xlxoa8I9lHBlVbbyPhgyPMioxVZ4NqyxaVVtaJnzsyOidQIhyyQ== +lodash-es@^4.17.5, lodash-es@^4.2.1: + version "4.17.14" + resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.14.tgz#12a95a963cc5955683cee3b74e85458954f37ecc" + integrity sha512-7zchRrGa8UZXjD/4ivUWP1867jDkhzTG2c/uj739utSd7O/pFFdxspCemIFKEEjErbcqRzn8nKnGsi7mvTgRPA== + lodash._getnative@^3.0.0: version "3.9.1" resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" @@ -7450,11 +7450,16 @@ lodash.throttle@^4.0.0, lodash.throttle@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4" -lodash@4.17.13, "lodash@>=3.5 <5", lodash@^3.9.1, lodash@^4.0.0, lodash@^4.11.1, lodash@^4.13.1, lodash@^4.15.0, lodash@^4.16.5, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.1, lodash@^4.3.0, lodash@~4.17.10: +"lodash@>=3.5 <5", lodash@^4.0.0, lodash@^4.11.1, lodash@^4.13.1, lodash@^4.15.0, lodash@^4.16.5, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.1, lodash@^4.3.0, lodash@~4.17.10: version "4.17.13" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.13.tgz#0bdc3a6adc873d2f4e0c4bac285df91b64fc7b93" integrity sha512-vm3/XWXfWtRua0FkUyEHBZy8kCPjErNBT9fJx8Zvs+U6zjqPbTUOpkaoum3O5uiA8sm+yNMHXfYkTUHFoMxFNA== +lodash@^3.9.1: + version "3.10.1" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" + integrity sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y= + lodash@^4.17.15: version "4.17.15" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"