@vultisig/cli 0.11.0 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @vultisig/cli
2
2
 
3
+ ## 0.12.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#165](https://github.com/vultisig/vultisig-sdk/pull/165) [`4195641`](https://github.com/vultisig/vultisig-sdk/commit/4195641a9eb27d41fb27d2c6b605b34d4c4635b0) Thanks [@rcoderdev](https://github.com/rcoderdev)! - Fast vault creation (CLI and SDK) no longer runs ML-DSA keygen; VultiServer only adds ML-DSA via `POST /mldsa`. Use `Vultisig.addPostQuantumKeysToFastVault` / `FastVault.addPostQuantumKeys` or CLI `vultisig add-mldsa` when post-quantum keys are needed. TSS batching for fast vault create now requests `ecdsa` and `eddsa` only. `MldsaKeygen` default relay message ids match VultiServer classic keygen (empty string); batch flows still pass `p-mldsa` explicitly.
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies [[`4195641`](https://github.com/vultisig/vultisig-sdk/commit/4195641a9eb27d41fb27d2c6b605b34d4c4635b0)]:
12
+ - @vultisig/sdk@0.12.0
13
+ - @vultisig/rujira@8.0.0
14
+
3
15
  ## 0.11.0
4
16
 
5
17
  ### Patch Changes
package/dist/index.js CHANGED
@@ -2731,6 +2731,7 @@ function sleep(ms) {
2731
2731
 
2732
2732
  // src/commands/vault-management.ts
2733
2733
  var import_qrcode_terminal4 = __toESM(require_main(), 1);
2734
+ import { FastVault } from "@vultisig/sdk";
2734
2735
  import chalk5 from "chalk";
2735
2736
  import { promises as fs } from "fs";
2736
2737
  import inquirer4 from "inquirer";
@@ -3030,6 +3031,35 @@ async function executeVerify(ctx2, vaultId, options = {}) {
3030
3031
  return false;
3031
3032
  }
3032
3033
  }
3034
+ async function executeAddPostQuantumKeys(ctx2, options) {
3035
+ const vault = await ctx2.ensureActiveVault();
3036
+ if (!(vault instanceof FastVault)) {
3037
+ error("add-mldsa is only supported for fast vaults.");
3038
+ throw new Error("Not a fast vault");
3039
+ }
3040
+ const spinner = createSpinner("Adding ML-DSA keys...");
3041
+ try {
3042
+ let password = options.password;
3043
+ if (password === void 0) {
3044
+ password = await ctx2.getPassword(vault.id, vault.name);
3045
+ }
3046
+ await ctx2.sdk.addPostQuantumKeysToFastVault(vault, {
3047
+ email: options.email,
3048
+ password,
3049
+ signal: options.signal,
3050
+ onProgress: (u) => {
3051
+ if (u.message) {
3052
+ spinner.text = u.message;
3053
+ }
3054
+ }
3055
+ });
3056
+ spinner.succeed("ML-DSA keys added. Vault file updated \u2014 export a backup if needed.");
3057
+ success("Post-quantum signing is now available for this vault (where supported).");
3058
+ } catch (e) {
3059
+ spinner.fail("Failed to add ML-DSA keys");
3060
+ throw e;
3061
+ }
3062
+ }
3033
3063
  async function executeExport(ctx2, options = {}) {
3034
3064
  const vault = await ctx2.ensureActiveVault();
3035
3065
  let exportPassword = options.exportPassword;
@@ -8528,7 +8558,7 @@ var cachedVersion = null;
8528
8558
  function getVersion() {
8529
8559
  if (cachedVersion) return cachedVersion;
8530
8560
  if (true) {
8531
- cachedVersion = "0.11.0";
8561
+ cachedVersion = "0.12.0";
8532
8562
  return cachedVersion;
8533
8563
  }
8534
8564
  try {
@@ -9061,6 +9091,15 @@ createCmd.command("secure").description("Create a secure vault (multi-device MPC
9061
9091
  });
9062
9092
  })
9063
9093
  );
9094
+ program.command("add-mldsa").description("Add ML-DSA (post-quantum) keys to the active fast vault (VultiServer /mldsa)").requiredOption("--email <email>", "Email registered on the vault").option("--password <password>", "Vault password (otherwise prompted or from cache)").action(
9095
+ withExit(async (options) => {
9096
+ const context = await init(program.opts().vault);
9097
+ await executeAddPostQuantumKeys(context, {
9098
+ email: options.email,
9099
+ password: options.password
9100
+ });
9101
+ })
9102
+ );
9064
9103
  program.command("import <file>").description("Import vault from .vult file").option("--password <password>", "Password to decrypt the vault file").action(
9065
9104
  withExit(async (file, options) => {
9066
9105
  const context = await init(program.opts().vault);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vultisig/cli",
3
- "version": "0.11.0",
3
+ "version": "0.12.0",
4
4
  "description": "Command-line wallet for Vultisig - multi-chain MPC wallet management",
5
5
  "type": "module",
6
6
  "bin": {
@@ -53,8 +53,8 @@
53
53
  "@cosmjs/proto-signing": "^0.38.1",
54
54
  "@cosmjs/stargate": "^0.38.1",
55
55
  "@noble/hashes": "^2.0.1",
56
- "@vultisig/rujira": "^7.0.0",
57
- "@vultisig/sdk": "^0.11.0",
56
+ "@vultisig/rujira": "^8.0.0",
57
+ "@vultisig/sdk": "^0.12.0",
58
58
  "chalk": "^5.6.2",
59
59
  "cli-table3": "^0.6.5",
60
60
  "commander": "^14.0.3",