-
Notifications
You must be signed in to change notification settings - Fork 55
/
createStubStakePoolSearchProvider.ts
42 lines (40 loc) · 1.34 KB
/
createStubStakePoolSearchProvider.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
31
32
33
34
35
36
37
38
39
40
41
42
import { Cardano, StakePoolSearchProvider } from '@cardano-sdk/core';
import delay from 'delay';
export const somePartialStakePools: Cardano.StakePool[] = [
{
hexId: Cardano.PoolIdHex('cf12a9dcaacdc09778616d60502011a88ed4542c482f2ddd08d8ac5a'),
id: Cardano.PoolId('pool1euf2nh92ehqfw7rpd4s9qgq34z8dg4pvfqhjmhggmzk95gcd402'),
metadata: {
description: 'Keiths Pi test pool',
homepage: '',
name: 'Keiths PiTest',
ticker: 'KPIT'
}
},
{
hexId: Cardano.PoolIdHex('4a2e3b7f4a78ff1452b91329a7673c77c98ca96dece7b55c37869502'),
id: Cardano.PoolId('pool1fghrkl620rl3g54ezv56weeuwlyce2tdannm2hphs62syf3vyyh'),
metadata: {
description: 'VEGAS TestNet(2) ADA Pool',
homepage: 'https://www.ada.vegas',
name: 'VEGASPool',
ticker: 'VEGA2'
}
}
] as Cardano.StakePool[];
/**
* Good source for testnet pools: https://testnet.adatools.io/pools
*/
export const createStubStakePoolSearchProvider = (
stakePools: Cardano.StakePool[] = somePartialStakePools,
delayMs?: number
): StakePoolSearchProvider => ({
queryStakePools: async (fragments) => {
if (delayMs) await delay(delayMs);
return stakePools.filter(({ id, metadata }) =>
fragments.some(
(fragment) => id.includes(fragment) || metadata?.name.includes(fragment) || metadata?.ticker.includes(fragment)
)
);
}
});