catch errors and handle gracefully in ENS

This commit is contained in:
VoR0220 2018-06-25 12:25:22 -05:00 committed by Iuri Matias
parent 63a85d5af1
commit a05fff3cfe
1 changed files with 17 additions and 2 deletions

View File

@ -14,6 +14,7 @@ __embarkENS.resolverInterface = [
}
],
"name": "addr",
"outputs": [
{
"name": "",
@ -195,7 +196,14 @@ __embarkENS.resolve = function (name) {
return resolverContract.methods.addr(node).call();
}).then((addr) => {
return addr;
}).catch(err => err);
}).catch((err) => {
if (err == 'Couldn\'t decode addr from ABI: 0x') {
console.log(name + " is not registered");
return "0x";
} else {
return err;
}
});
};
__embarkENS.lookup = function (address) {
@ -212,5 +220,12 @@ __embarkENS.lookup = function (address) {
return self.ens.methods.resolver(node).call().then((resolverAddress) => {
let resolverContract = new EmbarkJS.Contract({abi: self.resolverInterface, address: resolverAddress});
return resolverContract.methods.name(node).call();
}).catch(err => err);
}).catch((err) => {
if (err == 'ERROR: The returned value is not a convertible string: 0x0') {
console.log('Address does not resolve to name. Try syncing chain.');
return "";
} else {
return err;
}
});
};