on master help sign in
bitcoin: add flow for viewing your bitcoin extended key
26fdbb7pkova
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+8
@@ -63,11 +63,16 @@ export default function Login() {
63 switch (flow.kind) {
63 switch (flow.kind) {
64 case COMMANDS.TAKE_LOCKUP:
64 case COMMANDS.TAKE_LOCKUP:
65 push(names.ACCEPT_LOCKUP);
65 push(names.ACCEPT_LOCKUP);
66+ break;
66 //
67 //
67 case COMMANDS.BITCOIN:
68 case COMMANDS.BITCOIN:
68 push(names.BITCOIN_SIGN_TRANSACTION);
69 push(names.BITCOIN_SIGN_TRANSACTION);
69 break;
70 break;
70 //
71 //
72+ case COMMANDS.XPUB:
73+ push(names.BITCOIN_XPUB);
74+ break;
75+ //
71 default:
76 default:
72 throw new Error('unimplemented flow ' + flow.kind);
77 throw new Error('unimplemented flow ' + flow.kind);
73 }
78 }
@@ -83,6 +88,9 @@ export default function Login() {
83 case COMMANDS.BITCOIN:
88 case COMMANDS.BITCOIN:
84 return <>To sign a Bitcoin transaction, please sign in.</>;
89 return <>To sign a Bitcoin transaction, please sign in.</>;
85 //
90 //
91+ case COMMANDS.XPUB:
92+ return <>To view your Bitcoin extended public key, please sign in</>;
93+ //
86 default:
94 default:
87 return <>Flow: {command.kind}</>;
95 return <>Flow: {command.kind}</>;
88 }
96 }