Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add GetEigenStateChanges to get EigenState changes at a block height #24

Merged
merged 2 commits into from
Feb 4, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
106 changes: 106 additions & 0 deletions gen/api-ts/eigenlayer/sidecar/v1/eigenState/eigenState.pb.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
/* eslint-disable */
// @ts-nocheck
/*
* This file is a generated Typescript file for GRPC Gateway, DO NOT MODIFY
*/

import * as GoogleProtobufTimestamp from "../../../../google/protobuf/timestamp.pb"

type Absent<T, K extends keyof T> = { [k in Exclude<keyof T, K>]?: undefined };
type OneOf<T> =
| { [k in keyof T]?: undefined }
| (
keyof T extends infer K ?
(K extends string & keyof T ? { [k in K]: T[K] } & Absent<T, K>
: never)
: never);

export enum RewardSubmissionRewardType {
AVS = "AVS",
ALL_STAKERS = "ALL_STAKERS",
ALL_EARNERS = "ALL_EARNERS",
}

export type StateRoot = {
ethBlockNumber?: string
ethBlockHash?: string
stateRoot?: string
}

export type TransactionMetadata = {
logIndex?: string
transactionHash?: string
blockHeight?: string
}

export type AvsOperatorStateChange = {
avs?: string
operator?: string
registered?: boolean
transactionMetadata?: TransactionMetadata
}

export type OperatorShareDelta = {
operator?: string
staker?: string
strategy?: string
shares?: string
blockTime?: GoogleProtobufTimestamp.Timestamp
blockDate?: string
transactionMetadata?: TransactionMetadata
}

export type RewardSubmission = {
avs?: string
rewardHash?: string
token?: string
amount?: string
strategy?: string
strategyIndex?: string
multiplier?: string
startTimestamp?: GoogleProtobufTimestamp.Timestamp
endTimestamp?: GoogleProtobufTimestamp.Timestamp
duration?: string
rewardType?: RewardSubmissionRewardType
transactionMetadata?: TransactionMetadata
}

export type StakerDelegationChange = {
staker?: string
operator?: string
delegated?: boolean
transactionMetadata?: TransactionMetadata
}

export type StakerShareDelta = {
staker?: string
strategy?: string
shares?: string
strategyIndex?: string
blockTime?: GoogleProtobufTimestamp.Timestamp
blockDate?: string
transactionMetadata?: TransactionMetadata
}

export type SubmittedDistributionRoot = {
root?: string
rootIndex?: string
rewardsCalculationEnd?: GoogleProtobufTimestamp.Timestamp
rewardsCalculationEndUnit?: string
activatedAt?: GoogleProtobufTimestamp.Timestamp
activatedAtUnit?: string
createdAtBlockNumber?: string
transactionMetadata?: TransactionMetadata
}

export type DisabledDistributionRoot = {
rootIndex?: string
transactionMetadata?: TransactionMetadata
}


type BaseEigenStateChange = {
}

export type EigenStateChange = BaseEigenStateChange
& OneOf<{ avsOperatorStateChange: AvsOperatorStateChange; operatorShareDelta: OperatorShareDelta; rewardSubmission: RewardSubmission; stakerDelegationChange: StakerDelegationChange; stakerShareDelta: StakerShareDelta; submittedDistributionRoot: SubmittedDistributionRoot; disabledDistributionRoot: DisabledDistributionRoot }>
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
/* eslint-disable */
// @ts-nocheck
/*
* This file is a generated Typescript file for GRPC Gateway, DO NOT MODIFY
*/

import * as GoogleProtobufTimestamp from "../../../../google/protobuf/timestamp.pb"
export type TransactionLog = {
transactionHash?: string
transactionIndex?: string
logIndex?: string
blockNumber?: string
address?: string
eventName?: string
arguments?: Uint8Array
outputData?: Uint8Array
}

export type Transaction = {
transactionHash?: string
transactionIndex?: string
blockNumber?: string
fromAddress?: string
toAddress?: string
contractAddress?: string
logs?: TransactionLog[]
}

