diff --git a/packages/transaction-pay-controller/CHANGELOG.md b/packages/transaction-pay-controller/CHANGELOG.md index 6013645c86..6489328b00 100644 --- a/packages/transaction-pay-controller/CHANGELOG.md +++ b/packages/transaction-pay-controller/CHANGELOG.md @@ -14,6 +14,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed - Rename Relay gasless execution feature flag from `gaslessEnabled` to `isGaslessEnabled` ([#8801](https://github.com/MetaMask/core/pull/8801)) +- Move the Relay gasless execution feature flag to `confirmations_pay_extended.payStrategies.relay.gaslessEnabled` ([#8810](https://github.com/MetaMask/core/pull/8810)) ## [22.4.0] diff --git a/packages/transaction-pay-controller/src/utils/feature-flags.test.ts b/packages/transaction-pay-controller/src/utils/feature-flags.test.ts index 79540a25ab..b11a84ac28 100644 --- a/packages/transaction-pay-controller/src/utils/feature-flags.test.ts +++ b/packages/transaction-pay-controller/src/utils/feature-flags.test.ts @@ -464,14 +464,14 @@ describe('Feature Flags Utils', () => { expect(isRelayExecuteEnabled(messenger)).toBe(false); }); - it('returns true when isGaslessEnabled is true', () => { + it('returns true when gaslessEnabled is true', () => { getRemoteFeatureFlagControllerStateMock.mockReturnValue({ ...getDefaultRemoteFeatureFlagControllerState(), remoteFeatureFlags: { - confirmations_pay: { + confirmations_pay_extended: { payStrategies: { relay: { - isGaslessEnabled: true, + gaslessEnabled: true, }, }, }, @@ -481,14 +481,14 @@ describe('Feature Flags Utils', () => { expect(isRelayExecuteEnabled(messenger)).toBe(true); }); - it('returns false when isGaslessEnabled is false', () => { + it('returns false when gaslessEnabled is false', () => { getRemoteFeatureFlagControllerStateMock.mockReturnValue({ ...getDefaultRemoteFeatureFlagControllerState(), remoteFeatureFlags: { - confirmations_pay: { + confirmations_pay_extended: { payStrategies: { relay: { - isGaslessEnabled: false, + gaslessEnabled: false, }, }, }, diff --git a/packages/transaction-pay-controller/src/utils/feature-flags.ts b/packages/transaction-pay-controller/src/utils/feature-flags.ts index 4f837f24c1..ded5bcac2c 100644 --- a/packages/transaction-pay-controller/src/utils/feature-flags.ts +++ b/packages/transaction-pay-controller/src/utils/feature-flags.ts @@ -133,13 +133,20 @@ export type PayStrategiesConfigRaw = { across?: AcrossConfigRaw; relay?: { enabled?: boolean; - isGaslessEnabled?: boolean; originGasOverhead?: string; pollingInterval?: number; pollingTimeout?: number; }; }; +type FeatureFlagsExtendedRaw = { + payStrategies?: { + relay?: { + gaslessEnabled?: boolean; + }; + }; +}; + export type PayStrategiesConfig = { across: AcrossConfig; relay: { @@ -493,10 +500,10 @@ export function isRelayExecuteEnabled( ): boolean { const state = messenger.call('RemoteFeatureFlagController:getState'); const featureFlags = - (state.remoteFeatureFlags?.confirmations_pay as - | FeatureFlagsRaw + (state.remoteFeatureFlags?.confirmations_pay_extended as + | FeatureFlagsExtendedRaw | undefined) ?? {}; - return featureFlags.payStrategies?.relay?.isGaslessEnabled ?? false; + return featureFlags.payStrategies?.relay?.gaslessEnabled ?? false; } /**