on master help sign in
issue-child: validate point child relationship
4a2b629Nathan
src/lib/validators.js+3
@@ -119,3 +119,6 @@ export const validateUnique = arr => {
119 const res = [...new Set(arr)].length !== arr.length && 'Must be unique';
119 const res = [...new Set(arr)].length !== arr.length && 'Must be unique';
120 return res;
120 return res;
121};
121};
122+
123+export const validateChild = ourShip => ship =>
124+ ourShip !== ob.sein(ship) && `This point is not a child of ${ourShip}.`;
src/views/IssueChild.js+2−1
@@ -15,6 +15,7 @@ import patp2dec from 'lib/patp2dec';
15import { getSpawnCandidate } from 'lib/child';
15import { getSpawnCandidate } from 'lib/child';
16import { useLocalRouter } from 'lib/LocalRouter';
16import { useLocalRouter } from 'lib/LocalRouter';
17import useConstant from 'lib/useConstant';
17import useConstant from 'lib/useConstant';
18+import { validateChild } from 'lib/validators';
18
19
19import ViewHeader from 'components/ViewHeader';
20import ViewHeader from 'components/ViewHeader';
20import InlineEthereumTransaction from 'components/InlineEthereumTransaction';
21import InlineEthereumTransaction from 'components/InlineEthereumTransaction';
@@ -111,7 +112,7 @@ export default function IssueChild() {
111 () =>
112 () =>
112 composeValidator(
113 composeValidator(
113 {
114 {
114− point: buildPointValidator(4),
115+ point: buildPointValidator(4, [validateChild(ob.patp(_point))]),
115 owner: buildAddressValidator(),
116 owner: buildAddressValidator(),
116 },
117 },
117 validateForm
118 validateForm