on master help sign in
feat: extract network seed/revision into wallet store
commit656c2199d5c2ff068d18ad4f36fbde540e6e9793 authorMatt Condon (shrugs) <mattgcondon@gmail.com> dateMon 17 Jun 2019, 12:53 (7 years ago) parent80d720c
5 files changed+18−32
src/bridge/Bridge.js+1−24 src/bridge/components/StatelessTransaction.js+6−2 src/bridge/store/wallet.js+7 src/bridge/views/GenKeyfile.js+3−4 src/bridge/views/SetKeys.js+1−2
src/bridge/Bridge.js+1−24
@@ -93,26 +93,7 @@ const AllProviders = nest([
9393]);
9494
9595class Bridge extends React.Component {
96− constructor(props) {
97− super(props);
98−
99− this.state = {
100− networkSeedCache: null,
101− };
102−
103− this.setNetworkSeedCache = this.setNetworkSeedCache.bind(this);
104− }
105−
106− setNetworkSeedCache(networkSeed, revision) {
107− this.setState({
108− networkSeedCache: networkSeed,
109− networkRevisionCache: revision,
110− });
111− }
112−
11396 render() {
114− const { networkSeedCache, networkRevisionCache } = this.state;
115−
11697 return (
11798 <AllProviders
11899 initialRoutes={kInitialRoutes}
@@ -126,11 +107,7 @@ class Bridge extends React.Component {
126107 <Header />
127108
128109 <Row className={'row wrapper'}>
129− <Router
130− networkSeedCache={networkSeedCache}
131− networkRevisionCache={networkRevisionCache}
132− setNetworkSeedCache={this.setNetworkSeedCache}
133− />
110+ <Router />
134111
135112 <div className={'push'} />
136113 </Row>
src/bridge/components/StatelessTransaction.js+6−2
@@ -242,11 +242,15 @@ class StatelessTransaction extends React.Component {
242242 props.setTxnCursor(Just(Ok(txHash)));
243243
244244 let routeData = {};
245− if (props.networkSeed) {
246− props.setNetworkSeedCache(props.networkSeed);
245+ if (props.newNetworkSeed) {
246+ props.setNetworkSeedCache(props.newNetworkSeed);
247247 routeData.promptKeyfile = true;
248248 }
249249
250+ if (props.newRevision) {
251+ props.setNetworkRevision(props.newRevision);
252+ }
253+
250254 props.history.popAndPush(ROUTE_NAMES.SENT_TRANSACTION, routeData);
251255 })
252256 .catch(err => {
src/bridge/store/wallet.js+7
@@ -33,6 +33,8 @@ function _useWallet(
3333 const [wallet, _setWallet] = useState(initialWallet);
3434 const [urbitWallet, _setUrbitWallet] = useState(Maybe.Nothing());
3535 const [authMnemonic, setAuthMnemonic] = useState(initialMnemonic);
36+ const [networkSeed, setNetworkSeed] = useState(Maybe.Nothing());
37+ const [networkRevision, setNetowrkRevision] = useState(Maybe.Nothing());
3638
3739 const setWalletType = walletType => {
3840 if (!includes(WALLET_TYPES, walletType)) {
@@ -89,6 +91,11 @@ function _useWallet(
8991 setUrbitWallet,
9092 authMnemonic,
9193 setAuthMnemonic,
94+ //
95+ networkSeed,
96+ setNetworkSeed,
97+ networkRevision,
98+ setNetowrkRevision,
9299 };
93100}
94101
src/bridge/views/GenKeyfile.js+3−4
@@ -34,8 +34,7 @@ class GenKeyfile extends React.Component {
3434 // in case we did SetKeys earlier this session, make sure to generate the
3535 // newer keyfile, rather than the one that will expire soon
3636 const revision =
37− this.props.networkRevisionCache ||
38− parseInt(pointDetails.keyRevisionNumber);
37+ this.props.networkRevision || parseInt(pointDetails.keyRevisionNumber);
3938
4039 return {
4140 point,
@@ -81,8 +80,8 @@ class GenKeyfile extends React.Component {
8180 const next = false;
8281 let seed = await attemptSeedDerivation(next, this.props);
8382
84− if (seed.getOrElse('') === '' && this.props.networkSeedCache) {
85− seed = Maybe.Just(this.props.networkSeedCache);
83+ if (seed.getOrElse('') === '' && this.props.networkSeed) {
84+ seed = Maybe.Just(this.props.networkSeed);
8685 }
8786
8887 return seed.getOrElse('');
src/bridge/views/SetKeys.js+1−2
@@ -191,9 +191,8 @@ class SetKeys extends React.Component {
191191 // Tx
192192 canGenerate={canGenerate}
193193 createUnsignedTxn={this.createUnsignedTxn}
194− networkSeed={state.networkSeed}
194+ newNetworkSeed={state.networkSeed}
195195 newRevision={parseInt(pointDetails.keyRevisionNumber) + 1}
196− setNetworkSeedCache={props.setNetworkSeedCache}
197196 />
198197 </Col>
199198 </Row>