@vultisig/cli 0.2.0-alpha.6 → 0.2.0-beta.8
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 +39 -0
- package/README.md +95 -2
- package/dist/index.js +1644 -259
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,44 @@
|
|
|
1
1
|
# @vultisig/cli
|
|
2
2
|
|
|
3
|
+
## 0.2.0-beta.8
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#62](https://github.com/vultisig/vultisig-sdk/pull/62) [`008db7f`](https://github.com/vultisig/vultisig-sdk/commit/008db7fb27580ec78df3bbc41b25aac24924ffd8) Thanks [@bornslippynuxx](https://github.com/bornslippynuxx)! - feat: separate unlock and export passwords in CLI export command
|
|
8
|
+
|
|
9
|
+
The export command now has two distinct password options:
|
|
10
|
+
- `--password`: Unlocks the vault (decrypts stored keyshares for encrypted vaults)
|
|
11
|
+
- `--exportPassword`: Encrypts the exported file (defaults to `--password` if not specified)
|
|
12
|
+
|
|
13
|
+
This fixes the "Password required but callback returned empty value" error when exporting encrypted vaults.
|
|
14
|
+
|
|
15
|
+
Password resolution now uses an in-memory cache that persists across SDK callbacks, allowing the CLI to pre-cache the unlock password before vault loading.
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- [#62](https://github.com/vultisig/vultisig-sdk/pull/62) [`008db7f`](https://github.com/vultisig/vultisig-sdk/commit/008db7fb27580ec78df3bbc41b25aac24924ffd8) Thanks [@bornslippynuxx](https://github.com/bornslippynuxx)! - Simplify export command by removing `--encrypt` and `--no-encrypt` flags. Password is now optional - if provided, vault is encrypted; if omitted or empty, vault is exported without encryption. Path argument now supports directories (appends SDK-generated filename).
|
|
20
|
+
|
|
21
|
+
- Updated dependencies [[`008db7f`](https://github.com/vultisig/vultisig-sdk/commit/008db7fb27580ec78df3bbc41b25aac24924ffd8)]:
|
|
22
|
+
- @vultisig/sdk@0.2.0-beta.8
|
|
23
|
+
|
|
24
|
+
## 0.2.0-alpha.7
|
|
25
|
+
|
|
26
|
+
### Minor Changes
|
|
27
|
+
|
|
28
|
+
- [#60](https://github.com/vultisig/vultisig-sdk/pull/60) [`b4cf357`](https://github.com/vultisig/vultisig-sdk/commit/b4cf357c98ef493b48c807e5bb45cd40b9893295) Thanks [@bornslippynuxx](https://github.com/bornslippynuxx)! - feat: Add SecureVault support for multi-device MPC vaults
|
|
29
|
+
- Implement SecureVault.create() for multi-device keygen ceremony
|
|
30
|
+
- Add RelaySigningService for coordinated signing via relay server
|
|
31
|
+
- Implement SecureVault.sign() and signBytes() methods
|
|
32
|
+
- Add QR code generation for mobile app pairing (compatible with Vultisig iOS/Android)
|
|
33
|
+
- CLI: Add `vault create --type secure` with terminal QR display
|
|
34
|
+
- CLI: Support secure vault signing with device coordination
|
|
35
|
+
- Add comprehensive unit, integration, and E2E tests
|
|
36
|
+
|
|
37
|
+
### Patch Changes
|
|
38
|
+
|
|
39
|
+
- Updated dependencies [[`b4cf357`](https://github.com/vultisig/vultisig-sdk/commit/b4cf357c98ef493b48c807e5bb45cd40b9893295)]:
|
|
40
|
+
- @vultisig/sdk@0.2.0-alpha.7
|
|
41
|
+
|
|
3
42
|
## 0.2.0-alpha.6
|
|
4
43
|
|
|
5
44
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -53,7 +53,7 @@ vultisig completion fish >> ~/.config/fish/completions/vultisig.fish
|
|
|
53
53
|
|
|
54
54
|
## Quick Start
|
|
55
55
|
|
|
56
|
-
### Create a Vault
|
|
56
|
+
### Create a Fast Vault
|
|
57
57
|
|
|
58
58
|
```bash
|
|
59
59
|
vultisig create
|
|
@@ -65,6 +65,46 @@ You'll be prompted to:
|
|
|
65
65
|
3. Provide an email for verification
|
|
66
66
|
4. Enter the verification code sent to your email
|
|
67
67
|
|
|
68
|
+
### Create a Secure Vault (Multi-Device)
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
vultisig create --secure --name "Team Wallet" --shares 3
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
This creates a secure vault with configurable N-of-M threshold:
|
|
75
|
+
1. A QR code displays in your terminal
|
|
76
|
+
2. Other participants scan with Vultisig mobile app (iOS/Android)
|
|
77
|
+
3. Once all devices join, keygen runs automatically
|
|
78
|
+
4. Vault is created and ready to use
|
|
79
|
+
|
|
80
|
+
**Secure vault options:**
|
|
81
|
+
- `--shares <n>` - Number of participating devices (default: 2)
|
|
82
|
+
- `--threshold <n>` - Signing threshold (default: ceil((shares+1)/2))
|
|
83
|
+
|
|
84
|
+
**Example session:**
|
|
85
|
+
```bash
|
|
86
|
+
$ vultisig create --secure --name "Team Wallet" --shares 3
|
|
87
|
+
|
|
88
|
+
Creating secure vault: Team Wallet (2-of-3)
|
|
89
|
+
|
|
90
|
+
Scan this QR code with Vultisig mobile app:
|
|
91
|
+
████████████████████████████
|
|
92
|
+
█ ▄▄▄▄▄ █▀ ▄█▄█▀█ ▄▄▄▄▄ █
|
|
93
|
+
█ █ █ █▀▄▄▄ ▄██ █ █ █
|
|
94
|
+
...
|
|
95
|
+
|
|
96
|
+
Waiting for devices to join...
|
|
97
|
+
⠋ Device joined: iPhone-abc123 (2/3)
|
|
98
|
+
⠋ Device joined: Android-def456 (3/3)
|
|
99
|
+
|
|
100
|
+
All devices joined. Running keygen...
|
|
101
|
+
✓ ECDSA keygen complete
|
|
102
|
+
✓ EdDSA keygen complete
|
|
103
|
+
|
|
104
|
+
✓ Secure vault created: Team Wallet
|
|
105
|
+
Vault ID: vault_abc123def456
|
|
106
|
+
```
|
|
107
|
+
|
|
68
108
|
### Check Balances
|
|
69
109
|
|
|
70
110
|
```bash
|
|
@@ -91,6 +131,29 @@ vultisig send ethereum 0xRecipient... 100 --token 0xTokenAddress...
|
|
|
91
131
|
vultisig send ethereum 0xRecipient... 0.1 --password mypassword
|
|
92
132
|
```
|
|
93
133
|
|
|
134
|
+
**Secure vault transactions:**
|
|
135
|
+
|
|
136
|
+
When using a secure vault, a QR code displays for device coordination:
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
$ vultisig send ethereum 0x742d35Cc... 0.1
|
|
140
|
+
|
|
141
|
+
Preparing transaction...
|
|
142
|
+
|
|
143
|
+
Scan this QR code to approve transaction:
|
|
144
|
+
████████████████████████████
|
|
145
|
+
...
|
|
146
|
+
|
|
147
|
+
Waiting for devices to join signing session...
|
|
148
|
+
⠋ Device joined: iPhone-abc123 (2/2)
|
|
149
|
+
|
|
150
|
+
Signing transaction...
|
|
151
|
+
✓ Transaction signed
|
|
152
|
+
✓ Broadcast: 0x9f8e7d6c...
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
You can cancel with Ctrl+C while waiting for devices.
|
|
156
|
+
|
|
94
157
|
### Interactive Shell
|
|
95
158
|
|
|
96
159
|
Start an interactive session with tab completion and password caching:
|
|
@@ -107,7 +170,8 @@ vultisig -i
|
|
|
107
170
|
|
|
108
171
|
| Command | Description |
|
|
109
172
|
|---------|-------------|
|
|
110
|
-
| `create` | Create a new vault |
|
|
173
|
+
| `create` | Create a new fast vault (server-assisted) |
|
|
174
|
+
| `create --secure` | Create a secure vault (multi-device MPC) |
|
|
111
175
|
| `import <file>` | Import vault from .vult file |
|
|
112
176
|
| `export [path]` | Export vault to file |
|
|
113
177
|
| `verify <vaultId>` | Verify vault with email code |
|
|
@@ -116,6 +180,35 @@ vultisig -i
|
|
|
116
180
|
| `rename <newName>` | Rename the active vault |
|
|
117
181
|
| `info` | Show detailed vault information |
|
|
118
182
|
|
|
183
|
+
**Create options:**
|
|
184
|
+
- `--secure` - Create a secure vault instead of fast vault
|
|
185
|
+
- `--name <name>` - Vault name
|
|
186
|
+
- `--shares <n>` - Number of devices for secure vault (default: 2)
|
|
187
|
+
- `--threshold <n>` - Signing threshold (default: ceil((shares+1)/2))
|
|
188
|
+
|
|
189
|
+
**Export options:**
|
|
190
|
+
- `[path]` - Output file or directory (defaults to SDK-generated filename in current directory)
|
|
191
|
+
- `--password <password>` - Password to unlock encrypted vaults
|
|
192
|
+
- `--exportPassword <password>` - Password to encrypt the export file (defaults to `--password` if provided)
|
|
193
|
+
|
|
194
|
+
```bash
|
|
195
|
+
# Export to current directory (prompts for export password)
|
|
196
|
+
vultisig export
|
|
197
|
+
|
|
198
|
+
# Export to specific directory
|
|
199
|
+
vultisig export /path/to/backups/
|
|
200
|
+
|
|
201
|
+
# Export with encryption (same password for unlock and export)
|
|
202
|
+
vultisig export --password mypassword
|
|
203
|
+
|
|
204
|
+
# Export with different passwords for unlock vs export
|
|
205
|
+
vultisig export --password unlockPass --exportPassword exportPass
|
|
206
|
+
|
|
207
|
+
# Export without encryption (leave password prompt empty)
|
|
208
|
+
vultisig export
|
|
209
|
+
# > Enter password for export encryption (leave empty for no encryption): [enter]
|
|
210
|
+
```
|
|
211
|
+
|
|
119
212
|
### Wallet Operations
|
|
120
213
|
|
|
121
214
|
| Command | Description |
|