From ba54e2ee86826eb080a6d4ddfcfa031b92dc8866 Mon Sep 17 00:00:00 2001
From: Antonio Regadas <antonio.regadas@consensys.net>
Date: Wed, 30 Oct 2024 14:21:41 +0000
Subject: [PATCH 1/4] chore: initial setup

---
 app/_locales/en/messages.json                 | 10 ++++
 app/scripts/constants/sentry-state.ts         |  3 +
 .../preferences-controller.test.ts            | 15 +++++
 .../controllers/preferences-controller.ts     | 20 +++++++
 app/scripts/metamask-controller.js            |  4 ++
 shared/constants/metametrics.ts               |  1 +
 .../experimental-tab.component.tsx            | 59 +++++++++++++++++++
 .../experimental-tab.container.ts             | 13 ++++
 .../experimental-tab/experimental-tab.test.js | 17 ++++++
 ui/selectors/selectors.js                     | 12 ++++
 ui/store/actions.ts                           | 10 ++++
 11 files changed, 164 insertions(+)

diff --git a/app/_locales/en/messages.json b/app/_locales/en/messages.json
index b36f3ffcdb4e..4cac5fcf20fb 100644
--- a/app/_locales/en/messages.json
+++ b/app/_locales/en/messages.json
@@ -745,6 +745,16 @@
   "bitcoinActivityNotSupported": {
     "message": "Bitcoin activity is not supported"
   },
+  "solanaSupportSectionTitle": {
+    "message": "Solana"
+  },
+  "solanaSupportToggleDescription": {
+    "message": "Turning on this feature will give you the option to add a Solana Account to your MetaMask Extension derived from your existing Secret Recovery Phrase. This is an experimental Beta feature, so you should use it at your own risk. To give us feedback on this new Bitcoin experience, please fill out this $1.",
+    "description": "$1 is the link to a product feedback form"
+  },
+  "solanaSupportToggleTitle": {
+    "message": "Enable \"Add a new Solana account (Beta)\""
+  },
   "bitcoinSupportSectionTitle": {
     "message": "Bitcoin"
   },
diff --git a/app/scripts/constants/sentry-state.ts b/app/scripts/constants/sentry-state.ts
index 76fb2386f1f6..0130516759bf 100644
--- a/app/scripts/constants/sentry-state.ts
+++ b/app/scripts/constants/sentry-state.ts
@@ -415,6 +415,9 @@ export const SENTRY_UI_STATE = {
     switchedNetworkNeverShowMessage: false,
     newPrivacyPolicyToastClickedOrClosed: false,
     newPrivacyPolicyToastShownDate: false,
+    ///: BEGIN:ONLY_INCLUDE_IF(build-flask)
+    solanaSupportEnabled: false,
+    ///: END:ONLY_INCLUDE_IF
   },
   unconnectedAccount: true,
 };
diff --git a/app/scripts/controllers/preferences-controller.test.ts b/app/scripts/controllers/preferences-controller.test.ts
index 9c28ed7c43a0..4e68384f1e51 100644
--- a/app/scripts/controllers/preferences-controller.test.ts
+++ b/app/scripts/controllers/preferences-controller.test.ts
@@ -849,4 +849,19 @@ describe('preferences controller', () => {
       );
     });
   });
+
+  describe('setSolanaSupportEnabled', () => {
+    const { controller } = setupController({});
+    it('has the default value as false', () => {
+      expect(controller.state.solanaSupportEnabled).toStrictEqual(false);
+    });
+
+    it('sets the solanaSupportEnabled property in state to true and then false', () => {
+      controller.setSolanaSupportEnabled(true);
+      expect(controller.state.solanaSupportEnabled).toStrictEqual(true);
+
+      controller.setSolanaSupportEnabled(false);
+      expect(controller.state.solanaSupportEnabled).toStrictEqual(false);
+    });
+  });
 });
diff --git a/app/scripts/controllers/preferences-controller.ts b/app/scripts/controllers/preferences-controller.ts
index 536ec33b34eb..64ce69d36143 100644
--- a/app/scripts/controllers/preferences-controller.ts
+++ b/app/scripts/controllers/preferences-controller.ts
@@ -138,6 +138,7 @@ export type PreferencesControllerState = Omit<
   useRequestQueue: boolean;
   ///: BEGIN:ONLY_INCLUDE_IF(build-flask)
   watchEthereumAccountEnabled: boolean;
