* On Claim All Rewards page, add a toggle "Include rewards from Astroport", off
  by default.
* Display a warning if claiming rewards from Astroport.
* Make sure the correct Astroport LP token is used.

Requires 1_networks_git.diff applied (before or after)

diff --git a/src/forms/ClaimRewardsForm.tsx b/src/forms/ClaimRewardsForm.tsx
index 3f409a1..c25aae9 100644
--- a/src/forms/ClaimRewardsForm.tsx
+++ b/src/forms/ClaimRewardsForm.tsx
@@ -1 +1,2 @@
+import { useState } from "react"
 import useNewContractMsg from "../libs/useNewContractMsg"
@@ -10,2 +11,3 @@ import Container from "../components/Container"
 import FormContainer from "./modules/FormContainer"
+import ToggleAstroportRewards from "./modules/ToggleAstroportRewards"
 
@@ -14,7 +16,19 @@ const ClaimRewardsForm = () => {
   const address = useAddress()
-  const { whitelist, contracts, getToken } = useProtocol()
-  const { astro } = useNetwork()
+  const { contracts, getToken } = useProtocol()
+  const { astro, mirrorAstroport } = useNetwork()
   const { contents: findBalance } = useFindBalance()
+
+  const astroportEnabledState = useState(false)
+  const [isAstroportEnabled] = astroportEnabledState
+
   const { contents: rewards } = useRewards()
-  const { data: astroPendingRewards } = useAstroPendingRewards()
+  const { data: astroPendingRewards2 } = useAstroPendingRewards()
+  const astroPendingRewards = isAstroportEnabled ? astroPendingRewards2 : null
+
+  const claimingFromAstroport: boolean =
+    gt(astroPendingRewards?.pending ?? 0, 0) ||
+    gt(astroPendingRewards?.pending_on_proxy ?? 0, 0)
+  const couldClaimFromAstroport: boolean =
+    gt(astroPendingRewards2?.pending ?? 0, 0) ||
+    gt(astroPendingRewards2?.pending_on_proxy ?? 0, 0)
 
@@ -22,2 +36,3 @@ const ClaimRewardsForm = () => {
   const claiming = plus(rewards.total, astroPendingRewards?.pending_on_proxy)
+  const claimingASTROAmount = astroPendingRewards?.pending ?? "0"
 
@@ -25,3 +40,3 @@ const ClaimRewardsForm = () => {
   const astroRewards = (
-    <Formatted symbol="ASTRO">{astroPendingRewards?.pending}</Formatted>
+    <Formatted symbol="ASTRO">{claimingASTROAmount}</Formatted>
   )
@@ -34,3 +49,3 @@ const ClaimRewardsForm = () => {
           <Formatted symbol="MIR">{claiming}</Formatted>
-          {gt(astroPendingRewards?.pending ?? 0, 0) && <> + {astroRewards}</>}
+          {gt(claimingASTROAmount, 0) && <> + {astroRewards}</>}
         </>
@@ -51,3 +66,3 @@ const ClaimRewardsForm = () => {
 
-  const { lpToken: astroLpToken } = whitelist[getToken("MIR")]
+  const { lpToken: astroLpToken } = mirrorAstroport
   const dataAstro = newContractMsg(astro.generator, {
@@ -65,14 +80,12 @@ const ClaimRewardsForm = () => {
 
-  const data =
-    gt(astroPendingRewards?.pending ?? 0, 0) ||
-    gt(astroPendingRewards?.pending_on_proxy ?? 0, 0)
-      ? [dataAstro, ...dataMIR]
-      : dataMIR
+  const data = claimingFromAstroport ? [dataAstro, ...dataMIR] : dataMIR
 
-  const disabled = !(
-    gt(claiming, 0) || gt(astroPendingRewards?.pending ?? 0, 0)
-  )
+  const disabled = !(gt(claiming, 0) || gt(claimingASTROAmount, 0))
+
+  const warnings = claimingFromAstroport
+    ? ["Claiming rewards from Astroport has been broken since June 2023"]
+    : []
 
   /* result */
-  const container = { contents, disabled, data, gasAdjust: 1.5 }
+  const container = { contents, disabled, warnings, data, gasAdjust: 1.5 }
   const props = { tab: { tabs: ["Claim"], current: "Claim" }, label: "Claim" }
@@ -81,3 +94,7 @@ const ClaimRewardsForm = () => {
     <Container sm>
-      <FormContainer {...container} {...props} />
+      <FormContainer {...container} {...props}>
+        {couldClaimFromAstroport && (
+          <ToggleAstroportRewards state={astroportEnabledState} />
+        )}
+      </FormContainer>
     </Container>
diff --git a/src/forms/modules/ToggleAstroportRewards.module.scss b/src/forms/modules/ToggleAstroportRewards.module.scss
new file mode 100644
index 0000000..723fbda
--- /dev/null
+++ b/src/forms/modules/ToggleAstroportRewards.module.scss
@@ -0,0 +1,15 @@
+@import "mixins";
+
+.button {
+  @include flex;
+  @include transition(color);
+  font-size: 12px;
+}
+
+.on {
+  color: $blue;
+}
+
+.toggle {
+  margin-right: 8px;
+}
diff --git a/src/forms/modules/ToggleAstroportRewards.tsx b/src/forms/modules/ToggleAstroportRewards.tsx
new file mode 100644
index 0000000..69ac324
--- /dev/null
+++ b/src/forms/modules/ToggleAstroportRewards.tsx
@@ -0,0 +1,28 @@
+import { Dispatch, SetStateAction } from "react"
+import classNames from "classnames/bind"
+import Toggle from "../../components/Toggle"
+import styles from "./ToggleAstroportRewards.module.scss"
+
+const cx = classNames.bind(styles)
+
+interface Props {
+  state: [boolean, Dispatch<SetStateAction<boolean>>]
+}
+
+const ToggleAstroportRewards = ({ state }: Props) => {
+  const [isOn, setIsOn] = state
+  const toggle = () => setIsOn(!isOn)
+
+  return (
+    <button
+      type="button"
+      className={cx(styles.button, { on: isOn })}
+      onClick={toggle}
+    >
+      <Toggle className={styles.toggle} on={isOn} />
+      Include rewards from Astroport
+    </button>
+  )
+}
+
+export default ToggleAstroportRewards
