@@ -17,10 +17,10 @@
1717
1818 let parentChain: any[];
1919 let rawPointInfoPromise: any;
20− let rawPointInfo: any = {};
20+ let rawPointInfo: any = null;
2121 let pointInfo: any = {};
2222 let rawSpawnedPointsPromise: any;
23− let rawSpawnedPoints: any = {};
23+ let rawSpawnedPoints: any = null;
2424 let spawnedPoints: string[] = [];
2525 const api: UrbitApi = new UrbitApi('');
2626 const spawnStatusOptions = {
@@ -80,31 +80,31 @@
8080 parentChain = parents;
8181 }
8282 $: {
83− rawPointInfo = {};
83+ rawPointInfo = null;
8484 if (azPoint) {
8585 rawPointInfoPromise = api.scry<any>({ app: 'astrolabe', path: `/point/${patp}` });
8686 rawPointInfoPromise.then((info) => {
8787 rawPointInfo = info;
8888 }).catch((error) => {
89− rawPointInfo.error = error;
89+ rawPointInfo = { error };
9090 });
9191 }
9292 }
9393 $: {
94− rawSpawnedPoints = {};
94+ rawSpawnedPoints = null;
9595 if (canSpawnPoints) {
9696 rawSpawnedPointsPromise = api.scry<any>({ app: 'astrolabe', path: `/spawned/${patp}` });
9797 rawSpawnedPointsPromise.then((info) => {
9898 rawSpawnedPoints = info;
9999 }).catch((error) => {
100− rawSpawnedPoints.error = error;
100+ rawSpawnedPoints = { error };
101101 });
102102 }
103103 }
104104 $: {
105105 spawnedPoints = [];
106− if (rawSpawnedPoints.spawned) {
107− spawnedPoints = rawSpawnedPoints.spawned.map(patp => normalizeId(patp));
106+ if (rawSpawnedPoints?.spawned) {
107+ spawnedPoints = rawSpawnedPoints?.spawned.map(patp => normalizeId(patp));
108108 }
109109 }
110110 $: {
@@ -117,39 +117,41 @@
117117 let keysSet = false;
118118 if (!azPoint) {
119119
120− } else if (rawPointInfo.point) {
121− const { point } = rawPointInfo;
122− const {
123− 'probable-dominion': dominion,
124− npoint
125− } = point;
126− spawnedCount = point['spa-count'];
127− life = npoint.net.keys.life;
128− rift = npoint.net.rift;
129− if (life > 0) {
130− keysSet = true;
131− }
120+ } else if (rawPointInfo) {
121+ if (rawPointInfo.point) {
122+ const { point } = rawPointInfo;
123+ const {
124+ 'probable-dominion': dominion,
125+ npoint
126+ } = point;
127+ spawnedCount = point['spa-count'];
128+ life = npoint.net.keys.life;
129+ rift = npoint.net.rift;
130+ if (life > 0) {
131+ keysSet = true;
132+ }
132133
133− pointInfo.proxies = npoint.own;
134− // const { dominion } = npoint;
135− layer = layerOptions[dominion];
134+ pointInfo.proxies = npoint.own;
135+ // const { dominion } = npoint;
136+ layer = layerOptions[dominion];
136137
137− if (pointInfo.proxies.owner.address === '0x86cd9cd0992f04231751e3761de45cecea5d1801') {
138− spawnStatus = spawnStatusOptions.locked;
139− } else if (keysSet) {
140− spawnStatus = spawnStatusOptions.spawned;
138+ if (pointInfo.proxies.owner.address === '0x86cd9cd0992f04231751e3761de45cecea5d1801') {
139+ spawnStatus = spawnStatusOptions.locked;
140+ } else if (keysSet) {
141+ spawnStatus = spawnStatusOptions.spawned;
142+ } else {
143+ spawnStatus = spawnStatusOptions.spawnedNoKeys;
144+ }
145+ const { sponsor } = npoint.net;
146+ if (sponsor.has) {
147+ pointInfo.sponsor = normalizeId(sponsor.who);
148+ }
141149 } else {
142− spawnStatus = spawnStatusOptions.spawnedNoKeys;
143− }
144− const { sponsor } = npoint.net;
145− if (sponsor.has) {
146− pointInfo.sponsor = normalizeId(sponsor.who);
150+ // no info found
151+ spawnStatus = spawnStatusOptions.unspawned;
152+ life = 0;
153+ rift = 0;
147154 }
148− } else if (rawPointInfo.error) {
149− // no info found
150− spawnStatus = spawnStatusOptions.unspawned;
151− life = 0;
152− rift = 0;
153155 } else {
154156 // request pending
155157 }