@metamask-previews/transaction-controller 39.1.0-preview-fd7ad7de → 39.1.0-preview-690da12e
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/TransactionController.cjs +25 -30
- package/dist/TransactionController.cjs.map +1 -1
- package/dist/TransactionController.d.cts +73 -4
- package/dist/TransactionController.d.cts.map +1 -1
- package/dist/TransactionController.d.mts +73 -4
- package/dist/TransactionController.d.mts.map +1 -1
- package/dist/TransactionController.mjs +25 -30
- package/dist/TransactionController.mjs.map +1 -1
- package/dist/api/accounts-api.cjs +7 -24
- package/dist/api/accounts-api.cjs.map +1 -1
- package/dist/api/accounts-api.d.cts +1 -7
- package/dist/api/accounts-api.d.cts.map +1 -1
- package/dist/api/accounts-api.d.mts +1 -7
- package/dist/api/accounts-api.d.mts.map +1 -1
- package/dist/api/accounts-api.mjs +6 -22
- package/dist/api/accounts-api.mjs.map +1 -1
- package/dist/helpers/AccountsApiRemoteTransactionSource.cjs +77 -31
- package/dist/helpers/AccountsApiRemoteTransactionSource.cjs.map +1 -1
- package/dist/helpers/AccountsApiRemoteTransactionSource.d.cts +1 -0
- package/dist/helpers/AccountsApiRemoteTransactionSource.d.cts.map +1 -1
- package/dist/helpers/AccountsApiRemoteTransactionSource.d.mts +1 -0
- package/dist/helpers/AccountsApiRemoteTransactionSource.d.mts.map +1 -1
- package/dist/helpers/AccountsApiRemoteTransactionSource.mjs +75 -29
- package/dist/helpers/AccountsApiRemoteTransactionSource.mjs.map +1 -1
- package/dist/helpers/IncomingTransactionHelper.cjs +24 -45
- package/dist/helpers/IncomingTransactionHelper.cjs.map +1 -1
- package/dist/helpers/IncomingTransactionHelper.d.cts +6 -8
- package/dist/helpers/IncomingTransactionHelper.d.cts.map +1 -1
- package/dist/helpers/IncomingTransactionHelper.d.mts +6 -8
- package/dist/helpers/IncomingTransactionHelper.d.mts.map +1 -1
- package/dist/helpers/IncomingTransactionHelper.mjs +24 -45
- package/dist/helpers/IncomingTransactionHelper.mjs.map +1 -1
- package/dist/index.cjs +3 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -0
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +1 -0
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +1 -0
- package/dist/index.mjs.map +1 -1
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +14 -10
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.mts +14 -10
- package/dist/types.d.mts.map +1 -1
- package/dist/types.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -70,7 +70,7 @@ const metadata = {
|
|
|
70
70
|
persist: true,
|
|
71
71
|
anonymous: false,
|
|
72
72
|
},
|
|
73
|
-
|
|
73
|
+
lastFetchedBlockNumbers: {
|
|
74
74
|
persist: true,
|
|
75
75
|
anonymous: false,
|
|
76
76
|
},
|
|
@@ -111,7 +111,7 @@ function getDefaultTransactionControllerState() {
|
|
|
111
111
|
return {
|
|
112
112
|
methodData: {},
|
|
113
113
|
transactions: [],
|
|
114
|
-
|
|
114
|
+
lastFetchedBlockNumbers: {},
|
|
115
115
|
submitHistory: [],
|
|
116
116
|
};
|
|
117
117
|
}
|
|
@@ -599,12 +599,12 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
599
599
|
if (ignoreNetwork && !address) {
|
|
600
600
|
this.update((state) => {
|
|
601
601
|
state.transactions = [];
|
|
602
|
-
state.
|
|
602
|
+
state.lastFetchedBlockNumbers = {};
|
|
603
603
|
});
|
|
604
604
|
return;
|
|
605
605
|
}
|
|
606
606
|
const currentChainId = this.getChainId();
|
|
607
|
-
const {
|
|
607
|
+
const { transactions } = this.state;
|
|
608
608
|
const newTransactions = transactions.filter((tx) => {
|
|
609
609
|
const { chainId, txParams } = tx;
|
|
610
610
|
const isMatchingNetwork = ignoreNetwork || chainId === currentChainId;
|
|
@@ -619,20 +619,8 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
619
619
|
}
|
|
620
620
|
return !isMatchingAddress;
|
|
621
621
|
});
|
|
622
|
-
const newLastFetchedTimestamps = Object.keys(lastFetchedTimestamps).reduce((acc, key) => {
|
|
623
|
-
const timestamp = lastFetchedTimestamps[key];
|
|
624
|
-
const isMatchingNetwork = ignoreNetwork || key.startsWith(`${currentChainId}#`);
|
|
625
|
-
const isMatchingAddress = !address || key.endsWith(`#${address.toLowerCase()}`);
|
|
626
|
-
if (!isMatchingNetwork || !isMatchingAddress) {
|
|
627
|
-
acc[key] = timestamp;
|
|
628
|
-
}
|
|
629
|
-
else {
|
|
630
|
-
(0, logger_1.projectLogger)('Removing last fetched timestamp', { key, timestamp });
|
|
631
|
-
}
|
|
632
|
-
return acc;
|
|
633
|
-
}, {});
|
|
634
622
|
this.update((state) => {
|
|
635
|
-
state.
|
|
623
|
+
state.lastFetchedBlockNumbers = {};
|
|
636
624
|
state.transactions = this.trimTransactionsForState(newTransactions);
|
|
637
625
|
});
|
|
638
626
|
}
|
|
@@ -1523,20 +1511,20 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
1523
1511
|
};
|
|
1524
1512
|
return common_1.Common.custom(customChainParams);
|
|
1525
1513
|
}
|
|
1526
|
-
onIncomingTransactions(
|
|
1514
|
+
onIncomingTransactions(transactions) {
|
|
1527
1515
|
this.update((state) => {
|
|
1528
1516
|
const { transactions: currentTransactions } = state;
|
|
1517
|
+
const newTransactions = transactions.filter((tx) => !currentTransactions.some((currentTx) => currentTx.hash?.toLowerCase() === tx.hash?.toLowerCase() &&
|
|
1518
|
+
currentTx.type === types_1.TransactionType.incoming));
|
|
1519
|
+
(0, logger_1.projectLogger)('Adding incoming transactions to state', newTransactions.length, {
|
|
1520
|
+
newTransactions,
|
|
1521
|
+
});
|
|
1529
1522
|
state.transactions = this.trimTransactionsForState([
|
|
1530
|
-
...
|
|
1523
|
+
...newTransactions,
|
|
1531
1524
|
...currentTransactions,
|
|
1532
1525
|
]);
|
|
1533
1526
|
});
|
|
1534
|
-
this.messagingSystem.publish(`${controllerName}:incomingTransactionsReceived`,
|
|
1535
|
-
}
|
|
1536
|
-
onUpdatedLastFetchedTimestamp({ key, timestamp, }) {
|
|
1537
|
-
this.update((state) => {
|
|
1538
|
-
state.lastFetchedTimestamps[key] = timestamp;
|
|
1539
|
-
});
|
|
1527
|
+
this.messagingSystem.publish(`${controllerName}:incomingTransactionsReceived`, transactions);
|
|
1540
1528
|
}
|
|
1541
1529
|
generateDappSuggestedGasFees(txParams, origin) {
|
|
1542
1530
|
if (!origin || origin === controller_utils_1.ORIGIN_METAMASK) {
|
|
@@ -1864,13 +1852,21 @@ _TransactionController_internalEvents = new WeakMap(), _TransactionController_in
|
|
|
1864
1852
|
getConfirmedTransactions: this.getNonceTrackerTransactions.bind(this, types_1.TransactionStatus.confirmed),
|
|
1865
1853
|
});
|
|
1866
1854
|
}, _TransactionController_createIncomingTransactionHelper = function _TransactionController_createIncomingTransactionHelper({ chainId, } = {}) {
|
|
1855
|
+
const updateCache = (fn) => {
|
|
1856
|
+
this.update((state) => {
|
|
1857
|
+
fn(state.lastFetchedBlockNumbers);
|
|
1858
|
+
});
|
|
1859
|
+
};
|
|
1867
1860
|
const incomingTransactionHelper = new IncomingTransactionHelper_1.IncomingTransactionHelper({
|
|
1868
1861
|
getCurrentAccount: () => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getSelectedAccount).call(this),
|
|
1869
|
-
|
|
1862
|
+
getCache: () => this.state.lastFetchedBlockNumbers,
|
|
1870
1863
|
getChainIds: chainId ? () => [chainId] : () => [this.getChainId()],
|
|
1864
|
+
includeTokenTransfers: __classPrivateFieldGet(this, _TransactionController_incomingTransactionOptions, "f").includeTokenTransfers,
|
|
1871
1865
|
isEnabled: __classPrivateFieldGet(this, _TransactionController_incomingTransactionOptions, "f").isEnabled,
|
|
1866
|
+
queryEntireHistory: __classPrivateFieldGet(this, _TransactionController_incomingTransactionOptions, "f").queryEntireHistory,
|
|
1872
1867
|
remoteTransactionSource: new AccountsApiRemoteTransactionSource_1.AccountsApiRemoteTransactionSource(),
|
|
1873
|
-
|
|
1868
|
+
updateCache,
|
|
1869
|
+
updateTransactions: __classPrivateFieldGet(this, _TransactionController_incomingTransactionOptions, "f").updateTransactions,
|
|
1874
1870
|
});
|
|
1875
1871
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_addIncomingTransactionHelperListeners).call(this, incomingTransactionHelper);
|
|
1876
1872
|
return incomingTransactionHelper;
|
|
@@ -1903,11 +1899,10 @@ _TransactionController_internalEvents = new WeakMap(), _TransactionController_in
|
|
|
1903
1899
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_removeIncomingTransactionHelperListeners).call(this, this.incomingTransactionHelper);
|
|
1904
1900
|
__classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").stopAllTracking();
|
|
1905
1901
|
}, _TransactionController_removeIncomingTransactionHelperListeners = function _TransactionController_removeIncomingTransactionHelperListeners(incomingTransactionHelper) {
|
|
1906
|
-
incomingTransactionHelper.hub.removeAllListeners('
|
|
1902
|
+
incomingTransactionHelper.hub.removeAllListeners('transactions');
|
|
1907
1903
|
incomingTransactionHelper.hub.removeAllListeners('updated-last-fetched-timestamp');
|
|
1908
1904
|
}, _TransactionController_addIncomingTransactionHelperListeners = function _TransactionController_addIncomingTransactionHelperListeners(incomingTransactionHelper) {
|
|
1909
|
-
incomingTransactionHelper.hub.on('
|
|
1910
|
-
incomingTransactionHelper.hub.on('updated-last-fetched-timestamp', this.onUpdatedLastFetchedTimestamp.bind(this));
|
|
1905
|
+
incomingTransactionHelper.hub.on('transactions', this.onIncomingTransactions.bind(this));
|
|
1911
1906
|
}, _TransactionController_removePendingTransactionTrackerListeners = function _TransactionController_removePendingTransactionTrackerListeners(pendingTransactionTracker) {
|
|
1912
1907
|
pendingTransactionTracker.hub.removeAllListeners('transaction-confirmed');
|
|
1913
1908
|
pendingTransactionTracker.hub.removeAllListeners('transaction-dropped');
|