Skip to content

chore: rename executeEnabled flag to gaslessEnabled#8607

Merged
matthewwalsh0 merged 3 commits intomainfrom
matthewwalsh0/rename-execute-enabled-to-gasless-enabled
Apr 28, 2026
Merged

chore: rename executeEnabled flag to gaslessEnabled#8607
matthewwalsh0 merged 3 commits intomainfrom
matthewwalsh0/rename-execute-enabled-to-gasless-enabled

Conversation

@matthewwalsh0
Copy link
Copy Markdown
Member

@matthewwalsh0 matthewwalsh0 commented Apr 28, 2026

Rename the executeEnabled feature flag to gaslessEnabled.


Note

Medium Risk
Low-code-change but behavior-affecting: the Relay execute/gasless flow now keys off a renamed remote feature flag, so mismatched backend/flag payloads could unintentionally disable the flow.

Overview
Updates Relay pay-strategy feature-flag wiring to use payStrategies.relay.gaslessEnabled instead of executeEnabled, including type updates and isRelayExecuteEnabled() logic.

Adjusts associated unit tests and documents the flag rename in CHANGELOG.md.

Reviewed by Cursor Bugbot for commit bdf0cdc. Bugbot is set up for automated code reviews on this repo. Configure here.

…ssEnabled

Rename the `payStrategies.relay.executeEnabled` remote feature flag key
to `gaslessEnabled`. The new name better reflects that the flag gates
the gasless Relay flow, decoupled from the underlying `/execute`
endpoint. The reader function (`isRelayExecuteEnabled`) is unchanged.

BREAKING: clients setting the old key must migrate to `gaslessEnabled`;
the old key is no longer read and will be treated as `false`.
@matthewwalsh0 matthewwalsh0 changed the title feat(transaction-pay-controller): rename executeEnabled flag to gaslessEnabled chore: rename executeEnabled flag to gaslessEnabled Apr 28, 2026
@matthewwalsh0 matthewwalsh0 marked this pull request as ready for review April 28, 2026 09:21
@matthewwalsh0 matthewwalsh0 requested review from a team as code owners April 28, 2026 09:21
@matthewwalsh0 matthewwalsh0 added this pull request to the merge queue Apr 28, 2026
Merged via the queue into main with commit 93185f1 Apr 28, 2026
364 checks passed
@matthewwalsh0 matthewwalsh0 deleted the matthewwalsh0/rename-execute-enabled-to-gasless-enabled branch April 28, 2026 09:31
@OGPoyraz OGPoyraz mentioned this pull request Apr 28, 2026
4 tasks
pull Bot pushed a commit to Reality2byte/core that referenced this pull request Apr 28, 2026
## Explanation

Release `942.0.0` with major version bumps for two packages:

- **`@metamask/transaction-controller`** `64.4.0` → `65.0.0`
- **`@metamask/transaction-pay-controller`** `19.3.0` → `20.0.0`

### `@metamask/transaction-controller@65.0.0`

**Breaking:** Adds `KeyringControllerGetStateAction` to `AllowedActions`
to enable keyring-based EIP-7702 account compatibility checks in
`addTransactionBatch`. Clients must add `KeyringController:getState` to
the TransactionController messenger's allowed actions.

### `@metamask/transaction-pay-controller@20.0.0`

**Breaking:** Fix mUSD conversion for hardware wallets on EIP-7702
chains by gating relay and Across 7702 paths on the account keyring type
via `KeyringController:getState`. The
`TransactionPayControllerMessenger` now requires
`KeyringController:getState` permission.

### Dependency updates

14 packages had their `@metamask/transaction-controller` dependency
range updated to `^65.0.0` with corresponding changelog entries under
`[Unreleased]`.

## References

- [MetaMask#8388](MetaMask#8388) — EIP-7702 keyring
compatibility
- [MetaMask#8592](MetaMask#8592) — Expose
`wipeTransactions` via messenger
- [MetaMask#8607](MetaMask#8607) — Rename
`executeEnabled` → `gaslessEnabled`
- [MetaMask#8577](MetaMask#8577) — Across EIP-7702
authorization list fallback

## Checklist

- [ ] I've updated the test suite for new or updated code as appropriate
- [ ] I've updated documentation (JSDoc, Markdown, etc.) for new or
updated code as appropriate
- [x] I've communicated my changes to consumers by [updating changelogs
for packages I've
changed](https://github.com/MetaMask/core/tree/main/docs/processes/updating-changelogs.md)
- [x] I've introduced [breaking
changes](https://github.com/MetaMask/core/tree/main/docs/processes/breaking-changes.md)
in this PR and have prepared draft pull requests for clients and
consumer packages to resolve them

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Medium Risk**
> Primarily a release/version bump, but it upgrades to
`@metamask/transaction-controller@65.0.0` and
`@metamask/transaction-pay-controller@20.0.0`, which include
**breaking** messenger permission/allowed-action changes that can break
consumers at runtime if not updated.
> 
> **Overview**
> Bumps the monorepo version to `942.0.0` and releases **major** updates
for `@metamask/transaction-controller` (`64.4.0` → `65.0.0`) and
`@metamask/transaction-pay-controller` (`19.3.0` → `20.0.0`).
> 
> Propagates `@metamask/transaction-controller` dependency range updates
to `^65.0.0` across multiple packages (e.g.
assets/bridge/network/shield/subscription/user-operation controllers)
with corresponding `[Unreleased]` changelog entries, and updates
`yarn.lock` accordingly.
> 
> Documents breaking changes in `transaction-controller@65.0.0`
(requires `KeyringController:getState` allowed action for EIP-7702 batch
compatibility checks) and `transaction-pay-controller@20.0.0` (requires
`KeyringController:getState` to gate 7702 paths for hardware-wallet mUSD
conversion).
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
de55ba7. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants