@reclaimprotocol/attestor-core
Version:
<div> <div> <img src="https://raw.githubusercontent.com/reclaimprotocol/.github/main/assets/banners/Attestor-Core.png" /> </div> </div>
33 lines • 2.68 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.ETH_SIGNATURE_PROVIDER = void 0;
const ethers_1 = require("ethers");
const utils_1 = require("ethers/lib/utils");
exports.ETH_SIGNATURE_PROVIDER = {
getPublicKey(privateKey) {
const pub = (0, utils_1.computePublicKey)(privateKey, true);
return ethers_1.utils.arrayify(pub);
},
getAddress(publicKey) {
return (0, utils_1.computeAddress)(publicKey).toLowerCase();
},
async sign(data, privateKey) {
const wallet = getEthWallet(privateKey);
const signature = await wallet.signMessage(data);
return ethers_1.utils.arrayify(signature);
},
async verify(data, signature, addressBytes) {
const address = typeof addressBytes === 'string'
? addressBytes
: ethers_1.utils.hexlify(addressBytes);
const signerAddress = ethers_1.utils.verifyMessage(data, signature);
return signerAddress.toLowerCase() === address.toLowerCase();
}
};
function getEthWallet(privateKey) {
if (!privateKey) {
throw new Error('Private key missing');
}
return new ethers_1.Wallet(privateKey);
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXRoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL3NpZ25hdHVyZXMvZXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUFzQztBQUN0Qyw0Q0FBbUU7QUFHdEQsUUFBQSxzQkFBc0IsR0FBNkI7SUFDL0QsWUFBWSxDQUFDLFVBQVU7UUFDdEIsTUFBTSxHQUFHLEdBQUcsSUFBQSx3QkFBZ0IsRUFBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFDOUMsT0FBTyxjQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQzNCLENBQUM7SUFDRCxVQUFVLENBQUMsU0FBUztRQUNuQixPQUFPLElBQUEsc0JBQWMsRUFBQyxTQUFTLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtJQUMvQyxDQUFDO0lBQ0QsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsVUFBVTtRQUMxQixNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDdkMsTUFBTSxTQUFTLEdBQUcsTUFBTSxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ2hELE9BQU8sY0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUNqQyxDQUFDO0lBQ0QsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLFlBQVk7UUFDekMsTUFBTSxPQUFPLEdBQUcsT0FBTyxZQUFZLEtBQUssUUFBUTtZQUMvQyxDQUFDLENBQUMsWUFBWTtZQUNkLENBQUMsQ0FBQyxjQUFLLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBQzlCLE1BQU0sYUFBYSxHQUFHLGNBQUssQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFBO1FBQzFELE9BQU8sYUFBYSxDQUFDLFdBQVcsRUFBRSxLQUFLLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQTtJQUM3RCxDQUFDO0NBQ0QsQ0FBQTtBQUVELFNBQVMsWUFBWSxDQUFDLFVBQWtCO0lBQ3ZDLElBQUcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUE7SUFDdkMsQ0FBQztJQUVELE9BQU8sSUFBSSxlQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7QUFDOUIsQ0FBQyJ9
;