@zkp2p/reclaim-witness-sdk
Version:
<div> <div> <img src="https://raw.githubusercontent.com/reclaimprotocol/.github/main/assets/banners/Attestor-Core.png" /> </div> </div>
102 lines • 6.83 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.getCurrentMemoryUsage = getCurrentMemoryUsage;
exports.generateRpcRequestId = generateRpcRequestId;
exports.getWsApiUrlFromLocation = getWsApiUrlFromLocation;
exports.mapToCreateClaimResponse = mapToCreateClaimResponse;
exports.waitForResponse = waitForResponse;
const ethers_1 = require("ethers");
const config_1 = require("../config");
const utils_1 = require("../utils");
// track memory usage
async function getCurrentMemoryUsage() {
if (!window.crossOriginIsolated) {
return {
available: false,
content: 'N/A (page not cross-origin-isolated)'
};
}
else if (!performance.measureUserAgentSpecificMemory) {
return {
available: false,
content: 'N/A (performance.measureUserAgentSpecificMemory() is not available)',
};
}
else {
try {
const result = performance.measureUserAgentSpecificMemory();
const totalmb = Math.round(result.bytes / 1024 / 1024);
return {
available: true,
content: `${totalmb}mb`,
};
}
catch (error) {
if (error instanceof DOMException && error.name === 'SecurityError') {
return {
available: false,
content: `N/A (${error.message})`,
};
}
throw error;
}
}
}
function generateRpcRequestId() {
return Math.random().toString(36).slice(2);
}
/**
* The window RPC will be served from the same origin as the API server.
* so we can get the API server's origin from the location.
*/
function getWsApiUrlFromLocation() {
const { host, protocol } = location;
const wsProtocol = protocol === 'https:' ? 'wss:' : 'ws:';
return `${wsProtocol}//${host}${config_1.WS_PATHNAME}`;
}
function mapToCreateClaimResponse(res) {
if (!res.claim) {
throw utils_1.AttestorError.fromProto(res.error);
}
return {
identifier: (0, utils_1.getIdentifierFromClaimInfo)(res.claim),
claimData: res.claim,
witnesses: [
{
id: res.signatures.attestorAddress,
url: getWsApiUrlFromLocation()
}
],
signatures: [
ethers_1.ethers.utils
.hexlify(res.signatures.claimSignature)
.toLowerCase()
]
};
}
function waitForResponse(type, requestId, bridge, timeoutMs = 60000) {
const returnType = `${type}Done`;
return new Promise((resolve, reject) => {
const timeout = setTimeout(() => {
reject(new utils_1.AttestorError('ERROR_INTERNAL', `Timeout waiting for response: ${type}`, { requestId }));
cancel();
}, timeoutMs);
const cancel = bridge.onMessage(msg => {
if (msg.id !== requestId) {
return;
}
if (msg.type === 'error') {
reject(new Error(msg.data.message));
}
else if (msg.type === returnType) {
resolve(msg.response);
}
else {
return;
}
clearTimeout(timeout);
cancel();
});
});
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2luZG93LXJwYy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQU9BLHNEQStCQztBQUVELG9EQUVDO0FBTUQsMERBSUM7QUFFRCw0REFzQkM7QUFFRCwwQ0FxQ0M7QUFuSEQsbUNBQStCO0FBQy9CLHVDQUF3QztBQUV4QyxxQ0FBcUU7QUFHckUscUJBQXFCO0FBQ2QsS0FBSyxVQUFVLHFCQUFxQjtJQUMxQyxJQUFHLENBQUMsTUFBTSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDaEMsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLE9BQU8sRUFBRSxzQ0FBc0M7U0FDL0MsQ0FBQTtJQUNGLENBQUM7U0FBTSxJQUFHLENBQUMsV0FBVyxDQUFDLDhCQUE4QixFQUFFLENBQUM7UUFDdkQsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLE9BQU8sRUFBRSxxRUFBcUU7U0FDOUUsQ0FBQTtJQUNGLENBQUM7U0FBTSxDQUFDO1FBQ1AsSUFBSSxDQUFDO1lBQ0osTUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDLDhCQUE4QixFQUFFLENBQUE7WUFDM0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQTtZQUV0RCxPQUFPO2dCQUNOLFNBQVMsRUFBRSxJQUFJO2dCQUNmLE9BQU8sRUFBRSxHQUFHLE9BQU8sSUFBSTthQUN2QixDQUFBO1FBQ0YsQ0FBQztRQUFDLE9BQU0sS0FBSyxFQUFFLENBQUM7WUFDZixJQUFHLEtBQUssWUFBWSxZQUFZLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxlQUFlLEVBQUUsQ0FBQztnQkFDcEUsT0FBTztvQkFDTixTQUFTLEVBQUUsS0FBSztvQkFDaEIsT0FBTyxFQUFFLFFBQVEsS0FBSyxDQUFDLE9BQU8sR0FBRztpQkFDakMsQ0FB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
;