on master help sign in
roller-api: L1 spawn force sets spawn proxy

This commit updates the @urbit/roller-api package to make use of the `force` param when reticketing an L1 spawn point.

commit3b36a5303bf51169e13be5dfcfc49d99947c92b6 authortomholford <tomholford@users.noreply.github.com> dateThu 10 Feb 2022, 16:41 (5 years ago) parentbca66f0
6 files changed+44−45
package-lock.json+3−3 package.json+1−1 src/lib/useReticketL2Spawn.ts+2−1 src/lib/utils/debug.ts−7 src/lib/utils/roller.ts+22−10 src/views/UrbitID/ResetKeys/ResetExecute.tsx+16−23
package-lock.json+3−3
@@ -7775,9 +7775,9 @@
77757775 }
77767776 },
77777777 "@urbit/roller-api": {
7778− "version": "0.1.14",
7779− "resolved": "https://registry.npmjs.org/@urbit/roller-api/-/roller-api-0.1.14.tgz",
7780− "integrity": "sha512-8I26tia2n6+7IbSl7pVhW7PSaDVFH+QA4Y4RJvgnYpdQDTpry4cXFynvsiTtlU5p97csBd+hXdNub7JDon4LKg==",
7778+ "version": "0.1.15",
7779+ "resolved": "https://registry.npmjs.org/@urbit/roller-api/-/roller-api-0.1.15.tgz",
7780+ "integrity": "sha512-pP+XtpKOlSdx25+/lHPRtCihLSlVnOXLUk6igA2tCFMdo0cgrH1fCREoT3GlqkwhJQBq+VY08gnyD7Kn58i/Ug==",
77817781 "requires": {
77827782 "@open-rpc/client-js": "1.7.1",
77837783 "@open-rpc/meta-schema": "1.14.2",
package.json+1−1
@@ -32,7 +32,7 @@
3232 "@types/styled-components": "^5.1.10",
3333 "@types/styled-system": "^5.1.11",
3434 "@types/styled-system__css": "^5.0.15",
35− "@urbit/roller-api": "^0.1.14",
35+ "@urbit/roller-api": "^0.1.15",
3636 "@walletconnect/client": "^1.7.1",
3737 "@walletconnect/qrcode-modal": "^1.7.1",
3838 "@welldone-software/why-did-you-render": "^3.2.3",
src/lib/useReticketL2Spawn.ts+2−1
@@ -110,7 +110,8 @@ export const useReticketL2Spawn = () => {
110110 toWallet?.spawn?.keys?.address || to,
111111 walletType,
112112 web3,
113− connector
113+ connector,
114+ true
114115 );
115116 },
116117 [api, connector, walletType]
src/lib/utils/debug.tsdeleted−7
@@ -1,7 +0,0 @@
1−import { isDevelopment } from 'lib/flags';
2−
3−export const debugLog = (msg: string) => {
4− if (isDevelopment) {
5− console.log(msg);
6− }
7−};
src/lib/utils/roller.ts+22−10
@@ -93,7 +93,8 @@ export const configureKeys = async (
9393 walletType: symbol,
9494 web3: any,
9595 connector: WalletConnect | null,
96− breach?: boolean
96+ breach?: boolean,
97+ force: boolean = false
9798) => {
9899 const from = {
99100 ship: point, //ship to configure keys
@@ -130,7 +131,7 @@ export const configureKeys = async (
130131 web3,
131132 connector
132133 );
133− return api.configureKeys(sig, from, wallet.address, data);
134+ return api.configureKeys(sig, force, from, wallet.address, data);
134135};
135136
136137export const transferPointRequest = async (
@@ -143,7 +144,8 @@ export const transferPointRequest = async (
143144 walletType: symbol,
144145 web3: any,
145146 connector: WalletConnect | null,
146− reset?: boolean
147+ reset?: boolean,
148+ force: boolean = false
147149) => {
148150 const from = {
149151 ship: pointToTransfer,
@@ -167,7 +169,7 @@ export const transferPointRequest = async (
167169 connector
168170 );
169171
170− return api.transferPoint(sig, from, wallet.address, data);
172+ return api.transferPoint(sig, force, from, wallet.address, data);
171173};
172174
173175const proxyType = (proxy: Proxy) => {
@@ -189,15 +191,16 @@ const setProxy = async (
189191 sig: Signature,
190192 from: From,
191193 address: EthAddress,
192− data: AddressParams
194+ data: AddressParams,
195+ force: boolean = false
193196) => {
194197 switch (proxyAddressType) {
195198 case 'manage':
196− return await api.setManagementProxy(sig, from, address, data);
199+ return await api.setManagementProxy(sig, force, from, address, data);
197200 case 'spawn':
198− return await api.setSpawnProxy(sig, from, address, data);
201+ return await api.setSpawnProxy(sig, force, from, address, data);
199202 case 'transfer':
200− return await api.setTransferProxy(sig, from, address, data);
203+ return await api.setTransferProxy(sig, force, from, address, data);
201204 default:
202205 throw new Error(`Unknown proxyType ${proxyAddressType}`);
203206 }
@@ -213,7 +216,8 @@ export const registerProxyAddress = async (
213216 address: string,
214217 walletType: symbol,
215218 web3: any,
216− connector: WalletConnect | null
219+ connector: WalletConnect | null,
220+ force?: boolean
217221) => {
218222 const from = {
219223 ship: _point,
@@ -233,7 +237,15 @@ export const registerProxyAddress = async (
233237 connector
234238 );
235239
236− return setProxy(api, proxyAddressType, sig, from, wallet.address, data);
240+ return setProxy(
241+ api,
242+ proxyAddressType,
243+ sig,
244+ from,
245+ wallet.address,
246+ data,
247+ force
248+ );
237249};
238250
239251const getDataAndMethod = (args: L2TransactionArgs) => {
src/views/UrbitID/ResetKeys/ResetExecute.tsx+16−23
@@ -26,7 +26,6 @@ import { RestartButton, ForwardButton } from 'components/Buttons';
2626import WarningBox from 'components/WarningBox';
2727import LoadingBar from 'components/LoadingBar';
2828import NeedFundsNotice from 'components/NeedFundsNotice';
29−import { debugLog } from 'lib/utils/debug';
3029import { ReticketProgressCallback } from 'lib/types/L2Transaction';
3130
3231const labelForProgress = (progress: number) => {
@@ -100,8 +99,6 @@ export default function ResetExecute({
10099 setWalletType(WALLET_TYPES.TICKET);
101100 setUrbitWallet(Just(newWallet.value.wallet));
102101 // (implicit) pointCursor stays the same
103− // TODO: do we need to update the point?
104− // await getAndUpdatePoint(point);
105102 // redirect to point
106103 popTo(names.POINT);
107104 }, [
@@ -154,7 +151,6 @@ export default function ResetExecute({
154151 try {
155152 // if L1 point with migrated spawn proxy (dominion = 'spawn')
156153 if (l2point.dominion === POINT_DOMINIONS.SPAWN) {
157− debugLog('reticketing L1 point with dominion spawn...');
158154 await performL2SpawnReticket({
159155 fromWallet: need.wallet(wallet),
160156 fromWalletType: walletType,
@@ -170,10 +166,8 @@ export default function ResetExecute({
170166 txnSigner,
171167 txnSender,
172168 });
173− debugLog('done');
174169 // If L2 point
175170 } else if (isL2) {
176− debugLog('reticketing L2 point ...');
177171 await performL2Reticket({
178172 point,
179173 to: newWallet.value.wallet.ownership.keys.address,
@@ -182,24 +176,23 @@ export default function ResetExecute({
182176 fromWallet: need.wallet(wallet),
183177 onUpdate: handleUpdate,
184178 });
185− debugLog('done');
186179 // Fallback to L1 point flow
187− } else debugLog('reticketing L1 point ...');
188− await reticketPointBetweenWallets({
189− fromWallet: need.wallet(wallet),
190− fromWalletType: walletType,
191− fromWalletHdPath: walletHdPath,
192− toWallet: newWallet.value.wallet,
193− point: point,
194− web3: need.web3(web3),
195− contracts: need.contracts(contracts),
196− networkType,
197− onUpdate: handleUpdate,
198− nextRevision: networkRevision + 1,
199− txnSigner,
200− txnSender,
201− });
202− debugLog('done');
180+ } else {
181+ await reticketPointBetweenWallets({
182+ fromWallet: need.wallet(wallet),
183+ fromWalletType: walletType,
184+ fromWalletHdPath: walletHdPath,
185+ toWallet: newWallet.value.wallet,
186+ point: point,
187+ web3: need.web3(web3),
188+ contracts: need.contracts(contracts),
189+ networkType,
190+ onUpdate: handleUpdate,
191+ nextRevision: networkRevision + 1,
192+ txnSigner,
193+ txnSender,
194+ });
195+ }
203196 } catch (err) {
204197 console.error(err);
205198 setGeneralError(err);