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,
|
2021-06-11 16:00:48 +10:00
|
|
|
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');
|
2021-06-11 16:00:48 +10:00
|
|
|
const res = validatePublicKeyMessage(ethDmMsg);
|
2021-05-28 15:35:50 +10:00
|
|
|
|
|
|
|
|
expect(res).toBe(true);
|
|
|
|
|
});
|