o1js
Version:
TypeScript framework for zk-SNARKs and zkApps
41 lines (33 loc) • 1.18 kB
text/typescript
import Client from '../dist/node/mina-signer/mina-signer.js';
describe('Keypair', () => {
let client: Client;
beforeAll(async () => {
client = new Client({ network: 'mainnet' });
});
it('generates a valid key pair', () => {
const keypair = client.genKeys();
expect(keypair.publicKey).toBeDefined();
expect(keypair.privateKey).toBeDefined();
});
it('can verify a valid key pair', () => {
const keypair = client.genKeys();
expect(client.verifyKeypair(keypair)).toBeTruthy();
});
it('fails to derive an invalid key pair', () => {
try {
client.verifyKeypair({ publicKey: 'invalid', privateKey: 'invalid' });
} catch (error) {
expect(error).toBeDefined();
}
});
it('derives an equivalent public key from a private key', () => {
const keypair = client.genKeys();
const publicKey = client.derivePublicKey(keypair.privateKey);
expect(keypair.publicKey).toEqual(publicKey);
});
it('can derive a hex-encoded public key from a public key', () => {
const keypair = client.genKeys();
const rawPublicKey = client.publicKeyToRaw(keypair.publicKey);
expect(rawPublicKey).toBeDefined();
});
});