@metamask/bridge-status-controller 74.1.0 → 74.1.1

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,6 +7,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [74.1.1]
11
+
12
+ ### Changed
13
+
14
+ - Bump `@metamask/transaction-controller` from `^68.2.2` to `^68.3.0` ([#9421](https://github.com/MetaMask/core/pull/9421))
15
+
16
+ ### Fixed
17
+
18
+ - Remove `gasFeeToken`, `skipInitialGasEstimate`, and `excludeNativeTokenForFee` from batch-strategy `addTransactionBatch` params ([#9431](https://github.com/MetaMask/core/pull/9431))
19
+
10
20
  ## [74.1.0]
11
21
 
12
22
  ### Added
@@ -1381,7 +1391,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1381
1391
 
1382
1392
  - Initial release ([#5317](https://github.com/MetaMask/core/pull/5317))
1383
1393
 
1384
- [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/bridge-status-controller@74.1.0...HEAD
1394
+ [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/bridge-status-controller@74.1.1...HEAD
1395
+ [74.1.1]: https://github.com/MetaMask/core/compare/@metamask/bridge-status-controller@74.1.0...@metamask/bridge-status-controller@74.1.1
1385
1396
  [74.1.0]: https://github.com/MetaMask/core/compare/@metamask/bridge-status-controller@74.0.2...@metamask/bridge-status-controller@74.1.0
1386
1397
  [74.0.2]: https://github.com/MetaMask/core/compare/@metamask/bridge-status-controller@74.0.1...@metamask/bridge-status-controller@74.0.2
1387
1398
  [74.0.1]: https://github.com/MetaMask/core/compare/@metamask/bridge-status-controller@74.0.0...@metamask/bridge-status-controller@74.0.1
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.submitBatchHandler = void 0;
4
- const bridge_controller_1 = require("@metamask/bridge-controller");
5
4
  const transaction_1 = require("../utils/transaction.cjs");
6
5
  const types_1 = require("./types.cjs");
7
6
  /**
@@ -16,10 +15,6 @@ async function* submitBatchHandler(args) {
16
15
  quoteResponse,
17
16
  isBridgeTx,
18
17
  });
19
- const gasFeeToken = quoteResponse.quote.feeData[bridge_controller_1.FeeType.TX_FEE]?.asset?.address &&
20
- (0, bridge_controller_1.isNativeAddress)(quoteResponse.quote.feeData[bridge_controller_1.FeeType.TX_FEE].asset.address)
21
- ? undefined
22
- : quoteResponse.quote.feeData[bridge_controller_1.FeeType.TX_FEE]?.asset?.address;
23
18
  const transactionParams = await (0, transaction_1.getAddTransactionBatchParams)({
24
19
  tradeData,
25
20
  requireApproval,
@@ -29,11 +24,6 @@ async function* submitBatchHandler(args) {
29
24
  disable7702: (0, transaction_1.shouldDisable7702)(quoteResponse.quote.gasIncluded7702, quoteResponse.quote.gasIncluded, isDelegatedAccount),
30
25
  isGasFeeSponsored: Boolean(quoteResponse.quote.gasSponsored),
31
26
  isGasFeeIncluded: Boolean(quoteResponse.quote.gasIncluded7702),
32
- gasFeeToken,
33
- skipInitialGasEstimate: quoteResponse.quote.gasIncluded7702
34
- ? isDelegatedAccount
35
- : Boolean(gasFeeToken),
36
- excludeNativeTokenForFee: !gasFeeToken,
37
27
  });
38
28
  const { batchId } = await addTransactionBatchFn(transactionParams);
39
29
  const quoteAndTxMetas = (0, transaction_1.findAllTransactionsInBatch)({
@@ -1 +1 @@
1
- {"version":3,"file":"batch-strategy.cjs","sourceRoot":"","sources":["../../src/strategy/batch-strategy.ts"],"names":[],"mappings":"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","sourcesContent":["import { FeeType, isNativeAddress } from '@metamask/bridge-controller';\nimport type { TxData } from '@metamask/bridge-controller';\nimport type { Hex } from '@metamask/utils';\n\nimport {\n findAllTransactionsInBatch,\n getAddTransactionBatchParams,\n isApprovalTx,\n isTradeTx,\n shouldDisable7702,\n toQuoteAndTxMetadata,\n} from '../utils/transaction';\nimport { SubmitStep } from './types';\nimport type { SubmitStrategyParams, SubmitStepResult } from './types';\n\n/**\n * Submits batched EVM transactions to the TransactionController\n *\n * @param args - The parameters for the transaction\n * @yields The approvalMeta and tradeMeta for the batched transaction\n */\nexport async function* submitBatchHandler(\n args: SubmitStrategyParams<TxData>,\n): AsyncGenerator<SubmitStepResult, void, void> {\n const {\n requireApproval,\n quoteResponses: [quoteResponse],\n messenger,\n isBridgeTx,\n addTransactionBatchFn,\n isDelegatedAccount,\n } = args;\n\n const tradeData = toQuoteAndTxMetadata({\n quoteResponse,\n isBridgeTx,\n });\n\n const gasFeeToken =\n quoteResponse.quote.feeData[FeeType.TX_FEE]?.asset?.address &&\n isNativeAddress(quoteResponse.quote.feeData[FeeType.TX_FEE].asset.address)\n ? undefined\n : (quoteResponse.quote.feeData[FeeType.TX_FEE]?.asset?.address as Hex);\n\n const transactionParams = await getAddTransactionBatchParams({\n tradeData,\n requireApproval,\n isDelegatedAccount,\n messenger,\n atomic: true,\n disable7702: shouldDisable7702(\n quoteResponse.quote.gasIncluded7702,\n quoteResponse.quote.gasIncluded,\n isDelegatedAccount,\n ),\n isGasFeeSponsored: Boolean(quoteResponse.quote.gasSponsored),\n isGasFeeIncluded: Boolean(quoteResponse.quote.gasIncluded7702),\n gasFeeToken,\n skipInitialGasEstimate: quoteResponse.quote.gasIncluded7702\n ? isDelegatedAccount\n : Boolean(gasFeeToken),\n excludeNativeTokenForFee: !gasFeeToken,\n });\n\n const { batchId } = await addTransactionBatchFn(transactionParams);\n\n const quoteAndTxMetas = findAllTransactionsInBatch({\n messenger,\n batchId,\n tradeData,\n });\n\n yield {\n type: SubmitStep.UpdateBatchTransactions,\n payload: {\n quoteAndTxMetas,\n },\n };\n\n const tradeMeta = quoteAndTxMetas.find(\n ({ type, txMeta }) => isTradeTx(type) && txMeta,\n )?.txMeta;\n\n const approvalMeta = quoteAndTxMetas.find(\n ({ type, txMeta }) => isApprovalTx(type) && txMeta,\n )?.txMeta;\n\n if (!tradeMeta) {\n throw new Error(\n 'Failed to update cross-chain swap transaction batch: tradeMeta not found',\n );\n }\n\n yield {\n type: SubmitStep.SetTradeMeta,\n payload: { tradeMeta },\n };\n\n yield {\n type: SubmitStep.AddHistoryItem,\n payload: {\n historyKey: tradeMeta.id,\n approvalTxId: approvalMeta?.id,\n bridgeTxMeta: {\n id: tradeMeta.id,\n hash: tradeMeta.hash,\n batchId: tradeMeta.batchId,\n },\n quoteResponse,\n },\n };\n}\n"]}
1
+ {"version":3,"file":"batch-strategy.cjs","sourceRoot":"","sources":["../../src/strategy/batch-strategy.ts"],"names":[],"mappings":";;;AAEA,0DAO8B;AAC9B,uCAAqC;AAGrC;;;;;GAKG;AACI,KAAK,SAAS,CAAC,CAAC,kBAAkB,CACvC,IAAkC;IAElC,MAAM,EACJ,eAAe,EACf,cAAc,EAAE,CAAC,aAAa,CAAC,EAC/B,SAAS,EACT,UAAU,EACV,qBAAqB,EACrB,kBAAkB,GACnB,GAAG,IAAI,CAAC;IAET,MAAM,SAAS,GAAG,IAAA,kCAAoB,EAAC;QACrC,aAAa;QACb,UAAU;KACX,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,MAAM,IAAA,0CAA4B,EAAC;QAC3D,SAAS;QACT,eAAe;QACf,kBAAkB;QAClB,SAAS;QACT,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,IAAA,+BAAiB,EAC5B,aAAa,CAAC,KAAK,CAAC,eAAe,EACnC,aAAa,CAAC,KAAK,CAAC,WAAW,EAC/B,kBAAkB,CACnB;QACD,iBAAiB,EAAE,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC;QAC5D,gBAAgB,EAAE,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,eAAe,CAAC;KAC/D,CAAC,CAAC;IAEH,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;IAEnE,MAAM,eAAe,GAAG,IAAA,wCAA0B,EAAC;QACjD,SAAS;QACT,OAAO;QACP,SAAS;KACV,CAAC,CAAC;IAEH,MAAM;QACJ,IAAI,EAAE,kBAAU,CAAC,uBAAuB;QACxC,OAAO,EAAE;YACP,eAAe;SAChB;KACF,CAAC;IAEF,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CACpC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,IAAA,uBAAS,EAAC,IAAI,CAAC,IAAI,MAAM,CAChD,EAAE,MAAM,CAAC;IAEV,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CACvC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,IAAA,0BAAY,EAAC,IAAI,CAAC,IAAI,MAAM,CACnD,EAAE,MAAM,CAAC;IAEV,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,0EAA0E,CAC3E,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,IAAI,EAAE,kBAAU,CAAC,YAAY;QAC7B,OAAO,EAAE,EAAE,SAAS,EAAE;KACvB,CAAC;IAEF,MAAM;QACJ,IAAI,EAAE,kBAAU,CAAC,cAAc;QAC/B,OAAO,EAAE;YACP,UAAU,EAAE,SAAS,CAAC,EAAE;YACxB,YAAY,EAAE,YAAY,EAAE,EAAE;YAC9B,YAAY,EAAE;gBACZ,EAAE,EAAE,SAAS,CAAC,EAAE;gBAChB,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,OAAO,EAAE,SAAS,CAAC,OAAO;aAC3B;YACD,aAAa;SACd;KACF,CAAC;AACJ,CAAC;AA/ED,gDA+EC","sourcesContent":["import type { TxData } from '@metamask/bridge-controller';\n\nimport {\n findAllTransactionsInBatch,\n getAddTransactionBatchParams,\n isApprovalTx,\n isTradeTx,\n shouldDisable7702,\n toQuoteAndTxMetadata,\n} from '../utils/transaction';\nimport { SubmitStep } from './types';\nimport type { SubmitStrategyParams, SubmitStepResult } from './types';\n\n/**\n * Submits batched EVM transactions to the TransactionController\n *\n * @param args - The parameters for the transaction\n * @yields The approvalMeta and tradeMeta for the batched transaction\n */\nexport async function* submitBatchHandler(\n args: SubmitStrategyParams<TxData>,\n): AsyncGenerator<SubmitStepResult, void, void> {\n const {\n requireApproval,\n quoteResponses: [quoteResponse],\n messenger,\n isBridgeTx,\n addTransactionBatchFn,\n isDelegatedAccount,\n } = args;\n\n const tradeData = toQuoteAndTxMetadata({\n quoteResponse,\n isBridgeTx,\n });\n\n const transactionParams = await getAddTransactionBatchParams({\n tradeData,\n requireApproval,\n isDelegatedAccount,\n messenger,\n atomic: true,\n disable7702: shouldDisable7702(\n quoteResponse.quote.gasIncluded7702,\n quoteResponse.quote.gasIncluded,\n isDelegatedAccount,\n ),\n isGasFeeSponsored: Boolean(quoteResponse.quote.gasSponsored),\n isGasFeeIncluded: Boolean(quoteResponse.quote.gasIncluded7702),\n });\n\n const { batchId } = await addTransactionBatchFn(transactionParams);\n\n const quoteAndTxMetas = findAllTransactionsInBatch({\n messenger,\n batchId,\n tradeData,\n });\n\n yield {\n type: SubmitStep.UpdateBatchTransactions,\n payload: {\n quoteAndTxMetas,\n },\n };\n\n const tradeMeta = quoteAndTxMetas.find(\n ({ type, txMeta }) => isTradeTx(type) && txMeta,\n )?.txMeta;\n\n const approvalMeta = quoteAndTxMetas.find(\n ({ type, txMeta }) => isApprovalTx(type) && txMeta,\n )?.txMeta;\n\n if (!tradeMeta) {\n throw new Error(\n 'Failed to update cross-chain swap transaction batch: tradeMeta not found',\n );\n }\n\n yield {\n type: SubmitStep.SetTradeMeta,\n payload: { tradeMeta },\n };\n\n yield {\n type: SubmitStep.AddHistoryItem,\n payload: {\n historyKey: tradeMeta.id,\n approvalTxId: approvalMeta?.id,\n bridgeTxMeta: {\n id: tradeMeta.id,\n hash: tradeMeta.hash,\n batchId: tradeMeta.batchId,\n },\n quoteResponse,\n },\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"batch-strategy.d.cts","sourceRoot":"","sources":["../../src/strategy/batch-strategy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,oCAAoC;AAY1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,oBAAgB;AAEtE;;;;;GAKG;AACH,wBAAuB,kBAAkB,CACvC,IAAI,EAAE,oBAAoB,CAAC,MAAM,CAAC,GACjC,cAAc,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,CAAC,CAwF9C"}
1
+ {"version":3,"file":"batch-strategy.d.cts","sourceRoot":"","sources":["../../src/strategy/batch-strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,oCAAoC;AAW1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,oBAAgB;AAEtE;;;;;GAKG;AACH,wBAAuB,kBAAkB,CACvC,IAAI,EAAE,oBAAoB,CAAC,MAAM,CAAC,GACjC,cAAc,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,CAAC,CA6E9C"}
@@ -1 +1 @@
1
- {"version":3,"file":"batch-strategy.d.mts","sourceRoot":"","sources":["../../src/strategy/batch-strategy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,oCAAoC;AAY1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,oBAAgB;AAEtE;;;;;GAKG;AACH,wBAAuB,kBAAkB,CACvC,IAAI,EAAE,oBAAoB,CAAC,MAAM,CAAC,GACjC,cAAc,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,CAAC,CAwF9C"}
1
+ {"version":3,"file":"batch-strategy.d.mts","sourceRoot":"","sources":["../../src/strategy/batch-strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,oCAAoC;AAW1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,oBAAgB;AAEtE;;;;;GAKG;AACH,wBAAuB,kBAAkB,CACvC,IAAI,EAAE,oBAAoB,CAAC,MAAM,CAAC,GACjC,cAAc,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,CAAC,CA6E9C"}
@@ -1,4 +1,3 @@
1
- import { FeeType, isNativeAddress } from "@metamask/bridge-controller";
2
1
  import { findAllTransactionsInBatch, getAddTransactionBatchParams, isApprovalTx, isTradeTx, shouldDisable7702, toQuoteAndTxMetadata } from "../utils/transaction.mjs";
3
2
  import { SubmitStep } from "./types.mjs";
4
3
  /**
@@ -13,10 +12,6 @@ export async function* submitBatchHandler(args) {
13
12
  quoteResponse,
14
13
  isBridgeTx,
15
14
  });
16
- const gasFeeToken = quoteResponse.quote.feeData[FeeType.TX_FEE]?.asset?.address &&
17
- isNativeAddress(quoteResponse.quote.feeData[FeeType.TX_FEE].asset.address)
18
- ? undefined
19
- : quoteResponse.quote.feeData[FeeType.TX_FEE]?.asset?.address;
20
15
  const transactionParams = await getAddTransactionBatchParams({
21
16
  tradeData,
22
17
  requireApproval,
@@ -26,11 +21,6 @@ export async function* submitBatchHandler(args) {
26
21
  disable7702: shouldDisable7702(quoteResponse.quote.gasIncluded7702, quoteResponse.quote.gasIncluded, isDelegatedAccount),
27
22
  isGasFeeSponsored: Boolean(quoteResponse.quote.gasSponsored),
28
23
  isGasFeeIncluded: Boolean(quoteResponse.quote.gasIncluded7702),
29
- gasFeeToken,
30
- skipInitialGasEstimate: quoteResponse.quote.gasIncluded7702
31
- ? isDelegatedAccount
32
- : Boolean(gasFeeToken),
33
- excludeNativeTokenForFee: !gasFeeToken,
34
24
  });
35
25
  const { batchId } = await addTransactionBatchFn(transactionParams);
36
26
  const quoteAndTxMetas = findAllTransactionsInBatch({
@@ -1 +1 @@
1
- {"version":3,"file":"batch-strategy.mjs","sourceRoot":"","sources":["../../src/strategy/batch-strategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,oCAAoC;AAIvE,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,EAC5B,YAAY,EACZ,SAAS,EACT,iBAAiB,EACjB,oBAAoB,EACrB,iCAA6B;AAC9B,OAAO,EAAE,UAAU,EAAE,oBAAgB;AAGrC;;;;;GAKG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,kBAAkB,CACvC,IAAkC;IAElC,MAAM,EACJ,eAAe,EACf,cAAc,EAAE,CAAC,aAAa,CAAC,EAC/B,SAAS,EACT,UAAU,EACV,qBAAqB,EACrB,kBAAkB,GACnB,GAAG,IAAI,CAAC;IAET,MAAM,SAAS,GAAG,oBAAoB,CAAC;QACrC,aAAa;QACb,UAAU;KACX,CAAC,CAAC;IAEH,MAAM,WAAW,GACf,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,OAAO;QAC3D,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;QACxE,CAAC,CAAC,SAAS;QACX,CAAC,CAAE,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,OAAe,CAAC;IAE3E,MAAM,iBAAiB,GAAG,MAAM,4BAA4B,CAAC;QAC3D,SAAS;QACT,eAAe;QACf,kBAAkB;QAClB,SAAS;QACT,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,iBAAiB,CAC5B,aAAa,CAAC,KAAK,CAAC,eAAe,EACnC,aAAa,CAAC,KAAK,CAAC,WAAW,EAC/B,kBAAkB,CACnB;QACD,iBAAiB,EAAE,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC;QAC5D,gBAAgB,EAAE,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,eAAe,CAAC;QAC9D,WAAW;QACX,sBAAsB,EAAE,aAAa,CAAC,KAAK,CAAC,eAAe;YACzD,CAAC,CAAC,kBAAkB;YACpB,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;QACxB,wBAAwB,EAAE,CAAC,WAAW;KACvC,CAAC,CAAC;IAEH,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;IAEnE,MAAM,eAAe,GAAG,0BAA0B,CAAC;QACjD,SAAS;QACT,OAAO;QACP,SAAS;KACV,CAAC,CAAC;IAEH,MAAM;QACJ,IAAI,EAAE,UAAU,CAAC,uBAAuB;QACxC,OAAO,EAAE;YACP,eAAe;SAChB;KACF,CAAC;IAEF,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CACpC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,MAAM,CAChD,EAAE,MAAM,CAAC;IAEV,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CACvC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,MAAM,CACnD,EAAE,MAAM,CAAC;IAEV,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,0EAA0E,CAC3E,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,IAAI,EAAE,UAAU,CAAC,YAAY;QAC7B,OAAO,EAAE,EAAE,SAAS,EAAE;KACvB,CAAC;IAEF,MAAM;QACJ,IAAI,EAAE,UAAU,CAAC,cAAc;QAC/B,OAAO,EAAE;YACP,UAAU,EAAE,SAAS,CAAC,EAAE;YACxB,YAAY,EAAE,YAAY,EAAE,EAAE;YAC9B,YAAY,EAAE;gBACZ,EAAE,EAAE,SAAS,CAAC,EAAE;gBAChB,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,OAAO,EAAE,SAAS,CAAC,OAAO;aAC3B;YACD,aAAa;SACd;KACF,CAAC;AACJ,CAAC","sourcesContent":["import { FeeType, isNativeAddress } from '@metamask/bridge-controller';\nimport type { TxData } from '@metamask/bridge-controller';\nimport type { Hex } from '@metamask/utils';\n\nimport {\n findAllTransactionsInBatch,\n getAddTransactionBatchParams,\n isApprovalTx,\n isTradeTx,\n shouldDisable7702,\n toQuoteAndTxMetadata,\n} from '../utils/transaction';\nimport { SubmitStep } from './types';\nimport type { SubmitStrategyParams, SubmitStepResult } from './types';\n\n/**\n * Submits batched EVM transactions to the TransactionController\n *\n * @param args - The parameters for the transaction\n * @yields The approvalMeta and tradeMeta for the batched transaction\n */\nexport async function* submitBatchHandler(\n args: SubmitStrategyParams<TxData>,\n): AsyncGenerator<SubmitStepResult, void, void> {\n const {\n requireApproval,\n quoteResponses: [quoteResponse],\n messenger,\n isBridgeTx,\n addTransactionBatchFn,\n isDelegatedAccount,\n } = args;\n\n const tradeData = toQuoteAndTxMetadata({\n quoteResponse,\n isBridgeTx,\n });\n\n const gasFeeToken =\n quoteResponse.quote.feeData[FeeType.TX_FEE]?.asset?.address &&\n isNativeAddress(quoteResponse.quote.feeData[FeeType.TX_FEE].asset.address)\n ? undefined\n : (quoteResponse.quote.feeData[FeeType.TX_FEE]?.asset?.address as Hex);\n\n const transactionParams = await getAddTransactionBatchParams({\n tradeData,\n requireApproval,\n isDelegatedAccount,\n messenger,\n atomic: true,\n disable7702: shouldDisable7702(\n quoteResponse.quote.gasIncluded7702,\n quoteResponse.quote.gasIncluded,\n isDelegatedAccount,\n ),\n isGasFeeSponsored: Boolean(quoteResponse.quote.gasSponsored),\n isGasFeeIncluded: Boolean(quoteResponse.quote.gasIncluded7702),\n gasFeeToken,\n skipInitialGasEstimate: quoteResponse.quote.gasIncluded7702\n ? isDelegatedAccount\n : Boolean(gasFeeToken),\n excludeNativeTokenForFee: !gasFeeToken,\n });\n\n const { batchId } = await addTransactionBatchFn(transactionParams);\n\n const quoteAndTxMetas = findAllTransactionsInBatch({\n messenger,\n batchId,\n tradeData,\n });\n\n yield {\n type: SubmitStep.UpdateBatchTransactions,\n payload: {\n quoteAndTxMetas,\n },\n };\n\n const tradeMeta = quoteAndTxMetas.find(\n ({ type, txMeta }) => isTradeTx(type) && txMeta,\n )?.txMeta;\n\n const approvalMeta = quoteAndTxMetas.find(\n ({ type, txMeta }) => isApprovalTx(type) && txMeta,\n )?.txMeta;\n\n if (!tradeMeta) {\n throw new Error(\n 'Failed to update cross-chain swap transaction batch: tradeMeta not found',\n );\n }\n\n yield {\n type: SubmitStep.SetTradeMeta,\n payload: { tradeMeta },\n };\n\n yield {\n type: SubmitStep.AddHistoryItem,\n payload: {\n historyKey: tradeMeta.id,\n approvalTxId: approvalMeta?.id,\n bridgeTxMeta: {\n id: tradeMeta.id,\n hash: tradeMeta.hash,\n batchId: tradeMeta.batchId,\n },\n quoteResponse,\n },\n };\n}\n"]}
1
+ {"version":3,"file":"batch-strategy.mjs","sourceRoot":"","sources":["../../src/strategy/batch-strategy.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,EAC5B,YAAY,EACZ,SAAS,EACT,iBAAiB,EACjB,oBAAoB,EACrB,iCAA6B;AAC9B,OAAO,EAAE,UAAU,EAAE,oBAAgB;AAGrC;;;;;GAKG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,kBAAkB,CACvC,IAAkC;IAElC,MAAM,EACJ,eAAe,EACf,cAAc,EAAE,CAAC,aAAa,CAAC,EAC/B,SAAS,EACT,UAAU,EACV,qBAAqB,EACrB,kBAAkB,GACnB,GAAG,IAAI,CAAC;IAET,MAAM,SAAS,GAAG,oBAAoB,CAAC;QACrC,aAAa;QACb,UAAU;KACX,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,MAAM,4BAA4B,CAAC;QAC3D,SAAS;QACT,eAAe;QACf,kBAAkB;QAClB,SAAS;QACT,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,iBAAiB,CAC5B,aAAa,CAAC,KAAK,CAAC,eAAe,EACnC,aAAa,CAAC,KAAK,CAAC,WAAW,EAC/B,kBAAkB,CACnB;QACD,iBAAiB,EAAE,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC;QAC5D,gBAAgB,EAAE,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,eAAe,CAAC;KAC/D,CAAC,CAAC;IAEH,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;IAEnE,MAAM,eAAe,GAAG,0BAA0B,CAAC;QACjD,SAAS;QACT,OAAO;QACP,SAAS;KACV,CAAC,CAAC;IAEH,MAAM;QACJ,IAAI,EAAE,UAAU,CAAC,uBAAuB;QACxC,OAAO,EAAE;YACP,eAAe;SAChB;KACF,CAAC;IAEF,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CACpC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,MAAM,CAChD,EAAE,MAAM,CAAC;IAEV,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CACvC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,MAAM,CACnD,EAAE,MAAM,CAAC;IAEV,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,0EAA0E,CAC3E,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,IAAI,EAAE,UAAU,CAAC,YAAY;QAC7B,OAAO,EAAE,EAAE,SAAS,EAAE;KACvB,CAAC;IAEF,MAAM;QACJ,IAAI,EAAE,UAAU,CAAC,cAAc;QAC/B,OAAO,EAAE;YACP,UAAU,EAAE,SAAS,CAAC,EAAE;YACxB,YAAY,EAAE,YAAY,EAAE,EAAE;YAC9B,YAAY,EAAE;gBACZ,EAAE,EAAE,SAAS,CAAC,EAAE;gBAChB,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,OAAO,EAAE,SAAS,CAAC,OAAO;aAC3B;YACD,aAAa;SACd;KACF,CAAC;AACJ,CAAC","sourcesContent":["import type { TxData } from '@metamask/bridge-controller';\n\nimport {\n findAllTransactionsInBatch,\n getAddTransactionBatchParams,\n isApprovalTx,\n isTradeTx,\n shouldDisable7702,\n toQuoteAndTxMetadata,\n} from '../utils/transaction';\nimport { SubmitStep } from './types';\nimport type { SubmitStrategyParams, SubmitStepResult } from './types';\n\n/**\n * Submits batched EVM transactions to the TransactionController\n *\n * @param args - The parameters for the transaction\n * @yields The approvalMeta and tradeMeta for the batched transaction\n */\nexport async function* submitBatchHandler(\n args: SubmitStrategyParams<TxData>,\n): AsyncGenerator<SubmitStepResult, void, void> {\n const {\n requireApproval,\n quoteResponses: [quoteResponse],\n messenger,\n isBridgeTx,\n addTransactionBatchFn,\n isDelegatedAccount,\n } = args;\n\n const tradeData = toQuoteAndTxMetadata({\n quoteResponse,\n isBridgeTx,\n });\n\n const transactionParams = await getAddTransactionBatchParams({\n tradeData,\n requireApproval,\n isDelegatedAccount,\n messenger,\n atomic: true,\n disable7702: shouldDisable7702(\n quoteResponse.quote.gasIncluded7702,\n quoteResponse.quote.gasIncluded,\n isDelegatedAccount,\n ),\n isGasFeeSponsored: Boolean(quoteResponse.quote.gasSponsored),\n isGasFeeIncluded: Boolean(quoteResponse.quote.gasIncluded7702),\n });\n\n const { batchId } = await addTransactionBatchFn(transactionParams);\n\n const quoteAndTxMetas = findAllTransactionsInBatch({\n messenger,\n batchId,\n tradeData,\n });\n\n yield {\n type: SubmitStep.UpdateBatchTransactions,\n payload: {\n quoteAndTxMetas,\n },\n };\n\n const tradeMeta = quoteAndTxMetas.find(\n ({ type, txMeta }) => isTradeTx(type) && txMeta,\n )?.txMeta;\n\n const approvalMeta = quoteAndTxMetas.find(\n ({ type, txMeta }) => isApprovalTx(type) && txMeta,\n )?.txMeta;\n\n if (!tradeMeta) {\n throw new Error(\n 'Failed to update cross-chain swap transaction batch: tradeMeta not found',\n );\n }\n\n yield {\n type: SubmitStep.SetTradeMeta,\n payload: { tradeMeta },\n };\n\n yield {\n type: SubmitStep.AddHistoryItem,\n payload: {\n historyKey: tradeMeta.id,\n approvalTxId: approvalMeta?.id,\n bridgeTxMeta: {\n id: tradeMeta.id,\n hash: tradeMeta.hash,\n batchId: tradeMeta.batchId,\n },\n quoteResponse,\n },\n };\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metamask/bridge-status-controller",
3
- "version": "74.1.0",
3
+ "version": "74.1.1",
4
4
  "description": "Manages bridge-related status fetching functionality for MetaMask",
5
5
  "keywords": [
6
6
  "Ethereum",
@@ -64,7 +64,7 @@
64
64
  "@metamask/profile-sync-controller": "^28.2.0",
65
65
  "@metamask/snaps-controllers": "^19.0.0",
66
66
  "@metamask/superstruct": "^3.1.0",
67
- "@metamask/transaction-controller": "^68.2.2",
67
+ "@metamask/transaction-controller": "^68.3.0",
68
68
  "@metamask/utils": "^11.11.0",
69
69
  "bignumber.js": "^9.1.2",
70
70
  "uuid": "^8.3.2"