@metamask/bridge-status-controller 67.0.0 → 68.0.0
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/CHANGELOG.md +30 -1
- package/dist/bridge-status-controller.cjs +43 -24
- package/dist/bridge-status-controller.cjs.map +1 -1
- package/dist/bridge-status-controller.d.cts +8 -7
- package/dist/bridge-status-controller.d.cts.map +1 -1
- package/dist/bridge-status-controller.d.mts +8 -7
- package/dist/bridge-status-controller.d.mts.map +1 -1
- package/dist/bridge-status-controller.intent.cjs +80 -18
- package/dist/bridge-status-controller.intent.cjs.map +1 -1
- package/dist/bridge-status-controller.intent.d.cts +38 -5
- package/dist/bridge-status-controller.intent.d.cts.map +1 -1
- package/dist/bridge-status-controller.intent.d.mts +38 -5
- package/dist/bridge-status-controller.intent.d.mts.map +1 -1
- package/dist/bridge-status-controller.intent.mjs +78 -16
- package/dist/bridge-status-controller.intent.mjs.map +1 -1
- package/dist/bridge-status-controller.mjs +45 -26
- package/dist/bridge-status-controller.mjs.map +1 -1
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +9 -2
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.mts +9 -2
- package/dist/types.d.mts.map +1 -1
- package/dist/types.mjs.map +1 -1
- package/dist/utils/intent-api.cjs +10 -6
- package/dist/utils/intent-api.cjs.map +1 -1
- package/dist/utils/intent-api.d.cts +8 -7
- package/dist/utils/intent-api.d.cts.map +1 -1
- package/dist/utils/intent-api.d.mts +8 -7
- package/dist/utils/intent-api.d.mts.map +1 -1
- package/dist/utils/intent-api.mjs +10 -6
- package/dist/utils/intent-api.mjs.map +1 -1
- package/dist/utils/metrics.cjs +3 -1
- package/dist/utils/metrics.cjs.map +1 -1
- package/dist/utils/metrics.d.cts +3 -1
- package/dist/utils/metrics.d.cts.map +1 -1
- package/dist/utils/metrics.d.mts +3 -1
- package/dist/utils/metrics.d.mts.map +1 -1
- package/dist/utils/metrics.mjs +3 -1
- package/dist/utils/metrics.mjs.map +1 -1
- package/dist/utils/transaction.d.cts +11 -1
- package/dist/utils/transaction.d.cts.map +1 -1
- package/dist/utils/transaction.d.mts +11 -1
- package/dist/utils/transaction.d.mts.map +1 -1
- package/package.json +9 -9
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,33 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [68.0.0]
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- Added optional `abTests` property to `BridgeHistoryItem` to persist A/B test context across the transaction lifecycle ([#8007](https://github.com/MetaMask/core/pull/8007))
|
|
15
|
+
- Added optional `abTests` parameter to `StartPollingForBridgeTxStatusArgs` ([#8007](https://github.com/MetaMask/core/pull/8007))
|
|
16
|
+
- Added optional `abTests` parameter to `submitTx` and `submitIntent` methods for A/B test experiment attribution ([#8007](https://github.com/MetaMask/core/pull/8007))
|
|
17
|
+
- `trackUnifiedSwapBridgeEvent` now resolves `ab_tests` from event properties or transaction history and includes it in emitted events ([#8007](https://github.com/MetaMask/core/pull/8007))
|
|
18
|
+
|
|
19
|
+
### Changed
|
|
20
|
+
|
|
21
|
+
- Bump `@metamask/bridge-controller` from `^67.1.1` to `^68.0.0` ([#8024](https://github.com/MetaMask/core/pull/8024), [#8051](https://github.com/MetaMask/core/pull/8051), [#8070](https://github.com/MetaMask/core/pull/8070), [#8101](https://github.com/MetaMask/core/pull/8101))
|
|
22
|
+
- Bump `@metamask/transaction-controller` from `^62.17.1` to `^62.19.0` ([#8005](https://github.com/MetaMask/core/pull/8005), [#8031](https://github.com/MetaMask/core/pull/8031))
|
|
23
|
+
- **BREAKING:** Move intent signing and submission orchestration into `BridgeStatusController`, including internal EIP-712 signing via `KeyringController` and the new `IntentManager` flow. ([#8048](https://github.com/MetaMask/core/pull/8048))
|
|
24
|
+
|
|
25
|
+
## [67.0.1]
|
|
26
|
+
|
|
27
|
+
### Changed
|
|
28
|
+
|
|
29
|
+
- Bump `@metamask/accounts-controller` from `^36.0.0` to `^36.0.1` ([#7996](https://github.com/MetaMask/core/pull/7996))
|
|
30
|
+
- Bump `@metamask/gas-fee-controller` from `^26.0.2` to `^26.0.3` ([#7996](https://github.com/MetaMask/core/pull/7996))
|
|
31
|
+
- Bump `@metamask/network-controller` from `^29.0.0` to `^30.0.0` ([#7996](https://github.com/MetaMask/core/pull/7996))
|
|
32
|
+
- Bump `@metamask/polling-controller` from `^16.0.2` to `^16.0.3` ([#7996](https://github.com/MetaMask/core/pull/7996))
|
|
33
|
+
- Bump `@metamask/transaction-controller` from `^62.17.0` to `^62.17.1` ([#7996](https://github.com/MetaMask/core/pull/7996))
|
|
34
|
+
- Bump `@metamask/controller-utils` from `^11.18.0` to `^11.19.0` ([#7995](https://github.com/MetaMask/core/pull/7995))
|
|
35
|
+
- Bump `@metamask/bridge-controller` from `^67.0.0` to `^67.1.1` ([#7995](https://github.com/MetaMask/core/pull/7995), [#7996](https://github.com/MetaMask/core/pull/7996))
|
|
36
|
+
|
|
10
37
|
## [67.0.0]
|
|
11
38
|
|
|
12
39
|
### Added
|
|
@@ -968,7 +995,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
968
995
|
|
|
969
996
|
- Initial release ([#5317](https://github.com/MetaMask/core/pull/5317))
|
|
970
997
|
|
|
971
|
-
[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/bridge-status-controller@
|
|
998
|
+
[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/bridge-status-controller@68.0.0...HEAD
|
|
999
|
+
[68.0.0]: https://github.com/MetaMask/core/compare/@metamask/bridge-status-controller@67.0.1...@metamask/bridge-status-controller@68.0.0
|
|
1000
|
+
[67.0.1]: https://github.com/MetaMask/core/compare/@metamask/bridge-status-controller@67.0.0...@metamask/bridge-status-controller@67.0.1
|
|
972
1001
|
[67.0.0]: https://github.com/MetaMask/core/compare/@metamask/bridge-status-controller@66.1.0...@metamask/bridge-status-controller@67.0.0
|
|
973
1002
|
[66.1.0]: https://github.com/MetaMask/core/compare/@metamask/bridge-status-controller@66.0.2...@metamask/bridge-status-controller@66.1.0
|
|
974
1003
|
[66.0.2]: https://github.com/MetaMask/core/compare/@metamask/bridge-status-controller@66.0.1...@metamask/bridge-status-controller@66.0.2
|
|
@@ -10,11 +10,12 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
10
10
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
11
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
12
|
};
|
|
13
|
-
var _BridgeStatusController_instances, _BridgeStatusController_pollingTokensByTxMetaId,
|
|
13
|
+
var _BridgeStatusController_instances, _BridgeStatusController_pollingTokensByTxMetaId, _BridgeStatusController_intentManager, _BridgeStatusController_clientId, _BridgeStatusController_fetchFn, _BridgeStatusController_config, _BridgeStatusController_addTransactionFn, _BridgeStatusController_addTransactionBatchFn, _BridgeStatusController_updateTransactionFn, _BridgeStatusController_estimateGasFeeFn, _BridgeStatusController_trace, _BridgeStatusController_markTxAsFailed, _BridgeStatusController_restartPollingForIncompleteHistoryItems, _BridgeStatusController_addTxToHistory, _BridgeStatusController_rekeyHistoryItem, _BridgeStatusController_startPollingForTxId, _BridgeStatusController_shouldPollHistoryItem, _BridgeStatusController_getMultichainSelectedAccount, _BridgeStatusController_handleFetchFailure, _BridgeStatusController_fetchBridgeTxStatus, _BridgeStatusController_getJwt, _BridgeStatusController_getSrcTxHash, _BridgeStatusController_updateSrcTxHash, _BridgeStatusController_wipeBridgeStatusByChainId, _BridgeStatusController_handleNonEvmTx, _BridgeStatusController_waitForHashAndReturnFinalTxMeta, _BridgeStatusController_waitForTxConfirmation, _BridgeStatusController_handleApprovalTx, _BridgeStatusController_handleEvmTransaction, _BridgeStatusController_handleUSDTAllowanceReset, _BridgeStatusController_calculateGasFees, _BridgeStatusController_handleEvmTransactionBatch, _BridgeStatusController_trackUnifiedSwapBridgeEvent;
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.BridgeStatusController = void 0;
|
|
16
16
|
const bridge_controller_1 = require("@metamask/bridge-controller");
|
|
17
17
|
const controller_utils_1 = require("@metamask/controller-utils");
|
|
18
|
+
const keyring_controller_1 = require("@metamask/keyring-controller");
|
|
18
19
|
const polling_controller_1 = require("@metamask/polling-controller");
|
|
19
20
|
const transaction_controller_1 = require("@metamask/transaction-controller");
|
|
20
21
|
const utils_1 = require("@metamask/utils");
|
|
@@ -50,7 +51,7 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
50
51
|
});
|
|
51
52
|
_BridgeStatusController_instances.add(this);
|
|
52
53
|
_BridgeStatusController_pollingTokensByTxMetaId.set(this, {});
|
|
53
|
-
|
|
54
|
+
_BridgeStatusController_intentManager.set(this, void 0);
|
|
54
55
|
_BridgeStatusController_clientId.set(this, void 0);
|
|
55
56
|
_BridgeStatusController_fetchFn.set(this, void 0);
|
|
56
57
|
_BridgeStatusController_config.set(this, void 0);
|
|
@@ -207,7 +208,7 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
207
208
|
});
|
|
208
209
|
});
|
|
209
210
|
_BridgeStatusController_addTxToHistory.set(this, (startPollingForBridgeTxStatusArgs, actionId) => {
|
|
210
|
-
const { bridgeTxMeta, statusRequest, quoteResponse, startTime, slippagePercentage, initialDestAssetBalance, targetContractAddress, approvalTxId, isStxEnabled, location, accountAddress: selectedAddress, } = startPollingForBridgeTxStatusArgs;
|
|
211
|
+
const { bridgeTxMeta, statusRequest, quoteResponse, startTime, slippagePercentage, initialDestAssetBalance, targetContractAddress, approvalTxId, isStxEnabled, location, abTests, accountAddress: selectedAddress, } = startPollingForBridgeTxStatusArgs;
|
|
211
212
|
// Determine the key for this history item:
|
|
212
213
|
// - For pre-submission (non-batch EVM): use actionId
|
|
213
214
|
// - For post-submission or other cases: use bridgeTxMeta.id
|
|
@@ -248,6 +249,7 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
248
249
|
isStxEnabled: isStxEnabled ?? false,
|
|
249
250
|
featureId: quoteResponse.featureId,
|
|
250
251
|
location,
|
|
252
|
+
...(abTests && { abTests }),
|
|
251
253
|
};
|
|
252
254
|
this.update((state) => {
|
|
253
255
|
// Use actionId as key for pre-submission, or txMeta.id for post-submission
|
|
@@ -379,16 +381,14 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
379
381
|
try {
|
|
380
382
|
let status;
|
|
381
383
|
let validationFailures = [];
|
|
382
|
-
let intentTranslation = null;
|
|
383
|
-
let intentOrderStatus;
|
|
384
384
|
const isIntent = Boolean(historyItem.quote.intent);
|
|
385
385
|
if (isIntent) {
|
|
386
|
-
const
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
status =
|
|
386
|
+
const intentTxStatus = await __classPrivateFieldGet(this, _BridgeStatusController_intentManager, "f").getIntentTransactionStatus(bridgeTxMetaId, historyItem, __classPrivateFieldGet(this, _BridgeStatusController_clientId, "f"));
|
|
387
|
+
if (intentTxStatus?.bridgeStatus === null ||
|
|
388
|
+
intentTxStatus?.bridgeStatus === undefined) {
|
|
389
|
+
return;
|
|
390
|
+
}
|
|
391
|
+
status = intentTxStatus.bridgeStatus.status;
|
|
392
392
|
}
|
|
393
393
|
else {
|
|
394
394
|
// We try here because we receive 500 errors from Bridge API if we try to fetch immediately after submitting the source tx
|
|
@@ -428,8 +428,8 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
428
428
|
this.update((state) => {
|
|
429
429
|
state.txHistory[bridgeTxMetaId] = newBridgeHistoryItem;
|
|
430
430
|
});
|
|
431
|
-
if (isIntent
|
|
432
|
-
__classPrivateFieldGet(this,
|
|
431
|
+
if (isIntent) {
|
|
432
|
+
__classPrivateFieldGet(this, _BridgeStatusController_intentManager, "f").syncTransactionFromIntentStatus(bridgeTxMetaId, historyItem);
|
|
433
433
|
}
|
|
434
434
|
// 5. After effects
|
|
435
435
|
const pollingToken = __classPrivateFieldGet(this, _BridgeStatusController_pollingTokensByTxMetaId, "f")[bridgeTxMetaId];
|
|
@@ -714,9 +714,10 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
714
714
|
* @param isStxEnabledOnClient - Whether smart transactions are enabled on the client, for example the getSmartTransactionsEnabled selector value from the extension
|
|
715
715
|
* @param quotesReceivedContext - The context for the QuotesReceived event
|
|
716
716
|
* @param location - The entry point from which the user initiated the swap or bridge (e.g. Main View, Token View, Trending Explore)
|
|
717
|
+
* @param abTests - A/B test context to attribute events to specific experiments
|
|
717
718
|
* @returns The transaction meta
|
|
718
719
|
*/
|
|
719
|
-
this.submitTx = async (accountAddress, quoteResponse, isStxEnabledOnClient, quotesReceivedContext, location = bridge_controller_1.MetaMetricsSwapsEventSource.MainView) => {
|
|
720
|
+
this.submitTx = async (accountAddress, quoteResponse, isStxEnabledOnClient, quotesReceivedContext, location = bridge_controller_1.MetaMetricsSwapsEventSource.MainView, abTests) => {
|
|
720
721
|
this.messenger.call('BridgeController:stopPollingForQuotes', bridge_controller_1.AbortReason.TransactionSubmitted,
|
|
721
722
|
// If trade is submitted before all quotes are loaded, the QuotesReceived event is published
|
|
722
723
|
// If the trade has a featureId, it means it was submitted outside of the Unified Swap and Bridge experience, so no QuotesReceived event is published
|
|
@@ -726,7 +727,7 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
726
727
|
throw new Error('Failed to submit cross-chain swap transaction: undefined multichain account');
|
|
727
728
|
}
|
|
728
729
|
const isHardwareAccount = (0, bridge_controller_1.isHardwareWallet)(selectedAccount);
|
|
729
|
-
const preConfirmationProperties = (0, metrics_1.getPreConfirmationPropertiesFromQuote)(quoteResponse, isStxEnabledOnClient, isHardwareAccount, location);
|
|
730
|
+
const preConfirmationProperties = (0, metrics_1.getPreConfirmationPropertiesFromQuote)(quoteResponse, isStxEnabledOnClient, isHardwareAccount, location, abTests);
|
|
730
731
|
// Emit Submitted event after submit button is clicked
|
|
731
732
|
!quoteResponse.featureId &&
|
|
732
733
|
__classPrivateFieldGet(this, _BridgeStatusController_trackUnifiedSwapBridgeEvent, "f").call(this, bridge_controller_1.UnifiedSwapBridgeEventName.Submitted, undefined, preConfirmationProperties);
|
|
@@ -848,6 +849,7 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
848
849
|
startTime,
|
|
849
850
|
approvalTxId,
|
|
850
851
|
location,
|
|
852
|
+
abTests,
|
|
851
853
|
}, actionId);
|
|
852
854
|
// Pass txFee when gasIncluded is true to use the quote's gas fees
|
|
853
855
|
// instead of re-estimating (which would fail for max native token swaps)
|
|
@@ -888,6 +890,7 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
888
890
|
startTime,
|
|
889
891
|
approvalTxId,
|
|
890
892
|
location,
|
|
893
|
+
abTests,
|
|
891
894
|
});
|
|
892
895
|
}
|
|
893
896
|
if ((0, bridge_controller_1.isNonEvmChainId)(quoteResponse.quote.srcChainId)) {
|
|
@@ -905,23 +908,23 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
905
908
|
return txMeta;
|
|
906
909
|
};
|
|
907
910
|
/**
|
|
908
|
-
*
|
|
909
|
-
*
|
|
911
|
+
* Submits an intent order and creates a synthetic history entry for UX.
|
|
912
|
+
* The EIP-712 payload is always signed inside this controller via KeyringController.
|
|
910
913
|
*
|
|
911
914
|
* @param params - Object containing intent submission parameters
|
|
912
915
|
* @param params.quoteResponse - Quote carrying intent data
|
|
913
|
-
* @param params.signature - Hex signature produced by eth_signTypedData_v4
|
|
914
916
|
* @param params.accountAddress - The EOA submitting the order
|
|
915
917
|
* @param params.location - The entry point from which the user initiated the swap or bridge
|
|
918
|
+
* @param params.abTests - A/B test context to attribute events to specific experiments
|
|
916
919
|
* @returns A lightweight TransactionMeta-like object for history linking
|
|
917
920
|
*/
|
|
918
921
|
this.submitIntent = async (params) => {
|
|
919
|
-
const { quoteResponse,
|
|
922
|
+
const { quoteResponse, accountAddress, location, abTests } = params;
|
|
920
923
|
this.messenger.call('BridgeController:stopPollingForQuotes', bridge_controller_1.AbortReason.TransactionSubmitted);
|
|
921
924
|
// Build pre-confirmation properties for error tracking parity with submitTx
|
|
922
925
|
const account = __classPrivateFieldGet(this, _BridgeStatusController_instances, "m", _BridgeStatusController_getMultichainSelectedAccount).call(this, accountAddress);
|
|
923
926
|
const isHardwareAccount = Boolean(account) && (0, bridge_controller_1.isHardwareWallet)(account);
|
|
924
|
-
const preConfirmationProperties = (0, metrics_1.getPreConfirmationPropertiesFromQuote)(quoteResponse, false, isHardwareAccount, location);
|
|
927
|
+
const preConfirmationProperties = (0, metrics_1.getPreConfirmationPropertiesFromQuote)(quoteResponse, false, isHardwareAccount, location, abTests);
|
|
925
928
|
try {
|
|
926
929
|
const intent = (0, transaction_1.getIntentFromQuote)(quoteResponse);
|
|
927
930
|
// If backend provided an approval tx for this intent quote, submit it first (on-chain),
|
|
@@ -940,6 +943,10 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
940
943
|
}
|
|
941
944
|
}
|
|
942
945
|
const { srcChainId: chainId, requestId } = quoteResponse.quote;
|
|
946
|
+
const signature = await this.messenger.call('KeyringController:signTypedMessage', {
|
|
947
|
+
from: accountAddress,
|
|
948
|
+
data: intent.typedData,
|
|
949
|
+
}, keyring_controller_1.SignTypedDataVersion.V4);
|
|
943
950
|
const submissionParams = {
|
|
944
951
|
srcChainId: chainId.toString(),
|
|
945
952
|
quoteId: requestId,
|
|
@@ -948,8 +955,7 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
948
955
|
userAddress: accountAddress,
|
|
949
956
|
aggregatorId: intent.protocol,
|
|
950
957
|
};
|
|
951
|
-
const
|
|
952
|
-
const intentOrder = await intentApi.submitIntent(submissionParams, __classPrivateFieldGet(this, _BridgeStatusController_clientId, "f"), await __classPrivateFieldGet(this, _BridgeStatusController_getJwt, "f").call(this));
|
|
958
|
+
const intentOrder = await __classPrivateFieldGet(this, _BridgeStatusController_intentManager, "f").submitIntent(submissionParams, __classPrivateFieldGet(this, _BridgeStatusController_clientId, "f"));
|
|
953
959
|
const orderUid = intentOrder.id;
|
|
954
960
|
// Determine transaction type: swap for same-chain, bridge for cross-chain
|
|
955
961
|
const isCrossChainTx = (0, bridge_controller_1.isCrossChain)(quoteResponse.quote.srcChainId, quoteResponse.quote.destChainId);
|
|
@@ -1017,6 +1023,7 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
1017
1023
|
approvalTxId,
|
|
1018
1024
|
startTime,
|
|
1019
1025
|
location,
|
|
1026
|
+
abTests,
|
|
1020
1027
|
});
|
|
1021
1028
|
// Start polling using the orderId key to route to intent manager
|
|
1022
1029
|
__classPrivateFieldGet(this, _BridgeStatusController_startPollingForTxId, "f").call(this, bridgeHistoryKey);
|
|
@@ -1043,12 +1050,21 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
1043
1050
|
* @param eventProperties - The properties for the event
|
|
1044
1051
|
*/
|
|
1045
1052
|
_BridgeStatusController_trackUnifiedSwapBridgeEvent.set(this, (eventName, txMetaId, eventProperties) => {
|
|
1053
|
+
const { ab_tests: eventAbTests } = eventProperties ?? {};
|
|
1054
|
+
const historyAbTests = txMetaId
|
|
1055
|
+
? this.state.txHistory?.[txMetaId]?.abTests
|
|
1056
|
+
: undefined;
|
|
1057
|
+
const resolvedAbTests = eventAbTests ?? historyAbTests ?? undefined;
|
|
1046
1058
|
const baseProperties = {
|
|
1047
1059
|
action_type: bridge_controller_1.MetricsActionType.SWAPBRIDGE_V1,
|
|
1048
1060
|
location: eventProperties?.location ??
|
|
1049
1061
|
(txMetaId ? this.state.txHistory?.[txMetaId]?.location : undefined) ??
|
|
1050
1062
|
bridge_controller_1.MetaMetricsSwapsEventSource.MainView,
|
|
1051
1063
|
...(eventProperties ?? {}),
|
|
1064
|
+
...(resolvedAbTests &&
|
|
1065
|
+
Object.keys(resolvedAbTests).length > 0 && {
|
|
1066
|
+
ab_tests: resolvedAbTests,
|
|
1067
|
+
}),
|
|
1052
1068
|
};
|
|
1053
1069
|
// This will publish events for PERPS dropped tx failures as well
|
|
1054
1070
|
if (!txMetaId) {
|
|
@@ -1102,9 +1118,12 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
1102
1118
|
customBridgeApiBaseUrl: config?.customBridgeApiBaseUrl ?? constants_1.BRIDGE_PROD_API_BASE_URL,
|
|
1103
1119
|
}, "f");
|
|
1104
1120
|
__classPrivateFieldSet(this, _BridgeStatusController_trace, traceFn ?? ((_request, fn) => fn?.()), "f");
|
|
1105
|
-
__classPrivateFieldSet(this,
|
|
1121
|
+
__classPrivateFieldSet(this, _BridgeStatusController_intentManager, new bridge_status_controller_intent_1.IntentManager({
|
|
1106
1122
|
messenger: this.messenger,
|
|
1107
1123
|
updateTransactionFn: __classPrivateFieldGet(this, _BridgeStatusController_updateTransactionFn, "f"),
|
|
1124
|
+
customBridgeApiBaseUrl: __classPrivateFieldGet(this, _BridgeStatusController_config, "f").customBridgeApiBaseUrl,
|
|
1125
|
+
fetchFn: __classPrivateFieldGet(this, _BridgeStatusController_fetchFn, "f"),
|
|
1126
|
+
getJwt: __classPrivateFieldGet(this, _BridgeStatusController_getJwt, "f"),
|
|
1108
1127
|
}), "f");
|
|
1109
1128
|
// Register action handlers
|
|
1110
1129
|
this.messenger.registerActionHandler(`${constants_1.BRIDGE_STATUS_CONTROLLER_NAME}:startPollingForBridgeTxStatus`, this.startPollingForBridgeTxStatus.bind(this));
|
|
@@ -1162,7 +1181,7 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
1162
1181
|
}
|
|
1163
1182
|
}
|
|
1164
1183
|
exports.BridgeStatusController = BridgeStatusController;
|
|
1165
|
-
_BridgeStatusController_pollingTokensByTxMetaId = new WeakMap(),
|
|
1184
|
+
_BridgeStatusController_pollingTokensByTxMetaId = new WeakMap(), _BridgeStatusController_intentManager = new WeakMap(), _BridgeStatusController_clientId = new WeakMap(), _BridgeStatusController_fetchFn = new WeakMap(), _BridgeStatusController_config = new WeakMap(), _BridgeStatusController_addTransactionFn = new WeakMap(), _BridgeStatusController_addTransactionBatchFn = new WeakMap(), _BridgeStatusController_updateTransactionFn = new WeakMap(), _BridgeStatusController_estimateGasFeeFn = new WeakMap(), _BridgeStatusController_trace = new WeakMap(), _BridgeStatusController_markTxAsFailed = new WeakMap(), _BridgeStatusController_restartPollingForIncompleteHistoryItems = new WeakMap(), _BridgeStatusController_addTxToHistory = new WeakMap(), _BridgeStatusController_rekeyHistoryItem = new WeakMap(), _BridgeStatusController_startPollingForTxId = new WeakMap(), _BridgeStatusController_shouldPollHistoryItem = new WeakMap(), _BridgeStatusController_handleFetchFailure = new WeakMap(), _BridgeStatusController_fetchBridgeTxStatus = new WeakMap(), _BridgeStatusController_getJwt = new WeakMap(), _BridgeStatusController_getSrcTxHash = new WeakMap(), _BridgeStatusController_updateSrcTxHash = new WeakMap(), _BridgeStatusController_wipeBridgeStatusByChainId = new WeakMap(), _BridgeStatusController_handleNonEvmTx = new WeakMap(), _BridgeStatusController_waitForHashAndReturnFinalTxMeta = new WeakMap(), _BridgeStatusController_waitForTxConfirmation = new WeakMap(), _BridgeStatusController_handleApprovalTx = new WeakMap(), _BridgeStatusController_handleEvmTransaction = new WeakMap(), _BridgeStatusController_handleUSDTAllowanceReset = new WeakMap(), _BridgeStatusController_calculateGasFees = new WeakMap(), _BridgeStatusController_handleEvmTransactionBatch = new WeakMap(), _BridgeStatusController_trackUnifiedSwapBridgeEvent = new WeakMap(), _BridgeStatusController_instances = new WeakSet(), _BridgeStatusController_getMultichainSelectedAccount = function _BridgeStatusController_getMultichainSelectedAccount(accountAddress) {
|
|
1166
1185
|
return this.messenger.call('AccountsController:getAccountByAddress', accountAddress);
|
|
1167
1186
|
};
|
|
1168
1187
|
//# sourceMappingURL=bridge-status-controller.cjs.map
|