mirror of https://github.com/embarklabs/embark.git
starting to create registration and some changes to the deployment
Signed-off-by: VoR0220 <catalanor0220@gmail.com>
This commit is contained in:
parent
0308a65301
commit
300b2326ab
|
@ -376,12 +376,14 @@ EmbarkJS.Names.lookup = function (identifier) {
|
||||||
|
|
||||||
// To Implement
|
// To Implement
|
||||||
|
|
||||||
/*
|
|
||||||
// register a name
|
// register a name
|
||||||
EmbarkJS.Names.register = function(name, options) {
|
EmbarkJS.Names.register = function(name, options) {
|
||||||
|
if (!this.currentNameSystems) {
|
||||||
|
throw new Error('Name system provider not set; e.g EmbarkJS.Names.setProvider("ens")');
|
||||||
|
}
|
||||||
|
return this.currentNameSystems.register(name, options);
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
|
|
||||||
EmbarkJS.Utils = {
|
EmbarkJS.Utils = {
|
||||||
fromAscii: function (str) {
|
fromAscii: function (str) {
|
||||||
|
|
|
@ -183,7 +183,7 @@ __embarkENS.setProvider = function () {
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
__embarkENS.resolve = function(name) {
|
__embarkENS.resolve = function (name) {
|
||||||
const self = this;
|
const self = this;
|
||||||
|
|
||||||
if (self.ens === undefined) return;
|
if (self.ens === undefined) return;
|
||||||
|
@ -198,7 +198,7 @@ __embarkENS.resolve = function(name) {
|
||||||
}).catch(err => err);
|
}).catch(err => err);
|
||||||
};
|
};
|
||||||
|
|
||||||
__embarkENS.lookup = function(address) {
|
__embarkENS.lookup = function (address) {
|
||||||
const self = this;
|
const self = this;
|
||||||
|
|
||||||
if (self.ens === undefined) return;
|
if (self.ens === undefined) return;
|
||||||
|
@ -211,7 +211,33 @@ __embarkENS.lookup = function(address) {
|
||||||
let resolverContract = new EmbarkJS.Contract({abi: self.resolverInterface, address: resolverAddress});
|
let resolverContract = new EmbarkJS.Contract({abi: self.resolverInterface, address: resolverAddress});
|
||||||
return resolverContract.methods.name(node).call();
|
return resolverContract.methods.name(node).call();
|
||||||
}).then((name) => {
|
}).then((name) => {
|
||||||
if (name === "" || name === undefined) throw Error("ENS name not found");
|
if (name === "" || name === undefined) {
|
||||||
|
console.warn("ENS name not found");
|
||||||
|
return;
|
||||||
|
}
|
||||||
return name;
|
return name;
|
||||||
}).catch(err => err);
|
}).catch(err => err);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
__embarkENS.register = function (name, options) {
|
||||||
|
const self = this;
|
||||||
|
|
||||||
|
if (self.ens === undefined) return;
|
||||||
|
|
||||||
|
if (options.livenet) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
let node = namehash.hash(name);
|
||||||
|
|
||||||
|
return self.ens.methods.owner(node).call().then((owner) => {
|
||||||
|
if (owner !== "0x" || owner !== undefined) {
|
||||||
|
console.warn("name has already been claimed, see owner: ", owner);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
return self.ens.methods.setSubnodeOwner(node, );
|
||||||
|
}).then((addr) => {
|
||||||
|
|
||||||
|
return addr;
|
||||||
|
}).catch(err => err);
|
||||||
|
}
|
||||||
|
|
|
@ -4,6 +4,7 @@ const utils = require('../../utils/utils.js');
|
||||||
|
|
||||||
class ENS {
|
class ENS {
|
||||||
constructor(embark, _options) {
|
constructor(embark, _options) {
|
||||||
|
const self = this;
|
||||||
this.logger = embark.logger;
|
this.logger = embark.logger;
|
||||||
this.events = embark.events;
|
this.events = embark.events;
|
||||||
this.namesConfig = embark.config.namesystemConfig;
|
this.namesConfig = embark.config.namesystemConfig;
|
||||||
|
@ -12,7 +13,12 @@ class ENS {
|
||||||
this.ensResolver = null;
|
this.ensResolver = null;
|
||||||
|
|
||||||
this.addENSToEmbarkJS();
|
this.addENSToEmbarkJS();
|
||||||
this.addSetProvider();
|
this.configureENSRegistry((abi, addr) => {
|
||||||
|
self.addSetProvider({
|
||||||
|
abi: abi,
|
||||||
|
address: addr
|
||||||
|
});
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
addENSToEmbarkJS() {
|
addENSToEmbarkJS() {
|
||||||
|
@ -43,7 +49,7 @@ class ENS {
|
||||||
this.embark.addCodeToEmbarkJS(code);
|
this.embark.addCodeToEmbarkJS(code);
|
||||||
}
|
}
|
||||||
|
|
||||||
configureENSRegistry() {
|
configureENSRegistry(cb) {
|
||||||
const self = this;
|
const self = this;
|
||||||
self.embark.addContractFile('./contracts/ENSRegistry.sol');
|
self.embark.addContractFile('./contracts/ENSRegistry.sol');
|
||||||
self.embark.registerContractConfiguration({
|
self.embark.registerContractConfiguration({
|
||||||
|
@ -69,18 +75,14 @@ class ENS {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
self.events.on("deploy:contract:deployed", (contract) => {
|
self.events.on("contracts:deploy:afterAll", (contract) => {
|
||||||
if (contract.className === "ENSRegistry") {
|
if (contract.className === "ENSRegistry") {
|
||||||
return web3.eth.Contract(contract.abiDefinition, contract.address);
|
cb(contract.abiDefinition, contract.address);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
addSetProvider() {
|
addSetProvider(config) {
|
||||||
const self = this;
|
|
||||||
|
|
||||||
let config = JSON.stringify(self.configureENSRegistry());
|
|
||||||
|
|
||||||
let code = "\nEmbarkJS.Names.setProvider('ens'," + config + ");";
|
let code = "\nEmbarkJS.Names.setProvider('ens'," + config + ");";
|
||||||
|
|
||||||
let shouldInit = (namesConfig) => {
|
let shouldInit = (namesConfig) => {
|
||||||
|
|
Loading…
Reference in New Issue