From ef3184a6e090cd20690414fe36936cd84a3f04d0 Mon Sep 17 00:00:00 2001 From: fiatjaf Date: Tue, 18 Apr 2023 15:07:10 -0300 Subject: [PATCH] remove @noble/curves. people are not ready for it, causes BigInt issues. --- event.ts | 11 ++-- index.ts | 9 +++ keys.ts | 7 +-- nip04.ts | 2 +- nip06.ts | 4 +- nip13.ts | 4 +- nip19.ts | 26 ++++---- nip26.ts | 9 ++- package.json | 8 +-- yarn.lock | 166 +++++++++++++++++++++++++-------------------------- 10 files changed, 125 insertions(+), 121 deletions(-) diff --git a/event.ts b/event.ts index 6620461..0b16d75 100644 --- a/event.ts +++ b/event.ts @@ -1,6 +1,5 @@ -import {schnorr} from '@noble/curves/secp256k1' +import * as secp256k1 from '@noble/secp256k1' import {sha256} from '@noble/hashes/sha256' -import {bytesToHex} from '@noble/hashes/utils' import {utf8Encoder} from './utils' import {getPublicKey} from './keys' @@ -79,7 +78,7 @@ export function serializeEvent(evt: UnsignedEvent): string { export function getEventHash(event: UnsignedEvent): string { let eventHash = sha256(utf8Encoder.encode(serializeEvent(event))) - return bytesToHex(eventHash) + return secp256k1.utils.bytesToHex(eventHash) } const isRecord = (obj: unknown): obj is Record => obj instanceof Object @@ -105,7 +104,7 @@ export function validateEvent(event: T): event is T & UnsignedEvent { } export function verifySignature(event: Event): boolean { - return schnorr.verify( + return secp256k1.schnorr.verifySync( event.sig, getEventHash(event), event.pubkey @@ -113,7 +112,7 @@ export function verifySignature(event: Event): boolean { } export function signEvent(event: UnsignedEvent, key: string): string { - return bytesToHex( - schnorr.sign(getEventHash(event), key) + return secp256k1.utils.bytesToHex( + secp256k1.schnorr.signSync(getEventHash(event), key) ) } diff --git a/index.ts b/index.ts index d79de4b..8f45843 100644 --- a/index.ts +++ b/index.ts @@ -17,3 +17,12 @@ export * as nip57 from './nip57' export * as fj from './fakejson' export * as utils from './utils' + +// monkey patch secp256k1 +import * as secp256k1 from '@noble/secp256k1' +import {hmac} from '@noble/hashes/hmac' +import {sha256} from '@noble/hashes/sha256' +secp256k1.utils.hmacSha256Sync = (key, ...msgs) => + hmac(sha256, key, secp256k1.utils.concatBytes(...msgs)) +secp256k1.utils.sha256Sync = (...msgs) => + sha256(secp256k1.utils.concatBytes(...msgs)) diff --git a/keys.ts b/keys.ts index 9661a8b..76d4d33 100644 --- a/keys.ts +++ b/keys.ts @@ -1,10 +1,9 @@ -import {schnorr} from '@noble/curves/secp256k1' -import {bytesToHex} from '@noble/hashes/utils' +import * as secp256k1 from '@noble/secp256k1' export function generatePrivateKey(): string { - return bytesToHex(schnorr.utils.randomPrivateKey()) + return secp256k1.utils.bytesToHex(secp256k1.utils.randomPrivateKey()) } export function getPublicKey(privateKey: string): string { - return bytesToHex(schnorr.getPublicKey(privateKey)) + return secp256k1.utils.bytesToHex(secp256k1.schnorr.getPublicKey(privateKey)) } diff --git a/nip04.ts b/nip04.ts index a31f076..aff2b94 100644 --- a/nip04.ts +++ b/nip04.ts @@ -1,5 +1,5 @@ import {randomBytes} from '@noble/hashes/utils' -import {secp256k1} from '@noble/curves/secp256k1' +import * as secp256k1 from '@noble/secp256k1' import {base64} from '@scure/base' import {utf8Decoder, utf8Encoder} from './utils' diff --git a/nip06.ts b/nip06.ts index 4cbbde0..6d37860 100644 --- a/nip06.ts +++ b/nip06.ts @@ -1,4 +1,4 @@ -import {bytesToHex} from '@noble/hashes/utils' +import * as secp256k1 from '@noble/secp256k1' import {wordlist} from '@scure/bip39/wordlists/english.js' import { generateMnemonic, @@ -14,7 +14,7 @@ export function privateKeyFromSeedWords( let root = HDKey.fromMasterSeed(mnemonicToSeedSync(mnemonic, passphrase)) let privateKey = root.derive(`m/44'/1237'/0'/0/0`).privateKey if (!privateKey) throw new Error('could not derive private key') - return bytesToHex(privateKey) + return secp256k1.utils.bytesToHex(privateKey) } export function generateSeedWords(): string { diff --git a/nip13.ts b/nip13.ts index 6adf1d2..f96c58b 100644 --- a/nip13.ts +++ b/nip13.ts @@ -1,8 +1,8 @@ -import {hexToBytes} from '@noble/hashes/utils' +import * as secp256k1 from '@noble/secp256k1' /** Get POW difficulty from a Nostr hex ID. */ export function getPow(id: string): number { - return getLeadingZeroBits(hexToBytes(id)) + return getLeadingZeroBits(secp256k1.utils.hexToBytes(id)) } /** diff --git a/nip19.ts b/nip19.ts index ff370eb..00c0fd5 100644 --- a/nip19.ts +++ b/nip19.ts @@ -1,4 +1,4 @@ -import {bytesToHex, concatBytes, hexToBytes} from '@noble/hashes/utils' +import * as secp256k1 from '@noble/secp256k1' import {bech32} from '@scure/base' import {utf8Decoder, utf8Encoder} from './utils' @@ -44,7 +44,7 @@ export function decode(nip19: string): DecodeResult { return { type: 'nprofile', data: { - pubkey: bytesToHex(tlv[0][0]), + pubkey: secp256k1.utils.bytesToHex(tlv[0][0]), relays: tlv[1] ? tlv[1].map(d => utf8Decoder.decode(d)) : [] } } @@ -59,10 +59,10 @@ export function decode(nip19: string): DecodeResult { return { type: 'nevent', data: { - id: bytesToHex(tlv[0][0]), + id: secp256k1.utils.bytesToHex(tlv[0][0]), relays: tlv[1] ? tlv[1].map(d => utf8Decoder.decode(d)) : [], author: tlv[2]?.[0] - ? bytesToHex(tlv[2][0]) + ? secp256k1.utils.bytesToHex(tlv[2][0]) : undefined } } @@ -80,8 +80,8 @@ export function decode(nip19: string): DecodeResult { type: 'naddr', data: { identifier: utf8Decoder.decode(tlv[0][0]), - pubkey: bytesToHex(tlv[2][0]), - kind: parseInt(bytesToHex(tlv[3][0]), 16), + pubkey: secp256k1.utils.bytesToHex(tlv[2][0]), + kind: parseInt(secp256k1.utils.bytesToHex(tlv[3][0]), 16), relays: tlv[1] ? tlv[1].map(d => utf8Decoder.decode(d)) : [] } } @@ -100,7 +100,7 @@ export function decode(nip19: string): DecodeResult { case 'nsec': case 'npub': case 'note': - return {type: prefix, data: bytesToHex(data)} + return {type: prefix, data: secp256k1.utils.bytesToHex(data)} default: throw new Error(`unknown prefix ${prefix}`) @@ -137,14 +137,14 @@ export function noteEncode(hex: string): string { } function encodeBytes(prefix: string, hex: string): string { - let data = hexToBytes(hex) + let data = secp256k1.utils.hexToBytes(hex) let words = bech32.toWords(data) return bech32.encode(prefix, words, Bech32MaxSize) } export function nprofileEncode(profile: ProfilePointer): string { let data = encodeTLV({ - 0: [hexToBytes(profile.pubkey)], + 0: [secp256k1.utils.hexToBytes(profile.pubkey)], 1: (profile.relays || []).map(url => utf8Encoder.encode(url)) }) let words = bech32.toWords(data) @@ -153,9 +153,9 @@ export function nprofileEncode(profile: ProfilePointer): string { export function neventEncode(event: EventPointer): string { let data = encodeTLV({ - 0: [hexToBytes(event.id)], + 0: [secp256k1.utils.hexToBytes(event.id)], 1: (event.relays || []).map(url => utf8Encoder.encode(url)), - 2: event.author ? [hexToBytes(event.author)] : [] + 2: event.author ? [secp256k1.utils.hexToBytes(event.author)] : [] }) let words = bech32.toWords(data) return bech32.encode('nevent', words, Bech32MaxSize) @@ -168,7 +168,7 @@ export function naddrEncode(addr: AddressPointer): string { let data = encodeTLV({ 0: [utf8Encoder.encode(addr.identifier)], 1: (addr.relays || []).map(url => utf8Encoder.encode(url)), - 2: [hexToBytes(addr.pubkey)], + 2: [secp256k1.utils.hexToBytes(addr.pubkey)], 3: [new Uint8Array(kind)] }) let words = bech32.toWords(data) @@ -196,5 +196,5 @@ function encodeTLV(tlv: TLV): Uint8Array { }) }) - return concatBytes(...entries) + return secp256k1.utils.concatBytes(...entries) } diff --git a/nip26.ts b/nip26.ts index fd4fb00..150135a 100644 --- a/nip26.ts +++ b/nip26.ts @@ -1,5 +1,4 @@ -import {schnorr} from '@noble/curves/secp256k1' -import {bytesToHex} from '@noble/hashes/utils' +import * as secp256k1 from '@noble/secp256k1' import {sha256} from '@noble/hashes/sha256' import {Event} from './event' @@ -37,8 +36,8 @@ export function createDelegation( utf8Encoder.encode(`nostr:delegation:${parameters.pubkey}:${cond}`) ) - let sig = bytesToHex( - schnorr.sign(sighash, privateKey) + let sig = secp256k1.utils.bytesToHex( + secp256k1.schnorr.signSync(sighash, privateKey) ) return { @@ -85,7 +84,7 @@ export function getDelegator(event: Event): string | null { let sighash = sha256( utf8Encoder.encode(`nostr:delegation:${event.pubkey}:${cond}`) ) - if (!schnorr.verify(sig, sighash, pubkey)) return null + if (!secp256k1.schnorr.verifySync(sig, sighash, pubkey)) return null return pubkey } diff --git a/package.json b/package.json index f7eccaf..73b1c33 100644 --- a/package.json +++ b/package.json @@ -18,11 +18,11 @@ }, "license": "Public domain", "dependencies": { - "@noble/curves": "1.0.0", - "@noble/hashes": "1.3.0", + "@noble/hashes": "1.2.0", + "@noble/secp256k1": "1.7.1", "@scure/base": "1.1.1", - "@scure/bip32": "1.3.0", - "@scure/bip39": "1.2.0" + "@scure/bip32": "1.1.4", + "@scure/bip39": "1.1.1" }, "keywords": [ "decentralization", diff --git a/yarn.lock b/yarn.lock index 4de44c7..476905a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -705,17 +705,15 @@ "@jridgewell/resolve-uri" "3.1.0" "@jridgewell/sourcemap-codec" "1.4.14" -"@noble/curves@1.0.0", "@noble/curves@~1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.0.0.tgz#e40be8c7daf088aaf291887cbc73f43464a92932" - integrity sha512-2upgEu0iLiDVDZkNLeFV2+ht0BAVgQnEmCk6JsOch9Rp8xfkMCbvbAZlA2pBHQc73dbl+vFOXfqkf4uemdn0bw== - dependencies: - "@noble/hashes" "1.3.0" +"@noble/hashes@1.2.0", "@noble/hashes@~1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.2.0.tgz#a3150eeb09cc7ab207ebf6d7b9ad311a9bdbed12" + integrity sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ== -"@noble/hashes@1.3.0", "@noble/hashes@~1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.0.tgz#085fd70f6d7d9d109671090ccae1d3bec62554a1" - integrity sha512-ilHEACi9DwqJB0pw7kv+Apvh50jiiSyR/cQ3y4W7lOR5mhvn/50FLUfsnfJz0BDZtl/RR16kXvptiv6q1msYZg== +"@noble/secp256k1@1.7.1", "@noble/secp256k1@~1.7.0": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.7.1.tgz#b251c70f824ce3ca7f8dc3df08d58f005cc0507c" + integrity sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -743,21 +741,21 @@ resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.1.tgz#ebb651ee52ff84f420097055f4bf46cfba403938" integrity sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA== -"@scure/bip32@1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.3.0.tgz#6c8d980ef3f290987736acd0ee2e0f0d50068d87" - integrity sha512-bcKpo1oj54hGholplGLpqPHRbIsnbixFtc06nwuNM5/dwSXOq/AAYoIBRsBmnZJSdfeNW5rnff7NTAz3ZCqR9Q== +"@scure/bip32@1.1.4": + version "1.1.4" + resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.1.4.tgz#2c91a7be0156b15f26dd0c843a06a1917f129efd" + integrity sha512-m925ACYK0wPELsF7Z/VdLGmKj1StIeHraPMYB9xiAFiq/PnvqWd/99I0TQ2OZhjjlMDsDJeZlyXMWi0beaA7NA== dependencies: - "@noble/curves" "~1.0.0" - "@noble/hashes" "~1.3.0" + "@noble/hashes" "~1.2.0" + "@noble/secp256k1" "~1.7.0" "@scure/base" "~1.1.0" -"@scure/bip39@1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.2.0.tgz#a207e2ef96de354de7d0002292ba1503538fc77b" - integrity sha512-SX/uKq52cuxm4YFXWFaVByaSHJh2w3BnokVSeUJVCv6K7WulT9u2BuNRBhuFl8vAuYnzx9bEu9WgpcNYTrYieg== +"@scure/bip39@1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.1.1.tgz#b54557b2e86214319405db819c4b6a370cf340c5" + integrity sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg== dependencies: - "@noble/hashes" "~1.3.0" + "@noble/hashes" "~1.2.0" "@scure/base" "~1.1.0" "@sinclair/typebox@^0.25.16": @@ -904,14 +902,14 @@ "@types/yargs-parser" "*" "@typescript-eslint/eslint-plugin@^5.51.0": - version "5.58.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.58.0.tgz#b1d4b0ad20243269d020ef9bbb036a40b0849829" - integrity sha512-vxHvLhH0qgBd3/tW6/VccptSfc8FxPQIkmNTVLWcCOVqSBvqpnKkBTYrhcGlXfSnd78azwe+PsjYFj0X34/njA== + version "5.59.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.0.tgz#c0e10eeb936debe5d1c3433cf36206a95befefd0" + integrity sha512-p0QgrEyrxAWBecR56gyn3wkG15TJdI//eetInP3zYRewDh0XS+DhB3VUAd3QqvziFsfaQIoIuZMxZRB7vXYaYw== dependencies: "@eslint-community/regexpp" "^4.4.0" - "@typescript-eslint/scope-manager" "5.58.0" - "@typescript-eslint/type-utils" "5.58.0" - "@typescript-eslint/utils" "5.58.0" + "@typescript-eslint/scope-manager" "5.59.0" + "@typescript-eslint/type-utils" "5.59.0" + "@typescript-eslint/utils" "5.59.0" debug "^4.3.4" grapheme-splitter "^1.0.4" ignore "^5.2.0" @@ -920,71 +918,71 @@ tsutils "^3.21.0" "@typescript-eslint/parser@^5.51.0": - version "5.58.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.58.0.tgz#2ac4464cf48bef2e3234cb178ede5af352dddbc6" - integrity sha512-ixaM3gRtlfrKzP8N6lRhBbjTow1t6ztfBvQNGuRM8qH1bjFFXIJ35XY+FC0RRBKn3C6cT+7VW1y8tNm7DwPHDQ== + version "5.59.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.59.0.tgz#0ad7cd019346cc5d150363f64869eca10ca9977c" + integrity sha512-qK9TZ70eJtjojSUMrrEwA9ZDQ4N0e/AuoOIgXuNBorXYcBDk397D2r5MIe1B3cok/oCtdNC5j+lUUpVB+Dpb+w== dependencies: - "@typescript-eslint/scope-manager" "5.58.0" - "@typescript-eslint/types" "5.58.0" - "@typescript-eslint/typescript-estree" "5.58.0" + "@typescript-eslint/scope-manager" "5.59.0" + "@typescript-eslint/types" "5.59.0" + "@typescript-eslint/typescript-estree" "5.59.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.58.0": - version "5.58.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.58.0.tgz#5e023a48352afc6a87be6ce3c8e763bc9e2f0bc8" - integrity sha512-b+w8ypN5CFvrXWQb9Ow9T4/6LC2MikNf1viLkYTiTbkQl46CnR69w7lajz1icW0TBsYmlpg+mRzFJ4LEJ8X9NA== +"@typescript-eslint/scope-manager@5.59.0": + version "5.59.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.59.0.tgz#86501d7a17885710b6716a23be2e93fc54a4fe8c" + integrity sha512-tsoldKaMh7izN6BvkK6zRMINj4Z2d6gGhO2UsI8zGZY3XhLq1DndP3Ycjhi1JwdwPRwtLMW4EFPgpuKhbCGOvQ== dependencies: - "@typescript-eslint/types" "5.58.0" - "@typescript-eslint/visitor-keys" "5.58.0" + "@typescript-eslint/types" "5.59.0" + "@typescript-eslint/visitor-keys" "5.59.0" -"@typescript-eslint/type-utils@5.58.0": - version "5.58.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.58.0.tgz#f7d5b3971483d4015a470d8a9e5b8a7d10066e52" - integrity sha512-FF5vP/SKAFJ+LmR9PENql7fQVVgGDOS+dq3j+cKl9iW/9VuZC/8CFmzIP0DLKXfWKpRHawJiG70rVH+xZZbp8w== +"@typescript-eslint/type-utils@5.59.0": + version "5.59.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.59.0.tgz#8e8d1420fc2265989fa3a0d897bde37f3851e8c9" + integrity sha512-d/B6VSWnZwu70kcKQSCqjcXpVH+7ABKH8P1KNn4K7j5PXXuycZTPXF44Nui0TEm6rbWGi8kc78xRgOC4n7xFgA== dependencies: - "@typescript-eslint/typescript-estree" "5.58.0" - "@typescript-eslint/utils" "5.58.0" + "@typescript-eslint/typescript-estree" "5.59.0" + "@typescript-eslint/utils" "5.59.0" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.58.0": - version "5.58.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.58.0.tgz#54c490b8522c18986004df7674c644ffe2ed77d8" - integrity sha512-JYV4eITHPzVQMnHZcYJXl2ZloC7thuUHrcUmxtzvItyKPvQ50kb9QXBkgNAt90OYMqwaodQh2kHutWZl1fc+1g== +"@typescript-eslint/types@5.59.0": + version "5.59.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.59.0.tgz#3fcdac7dbf923ec5251545acdd9f1d42d7c4fe32" + integrity sha512-yR2h1NotF23xFFYKHZs17QJnB51J/s+ud4PYU4MqdZbzeNxpgUr05+dNeCN/bb6raslHvGdd6BFCkVhpPk/ZeA== -"@typescript-eslint/typescript-estree@5.58.0": - version "5.58.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.58.0.tgz#4966e6ff57eaf6e0fce2586497edc097e2ab3e61" - integrity sha512-cRACvGTodA+UxnYM2uwA2KCwRL7VAzo45syNysqlMyNyjw0Z35Icc9ihPJZjIYuA5bXJYiJ2YGUB59BqlOZT1Q== +"@typescript-eslint/typescript-estree@5.59.0": + version "5.59.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.0.tgz#8869156ee1dcfc5a95be3ed0e2809969ea28e965" + integrity sha512-sUNnktjmI8DyGzPdZ8dRwW741zopGxltGs/SAPgGL/AAgDpiLsCFLcMNSpbfXfmnNeHmK9h3wGmCkGRGAoUZAg== dependencies: - "@typescript-eslint/types" "5.58.0" - "@typescript-eslint/visitor-keys" "5.58.0" + "@typescript-eslint/types" "5.59.0" + "@typescript-eslint/visitor-keys" "5.59.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.58.0": - version "5.58.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.58.0.tgz#430d7c95f23ec457b05be5520c1700a0dfd559d5" - integrity sha512-gAmLOTFXMXOC+zP1fsqm3VceKSBQJNzV385Ok3+yzlavNHZoedajjS4UyS21gabJYcobuigQPs/z71A9MdJFqQ== +"@typescript-eslint/utils@5.59.0": + version "5.59.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.59.0.tgz#063d066b3bc4850c18872649ed0da9ee72d833d5" + integrity sha512-GGLFd+86drlHSvPgN/el6dRQNYYGOvRSDVydsUaQluwIW3HvbXuxyuD5JETvBt/9qGYe+lOrDk6gRrWOHb/FvA== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@types/json-schema" "^7.0.9" "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.58.0" - "@typescript-eslint/types" "5.58.0" - "@typescript-eslint/typescript-estree" "5.58.0" + "@typescript-eslint/scope-manager" "5.59.0" + "@typescript-eslint/types" "5.59.0" + "@typescript-eslint/typescript-estree" "5.59.0" eslint-scope "^5.1.1" semver "^7.3.7" -"@typescript-eslint/visitor-keys@5.58.0": - version "5.58.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.58.0.tgz#eb9de3a61d2331829e6761ce7fd13061781168b4" - integrity sha512-/fBraTlPj0jwdyTwLyrRTxv/3lnU2H96pNTVM6z3esTWLtA5MZ9ghSMJ7Rb+TtUAdtEw9EyJzJ0EydIMKxQ9gA== +"@typescript-eslint/visitor-keys@5.59.0": + version "5.59.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.0.tgz#a59913f2bf0baeb61b5cfcb6135d3926c3854365" + integrity sha512-qZ3iXxQhanchCeaExlKPV3gDQFxMUmU35xfd5eCXB6+kUw1TUAbIy2n7QIrwz9s98DQLzNWyHp61fY0da4ZcbA== dependencies: - "@typescript-eslint/types" "5.58.0" + "@typescript-eslint/types" "5.59.0" eslint-visitor-keys "^3.3.0" acorn-jsx@^5.3.2: @@ -1230,9 +1228,9 @@ camelcase@^6.2.0: integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== caniuse-lite@^1.0.30001449: - version "1.0.30001478" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001478.tgz#0ef8a1cf8b16be47a0f9fc4ecfc952232724b32a" - integrity sha512-gMhDyXGItTHipJj2ApIvR+iVB5hd0KP3svMWWXDvZOmjzJJassGLMfxRkQCSYgGd2gtdL/ReeiyvMSFD1Ss6Mw== + version "1.0.30001480" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001480.tgz#9bbd35ee44c2480a1e3a3b9f4496f5066817164a" + integrity sha512-q7cpoPPvZYgtyC4VaBSN0Bt+PJ4c4EYRf0DrduInOz2SkFpHD5p3LnvEpqBp7UnJn+8x1Ogl1s38saUxe+ihQQ== chalk@^2.0.0, chalk@^2.4.1: version "2.4.2" @@ -1434,9 +1432,9 @@ doctrine@^3.0.0: esutils "^2.0.2" electron-to-chromium@^1.4.284: - version "1.4.364" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.364.tgz#da9702efd0101627f250f5e90a90a829feb41d7f" - integrity sha512-v6GxKdF57qfweXSfnne9nw1vS/86G4+UtscEe+3HQF+zhhrjAY4+9A4gstIQO56gyZvVrt9MZwt9aevCz/tohQ== + version "1.4.367" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.367.tgz#d9ddc529ba2315fc852b722c359e4a40e86aa742" + integrity sha512-mNuDxb+HpLhPGUKrg0hSxbTjHWw8EziwkwlJNkFUj3W60ypigLDRVz04vU+VRsJPi8Gub+FDhYUpuTm9xiEwRQ== emittery@^0.13.1: version "0.13.1" @@ -2182,7 +2180,7 @@ is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== -is-core-module@^2.12.0, is-core-module@^2.5.0: +is-core-module@^2.11.0, is-core-module@^2.5.0: version "2.12.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.12.0.tgz#36ad62f6f73c8253fd6472517a12483cf03e7ec4" integrity sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ== @@ -3354,11 +3352,11 @@ resolve.exports@^2.0.0: integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== resolve@^1.10.0, resolve@^1.20.0: - version "1.22.3" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.3.tgz#4b4055349ffb962600972da1fdc33c46a4eb3283" - integrity sha512-P8ur/gp/AmbEzjr729bZnLjXK5Z+4P0zhIJgBgzqRih7hL7BOukHGtSTA3ACMY467GRFz3duQsi0bDZdR7DKdw== + version "1.22.2" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.2.tgz#0ed0943d4e301867955766c9f3e1ae6d01c6845f" + integrity sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g== dependencies: - is-core-module "^2.12.0" + is-core-module "^2.11.0" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" @@ -3396,9 +3394,9 @@ safe-regex-test@^1.0.0: integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== semver@7.x, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8: - version "7.4.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.4.0.tgz#8481c92feffc531ab1e012a8ffc15bdd3a0f4318" - integrity sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw== + version "7.5.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.0.tgz#ed8c5dc8efb6c629c88b23d41dc9bf40c1d96cd0" + integrity sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA== dependencies: lru-cache "^6.0.0" @@ -3800,9 +3798,9 @@ unbox-primitive@^1.0.2: which-boxed-primitive "^1.0.2" update-browserslist-db@^1.0.10: - version "1.0.10" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3" - integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== + version "1.0.11" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz#9a2a641ad2907ae7b3616506f4b977851db5b940" + integrity sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA== dependencies: escalade "^3.1.1" picocolors "^1.0.0"