import React, { useState, useCallback, useMemo } from 'react'; import useLifecycle from 'lib/useLifecycle'; import { Anchor, Box, Text } from '@tlon/indigo-react'; import { useActivateFlow } from './ActivateFlow'; import ActivateView from './ActivateView'; import useRoller from 'lib/useRoller'; import { FadeableActivateHeader as ActivateHeader } from './ActivateHeader'; import useFadeIn from './useFadeIn'; import PointPresenter from './PointPresenter'; import DangerBox from './DangerBox'; import View from 'components/View'; import { DownloadPortButton } from './DownloadPortButton'; const MasterKeyTransfer = () => { const { performL2Reticket } = useRoller(); const { derivedPatp, derivedPoint, derivedWallet, sendWallet, } = useActivateFlow(); const [error, setError] = useState(); const claimPoint = useCallback(async () => { setError(undefined); try { await performL2Reticket({ point: derivedPoint.value, to: derivedWallet.value.ownership.keys.address, manager: derivedWallet.value.management.keys.address, toWallet: derivedWallet.value, fromWallet: sendWallet.value, }); } catch (e) { console.error(e); setError(e); } }, [derivedWallet, performL2Reticket, derivedPoint.value, sendWallet.value]); useFadeIn(); useLifecycle(() => { claimPoint(); }); const header = useMemo(() => { return ( Congratulations {derivedPatp.value}   is now yours } /> ); }, [derivedPatp.value]); const footer = useMemo(() => { return ( {error && {error.toString()}} or setup via command line ); }, [error]); return ( ); }; export default MasterKeyTransfer;