@@ -21,7 +21,7 @@ import InlineEthereumTransaction from 'components/InlineEthereumTransaction';
2121import View from 'components/View';
2222import useLifecycle from 'lib/useLifecycle';
2323import { usePointCursor } from 'store/pointCursor';
24−import { validateInSet } from 'lib/validators';
24+import { validateNameInNumberSet } from 'lib/validators';
2525import { getSpawnCandidate } from 'lib/child';
2626
2727function useIssueChild() {
@@ -56,7 +56,7 @@ export default function IssueChild() {
5656 const _contracts = need.contracts(contracts);
5757 const _point = parseInt(need.point(pointCursor), 10);
5858
59− const [availablePointNames, setAvailablePointNames] = useState(Nothing());
59+ const [availablePoints, setAvailablePoints] = useState(Nothing());
6060
6161 const candidates = useMemo(() => {
6262 const getCandidate = () => ob.patp(getSpawnCandidate(_point));
@@ -75,12 +75,12 @@ export default function IssueChild() {
7575
7676 const validators = useMemo(
7777 () => [
78− validateInSet(
79− availablePointNames.getOrElse(new Set()),
78+ validateNameInNumberSet(
79+ availablePoints.getOrElse(new Set()),
8080 'This point cannot be spawned.'
8181 ),
8282 ],
83− [availablePointNames]
83+ [availablePoints]
8484 );
8585 const [
8686 pointNameInput,
@@ -91,7 +91,7 @@ export default function IssueChild() {
9191 disabled: inputsLocked,
9292 autoFocus: true,
9393 validators,
94− error: availablePointNames.matchWith({
94+ error: availablePoints.matchWith({
9595 Nothing: () => 'Loading availability...',
9696 Just: () => undefined,
9797 }),
@@ -124,7 +124,7 @@ export default function IssueChild() {
124124 return;
125125 }
126126
127− setAvailablePointNames(Just(new Set(availablePoints.map(ob.patp))));
127+ setAvailablePoints(Just(new Set(availablePoints)));
128128 })();
129129
130130 return () => (mounted = false);