@metamask-previews/bridge-status-controller 44.0.0-preview-b896289e → 45.0.0-preview-6c94ae59

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 CHANGED
@@ -7,12 +7,47 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
- ### Changed
10
+ ## [45.0.0]
11
+
12
+ ### Uncategorized
13
+
14
+ - Release/574.0.0 ([#6680](https://github.com/MetaMask/core/pull/6680))
15
+
16
+ ### Added
11
17
 
12
- - **BREAKING:** Use new `Messenger` from `@metamask/messenger` ([#6444](https://github.com/MetaMask/core/pull/6444))
13
- - Previously, `BridgeStatusController` accepted a `RestrictedMessenger` instance from `@metamask/base-controller`.
18
+ - Add support for Bitcoin bridge transactions ([#6454](https://github.com/MetaMask/core/pull/6454))
19
+ - Handle Bitcoin PSBT (Partially Signed Bitcoin Transaction) format in trade data
20
+ - Support Bitcoin transaction submission through unified Snap interface
21
+ - Add Bitcoin-specific transaction handling in `#handleNonEvmTx` method
22
+ - Support extraction of `unsignedPsbtBase64` from trade data for Bitcoin transactions
23
+
24
+ ### Changed
25
+
26
+ - Update transaction submission to use new unified Snap interface for all non-EVM chains ([#6454](https://github.com/MetaMask/core/pull/6454))
27
+ - Replace `signAndSendTransactionWithoutConfirmation` with `ClientRequest:signAndSendTransaction` method
28
+ - Update response handling to support new `transactionId` format from unified interface
29
+ - Support multiple response formats: string, `{ transactionId }`, `{ result: { signature } }`, and `{ signature }`
30
+ - Maintain backward compatibility with legacy response formats
31
+ - Rename transaction handling functions for clarity ([#6454](https://github.com/MetaMask/core/pull/6454))
32
+ - Rename `handleSolanaTxResponse` to `handleNonEvmTxResponse` to reflect support for all non-EVM chains
33
+ - Rename `#handleSolanaTx` to `#handleNonEvmTx` in BridgeStatusController
34
+ - Export `handleSolanaTxResponse` as an alias for backward compatibility (deprecated)
35
+ - Update transaction detection logic to identify non-EVM transactions ([#6454](https://github.com/MetaMask/core/pull/6454))
36
+ - Check for Bitcoin PSBT format (`unsignedPsbtBase64` in trade object) alongside string trade data
37
+ - Use `isNonEvmChainId` for determining non-EVM transaction handling
38
+ - Update chain ID handling for non-EVM chains ([#6454](https://github.com/MetaMask/core/pull/6454))
39
+ - Add fallback chain ID (`0x0`) when CAIP format can't be converted to hex for source chains
40
+ - Add fallback chain ID (`0x1`) for non-EVM destination chains
41
+ - Update `getClientRequest` to create proper requests for all non-EVM chains ([#6454](https://github.com/MetaMask/core/pull/6454))
42
+ - Use `formatChainIdToCaip` to get proper scope for each chain
43
+ - Extract transaction data from either string or PSBT object format
44
+ - Remove dependency on `@metamask/keyring-api` ([#6454](https://github.com/MetaMask/core/pull/6454))
14
45
  - Refactor `handleLineaDelay` to `handleApprovalDelay` for improved abstraction and add support for Base chain by using an array and `includes` for chain ID checks ([#6674](https://github.com/MetaMask/core/pull/6674))
15
46
 
47
+ ### Removed
48
+
49
+ - Remove direct dependency on `@metamask/keyring-api` - no longer needed with unified Snap interface ([#6454](https://github.com/MetaMask/core/pull/6454))
50
+
16
51
  ## [44.0.0]
17
52
 
18
53
  ### Changed
@@ -564,7 +599,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
564
599
 
565
600
  - Initial release ([#5317](https://github.com/MetaMask/core/pull/5317))
566
601
 
567
- [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/bridge-status-controller@44.0.0...HEAD
602
+ [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/bridge-status-controller@45.0.0...HEAD
603
+ [45.0.0]: https://github.com/MetaMask/core/compare/@metamask/bridge-status-controller@44.0.0...@metamask/bridge-status-controller@45.0.0
568
604
  [44.0.0]: https://github.com/MetaMask/core/compare/@metamask/bridge-status-controller@43.1.0...@metamask/bridge-status-controller@44.0.0
569
605
  [43.1.0]: https://github.com/MetaMask/core/compare/@metamask/bridge-status-controller@43.0.0...@metamask/bridge-status-controller@43.1.0
570
606
  [43.0.0]: https://github.com/MetaMask/core/compare/@metamask/bridge-status-controller@42.0.0...@metamask/bridge-status-controller@43.0.0
@@ -10,7 +10,7 @@ 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, _BridgeStatusController_clientId, _BridgeStatusController_fetchFn, _BridgeStatusController_config, _BridgeStatusController_addTransactionFn, _BridgeStatusController_addTransactionBatchFn, _BridgeStatusController_updateTransactionFn, _BridgeStatusController_estimateGasFeeFn, _BridgeStatusController_trace, _BridgeStatusController_markTxAsFailed, _BridgeStatusController_restartPollingForIncompleteHistoryItems, _BridgeStatusController_addTxToHistory, _BridgeStatusController_startPollingForTxId, _BridgeStatusController_getMultichainSelectedAccount, _BridgeStatusController_handleFetchFailure, _BridgeStatusController_fetchBridgeTxStatus, _BridgeStatusController_getSrcTxHash, _BridgeStatusController_updateSrcTxHash, _BridgeStatusController_wipeBridgeStatusByChainId, _BridgeStatusController_handleSolanaTx, _BridgeStatusController_waitForHashAndReturnFinalTxMeta, _BridgeStatusController_handleApprovalTx, _BridgeStatusController_handleEvmTransaction, _BridgeStatusController_handleUSDTAllowanceReset, _BridgeStatusController_calculateGasFees, _BridgeStatusController_handleEvmTransactionBatch, _BridgeStatusController_trackUnifiedSwapBridgeEvent;
13
+ var _BridgeStatusController_instances, _BridgeStatusController_pollingTokensByTxMetaId, _BridgeStatusController_clientId, _BridgeStatusController_fetchFn, _BridgeStatusController_config, _BridgeStatusController_addTransactionFn, _BridgeStatusController_addTransactionBatchFn, _BridgeStatusController_updateTransactionFn, _BridgeStatusController_estimateGasFeeFn, _BridgeStatusController_trace, _BridgeStatusController_markTxAsFailed, _BridgeStatusController_restartPollingForIncompleteHistoryItems, _BridgeStatusController_addTxToHistory, _BridgeStatusController_startPollingForTxId, _BridgeStatusController_getMultichainSelectedAccount, _BridgeStatusController_handleFetchFailure, _BridgeStatusController_fetchBridgeTxStatus, _BridgeStatusController_getSrcTxHash, _BridgeStatusController_updateSrcTxHash, _BridgeStatusController_wipeBridgeStatusByChainId, _BridgeStatusController_handleNonEvmTx, _BridgeStatusController_waitForHashAndReturnFinalTxMeta, _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");
@@ -24,14 +24,13 @@ const bridge_status_1 = require("./utils/bridge-status.cjs");
24
24
  const gas_1 = require("./utils/gas.cjs");
25
25
  const metrics_1 = require("./utils/metrics.cjs");
26
26
  const transaction_1 = require("./utils/transaction.cjs");
27
- const transaction_2 = require("./utils/transaction.cjs");
28
27
  const metadata = {
29
28
  // We want to persist the bridge status state so that we can show the proper data for the Activity list
30
29
  // basically match the behavior of TransactionController
31
30
  txHistory: {
32
31
  includeInStateLogs: true,
33
32
  persist: true,
34
- includeInDebugSnapshot: false,
33
+ anonymous: false,
35
34
  usedInUi: true,
36
35
  },
37
36
  };
@@ -82,8 +81,8 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
82
81
  });
83
82
  }
84
83
  else {
85
- const { selectedNetworkClientId } = this.messenger.call('NetworkController:getState');
86
- const selectedNetworkClient = this.messenger.call('NetworkController:getNetworkClientById', selectedNetworkClientId);
84
+ const { selectedNetworkClientId } = this.messagingSystem.call('NetworkController:getState');
85
+ const selectedNetworkClient = this.messagingSystem.call('NetworkController:getNetworkClientById', selectedNetworkClientId);
87
86
  const selectedChainId = selectedNetworkClient.configuration.chainId;
88
87
  __classPrivateFieldGet(this, _BridgeStatusController_wipeBridgeStatusByChainId, "f").call(this, address, selectedChainId);
89
88
  }
@@ -350,7 +349,7 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
350
349
  return srcTxHash;
351
350
  }
352
351
  // Look up in TransactionController if txMeta has been updated with the srcTxHash
353
- const txControllerState = this.messenger.call('TransactionController:getState');
352
+ const txControllerState = this.messagingSystem.call('TransactionController:getState');
354
353
  const txMeta = txControllerState.transactions.find((tx) => tx.id === bridgeTxMetaId);
355
354
  return txMeta?.hash;
356
355
  });
@@ -391,7 +390,8 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
391
390
  *******************************************************
392
391
  */
393
392
  /**
394
- * Submits the transaction to the snap using the keyring rpc method
393
+ * Submits the transaction to the snap using the new unified ClientRequest interface
394
+ * Works for all non-EVM chains (Solana, BTC, Tron)
395
395
  * This adds an approval tx to the ApprovalsController in the background
396
396
  * The client needs to handle the approval tx by redirecting to the confirmation page with the approvalTxId in the URL
397
397
  *
@@ -400,21 +400,20 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
400
400
  * @param selectedAccount - The account to submit the transaction for
401
401
  * @returns The transaction meta
402
402
  */
403
- _BridgeStatusController_handleSolanaTx.set(this, async (quoteResponse, selectedAccount) => {
403
+ _BridgeStatusController_handleNonEvmTx.set(this, async (quoteResponse, selectedAccount) => {
404
404
  if (!selectedAccount.metadata?.snap?.id) {
405
405
  throw new Error('Failed to submit cross-chain swap transaction: undefined snap id');
406
406
  }
407
407
  const request = (0, transaction_1.getClientRequest)(quoteResponse, selectedAccount);
408
- const requestResponse = (await this.messenger.call('SnapController:handleRequest', request));
409
- // The extension client actually redirects before it can do anytyhing with this meta
410
- const txMeta = (0, transaction_1.handleSolanaTxResponse)(requestResponse, quoteResponse, selectedAccount);
408
+ const requestResponse = (await this.messagingSystem.call('SnapController:handleRequest', request));
409
+ const txMeta = (0, transaction_1.handleNonEvmTxResponse)(requestResponse, quoteResponse, selectedAccount);
411
410
  // TODO remove this eventually, just returning it now to match extension behavior
412
411
  // OR if the snap can propagate the snapRequestId or keyringReqId to the ApprovalsController, this can return the approvalTxId instead and clients won't need to subscribe to the ApprovalsController state to redirect
413
412
  return txMeta;
414
413
  });
415
414
  _BridgeStatusController_waitForHashAndReturnFinalTxMeta.set(this, async (hashPromise) => {
416
415
  const transactionHash = await hashPromise;
417
- const finalTransactionMeta = this.messenger
416
+ const finalTransactionMeta = this.messagingSystem
418
417
  .call('TransactionController:getState')
419
418
  .transactions.find((tx) => tx.hash === transactionHash);
420
419
  if (!finalTransactionMeta) {
@@ -459,13 +458,13 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
459
458
  * @returns The transaction meta
460
459
  */
461
460
  _BridgeStatusController_handleEvmTransaction.set(this, async ({ transactionType, trade, requireApproval = false, }) => {
462
- const actionId = (0, transaction_2.generateActionId)().toString();
463
- const selectedAccount = this.messenger.call('AccountsController:getAccountByAddress', trade.from);
461
+ const actionId = (0, transaction_1.generateActionId)().toString();
462
+ const selectedAccount = this.messagingSystem.call('AccountsController:getAccountByAddress', trade.from);
464
463
  if (!selectedAccount) {
465
464
  throw new Error('Failed to submit cross-chain swap transaction: unknown account in trade data');
466
465
  }
467
466
  const hexChainId = (0, bridge_controller_1.formatChainIdToHex)(trade.chainId);
468
- const networkClientId = this.messenger.call('NetworkController:findNetworkClientIdByChainId', hexChainId);
467
+ const networkClientId = this.messagingSystem.call('NetworkController:findNetworkClientIdByChainId', hexChainId);
469
468
  const requestOptions = {
470
469
  actionId,
471
470
  networkClientId,
@@ -487,7 +486,7 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
487
486
  return await __classPrivateFieldGet(this, _BridgeStatusController_waitForHashAndReturnFinalTxMeta, "f").call(this, result);
488
487
  });
489
488
  _BridgeStatusController_handleUSDTAllowanceReset.set(this, async (quoteResponse) => {
490
- const resetApproval = await (0, transaction_1.getUSDTAllowanceResetTx)(this.messenger, quoteResponse);
489
+ const resetApproval = await (0, transaction_1.getUSDTAllowanceResetTx)(this.messagingSystem, quoteResponse);
491
490
  if (resetApproval) {
492
491
  await __classPrivateFieldGet(this, _BridgeStatusController_handleEvmTransaction, "f").call(this, {
493
492
  transactionType: transaction_controller_1.TransactionType.bridgeApproval,
@@ -496,7 +495,7 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
496
495
  }
497
496
  });
498
497
  _BridgeStatusController_calculateGasFees.set(this, async (transactionParams, networkClientId, chainId) => {
499
- const { gasFeeEstimates } = this.messenger.call('GasFeeController:getState');
498
+ const { gasFeeEstimates } = this.messagingSystem.call('GasFeeController:getState');
500
499
  const { estimates: txGasFeeEstimates } = await __classPrivateFieldGet(this, _BridgeStatusController_estimateGasFeeFn, "f").call(this, {
501
500
  transactionParams,
502
501
  chainId,
@@ -527,7 +526,7 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
527
526
  */
528
527
  _BridgeStatusController_handleEvmTransactionBatch.set(this, async (args) => {
529
528
  const transactionParams = await (0, transaction_1.getAddTransactionBatchParams)({
530
- messenger: this.messenger,
529
+ messagingSystem: this.messagingSystem,
531
530
  estimateGasFeeFn: __classPrivateFieldGet(this, _BridgeStatusController_estimateGasFeeFn, "f"),
532
531
  ...args,
533
532
  });
@@ -539,7 +538,7 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
539
538
  };
540
539
  const { batchId } = await __classPrivateFieldGet(this, _BridgeStatusController_addTransactionBatchFn, "f").call(this, transactionParams);
541
540
  const { approvalMeta, tradeMeta } = (0, transaction_1.findAndUpdateTransactionsInBatch)({
542
- messenger: this.messenger,
541
+ messagingSystem: this.messagingSystem,
543
542
  updateTransactionFn: __classPrivateFieldGet(this, _BridgeStatusController_updateTransactionFn, "f"),
544
543
  batchId,
545
544
  txDataByType,
@@ -557,7 +556,7 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
557
556
  * @returns The transaction meta
558
557
  */
559
558
  this.submitTx = async (quoteResponse, isStxEnabledOnClient) => {
560
- this.messenger.call('BridgeController:stopPollingForQuotes');
559
+ this.messagingSystem.call('BridgeController:stopPollingForQuotes');
561
560
  const selectedAccount = __classPrivateFieldGet(this, _BridgeStatusController_instances, "m", _BridgeStatusController_getMultichainSelectedAccount).call(this);
562
561
  if (!selectedAccount) {
563
562
  throw new Error('Failed to submit cross-chain swap transaction: undefined multichain account');
@@ -570,9 +569,13 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
570
569
  let approvalTxId;
571
570
  const startTime = Date.now();
572
571
  const isBridgeTx = (0, bridge_controller_1.isCrossChain)(quoteResponse.quote.srcChainId, quoteResponse.quote.destChainId);
573
- // Submit SOLANA tx
574
- if ((0, bridge_controller_1.isSolanaChainId)(quoteResponse.quote.srcChainId) &&
575
- typeof quoteResponse.trade === 'string') {
572
+ // Submit non-EVM tx (Solana, BTC, Tron)
573
+ // Bitcoin trades come as objects with unsignedPsbtBase64, others as strings
574
+ const isNonEvmTrade = (0, bridge_controller_1.isNonEvmChainId)(quoteResponse.quote.srcChainId) &&
575
+ (typeof quoteResponse.trade === 'string' ||
576
+ (typeof quoteResponse.trade === 'object' &&
577
+ 'unsignedPsbtBase64' in quoteResponse.trade));
578
+ if (isNonEvmTrade) {
576
579
  txMeta = await __classPrivateFieldGet(this, _BridgeStatusController_trace, "f").call(this, {
577
580
  name: isBridgeTx
578
581
  ? constants_1.TraceName.BridgeTransactionCompleted
@@ -583,7 +586,7 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
583
586
  },
584
587
  }, async () => {
585
588
  try {
586
- return await __classPrivateFieldGet(this, _BridgeStatusController_handleSolanaTx, "f").call(this, quoteResponse, selectedAccount);
589
+ return await __classPrivateFieldGet(this, _BridgeStatusController_handleNonEvmTx, "f").call(this, quoteResponse, selectedAccount);
587
590
  }
588
591
  catch (error) {
589
592
  __classPrivateFieldGet(this, _BridgeStatusController_trackUnifiedSwapBridgeEvent, "f").call(this, bridge_controller_1.UnifiedSwapBridgeEventName.Failed, txMeta?.id, {
@@ -612,7 +615,7 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
612
615
  if (isStxEnabledOnClient || quoteResponse.quote.gasIncluded7702) {
613
616
  const { tradeMeta, approvalMeta } = await __classPrivateFieldGet(this, _BridgeStatusController_handleEvmTransactionBatch, "f").call(this, {
614
617
  isBridgeTx,
615
- resetApproval: await (0, transaction_1.getUSDTAllowanceResetTx)(this.messenger, quoteResponse),
618
+ resetApproval: await (0, transaction_1.getUSDTAllowanceResetTx)(this.messagingSystem, quoteResponse),
616
619
  approval: quoteResponse.approval,
617
620
  trade: quoteResponse.trade,
618
621
  quoteResponse,
@@ -649,10 +652,10 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
649
652
  startTime,
650
653
  approvalTxId,
651
654
  });
652
- if ((0, bridge_controller_1.isSolanaChainId)(quoteResponse.quote.srcChainId)) {
655
+ if ((0, bridge_controller_1.isNonEvmChainId)(quoteResponse.quote.srcChainId)) {
653
656
  // Start polling for bridge tx status
654
657
  __classPrivateFieldGet(this, _BridgeStatusController_startPollingForTxId, "f").call(this, txMeta.id);
655
- // Track Solana Swap completed event
658
+ // Track non-EVM Swap completed event
656
659
  if (!isBridgeTx) {
657
660
  __classPrivateFieldGet(this, _BridgeStatusController_trackUnifiedSwapBridgeEvent, "f").call(this, bridge_controller_1.UnifiedSwapBridgeEventName.Completed, txMeta.id);
658
661
  }
@@ -676,22 +679,22 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
676
679
  ...(eventProperties ?? {}),
677
680
  };
678
681
  if (!txMetaId) {
679
- this.messenger.call('BridgeController:trackUnifiedSwapBridgeEvent', eventName, baseProperties);
682
+ this.messagingSystem.call('BridgeController:trackUnifiedSwapBridgeEvent', eventName, baseProperties);
680
683
  return;
681
684
  }
682
685
  const historyItem = this.state.txHistory[txMetaId];
683
686
  if (!historyItem) {
684
- this.messenger.call('BridgeController:trackUnifiedSwapBridgeEvent', eventName, eventProperties ?? {});
687
+ this.messagingSystem.call('BridgeController:trackUnifiedSwapBridgeEvent', eventName, eventProperties ?? {});
685
688
  return;
686
689
  }
687
- const selectedAccount = this.messenger.call('AccountsController:getAccountByAddress', historyItem.account);
688
- const { transactions } = this.messenger.call('TransactionController:getState');
690
+ const selectedAccount = this.messagingSystem.call('AccountsController:getAccountByAddress', historyItem.account);
691
+ const { transactions } = this.messagingSystem.call('TransactionController:getState');
689
692
  const txMeta = transactions?.find(({ id }) => id === txMetaId);
690
693
  const approvalTxMeta = transactions?.find(({ id }) => id === historyItem.approvalTxId);
691
694
  const requestParamProperties = (0, metrics_1.getRequestParamFromHistory)(historyItem);
692
695
  if (eventName === bridge_controller_1.UnifiedSwapBridgeEventName.StatusValidationFailed) {
693
696
  const { chain_id_source, chain_id_destination, token_address_source, token_address_destination, } = requestParamProperties;
694
- this.messenger.call('BridgeController:trackUnifiedSwapBridgeEvent', eventName, {
697
+ this.messagingSystem.call('BridgeController:trackUnifiedSwapBridgeEvent', eventName, {
695
698
  ...baseProperties,
696
699
  chain_id_source,
697
700
  chain_id_destination,
@@ -710,7 +713,7 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
710
713
  ...(0, metrics_1.getFinalizedTxProperties)(historyItem, txMeta, approvalTxMeta),
711
714
  ...(0, metrics_1.getPriceImpactFromQuote)(historyItem.quote),
712
715
  };
713
- this.messenger.call('BridgeController:trackUnifiedSwapBridgeEvent', eventName, requiredEventProperties);
716
+ this.messagingSystem.call('BridgeController:trackUnifiedSwapBridgeEvent', eventName, requiredEventProperties);
714
717
  });
715
718
  __classPrivateFieldSet(this, _BridgeStatusController_clientId, clientId, "f");
716
719
  __classPrivateFieldSet(this, _BridgeStatusController_fetchFn, fetchFn, "f");
@@ -723,15 +726,15 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
723
726
  }, "f");
724
727
  __classPrivateFieldSet(this, _BridgeStatusController_trace, traceFn ?? ((_request, fn) => fn?.()), "f");
725
728
  // Register action handlers
726
- this.messenger.registerActionHandler(`${constants_1.BRIDGE_STATUS_CONTROLLER_NAME}:startPollingForBridgeTxStatus`, this.startPollingForBridgeTxStatus.bind(this));
727
- this.messenger.registerActionHandler(`${constants_1.BRIDGE_STATUS_CONTROLLER_NAME}:wipeBridgeStatus`, this.wipeBridgeStatus.bind(this));
728
- this.messenger.registerActionHandler(`${constants_1.BRIDGE_STATUS_CONTROLLER_NAME}:resetState`, this.resetState.bind(this));
729
- this.messenger.registerActionHandler(`${constants_1.BRIDGE_STATUS_CONTROLLER_NAME}:submitTx`, this.submitTx.bind(this));
730
- this.messenger.registerActionHandler(`${constants_1.BRIDGE_STATUS_CONTROLLER_NAME}:restartPollingForFailedAttempts`, this.restartPollingForFailedAttempts.bind(this));
731
- this.messenger.registerActionHandler(`${constants_1.BRIDGE_STATUS_CONTROLLER_NAME}:getBridgeHistoryItemByTxMetaId`, this.getBridgeHistoryItemByTxMetaId.bind(this));
729
+ this.messagingSystem.registerActionHandler(`${constants_1.BRIDGE_STATUS_CONTROLLER_NAME}:startPollingForBridgeTxStatus`, this.startPollingForBridgeTxStatus.bind(this));
730
+ this.messagingSystem.registerActionHandler(`${constants_1.BRIDGE_STATUS_CONTROLLER_NAME}:wipeBridgeStatus`, this.wipeBridgeStatus.bind(this));
731
+ this.messagingSystem.registerActionHandler(`${constants_1.BRIDGE_STATUS_CONTROLLER_NAME}:resetState`, this.resetState.bind(this));
732
+ this.messagingSystem.registerActionHandler(`${constants_1.BRIDGE_STATUS_CONTROLLER_NAME}:submitTx`, this.submitTx.bind(this));
733
+ this.messagingSystem.registerActionHandler(`${constants_1.BRIDGE_STATUS_CONTROLLER_NAME}:restartPollingForFailedAttempts`, this.restartPollingForFailedAttempts.bind(this));
734
+ this.messagingSystem.registerActionHandler(`${constants_1.BRIDGE_STATUS_CONTROLLER_NAME}:getBridgeHistoryItemByTxMetaId`, this.getBridgeHistoryItemByTxMetaId.bind(this));
732
735
  // Set interval
733
736
  this.setIntervalLength(constants_1.REFRESH_INTERVAL_MS);
734
- this.messenger.subscribe('TransactionController:transactionFailed', ({ transactionMeta }) => {
737
+ this.messagingSystem.subscribe('TransactionController:transactionFailed', ({ transactionMeta }) => {
735
738
  const { type, status, id } = transactionMeta;
736
739
  if (type &&
737
740
  [
@@ -753,12 +756,12 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
753
756
  }
754
757
  }
755
758
  });
756
- this.messenger.subscribe('TransactionController:transactionConfirmed', (transactionMeta) => {
759
+ this.messagingSystem.subscribe('TransactionController:transactionConfirmed', (transactionMeta) => {
757
760
  const { type, id, chainId } = transactionMeta;
758
761
  if (type === transaction_controller_1.TransactionType.swap) {
759
762
  __classPrivateFieldGet(this, _BridgeStatusController_trackUnifiedSwapBridgeEvent, "f").call(this, bridge_controller_1.UnifiedSwapBridgeEventName.Completed, id);
760
763
  }
761
- if (type === transaction_controller_1.TransactionType.bridge && !(0, bridge_controller_1.isSolanaChainId)(chainId)) {
764
+ if (type === transaction_controller_1.TransactionType.bridge && !(0, bridge_controller_1.isNonEvmChainId)(chainId)) {
762
765
  __classPrivateFieldGet(this, _BridgeStatusController_startPollingForTxId, "f").call(this, id);
763
766
  }
764
767
  });
@@ -769,7 +772,7 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
769
772
  }
770
773
  }
771
774
  exports.BridgeStatusController = BridgeStatusController;
772
- _BridgeStatusController_pollingTokensByTxMetaId = 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_startPollingForTxId = new WeakMap(), _BridgeStatusController_handleFetchFailure = new WeakMap(), _BridgeStatusController_fetchBridgeTxStatus = new WeakMap(), _BridgeStatusController_getSrcTxHash = new WeakMap(), _BridgeStatusController_updateSrcTxHash = new WeakMap(), _BridgeStatusController_wipeBridgeStatusByChainId = new WeakMap(), _BridgeStatusController_handleSolanaTx = new WeakMap(), _BridgeStatusController_waitForHashAndReturnFinalTxMeta = 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() {
773
- return this.messenger.call('AccountsController:getSelectedMultichainAccount');
775
+ _BridgeStatusController_pollingTokensByTxMetaId = 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_startPollingForTxId = new WeakMap(), _BridgeStatusController_handleFetchFailure = new WeakMap(), _BridgeStatusController_fetchBridgeTxStatus = new WeakMap(), _BridgeStatusController_getSrcTxHash = new WeakMap(), _BridgeStatusController_updateSrcTxHash = new WeakMap(), _BridgeStatusController_wipeBridgeStatusByChainId = new WeakMap(), _BridgeStatusController_handleNonEvmTx = new WeakMap(), _BridgeStatusController_waitForHashAndReturnFinalTxMeta = 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() {
776
+ return this.messagingSystem.call('AccountsController:getSelectedMultichainAccount');
774
777
  };
775
778
  //# sourceMappingURL=bridge-status-controller.cjs.map