Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
069132b
refactor: Rewrite block-cache middleware
rekmarks Oct 27, 2025
97711cb
refactor: Rewrite block-ref-rewrite
rekmarks Oct 27, 2025
7c06f11
refactor: Rewrite block-ref
rekmarks Oct 27, 2025
b289e7e
refactor: Rewrite block-tracker-inspector
rekmarks Oct 27, 2025
c0274a7
refactor: Rewrite fetch
rekmarks Oct 27, 2025
3a3883e
refactor: Rewrite inflight-cache
rekmarks Oct 28, 2025
17bd319
feat: Add providerAsMiddlewareV2
rekmarks Oct 28, 2025
beb94b4
refactor: Rewrite retryOnEmpty
rekmarks Oct 28, 2025
1f1c491
refactor: Rewrite wallet
rekmarks Oct 28, 2025
9292180
refactor: Migrate create-network-client
rekmarks Oct 28, 2025
a489225
refactor: Fix getAccounts
rekmarks Nov 6, 2025
511fb65
refactor: Fix most lint exceptions
rekmarks Nov 6, 2025
97db3ae
refactor: Fix require-jsdoc violations
rekmarks Nov 6, 2025
928ada8
refactor: Migrate processTransaction
rekmarks Nov 6, 2025
b833312
refactor: Migrate process encrypt / decrypt message
rekmarks Nov 6, 2025
536ed51
docs: Update changelogs
rekmarks Oct 28, 2025
03969c6
refactor: Migrate process signature functions
rekmarks Nov 7, 2025
2045196
docs: Update signature-controller changelog
rekmarks Nov 7, 2025
d175498
chore: Lint
rekmarks Nov 7, 2025
64d897d
refactor: Handle frozen data in normalizeTypedMessage
rekmarks Nov 7, 2025
5a55826
fix: Do not assertGet securityAlertResponse
rekmarks Nov 7, 2025
836ca74
refactor: Improve asV2Middleware type
rekmarks Nov 7, 2025
fa35ac0
Merge branch 'main' into rekm/ejrpc-rewrite-2
rekmarks Nov 7, 2025
8a63747
chore: Lint
rekmarks Nov 8, 2025
92a672c
refactor: Pass original, frozen request to RpcService
rekmarks Nov 8, 2025
eb33694
docs: Document engine migration pitfalls
rekmarks Nov 8, 2025
5ec9464
test: Cover more cases in fetch.test.ts
rekmarks Nov 8, 2025
393388c
refactor: Simplify condition in fetch.ts
rekmarks Nov 8, 2025
0339e88
refactor: Asynchronously handle both results and errors in inflight-c…
rekmarks Nov 8, 2025
44a680d
test: Add providerAsMiddleware error test cases
rekmarks Nov 9, 2025
ae42d6d
docs: Tweak eth-json-rpc-middleware changelog
rekmarks Nov 9, 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
83 changes: 1 addition & 82 deletions eslint-warning-thresholds.json
Original file line number Diff line number Diff line change
Expand Up @@ -187,84 +187,6 @@
"packages/eth-block-tracker/tests/withBlockTracker.ts": {
"@typescript-eslint/no-explicit-any": 1
},
"packages/eth-json-rpc-middleware/src/block-cache.ts": {
"@typescript-eslint/no-explicit-any": 1,
"jsdoc/require-jsdoc": 1,
"no-restricted-syntax": 1
},
"packages/eth-json-rpc-middleware/src/block-ref-rewrite.test.ts": {
"@typescript-eslint/no-misused-promises": 3
},
"packages/eth-json-rpc-middleware/src/block-ref-rewrite.ts": {
"jsdoc/match-description": 1
},
"packages/eth-json-rpc-middleware/src/block-ref.test.ts": {
"jest/expect-expect": 2
},
"packages/eth-json-rpc-middleware/src/block-ref.ts": {
"jsdoc/require-jsdoc": 1
},
"packages/eth-json-rpc-middleware/src/block-tracker-inspector.ts": {
"jsdoc/match-description": 1,
"jsdoc/require-jsdoc": 1
},
"packages/eth-json-rpc-middleware/src/fetch.test.ts": {
"jsdoc/match-description": 1
},
"packages/eth-json-rpc-middleware/src/fetch.ts": {
"jsdoc/match-description": 1
},
"packages/eth-json-rpc-middleware/src/inflight-cache.ts": {
"@typescript-eslint/no-explicit-any": 1,
"jsdoc/require-jsdoc": 4
},
"packages/eth-json-rpc-middleware/src/methods/wallet-request-execution-permissions.ts": {
"jsdoc/require-jsdoc": 1
},
"packages/eth-json-rpc-middleware/src/methods/wallet-revoke-execution-permission.ts": {
"jsdoc/require-jsdoc": 1
},
"packages/eth-json-rpc-middleware/src/providerAsMiddleware.ts": {
"jsdoc/require-jsdoc": 1
},
"packages/eth-json-rpc-middleware/src/retryOnEmpty.test.ts": {
"jsdoc/match-description": 3
},
"packages/eth-json-rpc-middleware/src/retryOnEmpty.ts": {
"jsdoc/match-description": 2
},
"packages/eth-json-rpc-middleware/src/utils/cache.ts": {
"jsdoc/match-description": 6
},
"packages/eth-json-rpc-middleware/src/utils/common.ts": {
"jsdoc/match-description": 1
},
"packages/eth-json-rpc-middleware/src/utils/error.ts": {
"jsdoc/require-jsdoc": 1
},
"packages/eth-json-rpc-middleware/src/utils/normalize.ts": {
"jsdoc/match-description": 3
},
"packages/eth-json-rpc-middleware/src/utils/timeout.ts": {
"jsdoc/match-description": 1
},
"packages/eth-json-rpc-middleware/src/utils/validation.ts": {
"jsdoc/require-jsdoc": 4
},
"packages/eth-json-rpc-middleware/src/wallet.ts": {
"@typescript-eslint/no-explicit-any": 2,
"@typescript-eslint/prefer-nullish-coalescing": 5,
"jsdoc/match-description": 3,
"jsdoc/require-jsdoc": 12
},
"packages/eth-json-rpc-middleware/test/setupAfterEnv.ts": {
"@typescript-eslint/no-explicit-any": 3,
"jsdoc/match-description": 2
},
"packages/eth-json-rpc-middleware/test/util/helpers.ts": {
"@typescript-eslint/no-explicit-any": 5,
"jsdoc/match-description": 11
},
"packages/gas-fee-controller/src/GasFeeController.test.ts": {
"import-x/namespace": 2,
"import-x/order": 1
Expand Down Expand Up @@ -307,7 +229,7 @@
"jest/no-conditional-in-test": 7
},
"packages/message-manager/src/AbstractMessageManager.ts": {
"jsdoc/check-tag-names": 25,
"jsdoc/check-tag-names": 23,
"jsdoc/tag-lines": 2
},
"packages/message-manager/src/DecryptMessageManager.test.ts": {
Expand Down Expand Up @@ -365,9 +287,6 @@
"packages/name-controller/src/util.ts": {
"jsdoc/require-returns": 1
},
"packages/network-controller/src/NetworkController.ts": {
"@typescript-eslint/no-misused-promises": 1
},
"packages/notification-services-controller/src/NotificationServicesController/NotificationServicesController.ts": {
"@typescript-eslint/no-misused-promises": 1
},
Expand Down
11 changes: 0 additions & 11 deletions eslint.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -229,17 +229,6 @@ const config = createConfig([
'@typescript-eslint/consistent-type-definitions': 'warn',
},
},
{
files: ['packages/eth-json-rpc-middleware/**/*.ts'],
rules: {
// TODO: Re-enable these rules or add inline ignores for warranted cases
'@typescript-eslint/no-explicit-any': 'warn',
'@typescript-eslint/prefer-nullish-coalescing': 'warn',
'jsdoc/match-description': 'warn',
'jsdoc/require-jsdoc': 'warn',
'no-restricted-syntax': 'warn',
},
},
{
files: ['packages/foundryup/**/*.{js,ts}'],
rules: {
Expand Down
6 changes: 6 additions & 0 deletions packages/eth-json-rpc-middleware/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Changed

- **BREAKING:** Migrate to `JsonRpcEngineV2` ([#7065](https://github.com/MetaMask/core/pull/7065))
- Migrates all middleware from `JsonRpcEngine` to `JsonRpcEngineV2`.
- Signatures of various middleware dependencies, e.g. `processTransaction` of `createWalletMiddleware`, have changed
and must be updated by consumers.
- Be advised that request objects are now deeply frozen, and cannot be mutated.
- To continue using this package with the legacy `JsonRpcEngine`, use the `asLegacyMiddleware` backwards compatibility function.
- **BREAKING:** Use `InternalProvider` instead of `SafeEventEmitterProvider` ([#6796](https://github.com/MetaMask/core/pull/6796))
- Wherever a `SafeEventEmitterProvider` was expected, an `InternalProvider` is now expected instead.
- **BREAKING:** Stop retrying `undefined` results for methods that include a block tag parameter ([#7001](https://github.com/MetaMask/core/pull/7001))
Expand Down
2 changes: 1 addition & 1 deletion packages/eth-json-rpc-middleware/jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ module.exports = merge(baseConfig, {
// An object that configures minimum threshold enforcement for coverage results
coverageThreshold: {
global: {
branches: 81.85,
branches: 81.49,
functions: 90.66,
lines: 89.13,
statements: 89.2,
Expand Down
3 changes: 3 additions & 0 deletions packages/eth-json-rpc-middleware/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@
"@metamask/eth-json-rpc-provider": "^5.0.1",
"@metamask/eth-sig-util": "^8.2.0",
"@metamask/json-rpc-engine": "^10.1.1",
"@metamask/message-manager": "^14.0.0",
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Type-only import, but the types appear in the public interface.

"@metamask/rpc-errors": "^7.0.2",
"@metamask/superstruct": "^3.1.0",
"@metamask/utils": "^11.8.1",
Expand All @@ -71,8 +72,10 @@
"@metamask/error-reporting-service": "^3.0.0",
"@metamask/network-controller": "^25.0.0",
"@ts-bridge/cli": "^0.6.4",
"@types/deep-freeze-strict": "^1.1.0",
"@types/jest": "^27.4.1",
"@types/pify": "^5.0.2",
"deep-freeze-strict": "^1.1.1",
"deepmerge": "^4.2.2",
"jest": "^27.5.1",
"tsd": "^0.31.2",
Expand Down
Loading
Loading