Skip to content

Commit 02e6c9a

Browse files
authored
feat: add filter parameter to streaming rpcs (#23)
2 parents 7b344cc + 9608503 commit 02e6c9a

File tree

4 files changed

+2521
-46
lines changed

4 files changed

+2521
-46
lines changed

gen/api-ts/eigenlayer/sidecar/v1/events/events.pb.ts

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,45 @@
77
import * as fm from "../../../../fetch.pb"
88
import * as EigenlayerSidecarV1EigenStateEigenState from "../eigenState/eigenState.pb"
99
import * as EigenlayerSidecarV1EthereumTypesEthereumTypes from "../ethereumTypes/ethereumTypes.pb"
10-
export type StreamEigenStateChangesRequest = {
10+
11+
type Absent<T, K extends keyof T> = { [k in Exclude<keyof T, K>]?: undefined };
12+
type OneOf<T> =
13+
| { [k in keyof T]?: undefined }
14+
| (
15+
keyof T extends infer K ?
16+
(K extends string & keyof T ? { [k in K]: T[K] } & Absent<T, K>
17+
: never)
18+
: never);
19+
20+
type BaseStreamEigenStateChangesRequest = {
1121
}
1222

23+
export type StreamEigenStateChangesRequest = BaseStreamEigenStateChangesRequest
24+
& OneOf<{ stateChangeFilter: string }>
25+
1326
export type StreamEigenStateChangesResponse = {
1427
blockNumber?: string
1528
stateRoot?: EigenlayerSidecarV1EigenStateEigenState.StateRoot
1629
changes?: EigenlayerSidecarV1EigenStateEigenState.EigenStateChange[]
1730
}
1831

19-
export type StreamIndexedBlocksRequest = {
32+
33+
type BaseStreamIndexedBlocksRequestFilters = {
34+
}
35+
36+
export type StreamIndexedBlocksRequestFilters = BaseStreamIndexedBlocksRequestFilters
37+
& OneOf<{ blockFilter: string }>
38+
& OneOf<{ stateChangeFilter: string }>
39+
40+
41+
type BaseStreamIndexedBlocksRequest = {
2042
includeStateChanges?: boolean
43+
onlyBlocksWithData?: boolean
2144
}
2245

46+
export type StreamIndexedBlocksRequest = BaseStreamIndexedBlocksRequest
47+
& OneOf<{ filters: StreamIndexedBlocksRequestFilters }>
48+
2349
export type StreamIndexedBlocksResponse = {
2450
block?: EigenlayerSidecarV1EthereumTypesEthereumTypes.Block
2551
stateRoot?: EigenlayerSidecarV1EigenStateEigenState.StateRoot

0 commit comments

Comments
 (0)