on master help sign in
Merge pull request #573 from pkova/master
31269bcfang
package.json+1−1
@@ -22,7 +22,7 @@
22 "@welldone-software/why-did-you-render": "^3.2.3",
22 "@welldone-software/why-did-you-render": "^3.2.3",
23 "async-retry": "^1.2.3",
23 "async-retry": "^1.2.3",
24 "azimuth-js": "^0.22.1",
24 "azimuth-js": "^0.22.1",
25− "azimuth-solidity": "^1.2.2",
25+ "azimuth-solidity": "^1.2.3",
26 "bip32": "^1.0.2",
26 "bip32": "^1.0.2",
27 "bip39": "^2.5.0",
27 "bip39": "^2.5.0",
28 "bitcoinjs-lib": "^5.2.0",
28 "bitcoinjs-lib": "^5.2.0",
src/lib/flowCommand.js+6
@@ -12,10 +12,13 @@ import { isValidAddress } from './wallet';
12// ? kind = btc
12// ? kind = btc
13// & utx = somebase64string
13// & utx = somebase64string
14//
14//
15+// ? kind = xpub
16+//
15
17
16const COMMANDS = {
18const COMMANDS = {
17 TAKE_LOCKUP: 'takeLockup',
19 TAKE_LOCKUP: 'takeLockup',
18 BITCOIN: 'btc',
20 BITCOIN: 'btc',
21+ XPUB: 'xpub',
19};
22};
20
23
21const useFlowCommand = () => {
24const useFlowCommand = () => {
@@ -51,6 +54,9 @@ const useFlowCommand = () => {
51 }
54 }
52 break;
55 break;
53 //
56 //
57+ case COMMANDS.XPUB:
58+ break;
59+ //
54 default:
60 default:
55 console.log('unrecognized kind of flow:', flow.kind);
61 console.log('unrecognized kind of flow:', flow.kind);
56 // eslint-disable-next-line no-fallthrough
62 // eslint-disable-next-line no-fallthrough
src/views/Login.js+10−32
@@ -1,51 +1,21 @@
1import React, { useCallback, useState } from 'react';
1import React, { useCallback, useState } from 'react';
2−import { P, H4, H5, Grid, Text, Button, Flex, LinkButton } from 'indigo-react';
2+import { Grid, Text, Button, Flex, LinkButton } from 'indigo-react';
3
3
4import { version } from '../../package.json';
4import { version } from '../../package.json';
5
5
6import { useHistory } from 'store/history';
6import { useHistory } from 'store/history';
7−import { useWallet } from 'store/wallet';
8−import { usePointCursor } from 'store/pointCursor';
9
7
10−import { WALLET_TYPES } from 'lib/wallet';
11import { COMMANDS, useFlowCommand } from 'lib/flowCommand';
8import { COMMANDS, useFlowCommand } from 'lib/flowCommand';
12
9
13import View from 'components/View';
10import View from 'components/View';
14−import Tabs from 'components/Tabs';
15−import Crumbs from 'components/Crumbs';
16import Footer from 'components/Footer';
11import Footer from 'components/Footer';
17−import { ForwardButton, OfflineButton } from 'components/Buttons';
18
12
19import Ticket from './Login/Ticket';
13import Ticket from './Login/Ticket';
20import Other from './Login/Other';
14import Other from './Login/Other';
21
15
22−const NAMES = {
23− TICKET: 'TICKET',
24− OTHER: 'OTHER',
25−};
26−
27−const VIEWS = {
28− [NAMES.TICKET]: Ticket,
29− [NAMES.OTHER]: Other,
30−};
31−
32−const OPTIONS = [
33− { text: 'Master Ticket', value: NAMES.TICKET },
34− { text: 'Other', value: NAMES.OTHER },
35−];
36−
37−const walletTypeToViewName = walletType => {
38− if (walletType === WALLET_TYPES.TICKET || !walletType) {
39− return NAMES.TICKET;
40− }
41− return NAMES.OTHER;
42−};
43−
44export default function Login() {
16export default function Login() {
45 // globals
17 // globals
46− const { pop, push, names } = useHistory();
18+ const { push, names } = useHistory();
47− const { walletType } = useWallet();
48− const { setPointCursor } = usePointCursor();
49 const flow = useFlowCommand();
19 const flow = useFlowCommand();
50
20
51 // inputs
21 // inputs
@@ -63,11 +33,16 @@ export default function Login() {
63 switch (flow.kind) {
33 switch (flow.kind) {
64 case COMMANDS.TAKE_LOCKUP:
34 case COMMANDS.TAKE_LOCKUP:
65 push(names.ACCEPT_LOCKUP);
35 push(names.ACCEPT_LOCKUP);
36+ break;
66 //
37 //
67 case COMMANDS.BITCOIN:
38 case COMMANDS.BITCOIN:
68 push(names.BITCOIN_SIGN_TRANSACTION);
39 push(names.BITCOIN_SIGN_TRANSACTION);
69 break;
40 break;
70 //
41 //
42+ case COMMANDS.XPUB:
43+ push(names.BITCOIN_XPUB);
44+ break;
45+ //
71 default:
46 default:
72 throw new Error('unimplemented flow ' + flow.kind);
47 throw new Error('unimplemented flow ' + flow.kind);
73 }
48 }
@@ -83,6 +58,9 @@ export default function Login() {
83 case COMMANDS.BITCOIN:
58 case COMMANDS.BITCOIN:
84 return <>To sign a Bitcoin transaction, please sign in.</>;
59 return <>To sign a Bitcoin transaction, please sign in.</>;
85 //
60 //
61+ case COMMANDS.XPUB:
62+ return <>To view your Bitcoin extended public key, please sign in</>;
63+ //
86 default:
64 default:
87 return <>Flow: {command.kind}</>;
65 return <>Flow: {command.kind}</>;
88 }
66 }