deth
Version:
Ethereum node focused on Developer Experience
20 lines (19 loc) • 624 B
JavaScript
import { HEX_REGEX } from './common';
import { bufferToHex } from 'ethereumjs-util';
export function makeAddress(value) {
if (!HEX_REGEX.test(value) || value.length !== 42) {
throw new TypeError(`Value "${value}" is not a valid address`);
}
return value.toLowerCase();
}
export function bufferToAddress(buffer) {
return makeAddress(bufferToHex(buffer));
}
export function bufferToMaybeAddress(buffer) {
return buffer && buffer.length > 0
? bufferToAddress(buffer)
: undefined;
}
export function bnToAddress(address) {
return makeAddress('0x' + address.toString('hex', 40));
}