@xpla/xpla
Version:
<p align="center"> <img src="https://user-images.githubusercontent.com/545047/188804067-28e67e5e-0214-4449-ab04-2e0c564a6885.svg" width="80"> </p>
23 lines (22 loc) • 818 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.EthAccount = void 0;
const account_1 = require("@interchainjs/types/account");
const utils_1 = require("@interchainjs/utils");
const sha3_1 = require("@noble/hashes/sha3");
/**
* Account for ethermint chain.
*/
class EthAccount extends account_1.AccountBase {
/**
* Create eth address by pubkey.
*/
getAddressByPubKey() {
const uncompressedPubKey = this.auth.getPublicKey(false);
const pubkeyHex = uncompressedPubKey.toHex().substring(2);
const pubkeyHexKey = utils_1.Key.fromHex(pubkeyHex);
const addressBytes = (0, sha3_1.keccak_256)(pubkeyHexKey.value).subarray(-20);
return utils_1.Key.from(addressBytes).toBech32(this.prefix);
}
}
exports.EthAccount = EthAccount;