From 471d5febfc0ee40be675e49ad7363c99f3b37ae9 Mon Sep 17 00:00:00 2001 From: Maarten Zuidhoorn Date: Fri, 14 Jul 2023 13:21:51 +0200 Subject: [PATCH 1/2] Synchronise package with module-template to fix regression --- .depcheckrc.json | 1 - .yarnrc.yml | 4 +- constraints.pro | 5 + package.json | 32 +- scripts/generate-vectors.ts | 5 +- src/BIP44CoinTypeNode.test.ts | 2 +- src/BIP44CoinTypeNode.ts | 11 +- src/BIP44Node.test.ts | 2 +- src/BIP44Node.ts | 12 +- src/SLIP10Node.test.ts | 2 +- src/SLIP10Node.ts | 14 +- src/curves/ed25519.test.ts | 2 +- src/curves/secp256k1.test.ts | 2 +- src/derivation.test.ts | 6 +- src/derivation.ts | 8 +- src/derivers/bip32.test.ts | 10 +- src/derivers/bip32.ts | 12 +- src/derivers/bip39.test.ts | 2 +- src/derivers/bip39.ts | 7 +- src/derivers/index.ts | 4 +- src/derivers/shared.test.ts | 2 +- src/derivers/shared.ts | 5 +- src/derivers/slip10.test.ts | 4 +- src/derivers/slip10.ts | 10 +- src/extended-keys.test.ts | 2 +- src/utils.test.ts | 2 +- src/utils.ts | 13 +- test/reference-implementations.test.ts | 10 +- test/vectors.test.ts | 8 +- yarn.lock | 672 ++++++++++++++++--------- 30 files changed, 532 insertions(+), 339 deletions(-) diff --git a/.depcheckrc.json b/.depcheckrc.json index 997187f7..92185ff1 100644 --- a/.depcheckrc.json +++ b/.depcheckrc.json @@ -5,7 +5,6 @@ "@metamask/auto-changelog", "@types/*", "prettier-plugin-packagejson", - "simple-git-hooks", "ts-node", "typedoc" ] diff --git a/.yarnrc.yml b/.yarnrc.yml index a284cf7e..648a8989 100644 --- a/.yarnrc.yml +++ b/.yarnrc.yml @@ -10,8 +10,8 @@ nodeLinker: node-modules plugins: - path: .yarn/plugins/@yarnpkg/plugin-allow-scripts.cjs - spec: 'https://raw.githubusercontent.com/LavaMoat/LavaMoat/main/packages/yarn-plugin-allow-scripts/bundles/@yarnpkg/plugin-allow-scripts.js' + spec: "https://raw.githubusercontent.com/LavaMoat/LavaMoat/main/packages/yarn-plugin-allow-scripts/bundles/@yarnpkg/plugin-allow-scripts.js" - path: .yarn/plugins/@yarnpkg/plugin-constraints.cjs - spec: '@yarnpkg/plugin-constraints' + spec: "@yarnpkg/plugin-constraints" yarnPath: .yarn/releases/yarn-3.2.3.cjs diff --git a/constraints.pro b/constraints.pro index f9fb88fa..a892c67b 100644 --- a/constraints.pro +++ b/constraints.pro @@ -67,12 +67,17 @@ gen_enforced_field(WorkspaceCwd, 'license'). % The type definitions entrypoint the package must be `./dist/types/index.d.ts`. gen_enforced_field(WorkspaceCwd, 'types', './dist/types/index.d.ts'). +gen_enforced_field(WorkspaceCwd, 'exports["."].types', './dist/types/index.d.ts'). % The entrypoint for the package must be `./dist/cjs/index.js`. gen_enforced_field(WorkspaceCwd, 'main', './dist/cjs/index.js'). +gen_enforced_field(WorkspaceCwd, 'exports["."].require', './dist/cjs/index.js'). % The module entrypoint for the package must be `./dist/esm/index.js`. gen_enforced_field(WorkspaceCwd, 'module', './dist/esm/index.js'). +gen_enforced_field(WorkspaceCwd, 'exports["."].import', './dist/esm/index.js'). + +gen_enforced_field(WorkspaceCwd, 'exports["./package.json"]', './package.json'). % The list of files included in the package must only include files generated % during the build step. diff --git a/package.json b/package.json index c3674c85..37d515ee 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,14 @@ }, "license": "MIT", "author": "kumavis", + "exports": { + ".": { + "import": "./dist/esm/index.js", + "require": "./dist/cjs/index.js", + "types": "./dist/types/index.d.ts" + }, + "./package.json": "./package.json" + }, "main": "./dist/cjs/index.js", "module": "./dist/esm/index.js", "types": "./dist/types/index.d.ts", @@ -25,7 +33,8 @@ "build:cjs": "swc src --out-dir dist/cjs --config-file .swcrc.build.json --config module.type=commonjs", "build:clean": "rimraf dist && yarn build", "build:docs": "typedoc", - "build:esm": "swc src --out-dir dist/esm --config-file .swcrc.build.json --config module.type=es6", + "build:esm": "swc src --out-dir dist/esm --config-file .swcrc.build.json --config module.type=es6 && yarn build:esm:package", + "build:esm:package": "echo >dist/esm/package.json \"{\\\"type\\\":\\\"module\\\"}\"", "build:source": "yarn build:esm && yarn build:cjs", "build:types": "tsc --project tsconfig.build.json", "generate-vectors": "ts-node scripts/generate-vectors.ts > ./test/vectors/derivation.json", @@ -52,10 +61,10 @@ "@lavamoat/allow-scripts": "^2.3.1", "@lavamoat/preinstall-always-fail": "^1.0.0", "@metamask/auto-changelog": "^3.1.0", - "@metamask/eslint-config": "^11.0.1", - "@metamask/eslint-config-jest": "^11.0.0", - "@metamask/eslint-config-nodejs": "^11.0.1", - "@metamask/eslint-config-typescript": "^11.0.0", + "@metamask/eslint-config": "^12.0.0", + "@metamask/eslint-config-jest": "^12.0.0", + "@metamask/eslint-config-nodejs": "^12.0.0", + "@metamask/eslint-config-typescript": "^12.0.0", "@swc/cli": "^0.1.62", "@swc/core": "^1.3.66", "@types/jest": "^28.1.6", @@ -63,13 +72,14 @@ "@typescript-eslint/eslint-plugin": "^5.43.0", "@typescript-eslint/parser": "^5.43.0", "depcheck": "^1.4.3", - "eslint": "^8.27.0", - "eslint-config-prettier": "^8.5.0", - "eslint-plugin-import": "^2.26.0", - "eslint-plugin-jest": "^27.1.5", - "eslint-plugin-jsdoc": "^39.6.2", - "eslint-plugin-node": "^11.1.0", + "eslint": "^8.44.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-import": "^2.27.5", + "eslint-plugin-jest": "^27.2.2", + "eslint-plugin-jsdoc": "^39.9.1", + "eslint-plugin-n": "^15.7.0", "eslint-plugin-prettier": "^4.2.1", + "eslint-plugin-promise": "^6.1.1", "jest": "^28.1.3", "jest-it-up": "^2.0.2", "prettier": "^2.7.1", diff --git a/scripts/generate-vectors.ts b/scripts/generate-vectors.ts index f9187523..c360d22e 100644 --- a/scripts/generate-vectors.ts +++ b/scripts/generate-vectors.ts @@ -2,15 +2,14 @@ import { bytesToHex } from '@metamask/utils'; // eslint-disable-next-line import/no-nodejs-modules import { randomInt, randomBytes } from 'crypto'; +import type { BIP32Node, SLIP10Node } from '../src'; import { - BIP32Node, BIP_32_HARDENED_OFFSET, ed25519, MAX_BIP_32_INDEX, secp256k1, - SLIP10Node, } from '../src'; -import { Curve } from '../src/curves'; +import type { Curve } from '../src/curves'; import { createBip39KeyFromSeed } from '../src/derivers/bip39'; /** diff --git a/src/BIP44CoinTypeNode.test.ts b/src/BIP44CoinTypeNode.test.ts index 4ffb55a7..ca95b015 100644 --- a/src/BIP44CoinTypeNode.test.ts +++ b/src/BIP44CoinTypeNode.test.ts @@ -8,9 +8,9 @@ import { deriveBIP44AddressKey, getBIP44AddressKeyDeriver, } from '.'; -import fixtures from '../test/fixtures'; import { encodeExtendedKey, PRIVATE_KEY_VERSION } from './extended-keys'; import { mnemonicPhraseToBytes } from './utils'; +import fixtures from '../test/fixtures'; const defaultBip39NodeToken = `bip39:${fixtures.local.mnemonic}` as const; const defaultBip39BytesToken = mnemonicPhraseToBytes(fixtures.local.mnemonic); diff --git a/src/BIP44CoinTypeNode.ts b/src/BIP44CoinTypeNode.ts index 3a3049e2..bb065c5c 100644 --- a/src/BIP44CoinTypeNode.ts +++ b/src/BIP44CoinTypeNode.ts @@ -1,18 +1,19 @@ import { assert } from '@metamask/utils'; -import { BIP44Node, BIP44NodeInterface, JsonBIP44Node } from './BIP44Node'; -import { +import type { BIP44NodeInterface, JsonBIP44Node } from './BIP44Node'; +import { BIP44Node } from './BIP44Node'; +import type { BIP39Node, BIP44Depth, BIP44PurposeNodeToken, - BIP_32_HARDENED_OFFSET, CoinTypeHDPathString, HardenedBIP32Node, } from './constants'; -import { SupportedCurve } from './curves'; +import { BIP_32_HARDENED_OFFSET } from './constants'; +import type { SupportedCurve } from './curves'; import { deriveChildNode } from './SLIP10Node'; +import type { CoinTypeToAddressIndices } from './utils'; import { - CoinTypeToAddressIndices, getBIP32NodeToken, getBIP44ChangePathString, getBIP44CoinTypePathString, diff --git a/src/BIP44Node.test.ts b/src/BIP44Node.test.ts index ba8f0193..ef6f7e93 100644 --- a/src/BIP44Node.test.ts +++ b/src/BIP44Node.test.ts @@ -1,7 +1,6 @@ import { bytesToHex } from '@metamask/utils'; import { BIP44Node, BIP44PurposeNodeToken, secp256k1 } from '.'; -import fixtures from '../test/fixtures'; import { compressPublicKey } from './curves/secp256k1'; import { createBip39KeyFromSeed, deriveChildKey } from './derivers/bip39'; import { @@ -10,6 +9,7 @@ import { PUBLIC_KEY_VERSION, } from './extended-keys'; import { hexStringToBytes, mnemonicPhraseToBytes } from './utils'; +import fixtures from '../test/fixtures'; const defaultBip39NodeToken = `bip39:${fixtures.local.mnemonic}` as const; const defaultBip39BytesToken = mnemonicPhraseToBytes(fixtures.local.mnemonic); diff --git a/src/BIP44Node.ts b/src/BIP44Node.ts index a2a29ea9..b7f93eb3 100644 --- a/src/BIP44Node.ts +++ b/src/BIP44Node.ts @@ -1,17 +1,19 @@ import { assert } from '@metamask/utils'; -import { +import type { BIP44Depth, + PartialHDPathTuple, + RootedSLIP10PathTuple, + SLIP10Path, +} from './constants'; +import { BIP44PurposeNodeToken, BIP_32_PATH_REGEX, BIP_39_PATH_REGEX, MAX_BIP_44_DEPTH, MIN_BIP_44_DEPTH, - PartialHDPathTuple, - RootedSLIP10PathTuple, - SLIP10Path, } from './constants'; -import { SupportedCurve } from './curves'; +import type { SupportedCurve } from './curves'; import { decodeExtendedKey, encodeExtendedKey, diff --git a/src/SLIP10Node.test.ts b/src/SLIP10Node.test.ts index 77e9ef10..f6d11c4e 100644 --- a/src/SLIP10Node.test.ts +++ b/src/SLIP10Node.test.ts @@ -1,12 +1,12 @@ import { bytesToHex, hexToBytes } from '@metamask/utils'; -import fixtures from '../test/fixtures'; import { BIP44PurposeNodeToken } from './constants'; import { ed25519, secp256k1 } from './curves'; import { compressPublicKey } from './curves/secp256k1'; import { createBip39KeyFromSeed, deriveChildKey } from './derivers/bip39'; import { SLIP10Node } from './SLIP10Node'; import { hexStringToBytes, mnemonicPhraseToBytes } from './utils'; +import fixtures from '../test/fixtures'; const defaultBip39NodeToken = `bip39:${fixtures.local.mnemonic}` as const; const defaultBip39BytesToken = mnemonicPhraseToBytes(fixtures.local.mnemonic); diff --git a/src/SLIP10Node.ts b/src/SLIP10Node.ts index 61733b13..a2c0cb2d 100644 --- a/src/SLIP10Node.ts +++ b/src/SLIP10Node.ts @@ -1,13 +1,11 @@ import { assert, bytesToHex } from '@metamask/utils'; -import { BIP44CoinTypeNode } from './BIP44CoinTypeNode'; -import { BIP44Node } from './BIP44Node'; -import { - BYTES_KEY_LENGTH, - RootedSLIP10PathTuple, - SLIP10PathTuple, -} from './constants'; -import { getCurveByName, SupportedCurve } from './curves'; +import type { BIP44CoinTypeNode } from './BIP44CoinTypeNode'; +import type { BIP44Node } from './BIP44Node'; +import type { RootedSLIP10PathTuple, SLIP10PathTuple } from './constants'; +import { BYTES_KEY_LENGTH } from './constants'; +import type { SupportedCurve } from './curves'; +import { getCurveByName } from './curves'; import { deriveKeyFromPath } from './derivation'; import { publicKeyToEthAddress } from './derivers/bip32'; import { diff --git a/src/curves/ed25519.test.ts b/src/curves/ed25519.test.ts index 88e8a4c9..ef827b60 100644 --- a/src/curves/ed25519.test.ts +++ b/src/curves/ed25519.test.ts @@ -1,6 +1,5 @@ import { hexToBytes, bytesToHex } from '@metamask/utils'; -import fixtures from '../../test/fixtures'; import { compressPublicKey, curve, @@ -9,6 +8,7 @@ import { isValidPrivateKey, publicAdd, } from './ed25519'; +import fixtures from '../../test/fixtures'; describe('ed25519', () => { describe('curve', () => { diff --git a/src/curves/secp256k1.test.ts b/src/curves/secp256k1.test.ts index 893dbd6a..2bb4dc0a 100644 --- a/src/curves/secp256k1.test.ts +++ b/src/curves/secp256k1.test.ts @@ -1,7 +1,7 @@ import { bytesToHex, hexToBytes } from '@metamask/utils'; -import fixtures from '../../test/fixtures'; import { curve, getPublicKey, isValidPrivateKey, publicAdd } from './secp256k1'; +import fixtures from '../../test/fixtures'; describe('secp256k1', () => { describe('curve', () => { diff --git a/src/derivation.test.ts b/src/derivation.test.ts index 4e56ce7b..41ee3f73 100755 --- a/src/derivation.test.ts +++ b/src/derivation.test.ts @@ -1,13 +1,13 @@ import { bytesToHex } from '@metamask/utils'; -import fixtures from '../test/fixtures'; -import { HDPathTuple } from './constants'; +import type { HDPathTuple } from './constants'; import { secp256k1 } from './curves'; import { deriveKeyFromPath, validatePathSegment } from './derivation'; import { derivers } from './derivers'; import { privateKeyToEthAddress } from './derivers/bip32'; -import { SLIP10Node } from './SLIP10Node'; +import type { SLIP10Node } from './SLIP10Node'; import { getUnhardenedBIP32NodeToken, mnemonicPhraseToBytes } from './utils'; +import fixtures from '../test/fixtures'; const { bip32: { deriveChildKey: bip32Derive }, diff --git a/src/derivation.ts b/src/derivation.ts index 81f2b384..d21d9c06 100755 --- a/src/derivation.ts +++ b/src/derivation.ts @@ -2,15 +2,17 @@ import { assert } from '@metamask/utils'; import { BIP44CoinTypeNode } from './BIP44CoinTypeNode'; import { BIP44Node } from './BIP44Node'; +import type { SLIP10Path } from './constants'; import { BIP_32_PATH_REGEX, BIP_39_PATH_REGEX, MIN_BIP_44_DEPTH, - SLIP10Path, SLIP_10_PATH_REGEX, } from './constants'; -import { getCurveByName, SupportedCurve } from './curves'; -import { Deriver, derivers } from './derivers'; +import type { SupportedCurve } from './curves'; +import { getCurveByName } from './curves'; +import type { Deriver } from './derivers'; +import { derivers } from './derivers'; import { SLIP10Node } from './SLIP10Node'; /** diff --git a/src/derivers/bip32.test.ts b/src/derivers/bip32.test.ts index e6b0b7ee..1ca6b427 100644 --- a/src/derivers/bip32.test.ts +++ b/src/derivers/bip32.test.ts @@ -1,16 +1,16 @@ import { bytesToHex, hexToBytes } from '@metamask/utils'; -import fixtures from '../../test/fixtures'; -import { BIP_32_HARDENED_OFFSET } from '../constants'; -import { ed25519, secp256k1 } from '../curves'; -import { SLIP10Node } from '../SLIP10Node'; -import { hexStringToBytes } from '../utils'; import { deriveChildKey, privateKeyToEthAddress, publicKeyToEthAddress, } from './bip32'; import { bip39MnemonicToMultipath, createBip39KeyFromSeed } from './bip39'; +import fixtures from '../../test/fixtures'; +import { BIP_32_HARDENED_OFFSET } from '../constants'; +import { ed25519, secp256k1 } from '../curves'; +import { SLIP10Node } from '../SLIP10Node'; +import { hexStringToBytes } from '../utils'; describe('deriveChildKey', () => { it('handles deriving invalid private keys', async () => { diff --git a/src/derivers/bip32.ts b/src/derivers/bip32.ts index 853e7ac7..30633ef1 100755 --- a/src/derivers/bip32.ts +++ b/src/derivers/bip32.ts @@ -1,18 +1,18 @@ import { assert } from '@metamask/utils'; import { keccak_256 as keccak256 } from '@noble/hashes/sha3'; -import { DeriveChildKeyArgs } from '.'; -import { BYTES_KEY_LENGTH } from '../constants'; -import { secp256k1 } from '../curves'; -import { SLIP10Node } from '../SLIP10Node'; -import { isValidBytesKey, validateBIP32Index } from '../utils'; +import type { DeriveChildKeyArgs } from '.'; +import type { DeriveNodeArgs } from './shared'; import { - DeriveNodeArgs, deriveChildKey as sharedDeriveChildKey, deriveSecretExtension, generateEntropy, derivePublicExtension, } from './shared'; +import { BYTES_KEY_LENGTH } from '../constants'; +import { secp256k1 } from '../curves'; +import type { SLIP10Node } from '../SLIP10Node'; +import { isValidBytesKey, validateBIP32Index } from '../utils'; /** * Converts a BIP-32 private key to an Ethereum address. diff --git a/src/derivers/bip39.test.ts b/src/derivers/bip39.test.ts index b2455cf8..4832f5bd 100644 --- a/src/derivers/bip39.test.ts +++ b/src/derivers/bip39.test.ts @@ -6,8 +6,8 @@ import { } from '@metamask/utils'; import * as hmacModule from '@noble/hashes/hmac'; -import { secp256k1 } from '../curves'; import { createBip39KeyFromSeed } from './bip39'; +import { secp256k1 } from '../curves'; describe('createBip39KeyFromSeed', () => { const RANDOM_SEED = hexToBytes( diff --git a/src/derivers/bip39.ts b/src/derivers/bip39.ts index 3e3f9fe0..57b04ddc 100755 --- a/src/derivers/bip39.ts +++ b/src/derivers/bip39.ts @@ -4,9 +4,10 @@ import { assert } from '@metamask/utils'; import { hmac } from '@noble/hashes/hmac'; import { sha512 } from '@noble/hashes/sha512'; -import { DeriveChildKeyArgs } from '.'; -import { BIP39StringNode, BYTES_KEY_LENGTH } from '../constants'; -import { Curve } from '../curves'; +import type { DeriveChildKeyArgs } from '.'; +import type { BIP39StringNode } from '../constants'; +import { BYTES_KEY_LENGTH } from '../constants'; +import type { Curve } from '../curves'; import { SLIP10Node } from '../SLIP10Node'; import { getFingerprint } from '../utils'; diff --git a/src/derivers/index.ts b/src/derivers/index.ts index d550a564..f206faff 100644 --- a/src/derivers/index.ts +++ b/src/derivers/index.ts @@ -1,8 +1,8 @@ -import { Curve } from '../curves'; -import { SLIP10Node } from '../SLIP10Node'; import * as bip32 from './bip32'; import * as bip39 from './bip39'; import * as slip10 from './slip10'; +import type { Curve } from '../curves'; +import type { SLIP10Node } from '../SLIP10Node'; export type DerivedKeys = { /** diff --git a/src/derivers/shared.test.ts b/src/derivers/shared.test.ts index fa07d027..d3b8deec 100644 --- a/src/derivers/shared.test.ts +++ b/src/derivers/shared.test.ts @@ -1,10 +1,10 @@ import { hexToBytes } from '@metamask/utils'; import { CURVE } from '@noble/secp256k1'; +import { privateAdd } from './shared'; import fixtures from '../../test/fixtures'; import { secp256k1 } from '../curves'; import { hexStringToBytes } from '../utils'; -import { privateAdd } from './shared'; describe('privateAdd', () => { const PRIVATE_KEY = hexStringToBytes( diff --git a/src/derivers/shared.ts b/src/derivers/shared.ts index 32f8174f..8635da00 100644 --- a/src/derivers/shared.ts +++ b/src/derivers/shared.ts @@ -7,9 +7,10 @@ import { import { hmac } from '@noble/hashes/hmac'; import { sha512 } from '@noble/hashes/sha512'; -import { DeriveChildKeyArgs, DerivedKeys } from '.'; +import type { DeriveChildKeyArgs, DerivedKeys } from '.'; import { BIP_32_HARDENED_OFFSET, UNPREFIXED_PATH_REGEX } from '../constants'; -import { Curve, mod } from '../curves'; +import type { Curve } from '../curves'; +import { mod } from '../curves'; import { SLIP10Node } from '../SLIP10Node'; import { isValidBytesKey, numberToUint32 } from '../utils'; diff --git a/src/derivers/slip10.test.ts b/src/derivers/slip10.test.ts index 3f2eaf7e..e02f3de5 100644 --- a/src/derivers/slip10.test.ts +++ b/src/derivers/slip10.test.ts @@ -1,11 +1,11 @@ import { hexToBytes } from '@metamask/utils'; +import { bip39MnemonicToMultipath, createBip39KeyFromSeed } from './bip39'; +import { deriveChildKey } from './slip10'; import fixtures from '../../test/fixtures'; import { BIP_32_HARDENED_OFFSET } from '../constants'; import { ed25519, secp256k1 } from '../curves'; import { SLIP10Node } from '../SLIP10Node'; -import { bip39MnemonicToMultipath, createBip39KeyFromSeed } from './bip39'; -import { deriveChildKey } from './slip10'; describe('deriveChildKey', () => { it('handles deriving invalid private keys', async () => { diff --git a/src/derivers/slip10.ts b/src/derivers/slip10.ts index b8c90811..c3b20a7c 100755 --- a/src/derivers/slip10.ts +++ b/src/derivers/slip10.ts @@ -1,14 +1,14 @@ import { concatBytes } from '@metamask/utils'; -import { DeriveChildKeyArgs } from '.'; -import { BIP_32_HARDENED_OFFSET } from '../constants'; -import { SLIP10Node } from '../SLIP10Node'; -import { numberToUint32 } from '../utils'; +import type { DeriveChildKeyArgs } from '.'; +import type { DeriveNodeArgs } from './shared'; import { - DeriveNodeArgs, generateEntropy, deriveChildKey as sharedDeriveChildKey, } from './shared'; +import { BIP_32_HARDENED_OFFSET } from '../constants'; +import type { SLIP10Node } from '../SLIP10Node'; +import { numberToUint32 } from '../utils'; /** * Derive a SLIP-10 child key with a given path from a parent key. diff --git a/src/extended-keys.test.ts b/src/extended-keys.test.ts index 29dba652..75a9a8ad 100644 --- a/src/extended-keys.test.ts +++ b/src/extended-keys.test.ts @@ -1,9 +1,9 @@ import { hexToBytes } from '@metamask/utils'; +import type { ExtendedKey } from './extended-keys'; import { decodeExtendedKey, encodeExtendedKey, - ExtendedKey, PRIVATE_KEY_VERSION, PUBLIC_KEY_VERSION, } from './extended-keys'; diff --git a/src/utils.test.ts b/src/utils.test.ts index 461c18c9..ec52f359 100644 --- a/src/utils.test.ts +++ b/src/utils.test.ts @@ -2,7 +2,6 @@ import { mnemonicToSeed } from '@metamask/scure-bip39'; import { wordlist } from '@metamask/scure-bip39/dist/wordlists/english'; import { hexToBytes, stringToBytes } from '@metamask/utils'; -import fixtures from '../test/fixtures'; import { BIP44Node } from './BIP44Node'; import { getBIP32NodeToken, @@ -25,6 +24,7 @@ import { getBytesUnsafe, isValidBIP32PathSegment, } from './utils'; +import fixtures from '../test/fixtures'; // Inputs used for testing non-negative integers const inputs = [-1, 1.1, NaN, {}, null, undefined] as number[]; diff --git a/src/utils.ts b/src/utils.ts index 4d9c151b..ae47ecf2 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -4,20 +4,23 @@ import { ripemd160 } from '@noble/hashes/ripemd160'; import { sha256 } from '@noble/hashes/sha256'; import { base58check as scureBase58check } from '@scure/base'; -import { +import type { BIP32Node, - BIP44PurposeNodeToken, ChangeHDPathString, CoinTypeHDPathString, CoinTypeToAddressTuple, HardenedBIP32Node, + UnhardenedBIP32Node, + UnprefixedNode, +} from './constants'; +import { + BIP44PurposeNodeToken, MAX_BIP_32_INDEX, MAX_UNHARDENED_BIP_32_INDEX, - UnhardenedBIP32Node, UNPREFIXED_BIP_32_PATH_REGEX, - UnprefixedNode, } from './constants'; -import { curves, SupportedCurve } from './curves'; +import type { SupportedCurve } from './curves'; +import { curves } from './curves'; /** * Gets a string representation of a BIP-44 path of depth 2, i.e.: diff --git a/test/reference-implementations.test.ts b/test/reference-implementations.test.ts index a3927a56..2bf410bd 100644 --- a/test/reference-implementations.test.ts +++ b/test/reference-implementations.test.ts @@ -1,9 +1,6 @@ -import { - BIP44Node, - SLIP10Node, - BIP44PurposeNodeToken, - HDPathTuple, -} from '../src'; +import fixtures from './fixtures'; +import type { SLIP10Node, HDPathTuple } from '../src'; +import { BIP44Node, BIP44PurposeNodeToken } from '../src'; import { ed25519, secp256k1 } from '../src/curves'; import { deriveKeyFromPath } from '../src/derivation'; import { createBip39KeyFromSeed } from '../src/derivers/bip39'; @@ -11,7 +8,6 @@ import { getBIP44CoinTypeToAddressPathTuple, hexStringToBytes, } from '../src/utils'; -import fixtures from './fixtures'; describe('reference implementation tests', () => { describe('local', () => { diff --git a/test/vectors.test.ts b/test/vectors.test.ts index d0cf1409..6f8049d1 100644 --- a/test/vectors.test.ts +++ b/test/vectors.test.ts @@ -2,10 +2,12 @@ import { hexToBytes } from '@metamask/utils'; -import { secp256k1, SLIP10PathTuple } from '../src'; -import { Curve, ed25519 } from '../src/curves'; -import { createBip39KeyFromSeed } from '../src/derivers/bip39'; import derivationVectors from './vectors/derivation.json'; +import type { SLIP10PathTuple } from '../src'; +import { secp256k1 } from '../src'; +import type { Curve } from '../src/curves'; +import { ed25519 } from '../src/curves'; +import { createBip39KeyFromSeed } from '../src/derivers/bip39'; type Vector = typeof derivationVectors.bip32.hardened[0]; diff --git a/yarn.lock b/yarn.lock index bf7fc645..c460b59a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,6 +5,13 @@ __metadata: version: 6 cacheKey: 8 +"@aashutoshrathi/word-wrap@npm:^1.2.3": + version: 1.2.6 + resolution: "@aashutoshrathi/word-wrap@npm:1.2.6" + checksum: ada901b9e7c680d190f1d012c84217ce0063d8f5c5a7725bb91ec3c5ed99bb7572680eb2d2938a531ccbaec39a95422fcd8a6b4a13110c7d98dd75402f66a0cd + languageName: node + linkType: hard + "@ampproject/remapping@npm:^2.2.0": version: 2.2.1 resolution: "@ampproject/remapping@npm:2.2.1" @@ -473,20 +480,27 @@ __metadata: languageName: node linkType: hard -"@eslint/eslintrc@npm:^1.3.3": - version: 1.3.3 - resolution: "@eslint/eslintrc@npm:1.3.3" +"@eslint/eslintrc@npm:^2.1.0": + version: 2.1.0 + resolution: "@eslint/eslintrc@npm:2.1.0" dependencies: ajv: ^6.12.4 debug: ^4.3.2 - espree: ^9.4.0 - globals: ^13.15.0 + espree: ^9.6.0 + globals: ^13.19.0 ignore: ^5.2.0 import-fresh: ^3.2.1 js-yaml: ^4.1.0 minimatch: ^3.1.2 strip-json-comments: ^3.1.1 - checksum: f03e9d6727efd3e0719da2051ea80c0c73d20e28c171121527dbb868cd34232ca9c1d0525a66e517a404afea26624b1e47895b6a92474678418c2f50c9566694 + checksum: d5ed0adbe23f6571d8c9bb0ca6edf7618dc6aed4046aa56df7139f65ae7b578874e0d9c796df784c25bda648ceb754b6320277d828c8b004876d7443b8dc018c + languageName: node + linkType: hard + +"@eslint/js@npm:8.44.0": + version: 8.44.0 + resolution: "@eslint/js@npm:8.44.0" + checksum: fc539583226a28f5677356e9f00d2789c34253f076643d2e32888250e509a4e13aafe0880cb2425139051de0f3a48d25bfc5afa96b7304f203b706c17340e3cf languageName: node linkType: hard @@ -546,14 +560,14 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/config-array@npm:^0.11.6": - version: 0.11.7 - resolution: "@humanwhocodes/config-array@npm:0.11.7" +"@humanwhocodes/config-array@npm:^0.11.10": + version: 0.11.10 + resolution: "@humanwhocodes/config-array@npm:0.11.10" dependencies: "@humanwhocodes/object-schema": ^1.2.1 debug: ^4.1.1 minimatch: ^3.0.5 - checksum: cf506dc45d9488af7fbf108ea6ac2151ba1a25e6d2b94b9b4fc36d2c1e4099b89ff560296dbfa13947e44604d4ca4a90d97a4fb167370bf8dd01a6ca2b6d83ac + checksum: 1b1302e2403d0e35bc43e66d67a2b36b0ad1119efc704b5faff68c41f791a052355b010fb2d27ef022670f550de24cd6d08d5ecf0821c16326b7dcd0ee5d5d8a languageName: node linkType: hard @@ -980,52 +994,53 @@ __metadata: languageName: node linkType: hard -"@metamask/eslint-config-jest@npm:^11.0.0": - version: 11.1.0 - resolution: "@metamask/eslint-config-jest@npm:11.1.0" +"@metamask/eslint-config-jest@npm:^12.0.0": + version: 12.1.0 + resolution: "@metamask/eslint-config-jest@npm:12.1.0" peerDependencies: - "@metamask/eslint-config": ^11.0.0 + "@metamask/eslint-config": ^12.0.0 eslint: ^8.27.0 eslint-plugin-jest: ^27.1.5 - checksum: a649cf317327532d0d18795ac3bc74766e649e821ca3130dac288b16d5243ae72b5bda4eb85c678f1b4f9c073904ac6162b740c237b67921e64ce4f40c6ceb77 + checksum: 98f60234412051d429237dbf32b147a648a0e3b6adacafda24999ec9eb8096155c8000c62204415100c97980cc3bfe0a0fe19e4c318b8bb529eaf57e9f96e680 languageName: node linkType: hard -"@metamask/eslint-config-nodejs@npm:^11.0.1": - version: 11.1.0 - resolution: "@metamask/eslint-config-nodejs@npm:11.1.0" +"@metamask/eslint-config-nodejs@npm:^12.0.0": + version: 12.1.0 + resolution: "@metamask/eslint-config-nodejs@npm:12.1.0" peerDependencies: - "@metamask/eslint-config": ^11.0.0 + "@metamask/eslint-config": ^12.0.0 eslint: ^8.27.0 - eslint-plugin-node: ^11.1.0 - checksum: f672fc4a3269c55ec6189caf4fe1a4d94f375ebd4c72d479530bc561d6afc642999b055ff795398f6ad77e9e7f217baa44499699f3301e149ace316dc3cba861 + eslint-plugin-n: ^15.7.0 + checksum: f4387ba5b0a5173197b960dc59b8e29b7ef02754107b61c3af98f505397048717bd8ba5f9d09555740886c968fc0898520c26899268886f1967bc80f93c26919 languageName: node linkType: hard -"@metamask/eslint-config-typescript@npm:^11.0.0": - version: 11.1.0 - resolution: "@metamask/eslint-config-typescript@npm:11.1.0" +"@metamask/eslint-config-typescript@npm:^12.0.0": + version: 12.1.0 + resolution: "@metamask/eslint-config-typescript@npm:12.1.0" peerDependencies: - "@metamask/eslint-config": ^11.0.0 + "@metamask/eslint-config": ^12.0.0 "@typescript-eslint/eslint-plugin": ^5.42.1 "@typescript-eslint/parser": ^5.42.1 eslint: ^8.27.0 - typescript: ~4.8.4 - checksum: 86f20303730fce7a2d6944d133e3d4cf745816bdc202fd17ebd341e4937777c662e80b3c1496a8da7d5e06e39518dec3206c4a4e872d9491f423e792bcdf56db + typescript: ~4.8.4 || ~5.0 || ~5.1 + checksum: a854574e4c2ca7b036d0a2a454aecb93ba538d1b92c1615878dfe06a14972df6af2fcdd5e2911ef369b3b2eeb04b8c6879bd037c618a35f6cb98950cdab84d50 languageName: node linkType: hard -"@metamask/eslint-config@npm:^11.0.1": - version: 11.1.0 - resolution: "@metamask/eslint-config@npm:11.1.0" +"@metamask/eslint-config@npm:^12.0.0": + version: 12.1.0 + resolution: "@metamask/eslint-config@npm:12.1.0" peerDependencies: eslint: ^8.27.0 eslint-config-prettier: ^8.5.0 - eslint-plugin-import: ^2.26.0 - eslint-plugin-jsdoc: ^39.6.2 + eslint-plugin-import: ^2.27.5 + eslint-plugin-jsdoc: ^39.6.2 || ^41 eslint-plugin-prettier: ^4.2.1 + eslint-plugin-promise: ^6.1.1 prettier: ^2.7.1 - checksum: 2345eb03821d80d605d60c393a3249b322ae32cee87497b338d81cc723d28d87d44adec92ba657fdc83e7df8599ec9eed06f1ad78f0febd13c318fb5a5ba2a7a + checksum: 03f11538241f82eadb0a61e35c4f1ed3bddc40599188f7af5ee2a1eca0ea6dc9a9e2b5096f59071a41a1a3ceb1ecccff14936ea0712dd20ad0ea66e57080b2a7 languageName: node linkType: hard @@ -1036,10 +1051,10 @@ __metadata: "@lavamoat/allow-scripts": ^2.3.1 "@lavamoat/preinstall-always-fail": ^1.0.0 "@metamask/auto-changelog": ^3.1.0 - "@metamask/eslint-config": ^11.0.1 - "@metamask/eslint-config-jest": ^11.0.0 - "@metamask/eslint-config-nodejs": ^11.0.1 - "@metamask/eslint-config-typescript": ^11.0.0 + "@metamask/eslint-config": ^12.0.0 + "@metamask/eslint-config-jest": ^12.0.0 + "@metamask/eslint-config-nodejs": ^12.0.0 + "@metamask/eslint-config-typescript": ^12.0.0 "@metamask/scure-bip39": ^2.1.0 "@metamask/utils": ^6.0.1 "@noble/ed25519": ^1.6.0 @@ -1053,13 +1068,14 @@ __metadata: "@typescript-eslint/eslint-plugin": ^5.43.0 "@typescript-eslint/parser": ^5.43.0 depcheck: ^1.4.3 - eslint: ^8.27.0 - eslint-config-prettier: ^8.5.0 - eslint-plugin-import: ^2.26.0 - eslint-plugin-jest: ^27.1.5 - eslint-plugin-jsdoc: ^39.6.2 - eslint-plugin-node: ^11.1.0 + eslint: ^8.44.0 + eslint-config-prettier: ^8.8.0 + eslint-plugin-import: ^2.27.5 + eslint-plugin-jest: ^27.2.2 + eslint-plugin-jsdoc: ^39.9.1 + eslint-plugin-n: ^15.7.0 eslint-plugin-prettier: ^4.2.1 + eslint-plugin-promise: ^6.1.1 jest: ^28.1.3 jest-it-up: ^2.0.2 prettier: ^2.7.1 @@ -1951,12 +1967,12 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.4.1, acorn@npm:^8.8.0": - version: 8.8.2 - resolution: "acorn@npm:8.8.2" +"acorn@npm:^8.4.1, acorn@npm:^8.9.0": + version: 8.10.0 + resolution: "acorn@npm:8.10.0" bin: acorn: bin/acorn - checksum: f790b99a1bf63ef160c967e23c46feea7787e531292bb827126334612c234ed489a0dc2c7ba33156416f0ffa8d25bf2b0fdb7f35c2ba60eb3e960572bece4001 + checksum: 538ba38af0cc9e5ef983aee196c4b8b4d87c0c94532334fa7e065b2c8a1f85863467bb774231aae91613fcda5e68740c15d97b1967ae3394d20faddddd8af61d languageName: node linkType: hard @@ -2121,6 +2137,16 @@ __metadata: languageName: node linkType: hard +"array-buffer-byte-length@npm:^1.0.0": + version: 1.0.0 + resolution: "array-buffer-byte-length@npm:1.0.0" + dependencies: + call-bind: ^1.0.2 + is-array-buffer: ^3.0.1 + checksum: 044e101ce150f4804ad19c51d6c4d4cfa505c5b2577bd179256e4aa3f3f6a0a5e9874c78cd428ee566ac574c8a04d7ce21af9fe52e844abfdccb82b33035a7c3 + languageName: node + linkType: hard + "array-differ@npm:^3.0.0": version: 3.0.0 resolution: "array-differ@npm:3.0.0" @@ -2128,16 +2154,16 @@ __metadata: languageName: node linkType: hard -"array-includes@npm:^3.1.4": - version: 3.1.5 - resolution: "array-includes@npm:3.1.5" +"array-includes@npm:^3.1.6": + version: 3.1.6 + resolution: "array-includes@npm:3.1.6" dependencies: call-bind: ^1.0.2 define-properties: ^1.1.4 - es-abstract: ^1.19.5 - get-intrinsic: ^1.1.1 + es-abstract: ^1.20.4 + get-intrinsic: ^1.1.3 is-string: ^1.0.7 - checksum: f6f24d834179604656b7bec3e047251d5cc87e9e87fab7c175c61af48e80e75acd296017abcde21fb52292ab6a2a449ab2ee37213ee48c8709f004d75983f9c5 + checksum: f22f8cd8ba8a6448d91eebdc69f04e4e55085d09232b5216ee2d476dab3ef59984e8d1889e662c6a0ed939dcb1b57fd05b2c0209c3370942fc41b752c82a2ca5 languageName: node linkType: hard @@ -2148,15 +2174,27 @@ __metadata: languageName: node linkType: hard -"array.prototype.flat@npm:^1.2.5": - version: 1.3.0 - resolution: "array.prototype.flat@npm:1.3.0" +"array.prototype.flat@npm:^1.3.1": + version: 1.3.1 + resolution: "array.prototype.flat@npm:1.3.1" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.3 - es-abstract: ^1.19.2 + define-properties: ^1.1.4 + es-abstract: ^1.20.4 es-shim-unscopables: ^1.0.0 - checksum: 2a652b3e8dc0bebb6117e42a5ab5738af0203a14c27341d7bb2431467bdb4b348e2c5dc555dfcda8af0a5e4075c400b85311ded73861c87290a71a17c3e0a257 + checksum: 5a8415949df79bf6e01afd7e8839bbde5a3581300e8ad5d8449dea52639e9e59b26a467665622783697917b43bf39940a6e621877c7dd9b3d1c1f97484b9b88b + languageName: node + linkType: hard + +"array.prototype.flatmap@npm:^1.3.1": + version: 1.3.1 + resolution: "array.prototype.flatmap@npm:1.3.1" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.4 + es-abstract: ^1.20.4 + es-shim-unscopables: ^1.0.0 + checksum: 8c1c43a4995f12cf12523436da28515184c753807b3f0bc2ca6c075f71c470b099e2090cc67dba8e5280958fea401c1d0c59e1db0143272aef6cd1103921a987 languageName: node linkType: hard @@ -2167,6 +2205,13 @@ __metadata: languageName: node linkType: hard +"available-typed-arrays@npm:^1.0.5": + version: 1.0.5 + resolution: "available-typed-arrays@npm:1.0.5" + checksum: 20eb47b3cefd7db027b9bbb993c658abd36d4edd3fe1060e83699a03ee275b0c9b216cc076ff3f2db29073225fb70e7613987af14269ac1fe2a19803ccc97f1a + languageName: node + linkType: hard + "babel-jest@npm:^28.1.3": version: 28.1.3 resolution: "babel-jest@npm:28.1.3" @@ -2383,6 +2428,15 @@ __metadata: languageName: node linkType: hard +"builtins@npm:^5.0.1": + version: 5.0.1 + resolution: "builtins@npm:5.0.1" + dependencies: + semver: ^7.0.0 + checksum: 66d204657fe36522822a95b288943ad11b58f5eaede235b11d8c4edaa28ce4800087d44a2681524c340494aadb120a0068011acabe99d30e8f11a7d826d83515 + languageName: node + linkType: hard + "bundle-name@npm:^3.0.0": version: 3.0.0 resolution: "bundle-name@npm:3.0.0" @@ -2796,15 +2850,6 @@ __metadata: languageName: node linkType: hard -"debug@npm:^2.6.9": - version: 2.6.9 - resolution: "debug@npm:2.6.9" - dependencies: - ms: 2.0.0 - checksum: d2f51589ca66df60bf36e1fa6e4386b318c3f1e06772280eea5b1ae9fd3d05e9c2b7fd8a7d862457d00853c75b00451aa2d7459b924629ee385287a650f58fe6 - languageName: node - linkType: hard - "debug@npm:^3.2.7": version: 3.2.7 resolution: "debug@npm:3.2.7" @@ -2880,13 +2925,13 @@ __metadata: languageName: node linkType: hard -"define-properties@npm:^1.1.3, define-properties@npm:^1.1.4": - version: 1.1.4 - resolution: "define-properties@npm:1.1.4" +"define-properties@npm:^1.1.3, define-properties@npm:^1.1.4, define-properties@npm:^1.2.0": + version: 1.2.0 + resolution: "define-properties@npm:1.2.0" dependencies: has-property-descriptors: ^1.0.0 object-keys: ^1.1.1 - checksum: ce0aef3f9eb193562b5cfb79b2d2c86b6a109dfc9fdcb5f45d680631a1a908c06824ddcdb72b7573b54e26ace07f0a23420aaba0d5c627b34d2c1de8ef527e2b + checksum: e60aee6a19b102df4e2b1f301816804e81ab48bb91f00d0d935f269bf4b3f79c88b39e4f89eaa132890d23267335fd1140dfcd8d5ccd61031a0a2c41a54e33a6 languageName: node linkType: hard @@ -3089,34 +3134,57 @@ __metadata: languageName: node linkType: hard -"es-abstract@npm:^1.19.0, es-abstract@npm:^1.19.1, es-abstract@npm:^1.19.2, es-abstract@npm:^1.19.5": - version: 1.20.2 - resolution: "es-abstract@npm:1.20.2" +"es-abstract@npm:^1.19.0, es-abstract@npm:^1.20.4": + version: 1.21.3 + resolution: "es-abstract@npm:1.21.3" dependencies: + array-buffer-byte-length: ^1.0.0 + available-typed-arrays: ^1.0.5 call-bind: ^1.0.2 + es-set-tostringtag: ^2.0.1 es-to-primitive: ^1.2.1 - function-bind: ^1.1.1 function.prototype.name: ^1.1.5 - get-intrinsic: ^1.1.2 + get-intrinsic: ^1.2.1 get-symbol-description: ^1.0.0 + globalthis: ^1.0.3 + gopd: ^1.0.1 has: ^1.0.3 has-property-descriptors: ^1.0.0 + has-proto: ^1.0.1 has-symbols: ^1.0.3 - internal-slot: ^1.0.3 - is-callable: ^1.2.4 + internal-slot: ^1.0.5 + is-array-buffer: ^3.0.2 + is-callable: ^1.2.7 is-negative-zero: ^2.0.2 is-regex: ^1.1.4 is-shared-array-buffer: ^1.0.2 is-string: ^1.0.7 + is-typed-array: ^1.1.10 is-weakref: ^1.0.2 - object-inspect: ^1.12.2 + object-inspect: ^1.12.3 object-keys: ^1.1.1 object.assign: ^4.1.4 - regexp.prototype.flags: ^1.4.3 - string.prototype.trimend: ^1.0.5 - string.prototype.trimstart: ^1.0.5 + regexp.prototype.flags: ^1.5.0 + safe-regex-test: ^1.0.0 + string.prototype.trim: ^1.2.7 + string.prototype.trimend: ^1.0.6 + string.prototype.trimstart: ^1.0.6 + typed-array-byte-offset: ^1.0.0 + typed-array-length: ^1.0.4 unbox-primitive: ^1.0.2 - checksum: ab893dd1f849250f5a2da82656b4e21b511f76429b25a4aea5c8b2a3007ff01cb8e112987d0dd7693b9ad9e6399f8f7be133285d6196a5ebd1b13a4ee2258f70 + which-typed-array: ^1.1.10 + checksum: 4c5ee900699030a629fc224a3595dcd05f9ff31d607e72bc9042d15e3b1bfde99f408c940b622e96439e755a7b23a3b9e47f3be234015750d32dad38b8f772f4 + languageName: node + linkType: hard + +"es-set-tostringtag@npm:^2.0.1": + version: 2.0.1 + resolution: "es-set-tostringtag@npm:2.0.1" + dependencies: + get-intrinsic: ^1.1.3 + has: ^1.0.3 + has-tostringtag: ^1.0.0 + checksum: ec416a12948cefb4b2a5932e62093a7cf36ddc3efd58d6c58ca7ae7064475ace556434b869b0bbeb0c365f1032a8ccd577211101234b69837ad83ad204fff884 languageName: node linkType: hard @@ -3175,94 +3243,98 @@ __metadata: languageName: node linkType: hard -"eslint-config-prettier@npm:^8.5.0": - version: 8.5.0 - resolution: "eslint-config-prettier@npm:8.5.0" +"eslint-config-prettier@npm:^8.8.0": + version: 8.8.0 + resolution: "eslint-config-prettier@npm:8.8.0" peerDependencies: eslint: ">=7.0.0" bin: eslint-config-prettier: bin/cli.js - checksum: 0d0f5c32e7a0ad91249467ce71ca92394ccd343178277d318baf32063b79ea90216f4c81d1065d60f96366fdc60f151d4d68ae7811a58bd37228b84c2083f893 + checksum: 1e94c3882c4d5e41e1dcfa2c368dbccbfe3134f6ac7d40101644d3bfbe3eb2f2ffac757f3145910b5eacf20c0e85e02b91293d3126d770cbf3dc390b3564681c languageName: node linkType: hard -"eslint-import-resolver-node@npm:^0.3.6": - version: 0.3.6 - resolution: "eslint-import-resolver-node@npm:0.3.6" +"eslint-import-resolver-node@npm:^0.3.7": + version: 0.3.7 + resolution: "eslint-import-resolver-node@npm:0.3.7" dependencies: debug: ^3.2.7 - resolve: ^1.20.0 - checksum: 6266733af1e112970e855a5bcc2d2058fb5ae16ad2a6d400705a86b29552b36131ffc5581b744c23d550de844206fb55e9193691619ee4dbf225c4bde526b1c8 + is-core-module: ^2.11.0 + resolve: ^1.22.1 + checksum: 3379aacf1d2c6952c1b9666c6fa5982c3023df695430b0d391c0029f6403a7775414873d90f397e98ba6245372b6c8960e16e74d9e4a3b0c0a4582f3bdbe3d6e languageName: node linkType: hard -"eslint-module-utils@npm:^2.7.3": - version: 2.7.4 - resolution: "eslint-module-utils@npm:2.7.4" +"eslint-module-utils@npm:^2.7.4": + version: 2.8.0 + resolution: "eslint-module-utils@npm:2.8.0" dependencies: debug: ^3.2.7 peerDependenciesMeta: eslint: optional: true - checksum: 5da13645daff145a5c922896b258f8bba560722c3767254e458d894ff5fbb505d6dfd945bffa932a5b0ae06714da2379bd41011c4c20d2d59cc83e23895360f7 + checksum: 74c6dfea7641ebcfe174be61168541a11a14aa8d72e515f5f09af55cd0d0862686104b0524aa4b8e0ce66418a44aa38a94d2588743db5fd07a6b49ffd16921d2 languageName: node linkType: hard -"eslint-plugin-es@npm:^3.0.0": - version: 3.0.1 - resolution: "eslint-plugin-es@npm:3.0.1" +"eslint-plugin-es@npm:^4.1.0": + version: 4.1.0 + resolution: "eslint-plugin-es@npm:4.1.0" dependencies: eslint-utils: ^2.0.0 regexpp: ^3.0.0 peerDependencies: eslint: ">=4.19.1" - checksum: e57592c52301ee8ddc296ae44216df007f3a870bcb3be8d1fbdb909a1d3a3efe3fa3785de02066f9eba1d6466b722d3eb3cc3f8b75b3cf6a1cbded31ac6298e4 + checksum: 26b87a216d3625612b1d3ca8653ac8a1d261046d2a973bb0eb2759070267d2bfb0509051facdeb5ae03dc8dfb51a434be23aff7309a752ca901d637da535677f languageName: node linkType: hard -"eslint-plugin-import@npm:^2.26.0": - version: 2.26.0 - resolution: "eslint-plugin-import@npm:2.26.0" +"eslint-plugin-import@npm:^2.27.5": + version: 2.27.5 + resolution: "eslint-plugin-import@npm:2.27.5" dependencies: - array-includes: ^3.1.4 - array.prototype.flat: ^1.2.5 - debug: ^2.6.9 + array-includes: ^3.1.6 + array.prototype.flat: ^1.3.1 + array.prototype.flatmap: ^1.3.1 + debug: ^3.2.7 doctrine: ^2.1.0 - eslint-import-resolver-node: ^0.3.6 - eslint-module-utils: ^2.7.3 + eslint-import-resolver-node: ^0.3.7 + eslint-module-utils: ^2.7.4 has: ^1.0.3 - is-core-module: ^2.8.1 + is-core-module: ^2.11.0 is-glob: ^4.0.3 minimatch: ^3.1.2 - object.values: ^1.1.5 - resolve: ^1.22.0 + object.values: ^1.1.6 + resolve: ^1.22.1 + semver: ^6.3.0 tsconfig-paths: ^3.14.1 peerDependencies: eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - checksum: 0bf77ad80339554481eafa2b1967449e1f816b94c7a6f9614ce33fb4083c4e6c050f10d241dd50b4975d47922880a34de1e42ea9d8e6fd663ebb768baa67e655 + checksum: f500571a380167e25d72a4d925ef9a7aae8899eada57653e5f3051ec3d3c16d08271fcefe41a30a9a2f4fefc232f066253673ee4ea77b30dba65ae173dade85d languageName: node linkType: hard -"eslint-plugin-jest@npm:^27.1.5": - version: 27.1.6 - resolution: "eslint-plugin-jest@npm:27.1.6" +"eslint-plugin-jest@npm:^27.2.2": + version: 27.2.3 + resolution: "eslint-plugin-jest@npm:27.2.3" dependencies: "@typescript-eslint/utils": ^5.10.0 peerDependencies: - "@typescript-eslint/eslint-plugin": ^5.0.0 + "@typescript-eslint/eslint-plugin": ^5.0.0 || ^6.0.0 eslint: ^7.0.0 || ^8.0.0 + jest: "*" peerDependenciesMeta: "@typescript-eslint/eslint-plugin": optional: true jest: optional: true - checksum: 5b1640b5d575f0d5e27da8ef8cb3110a29f94ebd50ae51edc5ea34c1054f5dcf305416865b2919ac424bc02c4569848bbe7fd2c86e7e1aff23e77f1ff9ef7dfd + checksum: 4c7e07f52f17749ac6fd0ff5fcd5ce30b88983ba31eeee322e4d48859f55eaa112f06172e586ad2031c00ff28bb2dfdc3d35c83895251b9c0e860fa47dfc5ff4 languageName: node linkType: hard -"eslint-plugin-jsdoc@npm:^39.6.2": - version: 39.6.4 - resolution: "eslint-plugin-jsdoc@npm:39.6.4" +"eslint-plugin-jsdoc@npm:^39.9.1": + version: 39.9.1 + resolution: "eslint-plugin-jsdoc@npm:39.9.1" dependencies: "@es-joy/jsdoccomment": ~0.36.1 comment-parser: 1.3.1 @@ -3273,23 +3345,25 @@ __metadata: spdx-expression-parse: ^3.0.1 peerDependencies: eslint: ^7.0.0 || ^8.0.0 - checksum: 2976112ae997b9f246eba98d849359a0df46ea07c0a9d6d90c3b76a29c253b9e92d1d46d6cf86f878e442653b97591e5ea01d05a6accdb078339c39e8767723e + checksum: 757444505eabff5bd24ded18fd1a2920031520ba251c84944dd5c12dd2b21460fde6aa6253e454518386c3d7a0fa64f2496e3ba27bd338ec7768cb090ae86cca languageName: node linkType: hard -"eslint-plugin-node@npm:^11.1.0": - version: 11.1.0 - resolution: "eslint-plugin-node@npm:11.1.0" +"eslint-plugin-n@npm:^15.7.0": + version: 15.7.0 + resolution: "eslint-plugin-n@npm:15.7.0" dependencies: - eslint-plugin-es: ^3.0.0 - eslint-utils: ^2.0.0 + builtins: ^5.0.1 + eslint-plugin-es: ^4.1.0 + eslint-utils: ^3.0.0 ignore: ^5.1.1 - minimatch: ^3.0.4 - resolve: ^1.10.1 - semver: ^6.1.0 + is-core-module: ^2.11.0 + minimatch: ^3.1.2 + resolve: ^1.22.1 + semver: ^7.3.8 peerDependencies: - eslint: ">=5.16.0" - checksum: 5804c4f8a6e721f183ef31d46fbe3b4e1265832f352810060e0502aeac7de034df83352fc88643b19641bb2163f2587f1bd4119aff0fd21e8d98c57c450e013b + eslint: ">=7.0.0" + checksum: cfbcc67e62adf27712afdeadf13223cb9717f95d4af8442056d9d4c97a8b88af76b7969f75deaac26fa98481023d6b7c9e43a28909e7f0468f40b3024b7bcfae languageName: node linkType: hard @@ -3308,6 +3382,15 @@ __metadata: languageName: node linkType: hard +"eslint-plugin-promise@npm:^6.1.1": + version: 6.1.1 + resolution: "eslint-plugin-promise@npm:6.1.1" + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + checksum: 46b9a4f79dae5539987922afc27cc17cbccdecf4f0ba19c0ccbf911b0e31853e9f39d9959eefb9637461b52772afa1a482f1f87ff16c1ba38bdb6fcf21897e9a + languageName: node + linkType: hard + "eslint-scope@npm:^5.1.1": version: 5.1.1 resolution: "eslint-scope@npm:5.1.1" @@ -3318,13 +3401,13 @@ __metadata: languageName: node linkType: hard -"eslint-scope@npm:^7.1.1": - version: 7.1.1 - resolution: "eslint-scope@npm:7.1.1" +"eslint-scope@npm:^7.2.0": + version: 7.2.0 + resolution: "eslint-scope@npm:7.2.0" dependencies: esrecurse: ^4.3.0 estraverse: ^5.2.0 - checksum: 9f6e974ab2db641ca8ab13508c405b7b859e72afe9f254e8131ff154d2f40c99ad4545ce326fd9fde3212ff29707102562a4834f1c48617b35d98c71a97fbf3e + checksum: 64591a2d8b244ade9c690b59ef238a11d5c721a98bcee9e9f445454f442d03d3e04eda88e95a4daec558220a99fa384309d9faae3d459bd40e7a81b4063980ae languageName: node linkType: hard @@ -3362,19 +3445,22 @@ __metadata: languageName: node linkType: hard -"eslint-visitor-keys@npm:^3.3.0": - version: 3.3.0 - resolution: "eslint-visitor-keys@npm:3.3.0" - checksum: d59e68a7c5a6d0146526b0eec16ce87fbf97fe46b8281e0d41384224375c4e52f5ffb9e16d48f4ea50785cde93f766b0c898e31ab89978d88b0e1720fbfb7808 +"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1": + version: 3.4.1 + resolution: "eslint-visitor-keys@npm:3.4.1" + checksum: f05121d868202736b97de7d750847a328fcfa8593b031c95ea89425333db59676ac087fa905eba438d0a3c5769632f828187e0c1a0d271832a2153c1d3661c2c languageName: node linkType: hard -"eslint@npm:^8.27.0": - version: 8.29.0 - resolution: "eslint@npm:8.29.0" +"eslint@npm:^8.44.0": + version: 8.44.0 + resolution: "eslint@npm:8.44.0" dependencies: - "@eslint/eslintrc": ^1.3.3 - "@humanwhocodes/config-array": ^0.11.6 + "@eslint-community/eslint-utils": ^4.2.0 + "@eslint-community/regexpp": ^4.4.0 + "@eslint/eslintrc": ^2.1.0 + "@eslint/js": 8.44.0 + "@humanwhocodes/config-array": ^0.11.10 "@humanwhocodes/module-importer": ^1.0.1 "@nodelib/fs.walk": ^1.2.8 ajv: ^6.10.0 @@ -3383,49 +3469,46 @@ __metadata: debug: ^4.3.2 doctrine: ^3.0.0 escape-string-regexp: ^4.0.0 - eslint-scope: ^7.1.1 - eslint-utils: ^3.0.0 - eslint-visitor-keys: ^3.3.0 - espree: ^9.4.0 - esquery: ^1.4.0 + eslint-scope: ^7.2.0 + eslint-visitor-keys: ^3.4.1 + espree: ^9.6.0 + esquery: ^1.4.2 esutils: ^2.0.2 fast-deep-equal: ^3.1.3 file-entry-cache: ^6.0.1 find-up: ^5.0.0 glob-parent: ^6.0.2 - globals: ^13.15.0 - grapheme-splitter: ^1.0.4 + globals: ^13.19.0 + graphemer: ^1.4.0 ignore: ^5.2.0 import-fresh: ^3.0.0 imurmurhash: ^0.1.4 is-glob: ^4.0.0 is-path-inside: ^3.0.3 - js-sdsl: ^4.1.4 js-yaml: ^4.1.0 json-stable-stringify-without-jsonify: ^1.0.1 levn: ^0.4.1 lodash.merge: ^4.6.2 minimatch: ^3.1.2 natural-compare: ^1.4.0 - optionator: ^0.9.1 - regexpp: ^3.2.0 + optionator: ^0.9.3 strip-ansi: ^6.0.1 strip-json-comments: ^3.1.0 text-table: ^0.2.0 bin: eslint: bin/eslint.js - checksum: e05204b05907b82d910983995cb946e0ba62ca514eb2b6791c43f623333b143564a2eee0139909d31c10935c21877d815b1f76dd674a59cb91c471064325c4ab + checksum: d06309ce4aafb9d27d558c8e5e5aa5cba3bbec3ce8ceccbc7d4b7a35f2b67fd40189159155553270e2e6febeb69bd8a3b60d6241c8f5ddc2ef1702ccbd328501 languageName: node linkType: hard -"espree@npm:^9.4.0": - version: 9.4.1 - resolution: "espree@npm:9.4.1" +"espree@npm:^9.6.0": + version: 9.6.0 + resolution: "espree@npm:9.6.0" dependencies: - acorn: ^8.8.0 + acorn: ^8.9.0 acorn-jsx: ^5.3.2 - eslint-visitor-keys: ^3.3.0 - checksum: 4d266b0cf81c7dfe69e542c7df0f246e78d29f5b04dda36e514eb4c7af117ee6cfbd3280e560571ed82ff6c9c3f0003c05b82583fc7a94006db7497c4fe4270e + eslint-visitor-keys: ^3.4.1 + checksum: 1287979510efb052a6a97c73067ea5d0a40701b29adde87bbe2d3eb1667e39ca55e8129e20e2517fed3da570150e7ef470585228459a8f3e3755f45007a1c662 languageName: node linkType: hard @@ -3439,12 +3522,12 @@ __metadata: languageName: node linkType: hard -"esquery@npm:^1.4.0": - version: 1.4.0 - resolution: "esquery@npm:1.4.0" +"esquery@npm:^1.4.0, esquery@npm:^1.4.2": + version: 1.5.0 + resolution: "esquery@npm:1.5.0" dependencies: estraverse: ^5.1.0 - checksum: a0807e17abd7fbe5fbd4fab673038d6d8a50675cdae6b04fbaa520c34581be0c5fa24582990e8acd8854f671dd291c78bb2efb9e0ed5b62f33bac4f9cf820210 + checksum: aefb0d2596c230118656cd4ec7532d447333a410a48834d80ea648b1e7b5c9bc9ed8b5e33a89cb04e487b60d622f44cf5713bf4abed7c97343edefdc84a35900 languageName: node linkType: hard @@ -3753,6 +3836,15 @@ __metadata: languageName: node linkType: hard +"for-each@npm:^0.3.3": + version: 0.3.3 + resolution: "for-each@npm:0.3.3" + dependencies: + is-callable: ^1.1.3 + checksum: 6c48ff2bc63362319c65e2edca4a8e1e3483a2fabc72fbe7feaf8c73db94fc7861bd53bc02c8a66a0c1dd709da6b04eec42e0abdd6b40ce47305ae92a25e5d28 + languageName: node + linkType: hard + "foreground-child@npm:^3.1.0": version: 3.1.1 resolution: "foreground-child@npm:3.1.1" @@ -3826,7 +3918,7 @@ __metadata: languageName: node linkType: hard -"functions-have-names@npm:^1.2.2": +"functions-have-names@npm:^1.2.2, functions-have-names@npm:^1.2.3": version: 1.2.3 resolution: "functions-have-names@npm:1.2.3" checksum: c3f1f5ba20f4e962efb71344ce0a40722163e85bee2101ce25f88214e78182d2d2476aa85ef37950c579eb6cf6ee811c17b3101bb84004bb75655f3e33f3fdb5 @@ -3863,14 +3955,15 @@ __metadata: languageName: node linkType: hard -"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.0, get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.2": - version: 1.1.2 - resolution: "get-intrinsic@npm:1.1.2" +"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.0, get-intrinsic@npm:^1.2.1": + version: 1.2.1 + resolution: "get-intrinsic@npm:1.2.1" dependencies: function-bind: ^1.1.1 has: ^1.0.3 + has-proto: ^1.0.1 has-symbols: ^1.0.3 - checksum: 252f45491f2ba88ebf5b38018020c7cc3279de54b1d67ffb70c0cdf1dfa8ab31cd56467b5d117a8b4275b7a4dde91f86766b163a17a850f036528a7b2faafb2b + checksum: 5b61d88552c24b0cf6fa2d1b3bc5459d7306f699de060d76442cce49a4721f52b8c560a33ab392cf5575b7810277d54ded9d4d39a1ea61855619ebc005aa7e5f languageName: node linkType: hard @@ -3995,12 +4088,21 @@ __metadata: languageName: node linkType: hard -"globals@npm:^13.15.0": - version: 13.18.0 - resolution: "globals@npm:13.18.0" +"globals@npm:^13.19.0": + version: 13.20.0 + resolution: "globals@npm:13.20.0" dependencies: type-fest: ^0.20.2 - checksum: 9fdaa74cfd5d4ac91319662f512c29b11d1d2deb9c8a20d3998097671deba83d195f20730b2345887de3ddab958a6fa68952feed9ae836ee4594a82ace62fdb4 + checksum: ad1ecf914bd051325faad281d02ea2c0b1df5d01bd94d368dcc5513340eac41d14b3c61af325768e3c7f8d44576e72780ec0b6f2d366121f8eec6e03c3a3b97a + languageName: node + linkType: hard + +"globalthis@npm:^1.0.3": + version: 1.0.3 + resolution: "globalthis@npm:1.0.3" + dependencies: + define-properties: ^1.1.3 + checksum: fbd7d760dc464c886d0196166d92e5ffb4c84d0730846d6621a39fbbc068aeeb9c8d1421ad330e94b7bca4bb4ea092f5f21f3d36077812af5d098b4dc006c998 languageName: node linkType: hard @@ -4031,6 +4133,15 @@ __metadata: languageName: node linkType: hard +"gopd@npm:^1.0.1": + version: 1.0.1 + resolution: "gopd@npm:1.0.1" + dependencies: + get-intrinsic: ^1.1.3 + checksum: a5ccfb8806e0917a94e0b3de2af2ea4979c1da920bc381667c260e00e7cafdbe844e2cb9c5bcfef4e5412e8bf73bab837285bc35c7ba73aaaf0134d4583393a6 + languageName: node + linkType: hard + "got@npm:^11.8.5": version: 11.8.6 resolution: "got@npm:11.8.6" @@ -4057,13 +4168,6 @@ __metadata: languageName: node linkType: hard -"grapheme-splitter@npm:^1.0.4": - version: 1.0.4 - resolution: "grapheme-splitter@npm:1.0.4" - checksum: 0c22ec54dee1b05cd480f78cf14f732cb5b108edc073572c4ec205df4cd63f30f8db8025afc5debc8835a8ddeacf648a1c7992fe3dcd6ad38f9a476d84906620 - languageName: node - linkType: hard - "graphemer@npm:^1.4.0": version: 1.4.0 resolution: "graphemer@npm:1.4.0" @@ -4101,6 +4205,13 @@ __metadata: languageName: node linkType: hard +"has-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "has-proto@npm:1.0.1" + checksum: febc5b5b531de8022806ad7407935e2135f1cc9e64636c3916c6842bd7995994ca3b29871ecd7954bd35f9e2986c17b3b227880484d22259e2f8e6ce63fd383e + languageName: node + linkType: hard + "has-symbols@npm:^1.0.2, has-symbols@npm:^1.0.3": version: 1.0.3 resolution: "has-symbols@npm:1.0.3" @@ -4291,14 +4402,14 @@ __metadata: languageName: node linkType: hard -"internal-slot@npm:^1.0.3": - version: 1.0.3 - resolution: "internal-slot@npm:1.0.3" +"internal-slot@npm:^1.0.5": + version: 1.0.5 + resolution: "internal-slot@npm:1.0.5" dependencies: - get-intrinsic: ^1.1.0 + get-intrinsic: ^1.2.0 has: ^1.0.3 side-channel: ^1.0.4 - checksum: 1944f92e981e47aebc98a88ff0db579fd90543d937806104d0b96557b10c1f170c51fb777b97740a8b6ddeec585fca8c39ae99fd08a8e058dfc8ab70937238bf + checksum: 97e84046bf9e7574d0956bd98d7162313ce7057883b6db6c5c7b5e5f05688864b0978ba07610c726d15d66544ffe4b1050107d93f8a39ebc59b15d8b429b497a languageName: node linkType: hard @@ -4318,6 +4429,17 @@ __metadata: languageName: node linkType: hard +"is-array-buffer@npm:^3.0.1, is-array-buffer@npm:^3.0.2": + version: 3.0.2 + resolution: "is-array-buffer@npm:3.0.2" + dependencies: + call-bind: ^1.0.2 + get-intrinsic: ^1.2.0 + is-typed-array: ^1.1.10 + checksum: dcac9dda66ff17df9cabdc58214172bf41082f956eab30bb0d86bc0fab1e44b690fc8e1f855cf2481245caf4e8a5a006a982a71ddccec84032ed41f9d8da8c14 + languageName: node + linkType: hard + "is-arrayish@npm:^0.2.1": version: 0.2.1 resolution: "is-arrayish@npm:0.2.1" @@ -4353,14 +4475,14 @@ __metadata: languageName: node linkType: hard -"is-callable@npm:^1.1.4, is-callable@npm:^1.2.4": - version: 1.2.4 - resolution: "is-callable@npm:1.2.4" - checksum: 1a28d57dc435797dae04b173b65d6d1e77d4f16276e9eff973f994eadcfdc30a017e6a597f092752a083c1103cceb56c91e3dadc6692fedb9898dfaba701575f +"is-callable@npm:^1.1.3, is-callable@npm:^1.1.4, is-callable@npm:^1.2.7": + version: 1.2.7 + resolution: "is-callable@npm:1.2.7" + checksum: 61fd57d03b0d984e2ed3720fb1c7a897827ea174bd44402878e059542ea8c4aeedee0ea0985998aa5cc2736b2fa6e271c08587addb5b3959ac52cf665173d1ac languageName: node linkType: hard -"is-core-module@npm:^2.12.0, is-core-module@npm:^2.4.0, is-core-module@npm:^2.8.1": +"is-core-module@npm:^2.11.0, is-core-module@npm:^2.12.0, is-core-module@npm:^2.4.0": version: 2.12.1 resolution: "is-core-module@npm:2.12.1" dependencies: @@ -4546,6 +4668,19 @@ __metadata: languageName: node linkType: hard +"is-typed-array@npm:^1.1.10, is-typed-array@npm:^1.1.9": + version: 1.1.10 + resolution: "is-typed-array@npm:1.1.10" + dependencies: + available-typed-arrays: ^1.0.5 + call-bind: ^1.0.2 + for-each: ^0.3.3 + gopd: ^1.0.1 + has-tostringtag: ^1.0.0 + checksum: aac6ecb59d4c56a1cdeb69b1f129154ef462bbffe434cb8a8235ca89b42f258b7ae94073c41b3cb7bce37f6a1733ad4499f07882d5d5093a7ba84dfc4ebb8017 + languageName: node + linkType: hard + "is-weakref@npm:^1.0.2": version: 1.0.2 resolution: "is-weakref@npm:1.0.2" @@ -5088,13 +5223,6 @@ __metadata: languageName: node linkType: hard -"js-sdsl@npm:^4.1.4": - version: 4.2.0 - resolution: "js-sdsl@npm:4.2.0" - checksum: 2cd0885f7212afb355929d72ca105cb37de7e95ad6031e6a32619eaefa46735a7d0fb682641a0ba666e1519cb138fe76abc1eea8a34e224140c9d94c995171f1 - languageName: node - linkType: hard - "js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": version: 4.0.0 resolution: "js-tokens@npm:4.0.0" @@ -5647,13 +5775,6 @@ __metadata: languageName: node linkType: hard -"ms@npm:2.0.0": - version: 2.0.0 - resolution: "ms@npm:2.0.0" - checksum: 0e6a22b8b746d2e0b65a430519934fefd41b6db0682e3477c10f60c76e947c4c0ad06f63ffdf1d78d335f83edee8c0aa928aa66a36c7cd95b69b26f468d527f4 - languageName: node - linkType: hard - "ms@npm:2.1.2": version: 2.1.2 resolution: "ms@npm:2.1.2" @@ -5855,10 +5976,10 @@ __metadata: languageName: node linkType: hard -"object-inspect@npm:^1.12.2, object-inspect@npm:^1.9.0": - version: 1.12.2 - resolution: "object-inspect@npm:1.12.2" - checksum: a534fc1b8534284ed71f25ce3a496013b7ea030f3d1b77118f6b7b1713829262be9e6243acbcb3ef8c626e2b64186112cb7f6db74e37b2789b9c789ca23048b2 +"object-inspect@npm:^1.12.3, object-inspect@npm:^1.9.0": + version: 1.12.3 + resolution: "object-inspect@npm:1.12.3" + checksum: dabfd824d97a5f407e6d5d24810d888859f6be394d8b733a77442b277e0808860555176719c5905e765e3743a7cada6b8b0a3b85e5331c530fd418cc8ae991db languageName: node linkType: hard @@ -5881,14 +6002,14 @@ __metadata: languageName: node linkType: hard -"object.values@npm:^1.1.5": - version: 1.1.5 - resolution: "object.values@npm:1.1.5" +"object.values@npm:^1.1.6": + version: 1.1.6 + resolution: "object.values@npm:1.1.6" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.3 - es-abstract: ^1.19.1 - checksum: 0f17e99741ebfbd0fa55ce942f6184743d3070c61bd39221afc929c8422c4907618c8da694c6915bc04a83ab3224260c779ba37fc07bb668bdc5f33b66a902a4 + define-properties: ^1.1.4 + es-abstract: ^1.20.4 + checksum: f6fff9fd817c24cfd8107f50fb33061d81cd11bacc4e3dbb3852e9ff7692fde4dbce823d4333ea27cd9637ef1b6690df5fbb61f1ed314fa2959598dc3ae23d8e languageName: node linkType: hard @@ -5931,17 +6052,17 @@ __metadata: languageName: node linkType: hard -"optionator@npm:^0.9.1": - version: 0.9.1 - resolution: "optionator@npm:0.9.1" +"optionator@npm:^0.9.3": + version: 0.9.3 + resolution: "optionator@npm:0.9.3" dependencies: + "@aashutoshrathi/word-wrap": ^1.2.3 deep-is: ^0.1.3 fast-levenshtein: ^2.0.6 levn: ^0.4.1 prelude-ls: ^1.2.1 type-check: ^0.4.0 - word-wrap: ^1.2.3 - checksum: dbc6fa065604b24ea57d734261914e697bd73b69eff7f18e967e8912aa2a40a19a9f599a507fa805be6c13c24c4eae8c71306c239d517d42d4c041c942f508a0 + checksum: 09281999441f2fe9c33a5eeab76700795365a061563d66b098923eb719251a42bdbe432790d35064d0816ead9296dbeb1ad51a733edf4167c96bd5d0882e428a languageName: node linkType: hard @@ -6344,18 +6465,18 @@ __metadata: languageName: node linkType: hard -"regexp.prototype.flags@npm:^1.4.3": - version: 1.4.3 - resolution: "regexp.prototype.flags@npm:1.4.3" +"regexp.prototype.flags@npm:^1.5.0": + version: 1.5.0 + resolution: "regexp.prototype.flags@npm:1.5.0" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.3 - functions-have-names: ^1.2.2 - checksum: 51228bae732592adb3ededd5e15426be25f289e9c4ef15212f4da73f4ec3919b6140806374b8894036a86020d054a8d2657d3fee6bb9b4d35d8939c20030b7a6 + define-properties: ^1.2.0 + functions-have-names: ^1.2.3 + checksum: c541687cdbdfff1b9a07f6e44879f82c66bbf07665f9a7544c5fd16acdb3ec8d1436caab01662d2fbcad403f3499d49ab0b77fbc7ef29ef961d98cc4bc9755b4 languageName: node linkType: hard -"regexpp@npm:^3.0.0, regexpp@npm:^3.2.0": +"regexpp@npm:^3.0.0": version: 3.2.0 resolution: "regexpp@npm:3.2.0" checksum: a78dc5c7158ad9ddcfe01aa9144f46e192ddbfa7b263895a70a5c6c73edd9ce85faf7c0430e59ac38839e1734e275b9c3de5c57ee3ab6edc0e0b1bdebefccef8 @@ -6413,7 +6534,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.10.1, resolve@npm:^1.18.1, resolve@npm:^1.20.0, resolve@npm:^1.22.0": +"resolve@npm:^1.18.1, resolve@npm:^1.20.0, resolve@npm:^1.22.1": version: 1.22.3 resolution: "resolve@npm:1.22.3" dependencies: @@ -6426,7 +6547,7 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@^1.10.1#~builtin, resolve@patch:resolve@^1.18.1#~builtin, resolve@patch:resolve@^1.20.0#~builtin, resolve@patch:resolve@^1.22.0#~builtin": +"resolve@patch:resolve@^1.18.1#~builtin, resolve@patch:resolve@^1.20.0#~builtin, resolve@patch:resolve@^1.22.1#~builtin": version: 1.22.3 resolution: "resolve@patch:resolve@npm%3A1.22.3#~builtin::version=1.22.3&hash=07638b" dependencies: @@ -6512,6 +6633,17 @@ __metadata: languageName: node linkType: hard +"safe-regex-test@npm:^1.0.0": + version: 1.0.0 + resolution: "safe-regex-test@npm:1.0.0" + dependencies: + call-bind: ^1.0.2 + get-intrinsic: ^1.1.3 + is-regex: ^1.1.4 + checksum: bc566d8beb8b43c01b94e67de3f070fd2781685e835959bbbaaec91cc53381145ca91f69bd837ce6ec244817afa0a5e974fc4e40a2957f0aca68ac3add1ddd34 + languageName: node + linkType: hard + "safer-buffer@npm:>= 2.1.2 < 3.0.0": version: 2.1.2 resolution: "safer-buffer@npm:2.1.2" @@ -6565,7 +6697,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:7.x, semver@npm:^7.3.2, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.3.8, semver@npm:^7.5.3": +"semver@npm:7.x, semver@npm:^7.0.0, semver@npm:^7.3.2, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.3.8, semver@npm:^7.5.3": version: 7.5.4 resolution: "semver@npm:7.5.4" dependencies: @@ -6576,7 +6708,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^6.0.0, semver@npm:^6.1.0, semver@npm:^6.3.0": +"semver@npm:^6.0.0, semver@npm:^6.3.0": version: 6.3.1 resolution: "semver@npm:6.3.1" bin: @@ -6872,25 +7004,36 @@ __metadata: languageName: node linkType: hard -"string.prototype.trimend@npm:^1.0.5": - version: 1.0.5 - resolution: "string.prototype.trimend@npm:1.0.5" +"string.prototype.trim@npm:^1.2.7": + version: 1.2.7 + resolution: "string.prototype.trim@npm:1.2.7" dependencies: call-bind: ^1.0.2 define-properties: ^1.1.4 - es-abstract: ^1.19.5 - checksum: d44f543833112f57224e79182debadc9f4f3bf9d48a0414d6f0cbd2a86f2b3e8c0ca1f95c3f8e5b32ae83e91554d79d932fc746b411895f03f93d89ed3dfb6bc + es-abstract: ^1.20.4 + checksum: 05b7b2d6af63648e70e44c4a8d10d8cc457536df78b55b9d6230918bde75c5987f6b8604438c4c8652eb55e4fc9725d2912789eb4ec457d6995f3495af190c09 languageName: node linkType: hard -"string.prototype.trimstart@npm:^1.0.5": - version: 1.0.5 - resolution: "string.prototype.trimstart@npm:1.0.5" +"string.prototype.trimend@npm:^1.0.6": + version: 1.0.6 + resolution: "string.prototype.trimend@npm:1.0.6" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.4 + es-abstract: ^1.20.4 + checksum: 0fdc34645a639bd35179b5a08227a353b88dc089adf438f46be8a7c197fc3f22f8514c1c9be4629b3cd29c281582730a8cbbad6466c60f76b5f99cf2addb132e + languageName: node + linkType: hard + +"string.prototype.trimstart@npm:^1.0.6": + version: 1.0.6 + resolution: "string.prototype.trimstart@npm:1.0.6" dependencies: call-bind: ^1.0.2 define-properties: ^1.1.4 - es-abstract: ^1.19.5 - checksum: a4857c5399ad709d159a77371eeaa8f9cc284469a0b5e1bfe405de16f1fd4166a8ea6f4180e55032f348d1b679b1599fd4301fbc7a8b72bdb3e795e43f7b1048 + es-abstract: ^1.20.4 + checksum: 89080feef416621e6ef1279588994305477a7a91648d9436490d56010a1f7adc39167cddac7ce0b9884b8cdbef086987c4dcb2960209f2af8bac0d23ceff4f41 languageName: node linkType: hard @@ -7270,6 +7413,30 @@ __metadata: languageName: node linkType: hard +"typed-array-byte-offset@npm:^1.0.0": + version: 1.0.0 + resolution: "typed-array-byte-offset@npm:1.0.0" + dependencies: + available-typed-arrays: ^1.0.5 + call-bind: ^1.0.2 + for-each: ^0.3.3 + has-proto: ^1.0.1 + is-typed-array: ^1.1.10 + checksum: 04f6f02d0e9a948a95fbfe0d5a70b002191fae0b8fe0fe3130a9b2336f043daf7a3dda56a31333c35a067a97e13f539949ab261ca0f3692c41603a46a94e960b + languageName: node + linkType: hard + +"typed-array-length@npm:^1.0.4": + version: 1.0.4 + resolution: "typed-array-length@npm:1.0.4" + dependencies: + call-bind: ^1.0.2 + for-each: ^0.3.3 + is-typed-array: ^1.1.9 + checksum: 2228febc93c7feff142b8c96a58d4a0d7623ecde6c7a24b2b98eb3170e99f7c7eff8c114f9b283085cd59dcd2bd43aadf20e25bba4b034a53c5bb292f71f8956 + languageName: node + linkType: hard + "typedoc@npm:^0.23.19": version: 0.23.19 resolution: "typedoc@npm:0.23.19" @@ -7445,6 +7612,20 @@ __metadata: languageName: node linkType: hard +"which-typed-array@npm:^1.1.10": + version: 1.1.10 + resolution: "which-typed-array@npm:1.1.10" + dependencies: + available-typed-arrays: ^1.0.5 + call-bind: ^1.0.2 + for-each: ^0.3.3 + gopd: ^1.0.1 + has-tostringtag: ^1.0.0 + is-typed-array: ^1.1.10 + checksum: 149f54f5d11773ce938c60a2c36306720a1824eccb62bda0620170932c2783fa50ad0226254c5741a962e35c7ccba5f4e4c402b8618cb3b4f2cf47bf5e6ade31 + languageName: node + linkType: hard + "which@npm:^1.2.9": version: 1.3.1 resolution: "which@npm:1.3.1" @@ -7487,13 +7668,6 @@ __metadata: languageName: node linkType: hard -"word-wrap@npm:^1.2.3": - version: 1.2.3 - resolution: "word-wrap@npm:1.2.3" - checksum: 30b48f91fcf12106ed3186ae4fa86a6a1842416df425be7b60485de14bec665a54a68e4b5156647dec3a70f25e84d270ca8bc8cd23182ed095f5c7206a938c1f - languageName: node - linkType: hard - "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0": version: 7.0.0 resolution: "wrap-ansi@npm:7.0.0" From de58310aa8b2eea95f7df15e31075085507362a5 Mon Sep 17 00:00:00 2001 From: Maarten Zuidhoorn Date: Fri, 14 Jul 2023 13:31:03 +0200 Subject: [PATCH 2/2] Use eslint-plugin-import@~2.26.0 --- package.json | 2 +- src/BIP44CoinTypeNode.test.ts | 2 +- src/BIP44Node.test.ts | 2 +- src/SLIP10Node.test.ts | 2 +- src/curves/ed25519.test.ts | 2 +- src/curves/secp256k1.test.ts | 2 +- src/derivation.test.ts | 2 +- src/derivers/bip32.test.ts | 10 ++-- src/derivers/bip32.ts | 8 +-- src/derivers/bip39.test.ts | 2 +- src/derivers/index.ts | 4 +- src/derivers/shared.test.ts | 2 +- src/derivers/slip10.test.ts | 4 +- src/derivers/slip10.ts | 8 +-- src/utils.test.ts | 2 +- test/reference-implementations.test.ts | 2 +- test/vectors.test.ts | 2 +- yarn.lock | 72 +++++++++++++------------- 18 files changed, 66 insertions(+), 64 deletions(-) diff --git a/package.json b/package.json index 37d515ee..9003374a 100644 --- a/package.json +++ b/package.json @@ -74,7 +74,7 @@ "depcheck": "^1.4.3", "eslint": "^8.44.0", "eslint-config-prettier": "^8.8.0", - "eslint-plugin-import": "^2.27.5", + "eslint-plugin-import": "~2.26.0", "eslint-plugin-jest": "^27.2.2", "eslint-plugin-jsdoc": "^39.9.1", "eslint-plugin-n": "^15.7.0", diff --git a/src/BIP44CoinTypeNode.test.ts b/src/BIP44CoinTypeNode.test.ts index ca95b015..4ffb55a7 100644 --- a/src/BIP44CoinTypeNode.test.ts +++ b/src/BIP44CoinTypeNode.test.ts @@ -8,9 +8,9 @@ import { deriveBIP44AddressKey, getBIP44AddressKeyDeriver, } from '.'; +import fixtures from '../test/fixtures'; import { encodeExtendedKey, PRIVATE_KEY_VERSION } from './extended-keys'; import { mnemonicPhraseToBytes } from './utils'; -import fixtures from '../test/fixtures'; const defaultBip39NodeToken = `bip39:${fixtures.local.mnemonic}` as const; const defaultBip39BytesToken = mnemonicPhraseToBytes(fixtures.local.mnemonic); diff --git a/src/BIP44Node.test.ts b/src/BIP44Node.test.ts index ef6f7e93..ba8f0193 100644 --- a/src/BIP44Node.test.ts +++ b/src/BIP44Node.test.ts @@ -1,6 +1,7 @@ import { bytesToHex } from '@metamask/utils'; import { BIP44Node, BIP44PurposeNodeToken, secp256k1 } from '.'; +import fixtures from '../test/fixtures'; import { compressPublicKey } from './curves/secp256k1'; import { createBip39KeyFromSeed, deriveChildKey } from './derivers/bip39'; import { @@ -9,7 +10,6 @@ import { PUBLIC_KEY_VERSION, } from './extended-keys'; import { hexStringToBytes, mnemonicPhraseToBytes } from './utils'; -import fixtures from '../test/fixtures'; const defaultBip39NodeToken = `bip39:${fixtures.local.mnemonic}` as const; const defaultBip39BytesToken = mnemonicPhraseToBytes(fixtures.local.mnemonic); diff --git a/src/SLIP10Node.test.ts b/src/SLIP10Node.test.ts index f6d11c4e..77e9ef10 100644 --- a/src/SLIP10Node.test.ts +++ b/src/SLIP10Node.test.ts @@ -1,12 +1,12 @@ import { bytesToHex, hexToBytes } from '@metamask/utils'; +import fixtures from '../test/fixtures'; import { BIP44PurposeNodeToken } from './constants'; import { ed25519, secp256k1 } from './curves'; import { compressPublicKey } from './curves/secp256k1'; import { createBip39KeyFromSeed, deriveChildKey } from './derivers/bip39'; import { SLIP10Node } from './SLIP10Node'; import { hexStringToBytes, mnemonicPhraseToBytes } from './utils'; -import fixtures from '../test/fixtures'; const defaultBip39NodeToken = `bip39:${fixtures.local.mnemonic}` as const; const defaultBip39BytesToken = mnemonicPhraseToBytes(fixtures.local.mnemonic); diff --git a/src/curves/ed25519.test.ts b/src/curves/ed25519.test.ts index ef827b60..88e8a4c9 100644 --- a/src/curves/ed25519.test.ts +++ b/src/curves/ed25519.test.ts @@ -1,5 +1,6 @@ import { hexToBytes, bytesToHex } from '@metamask/utils'; +import fixtures from '../../test/fixtures'; import { compressPublicKey, curve, @@ -8,7 +9,6 @@ import { isValidPrivateKey, publicAdd, } from './ed25519'; -import fixtures from '../../test/fixtures'; describe('ed25519', () => { describe('curve', () => { diff --git a/src/curves/secp256k1.test.ts b/src/curves/secp256k1.test.ts index 2bb4dc0a..893dbd6a 100644 --- a/src/curves/secp256k1.test.ts +++ b/src/curves/secp256k1.test.ts @@ -1,7 +1,7 @@ import { bytesToHex, hexToBytes } from '@metamask/utils'; -import { curve, getPublicKey, isValidPrivateKey, publicAdd } from './secp256k1'; import fixtures from '../../test/fixtures'; +import { curve, getPublicKey, isValidPrivateKey, publicAdd } from './secp256k1'; describe('secp256k1', () => { describe('curve', () => { diff --git a/src/derivation.test.ts b/src/derivation.test.ts index 41ee3f73..734fbb20 100755 --- a/src/derivation.test.ts +++ b/src/derivation.test.ts @@ -1,5 +1,6 @@ import { bytesToHex } from '@metamask/utils'; +import fixtures from '../test/fixtures'; import type { HDPathTuple } from './constants'; import { secp256k1 } from './curves'; import { deriveKeyFromPath, validatePathSegment } from './derivation'; @@ -7,7 +8,6 @@ import { derivers } from './derivers'; import { privateKeyToEthAddress } from './derivers/bip32'; import type { SLIP10Node } from './SLIP10Node'; import { getUnhardenedBIP32NodeToken, mnemonicPhraseToBytes } from './utils'; -import fixtures from '../test/fixtures'; const { bip32: { deriveChildKey: bip32Derive }, diff --git a/src/derivers/bip32.test.ts b/src/derivers/bip32.test.ts index 1ca6b427..e6b0b7ee 100644 --- a/src/derivers/bip32.test.ts +++ b/src/derivers/bip32.test.ts @@ -1,16 +1,16 @@ import { bytesToHex, hexToBytes } from '@metamask/utils'; +import fixtures from '../../test/fixtures'; +import { BIP_32_HARDENED_OFFSET } from '../constants'; +import { ed25519, secp256k1 } from '../curves'; +import { SLIP10Node } from '../SLIP10Node'; +import { hexStringToBytes } from '../utils'; import { deriveChildKey, privateKeyToEthAddress, publicKeyToEthAddress, } from './bip32'; import { bip39MnemonicToMultipath, createBip39KeyFromSeed } from './bip39'; -import fixtures from '../../test/fixtures'; -import { BIP_32_HARDENED_OFFSET } from '../constants'; -import { ed25519, secp256k1 } from '../curves'; -import { SLIP10Node } from '../SLIP10Node'; -import { hexStringToBytes } from '../utils'; describe('deriveChildKey', () => { it('handles deriving invalid private keys', async () => { diff --git a/src/derivers/bip32.ts b/src/derivers/bip32.ts index 30633ef1..69b5aa8d 100755 --- a/src/derivers/bip32.ts +++ b/src/derivers/bip32.ts @@ -2,6 +2,10 @@ import { assert } from '@metamask/utils'; import { keccak_256 as keccak256 } from '@noble/hashes/sha3'; import type { DeriveChildKeyArgs } from '.'; +import { BYTES_KEY_LENGTH } from '../constants'; +import { secp256k1 } from '../curves'; +import type { SLIP10Node } from '../SLIP10Node'; +import { isValidBytesKey, validateBIP32Index } from '../utils'; import type { DeriveNodeArgs } from './shared'; import { deriveChildKey as sharedDeriveChildKey, @@ -9,10 +13,6 @@ import { generateEntropy, derivePublicExtension, } from './shared'; -import { BYTES_KEY_LENGTH } from '../constants'; -import { secp256k1 } from '../curves'; -import type { SLIP10Node } from '../SLIP10Node'; -import { isValidBytesKey, validateBIP32Index } from '../utils'; /** * Converts a BIP-32 private key to an Ethereum address. diff --git a/src/derivers/bip39.test.ts b/src/derivers/bip39.test.ts index 4832f5bd..b2455cf8 100644 --- a/src/derivers/bip39.test.ts +++ b/src/derivers/bip39.test.ts @@ -6,8 +6,8 @@ import { } from '@metamask/utils'; import * as hmacModule from '@noble/hashes/hmac'; -import { createBip39KeyFromSeed } from './bip39'; import { secp256k1 } from '../curves'; +import { createBip39KeyFromSeed } from './bip39'; describe('createBip39KeyFromSeed', () => { const RANDOM_SEED = hexToBytes( diff --git a/src/derivers/index.ts b/src/derivers/index.ts index f206faff..54bc2ab1 100644 --- a/src/derivers/index.ts +++ b/src/derivers/index.ts @@ -1,8 +1,8 @@ +import type { Curve } from '../curves'; +import type { SLIP10Node } from '../SLIP10Node'; import * as bip32 from './bip32'; import * as bip39 from './bip39'; import * as slip10 from './slip10'; -import type { Curve } from '../curves'; -import type { SLIP10Node } from '../SLIP10Node'; export type DerivedKeys = { /** diff --git a/src/derivers/shared.test.ts b/src/derivers/shared.test.ts index d3b8deec..fa07d027 100644 --- a/src/derivers/shared.test.ts +++ b/src/derivers/shared.test.ts @@ -1,10 +1,10 @@ import { hexToBytes } from '@metamask/utils'; import { CURVE } from '@noble/secp256k1'; -import { privateAdd } from './shared'; import fixtures from '../../test/fixtures'; import { secp256k1 } from '../curves'; import { hexStringToBytes } from '../utils'; +import { privateAdd } from './shared'; describe('privateAdd', () => { const PRIVATE_KEY = hexStringToBytes( diff --git a/src/derivers/slip10.test.ts b/src/derivers/slip10.test.ts index e02f3de5..3f2eaf7e 100644 --- a/src/derivers/slip10.test.ts +++ b/src/derivers/slip10.test.ts @@ -1,11 +1,11 @@ import { hexToBytes } from '@metamask/utils'; -import { bip39MnemonicToMultipath, createBip39KeyFromSeed } from './bip39'; -import { deriveChildKey } from './slip10'; import fixtures from '../../test/fixtures'; import { BIP_32_HARDENED_OFFSET } from '../constants'; import { ed25519, secp256k1 } from '../curves'; import { SLIP10Node } from '../SLIP10Node'; +import { bip39MnemonicToMultipath, createBip39KeyFromSeed } from './bip39'; +import { deriveChildKey } from './slip10'; describe('deriveChildKey', () => { it('handles deriving invalid private keys', async () => { diff --git a/src/derivers/slip10.ts b/src/derivers/slip10.ts index c3b20a7c..80f3dbf0 100755 --- a/src/derivers/slip10.ts +++ b/src/derivers/slip10.ts @@ -1,14 +1,14 @@ import { concatBytes } from '@metamask/utils'; import type { DeriveChildKeyArgs } from '.'; -import type { DeriveNodeArgs } from './shared'; +import { BIP_32_HARDENED_OFFSET } from '../constants'; +import type { SLIP10Node } from '../SLIP10Node'; +import { numberToUint32 } from '../utils'; import { generateEntropy, deriveChildKey as sharedDeriveChildKey, } from './shared'; -import { BIP_32_HARDENED_OFFSET } from '../constants'; -import type { SLIP10Node } from '../SLIP10Node'; -import { numberToUint32 } from '../utils'; +import type { DeriveNodeArgs } from './shared'; /** * Derive a SLIP-10 child key with a given path from a parent key. diff --git a/src/utils.test.ts b/src/utils.test.ts index ec52f359..461c18c9 100644 --- a/src/utils.test.ts +++ b/src/utils.test.ts @@ -2,6 +2,7 @@ import { mnemonicToSeed } from '@metamask/scure-bip39'; import { wordlist } from '@metamask/scure-bip39/dist/wordlists/english'; import { hexToBytes, stringToBytes } from '@metamask/utils'; +import fixtures from '../test/fixtures'; import { BIP44Node } from './BIP44Node'; import { getBIP32NodeToken, @@ -24,7 +25,6 @@ import { getBytesUnsafe, isValidBIP32PathSegment, } from './utils'; -import fixtures from '../test/fixtures'; // Inputs used for testing non-negative integers const inputs = [-1, 1.1, NaN, {}, null, undefined] as number[]; diff --git a/test/reference-implementations.test.ts b/test/reference-implementations.test.ts index 2bf410bd..aa7f6fc4 100644 --- a/test/reference-implementations.test.ts +++ b/test/reference-implementations.test.ts @@ -1,4 +1,3 @@ -import fixtures from './fixtures'; import type { SLIP10Node, HDPathTuple } from '../src'; import { BIP44Node, BIP44PurposeNodeToken } from '../src'; import { ed25519, secp256k1 } from '../src/curves'; @@ -8,6 +7,7 @@ import { getBIP44CoinTypeToAddressPathTuple, hexStringToBytes, } from '../src/utils'; +import fixtures from './fixtures'; describe('reference implementation tests', () => { describe('local', () => { diff --git a/test/vectors.test.ts b/test/vectors.test.ts index 6f8049d1..717ddb4c 100644 --- a/test/vectors.test.ts +++ b/test/vectors.test.ts @@ -2,12 +2,12 @@ import { hexToBytes } from '@metamask/utils'; -import derivationVectors from './vectors/derivation.json'; import type { SLIP10PathTuple } from '../src'; import { secp256k1 } from '../src'; import type { Curve } from '../src/curves'; import { ed25519 } from '../src/curves'; import { createBip39KeyFromSeed } from '../src/derivers/bip39'; +import derivationVectors from './vectors/derivation.json'; type Vector = typeof derivationVectors.bip32.hardened[0]; diff --git a/yarn.lock b/yarn.lock index c460b59a..1fc488f3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1070,7 +1070,7 @@ __metadata: depcheck: ^1.4.3 eslint: ^8.44.0 eslint-config-prettier: ^8.8.0 - eslint-plugin-import: ^2.27.5 + eslint-plugin-import: ~2.26.0 eslint-plugin-jest: ^27.2.2 eslint-plugin-jsdoc: ^39.9.1 eslint-plugin-n: ^15.7.0 @@ -2154,7 +2154,7 @@ __metadata: languageName: node linkType: hard -"array-includes@npm:^3.1.6": +"array-includes@npm:^3.1.4": version: 3.1.6 resolution: "array-includes@npm:3.1.6" dependencies: @@ -2174,7 +2174,7 @@ __metadata: languageName: node linkType: hard -"array.prototype.flat@npm:^1.3.1": +"array.prototype.flat@npm:^1.2.5": version: 1.3.1 resolution: "array.prototype.flat@npm:1.3.1" dependencies: @@ -2186,18 +2186,6 @@ __metadata: languageName: node linkType: hard -"array.prototype.flatmap@npm:^1.3.1": - version: 1.3.1 - resolution: "array.prototype.flatmap@npm:1.3.1" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.20.4 - es-shim-unscopables: ^1.0.0 - checksum: 8c1c43a4995f12cf12523436da28515184c753807b3f0bc2ca6c075f71c470b099e2090cc67dba8e5280958fea401c1d0c59e1db0143272aef6cd1103921a987 - languageName: node - linkType: hard - "arrify@npm:^2.0.1": version: 2.0.1 resolution: "arrify@npm:2.0.1" @@ -2850,6 +2838,15 @@ __metadata: languageName: node linkType: hard +"debug@npm:^2.6.9": + version: 2.6.9 + resolution: "debug@npm:2.6.9" + dependencies: + ms: 2.0.0 + checksum: d2f51589ca66df60bf36e1fa6e4386b318c3f1e06772280eea5b1ae9fd3d05e9c2b7fd8a7d862457d00853c75b00451aa2d7459b924629ee385287a650f58fe6 + languageName: node + linkType: hard + "debug@npm:^3.2.7": version: 3.2.7 resolution: "debug@npm:3.2.7" @@ -3254,7 +3251,7 @@ __metadata: languageName: node linkType: hard -"eslint-import-resolver-node@npm:^0.3.7": +"eslint-import-resolver-node@npm:^0.3.6": version: 0.3.7 resolution: "eslint-import-resolver-node@npm:0.3.7" dependencies: @@ -3265,7 +3262,7 @@ __metadata: languageName: node linkType: hard -"eslint-module-utils@npm:^2.7.4": +"eslint-module-utils@npm:^2.7.3": version: 2.8.0 resolution: "eslint-module-utils@npm:2.8.0" dependencies: @@ -3289,28 +3286,26 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-import@npm:^2.27.5": - version: 2.27.5 - resolution: "eslint-plugin-import@npm:2.27.5" +"eslint-plugin-import@npm:~2.26.0": + version: 2.26.0 + resolution: "eslint-plugin-import@npm:2.26.0" dependencies: - array-includes: ^3.1.6 - array.prototype.flat: ^1.3.1 - array.prototype.flatmap: ^1.3.1 - debug: ^3.2.7 + array-includes: ^3.1.4 + array.prototype.flat: ^1.2.5 + debug: ^2.6.9 doctrine: ^2.1.0 - eslint-import-resolver-node: ^0.3.7 - eslint-module-utils: ^2.7.4 + eslint-import-resolver-node: ^0.3.6 + eslint-module-utils: ^2.7.3 has: ^1.0.3 - is-core-module: ^2.11.0 + is-core-module: ^2.8.1 is-glob: ^4.0.3 minimatch: ^3.1.2 - object.values: ^1.1.6 - resolve: ^1.22.1 - semver: ^6.3.0 + object.values: ^1.1.5 + resolve: ^1.22.0 tsconfig-paths: ^3.14.1 peerDependencies: eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - checksum: f500571a380167e25d72a4d925ef9a7aae8899eada57653e5f3051ec3d3c16d08271fcefe41a30a9a2f4fefc232f066253673ee4ea77b30dba65ae173dade85d + checksum: 0bf77ad80339554481eafa2b1967449e1f816b94c7a6f9614ce33fb4083c4e6c050f10d241dd50b4975d47922880a34de1e42ea9d8e6fd663ebb768baa67e655 languageName: node linkType: hard @@ -4482,7 +4477,7 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.11.0, is-core-module@npm:^2.12.0, is-core-module@npm:^2.4.0": +"is-core-module@npm:^2.11.0, is-core-module@npm:^2.12.0, is-core-module@npm:^2.4.0, is-core-module@npm:^2.8.1": version: 2.12.1 resolution: "is-core-module@npm:2.12.1" dependencies: @@ -5775,6 +5770,13 @@ __metadata: languageName: node linkType: hard +"ms@npm:2.0.0": + version: 2.0.0 + resolution: "ms@npm:2.0.0" + checksum: 0e6a22b8b746d2e0b65a430519934fefd41b6db0682e3477c10f60c76e947c4c0ad06f63ffdf1d78d335f83edee8c0aa928aa66a36c7cd95b69b26f468d527f4 + languageName: node + linkType: hard + "ms@npm:2.1.2": version: 2.1.2 resolution: "ms@npm:2.1.2" @@ -6002,7 +6004,7 @@ __metadata: languageName: node linkType: hard -"object.values@npm:^1.1.6": +"object.values@npm:^1.1.5": version: 1.1.6 resolution: "object.values@npm:1.1.6" dependencies: @@ -6534,7 +6536,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.18.1, resolve@npm:^1.20.0, resolve@npm:^1.22.1": +"resolve@npm:^1.18.1, resolve@npm:^1.20.0, resolve@npm:^1.22.0, resolve@npm:^1.22.1": version: 1.22.3 resolution: "resolve@npm:1.22.3" dependencies: @@ -6547,7 +6549,7 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@^1.18.1#~builtin, resolve@patch:resolve@^1.20.0#~builtin, resolve@patch:resolve@^1.22.1#~builtin": +"resolve@patch:resolve@^1.18.1#~builtin, resolve@patch:resolve@^1.20.0#~builtin, resolve@patch:resolve@^1.22.0#~builtin, resolve@patch:resolve@^1.22.1#~builtin": version: 1.22.3 resolution: "resolve@patch:resolve@npm%3A1.22.3#~builtin::version=1.22.3&hash=07638b" dependencies: