UNPKG

@zkp2p/reclaim-witness-sdk

Version:

<div> <div> <img src="https://raw.githubusercontent.com/reclaimprotocol/.github/main/assets/banners/Attestor-Core.png" /> </div> </div>

85 lines 6.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ALL_ENC_ALGORITHMS = void 0; exports.makeWindowRpcZkOperator = makeWindowRpcZkOperator; exports.makeWindowRpcOprfOperator = makeWindowRpcOprfOperator; const utils_1 = require("../utils"); const utils_2 = require("../window-rpc/utils"); exports.ALL_ENC_ALGORITHMS = [ 'aes-256-ctr', 'aes-128-ctr', 'chacha20', ]; /** * The goal of this RPC operator is if the attestor client * is running in a WebView, it can call the native * application to perform the ZK operations */ function makeWindowRpcZkOperator(algorithm, bridge, zkEngine = 'snarkjs') { return { async generateWitness(input) { const operator = await (0, utils_1.makeDefaultZkOperator)(algorithm, zkEngine, utils_1.logger); return operator.generateWitness(input); }, groth16Prove(input) { return callFn({ fn: 'groth16Prove', args: [input] }); }, groth16Verify(publicSignals, proof) { return callFn({ fn: 'groth16Verify', args: [publicSignals, proof] }); }, }; function callFn(opts) { const id = (0, utils_2.generateRpcRequestId)(); const waitForRes = (0, utils_2.waitForResponse)('executeZkFunctionV3', id, bridge); bridge.send({ type: 'executeZkFunctionV3', id, request: opts, module: 'attestor-core' }); return waitForRes; } } /** * The goal of this RPC operator is if the attestor client * is running in a WebView, it can call the native * application to perform the OPRF operations */ function makeWindowRpcOprfOperator(algorithm, bridge, zkEngine = 'snarkjs') { return { async generateWitness(input) { const operator = await (0, utils_1.makeDefaultZkOperator)(algorithm, zkEngine, utils_1.logger); return operator.generateWitness(input); }, groth16Prove(input) { return callFn({ fn: 'groth16Prove', args: [input] }); }, groth16Verify(publicSignals, proof) { return callFn({ fn: 'groth16Verify', args: [publicSignals, proof] }); }, generateThresholdKeys(total, threshold) { return callFn({ fn: 'generateThresholdKeys', args: [total, threshold] }); }, generateOPRFRequestData(data, domainSeparator) { return callFn({ fn: 'generateOPRFRequestData', args: [data, domainSeparator] }); }, finaliseOPRF(serverPublicKey, request, responses) { return callFn({ fn: 'finaliseOPRF', args: [serverPublicKey, request, responses] }); }, evaluateOPRF(serverPrivateKey, request) { return callFn({ fn: 'evaluateOPRF', args: [serverPrivateKey, request] }); }, }; function callFn(opts) { const id = (0, utils_2.generateRpcRequestId)(); const waitForRes = (0, utils_2.waitForResponse)('executeOprfFunctionV3', id, bridge); bridge.send({ type: 'executeOprfFunctionV3', id, request: opts, module: 'attestor-core' }); return waitForRes; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luZG93LXJwYy16ay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aW5kb3ctcnBjL3dpbmRvdy1ycGMtemsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBZ0JBLDBEQWlDQztBQVFELDhEQTZDQztBQXJHRCxxQ0FBeUQ7QUFFekQsZ0RBQTRFO0FBRS9ELFFBQUEsa0JBQWtCLEdBQTBCO0lBQ3hELGFBQWE7SUFDYixhQUFhO0lBQ2IsVUFBVTtDQUNWLENBQUE7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0IsdUJBQXVCLENBQ3RDLFNBQThCLEVBQzlCLE1BQTJCLEVBQzNCLFdBQXFCLFNBQVM7SUFFOUIsT0FBTztRQUNOLEtBQUssQ0FBQyxlQUFlLENBQUMsS0FBSztZQUMxQixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUEsNkJBQXFCLEVBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxjQUFNLENBQUMsQ0FBQTtZQUN6RSxPQUFPLFFBQVEsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDdkMsQ0FBQztRQUNELFlBQVksQ0FBQyxLQUFLO1lBQ2pCLE9BQU8sTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUE7UUFDckQsQ0FBQztRQUNELGFBQWEsQ0FBQyxhQUFhLEVBQUUsS0FBSztZQUNqQyxPQUFPLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUNyRSxDQUFDO0tBQ0QsQ0FBQTtJQUVELFNBQVMsTUFBTSxDQUFDLElBQW1CO1FBQ2xDLE1BQU0sRUFBRSxHQUFHLElBQUEsNEJBQW9CLEdBQUUsQ0FBQTtRQUNqQyxNQUFNLFVBQVUsR0FBRyxJQUFBLHVCQUFlLEVBQ2pDLHFCQUFxQixFQUFFLEVBQUUsRUFBRSxNQUFNLENBQ2pD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