Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand All @@ -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",
Expand Down
4 changes: 2 additions & 2 deletions packages/network-controller/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,16 +43,16 @@
"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-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",
"@metamask/rpc-errors": "^6.2.1",
"@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"
},
Expand Down
2 changes: 1 addition & 1 deletion packages/network-controller/src/create-network-client.ts
Original file line number Diff line number Diff line change
@@ -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,
Expand All @@ -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,
Expand Down
2 changes: 1 addition & 1 deletion packages/network-controller/src/types.ts
Original file line number Diff line number Diff line change
@@ -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;

Expand Down
2 changes: 1 addition & 1 deletion packages/transaction-controller/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -54,14 +54,14 @@
"@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",
"bn.js": "^5.2.1",
"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": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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';
Expand Down
13 changes: 7 additions & 6 deletions packages/transaction-controller/src/TransactionController.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,18 +36,18 @@ 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';
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';
Expand Down Expand Up @@ -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,
Expand Down
Original file line number Diff line number Diff line change
@@ -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';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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';
Expand Down
2 changes: 1 addition & 1 deletion packages/transaction-controller/src/utils/nonce.test.ts
Original file line number Diff line number Diff line change
@@ -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';
Expand Down
2 changes: 1 addition & 1 deletion packages/transaction-controller/src/utils/nonce.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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';
Expand Down
2 changes: 1 addition & 1 deletion tests/fake-block-tracker.ts
Original file line number Diff line number Diff line change
@@ -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
Expand Down
68 changes: 35 additions & 33 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand Down Expand Up @@ -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"
Expand All @@ -2091,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

Expand All @@ -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:
Expand Down Expand Up @@ -2514,8 +2527,9 @@ __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-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
Expand All @@ -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
Expand All @@ -2542,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"
Expand Down Expand Up @@ -3031,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
Expand All @@ -3045,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
Expand Down Expand Up @@ -6396,19 +6421,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"
Expand Down Expand Up @@ -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"
Expand Down