deth
Version:
Ethereum node focused on Developer Experience
26 lines (25 loc) • 873 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const common_1 = require("./common");
const ethereumjs_util_1 = require("ethereumjs-util");
function makeAddress(value) {
if (!common_1.HEX_REGEX.test(value) || value.length !== 42) {
throw new TypeError(`Value "${value}" is not a valid address`);
}
return value.toLowerCase();
}
exports.makeAddress = makeAddress;
function bufferToAddress(buffer) {
return makeAddress(ethereumjs_util_1.bufferToHex(buffer));
}
exports.bufferToAddress = bufferToAddress;
function bufferToMaybeAddress(buffer) {
return buffer && buffer.length > 0
? bufferToAddress(buffer)
: undefined;
}
exports.bufferToMaybeAddress = bufferToMaybeAddress;
function bnToAddress(address) {
return makeAddress('0x' + address.toString('hex', 40));
}
exports.bnToAddress = bnToAddress;