pre-dploy using the same function as register

This commit is contained in:
Jonathan Rainville 2018-07-25 13:57:03 -04:00 committed by Iuri Matias
parent 3ada1b33f0
commit 21980a0fe5

View File

@ -191,27 +191,44 @@ class ENS {
registerConfigDomains(config, cb) {
const self = this;
const register = require('./register');
self.events.request("blockchain:defaultAccount:get", (defaultAccount) => {
self.events.request("blockchain:contract:create",
{abi: config.registrarAbi, address: config.registrarAddress},
(registrar) => {
async.each(Object.keys(self.registration.subdomains), (subDomainName, eachCb) => {
const toSend = registrar.methods.register(utils.soliditySha3(subDomainName), defaultAccount);
toSend.estimateGas().then(gasEstimated => {
return toSend.send({gas: gasEstimated + 1000, from: defaultAccount}).then(transaction => {
if (transaction.status !== "0x1" && transaction.status !== "0x01" && transaction.status !== true) {
return eachCb('Failed to register. Check gas cost.');
}
eachCb(null, transaction);
}).catch(err => {
eachCb('Failed to register with error: ' + (err.message || err));
});
}).catch(err => {
eachCb("Register would error. Is it already registered? Do you have token balance? Is Allowance set? " + (err.message || err));
async.parallel([
function createRegistryContract(paraCb) {
self.events.request("blockchain:contract:create",
{abi: config.registryAbi, address: config.registryAddress},
(registry) => {
paraCb(null, registry);
});
}, cb);
});
},
function createRegistrarContract(paraCb) {
self.events.request("blockchain:contract:create",
{abi: config.registrarAbi, address: config.registrarAddress},
(registrar) => {
paraCb(null, registrar);
});
},
function createResolverContract(paraCb) {
self.events.request("blockchain:contract:create",
{abi: config.resolverAbi, address: config.resolverAddress},
(resolver) => {
paraCb(null, resolver);
});
}
], function (err, contracts) {
if (err) {
return cb(err);
}
const [ens, registrar, resolver] = contracts;
async.each(Object.keys(self.registration.subdomains), (subDomainName, eachCb) => {
const address = self.registration.subdomains[subDomainName];
const reverseNode = utils.soliditySha3(address.toLowerCase().substr(2) + '.addr.reverse');
register(ens, registrar, resolver, defaultAccount, subDomainName, self.registration.rootDomain,
reverseNode, address, self.logger, eachCb);
}, cb);
});
});
}