mirror of
https://github.com/status-im/ens-usernames.git
synced 2025-03-01 18:40:34 +00:00
add initial display of status account in resolver UI
This commit is contained in:
parent
ef4ff22ed5
commit
8e69076c85
@ -23,12 +23,15 @@ const addressStyle = {
|
||||
fontSize: '18px',
|
||||
fontWeight: 400,
|
||||
margin: '3% 0 3% 0',
|
||||
cursor: 'copy'
|
||||
cursor: 'copy',
|
||||
textAlign: 'center',
|
||||
wordWrap: 'break-word'
|
||||
}
|
||||
|
||||
const backButton = {
|
||||
fontSize: '40px',
|
||||
color: theme.accent
|
||||
color: theme.accent,
|
||||
cursor: 'pointer'
|
||||
}
|
||||
|
||||
class DisplayAddress extends PureComponent {
|
||||
@ -36,7 +39,7 @@ class DisplayAddress extends PureComponent {
|
||||
|
||||
render() {
|
||||
const { copied } = this.state
|
||||
const { domainName, address, setStatus } = this.props
|
||||
const { domainName, address, statusAccount, setStatus } = this.props
|
||||
const markCopied = () => { this.setState({ copied: !copied }) }
|
||||
const validAddress = address != nullAddress;
|
||||
return (
|
||||
@ -47,6 +50,9 @@ class DisplayAddress extends PureComponent {
|
||||
<CopyToClipboard text={address} onCopy={markCopied}>
|
||||
<div style={addressStyle}>{address}</div>
|
||||
</CopyToClipboard>
|
||||
<CopyToClipboard text={statusAccount} onCopy={markCopied}>
|
||||
<div style={addressStyle}>{statusAccount}</div>
|
||||
</CopyToClipboard>
|
||||
{copied &&
|
||||
<Info background={theme.positive} style={copiedText}>
|
||||
<span>COPIED</span>
|
||||
@ -85,19 +91,23 @@ const InnerForm = ({
|
||||
Get Address
|
||||
</Button>
|
||||
</form>
|
||||
: <DisplayAddress domainName={values.domainName} address={status} setStatus={setStatus}/>}
|
||||
: <DisplayAddress
|
||||
domainName={values.domainName}
|
||||
address={status.address}
|
||||
statusAccount={status.statusAccount}
|
||||
setStatus={setStatus}/>}
|
||||
</Card>
|
||||
)
|
||||
|
||||
const NameLookup = withFormik({
|
||||
mapPropsToValues: props => ({ domainName: '' }),
|
||||
handleSubmit(values, { setSubmitting, setStatus }) {
|
||||
async handleSubmit(values, { status, setSubmitting, setStatus }) {
|
||||
const { domainName } = values;
|
||||
PublicResolver.methods.addr(hash(formatName(domainName)))
|
||||
.call()
|
||||
.then(res =>{
|
||||
setStatus(res)
|
||||
});
|
||||
const { addr, text } = PublicResolver.methods;
|
||||
const lookupHash = hash(formatName(domainName));
|
||||
const address = await addr(lookupHash).call();
|
||||
const statusAccount = await text(lookupHash, 'statusAccount').call();
|
||||
setStatus({ address, statusAccount });
|
||||
}
|
||||
})(InnerForm)
|
||||
|
||||
|
@ -55,11 +55,21 @@ const InnerForm = ({
|
||||
label="Domain Price"
|
||||
disabled
|
||||
value={values.price ? `${Number(values.price).toLocaleString()} SNT` : ''} />
|
||||
<FieldGroup
|
||||
id="statusAddress"
|
||||
name="statusAddress"
|
||||
type="text"
|
||||
label="Status messenger address domain resolves to"
|
||||
onChange={handleChange}
|
||||
onBlur={handleBlur}
|
||||
value={values.statusAddress}
|
||||
error={errors.statusAddress}
|
||||
/>
|
||||
<FieldGroup
|
||||
id="address"
|
||||
name="address"
|
||||
type="text"
|
||||
label="Address domain resolves to"
|
||||
label="Address domain resolves to (optional)"
|
||||
onChange={handleChange}
|
||||
onBlur={handleBlur}
|
||||
value={values.address}
|
||||
@ -78,20 +88,21 @@ const RegisterSubDomain = withFormik({
|
||||
if (address && !web3.utils.isAddress(address)) errors.address = 'Not a valid address';
|
||||
if (!subDomain) errors.subDomain = 'Required';
|
||||
return errors;
|
||||
},
|
||||
},
|
||||
handleSubmit(values, { setSubmitting }) {
|
||||
const { subDomain, domainName, address } = values;
|
||||
const { subDomain, domainName, address, statusAddress } = values;
|
||||
const { methods: { register } } = ENSSubdomainRegistry;
|
||||
let subdomainHash = soliditySha3(subDomain);
|
||||
let domainNameHash = hash(domainName);
|
||||
let resolveToAddr = address || zeroAddress;
|
||||
|
||||
let toSend = register(
|
||||
const subdomainHash = soliditySha3(subDomain);
|
||||
const domainNameHash = hash(domainName);
|
||||
const resolveToAddr = address || zeroAddress;
|
||||
|
||||
const toSend = register(
|
||||
subdomainHash,
|
||||
domainNameHash,
|
||||
resolveToAddr,
|
||||
zeroBytes32,
|
||||
zeroBytes32
|
||||
zeroBytes32,
|
||||
statusAddress || zeroBytes32
|
||||
);
|
||||
toSend.estimateGas().then(gasEstimated => {
|
||||
console.log("Register would work. :D Gas estimated: "+gasEstimated)
|
||||
|
Loading…
x
Reference in New Issue
Block a user