@metamask-previews/keyring-controller 12.0.0-preview.d357889 → 12.2.0-preview.56c80981
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 +102 -5
- package/dist/KeyringController.d.ts +149 -11
- package/dist/KeyringController.d.ts.map +1 -1
- package/dist/KeyringController.js +567 -110
- package/dist/KeyringController.js.map +1 -1
- package/dist/constants.d.ts +30 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +34 -0
- package/dist/constants.js.map +1 -0
- package/package.json +15 -9
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
# Changelog
|
|
2
|
+
|
|
2
3
|
All notable changes to this project will be documented in this file.
|
|
3
4
|
|
|
4
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
@@ -6,12 +7,48 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
6
7
|
|
|
7
8
|
## [Unreleased]
|
|
8
9
|
|
|
10
|
+
## [12.2.0]
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- Add `getDefaultKeyringState` function ([#3799](https://github.com/MetaMask/core/pull/3799))
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
|
|
18
|
+
- Bump `@metamask/base-controller` to `^4.1.1` ([#3821](https://github.com/MetaMask/core/pull/3821))
|
|
19
|
+
- Bump `@metamask/message-manager` to `^7.3.8` ([#3821](https://github.com/MetaMask/core/pull/3821))
|
|
20
|
+
|
|
21
|
+
### Removed
|
|
22
|
+
|
|
23
|
+
- Remove `peerDependency` and `devDependency` upon `@metamask/preferences-controller` ([#3799](https://github.com/MetaMask/core/pull/3799))
|
|
24
|
+
- This dependency was just used to access the types of four methods. Those types are now inlined instead.
|
|
25
|
+
|
|
26
|
+
## [12.1.0]
|
|
27
|
+
|
|
28
|
+
### Added
|
|
29
|
+
|
|
30
|
+
- Add methods to support ERC-4337 accounts ([#3602](https://github.com/MetaMask/core/pull/3602))
|
|
31
|
+
|
|
32
|
+
### Changed
|
|
33
|
+
|
|
34
|
+
- Bump `@metamask/keyring-api` to ^3.0.0 ([#3747](https://github.com/MetaMask/core/pull/3747))
|
|
35
|
+
- Bump @metamask/eth-keyring-controller from 17.0.0 to 17.0.1 ([#3805](https://github.com/MetaMask/core/pull/3805))
|
|
36
|
+
- Bump `@metamask/utils` to `^8.3.0` ([#3769](https://github.com/MetaMask/core/pull/3769))
|
|
37
|
+
|
|
38
|
+
### Fixed
|
|
39
|
+
|
|
40
|
+
- Fix custody keyring name ([#3803](https://github.com/MetaMask/core/pull/3803))
|
|
41
|
+
|
|
9
42
|
## [12.0.0]
|
|
43
|
+
|
|
10
44
|
### Changed
|
|
45
|
+
|
|
11
46
|
- **BREAKING:** Bump `@metamask/preferences-controller` to ^6.0.0
|
|
12
47
|
|
|
13
48
|
## [11.0.0]
|
|
49
|
+
|
|
14
50
|
### Changed
|
|
51
|
+
|
|
15
52
|
- **BREAKING:** Bump `@metamask/preferences-controller` peer dependency from `^5.0.0` to `^5.0.1` ([#3695](https://github.com/MetaMask/core/pull/3695))
|
|
16
53
|
- Bump `@metamask/base-controller` to `^4.0.1` ([#3695](https://github.com/MetaMask/core/pull/3695))
|
|
17
54
|
- Bump `@metamask/eth-keyring-controller` to `^15.1.0` ([#3617](https://github.com/MetaMask/core/pull/3617))
|
|
@@ -20,79 +57,104 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
20
57
|
- Update `forgetQRDevice` to return an object containing `removedAccounts` and `remainingAccounts` ([#3641](https://github.com/MetaMask/core/pull/3641))
|
|
21
58
|
|
|
22
59
|
### Fixed
|
|
60
|
+
|
|
23
61
|
- Remove `@metamask/preferences-controller` dependency ([#3607](https://github.com/MetaMask/core/pull/3607))
|
|
24
62
|
|
|
25
63
|
## [10.0.0]
|
|
64
|
+
|
|
26
65
|
### Changed
|
|
66
|
+
|
|
27
67
|
- **BREAKING:** Bump `@metamask/base-controller` to ^4.0.0 ([#2063](https://github.com/MetaMask/core/pull/2063))
|
|
28
68
|
- This is breaking because the type of the `messenger` has backward-incompatible changes. See the changelog for this package for more.
|
|
29
69
|
- Bump `@metamask/message-manager` to ^7.3.6 ([#2063](https://github.com/MetaMask/core/pull/2063))
|
|
30
70
|
- Bump `@metamask/preferences-controller` to ^4.5.0 ([#2063](https://github.com/MetaMask/core/pull/2063))
|
|
31
71
|
|
|
32
72
|
## [9.0.0]
|
|
73
|
+
|
|
33
74
|
### Added
|
|
75
|
+
|
|
34
76
|
- Add `KeyringController:persistAllKeyrings` messenger action ([#1965](https://github.com/MetaMask/core/pull/1965))
|
|
35
77
|
|
|
36
78
|
### Changed
|
|
37
|
-
|
|
79
|
+
|
|
80
|
+
- **BREAKING** Change `encryptor` constructor option property type to `GenericEncryptor | ExportableKeyEncryptor | undefined` ([#2041](https://github.com/MetaMask/core/pull/2041))
|
|
38
81
|
- When the controller is instantiated with `cacheEncryptionKey: true`, `encryptor` may no longer be of type `GenericEncryptor`.
|
|
39
82
|
- Bump dependency on `@metamask/scure-bip39` 2.1.1 ([#1868](https://github.com/MetaMask/core/pull/1868))
|
|
40
83
|
- Bump dependency on `@metamask/utils` to 8.2.0 ([#1957](https://github.com/MetaMask/core/pull/1957))
|
|
41
84
|
- Bump @metamask/eth-keyring-controller to 14.0.0 ([#1771](https://github.com/MetaMask/core/pull/1771))
|
|
42
85
|
|
|
43
86
|
## [8.1.0]
|
|
87
|
+
|
|
44
88
|
### Changed
|
|
89
|
+
|
|
45
90
|
- Adds additional options to KeyringTypes enum ([#1839](https://github.com/MetaMask/core/pull/1839))
|
|
46
91
|
|
|
47
92
|
## [8.0.3]
|
|
93
|
+
|
|
48
94
|
### Changed
|
|
95
|
+
|
|
49
96
|
- `signTransaction` now accepts an optional `opts: Record<string, unknown>` argument to support `signTransaction` from `Keyring` type ([#1789](https://github.com/MetaMask/core/pull/1789))
|
|
50
97
|
- Bump dependency and peer dependency on `@metamask/preferences-controller` to ^4.4.3
|
|
51
98
|
|
|
52
99
|
## [8.0.2]
|
|
100
|
+
|
|
53
101
|
### Changed
|
|
102
|
+
|
|
54
103
|
- Bump dependency on `@metamask/utils` to ^8.1.0 ([#1639](https://github.com/MetaMask/core/pull/1639))
|
|
55
104
|
- Bump dependency on `@metamask/base-controller` to ^3.2.3
|
|
56
105
|
- Bump dependency on `@metamask/message-manager` to ^7.3.5
|
|
57
106
|
|
|
58
107
|
### Fixed
|
|
108
|
+
|
|
59
109
|
- Update `removeAccount` to remove call to `PreferencesController.removeIdentity` as `PreferencesController` already handles account removal side effects through messenger events ([#1759](https://github.com/MetaMask/core/pull/1759))
|
|
60
110
|
|
|
61
111
|
## [8.0.1]
|
|
112
|
+
|
|
62
113
|
### Changed
|
|
114
|
+
|
|
63
115
|
- Update TypeScript to v4.8.x ([#1718](https://github.com/MetaMask/core/pull/1718))
|
|
64
116
|
|
|
65
117
|
### Fixed
|
|
118
|
+
|
|
66
119
|
- Removed `keyringTypes` from `memStore` ([#1710](https://github.com/MetaMask/core/pull/1710))
|
|
67
120
|
- This property was accidentally getting copied into the memstore from the internal keyring controller. It was causing errors because there is no metadata for this state property.
|
|
68
121
|
|
|
69
122
|
## [8.0.0]
|
|
123
|
+
|
|
70
124
|
### Added
|
|
125
|
+
|
|
71
126
|
- Add `getQRKeyring(): QRKeyring | undefined` method
|
|
72
127
|
- Add `KeyringController:qrKeyringStateChange` messenger event
|
|
73
128
|
- The event emits updates from the internal `QRKeyring` instance, if there's one
|
|
74
129
|
|
|
75
130
|
### Changed
|
|
131
|
+
|
|
76
132
|
- **BREAKING:** addNewKeyring(type) return type changed from Promise<Keyring<Json>> to Promise<unknown>
|
|
77
133
|
- When calling with QRKeyring type the keyring instance is retrieved or created (no multiple QRKeyring instances possible)
|
|
78
134
|
- Bump dependency on `@metamask/message-manager` to ^7.3.3
|
|
79
135
|
- Bump dependency on `@metamask/preferences-controller` to ^4.4.1
|
|
80
136
|
|
|
81
137
|
### Fixed
|
|
138
|
+
|
|
82
139
|
- Fix `addNewAccountForKeyring` for `CustodyKeyring` ([#1694](https://github.com/MetaMask/core/pull/1694))
|
|
83
140
|
|
|
84
141
|
## [7.5.0]
|
|
142
|
+
|
|
85
143
|
### Added
|
|
144
|
+
|
|
86
145
|
- Add `KeyringController` messenger actions ([#1691](https://github.com/MetaMask/core/pull/1691))
|
|
87
146
|
- `KeyringController:getAccounts`
|
|
88
147
|
- `KeyringController:getKeyringsByType`
|
|
89
148
|
- `KeyringController:getKeyringForAccount`
|
|
90
149
|
|
|
91
150
|
### Changed
|
|
151
|
+
|
|
92
152
|
- Bump `@metamask/eth-sig-util` from 6.0.0 to 7.0.0 ([#1669](https://github.com/MetaMask/core/pull/1669))
|
|
93
153
|
|
|
94
154
|
## [7.4.0]
|
|
155
|
+
|
|
95
156
|
### Added
|
|
157
|
+
|
|
96
158
|
- Add `KeyringController` messenger actions ([#1654](https://github.com/MetaMask/core/pull/1654))
|
|
97
159
|
- `KeyringController:signMessage`
|
|
98
160
|
- `KeyringController:signPersonalMessage`
|
|
@@ -101,26 +163,35 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
101
163
|
- `KeyringController:getEncryptionPublicKey`
|
|
102
164
|
|
|
103
165
|
## [7.3.0]
|
|
166
|
+
|
|
104
167
|
### Added
|
|
168
|
+
|
|
105
169
|
- Add `decryptMessage` method ([#1596](https://github.com/MetaMask/core/pull/1596))
|
|
106
170
|
|
|
107
171
|
## [7.2.0]
|
|
172
|
+
|
|
108
173
|
### Added
|
|
174
|
+
|
|
109
175
|
- Add `addNewAccountForKeyring` method ([#1591](https://github.com/MetaMask/core/pull/1591))
|
|
110
176
|
- Add `addNewKeyring` method ([#1594](https://github.com/MetaMask/core/pull/1594))
|
|
111
177
|
- Add `persistAllKeyrings` method ([#1574](https://github.com/MetaMask/core/pull/1574))
|
|
112
178
|
|
|
113
179
|
### Changed
|
|
180
|
+
|
|
114
181
|
- Bump dependency on `@metamask/base-controller` to ^3.2.1
|
|
115
182
|
- Bump dependency on `@metamask/message-manager` to ^7.3.1
|
|
116
183
|
- Bump dependency and peer dependency on `@metamask/preferences-controller` to ^4.4.0
|
|
117
184
|
|
|
118
185
|
## [7.1.0]
|
|
186
|
+
|
|
119
187
|
### Added
|
|
188
|
+
|
|
120
189
|
- Add `getEncryptionPublicKey` method on KeyringController ([#1569](https://github.com/MetaMask/core/pull/1569))
|
|
121
190
|
|
|
122
191
|
## [7.0.0]
|
|
192
|
+
|
|
123
193
|
### Changed
|
|
194
|
+
|
|
124
195
|
- **BREAKING**: Remove `keyringTypes` property from the KeyringController state ([#1441](https://github.com/MetaMask/core/pull/1441))
|
|
125
196
|
- **BREAKING**: Constructor `KeyringControllerOptions` type changed ([#1441](https://github.com/MetaMask/core/pull/1441))
|
|
126
197
|
- The `KeyringControllerOptions.state` accepted type is now `{ vault?: string }`
|
|
@@ -140,16 +211,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
140
211
|
- Update `@keystonehq/metamask-airgapped-keyring` to `^0.13.1` ([#1514](https://github.com/MetaMask/core/pull/1514))
|
|
141
212
|
|
|
142
213
|
## [6.1.0]
|
|
214
|
+
|
|
143
215
|
### Changed
|
|
216
|
+
|
|
144
217
|
- Bump @metamask/eth-sig-util to ^6.0.0 ([#1483](https://github.com/MetaMask/core/pull/1483))
|
|
145
218
|
|
|
146
219
|
## [6.0.0]
|
|
220
|
+
|
|
147
221
|
### Added
|
|
222
|
+
|
|
148
223
|
- Add messenger events `KeyringController:lock` and `KeyringController:unlock`, emitted when the inner EthKeyringController is locked/unlocked ([#1378](https://github.com/MetaMask/core/pull/1378))
|
|
149
224
|
- Also add corresponding types `KeyringControllerLockEvent` and `KeyringControllerUnlockEvent`
|
|
150
225
|
- Add `KeyringController:accountRemoved` event, fired whenever an account is removed through `removeAccount` ([#1416](https://github.com/MetaMask/core/pull/1416))
|
|
151
226
|
|
|
152
227
|
### Changed
|
|
228
|
+
|
|
153
229
|
- **BREAKING:** Update constructor to take a single argument, an options bag, instead of three arguments ([#1378](https://github.com/MetaMask/core/pull/1378))
|
|
154
230
|
- **BREAKING:** Update controller so state is now accessible via `controller.state` instead of `controller.store.getState()` ([#1378](https://github.com/MetaMask/core/pull/1378))
|
|
155
231
|
- **BREAKING:** Update KeyringController to take a required `messenger` option ([#1378](https://github.com/MetaMask/core/pull/1378))
|
|
@@ -176,6 +252,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
176
252
|
- Add `immer` as a dependency ([#1378](https://github.com/MetaMask/core/pull/1378))
|
|
177
253
|
|
|
178
254
|
### Removed
|
|
255
|
+
|
|
179
256
|
- **BREAKING:** Remove `subscribe` and `unsubscribe` methods ([#1378](https://github.com/MetaMask/core/pull/1378))
|
|
180
257
|
- State changes can be directly subscribed to (or unsubscribed from) via the messenger if necessary
|
|
181
258
|
- **BREAKING:** Remove `lock` and `unlock` methods ([#1378](https://github.com/MetaMask/core/pull/1378))
|
|
@@ -185,11 +262,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
185
262
|
- **BREAKING:** Remove `index` from the `Keyring` type ([#1378](https://github.com/MetaMask/core/pull/1378))
|
|
186
263
|
|
|
187
264
|
## [5.1.0]
|
|
265
|
+
|
|
188
266
|
### Added
|
|
267
|
+
|
|
189
268
|
- Add `cancelQRSynchronization` method ([#1387](https://github.com/MetaMask/core.git/pull/1387))
|
|
190
269
|
|
|
191
270
|
## [5.0.0]
|
|
271
|
+
|
|
192
272
|
### Added
|
|
273
|
+
|
|
193
274
|
- Add support for encryption keys ([#1342](https://github.com/MetaMask/core/pull/1342))
|
|
194
275
|
- The configuration option `cacheEncryptionKey` has been added, along with two new state properties (`encryptionKey` and `encryptionSalt`) and a new method (`submitEncryptionKey`)
|
|
195
276
|
- All new state and config entries are optional, so this will have no effect if you're not using this feature.
|
|
@@ -198,9 +279,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
198
279
|
- Add deprecated `getKeyringForAccount` and `getKeyringsByType` methods ([#1376](https://github.com/MetaMask/core/pull/1376), [#1386](https://github.com/MetaMask/core/pull/1386))
|
|
199
280
|
|
|
200
281
|
### Changed
|
|
282
|
+
|
|
201
283
|
- **BREAKING:** Bump to Node 16 ([#1262](https://github.com/MetaMask/core/pull/1262))
|
|
202
284
|
- **BREAKING:** Change return type of `createNewVaultAndRestore` from `string | number[]` to `Uint8Array` ([#1349](https://github.com/MetaMask/core/pull/1349))
|
|
203
|
-
- **BREAKING:** Change return type of `verifySeedPhrase` from `string` to
|
|
285
|
+
- **BREAKING:** Change return type of `verifySeedPhrase` from `string` to `Uint8Array` ([#1338](https://github.com/MetaMask/core/pull/1338))
|
|
204
286
|
- **BREAKING:** Replace `validatePassword` with `verifyPassword` ([#1348](https://github.com/MetaMask/core/pull/1348))
|
|
205
287
|
- `verifyPassword` is asynchronous, unlike `validatePassword` which was not.
|
|
206
288
|
- `verifyPassword` does not return a boolean to indicate whether the password is valid. Instead an error is thrown when it's invalid.
|
|
@@ -218,6 +300,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
218
300
|
- Update `@metamask/preferences-controller` dependency
|
|
219
301
|
|
|
220
302
|
### Fixed
|
|
303
|
+
|
|
221
304
|
- Improve validation of `from` address in `signTypedMessage` ([#1293](https://github.com/MetaMask/core/pull/1293))
|
|
222
305
|
- Improve private key validation in `importAccountWithStrategy` ([#1297](https://github.com/MetaMask/core/pull/1297))
|
|
223
306
|
- A more helpful error is now thrown when the given private key has the wrong length
|
|
@@ -226,37 +309,51 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
226
309
|
- The old behavior was especially confusing because the `subscribe` method is overridden to return state change events from the internal `EthKeyingController` state, resulting in state change events being out of sync with controller state. They should be the same now.
|
|
227
310
|
|
|
228
311
|
## [4.0.0]
|
|
312
|
+
|
|
229
313
|
### Removed
|
|
314
|
+
|
|
230
315
|
- **BREAKING:** Remove `isomorphic-fetch` ([#1106](https://github.com/MetaMask/controllers/pull/1106))
|
|
231
316
|
- Consumers must now import `isomorphic-fetch` or another polyfill themselves if they are running in an environment without `fetch`
|
|
232
317
|
|
|
233
318
|
## [3.0.0]
|
|
319
|
+
|
|
234
320
|
### Changed
|
|
321
|
+
|
|
235
322
|
- **BREAKING:**: Bump eth-keyring-controller version to @metamask/eth-keyring-controller v10 ([#1072](https://github.com/MetaMask/core.git/pull/1072))
|
|
236
|
-
- `exportSeedPhrase` now returns a `Uint8Array` typed SRP (can be converted to a string using [this approach](https://github.com/MetaMask/eth-hd-keyring/blob/53b0570559595ba5b3fd8c80e900d847cd6dee3d/index.js#L40)).
|
|
323
|
+
- `exportSeedPhrase` now returns a `Uint8Array` typed SRP (can be converted to a string using [this approach](https://github.com/MetaMask/eth-hd-keyring/blob/53b0570559595ba5b3fd8c80e900d847cd6dee3d/index.js#L40)). It was previously a Buffer.
|
|
237
324
|
- The HD keyring included with the keyring controller has been updated from v4 to v6. See [the `eth-hd-keyring` changelog entries for v5 and v6](https://github.com/MetaMask/eth-hd-keyring/blob/main/CHANGELOG.md#600) for further details on breaking changes.
|
|
238
325
|
|
|
239
326
|
## [2.0.0]
|
|
327
|
+
|
|
240
328
|
### Changed
|
|
329
|
+
|
|
241
330
|
- **BREAKING:**: Require ES2020 support or greater ([#914](https://github.com/MetaMask/controllers/pull/914))
|
|
242
|
-
|
|
331
|
+
- This change was introduced by an indirect dependency on `ethereumjs/util` v8
|
|
243
332
|
- Rename this repository to `core` ([#1031](https://github.com/MetaMask/controllers/pull/1031))
|
|
244
333
|
- Update `@metamask/eth-sig-util` to v5 ([#914](https://github.com/MetaMask/controllers/pull/914))
|
|
245
334
|
- Update `@metamask/controller-utils` package ([#1041](https://github.com/MetaMask/controllers/pull/1041))
|
|
246
335
|
|
|
247
336
|
## [1.0.1]
|
|
337
|
+
|
|
248
338
|
### Changed
|
|
339
|
+
|
|
249
340
|
- Relax dependencies on `@metamask/base-controller`, `@metamask/controller-utils`, `@metamask/message-manager`, and `@metamask/preferences-controller` (use `^` instead of `~`) ([#998](https://github.com/MetaMask/core/pull/998))
|
|
250
341
|
|
|
251
342
|
## [1.0.0]
|
|
343
|
+
|
|
252
344
|
### Added
|
|
345
|
+
|
|
253
346
|
- Initial release
|
|
347
|
+
|
|
254
348
|
- As a result of converting our shared controllers repo into a monorepo ([#831](https://github.com/MetaMask/core/pull/831)), we've created this package from select parts of [`@metamask/controllers` v33.0.0](https://github.com/MetaMask/core/tree/v33.0.0), namely:
|
|
349
|
+
|
|
255
350
|
- Everything in `src/keyring`
|
|
256
351
|
|
|
257
352
|
All changes listed after this point were applied to this package following the monorepo conversion.
|
|
258
353
|
|
|
259
|
-
[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/keyring-controller@12.
|
|
354
|
+
[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/keyring-controller@12.2.0...HEAD
|
|
355
|
+
[12.2.0]: https://github.com/MetaMask/core/compare/@metamask/keyring-controller@12.1.0...@metamask/keyring-controller@12.2.0
|
|
356
|
+
[12.1.0]: https://github.com/MetaMask/core/compare/@metamask/keyring-controller@12.0.0...@metamask/keyring-controller@12.1.0
|
|
260
357
|
[12.0.0]: https://github.com/MetaMask/core/compare/@metamask/keyring-controller@11.0.0...@metamask/keyring-controller@12.0.0
|
|
261
358
|
[11.0.0]: https://github.com/MetaMask/core/compare/@metamask/keyring-controller@10.0.0...@metamask/keyring-controller@11.0.0
|
|
262
359
|
[10.0.0]: https://github.com/MetaMask/core/compare/@metamask/keyring-controller@9.0.0...@metamask/keyring-controller@10.0.0
|
|
@@ -2,10 +2,10 @@ import type { TxData, TypedTransaction } from '@ethereumjs/tx';
|
|
|
2
2
|
import type { MetaMaskKeyring as QRKeyring, IKeyringState as IQRKeyringState } from '@keystonehq/metamask-airgapped-keyring';
|
|
3
3
|
import type { RestrictedControllerMessenger } from '@metamask/base-controller';
|
|
4
4
|
import { BaseController } from '@metamask/base-controller';
|
|
5
|
-
import
|
|
5
|
+
import * as encryptorUtils from '@metamask/browser-passworder';
|
|
6
|
+
import type { EthBaseTransaction, EthBaseUserOperation, EthKeyring, EthUserOperation, EthUserOperationPatch } from '@metamask/keyring-api';
|
|
6
7
|
import type { PersonalMessageParams, TypedMessageParams } from '@metamask/message-manager';
|
|
7
|
-
import type {
|
|
8
|
-
import type { Eip1024EncryptedData, Hex, Keyring, Json } from '@metamask/utils';
|
|
8
|
+
import type { Eip1024EncryptedData, Hex, Json, KeyringClass } from '@metamask/utils';
|
|
9
9
|
import type { Patch } from 'immer';
|
|
10
10
|
declare const name = "KeyringController";
|
|
11
11
|
/**
|
|
@@ -19,7 +19,7 @@ export declare enum KeyringTypes {
|
|
|
19
19
|
ledger = "Ledger Hardware",
|
|
20
20
|
lattice = "Lattice Hardware",
|
|
21
21
|
snap = "Snap Keyring",
|
|
22
|
-
custody = "Custody"
|
|
22
|
+
custody = "Custody - JSONRPC"
|
|
23
23
|
}
|
|
24
24
|
/**
|
|
25
25
|
* @type KeyringControllerState
|
|
@@ -80,6 +80,18 @@ export declare type KeyringControllerPersistAllKeyringsAction = {
|
|
|
80
80
|
type: `${typeof name}:persistAllKeyrings`;
|
|
81
81
|
handler: KeyringController['persistAllKeyrings'];
|
|
82
82
|
};
|
|
83
|
+
export declare type KeyringControllerPrepareUserOperationAction = {
|
|
84
|
+
type: `${typeof name}:prepareUserOperation`;
|
|
85
|
+
handler: KeyringController['prepareUserOperation'];
|
|
86
|
+
};
|
|
87
|
+
export declare type KeyringControllerPatchUserOperationAction = {
|
|
88
|
+
type: `${typeof name}:patchUserOperation`;
|
|
89
|
+
handler: KeyringController['patchUserOperation'];
|
|
90
|
+
};
|
|
91
|
+
export declare type KeyringControllerSignUserOperationAction = {
|
|
92
|
+
type: `${typeof name}:signUserOperation`;
|
|
93
|
+
handler: KeyringController['signUserOperation'];
|
|
94
|
+
};
|
|
83
95
|
export declare type KeyringControllerStateChangeEvent = {
|
|
84
96
|
type: `${typeof name}:stateChange`;
|
|
85
97
|
payload: [KeyringControllerState, Patch[]];
|
|
@@ -100,16 +112,16 @@ export declare type KeyringControllerQRKeyringStateChangeEvent = {
|
|
|
100
112
|
type: `${typeof name}:qrKeyringStateChange`;
|
|
101
113
|
payload: [ReturnType<IQRKeyringState['getState']>];
|
|
102
114
|
};
|
|
103
|
-
export declare type KeyringControllerActions = KeyringControllerGetStateAction | KeyringControllerSignMessageAction | KeyringControllerSignPersonalMessageAction | KeyringControllerSignTypedMessageAction | KeyringControllerDecryptMessageAction | KeyringControllerGetEncryptionPublicKeyAction | KeyringControllerGetAccountsAction | KeyringControllerGetKeyringsByTypeAction | KeyringControllerGetKeyringForAccountAction | KeyringControllerPersistAllKeyringsAction;
|
|
115
|
+
export declare type KeyringControllerActions = KeyringControllerGetStateAction | KeyringControllerSignMessageAction | KeyringControllerSignPersonalMessageAction | KeyringControllerSignTypedMessageAction | KeyringControllerDecryptMessageAction | KeyringControllerGetEncryptionPublicKeyAction | KeyringControllerGetAccountsAction | KeyringControllerGetKeyringsByTypeAction | KeyringControllerGetKeyringForAccountAction | KeyringControllerPersistAllKeyringsAction | KeyringControllerPrepareUserOperationAction | KeyringControllerPatchUserOperationAction | KeyringControllerSignUserOperationAction;
|
|
104
116
|
export declare type KeyringControllerEvents = KeyringControllerStateChangeEvent | KeyringControllerLockEvent | KeyringControllerUnlockEvent | KeyringControllerAccountRemovedEvent | KeyringControllerQRKeyringStateChangeEvent;
|
|
105
117
|
export declare type KeyringControllerMessenger = RestrictedControllerMessenger<typeof name, KeyringControllerActions, KeyringControllerEvents, string, string>;
|
|
106
118
|
export declare type KeyringControllerOptions = {
|
|
107
|
-
syncIdentities:
|
|
108
|
-
updateIdentities:
|
|
109
|
-
setSelectedAddress:
|
|
110
|
-
setAccountLabel?:
|
|
119
|
+
syncIdentities: (addresses: string[]) => string;
|
|
120
|
+
updateIdentities: (addresses: string[]) => void;
|
|
121
|
+
setSelectedAddress: (selectedAddress: string) => void;
|
|
122
|
+
setAccountLabel?: (address: string, label: string) => void;
|
|
111
123
|
keyringBuilders?: {
|
|
112
|
-
():
|
|
124
|
+
(): EthKeyring<Json>;
|
|
113
125
|
type: string;
|
|
114
126
|
}[];
|
|
115
127
|
messenger: KeyringControllerMessenger;
|
|
@@ -151,6 +163,107 @@ export declare enum SignTypedDataVersion {
|
|
|
151
163
|
V3 = "V3",
|
|
152
164
|
V4 = "V4"
|
|
153
165
|
}
|
|
166
|
+
/**
|
|
167
|
+
* A serialized keyring object.
|
|
168
|
+
*/
|
|
169
|
+
export declare type SerializedKeyring = {
|
|
170
|
+
type: string;
|
|
171
|
+
data: Json;
|
|
172
|
+
};
|
|
173
|
+
/**
|
|
174
|
+
* A generic encryptor interface that supports encrypting and decrypting
|
|
175
|
+
* serializable data with a password.
|
|
176
|
+
*/
|
|
177
|
+
export declare type GenericEncryptor = {
|
|
178
|
+
/**
|
|
179
|
+
* Encrypts the given object with the given password.
|
|
180
|
+
*
|
|
181
|
+
* @param password - The password to encrypt with.
|
|
182
|
+
* @param object - The object to encrypt.
|
|
183
|
+
* @returns The encrypted string.
|
|
184
|
+
*/
|
|
185
|
+
encrypt: (password: string, object: Json) => Promise<string>;
|
|
186
|
+
/**
|
|
187
|
+
* Decrypts the given encrypted string with the given password.
|
|
188
|
+
*
|
|
189
|
+
* @param password - The password to decrypt with.
|
|
190
|
+
* @param encryptedString - The encrypted string to decrypt.
|
|
191
|
+
* @returns The decrypted object.
|
|
192
|
+
*/
|
|
193
|
+
decrypt: (password: string, encryptedString: string) => Promise<unknown>;
|
|
194
|
+
/**
|
|
195
|
+
* Optional vault migration helper. Checks if the provided vault is up to date
|
|
196
|
+
* with the desired encryption algorithm.
|
|
197
|
+
*
|
|
198
|
+
* @param vault - The encrypted string to check.
|
|
199
|
+
* @param targetDerivationParams - The desired target derivation params.
|
|
200
|
+
* @returns The updated encrypted string.
|
|
201
|
+
*/
|
|
202
|
+
isVaultUpdated?: (vault: string, targetDerivationParams?: encryptorUtils.KeyDerivationOptions) => boolean;
|
|
203
|
+
};
|
|
204
|
+
/**
|
|
205
|
+
* An encryptor interface that supports encrypting and decrypting
|
|
206
|
+
* serializable data with a password, and exporting and importing keys.
|
|
207
|
+
*/
|
|
208
|
+
export declare type ExportableKeyEncryptor = GenericEncryptor & {
|
|
209
|
+
/**
|
|
210
|
+
* Encrypts the given object with the given encryption key.
|
|
211
|
+
*
|
|
212
|
+
* @param key - The encryption key to encrypt with.
|
|
213
|
+
* @param object - The object to encrypt.
|
|
214
|
+
* @returns The encryption result.
|
|
215
|
+
*/
|
|
216
|
+
encryptWithKey: (key: unknown, object: Json) => Promise<encryptorUtils.EncryptionResult>;
|
|
217
|
+
/**
|
|
218
|
+
* Encrypts the given object with the given password, and returns the
|
|
219
|
+
* encryption result and the exported key string.
|
|
220
|
+
*
|
|
221
|
+
* @param password - The password to encrypt with.
|
|
222
|
+
* @param object - The object to encrypt.
|
|
223
|
+
* @param salt - The optional salt to use for encryption.
|
|
224
|
+
* @returns The encrypted string and the exported key string.
|
|
225
|
+
*/
|
|
226
|
+
encryptWithDetail: (password: string, object: Json, salt?: string) => Promise<encryptorUtils.DetailedEncryptionResult>;
|
|
227
|
+
/**
|
|
228
|
+
* Decrypts the given encrypted string with the given encryption key.
|
|
229
|
+
*
|
|
230
|
+
* @param key - The encryption key to decrypt with.
|
|
231
|
+
* @param encryptedString - The encrypted string to decrypt.
|
|
232
|
+
* @returns The decrypted object.
|
|
233
|
+
*/
|
|
234
|
+
decryptWithKey: (key: unknown, encryptedString: string) => Promise<unknown>;
|
|
235
|
+
/**
|
|
236
|
+
* Decrypts the given encrypted string with the given password, and returns
|
|
237
|
+
* the decrypted object and the salt and exported key string used for
|
|
238
|
+
* encryption.
|
|
239
|
+
*
|
|
240
|
+
* @param password - The password to decrypt with.
|
|
241
|
+
* @param encryptedString - The encrypted string to decrypt.
|
|
242
|
+
* @returns The decrypted object and the salt and exported key string used for
|
|
243
|
+
* encryption.
|
|
244
|
+
*/
|
|
245
|
+
decryptWithDetail: (password: string, encryptedString: string) => Promise<encryptorUtils.DetailedDecryptResult>;
|
|
246
|
+
/**
|
|
247
|
+
* Generates an encryption key from exported key string.
|
|
248
|
+
*
|
|
249
|
+
* @param key - The exported key string.
|
|
250
|
+
* @returns The encryption key.
|
|
251
|
+
*/
|
|
252
|
+
importKey: (key: string) => Promise<unknown>;
|
|
253
|
+
};
|
|
254
|
+
/**
|
|
255
|
+
* Get builder function for `Keyring`
|
|
256
|
+
*
|
|
257
|
+
* Returns a builder function for `Keyring` with a `type` property.
|
|
258
|
+
*
|
|
259
|
+
* @param KeyringConstructor - The Keyring class for the builder.
|
|
260
|
+
* @returns A builder function for the given Keyring.
|
|
261
|
+
*/
|
|
262
|
+
export declare function keyringBuilderFactory(KeyringConstructor: KeyringClass<Json>): {
|
|
263
|
+
(): import("@metamask/utils").Keyring<Json>;
|
|
264
|
+
type: string;
|
|
265
|
+
};
|
|
266
|
+
export declare const getDefaultKeyringState: () => KeyringControllerState;
|
|
154
267
|
/**
|
|
155
268
|
* Controller responsible for establishing and managing user identity.
|
|
156
269
|
*
|
|
@@ -201,7 +314,7 @@ export declare class KeyringController extends BaseController<typeof name, Keyri
|
|
|
201
314
|
* @param accountCount - Number of accounts before adding a new one, used to make the method idempotent.
|
|
202
315
|
* @returns Promise resolving to keyring current state and added account
|
|
203
316
|
*/
|
|
204
|
-
addNewAccountForKeyring(keyring:
|
|
317
|
+
addNewAccountForKeyring(keyring: EthKeyring<Json>, accountCount?: number): Promise<Hex>;
|
|
205
318
|
/**
|
|
206
319
|
* Adds a new account to the default (first) HD seed phrase keyring without updating identities in preferences.
|
|
207
320
|
*
|
|
@@ -376,6 +489,31 @@ export declare class KeyringController extends BaseController<typeof name, Keyri
|
|
|
376
489
|
* @returns Promise resolving to a signed transaction string.
|
|
377
490
|
*/
|
|
378
491
|
signTransaction(transaction: TypedTransaction, from: string, opts?: Record<string, unknown>): Promise<TxData>;
|
|
492
|
+
/**
|
|
493
|
+
* Convert a base transaction to a base UserOperation.
|
|
494
|
+
*
|
|
495
|
+
* @param from - Address of the sender.
|
|
496
|
+
* @param transactions - Base transactions to include in the UserOperation.
|
|
497
|
+
* @returns A pseudo-UserOperation that can be used to construct a real.
|
|
498
|
+
*/
|
|
499
|
+
prepareUserOperation(from: string, transactions: EthBaseTransaction[]): Promise<EthBaseUserOperation>;
|
|
500
|
+
/**
|
|
501
|
+
* Patches properties of a UserOperation. Currently, only the
|
|
502
|
+
* `paymasterAndData` can be patched.
|
|
503
|
+
*
|
|
504
|
+
* @param from - Address of the sender.
|
|
505
|
+
* @param userOp - UserOperation to patch.
|
|
506
|
+
* @returns A patch to apply to the UserOperation.
|
|
507
|
+
*/
|
|
508
|
+
patchUserOperation(from: string, userOp: EthUserOperation): Promise<EthUserOperationPatch>;
|
|
509
|
+
/**
|
|
510
|
+
* Signs an UserOperation.
|
|
511
|
+
*
|
|
512
|
+
* @param from - Address of the sender.
|
|
513
|
+
* @param userOp - UserOperation to sign.
|
|
514
|
+
* @returns The signature of the UserOperation.
|
|
515
|
+
*/
|
|
516
|
+
signUserOperation(from: string, userOp: EthUserOperation): Promise<string>;
|
|
379
517
|
/**
|
|
380
518
|
* Attempts to decrypt the current vault and load its keyrings,
|
|
381
519
|
* using the given encryption key and salt.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyringController.d.ts","sourceRoot":"","sources":["../src/KeyringController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,KAAK,EACV,eAAe,IAAI,SAAS,EAC5B,aAAa,IAAI,eAAe,EACjC,MAAM,wCAAwC,CAAC;AAChD,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"KeyringController.d.ts","sourceRoot":"","sources":["../src/KeyringController.ts"],"names":[],"mappings":"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"}
|