diff --git a/packages/sdk-ts/package.json b/packages/sdk-ts/package.json index 9a0414cbc..e61668b03 100644 --- a/packages/sdk-ts/package.json +++ b/packages/sdk-ts/package.json @@ -32,7 +32,6 @@ }, "dependencies": { "@apollo/client": "^3.5.8", - "eth-crypto": "^2.6.0", "@cosmjs/amino": "^0.30.1", "@cosmjs/proto-signing": "^0.30.1", "@cosmjs/stargate": "^0.30.1", diff --git a/packages/sdk-ts/src/core/accounts/PublicKey.ts b/packages/sdk-ts/src/core/accounts/PublicKey.ts index f64175b2d..e7b57aef5 100644 --- a/packages/sdk-ts/src/core/accounts/PublicKey.ts +++ b/packages/sdk-ts/src/core/accounts/PublicKey.ts @@ -1,12 +1,8 @@ -import { BECH32_PUBKEY_ACC_PREFIX } from '../../utils' +import { BECH32_PUBKEY_ACC_PREFIX, decompressPubKey } from '../../utils' import { bech32 } from 'bech32' import { toBuffer } from 'ethereumjs-util' import secp256k1 from 'secp256k1' import { Address } from './Address' -import { - publicKey as EthCryptoPublicKey, - util as EthCryptoUtil, -} from 'eth-crypto' import { keccak256 } from 'js-sha3' import { GoogleProtobufAny, @@ -63,9 +59,15 @@ export class PublicKey { public toAddress(): Address { const publicKeyHex = this.toHex() - const decompressedPublicKey = EthCryptoPublicKey.decompress(publicKeyHex) + const decompressedPublicKey = decompressPubKey(publicKeyHex) const addressBuffer = Buffer.from( - keccak256(toBuffer(EthCryptoUtil.addLeading0x(decompressedPublicKey))), + keccak256( + toBuffer( + decompressedPublicKey.startsWith('0x') + ? decompressedPublicKey + : '0x' + decompressedPublicKey, + ), + ), 'hex', ).subarray(-20) diff --git a/packages/sdk-ts/src/utils/crypto.ts b/packages/sdk-ts/src/utils/crypto.ts index 76857e000..6f539e0e6 100644 --- a/packages/sdk-ts/src/utils/crypto.ts +++ b/packages/sdk-ts/src/utils/crypto.ts @@ -58,3 +58,27 @@ export const messageHash = (message: any) => message.types, SignTypedDataVersion.V4, ) + +export function uint8ArrayToHex(arr: Uint8Array) { + return Buffer.from(arr).toString('hex') +} + +export function hexToUnit8Array(str: string) { + return new Uint8Array(Buffer.from(str, 'hex')) +} + +export function decompressPubKey(startsWith02Or03: string) { + // if already decompressed an not has trailing 04 + const testBuffer = Buffer.from(startsWith02Or03, 'hex') + + if (testBuffer.length === 64) startsWith02Or03 = '04' + startsWith02Or03 + + let decompressed = uint8ArrayToHex( + secp256k1.publicKeyConvert(hexToUnit8Array(startsWith02Or03), false), + ) + + // remove trailing 04 + decompressed = decompressed.substring(2) + + return decompressed +} diff --git a/packages/wallet-ts/src/strategies/wallet-strategy/strategies/Ledger/Base.ts b/packages/wallet-ts/src/strategies/wallet-strategy/strategies/Ledger/Base.ts index 408727191..bf31b8b24 100644 --- a/packages/wallet-ts/src/strategies/wallet-strategy/strategies/Ledger/Base.ts +++ b/packages/wallet-ts/src/strategies/wallet-strategy/strategies/Ledger/Base.ts @@ -35,6 +35,7 @@ import { domainHash, messageHash } from './utils' import { WalletAction, WalletDeviceType } from '../../../../types/enums' import { getKeyFromRpcUrl } from '../../../../utils/alchemy' import { Alchemy, Network as AlchemyNetwork } from 'alchemy-sdk' +import { ledgerService } from '@ledgerhq/hw-app-eth' const getNetworkFromChainId = (chainId: EthereumChainId): Chain => { if (chainId === EthereumChainId.Goerli) { @@ -299,10 +300,7 @@ export default class LedgerBase try { const ledger = await this.ledger.getInstance() const { derivationPath } = await this.getWalletForAddress(options.address) - const ledgerService = await import( - '@ledgerhq/hw-app-eth/lib/services/ledger' - ) - const resolution = await ledgerService.default.resolveTransaction( + const resolution = await ledgerService.resolveTransaction( encodedMessageHex, {}, {}, diff --git a/packages/wallet-ts/src/strategies/wallet-strategy/strategies/Ledger/hw/index.ts b/packages/wallet-ts/src/strategies/wallet-strategy/strategies/Ledger/hw/index.ts index 2f487850f..9d4778181 100644 --- a/packages/wallet-ts/src/strategies/wallet-strategy/strategies/Ledger/hw/index.ts +++ b/packages/wallet-ts/src/strategies/wallet-strategy/strategies/Ledger/hw/index.ts @@ -1,6 +1,6 @@ import TransportWebHID from '@ledgerhq/hw-transport-webhid' import TransportWebUSB from '@ledgerhq/hw-transport-webusb' -import type EthereumApp from '@ledgerhq/hw-app-eth' +import EthereumApp from '@ledgerhq/hw-app-eth' import type Transport from '@ledgerhq/hw-transport' import { ErrorType, @@ -49,8 +49,6 @@ export default class LedgerTransport { } async getInstance(): Promise { - const EthereumApp = await import('@ledgerhq/hw-app-eth') - if (this.ledger) { return this.ledger } @@ -58,7 +56,7 @@ export default class LedgerTransport { try { const transport = await LedgerTransport.getTransport() - this.ledger = new EthereumApp.default(transport) + this.ledger = new EthereumApp(transport) transport.on('disconnect', () => { this.ledger = null diff --git a/yarn.lock b/yarn.lock index 30b1a0968..46d636649 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1004,13 +1004,6 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/runtime@7.20.13": - version "7.20.13" - resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.13.tgz#7055ab8a7cff2b8f6058bf6ae45ff84ad2aded4b" - integrity sha512-gt3PKXs0DBoL9xCvOIIZ2NEqAGZqHjAnmVbfQtB620V0uReIQutpel14KcneZuer7UioY8ALKZ7iocavvzTNFA== - dependencies: - regenerator-runtime "^0.13.11" - "@babel/runtime@^7.12.5", "@babel/runtime@^7.17.2", "@babel/runtime@^7.8.4": version "7.20.7" resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.7.tgz#fcb41a5a70550e04a7b708037c7c32f7f356d8fd" @@ -1706,7 +1699,7 @@ resolved "https://registry.yarnpkg.com/@ethereumjs/rlp/-/rlp-4.0.1.tgz#626fabfd9081baab3d0a3074b0c7ecaf674aaa41" integrity sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw== -"@ethereumjs/tx@3.5.2", "@ethereumjs/tx@^4.1.1", "@ethereumjs/tx@^4.1.2": +"@ethereumjs/tx@^4.1.1", "@ethereumjs/tx@^4.1.2": version "4.1.1" resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-4.1.1.tgz#d1b5bf2c4fd3618f2f333b66e262848530d4686a" integrity sha512-QDj7nuROfoeyK83RObMA0XCZ+LUDdneNkSCIekO498uEKTY25FxI4Whduc/6j0wdd4IqpQvkq+/7vxSULjGIBQ== @@ -4389,15 +4382,7 @@ dependencies: elliptic "^6.5.4" -"@toruslabs/http-helpers@^3.2.0": - version "3.2.0" - resolved "https://registry.npmjs.org/@toruslabs/http-helpers/-/http-helpers-3.2.0.tgz#9e33dd23936ef90852133372c831f03b7a8badc5" - integrity sha512-fCfvBHfYzd7AyOYlBo7wihh5nj6+4Ik6V5+nI7H63oiKICjMlByTXSauTUa/qm2mjZJn/OmVYeV5guPIgxoW1w== - dependencies: - lodash.merge "^4.6.2" - loglevel "^1.8.0" - -"@toruslabs/http-helpers@^3.3.0", "@toruslabs/http-helpers@^3.4.0": +"@toruslabs/http-helpers@^3.2.0", "@toruslabs/http-helpers@^3.3.0", "@toruslabs/http-helpers@^3.4.0": version "3.4.0" resolved "https://registry.npmjs.org/@toruslabs/http-helpers/-/http-helpers-3.4.0.tgz#6d1da9e6aba094af62e73cf639a69844c82202f3" integrity sha512-CoeJSL32mpp0gmYjxv48odu6pfjHk/rbJHDwCtYPcMHAl+qUQ/DTpVOOn9U0fGkD+fYZrQmZbRkXFgLhiT0ajQ== @@ -4416,21 +4401,7 @@ ethereum-cryptography "^2.0.0" json-stable-stringify "^1.0.2" -"@toruslabs/openlogin-jrpc@^2.6.0": - version "2.9.0" - resolved "https://registry.npmjs.org/@toruslabs/openlogin-jrpc/-/openlogin-jrpc-2.9.0.tgz#766fb4ebe65e8dd9c1bf74adf031059ba5321cc6" - integrity sha512-68SMBSsFqayTi/uVJe1cffnz6QxYMtVLCF7h4HxlWxM27dd3030FspPrNJHFqt7o2u8/WSCB9pax9BrbTwYglw== - dependencies: - "@toruslabs/openlogin-utils" "^2.1.0" - end-of-stream "^1.4.4" - eth-rpc-errors "^4.0.3" - events "^3.3.0" - fast-safe-stringify "^2.1.1" - once "^1.4.0" - pump "^3.0.0" - readable-stream "^3.6.0" - -"@toruslabs/openlogin-jrpc@^3.2.0": +"@toruslabs/openlogin-jrpc@^3.0.0", "@toruslabs/openlogin-jrpc@^3.2.0": version "3.2.0" resolved "https://registry.npmjs.org/@toruslabs/openlogin-jrpc/-/openlogin-jrpc-3.2.0.tgz#fff051d05b6c01b6329e2da9b134fae99305d1e0" integrity sha512-G+K0EHyVUaAEyeD4xGsnAZRpn/ner8lQ2HC2+pGKg6oGmzKI2wGMDcw2KMH6+HKlfBGVJ5/VR9AQfC/tZlLDmQ== @@ -4458,15 +4429,6 @@ pump "^3.0.0" readable-stream "^4.4.2" -"@toruslabs/openlogin-utils@^2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@toruslabs/openlogin-utils/-/openlogin-utils-2.1.0.tgz#ae77dd4611970cbeb1222d90c3f4f37b3d94b407" - integrity sha512-UVgjco4winOn4Gj0VRTvjSZgBA84h2OIkKuxrBFjS+yWhgxQBF4hXGp83uicSgx1MujtjyUOdhJrpV2joRHt9w== - dependencies: - base64url "^3.0.1" - keccak "^3.0.2" - randombytes "^2.1.0" - "@toruslabs/openlogin-utils@^3.0.0": version "3.0.0" resolved "https://registry.npmjs.org/@toruslabs/openlogin-utils/-/openlogin-utils-3.0.0.tgz#2c264fa9a2787a1d2b8c703a38740c7c27967fa7" @@ -4500,13 +4462,13 @@ pump "^3.0.0" "@toruslabs/torus-embed@^1.39.0": - version "1.39.0" - resolved "https://registry.yarnpkg.com/@toruslabs/torus-embed/-/torus-embed-1.39.0.tgz#5a12585fc00980f9cd44afcd71c57c421e69eb62" - integrity sha512-qqxVuO1Oo1+o4ymJwROuAuNgIzAEAtz/L58OQX0qF8EEytYgDp/QrpxxCSX+P56GBN8KF07Y6kRbognxX+eadw== + version "1.41.3" + resolved "https://registry.npmjs.org/@toruslabs/torus-embed/-/torus-embed-1.41.3.tgz#b1035b42d80321961cc579d6077d0c2976659501" + integrity sha512-RpSNJub99oweFASv3Jinrf4JzA9QgkqGnErnymGuAQop9WGcmV2lJoImg2lXJbWgfM9SOOK6qtakhysf02oTTw== dependencies: "@metamask/obs-store" "^7.0.0" "@toruslabs/http-helpers" "^3.2.0" - "@toruslabs/openlogin-jrpc" "^2.6.0" + "@toruslabs/openlogin-jrpc" "^3.0.0" create-hash "^1.2.0" end-of-stream "^1.4.4" eth-rpc-errors "^4.0.3" @@ -4514,7 +4476,7 @@ fast-deep-equal "^3.1.3" is-stream "^2.0.1" lodash.merge "^4.6.2" - loglevel "^1.8.0" + loglevel "^1.8.1" once "^1.4.0" pump "^3.0.0" @@ -4672,13 +4634,6 @@ dependencies: "@babel/types" "^7.3.0" -"@types/bn.js@5.1.1", "@types/bn.js@^5.1.0": - version "5.1.1" - resolved "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.1.tgz#b51e1b55920a4ca26e9285ff79936bbdec910682" - integrity sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g== - dependencies: - "@types/node" "*" - "@types/bn.js@^4.11.3": version "4.11.6" resolved "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz#c306c70d9358aaea33cd4eda092a742b9505967c" @@ -4686,6 +4641,13 @@ dependencies: "@types/node" "*" +"@types/bn.js@^5.1.0": + version "5.1.1" + resolved "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.1.tgz#b51e1b55920a4ca26e9285ff79936bbdec910682" + integrity sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g== + dependencies: + "@types/node" "*" + "@types/connect@^3.4.33": version "3.4.35" resolved "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1" @@ -5441,11 +5403,6 @@ acorn-walk@^8.1.1: resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== -acorn@7.1.1: - version "7.1.1" - resolved "https://registry.npmjs.org/acorn/-/acorn-7.1.1.tgz#e35668de0b402f359de515c5482a1ab9f89a69bf" - integrity sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg== - acorn@^7.4.0: version "7.4.1" resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" @@ -6252,7 +6209,7 @@ browser-headers@^0.4.1: resolved "https://registry.npmjs.org/browser-headers/-/browser-headers-0.4.1.tgz#4308a7ad3b240f4203dbb45acedb38dc2d65dd02" integrity sha512-CA9hsySZVo9371qEHjHZtYxV2cFtVj5Wj/ZHi8ooEsrtm4vOnl9Y9HmyYWk9q+05d7K3rdoAE0j3MVEFVvtQtg== -browserify-aes@^1.0.0, browserify-aes@^1.0.4, browserify-aes@^1.0.6, browserify-aes@^1.2.0: +browserify-aes@^1.0.0, browserify-aes@^1.0.4, browserify-aes@^1.2.0: version "1.2.0" resolved "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== @@ -7676,15 +7633,6 @@ dotenv@~10.0.0: resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81" integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== -drbg.js@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/drbg.js/-/drbg.js-1.0.1.tgz#3e36b6c42b37043823cdbc332d58f31e2445480b" - integrity sha512-F4wZ06PvqxYLFEZKkFxTDcns9oFNk34hvmJSEwdzsxVQ8YI5YaxtACgQatkYgv2VI2CFkUd2Y+xosPQnHv809g== - dependencies: - browserify-aes "^1.0.6" - create-hash "^1.1.2" - create-hmac "^1.1.4" - duplexer@^0.1.1, duplexer@~0.1.1: version "0.1.2" resolved "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" @@ -7712,18 +7660,6 @@ eastasianwidth@^0.2.0: resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== -eccrypto@1.1.6: - version "1.1.6" - resolved "https://registry.npmjs.org/eccrypto/-/eccrypto-1.1.6.tgz#846bd1222323036f7a3515613704386399702bd3" - integrity sha512-d78ivVEzu7Tn0ZphUUaL43+jVPKTMPFGtmgtz1D0LrFn7cY3K8CdrvibuLz2AAkHBLKZtR8DMbB2ukRYFk987A== - dependencies: - acorn "7.1.1" - elliptic "6.5.4" - es6-promise "4.2.8" - nan "2.14.0" - optionalDependencies: - secp256k1 "3.7.1" - ee-first@1.1.1: version "1.1.1" resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" @@ -7755,7 +7691,7 @@ electron-to-chromium@^1.4.251: resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz#61046d1e4cab3a25238f6bf7413795270f125592" integrity sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA== -elliptic@6.5.4, elliptic@^6.4.0, elliptic@^6.4.1, elliptic@^6.5.2, elliptic@^6.5.3, elliptic@^6.5.4: +elliptic@6.5.4, elliptic@^6.4.0, elliptic@^6.5.2, elliptic@^6.5.3, elliptic@^6.5.4: version "6.5.4" resolved "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== @@ -7951,7 +7887,7 @@ es6-object-assign@^1.1.0: resolved "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz#c2c3582656247c39ea107cb1e6652b6f9f24523c" integrity sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw== -es6-promise@4.2.8, es6-promise@^4.0.3: +es6-promise@^4.0.3: version "4.2.8" resolved "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== @@ -8216,19 +8152,6 @@ etag@~1.8.1: resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== -eth-crypto@^2.6.0: - version "2.6.0" - resolved "https://registry.npmjs.org/eth-crypto/-/eth-crypto-2.6.0.tgz#b777f367ae8c70e5917b3b7d52adab6b34841e29" - integrity sha512-GCX4ffFYRUGgnuWR5qxcZIRQJ1KEqPFiyXU9yVy7s6dtXIMlUXZQ2h+5ID6rFaOHWbpJbjfkC6YdhwtwRYCnug== - dependencies: - "@babel/runtime" "7.20.13" - "@ethereumjs/tx" "3.5.2" - "@types/bn.js" "5.1.1" - eccrypto "1.1.6" - ethereumjs-util "7.1.5" - ethers "5.7.2" - secp256k1 "5.0.0" - eth-rpc-errors@^4.0.3: version "4.0.3" resolved "https://registry.npmjs.org/eth-rpc-errors/-/eth-rpc-errors-4.0.3.tgz#6ddb6190a4bf360afda82790bb7d9d5e724f423a" @@ -8295,7 +8218,7 @@ ethereumjs-abi@^0.6.8: bn.js "^4.11.8" ethereumjs-util "^6.0.0" -ethereumjs-util@*, ethereumjs-util@7.1.5, ethereumjs-util@^7.1.0, ethereumjs-util@^7.1.4, ethereumjs-util@^7.1.5: +ethereumjs-util@*, ethereumjs-util@^7.1.0, ethereumjs-util@^7.1.4, ethereumjs-util@^7.1.5: version "7.1.5" resolved "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz#9ecf04861e4fbbeed7465ece5f23317ad1129181" integrity sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg== @@ -11274,7 +11197,7 @@ log-update@^4.0.0: slice-ansi "^4.0.0" wrap-ansi "^6.2.0" -loglevel@^1.8.0, loglevel@^1.8.1: +loglevel@^1.8.1: version "1.8.1" resolved "https://registry.npmjs.org/loglevel/-/loglevel-1.8.1.tgz#5c621f83d5b48c54ae93b6156353f555963377b4" integrity sha512-tCRIJM51SHjAayKwC+QAg8hT8vg6z7GSgLJKGvzuPb1Wc+hLzqtuVLxp6/HzSPOozuK+8ErAhy7U/sVzw8Dgfg== @@ -11915,21 +11838,11 @@ mylas@^2.1.9: resolved "https://registry.npmjs.org/mylas/-/mylas-2.1.13.tgz#1e23b37d58fdcc76e15d8a5ed23f9ae9fc0cbdf4" integrity sha512-+MrqnJRtxdF+xngFfUUkIMQrUUL0KsxbADUkn23Z/4ibGg192Q+z+CQyiYwvWTsYjJygmMR8+w3ZDa98Zh6ESg== -nan@2.14.0: - version "2.14.0" - resolved "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" - integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== - nan@^2.12.1, nan@^2.13.2: version "2.17.0" resolved "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz#c0150a2368a182f033e9aa5195ec76ea41a199cb" integrity sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ== -nan@^2.14.0: - version "2.18.0" - resolved "https://registry.npmjs.org/nan/-/nan-2.18.0.tgz#26a6faae7ffbeb293a39660e88a76b82e30b7554" - integrity sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w== - nanomatch@^1.2.9: version "1.2.13" resolved "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" @@ -12007,11 +11920,6 @@ node-addon-api@^3.0.0, node-addon-api@^3.2.1: resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161" integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== -node-addon-api@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-5.1.0.tgz#49da1ca055e109a23d537e9de43c09cca21eb762" - integrity sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA== - node-fetch@2, node-fetch@2.6.7, node-fetch@^2.6.7: version "2.6.7" resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" @@ -14041,29 +13949,6 @@ sdp@^2.12.0, sdp@^2.6.0: resolved "https://registry.npmjs.org/sdp/-/sdp-2.12.0.tgz#338a106af7560c86e4523f858349680350d53b22" integrity sha512-jhXqQAQVM+8Xj5EjJGVweuEzgtGWb3tmEEpl3CLP3cStInSbVHSg0QWOGQzNq8pSID4JkpeV2mPqlMDLrm0/Vw== -secp256k1@3.7.1: - version "3.7.1" - resolved "https://registry.npmjs.org/secp256k1/-/secp256k1-3.7.1.tgz#12e473e0e9a7c2f2d4d4818e722ad0e14cc1e2f1" - integrity sha512-1cf8sbnRreXrQFdH6qsg2H71Xw91fCCS9Yp021GnUNJzWJS/py96fS4lHbnTnouLp08Xj6jBoBB6V78Tdbdu5g== - 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.4.1" - nan "^2.14.0" - safe-buffer "^5.1.2" - -secp256k1@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-5.0.0.tgz#be6f0c8c7722e2481e9773336d351de8cddd12f7" - integrity sha512-TKWX8xvoGHrxVdqbYeZM9w+izTF4b9z3NhSaDkdn81btvuh+ivbIMGT/zQvDtTFWhRlThpoz6LEYTr7n8A5GcA== - dependencies: - elliptic "^6.5.4" - node-addon-api "^5.0.0" - node-gyp-build "^4.2.0" - secp256k1@^4.0.0, secp256k1@^4.0.1, secp256k1@^4.0.2, secp256k1@^4.0.3: version "4.0.3" resolved "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz#c4559ecd1b8d3c1827ed2d1b94190d69ce267303"