@ledgerhq/coin-casper
Version:
Ledger Casper integration
26 lines • 1.16 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.casperAddressFromPubKey = exports.casperAccountHashFromPublicKey = exports.isAddressValid = exports.getAddress = void 0;
const casper_js_sdk_1 = require("casper-js-sdk");
const getAddress = (a) => ({ address: a.freshAddress, derivationPath: a.freshAddressPath });
exports.getAddress = getAddress;
function isAddressValid(pubKey) {
const checksummed = pubKey.toLowerCase() !== pubKey && pubKey.toUpperCase() !== pubKey;
try {
casper_js_sdk_1.PublicKey.fromHex(pubKey, checksummed).accountHash().toHex();
return true;
}
catch (err) {
return false;
}
}
exports.isAddressValid = isAddressValid;
function casperAccountHashFromPublicKey(pubKey) {
return casper_js_sdk_1.PublicKey.fromHex(pubKey).accountHash().toHex();
}
exports.casperAccountHashFromPublicKey = casperAccountHashFromPublicKey;
function casperAddressFromPubKey(pubkey, keySig) {
return `${keySig.toString().padStart(2, "0")}${Buffer.from(pubkey).toString("hex")}`;
}
exports.casperAddressFromPubKey = casperAddressFromPubKey;
//# sourceMappingURL=addresses.js.map