Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
74b7464
feat: add delegators view
moudi-network Jun 30, 2026
f1a312c
Merge branch 'main' into feat/711/delegators-view
moudi-network Jun 30, 2026
c04812d
fix table width
moudi-network Jul 1, 2026
426f232
apply coderabbit pr review recommendations
moudi-network Jul 1, 2026
6a3d5e9
apply coderabbit pr review recommendations
moudi-network Jul 2, 2026
f54757f
Merge branch 'main' into feat/711/delegators-view
moudi-network Jul 2, 2026
bc916b0
fix: keep delegator table header labels on one line
moudi-network Jul 24, 2026
1053e78
feat: preserve orch table state on back nav (#713)
ECWireless Jul 7, 2026
70946b7
fix: return partial score data when a metrics upstream is down (#729)
rickstaa Jul 16, 2026
d4e7254
fix: source current round timing on-chain instead of the subgraph (#731)
rickstaa Jul 19, 2026
919cf01
feat: warn when subgraph indexing falls behind (#733)
rickstaa Jul 20, 2026
00d4fd4
fix: manually surface LIP-118 poll while subgraph indexing is behind …
rickstaa Jul 20, 2026
e84d80e
fix: source round length and lock state on-chain in the round tracker…
rickstaa Jul 21, 2026
6fed2e0
fix: source the round on-chain in the pending-stake endpoint (#736)
rickstaa Jul 21, 2026
d8e1168
fix: temporarily compute the LIP-118 tally on-chain while the subgrap…
rickstaa Jul 21, 2026
5b69943
fix: temporarily show unbonding locks the subgraph has not indexed (#…
rickstaa Jul 21, 2026
0f16ef5
Revert "fix: temporarily show unbonding locks the subgraph has not in…
rickstaa Jul 22, 2026
d584361
Revert "fix: temporarily compute the LIP-118 tally on-chain while the…
rickstaa Jul 22, 2026
c8a15eb
Revert "fix: manually surface LIP-118 poll while subgraph indexing is…
rickstaa Jul 22, 2026
29403dc
Merge remote-tracking branch 'upstream/main' into feat/711/delegators…
moudi-network Jul 24, 2026
dc8e5bc
DelegatorList ordinal uses row.index not visible order
moudi-network Jul 24, 2026
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
138 changes: 138 additions & 0 deletions apollo/subgraph.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1648,6 +1648,23 @@ export enum LivepeerAccount_OrderBy {
LastUpdatedTimestamp = 'lastUpdatedTimestamp'
}

/**
* The severity level of a log entry.
* Log levels are ordered from most to least severe: CRITICAL > ERROR > WARNING > INFO > DEBUG
*/
export enum LogLevel {
/** Critical errors that require immediate attention */
Critical = 'CRITICAL',
/** Detailed diagnostic information for debugging */
Debug = 'DEBUG',
/** Error conditions that indicate a failure */
Error = 'ERROR',
/** Informational messages about normal operations */
Info = 'INFO',
/** Warning conditions that may require attention */
Warning = 'WARNING'
}

/** MigrateDelegatorFinalizedEvent entities are created for every emitted WithdrawStake event. */
export type MigrateDelegatorFinalizedEvent = Event & {
__typename: 'MigrateDelegatorFinalizedEvent';
Expand Down Expand Up @@ -3331,6 +3348,8 @@ export enum Protocol_OrderBy {

export type Query = {
__typename: 'Query';
/** Query execution logs emitted by the subgraph during indexing. Results are sorted by timestamp in descending order (newest first). */
_logs: Array<_Log_>;
/** Access to subgraph metadata */
_meta?: Maybe<_Meta_>;
bondEvent?: Maybe<BondEvent>;
Expand Down Expand Up @@ -3436,6 +3455,17 @@ export type Query = {
};


export type Query_LogsArgs = {
first?: InputMaybe<Scalars['Int']>;
from?: InputMaybe<Scalars['String']>;
level?: InputMaybe<LogLevel>;
orderDirection?: InputMaybe<OrderDirection>;
search?: InputMaybe<Scalars['String']>;
skip?: InputMaybe<Scalars['Int']>;
to?: InputMaybe<Scalars['String']>;
};


export type Query_MetaArgs = {
block?: InputMaybe<Block_Height>;
};
Expand Down Expand Up @@ -9579,6 +9609,54 @@ export type _Block_ = {
timestamp?: Maybe<Scalars['Int']>;
};

/**
* A key-value pair of additional data associated with a log entry.
* These correspond to arguments passed to the log function in the subgraph code.
*/
export type _LogArgument_ = {
__typename: '_LogArgument_';
/** The parameter name */
key: Scalars['String'];
/** The parameter value, serialized as a string */
value: Scalars['String'];
};

/**
* Source code location metadata for a log entry.
* Indicates where in the subgraph's AssemblyScript code the log statement was executed.
*/
export type _LogMeta_ = {
__typename: '_LogMeta_';
/** The column number in the source file */
column: Scalars['Int'];
/** The line number in the source file */
line: Scalars['Int'];
/** The module or file path where the log was emitted */
module: Scalars['String'];
};

/**
* A log entry emitted by a subgraph during indexing.
* Logs can be generated by the subgraph's AssemblyScript code using the `log.*` functions.
*/
export type _Log_ = {
__typename: '_Log_';
/** Additional structured data passed to the log function as key-value pairs */
arguments: Array<_LogArgument_>;
/** Unique identifier for this log entry */
id: Scalars['String'];
/** The severity level of the log entry */
level: LogLevel;
/** Metadata about the source location in the subgraph code where the log was emitted */
meta: _LogMeta_;
/** The deployment hash of the subgraph that emitted this log */
subgraphId: Scalars['String'];
/** The log message text */
text: Scalars['String'];
/** The timestamp when the log was emitted, in RFC3339 format (e.g., '2024-01-15T10:30:00Z') */
timestamp: Scalars['String'];
};

/** The type for the top-level _meta field */
export type _Meta_ = {
__typename: '_Meta_';
Expand Down Expand Up @@ -9658,6 +9736,17 @@ export type MetaQueryVariables = Exact<{ [key: string]: never; }>;

export type MetaQuery = { __typename: 'Query', _meta?: { __typename: '_Meta_', hasIndexingErrors: boolean, block: { __typename: '_Block_', number: number } } | null };

export type OrchestratorDelegatorsQueryVariables = Exact<{
id: Scalars['ID'];
first?: InputMaybe<Scalars['Int']>;
skip?: InputMaybe<Scalars['Int']>;
orderBy?: InputMaybe<Delegator_OrderBy>;
orderDirection?: InputMaybe<OrderDirection>;
}>;


export type OrchestratorDelegatorsQuery = { __typename: 'Query', transcoder?: { __typename: 'Transcoder', id: string, delegators?: Array<{ __typename: 'Delegator', id: string, bondedAmount: string, startRound: string }> | null } | null };

export type OrchestratorsQueryVariables = Exact<{
currentRound?: InputMaybe<Scalars['BigInt']>;
currentRoundString?: InputMaybe<Scalars['String']>;
Expand Down Expand Up @@ -10344,6 +10433,55 @@ export function useMetaLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions<MetaQ
export type MetaQueryHookResult = ReturnType<typeof useMetaQuery>;
export type MetaLazyQueryHookResult = ReturnType<typeof useMetaLazyQuery>;
export type MetaQueryResult = Apollo.QueryResult<MetaQuery, MetaQueryVariables>;
export const OrchestratorDelegatorsDocument = gql`
query orchestratorDelegators($id: ID!, $first: Int, $skip: Int, $orderBy: Delegator_orderBy, $orderDirection: OrderDirection) {
transcoder(id: $id) {
id
delegators(
first: $first
skip: $skip
orderBy: $orderBy
orderDirection: $orderDirection
) {
id
bondedAmount
startRound
}
}
}
`;

/**
* __useOrchestratorDelegatorsQuery__
*
* To run a query within a React component, call `useOrchestratorDelegatorsQuery` and pass it any options that fit your needs.
* When your component renders, `useOrchestratorDelegatorsQuery` returns an object from Apollo Client that contains loading, error, and data properties
* you can use to render your UI.
*
* @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
*
* @example
* const { data, loading, error } = useOrchestratorDelegatorsQuery({
* variables: {
* id: // value for 'id'
* first: // value for 'first'
* skip: // value for 'skip'
* orderBy: // value for 'orderBy'
* orderDirection: // value for 'orderDirection'
* },
* });
*/
export function useOrchestratorDelegatorsQuery(baseOptions: Apollo.QueryHookOptions<OrchestratorDelegatorsQuery, OrchestratorDelegatorsQueryVariables>) {
const options = {...defaultOptions, ...baseOptions}
return Apollo.useQuery<OrchestratorDelegatorsQuery, OrchestratorDelegatorsQueryVariables>(OrchestratorDelegatorsDocument, options);
}
export function useOrchestratorDelegatorsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions<OrchestratorDelegatorsQuery, OrchestratorDelegatorsQueryVariables>) {
const options = {...defaultOptions, ...baseOptions}
return Apollo.useLazyQuery<OrchestratorDelegatorsQuery, OrchestratorDelegatorsQueryVariables>(OrchestratorDelegatorsDocument, options);
}
export type OrchestratorDelegatorsQueryHookResult = ReturnType<typeof useOrchestratorDelegatorsQuery>;
export type OrchestratorDelegatorsLazyQueryHookResult = ReturnType<typeof useOrchestratorDelegatorsLazyQuery>;
export type OrchestratorDelegatorsQueryResult = Apollo.QueryResult<OrchestratorDelegatorsQuery, OrchestratorDelegatorsQueryVariables>;
export const OrchestratorsDocument = gql`
query orchestrators($currentRound: BigInt, $currentRoundString: String, $where: Transcoder_filter, $first: Int, $skip: Int, $orderBy: Transcoder_orderBy, $orderDirection: OrderDirection) {
transcoders(
Expand Down
Loading