@@ -7,7 +7,7 @@ import * as kg from 'urbit-key-generation/dist/index';
77import { Row, Col, H1, P, Warning, CheckboxButton } from '../components/Base';
88
99import StatelessTransaction from '../components/StatelessTransaction';
10−import { attemptSeedDerivation } from '../lib/keys';
10+import { attemptNetworkSeedDerivation } from '../lib/keys';
1111
1212import { addHexPrefix } from '../lib/wallet';
1313import { compose } from '../lib/lib';
@@ -26,7 +26,7 @@ class SetKeys extends React.Component {
2626 this.state = {
2727 auth: '',
2828 encr: '',
29− networkSeed: '',
29+ newNetworkSeed: '',
3030 nondeterministicSeed: false,
3131 point: point,
3232 cryptoSuiteVersion: 1,
@@ -93,17 +93,20 @@ class SetKeys extends React.Component {
9393
9494 async deriveSeed() {
9595 const next = true;
96− let seed = await attemptSeedDerivation(next, this.props);
9796 let nondeterministicSeed = false;
9897
99− if (seed.getOrElse('') === '') {
100− seed = Maybe.Just(this.randomHex(64));
101− nondeterministicSeed = true;
102− }
98+ const seed = await attemptNetworkSeedDerivation(next, this.props);
99+ const newNetworkSeed = seed.matchWith({
100+ Nothing: () => {
101+ nondeterministicSeed = true;
102+ return this.randomHex(64);
103+ },
104+ Just: p => p.value,
105+ });
103106
104107 this.setState({
105− networkSeed: seed.getOrElse(''),
106− nondeterministicSeed: nondeterministicSeed,
108+ newNetworkSeed,
109+ nondeterministicSeed,
107110 });
108111 }
109112
@@ -114,11 +117,12 @@ class SetKeys extends React.Component {
114117
115118 const validPoint = need.pointCursor(props);
116119
120+ // TODO: move this to a lib for validating things
117121 const hexRegExp = /[0-9A-Fa-f]{64}/g;
118122
119− if (hexRegExp.test(state.networkSeed)) {
123+ if (hexRegExp.test(state.newNetworkSeed)) {
120124 // derive network keys
121− const pair = kg.deriveNetworkKeys(state.networkSeed);
125+ const pair = kg.deriveNetworkKeys(state.newNetworkSeed);
122126
123127 const pencr = addHexPrefix(pair.crypt.public);
124128 const pauth = addHexPrefix(pair.auth.public);
@@ -142,7 +146,7 @@ class SetKeys extends React.Component {
142146 const { props, state } = this;
143147
144148 const canGenerate =
145− state.networkSeed.length === 64 && state.networkSeed.length === 64;
149+ state.newNetworkSeed.length === 64 && state.newNetworkSeed.length === 64;
146150
147151 const pointDetails = need.fromPointCache(props, state.point);
148152
@@ -191,9 +195,8 @@ class SetKeys extends React.Component {
191195 // Tx
192196 canGenerate={canGenerate}
193197 createUnsignedTxn={this.createUnsignedTxn}
194− networkSeed={state.networkSeed}
198+ newNetworkSeed={state.newNetworkSeed}
195199 newRevision={parseInt(pointDetails.keyRevisionNumber) + 1}
196− setNetworkSeedCache={props.setNetworkSeedCache}
197200 />
198201 </Col>
199202 </Row>