export type Block = {
blockNumber?: string
blockHash?: string
parentHash?: string
blockTime?: GoogleProtobufTimestamp.Timestamp
transactions?: Transaction[]
}
14 changes: 7 additions & 7 deletions gen/api-ts/eigenlayer/sidecar/v1/events/events.pb.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,25 +5,25 @@
*/

import * as fm from "../../../../fetch.pb"
import * as EigenlayerSidecarV1EventTypesEigenState from "../eventTypes/eigenState.pb"
import * as EigenlayerSidecarV1EventTypesEthereumTypes from "../eventTypes/ethereumTypes.pb"
import * as EigenlayerSidecarV1EigenStateEigenState from "../eigenState/eigenState.pb"
import * as EigenlayerSidecarV1EthereumTypesEthereumTypes from "../ethereumTypes/ethereumTypes.pb"
export type StreamEigenStateChangesRequest = {
}

export type StreamEigenStateChangesResponse = {
blockNumber?: string
stateRoot?: EigenlayerSidecarV1EventTypesEigenState.StateRoot
changes?: EigenlayerSidecarV1EventTypesEigenState.EigenStateChange[]
stateRoot?: EigenlayerSidecarV1EigenStateEigenState.StateRoot
changes?: EigenlayerSidecarV1EigenStateEigenState.EigenStateChange[]
}

export type StreamIndexedBlocksRequest = {
includeStateChanges?: boolean
}

export type StreamIndexedBlocksResponse = {
block?: EigenlayerSidecarV1EventTypesEthereumTypes.Block
stateRoot?: EigenlayerSidecarV1EventTypesEigenState.StateRoot
changes?: EigenlayerSidecarV1EventTypesEigenState.EigenStateChange[]
block?: EigenlayerSidecarV1EthereumTypesEthereumTypes.Block
stateRoot?: EigenlayerSidecarV1EigenStateEigenState.StateRoot
changes?: EigenlayerSidecarV1EigenStateEigenState.EigenStateChange[]
}

export class Events {
Expand Down
12 changes: 12 additions & 0 deletions gen/api-ts/eigenlayer/sidecar/v1/protocol/protocol.pb.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

import * as fm from "../../../../fetch.pb"
import * as EigenlayerSidecarV1CommonTypes from "../common/types.pb"
import * as EigenlayerSidecarV1EigenStateEigenState from "../eigenState/eigenState.pb"

type Absent<T, K extends keyof T> = { [k in Exclude<keyof T, K>]?: undefined };
type OneOf<T> =
Expand Down Expand Up @@ -92,6 +93,14 @@ export type GetStakerSharesResponse = {
shares?: StakerShare[]
}

export type GetEigenStateChangesRequest = {
blockHeight?: string
}

export type GetEigenStateChangesResponse = {
changes?: EigenlayerSidecarV1EigenStateEigenState.EigenStateChange[]
}

export class Protocol {
static GetRegisteredAvsForOperator(req: GetRegisteredAvsForOperatorRequest, initReq?: fm.InitReq): Promise<GetRegisteredAvsForOperatorResponse> {
return fm.fetchReq<GetRegisteredAvsForOperatorRequest, GetRegisteredAvsForOperatorResponse>(`/protocol/v1/operators/${req["operatorAddress"]}/registered-avs?${fm.renderURLSearchParams(req, ["operatorAddress"])}`, {...initReq, method: "GET"})
Expand All @@ -108,4 +117,7 @@ export class Protocol {
static GetStakerShares(req: GetStakerSharesRequest, initReq?: fm.InitReq): Promise<GetStakerSharesResponse> {
return fm.fetchReq<GetStakerSharesRequest, GetStakerSharesResponse>(`/protocol/v1/stakers/${req["stakerAddress"]}/shares?${fm.renderURLSearchParams(req, ["stakerAddress"])}`, {...initReq, method: "GET"})
}
static GetEigenStateChanges(req: GetEigenStateChangesRequest, initReq?: fm.InitReq): Promise<GetEigenStateChangesResponse> {
return fm.fetchReq<GetEigenStateChangesRequest, GetEigenStateChangesResponse>(`/protocol/v1/eigen-state-changes`, {...initReq, method: "POST", body: JSON.stringify(req, fm.replacer)})
}
}
Loading