+  solanaSupportEnabled: boolean;
   ///: END:ONLY_INCLUDE_IF
   bitcoinSupportEnabled: boolean;
   bitcoinTestnetSupportEnabled: boolean;
@@ -182,6 +183,9 @@ export const getDefaultPreferencesControllerState =
     openSeaEnabled: true,
     securityAlertsEnabled: true,
     watchEthereumAccountEnabled: false,
+    ///: BEGIN:ONLY_INCLUDE_IF(build-flask)
+    solanaSupportEnabled: false,
+    ///: END:ONLY_INCLUDE_IF
     bitcoinSupportEnabled: false,
     bitcoinTestnetSupportEnabled: false,
     ///: BEGIN:ONLY_INCLUDE_IF(keyring-snaps)
@@ -336,6 +340,10 @@ const controllerMetadata = {
     persist: true,
     anonymous: false,
   },
+  solanaSupportEnabled: {
+    persist: true,
+    anonymous: false,
+  },
   bitcoinSupportEnabled: {
     persist: true,
     anonymous: false,
@@ -665,6 +673,18 @@ export class PreferencesController extends BaseController<
       state.watchEthereumAccountEnabled = watchEthereumAccountEnabled;
     });
   }
+
+  /**
+   * Setter for the `solanaSupportEnabled` property.
+   *
+   * @param solanaSupportEnabled - Whether or not the user wants to
+   * enable the "Add a new Solana account" button.
+   */
+  setSolanaSupportEnabled(solanaSupportEnabled: boolean): void {
+    this.update((state) => {
+      state.solanaSupportEnabled = solanaSupportEnabled;
+    });
+  }
   ///: END:ONLY_INCLUDE_IF
 
   /**
diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js
index 3691696ae7ca..72b1875f7491 100644
--- a/app/scripts/metamask-controller.js
+++ b/app/scripts/metamask-controller.js
@@ -3317,6 +3317,10 @@ export default class MetamaskController extends EventEmitter {
         preferencesController.setWatchEthereumAccountEnabled.bind(
           preferencesController,
         ),
+      setSolanaSupportEnabled:
+        preferencesController.setSolanaSupportEnabled.bind(
+          preferencesController,
+        ),
       ///: END:ONLY_INCLUDE_IF
       setBitcoinSupportEnabled:
         preferencesController.setBitcoinSupportEnabled.bind(
diff --git a/shared/constants/metametrics.ts b/shared/constants/metametrics.ts
index 2d6a87b7d1c6..4a5c21ab5752 100644
--- a/shared/constants/metametrics.ts
+++ b/shared/constants/metametrics.ts
@@ -607,6 +607,7 @@ export enum MetaMetricsEventName {
   BridgeLinkClicked = 'Bridge Link Clicked',
   BitcoinSupportToggled = 'Bitcoin Support Toggled',
   BitcoinTestnetSupportToggled = 'Bitcoin Testnet Support Toggled',
+  SolanaSupportToggled = 'Solana Support Toggled',
   CurrentCurrency = 'Current Currency',
   DappViewed = 'Dapp Viewed',
   DecryptionApproved = 'Decryption Approved',
diff --git a/ui/pages/settings/experimental-tab/experimental-tab.component.tsx b/ui/pages/settings/experimental-tab/experimental-tab.component.tsx
index f1d1f610a7a4..591a1b5410cf 100644
--- a/ui/pages/settings/experimental-tab/experimental-tab.component.tsx
+++ b/ui/pages/settings/experimental-tab/experimental-tab.component.tsx
@@ -36,6 +36,10 @@ import { SurveyUrl } from '../../../../shared/constants/urls';
 type ExperimentalTabProps = {
   watchAccountEnabled: boolean;
   setWatchAccountEnabled: (value: boolean) => void;
+  ///: BEGIN:ONLY_INCLUDE_IF(build-flask)
+  solanaSupportEnabled: boolean;
+  setSolanaSupportEnabled: (value: boolean) => void;
+  ///: END:ONLY_INCLUDE_IF
   bitcoinSupportEnabled: boolean;
   setBitcoinSupportEnabled: (value: boolean) => void;
   bitcoinTestnetSupportEnabled: boolean;
@@ -369,6 +373,56 @@ export default class ExperimentalTab extends PureComponent<ExperimentalTabProps>
       </>
     );
   }
+
+  renderSolanaSupport() {
+    const { t, trackEvent } = this.context;
+    const {
+      solanaSupportEnabled,
+      setSolanaSupportEnabled,
+    } = this.props;
+
+    return (
+      <>
+        <Text
+          variant={TextVariant.headingSm}
+          as="h4"
+          color={TextColor.textAlternative}
+          marginBottom={2}
+          fontWeight={FontWeight.Bold}
+        >
+          {t('solanaSupportSectionTitle')}
+        </Text>
+        {this.renderToggleSection({
+          title: t('solanaSupportToggleTitle'),
+          description: t('solanaSupportToggleDescription', [
+            <a
+              key="btc-account-feedback-form__link-text"
+              href={SurveyUrl.BtcSupport}
+              target="_blank"
+              rel="noopener noreferrer"
+            >
+              {t('form')}
+            </a>,
+          ]),
+          toggleValue: solanaSupportEnabled,
+          toggleCallback: (value) => {
+            trackEvent({
+              event: MetaMetricsEventName.SolanaSupportToggled,
+              category: MetaMetricsEventCategory.Settings,
+              properties: {
+                enabled: !value,
+              },
+            });
+            setSolanaSupportEnabled(!value);
+          },
+          toggleContainerDataTestId: 'solana-support-toggle-div',
+          toggleDataTestId: 'solana-support-toggle',
+          toggleOffLabel: t('off'),
+          toggleOnLabel: t('on'),
+        })}
+      </>
+    );
+  }
   ///: END:ONLY_INCLUDE_IF
 
   render() {
@@ -398,6 +452,11 @@ export default class ExperimentalTab extends PureComponent<ExperimentalTabProps>
           this.renderBitcoinSupport()
           ///: END:ONLY_INCLUDE_IF
         }
+        {
+          ///: BEGIN:ONLY_INCLUDE_IF(build-flask)
+          this.renderSolanaSupport()
+          ///: END:ONLY_INCLUDE_IF
+        }
       </div>
     );
   }
diff --git a/ui/pages/settings/experimental-tab/experimental-tab.container.ts b/ui/pages/settings/experimental-tab/experimental-tab.container.ts
index f4d408565bfd..df76b3b953d6 100644
--- a/ui/pages/settings/experimental-tab/experimental-tab.container.ts
+++ b/ui/pages/settings/experimental-tab/experimental-tab.container.ts
@@ -13,8 +13,14 @@ import {
   setRedesignedConfirmationsEnabled,
   setRedesignedTransactionsEnabled,
   setWatchEthereumAccountEnabled,
+  ///: BEGIN:ONLY_INCLUDE_IF(build-flask)
+  setSolanaSupportEnabled,
+  ///: END:ONLY_INCLUDE_IF
 } from '../../../store/actions';
 import {
+    ///: BEGIN:ONLY_INCLUDE_IF(build-flask)
+    getIsSolanaSupportEnabled,
+    ///: END:ONLY_INCLUDE_IF
   getIsBitcoinSupportEnabled,
   getIsBitcoinTestnetSupportEnabled,
   ///: BEGIN:ONLY_INCLUDE_IF(keyring-snaps)
@@ -37,6 +43,9 @@ const mapStateToProps = (state: MetaMaskReduxState) => {
   const petnamesEnabled = getPetnamesEnabled(state);
   const featureNotificationsEnabled = getFeatureNotificationsEnabled(state);
   return {
+    ///: BEGIN:ONLY_INCLUDE_IF(build-flask)
+    solanaSupportEnabled: getIsSolanaSupportEnabled(state),
+    ///: END:ONLY_INCLUDE_IF
     watchAccountEnabled: getIsWatchEthereumAccountEnabled(state),
     bitcoinSupportEnabled: getIsBitcoinSupportEnabled(state),
     bitcoinTestnetSupportEnabled: getIsBitcoinTestnetSupportEnabled(state),
@@ -55,6 +64,10 @@ const mapDispatchToProps = (dispatch: MetaMaskReduxDispatch) => {
   return {
     setWatchAccountEnabled: (value: boolean) =>
       setWatchEthereumAccountEnabled(value),
+      ///: BEGIN:ONLY_INCLUDE_IF(build-flask)
+      setSolanaSupportEnabled: (value: boolean) =>
+        setSolanaSupportEnabled(value),
+    ///: END:ONLY_INCLUDE_IF
     setBitcoinSupportEnabled: (value: boolean) =>
       setBitcoinSupportEnabled(value),
     setBitcoinTestnetSupportEnabled: (value: boolean) =>
diff --git a/ui/pages/settings/experimental-tab/experimental-tab.test.js b/ui/pages/settings/experimental-tab/experimental-tab.test.js
index 784b2dc3b5d3..cda6b95c0a5d 100644
--- a/ui/pages/settings/experimental-tab/experimental-tab.test.js
+++ b/ui/pages/settings/experimental-tab/experimental-tab.test.js
@@ -108,4 +108,21 @@ describe('ExperimentalTab', () => {
       expect(setBitcoinSupportEnabled).toHaveBeenNthCalledWith(1, true);
     });
   });
+
+  it('enables the experimental solana account feature', async () => {
+    const setSolanaSupportEnabled = jest.fn();
+    const { getByTestId } = render(
+      {},
+      {
+        setSolanaSupportEnabled,
+        solanaSupportEnabled: false,
+      },
+    );
+    const toggle = getByTestId('solana-support-toggle');
+
+    fireEvent.click(toggle);
+    await waitFor(() => {
+      expect(setSolanaSupportEnabled).toHaveBeenNthCalledWith(1, true);
+    });
+  });
 });
diff --git a/ui/selectors/selectors.js b/ui/selectors/selectors.js
index ac8a6394bf6b..8522b561b5b1 100644
--- a/ui/selectors/selectors.js
+++ b/ui/selectors/selectors.js
@@ -2334,6 +2334,18 @@ export function getIsBitcoinSupportEnabled(state) {
   return state.metamask.bitcoinSupportEnabled;
 }
 
+///: BEGIN:ONLY_INCLUDE_IF(build-flask)
+/**
+ * Get the state of the `solanaSupportEnabled` flag.
+ *
+ * @param {*} state
+ * @returns The state of the `solanaSupportEnabled` flag.
+ */
+export function getIsSolanaSupportEnabled(state) {
+  return state.metamask.solanaSupportEnabled;
+}
+///: END:ONLY_INCLUDE_IF
+
 /**
  * Get the state of the `bitcoinTestnetSupportEnabled` flag.
  *
diff --git a/ui/store/actions.ts b/ui/store/actions.ts
index 09f819711fcd..1bd16af5a064 100644
--- a/ui/store/actions.ts
+++ b/ui/store/actions.ts
@@ -4963,6 +4963,16 @@ export async function setBitcoinTestnetSupportEnabled(value: boolean) {
   }
 }
 
+///: BEGIN:ONLY_INCLUDE_IF(build-flask)
+export async function setSolanaSupportEnabled(value: boolean) {
+  try {
+    await submitRequestToBackground('setSolanaSupportEnabled', [value]);
+  } catch (error) {
+    logErrorWithMessage(error);
+  }
+}
+///: END:ONLY_INCLUDE_IF
+
 ///: BEGIN:ONLY_INCLUDE_IF(keyring-snaps)
 export async function setAddSnapAccountEnabled(value: boolean): Promise<void> {
   try {

From 8492b1e517fd5ed1e663f4f3b545d106784ca189 Mon Sep 17 00:00:00 2001
From: Antonio Regadas <antonio.regadas@consensys.net>
Date: Wed, 30 Oct 2024 17:01:03 +0000
Subject: [PATCH 2/4] chore: prettier and test update

---
 app/_locales/en/messages.json                 | 20 +++++++++----------
 app/scripts/constants/sentry-state.ts         |  3 ---
 .../experimental-tab.component.tsx            |  5 +----
 .../experimental-tab.container.ts             | 11 +++++-----
 .../experimental-tab/experimental-tab.test.js |  2 +-
 5 files changed, 17 insertions(+), 24 deletions(-)

diff --git a/app/_locales/en/messages.json b/app/_locales/en/messages.json
index 4cac5fcf20fb..e4123093857d 100644
--- a/app/_locales/en/messages.json
+++ b/app/_locales/en/messages.json
@@ -745,16 +745,6 @@
   "bitcoinActivityNotSupported": {
     "message": "Bitcoin activity is not supported"
   },
-  "solanaSupportSectionTitle": {
-    "message": "Solana"
-  },
-  "solanaSupportToggleDescription": {
-    "message": "Turning on this feature will give you the option to add a Solana Account to your MetaMask Extension derived from your existing Secret Recovery Phrase. This is an experimental Beta feature, so you should use it at your own risk. To give us feedback on this new Bitcoin experience, please fill out this $1.",
-    "description": "$1 is the link to a product feedback form"
-  },
-  "solanaSupportToggleTitle": {
-    "message": "Enable \"Add a new Solana account (Beta)\""
-  },
   "bitcoinSupportSectionTitle": {
     "message": "Bitcoin"
   },
@@ -5234,6 +5224,16 @@
     "message": "Contact the creators of $1 for further support.",
     "description": "This is shown when the insight snap throws an error. $1 is the snap name"
   },
+  "solanaSupportSectionTitle": {
+    "message": "Solana"
+  },
+  "solanaSupportToggleDescription": {
+    "message": "Turning on this feature will give you the option to add a Solana Account to your MetaMask Extension derived from your existing Secret Recovery Phrase. This is an experimental Beta feature, so you should use it at your own risk. To give us feedback on this new Bitcoin experience, please fill out this $1.",
+    "description": "$1 is the link to a product feedback form"
+  },
+  "solanaSupportToggleTitle": {
+    "message": "Enable \"Add a new Solana account (Beta)\""
+  },
   "somethingDoesntLookRight": {
     "message": "Something doesn't look right? $1",
     "description": "A false positive message for users to contact support. $1 is a link to the support page."
diff --git a/app/scripts/constants/sentry-state.ts b/app/scripts/constants/sentry-state.ts
index 0130516759bf..76fb2386f1f6 100644
--- a/app/scripts/constants/sentry-state.ts
+++ b/app/scripts/constants/sentry-state.ts
@@ -415,9 +415,6 @@ export const SENTRY_UI_STATE = {
     switchedNetworkNeverShowMessage: false,
     newPrivacyPolicyToastClickedOrClosed: false,
     newPrivacyPolicyToastShownDate: false,
-    ///: BEGIN:ONLY_INCLUDE_IF(build-flask)
-    solanaSupportEnabled: false,
-    ///: END:ONLY_INCLUDE_IF
   },
   unconnectedAccount: true,
 };
diff --git a/ui/pages/settings/experimental-tab/experimental-tab.component.tsx b/ui/pages/settings/experimental-tab/experimental-tab.component.tsx
index 591a1b5410cf..8b7ded24cccc 100644
--- a/ui/pages/settings/experimental-tab/experimental-tab.component.tsx
+++ b/ui/pages/settings/experimental-tab/experimental-tab.component.tsx
@@ -376,10 +376,7 @@ export default class ExperimentalTab extends PureComponent<ExperimentalTabProps>
 
   renderSolanaSupport() {
     const { t, trackEvent } = this.context;
-    const {
-      solanaSupportEnabled,
-      setSolanaSupportEnabled,
-    } = this.props;
+    const { solanaSupportEnabled, setSolanaSupportEnabled } = this.props;
 
     return (
       <>
diff --git a/ui/pages/settings/experimental-tab/experimental-tab.container.ts b/ui/pages/settings/experimental-tab/experimental-tab.container.ts
index df76b3b953d6..e3be762afd1c 100644
--- a/ui/pages/settings/experimental-tab/experimental-tab.container.ts
+++ b/ui/pages/settings/experimental-tab/experimental-tab.container.ts
@@ -18,9 +18,9 @@ import {
   ///: END:ONLY_INCLUDE_IF
 } from '../../../store/actions';
 import {
-    ///: BEGIN:ONLY_INCLUDE_IF(build-flask)
-    getIsSolanaSupportEnabled,
-    ///: END:ONLY_INCLUDE_IF
+  ///: BEGIN:ONLY_INCLUDE_IF(build-flask)
+  getIsSolanaSupportEnabled,
+  ///: END:ONLY_INCLUDE_IF
   getIsBitcoinSupportEnabled,
   getIsBitcoinTestnetSupportEnabled,
   ///: BEGIN:ONLY_INCLUDE_IF(keyring-snaps)
@@ -64,9 +64,8 @@ const mapDispatchToProps = (dispatch: MetaMaskReduxDispatch) => {
   return {
     setWatchAccountEnabled: (value: boolean) =>
       setWatchEthereumAccountEnabled(value),
-      ///: BEGIN:ONLY_INCLUDE_IF(build-flask)
-      setSolanaSupportEnabled: (value: boolean) =>
-        setSolanaSupportEnabled(value),
+    ///: BEGIN:ONLY_INCLUDE_IF(build-flask)
+    setSolanaSupportEnabled: (value: boolean) => setSolanaSupportEnabled(value),
     ///: END:ONLY_INCLUDE_IF
     setBitcoinSupportEnabled: (value: boolean) =>
       setBitcoinSupportEnabled(value),
diff --git a/ui/pages/settings/experimental-tab/experimental-tab.test.js b/ui/pages/settings/experimental-tab/experimental-tab.test.js
index cda6b95c0a5d..08d02bf94215 100644
--- a/ui/pages/settings/experimental-tab/experimental-tab.test.js
+++ b/ui/pages/settings/experimental-tab/experimental-tab.test.js
@@ -30,7 +30,7 @@ describe('ExperimentalTab', () => {
     const { getAllByRole } = render();
     const toggle = getAllByRole('checkbox');
 
-    expect(toggle).toHaveLength(8);
+    expect(toggle).toHaveLength(9);
   });
 
   it('enables add account snap', async () => {

From f1feedf1f20443e83cf7fb6d5fa4ff16c69761a4 Mon Sep 17 00:00:00 2001
From: Antonio Regadas <antonio.regadas@consensys.net>
Date: Thu, 31 Oct 2024 09:49:14 +0000
Subject: [PATCH 3/4] chore: text update

---
 app/_locales/en/messages.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app/_locales/en/messages.json b/app/_locales/en/messages.json
index e4123093857d..498cca55d695 100644
--- a/app/_locales/en/messages.json
+++ b/app/_locales/en/messages.json
@@ -5228,7 +5228,7 @@
     "message": "Solana"
   },
   "solanaSupportToggleDescription": {
-    "message": "Turning on this feature will give you the option to add a Solana Account to your MetaMask Extension derived from your existing Secret Recovery Phrase. This is an experimental Beta feature, so you should use it at your own risk. To give us feedback on this new Bitcoin experience, please fill out this $1.",
+    "message": "Turning on this feature will give you the option to add a Solana Account to your MetaMask Extension derived from your existing Secret Recovery Phrase. This is an experimental Beta feature, so you should use it at your own risk.",
     "description": "$1 is the link to a product feedback form"
   },
   "solanaSupportToggleTitle": {

From c6a76e3bd106e97656f15b253e3e6f486299ebda Mon Sep 17 00:00:00 2001
From: Antonio Regadas <antonio.regadas@consensys.net>
Date: Mon, 4 Nov 2024 15:02:19 +0000
Subject: [PATCH 4/4] fix: remove unnecessary things

---
 app/_locales/en/messages.json                         |  3 +--
 .../experimental-tab/experimental-tab.component.tsx   | 11 +----------
 2 files changed, 2 insertions(+), 12 deletions(-)

diff --git a/app/_locales/en/messages.json b/app/_locales/en/messages.json
index 498cca55d695..8c02c3ced035 100644
--- a/app/_locales/en/messages.json
+++ b/app/_locales/en/messages.json
@@ -5228,8 +5228,7 @@
     "message": "Solana"
   },
   "solanaSupportToggleDescription": {
-    "message": "Turning on this feature will give you the option to add a Solana Account to your MetaMask Extension derived from your existing Secret Recovery Phrase. This is an experimental Beta feature, so you should use it at your own risk.",
-    "description": "$1 is the link to a product feedback form"
+    "message": "Turning on this feature will give you the option to add a Solana Account to your MetaMask Extension derived from your existing Secret Recovery Phrase. This is an experimental Beta feature, so you should use it at your own risk."
   },
   "solanaSupportToggleTitle": {
     "message": "Enable \"Add a new Solana account (Beta)\""
diff --git a/ui/pages/settings/experimental-tab/experimental-tab.component.tsx b/ui/pages/settings/experimental-tab/experimental-tab.component.tsx
index 8b7ded24cccc..0771428474d5 100644
--- a/ui/pages/settings/experimental-tab/experimental-tab.component.tsx
+++ b/ui/pages/settings/experimental-tab/experimental-tab.component.tsx
@@ -391,16 +391,7 @@ export default class ExperimentalTab extends PureComponent<ExperimentalTabProps>
         </Text>
         {this.renderToggleSection({
           title: t('solanaSupportToggleTitle'),
-          description: t('solanaSupportToggleDescription', [
-            <a
-              key="btc-account-feedback-form__link-text"
-              href={SurveyUrl.BtcSupport}
-              target="_blank"
-              rel="noopener noreferrer"
-            >
-              {t('form')}
-            </a>,
-          ]),
+          description: t('solanaSupportToggleDescription'),
           toggleValue: solanaSupportEnabled,
           toggleCallback: (value) => {
             trackEvent({