import React from 'react'; import { H2, H4 } from '../../components/old/Base'; import { ETH_ZERO_ADDR, eqAddr } from '../../lib/wallet'; import { Grid } from 'indigo-react'; const NULL_KEY = '0x0000000000000000000000000000000000000000000000000000000000000000'; const renderAddress = addr => eqAddr(addr, ETH_ZERO_ADDR) ? (
{'(not set)'}
) : (
{addr.slice(0, 14)}
{addr.slice(14, 28)}
{addr.slice(28)}
); const renderNetworkKey = hex => { const sl = i => hex.slice(i, i + 4); const rowFrom = i => `${sl(i)}.${sl(i + 4)}.${sl(i + 8)}.${sl(i + 12)}`; return hex === NULL_KEY ? (
{'(not set)'}
) : (
{hex.slice(0, 2)}
{rowFrom(2)}
{rowFrom(18)}
{rowFrom(34)}
{rowFrom(50)}
); }; const KeysAndMetadata = props => { const { pointDetails } = props; return (

{'Ownership and Proxy Addresses'}

{'Owner'}

{pointDetails.matchWith({ Nothing: () =>
, Just: deets => renderAddress(deets.value.owner), })}

{'Transfer Proxy'}

{pointDetails.matchWith({ Nothing: () =>
, Just: deets => renderAddress(deets.value.transferProxy), })}

{'Spawn Proxy'}

{pointDetails.matchWith({ Nothing: () =>
, Just: deets => renderAddress(deets.value.spawnProxy), })}

{'Mgmt Proxy'}

{pointDetails.matchWith({ Nothing: () =>
, Just: deets => renderAddress(deets.value.managementProxy), })} ); }; const UrbitNetworking = props => { const { pointDetails } = props; const booted = pointDetails.matchWith({ Nothing: _ => false, Just: details => details.value.keyRevisionNumber > 0, }); const body = !booted ? (
{'(not set)'}
) : (

{'Authentication'}

{pointDetails.matchWith({ Nothing: () =>
, Just: deets => renderNetworkKey(deets.value.authenticationKey), })}

{'Encryption'}

{pointDetails.matchWith({ Nothing: () =>
, Just: deets => renderNetworkKey(deets.value.encryptionKey), })}

{'Revision'}

{pointDetails.matchWith({ Nothing: () => '-', Just: deets => deets.value.keyRevisionNumber, })}

{'Continuity era'}

{pointDetails.matchWith({ Nothing: () => '-', Just: deets => deets.value.continuityNumber, })}

{'Crypto suite version'}

{pointDetails.matchWith({ Nothing: () => '-', Just: deets => deets.value.cryptoSuiteVersion, })}
); return (

{'Public Keys'}

{body}
); }; export default KeysAndMetadata;