diff --git a/packages/base-eth-keyring/package.json b/packages/base-eth-keyring/package.json index 9b173e38..3a64c0ff 100644 --- a/packages/base-eth-keyring/package.json +++ b/packages/base-eth-keyring/package.json @@ -1,6 +1,6 @@ { "name": "@keystonehq/base-eth-keyring", - "version": "0.14.1", + "version": "0.15.0", "description": "base eth keyring", "author": "aaronisme ", "homepage": "https://github.com/KeystoneHQ/keystone-airgaped-base#readme", @@ -26,8 +26,9 @@ "build": "tsdx build" }, "dependencies": { - "@ethereumjs/tx": "^4.0.2", + "@ethereumjs/tx": "5.1.0", "@ethereumjs/util": "^8.0.0", + "@ethereumjs/rlp": "^4.0.1", "@keystonehq/bc-ur-registry-eth": "^0.19.1", "hdkey": "^2.0.1", "rlp": "^3.0.0", diff --git a/packages/base-eth-keyring/src/BaseKeyring.ts b/packages/base-eth-keyring/src/BaseKeyring.ts index 0bd5bf7f..ee352307 100644 --- a/packages/base-eth-keyring/src/BaseKeyring.ts +++ b/packages/base-eth-keyring/src/BaseKeyring.ts @@ -4,9 +4,9 @@ import { publicToAddress, stripHexPrefix, } from "@ethereumjs/util"; -import rlp from "rlp"; +import { RLP } from "@ethereumjs/rlp"; import { - Transaction, + LegacyTransaction as Transaction, FeeMarketEIP1559Transaction, TransactionFactory, TypedTransaction, @@ -436,11 +436,11 @@ export class BaseKeyring { let messageToSign: Buffer; if (tx.type === 0) { messageToSign = Buffer.from( - rlp.encode((tx as Transaction).getMessageToSign(false)) + RLP.encode((tx as Transaction).getMessageToSign()) ); } else { - messageToSign = (tx as FeeMarketEIP1559Transaction).getMessageToSign( - false + messageToSign = Buffer.from( + (tx as FeeMarketEIP1559Transaction).serialize() ); } const hdPath = await this._pathFromAddress(address); @@ -500,7 +500,14 @@ export class BaseKeyring { "Scan with your Keystone", 'After your Keystone has signed this message, click on "Scan Keystone" to receive the signature' ); - return "0x" + Buffer.concat([r, s, v]).toString("hex"); + return ( + "0x" + + Buffer.concat([ + Uint8Array.from(r), + Uint8Array.from(s), + Uint8Array.from(v), + ]).toString("hex") + ); } async signTypedData(withAccount: string, typedData: any): Promise { @@ -521,7 +528,14 @@ export class BaseKeyring { "Scan with your Keystone", 'After your Keystone has signed this data, click on "Scan Keystone" to receive the signature' ); - return "0x" + Buffer.concat([r, s, v]).toString("hex"); + return ( + "0x" + + Buffer.concat([ + Uint8Array.from(r), + Uint8Array.from(s), + Uint8Array.from(v), + ]).toString("hex") + ); } __addressFromIndex = async (pb: string, i: number): Promise => { diff --git a/packages/metamask-airgapped-keyring/package.json b/packages/metamask-airgapped-keyring/package.json index 779114cd..af923023 100644 --- a/packages/metamask-airgapped-keyring/package.json +++ b/packages/metamask-airgapped-keyring/package.json @@ -1,6 +1,6 @@ { "name": "@keystonehq/metamask-airgapped-keyring", - "version": "0.14.1", + "version": "0.15.0", "description": "airgapped eth keyring for metamask", "author": "aaronisme ", "homepage": "https://github.com/KeystoneHQ/keystone-airgaped-base#readme", @@ -26,8 +26,10 @@ "build": "tsdx build" }, "dependencies": { - "@ethereumjs/tx": "^4.0.2", - "@keystonehq/base-eth-keyring": "^0.14.1", + "@ethereumjs/rlp": "^4.0.1", + "@ethereumjs/tx": "5.1.0", + "@ethereumjs/util": "9.1.0", + "@keystonehq/base-eth-keyring": "workspace:^", "@keystonehq/bc-ur-registry-eth": "^0.19.1", "@metamask/obs-store": "^9.0.0", "rlp": "^2.2.6", diff --git a/packages/metamask-airgapped-keyring/src/MetaMaskKeyring.ts b/packages/metamask-airgapped-keyring/src/MetaMaskKeyring.ts index 061bd6d8..458bfd80 100644 --- a/packages/metamask-airgapped-keyring/src/MetaMaskKeyring.ts +++ b/packages/metamask-airgapped-keyring/src/MetaMaskKeyring.ts @@ -2,12 +2,12 @@ import { BaseKeyring, StoredKeyring } from "@keystonehq/base-eth-keyring"; import { MetamaskInteractionProvider } from "./MetaMaskInteractionProvider"; import { TransactionFactory, - Transaction, + LegacyTransaction as Transaction, FeeMarketEIP1559Transaction, } from "@ethereumjs/tx"; import { DataType, EthSignRequest } from "@keystonehq/bc-ur-registry-eth"; import * as uuid from "uuid"; -import rlp from "rlp"; +import { RLP } from "@ethereumjs/rlp"; export class MetaMaskKeyring extends BaseKeyring { static type = BaseKeyring.type; @@ -38,10 +38,12 @@ export class MetaMaskKeyring extends BaseKeyring { tx.type === 0 ? DataType.transaction : DataType.typedTransaction; let messageToSign; if (tx.type === 0) { - messageToSign = rlp.encode((tx as Transaction).getMessageToSign(false)); + messageToSign = Buffer.from( + RLP.encode((tx as Transaction).getMessageToSign()) + ); } else { - messageToSign = (tx as FeeMarketEIP1559Transaction).getMessageToSign( - false + messageToSign = Buffer.from( + (tx as FeeMarketEIP1559Transaction).serialize() ); } const hdPath = await this._pathFromAddress(address); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5adcdd68..0742b379 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -227,9 +227,12 @@ importers: packages/base-eth-keyring: dependencies: + '@ethereumjs/rlp': + specifier: ^4.0.1 + version: 4.0.1 '@ethereumjs/tx': - specifier: ^4.0.2 - version: 4.2.0 + specifier: 5.1.0 + version: 5.1.0 '@ethereumjs/util': specifier: ^8.0.0 version: 8.1.0 @@ -291,7 +294,7 @@ importers: dependencies: '@keystonehq/base-eth-keyring': specifier: ^0.14.1 - version: link:../base-eth-keyring + version: 0.14.1 '@keystonehq/bc-ur-registry-eth': specifier: ^0.19.1 version: 0.19.1 @@ -425,11 +428,17 @@ importers: packages/metamask-airgapped-keyring: dependencies: + '@ethereumjs/rlp': + specifier: ^4.0.1 + version: 4.0.1 '@ethereumjs/tx': - specifier: ^4.0.2 - version: 4.2.0 + specifier: 5.1.0 + version: 5.1.0 + '@ethereumjs/util': + specifier: 9.1.0 + version: 9.1.0 '@keystonehq/base-eth-keyring': - specifier: ^0.14.1 + specifier: workspace:^ version: link:../base-eth-keyring '@keystonehq/bc-ur-registry-eth': specifier: ^0.19.1 @@ -1182,7 +1191,7 @@ packages: '@babel/traverse': 7.25.9 '@babel/types': 7.25.9 convert-source-map: 2.0.0 - debug: 4.3.7 + debug: 4.3.7(supports-color@9.4.0) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -1265,7 +1274,7 @@ packages: '@babel/helper-module-imports': 7.25.9 '@babel/helper-plugin-utils': 7.25.9 '@babel/traverse': 7.25.9 - debug: 4.3.7 + debug: 4.3.7(supports-color@9.4.0) lodash.debounce: 4.0.8 resolve: 1.22.8 semver: 6.3.1 @@ -1281,7 +1290,7 @@ packages: '@babel/core': 7.25.9 '@babel/helper-compilation-targets': 7.25.9 '@babel/helper-plugin-utils': 7.25.9 - debug: 4.3.7 + debug: 4.3.7(supports-color@9.4.0) lodash.debounce: 4.0.8 resolve: 1.22.8 transitivePeerDependencies: @@ -2492,7 +2501,7 @@ packages: '@babel/parser': 7.25.9 '@babel/template': 7.25.9 '@babel/types': 7.25.9 - debug: 4.3.7 + debug: 4.3.7(supports-color@9.4.0) globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -2566,7 +2575,7 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 - debug: 4.3.7(supports-color@6.1.0) + debug: 4.3.7(supports-color@9.4.0) espree: 9.6.1 globals: 13.24.0 ignore: 5.3.2 @@ -2597,6 +2606,12 @@ packages: crc-32: 1.2.2 dev: false + /@ethereumjs/common@4.4.0: + resolution: {integrity: sha512-Fy5hMqF6GsE6DpYTyqdDIJPJgUtDn4dL120zKw+Pswuo+iLyBsEYuSyzMw6NVzD2vDzcBG9fE4+qX4X2bPc97w==} + dependencies: + '@ethereumjs/util': 9.1.0 + dev: false + /@ethereumjs/rlp@4.0.1: resolution: {integrity: sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==} engines: {node: '>=14'} @@ -2626,6 +2641,21 @@ packages: ethereum-cryptography: 2.2.1 dev: false + /@ethereumjs/tx@5.1.0: + resolution: {integrity: sha512-VUhw2+4yXArJZRWhPjmZFrN4WUjUo0qUZUszVpW2KzsGlqCFf67kwJcH9Rca5eS0CRHjr2qHJLpvYOjNuaXVdA==} + engines: {node: '>=18'} + peerDependencies: + c-kzg: ^2.1.2 + peerDependenciesMeta: + c-kzg: + optional: true + dependencies: + '@ethereumjs/common': 4.4.0 + '@ethereumjs/rlp': 5.0.2 + '@ethereumjs/util': 9.1.0 + ethereum-cryptography: 2.2.1 + dev: false + /@ethereumjs/util@8.1.0: resolution: {integrity: sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==} engines: {node: '>=14'} @@ -2649,7 +2679,7 @@ packages: deprecated: Use @eslint/config-array instead dependencies: '@humanwhocodes/object-schema': 2.0.3 - debug: 4.3.7(supports-color@6.1.0) + debug: 4.3.7(supports-color@9.4.0) minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -3102,6 +3132,17 @@ packages: resolution: {integrity: sha512-5ukLB3bcgltgaFfQfYKYwHDUbwHicekYo53fSEa7xhVkAEqsA74kxdIwoBIURmGUtXe3EVIRm4SYlgcrt2Ri0w==} dev: false + /@keystonehq/base-eth-keyring@0.14.1: + resolution: {integrity: sha512-rhsbN7YlwWEcaUcwapApZe4EC/xQFJVnU0CpzLN0r9b2nqyEp8q9oz42jPr8W6vXHD72bezAZKMvqU/6rCecQQ==} + dependencies: + '@ethereumjs/tx': 4.2.0 + '@ethereumjs/util': 8.1.0 + '@keystonehq/bc-ur-registry-eth': 0.19.1 + hdkey: 2.1.0 + rlp: 3.0.0 + uuid: 8.3.2 + dev: false + /@keystonehq/bc-ur-registry-eth@0.18.1: resolution: {integrity: sha512-xSxqPhFGAvg2J1XTbdfrfzYrNOdOzFpB1VxvOXvkK6s5q6cr8R1Ibh6+wCtqyw3bIb2zTRmLqQ2ZBgHvWdPqZw==} dependencies: @@ -3994,7 +4035,7 @@ packages: '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/type-utils': 5.62.0(eslint@8.57.1)(typescript@4.9.5) '@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@4.9.5) - debug: 4.3.7(supports-color@6.1.0) + debug: 4.3.7(supports-color@9.4.0) eslint: 8.57.1 graphemer: 1.4.0 ignore: 5.3.2 @@ -4055,7 +4096,7 @@ packages: '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) - debug: 4.3.7(supports-color@6.1.0) + debug: 4.3.7(supports-color@9.4.0) eslint: 8.57.1 typescript: 4.9.5 transitivePeerDependencies: @@ -4082,7 +4123,7 @@ packages: dependencies: '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) '@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@4.9.5) - debug: 4.3.7(supports-color@6.1.0) + debug: 4.3.7(supports-color@9.4.0) eslint: 8.57.1 tsutils: 3.21.0(typescript@4.9.5) typescript: 4.9.5 @@ -4104,7 +4145,7 @@ packages: typescript: optional: true dependencies: - debug: 4.3.7 + debug: 4.3.7(supports-color@9.4.0) eslint-visitor-keys: 1.3.0 glob: 7.2.3 is-glob: 4.0.3 @@ -4127,7 +4168,7 @@ packages: dependencies: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 - debug: 4.3.7(supports-color@6.1.0) + debug: 4.3.7(supports-color@9.4.0) globby: 11.1.0 is-glob: 4.0.3 semver: 7.6.3 @@ -4518,7 +4559,7 @@ packages: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} dependencies: - debug: 4.3.7(supports-color@6.1.0) + debug: 4.3.7(supports-color@9.4.0) transitivePeerDependencies: - supports-color dev: true @@ -4636,15 +4677,6 @@ packages: engines: {node: '>=12'} dev: true - /anymatch@2.0.0: - resolution: {integrity: sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==} - dependencies: - micromatch: 3.1.10 - normalize-path: 2.1.1 - transitivePeerDependencies: - - supports-color - dev: true - /anymatch@2.0.0(supports-color@6.1.0): resolution: {integrity: sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==} dependencies: @@ -5369,24 +5401,6 @@ packages: balanced-match: 1.0.2 dev: true - /braces@2.3.2: - resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==} - engines: {node: '>=0.10.0'} - dependencies: - arr-flatten: 1.1.0 - array-unique: 0.3.2 - extend-shallow: 2.0.1 - fill-range: 4.0.0 - isobject: 3.0.1 - repeat-element: 1.1.4 - snapdragon: 0.8.2 - snapdragon-node: 2.1.1 - split-string: 3.1.0 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - dev: true - /braces@2.3.2(supports-color@6.1.0): resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==} engines: {node: '>=0.10.0'} @@ -6280,17 +6294,6 @@ packages: is-data-view: 1.0.1 dev: true - /debug@2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.0.0 - dev: true - /debug@2.6.9(supports-color@6.1.0): resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} peerDependencies: @@ -6303,17 +6306,6 @@ packages: supports-color: 6.1.0 dev: true - /debug@3.2.7: - resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.3 - dev: true - /debug@3.2.7(supports-color@6.1.0): resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} peerDependencies: @@ -6326,17 +6318,6 @@ packages: supports-color: 6.1.0 dev: true - /debug@4.3.7: - resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.3 - /debug@4.3.7(supports-color@6.1.0): resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} @@ -6360,7 +6341,6 @@ packages: dependencies: ms: 2.1.3 supports-color: 9.4.0 - dev: true /decamelize@1.2.0: resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} @@ -7041,7 +7021,7 @@ packages: /eslint-import-resolver-node@0.3.9: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} dependencies: - debug: 3.2.7 + debug: 3.2.7(supports-color@6.1.0) is-core-module: 2.15.1 resolve: 1.22.8 transitivePeerDependencies: @@ -7070,7 +7050,7 @@ packages: optional: true dependencies: '@typescript-eslint/parser': 2.34.0(eslint@6.8.0)(typescript@4.9.5) - debug: 3.2.7 + debug: 3.2.7(supports-color@6.1.0) eslint: 6.8.0 eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: @@ -7103,7 +7083,7 @@ packages: array.prototype.findlastindex: 1.2.5 array.prototype.flat: 1.3.2 array.prototype.flatmap: 1.3.2 - debug: 3.2.7 + debug: 3.2.7(supports-color@6.1.0) doctrine: 2.1.0 eslint: 6.8.0 eslint-import-resolver-node: 0.3.9 @@ -7269,7 +7249,7 @@ packages: ajv: 6.12.6 chalk: 2.4.2 cross-spawn: 6.0.5 - debug: 4.3.7 + debug: 4.3.7(supports-color@9.4.0) doctrine: 3.0.0 eslint-scope: 5.1.1 eslint-utils: 1.4.3 @@ -7323,7 +7303,7 @@ packages: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.7(supports-color@6.1.0) + debug: 4.3.7(supports-color@9.4.0) doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 @@ -7816,21 +7796,6 @@ packages: engines: {node: '>= 0.8.0'} dev: true - /expand-brackets@2.1.4: - resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==} - engines: {node: '>=0.10.0'} - dependencies: - debug: 2.6.9 - define-property: 0.2.5 - extend-shallow: 2.0.1 - posix-character-classes: 0.1.1 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - dev: true - /expand-brackets@2.1.4(supports-color@6.1.0): resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==} engines: {node: '>=0.10.0'} @@ -7934,22 +7899,6 @@ packages: tmp: 0.0.33 dev: true - /extglob@2.0.4: - resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==} - engines: {node: '>=0.10.0'} - dependencies: - array-unique: 0.3.2 - define-property: 1.0.0 - expand-brackets: 2.1.4 - extend-shallow: 2.0.1 - fragment-cache: 0.2.1 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - dev: true - /extglob@2.0.4(supports-color@6.1.0): resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==} engines: {node: '>=0.10.0'} @@ -8838,7 +8787,7 @@ packages: dependencies: '@tootallnate/once': 1.1.2 agent-base: 6.0.2 - debug: 4.3.7(supports-color@6.1.0) + debug: 4.3.7(supports-color@9.4.0) transitivePeerDependencies: - supports-color dev: true @@ -8897,7 +8846,7 @@ packages: engines: {node: '>= 6'} dependencies: agent-base: 6.0.2 - debug: 4.3.7(supports-color@6.1.0) + debug: 4.3.7(supports-color@9.4.0) transitivePeerDependencies: - supports-color dev: true @@ -9554,7 +9503,7 @@ packages: resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} engines: {node: '>=10'} dependencies: - debug: 4.3.7 + debug: 4.3.7(supports-color@9.4.0) istanbul-lib-coverage: 3.2.2 source-map: 0.6.1 transitivePeerDependencies: @@ -11224,27 +11173,6 @@ packages: resolution: {integrity: sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==} dev: false - /micromatch@3.1.10: - resolution: {integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==} - engines: {node: '>=0.10.0'} - dependencies: - arr-diff: 4.0.0 - array-unique: 0.3.2 - braces: 2.3.2 - define-property: 2.0.2 - extend-shallow: 3.0.2 - extglob: 2.0.4 - fragment-cache: 0.2.1 - kind-of: 6.0.3 - nanomatch: 1.2.13 - object.pick: 1.3.0 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - dev: true - /micromatch@3.1.10(supports-color@6.1.0): resolution: {integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==} engines: {node: '>=0.10.0'} @@ -11473,25 +11401,6 @@ packages: dev: true optional: true - /nanomatch@1.2.13: - resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} - engines: {node: '>=0.10.0'} - dependencies: - arr-diff: 4.0.0 - array-unique: 0.3.2 - define-property: 2.0.2 - extend-shallow: 3.0.2 - fragment-cache: 0.2.1 - is-windows: 1.0.2 - kind-of: 6.0.3 - object.pick: 1.3.0 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - dev: true - /nanomatch@1.2.13(supports-color@6.1.0): resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} engines: {node: '>=0.10.0'} @@ -13155,12 +13064,12 @@ packages: hasBin: true dependencies: '@cnakazawa/watch': 1.0.4 - anymatch: 2.0.0 + anymatch: 2.0.0(supports-color@6.1.0) capture-exit: 2.0.0 exec-sh: 0.3.6 execa: 1.0.0 fb-watchman: 2.0.2 - micromatch: 3.1.10 + micromatch: 3.1.10(supports-color@6.1.0) minimist: 1.2.8 walker: 1.0.8 transitivePeerDependencies: @@ -13535,22 +13444,6 @@ packages: kind-of: 3.2.2 dev: true - /snapdragon@0.8.2: - resolution: {integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==} - engines: {node: '>=0.10.0'} - dependencies: - base: 0.11.2 - debug: 2.6.9 - define-property: 0.2.5 - extend-shallow: 2.0.1 - map-cache: 0.2.2 - source-map: 0.5.7 - source-map-resolve: 0.5.3 - use: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - /snapdragon@0.8.2(supports-color@6.1.0): resolution: {integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==} engines: {node: '>=0.10.0'} @@ -14012,7 +13905,6 @@ packages: /supports-color@9.4.0: resolution: {integrity: sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==} engines: {node: '>=12'} - dev: true /supports-hyperlinks@2.3.0: resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==}