1import { useState, useEffect, useCallback } from 'react';
2import { Just, Nothing } from 'folktale/maybe';
3import Result from 'folktale/result';
4import * as azimuth from 'azimuth-js';
6import { useNetwork } from '../network';
7import { useWallet } from 'store/wallet';
9export default function useControlledPointsStore() {
10 const { contracts } = useNetwork();
11 const { wallet } = useWallet();
12 const [controlledPoints, _setControlledPoints] = useState(Nothing());
14 const syncControlledPoints = useCallback(async () => {
15 const _contracts = contracts.getOrElse(null);
16 const _wallet = wallet.getOrElse(null);
17 if (!_contracts || !_wallet) {
21 _setControlledPoints(Nothing());
23 const address = _wallet.address;
32 ] = await Promise.all([
33 azimuth.azimuth.getOwnedPoints(_contracts, address),
34 azimuth.azimuth.getTransferringFor(_contracts, address),
35 azimuth.azimuth.getManagerFor(_contracts, address),
36 azimuth.azimuth.getVotingFor(_contracts, address),
37 azimuth.azimuth.getSpawningFor(_contracts, address),
52 _setControlledPoints(Just(Result.Error(error)));
54 }, [contracts, wallet]);
56 // sync controlled points whenever wallet or contracts changes
58 syncControlledPoints();
59 }, [syncControlledPoints]);
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list