@etherspot/prime-sdk
Version:
Etherspot Prime (Account Abstraction) SDK
30 lines (29 loc) • 1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.keccak256 = void 0;
const ethers_1 = require("ethers");
const is_address_1 = require("./is-address");
const is_hex_1 = require("./is-hex");
function keccak256(data) {
let result = null;
if (data) {
switch (typeof data) {
case 'string':
if ((0, is_address_1.isAddress)(data)) {
result = ethers_1.utils.solidityKeccak256(['address'], [data]);
}
else if ((0, is_hex_1.isHex)(data)) {
result = ethers_1.utils.solidityKeccak256(['bytes'], [data]);
}
else {
result = ethers_1.utils.solidityKeccak256(['string'], [data]);
}
break;
case 'object':
result = ethers_1.utils.solidityKeccak256(['bytes'], [data]);
break;
}
}
return result;
}
exports.keccak256 = keccak256;