Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
d82ae64
refactor!: drop uncached encryption support
mikesposito Jun 11, 2025
95b41a5
remove commented code
mikesposito Jun 11, 2025
cf465ce
update tests
mikesposito Jun 12, 2025
383bed2
fix lint
mikesposito Jun 12, 2025
22ba2d5
update changelog
mikesposito Jun 12, 2025
811d079
make `#useEncryptionKey` sync
mikesposito Jun 12, 2025
27657e3
remove unused vars
mikesposito Jun 12, 2025
307119c
revert eslint threshold changes
mikesposito Jun 12, 2025
62318cc
fix seedless-onboarding-controller tests
mikesposito Jun 12, 2025
5f563b5
update changelogs
mikesposito Jun 12, 2025
86b6397
fix changelog validation
mikesposito Jun 12, 2025
f3af65b
remove `CachedEncryptionKey.salt` optionality
mikesposito Jun 12, 2025
6e24cbb
(@mcmire): refactor changelog
mikesposito Jun 13, 2025
13f36eb
fix typo
mikesposito Jun 13, 2025
e45dede
Merge branch 'main' into mikesposito/refactor/remove-uncached-encryption
mikesposito Jun 18, 2025
169346d
update changelog
mikesposito Jun 18, 2025
f037800
refactor: rename class variable to instance variable
mikesposito Jun 19, 2025
c716ec2
restore `encryptionSalt` method argument
mikesposito Jul 22, 2025
3d3a3ab
rename `ignoreVaultKeyMetadata` to `useVaultKeyMetadata`
mikesposito Jul 22, 2025
e529a09
remove salt conditional assignment
mikesposito Jul 22, 2025
b543a75
refactor encryption key rollback
mikesposito Jul 22, 2025
4cbfca6
remove cacheEncryptionKey references
mikesposito Jul 22, 2025
8745d34
Merge branch 'main' into mikesposito/refactor/remove-uncached-encryption
mikesposito Jul 23, 2025
434c779
fix lint
mikesposito Jul 23, 2025
069cac9
fix seedless-onboarding-controller tests
mikesposito Jul 23, 2025
c18a35e
change `MockEncryptor.keyFromPassword` signature
mikesposito Jul 23, 2025
7b919d7
fix seedless-onboarding-controller changelog
mikesposito Jul 23, 2025
9e906a5
rename `#encryptionKey.exported` to `#encryptionKey.serialized`
mikesposito Jul 23, 2025
93e72f5
rename `#useEncryptionKey()` and `encryptionSalt`
mikesposito Jul 23, 2025
7232273
Merge branch 'main' into mikesposito/refactor/remove-uncached-encryption
mikesposito Jul 28, 2025
c601129
Merge branch 'main' into mikesposito/refactor/remove-uncached-encryption
mikesposito Aug 11, 2025
d275c1b
Merge branch 'main' into mikesposito/refactor/remove-uncached-encryption
mikesposito Nov 3, 2025
898a413
Merge branch 'main' into mikesposito/refactor/remove-uncached-encryption
mikesposito Nov 3, 2025
2803e22
fix `decryptWithKey` type
mikesposito Nov 3, 2025
348860f
fix `mockEncryptor`
mikesposito Nov 4, 2025
fdb9859
fix `SeedlessOnboardingController` vault encryptor types
mikesposito Nov 4, 2025
dd44629
add type parameters to KeyringController
mikesposito Nov 4, 2025
fe9b7e4
set `SeedlessOnboardingController` type parameters as optional
mikesposito Nov 4, 2025
dfd6a40
add CHANGELOG note on `encryptor` constructor option
mikesposito Nov 4, 2025
a1c72c9
fix changelog typo
mikesposito Nov 4, 2025
7ed1598
remove KeyringController encryptor test
mikesposito Nov 4, 2025
842f603
fix `SeedlessOnboardingController` lint
mikesposito Nov 4, 2025
4419d7e
bump `@metamask/browser-passworder` from `^4.3.0` to `^6.0.0`
mikesposito Nov 4, 2025
607c80f
rename `ExportableKeyEncryptor` to `Encryptor`
mikesposito Nov 4, 2025
317c0a9
use `decryptWithDetail` instead of `keyFromPassword` for existing vault
mikesposito Nov 5, 2025
e641b37
skip metadata and salt when changing password
mikesposito Nov 6, 2025
2e88eae
add `createVault()` test helper function
mikesposito Nov 6, 2025
94c4520
Merge branch 'main' into mikesposito/refactor/remove-uncached-encryption
mikesposito Nov 6, 2025
ae32c94
bump jest threshold
mikesposito Nov 6, 2025
21f1c91
fix: ignore existing vault when recreating first keyring
mikesposito Nov 6, 2025
e958bba
add type parameter for `EncryptionResult`
mikesposito Nov 6, 2025
70abd50
Merge branch 'main' into mikesposito/refactor/remove-uncached-encryption
mikesposito Nov 6, 2025
cfa6ae2
Merge branch 'main' into mikesposito/refactor/remove-uncached-encryption
mikesposito Nov 6, 2025
106e341
Merge branch 'main' into mikesposito/refactor/remove-uncached-encryption
mikesposito Nov 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions eslint-warning-thresholds.json
Original file line number Diff line number Diff line change
Expand Up @@ -285,10 +285,10 @@
},
"packages/keyring-controller/src/KeyringController.test.ts": {
"@typescript-eslint/no-misused-promises": 1,
"jest/no-conditional-in-test": 2
"jest/no-conditional-in-test": 1
},
"packages/keyring-controller/src/KeyringController.ts": {
"@typescript-eslint/no-unsafe-enum-comparison": 2,
"@typescript-eslint/no-unsafe-enum-comparison": 1,
"@typescript-eslint/no-unused-vars": 1
},
"packages/keyring-controller/tests/mocks/mockKeyring.ts": {
Expand Down
20 changes: 20 additions & 0 deletions packages/keyring-controller/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

### Added

- Added optional `EncryptionKey`, `SupportedKeyDerivationOptions` and `EncryptionResult` type parameters to the `KeyringController`, `ExportableKeyEncryptor` and `KeyringControllerOptions` types ([#5963](https://github.com/MetaMask/core/pull/5963))
- This type parameter allows specifying the encryption key, key derivation options and encryption result types supported by the injected encryptor, defaulting to `@metamask/browser-passworder` types.

### Changed

- **BREAKING:** The `KeyringController` constructor options now require an encryptor ([#5963](https://github.com/MetaMask/core/pull/5963))
- The `encryptor` constructor option was previously optional and defaulted to an instance of `@metamask/browser-passworder`.
- **BREAKING:** The `GenericEncryptor` and `ExportableKeyEncryptor` types have been merged into a single `Encryptor` type ([#5963](https://github.com/MetaMask/core/pull/5963))

### Removed

- **BREAKING:** The `cacheEncryptionKey` parameter has been removed from the `KeyringController` constructor options ([#5963](https://github.com/MetaMask/core/pull/5963))
- This parameter was previously used to enable encryption key in-memory caching, but it is no longer needed as the controller now always uses the latest encryption key.

### Fixed

- Fixed incorrect type for `decryptWithKey` method of `ExportableKeyEncryptor` ([#5963](https://github.com/MetaMask/core/pull/5963))

## [24.0.0]

### Changed
Expand Down
6 changes: 3 additions & 3 deletions packages/keyring-controller/jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@ module.exports = merge(baseConfig, {
// An object that configures minimum threshold enforcement for coverage results
coverageThreshold: {
global: {
branches: 95.78,
branches: 94.52,
functions: 100,
lines: 98.68,
statements: 98.69,
lines: 98.63,
statements: 98.64,
},
},

Expand Down
2 changes: 1 addition & 1 deletion packages/keyring-controller/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,6 @@
"dependencies": {
"@ethereumjs/util": "^9.1.0",
"@metamask/base-controller": "^9.0.0",
"@metamask/browser-passworder": "^4.3.0",
"@metamask/eth-hd-keyring": "^13.0.0",
"@metamask/eth-sig-util": "^8.2.0",
"@metamask/eth-simple-keyring": "^11.0.0",
Expand All @@ -70,6 +69,7 @@
"@lavamoat/allow-scripts": "^3.0.4",
"@lavamoat/preinstall-always-fail": "^2.1.0",
"@metamask/auto-changelog": "^3.4.4",
"@metamask/browser-passworder": "^6.0.0",
"@metamask/keyring-utils": "^3.1.0",
"@metamask/scure-bip39": "^2.1.1",
"@ts-bridge/cli": "^0.6.4",
Expand Down
Loading
Loading