UNPKG

o1js

Version:

TypeScript framework for zk-SNARKs and zkApps

41 lines (33 loc) 1.18 kB
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(); }); });