@1hive/connect-core
Version:
Access and interact with Aragon Organizations and their apps.
32 lines • 1.36 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.resolveAddress = exports.includesAddress = exports.addressesEqual = exports.ANY_ENTITY = void 0;
const address_1 = require("@ethersproject/address");
const errors_1 = require("../errors");
exports.ANY_ENTITY = '0xFFfFfFffFFfffFFfFFfFFFFFffFFFffffFfFFFfF';
// Check address equality without checksums
function addressesEqual(first, second) {
first = first && first.toLowerCase();
second = second && second.toLowerCase();
return first === second;
}
exports.addressesEqual = addressesEqual;
// "Safer" version of [].includes() for addresses
function includesAddress(arr, address) {
return arr.some((a) => addressesEqual(a, address));
}
exports.includesAddress = includesAddress;
async function resolveAddress(ethersProvider, location) {
const isLocationAddress = address_1.isAddress(location);
const address = isLocationAddress
? location
: await ethersProvider.resolveName(location);
if (address && address_1.isAddress(address)) {
return address;
}
throw new errors_1.ErrorInvalidLocation(isLocationAddress
? `The address (${address}) is not valid.`
: `The ENS domain (${location}) doesn’t seem to resolve to an address.`);
}
exports.resolveAddress = resolveAddress;
//# sourceMappingURL=address.js.map