@@ -22,7 +22,12 @@ import {
2222} from 'store/storage/roller';
2323import { usePointCache } from 'store/pointCache';
2424import { getOutgoingPoints } from 'views/Points';
25−import { getProxy } from './utils/proxy';
25+import {
26+ isManagementProxy,
27+ isOwnerProxy,
28+ isTransferProxy,
29+ isSpawnProxy,
30+} from './utils/proxy';
2631import { isPlanet } from './utils/point';
2732
2833import {
@@ -160,14 +165,18 @@ export default function useRoller() {
160165 }[] = [];
161166 const requests: Promise<string>[] = [];
162167
163− const proxy = getProxy(starInfo.ownership!, _wallet.address);
168+ const proxy = isOwnerProxy(starInfo.ownership!, _wallet.address)
169+ ? 'own'
170+ : isSpawnProxy(starInfo.ownership!, _wallet.address)
171+ ? 'spawn'
172+ : undefined;
164173
165174 if (proxy === undefined)
166175 throw new Error("Error: Address doesn't match proxy");
167176
168177 const nonce = await api.getNonce({
169178 ship: _point,
170− proxy: proxy,
179+ proxy,
171180 });
172181
173182 for (let i = 0; i < numInvites && planets[i]; i++) {
@@ -179,7 +188,7 @@ export default function useRoller() {
179188 _authToken
180189 );
181190
182− const spawnRequest = await spawn(
191+ const spawnRequest = spawn(
183192 api,
184193 _wallet,
185194 _point,
@@ -192,30 +201,30 @@ export default function useRoller() {
192201 inviteWallet,
193202 1
194203 );
195− const configureKeysRequest = await configureKeys(
204+ const configureKeysRequest = configureKeys(
196205 api,
197206 _wallet,
198207 planet,
199− proxy,
208+ 'own',
200209 0,
201210 networkSeed
202211 );
203212
204− const setManagementProxyRequest = await registerProxyAddress(
213+ const setManagementProxyRequest = registerProxyAddress(
205214 api,
206215 _wallet,
207216 planet,
208− proxy,
217+ 'own',
209218 'manage',
210219 1,
211220 inviteWallet.management.keys.address
212221 );
213222
214− const transferRequest = await transferPointRequest(
223+ const transferRequest = transferPointRequest(
215224 api,
216225 _wallet,
217226 planet,
218− proxy,
227+ 'own',
219228 2,
220229 inviteWallet.ownership.keys.address
221230 );
@@ -420,14 +429,19 @@ export default function useRoller() {
420429 }
421430
422431 const pointDetails = await api.getPoint(_point);
423− const proxy = getProxy(pointDetails.ownership!, _wallet.address);
432+ // const proxy = getProxy(pointDetails.ownership!, _wallet.address);
433+ const proxy = isOwnerProxy(pointDetails.ownership!, _wallet.address)
434+ ? 'own'
435+ : isManagementProxy(pointDetails.ownership!, _wallet.address)
436+ ? 'manage'
437+ : undefined;
424438
425439 if (proxy === undefined)
426440 throw new Error("Error: Address doesn't match proxy");
427441
428442 const nonce = await api.getNonce({
429443 ship: _point,
430− proxy: proxy,
444+ proxy,
431445 });
432446
433447 const networkRevision = convertToInt(azimuthPoint.network.keys.life, 10);
@@ -549,10 +563,21 @@ export default function useRoller() {
549563 }
550564
551565 const pointDetails = await api.getPoint(_point);
552− const proxy = getProxy(pointDetails.ownership!, _wallet.address);
566+ const ownership = pointDetails.ownership!;
567+ const proxy = isOwnerProxy(ownership, _wallet.address)
568+ ? 'own'
569+ : proxyType === 'manage' &&
570+ isManagementProxy(ownership, _wallet.address)
571+ ? 'manage'
572+ : proxyType === 'spawn' && isSpawnProxy(ownership, _wallet.address)
573+ ? 'spawn'
574+ : proxyType === 'transfer' &&
575+ isTransferProxy(ownership, _wallet.address)
576+ ? 'transfer'
577+ : undefined;
553578
554579 if (proxy === undefined)
555− throw new Error("Error: Address doesn't match proxy");
580+ throw new Error("Error: Address doesn't match expected proxy");
556581
557582 const nonce = await api.getNonce({ ship: _point, proxy });
558583
@@ -584,7 +609,11 @@ export default function useRoller() {
584609 }
585610
586611 const pointDetails = await api.getPoint(_point);
587− const proxy = getProxy(pointDetails.ownership!, _wallet.address);
612+ const proxy = isOwnerProxy(pointDetails.ownership!, _wallet.address)
613+ ? 'own'
614+ : isTransferProxy(pointDetails.ownership!, _wallet.address)
615+ ? 'transfer'
616+ : undefined;
588617
589618 if (proxy === undefined)
590619 throw new Error("Error: Address doesn't match proxy");