From 63b1227cd3300a4931b690908c191413f75987e7 Mon Sep 17 00:00:00 2001 From: legobt <6wbvkn0j@anonaddy.me> Date: Fri, 24 May 2024 00:46:35 +0000 Subject: [PATCH 1/3] deps(network-controller): eth-block-tracker@^8.0.0 -> @metamask/eth-block-tracker@^9.0.2 --- package.json | 2 +- packages/network-controller/package.json | 2 +- .../src/create-network-client.ts | 2 +- packages/network-controller/src/types.ts | 2 +- tests/fake-block-tracker.ts | 2 +- yarn.lock | 19 ++++++++++++++++--- 6 files changed, 21 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index ee2ef7a43b0..93077e78412 100644 --- a/package.json +++ b/package.json @@ -55,6 +55,7 @@ "@metamask/eslint-config-jest": "^12.1.0", "@metamask/eslint-config-nodejs": "^12.1.0", "@metamask/eslint-config-typescript": "^12.1.0", + "@metamask/eth-block-tracker": "^9.0.2", "@metamask/eth-json-rpc-provider": "^3.0.2", "@metamask/json-rpc-engine": "^8.0.2", "@metamask/utils": "^8.3.0", @@ -74,7 +75,6 @@ "eslint-plugin-n": "^15.7.0", "eslint-plugin-prettier": "^4.2.1", "eslint-plugin-promise": "^6.1.1", - "eth-block-tracker": "^8.0.0", "execa": "^5.0.0", "isomorphic-fetch": "^3.0.0", "jest": "^27.5.1", diff --git a/packages/network-controller/package.json b/packages/network-controller/package.json index 32d447ef66e..8b3fa91fa7e 100644 --- a/packages/network-controller/package.json +++ b/packages/network-controller/package.json @@ -43,6 +43,7 @@ "dependencies": { "@metamask/base-controller": "^5.0.2", "@metamask/controller-utils": "^9.1.0", + "@metamask/eth-block-tracker": "^9.0.2", "@metamask/eth-json-rpc-infura": "^9.1.0", "@metamask/eth-json-rpc-middleware": "^12.1.0", "@metamask/eth-json-rpc-provider": "^3.0.2", @@ -52,7 +53,6 @@ "@metamask/swappable-obj-proxy": "^2.2.0", "@metamask/utils": "^8.3.0", "async-mutex": "^0.2.6", - "eth-block-tracker": "^8.0.0", "immer": "^9.0.6", "uuid": "^8.3.2" }, diff --git a/packages/network-controller/src/create-network-client.ts b/packages/network-controller/src/create-network-client.ts index 99eddd9bf7a..a51d3df423b 100644 --- a/packages/network-controller/src/create-network-client.ts +++ b/packages/network-controller/src/create-network-client.ts @@ -1,5 +1,6 @@ import type { InfuraNetworkType } from '@metamask/controller-utils'; import { ChainId } from '@metamask/controller-utils'; +import { PollingBlockTracker } from '@metamask/eth-block-tracker'; import { createInfuraMiddleware } from '@metamask/eth-json-rpc-infura'; import { createBlockCacheMiddleware, @@ -23,7 +24,6 @@ import { } from '@metamask/json-rpc-engine'; import type { JsonRpcMiddleware } from '@metamask/json-rpc-engine'; import type { Hex, Json, JsonRpcParams } from '@metamask/utils'; -import { PollingBlockTracker } from 'eth-block-tracker'; import type { BlockTracker, diff --git a/packages/network-controller/src/types.ts b/packages/network-controller/src/types.ts index 8d84503b4c8..cef264f236e 100644 --- a/packages/network-controller/src/types.ts +++ b/packages/network-controller/src/types.ts @@ -1,7 +1,7 @@ import type { InfuraNetworkType } from '@metamask/controller-utils'; +import type { BlockTracker as BaseBlockTracker } from '@metamask/eth-block-tracker'; import type { SafeEventEmitterProvider } from '@metamask/eth-json-rpc-provider'; import type { Hex } from '@metamask/utils'; -import type { BlockTracker as BaseBlockTracker } from 'eth-block-tracker'; export type Provider = SafeEventEmitterProvider; diff --git a/tests/fake-block-tracker.ts b/tests/fake-block-tracker.ts index 1c45dee31a4..0c7365b441e 100644 --- a/tests/fake-block-tracker.ts +++ b/tests/fake-block-tracker.ts @@ -1,6 +1,6 @@ +import { PollingBlockTracker } from '@metamask/eth-block-tracker'; import { SafeEventEmitterProvider } from '@metamask/eth-json-rpc-provider'; import { JsonRpcEngine } from '@metamask/json-rpc-engine'; -import { PollingBlockTracker } from 'eth-block-tracker'; /** * Acts like a PollingBlockTracker, but doesn't start the polling loop or diff --git a/yarn.lock b/yarn.lock index 3cb253466fb..9a2b11553aa 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1935,6 +1935,7 @@ __metadata: "@metamask/eslint-config-jest": ^12.1.0 "@metamask/eslint-config-nodejs": ^12.1.0 "@metamask/eslint-config-typescript": ^12.1.0 + "@metamask/eth-block-tracker": ^9.0.2 "@metamask/eth-json-rpc-provider": ^3.0.2 "@metamask/json-rpc-engine": ^8.0.2 "@metamask/utils": ^8.3.0 @@ -1954,7 +1955,6 @@ __metadata: eslint-plugin-n: ^15.7.0 eslint-plugin-prettier: ^4.2.1 eslint-plugin-promise: ^6.1.1 - eth-block-tracker: ^8.0.0 execa: ^5.0.0 isomorphic-fetch: ^3.0.0 jest: ^27.5.1 @@ -2065,6 +2065,19 @@ __metadata: languageName: node linkType: hard +"@metamask/eth-block-tracker@npm:^9.0.2": + version: 9.0.2 + resolution: "@metamask/eth-block-tracker@npm:9.0.2" + dependencies: + "@metamask/eth-json-rpc-provider": ^2.3.1 + "@metamask/safe-event-emitter": ^3.0.0 + "@metamask/utils": ^8.1.0 + json-rpc-random-id: ^1.0.1 + pify: ^5.0.0 + checksum: ec66cb100b011cafb2052bf0ab6935336ea4c8afd1f6c48326faf362a387d36112b5fffe296f3c75edfb09b29516182015c6f31ee6cb615c0ef4d2aa4ddb9c88 + languageName: node + linkType: hard + "@metamask/eth-hd-keyring@npm:^7.0.1": version: 7.0.1 resolution: "@metamask/eth-hd-keyring@npm:7.0.1" @@ -2126,7 +2139,7 @@ __metadata: languageName: unknown linkType: soft -"@metamask/eth-json-rpc-provider@npm:^2.1.0": +"@metamask/eth-json-rpc-provider@npm:^2.1.0, @metamask/eth-json-rpc-provider@npm:^2.3.1": version: 2.3.2 resolution: "@metamask/eth-json-rpc-provider@npm:2.3.2" dependencies: @@ -2514,6 +2527,7 @@ __metadata: "@metamask/auto-changelog": ^3.4.4 "@metamask/base-controller": ^5.0.2 "@metamask/controller-utils": ^9.1.0 + "@metamask/eth-block-tracker": ^9.0.2 "@metamask/eth-json-rpc-infura": ^9.1.0 "@metamask/eth-json-rpc-middleware": ^12.1.0 "@metamask/eth-json-rpc-provider": ^3.0.2 @@ -2527,7 +2541,6 @@ __metadata: "@types/lodash": ^4.14.191 async-mutex: ^0.2.6 deepmerge: ^4.2.2 - eth-block-tracker: ^8.0.0 immer: ^9.0.6 jest: ^27.5.1 jest-when: ^3.4.2 From 7f2ceaca0d86a1f5706eb58545c8b61baa5d81cf Mon Sep 17 00:00:00 2001 From: legobt <6wbvkn0j@anonaddy.me> Date: Mon, 27 May 2024 21:36:12 +0000 Subject: [PATCH 2/3] deps(network-controller): @metamask/eth-json-rpc-middleare@^12.1.0->^12.1.1 --- packages/network-controller/package.json | 2 +- yarn.lock | 25 ++++++------------------ 2 files changed, 7 insertions(+), 20 deletions(-) diff --git a/packages/network-controller/package.json b/packages/network-controller/package.json index 8b3fa91fa7e..d8b0cfa355a 100644 --- a/packages/network-controller/package.json +++ b/packages/network-controller/package.json @@ -45,7 +45,7 @@ "@metamask/controller-utils": "^9.1.0", "@metamask/eth-block-tracker": "^9.0.2", "@metamask/eth-json-rpc-infura": "^9.1.0", - "@metamask/eth-json-rpc-middleware": "^12.1.0", + "@metamask/eth-json-rpc-middleware": "^12.1.1", "@metamask/eth-json-rpc-provider": "^3.0.2", "@metamask/eth-query": "^4.0.0", "@metamask/json-rpc-engine": "^8.0.2", diff --git a/yarn.lock b/yarn.lock index 9a2b11553aa..a910821fb82 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2104,20 +2104,20 @@ __metadata: languageName: node linkType: hard -"@metamask/eth-json-rpc-middleware@npm:^12.1.0": - version: 12.1.0 - resolution: "@metamask/eth-json-rpc-middleware@npm:12.1.0" +"@metamask/eth-json-rpc-middleware@npm:^12.1.1": + version: 12.1.1 + resolution: "@metamask/eth-json-rpc-middleware@npm:12.1.1" dependencies: + "@metamask/eth-block-tracker": ^9.0.2 "@metamask/eth-json-rpc-provider": ^2.1.0 "@metamask/eth-sig-util": ^7.0.0 "@metamask/json-rpc-engine": ^7.1.1 "@metamask/rpc-errors": ^6.0.0 "@metamask/utils": ^8.1.0 - eth-block-tracker: ^8.0.0 klona: ^2.0.6 pify: ^5.0.0 safe-stable-stringify: ^2.4.3 - checksum: de4f0afb80575d853901812406e9c58bafd3a1679164b2b9fa60dcfc8841c7e625661b9f1ebe5ef4d0d15b66736a7a5495388de879739689af9a9539daf1fdfa + checksum: 097a316c94ad1b9e303b3d99cca198444b611fddfa0d37e12683d17a1f7ca9783250af41aa9d6451a0716b756678afe6cadaa6705556e362f9e0877b9d900499 languageName: node linkType: hard @@ -2529,7 +2529,7 @@ __metadata: "@metamask/controller-utils": ^9.1.0 "@metamask/eth-block-tracker": ^9.0.2 "@metamask/eth-json-rpc-infura": ^9.1.0 - "@metamask/eth-json-rpc-middleware": ^12.1.0 + "@metamask/eth-json-rpc-middleware": ^12.1.1 "@metamask/eth-json-rpc-provider": ^3.0.2 "@metamask/eth-query": ^4.0.0 "@metamask/json-rpc-engine": ^8.0.2 @@ -6409,19 +6409,6 @@ __metadata: languageName: node linkType: hard -"eth-block-tracker@npm:^8.0.0": - version: 8.1.0 - resolution: "eth-block-tracker@npm:8.1.0" - dependencies: - "@metamask/eth-json-rpc-provider": ^2.1.0 - "@metamask/safe-event-emitter": ^3.0.0 - "@metamask/utils": ^8.1.0 - json-rpc-random-id: ^1.0.1 - pify: ^5.0.0 - checksum: a7e1e8462995d2924a2daa3224539c120df6c07a26d68522f4338ca23189d4195545e6251b8e64f79dc99a685a8124efd496e25f7ee201dc273d92e3d9e90aad - languageName: node - linkType: hard - "eth-ens-namehash@npm:^2.0.8": version: 2.0.8 resolution: "eth-ens-namehash@npm:2.0.8" From deca5ecef457472076ca3c9379c1b14722f19b01 Mon Sep 17 00:00:00 2001 From: legobt <6wbvkn0j@anonaddy.me> Date: Tue, 28 May 2024 06:50:06 +0000 Subject: [PATCH 3/3] deps: nonce-tracker@^3.0.0 -> @metamask/nonce-tracker@^5.0.0 --- packages/transaction-controller/package.json | 2 +- .../src/TransactionController.test.ts | 2 +- .../src/TransactionController.ts | 13 +++++----- .../helpers/MultichainTrackingHelper.test.ts | 2 +- .../src/helpers/MultichainTrackingHelper.ts | 2 +- .../src/utils/nonce.test.ts | 2 +- .../transaction-controller/src/utils/nonce.ts | 2 +- yarn.lock | 24 ++++++++++--------- 8 files changed, 26 insertions(+), 23 deletions(-) diff --git a/packages/transaction-controller/package.json b/packages/transaction-controller/package.json index 9e8e32d5c1b..759f21333ed 100644 --- a/packages/transaction-controller/package.json +++ b/packages/transaction-controller/package.json @@ -54,6 +54,7 @@ "@metamask/gas-fee-controller": "^15.1.2", "@metamask/metamask-eth-abis": "^3.1.1", "@metamask/network-controller": "^18.1.1", + "@metamask/nonce-tracker": "^5.0.0", "@metamask/rpc-errors": "^6.2.1", "@metamask/utils": "^8.3.0", "async-mutex": "^0.2.6", @@ -61,7 +62,6 @@ "eth-method-registry": "^4.0.0", "fast-json-patch": "^3.1.1", "lodash": "^4.17.21", - "nonce-tracker": "^3.0.0", "uuid": "^8.3.2" }, "devDependencies": { diff --git a/packages/transaction-controller/src/TransactionController.test.ts b/packages/transaction-controller/src/TransactionController.test.ts index 0253086fd08..5cfbdb33fb2 100644 --- a/packages/transaction-controller/src/TransactionController.test.ts +++ b/packages/transaction-controller/src/TransactionController.test.ts @@ -23,10 +23,10 @@ import type { Provider, } from '@metamask/network-controller'; import { NetworkClientType, NetworkStatus } from '@metamask/network-controller'; +import * as NonceTrackerPackage from '@metamask/nonce-tracker'; import { errorCodes, providerErrors, rpcErrors } from '@metamask/rpc-errors'; import { createDeferredPromise } from '@metamask/utils'; import assert from 'assert'; -import * as NonceTrackerPackage from 'nonce-tracker'; import * as uuidModule from 'uuid'; import { FakeBlockTracker } from '../../../tests/fake-block-tracker'; diff --git a/packages/transaction-controller/src/TransactionController.ts b/packages/transaction-controller/src/TransactionController.ts index 8f0f6375787..76a8158ddfe 100644 --- a/packages/transaction-controller/src/TransactionController.ts +++ b/packages/transaction-controller/src/TransactionController.ts @@ -36,6 +36,11 @@ import type { NetworkControllerGetNetworkClientByIdAction, } from '@metamask/network-controller'; import { NetworkClientType } from '@metamask/network-controller'; +import { NonceTracker } from '@metamask/nonce-tracker'; +import type { + NonceLock, + Transaction as NonceTrackerTransaction, +} from '@metamask/nonce-tracker'; import { errorCodes, rpcErrors, providerErrors } from '@metamask/rpc-errors'; import type { Hex } from '@metamask/utils'; import { add0x } from '@metamask/utils'; @@ -43,11 +48,6 @@ import { Mutex } from 'async-mutex'; import { MethodRegistry } from 'eth-method-registry'; import { EventEmitter } from 'events'; import { cloneDeep, mapValues, merge, pickBy, sortBy, isEqual } from 'lodash'; -import { NonceTracker } from 'nonce-tracker'; -import type { - NonceLock, - Transaction as NonceTrackerTransaction, -} from 'nonce-tracker'; import { v1 as random } from 'uuid'; import { DefaultGasFeeFlow } from './gas-flows/DefaultGasFeeFlow'; @@ -3402,9 +3402,10 @@ export class TransactionController extends BaseController< chainId?: Hex; }): NonceTracker { return new NonceTracker({ - // TODO: Replace `any` with type + // TODO: Fix types // eslint-disable-next-line @typescript-eslint/no-explicit-any provider: provider as any, + // @ts-expect-error TODO: Fix types blockTracker, getPendingTransactions: this.#getNonceTrackerPendingTransactions.bind( this, diff --git a/packages/transaction-controller/src/helpers/MultichainTrackingHelper.test.ts b/packages/transaction-controller/src/helpers/MultichainTrackingHelper.test.ts index b50a3bc352d..5a03b5c55f9 100644 --- a/packages/transaction-controller/src/helpers/MultichainTrackingHelper.test.ts +++ b/packages/transaction-controller/src/helpers/MultichainTrackingHelper.test.ts @@ -1,8 +1,8 @@ /* eslint-disable jsdoc/require-jsdoc */ import { ChainId } from '@metamask/controller-utils'; import type { NetworkClientId, Provider } from '@metamask/network-controller'; +import type { NonceTracker } from '@metamask/nonce-tracker'; import type { Hex } from '@metamask/utils'; -import type { NonceTracker } from 'nonce-tracker'; import { useFakeTimers } from 'sinon'; import { advanceTime } from '../../../../tests/helpers'; diff --git a/packages/transaction-controller/src/helpers/MultichainTrackingHelper.ts b/packages/transaction-controller/src/helpers/MultichainTrackingHelper.ts index 7eaa09d60bf..4c2e3fdd646 100644 --- a/packages/transaction-controller/src/helpers/MultichainTrackingHelper.ts +++ b/packages/transaction-controller/src/helpers/MultichainTrackingHelper.ts @@ -7,9 +7,9 @@ import type { Provider, NetworkControllerStateChangeEvent, } from '@metamask/network-controller'; +import type { NonceLock, NonceTracker } from '@metamask/nonce-tracker'; import type { Hex } from '@metamask/utils'; import { Mutex } from 'async-mutex'; -import type { NonceLock, NonceTracker } from 'nonce-tracker'; import { incomingTransactionsLogger as log } from '../logger'; import { EtherscanRemoteTransactionSource } from './EtherscanRemoteTransactionSource'; diff --git a/packages/transaction-controller/src/utils/nonce.test.ts b/packages/transaction-controller/src/utils/nonce.test.ts index 87238f3a69b..ce26077d4f5 100644 --- a/packages/transaction-controller/src/utils/nonce.test.ts +++ b/packages/transaction-controller/src/utils/nonce.test.ts @@ -1,7 +1,7 @@ import type { NonceLock, Transaction as NonceTrackerTransaction, -} from 'nonce-tracker'; +} from '@metamask/nonce-tracker'; import type { TransactionMeta } from '../types'; import { TransactionStatus } from '../types'; diff --git a/packages/transaction-controller/src/utils/nonce.ts b/packages/transaction-controller/src/utils/nonce.ts index 545f3a8156b..b95a73a1682 100644 --- a/packages/transaction-controller/src/utils/nonce.ts +++ b/packages/transaction-controller/src/utils/nonce.ts @@ -2,7 +2,7 @@ import { toHex } from '@metamask/controller-utils'; import type { NonceLock, Transaction as NonceTrackerTransaction, -} from 'nonce-tracker'; +} from '@metamask/nonce-tracker'; import { createModuleLogger, projectLogger } from '../logger'; import type { TransactionMeta, TransactionStatus } from '../types'; diff --git a/yarn.lock b/yarn.lock index a910821fb82..9b4adc9e12b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2555,6 +2555,18 @@ __metadata: languageName: unknown linkType: soft +"@metamask/nonce-tracker@npm:^5.0.0": + version: 5.0.0 + resolution: "@metamask/nonce-tracker@npm:5.0.0" + dependencies: + "@ethersproject/providers": ^5.7.2 + async-mutex: ^0.3.1 + peerDependencies: + "@metamask/eth-block-tracker": ">=9" + checksum: 31de9d62f2aec52688a4b7ec1fab877d1f2f4e6b2b395abef2790ddee63b3511f312c07c29d1c191f900231dbd4cdde8e969b210462f78253a177cacee72688c + languageName: node + linkType: hard + "@metamask/notification-controller@workspace:packages/notification-controller": version: 0.0.0-use.local resolution: "@metamask/notification-controller@workspace:packages/notification-controller" @@ -3044,6 +3056,7 @@ __metadata: "@metamask/gas-fee-controller": ^15.1.2 "@metamask/metamask-eth-abis": ^3.1.1 "@metamask/network-controller": ^18.1.1 + "@metamask/nonce-tracker": ^5.0.0 "@metamask/rpc-errors": ^6.2.1 "@metamask/utils": ^8.3.0 "@types/bn.js": ^5.1.5 @@ -3058,7 +3071,6 @@ __metadata: jest: ^27.5.1 lodash: ^4.17.21 nock: ^13.3.1 - nonce-tracker: ^3.0.0 sinon: ^9.2.4 ts-jest: ^27.1.4 typedoc: ^0.24.8 @@ -9422,16 +9434,6 @@ __metadata: languageName: node linkType: hard -"nonce-tracker@npm:^3.0.0": - version: 3.0.0 - resolution: "nonce-tracker@npm:3.0.0" - dependencies: - "@ethersproject/providers": ^5.7.2 - async-mutex: ^0.3.1 - checksum: f679e83359c3d0b1941cb8569057445b5430b7e5645216442c256b2061ffb08ebee07e15011d3d55acf75710e054abd924c1b1bb38847956ef9f3bb7eed622d4 - languageName: node - linkType: hard - "nopt@npm:^7.0.0": version: 7.2.0 resolution: "nopt@npm:7.2.0"