Skip to content

Commit

Permalink
Merge pull request #30068 from MetaMask/Version-v12.10.4
Browse files Browse the repository at this point in the history
Version v12.10.4 RC
  • Loading branch information
danjm authored Feb 5, 2025
2 parents cdc2786 + df5ac4e commit fc07003
Show file tree
Hide file tree
Showing 22 changed files with 1,879 additions and 73 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -57,3 +57,41 @@ index 343b343b8300136756d96acac77aab8140efc95a..69d8e2ea84d6303a3af02bd95458ef30
const checksummedTokenAddresses = tokenAddressesToIgnore.map((address) => {
const checksumAddress = (0, controller_utils_1.toChecksumHexAddress)(address);
ignoredTokensMap[address.toLowerCase()] = true;
diff --git a/dist/TokensController.cjs b/dist/TokensController.cjs
index 343b343b8300136756d96acac77aab8140efc95a..62055b3aa42b5de2e627da2248a81fd571992f4e 100644
--- a/dist/TokensController.cjs
+++ b/dist/TokensController.cjs
@@ -210,13 +210,14 @@ class TokensController extends base_controller_1.BaseController {
const releaseLock = await __classPrivateFieldGet(this, _TokensController_mutex, "f").acquire();
const { allTokens, ignoredTokens, allDetectedTokens } = this.state;
const importedTokensMap = {};
- let interactingChainId;
+ let interactingChainId = __classPrivateFieldGet(this, _TokensController_chainId, "f");
if (networkClientId) {
interactingChainId = this.messagingSystem.call('NetworkController:getNetworkClientById', networkClientId).configuration.chainId;
}
// Used later to dedupe imported tokens
const newTokensMap = [
- ...(allTokens[interactingChainId ?? __classPrivateFieldGet(this, _TokensController_chainId, "f")]?.[__classPrivateFieldGet(this, _TokensController_instances, "m", _TokensController_getSelectedAccount).call(this).address] || []),
+ ...(allTokens[interactingChainId]?.[__classPrivateFieldGet(this, _TokensController_instances, "m", _TokensController_getSelectedAccount).call(this).address] ||
+ []),
...tokensToImport,
].reduce((output, token) => {
output[token.address] = token;
@@ -251,11 +252,13 @@ class TokensController extends base_controller_1.BaseController {
interactingChainId,
});
this.update((state) => {
- state.tokens = newTokens;
+ if (interactingChainId === __classPrivateFieldGet(this, _TokensController_chainId, "f")) {
+ state.tokens = newTokens;
+ state.detectedTokens = newDetectedTokens;
+ state.ignoredTokens = newIgnoredTokens;
+ }
state.allTokens = newAllTokens;
- state.detectedTokens = newDetectedTokens;
state.allDetectedTokens = newAllDetectedTokens;
- state.ignoredTokens = newIgnoredTokens;
state.allIgnoredTokens = newAllIgnoredTokens;
});
}
764 changes: 764 additions & 0 deletions .yarn/patches/@metamask-providers-npm-19.0.0-3d962c6f1a.patch

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
diff --git a/dist/TransactionController.cjs b/dist/TransactionController.cjs
index 7764cca7fd50be8eb1d4cf0a8a4a5d7f6430c8bc..905258c7f8a107dd3b95a10e7241b42cfa70eed7 100644
--- a/dist/TransactionController.cjs
+++ b/dist/TransactionController.cjs
@@ -1808,12 +1808,13 @@ _TransactionController_internalEvents = new WeakMap(), _TransactionController_me
getPendingTransactions: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getNonceTrackerPendingTransactions).bind(this, chainId),
getConfirmedTransactions: this.getNonceTrackerTransactions.bind(this, types_1.TransactionStatus.confirmed, chainId),
});
-}, _TransactionController_createPendingTransactionTracker = function _TransactionController_createPendingTransactionTracker({ provider, blockTracker, chainId, }) {
+}, _TransactionController_createPendingTransactionTracker = function _TransactionController_createPendingTransactionTracker({ provider, blockTracker, chainId, networkClientId, }) {
const ethQuery = new eth_query_1.default(provider);
const pendingTransactionTracker = new PendingTransactionTracker_1.PendingTransactionTracker({
blockTracker,
getChainId: () => chainId,
getEthQuery: () => ethQuery,
+ getNetworkClientId: () => networkClientId,
getTransactions: () => this.state.transactions,
isResubmitEnabled: __classPrivateFieldGet(this, _TransactionController_pendingTransactionOptions, "f").isResubmitEnabled,
getGlobalLock: () => __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").acquireNonceLockForChainIdKey({
diff --git a/dist/helpers/MultichainTrackingHelper.cjs b/dist/helpers/MultichainTrackingHelper.cjs
index 3e1204fc775639e07f617dd455907ef68f1764eb..442c32d95eee884aa97aea11e84aff87db3b5cb4 100644
--- a/dist/helpers/MultichainTrackingHelper.cjs
+++ b/dist/helpers/MultichainTrackingHelper.cjs
@@ -191,6 +191,7 @@ _MultichainTrackingHelper_findNetworkClientIdByChainId = new WeakMap(), _Multich
provider,
blockTracker,
chainId,
+ networkClientId,
});
__classPrivateFieldGet(this, _MultichainTrackingHelper_trackingMap, "f").set(networkClientId, {
nonceTracker,
diff --git a/dist/helpers/PendingTransactionTracker.cjs b/dist/helpers/PendingTransactionTracker.cjs
index 0b88c6d6df8dac03c4704051345f8c03ca7e97af..97e46f0494788f114b018ef66f5b4c0b1738fc20 100644
--- a/dist/helpers/PendingTransactionTracker.cjs
+++ b/dist/helpers/PendingTransactionTracker.cjs
@@ -13,17 +13,17 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
-var _PendingTransactionTracker_instances, _PendingTransactionTracker_droppedBlockCountByHash, _PendingTransactionTracker_getChainId, _PendingTransactionTracker_getEthQuery, _PendingTransactionTracker_getTransactions, _PendingTransactionTracker_isResubmitEnabled, _PendingTransactionTracker_listener, _PendingTransactionTracker_log, _PendingTransactionTracker_getGlobalLock, _PendingTransactionTracker_publishTransaction, _PendingTransactionTracker_running, _PendingTransactionTracker_transactionPoller, _PendingTransactionTracker_beforeCheckPendingTransaction, _PendingTransactionTracker_beforePublish, _PendingTransactionTracker_start, _PendingTransactionTracker_onLatestBlock, _PendingTransactionTracker_checkTransactions, _PendingTransactionTracker_resubmitTransactions, _PendingTransactionTracker_isKnownTransactionError, _PendingTransactionTracker_resubmitTransaction, _PendingTransactionTracker_isResubmitDue, _PendingTransactionTracker_checkTransaction, _PendingTransactionTracker_onTransactionConfirmed, _PendingTransactionTracker_isTransactionDropped, _PendingTransactionTracker_isNonceTaken, _PendingTransactionTracker_getPendingTransactions, _PendingTransactionTracker_warnTransaction, _PendingTransactionTracker_failTransaction, _PendingTransactionTracker_dropTransaction, _PendingTransactionTracker_updateTransaction, _PendingTransactionTracker_getTransactionReceipt, _PendingTransactionTracker_getBlockByHash, _PendingTransactionTracker_getNetworkTransactionCount, _PendingTransactionTracker_getCurrentChainTransactions;
+var _PendingTransactionTracker_instances, _PendingTransactionTracker_droppedBlockCountByHash, _PendingTransactionTracker_getChainId, _PendingTransactionTracker_getEthQuery, _PendingTransactionTracker_getNetworkClientId, _PendingTransactionTracker_getTransactions, _PendingTransactionTracker_isResubmitEnabled, _PendingTransactionTracker_listener, _PendingTransactionTracker_log, _PendingTransactionTracker_getGlobalLock, _PendingTransactionTracker_publishTransaction, _PendingTransactionTracker_running, _PendingTransactionTracker_transactionPoller, _PendingTransactionTracker_beforeCheckPendingTransaction, _PendingTransactionTracker_beforePublish, _PendingTransactionTracker_start, _PendingTransactionTracker_onLatestBlock, _PendingTransactionTracker_checkTransactions, _PendingTransactionTracker_resubmitTransactions, _PendingTransactionTracker_isKnownTransactionError, _PendingTransactionTracker_resubmitTransaction, _PendingTransactionTracker_isResubmitDue, _PendingTransactionTracker_checkTransaction, _PendingTransactionTracker_onTransactionConfirmed, _PendingTransactionTracker_isTransactionDropped, _PendingTransactionTracker_isNonceTaken, _PendingTransactionTracker_getPendingTransactions, _PendingTransactionTracker_warnTransaction, _PendingTransactionTracker_failTransaction, _PendingTransactionTracker_dropTransaction, _PendingTransactionTracker_updateTransaction, _PendingTransactionTracker_getTransactionReceipt, _PendingTransactionTracker_getBlockByHash, _PendingTransactionTracker_getNetworkTransactionCount, _PendingTransactionTracker_getChainTransactions, _PendingTransactionTracker_getNetworkClientTransactions;
Object.defineProperty(exports, "__esModule", { value: true });
exports.PendingTransactionTracker = void 0;
const controller_utils_1 = require("@metamask/controller-utils");
// This package purposefully relies on Node's EventEmitter module.
-// eslint-disable-next-line import/no-nodejs-modules
+// eslint-disable-next-line import-x/no-nodejs-modules
const events_1 = __importDefault(require("events"));
const lodash_1 = require("lodash");
+const TransactionPoller_1 = require("./TransactionPoller.cjs");
const logger_1 = require("../logger.cjs");
const types_1 = require("../types.cjs");
-const TransactionPoller_1 = require("./TransactionPoller.cjs");
/**
* We wait this many blocks before emitting a 'transaction-dropped' event
* This is because we could be talking to a node that is out of sync
@@ -42,11 +42,12 @@ const KNOWN_TRANSACTION_ERRORS = [
];
const log = (0, logger_1.createModuleLogger)(logger_1.projectLogger, 'pending-transactions');
class PendingTransactionTracker {
- constructor({ blockTracker, getChainId, getEthQuery, getTransactions, isResubmitEnabled, getGlobalLock, publishTransaction, hooks, }) {
+ constructor({ blockTracker, getChainId, getEthQuery, getNetworkClientId, getTransactions, isResubmitEnabled, getGlobalLock, publishTransaction, hooks, }) {
_PendingTransactionTracker_instances.add(this);
_PendingTransactionTracker_droppedBlockCountByHash.set(this, void 0);
_PendingTransactionTracker_getChainId.set(this, void 0);
_PendingTransactionTracker_getEthQuery.set(this, void 0);
+ _PendingTransactionTracker_getNetworkClientId.set(this, void 0);
_PendingTransactionTracker_getTransactions.set(this, void 0);
_PendingTransactionTracker_isResubmitEnabled.set(this, void 0);
// TODO: Replace `any` with type
@@ -72,16 +73,17 @@ class PendingTransactionTracker {
__classPrivateFieldSet(this, _PendingTransactionTracker_droppedBlockCountByHash, new Map(), "f");
__classPrivateFieldSet(this, _PendingTransactionTracker_getChainId, getChainId, "f");
__classPrivateFieldSet(this, _PendingTransactionTracker_getEthQuery, getEthQuery, "f");
+ __classPrivateFieldSet(this, _PendingTransactionTracker_getNetworkClientId, getNetworkClientId, "f");
__classPrivateFieldSet(this, _PendingTransactionTracker_getTransactions, getTransactions, "f");
__classPrivateFieldSet(this, _PendingTransactionTracker_isResubmitEnabled, isResubmitEnabled ?? (() => true), "f");
__classPrivateFieldSet(this, _PendingTransactionTracker_listener, __classPrivateFieldGet(this, _PendingTransactionTracker_instances, "m", _PendingTransactionTracker_onLatestBlock).bind(this), "f");
- __classPrivateFieldSet(this, _PendingTransactionTracker_log, (0, logger_1.createModuleLogger)(log, getChainId()), "f");
__classPrivateFieldSet(this, _PendingTransactionTracker_getGlobalLock, getGlobalLock, "f");
__classPrivateFieldSet(this, _PendingTransactionTracker_publishTransaction, publishTransaction, "f");
__classPrivateFieldSet(this, _PendingTransactionTracker_running, false, "f");
__classPrivateFieldSet(this, _PendingTransactionTracker_transactionPoller, new TransactionPoller_1.TransactionPoller(blockTracker), "f");
__classPrivateFieldSet(this, _PendingTransactionTracker_beforePublish, hooks?.beforePublish ?? (() => true), "f");
__classPrivateFieldSet(this, _PendingTransactionTracker_beforeCheckPendingTransaction, hooks?.beforeCheckPendingTransaction ?? (() => true), "f");
+ __classPrivateFieldSet(this, _PendingTransactionTracker_log, (0, logger_1.createModuleLogger)(log, `${getChainId()}:${getNetworkClientId()}`), "f");
}
/**
* Force checks the network if the given transaction is confirmed and updates it's status.
@@ -111,7 +113,7 @@ class PendingTransactionTracker {
}
}
exports.PendingTransactionTracker = PendingTransactionTracker;
-_PendingTransactionTracker_droppedBlockCountByHash = new WeakMap(), _PendingTransactionTracker_getChainId = new WeakMap(), _PendingTransactionTracker_getEthQuery = new WeakMap(), _PendingTransactionTracker_getTransactions = new WeakMap(), _PendingTransactionTracker_isResubmitEnabled = new WeakMap(), _PendingTransactionTracker_listener = new WeakMap(), _PendingTransactionTracker_log = new WeakMap(), _PendingTransactionTracker_getGlobalLock = new WeakMap(), _PendingTransactionTracker_publishTransaction = new WeakMap(), _PendingTransactionTracker_running = new WeakMap(), _PendingTransactionTracker_transactionPoller = new WeakMap(), _PendingTransactionTracker_beforeCheckPendingTransaction = new WeakMap(), _PendingTransactionTracker_beforePublish = new WeakMap(), _PendingTransactionTracker_instances = new WeakSet(), _PendingTransactionTracker_start = function _PendingTransactionTracker_start(pendingTransactions) {
+_PendingTransactionTracker_droppedBlockCountByHash = new WeakMap(), _PendingTransactionTracker_getChainId = new WeakMap(), _PendingTransactionTracker_getEthQuery = new WeakMap(), _PendingTransactionTracker_getNetworkClientId = new WeakMap(), _PendingTransactionTracker_getTransactions = new WeakMap(), _PendingTransactionTracker_isResubmitEnabled = new WeakMap(), _PendingTransactionTracker_listener = new WeakMap(), _PendingTransactionTracker_log = new WeakMap(), _PendingTransactionTracker_getGlobalLock = new WeakMap(), _PendingTransactionTracker_publishTransaction = new WeakMap(), _PendingTransactionTracker_running = new WeakMap(), _PendingTransactionTracker_transactionPoller = new WeakMap(), _PendingTransactionTracker_beforeCheckPendingTransaction = new WeakMap(), _PendingTransactionTracker_beforePublish = new WeakMap(), _PendingTransactionTracker_instances = new WeakSet(), _PendingTransactionTracker_start = function _PendingTransactionTracker_start(pendingTransactions) {
__classPrivateFieldGet(this, _PendingTransactionTracker_transactionPoller, "f").setPendingTransactions(pendingTransactions);
if (__classPrivateFieldGet(this, _PendingTransactionTracker_running, "f")) {
return;
@@ -295,13 +297,13 @@ _PendingTransactionTracker_droppedBlockCountByHash = new WeakMap(), _PendingTran
return true;
}, _PendingTransactionTracker_isNonceTaken = function _PendingTransactionTracker_isNonceTaken(txMeta) {
const { id, txParams } = txMeta;
- return __classPrivateFieldGet(this, _PendingTransactionTracker_instances, "m", _PendingTransactionTracker_getCurrentChainTransactions).call(this).some((tx) => tx.id !== id &&
+ return __classPrivateFieldGet(this, _PendingTransactionTracker_instances, "m", _PendingTransactionTracker_getChainTransactions).call(this).some((tx) => tx.id !== id &&
tx.txParams.from === txParams.from &&
tx.status === types_1.TransactionStatus.confirmed &&
tx.txParams.nonce === txParams.nonce &&
tx.type !== types_1.TransactionType.incoming);
}, _PendingTransactionTracker_getPendingTransactions = function _PendingTransactionTracker_getPendingTransactions() {
- return __classPrivateFieldGet(this, _PendingTransactionTracker_instances, "m", _PendingTransactionTracker_getCurrentChainTransactions).call(this).filter((tx) => tx.status === types_1.TransactionStatus.submitted &&
+ return __classPrivateFieldGet(this, _PendingTransactionTracker_instances, "m", _PendingTransactionTracker_getNetworkClientTransactions).call(this).filter((tx) => tx.status === types_1.TransactionStatus.submitted &&
!tx.verifiedOnBlockchain &&
!tx.isUserOperation);
}, _PendingTransactionTracker_warnTransaction = function _PendingTransactionTracker_warnTransaction(txMeta, error, message) {
@@ -326,8 +328,11 @@ _PendingTransactionTracker_droppedBlockCountByHash = new WeakMap(), _PendingTran
]);
}, _PendingTransactionTracker_getNetworkTransactionCount = async function _PendingTransactionTracker_getNetworkTransactionCount(address) {
return await (0, controller_utils_1.query)(__classPrivateFieldGet(this, _PendingTransactionTracker_getEthQuery, "f").call(this), 'getTransactionCount', [address]);
-}, _PendingTransactionTracker_getCurrentChainTransactions = function _PendingTransactionTracker_getCurrentChainTransactions() {
- const currentChainId = __classPrivateFieldGet(this, _PendingTransactionTracker_getChainId, "f").call(this);
- return __classPrivateFieldGet(this, _PendingTransactionTracker_getTransactions, "f").call(this).filter((tx) => tx.chainId === currentChainId);
+}, _PendingTransactionTracker_getChainTransactions = function _PendingTransactionTracker_getChainTransactions() {
+ const chainId = __classPrivateFieldGet(this, _PendingTransactionTracker_getChainId, "f").call(this);
+ return __classPrivateFieldGet(this, _PendingTransactionTracker_getTransactions, "f").call(this).filter((tx) => tx.chainId === chainId);
+}, _PendingTransactionTracker_getNetworkClientTransactions = function _PendingTransactionTracker_getNetworkClientTransactions() {
+ const networkClientId = __classPrivateFieldGet(this, _PendingTransactionTracker_getNetworkClientId, "f").call(this);
+ return __classPrivateFieldGet(this, _PendingTransactionTracker_getTransactions, "f").call(this).filter((tx) => tx.networkClientId === networkClientId);
};
//# sourceMappingURL=PendingTransactionTracker.cjs.map
\ No newline at end of file
5 changes: 4 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [12.10.4]

## [12.10.3]
### Fixed
- fix: ensure recipient address is shown on when sending erc 1155 tokens ([#29775](https://github.com/MetaMask/metamask-extension/pull/29775))
Expand Down Expand Up @@ -5567,7 +5569,8 @@ Update styles and spacing on the critical error page ([#20350](https://github.c
- Added the ability to restore accounts from seed words.


[Unreleased]: https://github.com/MetaMask/metamask-extension/compare/v12.10.3...HEAD
[Unreleased]: https://github.com/MetaMask/metamask-extension/compare/v12.10.4...HEAD
[12.10.4]: https://github.com/MetaMask/metamask-extension/compare/v12.10.3...v12.10.4
[12.10.3]: https://github.com/MetaMask/metamask-extension/compare/v12.10.2...v12.10.3
[12.10.2]: https://github.com/MetaMask/metamask-extension/compare/v12.10.1...v12.10.2
[12.10.1]: https://github.com/MetaMask/metamask-extension/compare/v12.10.0...v12.10.1
Expand Down
Loading

0 comments on commit fc07003

Please sign in to comment.