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

33 lines
1.0 KiB
TypeScript
Raw Normal View History

2020-11-05 20:55:25 +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-05 20:55:25 +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
});