on 368f024 help sign in
bridge/src/lib/utils/point.ts
34 lines 1.4 kB history raw
1import { L2Point } from '@urbit/roller-api';
2import { azimuth } from 'azimuth-js';
3import { L1Point } from 'lib/types/L1Point';
5export const isGalaxy = (point: number) =>
6 azimuth.getPointSize(point) === azimuth.PointSize.Galaxy;
8export const isStar = (point: number) =>
9 azimuth.getPointSize(point) === azimuth.PointSize.Star;
11export const isPlanet = (point: number) =>
12 azimuth.getPointSize(point) === azimuth.PointSize.Planet;
14export const toL1Details = (point: L2Point): L1Point => {
15 return {
16 layer: point?.dominion === 'l2' ? 2 : 1,
17 isL2Spawn: point.dominion === 'spawn' || point.dominion === 'l2',
18 active: true,
19 authenticationKey: point?.network?.keys?.auth,
20 continuityNumber: point?.network?.rift,
21 cryptoSuiteVersion: point?.network?.keys?.suite,
22 encryptionKey: point?.network?.keys?.crypt,
23 escapeRequested: point?.network?.escape ? true : false,
24 escapeRequestedTo: point?.network?.escape,
25 hasSponsor: point?.network?.sponsor?.has,
26 keyRevisionNumber: point?.network?.keys?.life,
27 managementProxy: point?.ownership?.managementProxy?.address!,
28 owner: point?.ownership?.owner?.address!,
29 spawnProxy: point?.ownership?.spawnProxy?.address!,
30 sponsor: point?.network?.sponsor?.who,
31 transferProxy: point?.ownership?.transferProxy?.address!,
32 votingProxy: point?.ownership?.votingProxy?.address!,
33 };
34};