|
7 | 7 | import * as fm from "../../../../fetch.pb"
|
8 | 8 | import * as EigenlayerSidecarV1EigenStateEigenState from "../eigenState/eigenState.pb"
|
9 | 9 | 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 = { |
11 | 21 | }
|
12 | 22 |
|
| 23 | +export type StreamEigenStateChangesRequest = BaseStreamEigenStateChangesRequest |
| 24 | + & OneOf<{ stateChangeFilter: string }> |
| 25 | + |
13 | 26 | export type StreamEigenStateChangesResponse = {
|
14 | 27 | blockNumber?: string
|
15 | 28 | stateRoot?: EigenlayerSidecarV1EigenStateEigenState.StateRoot
|
16 | 29 | changes?: EigenlayerSidecarV1EigenStateEigenState.EigenStateChange[]
|
17 | 30 | }
|
18 | 31 |
|
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 = { |
20 | 42 | includeStateChanges?: boolean
|
| 43 | + onlyBlocksWithData?: boolean |
21 | 44 | }
|
22 | 45 |
|
| 46 | +export type StreamIndexedBlocksRequest = BaseStreamIndexedBlocksRequest |
| 47 | + & OneOf<{ filters: StreamIndexedBlocksRequestFilters }> |
| 48 | + |
23 | 49 | export type StreamIndexedBlocksResponse = {
|
24 | 50 | block?: EigenlayerSidecarV1EthereumTypesEthereumTypes.Block
|
25 | 51 | stateRoot?: EigenlayerSidecarV1EigenStateEigenState.StateRoot
|
|
0 commit comments