Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
2f0e016
feat: refactor MoneyOnboardingRive to use latest Rive animation and A…
Matt561 Jun 16, 2026
c56cd05
fix: fix Snap E2E tests flakiness (#31745)
davibroc Jun 16, 2026
716f9a8
perf(predict): fix JS-thread FPS collapse on market details with live…
matallui Jun 16, 2026
6563eac
feat(card): block Money Account -> card linking in restricted residen…
Brunonascdev Jun 16, 2026
04cf9e1
fix(money): always show Add CTA on Money balance card (MUSD-987) (#31…
Kureev Jun 16, 2026
8e324b1
fix(money): align balance, APY, and action buttons between Home and M…
Kureev Jun 16, 2026
60223af
feat: add ActivityListItemRow component and associated tests (#31016)
PatrykLucka Jun 16, 2026
11a6eb0
fix(money): design review polishes (MUSD-993) (#31813)
Kureev Jun 16, 2026
988652f
feat: top traders unified pnl abbreviation (#31777)
Bigshmow Jun 16, 2026
58b7241
chore: bump `@metamask/tron-wallet-snap` to `^1.26.0` (#31794)
ulissesferreira Jun 16, 2026
4f74e16
test: migrate import-srp and delete-account smoke tests to Appium (#3…
cmd-ob Jun 16, 2026
8e74412
fix: percentage calculation token details page (#31129)
sahar-fehri Jun 16, 2026
07df4e7
fix: percentage buttons on predict withdraw into money account (#31795)
jpuri Jun 16, 2026
b736725
chore: make QuickBuy flow user-currency-native (#31786)
zone-live Jun 16, 2026
3e8ed43
feat(perf): send installed app size to Sentry [MMQA-1974] (#31800)
javiergarciavera Jun 16, 2026
04c71b2
feat(money): make Earn on Crypto a full-page screen (MUSD-994) (#31816)
Kureev Jun 16, 2026
ce9c664
fix: apply base currency selection when assetsUnifyState is enabled (…
xavier-brochard Jun 16, 2026
d9fcd15
feat: read notification_subtype from deeplink and relay to analytics …
Bigshmow Jun 16, 2026
2a50c29
fix: broken perps section headers in Explore (#31697)
juanmigdr Jun 16, 2026
4637929
chore: display money card transactions as mUSD (#31820)
shane-t Jun 16, 2026
3a3f58f
fix: stx always being disabled for non ethereum networks cp-7.82.0 (#…
infiniteflower Jun 16, 2026
6124d64
feat(charts): add currentPriceLineColorOverride prop to AdvancedChart…
geositta Jun 16, 2026
dc704c5
feat: geo-block money account in unavailable regions (#31793)
shane-t Jun 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .js.env.example
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,10 @@ export MM_MUSD_CONVERSION_REWARDS_UI_ENABLED="false"
# Geo-blocked countries for mUSD conversion (comma-separated ISO 3166-1 alpha-2 codes)
# LaunchDarkly takes precedence; this is a fallback. Default blocks UK.
export MM_MUSD_CONVERSION_GEO_BLOCKED_COUNTRIES="GB"

# Geo-blocked countries for Money Account
export MM_MONEY_ACCOUNT_GEO_BLOCKED_COUNTRIES="GB"

export MM_MUSD_CONVERSION_MIN_ASSET_BALANCE_REQUIRED="0.01"

# Money Hub
Expand Down
Binary file not shown.
16 changes: 14 additions & 2 deletions app/components/Nav/Main/MainNavigator.js
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,9 @@ import {
MoneyTabScreenStack,
} from '../../UI/Money/routes';
import MoneyOnboardingView from '../../UI/Money/Views/MoneyOnboardingView';
import MoneyPotentialEarningsView from '../../UI/Money/Views/MoneyPotentialEarningsView';
import { selectMoneyEnableMoneyAccountFlag } from '../../UI/Money/selectors/featureFlags';
import { selectIsMoneyAccountGeoEligible } from '../../UI/Money/selectors/eligibility';
import { BridgeTransactionDetails } from '../../UI/Bridge/components/TransactionDetails/TransactionDetails';
import { BridgeModalStack, BridgeScreenStack } from '../../UI/Bridge/routes';
import {
Expand Down Expand Up @@ -606,6 +608,11 @@ const HomeTabs = () => {
const [isKeyboardHidden, setIsKeyboardHidden] = useState(true);

const isMoneyAccountEnabled = useSelector(selectMoneyEnableMoneyAccountFlag);
const isMoneyAccountGeoEligible = useSelector(
selectIsMoneyAccountGeoEligible,
);
const isMoneyAccountVisible =
isMoneyAccountEnabled && isMoneyAccountGeoEligible;

const trackMoneyTabPressRef = useRef(null);

Expand Down Expand Up @@ -849,8 +856,8 @@ const HomeTabs = () => {
component={WalletTabStackFlow}
/>

{/* Activity Tab (replaced by Money when feature flag is on) */}
{isMoneyAccountEnabled ? (
{/* Activity Tab (replaced by Money when feature flag is on and user is geo-eligible) */}
{isMoneyAccountVisible ? (
<Tab.Screen
name={Routes.MONEY.ROOT}
options={options.money}
Expand Down Expand Up @@ -1214,6 +1221,11 @@ const MainNavigator = () => {
component={MoneyOnboardingView}
options={{ headerShown: false, ...fadeNativeOptions }}
/>
<NativeStack.Screen
name={Routes.MONEY.POTENTIAL_EARNINGS}
component={MoneyPotentialEarningsView}
options={{ headerShown: false, ...slideFromRightNativeOptions }}
/>
<NativeStack.Screen
name={Routes.MONEY.MODALS.ROOT}
component={MoneyModalStack}
Expand Down
6 changes: 6 additions & 0 deletions app/components/Nav/Main/MainNavigator.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,12 @@ jest.mock('../../UI/Money/selectors/featureFlags', () => ({
mockSelectMoneyEnableMoneyAccountFlag(state),
}));

const mockSelectIsMoneyAccountGeoEligible = jest.fn().mockReturnValue(true);
jest.mock('../../UI/Money/selectors/eligibility', () => ({
selectIsMoneyAccountGeoEligible: (state: unknown) =>
mockSelectIsMoneyAccountGeoEligible(state),
}));

describe('MainNavigator', () => {
const originalEnv = process.env.METAMASK_ENVIRONMENT;

Expand Down
Loading
Loading