diff --git a/src/app/components/Delegations/Delegations.tsx b/src/app/components/Delegations/Delegations.tsx index 47a74099..7d68115d 100644 --- a/src/app/components/Delegations/Delegations.tsx +++ b/src/app/components/Delegations/Delegations.tsx @@ -19,6 +19,8 @@ import { ErrorState } from "@/app/types/errors"; import { getIntermediateDelegationsLocalStorageKey } from "@/utils/local_storage/getIntermediateDelegationsLocalStorageKey"; import { toLocalStorageIntermediateDelegation } from "@/utils/local_storage/toLocalStorageIntermediateDelegation"; +import { Phase2HereModal } from "../Modals/Phase2Here"; + import { Delegation } from "./Delegation"; const MODE_TRANSITION = "transition"; @@ -28,6 +30,7 @@ type MODE = typeof MODE_TRANSITION | typeof MODE_WITHDRAW; export const Delegations = ({}) => { const { publicKeyNoCoord, connected, network } = useBTCWallet(); const [modalOpen, setModalOpen] = useState(false); + const [showPhase2HereModal, setShowPhase2HereModal] = useState(true); const [txID, setTxID] = useState(""); const [modalMode, setModalMode] = useState(); const { showError } = useError(); @@ -310,6 +313,10 @@ export const Delegations = ({}) => { processing={awaitingWalletResponse} /> )} + setShowPhase2HereModal(false)} + /> ); }; diff --git a/src/app/components/Modals/Phase2Here.tsx b/src/app/components/Modals/Phase2Here.tsx new file mode 100644 index 00000000..8fdce343 --- /dev/null +++ b/src/app/components/Modals/Phase2Here.tsx @@ -0,0 +1,64 @@ +import { + Button, + DialogBody, + DialogFooter, + Heading, +} from "@babylonlabs-io/bbn-core-ui"; +import { PropsWithChildren } from "react"; +import { MdLooksTwo } from "react-icons/md"; +import { twMerge } from "tailwind-merge"; + +import { ResponsiveDialog } from "./ResponsiveDialog"; + +interface Phase2HereModalProps { + className?: string; + open: boolean; + onClose: () => void; +} + +export const Phase2HereModal = ({ + className, + open, + onClose, +}: PropsWithChildren) => ( + + +
+ +
+ Transition to Phase 2 +

+ The second phase of the Babylon mainnet has been launched, enabling the + Bitcoin stakes to provide security and liquidity to a Babylon PoS + blockchain. If you staked during the first phase, you will need to + transition your stakes. Head over to the activity tab to identify all + your stakes that can transition. Criteria for your transitioning: +

+
    +
  • +

    + The finality provider you delegated to during phase-1 has + transitioned to the phase-2 Babylon chain. +

    +
  • +
  • +

    + Your stake was created on the first cap of the phase-1 mainnet. + Currently only cap-1 stakes are allowed to transition to slowly + onboard the stakes to the phase-2 system in a secure manner. +

    +
  • +
+
+ + + + +
+);