@etherspot/prime-sdk
Version:
Etherspot Prime (Account Abstraction) SDK
34 lines (33 loc) • 919 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.toHex = void 0;
const ethers_1 = require("ethers");
const is_hex_1 = require("./is-hex");
function toHex(data) {
let result = null;
if (data !== null) {
switch (typeof data) {
case 'string':
if ((0, is_hex_1.isHex)(data)) {
result = data;
}
else {
result = ethers_1.utils.hexlify(ethers_1.utils.toUtf8Bytes(data));
}
break;
case 'object':
try {
result = ethers_1.utils.hexlify(data);
}
catch (err) {
result = null;
}
break;
}
}
if (!result) {
throw new Error('invalid hex data');
}
return result;
}
exports.toHex = toHex;