Skip to content

Commit 02f67a2

Browse files
committed
remove pks_validate from fastAggregateVerifY
1 parent c35e335 commit 02f67a2

3 files changed

Lines changed: 9 additions & 11 deletions

File tree

bindings/napi/blst.zig

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -287,15 +287,13 @@ pub fn Signature_validate(env: napi.Env, cb: napi.CallbackInfo(1)) !napi.Value {
287287
/// 2) pks: PublicKey[]
288288
/// 3) sig: Signature
289289
/// 4) sig_groupcheck: bool
290-
/// 5) pks_validate: bool
291-
pub fn blst_fastAggregateVerify(env: napi.Env, cb: napi.CallbackInfo(5)) !napi.Value {
290+
pub fn blst_fastAggregateVerify(env: napi.Env, cb: napi.CallbackInfo(4)) !napi.Value {
292291
const msg_info = try cb.arg(0).getTypedarrayInfo();
293292
if (msg_info.data.len != 32) return error.InvalidMessageLength;
294293

295294
const pks_array = cb.arg(1);
296295
const sig = try env.unwrap(Signature, cb.arg(2));
297-
const pks_validate = try cb.arg(3).getValueBool();
298-
const sig_groupcheck = try cb.arg(4).getValueBool();
296+
const sig_groupcheck = try cb.arg(3).getValueBool();
299297

300298
const pks_len = try pks_array.getArrayLength();
301299
if (pks_len == 0) {
@@ -312,7 +310,8 @@ pub fn blst_fastAggregateVerify(env: napi.Env, cb: napi.CallbackInfo(5)) !napi.V
312310
}
313311

314312
var pairing_buf: [Pairing.sizeOf()]u8 = undefined;
315-
const result = sig.fastAggregateVerify(sig_groupcheck, &pairing_buf, msg_info.data[0..32], DST, pks, pks_validate) catch {
313+
// `pks_validate` is always false here since we assume proof of possession for public keys.
314+
const result = sig.fastAggregateVerify(sig_groupcheck, &pairing_buf, msg_info.data[0..32], DST, pks, false) catch {
316315
return try env.getBoolean(false);
317316
};
318317

@@ -565,7 +564,7 @@ pub fn register(env: napi.Env, exports: napi.Value) !void {
565564
try blst_obj.setNamedProperty("Signature", sig_ctor);
566565

567566
try blst_obj.setNamedProperty("verify", try env.createFunction("verify", 5, blst_verify, null));
568-
try blst_obj.setNamedProperty("fastAggregateVerify", try env.createFunction("fastAggregateVerify", 5, blst_fastAggregateVerify, null));
567+
try blst_obj.setNamedProperty("fastAggregateVerify", try env.createFunction("fastAggregateVerify", 4, blst_fastAggregateVerify, null));
569568
try blst_obj.setNamedProperty("verifyMultipleAggregateSignatures", try env.createFunction("verifyMultipleAggregateSignatures", 3, blst_verifyMultipleAggregateSignatures, null));
570569
try blst_obj.setNamedProperty("aggregateSignatures", try env.createFunction("aggregateSignatures", 2, blst_aggregateSignatures, null));
571570
try blst_obj.setNamedProperty("aggregatePublicKeys", try env.createFunction("aggregatePublicKeys", 1, blst_aggregatePublicKeys, null));

bindings/src/index.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,6 @@ interface Blst {
245245
msg: Uint8Array,
246246
pks: PublicKey[],
247247
sig: Signature,
248-
pksValidate: boolean,
249248
sigGroupcheck: boolean
250249
): boolean;
251250
verifyMultipleAggregateSignatures(sets: SignatureSet[], sigsGroupcheck: boolean, pksValidate: boolean): boolean;

bindings/test/blst.test.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -196,28 +196,28 @@ describe("blst", () => {
196196
it("should verify with single pubkey", () => {
197197
const pk = PublicKey.fromBytes(TEST_VECTORS.publicKey.compressed);
198198
const sig = Signature.fromBytes(TEST_VECTORS.signature.compressed);
199-
const result = bindings.blst.fastAggregateVerify(TEST_VECTORS.message, [pk], sig, false, false);
199+
const result = bindings.blst.fastAggregateVerify(TEST_VECTORS.message, [pk], sig, false);
200200
expect(result).toBe(true);
201201
});
202202

203203
it("should return false for empty pubkeys", () => {
204204
const sig = Signature.fromBytes(TEST_VECTORS.signature.compressed);
205-
const result = bindings.blst.fastAggregateVerify(TEST_VECTORS.message, [], sig, false, false);
205+
const result = bindings.blst.fastAggregateVerify(TEST_VECTORS.message, [], sig, false);
206206
expect(result).toBe(false);
207207
});
208208

209209
it("should reject wrong message", () => {
210210
const pk = PublicKey.fromBytes(TEST_VECTORS.publicKey.compressed);
211211
const sig = Signature.fromBytes(TEST_VECTORS.signature.compressed);
212212
const wrongMessage = new Uint8Array(32).fill(0);
213-
const result = bindings.blst.fastAggregateVerify(wrongMessage, [pk], sig, true, false);
213+
const result = bindings.blst.fastAggregateVerify(wrongMessage, [pk], sig, false);
214214
expect(result).toBe(false);
215215
});
216216

217217
it("should throw on wrong message length", () => {
218218
const pk = PublicKey.fromBytes(TEST_VECTORS.publicKey.compressed);
219219
const sig = Signature.fromBytes(TEST_VECTORS.signature.compressed);
220-
expect(() => bindings.blst.fastAggregateVerify(new Uint8Array(31), [pk], sig, false, false)).toThrow();
220+
expect(() => bindings.blst.fastAggregateVerify(new Uint8Array(31), [pk], sig, false)).toThrow();
221221
});
222222
});
223223

0 commit comments

Comments
 (0)