27 lines
735 B
TypeScript
Raw Normal View History

2021-06-11 15:33:29 +10:00
import '@ethersproject/shims';
2021-05-28 15:35:50 +10:00
import {
2021-06-11 15:33:29 +10:00
createPublicKeyMessage,
2021-05-28 15:35:50 +10:00
generateEthDmKeyPair,
validatePublicKeyMessage,
2021-05-28 15:35:50 +10:00
} from './crypto';
2021-06-11 15:33:29 +10:00
import { MockProvider } from 'ethereum-waffle';
2021-05-28 15:35:50 +10:00
import { waffleJest } from '@ethereum-waffle/jest';
expect.extend(waffleJest);
test('Signature of Eth-DM key is verifiable', async () => {
2021-06-11 15:33:29 +10:00
console.log('get wallet');
2021-05-28 15:35:50 +10:00
const [wallet] = new MockProvider().getWallets();
2021-06-11 15:33:29 +10:00
console.log('Generate Keys');
2021-05-28 15:35:50 +10:00
const ethDmKeys = await generateEthDmKeyPair(wallet);
2021-06-11 15:33:29 +10:00
console.log('Create EthDm message');
const ethDmMsg = await createPublicKeyMessage(wallet, ethDmKeys.publicKey);
2021-05-28 15:35:50 +10:00
2021-06-11 15:33:29 +10:00
console.log('Verify EthDm message');
const res = validatePublicKeyMessage(ethDmMsg);
2021-05-28 15:35:50 +10:00
expect(res).toBe(true);
});