@@ -6,13 +6,14 @@ import * as azimuth from 'azimuth-js';
6import { useNetwork } from '../network';
6import { useNetwork } from '../network';
7import { useWallet } from 'store/wallet';
7import { useWallet } from 'store/wallet';
8import useRoller from 'lib/useRoller';
8import useRoller from 'lib/useRoller';
9+import { isL2 } from 'lib/utils/roller';
10const onlyUnique = (value, index, self) => self.indexOf(value) === index;
11const onlyUnique = (value, index, self) => self.indexOf(value) === index;
12export default function useControlledPointsStore() {
13export default function useControlledPointsStore() {
13 const { contracts } = useNetwork();
14 const { contracts } = useNetwork();
14 const { wallet } = useWallet();
15 const { wallet } = useWallet();
15− const { getPoints } = useRoller();
16+ const { api, getPoints } = useRoller();
17 const [controlledPoints, _setControlledPoints] = useState(Nothing());
18 const [controlledPoints, _setControlledPoints] = useState(Nothing());
@@ -34,21 +35,17 @@ export default function useControlledPointsStore() {
34 managingPoints,
35 managingPoints,
35 votingPoints,
36 votingPoints,
36 spawningPoints,
37 spawningPoints,
37− ] = await Promise.all([
38− getPoints('own', address),
39− getPoints('transfer', address),
40− getPoints('manage', address),
41− getPoints('vote', address),
42− getPoints('spawn', address),
46 ownedPointsL1,
38 ownedPointsL1,
47 incomingPointsL1,
39 incomingPointsL1,
48 managingPointsL1,
40 managingPointsL1,
49 votingPointsL1,
41 votingPointsL1,
50 spawningPointsL1,
42 spawningPointsL1,
51 ] = await Promise.all([
43 ] = await Promise.all([
44+ getPoints('own', address),
45+ getPoints('transfer', address),
46+ getPoints('manage', address),
47+ getPoints('vote', address),
48+ getPoints('spawn', address),
52 azimuth.azimuth.getOwnedPoints(_contracts, address),
49 azimuth.azimuth.getOwnedPoints(_contracts, address),
53 azimuth.azimuth.getTransferringFor(_contracts, address),
50 azimuth.azimuth.getTransferringFor(_contracts, address),
54 azimuth.azimuth.getManagerFor(_contracts, address),
51 azimuth.azimuth.getManagerFor(_contracts, address),
@@ -56,6 +53,26 @@ export default function useControlledPointsStore() {
56 azimuth.azimuth.getSpawningFor(_contracts, address),
53 azimuth.azimuth.getSpawningFor(_contracts, address),
57+ const pointsWithLayers = await Promise.all(
58+ ownedPoints.map(async ship => {
61+ const pointInfo = await api.getPoint(Number(ship));
62+ console.log(3, pointInfo)
65+ layer: isL2(pointInfo?.dominion) ? 1 : 2,
69+ return { point: ship, layer: 1 };
74+ console.log(4, pointsWithLayers)
60 ownedPoints === null &&
77 ownedPoints === null &&
61 incomingPoints === null &&
78 incomingPoints === null &&
@@ -90,6 +107,7 @@ export default function useControlledPointsStore() {
90 .concat(spawningPointsL1)
107 .concat(spawningPointsL1)
91 .map(Number)
108 .map(Number)
92 .filter(onlyUnique),
109 .filter(onlyUnique),
@@ -98,7 +116,7 @@ export default function useControlledPointsStore() {
98 console.error('failed to fetch controlled points', error);
116 console.error('failed to fetch controlled points', error);
99 _setControlledPoints(Just(Result.Error(error)));
117 _setControlledPoints(Just(Result.Error(error)));
101− }, [contracts, wallet, getPoints]);
119+ }, [contracts, wallet, getPoints, api]);
103 // sync controlled points whenever wallet or contracts changes
121 // sync controlled points whenever wallet or contracts changes
104 useEffect(() => {
122 useEffect(() => {