From d3c07ff1d78520ddae4c31834f437054aea210b4 Mon Sep 17 00:00:00 2001 From: Tuna Date: Wed, 12 Nov 2025 15:17:04 +0700 Subject: [PATCH 1/2] fix: add modal type to subscriptionEligibility --- .../src/SubscriptionController.test.ts | 2 ++ packages/subscription-controller/src/index.ts | 2 ++ packages/subscription-controller/src/types.ts | 8 ++++++++ 3 files changed, 12 insertions(+) diff --git a/packages/subscription-controller/src/SubscriptionController.test.ts b/packages/subscription-controller/src/SubscriptionController.test.ts index ec028851abb..eac28dde529 100644 --- a/packages/subscription-controller/src/SubscriptionController.test.ts +++ b/packages/subscription-controller/src/SubscriptionController.test.ts @@ -42,6 +42,7 @@ import type { RecurringInterval, } from './types'; import { + MODAL_TYPE, PAYMENT_TYPES, PRODUCT_TYPES, RECURRING_INTERVALS, @@ -1426,6 +1427,7 @@ describe('SubscriptionController', () => { canSubscribe: true, minBalanceUSD: 100, canViewEntryModal: true, + modalType: MODAL_TYPE.A, cohorts: [], assignedCohort: null, hasAssignedCohortExpired: false, diff --git a/packages/subscription-controller/src/index.ts b/packages/subscription-controller/src/index.ts index 62eb17e6eec..7f7293154cc 100644 --- a/packages/subscription-controller/src/index.ts +++ b/packages/subscription-controller/src/index.ts @@ -65,6 +65,7 @@ export type { BalanceCategory, AssignCohortRequest, GetSubscriptionsEligibilitiesRequest, + ModalType, } from './types'; export { CRYPTO_PAYMENT_METHOD_ERRORS, @@ -75,6 +76,7 @@ export { SubscriptionUserEvent, COHORT_NAMES, BALANCE_CATEGORIES, + MODAL_TYPE, } from './types'; export { SubscriptionServiceError } from './errors'; export { Env, SubscriptionControllerErrorMessage } from './constants'; diff --git a/packages/subscription-controller/src/types.ts b/packages/subscription-controller/src/types.ts index a6c15101fde..a7f86c52a17 100644 --- a/packages/subscription-controller/src/types.ts +++ b/packages/subscription-controller/src/types.ts @@ -53,6 +53,13 @@ export const CRYPTO_PAYMENT_METHOD_ERRORS = { export type CryptoPaymentMethodError = (typeof CRYPTO_PAYMENT_METHOD_ERRORS)[keyof typeof CRYPTO_PAYMENT_METHOD_ERRORS]; +export const MODAL_TYPE = { + A: 'A', + B: 'B', +} as const; + +export type ModalType = (typeof MODAL_TYPE)[keyof typeof MODAL_TYPE]; + /** only usd for now */ export type Currency = 'usd'; @@ -266,6 +273,7 @@ export type SubscriptionEligibility = { canSubscribe: boolean; minBalanceUSD: number; canViewEntryModal: boolean; + modalType?: ModalType; cohorts: Cohort[]; assignedCohort: string | null; hasAssignedCohortExpired: boolean; From 612be7c8a36c981d3bb43ed534937c5617893f42 Mon Sep 17 00:00:00 2001 From: Tuna Date: Wed, 12 Nov 2025 15:19:05 +0700 Subject: [PATCH 2/2] chore: update changelog --- packages/subscription-controller/CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/subscription-controller/CHANGELOG.md b/packages/subscription-controller/CHANGELOG.md index 623f520033c..9f298576903 100644 --- a/packages/subscription-controller/CHANGELOG.md +++ b/packages/subscription-controller/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Added + +- Added `modalType` field and constant to `SubscriptionEligibility` ([#7124](https://github.com/MetaMask/core/pull/7124)) + ## [4.0.0] ### Added