on master help sign in
bridge/src/lib/utils/point.ts
43 lines 1.6 kB history raw
1import { L2Point } from '@urbit/roller-api';
2import { azimuth } from 'azimuth-js';
3import { L1Point } from 'lib/types/L1Point';
4import Point from 'lib/types/Point';
6export const isGalaxy = (point: number) =>
7 azimuth.getPointSize(point) === azimuth.PointSize.Galaxy;
9export const isStar = (point: number) =>
10 azimuth.getPointSize(point) === azimuth.PointSize.Star;
12export const isPlanet = (point: number) =>
13 azimuth.getPointSize(point) === azimuth.PointSize.Planet;
15export const toL1Details = (point?: L2Point): L1Point => {
16 return {
17 layer: point?.dominion === 'l2' ? 2 : 1,
18 isL2Spawn: point?.dominion === 'spawn' || point?.dominion === 'l2',
19 active: true,
20 authenticationKey: point?.network?.keys?.auth,
21 continuityNumber: point?.network?.rift,
22 cryptoSuiteVersion: point?.network?.keys?.suite,
23 encryptionKey: point?.network?.keys?.crypt,
24 escapeRequested: point?.network?.escape ? true : false,
25 escapeRequestedTo: point?.network?.escape,
26 hasSponsor: point?.network?.sponsor?.has,
27 keyRevisionNumber: point?.network?.keys?.life,
28 managementProxy: point?.ownership?.managementProxy?.address!,
29 owner: point?.ownership?.owner?.address!,
30 spawnProxy: point?.ownership?.spawnProxy?.address!,
31 sponsor: point?.network?.sponsor?.who,
32 transferProxy: point?.ownership?.transferProxy?.address!,
33 votingProxy: point?.ownership?.votingProxy?.address!,
34 };
35};
37export const getUpdatedPointMessage = (point: Point, field: string) => {
38 if (field === 'newPoint') {
39 return `${point.patp} has been spawned!`;
40 }
42 return `${point.patp} has been updated!`;
43};