zkverifyjs
Version:
Submit proofs to zkVerify and query proof state with ease using our npm package.
30 lines • 776 B
JavaScript
export class BatchVerificationBuilder {
constructor(batchExecuteVerify, proofOptions, accountAddress) {
this.batchExecuteVerify = batchExecuteVerify;
this.nonceSet = false;
this.registeredVkSet = false;
this.options = {
proofOptions,
accountAddress
};
}
nonce(nonce) {
if (this.nonceSet) {
throw new Error('Nonce can only be set once.');
}
this.nonceSet = true;
this.options.nonce = nonce;
return this;
}
withRegisteredVk() {
if (this.registeredVkSet) {
throw new Error('withRegisteredVk can only be set once.');
}
this.registeredVkSet = true;
this.options.registeredVk = true;
return this;
}
async execute(input) {
return this.batchExecuteVerify(this.options, input);
}
}