Skip to content

chore: relink stable history into release/7.78.0 (post 7.77.2)#30468

Merged
chloeYue merged 11 commits into
release/7.78.0from
sync-stable-7.77.2-relink
May 20, 2026
Merged

chore: relink stable history into release/7.78.0 (post 7.77.2)#30468
chloeYue merged 11 commits into
release/7.78.0from
sync-stable-7.77.2-relink

Conversation

@chloeYue

@chloeYue chloeYue commented May 20, 2026

Copy link
Copy Markdown
Contributor

Description

PR #30459 (the post-7.77.2 stable sync) was squash-merged. This PR fix it.

Changelog

CHANGELOG entry: null

metamaskbot and others added 11 commits May 20, 2026 06:14
…7.2-ota for PR #30407 (#30423)

- chore: bump @metamask/transaction-pay-controller from ^22.5.0 to
^22.6.1 (#30407)

## **Description**

Bump `@metamask/transaction-pay-controller` from `^22.5.0` to `^22.6.1`.

## **Changelog**

CHANGELOG entry: null

## **Related issues**

## **Manual testing steps**

## **Screenshots/Recordings**

### **Before**

### **After**

## **Pre-merge author checklist**

- [x] I've followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile
Coding

Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've completed the PR template to the best of my ability
- [x] I've included tests if applicable
- [x] I've documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [x] I've applied the right labels on the PR (see [labeling

guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.

#### Performance checks (if applicable)

- [ ] I've tested on Android
- [ ] I've tested with a power user scenario
- [ ] I've instrumented key operations with Sentry traces for production
performance metrics

## **Pre-merge reviewer checklist**

- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Medium Risk**
> Updates a core payments/transaction dependency and refreshes several
related MetaMask controller packages, which could subtly affect
transaction/bridge behavior at runtime despite being a version bump
only.
> 
> **Overview**
> Bumps **`@metamask/transaction-pay-controller`** from `^22.5.0` to
`^22.6.1` in `package.json` and updates `yarn.lock` accordingly.
> 
> The lockfile refresh also pulls newer related controller versions
(notably `@metamask/bridge-controller`,
`@metamask/bridge-status-controller`, `@metamask/gas-fee-controller`,
and `@metamask/transaction-controller`), aligning transitive
dependencies with the updated pay controller.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
3b7622d. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
[72e0e00](72e0e00)

---------

Co-authored-by: Matthew Walsh <matthew.walsh@consensys.net>
Co-authored-by: chloeYue <105063779+chloeYue@users.noreply.github.com>
Reset yarn.lock and .yarn/patches to v7.77.0 (in addition to package.json)
before generating the fingerprint, so the OTA fingerprint guard matches the
base ref even after the @metamask/transaction-pay-controller bump and its
JS-only yarn patch landed on this branch.

Co-authored-by: Cursor <cursoragent@cursor.com>
## **Description**

Add the `[7.77.2]` section to `CHANGELOG.md` for the `v7.77.2` OTA
hotfix.



## **Changelog**

CHANGELOG entry: null

## **Related issues**

Fixes:

Co-authored-by: Cursor <cursoragent@cursor.com>
<!--
Please submit this PR as a draft initially.

Do not mark it as "Ready for review" until this PR meets the canonical
Definition of Ready For Review in `docs/readme/ready-for-review.md`.

In short: the template must be materially complete (not just section
titles
present), all status checks must be currently passing, and the only
expected
follow-up commits must be reviewer-driven.
-->

## **Description**

<!--
Write a short description of the changes included in this pull request,
also include relevant motivation and context. Have in mind the following
questions:
1. What is the reason for the change?
2. What is the improvement/solution?
-->

## **Changelog**

<!--
If this PR is not End-User-Facing and should not show up in the
CHANGELOG, you can choose to either:
1. Write `CHANGELOG entry: null`
2. Label with `no-changelog`

If this PR is End-User-Facing, please write a short User-Facing
description in the past tense like:
`CHANGELOG entry: Added a new tab for users to see their NFTs`
`CHANGELOG entry: Fixed a bug that was causing some NFTs to flicker`

(This helps the Release Engineer do their job more quickly and
accurately)
-->

CHANGELOG entry: null

## **Related issues**

Fixes:

## **Manual testing steps**

```gherkin
Feature: my feature name

  Scenario: user [verb for user action]
    Given [describe expected initial app state]

    When user [verb for user action]
    Then [describe expected outcome]
```

## **Screenshots/Recordings**

<!-- If applicable, add screenshots and/or recordings to visualize the
before and after of your change. -->

### **Before**

<!-- [screenshots/recordings] -->

### **After**

<!-- [screenshots/recordings] -->

## **Pre-merge author checklist**

<!--
Every checklist item must be consciously assessed before marking this PR
as
"Ready for review". A checked box means you deliberately considered that
responsibility, not that you literally performed every action listed.

Unchecked boxes are ambiguous: they are not an implicit "N/A" and they
are not
a silent "skip". See `docs/readme/ready-for-review.md` for the full
checklist
semantics.
-->

- [ ] I've followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile
Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've completed the PR template to the best of my ability
- [ ] I've included tests if applicable
- [ ] I've documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I've applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.

#### Performance checks (if applicable)

- [ ] I've tested on Android
  - Ideally on a mid-range device; emulator is acceptable
- [ ] I've tested with a power user scenario
- Use these [power-user
SRPs](https://consensyssoftware.atlassian.net/wiki/spaces/TL1/pages/edit-v2/401401446401?draftShareId=9d77e1e1-4bdc-4be1-9ebb-ccd916988d93)
to import wallets with many accounts and tokens
- [ ] I've instrumented key operations with Sentry traces for production
performance metrics
- See [`trace()`](/app/util/trace.ts) for usage and
[`addToken`](/app/components/Views/AddAsset/components/AddCustomToken/AddCustomToken.tsx#L274)
for an example

For performance guidelines and tooling, see the [Performance
Guide](https://consensyssoftware.atlassian.net/wiki/spaces/TL1/pages/400085549067/Performance+Guide+for+Engineers).

## **Pre-merge reviewer checklist**

<!--
Reviewer checklist items follow the same semantics as the author
checklist: an
unchecked box is ambiguous, a checked box means the reviewer consciously
assessed that responsibility. See `docs/readme/ready-for-review.md`.
-->

- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Medium Risk**
> Patches `@metamask/transaction-pay-controller` logic that determines
Relay/Aggregator handling for Hyperliquid perps deposits; mistakes here
could misroute deposit transactions or affect quote requirements. Scope
is small and limited to transaction type classification plus
release-version bumps.
> 
> **Overview**
> Fixes Hyperliquid perps `deposit-and-order` transactions being treated
differently from standard perps deposits by introducing
`PERPS_DEPOSIT_TYPES` (covers `perpsDeposit` and `perpsDepositAndOrder`)
and using it wherever Relay deposit type mapping and Hyperliquid deposit
detection/quote requirements are determined.
> 
> Ships the fix via a Yarn patch to
`@metamask/transaction-pay-controller@22.5.0`, and bumps release
metadata (`CHANGELOG.md` entry for `7.77.2`, `app/constants/ota.ts` OTA
version, plus `package.json`/`yarn.lock` to pin the patched dependency).
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
5cb0c1d. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
PR #30459 was squash-merged, which collapsed the merge commit and broke
the parent linkage between release/7.78.0 and stable. Although the file
content from the original sync landed correctly on release/7.78.0, git's
merge-base of release/7.78.0 and stable is still the pre-7.77.2 point, so
PR #30207 (release/7.78.0 -> stable) re-detects the same 4 conflicts that
#30459 was supposed to fix (CHANGELOG.md, app/constants/ota.ts,
package.json, yarn.lock).

This commit is an `-s ours` ("ours strategy") merge: it records stable as
a second parent of release/7.78.0 without changing any files. Net diff is
empty; the only effect is that merge-base(release/7.78.0, stable) now
advances to current stable HEAD, so PR #30207 will see nothing left to
merge from stable.

The previously-resolved file content from #30459 stays on release/7.78.0
exactly as merged.
@github-actions

Copy link
Copy Markdown
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.

@github-actions

Copy link
Copy Markdown
Contributor

🔍 Smart E2E Test Selection

⏭️ Smart E2E selection skipped - PR targets a release branch (release/*)

All E2E tests pre-selected.

View GitHub Actions results

@metamaskbotv2 metamaskbotv2 Bot added the team-qa QA team label May 20, 2026
@chloeYue chloeYue merged commit b748c7d into release/7.78.0 May 20, 2026
57 of 60 checks passed
@chloeYue chloeYue deleted the sync-stable-7.77.2-relink branch May 20, 2026 16:53
@github-actions github-actions Bot locked and limited conversation to collaborators May 20, 2026
@metamaskbotv2 metamaskbotv2 Bot added the INVALID-PR-TEMPLATE PR's body doesn't match template label May 20, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

INVALID-PR-TEMPLATE PR's body doesn't match template team-qa QA team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants