-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathindex.ts
33 lines (25 loc) · 1.05 KB
/
index.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
import type { PeriodicDistributionsQueryPayload } from '../../../../graphql/subgraph/vault'
import { apiUrls, validateArgs } from '../../../../utils'
import graphql from '../../../../graphql'
import modifyPeriodicDistributions from './modifyPeriodicDistributions'
type GetPeriodicDistributionsInput = {
vaultAddress: string
endTimestamp: number
startTimestamp: number
options: StakeWise.Options
}
const getPeriodicDistributions = (values: GetPeriodicDistributionsInput) => {
const { options, vaultAddress, startTimestamp, endTimestamp } = values
validateArgs.address({ vaultAddress })
validateArgs.number({ startTimestamp, endTimestamp })
return graphql.subgraph.vault.fetchPeriodicDistributionsQuery({
url: apiUrls.getSubgraphqlUrl(options),
variables: {
endTimestamp: String(endTimestamp),
startTimestamp: String(startTimestamp),
vaultAddress: vaultAddress.toLowerCase(),
},
modifyResult: (data: PeriodicDistributionsQueryPayload) => modifyPeriodicDistributions({ data }),
})
}
export default getPeriodicDistributions