This repository has been archived on 2023-04-09. You can view files and clone it, but cannot push or open issues or pull requests.
chainsafe-bls/test/unit/keypair.test.ts

35 lines
1.0 KiB
TypeScript
Raw Normal View History

2020-11-04 17:40:36 +00:00
import { PrivateKey, PublicKey, Keypair } from "../../src";
import { expect } from "chai";
import { destroy, init } from "../../src/context";
2019-08-05 15:48:26 +00:00
2020-11-04 17:40:36 +00:00
describe("keypair", function () {
2019-11-27 20:58:41 +00:00
before(async function () {
await init();
});
2019-08-05 15:48:26 +00:00
2019-11-27 20:58:41 +00:00
after(function () {
destroy();
});
it("should create from private and public key", () => {
const secret = PrivateKey.random();
const secret2 = PrivateKey.random();
2020-11-04 17:40:36 +00:00
const publicKey = PublicKey.fromBytes(
PublicKey.fromPrivateKey(secret2).toBytesCompressed()
);
2019-11-27 20:58:41 +00:00
const keypair = new Keypair(secret, publicKey);
expect(keypair.publicKey).to.be.equal(publicKey);
expect(keypair.privateKey).to.be.equal(secret);
expect(keypair.privateKey).to.not.be.equal(secret2);
});
it("should create from private", () => {
const secret = PrivateKey.random();
const publicKey = PublicKey.fromPrivateKey(secret);
const keypair = new Keypair(secret);
2020-11-04 17:40:36 +00:00
expect(keypair.publicKey.toBytesCompressed().toString("hex")).to.be.equal(
publicKey.toBytesCompressed().toString("hex")
);
2019-11-27 20:58:41 +00:00
});
2019-08-05 15:48:26 +00:00
});