-
Notifications
You must be signed in to change notification settings - Fork 54
/
testKeyAgent.ts
30 lines (27 loc) · 1.02 KB
/
testKeyAgent.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import { Cardano } from '@cardano-sdk/core';
import { GroupedAddress, InMemoryKeyAgent, KeyAgentDependencies, util } from '../../src';
import { mockKeyAgentDependencies } from './mockKeyAgentDependencies';
export const getPassword = jest.fn(async () => Buffer.from('password'));
export const testKeyAgent = async (
addresses?: GroupedAddress[],
dependencies: KeyAgentDependencies | undefined = mockKeyAgentDependencies()
) => {
const keyAgent = await InMemoryKeyAgent.fromBip39MnemonicWords(
{
getPassword,
mnemonicWords: util.generateMnemonicWords(),
networkId: Cardano.NetworkId.testnet
},
dependencies
);
if (addresses) {
keyAgent.knownAddresses.push(...addresses);
}
return keyAgent;
};
export const testAsyncKeyAgent = async (
addresses?: GroupedAddress[],
dependencies: KeyAgentDependencies | undefined = mockKeyAgentDependencies(),
keyAgentReady = testKeyAgent(addresses, dependencies),
shutdownSpy?: () => void
) => util.createAsyncKeyAgent(await keyAgentReady, shutdownSpy);