@@ -44,8 +44,10 @@ function useChangeSponsor() {
4444
4545function ChangeSponsor({ onDone }) {
4646 const { contracts } = useNetwork();
47+ const { pointCursor } = usePointCursor();
4748
4849 const _contracts = need.contracts(contracts);
50+ const point = need.point(pointCursor);
4951 const { construct, unconstruct, inputsLocked, bind } = useChangeSponsor();
5052
5153 const validateFormAsync = useCallback(
@@ -70,16 +72,18 @@ function ChangeSponsor({ onDone }) {
7072 [validateFormAsync]
7173 );
7274
73− const validate = useMemo(
74− () =>
75− composeValidator(
76− {
77− sponsor: buildPointValidator(2, [validateMinimumPatpByteLength(2)]),
78− },
79− validateForm
80− ),
81− [validateForm]
82− );
75+ const validate = useMemo(() => {
76+ const sponsorSize =
77+ azimuth.getPointSize(point) === azimuth.PointSize.Star ? 1 : 2;
78+ return composeValidator(
79+ {
80+ sponsor: buildPointValidator(sponsorSize, [
81+ validateMinimumPatpByteLength(sponsorSize),
82+ ]),
83+ },
84+ validateForm
85+ );
86+ }, [validateForm, point]);
8387
8488 const onValues = useCallback(
8589 ({ valid, values }) => {
@@ -141,13 +145,24 @@ function useCancelEscape() {
141145function CurrentEscape({ onDone }) {
142146 const { construct, bind } = useCancelEscape();
143147
148+ const { pointCursor } = usePointCursor();
149+ const { getDetails } = usePointCache();
150+
151+ const point = need.point(pointCursor);
152+
153+ const details = need.details(getDetails(point));
154+
155+ const newSponsor = useMemo(() => ob.patp(details.escapeRequestedTo), [
156+ details,
157+ ]);
158+
144159 useEffect(() => {
145160 construct();
146161 }, [construct]);
147162 return (
148163 <Grid>
149164 <Grid.Item full as={ViewHeader}>
150− Currently requesting <span className="mono">~dopzod</span> as a new
165+ Currently requesting <span className="mono">{newSponsor}</span> as a new
151166 sponsor
152167 </Grid.Item>
153168 <Grid.Item