@metamask-previews/bridge-status-controller 74.4.0-preview-7aad920a3 → 74.5.0-preview-a3e31582e
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 +6 -4
- package/dist/bridge-status-controller-method-action-types.cjs.map +1 -1
- package/dist/bridge-status-controller-method-action-types.d.cts.map +1 -1
- package/dist/bridge-status-controller-method-action-types.d.mts.map +1 -1
- package/dist/bridge-status-controller-method-action-types.mjs.map +1 -1
- package/dist/bridge-status-controller.cjs +78 -88
- package/dist/bridge-status-controller.cjs.map +1 -1
- package/dist/bridge-status-controller.d.cts +4 -4
- package/dist/bridge-status-controller.d.cts.map +1 -1
- package/dist/bridge-status-controller.d.mts +4 -4
- package/dist/bridge-status-controller.d.mts.map +1 -1
- package/dist/bridge-status-controller.intent.cjs +8 -8
- package/dist/bridge-status-controller.intent.cjs.map +1 -1
- package/dist/bridge-status-controller.intent.d.cts.map +1 -1
- package/dist/bridge-status-controller.intent.d.mts.map +1 -1
- package/dist/bridge-status-controller.intent.mjs.map +1 -1
- package/dist/bridge-status-controller.mjs +3 -13
- package/dist/bridge-status-controller.mjs.map +1 -1
- package/dist/constants.cjs.map +1 -1
- package/dist/constants.d.cts.map +1 -1
- package/dist/constants.d.mts.map +1 -1
- package/dist/constants.mjs.map +1 -1
- package/dist/index.cjs +18 -18
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/quote-status-manager/errors.cjs.map +1 -1
- package/dist/quote-status-manager/errors.d.cts.map +1 -1
- package/dist/quote-status-manager/errors.d.mts.map +1 -1
- package/dist/quote-status-manager/errors.mjs.map +1 -1
- package/dist/quote-status-manager/quote-status-api-service.cjs +29 -29
- package/dist/quote-status-manager/quote-status-api-service.cjs.map +1 -1
- package/dist/quote-status-manager/quote-status-api-service.d.cts.map +1 -1
- package/dist/quote-status-manager/quote-status-api-service.d.mts.map +1 -1
- package/dist/quote-status-manager/quote-status-api-service.mjs.map +1 -1
- package/dist/quote-status-manager/quote-status-entry-store.cjs +5 -5
- package/dist/quote-status-manager/quote-status-entry-store.cjs.map +1 -1
- package/dist/quote-status-manager/quote-status-entry-store.d.cts.map +1 -1
- package/dist/quote-status-manager/quote-status-entry-store.d.mts.map +1 -1
- package/dist/quote-status-manager/quote-status-entry-store.mjs.map +1 -1
- package/dist/quote-status-manager/quote-status-get-with-retry-outcome.cjs +2 -2
- package/dist/quote-status-manager/quote-status-get-with-retry-outcome.cjs.map +1 -1
- package/dist/quote-status-manager/quote-status-get-with-retry-outcome.d.cts.map +1 -1
- package/dist/quote-status-manager/quote-status-get-with-retry-outcome.d.mts.map +1 -1
- package/dist/quote-status-manager/quote-status-get-with-retry-outcome.mjs.map +1 -1
- package/dist/quote-status-manager/quote-status-state-fsm.cjs +3 -3
- package/dist/quote-status-manager/quote-status-state-fsm.cjs.map +1 -1
- package/dist/quote-status-manager/quote-status-state-fsm.d.cts.map +1 -1
- package/dist/quote-status-manager/quote-status-state-fsm.d.mts.map +1 -1
- package/dist/quote-status-manager/quote-status-state-fsm.mjs.map +1 -1
- package/dist/quote-status-manager/quote-status-update-with-retry-outcome.cjs +1 -1
- package/dist/quote-status-manager/quote-status-update-with-retry-outcome.cjs.map +1 -1
- package/dist/quote-status-manager/quote-status-update-with-retry-outcome.d.cts.map +1 -1
- package/dist/quote-status-manager/quote-status-update-with-retry-outcome.d.mts.map +1 -1
- package/dist/quote-status-manager/quote-status-update-with-retry-outcome.mjs.map +1 -1
- package/dist/quote-status-manager/quotes-status-manager.cjs +47 -47
- package/dist/quote-status-manager/quotes-status-manager.cjs.map +1 -1
- package/dist/quote-status-manager/quotes-status-manager.d.cts.map +1 -1
- package/dist/quote-status-manager/quotes-status-manager.d.mts.map +1 -1
- package/dist/quote-status-manager/quotes-status-manager.mjs.map +1 -1
- package/dist/quote-status-manager/types.cjs +4 -4
- package/dist/quote-status-manager/types.cjs.map +1 -1
- package/dist/quote-status-manager/types.d.cts.map +1 -1
- package/dist/quote-status-manager/types.d.mts.map +1 -1
- package/dist/quote-status-manager/types.mjs.map +1 -1
- package/dist/quote-status-manager/validators.cjs +7 -7
- package/dist/quote-status-manager/validators.cjs.map +1 -1
- package/dist/quote-status-manager/validators.d.cts +24 -24
- package/dist/quote-status-manager/validators.d.cts.map +1 -1
- package/dist/quote-status-manager/validators.d.mts +24 -24
- package/dist/quote-status-manager/validators.d.mts.map +1 -1
- package/dist/quote-status-manager/validators.mjs.map +1 -1
- package/dist/strategy/batch-sell-strategy.cjs +13 -13
- package/dist/strategy/batch-sell-strategy.cjs.map +1 -1
- package/dist/strategy/batch-sell-strategy.d.cts.map +1 -1
- package/dist/strategy/batch-sell-strategy.d.mts.map +1 -1
- package/dist/strategy/batch-sell-strategy.mjs.map +1 -1
- package/dist/strategy/batch-strategy.cjs +11 -11
- package/dist/strategy/batch-strategy.cjs.map +1 -1
- package/dist/strategy/batch-strategy.d.cts.map +1 -1
- package/dist/strategy/batch-strategy.d.mts.map +1 -1
- package/dist/strategy/batch-strategy.mjs.map +1 -1
- package/dist/strategy/evm-strategy.cjs +18 -18
- package/dist/strategy/evm-strategy.cjs.map +1 -1
- package/dist/strategy/evm-strategy.d.cts.map +1 -1
- package/dist/strategy/evm-strategy.d.mts.map +1 -1
- package/dist/strategy/evm-strategy.mjs.map +1 -1
- package/dist/strategy/index.cjs +10 -10
- package/dist/strategy/index.cjs.map +1 -1
- package/dist/strategy/index.d.cts.map +1 -1
- package/dist/strategy/index.d.mts.map +1 -1
- package/dist/strategy/index.mjs.map +1 -1
- package/dist/strategy/intent-strategy.cjs +20 -20
- package/dist/strategy/intent-strategy.cjs.map +1 -1
- package/dist/strategy/intent-strategy.d.cts.map +1 -1
- package/dist/strategy/intent-strategy.d.mts.map +1 -1
- package/dist/strategy/intent-strategy.mjs.map +1 -1
- package/dist/strategy/non-evm-strategy.cjs +12 -12
- package/dist/strategy/non-evm-strategy.cjs.map +1 -1
- package/dist/strategy/non-evm-strategy.d.cts.map +1 -1
- package/dist/strategy/non-evm-strategy.d.mts.map +1 -1
- package/dist/strategy/non-evm-strategy.mjs.map +1 -1
- package/dist/strategy/types.cjs.map +1 -1
- package/dist/strategy/types.d.cts +3 -3
- package/dist/strategy/types.d.cts.map +1 -1
- package/dist/strategy/types.d.mts +3 -3
- package/dist/strategy/types.d.mts.map +1 -1
- package/dist/strategy/types.mjs.map +1 -1
- package/dist/types.cjs +3 -3
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +6 -6
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.mts +6 -6
- package/dist/types.d.mts.map +1 -1
- package/dist/types.mjs.map +1 -1
- package/dist/utils/accounts.cjs.map +1 -1
- package/dist/utils/accounts.d.cts.map +1 -1
- package/dist/utils/accounts.d.mts.map +1 -1
- package/dist/utils/accounts.mjs.map +1 -1
- package/dist/utils/authentication.cjs.map +1 -1
- package/dist/utils/authentication.d.cts.map +1 -1
- package/dist/utils/authentication.d.mts.map +1 -1
- package/dist/utils/authentication.mjs.map +1 -1
- package/dist/utils/bridge-status.cjs +9 -9
- package/dist/utils/bridge-status.cjs.map +1 -1
- package/dist/utils/bridge-status.d.cts +3 -3
- package/dist/utils/bridge-status.d.cts.map +1 -1
- package/dist/utils/bridge-status.d.mts +3 -3
- package/dist/utils/bridge-status.d.mts.map +1 -1
- package/dist/utils/bridge-status.mjs.map +1 -1
- package/dist/utils/bridge.cjs.map +1 -1
- package/dist/utils/bridge.d.cts.map +1 -1
- package/dist/utils/bridge.d.mts.map +1 -1
- package/dist/utils/bridge.mjs.map +1 -1
- package/dist/utils/feature-flags.cjs +2 -2
- package/dist/utils/feature-flags.cjs.map +1 -1
- package/dist/utils/feature-flags.d.cts.map +1 -1
- package/dist/utils/feature-flags.d.mts.map +1 -1
- package/dist/utils/feature-flags.mjs.map +1 -1
- package/dist/utils/gas.cjs.map +1 -1
- package/dist/utils/gas.d.cts.map +1 -1
- package/dist/utils/gas.d.mts.map +1 -1
- package/dist/utils/gas.mjs.map +1 -1
- package/dist/utils/history.cjs +2 -2
- package/dist/utils/history.cjs.map +1 -1
- package/dist/utils/history.d.cts.map +1 -1
- package/dist/utils/history.d.mts.map +1 -1
- package/dist/utils/history.mjs.map +1 -1
- package/dist/utils/intent-api.cjs +17 -17
- package/dist/utils/intent-api.cjs.map +1 -1
- package/dist/utils/intent-api.d.cts +2 -2
- package/dist/utils/intent-api.d.cts.map +1 -1
- package/dist/utils/intent-api.d.mts +2 -2
- package/dist/utils/intent-api.d.mts.map +1 -1
- package/dist/utils/intent-api.mjs.map +1 -1
- package/dist/utils/keyring.cjs.map +1 -1
- package/dist/utils/keyring.d.cts.map +1 -1
- package/dist/utils/keyring.d.mts.map +1 -1
- package/dist/utils/keyring.mjs.map +1 -1
- package/dist/utils/metrics.cjs +5 -5
- package/dist/utils/metrics.cjs.map +1 -1
- package/dist/utils/metrics.d.cts +4 -4
- package/dist/utils/metrics.d.cts.map +1 -1
- package/dist/utils/metrics.d.mts +4 -4
- package/dist/utils/metrics.d.mts.map +1 -1
- package/dist/utils/metrics.mjs.map +1 -1
- package/dist/utils/network.cjs.map +1 -1
- package/dist/utils/network.d.cts.map +1 -1
- package/dist/utils/network.d.mts.map +1 -1
- package/dist/utils/network.mjs.map +1 -1
- package/dist/utils/snaps.cjs.map +1 -1
- package/dist/utils/snaps.d.cts +4 -4
- package/dist/utils/snaps.d.cts.map +1 -1
- package/dist/utils/snaps.d.mts +4 -4
- package/dist/utils/snaps.d.mts.map +1 -1
- package/dist/utils/snaps.mjs.map +1 -1
- package/dist/utils/swap-received-amount.cjs.map +1 -1
- package/dist/utils/swap-received-amount.d.cts.map +1 -1
- package/dist/utils/swap-received-amount.d.mts.map +1 -1
- package/dist/utils/swap-received-amount.mjs.map +1 -1
- package/dist/utils/trace.cjs +5 -5
- package/dist/utils/trace.cjs.map +1 -1
- package/dist/utils/trace.d.cts +3 -3
- package/dist/utils/trace.d.cts.map +1 -1
- package/dist/utils/trace.d.mts +3 -3
- package/dist/utils/trace.d.mts.map +1 -1
- package/dist/utils/trace.mjs.map +1 -1
- package/dist/utils/transaction.cjs +6 -6
- package/dist/utils/transaction.cjs.map +1 -1
- package/dist/utils/transaction.d.cts +4 -4
- package/dist/utils/transaction.d.cts.map +1 -1
- package/dist/utils/transaction.d.mts +4 -4
- package/dist/utils/transaction.d.mts.map +1 -1
- package/dist/utils/transaction.mjs.map +1 -1
- package/dist/utils/validators.d.cts +24 -24
- package/dist/utils/validators.d.mts +24 -24
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -7,13 +7,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [74.5.0]
|
|
11
|
+
|
|
10
12
|
### Changed
|
|
11
13
|
|
|
12
|
-
- **BREAKING**: Change `submitBatchSell` and `submitIntent` quoteResponse parameter from `QuoteResponseV1` to `QuoteResponse` V2 ([#9085](https://github.com/MetaMask/core/pull/9085))
|
|
13
|
-
- Support both `QuoteResponseV1` and `QuoteResponse` quoteResponses in `submitTx`. Controller logic and utils still require V1, but clients can submit quotes in both formats ([#9085](https://github.com/MetaMask/core/pull/9085))
|
|
14
14
|
- Use `gasFee.total` instead of `gasFee.effective` to calculate gas metrics properties ([#9507](https://github.com/MetaMask/core/pull/9507))
|
|
15
15
|
- Update utils to use `mergeQuoteMetadata` and handle optional QuoteMetadata values. ([#9507](https://github.com/MetaMask/core/pull/9507))
|
|
16
|
-
- Bump `@metamask/bridge-controller` from `^77.7.0` to `^
|
|
16
|
+
- Bump `@metamask/bridge-controller` from `^77.7.0` to `^78.0.0` ([#9614](https://github.com/MetaMask/core/pull/9614)), ([#9637](https://github.com/MetaMask/core/pull/9637))
|
|
17
|
+
- Bump `@metamask/gas-fee-controller` from `^26.2.4` to `^26.3.0` ([#9629](https://github.com/MetaMask/core/pull/9629))
|
|
17
18
|
|
|
18
19
|
## [74.4.0]
|
|
19
20
|
|
|
@@ -1441,7 +1442,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
1441
1442
|
|
|
1442
1443
|
- Initial release ([#5317](https://github.com/MetaMask/core/pull/5317))
|
|
1443
1444
|
|
|
1444
|
-
[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/bridge-status-controller@74.
|
|
1445
|
+
[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/bridge-status-controller@74.5.0...HEAD
|
|
1446
|
+
[74.5.0]: https://github.com/MetaMask/core/compare/@metamask/bridge-status-controller@74.4.0...@metamask/bridge-status-controller@74.5.0
|
|
1445
1447
|
[74.4.0]: https://github.com/MetaMask/core/compare/@metamask/bridge-status-controller@74.3.0...@metamask/bridge-status-controller@74.4.0
|
|
1446
1448
|
[74.3.0]: https://github.com/MetaMask/core/compare/@metamask/bridge-status-controller@74.2.0...@metamask/bridge-status-controller@74.3.0
|
|
1447
1449
|
[74.2.0]: https://github.com/MetaMask/core/compare/@metamask/bridge-status-controller@74.1.2...@metamask/bridge-status-controller@74.2.0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge-status-controller-method-action-types.cjs","sourceRoot":"","sources":["../src/bridge-status-controller-method-action-types.ts"],"names":[],"mappings":";AAAA;;;GAGG","sourcesContent":["/**\n * This file is auto generated.\n * Do not edit manually.\n */\n\nimport type { BridgeStatusController } from './bridge-status-controller';\n\nexport type BridgeStatusControllerStartPollingForBridgeTxStatusAction = {\n type: `BridgeStatusController:startPollingForBridgeTxStatus`;\n handler: BridgeStatusController['startPollingForBridgeTxStatus'];\n};\n\nexport type BridgeStatusControllerWipeBridgeStatusAction = {\n type: `BridgeStatusController:wipeBridgeStatus`;\n handler: BridgeStatusController['wipeBridgeStatus'];\n};\n\nexport type BridgeStatusControllerResetStateAction = {\n type: `BridgeStatusController:resetState`;\n handler: BridgeStatusController['resetState'];\n};\n\nexport type BridgeStatusControllerSubmitTxAction = {\n type: `BridgeStatusController:submitTx`;\n handler: BridgeStatusController['submitTx'];\n};\n\nexport type BridgeStatusControllerSubmitIntentAction = {\n type: `BridgeStatusController:submitIntent`;\n handler: BridgeStatusController['submitIntent'];\n};\n\nexport type BridgeStatusControllerRestartPollingForFailedAttemptsAction = {\n type: `BridgeStatusController:restartPollingForFailedAttempts`;\n handler: BridgeStatusController['restartPollingForFailedAttempts'];\n};\n\nexport type BridgeStatusControllerGetBridgeHistoryItemByTxMetaIdAction = {\n type: `BridgeStatusController:getBridgeHistoryItemByTxMetaId`;\n handler: BridgeStatusController['getBridgeHistoryItemByTxMetaId'];\n};\n\nexport type BridgeStatusControllerSubmitBatchSellAction = {\n type: `BridgeStatusController:submitBatchSell`;\n handler: BridgeStatusController['submitBatchSell'];\n};\n\n/**\n * Union of all BridgeStatusController action types.\n */\nexport type BridgeStatusControllerMethodActions =\n | BridgeStatusControllerStartPollingForBridgeTxStatusAction\n | BridgeStatusControllerWipeBridgeStatusAction\n | BridgeStatusControllerResetStateAction\n | BridgeStatusControllerSubmitTxAction\n | BridgeStatusControllerSubmitIntentAction\n | BridgeStatusControllerRestartPollingForFailedAttemptsAction\n | BridgeStatusControllerGetBridgeHistoryItemByTxMetaIdAction\n | BridgeStatusControllerSubmitBatchSellAction;\n"]}
|
|
1
|
+
{"version":3,"file":"bridge-status-controller-method-action-types.cjs","sourceRoot":"","sources":["../src/bridge-status-controller-method-action-types.ts"],"names":[],"mappings":";AAAA;;;GAGG","sourcesContent":["/**\n * This file is auto generated.\n * Do not edit manually.\n */\n\nimport type { BridgeStatusController } from './bridge-status-controller.js';\n\nexport type BridgeStatusControllerStartPollingForBridgeTxStatusAction = {\n type: `BridgeStatusController:startPollingForBridgeTxStatus`;\n handler: BridgeStatusController['startPollingForBridgeTxStatus'];\n};\n\nexport type BridgeStatusControllerWipeBridgeStatusAction = {\n type: `BridgeStatusController:wipeBridgeStatus`;\n handler: BridgeStatusController['wipeBridgeStatus'];\n};\n\nexport type BridgeStatusControllerResetStateAction = {\n type: `BridgeStatusController:resetState`;\n handler: BridgeStatusController['resetState'];\n};\n\nexport type BridgeStatusControllerSubmitTxAction = {\n type: `BridgeStatusController:submitTx`;\n handler: BridgeStatusController['submitTx'];\n};\n\nexport type BridgeStatusControllerSubmitIntentAction = {\n type: `BridgeStatusController:submitIntent`;\n handler: BridgeStatusController['submitIntent'];\n};\n\nexport type BridgeStatusControllerRestartPollingForFailedAttemptsAction = {\n type: `BridgeStatusController:restartPollingForFailedAttempts`;\n handler: BridgeStatusController['restartPollingForFailedAttempts'];\n};\n\nexport type BridgeStatusControllerGetBridgeHistoryItemByTxMetaIdAction = {\n type: `BridgeStatusController:getBridgeHistoryItemByTxMetaId`;\n handler: BridgeStatusController['getBridgeHistoryItemByTxMetaId'];\n};\n\nexport type BridgeStatusControllerSubmitBatchSellAction = {\n type: `BridgeStatusController:submitBatchSell`;\n handler: BridgeStatusController['submitBatchSell'];\n};\n\n/**\n * Union of all BridgeStatusController action types.\n */\nexport type BridgeStatusControllerMethodActions =\n | BridgeStatusControllerStartPollingForBridgeTxStatusAction\n | BridgeStatusControllerWipeBridgeStatusAction\n | BridgeStatusControllerResetStateAction\n | BridgeStatusControllerSubmitTxAction\n | BridgeStatusControllerSubmitIntentAction\n | BridgeStatusControllerRestartPollingForFailedAttemptsAction\n | BridgeStatusControllerGetBridgeHistoryItemByTxMetaIdAction\n | BridgeStatusControllerSubmitBatchSellAction;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge-status-controller-method-action-types.d.cts","sourceRoot":"","sources":["../src/bridge-status-controller-method-action-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,
|
|
1
|
+
{"version":3,"file":"bridge-status-controller-method-action-types.d.cts","sourceRoot":"","sources":["../src/bridge-status-controller-method-action-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,uCAAsC;AAE5E,MAAM,MAAM,yDAAyD,GAAG;IACtE,IAAI,EAAE,sDAAsD,CAAC;IAC7D,OAAO,EAAE,sBAAsB,CAAC,+BAA+B,CAAC,CAAC;CAClE,CAAC;AAEF,MAAM,MAAM,4CAA4C,GAAG;IACzD,IAAI,EAAE,yCAAyC,CAAC;IAChD,OAAO,EAAE,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;CACrD,CAAC;AAEF,MAAM,MAAM,sCAAsC,GAAG;IACnD,IAAI,EAAE,mCAAmC,CAAC;IAC1C,OAAO,EAAE,sBAAsB,CAAC,YAAY,CAAC,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,oCAAoC,GAAG;IACjD,IAAI,EAAE,iCAAiC,CAAC;IACxC,OAAO,EAAE,sBAAsB,CAAC,UAAU,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,wCAAwC,GAAG;IACrD,IAAI,EAAE,qCAAqC,CAAC;IAC5C,OAAO,EAAE,sBAAsB,CAAC,cAAc,CAAC,CAAC;CACjD,CAAC;AAEF,MAAM,MAAM,2DAA2D,GAAG;IACxE,IAAI,EAAE,wDAAwD,CAAC;IAC/D,OAAO,EAAE,sBAAsB,CAAC,iCAAiC,CAAC,CAAC;CACpE,CAAC;AAEF,MAAM,MAAM,0DAA0D,GAAG;IACvE,IAAI,EAAE,uDAAuD,CAAC;IAC9D,OAAO,EAAE,sBAAsB,CAAC,gCAAgC,CAAC,CAAC;CACnE,CAAC;AAEF,MAAM,MAAM,2CAA2C,GAAG;IACxD,IAAI,EAAE,wCAAwC,CAAC;IAC/C,OAAO,EAAE,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;CACpD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,mCAAmC,GAC3C,yDAAyD,GACzD,4CAA4C,GAC5C,sCAAsC,GACtC,oCAAoC,GACpC,wCAAwC,GACxC,2DAA2D,GAC3D,0DAA0D,GAC1D,2CAA2C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge-status-controller-method-action-types.d.mts","sourceRoot":"","sources":["../src/bridge-status-controller-method-action-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,
|
|
1
|
+
{"version":3,"file":"bridge-status-controller-method-action-types.d.mts","sourceRoot":"","sources":["../src/bridge-status-controller-method-action-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,uCAAsC;AAE5E,MAAM,MAAM,yDAAyD,GAAG;IACtE,IAAI,EAAE,sDAAsD,CAAC;IAC7D,OAAO,EAAE,sBAAsB,CAAC,+BAA+B,CAAC,CAAC;CAClE,CAAC;AAEF,MAAM,MAAM,4CAA4C,GAAG;IACzD,IAAI,EAAE,yCAAyC,CAAC;IAChD,OAAO,EAAE,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;CACrD,CAAC;AAEF,MAAM,MAAM,sCAAsC,GAAG;IACnD,IAAI,EAAE,mCAAmC,CAAC;IAC1C,OAAO,EAAE,sBAAsB,CAAC,YAAY,CAAC,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,oCAAoC,GAAG;IACjD,IAAI,EAAE,iCAAiC,CAAC;IACxC,OAAO,EAAE,sBAAsB,CAAC,UAAU,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,wCAAwC,GAAG;IACrD,IAAI,EAAE,qCAAqC,CAAC;IAC5C,OAAO,EAAE,sBAAsB,CAAC,cAAc,CAAC,CAAC;CACjD,CAAC;AAEF,MAAM,MAAM,2DAA2D,GAAG;IACxE,IAAI,EAAE,wDAAwD,CAAC;IAC/D,OAAO,EAAE,sBAAsB,CAAC,iCAAiC,CAAC,CAAC;CACpE,CAAC;AAEF,MAAM,MAAM,0DAA0D,GAAG;IACvE,IAAI,EAAE,uDAAuD,CAAC;IAC9D,OAAO,EAAE,sBAAsB,CAAC,gCAAgC,CAAC,CAAC;CACnE,CAAC;AAEF,MAAM,MAAM,2CAA2C,GAAG;IACxD,IAAI,EAAE,wCAAwC,CAAC;IAC/C,OAAO,EAAE,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;CACpD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,mCAAmC,GAC3C,yDAAyD,GACzD,4CAA4C,GAC5C,sCAAsC,GACtC,oCAAoC,GACpC,wCAAwC,GACxC,2DAA2D,GAC3D,0DAA0D,GAC1D,2CAA2C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge-status-controller-method-action-types.mjs","sourceRoot":"","sources":["../src/bridge-status-controller-method-action-types.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/**\n * This file is auto generated.\n * Do not edit manually.\n */\n\nimport type { BridgeStatusController } from './bridge-status-controller';\n\nexport type BridgeStatusControllerStartPollingForBridgeTxStatusAction = {\n type: `BridgeStatusController:startPollingForBridgeTxStatus`;\n handler: BridgeStatusController['startPollingForBridgeTxStatus'];\n};\n\nexport type BridgeStatusControllerWipeBridgeStatusAction = {\n type: `BridgeStatusController:wipeBridgeStatus`;\n handler: BridgeStatusController['wipeBridgeStatus'];\n};\n\nexport type BridgeStatusControllerResetStateAction = {\n type: `BridgeStatusController:resetState`;\n handler: BridgeStatusController['resetState'];\n};\n\nexport type BridgeStatusControllerSubmitTxAction = {\n type: `BridgeStatusController:submitTx`;\n handler: BridgeStatusController['submitTx'];\n};\n\nexport type BridgeStatusControllerSubmitIntentAction = {\n type: `BridgeStatusController:submitIntent`;\n handler: BridgeStatusController['submitIntent'];\n};\n\nexport type BridgeStatusControllerRestartPollingForFailedAttemptsAction = {\n type: `BridgeStatusController:restartPollingForFailedAttempts`;\n handler: BridgeStatusController['restartPollingForFailedAttempts'];\n};\n\nexport type BridgeStatusControllerGetBridgeHistoryItemByTxMetaIdAction = {\n type: `BridgeStatusController:getBridgeHistoryItemByTxMetaId`;\n handler: BridgeStatusController['getBridgeHistoryItemByTxMetaId'];\n};\n\nexport type BridgeStatusControllerSubmitBatchSellAction = {\n type: `BridgeStatusController:submitBatchSell`;\n handler: BridgeStatusController['submitBatchSell'];\n};\n\n/**\n * Union of all BridgeStatusController action types.\n */\nexport type BridgeStatusControllerMethodActions =\n | BridgeStatusControllerStartPollingForBridgeTxStatusAction\n | BridgeStatusControllerWipeBridgeStatusAction\n | BridgeStatusControllerResetStateAction\n | BridgeStatusControllerSubmitTxAction\n | BridgeStatusControllerSubmitIntentAction\n | BridgeStatusControllerRestartPollingForFailedAttemptsAction\n | BridgeStatusControllerGetBridgeHistoryItemByTxMetaIdAction\n | BridgeStatusControllerSubmitBatchSellAction;\n"]}
|
|
1
|
+
{"version":3,"file":"bridge-status-controller-method-action-types.mjs","sourceRoot":"","sources":["../src/bridge-status-controller-method-action-types.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/**\n * This file is auto generated.\n * Do not edit manually.\n */\n\nimport type { BridgeStatusController } from './bridge-status-controller.js';\n\nexport type BridgeStatusControllerStartPollingForBridgeTxStatusAction = {\n type: `BridgeStatusController:startPollingForBridgeTxStatus`;\n handler: BridgeStatusController['startPollingForBridgeTxStatus'];\n};\n\nexport type BridgeStatusControllerWipeBridgeStatusAction = {\n type: `BridgeStatusController:wipeBridgeStatus`;\n handler: BridgeStatusController['wipeBridgeStatus'];\n};\n\nexport type BridgeStatusControllerResetStateAction = {\n type: `BridgeStatusController:resetState`;\n handler: BridgeStatusController['resetState'];\n};\n\nexport type BridgeStatusControllerSubmitTxAction = {\n type: `BridgeStatusController:submitTx`;\n handler: BridgeStatusController['submitTx'];\n};\n\nexport type BridgeStatusControllerSubmitIntentAction = {\n type: `BridgeStatusController:submitIntent`;\n handler: BridgeStatusController['submitIntent'];\n};\n\nexport type BridgeStatusControllerRestartPollingForFailedAttemptsAction = {\n type: `BridgeStatusController:restartPollingForFailedAttempts`;\n handler: BridgeStatusController['restartPollingForFailedAttempts'];\n};\n\nexport type BridgeStatusControllerGetBridgeHistoryItemByTxMetaIdAction = {\n type: `BridgeStatusController:getBridgeHistoryItemByTxMetaId`;\n handler: BridgeStatusController['getBridgeHistoryItemByTxMetaId'];\n};\n\nexport type BridgeStatusControllerSubmitBatchSellAction = {\n type: `BridgeStatusController:submitBatchSell`;\n handler: BridgeStatusController['submitBatchSell'];\n};\n\n/**\n * Union of all BridgeStatusController action types.\n */\nexport type BridgeStatusControllerMethodActions =\n | BridgeStatusControllerStartPollingForBridgeTxStatusAction\n | BridgeStatusControllerWipeBridgeStatusAction\n | BridgeStatusControllerResetStateAction\n | BridgeStatusControllerSubmitTxAction\n | BridgeStatusControllerSubmitIntentAction\n | BridgeStatusControllerRestartPollingForFailedAttemptsAction\n | BridgeStatusControllerGetBridgeHistoryItemByTxMetaIdAction\n | BridgeStatusControllerSubmitBatchSellAction;\n"]}
|
|
@@ -18,28 +18,26 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
18
18
|
exports.BridgeStatusController = void 0;
|
|
19
19
|
const bridge_controller_1 = require("@metamask/bridge-controller");
|
|
20
20
|
const bridge_controller_2 = require("@metamask/bridge-controller");
|
|
21
|
-
const bridge_controller_3 = require("@metamask/bridge-controller");
|
|
22
21
|
const polling_controller_1 = require("@metamask/polling-controller");
|
|
23
|
-
const superstruct_1 = require("@metamask/superstruct");
|
|
24
22
|
const transaction_controller_1 = require("@metamask/transaction-controller");
|
|
25
23
|
const utils_1 = require("@metamask/utils");
|
|
26
24
|
const bridge_status_controller_intent_1 = require("./bridge-status-controller.intent.cjs");
|
|
27
|
-
const
|
|
28
|
-
const
|
|
29
|
-
const
|
|
30
|
-
const
|
|
31
|
-
const
|
|
32
|
-
const
|
|
33
|
-
const
|
|
34
|
-
const
|
|
35
|
-
const
|
|
36
|
-
const
|
|
37
|
-
const
|
|
38
|
-
const
|
|
39
|
-
const
|
|
40
|
-
const
|
|
41
|
-
const
|
|
42
|
-
const
|
|
25
|
+
const constants_js_1 = require("./constants.cjs");
|
|
26
|
+
const constants_js_2 = require("./quote-status-manager/constants.cjs");
|
|
27
|
+
const errors_js_1 = require("./quote-status-manager/errors.cjs");
|
|
28
|
+
const quotes_status_manager_js_1 = require("./quote-status-manager/quotes-status-manager.cjs");
|
|
29
|
+
const index_js_1 = __importDefault(require("./strategy/index.cjs"));
|
|
30
|
+
const types_js_1 = require("./strategy/types.cjs");
|
|
31
|
+
const types_js_2 = require("./types.cjs");
|
|
32
|
+
const accounts_js_1 = require("./utils/accounts.cjs");
|
|
33
|
+
const authentication_js_1 = require("./utils/authentication.cjs");
|
|
34
|
+
const bridge_status_js_1 = require("./utils/bridge-status.cjs");
|
|
35
|
+
const bridge_js_1 = require("./utils/bridge.cjs");
|
|
36
|
+
const history_js_1 = require("./utils/history.cjs");
|
|
37
|
+
const metrics_js_1 = require("./utils/metrics.cjs");
|
|
38
|
+
const network_js_1 = require("./utils/network.cjs");
|
|
39
|
+
const trace_js_1 = require("./utils/trace.cjs");
|
|
40
|
+
const transaction_js_1 = require("./utils/transaction.cjs");
|
|
43
41
|
const metadata = {
|
|
44
42
|
// We want to persist the bridge status state so that we can show the proper data for the Activity list
|
|
45
43
|
// basically match the behavior of TransactionController
|
|
@@ -70,12 +68,12 @@ const MESSENGER_EXPOSED_METHODS = [
|
|
|
70
68
|
class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPollingController)() {
|
|
71
69
|
constructor({ messenger, state, clientId, clientProduct, clientVersion, fetchFn, addTransactionBatchFn, config, traceFn, onQuoteStatusManagerError, isQuoteStatusManagerEnabled, }) {
|
|
72
70
|
super({
|
|
73
|
-
name:
|
|
71
|
+
name: constants_js_1.BRIDGE_STATUS_CONTROLLER_NAME,
|
|
74
72
|
metadata,
|
|
75
73
|
messenger,
|
|
76
74
|
// Restore the persisted state
|
|
77
75
|
state: {
|
|
78
|
-
...
|
|
76
|
+
...constants_js_1.DEFAULT_BRIDGE_STATUS_CONTROLLER_STATE,
|
|
79
77
|
...state,
|
|
80
78
|
},
|
|
81
79
|
});
|
|
@@ -110,11 +108,11 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
110
108
|
// Note: TransactionStatus.rejected means the user cancelled signing, so the tx was never broadcast.
|
|
111
109
|
// `hasNestedSwapTransactions` also covers batch/7702 swaps whose type may
|
|
112
110
|
// still read as `batch` rather than `swap`.
|
|
113
|
-
if ((txMeta.type && (0,
|
|
114
|
-
(0,
|
|
111
|
+
if ((txMeta.type && (0, transaction_js_1.isCrossChainTx)(txMeta.type)) ||
|
|
112
|
+
(0, transaction_js_1.hasNestedSwapTransactions)(txMeta)) {
|
|
115
113
|
__classPrivateFieldGet(this, _BridgeStatusController_quoteStatusManager, "f").reportFinalised(txMeta.id, false, txMeta.chainId);
|
|
116
114
|
}
|
|
117
|
-
__classPrivateFieldGet(this, _BridgeStatusController_trackUnifiedSwapBridgeEvent, "f").call(this, bridge_controller_2.UnifiedSwapBridgeEventName.Failed, historyKey, (0,
|
|
115
|
+
__classPrivateFieldGet(this, _BridgeStatusController_trackUnifiedSwapBridgeEvent, "f").call(this, bridge_controller_2.UnifiedSwapBridgeEventName.Failed, historyKey, (0, metrics_js_1.getEVMTxPropertiesFromTransactionMeta)(txMeta));
|
|
118
116
|
});
|
|
119
117
|
// Only EVM txs
|
|
120
118
|
_BridgeStatusController_onTransactionConfirmed.set(this, ({ txMeta, historyKey, isApprovalTxMeta, }) => {
|
|
@@ -127,7 +125,7 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
127
125
|
historyKey,
|
|
128
126
|
txHash: txMeta.hash,
|
|
129
127
|
});
|
|
130
|
-
const isSwap = txMeta.type === transaction_controller_1.TransactionType.swap || (0,
|
|
128
|
+
const isSwap = txMeta.type === transaction_controller_1.TransactionType.swap || (0, transaction_js_1.hasNestedSwapTransactions)(txMeta);
|
|
131
129
|
if (isSwap) {
|
|
132
130
|
__classPrivateFieldGet(this, _BridgeStatusController_updateHistoryItem, "f").call(this, {
|
|
133
131
|
historyKey,
|
|
@@ -239,20 +237,20 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
239
237
|
this.resetState = () => {
|
|
240
238
|
__classPrivateFieldGet(this, _BridgeStatusController_quoteStatusManager, "f").destroy();
|
|
241
239
|
this.update((state) => {
|
|
242
|
-
state.txHistory =
|
|
240
|
+
state.txHistory = constants_js_1.DEFAULT_BRIDGE_STATUS_CONTROLLER_STATE.txHistory;
|
|
243
241
|
state.quoteUpdateStatusStore =
|
|
244
|
-
|
|
242
|
+
constants_js_1.DEFAULT_BRIDGE_STATUS_CONTROLLER_STATE.quoteUpdateStatusStore;
|
|
245
243
|
});
|
|
246
244
|
};
|
|
247
245
|
this.wipeBridgeStatus = ({ address, ignoreNetwork, }) => {
|
|
248
246
|
// Wipe all networks for this address
|
|
249
247
|
if (ignoreNetwork) {
|
|
250
248
|
this.update((state) => {
|
|
251
|
-
state.txHistory =
|
|
249
|
+
state.txHistory = constants_js_1.DEFAULT_BRIDGE_STATUS_CONTROLLER_STATE.txHistory;
|
|
252
250
|
});
|
|
253
251
|
}
|
|
254
252
|
else {
|
|
255
|
-
const selectedChainId = (0,
|
|
253
|
+
const selectedChainId = (0, network_js_1.getSelectedChainId)(this.messenger);
|
|
256
254
|
__classPrivateFieldGet(this, _BridgeStatusController_wipeBridgeStatusByChainId, "f").call(this, address, selectedChainId);
|
|
257
255
|
}
|
|
258
256
|
};
|
|
@@ -294,7 +292,7 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
294
292
|
}
|
|
295
293
|
});
|
|
296
294
|
// Restart polling if it was stopped and this tx still needs status updates
|
|
297
|
-
if ((0,
|
|
295
|
+
if ((0, history_js_1.shouldPollHistoryItem)(historyItem)) {
|
|
298
296
|
// Check if polling was stopped (no active polling token)
|
|
299
297
|
const existingPollingToken = __classPrivateFieldGet(this, _BridgeStatusController_pollingTokensByTxMetaId, "f")[targetTxMetaId];
|
|
300
298
|
if (!existingPollingToken) {
|
|
@@ -347,13 +345,13 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
347
345
|
// a status report for a quote that old, so there is no point creating
|
|
348
346
|
// an entry or making a request.
|
|
349
347
|
if (Date.now() - historyItem.startTime >
|
|
350
|
-
|
|
348
|
+
constants_js_2.QUOTE_STATUS_BACKFILL_WINDOW_MS) {
|
|
351
349
|
continue;
|
|
352
350
|
}
|
|
353
351
|
// Prefer the history hash; fall back to the tx hash (covers STX swaps
|
|
354
352
|
// confirmed while closed, where the history hash was never written).
|
|
355
353
|
const srcTxHash = historyItem.status.srcChain.txHash ??
|
|
356
|
-
(0,
|
|
354
|
+
(0, transaction_js_1.getTransactionMetaById)(this.messenger, txMetaId)?.hash;
|
|
357
355
|
if (!srcTxHash) {
|
|
358
356
|
continue;
|
|
359
357
|
}
|
|
@@ -385,10 +383,10 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
385
383
|
})
|
|
386
384
|
// Only restart polling for items that still require status updates
|
|
387
385
|
.filter(([_, historyItem]) => {
|
|
388
|
-
return (0,
|
|
386
|
+
return (0, history_js_1.shouldPollHistoryItem)(historyItem);
|
|
389
387
|
});
|
|
390
388
|
incompleteHistoryItems.forEach(([historyKey, historyItem]) => {
|
|
391
|
-
const shouldSkipFetch = (0,
|
|
389
|
+
const shouldSkipFetch = (0, bridge_status_js_1.shouldSkipFetchDueToFetchFailures)(historyItem.attempts);
|
|
392
390
|
if (shouldSkipFetch) {
|
|
393
391
|
return;
|
|
394
392
|
}
|
|
@@ -398,7 +396,7 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
398
396
|
});
|
|
399
397
|
});
|
|
400
398
|
_BridgeStatusController_addTxToHistory.set(this, (historyKey, ...args) => {
|
|
401
|
-
const txHistoryItem = (0,
|
|
399
|
+
const txHistoryItem = (0, history_js_1.getInitialHistoryItem)(...args);
|
|
402
400
|
this.update((state) => {
|
|
403
401
|
state.txHistory[historyKey] = txHistoryItem;
|
|
404
402
|
});
|
|
@@ -416,7 +414,7 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
416
414
|
*/
|
|
417
415
|
_BridgeStatusController_rekeyHistoryItem.set(this, (oldKey, newKey, txMeta) => {
|
|
418
416
|
this.update((state) => {
|
|
419
|
-
(0,
|
|
417
|
+
(0, history_js_1.rekeyHistoryItemInState)(state, oldKey, newKey, txMeta);
|
|
420
418
|
});
|
|
421
419
|
});
|
|
422
420
|
_BridgeStatusController_startPollingForTxId.set(this, (txId) => {
|
|
@@ -426,7 +424,7 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
426
424
|
this.stopPollingByPollingToken(existingPollingToken);
|
|
427
425
|
}
|
|
428
426
|
const txHistoryItem = this.state.txHistory[txId];
|
|
429
|
-
if (txHistoryItem && (0,
|
|
427
|
+
if (txHistoryItem && (0, history_js_1.shouldPollHistoryItem)(txHistoryItem)) {
|
|
430
428
|
__classPrivateFieldGet(this, _BridgeStatusController_pollingTokensByTxMetaId, "f")[txId] = this.startPolling({
|
|
431
429
|
bridgeTxMetaId: txId,
|
|
432
430
|
});
|
|
@@ -477,7 +475,7 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
477
475
|
};
|
|
478
476
|
// If we've failed too many times, stop polling for the tx
|
|
479
477
|
const pollingToken = __classPrivateFieldGet(this, _BridgeStatusController_pollingTokensByTxMetaId, "f")[bridgeTxMetaId];
|
|
480
|
-
if (newAttempts.counter >=
|
|
478
|
+
if (newAttempts.counter >= constants_js_1.MAX_ATTEMPTS && pollingToken) {
|
|
481
479
|
this.stopPollingByPollingToken(pollingToken);
|
|
482
480
|
delete __classPrivateFieldGet(this, _BridgeStatusController_pollingTokensByTxMetaId, "f")[bridgeTxMetaId];
|
|
483
481
|
// Track max polling reached event
|
|
@@ -501,7 +499,7 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
501
499
|
_BridgeStatusController_handleOldHistoryItem.set(this, async (bridgeTxMetaId) => {
|
|
502
500
|
// Continue polling on next restart if the history item is valid
|
|
503
501
|
if (this.state.txHistory[bridgeTxMetaId] &&
|
|
504
|
-
(await (0,
|
|
502
|
+
(await (0, bridge_status_js_1.shouldWaitForFinalBridgeStatus)(this.messenger, this.state.txHistory[bridgeTxMetaId]))) {
|
|
505
503
|
return;
|
|
506
504
|
}
|
|
507
505
|
const pollingToken = __classPrivateFieldGet(this, _BridgeStatusController_pollingTokensByTxMetaId, "f")[bridgeTxMetaId];
|
|
@@ -527,7 +525,7 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
527
525
|
return;
|
|
528
526
|
}
|
|
529
527
|
// 2. Check for previous failures
|
|
530
|
-
if ((0,
|
|
528
|
+
if ((0, bridge_status_js_1.shouldSkipFetchDueToFetchFailures)(historyItem.attempts)) {
|
|
531
529
|
return;
|
|
532
530
|
}
|
|
533
531
|
// 3. Fetch transaction status
|
|
@@ -559,11 +557,11 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
559
557
|
// Report SUBMITTED as soon as a srcTxHash is known at poll time, for
|
|
560
558
|
// every chain not just non-EVM sources.
|
|
561
559
|
__classPrivateFieldGet(this, _BridgeStatusController_reportSubmittedOnce, "f").call(this, bridgeTxMetaId, srcTxHash, bridgeTxMetaId);
|
|
562
|
-
const statusRequest = (0,
|
|
560
|
+
const statusRequest = (0, bridge_status_js_1.getStatusRequestWithSrcTxHash)(historyItem.quote, srcTxHash);
|
|
563
561
|
const response = (historyItem.quoteId
|
|
564
|
-
? await (0,
|
|
562
|
+
? await (0, bridge_status_js_1.fetchBridgeQuoteStatus)(__classPrivateFieldGet(this, _BridgeStatusController_quoteStatusManager, "f"), historyItem.quoteId)
|
|
565
563
|
: null) ??
|
|
566
|
-
(await (0,
|
|
564
|
+
(await (0, bridge_status_js_1.fetchBridgeTxStatus)(statusRequest, __classPrivateFieldGet(this, _BridgeStatusController_clientId, "f"), await (0, authentication_js_1.getJwt)(this.messenger), __classPrivateFieldGet(this, _BridgeStatusController_fetchFn, "f"), __classPrivateFieldGet(this, _BridgeStatusController_config, "f").customBridgeApiBaseUrl));
|
|
567
565
|
status = response.status;
|
|
568
566
|
validationFailures = response.validationFailures;
|
|
569
567
|
}
|
|
@@ -643,7 +641,7 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
643
641
|
return srcTxHash;
|
|
644
642
|
}
|
|
645
643
|
// Update history with TransactionController's hash if it has been updated
|
|
646
|
-
const txMeta = (0,
|
|
644
|
+
const txMeta = (0, transaction_js_1.getTransactionMetaById)(this.messenger, bridgeTxMetaId);
|
|
647
645
|
if (!txMeta) {
|
|
648
646
|
return undefined;
|
|
649
647
|
}
|
|
@@ -716,12 +714,12 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
716
714
|
*/
|
|
717
715
|
_BridgeStatusController_executeSubmitStrategy.set(this, async (params, sharedHistoryItemProperties) => {
|
|
718
716
|
let tradeTxMeta;
|
|
719
|
-
const steps = (0,
|
|
717
|
+
const steps = (0, index_js_1.default)(params);
|
|
720
718
|
// Each submission strategy determines when to execute step, which means these actions can happen in any order
|
|
721
719
|
for await (const { type, payload } of steps) {
|
|
722
720
|
try {
|
|
723
721
|
switch (type) {
|
|
724
|
-
case
|
|
722
|
+
case types_js_1.SubmitStep.RekeyHistoryItem:
|
|
725
723
|
__classPrivateFieldGet(this, _BridgeStatusController_rekeyHistoryItem, "f").call(this, payload.oldHistoryKey, payload.newHistoryKey, payload.tradeMeta);
|
|
726
724
|
// Report SUBMITTED as soon as the trade hash is known at submission
|
|
727
725
|
// time, instead of waiting for the delayed transactionStatusUpdated
|
|
@@ -730,16 +728,16 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
730
728
|
__classPrivateFieldGet(this, _BridgeStatusController_reportSubmittedOnce, "f").call(this, payload.newHistoryKey, payload.tradeMeta.hash, payload.tradeMeta.id);
|
|
731
729
|
}
|
|
732
730
|
break;
|
|
733
|
-
case
|
|
734
|
-
(0,
|
|
731
|
+
case types_js_1.SubmitStep.UpdateBatchTransactions:
|
|
732
|
+
(0, transaction_js_1.updateTransactionsInBatch)({
|
|
735
733
|
messenger: this.messenger,
|
|
736
734
|
allTradesWithMetadata: payload.quoteAndTxMetas,
|
|
737
735
|
});
|
|
738
736
|
break;
|
|
739
|
-
case
|
|
737
|
+
case types_js_1.SubmitStep.SetTradeMeta:
|
|
740
738
|
tradeTxMeta = payload.tradeMeta;
|
|
741
739
|
break;
|
|
742
|
-
case
|
|
740
|
+
case types_js_1.SubmitStep.AddHistoryItem:
|
|
743
741
|
__classPrivateFieldGet(this, _BridgeStatusController_addTxToHistory, "f").call(this, payload.historyKey, {
|
|
744
742
|
...payload,
|
|
745
743
|
...sharedHistoryItemProperties,
|
|
@@ -750,10 +748,10 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
750
748
|
});
|
|
751
749
|
__classPrivateFieldGet(this, _BridgeStatusController_reportSubmittedForNonEvmTx, "f").call(this, payload.historyKey, payload.bridgeTxMeta);
|
|
752
750
|
break;
|
|
753
|
-
case
|
|
751
|
+
case types_js_1.SubmitStep.StartPolling:
|
|
754
752
|
__classPrivateFieldGet(this, _BridgeStatusController_startPollingForTxId, "f").call(this, payload.historyKey);
|
|
755
753
|
break;
|
|
756
|
-
case
|
|
754
|
+
case types_js_1.SubmitStep.PublishCompletedEvent:
|
|
757
755
|
__classPrivateFieldGet(this, _BridgeStatusController_quoteStatusManager, "f").reportFinalised(payload.historyKey, true, this.state.txHistory[payload.historyKey]?.quote.srcChainId);
|
|
758
756
|
__classPrivateFieldGet(this, _BridgeStatusController_trackUnifiedSwapBridgeEvent, "f").call(this, bridge_controller_2.UnifiedSwapBridgeEventName.Completed, payload.historyKey);
|
|
759
757
|
break;
|
|
@@ -791,22 +789,14 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
791
789
|
* and the same account. In this case its safe to use the first quote response's properties for
|
|
792
790
|
* metrics and other pre-submission logic
|
|
793
791
|
*/
|
|
794
|
-
const
|
|
792
|
+
const quoteResponses = Array.isArray(maybeQuoteResponses)
|
|
795
793
|
? maybeQuoteResponses
|
|
796
794
|
: [maybeQuoteResponses];
|
|
797
|
-
// Convert quote responses to V1 format and preserve metadata for consistency
|
|
798
|
-
const quoteResponses = quoteResponsesV1orV2.map((quote) => {
|
|
799
|
-
if ((0, superstruct_1.is)(quote, bridge_controller_3.QuoteResponseSchemaV1)) {
|
|
800
|
-
return quote;
|
|
801
|
-
}
|
|
802
|
-
const quoteMetadata = (0, bridge_controller_1.toQuoteMetadataV1)(quote);
|
|
803
|
-
return (0, bridge_controller_1.mergeQuoteMetadata)((0, bridge_controller_1.toQuoteResponseV1)(quote), quoteMetadata);
|
|
804
|
-
});
|
|
805
795
|
const quoteResponse = quoteResponses[0];
|
|
806
796
|
const { quote } = quoteResponse;
|
|
807
797
|
const startTime = Date.now();
|
|
808
|
-
(0,
|
|
809
|
-
const selectedAccount = (0,
|
|
798
|
+
(0, bridge_js_1.stopPollingForQuotes)(this.messenger, quotesReceivedContext);
|
|
799
|
+
const selectedAccount = (0, accounts_js_1.getAccountByAddress)(this.messenger, accountAddress);
|
|
810
800
|
if (!selectedAccount) {
|
|
811
801
|
throw new Error('Failed to submit cross-chain swap transaction: undefined multichain account');
|
|
812
802
|
}
|
|
@@ -815,12 +805,12 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
815
805
|
* For hardware wallets on Mobile, this is fixes an issue where the Ledger does not get prompted for the 2nd approval.
|
|
816
806
|
* Extension does not have this issue
|
|
817
807
|
*/
|
|
818
|
-
const requireApproval = __classPrivateFieldGet(this, _BridgeStatusController_clientId, "f") ===
|
|
808
|
+
const requireApproval = __classPrivateFieldGet(this, _BridgeStatusController_clientId, "f") === types_js_2.BridgeClientId.MOBILE && accountHardwareType !== null;
|
|
819
809
|
const isBridgeTx = (0, bridge_controller_2.isCrossChain)(quote.srcChainId, quote.destChainId);
|
|
820
810
|
const batchId = quoteResponses.some(({ featureId: quoteFeatureId }) => quoteFeatureId === bridge_controller_1.FeatureId.BATCH_SELL)
|
|
821
811
|
? (0, transaction_controller_1.generateBatchId)()
|
|
822
812
|
: undefined;
|
|
823
|
-
const preConfirmationProperties = (0,
|
|
813
|
+
const preConfirmationProperties = (0, metrics_js_1.getPreConfirmationPropertiesFromQuote)(quoteResponse, isStxEnabled, accountHardwareType, location, abTests, activeAbTests, tokenSecurityTypeDestination, batchSellTrades, batchId);
|
|
824
814
|
try {
|
|
825
815
|
// Emit Submitted event after submit button is clicked
|
|
826
816
|
__classPrivateFieldGet(this, _BridgeStatusController_trackUnifiedSwapBridgeEvent, "f").call(this, bridge_controller_2.UnifiedSwapBridgeEventName.Submitted, undefined, {
|
|
@@ -836,7 +826,7 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
836
826
|
*/
|
|
837
827
|
const isDelegatedAccount = (0, bridge_controller_2.isNonEvmChainId)(quote.srcChainId)
|
|
838
828
|
? false
|
|
839
|
-
: await (0,
|
|
829
|
+
: await (0, transaction_js_1.checkIsDelegatedAccount)(this.messenger, selectedAccount.address, [(0, bridge_controller_2.formatChainIdToHex)(quote.srcChainId)]);
|
|
840
830
|
const strategyParams = {
|
|
841
831
|
messenger: this.messenger,
|
|
842
832
|
quoteResponses,
|
|
@@ -853,7 +843,7 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
853
843
|
traceFn: __classPrivateFieldGet(this, _BridgeStatusController_trace, "f"),
|
|
854
844
|
batchId,
|
|
855
845
|
};
|
|
856
|
-
return await __classPrivateFieldGet(this, _BridgeStatusController_trace, "f").call(this, (0,
|
|
846
|
+
return await __classPrivateFieldGet(this, _BridgeStatusController_trace, "f").call(this, (0, trace_js_1.getTraceParams)(quoteResponse, isStxEnabled), async () => await __classPrivateFieldGet(this, _BridgeStatusController_executeSubmitStrategy, "f").call(this, strategyParams, {
|
|
857
847
|
startTime,
|
|
858
848
|
location,
|
|
859
849
|
abTests,
|
|
@@ -897,7 +887,7 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
897
887
|
* Retrieve the batch sell trades from the BridgeController's state to ensure we submit
|
|
898
888
|
* the original response data from the bridge-api
|
|
899
889
|
*/
|
|
900
|
-
const batchSellTrades = (0,
|
|
890
|
+
const batchSellTrades = (0, bridge_js_1.getBatchSellTrades)(this.messenger);
|
|
901
891
|
return await this.submitTx(params.accountAddress, params.quoteResponses.filter((quoteResponse) => quoteResponse !== null), params.isStxEnabled ?? false, params.quotesReceivedContext, params.location, params.abTests, params.activeAbTests, params.tokenSecurityTypeDestination, batchSellTrades);
|
|
902
892
|
};
|
|
903
893
|
_BridgeStatusController_trackPollingStatusUpdatedEvent.set(this, (historyKey, pollingStatus) => {
|
|
@@ -922,7 +912,7 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
922
912
|
const featureId = eventProperties?.feature_id ??
|
|
923
913
|
historyItem?.featureId ??
|
|
924
914
|
bridge_controller_1.FeatureId.UNIFIED_SWAP_BRIDGE;
|
|
925
|
-
if (!(
|
|
915
|
+
if (!(constants_js_1.ALLOWED_FEATURE_IDS_FOR_STATUS_EVENTS.includes(featureId) ||
|
|
926
916
|
eventName === bridge_controller_2.UnifiedSwapBridgeEventName.StatusValidationFailed)) {
|
|
927
917
|
return;
|
|
928
918
|
}
|
|
@@ -955,7 +945,7 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
955
945
|
};
|
|
956
946
|
// This will publish events for PERPS dropped tx failures as well
|
|
957
947
|
if (!historyItem) {
|
|
958
|
-
(0,
|
|
948
|
+
(0, bridge_js_1.trackMetricsEvent)({
|
|
959
949
|
messenger: this.messenger,
|
|
960
950
|
eventName,
|
|
961
951
|
properties: baseProperties,
|
|
@@ -963,9 +953,9 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
963
953
|
return;
|
|
964
954
|
}
|
|
965
955
|
const { approvalTxId, quote } = historyItem;
|
|
966
|
-
const requestParamProperties = (0,
|
|
956
|
+
const requestParamProperties = (0, metrics_js_1.getRequestParamFromHistory)(historyItem);
|
|
967
957
|
if (eventName === bridge_controller_2.UnifiedSwapBridgeEventName.StatusValidationFailed) {
|
|
968
|
-
(0,
|
|
958
|
+
(0, bridge_js_1.trackMetricsEvent)({
|
|
969
959
|
messenger: this.messenger,
|
|
970
960
|
eventName,
|
|
971
961
|
properties: {
|
|
@@ -980,18 +970,18 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
980
970
|
});
|
|
981
971
|
return;
|
|
982
972
|
}
|
|
983
|
-
const selectedAccount = (0,
|
|
984
|
-
const transactions = (0,
|
|
973
|
+
const selectedAccount = (0, accounts_js_1.getAccountByAddress)(this.messenger, historyItem.account);
|
|
974
|
+
const transactions = (0, transaction_js_1.getTransactions)(this.messenger);
|
|
985
975
|
const txMeta = transactions.find((tx) => tx.id === txHistoryKey);
|
|
986
976
|
const approvalTxMeta = transactions.find((tx) => tx.id === approvalTxId);
|
|
987
977
|
const requiredEventProperties = {
|
|
988
978
|
...baseProperties,
|
|
989
979
|
...requestParamProperties,
|
|
990
|
-
...(0,
|
|
991
|
-
...(0,
|
|
992
|
-
...(0,
|
|
993
|
-
...(0,
|
|
994
|
-
...(0,
|
|
980
|
+
...(0, metrics_js_1.getRequestMetadataFromHistory)(historyItem, selectedAccount),
|
|
981
|
+
...(0, metrics_js_1.getTradeDataFromHistory)(historyItem),
|
|
982
|
+
...(0, metrics_js_1.getTxStatusesFromHistory)(historyItem),
|
|
983
|
+
...(0, metrics_js_1.getFinalizedTxProperties)(historyItem, txMeta, approvalTxMeta),
|
|
984
|
+
...(0, metrics_js_1.getPriceImpactFromQuote)(quote),
|
|
995
985
|
...(eventName === bridge_controller_2.UnifiedSwapBridgeEventName.Completed && {
|
|
996
986
|
...(!(0, bridge_controller_2.isNonEvmChainId)(historyItem.quote.srcChainId) &&
|
|
997
987
|
historyItem.txMetaId && {
|
|
@@ -1002,7 +992,7 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
1002
992
|
}),
|
|
1003
993
|
}),
|
|
1004
994
|
};
|
|
1005
|
-
(0,
|
|
995
|
+
(0, bridge_js_1.trackMetricsEvent)({
|
|
1006
996
|
messenger: this.messenger,
|
|
1007
997
|
eventName,
|
|
1008
998
|
properties: requiredEventProperties,
|
|
@@ -1012,7 +1002,7 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
1012
1002
|
__classPrivateFieldSet(this, _BridgeStatusController_fetchFn, fetchFn, "f");
|
|
1013
1003
|
__classPrivateFieldSet(this, _BridgeStatusController_addTransactionBatchFn, addTransactionBatchFn, "f");
|
|
1014
1004
|
__classPrivateFieldSet(this, _BridgeStatusController_config, {
|
|
1015
|
-
customBridgeApiBaseUrl: config?.customBridgeApiBaseUrl ??
|
|
1005
|
+
customBridgeApiBaseUrl: config?.customBridgeApiBaseUrl ?? constants_js_1.BRIDGE_PROD_API_BASE_URL,
|
|
1016
1006
|
}, "f");
|
|
1017
1007
|
__classPrivateFieldSet(this, _BridgeStatusController_trace, traceFn ?? ((_request, fn) => fn?.()), "f");
|
|
1018
1008
|
__classPrivateFieldSet(this, _BridgeStatusController_intentManager, new bridge_status_controller_intent_1.IntentManager({
|
|
@@ -1020,7 +1010,7 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
1020
1010
|
customBridgeApiBaseUrl: __classPrivateFieldGet(this, _BridgeStatusController_config, "f").customBridgeApiBaseUrl,
|
|
1021
1011
|
fetchFn: __classPrivateFieldGet(this, _BridgeStatusController_fetchFn, "f"),
|
|
1022
1012
|
}), "f");
|
|
1023
|
-
__classPrivateFieldSet(this, _BridgeStatusController_quoteStatusManager, new
|
|
1013
|
+
__classPrivateFieldSet(this, _BridgeStatusController_quoteStatusManager, new quotes_status_manager_js_1.QuoteStatusManager({
|
|
1024
1014
|
messenger: this.messenger,
|
|
1025
1015
|
clientId: __classPrivateFieldGet(this, _BridgeStatusController_clientId, "f"),
|
|
1026
1016
|
clientProduct,
|
|
@@ -1032,15 +1022,15 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
1032
1022
|
draft.quoteUpdateStatusStore = updates;
|
|
1033
1023
|
});
|
|
1034
1024
|
},
|
|
1035
|
-
entryTtlMs:
|
|
1036
|
-
updateIntervalMs:
|
|
1025
|
+
entryTtlMs: constants_js_2.QUOTE_STATUS_UPDATE_ENTRY_TTL,
|
|
1026
|
+
updateIntervalMs: constants_js_2.QUOTE_STATUS_UPDATE_RETRY_INTERVAL_MS,
|
|
1037
1027
|
onError: onQuoteStatusManagerError,
|
|
1038
1028
|
isEnabled: isQuoteStatusManagerEnabled,
|
|
1039
1029
|
}), "f");
|
|
1040
1030
|
// Register action handlers
|
|
1041
1031
|
this.messenger.registerMethodActionHandlers(this, MESSENGER_EXPOSED_METHODS);
|
|
1042
1032
|
// Set interval
|
|
1043
|
-
this.setIntervalLength(
|
|
1033
|
+
this.setIntervalLength(constants_js_1.REFRESH_INTERVAL_MS);
|
|
1044
1034
|
this.messenger.subscribe('TransactionController:transactionStatusUpdated', ({ txMeta, historyKey, historyItem, isApprovalTxMeta }) => {
|
|
1045
1035
|
if (!txMeta) {
|
|
1046
1036
|
return;
|
|
@@ -1048,7 +1038,7 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
1048
1038
|
const { type, status } = txMeta;
|
|
1049
1039
|
// Allow event publishing if the txMeta is a swap/bridge OR if the
|
|
1050
1040
|
// corresponding history item exists
|
|
1051
|
-
const isSwapOrBridgeTransaction = type && (0,
|
|
1041
|
+
const isSwapOrBridgeTransaction = type && (0, transaction_js_1.isCrossChainTx)(type);
|
|
1052
1042
|
if (!isSwapOrBridgeTransaction && !historyKey && !historyItem) {
|
|
1053
1043
|
return;
|
|
1054
1044
|
}
|
|
@@ -1058,7 +1048,7 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
1058
1048
|
// replacements before confirmation still reach the Bridge API.
|
|
1059
1049
|
if (txMeta.hash &&
|
|
1060
1050
|
txMeta.type &&
|
|
1061
|
-
(0,
|
|
1051
|
+
(0, transaction_js_1.isCrossChainTx)(txMeta.type) &&
|
|
1062
1052
|
!isApprovalTxMeta &&
|
|
1063
1053
|
historyKey) {
|
|
1064
1054
|
__classPrivateFieldGet(this, _BridgeStatusController_reportSubmittedOnce, "f").call(this, historyKey, txMeta.hash, txMeta.id);
|
|
@@ -1080,8 +1070,8 @@ class BridgeStatusController extends (0, polling_controller_1.StaticIntervalPoll
|
|
|
1080
1070
|
break;
|
|
1081
1071
|
}
|
|
1082
1072
|
}, ({ transactionMeta }) => {
|
|
1083
|
-
const entry = (0,
|
|
1084
|
-
const approvalEntry = (0,
|
|
1073
|
+
const entry = (0, history_js_1.getMatchingHistoryEntryForTxMeta)(this.state.txHistory, transactionMeta);
|
|
1074
|
+
const approvalEntry = (0, history_js_1.getMatchingHistoryEntryForApprovalTxMeta)(this.state.txHistory, transactionMeta);
|
|
1085
1075
|
const entryToUse = entry ?? approvalEntry;
|
|
1086
1076
|
return {
|
|
1087
1077
|
historyKey: entryToUse?.[0],
|