Fix lint errors

This commit is contained in:
dapplion 2020-11-20 12:27:30 +00:00
parent 1e92f6311b
commit c354386dab
7 changed files with 25 additions and 22 deletions

View File

@ -8,10 +8,10 @@ export * from "../constants";
export {Keypair, PrivateKey, PublicKey, Signature}; export {Keypair, PrivateKey, PublicKey, Signature};
export async function initBLS() { export async function initBLS(): Promise<void> {
// Native bindings require no init() call // Native bindings require no init() call
} }
export function destroy() { export function destroy(): void {
// Native bindings require no destroy() call // Native bindings require no destroy() call
} }

View File

@ -42,6 +42,14 @@ export class Signature {
); );
} }
toBytes(): Buffer {
return Buffer.from(this.affine.toBytes());
}
toHex(): string {
return bytesToHex(this.toBytes());
}
private aggregateVerify(msgs: Uint8Array[], pks: blst.PublicKey[]): boolean { private aggregateVerify(msgs: Uint8Array[], pks: blst.PublicKey[]): boolean {
// If this set is simply an infinity signature and infinity pubkey then skip verification. // If this set is simply an infinity signature and infinity pubkey then skip verification.
// This has the effect of always declaring that this sig/pubkey combination is valid. // This has the effect of always declaring that this sig/pubkey combination is valid.
@ -52,12 +60,4 @@ export class Signature {
return blst.aggregateVerify(msgs, pks, this.affine); return blst.aggregateVerify(msgs, pks, this.affine);
} }
toBytes(): Buffer {
return Buffer.from(this.affine.toBytes());
}
toHex(): string {
return bytesToHex(this.toBytes());
}
} }

View File

@ -3,7 +3,6 @@ import {PrivateKey} from "./privateKey";
import {PublicKey} from "./publicKey"; import {PublicKey} from "./publicKey";
import {Signature} from "./signature"; import {Signature} from "./signature";
import {initBLS, destroy} from "./context"; import {initBLS, destroy} from "./context";
import {PUBLIC_KEY_LENGTH} from "../constants";
import assert from "assert"; import assert from "assert";
import {toBuffer} from "../helpers/utils"; import {toBuffer} from "../helpers/utils";

View File

@ -8,7 +8,7 @@ export function runBenchmark<T, R>({
testRunner: (input: T) => R; testRunner: (input: T) => R;
runs?: number; runs?: number;
id: string; id: string;
}) { }): void {
const diffsNanoSec: bigint[] = []; const diffsNanoSec: bigint[] = [];
for (let i = 0; i < runs; i++) { for (let i = 0; i < runs; i++) {

View File

@ -4,6 +4,7 @@ import herumi from "../src/herumi";
export type Implementation = "blst" | "herumi"; export type Implementation = "blst" | "herumi";
export const implementations: Implementation[] = ["blst", "herumi"]; export const implementations: Implementation[] = ["blst", "herumi"];
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
export function getBls(implementation: Implementation) { export function getBls(implementation: Implementation) {
switch (implementation) { switch (implementation) {
case "blst": case "blst":

View File

@ -1,16 +1,9 @@
import {expect} from "chai"; import {expect} from "chai";
import {forEachImplementation} from "../switch"; import {forEachImplementation} from "../switch";
import {getRandomBytes} from "../../src/helpers/utils"; import {getN, randomMessage} from "../util";
function randomMessage(): Uint8Array {
return getRandomBytes(32);
}
function getN<T>(n: number, getter: () => T): T[] {
return Array.from({length: n}, () => getter());
}
forEachImplementation((bls) => { forEachImplementation((bls) => {
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
function getRandomData() { function getRandomData() {
const sk = bls.PrivateKey.fromKeygen(); const sk = bls.PrivateKey.fromKeygen();
const pk = sk.toPublicKey(); const pk = sk.toPublicKey();
@ -53,7 +46,7 @@ forEachImplementation((bls) => {
}); });
describe("verify multiple", () => { describe("verify multiple", () => {
it(`should verify aggregated signatures`, () => { it("should verify aggregated signatures", () => {
const sks = getN(4, () => bls.PrivateKey.fromKeygen()); const sks = getN(4, () => bls.PrivateKey.fromKeygen());
const msgs = getN(2, () => randomMessage()); const msgs = getN(2, () => randomMessage());
const pks = sks.map((sk) => sk.toPublicKey()); const pks = sks.map((sk) => sk.toPublicKey());

View File

@ -1,3 +1,5 @@
import {getRandomBytes} from "../src/helpers/utils";
export function fromHexString(hex: string): Buffer { export function fromHexString(hex: string): Buffer {
return Buffer.from(hex.replace("0x", ""), "hex"); return Buffer.from(hex.replace("0x", ""), "hex");
} }
@ -5,3 +7,11 @@ export function fromHexString(hex: string): Buffer {
export function toHexString(bytes: Buffer | Uint8Array): string { export function toHexString(bytes: Buffer | Uint8Array): string {
return `0x${Buffer.from(bytes).toString("hex")}`; return `0x${Buffer.from(bytes).toString("hex")}`;
} }
export function randomMessage(): Uint8Array {
return getRandomBytes(32);
}
export function getN<T>(n: number, getter: () => T): T[] {
return Array.from({length: n}, () => getter());
}