@@ -10,6 +10,8 @@ import { BRIDGE_ERROR } from '../lib/error'
10import { ROUTE_NAMES } from '../lib/router'
10import { ROUTE_NAMES } from '../lib/router'
11import { attemptSeedDerivation } from '../lib/keys'
11import { attemptSeedDerivation } from '../lib/keys'
13+import { WALLET_NAMES } from '../lib/wallet'
13import * as kg from '../../node_modules/urbit-key-generation/dist/index'
15import * as kg from '../../node_modules/urbit-key-generation/dist/index'
@@ -42,6 +44,7 @@ class SetKeys extends React.Component {
42 continuity: false,
44 continuity: false,
43 txn: Maybe.Nothing(),
45 txn: Maybe.Nothing(),
44 txError: Maybe.Nothing(),
46 txError: Maybe.Nothing(),
47+ isManagementSeed: false,
45 userApproval: false,
48 userApproval: false,
46 nonce: '',
49 nonce: '',
47 gasPrice: '5',
50 gasPrice: '5',
@@ -83,6 +86,8 @@ class SetKeys extends React.Component {
89+ this.determineManagementSeed(props.contracts.value, addr)
86 props.web3.matchWith({
91 props.web3.matchWith({
87 Nothing: () => {},
92 Nothing: () => {},
88 Just: (w3) => {
93 Just: (w3) => {
@@ -106,9 +111,16 @@ class SetKeys extends React.Component {
116+ async determineManagementSeed(ctrcs, addr) {
118+ await azimuth.azimuth.getManagerFor(ctrcs, addr)
121+ isManagementSeed: managing.length !== 0
113 async deriveSeed() {
125 async deriveSeed() {
114 const next = true
126 const next = true
@@ -287,6 +299,15 @@ class SetKeys extends React.Component {
287 ? props.pointCache[state.point]
299 ? props.pointCache[state.point]
288 : (() => { throw BRIDGE_ERROR.MISSING_POINT })()
300 : (() => { throw BRIDGE_ERROR.MISSING_POINT })()
302+ const isManagementMnemonic =
303+ this.state.isManagementSeed &&
304+ props.walletType === WALLET_NAMES.MNEMONIC
306+ const isMasterTicket =
307+ props.walletType === WALLET_NAMES.TICKET ||
308+ props.walletType === WALLET_NAMES.SHARD
310+ const networkSeedDisabled = isManagementMnemonic || isMasterTicket;
@@ -324,6 +345,7 @@ class SetKeys extends React.Component {
324 prop-size='lg'
345 prop-size='lg'
325 prop-format='innerLabel'
346 prop-format='innerLabel'
326 autoFocus
347 autoFocus
348+ disabled= { networkSeedDisabled }
327 value={ state.networkSeed }
349 value={ state.networkSeed }
328 onChange={ this.handleNetworkSeedInput }>
350 onChange={ this.handleNetworkSeedInput }>
329 <InnerLabel>{ 'Network seed' }</InnerLabel>
351 <InnerLabel>{ 'Network seed' }</InnerLabel>