Vigia

将 @metamask/eth-sig-util 从 9.x 升级到 10.x

根据 TypeScript 类型自动比较 @metamask/eth-sig-util 9.0.0 与 10.0.0 的公开 API。签名变化表示可能存在不兼容变更,并非确定结论。

概要

已删除的导入路径0
已删除的导出0
已修改的签名14
已删除的类或接口成员0
已修改的类或接口成员0
新增弃用0
要求变化(engines、peer 依赖)1
新增导出0

已删除的导出

未发现。

已修改的签名

export之前之后
@metamask/eth-sig-util · decrypt({ encryptedData, privateKey, }: { encryptedData: EthEncryptedData; privateKey: string; }): string({ encryptedData, privateKey, }: { encryptedData: EthEncryptedData; privateKey: string; }): Promise<string>
@metamask/eth-sig-util · encrypt({ publicKey, data, version, }: { publicKey: string; data: unknown; version: string; }): EthEncryptedData({ publicKey, data, version, }: { publicKey: string; data: unknown; version: string; }): Promise<EthEncryptedData>
@metamask/eth-sig-util · concatSig(v: Buffer, r: Buffer, s: Buffer): string(v: Uint8Array<ArrayBufferLike>, r: Uint8Array<ArrayBufferLike>, s: Uint8Array<ArrayBufferLike>): string
@metamask/eth-sig-util · TypedMessage{ types: T; primaryType: keyof T; domain: { name?: string | undefined; version?: string | undefined; chainId?: number | undefined; verifyingContract?: string | undefined; salt?: ArrayBuffer | undefined; }; message: Record<string, unknown>; }{ types: T; primaryType: keyof T; domain: { name?: string | undefined; version?: string | undefined; chainId?: number | undefined; verifyingContract?: string | undefined; salt?: string | Uint8Array<ArrayBufferLike> | undefined; }; message: Record<string, unknown>; }
@metamask/eth-sig-util · personalSign({ privateKey, data, }: { privateKey: Buffer; data: ToBufferInputTypes; }): string({ privateKey, data, }: { privateKey: Uint8Array<ArrayBufferLike>; data: ToBytesInputTypes; }): string
@metamask/eth-sig-util · decryptSafely({ encryptedData, privateKey, }: { encryptedData: EthEncryptedData; privateKey: string; }): string({ encryptedData, privateKey, }: { encryptedData: EthEncryptedData; privateKey: string; }): Promise<string>
@metamask/eth-sig-util · encryptSafely({ publicKey, data, version, }: { publicKey: string; data: unknown; version: string; }): EthEncryptedData({ publicKey, data, version, }: { publicKey: string; data: unknown; version: string; }): Promise<EthEncryptedData>
@metamask/eth-sig-util · signTypedData<V extends SignTypedDataVersion, T extends MessageTypes>({ privateKey, data, version, }: { privateKey: Buffer; data: V extends "V1" ? TypedDataV1 : TypedMessage<T>; version: V; }): string<V extends SignTypedDataVersion, T extends MessageTypes>({ privateKey, data, version, }: { privateKey: Uint8Array<ArrayBufferLike>; data: V extends "V1" ? TypedDataV1 : TypedMessage<T>; version: V; }): string
@metamask/eth-sig-util · TypedDataUtils{ encodeData: (primaryType: string, data: Record<string, unknown>, types: Record<string, MessageTypeProperty[]>, version: SignTypedDataVersion.V3 | SignTypedDataVersion.V4) => Buffer; encodeType: (primaryType: string, types: Record<string, MessageTypeProperty[]>) => string; findTypeDependencies: (primaryType: string, types: Record<string, MessageTypeProperty[]>, results?: Set<string> | undefined) => Set<string>; hashStruct: (primaryType: string, data: Record<string, unknown>, types: Record<string, MessageTypeProperty[]>, version: SignTypedDataVersion.V3 | SignTypedDataVersion.V4) => Buffer; ha…{ encodeData: (primaryType: string, data: Record<string, unknown>, types: Record<string, MessageTypeProperty[]>, version: SignTypedDataVersion.V3 | SignTypedDataVersion.V4) => Uint8Array<ArrayBufferLike>; encodeType: (primaryType: string, types: Record<string, MessageTypeProperty[]>) => string; findTypeDependencies: (primaryType: string, types: Record<string, MessageTypeProperty[]>, results?: Set<string> | undefined) => Set<string>; hashStruct: (primaryType: string, data: Record<string, unknown>, types: Record<string, MessageTypeProperty[]>, version: SignTypedDataVersion.V3 | SignTypedDataVers…
@metamask/eth-sig-util · extractPublicKey({ data, signature, }: { data: ToBufferInputTypes; signature: string; }): string({ data, signature, }: { data: ToBytesInputTypes; signature: string; }): string
@metamask/eth-sig-util · getEncryptionPublicKey(privateKey: string): string(privateKey: string): Promise<string>
@metamask/eth-sig-util · hashEIP7702Authorization(authorization: EIP7702Authorization): Buffer(authorization: EIP7702Authorization): Uint8Array<ArrayBufferLike>
@metamask/eth-sig-util · recoverPersonalSignature({ data, signature, }: { data: ToBufferInputTypes; signature: string; }): string({ data, signature, }: { data: ToBytesInputTypes; signature: string; }): string
@metamask/eth-sig-util · signEIP7702Authorization({ privateKey, authorization, }: { privateKey: Buffer; authorization: EIP7702Authorization; }): string({ privateKey, authorization, }: { privateKey: Uint8Array<ArrayBufferLike>; authorization: EIP7702Authorization; }): string

已删除的类或接口成员

未发现。

已修改的类或接口成员

未发现。

新增弃用

未发现。

要求变化(engines、peer 依赖)

之前之后
engines.node^22 || ^24 || >=26^22.14.0 || ^24 || ^26

这些版本之间的 changelog

软件包作者发布的文本,按原样显示。

10.0.0
### Changed

- **BREAKING:** Drop CommonJS support ([#11349](https://github.com/MetaMask/core/pull/11349), [#11362](https://github.com/MetaMask/core/pull/11362))
  - This package is now ESM-only, but can still be used in CommonJS projects via `require(esm)` in modern Node.js versions (22+), or dynamic imports in older Node.js versions.
- **BREAKING:** Make `encrypt`, `encryptSafely`, `decrypt`, `decryptSafely`, and `getEncryptionPublicKey` asynchronous ([#11388](https://github.com/MetaMask/core/pull/11388))
  - These functions now return a `Promise`. Callers must `await` the result.
  - The encrypted data format is unchanged, so data encrypted by previous versions can still be decrypted.
  - Decrypting with an invalid nonce length now throws an error from `@noble/ciphers` instead of `bad nonce size`.
- **BREAKING:** Bump TypeScript target to ES2022 ([#11348](https://github.com/MetaMask/core/pull/11348))
- **BREAKING:** `TypedDataUtils.encodeData`, `TypedDataUtils.hashStruct`, `TypedDataUtils.hashType`, `TypedDataUtils.eip712Hash`, `TypedDataUtils.eip712DomainHash`, and `hashEIP7702Authorization` now return a `Uint8Array` instead of a `Buffer` ([#11394](https://github.com/MetaMask/core/pull/11394))
- **BREAKING:** Objects with a `toArray` or `toBuffer` method are no longer accepted as the `data` of `personalSign`, `recoverPersonalSignature`, and `extractPublicKey`, or as `bytes` values in `V1` typed data ([#11394](https://github.com/MetaMask/core/pull/11394))
- `Uint8Array` is now accepted as part of the arguments of `personalSign`, `signTypedData`, `signEIP7702Authorization`, and `concatSig`, instead of `Buffer` ([#11394](https://github.com/MetaMask/core/pull/11394))
- Bump `@metamask/utils` from `^11.0.1` to `^12.0.2` ([#11349](https://github.com/MetaMask/core/pull/11349), [#11474](https://github.com/MetaMask/core/pull/11474))
- Bump `ethereum-cryptography` from `^2.1.2` to `^3.2.0` ([#11349](https://github.com/MetaMask/core/pull/11349))
- Bump `@ethereumjs/util` from `^8.1.0` to `^9.1.0` ([#11394](https://github.com/MetaMask/core/pull/11394))
- Bump `@ethereumjs/rlp` from `^4.0.1` to `^5.0.2` ([#11394](https://github.com/MetaMask/core/pull/11394))
- This package was migrated from `MetaMask/eth-sig-util` to the
  `MetaMask/core` monorepo ([#11327](https://github.com/MetaMask/core/pull/11327))
  - See [`MetaMask/eth-sig-util`](https://github.com/MetaMask/eth-sig-util/blob/73725fc31a51e4d5f6b72d8e5f470c0b10c9d57f/CHANGELOG.md)
    for the original changelog.

### Fixed

- Correct padding calculation so that every ciphertext is a multiple of 2048 bytes ([#11386](https://github.com/MetaMask/core/pull/11386))
- Reject non-integer and unsafe-integer `chainId` and `nonce` values in `signEIP7702Authorization`, `recoverEIP7702Authorization`, and `hashEIP7702Authorization` ([#11392](https://github.com/MetaMask/core/pull/11392))

[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/eth-sig-util@10.0.0...HEAD
[10.0.0]: https://github.com/MetaMas

把这些数据交给你的 AI 智能体

Vigia 是免费的 MCP 服务器:你的编程智能体在写代码之前就能检查版本、不兼容变更和安全漏洞。无需注册,无需 API 密钥。

claude mcp add --transport http vigia https://vigia.coredls.cloud/mcp

添加到 Cursor添加到 VS Code★ 在 GitHub 上加星

任何其他 MCP 客户端
{ "mcpServers": { "vigia": { "url": "https://vigia.coredls.cloud/mcp" } } }

智能体技能(SKILL.md):告诉智能体何时使用 Vigia · 用于拉取请求的 GitHub Action

常见问题

将 @metamask/eth-sig-util 从 9 升级到 10 有哪些不兼容变更?

在 @metamask/eth-sig-util 9.0.0 与 10.0.0 之间,Vigia 发现 0 个已删除的导出、14 个已修改的签名,以及 0 个已删除或修改的类或接口成员。

@metamask/eth-sig-util 10 中弃用了哪些内容?

@metamask/eth-sig-util 10.0.0 中有 0 个导出或成员新被标记为弃用。

供智能体使用

GET https://vigia.coredls.cloud/v1/packages/npm/@metamask/eth-sig-util/upgrade?from=9.0.0&to=10.0.0