Merge pull request #570 from embark-framework/ens_metamask_fix

use EmbarkJS to initialize ens contracts and set ens contract only wh…
This commit is contained in:
Iuri Matias 2018-06-21 21:13:45 -04:00 committed by GitHub
commit bdaf141faf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 6 additions and 4 deletions

View File

@ -1,6 +1,6 @@
import namehash from 'eth-ens-namehash';
/*global web3*/
/*global web3, EmbarkJS*/
let __embarkENS = {};
// registry interface for later
@ -258,7 +258,9 @@ __embarkENS.setProvider = function () {
this.ens = null;
web3.eth.net.getId().then(id => {
if (registryAddresses[id] !== undefined) {
self.ens = new web3.eth.Contract(self.registryInterface, registryAddresses[id]);
EmbarkJS.onReady(() => {
self.ens = new EmbarkJS.Contract({abi: self.registryInterface, address: registryAddresses[id]});
});
}
// todo: deploy at this point
}).catch(e => {
@ -278,7 +280,7 @@ __embarkENS.resolve = function(name) {
let node = namehash.hash(name);
return self.ens.methods.resolver(node).call().then((resolverAddress) => {
let resolverContract = new web3.eth.Contract(self.resolverInterface, resolverAddress);
let resolverContract = new EmbarkJS.Contract({abi: self.resolverInterface, address: resolverAddress});
return resolverContract.methods.addr(node).call();
}).then((addr) => {
return addr;
@ -295,7 +297,7 @@ __embarkENS.lookup = function(address) {
let node = namehash.hash(address.toLowerCase() + ".addr.reverse");
return self.ens.methods.resolver(node).call().then((resolverAddress) => {
let resolverContract = new web3.eth.Contract(self.resolverInterface, resolverAddress);
let resolverContract = new EmbarkJS.Contract({abi: self.resolverInterface, address: resolverAddress});
return resolverContract.methods.name(node).call();
}).then((name) => {
if (name === "" || name === undefined) throw Error("ENS name not found");