diff --git a/packages/cfd/src/Stores/Modules/CFD/cfd-store.js b/packages/cfd/src/Stores/Modules/CFD/cfd-store.js index d9b8e4d788d5..5fbc7a19021c 100644 --- a/packages/cfd/src/Stores/Modules/CFD/cfd-store.js +++ b/packages/cfd/src/Stores/Modules/CFD/cfd-store.js @@ -66,6 +66,7 @@ export default class CFDStore extends BaseStore { current_list: computed, has_created_account_for_selected_jurisdiction: computed, has_submitted_cfd_personal_details: computed, + is_high_risk_client_for_mt5: computed, onMount: action.bound, onUnmount: override, checkShouldOpenAccount: action.bound, @@ -642,4 +643,22 @@ export default class CFDStore extends BaseStore { toggleCFDVerificationModal() { this.is_cfd_verification_modal_visible = !this.is_cfd_verification_modal_visible; } + + get is_high_risk_client_for_mt5() { + const { trading_platform_available_accounts } = this.root_store.client; + const financial_available_accounts = trading_platform_available_accounts.filter( + available_account => available_account.market_type === 'financial' + ); + + const synthetic_available_accounts = trading_platform_available_accounts.filter( + available_account => available_account.market_type === 'gaming' + ); + + return ( + financial_available_accounts.length === 1 && + financial_available_accounts.every(acc => acc.shortcode === 'svg') && + synthetic_available_accounts.length === 1 && + synthetic_available_accounts.every(acc => acc.shortcode === 'svg') + ); + } } diff --git a/packages/core/src/Stores/traders-hub-store.js b/packages/core/src/Stores/traders-hub-store.js index 56614df10a43..ae6b75c1512e 100644 --- a/packages/core/src/Stores/traders-hub-store.js +++ b/packages/core/src/Stores/traders-hub-store.js @@ -553,13 +553,15 @@ export default class TradersHubStore extends BaseStore { const { client: { isEligibleForMoreRealMt5 }, } = this.root_store; + const { is_high_risk_client_for_mt5 } = this.root_store.modules.cfd; + return ( this.is_real && !this.is_eu_user && (this.hasCFDAccount(CFD_PLATFORMS.MT5, 'real', 'synthetic') || this.hasCFDAccount(CFD_PLATFORMS.MT5, 'real', 'financial')) && (isEligibleForMoreRealMt5('synthetic') || isEligibleForMoreRealMt5('financial')) && - this.content_flag !== ContentFlag.HIGH_RISK_CR + !is_high_risk_client_for_mt5 ); }