on master help sign in
chore: replace all references to Maybe.* with Just or Nothing
commit827d862c0e2844e9ea9a715e8a323301928d3944 authorMatt Condon (shrugs) <mattgcondon@gmail.com> dateTue 9 Jul 2019, 11:14 (7 years ago) parentc42819d
32 files changed+148−155
src/components/Passport.js+4−4 src/components/old/RenderedPoint.js+4−4 src/lib/keys.js+4−4 src/lib/useLoginView.js+2−2 src/lib/useMailer.js+5−5 src/lib/wallet.js+5−5 src/store/lib/useBirthdaysStore.js+7−8 src/store/lib/useControlledPointsStore.js+11−11 src/store/lib/useDetailsStore.js+2−3 src/store/lib/useInvitesStore.js+7−7 src/store/network.js+5−5 src/store/pointCursor.js+2−2 src/store/wallet.js+13−16 src/views/Activate/ActivateCode.js+5−5 src/views/Activate/PassportDownload.js+3−3 src/views/Activate/useActivateFlowState.js+7−7 src/views/CancelTransfer.js+5−4 src/views/CreateGalaxy.js+6−6 src/views/Invite/InviteEmail.js+3−3 src/views/Login.js+6−6 src/views/Login/Keystore.js+6−6 src/views/Login/Ledger.js+4−7 src/views/Login/Mnemonic.js+4−4 src/views/Login/PrivateKey.js+3−3 src/views/Login/Ticket.js+5−5 src/views/Login/Trezor.js+3−3 src/views/Point.js+3−3 src/views/Points.js+2−2 src/views/SetKeys.js+3−3 src/views/SetProxy.js+5−5 src/views/Transfer.js+2−2 src/views/ViewPoint.js+2−2
src/components/Passport.js+4−4
@@ -1,6 +1,6 @@
11import React from 'react';
22import cn from 'classnames';
3−import Maybe from 'folktale/maybe';
3+import { Just, Nothing } from 'folktale/maybe';
44import * as ob from 'urbit-ob';
55import { Grid, Flex, Text } from 'indigo-react';
66import { times } from 'lodash';
@@ -36,7 +36,7 @@ export default function Passport({
3636 point,
3737 className,
3838 ticket = null,
39− address = Maybe.Nothing(),
39+ address = Nothing(),
4040 mini = false,
4141}) {
4242 const birthday = usePointBirthday(point.getOrElse(null));
@@ -46,8 +46,8 @@ export default function Passport({
4646 });
4747
4848 const name = point.matchWith({
49− Nothing: () => Maybe.Nothing(),
50− Just: p => Maybe.Just(ob.patp(p.value)),
49+ Nothing: () => Nothing(),
50+ Just: p => Just(ob.patp(p.value)),
5151 });
5252 const visualName = name.matchWith({
5353 Nothing: () => '...',
src/components/old/RenderedPoint.js+4−4
@@ -1,5 +1,5 @@
1−import Maybe from 'folktale/maybe';
21import React from 'react';
2+import { Just } from 'folktale/maybe';
33import { Col } from './Base';
44import { Button } from './Base';
55import { pour } from 'sigil-js';
@@ -24,7 +24,7 @@ const RenderedPoint = props => {
2424 key={`rendered-sigil-${point}`}
2525 className="clickable"
2626 onClick={() => {
27− setPointCursor(Maybe.Just(point));
27+ setPointCursor(Just(point));
2828 routeHandler(ROUTE_NAMES.POINT);
2929 }}>
3030 {sigil}
@@ -33,7 +33,7 @@ const RenderedPoint = props => {
3333 key={`rendered-name-${point}`}
3434 className="clickable"
3535 onClick={() => {
36− setPointCursor(Maybe.Just(point));
36+ setPointCursor(Just(point));
3737 routeHandler(ROUTE_NAMES.POINT);
3838 }}>
3939 <code>{name}</code>
@@ -44,7 +44,7 @@ const RenderedPoint = props => {
4444 prop-type={'link'}
4545 prop-size={'sm'}
4646 onClick={() => {
47− setPointCursor(Maybe.Just(point));
47+ setPointCursor(Just(point));
4848 routeHandler(ROUTE_NAMES.POINT);
4949 }}>
5050 {'Details →'}
src/lib/keys.js+4−4
@@ -1,5 +1,5 @@
11import BN from 'bn.js';
2−import Maybe from 'folktale/maybe';
2+import { Just, Nothing } from 'folktale/maybe';
33import * as need from './need';
44
55import * as noun from '../nockjs/noun';
@@ -119,13 +119,13 @@ const attemptNetworkSeedDerivation = async (next, args) => {
119119 const seed = await kg.deriveNetworkSeed(managementSeed, '', revision);
120120
121121 if (seed === '') {
122− return Maybe.Nothing();
122+ return Nothing();
123123 }
124124
125− return Maybe.Just(seed);
125+ return Just(seed);
126126 }
127127
128− return Maybe.Nothing();
128+ return Nothing();
129129};
130130
131131export { genKey, attemptNetworkSeedDerivation };
src/lib/useLoginView.js+2−2
@@ -1,5 +1,5 @@
11import { useEffect } from 'react';
2−import Maybe from 'folktale/maybe';
2+import { Nothing } from 'folktale/maybe';
33
44import { useWallet } from 'store/wallet';
55import { usePointCursor } from 'store/pointCursor';
@@ -12,6 +12,6 @@ export default function useLoginView(walletType) {
1212 useEffect(() => {
1313 resetWallet();
1414 setWalletType(walletType);
15− setPointCursor(Maybe.Nothing());
15+ setPointCursor(Nothing());
1616 }, [setWalletType, walletType, setPointCursor, resetWallet]);
1717}
src/lib/useMailer.js+5−5
@@ -1,5 +1,5 @@
11import { useCallback } from 'react';
2−import Maybe from 'folktale/maybe';
2+import { Just, Nothing } from 'folktale/maybe';
33
44import { hasReceived, sendMail } from './inviteMail';
55import useSetState from './useSetState';
@@ -10,24 +10,24 @@ function useHasReceivedCache() {
1010 const [cache, addToCache] = useSetState();
1111
1212 const getHasRecieved = useCallback(
13− email => cache[email] || Maybe.Nothing(), //
13+ email => cache[email] || Nothing(), //
1414 [cache]
1515 );
1616
1717 const syncHasReceivedForEmail = useCallback(
1818 async email => {
19− if (Maybe.Just.hasInstance(getHasRecieved(email))) {
19+ if (Just.hasInstance(getHasRecieved(email))) {
2020 // never update the cache after we know about it
2121 return;
2222 }
2323
2424 if (STUB_MAILER) {
2525 // always allow sending emails when stubbing
26− return addToCache({ [email]: Maybe.Just(false) });
26+ return addToCache({ [email]: Just(false) });
2727 }
2828
2929 const _hasReceived = await hasReceived(email);
30− addToCache({ [email]: Maybe.Just(_hasReceived) });
30+ addToCache({ [email]: Just(_hasReceived) });
3131 },
3232 [getHasRecieved, addToCache]
3333 );
src/lib/wallet.js+5−5
@@ -2,7 +2,7 @@ import * as bip32 from 'bip32';
22import * as bip39 from 'bip39';
33import keccak from 'keccak';
44import { reduce } from 'lodash';
5−import Maybe from 'folktale/maybe';
5+import { Just, Nothing } from 'folktale/maybe';
66import * as secp256k1 from 'secp256k1';
77import * as ob from 'urbit-ob';
88import * as kg from 'urbit-key-generation/dist';
@@ -100,8 +100,8 @@ export const ownershipWalletFromTicket = async (ticket, point, passphrase) => {
100100
101101export const walletFromMnemonic = (mnemonic, hdpath, passphrase) => {
102102 const seed = bip39.validateMnemonic(mnemonic)
103− ? Maybe.Just(bip39.mnemonicToSeed(mnemonic, passphrase))
104− : Maybe.Nothing();
103+ ? Just(bip39.mnemonicToSeed(mnemonic, passphrase))
104+ : Nothing();
105105
106106 const toWallet = (sd, path) => {
107107 let wal;
@@ -109,9 +109,9 @@ export const walletFromMnemonic = (mnemonic, hdpath, passphrase) => {
109109 const hd = bip32.fromSeed(sd);
110110 wal = hd.derivePath(path);
111111 wal.address = addressFromSecp256k1Public(wal.publicKey);
112− wal = Maybe.Just(wal);
112+ wal = Just(wal);
113113 } catch (_) {
114− wal = Maybe.Nothing();
114+ wal = Nothing();
115115 }
116116 return wal;
117117 };
src/store/lib/useBirthdaysStore.js+7−8
@@ -1,5 +1,5 @@
11import { useCallback, useState } from 'react';
2−import Maybe from 'folktale/maybe';
2+import { Just, Nothing } from 'folktale/maybe';
33import * as azimuth from 'azimuth-js';
44
55import { useNetwork } from '../network';
@@ -17,10 +17,9 @@ export default function useBirthdayStore() {
1717 [_setBirthdayCache]
1818 );
1919
20− const getBirthday = useCallback(
21− point => birthdayCache[point] || Maybe.Nothing(),
22− [birthdayCache]
23− );
20+ const getBirthday = useCallback(point => birthdayCache[point] || Nothing(), [
21+ birthdayCache,
22+ ]);
2423
2524 const syncBirthday = useCallback(
2625 async point => {
@@ -31,7 +30,7 @@ export default function useBirthdayStore() {
3130 }
3231
3332 // birthday will not change after being set, so bail if we already know
34− if (Maybe.Just.hasInstance(getBirthday(point))) {
33+ if (Just.hasInstance(getBirthday(point))) {
3534 return;
3635 }
3736
@@ -43,13 +42,13 @@ export default function useBirthdayStore() {
4342 if (birthBlock > 0) {
4443 const block = await _web3.eth.getBlock(birthBlock);
4544 addToBirthdayCache({
46− [point]: Maybe.Just(new Date(block.timestamp * 1000)),
45+ [point]: Just(new Date(block.timestamp * 1000)),
4746 });
4847 } else {
4948 // TODO: better encoding for "no birthday" state?
5049 // if there's no birthday, just use today
5150 addToBirthdayCache({
52− [point]: Maybe.Just(new Date()),
51+ [point]: Just(new Date()),
5352 });
5453 }
5554 },
src/store/lib/useControlledPointsStore.js+11−11
@@ -1,16 +1,16 @@
11import { useState, useCallback } from 'react';
2−import Maybe from 'folktale/maybe';
2+import { Just, Nothing } from 'folktale/maybe';
33import * as azimuth from 'azimuth-js';
44
55import { useNetwork } from '../network';
66import { useWallet } from 'store/wallet';
77
88const EMPTY_CONTROLLED_POINTS = {
9− ownedPoints: Maybe.Nothing(),
10− incomingPoints: Maybe.Nothing(),
11− managingPoints: Maybe.Nothing(),
12− votingPoints: Maybe.Nothing(),
13− spawningPoints: Maybe.Nothing(),
9+ ownedPoints: Nothing(),
10+ incomingPoints: Nothing(),
11+ managingPoints: Nothing(),
12+ votingPoints: Nothing(),
13+ spawningPoints: Nothing(),
1414};
1515
1616export default function useControlledPointsStore() {
@@ -49,11 +49,11 @@ export default function useControlledPointsStore() {
4949 ]);
5050
5151 _setControlledPointsCache({
52− ownedPoints: Maybe.Just(ownedPoints),
53− incomingPoints: Maybe.Just(incomingPoints),
54− managingPoints: Maybe.Just(managingPoints),
55− votingPoints: Maybe.Just(votingPoints),
56− spawningPoints: Maybe.Just(spawningPoints),
52+ ownedPoints: Just(ownedPoints),
53+ incomingPoints: Just(incomingPoints),
54+ managingPoints: Just(managingPoints),
55+ votingPoints: Just(votingPoints),
56+ spawningPoints: Just(spawningPoints),
5757 });
5858 }, [contracts, wallet, _setControlledPointsCache]);
5959
src/store/lib/useDetailsStore.js+2−3
@@ -1,5 +1,5 @@
11import { useState, useCallback } from 'react';
2−import Maybe from 'folktale/maybe';
2+import { Just, Nothing } from 'folktale/maybe';
33import * as azimuth from 'azimuth-js';
44
55import { useNetwork } from '../network';
@@ -20,8 +20,7 @@ export default function useDetailsStore() {
2020 // TODO: refactor detailsCache access to use accessor like bithday
2121 // Maybe<{}>
2222 const getDetails = useCallback(
23− point =>
24− point in detailsCache ? Maybe.Just(detailsCache[point]) : Maybe.Nothing(),
23+ point => (point in detailsCache ? Just(detailsCache[point]) : Nothing()),
2524 [detailsCache]
2625 );
2726
src/store/lib/useInvitesStore.js+7−7
@@ -1,14 +1,14 @@
11import { useCallback, useState } from 'react';
2−import Maybe from 'folktale/maybe';
2+import { Just, Nothing } from 'folktale/maybe';
33import * as azimuth from 'azimuth-js';
44
55import { useNetwork } from '../network';
66
77// the default value of a point's invites
88const EMPTY_INVITES = {
9− availableInvites: Maybe.Nothing(),
10− sentInvites: Maybe.Nothing(),
11− acceptedInvites: Maybe.Nothing(),
9+ availableInvites: Nothing(),
10+ sentInvites: Nothing(),
11+ acceptedInvites: Nothing(),
1212};
1313
1414export default function useInvitesStore() {
@@ -52,9 +52,9 @@ export default function useInvitesStore() {
5252
5353 addToInvitesCache({
5454 [point]: {
55− availableInvites: Maybe.Just(availableInvites),
56− sentInvites: Maybe.Just(sentInvites),
57− acceptedInvites: Maybe.Just(acceptedInvites),
55+ availableInvites: Just(availableInvites),
56+ sentInvites: Just(sentInvites),
57+ acceptedInvites: Just(acceptedInvites),
5858 },
5959 });
6060 },
src/store/network.js+5−5
@@ -5,9 +5,9 @@ import React, {
55 useMemo,
66 useState,
77} from 'react';
8+import { Just, Nothing } from 'folktale/maybe';
89import * as azimuth from 'azimuth-js';
910import Web3 from 'web3';
10−import Maybe from 'folktale/maybe';
1111import { includes } from 'lodash';
1212
1313import { CONTRACT_ADDRESSES } from '../lib/contracts';
@@ -33,8 +33,8 @@ function _useNetwork(initialNetworkType = null) {
3333 const contracts = azimuth.initContracts(web3, contractAddresses);
3434
3535 return {
36− web3: Maybe.Just(web3),
37− contracts: Maybe.Just(contracts),
36+ web3: Just(web3),
37+ contracts: Just(contracts),
3838 };
3939 };
4040
@@ -82,8 +82,8 @@ function _useNetwork(initialNetworkType = null) {
8282 new Web3.providers.HttpProvider('http://example.com:3456'),
8383 isDevelopment ? CONTRACT_ADDRESSES.DEV : CONTRACT_ADDRESSES.MAINNET
8484 ),
85− web3: Maybe.Nothing(),
86− // ^ overwrite the web3 object from initWeb3 with a Maybe.Nothing
85+ web3: Nothing(),
86+ // ^ overwrite the web3 object from initWeb3 with a Nothing
8787 // to indicate that there is no valid web3 connection
8888 };
8989 }
src/store/pointCursor.js+2−2
@@ -1,10 +1,10 @@
11import React, { createContext, forwardRef, useContext, useState } from 'react';
2−import Maybe from 'folktale/maybe';
2+import { Nothing } from 'folktale/maybe';
33
44export const PointCursorContext = createContext(null);
55
66// pointCursor is Maybe<number>
7−function _usePointCursor(initialPointCursor = Maybe.Nothing()) {
7+function _usePointCursor(initialPointCursor = Nothing()) {
88 const [pointCursor, setPointCursor] = useState(initialPointCursor);
99
1010 return {
src/store/wallet.js+13−16
@@ -5,7 +5,7 @@ import React, {
55 useContext,
66 useState,
77} from 'react';
8−import Maybe from 'folktale/maybe';
8+import { Just, Nothing } from 'folktale/maybe';
99import { includes } from 'lodash';
1010
1111import {
@@ -28,21 +28,18 @@ const DEFAULT_WALLET_TYPE = WALLET_TYPES.TICKET;
2828// it doesn't necessarily help us much, since we branch on 'walletType'
2929// before setting 'wallet'.
3030//
31−// Wallets are always wrapped in Maybe. For most authentication
31+// Wallets are always wrapped in For most authentication
3232// mechanisms, Maybe wraps a BIP32 HD wallet; for Ethereum private keys,
3333// JSON keystore files, and Metamask authentication, it wraps an
3434// 'EthereumWallet'.
35−function _useWallet(
36− initialWallet = Maybe.Nothing(),
37− initialMnemonic = Maybe.Nothing()
38−) {
35+function _useWallet(initialWallet = Nothing(), initialMnemonic = Nothing()) {
3936 const [walletType, _setWalletType] = useState(DEFAULT_WALLET_TYPE);
4037 const [walletHdPath, setWalletHdPath] = useState(DEFAULT_HD_PATH);
4138 const [wallet, _setWallet] = useState(initialWallet);
42− const [urbitWallet, _setUrbitWallet] = useState(Maybe.Nothing());
39+ const [urbitWallet, _setUrbitWallet] = useState(Nothing());
4340 const [authMnemonic, setAuthMnemonic] = useState(initialMnemonic);
44− const [networkSeed, setNetworkSeed] = useState(Maybe.Nothing());
45− const [networkRevision, setNetworkRevision] = useState(Maybe.Nothing());
41+ const [networkSeed, setNetworkSeed] = useState(Nothing());
42+ const [networkRevision, setNetworkRevision] = useState(Nothing());
4643
4744 const setWalletType = useCallback(
4845 walletType => {
@@ -70,7 +67,7 @@ function _useWallet(
7067
7168 const setUrbitWallet = useCallback(
7269 urbitWallet => {
73− if (Maybe.Just.hasInstance(urbitWallet)) {
70+ if (Just.hasInstance(urbitWallet)) {
7471 // when an urbit wallet is set, also derive
7572 // a normal bip32 wallet using the ownership address
7673 const wallet = walletFromMnemonic(
@@ -81,7 +78,7 @@ function _useWallet(
8178
8279 setWallet(wallet);
8380 } else {
84− setWallet(Maybe.Nothing());
81+ setWallet(Nothing());
8582 }
8683
8784 _setUrbitWallet(urbitWallet);
@@ -92,11 +89,11 @@ function _useWallet(
9289 const resetWallet = useCallback(() => {
9390 _setWalletType(DEFAULT_WALLET_TYPE);
9491 setWalletHdPath(DEFAULT_HD_PATH);
95− _setWallet(Maybe.Nothing());
96− _setUrbitWallet(Maybe.Nothing());
97− setAuthMnemonic(Maybe.Nothing());
98− setNetworkSeed(Maybe.Nothing());
99− setNetworkRevision(Maybe.Nothing());
92+ _setWallet(Nothing());
93+ _setUrbitWallet(Nothing());
94+ setAuthMnemonic(Nothing());
95+ setNetworkSeed(Nothing());
96+ setNetworkRevision(Nothing());
10097 }, [
10198 _setWalletType,
10299 setWalletHdPath,
src/views/Activate/ActivateCode.js+5−5
@@ -1,6 +1,6 @@
11import React, { useCallback, useEffect, useState } from 'react';
2+import { Just, Nothing } from 'folktale/maybe';
23import * as azimuth from 'azimuth-js';
3−import Maybe from 'folktale/maybe';
44import { useTicketInput } from 'components/Inputs';
55import { Grid, Input, H4, ErrorText } from 'indigo-react';
66
@@ -80,13 +80,13 @@ export default function ActivateCode() {
8080 );
8181 const incoming = [...owned, ...transferring];
8282
83− let realPoint = Maybe.Nothing();
84− let wallet = Maybe.Nothing();
83+ let realPoint = Nothing();
84+ let wallet = Nothing();
8585
8686 if (incoming.length > 0) {
8787 const pointNum = parseInt(incoming[0], 10);
88− realPoint = Maybe.Just(pointNum);
89− wallet = Maybe.Just(await generateWallet(pointNum));
88+ realPoint = Just(pointNum);
89+ wallet = Just(await generateWallet(pointNum));
9090
9191 if (incoming.length > 1) {
9292 setGeneralError(
src/views/Activate/PassportDownload.js+3−3
@@ -1,6 +1,6 @@
11import React, { useState, useEffect, useCallback } from 'react';
22import cn from 'classnames';
3−import Maybe from 'folktale/maybe';
3+import { Just, Nothing } from 'folktale/maybe';
44import { Grid, H4, P } from 'indigo-react';
55
66import * as need from 'lib/need';
@@ -23,7 +23,7 @@ export default function PassportDownload({ className }) {
2323 // const point = need.point(derivedPoint);
2424 const wallet = need.wallet(derivedWallet);
2525
26− const [paper, setPaper] = useState(Maybe.Nothing());
26+ const [paper, setPaper] = useState(Nothing());
2727 const [downloaded, setDownloaded] = useState(false);
2828
2929 const pointAsString = derivedPoint.matchWith({
@@ -79,7 +79,7 @@ export default function PassportDownload({ className }) {
7979 <PaperRenderer
8080 point={pointAsString}
8181 wallet={wallet}
82− callback={data => setPaper(Maybe.Just(data))}
82+ callback={data => setPaper(Just(data))}
8383 />
8484 </Grid>
8585 );
src/views/Activate/useActivateFlowState.js+7−7
@@ -1,16 +1,16 @@
11import { useCallback, useState } from 'react';
2−import Maybe from 'folktale/maybe';
2+import { Nothing } from 'folktale/maybe';
33
44export default function useActivateFlowState() {
5− const [derivedWallet, setDerivedWallet] = useState(Maybe.Nothing());
6− const [inviteWallet, setInviteWallet] = useState(Maybe.Nothing());
7− const [derivedPoint, setDerivedPoint] = useState(Maybe.Nothing());
5+ const [derivedWallet, setDerivedWallet] = useState(Nothing());
6+ const [inviteWallet, setInviteWallet] = useState(Nothing());
7+ const [derivedPoint, setDerivedPoint] = useState(Nothing());
88 const [generated, setGenerated] = useState(false);
99
1010 const reset = useCallback(() => {
11− setDerivedWallet(Maybe.Nothing());
12− setInviteWallet(Maybe.Nothing());
13− setDerivedPoint(Maybe.Nothing());
11+ setDerivedWallet(Nothing());
12+ setInviteWallet(Nothing());
13+ setDerivedPoint(Nothing());
1414 setGenerated(false);
1515 }, [setDerivedWallet, setInviteWallet, setDerivedPoint, setGenerated]);
1616
src/views/CancelTransfer.js+5−4
@@ -1,8 +1,9 @@
1−import Maybe from 'folktale/maybe';
21import React from 'react';
3−import { H1, P } from '../components/old/Base';
2+import { Just } from 'folktale/maybe';
43import * as azimuth from 'azimuth-js';
54import * as ob from 'urbit-ob';
5+
6+import { H1, P } from '../components/old/Base';
67import * as need from '../lib/need';
78
89import StatelessTransaction from '../components/old/StatelessTransaction';
@@ -40,13 +41,13 @@ class CancelTransfer extends React.Component {
4041 ETH_ZERO_ADDR
4142 );
4243
43− return Maybe.Just(txn);
44+ return Just(txn);
4445 }
4546
4647 render() {
4748 const { props, state } = this;
4849
49− const online = Maybe.Just.hasInstance(props.web3);
50+ const online = Just.hasInstance(props.web3);
5051
5152 const proxy = online
5253 ? props.pointCache[state.pointInTransfer].transferProxy
src/views/CreateGalaxy.js+6−6
@@ -1,5 +1,5 @@
11import React from 'react';
2−import Maybe from 'folktale/maybe';
2+import { Just, Nothing } from 'folktale/maybe';
33import * as azimuth from 'azimuth-js';
44import * as ob from 'urbit-ob';
55import * as need from '../lib/need';
@@ -68,10 +68,10 @@ class CreateGalaxy extends React.Component {
6868
6969 createUnsignedTxn = () => {
7070 const { state, props } = this;
71− if (isValidAddress(state.galaxyOwner) === false) return Maybe.Nothing();
72− if (state.isAvailable === false) return Maybe.Nothing();
73− if (canDecodePatp(state.galaxyName) === false) return Maybe.Nothing();
74− if (isValidGalaxy(state.galaxyName) === false) return Maybe.Nothing();
71+ if (isValidAddress(state.galaxyOwner) === false) return Nothing();
72+ if (state.isAvailable === false) return Nothing();
73+ if (canDecodePatp(state.galaxyName) === false) return Nothing();
74+ if (isValidGalaxy(state.galaxyName) === false) return Nothing();
7575
7676 const validContracts = need.contracts(props.contracts);
7777
@@ -83,7 +83,7 @@ class CreateGalaxy extends React.Component {
8383 state.galaxyOwner
8484 );
8585
86− return Maybe.Just(txn);
86+ return Just(txn);
8787 };
8888
8989 confirmAvailability = async () => {
src/views/Invite/InviteEmail.js+3−3
@@ -1,6 +1,6 @@
11import React, { useCallback, useEffect, useMemo, useState } from 'react';
22import cn from 'classnames';
3−import Maybe from 'folktale/maybe';
3+import { Just } from 'folktale/maybe';
44import * as azimuth from 'azimuth-js';
55import {
66 Grid,
@@ -232,7 +232,7 @@ export default function InviteEmail() {
232232 walletHdPath,
233233 networkType,
234234 // TODO: ^ make a useTransactionSigner to encapsulate this logic
235− txn: Maybe.Just(inviteTx),
235+ txn: Just(inviteTx),
236236 gasPrice: GAS_PRICE_GWEI.toString(),
237237 gasLimit: GAS_LIMIT.toString(),
238238 nonce: nonce + i,
@@ -300,7 +300,7 @@ export default function InviteEmail() {
300300 try {
301301 const txHash = await sendSignedTransaction(
302302 _web3,
303− Maybe.Just(invite.signedTx),
303+ Just(invite.signedTx),
304304 tankWasUsed,
305305 () => {}
306306 );
src/views/Login.js+6−6
@@ -1,5 +1,5 @@
11import React, { useCallback, useState } from 'react';
2−import Maybe from 'folktale/maybe';
2+import { Just, Nothing } from 'folktale/maybe';
33import * as azimuth from 'azimuth-js';
44
55import { H4, Grid } from 'indigo-react';
@@ -73,27 +73,27 @@ export default function Login() {
7373
7474 // if no point cursor set by login logic, try to deduce it
7575 let deduced = pointCursor;
76− if (Maybe.Nothing.hasInstance(deduced)) {
76+ if (Nothing.hasInstance(deduced)) {
7777 const owned = await azimuth.azimuth.getOwnedPoints(
7878 _contracts,
7979 _wallet.address
8080 );
8181 if (owned.length === 1) {
82− deduced = Maybe.Just(owned[0]);
82+ deduced = Just(owned[0]);
8383 } else if (owned.length === 0) {
8484 const canOwn = await azimuth.azimuth.getTransferringFor(
8585 _contracts,
8686 _wallet.address
8787 );
8888 if (canOwn.length === 1) {
89− deduced = Maybe.Just(canOwn[0]);
89+ deduced = Just(canOwn[0]);
9090 }
9191 }
9292 }
9393
9494 // if we have a deduced point or one in the global context,
9595 // navigate to that specific point, otherwise navigate to list of points
96− if (Maybe.Just.hasInstance(deduced)) {
96+ if (Just.hasInstance(deduced)) {
9797 setPointCursor(deduced);
9898 goToPoint();
9999 } else {
@@ -124,7 +124,7 @@ export default function Login() {
124124 as={ForwardButton}
125125 solid
126126 className="mt2"
127− disabled={Maybe.Nothing.hasInstance(wallet)}
127+ disabled={Nothing.hasInstance(wallet)}
128128 onClick={doContinue}>
129129 Continue
130130 </Grid.Item>
src/views/Login/Keystore.js+6−6
@@ -1,5 +1,5 @@
11import React, { useState } from 'react';
2−import Maybe from 'folktale/maybe';
2+import { Just, Nothing } from 'folktale/maybe';
33import * as keythereum from 'keythereum';
44import { P, Grid, Input, ErrorText } from 'indigo-react';
55
@@ -22,7 +22,7 @@ export default function Keystore({ className }) {
2222 const [error, setError] = useState();
2323 // inputs
2424 // keystore: Maybe<String>
25− const [keystore, setKeystore] = useState(Maybe.Nothing());
25+ const [keystore, setKeystore] = useState(Nothing());
2626 const [passphraseInput, { data: passphrase }] = usePassphraseInput({
2727 name: 'password',
2828 label: 'Keystore password',
@@ -38,12 +38,12 @@ export default function Keystore({ className }) {
3838
3939 const newWallet = new EthereumWallet(privateKey);
4040 setError();
41− setWallet(Maybe.Just(newWallet));
41+ setWallet(Just(newWallet));
4242 } catch (err) {
4343 setError(
4444 "Couldn't decrypt wallet. You may have entered an incorrect password."
4545 );
46− setWallet(Maybe.Nothing());
46+ setWallet(Nothing());
4747 }
4848 };
4949
@@ -53,7 +53,7 @@ export default function Keystore({ className }) {
5353
5454 reader.onload = e => {
5555 const keystore = e.target.result;
56− setKeystore(Maybe.Just(keystore));
56+ setKeystore(Just(keystore));
5757 };
5858
5959 const failure = _ => {
@@ -90,7 +90,7 @@ export default function Keystore({ className }) {
9090 as={ForwardButton}
9191 solid
9292 className="mt3"
93− disabled={Maybe.Nothing.hasInstance(keystore)}
93+ disabled={Nothing.hasInstance(keystore)}
9494 onClick={constructWallet}>
9595 Decrypt
9696 </Grid.Item>
src/views/Login/Ledger.js+4−7
@@ -1,6 +1,6 @@
11import React, { useCallback, useEffect } from 'react';
22import cn from 'classnames';
3−import Maybe from 'folktale/maybe';
3+import { Just, Nothing } from 'folktale/maybe';
44import { P, Text, Input, Grid, H5, CheckboxInput } from 'indigo-react';
55import { times } from 'lodash';
66import * as bip32 from 'bip32';
@@ -89,11 +89,11 @@ export default function Ledger({ className }) {
8989 const chainCode = Buffer.from(info.chainCode, 'hex');
9090 const pub = secp256k1.publicKeyConvert(publicKey, true);
9191 const hd = bip32.fromPublicKey(pub, chainCode);
92− setWallet(Maybe.Just(hd));
92+ setWallet(Just(hd));
9393 setWalletHdPath(addHdPrefix(hdPath));
9494 } catch (error) {
9595 console.error(error);
96− setWallet(Maybe.Nothing());
96+ setWallet(Nothing());
9797 }
9898 }, [hdPath, setWallet, setWalletHdPath]);
9999
@@ -197,9 +197,6 @@ export default function Ledger({ className }) {
197197 );
198198
199199 return (
200− <Grid className={className}>
201− {isHTTPS && renderHTTPS()}
202− {!isHTTPS && renderHTTP()}
203− </Grid>
200+ <Grid className={className}>{isHTTPS ? renderHTTPS() : renderHTTP()}</Grid>
204201 );
205202}
src/views/Login/Mnemonic.js+4−4
@@ -1,5 +1,5 @@
11import React, { useEffect } from 'react';
2−import Maybe from 'folktale/maybe';
2+import { Just, Nothing } from 'folktale/maybe';
33import { Grid, Input, CheckboxInput } from 'indigo-react';
44
55import {
@@ -51,11 +51,11 @@ export default function Mnemonic({ className }) {
5151 useEffect(() => {
5252 if (pass) {
5353 setWalletHdPath(hdPath);
54− setAuthMnemonic(Maybe.Just(mnemonic));
54+ setAuthMnemonic(Just(mnemonic));
5555 setWallet(walletFromMnemonic(mnemonic, hdPath, passphrase));
5656 } else {
57− setAuthMnemonic(Maybe.Nothing());
58− setWallet(Maybe.Nothing());
57+ setAuthMnemonic(Nothing());
58+ setWallet(Nothing());
5959 }
6060 }, [
6161 pass,
src/views/Login/PrivateKey.js+3−3
@@ -1,5 +1,5 @@
11import React, { useEffect } from 'react';
2−import Maybe from 'folktale/maybe';
2+import { Just, Nothing } from 'folktale/maybe';
33import { Grid, Input } from 'indigo-react';
44
55import { useHexInput } from 'components/Inputs';
@@ -25,9 +25,9 @@ export default function PrivateKey({ className }) {
2525 if (pass) {
2626 const sec = Buffer.from(stripHexPrefix(privateKey), 'hex');
2727 const newWallet = new EthereumWallet(sec);
28− setWallet(Maybe.Just(newWallet));
28+ setWallet(Just(newWallet));
2929 } else {
30− setWallet(Maybe.Nothing());
30+ setWallet(Nothing());
3131 }
3232 }, [pass, privateKey, setWallet]);
3333
src/views/Login/Ticket.js+5−5
@@ -1,4 +1,4 @@
1−import Maybe from 'folktale/maybe';
1+import { Just, Nothing } from 'folktale/maybe';
22import React, { useCallback, useState, useEffect } from 'react';
33import * as azimuth from 'azimuth-js';
44import * as ob from 'urbit-ob';
@@ -87,7 +87,7 @@ export default function Ticket({ className }) {
8787 // clear states
8888 setError();
8989 setDeriving(true);
90− setUrbitWallet(Maybe.Nothing());
90+ setUrbitWallet(Nothing());
9191
9292 if (!ob.isValidPatq(ticket) || !ob.isValidPatp(pointName)) {
9393 setDeriving(false);
@@ -121,8 +121,8 @@ export default function Ticket({ className }) {
121121 );
122122 }
123123
124− setUrbitWallet(Maybe.Just(urbitWallet));
125− setPointCursor(Maybe.Just(ob.patp2dec(pointName)));
124+ setUrbitWallet(Just(urbitWallet));
125+ setPointCursor(Just(ob.patp2dec(pointName)));
126126 setDeriving(false);
127127 }, [
128128 pointName,
@@ -142,7 +142,7 @@ export default function Ticket({ className }) {
142142 try {
143143 const ticket = kg.combine([s1, s2, s3]);
144144 const uhdw = await urbitWalletFromTicket(ticket, pointName, passphrase);
145− setUrbitWallet(Maybe.Just(uhdw));
145+ setUrbitWallet(Just(uhdw));
146146 } catch (_) {
147147 // do nothing
148148 }
src/views/Login/Trezor.js+3−3
@@ -1,5 +1,5 @@
11import React, { useEffect } from 'react';
2−import Maybe from 'folktale/maybe';
2+import { Just, Nothing } from 'folktale/maybe';
33import * as bip32 from 'bip32';
44import { times } from 'lodash';
55import TrezorConnect from 'trezor-connect';
@@ -74,10 +74,10 @@ export default function Trezor({ className }) {
7474 const chainCode = Buffer.from(payload.chainCode, 'hex');
7575 const pub = secp256k1.publicKeyConvert(publicKey, true);
7676 const hd = bip32.fromPublicKey(pub, chainCode);
77− setWallet(Maybe.Just(hd));
77+ setWallet(Just(hd));
7878 setWalletHdPath(hdPath);
7979 } else {
80− setWallet(Maybe.Nothing());
80+ setWallet(Nothing());
8181 }
8282 };
8383
src/views/Point.js+3−3
@@ -1,5 +1,5 @@
11import React, { useCallback } from 'react';
2−import Maybe from 'folktale/maybe';
2+import { Just } from 'folktale/maybe';
33import * as need from 'lib/need';
44import { Grid } from 'indigo-react';
55
@@ -48,7 +48,7 @@ export default function Point() {
4848 const { availableInvites } = useInvites(point);
4949 const availableInvitesText = matchBlinky(availableInvites);
5050
51− const showActions = Maybe.Just.hasInstance(wallet);
51+ const showActions = Just.hasInstance(wallet);
5252
5353 const goAdmin = useCallback(() => history.push(ROUTE_NAMES.ADMIN), [history]);
5454
@@ -61,7 +61,7 @@ export default function Point() {
6161
6262 return (
6363 <View>
64− <Passport point={Maybe.Just(point)} />
64+ <Passport point={Just(point)} />
6565 <Grid className="pt2">
6666 <Grid.Item
6767 full
src/views/Points.js+2−2
@@ -1,5 +1,5 @@
11import React from 'react';
2−import Maybe from 'folktale/maybe';
2+import { Nothing } from 'folktale/maybe';
33import { H1, H2, P, Grid } from 'indigo-react';
44
55import { ROUTE_NAMES } from 'lib/routeNames';
@@ -59,7 +59,7 @@ export default function Points() {
5959 ...spawning,
6060 ]);
6161
62− const loading = Maybe.Nothing.hasInstance(ownedPoints);
62+ const loading = Nothing.hasInstance(ownedPoints);
6363
6464 const outgoing = ownedPoints.filter(point =>
6565 getDetails(point).matchWith({
src/views/SetKeys.js+3−3
@@ -1,5 +1,5 @@
11import React from 'react';
2−import Maybe from 'folktale/maybe';
2+import { Just, Nothing } from 'folktale/maybe';
33import * as azimuth from 'azimuth-js';
44import * as ob from 'urbit-ob';
55import * as need from '../lib/need';
@@ -136,10 +136,10 @@ class SetKeys extends React.Component {
136136 state.discontinuity
137137 );
138138
139− return Maybe.Just(txn);
139+ return Just(txn);
140140 }
141141
142− return Maybe.Nothing();
142+ return Nothing();
143143 }
144144
145145 render() {
src/views/SetProxy.js+5−5
@@ -1,5 +1,5 @@
1−import Maybe from 'folktale/maybe';
21import React from 'react';
2+import { Just, Nothing } from 'folktale/maybe';
33import * as need from '../lib/need';
44import * as azimuth from 'azimuth-js';
55import {
@@ -66,18 +66,18 @@ class _SetProxy extends React.Component {
6666 const txArgs = [validContracts, validPoint, state.proxyAddress];
6767
6868 if (props.proxyType === PROXY_TYPE.TRANSFER_PROXY) {
69− return Maybe.Just(azimuth.ecliptic.setTransferProxy(...txArgs));
69+ return Just(azimuth.ecliptic.setTransferProxy(...txArgs));
7070 }
7171
7272 if (props.proxyType === PROXY_TYPE.SPAWN_PROXY) {
73− return Maybe.Just(azimuth.ecliptic.setSpawnProxy(...txArgs));
73+ return Just(azimuth.ecliptic.setSpawnProxy(...txArgs));
7474 }
7575
7676 if (props.proxyType === PROXY_TYPE.MANAGEMENT_PROXY) {
77− return Maybe.Just(azimuth.ecliptic.setManagementProxy(...txArgs));
77+ return Just(azimuth.ecliptic.setManagementProxy(...txArgs));
7878 }
7979
80− return Maybe.Nothing();
80+ return Nothing();
8181 }
8282
8383 render() {
src/views/Transfer.js+2−2
@@ -1,5 +1,5 @@
1−import Maybe from 'folktale/maybe';
21import React from 'react';
2+import { Just } from 'folktale/maybe';
33import * as azimuth from 'azimuth-js';
44import * as ob from 'urbit-ob';
55import * as need from '../lib/need';
@@ -55,7 +55,7 @@ class Transfer extends React.Component {
5555 state.receivingAddress
5656 );
5757
58− return Maybe.Just(txn);
58+ return Just(txn);
5959 }
6060
6161 render() {
src/views/ViewPoint.js+2−2
@@ -1,5 +1,5 @@
11import React, { useCallback } from 'react';
2−import Maybe from 'folktale/maybe';
2+import { Just } from 'folktale/maybe';
33import { Input } from 'indigo-react';
44
55import { H1, P } from '../components/old/Base';
@@ -24,7 +24,7 @@ export default function ViewPoint() {
2424
2525 const disabled = !pass;
2626 const goForward = useCallback(() => {
27− setPointCursor(Maybe.Just(patp2dec(pointName)));
27+ setPointCursor(Just(patp2dec(pointName)));
2828 history.popAndPush(ROUTE_NAMES.POINT);
2929 }, [setPointCursor, history, pointName]);
3030