fix: batch sell tx bridge status bump#31098
Merged
Merged
Conversation
Contributor
|
CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes. |
Contributor
🔍 Smart E2E Test Selection
click to see 🤖 AI reasoning detailsE2E Test Selection: Performance Test Selection: |
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
pedronfigueiredo
approved these changes
Jun 5, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Fixes Batch Sell (and other gasless EIP-7702) transaction submission when Smart Transactions (STX) and send bundle are both enabled.
Problem: Quotes with
gasIncluded7702: truemust be published via the EIP-7702 delegation relay (Delegation7702PublishHook). When STX and send bundle were enabled,publishHookskipped the 7702 path and submitted via STX instead, causing transaction failures.Changes:
@metamask/bridge-status-controller^72.0.0→^72.0.2— picks up the controller fix for the batch-sell submission edge case whengasIncluded7702=trueand STX is enabled (see package changelog for parameter changes).TransactionControllerpublishHook— whentransactionMeta.isGasFeeIncludedis true (set by bridge-status-controller for gasless-7702 quotes), attemptDelegation7702PublishHookbefore STX even if STX and send bundle are supported. Aligns with extension client behavior (isSwapGasIncluded7702).Motivation: The quote/backend contract requires 7702 processing; routing through STX was incorrect for this case.
Changelog
CHANGELOG entry: Fixed Batch Sell transactions failing to submit when gas-included EIP-7702 quotes were used with Smart Transactions enabled
Related issues
Refs: MetaMask/core#8979
Manual testing steps
Commands run locally:
yarn jest app/core/Engine/controllers/transaction-controller/transaction-controller-init.test.ts -t "7702 delegation hook"Screenshots/Recordings
Before
N/A
After
N/A
Pre-merge author checklist
Performance checks (if applicable)
trace()for usage andaddTokenfor an exampleFor performance guidelines and tooling, see the Performance Guide.
Pre-merge reviewer checklist
Note
Medium Risk
Changes transaction submission routing for a specific meta flag; wrong routing could affect Batch Sell and gasless-7702 swaps, but scope is narrow and covered by a new unit test.
Overview
Fixes Batch Sell and other gas-included EIP-7702 flows failing when Smart Transactions (STX) and send bundle are both on.
publishHooknow treatstransactionMeta.isGasFeeIncluded(gasless-7702 quotes from bridge status) like extension’sisSwapGasIncluded7702: it triesDelegation7702PublishHookbefore STX even when STX and bundle would otherwise win. A unit test asserts the 7702 hook runs and STX is skipped whenisGasFeeIncludedis true.@metamask/bridge-status-controlleris bumped ^72.0.0 → ^72.0.2 so tx meta and submission align with the gas-included-7702 contract;yarn.lockreflects related transitive package updates.Reviewed by Cursor Bugbot for commit 7a0a735. Bugbot is set up for automated code reviews on this repo. Configure here.