chore(deps): bump @noble/curves from 1.9.7 to 2.2.0 (#1152)

* chore(deps): bump @noble/curves from 1.9.7 to 2.2.0

Bumps [@noble/curves](https://github.com/paulmillr/noble-curves) from 1.9.7 to 2.2.0.
- [Release notes](https://github.com/paulmillr/noble-curves/releases)
- [Commits](https://github.com/paulmillr/noble-curves/compare/1.9.7...2.2.0)

---
updated-dependencies:
- dependency-name: "@noble/curves"
  dependency-version: 2.2.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* refactor(web): migrate @noble/curves imports to v2 paths

- Move numberToHexUnpadded import from @noble/curves/abstract/utils to
  @noble/curves/utils.js (abstract/utils subpath removed in v2).
- Update @noble/curves/ed25519 to @noble/curves/ed25519.js to match
  required sub-import file extensions.
- Rename x25519.utils.randomPrivateKey() to randomSecretKey() (v2 API).

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dan Ditomaso <dan.ditomaso@gmail.com>
This commit is contained in:
dependabot[bot]
2026-06-16 22:12:32 -04:00
committed by GitHub
co-authored by dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Dan Ditomaso
parent d2cb51d489
commit 251c073a42
10 changed files with 40 additions and 40 deletions
+1 -1
View File
@@ -39,7 +39,7 @@
"@meshtastic/transport-http": "workspace:*",
"@meshtastic/transport-web-bluetooth": "workspace:*",
"@meshtastic/transport-web-serial": "workspace:*",
"@noble/curves": "^1.9.2",
"@noble/curves": "^2.2.0",
"@preact/signals-core": "^1.8.0",
"@radix-ui/react-accordion": "^1.2.13",
"@radix-ui/react-alert-dialog": "^1.1.16",
@@ -1,6 +1,6 @@
import { useNodeAsProto } from "@core/hooks/useNodesAsProto.ts";
import type { Protobuf, Types } from "@meshtastic/sdk";
import { numberToHexUnpadded } from "@noble/curves/abstract/utils";
import { numberToHexUnpadded } from "@noble/curves/utils.js";
import { useTranslation } from "react-i18next";
import {
Dialog,
@@ -31,7 +31,7 @@ import { useNodeAsProto } from "@core/hooks/useNodesAsProto.ts";
import { useAppStore, useDevice } from "@core/stores";
import { cn } from "@core/utils/cn.ts";
import { Protobuf } from "@meshtastic/sdk";
import { numberToHexUnpadded } from "@noble/curves/abstract/utils";
import { numberToHexUnpadded } from "@noble/curves/utils.js";
import { useNavigate } from "@tanstack/react-router";
import { fromByteArray } from "base64-js";
import {
@@ -1,6 +1,6 @@
import { useNodeAsProto } from "@core/hooks/useNodesAsProto.ts";
import type { Protobuf, Types } from "@meshtastic/sdk";
import { numberToHexUnpadded } from "@noble/curves/abstract/utils";
import { numberToHexUnpadded } from "@noble/curves/utils.js";
import { useTranslation } from "react-i18next";
import { TraceRoute } from "../PageComponents/Messages/TraceRoute.tsx";
@@ -1,6 +1,6 @@
import { useNodesAsProto } from "@core/hooks/useNodesAsProto.ts";
import type { Protobuf } from "@meshtastic/sdk";
import { numberToHexUnpadded } from "@noble/curves/abstract/utils";
import { numberToHexUnpadded } from "@noble/curves/utils.js";
import { useTranslation } from "react-i18next";
type NodeUser = Pick<Protobuf.Mesh.NodeInfo, "user">;
@@ -1,5 +1,5 @@
import { Protobuf } from "@meshtastic/sdk";
import { numberToHexUnpadded } from "@noble/curves/abstract/utils";
import { numberToHexUnpadded } from "@noble/curves/utils.js";
import { useCallback, useMemo } from "react";
export type FilterState = {
+2 -2
View File
@@ -1,7 +1,7 @@
import { x25519 } from "@noble/curves/ed25519";
import { x25519 } from "@noble/curves/ed25519.js";
export function getX25519PrivateKey(): Uint8Array {
const key = x25519.utils.randomPrivateKey();
const key = x25519.utils.randomSecretKey();
// scalar clamping for curve25519, according to
// https://www.rfc-editor.org/rfc/rfc7748#section-5
+1 -1
View File
@@ -32,7 +32,7 @@ import {
import { cn } from "@core/utils/cn.ts";
import { hasPos, toLngLat } from "@core/utils/geo.ts";
import type { Protobuf } from "@meshtastic/sdk";
import { numberToHexUnpadded } from "@noble/curves/abstract/utils";
import { numberToHexUnpadded } from "@noble/curves/utils.js";
import { FunnelIcon, LocateFixedIcon } from "lucide-react";
import {
useCallback,
+1 -1
View File
@@ -21,7 +21,7 @@ import { useNodesAsProto } from "@core/hooks/useNodesAsProto.ts";
import { useAppStore, useDevice } from "@core/stores";
import { Protobuf, type Types } from "@meshtastic/sdk";
import { useNodeErrors } from "@meshtastic/sdk-react";
import { numberToHexUnpadded } from "@noble/curves/abstract/utils";
import { numberToHexUnpadded } from "@noble/curves/utils.js";
import { LockIcon, LockOpenIcon } from "lucide-react";
import {
type JSX,
+30 -30
View File
@@ -50,7 +50,7 @@ importers:
version: 6.0.3
vitest:
specifier: ^4.1.8
version: 4.1.8(@types/node@25.9.3)(happy-dom@20.10.3)(jsdom@29.1.1(@noble/hashes@1.8.0))(vite@8.0.16(@types/node@25.9.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.48.0)(tsx@4.21.0)(yaml@2.9.0))
version: 4.1.8(@types/node@25.9.3)(happy-dom@20.10.3)(jsdom@29.1.1(@noble/hashes@2.2.0))(vite@8.0.16(@types/node@25.9.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.48.0)(tsx@4.21.0)(yaml@2.9.0))
apps/web:
dependencies:
@@ -76,8 +76,8 @@ importers:
specifier: workspace:*
version: link:../../packages/transport-web-serial
'@noble/curves':
specifier: ^1.9.2
version: 1.9.7
specifier: ^2.2.0
version: 2.2.0
'@preact/signals-core':
specifier: ^1.8.0
version: 1.14.2
@@ -315,7 +315,7 @@ importers:
version: 6.0.3
vitest:
specifier: ^4.1.8
version: 4.1.8(@types/node@25.9.3)(happy-dom@20.10.3)(jsdom@29.1.1(@noble/hashes@1.8.0))(vite@8.0.16(@types/node@25.9.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.48.0)(tsx@4.21.0)(yaml@2.9.0))
version: 4.1.8(@types/node@25.9.3)(happy-dom@20.10.3)(jsdom@29.1.1(@noble/hashes@2.2.0))(vite@8.0.16(@types/node@25.9.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.48.0)(tsx@4.21.0)(yaml@2.9.0))
packages/protobufs:
dependencies:
@@ -371,7 +371,7 @@ importers:
version: 19.2.17
jsdom:
specifier: ^29.1.1
version: 29.1.1(@noble/hashes@1.8.0)
version: 29.1.1(@noble/hashes@2.2.0)
react:
specifier: ^19.2.7
version: 19.2.7
@@ -526,7 +526,7 @@ importers:
version: 4.1.1(vite@8.0.16(@types/node@25.9.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.48.0)(tsx@4.21.0)(yaml@2.9.0))
vitest:
specifier: ^4.1.8
version: 4.1.8(@types/node@25.9.3)(happy-dom@20.10.3)(jsdom@29.1.1(@noble/hashes@1.8.0))(vite@8.0.16(@types/node@25.9.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.48.0)(tsx@4.21.0)(yaml@2.9.0))
version: 4.1.8(@types/node@25.9.3)(happy-dom@20.10.3)(jsdom@29.1.1(@noble/hashes@2.2.0))(vite@8.0.16(@types/node@25.9.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.48.0)(tsx@4.21.0)(yaml@2.9.0))
packages:
@@ -1450,13 +1450,13 @@ packages:
'@emnapi/core': ^1.7.1
'@emnapi/runtime': ^1.7.1
'@noble/curves@1.9.7':
resolution: {integrity: sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw==}
engines: {node: ^14.21.3 || >=16}
'@noble/curves@2.2.0':
resolution: {integrity: sha512-T/BoHgFXirb0ENSPBquzX0rcjXeM6Lo892a2jlYJkqk83LqZx0l1Of7DzlKJ6jkpvMrkHSnAcgb5JegL8SeIkQ==}
engines: {node: '>= 20.19.0'}
'@noble/hashes@1.8.0':
resolution: {integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==}
engines: {node: ^14.21.3 || >=16}
'@noble/hashes@2.2.0':
resolution: {integrity: sha512-IYqDGiTXab6FniAgnSdZwgWbomxpy9FtYvLKs7wCUs2a8RkITG+DFGO1DM9cr+E3/RgADRpFjrKVaJ1z6sjtEg==}
engines: {node: '>= 20.19.0'}
'@nodelib/fs.scandir@2.1.5':
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
@@ -7198,9 +7198,9 @@ snapshots:
'@esbuild/win32-x64@0.27.7':
optional: true
'@exodus/bytes@1.15.1(@noble/hashes@1.8.0)':
'@exodus/bytes@1.15.1(@noble/hashes@2.2.0)':
optionalDependencies:
'@noble/hashes': 1.8.0
'@noble/hashes': 2.2.0
'@floating-ui/core@1.7.5':
dependencies:
@@ -7376,11 +7376,11 @@ snapshots:
'@tybys/wasm-util': 0.10.2
optional: true
'@noble/curves@1.9.7':
'@noble/curves@2.2.0':
dependencies:
'@noble/hashes': 1.8.0
'@noble/hashes': 2.2.0
'@noble/hashes@1.8.0': {}
'@noble/hashes@2.2.0': {}
'@nodelib/fs.scandir@2.1.5':
dependencies:
@@ -10368,10 +10368,10 @@ snapshots:
d3-voronoi@1.1.2: {}
data-urls@7.0.0(@noble/hashes@1.8.0):
data-urls@7.0.0(@noble/hashes@2.2.0):
dependencies:
whatwg-mimetype: 5.0.0
whatwg-url: 16.0.1(@noble/hashes@1.8.0)
whatwg-url: 16.0.1(@noble/hashes@2.2.0)
transitivePeerDependencies:
- '@noble/hashes'
@@ -10867,9 +10867,9 @@ snapshots:
hookable@6.1.1: {}
html-encoding-sniffer@6.0.0(@noble/hashes@1.8.0):
html-encoding-sniffer@6.0.0(@noble/hashes@2.2.0):
dependencies:
'@exodus/bytes': 1.15.1(@noble/hashes@1.8.0)
'@exodus/bytes': 1.15.1(@noble/hashes@2.2.0)
transitivePeerDependencies:
- '@noble/hashes'
@@ -11093,17 +11093,17 @@ snapshots:
js-tokens@4.0.0: {}
jsdom@29.1.1(@noble/hashes@1.8.0):
jsdom@29.1.1(@noble/hashes@2.2.0):
dependencies:
'@asamuzakjp/css-color': 5.1.11
'@asamuzakjp/dom-selector': 7.1.1
'@bramus/specificity': 2.4.2
'@csstools/css-syntax-patches-for-csstree': 1.1.5(css-tree@3.2.1)
'@exodus/bytes': 1.15.1(@noble/hashes@1.8.0)
'@exodus/bytes': 1.15.1(@noble/hashes@2.2.0)
css-tree: 3.2.1
data-urls: 7.0.0(@noble/hashes@1.8.0)
data-urls: 7.0.0(@noble/hashes@2.2.0)
decimal.js: 10.6.0
html-encoding-sniffer: 6.0.0(@noble/hashes@1.8.0)
html-encoding-sniffer: 6.0.0(@noble/hashes@2.2.0)
is-potential-custom-element-name: 1.0.1
lru-cache: 11.5.1
parse5: 8.0.1
@@ -11114,7 +11114,7 @@ snapshots:
w3c-xmlserializer: 5.0.0
webidl-conversions: 8.0.1
whatwg-mimetype: 5.0.0
whatwg-url: 16.0.1(@noble/hashes@1.8.0)
whatwg-url: 16.0.1(@noble/hashes@2.2.0)
xml-name-validator: 5.0.0
transitivePeerDependencies:
- '@noble/hashes'
@@ -12559,7 +12559,7 @@ snapshots:
tsx: 4.21.0
yaml: 2.9.0
vitest@4.1.8(@types/node@25.9.3)(happy-dom@20.10.3)(jsdom@29.1.1(@noble/hashes@1.8.0))(vite@8.0.16(@types/node@25.9.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.48.0)(tsx@4.21.0)(yaml@2.9.0)):
vitest@4.1.8(@types/node@25.9.3)(happy-dom@20.10.3)(jsdom@29.1.1(@noble/hashes@2.2.0))(vite@8.0.16(@types/node@25.9.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.48.0)(tsx@4.21.0)(yaml@2.9.0)):
dependencies:
'@vitest/expect': 4.1.8
'@vitest/mocker': 4.1.8(vite@8.0.16(@types/node@25.9.3)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.48.0)(tsx@4.21.0)(yaml@2.9.0))
@@ -12584,7 +12584,7 @@ snapshots:
optionalDependencies:
'@types/node': 25.9.3
happy-dom: 20.10.3
jsdom: 29.1.1(@noble/hashes@1.8.0)
jsdom: 29.1.1(@noble/hashes@2.2.0)
transitivePeerDependencies:
- msw
@@ -12606,9 +12606,9 @@ snapshots:
whatwg-mimetype@5.0.0: {}
whatwg-url@16.0.1(@noble/hashes@1.8.0):
whatwg-url@16.0.1(@noble/hashes@2.2.0):
dependencies:
'@exodus/bytes': 1.15.1(@noble/hashes@1.8.0)
'@exodus/bytes': 1.15.1(@noble/hashes@2.2.0)
tr46: 6.0.0
webidl-conversions: 8.0.1
transitivePeerDependencies: