diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 00000000..7f9cfcc5 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,18 @@ +# Never send local credentials or build output into the image: anything +# here would be readable in the builder stage and its cache. Build-time +# config comes in as --build-arg (see Dockerfile). +.env +.env.* +!.env.example +*.pem +.git +.github +.next +node_modules +.pnpm-store +.vercel +.claude +.playwright-mcp +coverage +*.tsbuildinfo +.DS_Store diff --git a/.env.example b/.env.example index a26b7b8b..9a064505 100644 --- a/.env.example +++ b/.env.example @@ -1,19 +1,30 @@ -CHANGEFEED_ACCESS_TOKEN= -GITHUB_ACCESS_TOKEN= -LIVEPEER_COM_API_ADMIN_TOKEN= -PINATA_JWT= +# Subgraph. With a Graph API key, queries go through The Graph's gateway to +# the published subgraph's latest version (lib/config.ts); restrict the key +# to your domains in Subgraph Studio, since it's used from the browser. +# Without one, the rate-limited Studio URL is used (fine for local dev). +NEXT_PUBLIC_SUBGRAPH_API_KEY= +# Optional: pin one version by deployment id (Qm…), or a whole endpoint URL. +NEXT_PUBLIC_SUBGRAPH_DEPLOYMENT= +NEXT_PUBLIC_SUBGRAPH_ENDPOINT= -NEXT_PUBLIC_GA_TRACKING_ID= -NEXT_PUBLIC_NETWORK=ARBITRUM_ONE +# RPC. Public endpoints are used when these are empty. NEXT_PUBLIC_INFURA_KEY= NEXT_PUBLIC_L1_RPC_URL= NEXT_PUBLIC_L2_RPC_URL= -NEXT_PUBLIC_GITHUB_LIP_NAMESPACE=adamsoffer -NEXT_PUBLIC_SUBGRAPH_API_KEY= -NEXT_PUBLIC_SUBGRAPH_ID=FE63YgkzcpVocxdCEyEYbvjYqEf2kb1A6daMYRxmejYC -NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID= -NEXT_PUBLIC_METRICS_SERVER_URL=https://leaderboard-serverless.vercel.app -NEXT_PUBLIC_AI_METRICS_SERVER_URL=https://leaderboard-api.livepeer.cloud -# Optional dev overrides (e.g. Graph Studio sandbox; leave empty in prod) -NEXT_PUBLIC_SUBGRAPH_ENDPOINT= +# Reown (formerly WalletConnect) project ID, from cloud.reown.com. Each domain +# the app runs on must be on that project's allowlist. +NEXT_PUBLIC_REOWN_PROJECT_ID= + +# Public URL of this deployment, e.g. https://explorer.livepeer.org. Used for +# absolute share-image URLs. Optional on Vercel when system environment +# variables are exposed; otherwise links preview without an image. +SITE_URL= + +# Creating LIP polls: the explorer pins the LIP's text to IPFS through Pinata +# before the poll is created on-chain. Without it, poll creation is disabled. +PINATA_JWT= + +# Optional: raises GitHub's rate limit when reading the LIPs repository. +GITHUB_ACCESS_TOKEN= + diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 99ff0022..f79cc2f1 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -21,9 +21,20 @@ updates: directory: / schedule: interval: weekly + # Same wait as npm: a hijacked action tag is the same kind of attack. + cooldown: + default-days: 7 # One combined PR; action majors are routine tag moves and CI # validates the grouped PR anyway. groups: actions: patterns: - "*" + + # Lighthouse CI is locked on its own, away from the app's install. + - package-ecosystem: npm + directory: /tools/lhci + schedule: + interval: weekly + cooldown: + default-days: 7 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a0129b86..1ea3b47d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -4,6 +4,13 @@ on: pull_request: branches: ['*'] +# Least privilege: jobs only read the repo unless they say otherwise. +permissions: + contents: read + +# Actions are pinned to full commit SHAs (the tag each was at is noted), so +# a moved tag can't swap in different code. Update them deliberately. + jobs: lint-and-test: runs-on: ubuntu-latest @@ -15,16 +22,18 @@ jobs: steps: - name: ⬇️ Checkout code - uses: actions/checkout@v7 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false - name: 📦 Install pnpm - uses: pnpm/action-setup@v6 + uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10 with: version: 10.33.0 run_install: false - name: 🟢 Setup Node - uses: actions/setup-node@v7 + uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0 with: node-version: 24 cache: pnpm @@ -41,11 +50,10 @@ jobs: - name: 🧪 Run tests run: pnpm test - # Fails on known critical advisories in production dependencies. - # Tighten to `high` once the remaining high (sharp, pinned by next) - # clears upstream. + # Fails on known high or critical advisories in production + # dependencies. - name: 🔒 Audit production dependencies - run: pnpm audit --prod --audit-level=critical + run: pnpm audit --prod --audit-level=high # Fails the PR if it introduces a dependency with a known vulnerability. dependency-review: @@ -54,9 +62,11 @@ jobs: contents: read steps: - name: ⬇️ Checkout code - uses: actions/checkout@v7 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false - name: 🔍 Review dependency changes - uses: actions/dependency-review-action@v5 + uses: actions/dependency-review-action@a1d282b36b6f3519aa1f3fc636f609c47dddb294 # v5.0.0 with: fail-on-severity: high diff --git a/.github/workflows/lighthouse-vercel-preview.yml b/.github/workflows/lighthouse-vercel-preview.yml index 0d99e3db..696e6d29 100644 --- a/.github/workflows/lighthouse-vercel-preview.yml +++ b/.github/workflows/lighthouse-vercel-preview.yml @@ -14,17 +14,20 @@ jobs: timeout-minutes: 25 steps: + # Actions pinned to full commit SHAs, the tag noted beside each. - name: ⬇️ Checkout - uses: actions/checkout@v7 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false - name: 🟢 Setup Node - uses: actions/setup-node@v7 + uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0 with: node-version: 24 - name: 🔎 Wait for Vercel Deployment + grab Preview URL id: vercel - uses: actions/github-script@v9 + uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 with: github-token: ${{ secrets.GITHUB_TOKEN }} script: | @@ -68,22 +71,28 @@ jobs: throw new Error("Timed out waiting for Vercel preview deployment URL."); - name: 📦 Install pnpm - uses: pnpm/action-setup@v6 + uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10 with: version: 10.33.0 run_install: false + # Lighthouse CI lives in its own locked project, so its dependencies + # are the ones in tools/lhci/pnpm-lock.yaml and the app's are not + # installed in this job. + - name: 📥 Install Lighthouse CI + run: pnpm --dir tools/lhci install --frozen-lockfile --ignore-workspace + - name: 🔎 Run Lighthouse CI against Vercel Preview env: PREVIEW_URL: ${{ steps.vercel.outputs.preview_url }} run: | echo "Running Lighthouse CI on: $PREVIEW_URL" - pnpm dlx @lhci/cli collect --config=./.lighthouserc.json \ + pnpm --dir tools/lhci exec lhci collect --config="$GITHUB_WORKSPACE/.lighthouserc.json" \ --url="$PREVIEW_URL/" \ --url="$PREVIEW_URL/orchestrators" \ - --url="$PREVIEW_URL/leaderboard" \ - --url="$PREVIEW_URL/transactions" \ - --url="$PREVIEW_URL/voting" \ - --url="$PREVIEW_URL/treasury" - pnpm dlx @lhci/cli assert --config=./.lighthouserc.json - pnpm dlx @lhci/cli upload --config=./.lighthouserc.json --target=temporary-public-storage + --url="$PREVIEW_URL/network" \ + --url="$PREVIEW_URL/activity" \ + --url="$PREVIEW_URL/governance" \ + --url="$PREVIEW_URL/gateways" + pnpm --dir tools/lhci exec lhci assert --config="$GITHUB_WORKSPACE/.lighthouserc.json" + pnpm --dir tools/lhci exec lhci upload --config="$GITHUB_WORKSPACE/.lighthouserc.json" --target=temporary-public-storage diff --git a/.gitignore b/.gitignore index cb90e4f3..10c5fd03 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,7 @@ # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. # dependencies -/node_modules +node_modules /.pnp .pnp.js diff --git a/.prettierignore b/.prettierignore index d414f233..0447fdb1 100644 --- a/.prettierignore +++ b/.prettierignore @@ -14,10 +14,6 @@ node_modules .github .vscode .playwright-mcp -@types -apollo -codegen.yml -data next-env.d.ts pnpm-lock.yaml public \ No newline at end of file diff --git a/@types/custom.d.ts b/@types/custom.d.ts deleted file mode 100644 index 4261298f..00000000 --- a/@types/custom.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -declare module "*.svg" { - const content: any; - export default content; -} -declare module "*.png"; -declare module "*.jpg"; -declare module "*.jpeg"; -declare module "*.gif"; diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 00000000..643577df --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,9 @@ + + +# This is NOT the Next.js you know + +This version has breaking changes — APIs, conventions, and file structure may all differ from your training data. Read the relevant guide in `node_modules/next/dist/docs/` (resolved from this file's directory; in monorepos the `next` package may not be visible from the repo root) before writing any code. Heed deprecation notices. + +This block is written and re-added by `next dev` — verify at `node_modules/next/dist/server/lib/generate-agent-files.js`. Removing it from a diff only re-creates the uncommitted change; committing it with your work keeps the tree clean. + + diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 00000000..43c994c2 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1 @@ +@AGENTS.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ee430500..0db5d725 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -18,7 +18,20 @@ If you find an issue you want to work on, follow the Commits and Pull Request in ### Commits -As best as possible, try to follow [Conventional Commits v1.0.0](https://www.conventionalcommits.org/en/v1.0.0/) patterns. +Start the subject with the area of the app it touches, then a short summary in the imperative: + +```text +orchestrators: rank by expected yield +wallet: resume the action once the right account connects +network, docs: explain what the sparklines cover +``` + +- **Area:** lowercase, naming the part of the app, such as `portfolio`, `orchestrators`, `gateways`, `governance`, `network`, `wallet`, `shell`, `ui`, `data`, `build` or `docs`. Separate two with a comma, and use `app` for changes across the whole app. +- **Summary:** lowercase and imperative ("add", not "added" or "adds"), with no trailing period. Keep the whole subject under 72 characters. +- **Body:** wrapped at 72 characters. Explain why and anything that isn't obvious from the diff, rather than listing files. +- **One logical change per commit,** each building and passing tests. + +PRs are squash-merged, so the PR title becomes the commit on `main`: write it the same way. ### Code Conventions @@ -29,6 +42,10 @@ Additional conventions, not yet enforced at the time of writing, include: Write JSDoc for all functions and methods in classes unless you have a good reason not to (e.g., NextJS route or page components). At minimum, include a general description of the functionality. +#### Lighthouse + +CI runs Lighthouse CI against each Vercel preview, installed from `tools/lhci` so it stays out of the app's dependencies. To check a page yourself, use the Lighthouse tab in Chrome DevTools or `pnpm dlx lighthouse `. + ### Pull Requests In general, PRs should: diff --git a/Dockerfile b/Dockerfile index 6451c5e3..0a314706 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,38 +2,23 @@ FROM node:24 AS builder WORKDIR /app RUN corepack enable -ARG CHANGEFEED_ACCESS_TOKEN -ARG GITHUB_ACCESS_TOKEN -ARG LIVEPEER_COM_API_ADMIN_TOKEN -ARG PINATA_JWT -ARG NEXT_PUBLIC_GA_TRACKING_ID -ARG NEXT_PUBLIC_NETWORK=ARBITRUM_ONE +ARG NEXT_PUBLIC_SUBGRAPH_ENDPOINT +ARG NEXT_PUBLIC_SUBGRAPH_API_KEY +ARG NEXT_PUBLIC_SUBGRAPH_DEPLOYMENT ARG NEXT_PUBLIC_INFURA_KEY ARG NEXT_PUBLIC_L1_RPC_URL ARG NEXT_PUBLIC_L2_RPC_URL -ARG NEXT_PUBLIC_GITHUB_LIP_NAMESPACE=adamsoffer -ARG NEXT_PUBLIC_SUBGRAPH_API_KEY -ARG NEXT_PUBLIC_SUBGRAPH_ID -ARG NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID -ARG NEXT_PUBLIC_METRICS_SERVER_URL=https://leaderboard-serverless.vercel.app -ARG NEXT_PUBLIC_AI_METRICS_SERVER_URL=https://leaderboard-api.livepeer.cloud +ARG NEXT_PUBLIC_REOWN_PROJECT_ID +ARG SITE_URL -# Step 5: Create .env file with substituted values -RUN echo "CHANGEFEED_ACCESS_TOKEN=${CHANGEFEED_ACCESS_TOKEN}" >> .env && \ - echo "GITHUB_ACCESS_TOKEN=${GITHUB_ACCESS_TOKEN}" >> .env && \ - echo "LIVEPEER_COM_API_ADMIN_TOKEN=${LIVEPEER_COM_API_ADMIN_TOKEN}" >> .env && \ - echo "PINATA_JWT=${PINATA_JWT}" >> .env && \ - echo "NEXT_PUBLIC_GA_TRACKING_ID=${NEXT_PUBLIC_GA_TRACKING_ID}" >> .env && \ - echo "NEXT_PUBLIC_NETWORK=${NEXT_PUBLIC_NETWORK}" >> .env && \ - echo "NEXT_PUBLIC_INFURA_KEY=${NEXT_PUBLIC_INFURA_KEY}" >> .env && \ - echo "NEXT_PUBLIC_L1_RPC_URL=${NEXT_PUBLIC_L1_RPC_URL}" >> .env && \ - echo "NEXT_PUBLIC_L2_RPC_URL=${NEXT_PUBLIC_L2_RPC_URL}" >> .env && \ - echo "NEXT_PUBLIC_GITHUB_LIP_NAMESPACE=${NEXT_PUBLIC_GITHUB_LIP_NAMESPACE}" >> .env && \ - echo "NEXT_PUBLIC_SUBGRAPH_API_KEY=${NEXT_PUBLIC_SUBGRAPH_API_KEY}" >> .env && \ - echo "NEXT_PUBLIC_SUBGRAPH_ID=${NEXT_PUBLIC_SUBGRAPH_ID}" >> .env && \ - echo "NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID=${NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID}" >> .env && \ - echo "NEXT_PUBLIC_METRICS_SERVER_URL=${NEXT_PUBLIC_METRICS_SERVER_URL}" >> .env && \ - echo "NEXT_PUBLIC_AI_METRICS_SERVER_URL=${NEXT_PUBLIC_AI_METRICS_SERVER_URL}" >> .env +ENV NEXT_PUBLIC_SUBGRAPH_ENDPOINT=${NEXT_PUBLIC_SUBGRAPH_ENDPOINT} \ + NEXT_PUBLIC_SUBGRAPH_API_KEY=${NEXT_PUBLIC_SUBGRAPH_API_KEY} \ + NEXT_PUBLIC_SUBGRAPH_DEPLOYMENT=${NEXT_PUBLIC_SUBGRAPH_DEPLOYMENT} \ + NEXT_PUBLIC_INFURA_KEY=${NEXT_PUBLIC_INFURA_KEY} \ + NEXT_PUBLIC_L1_RPC_URL=${NEXT_PUBLIC_L1_RPC_URL} \ + NEXT_PUBLIC_L2_RPC_URL=${NEXT_PUBLIC_L2_RPC_URL} \ + NEXT_PUBLIC_REOWN_PROJECT_ID=${NEXT_PUBLIC_REOWN_PROJECT_ID} \ + SITE_URL=${SITE_URL} COPY . . RUN pnpm install --frozen-lockfile && pnpm run build diff --git a/README.md b/README.md index c0cef31a..a1fea7df 100644 --- a/README.md +++ b/README.md @@ -3,114 +3,116 @@ ![Node.js](https://img.shields.io/badge/node-%3E%3D24.0.0-brightgreen) ![pnpm](https://img.shields.io/badge/pnpm-%3E%3D10.33.0-blue) -## Prerequisites +The Livepeer Explorer is where LPT holders manage their stake. The default +view is a **portfolio**: stake, rewards and fees for every wallet you care +about, reconstructed round by round, with early warnings when an orchestrator +slips. Around it sit the orchestrator directory, network health, governance +and a live activity feed. + +## What's in it + +| Route | What it's for | +| ---------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `/` | Portfolio across the addresses you add (stored in the browser); acting for one asks you to connect it. Onboarding when there are none. | +| `/accounts/[address]` | The same portfolio view for any single address. | +| `/orchestrators` | Active set ranked by expected yield (rewards plus fees), with reward-call reliability, cuts, fees and a stake-size estimator. | +| `/orchestrators/[address]` | Profile, per-round yield / stake / fee charts, reward-call history, cut history, delegators. | +| `/gateways`, `/gateways/[address]` | Gateways with fees paid, deposit and reserve, and payouts by orchestrator. | +| `/network` | Current round, participation, inflation and fee volume, with 30-day trends. | +| `/governance` | Treasury proposals and LIP polls, with voting. | +| `/governance/polls/new`, `/governance/proposals/new` | Create a poll for a proposed LIP, or a treasury proposal. | +| `/activity` | Protocol events as they happen, filterable and searchable. | + +Staking actions (delegate, stake more, move, unstake, restake, withdraw stake, +withdraw fees) run in a single dialog flow from wherever they're relevant. + +## How the portfolio numbers are computed + +The explorer reads the Livepeer subgraph, including the fields added in +`livepeer/subgraph#217`: delegator `shares`, per-event `DelegatorSnapshot`s, +and cumulative reward/fee factors on every pool. With those, history is exact +rather than estimated: -Before getting started, ensure you have the following installed on your system: - -- [Node.js 24.x](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) (includes npm) -- [pnpm v10.x](https://pnpm.io/installation) - you can install it with `npm install -g pnpm` or `corepack enable` -- [Docker](https://docs.docker.com/get-docker/) (optional) — required for the dev container - -> [!TIP] -> Use `nvm install` or `asdf install` to automatically switch to the correct versions. - -## Dev Container (Recommended) - -Develop inside a pre-configured container — consistent tooling, zero local setup, and isolation from your host machine. - -1. Install the [Dev Containers extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) in VS Code -2. `Ctrl+Shift+P` → **"Dev Containers: Reopen in Container"** - -## Getting Started - -To run the Livepeer Explorer application, follow these steps to set up your environment correctly. This involves installing pnpm, installing dependencies, and configuring environment variables. - -### Install Runtime Dependencies - -With pnpm installed, navigate to the root directory of the project and install all runtime dependencies using: - -```bash -pnpm install +``` +stake[r] = shares[r] · CRF[r] / 1e27 +reward[r] = shares[r-1] · (CRF[r] − CRF[r-1]) / 1e27 +fees[r] = shares[r-1] · (CFF[r] − CFF[r-1]) / 1e27 ``` -### Setup Environment Variables - -Before running the application, you must configure your environment variables: - -1. **Rename the Example Environment File:** - - Rename the `.env.example` file in the root of the project to `.env`. - -2. **Update Environment Variables:** +Rewards come from factor growth, never balance differences, so bonding, +unbonding and moving stake are never mistaken for earnings. Self-delegated +orchestrators also get their reward-cut commission reconstructed. See +`lib/portfolio/compute.ts` and its tests. - Open the `.env` file and update the necessary environment variables. For a reference of key settings, see the [Key Environment Variables](#key-environment-variables) section below. +"Realised APR" is the yield actually paid over the last 30 rounds, compounded +to a year, not a projection from protocol parameters. The orchestrator list +adds fees (the last 90 days at today's fee share, valued at today's ETH/LPT +price, leaving out fees an orchestrator paid itself) and ranks on the yield at +today's reward cut when a cut was raised. See `lib/orchestrators/ranking.ts`. -### Run the Explorer Application +## Stack -#### Development Mode +- Next.js 16 (App Router), React 19, TypeScript +- Tailwind CSS v4 with the Livepeer Design System tokens (`app/globals.css`), + from the Livepeer UI registry (`livepeer.peaceno.de`) +- Base UI primitives in `components/ui`, Lucide icons, Motion +- TanStack Query over plain GraphQL `fetch` (`lib/subgraph`) +- wagmi + viem + RainbowKit for wallets and transactions +- Recharts for charts -To run the application in development mode, which enables hot-reloading (automatic server restarts upon code changes), use the following command: +## Getting started ```bash +pnpm install +cp .env.example .env # all values are optional pnpm dev ``` -This will start the application and deploy changes to your browser without needing to restart the server manually. - -#### Production Mode - -To run the application in production mode, follow these steps: - -1. **Build the Application:** - - Compile and optimize the application for production by running: - - ```bash - pnpm build - ``` - -2. **Start the Production Server:** - - After building, start the application in production mode with: - - ```bash - pnpm start - ``` - -## Key Environment Variables - -| Environment Variable | Description | -| --------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `PINATA_JWT` | JWT token used to create Polls data in IPFS for LIPs. | -| `NEXT_PUBLIC_NETWORK` | The network/chain the Explorer will interact with. The default is `ARBITRUM_ONE`. | -| `NEXT_PUBLIC_INFURA_KEY` | The private API key used to interact with the Infura RPC endpoints. If you prefer to use your own RPC, you can ignore this and instead set the RPC URLs in `NEXT_PUBLIC_L1_RPC_URL` and `NEXT_PUBLIC_L2_RPC_URL`. | -| `NEXT_PUBLIC_L1_RPC_URL` (Optional) | The L1 RPC URL endpoint to use if not using Infura, or as a supplementary fallback. | -| `NEXT_PUBLIC_L2_RPC_URL` (Optional) | The L2 RPC URL endpoint to use if not using Infura, or as a supplementary fallback. | -| `NEXT_PUBLIC_SUBGRAPH_API_KEY` | The API key to interact with the Livepeer published subgraph. This is used for various functions such as displaying current round data. | -| `NEXT_PUBLIC_SUBGRAPH_ID` | The ID of the Livepeer published subgraph. This is used for various functions such as displaying current round data. | -| `NEXT_PUBLIC_SUBGRAPH_ENDPOINT` | Optional override for the subgraph URL. Must be a full URL (for example, a gateway deployments URL or a Studio URL). | -| `NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID` | WalletConnect (Reown) Cloud Project ID. Used to enhance wallet UX for users of Explorer. | -| `NEXT_PUBLIC_METRICS_SERVER_URL` | The Transcoding performance API server used by Explorer. | -| `NEXT_PUBLIC_AI_METRICS_SERVER_URL` | The AI performance API server used by Explorer. | - -## Testing LIPs - -To test Livepeer Improvement Proposals (LIPs), follow these steps: - -1. **Set the GitHub Namespace:** - - In your `.env` file, set the `NEXT_PUBLIC_GITHUB_LIP_NAMESPACE` variable to your GitHub username: - - ```env - NEXT_PUBLIC_GITHUB_LIP_NAMESPACE=your_github_username - ``` - -2. **Fork the LIPs Repository:** - - Fork the [LIPs repository](https://github.com/livepeer/LIPs) to your GitHub account. - -3. **Use Your Fork for Local Testing:** - - With the namespace and your forked repository, you can now test LIPs locally within the application. - ---- +With no environment set, the app uses the rate-limited Subgraph Studio URL and +public RPCs, which is fine for local development. + +### Environment + +| Variable | Purpose | +| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | +| `NEXT_PUBLIC_SUBGRAPH_API_KEY` | Graph gateway key for the published subgraph. Used from the browser, so restrict it to your domains. | +| `NEXT_PUBLIC_SUBGRAPH_DEPLOYMENT` | Pins one subgraph version by deployment id (`Qm…`). | +| `NEXT_PUBLIC_SUBGRAPH_ENDPOINT` | Full subgraph URL; overrides the two above. | +| `NEXT_PUBLIC_INFURA_KEY`, `NEXT_PUBLIC_L1_RPC_URL`, `NEXT_PUBLIC_L2_RPC_URL` | RPC endpoints (Arbitrum for staking, mainnet for ENS). | +| `NEXT_PUBLIC_REOWN_PROJECT_ID` | Reown (WalletConnect) project; its allowlist must include each domain the app runs on. | +| `SITE_URL` | Absolute URLs for share images. | +| `PINATA_JWT` | Pins LIP text to IPFS when creating a poll. Server-only. | +| `GITHUB_ACCESS_TOKEN` | Optional; raises the GitHub rate limit for reading LIPs. Server-only. | + +## Scripts + +| Command | | +| --------------------------- | ------------------------------------------------------------------------ | +| `pnpm dev` | Dev server | +| `pnpm build` / `pnpm start` | Production build / serve | +| `pnpm lint` | ESLint, zero warnings | +| `pnpm typecheck` | `tsc --noEmit` | +| `pnpm format` | Prettier | +| `pnpm test` | Jest (portfolio maths, orchestrator ranking, paging, governance, CSV, …) | + +`scripts/mock` contains a local mock of the subgraph and a Playwright +screenshot script for working on the UI offline. + +## Design conventions + +These follow the Livepeer Design System so Livepeer products feel like one +family: + +- **Ink and paper.** Neutral surfaces; Livepeer green is an accent for status, + liveness, positive deltas and focus — never a button fill. +- **One primary action per panel**; everything else is outline or ghost. +- **Section titles sit above cards**, not inside them. +- **Sans for language, mono for quantity.** Figures in columns use + `font-mono tabular-nums`; the hero number uses proportional figures. +- **Charts:** fixed series colours (`--series-1…7`), 2px lines, hairline + grids, no legend for a single series, never a second y-axis. +- **Honest UI:** no invented numbers — unknown values render as "—". + +## Contributing + +See [CONTRIBUTING.md](CONTRIBUTING.md). diff --git a/apollo/createSchema.ts b/apollo/createSchema.ts deleted file mode 100644 index 8a57b16b..00000000 --- a/apollo/createSchema.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { introspectSchema, wrapSchema } from "@graphql-tools/wrap"; -import { print } from "graphql"; -import fetch from "isomorphic-unfetch"; - -import { CHAIN_INFO, DEFAULT_CHAIN_ID } from "lib/chains"; - -const createSchema = async () => { - const executor = (async ({ document, variables }) => { - const query = print(document); - const fetchResult = await fetch(CHAIN_INFO[DEFAULT_CHAIN_ID].subgraph, { - method: "POST", - headers: { - "Content-Type": "application/json", - }, - body: JSON.stringify({ query, variables }), - }); - - return fetchResult.json(); - }) as any; - - const subgraphSchema = wrapSchema({ - schema: await introspectSchema(executor), - executor, - }); - - return subgraphSchema; -}; - -export default createSchema; diff --git a/apollo/index.tsx b/apollo/index.tsx deleted file mode 100644 index a6244d90..00000000 --- a/apollo/index.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import { ApolloClient, HttpLink, InMemoryCache } from "@apollo/client"; -import { CHAIN_INFO, DEFAULT_CHAIN_ID } from "lib/chains"; -import { useMemo } from "react"; - -export * from "./subgraph"; - -export const client = new ApolloClient({ - link: new HttpLink({ - uri: CHAIN_INFO[DEFAULT_CHAIN_ID].subgraph, - }), - cache: new InMemoryCache(), -}); - -export function getApollo() { - return client; -} - -export function useApollo() { - const store = useMemo(() => getApollo(), []); - return store; -} diff --git a/apollo/subgraph.ts b/apollo/subgraph.ts deleted file mode 100644 index 6a2d9093..00000000 --- a/apollo/subgraph.ts +++ /dev/null @@ -1,11639 +0,0 @@ -/** - * @generated - * This file was automatically generated and should not be edited. - * To add new queries, mutations, or subscriptions, create or update files in the queries folder. - */ - -import { gql } from '@apollo/client'; -import * as Apollo from '@apollo/client'; -export type Maybe = T | null; -export type InputMaybe = Maybe; -export type Exact = { [K in keyof T]: T[K] }; -export type MakeOptional = Omit & { [SubKey in K]?: Maybe }; -export type MakeMaybe = Omit & { [SubKey in K]: Maybe }; -const defaultOptions = {} as const; -/** All built-in and custom scalars, mapped to their actual values */ -export type Scalars = { - ID: string; - String: string; - Boolean: boolean; - Int: number; - Float: number; - BigDecimal: string; - BigInt: string; - Bytes: any; - Int8: any; - Timestamp: any; -}; - -/** Indicates whether the current, partially filled bucket should be included in the response. Defaults to `exclude` */ -export enum Aggregation_Current { - /** Exclude the current, partially filled bucket from the response */ - Exclude = 'exclude', - /** Include the current, partially filled bucket in the response */ - Include = 'include' -} - -export enum Aggregation_Interval { - Day = 'day', - Hour = 'hour' -} - -export type BlockChangedFilter = { - number_gte: Scalars['Int']; -}; - -export type Block_Height = { - hash?: InputMaybe; - number?: InputMaybe; - number_gte?: InputMaybe; -}; - -/** BondEvent entities are created for every emitted Bond event. */ -export type BondEvent = Event & { - __typename: 'BondEvent'; - /** Additional amount added to bonded amount */ - additionalAmount: Scalars['BigDecimal']; - /** Delegator's current total bonded amount */ - bondedAmount: Scalars['BigDecimal']; - /** Reference to the Delegator that bonded */ - delegator: Delegator; - /** Ethereum transaction hash + event log index */ - id: Scalars['ID']; - /** Reference to the Delegator's new delegate */ - newDelegate: Transcoder; - /** Reference to the Delegator's old delegate */ - oldDelegate?: Maybe; - /** Reference to the round the event occured in */ - round: Round; - /** Timestamp of the transaction the event was included in, used to sort */ - timestamp: Scalars['Int']; - /** Reference to the transaction the event was included in */ - transaction: Transaction; -}; - -export type BondEvent_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - additionalAmount?: InputMaybe; - additionalAmount_gt?: InputMaybe; - additionalAmount_gte?: InputMaybe; - additionalAmount_in?: InputMaybe>; - additionalAmount_lt?: InputMaybe; - additionalAmount_lte?: InputMaybe; - additionalAmount_not?: InputMaybe; - additionalAmount_not_in?: InputMaybe>; - and?: InputMaybe>>; - bondedAmount?: InputMaybe; - bondedAmount_gt?: InputMaybe; - bondedAmount_gte?: InputMaybe; - bondedAmount_in?: InputMaybe>; - bondedAmount_lt?: InputMaybe; - bondedAmount_lte?: InputMaybe; - bondedAmount_not?: InputMaybe; - bondedAmount_not_in?: InputMaybe>; - delegator?: InputMaybe; - delegator_?: InputMaybe; - delegator_contains?: InputMaybe; - delegator_contains_nocase?: InputMaybe; - delegator_ends_with?: InputMaybe; - delegator_ends_with_nocase?: InputMaybe; - delegator_gt?: InputMaybe; - delegator_gte?: InputMaybe; - delegator_in?: InputMaybe>; - delegator_lt?: InputMaybe; - delegator_lte?: InputMaybe; - delegator_not?: InputMaybe; - delegator_not_contains?: InputMaybe; - delegator_not_contains_nocase?: InputMaybe; - delegator_not_ends_with?: InputMaybe; - delegator_not_ends_with_nocase?: InputMaybe; - delegator_not_in?: InputMaybe>; - delegator_not_starts_with?: InputMaybe; - delegator_not_starts_with_nocase?: InputMaybe; - delegator_starts_with?: InputMaybe; - delegator_starts_with_nocase?: InputMaybe; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - newDelegate?: InputMaybe; - newDelegate_?: InputMaybe; - newDelegate_contains?: InputMaybe; - newDelegate_contains_nocase?: InputMaybe; - newDelegate_ends_with?: InputMaybe; - newDelegate_ends_with_nocase?: InputMaybe; - newDelegate_gt?: InputMaybe; - newDelegate_gte?: InputMaybe; - newDelegate_in?: InputMaybe>; - newDelegate_lt?: InputMaybe; - newDelegate_lte?: InputMaybe; - newDelegate_not?: InputMaybe; - newDelegate_not_contains?: InputMaybe; - newDelegate_not_contains_nocase?: InputMaybe; - newDelegate_not_ends_with?: InputMaybe; - newDelegate_not_ends_with_nocase?: InputMaybe; - newDelegate_not_in?: InputMaybe>; - newDelegate_not_starts_with?: InputMaybe; - newDelegate_not_starts_with_nocase?: InputMaybe; - newDelegate_starts_with?: InputMaybe; - newDelegate_starts_with_nocase?: InputMaybe; - oldDelegate?: InputMaybe; - oldDelegate_?: InputMaybe; - oldDelegate_contains?: InputMaybe; - oldDelegate_contains_nocase?: InputMaybe; - oldDelegate_ends_with?: InputMaybe; - oldDelegate_ends_with_nocase?: InputMaybe; - oldDelegate_gt?: InputMaybe; - oldDelegate_gte?: InputMaybe; - oldDelegate_in?: InputMaybe>; - oldDelegate_lt?: InputMaybe; - oldDelegate_lte?: InputMaybe; - oldDelegate_not?: InputMaybe; - oldDelegate_not_contains?: InputMaybe; - oldDelegate_not_contains_nocase?: InputMaybe; - oldDelegate_not_ends_with?: InputMaybe; - oldDelegate_not_ends_with_nocase?: InputMaybe; - oldDelegate_not_in?: InputMaybe>; - oldDelegate_not_starts_with?: InputMaybe; - oldDelegate_not_starts_with_nocase?: InputMaybe; - oldDelegate_starts_with?: InputMaybe; - oldDelegate_starts_with_nocase?: InputMaybe; - or?: InputMaybe>>; - round?: InputMaybe; - round_?: InputMaybe; - round_contains?: InputMaybe; - round_contains_nocase?: InputMaybe; - round_ends_with?: InputMaybe; - round_ends_with_nocase?: InputMaybe; - round_gt?: InputMaybe; - round_gte?: InputMaybe; - round_in?: InputMaybe>; - round_lt?: InputMaybe; - round_lte?: InputMaybe; - round_not?: InputMaybe; - round_not_contains?: InputMaybe; - round_not_contains_nocase?: InputMaybe; - round_not_ends_with?: InputMaybe; - round_not_ends_with_nocase?: InputMaybe; - round_not_in?: InputMaybe>; - round_not_starts_with?: InputMaybe; - round_not_starts_with_nocase?: InputMaybe; - round_starts_with?: InputMaybe; - round_starts_with_nocase?: InputMaybe; - timestamp?: InputMaybe; - timestamp_gt?: InputMaybe; - timestamp_gte?: InputMaybe; - timestamp_in?: InputMaybe>; - timestamp_lt?: InputMaybe; - timestamp_lte?: InputMaybe; - timestamp_not?: InputMaybe; - timestamp_not_in?: InputMaybe>; - transaction?: InputMaybe; - transaction_?: InputMaybe; - transaction_contains?: InputMaybe; - transaction_contains_nocase?: InputMaybe; - transaction_ends_with?: InputMaybe; - transaction_ends_with_nocase?: InputMaybe; - transaction_gt?: InputMaybe; - transaction_gte?: InputMaybe; - transaction_in?: InputMaybe>; - transaction_lt?: InputMaybe; - transaction_lte?: InputMaybe; - transaction_not?: InputMaybe; - transaction_not_contains?: InputMaybe; - transaction_not_contains_nocase?: InputMaybe; - transaction_not_ends_with?: InputMaybe; - transaction_not_ends_with_nocase?: InputMaybe; - transaction_not_in?: InputMaybe>; - transaction_not_starts_with?: InputMaybe; - transaction_not_starts_with_nocase?: InputMaybe; - transaction_starts_with?: InputMaybe; - transaction_starts_with_nocase?: InputMaybe; -}; - -export enum BondEvent_OrderBy { - AdditionalAmount = 'additionalAmount', - BondedAmount = 'bondedAmount', - Delegator = 'delegator', - DelegatorBondedAmount = 'delegator__bondedAmount', - DelegatorDelegatedAmount = 'delegator__delegatedAmount', - DelegatorFees = 'delegator__fees', - DelegatorId = 'delegator__id', - DelegatorPrincipal = 'delegator__principal', - DelegatorStartRound = 'delegator__startRound', - DelegatorUnbonded = 'delegator__unbonded', - DelegatorWithdrawnFees = 'delegator__withdrawnFees', - Id = 'id', - NewDelegate = 'newDelegate', - NewDelegateActivationRound = 'newDelegate__activationRound', - NewDelegateActivationTimestamp = 'newDelegate__activationTimestamp', - NewDelegateActive = 'newDelegate__active', - NewDelegateDeactivationRound = 'newDelegate__deactivationRound', - NewDelegateFeeShare = 'newDelegate__feeShare', - NewDelegateFeeShareUpdateTimestamp = 'newDelegate__feeShareUpdateTimestamp', - NewDelegateId = 'newDelegate__id', - NewDelegateLastActiveStakeUpdateRound = 'newDelegate__lastActiveStakeUpdateRound', - NewDelegateNinetyDayVolumeEth = 'newDelegate__ninetyDayVolumeETH', - NewDelegateRewardCaller = 'newDelegate__rewardCaller', - NewDelegateRewardCut = 'newDelegate__rewardCut', - NewDelegateRewardCutUpdateTimestamp = 'newDelegate__rewardCutUpdateTimestamp', - NewDelegateServiceUri = 'newDelegate__serviceURI', - NewDelegateSixtyDayVolumeEth = 'newDelegate__sixtyDayVolumeETH', - NewDelegateStatus = 'newDelegate__status', - NewDelegateThirtyDayVolumeEth = 'newDelegate__thirtyDayVolumeETH', - NewDelegateTotalStake = 'newDelegate__totalStake', - NewDelegateTotalVolumeEth = 'newDelegate__totalVolumeETH', - NewDelegateTotalVolumeUsd = 'newDelegate__totalVolumeUSD', - OldDelegate = 'oldDelegate', - OldDelegateActivationRound = 'oldDelegate__activationRound', - OldDelegateActivationTimestamp = 'oldDelegate__activationTimestamp', - OldDelegateActive = 'oldDelegate__active', - OldDelegateDeactivationRound = 'oldDelegate__deactivationRound', - OldDelegateFeeShare = 'oldDelegate__feeShare', - OldDelegateFeeShareUpdateTimestamp = 'oldDelegate__feeShareUpdateTimestamp', - OldDelegateId = 'oldDelegate__id', - OldDelegateLastActiveStakeUpdateRound = 'oldDelegate__lastActiveStakeUpdateRound', - OldDelegateNinetyDayVolumeEth = 'oldDelegate__ninetyDayVolumeETH', - OldDelegateRewardCaller = 'oldDelegate__rewardCaller', - OldDelegateRewardCut = 'oldDelegate__rewardCut', - OldDelegateRewardCutUpdateTimestamp = 'oldDelegate__rewardCutUpdateTimestamp', - OldDelegateServiceUri = 'oldDelegate__serviceURI', - OldDelegateSixtyDayVolumeEth = 'oldDelegate__sixtyDayVolumeETH', - OldDelegateStatus = 'oldDelegate__status', - OldDelegateThirtyDayVolumeEth = 'oldDelegate__thirtyDayVolumeETH', - OldDelegateTotalStake = 'oldDelegate__totalStake', - OldDelegateTotalVolumeEth = 'oldDelegate__totalVolumeETH', - OldDelegateTotalVolumeUsd = 'oldDelegate__totalVolumeUSD', - Round = 'round', - RoundActiveTranscoderCount = 'round__activeTranscoderCount', - RoundDelegatorsCount = 'round__delegatorsCount', - RoundEndBlock = 'round__endBlock', - RoundId = 'round__id', - RoundInflation = 'round__inflation', - RoundInitialized = 'round__initialized', - RoundLength = 'round__length', - RoundMintableTokens = 'round__mintableTokens', - RoundMovedStake = 'round__movedStake', - RoundNewStake = 'round__newStake', - RoundNumActiveTranscoders = 'round__numActiveTranscoders', - RoundParticipationRate = 'round__participationRate', - RoundStartBlock = 'round__startBlock', - RoundStartTimestamp = 'round__startTimestamp', - RoundTotalActiveStake = 'round__totalActiveStake', - RoundTotalSupply = 'round__totalSupply', - RoundVolumeEth = 'round__volumeETH', - RoundVolumeUsd = 'round__volumeUSD', - Timestamp = 'timestamp', - Transaction = 'transaction', - TransactionBlockNumber = 'transaction__blockNumber', - TransactionFrom = 'transaction__from', - TransactionGasPrice = 'transaction__gasPrice', - TransactionGasUsed = 'transaction__gasUsed', - TransactionId = 'transaction__id', - TransactionTimestamp = 'transaction__timestamp', - TransactionTo = 'transaction__to' -} - -/** Broadcasters pay transcoders to do the work of transcoding in exchange for fees */ -export type Broadcaster = { - __typename: 'Broadcaster'; - /** Days in which this broadcaster paid out fees */ - broadcasterDays: Array; - /** Amount of funds deposited */ - deposit: Scalars['BigDecimal']; - /** The date this broadcaster first funded a deposit or reserve, beginning at 12:00am UTC */ - firstActiveDay: Scalars['Int']; - /** The date this broadcaster first funded a deposit or reserve, beginning at 12:00am UTC */ - firstFundedDay: Scalars['Int']; - /** ETH address of a broadcaster */ - id: Scalars['ID']; - /** The date this broadcaster last paid fees, beginning at 12:00am UTC */ - lastActiveDay: Scalars['Int']; - /** The date this broadcaster last paid fees, beginning at 12:00am UTC */ - lastFundedDay: Scalars['Int']; - /** Fees paid out by this broadcaster in ETH during the last 90 days */ - ninetyDayVolumeETH: Scalars['BigDecimal']; - /** Amount of funds in reserve */ - reserve: Scalars['BigDecimal']; - /** Fees paid out by this broadcaster in ETH during the last 60 days */ - sixtyDayVolumeETH: Scalars['BigDecimal']; - /** Fees paid out by this broadcaster in ETH during the last 30 days */ - thirtyDayVolumeETH: Scalars['BigDecimal']; - /** Total fees paid out by this broadcaster in ETH */ - totalVolumeETH: Scalars['BigDecimal']; - /** Total fees paid out by this broadcaster in USD */ - totalVolumeUSD: Scalars['BigDecimal']; -}; - - -/** Broadcasters pay transcoders to do the work of transcoding in exchange for fees */ -export type BroadcasterBroadcasterDaysArgs = { - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - where?: InputMaybe; -}; - -/** Broadcaster data accumulated and condensed into day stats */ -export type BroadcasterDay = { - __typename: 'BroadcasterDay'; - /** Broadcaster associated with the day */ - broadcaster: Broadcaster; - /** The date beginning at 12:00am UTC */ - date: Scalars['Int']; - /** Concatenation of the broadcaster address and the day timestamp (e.g.
-) */ - id: Scalars['ID']; - /** Fees paid this day in ETH */ - volumeETH: Scalars['BigDecimal']; - /** Fees paid this day in USD */ - volumeUSD: Scalars['BigDecimal']; -}; - -export type BroadcasterDay_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - and?: InputMaybe>>; - broadcaster?: InputMaybe; - broadcaster_?: InputMaybe; - broadcaster_contains?: InputMaybe; - broadcaster_contains_nocase?: InputMaybe; - broadcaster_ends_with?: InputMaybe; - broadcaster_ends_with_nocase?: InputMaybe; - broadcaster_gt?: InputMaybe; - broadcaster_gte?: InputMaybe; - broadcaster_in?: InputMaybe>; - broadcaster_lt?: InputMaybe; - broadcaster_lte?: InputMaybe; - broadcaster_not?: InputMaybe; - broadcaster_not_contains?: InputMaybe; - broadcaster_not_contains_nocase?: InputMaybe; - broadcaster_not_ends_with?: InputMaybe; - broadcaster_not_ends_with_nocase?: InputMaybe; - broadcaster_not_in?: InputMaybe>; - broadcaster_not_starts_with?: InputMaybe; - broadcaster_not_starts_with_nocase?: InputMaybe; - broadcaster_starts_with?: InputMaybe; - broadcaster_starts_with_nocase?: InputMaybe; - date?: InputMaybe; - date_gt?: InputMaybe; - date_gte?: InputMaybe; - date_in?: InputMaybe>; - date_lt?: InputMaybe; - date_lte?: InputMaybe; - date_not?: InputMaybe; - date_not_in?: InputMaybe>; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - or?: InputMaybe>>; - volumeETH?: InputMaybe; - volumeETH_gt?: InputMaybe; - volumeETH_gte?: InputMaybe; - volumeETH_in?: InputMaybe>; - volumeETH_lt?: InputMaybe; - volumeETH_lte?: InputMaybe; - volumeETH_not?: InputMaybe; - volumeETH_not_in?: InputMaybe>; - volumeUSD?: InputMaybe; - volumeUSD_gt?: InputMaybe; - volumeUSD_gte?: InputMaybe; - volumeUSD_in?: InputMaybe>; - volumeUSD_lt?: InputMaybe; - volumeUSD_lte?: InputMaybe; - volumeUSD_not?: InputMaybe; - volumeUSD_not_in?: InputMaybe>; -}; - -export enum BroadcasterDay_OrderBy { - Broadcaster = 'broadcaster', - BroadcasterDeposit = 'broadcaster__deposit', - BroadcasterFirstActiveDay = 'broadcaster__firstActiveDay', - BroadcasterFirstFundedDay = 'broadcaster__firstFundedDay', - BroadcasterId = 'broadcaster__id', - BroadcasterLastActiveDay = 'broadcaster__lastActiveDay', - BroadcasterLastFundedDay = 'broadcaster__lastFundedDay', - BroadcasterNinetyDayVolumeEth = 'broadcaster__ninetyDayVolumeETH', - BroadcasterReserve = 'broadcaster__reserve', - BroadcasterSixtyDayVolumeEth = 'broadcaster__sixtyDayVolumeETH', - BroadcasterThirtyDayVolumeEth = 'broadcaster__thirtyDayVolumeETH', - BroadcasterTotalVolumeEth = 'broadcaster__totalVolumeETH', - BroadcasterTotalVolumeUsd = 'broadcaster__totalVolumeUSD', - Date = 'date', - Id = 'id', - VolumeEth = 'volumeETH', - VolumeUsd = 'volumeUSD' -} - -export type Broadcaster_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - and?: InputMaybe>>; - broadcasterDays?: InputMaybe>; - broadcasterDays_?: InputMaybe; - broadcasterDays_contains?: InputMaybe>; - broadcasterDays_contains_nocase?: InputMaybe>; - broadcasterDays_not?: InputMaybe>; - broadcasterDays_not_contains?: InputMaybe>; - broadcasterDays_not_contains_nocase?: InputMaybe>; - deposit?: InputMaybe; - deposit_gt?: InputMaybe; - deposit_gte?: InputMaybe; - deposit_in?: InputMaybe>; - deposit_lt?: InputMaybe; - deposit_lte?: InputMaybe; - deposit_not?: InputMaybe; - deposit_not_in?: InputMaybe>; - firstActiveDay?: InputMaybe; - firstActiveDay_gt?: InputMaybe; - firstActiveDay_gte?: InputMaybe; - firstActiveDay_in?: InputMaybe>; - firstActiveDay_lt?: InputMaybe; - firstActiveDay_lte?: InputMaybe; - firstActiveDay_not?: InputMaybe; - firstActiveDay_not_in?: InputMaybe>; - firstFundedDay?: InputMaybe; - firstFundedDay_gt?: InputMaybe; - firstFundedDay_gte?: InputMaybe; - firstFundedDay_in?: InputMaybe>; - firstFundedDay_lt?: InputMaybe; - firstFundedDay_lte?: InputMaybe; - firstFundedDay_not?: InputMaybe; - firstFundedDay_not_in?: InputMaybe>; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - lastActiveDay?: InputMaybe; - lastActiveDay_gt?: InputMaybe; - lastActiveDay_gte?: InputMaybe; - lastActiveDay_in?: InputMaybe>; - lastActiveDay_lt?: InputMaybe; - lastActiveDay_lte?: InputMaybe; - lastActiveDay_not?: InputMaybe; - lastActiveDay_not_in?: InputMaybe>; - lastFundedDay?: InputMaybe; - lastFundedDay_gt?: InputMaybe; - lastFundedDay_gte?: InputMaybe; - lastFundedDay_in?: InputMaybe>; - lastFundedDay_lt?: InputMaybe; - lastFundedDay_lte?: InputMaybe; - lastFundedDay_not?: InputMaybe; - lastFundedDay_not_in?: InputMaybe>; - ninetyDayVolumeETH?: InputMaybe; - ninetyDayVolumeETH_gt?: InputMaybe; - ninetyDayVolumeETH_gte?: InputMaybe; - ninetyDayVolumeETH_in?: InputMaybe>; - ninetyDayVolumeETH_lt?: InputMaybe; - ninetyDayVolumeETH_lte?: InputMaybe; - ninetyDayVolumeETH_not?: InputMaybe; - ninetyDayVolumeETH_not_in?: InputMaybe>; - or?: InputMaybe>>; - reserve?: InputMaybe; - reserve_gt?: InputMaybe; - reserve_gte?: InputMaybe; - reserve_in?: InputMaybe>; - reserve_lt?: InputMaybe; - reserve_lte?: InputMaybe; - reserve_not?: InputMaybe; - reserve_not_in?: InputMaybe>; - sixtyDayVolumeETH?: InputMaybe; - sixtyDayVolumeETH_gt?: InputMaybe; - sixtyDayVolumeETH_gte?: InputMaybe; - sixtyDayVolumeETH_in?: InputMaybe>; - sixtyDayVolumeETH_lt?: InputMaybe; - sixtyDayVolumeETH_lte?: InputMaybe; - sixtyDayVolumeETH_not?: InputMaybe; - sixtyDayVolumeETH_not_in?: InputMaybe>; - thirtyDayVolumeETH?: InputMaybe; - thirtyDayVolumeETH_gt?: InputMaybe; - thirtyDayVolumeETH_gte?: InputMaybe; - thirtyDayVolumeETH_in?: InputMaybe>; - thirtyDayVolumeETH_lt?: InputMaybe; - thirtyDayVolumeETH_lte?: InputMaybe; - thirtyDayVolumeETH_not?: InputMaybe; - thirtyDayVolumeETH_not_in?: InputMaybe>; - totalVolumeETH?: InputMaybe; - totalVolumeETH_gt?: InputMaybe; - totalVolumeETH_gte?: InputMaybe; - totalVolumeETH_in?: InputMaybe>; - totalVolumeETH_lt?: InputMaybe; - totalVolumeETH_lte?: InputMaybe; - totalVolumeETH_not?: InputMaybe; - totalVolumeETH_not_in?: InputMaybe>; - totalVolumeUSD?: InputMaybe; - totalVolumeUSD_gt?: InputMaybe; - totalVolumeUSD_gte?: InputMaybe; - totalVolumeUSD_in?: InputMaybe>; - totalVolumeUSD_lt?: InputMaybe; - totalVolumeUSD_lte?: InputMaybe; - totalVolumeUSD_not?: InputMaybe; - totalVolumeUSD_not_in?: InputMaybe>; -}; - -export enum Broadcaster_OrderBy { - BroadcasterDays = 'broadcasterDays', - Deposit = 'deposit', - FirstActiveDay = 'firstActiveDay', - FirstFundedDay = 'firstFundedDay', - Id = 'id', - LastActiveDay = 'lastActiveDay', - LastFundedDay = 'lastFundedDay', - NinetyDayVolumeEth = 'ninetyDayVolumeETH', - Reserve = 'reserve', - SixtyDayVolumeEth = 'sixtyDayVolumeETH', - ThirtyDayVolumeEth = 'thirtyDayVolumeETH', - TotalVolumeEth = 'totalVolumeETH', - TotalVolumeUsd = 'totalVolumeUSD' -} - -/** BurnEvent entities are created for every emitted Burn event. */ -export type BurnEvent = Event & { - __typename: 'BurnEvent'; - /** Ethereum transaction hash + event log index */ - id: Scalars['ID']; - /** Reference to the round the event occured in */ - round: Round; - /** Timestamp of the transaction the event was included in */ - timestamp: Scalars['Int']; - /** Reference to the transaction the event was included in */ - transaction: Transaction; - /** Amount of tokens burned */ - value: Scalars['BigDecimal']; -}; - -export type BurnEvent_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - and?: InputMaybe>>; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - or?: InputMaybe>>; - round?: InputMaybe; - round_?: InputMaybe; - round_contains?: InputMaybe; - round_contains_nocase?: InputMaybe; - round_ends_with?: InputMaybe; - round_ends_with_nocase?: InputMaybe; - round_gt?: InputMaybe; - round_gte?: InputMaybe; - round_in?: InputMaybe>; - round_lt?: InputMaybe; - round_lte?: InputMaybe; - round_not?: InputMaybe; - round_not_contains?: InputMaybe; - round_not_contains_nocase?: InputMaybe; - round_not_ends_with?: InputMaybe; - round_not_ends_with_nocase?: InputMaybe; - round_not_in?: InputMaybe>; - round_not_starts_with?: InputMaybe; - round_not_starts_with_nocase?: InputMaybe; - round_starts_with?: InputMaybe; - round_starts_with_nocase?: InputMaybe; - timestamp?: InputMaybe; - timestamp_gt?: InputMaybe; - timestamp_gte?: InputMaybe; - timestamp_in?: InputMaybe>; - timestamp_lt?: InputMaybe; - timestamp_lte?: InputMaybe; - timestamp_not?: InputMaybe; - timestamp_not_in?: InputMaybe>; - transaction?: InputMaybe; - transaction_?: InputMaybe; - transaction_contains?: InputMaybe; - transaction_contains_nocase?: InputMaybe; - transaction_ends_with?: InputMaybe; - transaction_ends_with_nocase?: InputMaybe; - transaction_gt?: InputMaybe; - transaction_gte?: InputMaybe; - transaction_in?: InputMaybe>; - transaction_lt?: InputMaybe; - transaction_lte?: InputMaybe; - transaction_not?: InputMaybe; - transaction_not_contains?: InputMaybe; - transaction_not_contains_nocase?: InputMaybe; - transaction_not_ends_with?: InputMaybe; - transaction_not_ends_with_nocase?: InputMaybe; - transaction_not_in?: InputMaybe>; - transaction_not_starts_with?: InputMaybe; - transaction_not_starts_with_nocase?: InputMaybe; - transaction_starts_with?: InputMaybe; - transaction_starts_with_nocase?: InputMaybe; - value?: InputMaybe; - value_gt?: InputMaybe; - value_gte?: InputMaybe; - value_in?: InputMaybe>; - value_lt?: InputMaybe; - value_lte?: InputMaybe; - value_not?: InputMaybe; - value_not_in?: InputMaybe>; -}; - -export enum BurnEvent_OrderBy { - Id = 'id', - Round = 'round', - RoundActiveTranscoderCount = 'round__activeTranscoderCount', - RoundDelegatorsCount = 'round__delegatorsCount', - RoundEndBlock = 'round__endBlock', - RoundId = 'round__id', - RoundInflation = 'round__inflation', - RoundInitialized = 'round__initialized', - RoundLength = 'round__length', - RoundMintableTokens = 'round__mintableTokens', - RoundMovedStake = 'round__movedStake', - RoundNewStake = 'round__newStake', - RoundNumActiveTranscoders = 'round__numActiveTranscoders', - RoundParticipationRate = 'round__participationRate', - RoundStartBlock = 'round__startBlock', - RoundStartTimestamp = 'round__startTimestamp', - RoundTotalActiveStake = 'round__totalActiveStake', - RoundTotalSupply = 'round__totalSupply', - RoundVolumeEth = 'round__volumeETH', - RoundVolumeUsd = 'round__volumeUSD', - Timestamp = 'timestamp', - Transaction = 'transaction', - TransactionBlockNumber = 'transaction__blockNumber', - TransactionFrom = 'transaction__from', - TransactionGasPrice = 'transaction__gasPrice', - TransactionGasUsed = 'transaction__gasUsed', - TransactionId = 'transaction__id', - TransactionTimestamp = 'transaction__timestamp', - TransactionTo = 'transaction__to', - Value = 'value' -} - -/** Protocol data accumulated and condensed into day stats */ -export type Day = { - __typename: 'Day'; - /** Total active transcoders (up to the limit) */ - activeTranscoderCount: Scalars['BigInt']; - /** The date beginning at 12:00am UTC */ - date: Scalars['Int']; - /** Total number of delegators at the start of the round */ - delegatorsCount: Scalars['BigInt']; - /** Timestamp rounded to current day by dividing by 86400 */ - id: Scalars['ID']; - /** Per round inflation rate */ - inflation: Scalars['BigInt']; - /** Limit of active transcoders */ - numActiveTranscoders: Scalars['BigInt']; - /** Participation rate during the day (totalActiveStake/totalSupply) */ - participationRate: Scalars['BigDecimal']; - /** Total active stake during the day */ - totalActiveStake: Scalars['BigDecimal']; - /** Total Livepeer token supply during the day */ - totalSupply: Scalars['BigDecimal']; - /** Fees generated this day in ETH */ - volumeETH: Scalars['BigDecimal']; - /** Fees generated this day in USD */ - volumeUSD: Scalars['BigDecimal']; -}; - -export type Day_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - activeTranscoderCount?: InputMaybe; - activeTranscoderCount_gt?: InputMaybe; - activeTranscoderCount_gte?: InputMaybe; - activeTranscoderCount_in?: InputMaybe>; - activeTranscoderCount_lt?: InputMaybe; - activeTranscoderCount_lte?: InputMaybe; - activeTranscoderCount_not?: InputMaybe; - activeTranscoderCount_not_in?: InputMaybe>; - and?: InputMaybe>>; - date?: InputMaybe; - date_gt?: InputMaybe; - date_gte?: InputMaybe; - date_in?: InputMaybe>; - date_lt?: InputMaybe; - date_lte?: InputMaybe; - date_not?: InputMaybe; - date_not_in?: InputMaybe>; - delegatorsCount?: InputMaybe; - delegatorsCount_gt?: InputMaybe; - delegatorsCount_gte?: InputMaybe; - delegatorsCount_in?: InputMaybe>; - delegatorsCount_lt?: InputMaybe; - delegatorsCount_lte?: InputMaybe; - delegatorsCount_not?: InputMaybe; - delegatorsCount_not_in?: InputMaybe>; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - inflation?: InputMaybe; - inflation_gt?: InputMaybe; - inflation_gte?: InputMaybe; - inflation_in?: InputMaybe>; - inflation_lt?: InputMaybe; - inflation_lte?: InputMaybe; - inflation_not?: InputMaybe; - inflation_not_in?: InputMaybe>; - numActiveTranscoders?: InputMaybe; - numActiveTranscoders_gt?: InputMaybe; - numActiveTranscoders_gte?: InputMaybe; - numActiveTranscoders_in?: InputMaybe>; - numActiveTranscoders_lt?: InputMaybe; - numActiveTranscoders_lte?: InputMaybe; - numActiveTranscoders_not?: InputMaybe; - numActiveTranscoders_not_in?: InputMaybe>; - or?: InputMaybe>>; - participationRate?: InputMaybe; - participationRate_gt?: InputMaybe; - participationRate_gte?: InputMaybe; - participationRate_in?: InputMaybe>; - participationRate_lt?: InputMaybe; - participationRate_lte?: InputMaybe; - participationRate_not?: InputMaybe; - participationRate_not_in?: InputMaybe>; - totalActiveStake?: InputMaybe; - totalActiveStake_gt?: InputMaybe; - totalActiveStake_gte?: InputMaybe; - totalActiveStake_in?: InputMaybe>; - totalActiveStake_lt?: InputMaybe; - totalActiveStake_lte?: InputMaybe; - totalActiveStake_not?: InputMaybe; - totalActiveStake_not_in?: InputMaybe>; - totalSupply?: InputMaybe; - totalSupply_gt?: InputMaybe; - totalSupply_gte?: InputMaybe; - totalSupply_in?: InputMaybe>; - totalSupply_lt?: InputMaybe; - totalSupply_lte?: InputMaybe; - totalSupply_not?: InputMaybe; - totalSupply_not_in?: InputMaybe>; - volumeETH?: InputMaybe; - volumeETH_gt?: InputMaybe; - volumeETH_gte?: InputMaybe; - volumeETH_in?: InputMaybe>; - volumeETH_lt?: InputMaybe; - volumeETH_lte?: InputMaybe; - volumeETH_not?: InputMaybe; - volumeETH_not_in?: InputMaybe>; - volumeUSD?: InputMaybe; - volumeUSD_gt?: InputMaybe; - volumeUSD_gte?: InputMaybe; - volumeUSD_in?: InputMaybe>; - volumeUSD_lt?: InputMaybe; - volumeUSD_lte?: InputMaybe; - volumeUSD_not?: InputMaybe; - volumeUSD_not_in?: InputMaybe>; -}; - -export enum Day_OrderBy { - ActiveTranscoderCount = 'activeTranscoderCount', - Date = 'date', - DelegatorsCount = 'delegatorsCount', - Id = 'id', - Inflation = 'inflation', - NumActiveTranscoders = 'numActiveTranscoders', - ParticipationRate = 'participationRate', - TotalActiveStake = 'totalActiveStake', - TotalSupply = 'totalSupply', - VolumeEth = 'volumeETH', - VolumeUsd = 'volumeUSD' -} - -/** Bonded accounts who have delegated their stake towards a transcoder candidate */ -export type Delegator = { - __typename: 'Delegator'; - /** Amount of Livepeer Token a delegator currently has bonded */ - bondedAmount: Scalars['BigDecimal']; - /** ETH address of the delegate (the one whom the delegator has bonded to) */ - delegate?: Maybe; - /** Amount of Livepeer Token the delegator has delegated */ - delegatedAmount: Scalars['BigDecimal']; - /** Amount of fees a delegator has collected */ - fees: Scalars['BigDecimal']; - /** ETH address of a delegator */ - id: Scalars['ID']; - /** Last round that the delegator claimed reward and fee pool shares */ - lastClaimRound?: Maybe; - /** Amount of Livepeer Token a delegator has bonded over its lifetime separate from rewards */ - principal: Scalars['BigDecimal']; - /** Round the delegator becomes bonded and delegated to its delegate */ - startRound: Scalars['BigInt']; - /** Amount of Livepeer Token a delegator has unbonded over its lifetime */ - unbonded: Scalars['BigDecimal']; - /** Unbonding locks associated with the delegator */ - unbondingLocks?: Maybe>; - /** Amount of fees withdrawn */ - withdrawnFees: Scalars['BigDecimal']; -}; - - -/** Bonded accounts who have delegated their stake towards a transcoder candidate */ -export type DelegatorUnbondingLocksArgs = { - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - where?: InputMaybe; -}; - -export type Delegator_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - and?: InputMaybe>>; - bondedAmount?: InputMaybe; - bondedAmount_gt?: InputMaybe; - bondedAmount_gte?: InputMaybe; - bondedAmount_in?: InputMaybe>; - bondedAmount_lt?: InputMaybe; - bondedAmount_lte?: InputMaybe; - bondedAmount_not?: InputMaybe; - bondedAmount_not_in?: InputMaybe>; - delegate?: InputMaybe; - delegate_?: InputMaybe; - delegate_contains?: InputMaybe; - delegate_contains_nocase?: InputMaybe; - delegate_ends_with?: InputMaybe; - delegate_ends_with_nocase?: InputMaybe; - delegate_gt?: InputMaybe; - delegate_gte?: InputMaybe; - delegate_in?: InputMaybe>; - delegate_lt?: InputMaybe; - delegate_lte?: InputMaybe; - delegate_not?: InputMaybe; - delegate_not_contains?: InputMaybe; - delegate_not_contains_nocase?: InputMaybe; - delegate_not_ends_with?: InputMaybe; - delegate_not_ends_with_nocase?: InputMaybe; - delegate_not_in?: InputMaybe>; - delegate_not_starts_with?: InputMaybe; - delegate_not_starts_with_nocase?: InputMaybe; - delegate_starts_with?: InputMaybe; - delegate_starts_with_nocase?: InputMaybe; - delegatedAmount?: InputMaybe; - delegatedAmount_gt?: InputMaybe; - delegatedAmount_gte?: InputMaybe; - delegatedAmount_in?: InputMaybe>; - delegatedAmount_lt?: InputMaybe; - delegatedAmount_lte?: InputMaybe; - delegatedAmount_not?: InputMaybe; - delegatedAmount_not_in?: InputMaybe>; - fees?: InputMaybe; - fees_gt?: InputMaybe; - fees_gte?: InputMaybe; - fees_in?: InputMaybe>; - fees_lt?: InputMaybe; - fees_lte?: InputMaybe; - fees_not?: InputMaybe; - fees_not_in?: InputMaybe>; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - lastClaimRound?: InputMaybe; - lastClaimRound_?: InputMaybe; - lastClaimRound_contains?: InputMaybe; - lastClaimRound_contains_nocase?: InputMaybe; - lastClaimRound_ends_with?: InputMaybe; - lastClaimRound_ends_with_nocase?: InputMaybe; - lastClaimRound_gt?: InputMaybe; - lastClaimRound_gte?: InputMaybe; - lastClaimRound_in?: InputMaybe>; - lastClaimRound_lt?: InputMaybe; - lastClaimRound_lte?: InputMaybe; - lastClaimRound_not?: InputMaybe; - lastClaimRound_not_contains?: InputMaybe; - lastClaimRound_not_contains_nocase?: InputMaybe; - lastClaimRound_not_ends_with?: InputMaybe; - lastClaimRound_not_ends_with_nocase?: InputMaybe; - lastClaimRound_not_in?: InputMaybe>; - lastClaimRound_not_starts_with?: InputMaybe; - lastClaimRound_not_starts_with_nocase?: InputMaybe; - lastClaimRound_starts_with?: InputMaybe; - lastClaimRound_starts_with_nocase?: InputMaybe; - or?: InputMaybe>>; - principal?: InputMaybe; - principal_gt?: InputMaybe; - principal_gte?: InputMaybe; - principal_in?: InputMaybe>; - principal_lt?: InputMaybe; - principal_lte?: InputMaybe; - principal_not?: InputMaybe; - principal_not_in?: InputMaybe>; - startRound?: InputMaybe; - startRound_gt?: InputMaybe; - startRound_gte?: InputMaybe; - startRound_in?: InputMaybe>; - startRound_lt?: InputMaybe; - startRound_lte?: InputMaybe; - startRound_not?: InputMaybe; - startRound_not_in?: InputMaybe>; - unbonded?: InputMaybe; - unbonded_gt?: InputMaybe; - unbonded_gte?: InputMaybe; - unbonded_in?: InputMaybe>; - unbonded_lt?: InputMaybe; - unbonded_lte?: InputMaybe; - unbonded_not?: InputMaybe; - unbonded_not_in?: InputMaybe>; - unbondingLocks_?: InputMaybe; - withdrawnFees?: InputMaybe; - withdrawnFees_gt?: InputMaybe; - withdrawnFees_gte?: InputMaybe; - withdrawnFees_in?: InputMaybe>; - withdrawnFees_lt?: InputMaybe; - withdrawnFees_lte?: InputMaybe; - withdrawnFees_not?: InputMaybe; - withdrawnFees_not_in?: InputMaybe>; -}; - -export enum Delegator_OrderBy { - BondedAmount = 'bondedAmount', - Delegate = 'delegate', - DelegateActivationRound = 'delegate__activationRound', - DelegateActivationTimestamp = 'delegate__activationTimestamp', - DelegateActive = 'delegate__active', - DelegateDeactivationRound = 'delegate__deactivationRound', - DelegateFeeShare = 'delegate__feeShare', - DelegateFeeShareUpdateTimestamp = 'delegate__feeShareUpdateTimestamp', - DelegateId = 'delegate__id', - DelegateLastActiveStakeUpdateRound = 'delegate__lastActiveStakeUpdateRound', - DelegateNinetyDayVolumeEth = 'delegate__ninetyDayVolumeETH', - DelegateRewardCaller = 'delegate__rewardCaller', - DelegateRewardCut = 'delegate__rewardCut', - DelegateRewardCutUpdateTimestamp = 'delegate__rewardCutUpdateTimestamp', - DelegateServiceUri = 'delegate__serviceURI', - DelegateSixtyDayVolumeEth = 'delegate__sixtyDayVolumeETH', - DelegateStatus = 'delegate__status', - DelegateThirtyDayVolumeEth = 'delegate__thirtyDayVolumeETH', - DelegateTotalStake = 'delegate__totalStake', - DelegateTotalVolumeEth = 'delegate__totalVolumeETH', - DelegateTotalVolumeUsd = 'delegate__totalVolumeUSD', - DelegatedAmount = 'delegatedAmount', - Fees = 'fees', - Id = 'id', - LastClaimRound = 'lastClaimRound', - LastClaimRoundActiveTranscoderCount = 'lastClaimRound__activeTranscoderCount', - LastClaimRoundDelegatorsCount = 'lastClaimRound__delegatorsCount', - LastClaimRoundEndBlock = 'lastClaimRound__endBlock', - LastClaimRoundId = 'lastClaimRound__id', - LastClaimRoundInflation = 'lastClaimRound__inflation', - LastClaimRoundInitialized = 'lastClaimRound__initialized', - LastClaimRoundLength = 'lastClaimRound__length', - LastClaimRoundMintableTokens = 'lastClaimRound__mintableTokens', - LastClaimRoundMovedStake = 'lastClaimRound__movedStake', - LastClaimRoundNewStake = 'lastClaimRound__newStake', - LastClaimRoundNumActiveTranscoders = 'lastClaimRound__numActiveTranscoders', - LastClaimRoundParticipationRate = 'lastClaimRound__participationRate', - LastClaimRoundStartBlock = 'lastClaimRound__startBlock', - LastClaimRoundStartTimestamp = 'lastClaimRound__startTimestamp', - LastClaimRoundTotalActiveStake = 'lastClaimRound__totalActiveStake', - LastClaimRoundTotalSupply = 'lastClaimRound__totalSupply', - LastClaimRoundVolumeEth = 'lastClaimRound__volumeETH', - LastClaimRoundVolumeUsd = 'lastClaimRound__volumeUSD', - Principal = 'principal', - StartRound = 'startRound', - Unbonded = 'unbonded', - UnbondingLocks = 'unbondingLocks', - WithdrawnFees = 'withdrawnFees' -} - -/** DepositFundedEvent entities are created for every emitted DepositFunded event. */ -export type DepositFundedEvent = Event & { - __typename: 'DepositFundedEvent'; - /** Amount of broadcasting fees deposited */ - amount: Scalars['BigDecimal']; - /** Ethereum transaction hash + event log index */ - id: Scalars['ID']; - /** Reference to the round the event occured in */ - round: Round; - /** Reference to the broadcaster that deposited the broadcasting fees */ - sender: Broadcaster; - /** Timestamp of the transaction the event was included in */ - timestamp: Scalars['Int']; - /** Reference to the transaction the event was included in */ - transaction: Transaction; -}; - -export type DepositFundedEvent_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - amount?: InputMaybe; - amount_gt?: InputMaybe; - amount_gte?: InputMaybe; - amount_in?: InputMaybe>; - amount_lt?: InputMaybe; - amount_lte?: InputMaybe; - amount_not?: InputMaybe; - amount_not_in?: InputMaybe>; - and?: InputMaybe>>; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - or?: InputMaybe>>; - round?: InputMaybe; - round_?: InputMaybe; - round_contains?: InputMaybe; - round_contains_nocase?: InputMaybe; - round_ends_with?: InputMaybe; - round_ends_with_nocase?: InputMaybe; - round_gt?: InputMaybe; - round_gte?: InputMaybe; - round_in?: InputMaybe>; - round_lt?: InputMaybe; - round_lte?: InputMaybe; - round_not?: InputMaybe; - round_not_contains?: InputMaybe; - round_not_contains_nocase?: InputMaybe; - round_not_ends_with?: InputMaybe; - round_not_ends_with_nocase?: InputMaybe; - round_not_in?: InputMaybe>; - round_not_starts_with?: InputMaybe; - round_not_starts_with_nocase?: InputMaybe; - round_starts_with?: InputMaybe; - round_starts_with_nocase?: InputMaybe; - sender?: InputMaybe; - sender_?: InputMaybe; - sender_contains?: InputMaybe; - sender_contains_nocase?: InputMaybe; - sender_ends_with?: InputMaybe; - sender_ends_with_nocase?: InputMaybe; - sender_gt?: InputMaybe; - sender_gte?: InputMaybe; - sender_in?: InputMaybe>; - sender_lt?: InputMaybe; - sender_lte?: InputMaybe; - sender_not?: InputMaybe; - sender_not_contains?: InputMaybe; - sender_not_contains_nocase?: InputMaybe; - sender_not_ends_with?: InputMaybe; - sender_not_ends_with_nocase?: InputMaybe; - sender_not_in?: InputMaybe>; - sender_not_starts_with?: InputMaybe; - sender_not_starts_with_nocase?: InputMaybe; - sender_starts_with?: InputMaybe; - sender_starts_with_nocase?: InputMaybe; - timestamp?: InputMaybe; - timestamp_gt?: InputMaybe; - timestamp_gte?: InputMaybe; - timestamp_in?: InputMaybe>; - timestamp_lt?: InputMaybe; - timestamp_lte?: InputMaybe; - timestamp_not?: InputMaybe; - timestamp_not_in?: InputMaybe>; - transaction?: InputMaybe; - transaction_?: InputMaybe; - transaction_contains?: InputMaybe; - transaction_contains_nocase?: InputMaybe; - transaction_ends_with?: InputMaybe; - transaction_ends_with_nocase?: InputMaybe; - transaction_gt?: InputMaybe; - transaction_gte?: InputMaybe; - transaction_in?: InputMaybe>; - transaction_lt?: InputMaybe; - transaction_lte?: InputMaybe; - transaction_not?: InputMaybe; - transaction_not_contains?: InputMaybe; - transaction_not_contains_nocase?: InputMaybe; - transaction_not_ends_with?: InputMaybe; - transaction_not_ends_with_nocase?: InputMaybe; - transaction_not_in?: InputMaybe>; - transaction_not_starts_with?: InputMaybe; - transaction_not_starts_with_nocase?: InputMaybe; - transaction_starts_with?: InputMaybe; - transaction_starts_with_nocase?: InputMaybe; -}; - -export enum DepositFundedEvent_OrderBy { - Amount = 'amount', - Id = 'id', - Round = 'round', - RoundActiveTranscoderCount = 'round__activeTranscoderCount', - RoundDelegatorsCount = 'round__delegatorsCount', - RoundEndBlock = 'round__endBlock', - RoundId = 'round__id', - RoundInflation = 'round__inflation', - RoundInitialized = 'round__initialized', - RoundLength = 'round__length', - RoundMintableTokens = 'round__mintableTokens', - RoundMovedStake = 'round__movedStake', - RoundNewStake = 'round__newStake', - RoundNumActiveTranscoders = 'round__numActiveTranscoders', - RoundParticipationRate = 'round__participationRate', - RoundStartBlock = 'round__startBlock', - RoundStartTimestamp = 'round__startTimestamp', - RoundTotalActiveStake = 'round__totalActiveStake', - RoundTotalSupply = 'round__totalSupply', - RoundVolumeEth = 'round__volumeETH', - RoundVolumeUsd = 'round__volumeUSD', - Sender = 'sender', - SenderDeposit = 'sender__deposit', - SenderFirstActiveDay = 'sender__firstActiveDay', - SenderFirstFundedDay = 'sender__firstFundedDay', - SenderId = 'sender__id', - SenderLastActiveDay = 'sender__lastActiveDay', - SenderLastFundedDay = 'sender__lastFundedDay', - SenderNinetyDayVolumeEth = 'sender__ninetyDayVolumeETH', - SenderReserve = 'sender__reserve', - SenderSixtyDayVolumeEth = 'sender__sixtyDayVolumeETH', - SenderThirtyDayVolumeEth = 'sender__thirtyDayVolumeETH', - SenderTotalVolumeEth = 'sender__totalVolumeETH', - SenderTotalVolumeUsd = 'sender__totalVolumeUSD', - Timestamp = 'timestamp', - Transaction = 'transaction', - TransactionBlockNumber = 'transaction__blockNumber', - TransactionFrom = 'transaction__from', - TransactionGasPrice = 'transaction__gasPrice', - TransactionGasUsed = 'transaction__gasUsed', - TransactionId = 'transaction__id', - TransactionTimestamp = 'transaction__timestamp', - TransactionTo = 'transaction__to' -} - -/** EarningsClaimedEvent entities are created for every emitted EarningsClaimed event. */ -export type EarningsClaimedEvent = Event & { - __typename: 'EarningsClaimedEvent'; - /** Reference to the delegator's delegate */ - delegate: Transcoder; - /** Reference to the delegator that claimed its earnings */ - delegator: Delegator; - /** Last round that the delegator's pending stake was computed from */ - endRound: Round; - /** Fees claimed by the delegator */ - fees: Scalars['BigDecimal']; - /** Ethereum transaction hash + event log index */ - id: Scalars['ID']; - /** Reward tokens claimed by the delegator */ - rewardTokens: Scalars['BigDecimal']; - /** Reference to the round the event occured in */ - round: Round; - /** First round that the delegator's pending stake was computed from */ - startRound: Scalars['BigInt']; - /** Timestamp of the transaction the event was included in */ - timestamp: Scalars['Int']; - /** Reference to the transaction the event was included in */ - transaction: Transaction; -}; - -export type EarningsClaimedEvent_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - and?: InputMaybe>>; - delegate?: InputMaybe; - delegate_?: InputMaybe; - delegate_contains?: InputMaybe; - delegate_contains_nocase?: InputMaybe; - delegate_ends_with?: InputMaybe; - delegate_ends_with_nocase?: InputMaybe; - delegate_gt?: InputMaybe; - delegate_gte?: InputMaybe; - delegate_in?: InputMaybe>; - delegate_lt?: InputMaybe; - delegate_lte?: InputMaybe; - delegate_not?: InputMaybe; - delegate_not_contains?: InputMaybe; - delegate_not_contains_nocase?: InputMaybe; - delegate_not_ends_with?: InputMaybe; - delegate_not_ends_with_nocase?: InputMaybe; - delegate_not_in?: InputMaybe>; - delegate_not_starts_with?: InputMaybe; - delegate_not_starts_with_nocase?: InputMaybe; - delegate_starts_with?: InputMaybe; - delegate_starts_with_nocase?: InputMaybe; - delegator?: InputMaybe; - delegator_?: InputMaybe; - delegator_contains?: InputMaybe; - delegator_contains_nocase?: InputMaybe; - delegator_ends_with?: InputMaybe; - delegator_ends_with_nocase?: InputMaybe; - delegator_gt?: InputMaybe; - delegator_gte?: InputMaybe; - delegator_in?: InputMaybe>; - delegator_lt?: InputMaybe; - delegator_lte?: InputMaybe; - delegator_not?: InputMaybe; - delegator_not_contains?: InputMaybe; - delegator_not_contains_nocase?: InputMaybe; - delegator_not_ends_with?: InputMaybe; - delegator_not_ends_with_nocase?: InputMaybe; - delegator_not_in?: InputMaybe>; - delegator_not_starts_with?: InputMaybe; - delegator_not_starts_with_nocase?: InputMaybe; - delegator_starts_with?: InputMaybe; - delegator_starts_with_nocase?: InputMaybe; - endRound?: InputMaybe; - endRound_?: InputMaybe; - endRound_contains?: InputMaybe; - endRound_contains_nocase?: InputMaybe; - endRound_ends_with?: InputMaybe; - endRound_ends_with_nocase?: InputMaybe; - endRound_gt?: InputMaybe; - endRound_gte?: InputMaybe; - endRound_in?: InputMaybe>; - endRound_lt?: InputMaybe; - endRound_lte?: InputMaybe; - endRound_not?: InputMaybe; - endRound_not_contains?: InputMaybe; - endRound_not_contains_nocase?: InputMaybe; - endRound_not_ends_with?: InputMaybe; - endRound_not_ends_with_nocase?: InputMaybe; - endRound_not_in?: InputMaybe>; - endRound_not_starts_with?: InputMaybe; - endRound_not_starts_with_nocase?: InputMaybe; - endRound_starts_with?: InputMaybe; - endRound_starts_with_nocase?: InputMaybe; - fees?: InputMaybe; - fees_gt?: InputMaybe; - fees_gte?: InputMaybe; - fees_in?: InputMaybe>; - fees_lt?: InputMaybe; - fees_lte?: InputMaybe; - fees_not?: InputMaybe; - fees_not_in?: InputMaybe>; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - or?: InputMaybe>>; - rewardTokens?: InputMaybe; - rewardTokens_gt?: InputMaybe; - rewardTokens_gte?: InputMaybe; - rewardTokens_in?: InputMaybe>; - rewardTokens_lt?: InputMaybe; - rewardTokens_lte?: InputMaybe; - rewardTokens_not?: InputMaybe; - rewardTokens_not_in?: InputMaybe>; - round?: InputMaybe; - round_?: InputMaybe; - round_contains?: InputMaybe; - round_contains_nocase?: InputMaybe; - round_ends_with?: InputMaybe; - round_ends_with_nocase?: InputMaybe; - round_gt?: InputMaybe; - round_gte?: InputMaybe; - round_in?: InputMaybe>; - round_lt?: InputMaybe; - round_lte?: InputMaybe; - round_not?: InputMaybe; - round_not_contains?: InputMaybe; - round_not_contains_nocase?: InputMaybe; - round_not_ends_with?: InputMaybe; - round_not_ends_with_nocase?: InputMaybe; - round_not_in?: InputMaybe>; - round_not_starts_with?: InputMaybe; - round_not_starts_with_nocase?: InputMaybe; - round_starts_with?: InputMaybe; - round_starts_with_nocase?: InputMaybe; - startRound?: InputMaybe; - startRound_gt?: InputMaybe; - startRound_gte?: InputMaybe; - startRound_in?: InputMaybe>; - startRound_lt?: InputMaybe; - startRound_lte?: InputMaybe; - startRound_not?: InputMaybe; - startRound_not_in?: InputMaybe>; - timestamp?: InputMaybe; - timestamp_gt?: InputMaybe; - timestamp_gte?: InputMaybe; - timestamp_in?: InputMaybe>; - timestamp_lt?: InputMaybe; - timestamp_lte?: InputMaybe; - timestamp_not?: InputMaybe; - timestamp_not_in?: InputMaybe>; - transaction?: InputMaybe; - transaction_?: InputMaybe; - transaction_contains?: InputMaybe; - transaction_contains_nocase?: InputMaybe; - transaction_ends_with?: InputMaybe; - transaction_ends_with_nocase?: InputMaybe; - transaction_gt?: InputMaybe; - transaction_gte?: InputMaybe; - transaction_in?: InputMaybe>; - transaction_lt?: InputMaybe; - transaction_lte?: InputMaybe; - transaction_not?: InputMaybe; - transaction_not_contains?: InputMaybe; - transaction_not_contains_nocase?: InputMaybe; - transaction_not_ends_with?: InputMaybe; - transaction_not_ends_with_nocase?: InputMaybe; - transaction_not_in?: InputMaybe>; - transaction_not_starts_with?: InputMaybe; - transaction_not_starts_with_nocase?: InputMaybe; - transaction_starts_with?: InputMaybe; - transaction_starts_with_nocase?: InputMaybe; -}; - -export enum EarningsClaimedEvent_OrderBy { - Delegate = 'delegate', - DelegateActivationRound = 'delegate__activationRound', - DelegateActivationTimestamp = 'delegate__activationTimestamp', - DelegateActive = 'delegate__active', - DelegateDeactivationRound = 'delegate__deactivationRound', - DelegateFeeShare = 'delegate__feeShare', - DelegateFeeShareUpdateTimestamp = 'delegate__feeShareUpdateTimestamp', - DelegateId = 'delegate__id', - DelegateLastActiveStakeUpdateRound = 'delegate__lastActiveStakeUpdateRound', - DelegateNinetyDayVolumeEth = 'delegate__ninetyDayVolumeETH', - DelegateRewardCaller = 'delegate__rewardCaller', - DelegateRewardCut = 'delegate__rewardCut', - DelegateRewardCutUpdateTimestamp = 'delegate__rewardCutUpdateTimestamp', - DelegateServiceUri = 'delegate__serviceURI', - DelegateSixtyDayVolumeEth = 'delegate__sixtyDayVolumeETH', - DelegateStatus = 'delegate__status', - DelegateThirtyDayVolumeEth = 'delegate__thirtyDayVolumeETH', - DelegateTotalStake = 'delegate__totalStake', - DelegateTotalVolumeEth = 'delegate__totalVolumeETH', - DelegateTotalVolumeUsd = 'delegate__totalVolumeUSD', - Delegator = 'delegator', - DelegatorBondedAmount = 'delegator__bondedAmount', - DelegatorDelegatedAmount = 'delegator__delegatedAmount', - DelegatorFees = 'delegator__fees', - DelegatorId = 'delegator__id', - DelegatorPrincipal = 'delegator__principal', - DelegatorStartRound = 'delegator__startRound', - DelegatorUnbonded = 'delegator__unbonded', - DelegatorWithdrawnFees = 'delegator__withdrawnFees', - EndRound = 'endRound', - EndRoundActiveTranscoderCount = 'endRound__activeTranscoderCount', - EndRoundDelegatorsCount = 'endRound__delegatorsCount', - EndRoundEndBlock = 'endRound__endBlock', - EndRoundId = 'endRound__id', - EndRoundInflation = 'endRound__inflation', - EndRoundInitialized = 'endRound__initialized', - EndRoundLength = 'endRound__length', - EndRoundMintableTokens = 'endRound__mintableTokens', - EndRoundMovedStake = 'endRound__movedStake', - EndRoundNewStake = 'endRound__newStake', - EndRoundNumActiveTranscoders = 'endRound__numActiveTranscoders', - EndRoundParticipationRate = 'endRound__participationRate', - EndRoundStartBlock = 'endRound__startBlock', - EndRoundStartTimestamp = 'endRound__startTimestamp', - EndRoundTotalActiveStake = 'endRound__totalActiveStake', - EndRoundTotalSupply = 'endRound__totalSupply', - EndRoundVolumeEth = 'endRound__volumeETH', - EndRoundVolumeUsd = 'endRound__volumeUSD', - Fees = 'fees', - Id = 'id', - RewardTokens = 'rewardTokens', - Round = 'round', - RoundActiveTranscoderCount = 'round__activeTranscoderCount', - RoundDelegatorsCount = 'round__delegatorsCount', - RoundEndBlock = 'round__endBlock', - RoundId = 'round__id', - RoundInflation = 'round__inflation', - RoundInitialized = 'round__initialized', - RoundLength = 'round__length', - RoundMintableTokens = 'round__mintableTokens', - RoundMovedStake = 'round__movedStake', - RoundNewStake = 'round__newStake', - RoundNumActiveTranscoders = 'round__numActiveTranscoders', - RoundParticipationRate = 'round__participationRate', - RoundStartBlock = 'round__startBlock', - RoundStartTimestamp = 'round__startTimestamp', - RoundTotalActiveStake = 'round__totalActiveStake', - RoundTotalSupply = 'round__totalSupply', - RoundVolumeEth = 'round__volumeETH', - RoundVolumeUsd = 'round__volumeUSD', - StartRound = 'startRound', - Timestamp = 'timestamp', - Transaction = 'transaction', - TransactionBlockNumber = 'transaction__blockNumber', - TransactionFrom = 'transaction__from', - TransactionGasPrice = 'transaction__gasPrice', - TransactionGasUsed = 'transaction__gasUsed', - TransactionId = 'transaction__id', - TransactionTimestamp = 'transaction__timestamp', - TransactionTo = 'transaction__to' -} - -export type Event = { - id: Scalars['ID']; - round: Round; - timestamp: Scalars['Int']; - transaction: Transaction; -}; - -export type Event_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - and?: InputMaybe>>; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - or?: InputMaybe>>; - round?: InputMaybe; - round_?: InputMaybe; - round_contains?: InputMaybe; - round_contains_nocase?: InputMaybe; - round_ends_with?: InputMaybe; - round_ends_with_nocase?: InputMaybe; - round_gt?: InputMaybe; - round_gte?: InputMaybe; - round_in?: InputMaybe>; - round_lt?: InputMaybe; - round_lte?: InputMaybe; - round_not?: InputMaybe; - round_not_contains?: InputMaybe; - round_not_contains_nocase?: InputMaybe; - round_not_ends_with?: InputMaybe; - round_not_ends_with_nocase?: InputMaybe; - round_not_in?: InputMaybe>; - round_not_starts_with?: InputMaybe; - round_not_starts_with_nocase?: InputMaybe; - round_starts_with?: InputMaybe; - round_starts_with_nocase?: InputMaybe; - timestamp?: InputMaybe; - timestamp_gt?: InputMaybe; - timestamp_gte?: InputMaybe; - timestamp_in?: InputMaybe>; - timestamp_lt?: InputMaybe; - timestamp_lte?: InputMaybe; - timestamp_not?: InputMaybe; - timestamp_not_in?: InputMaybe>; - transaction?: InputMaybe; - transaction_?: InputMaybe; - transaction_contains?: InputMaybe; - transaction_contains_nocase?: InputMaybe; - transaction_ends_with?: InputMaybe; - transaction_ends_with_nocase?: InputMaybe; - transaction_gt?: InputMaybe; - transaction_gte?: InputMaybe; - transaction_in?: InputMaybe>; - transaction_lt?: InputMaybe; - transaction_lte?: InputMaybe; - transaction_not?: InputMaybe; - transaction_not_contains?: InputMaybe; - transaction_not_contains_nocase?: InputMaybe; - transaction_not_ends_with?: InputMaybe; - transaction_not_ends_with_nocase?: InputMaybe; - transaction_not_in?: InputMaybe>; - transaction_not_starts_with?: InputMaybe; - transaction_not_starts_with_nocase?: InputMaybe; - transaction_starts_with?: InputMaybe; - transaction_starts_with_nocase?: InputMaybe; -}; - -export enum Event_OrderBy { - Id = 'id', - Round = 'round', - RoundActiveTranscoderCount = 'round__activeTranscoderCount', - RoundDelegatorsCount = 'round__delegatorsCount', - RoundEndBlock = 'round__endBlock', - RoundId = 'round__id', - RoundInflation = 'round__inflation', - RoundInitialized = 'round__initialized', - RoundLength = 'round__length', - RoundMintableTokens = 'round__mintableTokens', - RoundMovedStake = 'round__movedStake', - RoundNewStake = 'round__newStake', - RoundNumActiveTranscoders = 'round__numActiveTranscoders', - RoundParticipationRate = 'round__participationRate', - RoundStartBlock = 'round__startBlock', - RoundStartTimestamp = 'round__startTimestamp', - RoundTotalActiveStake = 'round__totalActiveStake', - RoundTotalSupply = 'round__totalSupply', - RoundVolumeEth = 'round__volumeETH', - RoundVolumeUsd = 'round__volumeUSD', - Timestamp = 'timestamp', - Transaction = 'transaction', - TransactionBlockNumber = 'transaction__blockNumber', - TransactionFrom = 'transaction__from', - TransactionGasPrice = 'transaction__gasPrice', - TransactionGasUsed = 'transaction__gasUsed', - TransactionId = 'transaction__id', - TransactionTimestamp = 'transaction__timestamp', - TransactionTo = 'transaction__to' -} - -/** Abstraction for accounts/delegators bonded with the protocol */ -export type LivepeerAccount = { - __typename: 'LivepeerAccount'; - /** Reference to the Delegate this address is bonded to */ - delegate?: Maybe; - /** Delegator details for this account */ - delegator?: Maybe; - /** ETH address of the bonded delegator */ - id: Scalars['ID']; - /** The date the account was last associated with an event, beginning at 12:00am UTC */ - lastUpdatedTimestamp: Scalars['Int']; -}; - -export type LivepeerAccount_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - and?: InputMaybe>>; - delegate?: InputMaybe; - delegate_?: InputMaybe; - delegate_contains?: InputMaybe; - delegate_contains_nocase?: InputMaybe; - delegate_ends_with?: InputMaybe; - delegate_ends_with_nocase?: InputMaybe; - delegate_gt?: InputMaybe; - delegate_gte?: InputMaybe; - delegate_in?: InputMaybe>; - delegate_lt?: InputMaybe; - delegate_lte?: InputMaybe; - delegate_not?: InputMaybe; - delegate_not_contains?: InputMaybe; - delegate_not_contains_nocase?: InputMaybe; - delegate_not_ends_with?: InputMaybe; - delegate_not_ends_with_nocase?: InputMaybe; - delegate_not_in?: InputMaybe>; - delegate_not_starts_with?: InputMaybe; - delegate_not_starts_with_nocase?: InputMaybe; - delegate_starts_with?: InputMaybe; - delegate_starts_with_nocase?: InputMaybe; - delegator?: InputMaybe; - delegator_?: InputMaybe; - delegator_contains?: InputMaybe; - delegator_contains_nocase?: InputMaybe; - delegator_ends_with?: InputMaybe; - delegator_ends_with_nocase?: InputMaybe; - delegator_gt?: InputMaybe; - delegator_gte?: InputMaybe; - delegator_in?: InputMaybe>; - delegator_lt?: InputMaybe; - delegator_lte?: InputMaybe; - delegator_not?: InputMaybe; - delegator_not_contains?: InputMaybe; - delegator_not_contains_nocase?: InputMaybe; - delegator_not_ends_with?: InputMaybe; - delegator_not_ends_with_nocase?: InputMaybe; - delegator_not_in?: InputMaybe>; - delegator_not_starts_with?: InputMaybe; - delegator_not_starts_with_nocase?: InputMaybe; - delegator_starts_with?: InputMaybe; - delegator_starts_with_nocase?: InputMaybe; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - lastUpdatedTimestamp?: InputMaybe; - lastUpdatedTimestamp_gt?: InputMaybe; - lastUpdatedTimestamp_gte?: InputMaybe; - lastUpdatedTimestamp_in?: InputMaybe>; - lastUpdatedTimestamp_lt?: InputMaybe; - lastUpdatedTimestamp_lte?: InputMaybe; - lastUpdatedTimestamp_not?: InputMaybe; - lastUpdatedTimestamp_not_in?: InputMaybe>; - or?: InputMaybe>>; -}; - -export enum LivepeerAccount_OrderBy { - Delegate = 'delegate', - DelegateActivationRound = 'delegate__activationRound', - DelegateActivationTimestamp = 'delegate__activationTimestamp', - DelegateActive = 'delegate__active', - DelegateDeactivationRound = 'delegate__deactivationRound', - DelegateFeeShare = 'delegate__feeShare', - DelegateFeeShareUpdateTimestamp = 'delegate__feeShareUpdateTimestamp', - DelegateId = 'delegate__id', - DelegateLastActiveStakeUpdateRound = 'delegate__lastActiveStakeUpdateRound', - DelegateNinetyDayVolumeEth = 'delegate__ninetyDayVolumeETH', - DelegateRewardCaller = 'delegate__rewardCaller', - DelegateRewardCut = 'delegate__rewardCut', - DelegateRewardCutUpdateTimestamp = 'delegate__rewardCutUpdateTimestamp', - DelegateServiceUri = 'delegate__serviceURI', - DelegateSixtyDayVolumeEth = 'delegate__sixtyDayVolumeETH', - DelegateStatus = 'delegate__status', - DelegateThirtyDayVolumeEth = 'delegate__thirtyDayVolumeETH', - DelegateTotalStake = 'delegate__totalStake', - DelegateTotalVolumeEth = 'delegate__totalVolumeETH', - DelegateTotalVolumeUsd = 'delegate__totalVolumeUSD', - Delegator = 'delegator', - DelegatorBondedAmount = 'delegator__bondedAmount', - DelegatorDelegatedAmount = 'delegator__delegatedAmount', - DelegatorFees = 'delegator__fees', - DelegatorId = 'delegator__id', - DelegatorPrincipal = 'delegator__principal', - DelegatorStartRound = 'delegator__startRound', - DelegatorUnbonded = 'delegator__unbonded', - DelegatorWithdrawnFees = 'delegator__withdrawnFees', - Id = 'id', - 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'; - delegate: Scalars['String']; - delegatedStake: Scalars['BigDecimal']; - fees: Scalars['BigDecimal']; - /** Ethereum transaction hash + event log index */ - id: Scalars['ID']; - l1Addr: Scalars['String']; - l2Addr: Scalars['String']; - /** Reference to the round the event occured in */ - round: Round; - stake: Scalars['BigDecimal']; - /** Timestamp of the transaction the event was included in */ - timestamp: Scalars['Int']; - /** Reference to the transaction the event was included in */ - transaction: Transaction; -}; - -export type MigrateDelegatorFinalizedEvent_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - and?: InputMaybe>>; - delegate?: InputMaybe; - delegate_contains?: InputMaybe; - delegate_contains_nocase?: InputMaybe; - delegate_ends_with?: InputMaybe; - delegate_ends_with_nocase?: InputMaybe; - delegate_gt?: InputMaybe; - delegate_gte?: InputMaybe; - delegate_in?: InputMaybe>; - delegate_lt?: InputMaybe; - delegate_lte?: InputMaybe; - delegate_not?: InputMaybe; - delegate_not_contains?: InputMaybe; - delegate_not_contains_nocase?: InputMaybe; - delegate_not_ends_with?: InputMaybe; - delegate_not_ends_with_nocase?: InputMaybe; - delegate_not_in?: InputMaybe>; - delegate_not_starts_with?: InputMaybe; - delegate_not_starts_with_nocase?: InputMaybe; - delegate_starts_with?: InputMaybe; - delegate_starts_with_nocase?: InputMaybe; - delegatedStake?: InputMaybe; - delegatedStake_gt?: InputMaybe; - delegatedStake_gte?: InputMaybe; - delegatedStake_in?: InputMaybe>; - delegatedStake_lt?: InputMaybe; - delegatedStake_lte?: InputMaybe; - delegatedStake_not?: InputMaybe; - delegatedStake_not_in?: InputMaybe>; - fees?: InputMaybe; - fees_gt?: InputMaybe; - fees_gte?: InputMaybe; - fees_in?: InputMaybe>; - fees_lt?: InputMaybe; - fees_lte?: InputMaybe; - fees_not?: InputMaybe; - fees_not_in?: InputMaybe>; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - l1Addr?: InputMaybe; - l1Addr_contains?: InputMaybe; - l1Addr_contains_nocase?: InputMaybe; - l1Addr_ends_with?: InputMaybe; - l1Addr_ends_with_nocase?: InputMaybe; - l1Addr_gt?: InputMaybe; - l1Addr_gte?: InputMaybe; - l1Addr_in?: InputMaybe>; - l1Addr_lt?: InputMaybe; - l1Addr_lte?: InputMaybe; - l1Addr_not?: InputMaybe; - l1Addr_not_contains?: InputMaybe; - l1Addr_not_contains_nocase?: InputMaybe; - l1Addr_not_ends_with?: InputMaybe; - l1Addr_not_ends_with_nocase?: InputMaybe; - l1Addr_not_in?: InputMaybe>; - l1Addr_not_starts_with?: InputMaybe; - l1Addr_not_starts_with_nocase?: InputMaybe; - l1Addr_starts_with?: InputMaybe; - l1Addr_starts_with_nocase?: InputMaybe; - l2Addr?: InputMaybe; - l2Addr_contains?: InputMaybe; - l2Addr_contains_nocase?: InputMaybe; - l2Addr_ends_with?: InputMaybe; - l2Addr_ends_with_nocase?: InputMaybe; - l2Addr_gt?: InputMaybe; - l2Addr_gte?: InputMaybe; - l2Addr_in?: InputMaybe>; - l2Addr_lt?: InputMaybe; - l2Addr_lte?: InputMaybe; - l2Addr_not?: InputMaybe; - l2Addr_not_contains?: InputMaybe; - l2Addr_not_contains_nocase?: InputMaybe; - l2Addr_not_ends_with?: InputMaybe; - l2Addr_not_ends_with_nocase?: InputMaybe; - l2Addr_not_in?: InputMaybe>; - l2Addr_not_starts_with?: InputMaybe; - l2Addr_not_starts_with_nocase?: InputMaybe; - l2Addr_starts_with?: InputMaybe; - l2Addr_starts_with_nocase?: InputMaybe; - or?: InputMaybe>>; - round?: InputMaybe; - round_?: InputMaybe; - round_contains?: InputMaybe; - round_contains_nocase?: InputMaybe; - round_ends_with?: InputMaybe; - round_ends_with_nocase?: InputMaybe; - round_gt?: InputMaybe; - round_gte?: InputMaybe; - round_in?: InputMaybe>; - round_lt?: InputMaybe; - round_lte?: InputMaybe; - round_not?: InputMaybe; - round_not_contains?: InputMaybe; - round_not_contains_nocase?: InputMaybe; - round_not_ends_with?: InputMaybe; - round_not_ends_with_nocase?: InputMaybe; - round_not_in?: InputMaybe>; - round_not_starts_with?: InputMaybe; - round_not_starts_with_nocase?: InputMaybe; - round_starts_with?: InputMaybe; - round_starts_with_nocase?: InputMaybe; - stake?: InputMaybe; - stake_gt?: InputMaybe; - stake_gte?: InputMaybe; - stake_in?: InputMaybe>; - stake_lt?: InputMaybe; - stake_lte?: InputMaybe; - stake_not?: InputMaybe; - stake_not_in?: InputMaybe>; - timestamp?: InputMaybe; - timestamp_gt?: InputMaybe; - timestamp_gte?: InputMaybe; - timestamp_in?: InputMaybe>; - timestamp_lt?: InputMaybe; - timestamp_lte?: InputMaybe; - timestamp_not?: InputMaybe; - timestamp_not_in?: InputMaybe>; - transaction?: InputMaybe; - transaction_?: InputMaybe; - transaction_contains?: InputMaybe; - transaction_contains_nocase?: InputMaybe; - transaction_ends_with?: InputMaybe; - transaction_ends_with_nocase?: InputMaybe; - transaction_gt?: InputMaybe; - transaction_gte?: InputMaybe; - transaction_in?: InputMaybe>; - transaction_lt?: InputMaybe; - transaction_lte?: InputMaybe; - transaction_not?: InputMaybe; - transaction_not_contains?: InputMaybe; - transaction_not_contains_nocase?: InputMaybe; - transaction_not_ends_with?: InputMaybe; - transaction_not_ends_with_nocase?: InputMaybe; - transaction_not_in?: InputMaybe>; - transaction_not_starts_with?: InputMaybe; - transaction_not_starts_with_nocase?: InputMaybe; - transaction_starts_with?: InputMaybe; - transaction_starts_with_nocase?: InputMaybe; -}; - -export enum MigrateDelegatorFinalizedEvent_OrderBy { - Delegate = 'delegate', - DelegatedStake = 'delegatedStake', - Fees = 'fees', - Id = 'id', - L1Addr = 'l1Addr', - L2Addr = 'l2Addr', - Round = 'round', - RoundActiveTranscoderCount = 'round__activeTranscoderCount', - RoundDelegatorsCount = 'round__delegatorsCount', - RoundEndBlock = 'round__endBlock', - RoundId = 'round__id', - RoundInflation = 'round__inflation', - RoundInitialized = 'round__initialized', - RoundLength = 'round__length', - RoundMintableTokens = 'round__mintableTokens', - RoundMovedStake = 'round__movedStake', - RoundNewStake = 'round__newStake', - RoundNumActiveTranscoders = 'round__numActiveTranscoders', - RoundParticipationRate = 'round__participationRate', - RoundStartBlock = 'round__startBlock', - RoundStartTimestamp = 'round__startTimestamp', - RoundTotalActiveStake = 'round__totalActiveStake', - RoundTotalSupply = 'round__totalSupply', - RoundVolumeEth = 'round__volumeETH', - RoundVolumeUsd = 'round__volumeUSD', - Stake = 'stake', - Timestamp = 'timestamp', - Transaction = 'transaction', - TransactionBlockNumber = 'transaction__blockNumber', - TransactionFrom = 'transaction__from', - TransactionGasPrice = 'transaction__gasPrice', - TransactionGasUsed = 'transaction__gasUsed', - TransactionId = 'transaction__id', - TransactionTimestamp = 'transaction__timestamp', - TransactionTo = 'transaction__to' -} - -/** MintEvent entities are created for every emitted Mint event. */ -export type MintEvent = Event & { - __typename: 'MintEvent'; - /** Amount of tokens minted */ - amount: Scalars['BigDecimal']; - /** Ethereum transaction hash + event log index */ - id: Scalars['ID']; - /** Reference to the round the event occured in */ - round: Round; - /** Timestamp of the transaction the event was included in */ - timestamp: Scalars['Int']; - /** Token smart contract address */ - to: Scalars['String']; - /** Reference to the transaction the event was included in */ - transaction: Transaction; -}; - -export type MintEvent_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - amount?: InputMaybe; - amount_gt?: InputMaybe; - amount_gte?: InputMaybe; - amount_in?: InputMaybe>; - amount_lt?: InputMaybe; - amount_lte?: InputMaybe; - amount_not?: InputMaybe; - amount_not_in?: InputMaybe>; - and?: InputMaybe>>; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - or?: InputMaybe>>; - round?: InputMaybe; - round_?: InputMaybe; - round_contains?: InputMaybe; - round_contains_nocase?: InputMaybe; - round_ends_with?: InputMaybe; - round_ends_with_nocase?: InputMaybe; - round_gt?: InputMaybe; - round_gte?: InputMaybe; - round_in?: InputMaybe>; - round_lt?: InputMaybe; - round_lte?: InputMaybe; - round_not?: InputMaybe; - round_not_contains?: InputMaybe; - round_not_contains_nocase?: InputMaybe; - round_not_ends_with?: InputMaybe; - round_not_ends_with_nocase?: InputMaybe; - round_not_in?: InputMaybe>; - round_not_starts_with?: InputMaybe; - round_not_starts_with_nocase?: InputMaybe; - round_starts_with?: InputMaybe; - round_starts_with_nocase?: InputMaybe; - timestamp?: InputMaybe; - timestamp_gt?: InputMaybe; - timestamp_gte?: InputMaybe; - timestamp_in?: InputMaybe>; - timestamp_lt?: InputMaybe; - timestamp_lte?: InputMaybe; - timestamp_not?: InputMaybe; - timestamp_not_in?: InputMaybe>; - to?: InputMaybe; - to_contains?: InputMaybe; - to_contains_nocase?: InputMaybe; - to_ends_with?: InputMaybe; - to_ends_with_nocase?: InputMaybe; - to_gt?: InputMaybe; - to_gte?: InputMaybe; - to_in?: InputMaybe>; - to_lt?: InputMaybe; - to_lte?: InputMaybe; - to_not?: InputMaybe; - to_not_contains?: InputMaybe; - to_not_contains_nocase?: InputMaybe; - to_not_ends_with?: InputMaybe; - to_not_ends_with_nocase?: InputMaybe; - to_not_in?: InputMaybe>; - to_not_starts_with?: InputMaybe; - to_not_starts_with_nocase?: InputMaybe; - to_starts_with?: InputMaybe; - to_starts_with_nocase?: InputMaybe; - transaction?: InputMaybe; - transaction_?: InputMaybe; - transaction_contains?: InputMaybe; - transaction_contains_nocase?: InputMaybe; - transaction_ends_with?: InputMaybe; - transaction_ends_with_nocase?: InputMaybe; - transaction_gt?: InputMaybe; - transaction_gte?: InputMaybe; - transaction_in?: InputMaybe>; - transaction_lt?: InputMaybe; - transaction_lte?: InputMaybe; - transaction_not?: InputMaybe; - transaction_not_contains?: InputMaybe; - transaction_not_contains_nocase?: InputMaybe; - transaction_not_ends_with?: InputMaybe; - transaction_not_ends_with_nocase?: InputMaybe; - transaction_not_in?: InputMaybe>; - transaction_not_starts_with?: InputMaybe; - transaction_not_starts_with_nocase?: InputMaybe; - transaction_starts_with?: InputMaybe; - transaction_starts_with_nocase?: InputMaybe; -}; - -export enum MintEvent_OrderBy { - Amount = 'amount', - Id = 'id', - Round = 'round', - RoundActiveTranscoderCount = 'round__activeTranscoderCount', - RoundDelegatorsCount = 'round__delegatorsCount', - RoundEndBlock = 'round__endBlock', - RoundId = 'round__id', - RoundInflation = 'round__inflation', - RoundInitialized = 'round__initialized', - RoundLength = 'round__length', - RoundMintableTokens = 'round__mintableTokens', - RoundMovedStake = 'round__movedStake', - RoundNewStake = 'round__newStake', - RoundNumActiveTranscoders = 'round__numActiveTranscoders', - RoundParticipationRate = 'round__participationRate', - RoundStartBlock = 'round__startBlock', - RoundStartTimestamp = 'round__startTimestamp', - RoundTotalActiveStake = 'round__totalActiveStake', - RoundTotalSupply = 'round__totalSupply', - RoundVolumeEth = 'round__volumeETH', - RoundVolumeUsd = 'round__volumeUSD', - Timestamp = 'timestamp', - To = 'to', - Transaction = 'transaction', - TransactionBlockNumber = 'transaction__blockNumber', - TransactionFrom = 'transaction__from', - TransactionGasPrice = 'transaction__gasPrice', - TransactionGasUsed = 'transaction__gasUsed', - TransactionId = 'transaction__id', - TransactionTimestamp = 'transaction__timestamp', - TransactionTo = 'transaction__to' -} - -/** NewRoundEvent entities are created for every emitted NewRound event. */ -export type NewRoundEvent = Event & { - __typename: 'NewRoundEvent'; - /** Block hash for the round */ - blockHash: Scalars['String']; - /** Ethereum transaction hash + event log index */ - id: Scalars['ID']; - /** Reference to the round the event occured in */ - round: Round; - /** Timestamp of the transaction the event was included in */ - timestamp: Scalars['Int']; - /** Reference to the transaction the event was included in */ - transaction: Transaction; -}; - -export type NewRoundEvent_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - and?: InputMaybe>>; - blockHash?: InputMaybe; - blockHash_contains?: InputMaybe; - blockHash_contains_nocase?: InputMaybe; - blockHash_ends_with?: InputMaybe; - blockHash_ends_with_nocase?: InputMaybe; - blockHash_gt?: InputMaybe; - blockHash_gte?: InputMaybe; - blockHash_in?: InputMaybe>; - blockHash_lt?: InputMaybe; - blockHash_lte?: InputMaybe; - blockHash_not?: InputMaybe; - blockHash_not_contains?: InputMaybe; - blockHash_not_contains_nocase?: InputMaybe; - blockHash_not_ends_with?: InputMaybe; - blockHash_not_ends_with_nocase?: InputMaybe; - blockHash_not_in?: InputMaybe>; - blockHash_not_starts_with?: InputMaybe; - blockHash_not_starts_with_nocase?: InputMaybe; - blockHash_starts_with?: InputMaybe; - blockHash_starts_with_nocase?: InputMaybe; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - or?: InputMaybe>>; - round?: InputMaybe; - round_?: InputMaybe; - round_contains?: InputMaybe; - round_contains_nocase?: InputMaybe; - round_ends_with?: InputMaybe; - round_ends_with_nocase?: InputMaybe; - round_gt?: InputMaybe; - round_gte?: InputMaybe; - round_in?: InputMaybe>; - round_lt?: InputMaybe; - round_lte?: InputMaybe; - round_not?: InputMaybe; - round_not_contains?: InputMaybe; - round_not_contains_nocase?: InputMaybe; - round_not_ends_with?: InputMaybe; - round_not_ends_with_nocase?: InputMaybe; - round_not_in?: InputMaybe>; - round_not_starts_with?: InputMaybe; - round_not_starts_with_nocase?: InputMaybe; - round_starts_with?: InputMaybe; - round_starts_with_nocase?: InputMaybe; - timestamp?: InputMaybe; - timestamp_gt?: InputMaybe; - timestamp_gte?: InputMaybe; - timestamp_in?: InputMaybe>; - timestamp_lt?: InputMaybe; - timestamp_lte?: InputMaybe; - timestamp_not?: InputMaybe; - timestamp_not_in?: InputMaybe>; - transaction?: InputMaybe; - transaction_?: InputMaybe; - transaction_contains?: InputMaybe; - transaction_contains_nocase?: InputMaybe; - transaction_ends_with?: InputMaybe; - transaction_ends_with_nocase?: InputMaybe; - transaction_gt?: InputMaybe; - transaction_gte?: InputMaybe; - transaction_in?: InputMaybe>; - transaction_lt?: InputMaybe; - transaction_lte?: InputMaybe; - transaction_not?: InputMaybe; - transaction_not_contains?: InputMaybe; - transaction_not_contains_nocase?: InputMaybe; - transaction_not_ends_with?: InputMaybe; - transaction_not_ends_with_nocase?: InputMaybe; - transaction_not_in?: InputMaybe>; - transaction_not_starts_with?: InputMaybe; - transaction_not_starts_with_nocase?: InputMaybe; - transaction_starts_with?: InputMaybe; - transaction_starts_with_nocase?: InputMaybe; -}; - -export enum NewRoundEvent_OrderBy { - BlockHash = 'blockHash', - Id = 'id', - Round = 'round', - RoundActiveTranscoderCount = 'round__activeTranscoderCount', - RoundDelegatorsCount = 'round__delegatorsCount', - RoundEndBlock = 'round__endBlock', - RoundId = 'round__id', - RoundInflation = 'round__inflation', - RoundInitialized = 'round__initialized', - RoundLength = 'round__length', - RoundMintableTokens = 'round__mintableTokens', - RoundMovedStake = 'round__movedStake', - RoundNewStake = 'round__newStake', - RoundNumActiveTranscoders = 'round__numActiveTranscoders', - RoundParticipationRate = 'round__participationRate', - RoundStartBlock = 'round__startBlock', - RoundStartTimestamp = 'round__startTimestamp', - RoundTotalActiveStake = 'round__totalActiveStake', - RoundTotalSupply = 'round__totalSupply', - RoundVolumeEth = 'round__volumeETH', - RoundVolumeUsd = 'round__volumeUSD', - Timestamp = 'timestamp', - Transaction = 'transaction', - TransactionBlockNumber = 'transaction__blockNumber', - TransactionFrom = 'transaction__from', - TransactionGasPrice = 'transaction__gasPrice', - TransactionGasUsed = 'transaction__gasUsed', - TransactionId = 'transaction__id', - TransactionTimestamp = 'transaction__timestamp', - TransactionTo = 'transaction__to' -} - -/** Defines the order direction, either ascending or descending */ -export enum OrderDirection { - Asc = 'asc', - Desc = 'desc' -} - -/** ParameterUpdateEvent entities are created for every emitted ParameterUpdate event. */ -export type ParameterUpdateEvent = Event & { - __typename: 'ParameterUpdateEvent'; - /** Ethereum transaction hash + event log index */ - id: Scalars['ID']; - /** Parameter that was updated */ - param: Scalars['String']; - /** Reference to the round the event occured in */ - round: Round; - /** Timestamp of the transaction the event was included in */ - timestamp: Scalars['Int']; - /** Reference to the transaction the event was included in */ - transaction: Transaction; -}; - -export type ParameterUpdateEvent_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - and?: InputMaybe>>; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - or?: InputMaybe>>; - param?: InputMaybe; - param_contains?: InputMaybe; - param_contains_nocase?: InputMaybe; - param_ends_with?: InputMaybe; - param_ends_with_nocase?: InputMaybe; - param_gt?: InputMaybe; - param_gte?: InputMaybe; - param_in?: InputMaybe>; - param_lt?: InputMaybe; - param_lte?: InputMaybe; - param_not?: InputMaybe; - param_not_contains?: InputMaybe; - param_not_contains_nocase?: InputMaybe; - param_not_ends_with?: InputMaybe; - param_not_ends_with_nocase?: InputMaybe; - param_not_in?: InputMaybe>; - param_not_starts_with?: InputMaybe; - param_not_starts_with_nocase?: InputMaybe; - param_starts_with?: InputMaybe; - param_starts_with_nocase?: InputMaybe; - round?: InputMaybe; - round_?: InputMaybe; - round_contains?: InputMaybe; - round_contains_nocase?: InputMaybe; - round_ends_with?: InputMaybe; - round_ends_with_nocase?: InputMaybe; - round_gt?: InputMaybe; - round_gte?: InputMaybe; - round_in?: InputMaybe>; - round_lt?: InputMaybe; - round_lte?: InputMaybe; - round_not?: InputMaybe; - round_not_contains?: InputMaybe; - round_not_contains_nocase?: InputMaybe; - round_not_ends_with?: InputMaybe; - round_not_ends_with_nocase?: InputMaybe; - round_not_in?: InputMaybe>; - round_not_starts_with?: InputMaybe; - round_not_starts_with_nocase?: InputMaybe; - round_starts_with?: InputMaybe; - round_starts_with_nocase?: InputMaybe; - timestamp?: InputMaybe; - timestamp_gt?: InputMaybe; - timestamp_gte?: InputMaybe; - timestamp_in?: InputMaybe>; - timestamp_lt?: InputMaybe; - timestamp_lte?: InputMaybe; - timestamp_not?: InputMaybe; - timestamp_not_in?: InputMaybe>; - transaction?: InputMaybe; - transaction_?: InputMaybe; - transaction_contains?: InputMaybe; - transaction_contains_nocase?: InputMaybe; - transaction_ends_with?: InputMaybe; - transaction_ends_with_nocase?: InputMaybe; - transaction_gt?: InputMaybe; - transaction_gte?: InputMaybe; - transaction_in?: InputMaybe>; - transaction_lt?: InputMaybe; - transaction_lte?: InputMaybe; - transaction_not?: InputMaybe; - transaction_not_contains?: InputMaybe; - transaction_not_contains_nocase?: InputMaybe; - transaction_not_ends_with?: InputMaybe; - transaction_not_ends_with_nocase?: InputMaybe; - transaction_not_in?: InputMaybe>; - transaction_not_starts_with?: InputMaybe; - transaction_not_starts_with_nocase?: InputMaybe; - transaction_starts_with?: InputMaybe; - transaction_starts_with_nocase?: InputMaybe; -}; - -export enum ParameterUpdateEvent_OrderBy { - Id = 'id', - Param = 'param', - Round = 'round', - RoundActiveTranscoderCount = 'round__activeTranscoderCount', - RoundDelegatorsCount = 'round__delegatorsCount', - RoundEndBlock = 'round__endBlock', - RoundId = 'round__id', - RoundInflation = 'round__inflation', - RoundInitialized = 'round__initialized', - RoundLength = 'round__length', - RoundMintableTokens = 'round__mintableTokens', - RoundMovedStake = 'round__movedStake', - RoundNewStake = 'round__newStake', - RoundNumActiveTranscoders = 'round__numActiveTranscoders', - RoundParticipationRate = 'round__participationRate', - RoundStartBlock = 'round__startBlock', - RoundStartTimestamp = 'round__startTimestamp', - RoundTotalActiveStake = 'round__totalActiveStake', - RoundTotalSupply = 'round__totalSupply', - RoundVolumeEth = 'round__volumeETH', - RoundVolumeUsd = 'round__volumeUSD', - Timestamp = 'timestamp', - Transaction = 'transaction', - TransactionBlockNumber = 'transaction__blockNumber', - TransactionFrom = 'transaction__from', - TransactionGasPrice = 'transaction__gasPrice', - TransactionGasUsed = 'transaction__gasUsed', - TransactionId = 'transaction__id', - TransactionTimestamp = 'transaction__timestamp', - TransactionTo = 'transaction__to' -} - -/** PauseEvent entities are created for every emitted Pause event. */ -export type PauseEvent = Event & { - __typename: 'PauseEvent'; - /** Ethereum transaction hash + event log index */ - id: Scalars['ID']; - /** Reference to the round the event occured in */ - round: Round; - /** Timestamp of the transaction the event was included in */ - timestamp: Scalars['Int']; - /** Reference to the transaction the event was included in */ - transaction: Transaction; -}; - -export type PauseEvent_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - and?: InputMaybe>>; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - or?: InputMaybe>>; - round?: InputMaybe; - round_?: InputMaybe; - round_contains?: InputMaybe; - round_contains_nocase?: InputMaybe; - round_ends_with?: InputMaybe; - round_ends_with_nocase?: InputMaybe; - round_gt?: InputMaybe; - round_gte?: InputMaybe; - round_in?: InputMaybe>; - round_lt?: InputMaybe; - round_lte?: InputMaybe; - round_not?: InputMaybe; - round_not_contains?: InputMaybe; - round_not_contains_nocase?: InputMaybe; - round_not_ends_with?: InputMaybe; - round_not_ends_with_nocase?: InputMaybe; - round_not_in?: InputMaybe>; - round_not_starts_with?: InputMaybe; - round_not_starts_with_nocase?: InputMaybe; - round_starts_with?: InputMaybe; - round_starts_with_nocase?: InputMaybe; - timestamp?: InputMaybe; - timestamp_gt?: InputMaybe; - timestamp_gte?: InputMaybe; - timestamp_in?: InputMaybe>; - timestamp_lt?: InputMaybe; - timestamp_lte?: InputMaybe; - timestamp_not?: InputMaybe; - timestamp_not_in?: InputMaybe>; - transaction?: InputMaybe; - transaction_?: InputMaybe; - transaction_contains?: InputMaybe; - transaction_contains_nocase?: InputMaybe; - transaction_ends_with?: InputMaybe; - transaction_ends_with_nocase?: InputMaybe; - transaction_gt?: InputMaybe; - transaction_gte?: InputMaybe; - transaction_in?: InputMaybe>; - transaction_lt?: InputMaybe; - transaction_lte?: InputMaybe; - transaction_not?: InputMaybe; - transaction_not_contains?: InputMaybe; - transaction_not_contains_nocase?: InputMaybe; - transaction_not_ends_with?: InputMaybe; - transaction_not_ends_with_nocase?: InputMaybe; - transaction_not_in?: InputMaybe>; - transaction_not_starts_with?: InputMaybe; - transaction_not_starts_with_nocase?: InputMaybe; - transaction_starts_with?: InputMaybe; - transaction_starts_with_nocase?: InputMaybe; -}; - -export enum PauseEvent_OrderBy { - Id = 'id', - Round = 'round', - RoundActiveTranscoderCount = 'round__activeTranscoderCount', - RoundDelegatorsCount = 'round__delegatorsCount', - RoundEndBlock = 'round__endBlock', - RoundId = 'round__id', - RoundInflation = 'round__inflation', - RoundInitialized = 'round__initialized', - RoundLength = 'round__length', - RoundMintableTokens = 'round__mintableTokens', - RoundMovedStake = 'round__movedStake', - RoundNewStake = 'round__newStake', - RoundNumActiveTranscoders = 'round__numActiveTranscoders', - RoundParticipationRate = 'round__participationRate', - RoundStartBlock = 'round__startBlock', - RoundStartTimestamp = 'round__startTimestamp', - RoundTotalActiveStake = 'round__totalActiveStake', - RoundTotalSupply = 'round__totalSupply', - RoundVolumeEth = 'round__volumeETH', - RoundVolumeUsd = 'round__volumeUSD', - Timestamp = 'timestamp', - Transaction = 'transaction', - TransactionBlockNumber = 'transaction__blockNumber', - TransactionFrom = 'transaction__from', - TransactionGasPrice = 'transaction__gasPrice', - TransactionGasUsed = 'transaction__gasUsed', - TransactionId = 'transaction__id', - TransactionTimestamp = 'transaction__timestamp', - TransactionTo = 'transaction__to' -} - -/** Stake weighted poll */ -export type Poll = { - __typename: 'Poll'; - /** Block at which the poll ends and votes can no longer be submitted */ - endBlock: Scalars['BigInt']; - /** Poll address */ - id: Scalars['ID']; - /** IPFS multihash for the proposal */ - proposal: Scalars['String']; - /** Minimum amount of participation (total stake including inactive stake) required for a poll to pass */ - quorum: Scalars['BigInt']; - /** Minimum amount of yes votes required for a poll to pass */ - quota: Scalars['BigInt']; - /** Poll tally */ - tally?: Maybe; - /** Votes belonging to a poll */ - votes: Array; -}; - - -/** Stake weighted poll */ -export type PollVotesArgs = { - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - where?: InputMaybe; -}; - -export enum PollChoice { - No = 'No', - Yes = 'Yes' -} - -/** PollCreatedEvent entities are created for every emitted PollCreated event. */ -export type PollCreatedEvent = Event & { - __typename: 'PollCreatedEvent'; - /** Ethereum block in which this poll ends */ - endBlock: Scalars['BigInt']; - /** Ethereum transaction hash + event log index */ - id: Scalars['ID']; - /** Reference to the poll that was created */ - poll: Poll; - /** IPFS content hash representing proposal */ - proposal: Scalars['Bytes']; - /** The minimum amount of stake-weighted votes for this poll's outcome to be considered valid */ - quorum: Scalars['BigInt']; - /** The minimum amount of stake-weighted 'yes' votes needed for the poll to pass */ - quota: Scalars['BigInt']; - /** Reference to the round the event occured in */ - round: Round; - /** Timestamp of the transaction the event was included in */ - timestamp: Scalars['Int']; - /** Reference to the transaction the event was included in */ - transaction: Transaction; -}; - -export type PollCreatedEvent_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - and?: InputMaybe>>; - endBlock?: InputMaybe; - endBlock_gt?: InputMaybe; - endBlock_gte?: InputMaybe; - endBlock_in?: InputMaybe>; - endBlock_lt?: InputMaybe; - endBlock_lte?: InputMaybe; - endBlock_not?: InputMaybe; - endBlock_not_in?: InputMaybe>; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - or?: InputMaybe>>; - poll?: InputMaybe; - poll_?: InputMaybe; - poll_contains?: InputMaybe; - poll_contains_nocase?: InputMaybe; - poll_ends_with?: InputMaybe; - poll_ends_with_nocase?: InputMaybe; - poll_gt?: InputMaybe; - poll_gte?: InputMaybe; - poll_in?: InputMaybe>; - poll_lt?: InputMaybe; - poll_lte?: InputMaybe; - poll_not?: InputMaybe; - poll_not_contains?: InputMaybe; - poll_not_contains_nocase?: InputMaybe; - poll_not_ends_with?: InputMaybe; - poll_not_ends_with_nocase?: InputMaybe; - poll_not_in?: InputMaybe>; - poll_not_starts_with?: InputMaybe; - poll_not_starts_with_nocase?: InputMaybe; - poll_starts_with?: InputMaybe; - poll_starts_with_nocase?: InputMaybe; - proposal?: InputMaybe; - proposal_contains?: InputMaybe; - proposal_gt?: InputMaybe; - proposal_gte?: InputMaybe; - proposal_in?: InputMaybe>; - proposal_lt?: InputMaybe; - proposal_lte?: InputMaybe; - proposal_not?: InputMaybe; - proposal_not_contains?: InputMaybe; - proposal_not_in?: InputMaybe>; - quorum?: InputMaybe; - quorum_gt?: InputMaybe; - quorum_gte?: InputMaybe; - quorum_in?: InputMaybe>; - quorum_lt?: InputMaybe; - quorum_lte?: InputMaybe; - quorum_not?: InputMaybe; - quorum_not_in?: InputMaybe>; - quota?: InputMaybe; - quota_gt?: InputMaybe; - quota_gte?: InputMaybe; - quota_in?: InputMaybe>; - quota_lt?: InputMaybe; - quota_lte?: InputMaybe; - quota_not?: InputMaybe; - quota_not_in?: InputMaybe>; - round?: InputMaybe; - round_?: InputMaybe; - round_contains?: InputMaybe; - round_contains_nocase?: InputMaybe; - round_ends_with?: InputMaybe; - round_ends_with_nocase?: InputMaybe; - round_gt?: InputMaybe; - round_gte?: InputMaybe; - round_in?: InputMaybe>; - round_lt?: InputMaybe; - round_lte?: InputMaybe; - round_not?: InputMaybe; - round_not_contains?: InputMaybe; - round_not_contains_nocase?: InputMaybe; - round_not_ends_with?: InputMaybe; - round_not_ends_with_nocase?: InputMaybe; - round_not_in?: InputMaybe>; - round_not_starts_with?: InputMaybe; - round_not_starts_with_nocase?: InputMaybe; - round_starts_with?: InputMaybe; - round_starts_with_nocase?: InputMaybe; - timestamp?: InputMaybe; - timestamp_gt?: InputMaybe; - timestamp_gte?: InputMaybe; - timestamp_in?: InputMaybe>; - timestamp_lt?: InputMaybe; - timestamp_lte?: InputMaybe; - timestamp_not?: InputMaybe; - timestamp_not_in?: InputMaybe>; - transaction?: InputMaybe; - transaction_?: InputMaybe; - transaction_contains?: InputMaybe; - transaction_contains_nocase?: InputMaybe; - transaction_ends_with?: InputMaybe; - transaction_ends_with_nocase?: InputMaybe; - transaction_gt?: InputMaybe; - transaction_gte?: InputMaybe; - transaction_in?: InputMaybe>; - transaction_lt?: InputMaybe; - transaction_lte?: InputMaybe; - transaction_not?: InputMaybe; - transaction_not_contains?: InputMaybe; - transaction_not_contains_nocase?: InputMaybe; - transaction_not_ends_with?: InputMaybe; - transaction_not_ends_with_nocase?: InputMaybe; - transaction_not_in?: InputMaybe>; - transaction_not_starts_with?: InputMaybe; - transaction_not_starts_with_nocase?: InputMaybe; - transaction_starts_with?: InputMaybe; - transaction_starts_with_nocase?: InputMaybe; -}; - -export enum PollCreatedEvent_OrderBy { - EndBlock = 'endBlock', - Id = 'id', - Poll = 'poll', - PollEndBlock = 'poll__endBlock', - PollId = 'poll__id', - PollProposal = 'poll__proposal', - PollQuorum = 'poll__quorum', - PollQuota = 'poll__quota', - Proposal = 'proposal', - Quorum = 'quorum', - Quota = 'quota', - Round = 'round', - RoundActiveTranscoderCount = 'round__activeTranscoderCount', - RoundDelegatorsCount = 'round__delegatorsCount', - RoundEndBlock = 'round__endBlock', - RoundId = 'round__id', - RoundInflation = 'round__inflation', - RoundInitialized = 'round__initialized', - RoundLength = 'round__length', - RoundMintableTokens = 'round__mintableTokens', - RoundMovedStake = 'round__movedStake', - RoundNewStake = 'round__newStake', - RoundNumActiveTranscoders = 'round__numActiveTranscoders', - RoundParticipationRate = 'round__participationRate', - RoundStartBlock = 'round__startBlock', - RoundStartTimestamp = 'round__startTimestamp', - RoundTotalActiveStake = 'round__totalActiveStake', - RoundTotalSupply = 'round__totalSupply', - RoundVolumeEth = 'round__volumeETH', - RoundVolumeUsd = 'round__volumeUSD', - Timestamp = 'timestamp', - Transaction = 'transaction', - TransactionBlockNumber = 'transaction__blockNumber', - TransactionFrom = 'transaction__from', - TransactionGasPrice = 'transaction__gasPrice', - TransactionGasUsed = 'transaction__gasUsed', - TransactionId = 'transaction__id', - TransactionTimestamp = 'transaction__timestamp', - TransactionTo = 'transaction__to' -} - -/** Stake weighted tally associated with a poll */ -export type PollTally = { - __typename: 'PollTally'; - /** Poll address */ - id: Scalars['ID']; - /** Stake voted no */ - no: Scalars['BigDecimal']; - /** Stake voted yes */ - yes: Scalars['BigDecimal']; -}; - -export type PollTally_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - and?: InputMaybe>>; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - no?: InputMaybe; - no_gt?: InputMaybe; - no_gte?: InputMaybe; - no_in?: InputMaybe>; - no_lt?: InputMaybe; - no_lte?: InputMaybe; - no_not?: InputMaybe; - no_not_in?: InputMaybe>; - or?: InputMaybe>>; - yes?: InputMaybe; - yes_gt?: InputMaybe; - yes_gte?: InputMaybe; - yes_in?: InputMaybe>; - yes_lt?: InputMaybe; - yes_lte?: InputMaybe; - yes_not?: InputMaybe; - yes_not_in?: InputMaybe>; -}; - -export enum PollTally_OrderBy { - Id = 'id', - No = 'no', - Yes = 'yes' -} - -export type Poll_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - and?: InputMaybe>>; - endBlock?: InputMaybe; - endBlock_gt?: InputMaybe; - endBlock_gte?: InputMaybe; - endBlock_in?: InputMaybe>; - endBlock_lt?: InputMaybe; - endBlock_lte?: InputMaybe; - endBlock_not?: InputMaybe; - endBlock_not_in?: InputMaybe>; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - or?: InputMaybe>>; - proposal?: InputMaybe; - proposal_contains?: InputMaybe; - proposal_contains_nocase?: InputMaybe; - proposal_ends_with?: InputMaybe; - proposal_ends_with_nocase?: InputMaybe; - proposal_gt?: InputMaybe; - proposal_gte?: InputMaybe; - proposal_in?: InputMaybe>; - proposal_lt?: InputMaybe; - proposal_lte?: InputMaybe; - proposal_not?: InputMaybe; - proposal_not_contains?: InputMaybe; - proposal_not_contains_nocase?: InputMaybe; - proposal_not_ends_with?: InputMaybe; - proposal_not_ends_with_nocase?: InputMaybe; - proposal_not_in?: InputMaybe>; - proposal_not_starts_with?: InputMaybe; - proposal_not_starts_with_nocase?: InputMaybe; - proposal_starts_with?: InputMaybe; - proposal_starts_with_nocase?: InputMaybe; - quorum?: InputMaybe; - quorum_gt?: InputMaybe; - quorum_gte?: InputMaybe; - quorum_in?: InputMaybe>; - quorum_lt?: InputMaybe; - quorum_lte?: InputMaybe; - quorum_not?: InputMaybe; - quorum_not_in?: InputMaybe>; - quota?: InputMaybe; - quota_gt?: InputMaybe; - quota_gte?: InputMaybe; - quota_in?: InputMaybe>; - quota_lt?: InputMaybe; - quota_lte?: InputMaybe; - quota_not?: InputMaybe; - quota_not_in?: InputMaybe>; - tally?: InputMaybe; - tally_?: InputMaybe; - tally_contains?: InputMaybe; - tally_contains_nocase?: InputMaybe; - tally_ends_with?: InputMaybe; - tally_ends_with_nocase?: InputMaybe; - tally_gt?: InputMaybe; - tally_gte?: InputMaybe; - tally_in?: InputMaybe>; - tally_lt?: InputMaybe; - tally_lte?: InputMaybe; - tally_not?: InputMaybe; - tally_not_contains?: InputMaybe; - tally_not_contains_nocase?: InputMaybe; - tally_not_ends_with?: InputMaybe; - tally_not_ends_with_nocase?: InputMaybe; - tally_not_in?: InputMaybe>; - tally_not_starts_with?: InputMaybe; - tally_not_starts_with_nocase?: InputMaybe; - tally_starts_with?: InputMaybe; - tally_starts_with_nocase?: InputMaybe; - votes?: InputMaybe>; - votes_?: InputMaybe; - votes_contains?: InputMaybe>; - votes_contains_nocase?: InputMaybe>; - votes_not?: InputMaybe>; - votes_not_contains?: InputMaybe>; - votes_not_contains_nocase?: InputMaybe>; -}; - -export enum Poll_OrderBy { - EndBlock = 'endBlock', - Id = 'id', - Proposal = 'proposal', - Quorum = 'quorum', - Quota = 'quota', - Tally = 'tally', - TallyId = 'tally__id', - TallyNo = 'tally__no', - TallyYes = 'tally__yes', - Votes = 'votes' -} - -/** Represents a transcoder's rewards and fees to be distributed to delegators */ -export type Pool = { - __typename: 'Pool'; - /** Transcoder associated with the pool */ - delegate: Transcoder; - /** Transcoder's fee share during the earnings pool's round */ - feeShare: Scalars['BigInt']; - /** Fees collected in the pool */ - fees: Scalars['BigDecimal']; - /** Unique identifer for the pool (formed using the transcoder's address and round number) */ - id: Scalars['ID']; - /** Transcoder's reward cut during the earnings pool's round */ - rewardCut: Scalars['BigInt']; - /** Total reward tokens collected in the pool */ - rewardTokens?: Maybe; - /** Round associated with the pool */ - round: Round; - /** Transcoder's total stake during the earnings pool's round */ - totalStake: Scalars['BigDecimal']; -}; - -export type Pool_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - and?: InputMaybe>>; - delegate?: InputMaybe; - delegate_?: InputMaybe; - delegate_contains?: InputMaybe; - delegate_contains_nocase?: InputMaybe; - delegate_ends_with?: InputMaybe; - delegate_ends_with_nocase?: InputMaybe; - delegate_gt?: InputMaybe; - delegate_gte?: InputMaybe; - delegate_in?: InputMaybe>; - delegate_lt?: InputMaybe; - delegate_lte?: InputMaybe; - delegate_not?: InputMaybe; - delegate_not_contains?: InputMaybe; - delegate_not_contains_nocase?: InputMaybe; - delegate_not_ends_with?: InputMaybe; - delegate_not_ends_with_nocase?: InputMaybe; - delegate_not_in?: InputMaybe>; - delegate_not_starts_with?: InputMaybe; - delegate_not_starts_with_nocase?: InputMaybe; - delegate_starts_with?: InputMaybe; - delegate_starts_with_nocase?: InputMaybe; - feeShare?: InputMaybe; - feeShare_gt?: InputMaybe; - feeShare_gte?: InputMaybe; - feeShare_in?: InputMaybe>; - feeShare_lt?: InputMaybe; - feeShare_lte?: InputMaybe; - feeShare_not?: InputMaybe; - feeShare_not_in?: InputMaybe>; - fees?: InputMaybe; - fees_gt?: InputMaybe; - fees_gte?: InputMaybe; - fees_in?: InputMaybe>; - fees_lt?: InputMaybe; - fees_lte?: InputMaybe; - fees_not?: InputMaybe; - fees_not_in?: InputMaybe>; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - or?: InputMaybe>>; - rewardCut?: InputMaybe; - rewardCut_gt?: InputMaybe; - rewardCut_gte?: InputMaybe; - rewardCut_in?: InputMaybe>; - rewardCut_lt?: InputMaybe; - rewardCut_lte?: InputMaybe; - rewardCut_not?: InputMaybe; - rewardCut_not_in?: InputMaybe>; - rewardTokens?: InputMaybe; - rewardTokens_gt?: InputMaybe; - rewardTokens_gte?: InputMaybe; - rewardTokens_in?: InputMaybe>; - rewardTokens_lt?: InputMaybe; - rewardTokens_lte?: InputMaybe; - rewardTokens_not?: InputMaybe; - rewardTokens_not_in?: InputMaybe>; - round?: InputMaybe; - round_?: InputMaybe; - round_contains?: InputMaybe; - round_contains_nocase?: InputMaybe; - round_ends_with?: InputMaybe; - round_ends_with_nocase?: InputMaybe; - round_gt?: InputMaybe; - round_gte?: InputMaybe; - round_in?: InputMaybe>; - round_lt?: InputMaybe; - round_lte?: InputMaybe; - round_not?: InputMaybe; - round_not_contains?: InputMaybe; - round_not_contains_nocase?: InputMaybe; - round_not_ends_with?: InputMaybe; - round_not_ends_with_nocase?: InputMaybe; - round_not_in?: InputMaybe>; - round_not_starts_with?: InputMaybe; - round_not_starts_with_nocase?: InputMaybe; - round_starts_with?: InputMaybe; - round_starts_with_nocase?: InputMaybe; - totalStake?: InputMaybe; - totalStake_gt?: InputMaybe; - totalStake_gte?: InputMaybe; - totalStake_in?: InputMaybe>; - totalStake_lt?: InputMaybe; - totalStake_lte?: InputMaybe; - totalStake_not?: InputMaybe; - totalStake_not_in?: InputMaybe>; -}; - -export enum Pool_OrderBy { - Delegate = 'delegate', - DelegateActivationRound = 'delegate__activationRound', - DelegateActivationTimestamp = 'delegate__activationTimestamp', - DelegateActive = 'delegate__active', - DelegateDeactivationRound = 'delegate__deactivationRound', - DelegateFeeShare = 'delegate__feeShare', - DelegateFeeShareUpdateTimestamp = 'delegate__feeShareUpdateTimestamp', - DelegateId = 'delegate__id', - DelegateLastActiveStakeUpdateRound = 'delegate__lastActiveStakeUpdateRound', - DelegateNinetyDayVolumeEth = 'delegate__ninetyDayVolumeETH', - DelegateRewardCaller = 'delegate__rewardCaller', - DelegateRewardCut = 'delegate__rewardCut', - DelegateRewardCutUpdateTimestamp = 'delegate__rewardCutUpdateTimestamp', - DelegateServiceUri = 'delegate__serviceURI', - DelegateSixtyDayVolumeEth = 'delegate__sixtyDayVolumeETH', - DelegateStatus = 'delegate__status', - DelegateThirtyDayVolumeEth = 'delegate__thirtyDayVolumeETH', - DelegateTotalStake = 'delegate__totalStake', - DelegateTotalVolumeEth = 'delegate__totalVolumeETH', - DelegateTotalVolumeUsd = 'delegate__totalVolumeUSD', - FeeShare = 'feeShare', - Fees = 'fees', - Id = 'id', - RewardCut = 'rewardCut', - RewardTokens = 'rewardTokens', - Round = 'round', - RoundActiveTranscoderCount = 'round__activeTranscoderCount', - RoundDelegatorsCount = 'round__delegatorsCount', - RoundEndBlock = 'round__endBlock', - RoundId = 'round__id', - RoundInflation = 'round__inflation', - RoundInitialized = 'round__initialized', - RoundLength = 'round__length', - RoundMintableTokens = 'round__mintableTokens', - RoundMovedStake = 'round__movedStake', - RoundNewStake = 'round__newStake', - RoundNumActiveTranscoders = 'round__numActiveTranscoders', - RoundParticipationRate = 'round__participationRate', - RoundStartBlock = 'round__startBlock', - RoundStartTimestamp = 'round__startTimestamp', - RoundTotalActiveStake = 'round__totalActiveStake', - RoundTotalSupply = 'round__totalSupply', - RoundVolumeEth = 'round__volumeETH', - RoundVolumeUsd = 'round__volumeUSD', - TotalStake = 'totalStake' -} - -/** Livepeer protocol global parameters */ -export type Protocol = { - __typename: 'Protocol'; - /** Broadcasters that paid tickets within the current 90 day fee window */ - activeBroadcasters: Array; - /** Total active transcoders (up to the limit) */ - activeTranscoderCount: Scalars['BigInt']; - /** Current round the protocol is in */ - currentRound: Round; - /** Total number of delegators on the network */ - delegatorsCount: Scalars['BigInt']; - /** ID is set to 0 */ - id: Scalars['ID']; - /** Per round inflation rate */ - inflation: Scalars['BigInt']; - /** Change in inflation rate per round until the target bonding rate is achieved */ - inflationChange: Scalars['BigInt']; - /** Round that was last initialized */ - lastInitializedRound: Round; - /** Round when round length was last updated */ - lastRoundLengthUpdateRound: Round; - /** Block when round length was last updated */ - lastRoundLengthUpdateStartBlock: Scalars['BigInt']; - /** Time in blocks delegators have to review transcoder information without changes */ - lockPeriod: Scalars['BigInt']; - /** Livepeer Token price in ETH (not to be used for trading - updated only every round) */ - lptPriceEth: Scalars['BigDecimal']; - /** Limit of active transcoders */ - numActiveTranscoders: Scalars['BigInt']; - /** Ratio of total active stake to total supply */ - participationRate: Scalars['BigDecimal']; - /** True if the protocol is paused */ - paused: Scalars['Boolean']; - /** Transcoders pending activation */ - pendingActivation: Array; - /** Transcoders pending deactivation */ - pendingDeactivation: Array; - /** Total rounds */ - roundCount: Scalars['Int']; - /** Round length in blocks */ - roundLength: Scalars['BigInt']; - /** Lock period of a round as a % of round length */ - roundLockAmount: Scalars['BigInt']; - /** Target bonding rate (participation) that determines whether inflation should increase or decrease */ - targetBondingRate: Scalars['BigInt']; - /** The total amount of active LPT staked */ - totalActiveStake: Scalars['BigDecimal']; - /** Livepeer Token supply */ - totalSupply: Scalars['BigDecimal']; - /** Total broadcaster fees transcoders have accumulated in ETH */ - totalVolumeETH: Scalars['BigDecimal']; - /** Total broadcaster fees transcoders have accumulated in USD */ - totalVolumeUSD: Scalars['BigDecimal']; - /** Time in blocks needed to wait to unstake */ - unbondingPeriod: Scalars['BigInt']; - /** Total winning tickets */ - winningTicketCount: Scalars['Int']; -}; - - -/** Livepeer protocol global parameters */ -export type ProtocolPendingActivationArgs = { - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - where?: InputMaybe; -}; - - -/** Livepeer protocol global parameters */ -export type ProtocolPendingDeactivationArgs = { - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - where?: InputMaybe; -}; - -export type Protocol_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - activeBroadcasters?: InputMaybe>; - activeBroadcasters_contains?: InputMaybe>; - activeBroadcasters_contains_nocase?: InputMaybe>; - activeBroadcasters_not?: InputMaybe>; - activeBroadcasters_not_contains?: InputMaybe>; - activeBroadcasters_not_contains_nocase?: InputMaybe>; - activeTranscoderCount?: InputMaybe; - activeTranscoderCount_gt?: InputMaybe; - activeTranscoderCount_gte?: InputMaybe; - activeTranscoderCount_in?: InputMaybe>; - activeTranscoderCount_lt?: InputMaybe; - activeTranscoderCount_lte?: InputMaybe; - activeTranscoderCount_not?: InputMaybe; - activeTranscoderCount_not_in?: InputMaybe>; - and?: InputMaybe>>; - currentRound?: InputMaybe; - currentRound_?: InputMaybe; - currentRound_contains?: InputMaybe; - currentRound_contains_nocase?: InputMaybe; - currentRound_ends_with?: InputMaybe; - currentRound_ends_with_nocase?: InputMaybe; - currentRound_gt?: InputMaybe; - currentRound_gte?: InputMaybe; - currentRound_in?: InputMaybe>; - currentRound_lt?: InputMaybe; - currentRound_lte?: InputMaybe; - currentRound_not?: InputMaybe; - currentRound_not_contains?: InputMaybe; - currentRound_not_contains_nocase?: InputMaybe; - currentRound_not_ends_with?: InputMaybe; - currentRound_not_ends_with_nocase?: InputMaybe; - currentRound_not_in?: InputMaybe>; - currentRound_not_starts_with?: InputMaybe; - currentRound_not_starts_with_nocase?: InputMaybe; - currentRound_starts_with?: InputMaybe; - currentRound_starts_with_nocase?: InputMaybe; - delegatorsCount?: InputMaybe; - delegatorsCount_gt?: InputMaybe; - delegatorsCount_gte?: InputMaybe; - delegatorsCount_in?: InputMaybe>; - delegatorsCount_lt?: InputMaybe; - delegatorsCount_lte?: InputMaybe; - delegatorsCount_not?: InputMaybe; - delegatorsCount_not_in?: InputMaybe>; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - inflation?: InputMaybe; - inflationChange?: InputMaybe; - inflationChange_gt?: InputMaybe; - inflationChange_gte?: InputMaybe; - inflationChange_in?: InputMaybe>; - inflationChange_lt?: InputMaybe; - inflationChange_lte?: InputMaybe; - inflationChange_not?: InputMaybe; - inflationChange_not_in?: InputMaybe>; - inflation_gt?: InputMaybe; - inflation_gte?: InputMaybe; - inflation_in?: InputMaybe>; - inflation_lt?: InputMaybe; - inflation_lte?: InputMaybe; - inflation_not?: InputMaybe; - inflation_not_in?: InputMaybe>; - lastInitializedRound?: InputMaybe; - lastInitializedRound_?: InputMaybe; - lastInitializedRound_contains?: InputMaybe; - lastInitializedRound_contains_nocase?: InputMaybe; - lastInitializedRound_ends_with?: InputMaybe; - lastInitializedRound_ends_with_nocase?: InputMaybe; - lastInitializedRound_gt?: InputMaybe; - lastInitializedRound_gte?: InputMaybe; - lastInitializedRound_in?: InputMaybe>; - lastInitializedRound_lt?: InputMaybe; - lastInitializedRound_lte?: InputMaybe; - lastInitializedRound_not?: InputMaybe; - lastInitializedRound_not_contains?: InputMaybe; - lastInitializedRound_not_contains_nocase?: InputMaybe; - lastInitializedRound_not_ends_with?: InputMaybe; - lastInitializedRound_not_ends_with_nocase?: InputMaybe; - lastInitializedRound_not_in?: InputMaybe>; - lastInitializedRound_not_starts_with?: InputMaybe; - lastInitializedRound_not_starts_with_nocase?: InputMaybe; - lastInitializedRound_starts_with?: InputMaybe; - lastInitializedRound_starts_with_nocase?: InputMaybe; - lastRoundLengthUpdateRound?: InputMaybe; - lastRoundLengthUpdateRound_?: InputMaybe; - lastRoundLengthUpdateRound_contains?: InputMaybe; - lastRoundLengthUpdateRound_contains_nocase?: InputMaybe; - lastRoundLengthUpdateRound_ends_with?: InputMaybe; - lastRoundLengthUpdateRound_ends_with_nocase?: InputMaybe; - lastRoundLengthUpdateRound_gt?: InputMaybe; - lastRoundLengthUpdateRound_gte?: InputMaybe; - lastRoundLengthUpdateRound_in?: InputMaybe>; - lastRoundLengthUpdateRound_lt?: InputMaybe; - lastRoundLengthUpdateRound_lte?: InputMaybe; - lastRoundLengthUpdateRound_not?: InputMaybe; - lastRoundLengthUpdateRound_not_contains?: InputMaybe; - lastRoundLengthUpdateRound_not_contains_nocase?: InputMaybe; - lastRoundLengthUpdateRound_not_ends_with?: InputMaybe; - lastRoundLengthUpdateRound_not_ends_with_nocase?: InputMaybe; - lastRoundLengthUpdateRound_not_in?: InputMaybe>; - lastRoundLengthUpdateRound_not_starts_with?: InputMaybe; - lastRoundLengthUpdateRound_not_starts_with_nocase?: InputMaybe; - lastRoundLengthUpdateRound_starts_with?: InputMaybe; - lastRoundLengthUpdateRound_starts_with_nocase?: InputMaybe; - lastRoundLengthUpdateStartBlock?: InputMaybe; - lastRoundLengthUpdateStartBlock_gt?: InputMaybe; - lastRoundLengthUpdateStartBlock_gte?: InputMaybe; - lastRoundLengthUpdateStartBlock_in?: InputMaybe>; - lastRoundLengthUpdateStartBlock_lt?: InputMaybe; - lastRoundLengthUpdateStartBlock_lte?: InputMaybe; - lastRoundLengthUpdateStartBlock_not?: InputMaybe; - lastRoundLengthUpdateStartBlock_not_in?: InputMaybe>; - lockPeriod?: InputMaybe; - lockPeriod_gt?: InputMaybe; - lockPeriod_gte?: InputMaybe; - lockPeriod_in?: InputMaybe>; - lockPeriod_lt?: InputMaybe; - lockPeriod_lte?: InputMaybe; - lockPeriod_not?: InputMaybe; - lockPeriod_not_in?: InputMaybe>; - lptPriceEth?: InputMaybe; - lptPriceEth_gt?: InputMaybe; - lptPriceEth_gte?: InputMaybe; - lptPriceEth_in?: InputMaybe>; - lptPriceEth_lt?: InputMaybe; - lptPriceEth_lte?: InputMaybe; - lptPriceEth_not?: InputMaybe; - lptPriceEth_not_in?: InputMaybe>; - numActiveTranscoders?: InputMaybe; - numActiveTranscoders_gt?: InputMaybe; - numActiveTranscoders_gte?: InputMaybe; - numActiveTranscoders_in?: InputMaybe>; - numActiveTranscoders_lt?: InputMaybe; - numActiveTranscoders_lte?: InputMaybe; - numActiveTranscoders_not?: InputMaybe; - numActiveTranscoders_not_in?: InputMaybe>; - or?: InputMaybe>>; - participationRate?: InputMaybe; - participationRate_gt?: InputMaybe; - participationRate_gte?: InputMaybe; - participationRate_in?: InputMaybe>; - participationRate_lt?: InputMaybe; - participationRate_lte?: InputMaybe; - participationRate_not?: InputMaybe; - participationRate_not_in?: InputMaybe>; - paused?: InputMaybe; - paused_in?: InputMaybe>; - paused_not?: InputMaybe; - paused_not_in?: InputMaybe>; - pendingActivation?: InputMaybe>; - pendingActivation_?: InputMaybe; - pendingActivation_contains?: InputMaybe>; - pendingActivation_contains_nocase?: InputMaybe>; - pendingActivation_not?: InputMaybe>; - pendingActivation_not_contains?: InputMaybe>; - pendingActivation_not_contains_nocase?: InputMaybe>; - pendingDeactivation?: InputMaybe>; - pendingDeactivation_?: InputMaybe; - pendingDeactivation_contains?: InputMaybe>; - pendingDeactivation_contains_nocase?: InputMaybe>; - pendingDeactivation_not?: InputMaybe>; - pendingDeactivation_not_contains?: InputMaybe>; - pendingDeactivation_not_contains_nocase?: InputMaybe>; - roundCount?: InputMaybe; - roundCount_gt?: InputMaybe; - roundCount_gte?: InputMaybe; - roundCount_in?: InputMaybe>; - roundCount_lt?: InputMaybe; - roundCount_lte?: InputMaybe; - roundCount_not?: InputMaybe; - roundCount_not_in?: InputMaybe>; - roundLength?: InputMaybe; - roundLength_gt?: InputMaybe; - roundLength_gte?: InputMaybe; - roundLength_in?: InputMaybe>; - roundLength_lt?: InputMaybe; - roundLength_lte?: InputMaybe; - roundLength_not?: InputMaybe; - roundLength_not_in?: InputMaybe>; - roundLockAmount?: InputMaybe; - roundLockAmount_gt?: InputMaybe; - roundLockAmount_gte?: InputMaybe; - roundLockAmount_in?: InputMaybe>; - roundLockAmount_lt?: InputMaybe; - roundLockAmount_lte?: InputMaybe; - roundLockAmount_not?: InputMaybe; - roundLockAmount_not_in?: InputMaybe>; - targetBondingRate?: InputMaybe; - targetBondingRate_gt?: InputMaybe; - targetBondingRate_gte?: InputMaybe; - targetBondingRate_in?: InputMaybe>; - targetBondingRate_lt?: InputMaybe; - targetBondingRate_lte?: InputMaybe; - targetBondingRate_not?: InputMaybe; - targetBondingRate_not_in?: InputMaybe>; - totalActiveStake?: InputMaybe; - totalActiveStake_gt?: InputMaybe; - totalActiveStake_gte?: InputMaybe; - totalActiveStake_in?: InputMaybe>; - totalActiveStake_lt?: InputMaybe; - totalActiveStake_lte?: InputMaybe; - totalActiveStake_not?: InputMaybe; - totalActiveStake_not_in?: InputMaybe>; - totalSupply?: InputMaybe; - totalSupply_gt?: InputMaybe; - totalSupply_gte?: InputMaybe; - totalSupply_in?: InputMaybe>; - totalSupply_lt?: InputMaybe; - totalSupply_lte?: InputMaybe; - totalSupply_not?: InputMaybe; - totalSupply_not_in?: InputMaybe>; - totalVolumeETH?: InputMaybe; - totalVolumeETH_gt?: InputMaybe; - totalVolumeETH_gte?: InputMaybe; - totalVolumeETH_in?: InputMaybe>; - totalVolumeETH_lt?: InputMaybe; - totalVolumeETH_lte?: InputMaybe; - totalVolumeETH_not?: InputMaybe; - totalVolumeETH_not_in?: InputMaybe>; - totalVolumeUSD?: InputMaybe; - totalVolumeUSD_gt?: InputMaybe; - totalVolumeUSD_gte?: InputMaybe; - totalVolumeUSD_in?: InputMaybe>; - totalVolumeUSD_lt?: InputMaybe; - totalVolumeUSD_lte?: InputMaybe; - totalVolumeUSD_not?: InputMaybe; - totalVolumeUSD_not_in?: InputMaybe>; - unbondingPeriod?: InputMaybe; - unbondingPeriod_gt?: InputMaybe; - unbondingPeriod_gte?: InputMaybe; - unbondingPeriod_in?: InputMaybe>; - unbondingPeriod_lt?: InputMaybe; - unbondingPeriod_lte?: InputMaybe; - unbondingPeriod_not?: InputMaybe; - unbondingPeriod_not_in?: InputMaybe>; - winningTicketCount?: InputMaybe; - winningTicketCount_gt?: InputMaybe; - winningTicketCount_gte?: InputMaybe; - winningTicketCount_in?: InputMaybe>; - winningTicketCount_lt?: InputMaybe; - winningTicketCount_lte?: InputMaybe; - winningTicketCount_not?: InputMaybe; - winningTicketCount_not_in?: InputMaybe>; -}; - -export enum Protocol_OrderBy { - ActiveBroadcasters = 'activeBroadcasters', - ActiveTranscoderCount = 'activeTranscoderCount', - CurrentRound = 'currentRound', - CurrentRoundActiveTranscoderCount = 'currentRound__activeTranscoderCount', - CurrentRoundDelegatorsCount = 'currentRound__delegatorsCount', - CurrentRoundEndBlock = 'currentRound__endBlock', - CurrentRoundId = 'currentRound__id', - CurrentRoundInflation = 'currentRound__inflation', - CurrentRoundInitialized = 'currentRound__initialized', - CurrentRoundLength = 'currentRound__length', - CurrentRoundMintableTokens = 'currentRound__mintableTokens', - CurrentRoundMovedStake = 'currentRound__movedStake', - CurrentRoundNewStake = 'currentRound__newStake', - CurrentRoundNumActiveTranscoders = 'currentRound__numActiveTranscoders', - CurrentRoundParticipationRate = 'currentRound__participationRate', - CurrentRoundStartBlock = 'currentRound__startBlock', - CurrentRoundStartTimestamp = 'currentRound__startTimestamp', - CurrentRoundTotalActiveStake = 'currentRound__totalActiveStake', - CurrentRoundTotalSupply = 'currentRound__totalSupply', - CurrentRoundVolumeEth = 'currentRound__volumeETH', - CurrentRoundVolumeUsd = 'currentRound__volumeUSD', - DelegatorsCount = 'delegatorsCount', - Id = 'id', - Inflation = 'inflation', - InflationChange = 'inflationChange', - LastInitializedRound = 'lastInitializedRound', - LastInitializedRoundActiveTranscoderCount = 'lastInitializedRound__activeTranscoderCount', - LastInitializedRoundDelegatorsCount = 'lastInitializedRound__delegatorsCount', - LastInitializedRoundEndBlock = 'lastInitializedRound__endBlock', - LastInitializedRoundId = 'lastInitializedRound__id', - LastInitializedRoundInflation = 'lastInitializedRound__inflation', - LastInitializedRoundInitialized = 'lastInitializedRound__initialized', - LastInitializedRoundLength = 'lastInitializedRound__length', - LastInitializedRoundMintableTokens = 'lastInitializedRound__mintableTokens', - LastInitializedRoundMovedStake = 'lastInitializedRound__movedStake', - LastInitializedRoundNewStake = 'lastInitializedRound__newStake', - LastInitializedRoundNumActiveTranscoders = 'lastInitializedRound__numActiveTranscoders', - LastInitializedRoundParticipationRate = 'lastInitializedRound__participationRate', - LastInitializedRoundStartBlock = 'lastInitializedRound__startBlock', - LastInitializedRoundStartTimestamp = 'lastInitializedRound__startTimestamp', - LastInitializedRoundTotalActiveStake = 'lastInitializedRound__totalActiveStake', - LastInitializedRoundTotalSupply = 'lastInitializedRound__totalSupply', - LastInitializedRoundVolumeEth = 'lastInitializedRound__volumeETH', - LastInitializedRoundVolumeUsd = 'lastInitializedRound__volumeUSD', - LastRoundLengthUpdateRound = 'lastRoundLengthUpdateRound', - LastRoundLengthUpdateRoundActiveTranscoderCount = 'lastRoundLengthUpdateRound__activeTranscoderCount', - LastRoundLengthUpdateRoundDelegatorsCount = 'lastRoundLengthUpdateRound__delegatorsCount', - LastRoundLengthUpdateRoundEndBlock = 'lastRoundLengthUpdateRound__endBlock', - LastRoundLengthUpdateRoundId = 'lastRoundLengthUpdateRound__id', - LastRoundLengthUpdateRoundInflation = 'lastRoundLengthUpdateRound__inflation', - LastRoundLengthUpdateRoundInitialized = 'lastRoundLengthUpdateRound__initialized', - LastRoundLengthUpdateRoundLength = 'lastRoundLengthUpdateRound__length', - LastRoundLengthUpdateRoundMintableTokens = 'lastRoundLengthUpdateRound__mintableTokens', - LastRoundLengthUpdateRoundMovedStake = 'lastRoundLengthUpdateRound__movedStake', - LastRoundLengthUpdateRoundNewStake = 'lastRoundLengthUpdateRound__newStake', - LastRoundLengthUpdateRoundNumActiveTranscoders = 'lastRoundLengthUpdateRound__numActiveTranscoders', - LastRoundLengthUpdateRoundParticipationRate = 'lastRoundLengthUpdateRound__participationRate', - LastRoundLengthUpdateRoundStartBlock = 'lastRoundLengthUpdateRound__startBlock', - LastRoundLengthUpdateRoundStartTimestamp = 'lastRoundLengthUpdateRound__startTimestamp', - LastRoundLengthUpdateRoundTotalActiveStake = 'lastRoundLengthUpdateRound__totalActiveStake', - LastRoundLengthUpdateRoundTotalSupply = 'lastRoundLengthUpdateRound__totalSupply', - LastRoundLengthUpdateRoundVolumeEth = 'lastRoundLengthUpdateRound__volumeETH', - LastRoundLengthUpdateRoundVolumeUsd = 'lastRoundLengthUpdateRound__volumeUSD', - LastRoundLengthUpdateStartBlock = 'lastRoundLengthUpdateStartBlock', - LockPeriod = 'lockPeriod', - LptPriceEth = 'lptPriceEth', - NumActiveTranscoders = 'numActiveTranscoders', - ParticipationRate = 'participationRate', - Paused = 'paused', - PendingActivation = 'pendingActivation', - PendingDeactivation = 'pendingDeactivation', - RoundCount = 'roundCount', - RoundLength = 'roundLength', - RoundLockAmount = 'roundLockAmount', - TargetBondingRate = 'targetBondingRate', - TotalActiveStake = 'totalActiveStake', - TotalSupply = 'totalSupply', - TotalVolumeEth = 'totalVolumeETH', - TotalVolumeUsd = 'totalVolumeUSD', - UnbondingPeriod = 'unbondingPeriod', - WinningTicketCount = 'winningTicketCount' -} - -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; - bondEvents: Array; - broadcaster?: Maybe; - broadcasterDay?: Maybe; - broadcasterDays: Array; - broadcasters: Array; - burnEvent?: Maybe; - burnEvents: Array; - day?: Maybe; - days: Array; - delegator?: Maybe; - delegators: Array; - depositFundedEvent?: Maybe; - depositFundedEvents: Array; - earningsClaimedEvent?: Maybe; - earningsClaimedEvents: Array; - event?: Maybe; - events: Array; - livepeerAccount?: Maybe; - livepeerAccounts: Array; - migrateDelegatorFinalizedEvent?: Maybe; - migrateDelegatorFinalizedEvents: Array; - mintEvent?: Maybe; - mintEvents: Array; - newRoundEvent?: Maybe; - newRoundEvents: Array; - parameterUpdateEvent?: Maybe; - parameterUpdateEvents: Array; - pauseEvent?: Maybe; - pauseEvents: Array; - poll?: Maybe; - pollCreatedEvent?: Maybe; - pollCreatedEvents: Array; - pollTallies: Array; - pollTally?: Maybe; - polls: Array; - pool?: Maybe; - pools: Array; - protocol?: Maybe; - protocols: Array; - rebondEvent?: Maybe; - rebondEvents: Array; - reserveClaimedEvent?: Maybe; - reserveClaimedEvents: Array; - reserveFundedEvent?: Maybe; - reserveFundedEvents: Array; - rewardCallerSetEvent?: Maybe; - rewardCallerSetEvents: Array; - rewardEvent?: Maybe; - rewardEvents: Array; - round?: Maybe; - rounds: Array; - serviceURIUpdateEvent?: Maybe; - serviceURIUpdateEvents: Array; - setCurrentRewardTokensEvent?: Maybe; - setCurrentRewardTokensEvents: Array; - stakeClaimedEvent?: Maybe; - stakeClaimedEvents: Array; - transaction?: Maybe; - transactions: Array; - transcoder?: Maybe; - transcoderActivatedEvent?: Maybe; - transcoderActivatedEvents: Array; - transcoderDay?: Maybe; - transcoderDays: Array; - transcoderDeactivatedEvent?: Maybe; - transcoderDeactivatedEvents: Array; - transcoderEvictedEvent?: Maybe; - transcoderEvictedEvents: Array; - transcoderResignedEvent?: Maybe; - transcoderResignedEvents: Array; - transcoderSlashedEvent?: Maybe; - transcoderSlashedEvents: Array; - transcoderUpdateEvent?: Maybe; - transcoderUpdateEvents: Array; - transcoders: Array; - transferBondEvent?: Maybe; - transferBondEvents: Array; - treasuryProposal?: Maybe; - treasuryProposals: Array; - treasuryVote?: Maybe; - treasuryVoteEvent?: Maybe; - treasuryVoteEvents: Array; - treasuryVotes: Array; - unbondEvent?: Maybe; - unbondEvents: Array; - unbondingLock?: Maybe; - unbondingLocks: Array; - unpauseEvent?: Maybe; - unpauseEvents: Array; - vote?: Maybe; - voteEvent?: Maybe; - voteEvents: Array; - votes: Array; - winningTicketRedeemedEvent?: Maybe; - winningTicketRedeemedEvents: Array; - withdrawFeesEvent?: Maybe; - withdrawFeesEvents: Array; - withdrawStakeEvent?: Maybe; - withdrawStakeEvents: Array; - withdrawalEvent?: Maybe; - withdrawalEvents: Array; -}; - - -export type Query_LogsArgs = { - first?: InputMaybe; - from?: InputMaybe; - level?: InputMaybe; - orderDirection?: InputMaybe; - search?: InputMaybe; - skip?: InputMaybe; - to?: InputMaybe; -}; - - -export type Query_MetaArgs = { - block?: InputMaybe; -}; - - -export type QueryBondEventArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryBondEventsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryBroadcasterArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryBroadcasterDayArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryBroadcasterDaysArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryBroadcastersArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryBurnEventArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryBurnEventsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryDayArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryDaysArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryDelegatorArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryDelegatorsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryDepositFundedEventArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryDepositFundedEventsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryEarningsClaimedEventArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryEarningsClaimedEventsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryEventArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryEventsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryLivepeerAccountArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryLivepeerAccountsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryMigrateDelegatorFinalizedEventArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryMigrateDelegatorFinalizedEventsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryMintEventArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryMintEventsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryNewRoundEventArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryNewRoundEventsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryParameterUpdateEventArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryParameterUpdateEventsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryPauseEventArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryPauseEventsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryPollArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryPollCreatedEventArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryPollCreatedEventsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryPollTalliesArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryPollTallyArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryPollsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryPoolArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryPoolsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryProtocolArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryProtocolsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryRebondEventArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryRebondEventsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryReserveClaimedEventArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryReserveClaimedEventsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryReserveFundedEventArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryReserveFundedEventsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryRewardCallerSetEventArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryRewardCallerSetEventsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryRewardEventArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryRewardEventsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryRoundArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryRoundsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryServiceUriUpdateEventArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryServiceUriUpdateEventsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QuerySetCurrentRewardTokensEventArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QuerySetCurrentRewardTokensEventsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryStakeClaimedEventArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryStakeClaimedEventsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryTransactionArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryTransactionsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryTranscoderArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryTranscoderActivatedEventArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryTranscoderActivatedEventsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryTranscoderDayArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryTranscoderDaysArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryTranscoderDeactivatedEventArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryTranscoderDeactivatedEventsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryTranscoderEvictedEventArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryTranscoderEvictedEventsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryTranscoderResignedEventArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryTranscoderResignedEventsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryTranscoderSlashedEventArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryTranscoderSlashedEventsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryTranscoderUpdateEventArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryTranscoderUpdateEventsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryTranscodersArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryTransferBondEventArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryTransferBondEventsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryTreasuryProposalArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryTreasuryProposalsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryTreasuryVoteArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryTreasuryVoteEventArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryTreasuryVoteEventsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryTreasuryVotesArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryUnbondEventArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryUnbondEventsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryUnbondingLockArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryUnbondingLocksArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryUnpauseEventArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryUnpauseEventsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryVoteArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryVoteEventArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryVoteEventsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryVotesArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryWinningTicketRedeemedEventArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryWinningTicketRedeemedEventsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryWithdrawFeesEventArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryWithdrawFeesEventsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryWithdrawStakeEventArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryWithdrawStakeEventsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - - -export type QueryWithdrawalEventArgs = { - block?: InputMaybe; - id: Scalars['ID']; - subgraphError?: _SubgraphErrorPolicy_; -}; - - -export type QueryWithdrawalEventsArgs = { - block?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - subgraphError?: _SubgraphErrorPolicy_; - where?: InputMaybe; -}; - -/** RebondEvent entities are created for every emitted Rebond event. */ -export type RebondEvent = Event & { - __typename: 'RebondEvent'; - amount: Scalars['BigDecimal']; - delegate: Transcoder; - /** Reference to the delegator that rebonded */ - delegator: Delegator; - /** Ethereum transaction hash + event log index */ - id: Scalars['ID']; - /** Reference to the round the event occured in */ - round: Round; - /** Timestamp of the transaction the event was included in */ - timestamp: Scalars['Int']; - /** Reference to the transaction the event was included in */ - transaction: Transaction; - unbondingLockId: Scalars['Int']; -}; - -export type RebondEvent_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - amount?: InputMaybe; - amount_gt?: InputMaybe; - amount_gte?: InputMaybe; - amount_in?: InputMaybe>; - amount_lt?: InputMaybe; - amount_lte?: InputMaybe; - amount_not?: InputMaybe; - amount_not_in?: InputMaybe>; - and?: InputMaybe>>; - delegate?: InputMaybe; - delegate_?: InputMaybe; - delegate_contains?: InputMaybe; - delegate_contains_nocase?: InputMaybe; - delegate_ends_with?: InputMaybe; - delegate_ends_with_nocase?: InputMaybe; - delegate_gt?: InputMaybe; - delegate_gte?: InputMaybe; - delegate_in?: InputMaybe>; - delegate_lt?: InputMaybe; - delegate_lte?: InputMaybe; - delegate_not?: InputMaybe; - delegate_not_contains?: InputMaybe; - delegate_not_contains_nocase?: InputMaybe; - delegate_not_ends_with?: InputMaybe; - delegate_not_ends_with_nocase?: InputMaybe; - delegate_not_in?: InputMaybe>; - delegate_not_starts_with?: InputMaybe; - delegate_not_starts_with_nocase?: InputMaybe; - delegate_starts_with?: InputMaybe; - delegate_starts_with_nocase?: InputMaybe; - delegator?: InputMaybe; - delegator_?: InputMaybe; - delegator_contains?: InputMaybe; - delegator_contains_nocase?: InputMaybe; - delegator_ends_with?: InputMaybe; - delegator_ends_with_nocase?: InputMaybe; - delegator_gt?: InputMaybe; - delegator_gte?: InputMaybe; - delegator_in?: InputMaybe>; - delegator_lt?: InputMaybe; - delegator_lte?: InputMaybe; - delegator_not?: InputMaybe; - delegator_not_contains?: InputMaybe; - delegator_not_contains_nocase?: InputMaybe; - delegator_not_ends_with?: InputMaybe; - delegator_not_ends_with_nocase?: InputMaybe; - delegator_not_in?: InputMaybe>; - delegator_not_starts_with?: InputMaybe; - delegator_not_starts_with_nocase?: InputMaybe; - delegator_starts_with?: InputMaybe; - delegator_starts_with_nocase?: InputMaybe; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - or?: InputMaybe>>; - round?: InputMaybe; - round_?: InputMaybe; - round_contains?: InputMaybe; - round_contains_nocase?: InputMaybe; - round_ends_with?: InputMaybe; - round_ends_with_nocase?: InputMaybe; - round_gt?: InputMaybe; - round_gte?: InputMaybe; - round_in?: InputMaybe>; - round_lt?: InputMaybe; - round_lte?: InputMaybe; - round_not?: InputMaybe; - round_not_contains?: InputMaybe; - round_not_contains_nocase?: InputMaybe; - round_not_ends_with?: InputMaybe; - round_not_ends_with_nocase?: InputMaybe; - round_not_in?: InputMaybe>; - round_not_starts_with?: InputMaybe; - round_not_starts_with_nocase?: InputMaybe; - round_starts_with?: InputMaybe; - round_starts_with_nocase?: InputMaybe; - timestamp?: InputMaybe; - timestamp_gt?: InputMaybe; - timestamp_gte?: InputMaybe; - timestamp_in?: InputMaybe>; - timestamp_lt?: InputMaybe; - timestamp_lte?: InputMaybe; - timestamp_not?: InputMaybe; - timestamp_not_in?: InputMaybe>; - transaction?: InputMaybe; - transaction_?: InputMaybe; - transaction_contains?: InputMaybe; - transaction_contains_nocase?: InputMaybe; - transaction_ends_with?: InputMaybe; - transaction_ends_with_nocase?: InputMaybe; - transaction_gt?: InputMaybe; - transaction_gte?: InputMaybe; - transaction_in?: InputMaybe>; - transaction_lt?: InputMaybe; - transaction_lte?: InputMaybe; - transaction_not?: InputMaybe; - transaction_not_contains?: InputMaybe; - transaction_not_contains_nocase?: InputMaybe; - transaction_not_ends_with?: InputMaybe; - transaction_not_ends_with_nocase?: InputMaybe; - transaction_not_in?: InputMaybe>; - transaction_not_starts_with?: InputMaybe; - transaction_not_starts_with_nocase?: InputMaybe; - transaction_starts_with?: InputMaybe; - transaction_starts_with_nocase?: InputMaybe; - unbondingLockId?: InputMaybe; - unbondingLockId_gt?: InputMaybe; - unbondingLockId_gte?: InputMaybe; - unbondingLockId_in?: InputMaybe>; - unbondingLockId_lt?: InputMaybe; - unbondingLockId_lte?: InputMaybe; - unbondingLockId_not?: InputMaybe; - unbondingLockId_not_in?: InputMaybe>; -}; - -export enum RebondEvent_OrderBy { - Amount = 'amount', - Delegate = 'delegate', - DelegateActivationRound = 'delegate__activationRound', - DelegateActivationTimestamp = 'delegate__activationTimestamp', - DelegateActive = 'delegate__active', - DelegateDeactivationRound = 'delegate__deactivationRound', - DelegateFeeShare = 'delegate__feeShare', - DelegateFeeShareUpdateTimestamp = 'delegate__feeShareUpdateTimestamp', - DelegateId = 'delegate__id', - DelegateLastActiveStakeUpdateRound = 'delegate__lastActiveStakeUpdateRound', - DelegateNinetyDayVolumeEth = 'delegate__ninetyDayVolumeETH', - DelegateRewardCaller = 'delegate__rewardCaller', - DelegateRewardCut = 'delegate__rewardCut', - DelegateRewardCutUpdateTimestamp = 'delegate__rewardCutUpdateTimestamp', - DelegateServiceUri = 'delegate__serviceURI', - DelegateSixtyDayVolumeEth = 'delegate__sixtyDayVolumeETH', - DelegateStatus = 'delegate__status', - DelegateThirtyDayVolumeEth = 'delegate__thirtyDayVolumeETH', - DelegateTotalStake = 'delegate__totalStake', - DelegateTotalVolumeEth = 'delegate__totalVolumeETH', - DelegateTotalVolumeUsd = 'delegate__totalVolumeUSD', - Delegator = 'delegator', - DelegatorBondedAmount = 'delegator__bondedAmount', - DelegatorDelegatedAmount = 'delegator__delegatedAmount', - DelegatorFees = 'delegator__fees', - DelegatorId = 'delegator__id', - DelegatorPrincipal = 'delegator__principal', - DelegatorStartRound = 'delegator__startRound', - DelegatorUnbonded = 'delegator__unbonded', - DelegatorWithdrawnFees = 'delegator__withdrawnFees', - Id = 'id', - Round = 'round', - RoundActiveTranscoderCount = 'round__activeTranscoderCount', - RoundDelegatorsCount = 'round__delegatorsCount', - RoundEndBlock = 'round__endBlock', - RoundId = 'round__id', - RoundInflation = 'round__inflation', - RoundInitialized = 'round__initialized', - RoundLength = 'round__length', - RoundMintableTokens = 'round__mintableTokens', - RoundMovedStake = 'round__movedStake', - RoundNewStake = 'round__newStake', - RoundNumActiveTranscoders = 'round__numActiveTranscoders', - RoundParticipationRate = 'round__participationRate', - RoundStartBlock = 'round__startBlock', - RoundStartTimestamp = 'round__startTimestamp', - RoundTotalActiveStake = 'round__totalActiveStake', - RoundTotalSupply = 'round__totalSupply', - RoundVolumeEth = 'round__volumeETH', - RoundVolumeUsd = 'round__volumeUSD', - Timestamp = 'timestamp', - Transaction = 'transaction', - TransactionBlockNumber = 'transaction__blockNumber', - TransactionFrom = 'transaction__from', - TransactionGasPrice = 'transaction__gasPrice', - TransactionGasUsed = 'transaction__gasUsed', - TransactionId = 'transaction__id', - TransactionTimestamp = 'transaction__timestamp', - TransactionTo = 'transaction__to', - UnbondingLockId = 'unbondingLockId' -} - -/** ReserveClaimedEvent entities are created for every emitted ReserveClaimed event. */ -export type ReserveClaimedEvent = Event & { - __typename: 'ReserveClaimedEvent'; - /** Amount of funds claimed by claimant from the reserve for the reserve holder */ - amount: Scalars['BigDecimal']; - /** Reference to the claimant */ - claimant: Transcoder; - /** Ethereum transaction hash + event log index */ - id: Scalars['ID']; - /** Reference to the reserve holder */ - reserveHolder: Broadcaster; - /** Reference to the round the event occured in */ - round: Round; - /** Timestamp of the transaction the event was included in */ - timestamp: Scalars['Int']; - /** Reference to the transaction the event was included in */ - transaction: Transaction; -}; - -export type ReserveClaimedEvent_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - amount?: InputMaybe; - amount_gt?: InputMaybe; - amount_gte?: InputMaybe; - amount_in?: InputMaybe>; - amount_lt?: InputMaybe; - amount_lte?: InputMaybe; - amount_not?: InputMaybe; - amount_not_in?: InputMaybe>; - and?: InputMaybe>>; - claimant?: InputMaybe; - claimant_?: InputMaybe; - claimant_contains?: InputMaybe; - claimant_contains_nocase?: InputMaybe; - claimant_ends_with?: InputMaybe; - claimant_ends_with_nocase?: InputMaybe; - claimant_gt?: InputMaybe; - claimant_gte?: InputMaybe; - claimant_in?: InputMaybe>; - claimant_lt?: InputMaybe; - claimant_lte?: InputMaybe; - claimant_not?: InputMaybe; - claimant_not_contains?: InputMaybe; - claimant_not_contains_nocase?: InputMaybe; - claimant_not_ends_with?: InputMaybe; - claimant_not_ends_with_nocase?: InputMaybe; - claimant_not_in?: InputMaybe>; - claimant_not_starts_with?: InputMaybe; - claimant_not_starts_with_nocase?: InputMaybe; - claimant_starts_with?: InputMaybe; - claimant_starts_with_nocase?: InputMaybe; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - or?: InputMaybe>>; - reserveHolder?: InputMaybe; - reserveHolder_?: InputMaybe; - reserveHolder_contains?: InputMaybe; - reserveHolder_contains_nocase?: InputMaybe; - reserveHolder_ends_with?: InputMaybe; - reserveHolder_ends_with_nocase?: InputMaybe; - reserveHolder_gt?: InputMaybe; - reserveHolder_gte?: InputMaybe; - reserveHolder_in?: InputMaybe>; - reserveHolder_lt?: InputMaybe; - reserveHolder_lte?: InputMaybe; - reserveHolder_not?: InputMaybe; - reserveHolder_not_contains?: InputMaybe; - reserveHolder_not_contains_nocase?: InputMaybe; - reserveHolder_not_ends_with?: InputMaybe; - reserveHolder_not_ends_with_nocase?: InputMaybe; - reserveHolder_not_in?: InputMaybe>; - reserveHolder_not_starts_with?: InputMaybe; - reserveHolder_not_starts_with_nocase?: InputMaybe; - reserveHolder_starts_with?: InputMaybe; - reserveHolder_starts_with_nocase?: InputMaybe; - round?: InputMaybe; - round_?: InputMaybe; - round_contains?: InputMaybe; - round_contains_nocase?: InputMaybe; - round_ends_with?: InputMaybe; - round_ends_with_nocase?: InputMaybe; - round_gt?: InputMaybe; - round_gte?: InputMaybe; - round_in?: InputMaybe>; - round_lt?: InputMaybe; - round_lte?: InputMaybe; - round_not?: InputMaybe; - round_not_contains?: InputMaybe; - round_not_contains_nocase?: InputMaybe; - round_not_ends_with?: InputMaybe; - round_not_ends_with_nocase?: InputMaybe; - round_not_in?: InputMaybe>; - round_not_starts_with?: InputMaybe; - round_not_starts_with_nocase?: InputMaybe; - round_starts_with?: InputMaybe; - round_starts_with_nocase?: InputMaybe; - timestamp?: InputMaybe; - timestamp_gt?: InputMaybe; - timestamp_gte?: InputMaybe; - timestamp_in?: InputMaybe>; - timestamp_lt?: InputMaybe; - timestamp_lte?: InputMaybe; - timestamp_not?: InputMaybe; - timestamp_not_in?: InputMaybe>; - transaction?: InputMaybe; - transaction_?: InputMaybe; - transaction_contains?: InputMaybe; - transaction_contains_nocase?: InputMaybe; - transaction_ends_with?: InputMaybe; - transaction_ends_with_nocase?: InputMaybe; - transaction_gt?: InputMaybe; - transaction_gte?: InputMaybe; - transaction_in?: InputMaybe>; - transaction_lt?: InputMaybe; - transaction_lte?: InputMaybe; - transaction_not?: InputMaybe; - transaction_not_contains?: InputMaybe; - transaction_not_contains_nocase?: InputMaybe; - transaction_not_ends_with?: InputMaybe; - transaction_not_ends_with_nocase?: InputMaybe; - transaction_not_in?: InputMaybe>; - transaction_not_starts_with?: InputMaybe; - transaction_not_starts_with_nocase?: InputMaybe; - transaction_starts_with?: InputMaybe; - transaction_starts_with_nocase?: InputMaybe; -}; - -export enum ReserveClaimedEvent_OrderBy { - Amount = 'amount', - Claimant = 'claimant', - ClaimantActivationRound = 'claimant__activationRound', - ClaimantActivationTimestamp = 'claimant__activationTimestamp', - ClaimantActive = 'claimant__active', - ClaimantDeactivationRound = 'claimant__deactivationRound', - ClaimantFeeShare = 'claimant__feeShare', - ClaimantFeeShareUpdateTimestamp = 'claimant__feeShareUpdateTimestamp', - ClaimantId = 'claimant__id', - ClaimantLastActiveStakeUpdateRound = 'claimant__lastActiveStakeUpdateRound', - ClaimantNinetyDayVolumeEth = 'claimant__ninetyDayVolumeETH', - ClaimantRewardCaller = 'claimant__rewardCaller', - ClaimantRewardCut = 'claimant__rewardCut', - ClaimantRewardCutUpdateTimestamp = 'claimant__rewardCutUpdateTimestamp', - ClaimantServiceUri = 'claimant__serviceURI', - ClaimantSixtyDayVolumeEth = 'claimant__sixtyDayVolumeETH', - ClaimantStatus = 'claimant__status', - ClaimantThirtyDayVolumeEth = 'claimant__thirtyDayVolumeETH', - ClaimantTotalStake = 'claimant__totalStake', - ClaimantTotalVolumeEth = 'claimant__totalVolumeETH', - ClaimantTotalVolumeUsd = 'claimant__totalVolumeUSD', - Id = 'id', - ReserveHolder = 'reserveHolder', - ReserveHolderDeposit = 'reserveHolder__deposit', - ReserveHolderFirstActiveDay = 'reserveHolder__firstActiveDay', - ReserveHolderFirstFundedDay = 'reserveHolder__firstFundedDay', - ReserveHolderId = 'reserveHolder__id', - ReserveHolderLastActiveDay = 'reserveHolder__lastActiveDay', - ReserveHolderLastFundedDay = 'reserveHolder__lastFundedDay', - ReserveHolderNinetyDayVolumeEth = 'reserveHolder__ninetyDayVolumeETH', - ReserveHolderReserve = 'reserveHolder__reserve', - ReserveHolderSixtyDayVolumeEth = 'reserveHolder__sixtyDayVolumeETH', - ReserveHolderThirtyDayVolumeEth = 'reserveHolder__thirtyDayVolumeETH', - ReserveHolderTotalVolumeEth = 'reserveHolder__totalVolumeETH', - ReserveHolderTotalVolumeUsd = 'reserveHolder__totalVolumeUSD', - Round = 'round', - RoundActiveTranscoderCount = 'round__activeTranscoderCount', - RoundDelegatorsCount = 'round__delegatorsCount', - RoundEndBlock = 'round__endBlock', - RoundId = 'round__id', - RoundInflation = 'round__inflation', - RoundInitialized = 'round__initialized', - RoundLength = 'round__length', - RoundMintableTokens = 'round__mintableTokens', - RoundMovedStake = 'round__movedStake', - RoundNewStake = 'round__newStake', - RoundNumActiveTranscoders = 'round__numActiveTranscoders', - RoundParticipationRate = 'round__participationRate', - RoundStartBlock = 'round__startBlock', - RoundStartTimestamp = 'round__startTimestamp', - RoundTotalActiveStake = 'round__totalActiveStake', - RoundTotalSupply = 'round__totalSupply', - RoundVolumeEth = 'round__volumeETH', - RoundVolumeUsd = 'round__volumeUSD', - Timestamp = 'timestamp', - Transaction = 'transaction', - TransactionBlockNumber = 'transaction__blockNumber', - TransactionFrom = 'transaction__from', - TransactionGasPrice = 'transaction__gasPrice', - TransactionGasUsed = 'transaction__gasUsed', - TransactionId = 'transaction__id', - TransactionTimestamp = 'transaction__timestamp', - TransactionTo = 'transaction__to' -} - -/** ReserveFundedEvent entities are created for every emitted ReserveFunded event. */ -export type ReserveFundedEvent = Event & { - __typename: 'ReserveFundedEvent'; - /** Amount of funds added to reserve */ - amount: Scalars['BigDecimal']; - /** Ethereum transaction hash + event log index */ - id: Scalars['ID']; - /** Reference to reserve holder */ - reserveHolder: Broadcaster; - /** Reference to the round the event occured in */ - round: Round; - /** Timestamp of the transaction the event was included in */ - timestamp: Scalars['Int']; - /** Reference to the transaction the event was included in */ - transaction: Transaction; -}; - -export type ReserveFundedEvent_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - amount?: InputMaybe; - amount_gt?: InputMaybe; - amount_gte?: InputMaybe; - amount_in?: InputMaybe>; - amount_lt?: InputMaybe; - amount_lte?: InputMaybe; - amount_not?: InputMaybe; - amount_not_in?: InputMaybe>; - and?: InputMaybe>>; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - or?: InputMaybe>>; - reserveHolder?: InputMaybe; - reserveHolder_?: InputMaybe; - reserveHolder_contains?: InputMaybe; - reserveHolder_contains_nocase?: InputMaybe; - reserveHolder_ends_with?: InputMaybe; - reserveHolder_ends_with_nocase?: InputMaybe; - reserveHolder_gt?: InputMaybe; - reserveHolder_gte?: InputMaybe; - reserveHolder_in?: InputMaybe>; - reserveHolder_lt?: InputMaybe; - reserveHolder_lte?: InputMaybe; - reserveHolder_not?: InputMaybe; - reserveHolder_not_contains?: InputMaybe; - reserveHolder_not_contains_nocase?: InputMaybe; - reserveHolder_not_ends_with?: InputMaybe; - reserveHolder_not_ends_with_nocase?: InputMaybe; - reserveHolder_not_in?: InputMaybe>; - reserveHolder_not_starts_with?: InputMaybe; - reserveHolder_not_starts_with_nocase?: InputMaybe; - reserveHolder_starts_with?: InputMaybe; - reserveHolder_starts_with_nocase?: InputMaybe; - round?: InputMaybe; - round_?: InputMaybe; - round_contains?: InputMaybe; - round_contains_nocase?: InputMaybe; - round_ends_with?: InputMaybe; - round_ends_with_nocase?: InputMaybe; - round_gt?: InputMaybe; - round_gte?: InputMaybe; - round_in?: InputMaybe>; - round_lt?: InputMaybe; - round_lte?: InputMaybe; - round_not?: InputMaybe; - round_not_contains?: InputMaybe; - round_not_contains_nocase?: InputMaybe; - round_not_ends_with?: InputMaybe; - round_not_ends_with_nocase?: InputMaybe; - round_not_in?: InputMaybe>; - round_not_starts_with?: InputMaybe; - round_not_starts_with_nocase?: InputMaybe; - round_starts_with?: InputMaybe; - round_starts_with_nocase?: InputMaybe; - timestamp?: InputMaybe; - timestamp_gt?: InputMaybe; - timestamp_gte?: InputMaybe; - timestamp_in?: InputMaybe>; - timestamp_lt?: InputMaybe; - timestamp_lte?: InputMaybe; - timestamp_not?: InputMaybe; - timestamp_not_in?: InputMaybe>; - transaction?: InputMaybe; - transaction_?: InputMaybe; - transaction_contains?: InputMaybe; - transaction_contains_nocase?: InputMaybe; - transaction_ends_with?: InputMaybe; - transaction_ends_with_nocase?: InputMaybe; - transaction_gt?: InputMaybe; - transaction_gte?: InputMaybe; - transaction_in?: InputMaybe>; - transaction_lt?: InputMaybe; - transaction_lte?: InputMaybe; - transaction_not?: InputMaybe; - transaction_not_contains?: InputMaybe; - transaction_not_contains_nocase?: InputMaybe; - transaction_not_ends_with?: InputMaybe; - transaction_not_ends_with_nocase?: InputMaybe; - transaction_not_in?: InputMaybe>; - transaction_not_starts_with?: InputMaybe; - transaction_not_starts_with_nocase?: InputMaybe; - transaction_starts_with?: InputMaybe; - transaction_starts_with_nocase?: InputMaybe; -}; - -export enum ReserveFundedEvent_OrderBy { - Amount = 'amount', - Id = 'id', - ReserveHolder = 'reserveHolder', - ReserveHolderDeposit = 'reserveHolder__deposit', - ReserveHolderFirstActiveDay = 'reserveHolder__firstActiveDay', - ReserveHolderFirstFundedDay = 'reserveHolder__firstFundedDay', - ReserveHolderId = 'reserveHolder__id', - ReserveHolderLastActiveDay = 'reserveHolder__lastActiveDay', - ReserveHolderLastFundedDay = 'reserveHolder__lastFundedDay', - ReserveHolderNinetyDayVolumeEth = 'reserveHolder__ninetyDayVolumeETH', - ReserveHolderReserve = 'reserveHolder__reserve', - ReserveHolderSixtyDayVolumeEth = 'reserveHolder__sixtyDayVolumeETH', - ReserveHolderThirtyDayVolumeEth = 'reserveHolder__thirtyDayVolumeETH', - ReserveHolderTotalVolumeEth = 'reserveHolder__totalVolumeETH', - ReserveHolderTotalVolumeUsd = 'reserveHolder__totalVolumeUSD', - Round = 'round', - RoundActiveTranscoderCount = 'round__activeTranscoderCount', - RoundDelegatorsCount = 'round__delegatorsCount', - RoundEndBlock = 'round__endBlock', - RoundId = 'round__id', - RoundInflation = 'round__inflation', - RoundInitialized = 'round__initialized', - RoundLength = 'round__length', - RoundMintableTokens = 'round__mintableTokens', - RoundMovedStake = 'round__movedStake', - RoundNewStake = 'round__newStake', - RoundNumActiveTranscoders = 'round__numActiveTranscoders', - RoundParticipationRate = 'round__participationRate', - RoundStartBlock = 'round__startBlock', - RoundStartTimestamp = 'round__startTimestamp', - RoundTotalActiveStake = 'round__totalActiveStake', - RoundTotalSupply = 'round__totalSupply', - RoundVolumeEth = 'round__volumeETH', - RoundVolumeUsd = 'round__volumeUSD', - Timestamp = 'timestamp', - Transaction = 'transaction', - TransactionBlockNumber = 'transaction__blockNumber', - TransactionFrom = 'transaction__from', - TransactionGasPrice = 'transaction__gasPrice', - TransactionGasUsed = 'transaction__gasUsed', - TransactionId = 'transaction__id', - TransactionTimestamp = 'transaction__timestamp', - TransactionTo = 'transaction__to' -} - -/** RewardCallerSetEvent entities are created for every emitted RewardCallerSet event. */ -export type RewardCallerSetEvent = Event & { - __typename: 'RewardCallerSetEvent'; - /** Reference to the transcoder that set the reward caller */ - delegate: Transcoder; - /** Ethereum transaction hash + event log index */ - id: Scalars['ID']; - /** Address authorized to call reward - the zero address when unset */ - rewardCaller: Scalars['String']; - /** Reference to the round the event occured in */ - round: Round; - /** Timestamp of the transaction the event was included in */ - timestamp: Scalars['Int']; - /** Reference to the transaction the event was included in */ - transaction: Transaction; -}; - -export type RewardCallerSetEvent_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - and?: InputMaybe>>; - delegate?: InputMaybe; - delegate_?: InputMaybe; - delegate_contains?: InputMaybe; - delegate_contains_nocase?: InputMaybe; - delegate_ends_with?: InputMaybe; - delegate_ends_with_nocase?: InputMaybe; - delegate_gt?: InputMaybe; - delegate_gte?: InputMaybe; - delegate_in?: InputMaybe>; - delegate_lt?: InputMaybe; - delegate_lte?: InputMaybe; - delegate_not?: InputMaybe; - delegate_not_contains?: InputMaybe; - delegate_not_contains_nocase?: InputMaybe; - delegate_not_ends_with?: InputMaybe; - delegate_not_ends_with_nocase?: InputMaybe; - delegate_not_in?: InputMaybe>; - delegate_not_starts_with?: InputMaybe; - delegate_not_starts_with_nocase?: InputMaybe; - delegate_starts_with?: InputMaybe; - delegate_starts_with_nocase?: InputMaybe; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - or?: InputMaybe>>; - rewardCaller?: InputMaybe; - rewardCaller_contains?: InputMaybe; - rewardCaller_contains_nocase?: InputMaybe; - rewardCaller_ends_with?: InputMaybe; - rewardCaller_ends_with_nocase?: InputMaybe; - rewardCaller_gt?: InputMaybe; - rewardCaller_gte?: InputMaybe; - rewardCaller_in?: InputMaybe>; - rewardCaller_lt?: InputMaybe; - rewardCaller_lte?: InputMaybe; - rewardCaller_not?: InputMaybe; - rewardCaller_not_contains?: InputMaybe; - rewardCaller_not_contains_nocase?: InputMaybe; - rewardCaller_not_ends_with?: InputMaybe; - rewardCaller_not_ends_with_nocase?: InputMaybe; - rewardCaller_not_in?: InputMaybe>; - rewardCaller_not_starts_with?: InputMaybe; - rewardCaller_not_starts_with_nocase?: InputMaybe; - rewardCaller_starts_with?: InputMaybe; - rewardCaller_starts_with_nocase?: InputMaybe; - round?: InputMaybe; - round_?: InputMaybe; - round_contains?: InputMaybe; - round_contains_nocase?: InputMaybe; - round_ends_with?: InputMaybe; - round_ends_with_nocase?: InputMaybe; - round_gt?: InputMaybe; - round_gte?: InputMaybe; - round_in?: InputMaybe>; - round_lt?: InputMaybe; - round_lte?: InputMaybe; - round_not?: InputMaybe; - round_not_contains?: InputMaybe; - round_not_contains_nocase?: InputMaybe; - round_not_ends_with?: InputMaybe; - round_not_ends_with_nocase?: InputMaybe; - round_not_in?: InputMaybe>; - round_not_starts_with?: InputMaybe; - round_not_starts_with_nocase?: InputMaybe; - round_starts_with?: InputMaybe; - round_starts_with_nocase?: InputMaybe; - timestamp?: InputMaybe; - timestamp_gt?: InputMaybe; - timestamp_gte?: InputMaybe; - timestamp_in?: InputMaybe>; - timestamp_lt?: InputMaybe; - timestamp_lte?: InputMaybe; - timestamp_not?: InputMaybe; - timestamp_not_in?: InputMaybe>; - transaction?: InputMaybe; - transaction_?: InputMaybe; - transaction_contains?: InputMaybe; - transaction_contains_nocase?: InputMaybe; - transaction_ends_with?: InputMaybe; - transaction_ends_with_nocase?: InputMaybe; - transaction_gt?: InputMaybe; - transaction_gte?: InputMaybe; - transaction_in?: InputMaybe>; - transaction_lt?: InputMaybe; - transaction_lte?: InputMaybe; - transaction_not?: InputMaybe; - transaction_not_contains?: InputMaybe; - transaction_not_contains_nocase?: InputMaybe; - transaction_not_ends_with?: InputMaybe; - transaction_not_ends_with_nocase?: InputMaybe; - transaction_not_in?: InputMaybe>; - transaction_not_starts_with?: InputMaybe; - transaction_not_starts_with_nocase?: InputMaybe; - transaction_starts_with?: InputMaybe; - transaction_starts_with_nocase?: InputMaybe; -}; - -export enum RewardCallerSetEvent_OrderBy { - Delegate = 'delegate', - DelegateActivationRound = 'delegate__activationRound', - DelegateActivationTimestamp = 'delegate__activationTimestamp', - DelegateActive = 'delegate__active', - DelegateDeactivationRound = 'delegate__deactivationRound', - DelegateFeeShare = 'delegate__feeShare', - DelegateFeeShareUpdateTimestamp = 'delegate__feeShareUpdateTimestamp', - DelegateId = 'delegate__id', - DelegateLastActiveStakeUpdateRound = 'delegate__lastActiveStakeUpdateRound', - DelegateNinetyDayVolumeEth = 'delegate__ninetyDayVolumeETH', - DelegateRewardCaller = 'delegate__rewardCaller', - DelegateRewardCut = 'delegate__rewardCut', - DelegateRewardCutUpdateTimestamp = 'delegate__rewardCutUpdateTimestamp', - DelegateServiceUri = 'delegate__serviceURI', - DelegateSixtyDayVolumeEth = 'delegate__sixtyDayVolumeETH', - DelegateStatus = 'delegate__status', - DelegateThirtyDayVolumeEth = 'delegate__thirtyDayVolumeETH', - DelegateTotalStake = 'delegate__totalStake', - DelegateTotalVolumeEth = 'delegate__totalVolumeETH', - DelegateTotalVolumeUsd = 'delegate__totalVolumeUSD', - Id = 'id', - RewardCaller = 'rewardCaller', - Round = 'round', - RoundActiveTranscoderCount = 'round__activeTranscoderCount', - RoundDelegatorsCount = 'round__delegatorsCount', - RoundEndBlock = 'round__endBlock', - RoundId = 'round__id', - RoundInflation = 'round__inflation', - RoundInitialized = 'round__initialized', - RoundLength = 'round__length', - RoundMintableTokens = 'round__mintableTokens', - RoundMovedStake = 'round__movedStake', - RoundNewStake = 'round__newStake', - RoundNumActiveTranscoders = 'round__numActiveTranscoders', - RoundParticipationRate = 'round__participationRate', - RoundStartBlock = 'round__startBlock', - RoundStartTimestamp = 'round__startTimestamp', - RoundTotalActiveStake = 'round__totalActiveStake', - RoundTotalSupply = 'round__totalSupply', - RoundVolumeEth = 'round__volumeETH', - RoundVolumeUsd = 'round__volumeUSD', - Timestamp = 'timestamp', - Transaction = 'transaction', - TransactionBlockNumber = 'transaction__blockNumber', - TransactionFrom = 'transaction__from', - TransactionGasPrice = 'transaction__gasPrice', - TransactionGasUsed = 'transaction__gasUsed', - TransactionId = 'transaction__id', - TransactionTimestamp = 'transaction__timestamp', - TransactionTo = 'transaction__to' -} - -/** RewardEvent entities are created for every emitted Reward event. */ -export type RewardEvent = Event & { - __typename: 'RewardEvent'; - /** Reference to the delegate that claimed its inflationary token reward */ - delegate: Transcoder; - /** Ethereum transaction hash + event log index */ - id: Scalars['ID']; - /** Amount of inflationary token rewards claimed */ - rewardTokens: Scalars['BigDecimal']; - /** Reference to the round the event occured in */ - round: Round; - /** Timestamp of the transaction the event was included in */ - timestamp: Scalars['Int']; - /** Reference to the transaction the event was included in */ - transaction: Transaction; -}; - -export type RewardEvent_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - and?: InputMaybe>>; - delegate?: InputMaybe; - delegate_?: InputMaybe; - delegate_contains?: InputMaybe; - delegate_contains_nocase?: InputMaybe; - delegate_ends_with?: InputMaybe; - delegate_ends_with_nocase?: InputMaybe; - delegate_gt?: InputMaybe; - delegate_gte?: InputMaybe; - delegate_in?: InputMaybe>; - delegate_lt?: InputMaybe; - delegate_lte?: InputMaybe; - delegate_not?: InputMaybe; - delegate_not_contains?: InputMaybe; - delegate_not_contains_nocase?: InputMaybe; - delegate_not_ends_with?: InputMaybe; - delegate_not_ends_with_nocase?: InputMaybe; - delegate_not_in?: InputMaybe>; - delegate_not_starts_with?: InputMaybe; - delegate_not_starts_with_nocase?: InputMaybe; - delegate_starts_with?: InputMaybe; - delegate_starts_with_nocase?: InputMaybe; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - or?: InputMaybe>>; - rewardTokens?: InputMaybe; - rewardTokens_gt?: InputMaybe; - rewardTokens_gte?: InputMaybe; - rewardTokens_in?: InputMaybe>; - rewardTokens_lt?: InputMaybe; - rewardTokens_lte?: InputMaybe; - rewardTokens_not?: InputMaybe; - rewardTokens_not_in?: InputMaybe>; - round?: InputMaybe; - round_?: InputMaybe; - round_contains?: InputMaybe; - round_contains_nocase?: InputMaybe; - round_ends_with?: InputMaybe; - round_ends_with_nocase?: InputMaybe; - round_gt?: InputMaybe; - round_gte?: InputMaybe; - round_in?: InputMaybe>; - round_lt?: InputMaybe; - round_lte?: InputMaybe; - round_not?: InputMaybe; - round_not_contains?: InputMaybe; - round_not_contains_nocase?: InputMaybe; - round_not_ends_with?: InputMaybe; - round_not_ends_with_nocase?: InputMaybe; - round_not_in?: InputMaybe>; - round_not_starts_with?: InputMaybe; - round_not_starts_with_nocase?: InputMaybe; - round_starts_with?: InputMaybe; - round_starts_with_nocase?: InputMaybe; - timestamp?: InputMaybe; - timestamp_gt?: InputMaybe; - timestamp_gte?: InputMaybe; - timestamp_in?: InputMaybe>; - timestamp_lt?: InputMaybe; - timestamp_lte?: InputMaybe; - timestamp_not?: InputMaybe; - timestamp_not_in?: InputMaybe>; - transaction?: InputMaybe; - transaction_?: InputMaybe; - transaction_contains?: InputMaybe; - transaction_contains_nocase?: InputMaybe; - transaction_ends_with?: InputMaybe; - transaction_ends_with_nocase?: InputMaybe; - transaction_gt?: InputMaybe; - transaction_gte?: InputMaybe; - transaction_in?: InputMaybe>; - transaction_lt?: InputMaybe; - transaction_lte?: InputMaybe; - transaction_not?: InputMaybe; - transaction_not_contains?: InputMaybe; - transaction_not_contains_nocase?: InputMaybe; - transaction_not_ends_with?: InputMaybe; - transaction_not_ends_with_nocase?: InputMaybe; - transaction_not_in?: InputMaybe>; - transaction_not_starts_with?: InputMaybe; - transaction_not_starts_with_nocase?: InputMaybe; - transaction_starts_with?: InputMaybe; - transaction_starts_with_nocase?: InputMaybe; -}; - -export enum RewardEvent_OrderBy { - Delegate = 'delegate', - DelegateActivationRound = 'delegate__activationRound', - DelegateActivationTimestamp = 'delegate__activationTimestamp', - DelegateActive = 'delegate__active', - DelegateDeactivationRound = 'delegate__deactivationRound', - DelegateFeeShare = 'delegate__feeShare', - DelegateFeeShareUpdateTimestamp = 'delegate__feeShareUpdateTimestamp', - DelegateId = 'delegate__id', - DelegateLastActiveStakeUpdateRound = 'delegate__lastActiveStakeUpdateRound', - DelegateNinetyDayVolumeEth = 'delegate__ninetyDayVolumeETH', - DelegateRewardCaller = 'delegate__rewardCaller', - DelegateRewardCut = 'delegate__rewardCut', - DelegateRewardCutUpdateTimestamp = 'delegate__rewardCutUpdateTimestamp', - DelegateServiceUri = 'delegate__serviceURI', - DelegateSixtyDayVolumeEth = 'delegate__sixtyDayVolumeETH', - DelegateStatus = 'delegate__status', - DelegateThirtyDayVolumeEth = 'delegate__thirtyDayVolumeETH', - DelegateTotalStake = 'delegate__totalStake', - DelegateTotalVolumeEth = 'delegate__totalVolumeETH', - DelegateTotalVolumeUsd = 'delegate__totalVolumeUSD', - Id = 'id', - RewardTokens = 'rewardTokens', - Round = 'round', - RoundActiveTranscoderCount = 'round__activeTranscoderCount', - RoundDelegatorsCount = 'round__delegatorsCount', - RoundEndBlock = 'round__endBlock', - RoundId = 'round__id', - RoundInflation = 'round__inflation', - RoundInitialized = 'round__initialized', - RoundLength = 'round__length', - RoundMintableTokens = 'round__mintableTokens', - RoundMovedStake = 'round__movedStake', - RoundNewStake = 'round__newStake', - RoundNumActiveTranscoders = 'round__numActiveTranscoders', - RoundParticipationRate = 'round__participationRate', - RoundStartBlock = 'round__startBlock', - RoundStartTimestamp = 'round__startTimestamp', - RoundTotalActiveStake = 'round__totalActiveStake', - RoundTotalSupply = 'round__totalSupply', - RoundVolumeEth = 'round__volumeETH', - RoundVolumeUsd = 'round__volumeUSD', - Timestamp = 'timestamp', - Transaction = 'transaction', - TransactionBlockNumber = 'transaction__blockNumber', - TransactionFrom = 'transaction__from', - TransactionGasPrice = 'transaction__gasPrice', - TransactionGasUsed = 'transaction__gasUsed', - TransactionId = 'transaction__id', - TransactionTimestamp = 'transaction__timestamp', - TransactionTo = 'transaction__to' -} - -/** The Livepeer protocol is round based and each round is represented by some number of Ethereum blocks. */ -export type Round = { - __typename: 'Round'; - /** Total active transcoders (up to the limit) */ - activeTranscoderCount: Scalars['BigInt']; - /** Total number of delegators at the start of the round */ - delegatorsCount: Scalars['BigInt']; - /** End block for the round */ - endBlock: Scalars['BigInt']; - /** Round number */ - id: Scalars['ID']; - /** Per round inflation rate */ - inflation: Scalars['BigInt']; - /** Whether the round was initialized */ - initialized: Scalars['Boolean']; - /** Number of blocks this round lasts for */ - length: Scalars['BigInt']; - /** Mintable tokens for the round */ - mintableTokens: Scalars['BigDecimal']; - /** Total stake moved from one delegate to another during the round */ - movedStake: Scalars['BigDecimal']; - /** Total amount of new stake introduced during the round */ - newStake: Scalars['BigDecimal']; - /** Limit of active transcoders */ - numActiveTranscoders: Scalars['BigInt']; - /** Participation rate during the round (totalActiveStake/totalSupply) */ - participationRate: Scalars['BigDecimal']; - /** Pools associated with the round */ - pools?: Maybe>; - /** Start block for the round */ - startBlock: Scalars['BigInt']; - /** The start date beginning at 12:00am UTC */ - startTimestamp: Scalars['Int']; - /** Total active stake during the round */ - totalActiveStake: Scalars['BigDecimal']; - /** Total Livepeer token supply during the round */ - totalSupply: Scalars['BigDecimal']; - /** Fees generated this round in ETH */ - volumeETH: Scalars['BigDecimal']; - /** Fees generated this round in USD */ - volumeUSD: Scalars['BigDecimal']; -}; - - -/** The Livepeer protocol is round based and each round is represented by some number of Ethereum blocks. */ -export type RoundPoolsArgs = { - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - where?: InputMaybe; -}; - -export type Round_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - activeTranscoderCount?: InputMaybe; - activeTranscoderCount_gt?: InputMaybe; - activeTranscoderCount_gte?: InputMaybe; - activeTranscoderCount_in?: InputMaybe>; - activeTranscoderCount_lt?: InputMaybe; - activeTranscoderCount_lte?: InputMaybe; - activeTranscoderCount_not?: InputMaybe; - activeTranscoderCount_not_in?: InputMaybe>; - and?: InputMaybe>>; - delegatorsCount?: InputMaybe; - delegatorsCount_gt?: InputMaybe; - delegatorsCount_gte?: InputMaybe; - delegatorsCount_in?: InputMaybe>; - delegatorsCount_lt?: InputMaybe; - delegatorsCount_lte?: InputMaybe; - delegatorsCount_not?: InputMaybe; - delegatorsCount_not_in?: InputMaybe>; - endBlock?: InputMaybe; - endBlock_gt?: InputMaybe; - endBlock_gte?: InputMaybe; - endBlock_in?: InputMaybe>; - endBlock_lt?: InputMaybe; - endBlock_lte?: InputMaybe; - endBlock_not?: InputMaybe; - endBlock_not_in?: InputMaybe>; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - inflation?: InputMaybe; - inflation_gt?: InputMaybe; - inflation_gte?: InputMaybe; - inflation_in?: InputMaybe>; - inflation_lt?: InputMaybe; - inflation_lte?: InputMaybe; - inflation_not?: InputMaybe; - inflation_not_in?: InputMaybe>; - initialized?: InputMaybe; - initialized_in?: InputMaybe>; - initialized_not?: InputMaybe; - initialized_not_in?: InputMaybe>; - length?: InputMaybe; - length_gt?: InputMaybe; - length_gte?: InputMaybe; - length_in?: InputMaybe>; - length_lt?: InputMaybe; - length_lte?: InputMaybe; - length_not?: InputMaybe; - length_not_in?: InputMaybe>; - mintableTokens?: InputMaybe; - mintableTokens_gt?: InputMaybe; - mintableTokens_gte?: InputMaybe; - mintableTokens_in?: InputMaybe>; - mintableTokens_lt?: InputMaybe; - mintableTokens_lte?: InputMaybe; - mintableTokens_not?: InputMaybe; - mintableTokens_not_in?: InputMaybe>; - movedStake?: InputMaybe; - movedStake_gt?: InputMaybe; - movedStake_gte?: InputMaybe; - movedStake_in?: InputMaybe>; - movedStake_lt?: InputMaybe; - movedStake_lte?: InputMaybe; - movedStake_not?: InputMaybe; - movedStake_not_in?: InputMaybe>; - newStake?: InputMaybe; - newStake_gt?: InputMaybe; - newStake_gte?: InputMaybe; - newStake_in?: InputMaybe>; - newStake_lt?: InputMaybe; - newStake_lte?: InputMaybe; - newStake_not?: InputMaybe; - newStake_not_in?: InputMaybe>; - numActiveTranscoders?: InputMaybe; - numActiveTranscoders_gt?: InputMaybe; - numActiveTranscoders_gte?: InputMaybe; - numActiveTranscoders_in?: InputMaybe>; - numActiveTranscoders_lt?: InputMaybe; - numActiveTranscoders_lte?: InputMaybe; - numActiveTranscoders_not?: InputMaybe; - numActiveTranscoders_not_in?: InputMaybe>; - or?: InputMaybe>>; - participationRate?: InputMaybe; - participationRate_gt?: InputMaybe; - participationRate_gte?: InputMaybe; - participationRate_in?: InputMaybe>; - participationRate_lt?: InputMaybe; - participationRate_lte?: InputMaybe; - participationRate_not?: InputMaybe; - participationRate_not_in?: InputMaybe>; - pools_?: InputMaybe; - startBlock?: InputMaybe; - startBlock_gt?: InputMaybe; - startBlock_gte?: InputMaybe; - startBlock_in?: InputMaybe>; - startBlock_lt?: InputMaybe; - startBlock_lte?: InputMaybe; - startBlock_not?: InputMaybe; - startBlock_not_in?: InputMaybe>; - startTimestamp?: InputMaybe; - startTimestamp_gt?: InputMaybe; - startTimestamp_gte?: InputMaybe; - startTimestamp_in?: InputMaybe>; - startTimestamp_lt?: InputMaybe; - startTimestamp_lte?: InputMaybe; - startTimestamp_not?: InputMaybe; - startTimestamp_not_in?: InputMaybe>; - totalActiveStake?: InputMaybe; - totalActiveStake_gt?: InputMaybe; - totalActiveStake_gte?: InputMaybe; - totalActiveStake_in?: InputMaybe>; - totalActiveStake_lt?: InputMaybe; - totalActiveStake_lte?: InputMaybe; - totalActiveStake_not?: InputMaybe; - totalActiveStake_not_in?: InputMaybe>; - totalSupply?: InputMaybe; - totalSupply_gt?: InputMaybe; - totalSupply_gte?: InputMaybe; - totalSupply_in?: InputMaybe>; - totalSupply_lt?: InputMaybe; - totalSupply_lte?: InputMaybe; - totalSupply_not?: InputMaybe; - totalSupply_not_in?: InputMaybe>; - volumeETH?: InputMaybe; - volumeETH_gt?: InputMaybe; - volumeETH_gte?: InputMaybe; - volumeETH_in?: InputMaybe>; - volumeETH_lt?: InputMaybe; - volumeETH_lte?: InputMaybe; - volumeETH_not?: InputMaybe; - volumeETH_not_in?: InputMaybe>; - volumeUSD?: InputMaybe; - volumeUSD_gt?: InputMaybe; - volumeUSD_gte?: InputMaybe; - volumeUSD_in?: InputMaybe>; - volumeUSD_lt?: InputMaybe; - volumeUSD_lte?: InputMaybe; - volumeUSD_not?: InputMaybe; - volumeUSD_not_in?: InputMaybe>; -}; - -export enum Round_OrderBy { - ActiveTranscoderCount = 'activeTranscoderCount', - DelegatorsCount = 'delegatorsCount', - EndBlock = 'endBlock', - Id = 'id', - Inflation = 'inflation', - Initialized = 'initialized', - Length = 'length', - MintableTokens = 'mintableTokens', - MovedStake = 'movedStake', - NewStake = 'newStake', - NumActiveTranscoders = 'numActiveTranscoders', - ParticipationRate = 'participationRate', - Pools = 'pools', - StartBlock = 'startBlock', - StartTimestamp = 'startTimestamp', - TotalActiveStake = 'totalActiveStake', - TotalSupply = 'totalSupply', - VolumeEth = 'volumeETH', - VolumeUsd = 'volumeUSD' -} - -/** ServiceURIUpdateEvent entities are created for every emitted ServiceURIUpdate event. */ -export type ServiceUriUpdateEvent = Event & { - __typename: 'ServiceURIUpdateEvent'; - /** Address of sender */ - addr: Scalars['String']; - /** Ethereum transaction hash + event log index */ - id: Scalars['ID']; - /** Reference to the round the event occured in */ - round: Round; - /** Service URI endpoint for the caller */ - serviceURI: Scalars['String']; - /** Timestamp of the transaction the event was included in */ - timestamp: Scalars['Int']; - /** Reference to the transaction the event was included in */ - transaction: Transaction; -}; - -export type ServiceUriUpdateEvent_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - addr?: InputMaybe; - addr_contains?: InputMaybe; - addr_contains_nocase?: InputMaybe; - addr_ends_with?: InputMaybe; - addr_ends_with_nocase?: InputMaybe; - addr_gt?: InputMaybe; - addr_gte?: InputMaybe; - addr_in?: InputMaybe>; - addr_lt?: InputMaybe; - addr_lte?: InputMaybe; - addr_not?: InputMaybe; - addr_not_contains?: InputMaybe; - addr_not_contains_nocase?: InputMaybe; - addr_not_ends_with?: InputMaybe; - addr_not_ends_with_nocase?: InputMaybe; - addr_not_in?: InputMaybe>; - addr_not_starts_with?: InputMaybe; - addr_not_starts_with_nocase?: InputMaybe; - addr_starts_with?: InputMaybe; - addr_starts_with_nocase?: InputMaybe; - and?: InputMaybe>>; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - or?: InputMaybe>>; - round?: InputMaybe; - round_?: InputMaybe; - round_contains?: InputMaybe; - round_contains_nocase?: InputMaybe; - round_ends_with?: InputMaybe; - round_ends_with_nocase?: InputMaybe; - round_gt?: InputMaybe; - round_gte?: InputMaybe; - round_in?: InputMaybe>; - round_lt?: InputMaybe; - round_lte?: InputMaybe; - round_not?: InputMaybe; - round_not_contains?: InputMaybe; - round_not_contains_nocase?: InputMaybe; - round_not_ends_with?: InputMaybe; - round_not_ends_with_nocase?: InputMaybe; - round_not_in?: InputMaybe>; - round_not_starts_with?: InputMaybe; - round_not_starts_with_nocase?: InputMaybe; - round_starts_with?: InputMaybe; - round_starts_with_nocase?: InputMaybe; - serviceURI?: InputMaybe; - serviceURI_contains?: InputMaybe; - serviceURI_contains_nocase?: InputMaybe; - serviceURI_ends_with?: InputMaybe; - serviceURI_ends_with_nocase?: InputMaybe; - serviceURI_gt?: InputMaybe; - serviceURI_gte?: InputMaybe; - serviceURI_in?: InputMaybe>; - serviceURI_lt?: InputMaybe; - serviceURI_lte?: InputMaybe; - serviceURI_not?: InputMaybe; - serviceURI_not_contains?: InputMaybe; - serviceURI_not_contains_nocase?: InputMaybe; - serviceURI_not_ends_with?: InputMaybe; - serviceURI_not_ends_with_nocase?: InputMaybe; - serviceURI_not_in?: InputMaybe>; - serviceURI_not_starts_with?: InputMaybe; - serviceURI_not_starts_with_nocase?: InputMaybe; - serviceURI_starts_with?: InputMaybe; - serviceURI_starts_with_nocase?: InputMaybe; - timestamp?: InputMaybe; - timestamp_gt?: InputMaybe; - timestamp_gte?: InputMaybe; - timestamp_in?: InputMaybe>; - timestamp_lt?: InputMaybe; - timestamp_lte?: InputMaybe; - timestamp_not?: InputMaybe; - timestamp_not_in?: InputMaybe>; - transaction?: InputMaybe; - transaction_?: InputMaybe; - transaction_contains?: InputMaybe; - transaction_contains_nocase?: InputMaybe; - transaction_ends_with?: InputMaybe; - transaction_ends_with_nocase?: InputMaybe; - transaction_gt?: InputMaybe; - transaction_gte?: InputMaybe; - transaction_in?: InputMaybe>; - transaction_lt?: InputMaybe; - transaction_lte?: InputMaybe; - transaction_not?: InputMaybe; - transaction_not_contains?: InputMaybe; - transaction_not_contains_nocase?: InputMaybe; - transaction_not_ends_with?: InputMaybe; - transaction_not_ends_with_nocase?: InputMaybe; - transaction_not_in?: InputMaybe>; - transaction_not_starts_with?: InputMaybe; - transaction_not_starts_with_nocase?: InputMaybe; - transaction_starts_with?: InputMaybe; - transaction_starts_with_nocase?: InputMaybe; -}; - -export enum ServiceUriUpdateEvent_OrderBy { - Addr = 'addr', - Id = 'id', - Round = 'round', - RoundActiveTranscoderCount = 'round__activeTranscoderCount', - RoundDelegatorsCount = 'round__delegatorsCount', - RoundEndBlock = 'round__endBlock', - RoundId = 'round__id', - RoundInflation = 'round__inflation', - RoundInitialized = 'round__initialized', - RoundLength = 'round__length', - RoundMintableTokens = 'round__mintableTokens', - RoundMovedStake = 'round__movedStake', - RoundNewStake = 'round__newStake', - RoundNumActiveTranscoders = 'round__numActiveTranscoders', - RoundParticipationRate = 'round__participationRate', - RoundStartBlock = 'round__startBlock', - RoundStartTimestamp = 'round__startTimestamp', - RoundTotalActiveStake = 'round__totalActiveStake', - RoundTotalSupply = 'round__totalSupply', - RoundVolumeEth = 'round__volumeETH', - RoundVolumeUsd = 'round__volumeUSD', - ServiceUri = 'serviceURI', - Timestamp = 'timestamp', - Transaction = 'transaction', - TransactionBlockNumber = 'transaction__blockNumber', - TransactionFrom = 'transaction__from', - TransactionGasPrice = 'transaction__gasPrice', - TransactionGasUsed = 'transaction__gasUsed', - TransactionId = 'transaction__id', - TransactionTimestamp = 'transaction__timestamp', - TransactionTo = 'transaction__to' -} - -/** SetCurrentRewardTokensEvent entities are created for every emitted SetCurrentRewardTokens event. */ -export type SetCurrentRewardTokensEvent = Event & { - __typename: 'SetCurrentRewardTokensEvent'; - /** Current inflation during the round */ - currentInflation: Scalars['BigInt']; - /** Number of mintable tokens for the round */ - currentMintableTokens: Scalars['BigDecimal']; - /** Ethereum transaction hash + event log index */ - id: Scalars['ID']; - /** Reference to the round the event occured in */ - round: Round; - /** Timestamp of the transaction the event was included in */ - timestamp: Scalars['Int']; - /** Reference to the transaction the event was included in */ - transaction: Transaction; -}; - -export type SetCurrentRewardTokensEvent_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - and?: InputMaybe>>; - currentInflation?: InputMaybe; - currentInflation_gt?: InputMaybe; - currentInflation_gte?: InputMaybe; - currentInflation_in?: InputMaybe>; - currentInflation_lt?: InputMaybe; - currentInflation_lte?: InputMaybe; - currentInflation_not?: InputMaybe; - currentInflation_not_in?: InputMaybe>; - currentMintableTokens?: InputMaybe; - currentMintableTokens_gt?: InputMaybe; - currentMintableTokens_gte?: InputMaybe; - currentMintableTokens_in?: InputMaybe>; - currentMintableTokens_lt?: InputMaybe; - currentMintableTokens_lte?: InputMaybe; - currentMintableTokens_not?: InputMaybe; - currentMintableTokens_not_in?: InputMaybe>; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - or?: InputMaybe>>; - round?: InputMaybe; - round_?: InputMaybe; - round_contains?: InputMaybe; - round_contains_nocase?: InputMaybe; - round_ends_with?: InputMaybe; - round_ends_with_nocase?: InputMaybe; - round_gt?: InputMaybe; - round_gte?: InputMaybe; - round_in?: InputMaybe>; - round_lt?: InputMaybe; - round_lte?: InputMaybe; - round_not?: InputMaybe; - round_not_contains?: InputMaybe; - round_not_contains_nocase?: InputMaybe; - round_not_ends_with?: InputMaybe; - round_not_ends_with_nocase?: InputMaybe; - round_not_in?: InputMaybe>; - round_not_starts_with?: InputMaybe; - round_not_starts_with_nocase?: InputMaybe; - round_starts_with?: InputMaybe; - round_starts_with_nocase?: InputMaybe; - timestamp?: InputMaybe; - timestamp_gt?: InputMaybe; - timestamp_gte?: InputMaybe; - timestamp_in?: InputMaybe>; - timestamp_lt?: InputMaybe; - timestamp_lte?: InputMaybe; - timestamp_not?: InputMaybe; - timestamp_not_in?: InputMaybe>; - transaction?: InputMaybe; - transaction_?: InputMaybe; - transaction_contains?: InputMaybe; - transaction_contains_nocase?: InputMaybe; - transaction_ends_with?: InputMaybe; - transaction_ends_with_nocase?: InputMaybe; - transaction_gt?: InputMaybe; - transaction_gte?: InputMaybe; - transaction_in?: InputMaybe>; - transaction_lt?: InputMaybe; - transaction_lte?: InputMaybe; - transaction_not?: InputMaybe; - transaction_not_contains?: InputMaybe; - transaction_not_contains_nocase?: InputMaybe; - transaction_not_ends_with?: InputMaybe; - transaction_not_ends_with_nocase?: InputMaybe; - transaction_not_in?: InputMaybe>; - transaction_not_starts_with?: InputMaybe; - transaction_not_starts_with_nocase?: InputMaybe; - transaction_starts_with?: InputMaybe; - transaction_starts_with_nocase?: InputMaybe; -}; - -export enum SetCurrentRewardTokensEvent_OrderBy { - CurrentInflation = 'currentInflation', - CurrentMintableTokens = 'currentMintableTokens', - Id = 'id', - Round = 'round', - RoundActiveTranscoderCount = 'round__activeTranscoderCount', - RoundDelegatorsCount = 'round__delegatorsCount', - RoundEndBlock = 'round__endBlock', - RoundId = 'round__id', - RoundInflation = 'round__inflation', - RoundInitialized = 'round__initialized', - RoundLength = 'round__length', - RoundMintableTokens = 'round__mintableTokens', - RoundMovedStake = 'round__movedStake', - RoundNewStake = 'round__newStake', - RoundNumActiveTranscoders = 'round__numActiveTranscoders', - RoundParticipationRate = 'round__participationRate', - RoundStartBlock = 'round__startBlock', - RoundStartTimestamp = 'round__startTimestamp', - RoundTotalActiveStake = 'round__totalActiveStake', - RoundTotalSupply = 'round__totalSupply', - RoundVolumeEth = 'round__volumeETH', - RoundVolumeUsd = 'round__volumeUSD', - Timestamp = 'timestamp', - Transaction = 'transaction', - TransactionBlockNumber = 'transaction__blockNumber', - TransactionFrom = 'transaction__from', - TransactionGasPrice = 'transaction__gasPrice', - TransactionGasUsed = 'transaction__gasUsed', - TransactionId = 'transaction__id', - TransactionTimestamp = 'transaction__timestamp', - TransactionTo = 'transaction__to' -} - -/** StakeClaimedEvent entities are created for every emitted StakeClaimed event. */ -export type StakeClaimedEvent = Event & { - __typename: 'StakeClaimedEvent'; - delegate: Scalars['String']; - delegator: Scalars['String']; - fees: Scalars['BigDecimal']; - /** Ethereum transaction hash + event log index */ - id: Scalars['ID']; - /** Reference to the round the event occured in */ - round: Round; - stake: Scalars['BigDecimal']; - /** Timestamp of the transaction the event was included in */ - timestamp: Scalars['Int']; - /** Reference to the transaction the event was included in */ - transaction: Transaction; -}; - -export type StakeClaimedEvent_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - and?: InputMaybe>>; - delegate?: InputMaybe; - delegate_contains?: InputMaybe; - delegate_contains_nocase?: InputMaybe; - delegate_ends_with?: InputMaybe; - delegate_ends_with_nocase?: InputMaybe; - delegate_gt?: InputMaybe; - delegate_gte?: InputMaybe; - delegate_in?: InputMaybe>; - delegate_lt?: InputMaybe; - delegate_lte?: InputMaybe; - delegate_not?: InputMaybe; - delegate_not_contains?: InputMaybe; - delegate_not_contains_nocase?: InputMaybe; - delegate_not_ends_with?: InputMaybe; - delegate_not_ends_with_nocase?: InputMaybe; - delegate_not_in?: InputMaybe>; - delegate_not_starts_with?: InputMaybe; - delegate_not_starts_with_nocase?: InputMaybe; - delegate_starts_with?: InputMaybe; - delegate_starts_with_nocase?: InputMaybe; - delegator?: InputMaybe; - delegator_contains?: InputMaybe; - delegator_contains_nocase?: InputMaybe; - delegator_ends_with?: InputMaybe; - delegator_ends_with_nocase?: InputMaybe; - delegator_gt?: InputMaybe; - delegator_gte?: InputMaybe; - delegator_in?: InputMaybe>; - delegator_lt?: InputMaybe; - delegator_lte?: InputMaybe; - delegator_not?: InputMaybe; - delegator_not_contains?: InputMaybe; - delegator_not_contains_nocase?: InputMaybe; - delegator_not_ends_with?: InputMaybe; - delegator_not_ends_with_nocase?: InputMaybe; - delegator_not_in?: InputMaybe>; - delegator_not_starts_with?: InputMaybe; - delegator_not_starts_with_nocase?: InputMaybe; - delegator_starts_with?: InputMaybe; - delegator_starts_with_nocase?: InputMaybe; - fees?: InputMaybe; - fees_gt?: InputMaybe; - fees_gte?: InputMaybe; - fees_in?: InputMaybe>; - fees_lt?: InputMaybe; - fees_lte?: InputMaybe; - fees_not?: InputMaybe; - fees_not_in?: InputMaybe>; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - or?: InputMaybe>>; - round?: InputMaybe; - round_?: InputMaybe; - round_contains?: InputMaybe; - round_contains_nocase?: InputMaybe; - round_ends_with?: InputMaybe; - round_ends_with_nocase?: InputMaybe; - round_gt?: InputMaybe; - round_gte?: InputMaybe; - round_in?: InputMaybe>; - round_lt?: InputMaybe; - round_lte?: InputMaybe; - round_not?: InputMaybe; - round_not_contains?: InputMaybe; - round_not_contains_nocase?: InputMaybe; - round_not_ends_with?: InputMaybe; - round_not_ends_with_nocase?: InputMaybe; - round_not_in?: InputMaybe>; - round_not_starts_with?: InputMaybe; - round_not_starts_with_nocase?: InputMaybe; - round_starts_with?: InputMaybe; - round_starts_with_nocase?: InputMaybe; - stake?: InputMaybe; - stake_gt?: InputMaybe; - stake_gte?: InputMaybe; - stake_in?: InputMaybe>; - stake_lt?: InputMaybe; - stake_lte?: InputMaybe; - stake_not?: InputMaybe; - stake_not_in?: InputMaybe>; - timestamp?: InputMaybe; - timestamp_gt?: InputMaybe; - timestamp_gte?: InputMaybe; - timestamp_in?: InputMaybe>; - timestamp_lt?: InputMaybe; - timestamp_lte?: InputMaybe; - timestamp_not?: InputMaybe; - timestamp_not_in?: InputMaybe>; - transaction?: InputMaybe; - transaction_?: InputMaybe; - transaction_contains?: InputMaybe; - transaction_contains_nocase?: InputMaybe; - transaction_ends_with?: InputMaybe; - transaction_ends_with_nocase?: InputMaybe; - transaction_gt?: InputMaybe; - transaction_gte?: InputMaybe; - transaction_in?: InputMaybe>; - transaction_lt?: InputMaybe; - transaction_lte?: InputMaybe; - transaction_not?: InputMaybe; - transaction_not_contains?: InputMaybe; - transaction_not_contains_nocase?: InputMaybe; - transaction_not_ends_with?: InputMaybe; - transaction_not_ends_with_nocase?: InputMaybe; - transaction_not_in?: InputMaybe>; - transaction_not_starts_with?: InputMaybe; - transaction_not_starts_with_nocase?: InputMaybe; - transaction_starts_with?: InputMaybe; - transaction_starts_with_nocase?: InputMaybe; -}; - -export enum StakeClaimedEvent_OrderBy { - Delegate = 'delegate', - Delegator = 'delegator', - Fees = 'fees', - Id = 'id', - Round = 'round', - RoundActiveTranscoderCount = 'round__activeTranscoderCount', - RoundDelegatorsCount = 'round__delegatorsCount', - RoundEndBlock = 'round__endBlock', - RoundId = 'round__id', - RoundInflation = 'round__inflation', - RoundInitialized = 'round__initialized', - RoundLength = 'round__length', - RoundMintableTokens = 'round__mintableTokens', - RoundMovedStake = 'round__movedStake', - RoundNewStake = 'round__newStake', - RoundNumActiveTranscoders = 'round__numActiveTranscoders', - RoundParticipationRate = 'round__participationRate', - RoundStartBlock = 'round__startBlock', - RoundStartTimestamp = 'round__startTimestamp', - RoundTotalActiveStake = 'round__totalActiveStake', - RoundTotalSupply = 'round__totalSupply', - RoundVolumeEth = 'round__volumeETH', - RoundVolumeUsd = 'round__volumeUSD', - Stake = 'stake', - Timestamp = 'timestamp', - Transaction = 'transaction', - TransactionBlockNumber = 'transaction__blockNumber', - TransactionFrom = 'transaction__from', - TransactionGasPrice = 'transaction__gasPrice', - TransactionGasUsed = 'transaction__gasUsed', - TransactionId = 'transaction__id', - TransactionTimestamp = 'transaction__timestamp', - TransactionTo = 'transaction__to' -} - -/** Transaction entities are created for each Ethereum transaction that contains an interaction within Livepeer contracts. */ -export type Transaction = { - __typename: 'Transaction'; - /** Block transaction was mined in */ - blockNumber: Scalars['BigInt']; - /** The events emitted within this transaction */ - events?: Maybe>; - /** The sending party of the transaction */ - from: Scalars['String']; - /** Cost per unit of gas specified for the transaction */ - gasPrice: Scalars['BigInt']; - /** Actually is the limit of gas in the transaction, pending update in downstream projects */ - gasUsed: Scalars['BigInt']; - /** Ethereum transaction hash */ - id: Scalars['ID']; - /** Timestamp for transaction */ - timestamp: Scalars['Int']; - /** The receiving party of the transaction - null for contract-creation transactions */ - to?: Maybe; -}; - - -/** Transaction entities are created for each Ethereum transaction that contains an interaction within Livepeer contracts. */ -export type TransactionEventsArgs = { - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - where?: InputMaybe; -}; - -export type Transaction_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - and?: InputMaybe>>; - blockNumber?: InputMaybe; - blockNumber_gt?: InputMaybe; - blockNumber_gte?: InputMaybe; - blockNumber_in?: InputMaybe>; - blockNumber_lt?: InputMaybe; - blockNumber_lte?: InputMaybe; - blockNumber_not?: InputMaybe; - blockNumber_not_in?: InputMaybe>; - events_?: InputMaybe; - from?: InputMaybe; - from_contains?: InputMaybe; - from_contains_nocase?: InputMaybe; - from_ends_with?: InputMaybe; - from_ends_with_nocase?: InputMaybe; - from_gt?: InputMaybe; - from_gte?: InputMaybe; - from_in?: InputMaybe>; - from_lt?: InputMaybe; - from_lte?: InputMaybe; - from_not?: InputMaybe; - from_not_contains?: InputMaybe; - from_not_contains_nocase?: InputMaybe; - from_not_ends_with?: InputMaybe; - from_not_ends_with_nocase?: InputMaybe; - from_not_in?: InputMaybe>; - from_not_starts_with?: InputMaybe; - from_not_starts_with_nocase?: InputMaybe; - from_starts_with?: InputMaybe; - from_starts_with_nocase?: InputMaybe; - gasPrice?: InputMaybe; - gasPrice_gt?: InputMaybe; - gasPrice_gte?: InputMaybe; - gasPrice_in?: InputMaybe>; - gasPrice_lt?: InputMaybe; - gasPrice_lte?: InputMaybe; - gasPrice_not?: InputMaybe; - gasPrice_not_in?: InputMaybe>; - gasUsed?: InputMaybe; - gasUsed_gt?: InputMaybe; - gasUsed_gte?: InputMaybe; - gasUsed_in?: InputMaybe>; - gasUsed_lt?: InputMaybe; - gasUsed_lte?: InputMaybe; - gasUsed_not?: InputMaybe; - gasUsed_not_in?: InputMaybe>; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - or?: InputMaybe>>; - timestamp?: InputMaybe; - timestamp_gt?: InputMaybe; - timestamp_gte?: InputMaybe; - timestamp_in?: InputMaybe>; - timestamp_lt?: InputMaybe; - timestamp_lte?: InputMaybe; - timestamp_not?: InputMaybe; - timestamp_not_in?: InputMaybe>; - to?: InputMaybe; - to_contains?: InputMaybe; - to_contains_nocase?: InputMaybe; - to_ends_with?: InputMaybe; - to_ends_with_nocase?: InputMaybe; - to_gt?: InputMaybe; - to_gte?: InputMaybe; - to_in?: InputMaybe>; - to_lt?: InputMaybe; - to_lte?: InputMaybe; - to_not?: InputMaybe; - to_not_contains?: InputMaybe; - to_not_contains_nocase?: InputMaybe; - to_not_ends_with?: InputMaybe; - to_not_ends_with_nocase?: InputMaybe; - to_not_in?: InputMaybe>; - to_not_starts_with?: InputMaybe; - to_not_starts_with_nocase?: InputMaybe; - to_starts_with?: InputMaybe; - to_starts_with_nocase?: InputMaybe; -}; - -export enum Transaction_OrderBy { - BlockNumber = 'blockNumber', - Events = 'events', - From = 'from', - GasPrice = 'gasPrice', - GasUsed = 'gasUsed', - Id = 'id', - Timestamp = 'timestamp', - To = 'to' -} - -/** Perform transcoding work for the network. The transcoders with the most delegated stake are elected as active transcoders that process transcode jobs for the network. */ -export type Transcoder = { - __typename: 'Transcoder'; - /** Round in which the transcoder became active - 0 if inactive */ - activationRound: Scalars['BigInt']; - /** The activation date beginning at 12:00am UTC */ - activationTimestamp: Scalars['Int']; - /** Whether or not the transcoder is active */ - active: Scalars['Boolean']; - /** Round in which the transcoder will become inactive */ - deactivationRound: Scalars['BigInt']; - /** Delegator that registered this transcoder */ - delegator?: Maybe; - /** Delegators bonded to the transcoder */ - delegators?: Maybe>; - /** % of fees paid to delegators by transcoder */ - feeShare: Scalars['BigInt']; - /** The last timestamped update to fee share, beginning at 12:00am UTC */ - feeShareUpdateTimestamp: Scalars['Int']; - /** Transcoder's ETH address */ - id: Scalars['ID']; - /** Round for which the stake was last updated while the transcoder is active */ - lastActiveStakeUpdateRound: Scalars['BigInt']; - /** Last round that the transcoder called reward */ - lastRewardRound?: Maybe; - /** Total fees generated by the transcoder in ETH (before distribution and in past 90 days) */ - ninetyDayVolumeETH: Scalars['BigDecimal']; - /** Pools associated with the transcoder */ - pools?: Maybe>; - /** Address delegated to call reward on the transcoder's behalf - null if unset */ - rewardCaller?: Maybe; - /** % of block reward cut paid to transcoder by a delegator */ - rewardCut: Scalars['BigInt']; - /** The last timestamped update to reward cut, beginning at 12:00am UTC */ - rewardCutUpdateTimestamp: Scalars['Int']; - /** Service URI endpoint that can be used to send off-chain requests */ - serviceURI?: Maybe; - /** Total fees generated by the transcoder in ETH (before distribution and in past 60 days) */ - sixtyDayVolumeETH: Scalars['BigDecimal']; - /** Status of the transcoder */ - status: TranscoderStatus; - /** Total fees generated by the transcoder in ETH (before distribution and in past 30 days) */ - thirtyDayVolumeETH: Scalars['BigDecimal']; - /** Total tokens delegated toward a transcoder (including their own) */ - totalStake: Scalars['BigDecimal']; - /** Total fees generated by the transcoder in ETH (before distribution to delegators) */ - totalVolumeETH: Scalars['BigDecimal']; - /** Total fees generated by the transcoder in USD (before distribution to delegators) */ - totalVolumeUSD: Scalars['BigDecimal']; - /** Days which the transcoder earned fees */ - transcoderDays: Array; -}; - - -/** Perform transcoding work for the network. The transcoders with the most delegated stake are elected as active transcoders that process transcode jobs for the network. */ -export type TranscoderDelegatorsArgs = { - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - where?: InputMaybe; -}; - - -/** Perform transcoding work for the network. The transcoders with the most delegated stake are elected as active transcoders that process transcode jobs for the network. */ -export type TranscoderPoolsArgs = { - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - where?: InputMaybe; -}; - - -/** Perform transcoding work for the network. The transcoders with the most delegated stake are elected as active transcoders that process transcode jobs for the network. */ -export type TranscoderTranscoderDaysArgs = { - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - where?: InputMaybe; -}; - -/** TranscoderActivatedEvent entities are created for every emitted TranscoderActivated event. */ -export type TranscoderActivatedEvent = Event & { - __typename: 'TranscoderActivatedEvent'; - /** Future round in which the delegate will become active */ - activationRound: Scalars['BigInt']; - /** Reference to the delegate that will be active */ - delegate: Transcoder; - /** Ethereum transaction hash + event log index */ - id: Scalars['ID']; - /** Reference to the round the event occured in */ - round: Round; - /** Timestamp of the transaction the event was included in */ - timestamp: Scalars['Int']; - /** Reference to the transaction the event was included in */ - transaction: Transaction; -}; - -export type TranscoderActivatedEvent_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - activationRound?: InputMaybe; - activationRound_gt?: InputMaybe; - activationRound_gte?: InputMaybe; - activationRound_in?: InputMaybe>; - activationRound_lt?: InputMaybe; - activationRound_lte?: InputMaybe; - activationRound_not?: InputMaybe; - activationRound_not_in?: InputMaybe>; - and?: InputMaybe>>; - delegate?: InputMaybe; - delegate_?: InputMaybe; - delegate_contains?: InputMaybe; - delegate_contains_nocase?: InputMaybe; - delegate_ends_with?: InputMaybe; - delegate_ends_with_nocase?: InputMaybe; - delegate_gt?: InputMaybe; - delegate_gte?: InputMaybe; - delegate_in?: InputMaybe>; - delegate_lt?: InputMaybe; - delegate_lte?: InputMaybe; - delegate_not?: InputMaybe; - delegate_not_contains?: InputMaybe; - delegate_not_contains_nocase?: InputMaybe; - delegate_not_ends_with?: InputMaybe; - delegate_not_ends_with_nocase?: InputMaybe; - delegate_not_in?: InputMaybe>; - delegate_not_starts_with?: InputMaybe; - delegate_not_starts_with_nocase?: InputMaybe; - delegate_starts_with?: InputMaybe; - delegate_starts_with_nocase?: InputMaybe; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - or?: InputMaybe>>; - round?: InputMaybe; - round_?: InputMaybe; - round_contains?: InputMaybe; - round_contains_nocase?: InputMaybe; - round_ends_with?: InputMaybe; - round_ends_with_nocase?: InputMaybe; - round_gt?: InputMaybe; - round_gte?: InputMaybe; - round_in?: InputMaybe>; - round_lt?: InputMaybe; - round_lte?: InputMaybe; - round_not?: InputMaybe; - round_not_contains?: InputMaybe; - round_not_contains_nocase?: InputMaybe; - round_not_ends_with?: InputMaybe; - round_not_ends_with_nocase?: InputMaybe; - round_not_in?: InputMaybe>; - round_not_starts_with?: InputMaybe; - round_not_starts_with_nocase?: InputMaybe; - round_starts_with?: InputMaybe; - round_starts_with_nocase?: InputMaybe; - timestamp?: InputMaybe; - timestamp_gt?: InputMaybe; - timestamp_gte?: InputMaybe; - timestamp_in?: InputMaybe>; - timestamp_lt?: InputMaybe; - timestamp_lte?: InputMaybe; - timestamp_not?: InputMaybe; - timestamp_not_in?: InputMaybe>; - transaction?: InputMaybe; - transaction_?: InputMaybe; - transaction_contains?: InputMaybe; - transaction_contains_nocase?: InputMaybe; - transaction_ends_with?: InputMaybe; - transaction_ends_with_nocase?: InputMaybe; - transaction_gt?: InputMaybe; - transaction_gte?: InputMaybe; - transaction_in?: InputMaybe>; - transaction_lt?: InputMaybe; - transaction_lte?: InputMaybe; - transaction_not?: InputMaybe; - transaction_not_contains?: InputMaybe; - transaction_not_contains_nocase?: InputMaybe; - transaction_not_ends_with?: InputMaybe; - transaction_not_ends_with_nocase?: InputMaybe; - transaction_not_in?: InputMaybe>; - transaction_not_starts_with?: InputMaybe; - transaction_not_starts_with_nocase?: InputMaybe; - transaction_starts_with?: InputMaybe; - transaction_starts_with_nocase?: InputMaybe; -}; - -export enum TranscoderActivatedEvent_OrderBy { - ActivationRound = 'activationRound', - Delegate = 'delegate', - DelegateActivationRound = 'delegate__activationRound', - DelegateActivationTimestamp = 'delegate__activationTimestamp', - DelegateActive = 'delegate__active', - DelegateDeactivationRound = 'delegate__deactivationRound', - DelegateFeeShare = 'delegate__feeShare', - DelegateFeeShareUpdateTimestamp = 'delegate__feeShareUpdateTimestamp', - DelegateId = 'delegate__id', - DelegateLastActiveStakeUpdateRound = 'delegate__lastActiveStakeUpdateRound', - DelegateNinetyDayVolumeEth = 'delegate__ninetyDayVolumeETH', - DelegateRewardCaller = 'delegate__rewardCaller', - DelegateRewardCut = 'delegate__rewardCut', - DelegateRewardCutUpdateTimestamp = 'delegate__rewardCutUpdateTimestamp', - DelegateServiceUri = 'delegate__serviceURI', - DelegateSixtyDayVolumeEth = 'delegate__sixtyDayVolumeETH', - DelegateStatus = 'delegate__status', - DelegateThirtyDayVolumeEth = 'delegate__thirtyDayVolumeETH', - DelegateTotalStake = 'delegate__totalStake', - DelegateTotalVolumeEth = 'delegate__totalVolumeETH', - DelegateTotalVolumeUsd = 'delegate__totalVolumeUSD', - Id = 'id', - Round = 'round', - RoundActiveTranscoderCount = 'round__activeTranscoderCount', - RoundDelegatorsCount = 'round__delegatorsCount', - RoundEndBlock = 'round__endBlock', - RoundId = 'round__id', - RoundInflation = 'round__inflation', - RoundInitialized = 'round__initialized', - RoundLength = 'round__length', - RoundMintableTokens = 'round__mintableTokens', - RoundMovedStake = 'round__movedStake', - RoundNewStake = 'round__newStake', - RoundNumActiveTranscoders = 'round__numActiveTranscoders', - RoundParticipationRate = 'round__participationRate', - RoundStartBlock = 'round__startBlock', - RoundStartTimestamp = 'round__startTimestamp', - RoundTotalActiveStake = 'round__totalActiveStake', - RoundTotalSupply = 'round__totalSupply', - RoundVolumeEth = 'round__volumeETH', - RoundVolumeUsd = 'round__volumeUSD', - Timestamp = 'timestamp', - Transaction = 'transaction', - TransactionBlockNumber = 'transaction__blockNumber', - TransactionFrom = 'transaction__from', - TransactionGasPrice = 'transaction__gasPrice', - TransactionGasUsed = 'transaction__gasUsed', - TransactionId = 'transaction__id', - TransactionTimestamp = 'transaction__timestamp', - TransactionTo = 'transaction__to' -} - -/** Transcoder data accumulated and condensed into day stats */ -export type TranscoderDay = { - __typename: 'TranscoderDay'; - /** The date beginning at 12:00am UTC */ - date: Scalars['Int']; - /** Concatenation of the transcoder address and the day timestamp (e.g.
-) */ - id: Scalars['ID']; - /** Transcoder associated with the day */ - transcoder: Transcoder; - /** Fees generated this day in ETH */ - volumeETH: Scalars['BigDecimal']; - /** Fees generated this day in USD */ - volumeUSD: Scalars['BigDecimal']; -}; - -export type TranscoderDay_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - and?: InputMaybe>>; - date?: InputMaybe; - date_gt?: InputMaybe; - date_gte?: InputMaybe; - date_in?: InputMaybe>; - date_lt?: InputMaybe; - date_lte?: InputMaybe; - date_not?: InputMaybe; - date_not_in?: InputMaybe>; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - or?: InputMaybe>>; - transcoder?: InputMaybe; - transcoder_?: InputMaybe; - transcoder_contains?: InputMaybe; - transcoder_contains_nocase?: InputMaybe; - transcoder_ends_with?: InputMaybe; - transcoder_ends_with_nocase?: InputMaybe; - transcoder_gt?: InputMaybe; - transcoder_gte?: InputMaybe; - transcoder_in?: InputMaybe>; - transcoder_lt?: InputMaybe; - transcoder_lte?: InputMaybe; - transcoder_not?: InputMaybe; - transcoder_not_contains?: InputMaybe; - transcoder_not_contains_nocase?: InputMaybe; - transcoder_not_ends_with?: InputMaybe; - transcoder_not_ends_with_nocase?: InputMaybe; - transcoder_not_in?: InputMaybe>; - transcoder_not_starts_with?: InputMaybe; - transcoder_not_starts_with_nocase?: InputMaybe; - transcoder_starts_with?: InputMaybe; - transcoder_starts_with_nocase?: InputMaybe; - volumeETH?: InputMaybe; - volumeETH_gt?: InputMaybe; - volumeETH_gte?: InputMaybe; - volumeETH_in?: InputMaybe>; - volumeETH_lt?: InputMaybe; - volumeETH_lte?: InputMaybe; - volumeETH_not?: InputMaybe; - volumeETH_not_in?: InputMaybe>; - volumeUSD?: InputMaybe; - volumeUSD_gt?: InputMaybe; - volumeUSD_gte?: InputMaybe; - volumeUSD_in?: InputMaybe>; - volumeUSD_lt?: InputMaybe; - volumeUSD_lte?: InputMaybe; - volumeUSD_not?: InputMaybe; - volumeUSD_not_in?: InputMaybe>; -}; - -export enum TranscoderDay_OrderBy { - Date = 'date', - Id = 'id', - Transcoder = 'transcoder', - TranscoderActivationRound = 'transcoder__activationRound', - TranscoderActivationTimestamp = 'transcoder__activationTimestamp', - TranscoderActive = 'transcoder__active', - TranscoderDeactivationRound = 'transcoder__deactivationRound', - TranscoderFeeShare = 'transcoder__feeShare', - TranscoderFeeShareUpdateTimestamp = 'transcoder__feeShareUpdateTimestamp', - TranscoderId = 'transcoder__id', - TranscoderLastActiveStakeUpdateRound = 'transcoder__lastActiveStakeUpdateRound', - TranscoderNinetyDayVolumeEth = 'transcoder__ninetyDayVolumeETH', - TranscoderRewardCaller = 'transcoder__rewardCaller', - TranscoderRewardCut = 'transcoder__rewardCut', - TranscoderRewardCutUpdateTimestamp = 'transcoder__rewardCutUpdateTimestamp', - TranscoderServiceUri = 'transcoder__serviceURI', - TranscoderSixtyDayVolumeEth = 'transcoder__sixtyDayVolumeETH', - TranscoderStatus = 'transcoder__status', - TranscoderThirtyDayVolumeEth = 'transcoder__thirtyDayVolumeETH', - TranscoderTotalStake = 'transcoder__totalStake', - TranscoderTotalVolumeEth = 'transcoder__totalVolumeETH', - TranscoderTotalVolumeUsd = 'transcoder__totalVolumeUSD', - VolumeEth = 'volumeETH', - VolumeUsd = 'volumeUSD' -} - -/** TranscoderDeactivatedEvent entities are created for every emitted TranscoderDeactivated event. */ -export type TranscoderDeactivatedEvent = Event & { - __typename: 'TranscoderDeactivatedEvent'; - /** Future round in which the delegate will become deactive */ - deactivationRound: Scalars['BigInt']; - /** Reference to the delegate that will become deactive */ - delegate: Transcoder; - /** Ethereum transaction hash + event log index */ - id: Scalars['ID']; - /** Reference to the round the event occured in */ - round: Round; - /** Timestamp of the transaction the event was included in */ - timestamp: Scalars['Int']; - /** Reference to the transaction the event was included in */ - transaction: Transaction; -}; - -export type TranscoderDeactivatedEvent_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - and?: InputMaybe>>; - deactivationRound?: InputMaybe; - deactivationRound_gt?: InputMaybe; - deactivationRound_gte?: InputMaybe; - deactivationRound_in?: InputMaybe>; - deactivationRound_lt?: InputMaybe; - deactivationRound_lte?: InputMaybe; - deactivationRound_not?: InputMaybe; - deactivationRound_not_in?: InputMaybe>; - delegate?: InputMaybe; - delegate_?: InputMaybe; - delegate_contains?: InputMaybe; - delegate_contains_nocase?: InputMaybe; - delegate_ends_with?: InputMaybe; - delegate_ends_with_nocase?: InputMaybe; - delegate_gt?: InputMaybe; - delegate_gte?: InputMaybe; - delegate_in?: InputMaybe>; - delegate_lt?: InputMaybe; - delegate_lte?: InputMaybe; - delegate_not?: InputMaybe; - delegate_not_contains?: InputMaybe; - delegate_not_contains_nocase?: InputMaybe; - delegate_not_ends_with?: InputMaybe; - delegate_not_ends_with_nocase?: InputMaybe; - delegate_not_in?: InputMaybe>; - delegate_not_starts_with?: InputMaybe; - delegate_not_starts_with_nocase?: InputMaybe; - delegate_starts_with?: InputMaybe; - delegate_starts_with_nocase?: InputMaybe; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - or?: InputMaybe>>; - round?: InputMaybe; - round_?: InputMaybe; - round_contains?: InputMaybe; - round_contains_nocase?: InputMaybe; - round_ends_with?: InputMaybe; - round_ends_with_nocase?: InputMaybe; - round_gt?: InputMaybe; - round_gte?: InputMaybe; - round_in?: InputMaybe>; - round_lt?: InputMaybe; - round_lte?: InputMaybe; - round_not?: InputMaybe; - round_not_contains?: InputMaybe; - round_not_contains_nocase?: InputMaybe; - round_not_ends_with?: InputMaybe; - round_not_ends_with_nocase?: InputMaybe; - round_not_in?: InputMaybe>; - round_not_starts_with?: InputMaybe; - round_not_starts_with_nocase?: InputMaybe; - round_starts_with?: InputMaybe; - round_starts_with_nocase?: InputMaybe; - timestamp?: InputMaybe; - timestamp_gt?: InputMaybe; - timestamp_gte?: InputMaybe; - timestamp_in?: InputMaybe>; - timestamp_lt?: InputMaybe; - timestamp_lte?: InputMaybe; - timestamp_not?: InputMaybe; - timestamp_not_in?: InputMaybe>; - transaction?: InputMaybe; - transaction_?: InputMaybe; - transaction_contains?: InputMaybe; - transaction_contains_nocase?: InputMaybe; - transaction_ends_with?: InputMaybe; - transaction_ends_with_nocase?: InputMaybe; - transaction_gt?: InputMaybe; - transaction_gte?: InputMaybe; - transaction_in?: InputMaybe>; - transaction_lt?: InputMaybe; - transaction_lte?: InputMaybe; - transaction_not?: InputMaybe; - transaction_not_contains?: InputMaybe; - transaction_not_contains_nocase?: InputMaybe; - transaction_not_ends_with?: InputMaybe; - transaction_not_ends_with_nocase?: InputMaybe; - transaction_not_in?: InputMaybe>; - transaction_not_starts_with?: InputMaybe; - transaction_not_starts_with_nocase?: InputMaybe; - transaction_starts_with?: InputMaybe; - transaction_starts_with_nocase?: InputMaybe; -}; - -export enum TranscoderDeactivatedEvent_OrderBy { - DeactivationRound = 'deactivationRound', - Delegate = 'delegate', - DelegateActivationRound = 'delegate__activationRound', - DelegateActivationTimestamp = 'delegate__activationTimestamp', - DelegateActive = 'delegate__active', - DelegateDeactivationRound = 'delegate__deactivationRound', - DelegateFeeShare = 'delegate__feeShare', - DelegateFeeShareUpdateTimestamp = 'delegate__feeShareUpdateTimestamp', - DelegateId = 'delegate__id', - DelegateLastActiveStakeUpdateRound = 'delegate__lastActiveStakeUpdateRound', - DelegateNinetyDayVolumeEth = 'delegate__ninetyDayVolumeETH', - DelegateRewardCaller = 'delegate__rewardCaller', - DelegateRewardCut = 'delegate__rewardCut', - DelegateRewardCutUpdateTimestamp = 'delegate__rewardCutUpdateTimestamp', - DelegateServiceUri = 'delegate__serviceURI', - DelegateSixtyDayVolumeEth = 'delegate__sixtyDayVolumeETH', - DelegateStatus = 'delegate__status', - DelegateThirtyDayVolumeEth = 'delegate__thirtyDayVolumeETH', - DelegateTotalStake = 'delegate__totalStake', - DelegateTotalVolumeEth = 'delegate__totalVolumeETH', - DelegateTotalVolumeUsd = 'delegate__totalVolumeUSD', - Id = 'id', - Round = 'round', - RoundActiveTranscoderCount = 'round__activeTranscoderCount', - RoundDelegatorsCount = 'round__delegatorsCount', - RoundEndBlock = 'round__endBlock', - RoundId = 'round__id', - RoundInflation = 'round__inflation', - RoundInitialized = 'round__initialized', - RoundLength = 'round__length', - RoundMintableTokens = 'round__mintableTokens', - RoundMovedStake = 'round__movedStake', - RoundNewStake = 'round__newStake', - RoundNumActiveTranscoders = 'round__numActiveTranscoders', - RoundParticipationRate = 'round__participationRate', - RoundStartBlock = 'round__startBlock', - RoundStartTimestamp = 'round__startTimestamp', - RoundTotalActiveStake = 'round__totalActiveStake', - RoundTotalSupply = 'round__totalSupply', - RoundVolumeEth = 'round__volumeETH', - RoundVolumeUsd = 'round__volumeUSD', - Timestamp = 'timestamp', - Transaction = 'transaction', - TransactionBlockNumber = 'transaction__blockNumber', - TransactionFrom = 'transaction__from', - TransactionGasPrice = 'transaction__gasPrice', - TransactionGasUsed = 'transaction__gasUsed', - TransactionId = 'transaction__id', - TransactionTimestamp = 'transaction__timestamp', - TransactionTo = 'transaction__to' -} - -/** TranscoderEvictedEvent entities are created for every emitted TranscoderEvicted event. */ -export type TranscoderEvictedEvent = Event & { - __typename: 'TranscoderEvictedEvent'; - /** Reference to the delegate that was evicted */ - delegate: Transcoder; - /** Ethereum transaction hash + event log index */ - id: Scalars['ID']; - /** Reference to the round the event occured in */ - round: Round; - /** Timestamp of the transaction the event was included in */ - timestamp: Scalars['Int']; - /** Reference to the transaction the event was included in */ - transaction: Transaction; -}; - -export type TranscoderEvictedEvent_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - and?: InputMaybe>>; - delegate?: InputMaybe; - delegate_?: InputMaybe; - delegate_contains?: InputMaybe; - delegate_contains_nocase?: InputMaybe; - delegate_ends_with?: InputMaybe; - delegate_ends_with_nocase?: InputMaybe; - delegate_gt?: InputMaybe; - delegate_gte?: InputMaybe; - delegate_in?: InputMaybe>; - delegate_lt?: InputMaybe; - delegate_lte?: InputMaybe; - delegate_not?: InputMaybe; - delegate_not_contains?: InputMaybe; - delegate_not_contains_nocase?: InputMaybe; - delegate_not_ends_with?: InputMaybe; - delegate_not_ends_with_nocase?: InputMaybe; - delegate_not_in?: InputMaybe>; - delegate_not_starts_with?: InputMaybe; - delegate_not_starts_with_nocase?: InputMaybe; - delegate_starts_with?: InputMaybe; - delegate_starts_with_nocase?: InputMaybe; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - or?: InputMaybe>>; - round?: InputMaybe; - round_?: InputMaybe; - round_contains?: InputMaybe; - round_contains_nocase?: InputMaybe; - round_ends_with?: InputMaybe; - round_ends_with_nocase?: InputMaybe; - round_gt?: InputMaybe; - round_gte?: InputMaybe; - round_in?: InputMaybe>; - round_lt?: InputMaybe; - round_lte?: InputMaybe; - round_not?: InputMaybe; - round_not_contains?: InputMaybe; - round_not_contains_nocase?: InputMaybe; - round_not_ends_with?: InputMaybe; - round_not_ends_with_nocase?: InputMaybe; - round_not_in?: InputMaybe>; - round_not_starts_with?: InputMaybe; - round_not_starts_with_nocase?: InputMaybe; - round_starts_with?: InputMaybe; - round_starts_with_nocase?: InputMaybe; - timestamp?: InputMaybe; - timestamp_gt?: InputMaybe; - timestamp_gte?: InputMaybe; - timestamp_in?: InputMaybe>; - timestamp_lt?: InputMaybe; - timestamp_lte?: InputMaybe; - timestamp_not?: InputMaybe; - timestamp_not_in?: InputMaybe>; - transaction?: InputMaybe; - transaction_?: InputMaybe; - transaction_contains?: InputMaybe; - transaction_contains_nocase?: InputMaybe; - transaction_ends_with?: InputMaybe; - transaction_ends_with_nocase?: InputMaybe; - transaction_gt?: InputMaybe; - transaction_gte?: InputMaybe; - transaction_in?: InputMaybe>; - transaction_lt?: InputMaybe; - transaction_lte?: InputMaybe; - transaction_not?: InputMaybe; - transaction_not_contains?: InputMaybe; - transaction_not_contains_nocase?: InputMaybe; - transaction_not_ends_with?: InputMaybe; - transaction_not_ends_with_nocase?: InputMaybe; - transaction_not_in?: InputMaybe>; - transaction_not_starts_with?: InputMaybe; - transaction_not_starts_with_nocase?: InputMaybe; - transaction_starts_with?: InputMaybe; - transaction_starts_with_nocase?: InputMaybe; -}; - -export enum TranscoderEvictedEvent_OrderBy { - Delegate = 'delegate', - DelegateActivationRound = 'delegate__activationRound', - DelegateActivationTimestamp = 'delegate__activationTimestamp', - DelegateActive = 'delegate__active', - DelegateDeactivationRound = 'delegate__deactivationRound', - DelegateFeeShare = 'delegate__feeShare', - DelegateFeeShareUpdateTimestamp = 'delegate__feeShareUpdateTimestamp', - DelegateId = 'delegate__id', - DelegateLastActiveStakeUpdateRound = 'delegate__lastActiveStakeUpdateRound', - DelegateNinetyDayVolumeEth = 'delegate__ninetyDayVolumeETH', - DelegateRewardCaller = 'delegate__rewardCaller', - DelegateRewardCut = 'delegate__rewardCut', - DelegateRewardCutUpdateTimestamp = 'delegate__rewardCutUpdateTimestamp', - DelegateServiceUri = 'delegate__serviceURI', - DelegateSixtyDayVolumeEth = 'delegate__sixtyDayVolumeETH', - DelegateStatus = 'delegate__status', - DelegateThirtyDayVolumeEth = 'delegate__thirtyDayVolumeETH', - DelegateTotalStake = 'delegate__totalStake', - DelegateTotalVolumeEth = 'delegate__totalVolumeETH', - DelegateTotalVolumeUsd = 'delegate__totalVolumeUSD', - Id = 'id', - Round = 'round', - RoundActiveTranscoderCount = 'round__activeTranscoderCount', - RoundDelegatorsCount = 'round__delegatorsCount', - RoundEndBlock = 'round__endBlock', - RoundId = 'round__id', - RoundInflation = 'round__inflation', - RoundInitialized = 'round__initialized', - RoundLength = 'round__length', - RoundMintableTokens = 'round__mintableTokens', - RoundMovedStake = 'round__movedStake', - RoundNewStake = 'round__newStake', - RoundNumActiveTranscoders = 'round__numActiveTranscoders', - RoundParticipationRate = 'round__participationRate', - RoundStartBlock = 'round__startBlock', - RoundStartTimestamp = 'round__startTimestamp', - RoundTotalActiveStake = 'round__totalActiveStake', - RoundTotalSupply = 'round__totalSupply', - RoundVolumeEth = 'round__volumeETH', - RoundVolumeUsd = 'round__volumeUSD', - Timestamp = 'timestamp', - Transaction = 'transaction', - TransactionBlockNumber = 'transaction__blockNumber', - TransactionFrom = 'transaction__from', - TransactionGasPrice = 'transaction__gasPrice', - TransactionGasUsed = 'transaction__gasUsed', - TransactionId = 'transaction__id', - TransactionTimestamp = 'transaction__timestamp', - TransactionTo = 'transaction__to' -} - -/** TranscoderResignedEvent entities are created for every emitted TranscoderResigned event. */ -export type TranscoderResignedEvent = Event & { - __typename: 'TranscoderResignedEvent'; - /** Reference to the delegate that resigned */ - delegate: Transcoder; - /** Ethereum transaction hash + event log index */ - id: Scalars['ID']; - /** Reference to the round the event occured in */ - round: Round; - /** Timestamp of the transaction the event was included in */ - timestamp: Scalars['Int']; - /** Reference to the transaction the event was included in */ - transaction: Transaction; -}; - -export type TranscoderResignedEvent_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - and?: InputMaybe>>; - delegate?: InputMaybe; - delegate_?: InputMaybe; - delegate_contains?: InputMaybe; - delegate_contains_nocase?: InputMaybe; - delegate_ends_with?: InputMaybe; - delegate_ends_with_nocase?: InputMaybe; - delegate_gt?: InputMaybe; - delegate_gte?: InputMaybe; - delegate_in?: InputMaybe>; - delegate_lt?: InputMaybe; - delegate_lte?: InputMaybe; - delegate_not?: InputMaybe; - delegate_not_contains?: InputMaybe; - delegate_not_contains_nocase?: InputMaybe; - delegate_not_ends_with?: InputMaybe; - delegate_not_ends_with_nocase?: InputMaybe; - delegate_not_in?: InputMaybe>; - delegate_not_starts_with?: InputMaybe; - delegate_not_starts_with_nocase?: InputMaybe; - delegate_starts_with?: InputMaybe; - delegate_starts_with_nocase?: InputMaybe; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - or?: InputMaybe>>; - round?: InputMaybe; - round_?: InputMaybe; - round_contains?: InputMaybe; - round_contains_nocase?: InputMaybe; - round_ends_with?: InputMaybe; - round_ends_with_nocase?: InputMaybe; - round_gt?: InputMaybe; - round_gte?: InputMaybe; - round_in?: InputMaybe>; - round_lt?: InputMaybe; - round_lte?: InputMaybe; - round_not?: InputMaybe; - round_not_contains?: InputMaybe; - round_not_contains_nocase?: InputMaybe; - round_not_ends_with?: InputMaybe; - round_not_ends_with_nocase?: InputMaybe; - round_not_in?: InputMaybe>; - round_not_starts_with?: InputMaybe; - round_not_starts_with_nocase?: InputMaybe; - round_starts_with?: InputMaybe; - round_starts_with_nocase?: InputMaybe; - timestamp?: InputMaybe; - timestamp_gt?: InputMaybe; - timestamp_gte?: InputMaybe; - timestamp_in?: InputMaybe>; - timestamp_lt?: InputMaybe; - timestamp_lte?: InputMaybe; - timestamp_not?: InputMaybe; - timestamp_not_in?: InputMaybe>; - transaction?: InputMaybe; - transaction_?: InputMaybe; - transaction_contains?: InputMaybe; - transaction_contains_nocase?: InputMaybe; - transaction_ends_with?: InputMaybe; - transaction_ends_with_nocase?: InputMaybe; - transaction_gt?: InputMaybe; - transaction_gte?: InputMaybe; - transaction_in?: InputMaybe>; - transaction_lt?: InputMaybe; - transaction_lte?: InputMaybe; - transaction_not?: InputMaybe; - transaction_not_contains?: InputMaybe; - transaction_not_contains_nocase?: InputMaybe; - transaction_not_ends_with?: InputMaybe; - transaction_not_ends_with_nocase?: InputMaybe; - transaction_not_in?: InputMaybe>; - transaction_not_starts_with?: InputMaybe; - transaction_not_starts_with_nocase?: InputMaybe; - transaction_starts_with?: InputMaybe; - transaction_starts_with_nocase?: InputMaybe; -}; - -export enum TranscoderResignedEvent_OrderBy { - Delegate = 'delegate', - DelegateActivationRound = 'delegate__activationRound', - DelegateActivationTimestamp = 'delegate__activationTimestamp', - DelegateActive = 'delegate__active', - DelegateDeactivationRound = 'delegate__deactivationRound', - DelegateFeeShare = 'delegate__feeShare', - DelegateFeeShareUpdateTimestamp = 'delegate__feeShareUpdateTimestamp', - DelegateId = 'delegate__id', - DelegateLastActiveStakeUpdateRound = 'delegate__lastActiveStakeUpdateRound', - DelegateNinetyDayVolumeEth = 'delegate__ninetyDayVolumeETH', - DelegateRewardCaller = 'delegate__rewardCaller', - DelegateRewardCut = 'delegate__rewardCut', - DelegateRewardCutUpdateTimestamp = 'delegate__rewardCutUpdateTimestamp', - DelegateServiceUri = 'delegate__serviceURI', - DelegateSixtyDayVolumeEth = 'delegate__sixtyDayVolumeETH', - DelegateStatus = 'delegate__status', - DelegateThirtyDayVolumeEth = 'delegate__thirtyDayVolumeETH', - DelegateTotalStake = 'delegate__totalStake', - DelegateTotalVolumeEth = 'delegate__totalVolumeETH', - DelegateTotalVolumeUsd = 'delegate__totalVolumeUSD', - Id = 'id', - Round = 'round', - RoundActiveTranscoderCount = 'round__activeTranscoderCount', - RoundDelegatorsCount = 'round__delegatorsCount', - RoundEndBlock = 'round__endBlock', - RoundId = 'round__id', - RoundInflation = 'round__inflation', - RoundInitialized = 'round__initialized', - RoundLength = 'round__length', - RoundMintableTokens = 'round__mintableTokens', - RoundMovedStake = 'round__movedStake', - RoundNewStake = 'round__newStake', - RoundNumActiveTranscoders = 'round__numActiveTranscoders', - RoundParticipationRate = 'round__participationRate', - RoundStartBlock = 'round__startBlock', - RoundStartTimestamp = 'round__startTimestamp', - RoundTotalActiveStake = 'round__totalActiveStake', - RoundTotalSupply = 'round__totalSupply', - RoundVolumeEth = 'round__volumeETH', - RoundVolumeUsd = 'round__volumeUSD', - Timestamp = 'timestamp', - Transaction = 'transaction', - TransactionBlockNumber = 'transaction__blockNumber', - TransactionFrom = 'transaction__from', - TransactionGasPrice = 'transaction__gasPrice', - TransactionGasUsed = 'transaction__gasUsed', - TransactionId = 'transaction__id', - TransactionTimestamp = 'transaction__timestamp', - TransactionTo = 'transaction__to' -} - -/** TranscoderSlashedEvent entities are created for every emitted TranscoderSlashed event. */ -export type TranscoderSlashedEvent = Event & { - __typename: 'TranscoderSlashedEvent'; - /** Reference to the delegate that was slashed */ - delegate: Transcoder; - /** Finder that proved a transcoder violated a slashing condition. Null address if there is no finder */ - finder: Scalars['Bytes']; - /** Percentage of penalty awarded to finder. Zero if there is no finder */ - finderReward: Scalars['BigInt']; - /** Ethereum transaction hash + event log index */ - id: Scalars['ID']; - /** Percentage of transcoder bond to be slashed */ - penalty: Scalars['BigDecimal']; - /** Reference to the round the event occured in */ - round: Round; - /** Timestamp of the transaction the event was included in */ - timestamp: Scalars['Int']; - /** Reference to the transaction the event was included in */ - transaction: Transaction; -}; - -export type TranscoderSlashedEvent_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - and?: InputMaybe>>; - delegate?: InputMaybe; - delegate_?: InputMaybe; - delegate_contains?: InputMaybe; - delegate_contains_nocase?: InputMaybe; - delegate_ends_with?: InputMaybe; - delegate_ends_with_nocase?: InputMaybe; - delegate_gt?: InputMaybe; - delegate_gte?: InputMaybe; - delegate_in?: InputMaybe>; - delegate_lt?: InputMaybe; - delegate_lte?: InputMaybe; - delegate_not?: InputMaybe; - delegate_not_contains?: InputMaybe; - delegate_not_contains_nocase?: InputMaybe; - delegate_not_ends_with?: InputMaybe; - delegate_not_ends_with_nocase?: InputMaybe; - delegate_not_in?: InputMaybe>; - delegate_not_starts_with?: InputMaybe; - delegate_not_starts_with_nocase?: InputMaybe; - delegate_starts_with?: InputMaybe; - delegate_starts_with_nocase?: InputMaybe; - finder?: InputMaybe; - finderReward?: InputMaybe; - finderReward_gt?: InputMaybe; - finderReward_gte?: InputMaybe; - finderReward_in?: InputMaybe>; - finderReward_lt?: InputMaybe; - finderReward_lte?: InputMaybe; - finderReward_not?: InputMaybe; - finderReward_not_in?: InputMaybe>; - finder_contains?: InputMaybe; - finder_gt?: InputMaybe; - finder_gte?: InputMaybe; - finder_in?: InputMaybe>; - finder_lt?: InputMaybe; - finder_lte?: InputMaybe; - finder_not?: InputMaybe; - finder_not_contains?: InputMaybe; - finder_not_in?: InputMaybe>; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - or?: InputMaybe>>; - penalty?: InputMaybe; - penalty_gt?: InputMaybe; - penalty_gte?: InputMaybe; - penalty_in?: InputMaybe>; - penalty_lt?: InputMaybe; - penalty_lte?: InputMaybe; - penalty_not?: InputMaybe; - penalty_not_in?: InputMaybe>; - round?: InputMaybe; - round_?: InputMaybe; - round_contains?: InputMaybe; - round_contains_nocase?: InputMaybe; - round_ends_with?: InputMaybe; - round_ends_with_nocase?: InputMaybe; - round_gt?: InputMaybe; - round_gte?: InputMaybe; - round_in?: InputMaybe>; - round_lt?: InputMaybe; - round_lte?: InputMaybe; - round_not?: InputMaybe; - round_not_contains?: InputMaybe; - round_not_contains_nocase?: InputMaybe; - round_not_ends_with?: InputMaybe; - round_not_ends_with_nocase?: InputMaybe; - round_not_in?: InputMaybe>; - round_not_starts_with?: InputMaybe; - round_not_starts_with_nocase?: InputMaybe; - round_starts_with?: InputMaybe; - round_starts_with_nocase?: InputMaybe; - timestamp?: InputMaybe; - timestamp_gt?: InputMaybe; - timestamp_gte?: InputMaybe; - timestamp_in?: InputMaybe>; - timestamp_lt?: InputMaybe; - timestamp_lte?: InputMaybe; - timestamp_not?: InputMaybe; - timestamp_not_in?: InputMaybe>; - transaction?: InputMaybe; - transaction_?: InputMaybe; - transaction_contains?: InputMaybe; - transaction_contains_nocase?: InputMaybe; - transaction_ends_with?: InputMaybe; - transaction_ends_with_nocase?: InputMaybe; - transaction_gt?: InputMaybe; - transaction_gte?: InputMaybe; - transaction_in?: InputMaybe>; - transaction_lt?: InputMaybe; - transaction_lte?: InputMaybe; - transaction_not?: InputMaybe; - transaction_not_contains?: InputMaybe; - transaction_not_contains_nocase?: InputMaybe; - transaction_not_ends_with?: InputMaybe; - transaction_not_ends_with_nocase?: InputMaybe; - transaction_not_in?: InputMaybe>; - transaction_not_starts_with?: InputMaybe; - transaction_not_starts_with_nocase?: InputMaybe; - transaction_starts_with?: InputMaybe; - transaction_starts_with_nocase?: InputMaybe; -}; - -export enum TranscoderSlashedEvent_OrderBy { - Delegate = 'delegate', - DelegateActivationRound = 'delegate__activationRound', - DelegateActivationTimestamp = 'delegate__activationTimestamp', - DelegateActive = 'delegate__active', - DelegateDeactivationRound = 'delegate__deactivationRound', - DelegateFeeShare = 'delegate__feeShare', - DelegateFeeShareUpdateTimestamp = 'delegate__feeShareUpdateTimestamp', - DelegateId = 'delegate__id', - DelegateLastActiveStakeUpdateRound = 'delegate__lastActiveStakeUpdateRound', - DelegateNinetyDayVolumeEth = 'delegate__ninetyDayVolumeETH', - DelegateRewardCaller = 'delegate__rewardCaller', - DelegateRewardCut = 'delegate__rewardCut', - DelegateRewardCutUpdateTimestamp = 'delegate__rewardCutUpdateTimestamp', - DelegateServiceUri = 'delegate__serviceURI', - DelegateSixtyDayVolumeEth = 'delegate__sixtyDayVolumeETH', - DelegateStatus = 'delegate__status', - DelegateThirtyDayVolumeEth = 'delegate__thirtyDayVolumeETH', - DelegateTotalStake = 'delegate__totalStake', - DelegateTotalVolumeEth = 'delegate__totalVolumeETH', - DelegateTotalVolumeUsd = 'delegate__totalVolumeUSD', - Finder = 'finder', - FinderReward = 'finderReward', - Id = 'id', - Penalty = 'penalty', - Round = 'round', - RoundActiveTranscoderCount = 'round__activeTranscoderCount', - RoundDelegatorsCount = 'round__delegatorsCount', - RoundEndBlock = 'round__endBlock', - RoundId = 'round__id', - RoundInflation = 'round__inflation', - RoundInitialized = 'round__initialized', - RoundLength = 'round__length', - RoundMintableTokens = 'round__mintableTokens', - RoundMovedStake = 'round__movedStake', - RoundNewStake = 'round__newStake', - RoundNumActiveTranscoders = 'round__numActiveTranscoders', - RoundParticipationRate = 'round__participationRate', - RoundStartBlock = 'round__startBlock', - RoundStartTimestamp = 'round__startTimestamp', - RoundTotalActiveStake = 'round__totalActiveStake', - RoundTotalSupply = 'round__totalSupply', - RoundVolumeEth = 'round__volumeETH', - RoundVolumeUsd = 'round__volumeUSD', - Timestamp = 'timestamp', - Transaction = 'transaction', - TransactionBlockNumber = 'transaction__blockNumber', - TransactionFrom = 'transaction__from', - TransactionGasPrice = 'transaction__gasPrice', - TransactionGasUsed = 'transaction__gasUsed', - TransactionId = 'transaction__id', - TransactionTimestamp = 'transaction__timestamp', - TransactionTo = 'transaction__to' -} - -export enum TranscoderStatus { - NotRegistered = 'NotRegistered', - Registered = 'Registered' -} - -/** TranscoderUpdateEvent entities are created for every emitted TranscoderUpdate event. */ -export type TranscoderUpdateEvent = Event & { - __typename: 'TranscoderUpdateEvent'; - /** Reference to the delegate that was updated */ - delegate: Transcoder; - /** Delegate's updated fee share */ - feeShare: Scalars['BigInt']; - /** Ethereum transaction hash + event log index */ - id: Scalars['ID']; - /** Delegate's updated reward cut */ - rewardCut: Scalars['BigInt']; - /** Reference to the round the event occured in */ - round: Round; - /** Timestamp of the transaction the event was included in */ - timestamp: Scalars['Int']; - /** Reference to the transaction the event was included in */ - transaction: Transaction; -}; - -export type TranscoderUpdateEvent_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - and?: InputMaybe>>; - delegate?: InputMaybe; - delegate_?: InputMaybe; - delegate_contains?: InputMaybe; - delegate_contains_nocase?: InputMaybe; - delegate_ends_with?: InputMaybe; - delegate_ends_with_nocase?: InputMaybe; - delegate_gt?: InputMaybe; - delegate_gte?: InputMaybe; - delegate_in?: InputMaybe>; - delegate_lt?: InputMaybe; - delegate_lte?: InputMaybe; - delegate_not?: InputMaybe; - delegate_not_contains?: InputMaybe; - delegate_not_contains_nocase?: InputMaybe; - delegate_not_ends_with?: InputMaybe; - delegate_not_ends_with_nocase?: InputMaybe; - delegate_not_in?: InputMaybe>; - delegate_not_starts_with?: InputMaybe; - delegate_not_starts_with_nocase?: InputMaybe; - delegate_starts_with?: InputMaybe; - delegate_starts_with_nocase?: InputMaybe; - feeShare?: InputMaybe; - feeShare_gt?: InputMaybe; - feeShare_gte?: InputMaybe; - feeShare_in?: InputMaybe>; - feeShare_lt?: InputMaybe; - feeShare_lte?: InputMaybe; - feeShare_not?: InputMaybe; - feeShare_not_in?: InputMaybe>; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - or?: InputMaybe>>; - rewardCut?: InputMaybe; - rewardCut_gt?: InputMaybe; - rewardCut_gte?: InputMaybe; - rewardCut_in?: InputMaybe>; - rewardCut_lt?: InputMaybe; - rewardCut_lte?: InputMaybe; - rewardCut_not?: InputMaybe; - rewardCut_not_in?: InputMaybe>; - round?: InputMaybe; - round_?: InputMaybe; - round_contains?: InputMaybe; - round_contains_nocase?: InputMaybe; - round_ends_with?: InputMaybe; - round_ends_with_nocase?: InputMaybe; - round_gt?: InputMaybe; - round_gte?: InputMaybe; - round_in?: InputMaybe>; - round_lt?: InputMaybe; - round_lte?: InputMaybe; - round_not?: InputMaybe; - round_not_contains?: InputMaybe; - round_not_contains_nocase?: InputMaybe; - round_not_ends_with?: InputMaybe; - round_not_ends_with_nocase?: InputMaybe; - round_not_in?: InputMaybe>; - round_not_starts_with?: InputMaybe; - round_not_starts_with_nocase?: InputMaybe; - round_starts_with?: InputMaybe; - round_starts_with_nocase?: InputMaybe; - timestamp?: InputMaybe; - timestamp_gt?: InputMaybe; - timestamp_gte?: InputMaybe; - timestamp_in?: InputMaybe>; - timestamp_lt?: InputMaybe; - timestamp_lte?: InputMaybe; - timestamp_not?: InputMaybe; - timestamp_not_in?: InputMaybe>; - transaction?: InputMaybe; - transaction_?: InputMaybe; - transaction_contains?: InputMaybe; - transaction_contains_nocase?: InputMaybe; - transaction_ends_with?: InputMaybe; - transaction_ends_with_nocase?: InputMaybe; - transaction_gt?: InputMaybe; - transaction_gte?: InputMaybe; - transaction_in?: InputMaybe>; - transaction_lt?: InputMaybe; - transaction_lte?: InputMaybe; - transaction_not?: InputMaybe; - transaction_not_contains?: InputMaybe; - transaction_not_contains_nocase?: InputMaybe; - transaction_not_ends_with?: InputMaybe; - transaction_not_ends_with_nocase?: InputMaybe; - transaction_not_in?: InputMaybe>; - transaction_not_starts_with?: InputMaybe; - transaction_not_starts_with_nocase?: InputMaybe; - transaction_starts_with?: InputMaybe; - transaction_starts_with_nocase?: InputMaybe; -}; - -export enum TranscoderUpdateEvent_OrderBy { - Delegate = 'delegate', - DelegateActivationRound = 'delegate__activationRound', - DelegateActivationTimestamp = 'delegate__activationTimestamp', - DelegateActive = 'delegate__active', - DelegateDeactivationRound = 'delegate__deactivationRound', - DelegateFeeShare = 'delegate__feeShare', - DelegateFeeShareUpdateTimestamp = 'delegate__feeShareUpdateTimestamp', - DelegateId = 'delegate__id', - DelegateLastActiveStakeUpdateRound = 'delegate__lastActiveStakeUpdateRound', - DelegateNinetyDayVolumeEth = 'delegate__ninetyDayVolumeETH', - DelegateRewardCaller = 'delegate__rewardCaller', - DelegateRewardCut = 'delegate__rewardCut', - DelegateRewardCutUpdateTimestamp = 'delegate__rewardCutUpdateTimestamp', - DelegateServiceUri = 'delegate__serviceURI', - DelegateSixtyDayVolumeEth = 'delegate__sixtyDayVolumeETH', - DelegateStatus = 'delegate__status', - DelegateThirtyDayVolumeEth = 'delegate__thirtyDayVolumeETH', - DelegateTotalStake = 'delegate__totalStake', - DelegateTotalVolumeEth = 'delegate__totalVolumeETH', - DelegateTotalVolumeUsd = 'delegate__totalVolumeUSD', - FeeShare = 'feeShare', - Id = 'id', - RewardCut = 'rewardCut', - Round = 'round', - RoundActiveTranscoderCount = 'round__activeTranscoderCount', - RoundDelegatorsCount = 'round__delegatorsCount', - RoundEndBlock = 'round__endBlock', - RoundId = 'round__id', - RoundInflation = 'round__inflation', - RoundInitialized = 'round__initialized', - RoundLength = 'round__length', - RoundMintableTokens = 'round__mintableTokens', - RoundMovedStake = 'round__movedStake', - RoundNewStake = 'round__newStake', - RoundNumActiveTranscoders = 'round__numActiveTranscoders', - RoundParticipationRate = 'round__participationRate', - RoundStartBlock = 'round__startBlock', - RoundStartTimestamp = 'round__startTimestamp', - RoundTotalActiveStake = 'round__totalActiveStake', - RoundTotalSupply = 'round__totalSupply', - RoundVolumeEth = 'round__volumeETH', - RoundVolumeUsd = 'round__volumeUSD', - Timestamp = 'timestamp', - Transaction = 'transaction', - TransactionBlockNumber = 'transaction__blockNumber', - TransactionFrom = 'transaction__from', - TransactionGasPrice = 'transaction__gasPrice', - TransactionGasUsed = 'transaction__gasUsed', - TransactionId = 'transaction__id', - TransactionTimestamp = 'transaction__timestamp', - TransactionTo = 'transaction__to' -} - -export type Transcoder_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - activationRound?: InputMaybe; - activationRound_gt?: InputMaybe; - activationRound_gte?: InputMaybe; - activationRound_in?: InputMaybe>; - activationRound_lt?: InputMaybe; - activationRound_lte?: InputMaybe; - activationRound_not?: InputMaybe; - activationRound_not_in?: InputMaybe>; - activationTimestamp?: InputMaybe; - activationTimestamp_gt?: InputMaybe; - activationTimestamp_gte?: InputMaybe; - activationTimestamp_in?: InputMaybe>; - activationTimestamp_lt?: InputMaybe; - activationTimestamp_lte?: InputMaybe; - activationTimestamp_not?: InputMaybe; - activationTimestamp_not_in?: InputMaybe>; - active?: InputMaybe; - active_in?: InputMaybe>; - active_not?: InputMaybe; - active_not_in?: InputMaybe>; - and?: InputMaybe>>; - deactivationRound?: InputMaybe; - deactivationRound_gt?: InputMaybe; - deactivationRound_gte?: InputMaybe; - deactivationRound_in?: InputMaybe>; - deactivationRound_lt?: InputMaybe; - deactivationRound_lte?: InputMaybe; - deactivationRound_not?: InputMaybe; - deactivationRound_not_in?: InputMaybe>; - delegator?: InputMaybe; - delegator_?: InputMaybe; - delegator_contains?: InputMaybe; - delegator_contains_nocase?: InputMaybe; - delegator_ends_with?: InputMaybe; - delegator_ends_with_nocase?: InputMaybe; - delegator_gt?: InputMaybe; - delegator_gte?: InputMaybe; - delegator_in?: InputMaybe>; - delegator_lt?: InputMaybe; - delegator_lte?: InputMaybe; - delegator_not?: InputMaybe; - delegator_not_contains?: InputMaybe; - delegator_not_contains_nocase?: InputMaybe; - delegator_not_ends_with?: InputMaybe; - delegator_not_ends_with_nocase?: InputMaybe; - delegator_not_in?: InputMaybe>; - delegator_not_starts_with?: InputMaybe; - delegator_not_starts_with_nocase?: InputMaybe; - delegator_starts_with?: InputMaybe; - delegator_starts_with_nocase?: InputMaybe; - delegators_?: InputMaybe; - feeShare?: InputMaybe; - feeShareUpdateTimestamp?: InputMaybe; - feeShareUpdateTimestamp_gt?: InputMaybe; - feeShareUpdateTimestamp_gte?: InputMaybe; - feeShareUpdateTimestamp_in?: InputMaybe>; - feeShareUpdateTimestamp_lt?: InputMaybe; - feeShareUpdateTimestamp_lte?: InputMaybe; - feeShareUpdateTimestamp_not?: InputMaybe; - feeShareUpdateTimestamp_not_in?: InputMaybe>; - feeShare_gt?: InputMaybe; - feeShare_gte?: InputMaybe; - feeShare_in?: InputMaybe>; - feeShare_lt?: InputMaybe; - feeShare_lte?: InputMaybe; - feeShare_not?: InputMaybe; - feeShare_not_in?: InputMaybe>; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - lastActiveStakeUpdateRound?: InputMaybe; - lastActiveStakeUpdateRound_gt?: InputMaybe; - lastActiveStakeUpdateRound_gte?: InputMaybe; - lastActiveStakeUpdateRound_in?: InputMaybe>; - lastActiveStakeUpdateRound_lt?: InputMaybe; - lastActiveStakeUpdateRound_lte?: InputMaybe; - lastActiveStakeUpdateRound_not?: InputMaybe; - lastActiveStakeUpdateRound_not_in?: InputMaybe>; - lastRewardRound?: InputMaybe; - lastRewardRound_?: InputMaybe; - lastRewardRound_contains?: InputMaybe; - lastRewardRound_contains_nocase?: InputMaybe; - lastRewardRound_ends_with?: InputMaybe; - lastRewardRound_ends_with_nocase?: InputMaybe; - lastRewardRound_gt?: InputMaybe; - lastRewardRound_gte?: InputMaybe; - lastRewardRound_in?: InputMaybe>; - lastRewardRound_lt?: InputMaybe; - lastRewardRound_lte?: InputMaybe; - lastRewardRound_not?: InputMaybe; - lastRewardRound_not_contains?: InputMaybe; - lastRewardRound_not_contains_nocase?: InputMaybe; - lastRewardRound_not_ends_with?: InputMaybe; - lastRewardRound_not_ends_with_nocase?: InputMaybe; - lastRewardRound_not_in?: InputMaybe>; - lastRewardRound_not_starts_with?: InputMaybe; - lastRewardRound_not_starts_with_nocase?: InputMaybe; - lastRewardRound_starts_with?: InputMaybe; - lastRewardRound_starts_with_nocase?: InputMaybe; - ninetyDayVolumeETH?: InputMaybe; - ninetyDayVolumeETH_gt?: InputMaybe; - ninetyDayVolumeETH_gte?: InputMaybe; - ninetyDayVolumeETH_in?: InputMaybe>; - ninetyDayVolumeETH_lt?: InputMaybe; - ninetyDayVolumeETH_lte?: InputMaybe; - ninetyDayVolumeETH_not?: InputMaybe; - ninetyDayVolumeETH_not_in?: InputMaybe>; - or?: InputMaybe>>; - pools_?: InputMaybe; - rewardCaller?: InputMaybe; - rewardCaller_contains?: InputMaybe; - rewardCaller_contains_nocase?: InputMaybe; - rewardCaller_ends_with?: InputMaybe; - rewardCaller_ends_with_nocase?: InputMaybe; - rewardCaller_gt?: InputMaybe; - rewardCaller_gte?: InputMaybe; - rewardCaller_in?: InputMaybe>; - rewardCaller_lt?: InputMaybe; - rewardCaller_lte?: InputMaybe; - rewardCaller_not?: InputMaybe; - rewardCaller_not_contains?: InputMaybe; - rewardCaller_not_contains_nocase?: InputMaybe; - rewardCaller_not_ends_with?: InputMaybe; - rewardCaller_not_ends_with_nocase?: InputMaybe; - rewardCaller_not_in?: InputMaybe>; - rewardCaller_not_starts_with?: InputMaybe; - rewardCaller_not_starts_with_nocase?: InputMaybe; - rewardCaller_starts_with?: InputMaybe; - rewardCaller_starts_with_nocase?: InputMaybe; - rewardCut?: InputMaybe; - rewardCutUpdateTimestamp?: InputMaybe; - rewardCutUpdateTimestamp_gt?: InputMaybe; - rewardCutUpdateTimestamp_gte?: InputMaybe; - rewardCutUpdateTimestamp_in?: InputMaybe>; - rewardCutUpdateTimestamp_lt?: InputMaybe; - rewardCutUpdateTimestamp_lte?: InputMaybe; - rewardCutUpdateTimestamp_not?: InputMaybe; - rewardCutUpdateTimestamp_not_in?: InputMaybe>; - rewardCut_gt?: InputMaybe; - rewardCut_gte?: InputMaybe; - rewardCut_in?: InputMaybe>; - rewardCut_lt?: InputMaybe; - rewardCut_lte?: InputMaybe; - rewardCut_not?: InputMaybe; - rewardCut_not_in?: InputMaybe>; - serviceURI?: InputMaybe; - serviceURI_contains?: InputMaybe; - serviceURI_contains_nocase?: InputMaybe; - serviceURI_ends_with?: InputMaybe; - serviceURI_ends_with_nocase?: InputMaybe; - serviceURI_gt?: InputMaybe; - serviceURI_gte?: InputMaybe; - serviceURI_in?: InputMaybe>; - serviceURI_lt?: InputMaybe; - serviceURI_lte?: InputMaybe; - serviceURI_not?: InputMaybe; - serviceURI_not_contains?: InputMaybe; - serviceURI_not_contains_nocase?: InputMaybe; - serviceURI_not_ends_with?: InputMaybe; - serviceURI_not_ends_with_nocase?: InputMaybe; - serviceURI_not_in?: InputMaybe>; - serviceURI_not_starts_with?: InputMaybe; - serviceURI_not_starts_with_nocase?: InputMaybe; - serviceURI_starts_with?: InputMaybe; - serviceURI_starts_with_nocase?: InputMaybe; - sixtyDayVolumeETH?: InputMaybe; - sixtyDayVolumeETH_gt?: InputMaybe; - sixtyDayVolumeETH_gte?: InputMaybe; - sixtyDayVolumeETH_in?: InputMaybe>; - sixtyDayVolumeETH_lt?: InputMaybe; - sixtyDayVolumeETH_lte?: InputMaybe; - sixtyDayVolumeETH_not?: InputMaybe; - sixtyDayVolumeETH_not_in?: InputMaybe>; - status?: InputMaybe; - status_in?: InputMaybe>; - status_not?: InputMaybe; - status_not_in?: InputMaybe>; - thirtyDayVolumeETH?: InputMaybe; - thirtyDayVolumeETH_gt?: InputMaybe; - thirtyDayVolumeETH_gte?: InputMaybe; - thirtyDayVolumeETH_in?: InputMaybe>; - thirtyDayVolumeETH_lt?: InputMaybe; - thirtyDayVolumeETH_lte?: InputMaybe; - thirtyDayVolumeETH_not?: InputMaybe; - thirtyDayVolumeETH_not_in?: InputMaybe>; - totalStake?: InputMaybe; - totalStake_gt?: InputMaybe; - totalStake_gte?: InputMaybe; - totalStake_in?: InputMaybe>; - totalStake_lt?: InputMaybe; - totalStake_lte?: InputMaybe; - totalStake_not?: InputMaybe; - totalStake_not_in?: InputMaybe>; - totalVolumeETH?: InputMaybe; - totalVolumeETH_gt?: InputMaybe; - totalVolumeETH_gte?: InputMaybe; - totalVolumeETH_in?: InputMaybe>; - totalVolumeETH_lt?: InputMaybe; - totalVolumeETH_lte?: InputMaybe; - totalVolumeETH_not?: InputMaybe; - totalVolumeETH_not_in?: InputMaybe>; - totalVolumeUSD?: InputMaybe; - totalVolumeUSD_gt?: InputMaybe; - totalVolumeUSD_gte?: InputMaybe; - totalVolumeUSD_in?: InputMaybe>; - totalVolumeUSD_lt?: InputMaybe; - totalVolumeUSD_lte?: InputMaybe; - totalVolumeUSD_not?: InputMaybe; - totalVolumeUSD_not_in?: InputMaybe>; - transcoderDays?: InputMaybe>; - transcoderDays_?: InputMaybe; - transcoderDays_contains?: InputMaybe>; - transcoderDays_contains_nocase?: InputMaybe>; - transcoderDays_not?: InputMaybe>; - transcoderDays_not_contains?: InputMaybe>; - transcoderDays_not_contains_nocase?: InputMaybe>; -}; - -export enum Transcoder_OrderBy { - ActivationRound = 'activationRound', - ActivationTimestamp = 'activationTimestamp', - Active = 'active', - DeactivationRound = 'deactivationRound', - Delegator = 'delegator', - DelegatorBondedAmount = 'delegator__bondedAmount', - DelegatorDelegatedAmount = 'delegator__delegatedAmount', - DelegatorFees = 'delegator__fees', - DelegatorId = 'delegator__id', - DelegatorPrincipal = 'delegator__principal', - DelegatorStartRound = 'delegator__startRound', - DelegatorUnbonded = 'delegator__unbonded', - DelegatorWithdrawnFees = 'delegator__withdrawnFees', - Delegators = 'delegators', - FeeShare = 'feeShare', - FeeShareUpdateTimestamp = 'feeShareUpdateTimestamp', - Id = 'id', - LastActiveStakeUpdateRound = 'lastActiveStakeUpdateRound', - LastRewardRound = 'lastRewardRound', - LastRewardRoundActiveTranscoderCount = 'lastRewardRound__activeTranscoderCount', - LastRewardRoundDelegatorsCount = 'lastRewardRound__delegatorsCount', - LastRewardRoundEndBlock = 'lastRewardRound__endBlock', - LastRewardRoundId = 'lastRewardRound__id', - LastRewardRoundInflation = 'lastRewardRound__inflation', - LastRewardRoundInitialized = 'lastRewardRound__initialized', - LastRewardRoundLength = 'lastRewardRound__length', - LastRewardRoundMintableTokens = 'lastRewardRound__mintableTokens', - LastRewardRoundMovedStake = 'lastRewardRound__movedStake', - LastRewardRoundNewStake = 'lastRewardRound__newStake', - LastRewardRoundNumActiveTranscoders = 'lastRewardRound__numActiveTranscoders', - LastRewardRoundParticipationRate = 'lastRewardRound__participationRate', - LastRewardRoundStartBlock = 'lastRewardRound__startBlock', - LastRewardRoundStartTimestamp = 'lastRewardRound__startTimestamp', - LastRewardRoundTotalActiveStake = 'lastRewardRound__totalActiveStake', - LastRewardRoundTotalSupply = 'lastRewardRound__totalSupply', - LastRewardRoundVolumeEth = 'lastRewardRound__volumeETH', - LastRewardRoundVolumeUsd = 'lastRewardRound__volumeUSD', - NinetyDayVolumeEth = 'ninetyDayVolumeETH', - Pools = 'pools', - RewardCaller = 'rewardCaller', - RewardCut = 'rewardCut', - RewardCutUpdateTimestamp = 'rewardCutUpdateTimestamp', - ServiceUri = 'serviceURI', - SixtyDayVolumeEth = 'sixtyDayVolumeETH', - Status = 'status', - ThirtyDayVolumeEth = 'thirtyDayVolumeETH', - TotalStake = 'totalStake', - TotalVolumeEth = 'totalVolumeETH', - TotalVolumeUsd = 'totalVolumeUSD', - TranscoderDays = 'transcoderDays' -} - -/** TransferBond entities are created for every emitted TransferBond event. */ -export type TransferBondEvent = Event & { - __typename: 'TransferBondEvent'; - amount: Scalars['BigDecimal']; - /** Ethereum transaction hash + event log index */ - id: Scalars['ID']; - newDelegator: Delegator; - newUnbondingLockId: Scalars['Int']; - oldDelegator: Delegator; - oldUnbondingLockId: Scalars['Int']; - /** Reference to the round the event occured in */ - round: Round; - /** Timestamp of the transaction the event was included in */ - timestamp: Scalars['Int']; - /** Reference to the transaction the event was included in */ - transaction: Transaction; -}; - -export type TransferBondEvent_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - amount?: InputMaybe; - amount_gt?: InputMaybe; - amount_gte?: InputMaybe; - amount_in?: InputMaybe>; - amount_lt?: InputMaybe; - amount_lte?: InputMaybe; - amount_not?: InputMaybe; - amount_not_in?: InputMaybe>; - and?: InputMaybe>>; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - newDelegator?: InputMaybe; - newDelegator_?: InputMaybe; - newDelegator_contains?: InputMaybe; - newDelegator_contains_nocase?: InputMaybe; - newDelegator_ends_with?: InputMaybe; - newDelegator_ends_with_nocase?: InputMaybe; - newDelegator_gt?: InputMaybe; - newDelegator_gte?: InputMaybe; - newDelegator_in?: InputMaybe>; - newDelegator_lt?: InputMaybe; - newDelegator_lte?: InputMaybe; - newDelegator_not?: InputMaybe; - newDelegator_not_contains?: InputMaybe; - newDelegator_not_contains_nocase?: InputMaybe; - newDelegator_not_ends_with?: InputMaybe; - newDelegator_not_ends_with_nocase?: InputMaybe; - newDelegator_not_in?: InputMaybe>; - newDelegator_not_starts_with?: InputMaybe; - newDelegator_not_starts_with_nocase?: InputMaybe; - newDelegator_starts_with?: InputMaybe; - newDelegator_starts_with_nocase?: InputMaybe; - newUnbondingLockId?: InputMaybe; - newUnbondingLockId_gt?: InputMaybe; - newUnbondingLockId_gte?: InputMaybe; - newUnbondingLockId_in?: InputMaybe>; - newUnbondingLockId_lt?: InputMaybe; - newUnbondingLockId_lte?: InputMaybe; - newUnbondingLockId_not?: InputMaybe; - newUnbondingLockId_not_in?: InputMaybe>; - oldDelegator?: InputMaybe; - oldDelegator_?: InputMaybe; - oldDelegator_contains?: InputMaybe; - oldDelegator_contains_nocase?: InputMaybe; - oldDelegator_ends_with?: InputMaybe; - oldDelegator_ends_with_nocase?: InputMaybe; - oldDelegator_gt?: InputMaybe; - oldDelegator_gte?: InputMaybe; - oldDelegator_in?: InputMaybe>; - oldDelegator_lt?: InputMaybe; - oldDelegator_lte?: InputMaybe; - oldDelegator_not?: InputMaybe; - oldDelegator_not_contains?: InputMaybe; - oldDelegator_not_contains_nocase?: InputMaybe; - oldDelegator_not_ends_with?: InputMaybe; - oldDelegator_not_ends_with_nocase?: InputMaybe; - oldDelegator_not_in?: InputMaybe>; - oldDelegator_not_starts_with?: InputMaybe; - oldDelegator_not_starts_with_nocase?: InputMaybe; - oldDelegator_starts_with?: InputMaybe; - oldDelegator_starts_with_nocase?: InputMaybe; - oldUnbondingLockId?: InputMaybe; - oldUnbondingLockId_gt?: InputMaybe; - oldUnbondingLockId_gte?: InputMaybe; - oldUnbondingLockId_in?: InputMaybe>; - oldUnbondingLockId_lt?: InputMaybe; - oldUnbondingLockId_lte?: InputMaybe; - oldUnbondingLockId_not?: InputMaybe; - oldUnbondingLockId_not_in?: InputMaybe>; - or?: InputMaybe>>; - round?: InputMaybe; - round_?: InputMaybe; - round_contains?: InputMaybe; - round_contains_nocase?: InputMaybe; - round_ends_with?: InputMaybe; - round_ends_with_nocase?: InputMaybe; - round_gt?: InputMaybe; - round_gte?: InputMaybe; - round_in?: InputMaybe>; - round_lt?: InputMaybe; - round_lte?: InputMaybe; - round_not?: InputMaybe; - round_not_contains?: InputMaybe; - round_not_contains_nocase?: InputMaybe; - round_not_ends_with?: InputMaybe; - round_not_ends_with_nocase?: InputMaybe; - round_not_in?: InputMaybe>; - round_not_starts_with?: InputMaybe; - round_not_starts_with_nocase?: InputMaybe; - round_starts_with?: InputMaybe; - round_starts_with_nocase?: InputMaybe; - timestamp?: InputMaybe; - timestamp_gt?: InputMaybe; - timestamp_gte?: InputMaybe; - timestamp_in?: InputMaybe>; - timestamp_lt?: InputMaybe; - timestamp_lte?: InputMaybe; - timestamp_not?: InputMaybe; - timestamp_not_in?: InputMaybe>; - transaction?: InputMaybe; - transaction_?: InputMaybe; - transaction_contains?: InputMaybe; - transaction_contains_nocase?: InputMaybe; - transaction_ends_with?: InputMaybe; - transaction_ends_with_nocase?: InputMaybe; - transaction_gt?: InputMaybe; - transaction_gte?: InputMaybe; - transaction_in?: InputMaybe>; - transaction_lt?: InputMaybe; - transaction_lte?: InputMaybe; - transaction_not?: InputMaybe; - transaction_not_contains?: InputMaybe; - transaction_not_contains_nocase?: InputMaybe; - transaction_not_ends_with?: InputMaybe; - transaction_not_ends_with_nocase?: InputMaybe; - transaction_not_in?: InputMaybe>; - transaction_not_starts_with?: InputMaybe; - transaction_not_starts_with_nocase?: InputMaybe; - transaction_starts_with?: InputMaybe; - transaction_starts_with_nocase?: InputMaybe; -}; - -export enum TransferBondEvent_OrderBy { - Amount = 'amount', - Id = 'id', - NewDelegator = 'newDelegator', - NewDelegatorBondedAmount = 'newDelegator__bondedAmount', - NewDelegatorDelegatedAmount = 'newDelegator__delegatedAmount', - NewDelegatorFees = 'newDelegator__fees', - NewDelegatorId = 'newDelegator__id', - NewDelegatorPrincipal = 'newDelegator__principal', - NewDelegatorStartRound = 'newDelegator__startRound', - NewDelegatorUnbonded = 'newDelegator__unbonded', - NewDelegatorWithdrawnFees = 'newDelegator__withdrawnFees', - NewUnbondingLockId = 'newUnbondingLockId', - OldDelegator = 'oldDelegator', - OldDelegatorBondedAmount = 'oldDelegator__bondedAmount', - OldDelegatorDelegatedAmount = 'oldDelegator__delegatedAmount', - OldDelegatorFees = 'oldDelegator__fees', - OldDelegatorId = 'oldDelegator__id', - OldDelegatorPrincipal = 'oldDelegator__principal', - OldDelegatorStartRound = 'oldDelegator__startRound', - OldDelegatorUnbonded = 'oldDelegator__unbonded', - OldDelegatorWithdrawnFees = 'oldDelegator__withdrawnFees', - OldUnbondingLockId = 'oldUnbondingLockId', - Round = 'round', - RoundActiveTranscoderCount = 'round__activeTranscoderCount', - RoundDelegatorsCount = 'round__delegatorsCount', - RoundEndBlock = 'round__endBlock', - RoundId = 'round__id', - RoundInflation = 'round__inflation', - RoundInitialized = 'round__initialized', - RoundLength = 'round__length', - RoundMintableTokens = 'round__mintableTokens', - RoundMovedStake = 'round__movedStake', - RoundNewStake = 'round__newStake', - RoundNumActiveTranscoders = 'round__numActiveTranscoders', - RoundParticipationRate = 'round__participationRate', - RoundStartBlock = 'round__startBlock', - RoundStartTimestamp = 'round__startTimestamp', - RoundTotalActiveStake = 'round__totalActiveStake', - RoundTotalSupply = 'round__totalSupply', - RoundVolumeEth = 'round__volumeETH', - RoundVolumeUsd = 'round__volumeUSD', - Timestamp = 'timestamp', - Transaction = 'transaction', - TransactionBlockNumber = 'transaction__blockNumber', - TransactionFrom = 'transaction__from', - TransactionGasPrice = 'transaction__gasPrice', - TransactionGasUsed = 'transaction__gasUsed', - TransactionId = 'transaction__id', - TransactionTimestamp = 'transaction__timestamp', - TransactionTo = 'transaction__to' -} - -/** Stake weighted treasury proposal */ -export type TreasuryProposal = { - __typename: 'TreasuryProposal'; - /** Total weight of abstaining votes */ - abstainVotes: Scalars['BigDecimal']; - /** Total weight of votes against */ - againstVotes: Scalars['BigDecimal']; - /** Functions to call on the targets on proposal execution */ - calldatas: Array; - /** Description of the proposal */ - description: Scalars['String']; - /** Total weight of votes in favor */ - forVotes: Scalars['BigDecimal']; - /** Governor proposal ID formatted as a decimal number */ - id: Scalars['ID']; - /** Account that created the proposal */ - proposer: LivepeerAccount; - /** Targets to be called on proposal execution */ - targets: Array; - /** Sum of all vote weights */ - totalVotes: Scalars['BigDecimal']; - /** Values to be passed to the targets on proposal execution */ - values: Array; - /** Round after which the proposal voting will end and, if approved, execution will be allowed */ - voteEnd: Scalars['BigInt']; - /** Round after which the proposal voting will begin */ - voteStart: Scalars['BigInt']; - /** Votes cast for this proposal */ - votes: Array; -}; - - -/** Stake weighted treasury proposal */ -export type TreasuryProposalVotesArgs = { - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; - skip?: InputMaybe; - where?: InputMaybe; -}; - -export type TreasuryProposal_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - abstainVotes?: InputMaybe; - abstainVotes_gt?: InputMaybe; - abstainVotes_gte?: InputMaybe; - abstainVotes_in?: InputMaybe>; - abstainVotes_lt?: InputMaybe; - abstainVotes_lte?: InputMaybe; - abstainVotes_not?: InputMaybe; - abstainVotes_not_in?: InputMaybe>; - againstVotes?: InputMaybe; - againstVotes_gt?: InputMaybe; - againstVotes_gte?: InputMaybe; - againstVotes_in?: InputMaybe>; - againstVotes_lt?: InputMaybe; - againstVotes_lte?: InputMaybe; - againstVotes_not?: InputMaybe; - againstVotes_not_in?: InputMaybe>; - and?: InputMaybe>>; - calldatas?: InputMaybe>; - calldatas_contains?: InputMaybe>; - calldatas_not?: InputMaybe>; - calldatas_not_contains?: InputMaybe>; - description?: InputMaybe; - description_contains?: InputMaybe; - description_contains_nocase?: InputMaybe; - description_ends_with?: InputMaybe; - description_ends_with_nocase?: InputMaybe; - description_gt?: InputMaybe; - description_gte?: InputMaybe; - description_in?: InputMaybe>; - description_lt?: InputMaybe; - description_lte?: InputMaybe; - description_not?: InputMaybe; - description_not_contains?: InputMaybe; - description_not_contains_nocase?: InputMaybe; - description_not_ends_with?: InputMaybe; - description_not_ends_with_nocase?: InputMaybe; - description_not_in?: InputMaybe>; - description_not_starts_with?: InputMaybe; - description_not_starts_with_nocase?: InputMaybe; - description_starts_with?: InputMaybe; - description_starts_with_nocase?: InputMaybe; - forVotes?: InputMaybe; - forVotes_gt?: InputMaybe; - forVotes_gte?: InputMaybe; - forVotes_in?: InputMaybe>; - forVotes_lt?: InputMaybe; - forVotes_lte?: InputMaybe; - forVotes_not?: InputMaybe; - forVotes_not_in?: InputMaybe>; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - or?: InputMaybe>>; - proposer?: InputMaybe; - proposer_?: InputMaybe; - proposer_contains?: InputMaybe; - proposer_contains_nocase?: InputMaybe; - proposer_ends_with?: InputMaybe; - proposer_ends_with_nocase?: InputMaybe; - proposer_gt?: InputMaybe; - proposer_gte?: InputMaybe; - proposer_in?: InputMaybe>; - proposer_lt?: InputMaybe; - proposer_lte?: InputMaybe; - proposer_not?: InputMaybe; - proposer_not_contains?: InputMaybe; - proposer_not_contains_nocase?: InputMaybe; - proposer_not_ends_with?: InputMaybe; - proposer_not_ends_with_nocase?: InputMaybe; - proposer_not_in?: InputMaybe>; - proposer_not_starts_with?: InputMaybe; - proposer_not_starts_with_nocase?: InputMaybe; - proposer_starts_with?: InputMaybe; - proposer_starts_with_nocase?: InputMaybe; - targets?: InputMaybe>; - targets_contains?: InputMaybe>; - targets_contains_nocase?: InputMaybe>; - targets_not?: InputMaybe>; - targets_not_contains?: InputMaybe>; - targets_not_contains_nocase?: InputMaybe>; - totalVotes?: InputMaybe; - totalVotes_gt?: InputMaybe; - totalVotes_gte?: InputMaybe; - totalVotes_in?: InputMaybe>; - totalVotes_lt?: InputMaybe; - totalVotes_lte?: InputMaybe; - totalVotes_not?: InputMaybe; - totalVotes_not_in?: InputMaybe>; - values?: InputMaybe>; - values_contains?: InputMaybe>; - values_not?: InputMaybe>; - values_not_contains?: InputMaybe>; - voteEnd?: InputMaybe; - voteEnd_gt?: InputMaybe; - voteEnd_gte?: InputMaybe; - voteEnd_in?: InputMaybe>; - voteEnd_lt?: InputMaybe; - voteEnd_lte?: InputMaybe; - voteEnd_not?: InputMaybe; - voteEnd_not_in?: InputMaybe>; - voteStart?: InputMaybe; - voteStart_gt?: InputMaybe; - voteStart_gte?: InputMaybe; - voteStart_in?: InputMaybe>; - voteStart_lt?: InputMaybe; - voteStart_lte?: InputMaybe; - voteStart_not?: InputMaybe; - voteStart_not_in?: InputMaybe>; - votes_?: InputMaybe; -}; - -export enum TreasuryProposal_OrderBy { - AbstainVotes = 'abstainVotes', - AgainstVotes = 'againstVotes', - Calldatas = 'calldatas', - Description = 'description', - ForVotes = 'forVotes', - Id = 'id', - Proposer = 'proposer', - ProposerId = 'proposer__id', - ProposerLastUpdatedTimestamp = 'proposer__lastUpdatedTimestamp', - Targets = 'targets', - TotalVotes = 'totalVotes', - Values = 'values', - VoteEnd = 'voteEnd', - VoteStart = 'voteStart', - Votes = 'votes' -} - -/** Stake weighted vote on a treasury proposal */ -export type TreasuryVote = { - __typename: 'TreasuryVote'; - /** Proposal ID + voter address */ - id: Scalars['ID']; - /** The proposal that was voted on */ - proposal: TreasuryProposal; - /** Optional reason string provided by the voter */ - reason?: Maybe; - /** The voter's position */ - support: TreasuryVoteSupport; - /** Account that cast the vote */ - voter: LivepeerAccount; - /** Stake-weighted voting power */ - weight: Scalars['BigDecimal']; -}; - -/** TreasuryVoteEvent entities are created for every emitted VoteCast/VoteCastWithParams event. */ -export type TreasuryVoteEvent = Event & { - __typename: 'TreasuryVoteEvent'; - /** Ethereum transaction hash + event log index */ - id: Scalars['ID']; - /** Proposal that the vote was cast for */ - proposal: TreasuryProposal; - /** Optional reason string provided by the voter */ - reason?: Maybe; - /** Reference to the round the event occured in */ - round: Round; - /** The voter's position */ - support: TreasuryVoteSupport; - /** Timestamp of the transaction the event was included in */ - timestamp: Scalars['Int']; - /** Reference to the transaction the event was included in */ - transaction: Transaction; - /** Account that cast the vote */ - voter: LivepeerAccount; - /** Stake-weighted voting power */ - weight: Scalars['BigDecimal']; -}; - -export type TreasuryVoteEvent_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - and?: InputMaybe>>; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - or?: InputMaybe>>; - proposal?: InputMaybe; - proposal_?: InputMaybe; - proposal_contains?: InputMaybe; - proposal_contains_nocase?: InputMaybe; - proposal_ends_with?: InputMaybe; - proposal_ends_with_nocase?: InputMaybe; - proposal_gt?: InputMaybe; - proposal_gte?: InputMaybe; - proposal_in?: InputMaybe>; - proposal_lt?: InputMaybe; - proposal_lte?: InputMaybe; - proposal_not?: InputMaybe; - proposal_not_contains?: InputMaybe; - proposal_not_contains_nocase?: InputMaybe; - proposal_not_ends_with?: InputMaybe; - proposal_not_ends_with_nocase?: InputMaybe; - proposal_not_in?: InputMaybe>; - proposal_not_starts_with?: InputMaybe; - proposal_not_starts_with_nocase?: InputMaybe; - proposal_starts_with?: InputMaybe; - proposal_starts_with_nocase?: InputMaybe; - reason?: InputMaybe; - reason_contains?: InputMaybe; - reason_contains_nocase?: InputMaybe; - reason_ends_with?: InputMaybe; - reason_ends_with_nocase?: InputMaybe; - reason_gt?: InputMaybe; - reason_gte?: InputMaybe; - reason_in?: InputMaybe>; - reason_lt?: InputMaybe; - reason_lte?: InputMaybe; - reason_not?: InputMaybe; - reason_not_contains?: InputMaybe; - reason_not_contains_nocase?: InputMaybe; - reason_not_ends_with?: InputMaybe; - reason_not_ends_with_nocase?: InputMaybe; - reason_not_in?: InputMaybe>; - reason_not_starts_with?: InputMaybe; - reason_not_starts_with_nocase?: InputMaybe; - reason_starts_with?: InputMaybe; - reason_starts_with_nocase?: InputMaybe; - round?: InputMaybe; - round_?: InputMaybe; - round_contains?: InputMaybe; - round_contains_nocase?: InputMaybe; - round_ends_with?: InputMaybe; - round_ends_with_nocase?: InputMaybe; - round_gt?: InputMaybe; - round_gte?: InputMaybe; - round_in?: InputMaybe>; - round_lt?: InputMaybe; - round_lte?: InputMaybe; - round_not?: InputMaybe; - round_not_contains?: InputMaybe; - round_not_contains_nocase?: InputMaybe; - round_not_ends_with?: InputMaybe; - round_not_ends_with_nocase?: InputMaybe; - round_not_in?: InputMaybe>; - round_not_starts_with?: InputMaybe; - round_not_starts_with_nocase?: InputMaybe; - round_starts_with?: InputMaybe; - round_starts_with_nocase?: InputMaybe; - support?: InputMaybe; - support_in?: InputMaybe>; - support_not?: InputMaybe; - support_not_in?: InputMaybe>; - timestamp?: InputMaybe; - timestamp_gt?: InputMaybe; - timestamp_gte?: InputMaybe; - timestamp_in?: InputMaybe>; - timestamp_lt?: InputMaybe; - timestamp_lte?: InputMaybe; - timestamp_not?: InputMaybe; - timestamp_not_in?: InputMaybe>; - transaction?: InputMaybe; - transaction_?: InputMaybe; - transaction_contains?: InputMaybe; - transaction_contains_nocase?: InputMaybe; - transaction_ends_with?: InputMaybe; - transaction_ends_with_nocase?: InputMaybe; - transaction_gt?: InputMaybe; - transaction_gte?: InputMaybe; - transaction_in?: InputMaybe>; - transaction_lt?: InputMaybe; - transaction_lte?: InputMaybe; - transaction_not?: InputMaybe; - transaction_not_contains?: InputMaybe; - transaction_not_contains_nocase?: InputMaybe; - transaction_not_ends_with?: InputMaybe; - transaction_not_ends_with_nocase?: InputMaybe; - transaction_not_in?: InputMaybe>; - transaction_not_starts_with?: InputMaybe; - transaction_not_starts_with_nocase?: InputMaybe; - transaction_starts_with?: InputMaybe; - transaction_starts_with_nocase?: InputMaybe; - voter?: InputMaybe; - voter_?: InputMaybe; - voter_contains?: InputMaybe; - voter_contains_nocase?: InputMaybe; - voter_ends_with?: InputMaybe; - voter_ends_with_nocase?: InputMaybe; - voter_gt?: InputMaybe; - voter_gte?: InputMaybe; - voter_in?: InputMaybe>; - voter_lt?: InputMaybe; - voter_lte?: InputMaybe; - voter_not?: InputMaybe; - voter_not_contains?: InputMaybe; - voter_not_contains_nocase?: InputMaybe; - voter_not_ends_with?: InputMaybe; - voter_not_ends_with_nocase?: InputMaybe; - voter_not_in?: InputMaybe>; - voter_not_starts_with?: InputMaybe; - voter_not_starts_with_nocase?: InputMaybe; - voter_starts_with?: InputMaybe; - voter_starts_with_nocase?: InputMaybe; - weight?: InputMaybe; - weight_gt?: InputMaybe; - weight_gte?: InputMaybe; - weight_in?: InputMaybe>; - weight_lt?: InputMaybe; - weight_lte?: InputMaybe; - weight_not?: InputMaybe; - weight_not_in?: InputMaybe>; -}; - -export enum TreasuryVoteEvent_OrderBy { - Id = 'id', - Proposal = 'proposal', - ProposalAbstainVotes = 'proposal__abstainVotes', - ProposalAgainstVotes = 'proposal__againstVotes', - ProposalDescription = 'proposal__description', - ProposalForVotes = 'proposal__forVotes', - ProposalId = 'proposal__id', - ProposalTotalVotes = 'proposal__totalVotes', - ProposalVoteEnd = 'proposal__voteEnd', - ProposalVoteStart = 'proposal__voteStart', - Reason = 'reason', - Round = 'round', - RoundActiveTranscoderCount = 'round__activeTranscoderCount', - RoundDelegatorsCount = 'round__delegatorsCount', - RoundEndBlock = 'round__endBlock', - RoundId = 'round__id', - RoundInflation = 'round__inflation', - RoundInitialized = 'round__initialized', - RoundLength = 'round__length', - RoundMintableTokens = 'round__mintableTokens', - RoundMovedStake = 'round__movedStake', - RoundNewStake = 'round__newStake', - RoundNumActiveTranscoders = 'round__numActiveTranscoders', - RoundParticipationRate = 'round__participationRate', - RoundStartBlock = 'round__startBlock', - RoundStartTimestamp = 'round__startTimestamp', - RoundTotalActiveStake = 'round__totalActiveStake', - RoundTotalSupply = 'round__totalSupply', - RoundVolumeEth = 'round__volumeETH', - RoundVolumeUsd = 'round__volumeUSD', - Support = 'support', - Timestamp = 'timestamp', - Transaction = 'transaction', - TransactionBlockNumber = 'transaction__blockNumber', - TransactionFrom = 'transaction__from', - TransactionGasPrice = 'transaction__gasPrice', - TransactionGasUsed = 'transaction__gasUsed', - TransactionId = 'transaction__id', - TransactionTimestamp = 'transaction__timestamp', - TransactionTo = 'transaction__to', - Voter = 'voter', - VoterId = 'voter__id', - VoterLastUpdatedTimestamp = 'voter__lastUpdatedTimestamp', - Weight = 'weight' -} - -export enum TreasuryVoteSupport { - Abstain = 'Abstain', - Against = 'Against', - For = 'For' -} - -export type TreasuryVote_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - and?: InputMaybe>>; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - or?: InputMaybe>>; - proposal?: InputMaybe; - proposal_?: InputMaybe; - proposal_contains?: InputMaybe; - proposal_contains_nocase?: InputMaybe; - proposal_ends_with?: InputMaybe; - proposal_ends_with_nocase?: InputMaybe; - proposal_gt?: InputMaybe; - proposal_gte?: InputMaybe; - proposal_in?: InputMaybe>; - proposal_lt?: InputMaybe; - proposal_lte?: InputMaybe; - proposal_not?: InputMaybe; - proposal_not_contains?: InputMaybe; - proposal_not_contains_nocase?: InputMaybe; - proposal_not_ends_with?: InputMaybe; - proposal_not_ends_with_nocase?: InputMaybe; - proposal_not_in?: InputMaybe>; - proposal_not_starts_with?: InputMaybe; - proposal_not_starts_with_nocase?: InputMaybe; - proposal_starts_with?: InputMaybe; - proposal_starts_with_nocase?: InputMaybe; - reason?: InputMaybe; - reason_contains?: InputMaybe; - reason_contains_nocase?: InputMaybe; - reason_ends_with?: InputMaybe; - reason_ends_with_nocase?: InputMaybe; - reason_gt?: InputMaybe; - reason_gte?: InputMaybe; - reason_in?: InputMaybe>; - reason_lt?: InputMaybe; - reason_lte?: InputMaybe; - reason_not?: InputMaybe; - reason_not_contains?: InputMaybe; - reason_not_contains_nocase?: InputMaybe; - reason_not_ends_with?: InputMaybe; - reason_not_ends_with_nocase?: InputMaybe; - reason_not_in?: InputMaybe>; - reason_not_starts_with?: InputMaybe; - reason_not_starts_with_nocase?: InputMaybe; - reason_starts_with?: InputMaybe; - reason_starts_with_nocase?: InputMaybe; - support?: InputMaybe; - support_in?: InputMaybe>; - support_not?: InputMaybe; - support_not_in?: InputMaybe>; - voter?: InputMaybe; - voter_?: InputMaybe; - voter_contains?: InputMaybe; - voter_contains_nocase?: InputMaybe; - voter_ends_with?: InputMaybe; - voter_ends_with_nocase?: InputMaybe; - voter_gt?: InputMaybe; - voter_gte?: InputMaybe; - voter_in?: InputMaybe>; - voter_lt?: InputMaybe; - voter_lte?: InputMaybe; - voter_not?: InputMaybe; - voter_not_contains?: InputMaybe; - voter_not_contains_nocase?: InputMaybe; - voter_not_ends_with?: InputMaybe; - voter_not_ends_with_nocase?: InputMaybe; - voter_not_in?: InputMaybe>; - voter_not_starts_with?: InputMaybe; - voter_not_starts_with_nocase?: InputMaybe; - voter_starts_with?: InputMaybe; - voter_starts_with_nocase?: InputMaybe; - weight?: InputMaybe; - weight_gt?: InputMaybe; - weight_gte?: InputMaybe; - weight_in?: InputMaybe>; - weight_lt?: InputMaybe; - weight_lte?: InputMaybe; - weight_not?: InputMaybe; - weight_not_in?: InputMaybe>; -}; - -export enum TreasuryVote_OrderBy { - Id = 'id', - Proposal = 'proposal', - ProposalAbstainVotes = 'proposal__abstainVotes', - ProposalAgainstVotes = 'proposal__againstVotes', - ProposalDescription = 'proposal__description', - ProposalForVotes = 'proposal__forVotes', - ProposalId = 'proposal__id', - ProposalTotalVotes = 'proposal__totalVotes', - ProposalVoteEnd = 'proposal__voteEnd', - ProposalVoteStart = 'proposal__voteStart', - Reason = 'reason', - Support = 'support', - Voter = 'voter', - VoterId = 'voter__id', - VoterLastUpdatedTimestamp = 'voter__lastUpdatedTimestamp', - Weight = 'weight' -} - -/** UnbondEvent entities are created for every emitted Unbond event. */ -export type UnbondEvent = Event & { - __typename: 'UnbondEvent'; - /** Amount unbonded in the transaction */ - amount: Scalars['BigDecimal']; - /** Reference to the delegate unbonded from */ - delegate: Transcoder; - /** Reference to the Delegator that unbonded */ - delegator: Delegator; - /** Ethereum transaction hash + event log index */ - id: Scalars['ID']; - /** Reference to the round the event occured in */ - round: Round; - /** Timestamp of the transaction the event was included in */ - timestamp: Scalars['Int']; - /** Reference to the transaction the event was included in */ - transaction: Transaction; - /** The unbonding lock ID associated with this transaction, used to optionally rebond the amount */ - unbondingLockId?: Maybe; - /** The future round in which the Delegator may withdraw its unbonded stake */ - withdrawRound: Scalars['BigInt']; -}; - -export type UnbondEvent_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - amount?: InputMaybe; - amount_gt?: InputMaybe; - amount_gte?: InputMaybe; - amount_in?: InputMaybe>; - amount_lt?: InputMaybe; - amount_lte?: InputMaybe; - amount_not?: InputMaybe; - amount_not_in?: InputMaybe>; - and?: InputMaybe>>; - delegate?: InputMaybe; - delegate_?: InputMaybe; - delegate_contains?: InputMaybe; - delegate_contains_nocase?: InputMaybe; - delegate_ends_with?: InputMaybe; - delegate_ends_with_nocase?: InputMaybe; - delegate_gt?: InputMaybe; - delegate_gte?: InputMaybe; - delegate_in?: InputMaybe>; - delegate_lt?: InputMaybe; - delegate_lte?: InputMaybe; - delegate_not?: InputMaybe; - delegate_not_contains?: InputMaybe; - delegate_not_contains_nocase?: InputMaybe; - delegate_not_ends_with?: InputMaybe; - delegate_not_ends_with_nocase?: InputMaybe; - delegate_not_in?: InputMaybe>; - delegate_not_starts_with?: InputMaybe; - delegate_not_starts_with_nocase?: InputMaybe; - delegate_starts_with?: InputMaybe; - delegate_starts_with_nocase?: InputMaybe; - delegator?: InputMaybe; - delegator_?: InputMaybe; - delegator_contains?: InputMaybe; - delegator_contains_nocase?: InputMaybe; - delegator_ends_with?: InputMaybe; - delegator_ends_with_nocase?: InputMaybe; - delegator_gt?: InputMaybe; - delegator_gte?: InputMaybe; - delegator_in?: InputMaybe>; - delegator_lt?: InputMaybe; - delegator_lte?: InputMaybe; - delegator_not?: InputMaybe; - delegator_not_contains?: InputMaybe; - delegator_not_contains_nocase?: InputMaybe; - delegator_not_ends_with?: InputMaybe; - delegator_not_ends_with_nocase?: InputMaybe; - delegator_not_in?: InputMaybe>; - delegator_not_starts_with?: InputMaybe; - delegator_not_starts_with_nocase?: InputMaybe; - delegator_starts_with?: InputMaybe; - delegator_starts_with_nocase?: InputMaybe; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - or?: InputMaybe>>; - round?: InputMaybe; - round_?: InputMaybe; - round_contains?: InputMaybe; - round_contains_nocase?: InputMaybe; - round_ends_with?: InputMaybe; - round_ends_with_nocase?: InputMaybe; - round_gt?: InputMaybe; - round_gte?: InputMaybe; - round_in?: InputMaybe>; - round_lt?: InputMaybe; - round_lte?: InputMaybe; - round_not?: InputMaybe; - round_not_contains?: InputMaybe; - round_not_contains_nocase?: InputMaybe; - round_not_ends_with?: InputMaybe; - round_not_ends_with_nocase?: InputMaybe; - round_not_in?: InputMaybe>; - round_not_starts_with?: InputMaybe; - round_not_starts_with_nocase?: InputMaybe; - round_starts_with?: InputMaybe; - round_starts_with_nocase?: InputMaybe; - timestamp?: InputMaybe; - timestamp_gt?: InputMaybe; - timestamp_gte?: InputMaybe; - timestamp_in?: InputMaybe>; - timestamp_lt?: InputMaybe; - timestamp_lte?: InputMaybe; - timestamp_not?: InputMaybe; - timestamp_not_in?: InputMaybe>; - transaction?: InputMaybe; - transaction_?: InputMaybe; - transaction_contains?: InputMaybe; - transaction_contains_nocase?: InputMaybe; - transaction_ends_with?: InputMaybe; - transaction_ends_with_nocase?: InputMaybe; - transaction_gt?: InputMaybe; - transaction_gte?: InputMaybe; - transaction_in?: InputMaybe>; - transaction_lt?: InputMaybe; - transaction_lte?: InputMaybe; - transaction_not?: InputMaybe; - transaction_not_contains?: InputMaybe; - transaction_not_contains_nocase?: InputMaybe; - transaction_not_ends_with?: InputMaybe; - transaction_not_ends_with_nocase?: InputMaybe; - transaction_not_in?: InputMaybe>; - transaction_not_starts_with?: InputMaybe; - transaction_not_starts_with_nocase?: InputMaybe; - transaction_starts_with?: InputMaybe; - transaction_starts_with_nocase?: InputMaybe; - unbondingLockId?: InputMaybe; - unbondingLockId_gt?: InputMaybe; - unbondingLockId_gte?: InputMaybe; - unbondingLockId_in?: InputMaybe>; - unbondingLockId_lt?: InputMaybe; - unbondingLockId_lte?: InputMaybe; - unbondingLockId_not?: InputMaybe; - unbondingLockId_not_in?: InputMaybe>; - withdrawRound?: InputMaybe; - withdrawRound_gt?: InputMaybe; - withdrawRound_gte?: InputMaybe; - withdrawRound_in?: InputMaybe>; - withdrawRound_lt?: InputMaybe; - withdrawRound_lte?: InputMaybe; - withdrawRound_not?: InputMaybe; - withdrawRound_not_in?: InputMaybe>; -}; - -export enum UnbondEvent_OrderBy { - Amount = 'amount', - Delegate = 'delegate', - DelegateActivationRound = 'delegate__activationRound', - DelegateActivationTimestamp = 'delegate__activationTimestamp', - DelegateActive = 'delegate__active', - DelegateDeactivationRound = 'delegate__deactivationRound', - DelegateFeeShare = 'delegate__feeShare', - DelegateFeeShareUpdateTimestamp = 'delegate__feeShareUpdateTimestamp', - DelegateId = 'delegate__id', - DelegateLastActiveStakeUpdateRound = 'delegate__lastActiveStakeUpdateRound', - DelegateNinetyDayVolumeEth = 'delegate__ninetyDayVolumeETH', - DelegateRewardCaller = 'delegate__rewardCaller', - DelegateRewardCut = 'delegate__rewardCut', - DelegateRewardCutUpdateTimestamp = 'delegate__rewardCutUpdateTimestamp', - DelegateServiceUri = 'delegate__serviceURI', - DelegateSixtyDayVolumeEth = 'delegate__sixtyDayVolumeETH', - DelegateStatus = 'delegate__status', - DelegateThirtyDayVolumeEth = 'delegate__thirtyDayVolumeETH', - DelegateTotalStake = 'delegate__totalStake', - DelegateTotalVolumeEth = 'delegate__totalVolumeETH', - DelegateTotalVolumeUsd = 'delegate__totalVolumeUSD', - Delegator = 'delegator', - DelegatorBondedAmount = 'delegator__bondedAmount', - DelegatorDelegatedAmount = 'delegator__delegatedAmount', - DelegatorFees = 'delegator__fees', - DelegatorId = 'delegator__id', - DelegatorPrincipal = 'delegator__principal', - DelegatorStartRound = 'delegator__startRound', - DelegatorUnbonded = 'delegator__unbonded', - DelegatorWithdrawnFees = 'delegator__withdrawnFees', - Id = 'id', - Round = 'round', - RoundActiveTranscoderCount = 'round__activeTranscoderCount', - RoundDelegatorsCount = 'round__delegatorsCount', - RoundEndBlock = 'round__endBlock', - RoundId = 'round__id', - RoundInflation = 'round__inflation', - RoundInitialized = 'round__initialized', - RoundLength = 'round__length', - RoundMintableTokens = 'round__mintableTokens', - RoundMovedStake = 'round__movedStake', - RoundNewStake = 'round__newStake', - RoundNumActiveTranscoders = 'round__numActiveTranscoders', - RoundParticipationRate = 'round__participationRate', - RoundStartBlock = 'round__startBlock', - RoundStartTimestamp = 'round__startTimestamp', - RoundTotalActiveStake = 'round__totalActiveStake', - RoundTotalSupply = 'round__totalSupply', - RoundVolumeEth = 'round__volumeETH', - RoundVolumeUsd = 'round__volumeUSD', - Timestamp = 'timestamp', - Transaction = 'transaction', - TransactionBlockNumber = 'transaction__blockNumber', - TransactionFrom = 'transaction__from', - TransactionGasPrice = 'transaction__gasPrice', - TransactionGasUsed = 'transaction__gasUsed', - TransactionId = 'transaction__id', - TransactionTimestamp = 'transaction__timestamp', - TransactionTo = 'transaction__to', - UnbondingLockId = 'unbondingLockId', - WithdrawRound = 'withdrawRound' -} - -/** Get an unbonding lock for a delegator */ -export type UnbondingLock = { - __typename: 'UnbondingLock'; - /** Amount being unbonded */ - amount: Scalars['BigDecimal']; - /** Address of delegate unbonding from */ - delegate: Transcoder; - /** Delegator address this lock belongs to */ - delegator: Delegator; - /** Unique unlock identifer */ - id: Scalars['ID']; - /** Account that initiates the transaction that creates the unbonding lock */ - sender: Scalars['String']; - /** unbonding lock id */ - unbondingLockId: Scalars['Int']; - /** Round number when the unbonding amount will be available for withdrawal */ - withdrawRound: Scalars['BigInt']; -}; - -export type UnbondingLock_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - amount?: InputMaybe; - amount_gt?: InputMaybe; - amount_gte?: InputMaybe; - amount_in?: InputMaybe>; - amount_lt?: InputMaybe; - amount_lte?: InputMaybe; - amount_not?: InputMaybe; - amount_not_in?: InputMaybe>; - and?: InputMaybe>>; - delegate?: InputMaybe; - delegate_?: InputMaybe; - delegate_contains?: InputMaybe; - delegate_contains_nocase?: InputMaybe; - delegate_ends_with?: InputMaybe; - delegate_ends_with_nocase?: InputMaybe; - delegate_gt?: InputMaybe; - delegate_gte?: InputMaybe; - delegate_in?: InputMaybe>; - delegate_lt?: InputMaybe; - delegate_lte?: InputMaybe; - delegate_not?: InputMaybe; - delegate_not_contains?: InputMaybe; - delegate_not_contains_nocase?: InputMaybe; - delegate_not_ends_with?: InputMaybe; - delegate_not_ends_with_nocase?: InputMaybe; - delegate_not_in?: InputMaybe>; - delegate_not_starts_with?: InputMaybe; - delegate_not_starts_with_nocase?: InputMaybe; - delegate_starts_with?: InputMaybe; - delegate_starts_with_nocase?: InputMaybe; - delegator?: InputMaybe; - delegator_?: InputMaybe; - delegator_contains?: InputMaybe; - delegator_contains_nocase?: InputMaybe; - delegator_ends_with?: InputMaybe; - delegator_ends_with_nocase?: InputMaybe; - delegator_gt?: InputMaybe; - delegator_gte?: InputMaybe; - delegator_in?: InputMaybe>; - delegator_lt?: InputMaybe; - delegator_lte?: InputMaybe; - delegator_not?: InputMaybe; - delegator_not_contains?: InputMaybe; - delegator_not_contains_nocase?: InputMaybe; - delegator_not_ends_with?: InputMaybe; - delegator_not_ends_with_nocase?: InputMaybe; - delegator_not_in?: InputMaybe>; - delegator_not_starts_with?: InputMaybe; - delegator_not_starts_with_nocase?: InputMaybe; - delegator_starts_with?: InputMaybe; - delegator_starts_with_nocase?: InputMaybe; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - or?: InputMaybe>>; - sender?: InputMaybe; - sender_contains?: InputMaybe; - sender_contains_nocase?: InputMaybe; - sender_ends_with?: InputMaybe; - sender_ends_with_nocase?: InputMaybe; - sender_gt?: InputMaybe; - sender_gte?: InputMaybe; - sender_in?: InputMaybe>; - sender_lt?: InputMaybe; - sender_lte?: InputMaybe; - sender_not?: InputMaybe; - sender_not_contains?: InputMaybe; - sender_not_contains_nocase?: InputMaybe; - sender_not_ends_with?: InputMaybe; - sender_not_ends_with_nocase?: InputMaybe; - sender_not_in?: InputMaybe>; - sender_not_starts_with?: InputMaybe; - sender_not_starts_with_nocase?: InputMaybe; - sender_starts_with?: InputMaybe; - sender_starts_with_nocase?: InputMaybe; - unbondingLockId?: InputMaybe; - unbondingLockId_gt?: InputMaybe; - unbondingLockId_gte?: InputMaybe; - unbondingLockId_in?: InputMaybe>; - unbondingLockId_lt?: InputMaybe; - unbondingLockId_lte?: InputMaybe; - unbondingLockId_not?: InputMaybe; - unbondingLockId_not_in?: InputMaybe>; - withdrawRound?: InputMaybe; - withdrawRound_gt?: InputMaybe; - withdrawRound_gte?: InputMaybe; - withdrawRound_in?: InputMaybe>; - withdrawRound_lt?: InputMaybe; - withdrawRound_lte?: InputMaybe; - withdrawRound_not?: InputMaybe; - withdrawRound_not_in?: InputMaybe>; -}; - -export enum UnbondingLock_OrderBy { - Amount = 'amount', - Delegate = 'delegate', - DelegateActivationRound = 'delegate__activationRound', - DelegateActivationTimestamp = 'delegate__activationTimestamp', - DelegateActive = 'delegate__active', - DelegateDeactivationRound = 'delegate__deactivationRound', - DelegateFeeShare = 'delegate__feeShare', - DelegateFeeShareUpdateTimestamp = 'delegate__feeShareUpdateTimestamp', - DelegateId = 'delegate__id', - DelegateLastActiveStakeUpdateRound = 'delegate__lastActiveStakeUpdateRound', - DelegateNinetyDayVolumeEth = 'delegate__ninetyDayVolumeETH', - DelegateRewardCaller = 'delegate__rewardCaller', - DelegateRewardCut = 'delegate__rewardCut', - DelegateRewardCutUpdateTimestamp = 'delegate__rewardCutUpdateTimestamp', - DelegateServiceUri = 'delegate__serviceURI', - DelegateSixtyDayVolumeEth = 'delegate__sixtyDayVolumeETH', - DelegateStatus = 'delegate__status', - DelegateThirtyDayVolumeEth = 'delegate__thirtyDayVolumeETH', - DelegateTotalStake = 'delegate__totalStake', - DelegateTotalVolumeEth = 'delegate__totalVolumeETH', - DelegateTotalVolumeUsd = 'delegate__totalVolumeUSD', - Delegator = 'delegator', - DelegatorBondedAmount = 'delegator__bondedAmount', - DelegatorDelegatedAmount = 'delegator__delegatedAmount', - DelegatorFees = 'delegator__fees', - DelegatorId = 'delegator__id', - DelegatorPrincipal = 'delegator__principal', - DelegatorStartRound = 'delegator__startRound', - DelegatorUnbonded = 'delegator__unbonded', - DelegatorWithdrawnFees = 'delegator__withdrawnFees', - Id = 'id', - Sender = 'sender', - UnbondingLockId = 'unbondingLockId', - WithdrawRound = 'withdrawRound' -} - -/** UnpauseEvent entities are created for every emitted Unpause event. */ -export type UnpauseEvent = Event & { - __typename: 'UnpauseEvent'; - /** Ethereum transaction hash + event log index */ - id: Scalars['ID']; - /** Reference to the round the event occured in */ - round: Round; - /** Timestamp of the transaction the event was included in */ - timestamp: Scalars['Int']; - /** Reference to the transaction the event was included in */ - transaction: Transaction; -}; - -export type UnpauseEvent_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - and?: InputMaybe>>; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - or?: InputMaybe>>; - round?: InputMaybe; - round_?: InputMaybe; - round_contains?: InputMaybe; - round_contains_nocase?: InputMaybe; - round_ends_with?: InputMaybe; - round_ends_with_nocase?: InputMaybe; - round_gt?: InputMaybe; - round_gte?: InputMaybe; - round_in?: InputMaybe>; - round_lt?: InputMaybe; - round_lte?: InputMaybe; - round_not?: InputMaybe; - round_not_contains?: InputMaybe; - round_not_contains_nocase?: InputMaybe; - round_not_ends_with?: InputMaybe; - round_not_ends_with_nocase?: InputMaybe; - round_not_in?: InputMaybe>; - round_not_starts_with?: InputMaybe; - round_not_starts_with_nocase?: InputMaybe; - round_starts_with?: InputMaybe; - round_starts_with_nocase?: InputMaybe; - timestamp?: InputMaybe; - timestamp_gt?: InputMaybe; - timestamp_gte?: InputMaybe; - timestamp_in?: InputMaybe>; - timestamp_lt?: InputMaybe; - timestamp_lte?: InputMaybe; - timestamp_not?: InputMaybe; - timestamp_not_in?: InputMaybe>; - transaction?: InputMaybe; - transaction_?: InputMaybe; - transaction_contains?: InputMaybe; - transaction_contains_nocase?: InputMaybe; - transaction_ends_with?: InputMaybe; - transaction_ends_with_nocase?: InputMaybe; - transaction_gt?: InputMaybe; - transaction_gte?: InputMaybe; - transaction_in?: InputMaybe>; - transaction_lt?: InputMaybe; - transaction_lte?: InputMaybe; - transaction_not?: InputMaybe; - transaction_not_contains?: InputMaybe; - transaction_not_contains_nocase?: InputMaybe; - transaction_not_ends_with?: InputMaybe; - transaction_not_ends_with_nocase?: InputMaybe; - transaction_not_in?: InputMaybe>; - transaction_not_starts_with?: InputMaybe; - transaction_not_starts_with_nocase?: InputMaybe; - transaction_starts_with?: InputMaybe; - transaction_starts_with_nocase?: InputMaybe; -}; - -export enum UnpauseEvent_OrderBy { - Id = 'id', - Round = 'round', - RoundActiveTranscoderCount = 'round__activeTranscoderCount', - RoundDelegatorsCount = 'round__delegatorsCount', - RoundEndBlock = 'round__endBlock', - RoundId = 'round__id', - RoundInflation = 'round__inflation', - RoundInitialized = 'round__initialized', - RoundLength = 'round__length', - RoundMintableTokens = 'round__mintableTokens', - RoundMovedStake = 'round__movedStake', - RoundNewStake = 'round__newStake', - RoundNumActiveTranscoders = 'round__numActiveTranscoders', - RoundParticipationRate = 'round__participationRate', - RoundStartBlock = 'round__startBlock', - RoundStartTimestamp = 'round__startTimestamp', - RoundTotalActiveStake = 'round__totalActiveStake', - RoundTotalSupply = 'round__totalSupply', - RoundVolumeEth = 'round__volumeETH', - RoundVolumeUsd = 'round__volumeUSD', - Timestamp = 'timestamp', - Transaction = 'transaction', - TransactionBlockNumber = 'transaction__blockNumber', - TransactionFrom = 'transaction__from', - TransactionGasPrice = 'transaction__gasPrice', - TransactionGasUsed = 'transaction__gasUsed', - TransactionId = 'transaction__id', - TransactionTimestamp = 'transaction__timestamp', - TransactionTo = 'transaction__to' -} - -/** Vote data */ -export type Vote = { - __typename: 'Vote'; - /** Vote choice */ - choiceID?: Maybe; - /** Voter address + poll address */ - id: Scalars['ID']; - /** This will be non-zero if voter is an transcoder and any of the its delegators voted */ - nonVoteStake: Scalars['BigDecimal']; - /** Poll associated with this vote */ - poll?: Maybe; - /** True if the voter was a registered transcoder during the poll period */ - registeredTranscoder?: Maybe; - /** Stake weighted vote */ - voteStake: Scalars['BigDecimal']; - /** Vote caster */ - voter: Scalars['String']; -}; - -/** VoteEvent entities are created for every emitted Vote event. */ -export type VoteEvent = Event & { - __typename: 'VoteEvent'; - /** Voter choice. Zero means yes and one means no */ - choiceID: Scalars['BigInt']; - /** Ethereum transaction hash + event log index */ - id: Scalars['ID']; - /** Reference to the poll this vote was casted in */ - poll: Poll; - /** Reference to the round the event occured in */ - round: Round; - /** Timestamp of the transaction the event was included in */ - timestamp: Scalars['Int']; - /** Reference to the transaction the event was included in */ - transaction: Transaction; - /** Address belonging to the voter */ - voter: Scalars['String']; -}; - -export type VoteEvent_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - and?: InputMaybe>>; - choiceID?: InputMaybe; - choiceID_gt?: InputMaybe; - choiceID_gte?: InputMaybe; - choiceID_in?: InputMaybe>; - choiceID_lt?: InputMaybe; - choiceID_lte?: InputMaybe; - choiceID_not?: InputMaybe; - choiceID_not_in?: InputMaybe>; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - or?: InputMaybe>>; - poll?: InputMaybe; - poll_?: InputMaybe; - poll_contains?: InputMaybe; - poll_contains_nocase?: InputMaybe; - poll_ends_with?: InputMaybe; - poll_ends_with_nocase?: InputMaybe; - poll_gt?: InputMaybe; - poll_gte?: InputMaybe; - poll_in?: InputMaybe>; - poll_lt?: InputMaybe; - poll_lte?: InputMaybe; - poll_not?: InputMaybe; - poll_not_contains?: InputMaybe; - poll_not_contains_nocase?: InputMaybe; - poll_not_ends_with?: InputMaybe; - poll_not_ends_with_nocase?: InputMaybe; - poll_not_in?: InputMaybe>; - poll_not_starts_with?: InputMaybe; - poll_not_starts_with_nocase?: InputMaybe; - poll_starts_with?: InputMaybe; - poll_starts_with_nocase?: InputMaybe; - round?: InputMaybe; - round_?: InputMaybe; - round_contains?: InputMaybe; - round_contains_nocase?: InputMaybe; - round_ends_with?: InputMaybe; - round_ends_with_nocase?: InputMaybe; - round_gt?: InputMaybe; - round_gte?: InputMaybe; - round_in?: InputMaybe>; - round_lt?: InputMaybe; - round_lte?: InputMaybe; - round_not?: InputMaybe; - round_not_contains?: InputMaybe; - round_not_contains_nocase?: InputMaybe; - round_not_ends_with?: InputMaybe; - round_not_ends_with_nocase?: InputMaybe; - round_not_in?: InputMaybe>; - round_not_starts_with?: InputMaybe; - round_not_starts_with_nocase?: InputMaybe; - round_starts_with?: InputMaybe; - round_starts_with_nocase?: InputMaybe; - timestamp?: InputMaybe; - timestamp_gt?: InputMaybe; - timestamp_gte?: InputMaybe; - timestamp_in?: InputMaybe>; - timestamp_lt?: InputMaybe; - timestamp_lte?: InputMaybe; - timestamp_not?: InputMaybe; - timestamp_not_in?: InputMaybe>; - transaction?: InputMaybe; - transaction_?: InputMaybe; - transaction_contains?: InputMaybe; - transaction_contains_nocase?: InputMaybe; - transaction_ends_with?: InputMaybe; - transaction_ends_with_nocase?: InputMaybe; - transaction_gt?: InputMaybe; - transaction_gte?: InputMaybe; - transaction_in?: InputMaybe>; - transaction_lt?: InputMaybe; - transaction_lte?: InputMaybe; - transaction_not?: InputMaybe; - transaction_not_contains?: InputMaybe; - transaction_not_contains_nocase?: InputMaybe; - transaction_not_ends_with?: InputMaybe; - transaction_not_ends_with_nocase?: InputMaybe; - transaction_not_in?: InputMaybe>; - transaction_not_starts_with?: InputMaybe; - transaction_not_starts_with_nocase?: InputMaybe; - transaction_starts_with?: InputMaybe; - transaction_starts_with_nocase?: InputMaybe; - voter?: InputMaybe; - voter_contains?: InputMaybe; - voter_contains_nocase?: InputMaybe; - voter_ends_with?: InputMaybe; - voter_ends_with_nocase?: InputMaybe; - voter_gt?: InputMaybe; - voter_gte?: InputMaybe; - voter_in?: InputMaybe>; - voter_lt?: InputMaybe; - voter_lte?: InputMaybe; - voter_not?: InputMaybe; - voter_not_contains?: InputMaybe; - voter_not_contains_nocase?: InputMaybe; - voter_not_ends_with?: InputMaybe; - voter_not_ends_with_nocase?: InputMaybe; - voter_not_in?: InputMaybe>; - voter_not_starts_with?: InputMaybe; - voter_not_starts_with_nocase?: InputMaybe; - voter_starts_with?: InputMaybe; - voter_starts_with_nocase?: InputMaybe; -}; - -export enum VoteEvent_OrderBy { - ChoiceId = 'choiceID', - Id = 'id', - Poll = 'poll', - PollEndBlock = 'poll__endBlock', - PollId = 'poll__id', - PollProposal = 'poll__proposal', - PollQuorum = 'poll__quorum', - PollQuota = 'poll__quota', - Round = 'round', - RoundActiveTranscoderCount = 'round__activeTranscoderCount', - RoundDelegatorsCount = 'round__delegatorsCount', - RoundEndBlock = 'round__endBlock', - RoundId = 'round__id', - RoundInflation = 'round__inflation', - RoundInitialized = 'round__initialized', - RoundLength = 'round__length', - RoundMintableTokens = 'round__mintableTokens', - RoundMovedStake = 'round__movedStake', - RoundNewStake = 'round__newStake', - RoundNumActiveTranscoders = 'round__numActiveTranscoders', - RoundParticipationRate = 'round__participationRate', - RoundStartBlock = 'round__startBlock', - RoundStartTimestamp = 'round__startTimestamp', - RoundTotalActiveStake = 'round__totalActiveStake', - RoundTotalSupply = 'round__totalSupply', - RoundVolumeEth = 'round__volumeETH', - RoundVolumeUsd = 'round__volumeUSD', - Timestamp = 'timestamp', - Transaction = 'transaction', - TransactionBlockNumber = 'transaction__blockNumber', - TransactionFrom = 'transaction__from', - TransactionGasPrice = 'transaction__gasPrice', - TransactionGasUsed = 'transaction__gasUsed', - TransactionId = 'transaction__id', - TransactionTimestamp = 'transaction__timestamp', - TransactionTo = 'transaction__to', - Voter = 'voter' -} - -export type Vote_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - and?: InputMaybe>>; - choiceID?: InputMaybe; - choiceID_in?: InputMaybe>; - choiceID_not?: InputMaybe; - choiceID_not_in?: InputMaybe>; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - nonVoteStake?: InputMaybe; - nonVoteStake_gt?: InputMaybe; - nonVoteStake_gte?: InputMaybe; - nonVoteStake_in?: InputMaybe>; - nonVoteStake_lt?: InputMaybe; - nonVoteStake_lte?: InputMaybe; - nonVoteStake_not?: InputMaybe; - nonVoteStake_not_in?: InputMaybe>; - or?: InputMaybe>>; - poll?: InputMaybe; - poll_?: InputMaybe; - poll_contains?: InputMaybe; - poll_contains_nocase?: InputMaybe; - poll_ends_with?: InputMaybe; - poll_ends_with_nocase?: InputMaybe; - poll_gt?: InputMaybe; - poll_gte?: InputMaybe; - poll_in?: InputMaybe>; - poll_lt?: InputMaybe; - poll_lte?: InputMaybe; - poll_not?: InputMaybe; - poll_not_contains?: InputMaybe; - poll_not_contains_nocase?: InputMaybe; - poll_not_ends_with?: InputMaybe; - poll_not_ends_with_nocase?: InputMaybe; - poll_not_in?: InputMaybe>; - poll_not_starts_with?: InputMaybe; - poll_not_starts_with_nocase?: InputMaybe; - poll_starts_with?: InputMaybe; - poll_starts_with_nocase?: InputMaybe; - registeredTranscoder?: InputMaybe; - registeredTranscoder_in?: InputMaybe>; - registeredTranscoder_not?: InputMaybe; - registeredTranscoder_not_in?: InputMaybe>; - voteStake?: InputMaybe; - voteStake_gt?: InputMaybe; - voteStake_gte?: InputMaybe; - voteStake_in?: InputMaybe>; - voteStake_lt?: InputMaybe; - voteStake_lte?: InputMaybe; - voteStake_not?: InputMaybe; - voteStake_not_in?: InputMaybe>; - voter?: InputMaybe; - voter_contains?: InputMaybe; - voter_contains_nocase?: InputMaybe; - voter_ends_with?: InputMaybe; - voter_ends_with_nocase?: InputMaybe; - voter_gt?: InputMaybe; - voter_gte?: InputMaybe; - voter_in?: InputMaybe>; - voter_lt?: InputMaybe; - voter_lte?: InputMaybe; - voter_not?: InputMaybe; - voter_not_contains?: InputMaybe; - voter_not_contains_nocase?: InputMaybe; - voter_not_ends_with?: InputMaybe; - voter_not_ends_with_nocase?: InputMaybe; - voter_not_in?: InputMaybe>; - voter_not_starts_with?: InputMaybe; - voter_not_starts_with_nocase?: InputMaybe; - voter_starts_with?: InputMaybe; - voter_starts_with_nocase?: InputMaybe; -}; - -export enum Vote_OrderBy { - ChoiceId = 'choiceID', - Id = 'id', - NonVoteStake = 'nonVoteStake', - Poll = 'poll', - PollEndBlock = 'poll__endBlock', - PollId = 'poll__id', - PollProposal = 'poll__proposal', - PollQuorum = 'poll__quorum', - PollQuota = 'poll__quota', - RegisteredTranscoder = 'registeredTranscoder', - VoteStake = 'voteStake', - Voter = 'voter' -} - -/** WinningTicketRedeemedEvent entities are created for every emitted WinningTicketRedeemed event. */ -export type WinningTicketRedeemedEvent = Event & { - __typename: 'WinningTicketRedeemedEvent'; - /** Auxilary data included in ticket used for additional validation */ - auxData: Scalars['Bytes']; - /** Face value of ticket paid to recipient */ - faceValue: Scalars['BigDecimal']; - /** Amount of fees the winning ticket was redeemed for in in USD */ - faceValueUSD: Scalars['BigDecimal']; - /** Ethereum transaction hash + event log index */ - id: Scalars['ID']; - /** Reference to the recipient of the broadcaster fees */ - recipient: Transcoder; - /** keccak256 hash commitment to recipient's random value */ - recipientRand: Scalars['BigInt']; - /** Reference to the round the event occured in */ - round: Round; - /** Reference to the broadcaster who sent the fees */ - sender: Broadcaster; - /** Sender's monotonically increasing counter for each ticket */ - senderNonce: Scalars['BigInt']; - /** Timestamp of the transaction the event was included in */ - timestamp: Scalars['Int']; - /** Reference to the transaction the event was included in */ - transaction: Transaction; - /** The winning probability of the ticket */ - winProb: Scalars['BigInt']; -}; - -export type WinningTicketRedeemedEvent_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - and?: InputMaybe>>; - auxData?: InputMaybe; - auxData_contains?: InputMaybe; - auxData_gt?: InputMaybe; - auxData_gte?: InputMaybe; - auxData_in?: InputMaybe>; - auxData_lt?: InputMaybe; - auxData_lte?: InputMaybe; - auxData_not?: InputMaybe; - auxData_not_contains?: InputMaybe; - auxData_not_in?: InputMaybe>; - faceValue?: InputMaybe; - faceValueUSD?: InputMaybe; - faceValueUSD_gt?: InputMaybe; - faceValueUSD_gte?: InputMaybe; - faceValueUSD_in?: InputMaybe>; - faceValueUSD_lt?: InputMaybe; - faceValueUSD_lte?: InputMaybe; - faceValueUSD_not?: InputMaybe; - faceValueUSD_not_in?: InputMaybe>; - faceValue_gt?: InputMaybe; - faceValue_gte?: InputMaybe; - faceValue_in?: InputMaybe>; - faceValue_lt?: InputMaybe; - faceValue_lte?: InputMaybe; - faceValue_not?: InputMaybe; - faceValue_not_in?: InputMaybe>; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - or?: InputMaybe>>; - recipient?: InputMaybe; - recipientRand?: InputMaybe; - recipientRand_gt?: InputMaybe; - recipientRand_gte?: InputMaybe; - recipientRand_in?: InputMaybe>; - recipientRand_lt?: InputMaybe; - recipientRand_lte?: InputMaybe; - recipientRand_not?: InputMaybe; - recipientRand_not_in?: InputMaybe>; - recipient_?: InputMaybe; - recipient_contains?: InputMaybe; - recipient_contains_nocase?: InputMaybe; - recipient_ends_with?: InputMaybe; - recipient_ends_with_nocase?: InputMaybe; - recipient_gt?: InputMaybe; - recipient_gte?: InputMaybe; - recipient_in?: InputMaybe>; - recipient_lt?: InputMaybe; - recipient_lte?: InputMaybe; - recipient_not?: InputMaybe; - recipient_not_contains?: InputMaybe; - recipient_not_contains_nocase?: InputMaybe; - recipient_not_ends_with?: InputMaybe; - recipient_not_ends_with_nocase?: InputMaybe; - recipient_not_in?: InputMaybe>; - recipient_not_starts_with?: InputMaybe; - recipient_not_starts_with_nocase?: InputMaybe; - recipient_starts_with?: InputMaybe; - recipient_starts_with_nocase?: InputMaybe; - round?: InputMaybe; - round_?: InputMaybe; - round_contains?: InputMaybe; - round_contains_nocase?: InputMaybe; - round_ends_with?: InputMaybe; - round_ends_with_nocase?: InputMaybe; - round_gt?: InputMaybe; - round_gte?: InputMaybe; - round_in?: InputMaybe>; - round_lt?: InputMaybe; - round_lte?: InputMaybe; - round_not?: InputMaybe; - round_not_contains?: InputMaybe; - round_not_contains_nocase?: InputMaybe; - round_not_ends_with?: InputMaybe; - round_not_ends_with_nocase?: InputMaybe; - round_not_in?: InputMaybe>; - round_not_starts_with?: InputMaybe; - round_not_starts_with_nocase?: InputMaybe; - round_starts_with?: InputMaybe; - round_starts_with_nocase?: InputMaybe; - sender?: InputMaybe; - senderNonce?: InputMaybe; - senderNonce_gt?: InputMaybe; - senderNonce_gte?: InputMaybe; - senderNonce_in?: InputMaybe>; - senderNonce_lt?: InputMaybe; - senderNonce_lte?: InputMaybe; - senderNonce_not?: InputMaybe; - senderNonce_not_in?: InputMaybe>; - sender_?: InputMaybe; - sender_contains?: InputMaybe; - sender_contains_nocase?: InputMaybe; - sender_ends_with?: InputMaybe; - sender_ends_with_nocase?: InputMaybe; - sender_gt?: InputMaybe; - sender_gte?: InputMaybe; - sender_in?: InputMaybe>; - sender_lt?: InputMaybe; - sender_lte?: InputMaybe; - sender_not?: InputMaybe; - sender_not_contains?: InputMaybe; - sender_not_contains_nocase?: InputMaybe; - sender_not_ends_with?: InputMaybe; - sender_not_ends_with_nocase?: InputMaybe; - sender_not_in?: InputMaybe>; - sender_not_starts_with?: InputMaybe; - sender_not_starts_with_nocase?: InputMaybe; - sender_starts_with?: InputMaybe; - sender_starts_with_nocase?: InputMaybe; - timestamp?: InputMaybe; - timestamp_gt?: InputMaybe; - timestamp_gte?: InputMaybe; - timestamp_in?: InputMaybe>; - timestamp_lt?: InputMaybe; - timestamp_lte?: InputMaybe; - timestamp_not?: InputMaybe; - timestamp_not_in?: InputMaybe>; - transaction?: InputMaybe; - transaction_?: InputMaybe; - transaction_contains?: InputMaybe; - transaction_contains_nocase?: InputMaybe; - transaction_ends_with?: InputMaybe; - transaction_ends_with_nocase?: InputMaybe; - transaction_gt?: InputMaybe; - transaction_gte?: InputMaybe; - transaction_in?: InputMaybe>; - transaction_lt?: InputMaybe; - transaction_lte?: InputMaybe; - transaction_not?: InputMaybe; - transaction_not_contains?: InputMaybe; - transaction_not_contains_nocase?: InputMaybe; - transaction_not_ends_with?: InputMaybe; - transaction_not_ends_with_nocase?: InputMaybe; - transaction_not_in?: InputMaybe>; - transaction_not_starts_with?: InputMaybe; - transaction_not_starts_with_nocase?: InputMaybe; - transaction_starts_with?: InputMaybe; - transaction_starts_with_nocase?: InputMaybe; - winProb?: InputMaybe; - winProb_gt?: InputMaybe; - winProb_gte?: InputMaybe; - winProb_in?: InputMaybe>; - winProb_lt?: InputMaybe; - winProb_lte?: InputMaybe; - winProb_not?: InputMaybe; - winProb_not_in?: InputMaybe>; -}; - -export enum WinningTicketRedeemedEvent_OrderBy { - AuxData = 'auxData', - FaceValue = 'faceValue', - FaceValueUsd = 'faceValueUSD', - Id = 'id', - Recipient = 'recipient', - RecipientRand = 'recipientRand', - RecipientActivationRound = 'recipient__activationRound', - RecipientActivationTimestamp = 'recipient__activationTimestamp', - RecipientActive = 'recipient__active', - RecipientDeactivationRound = 'recipient__deactivationRound', - RecipientFeeShare = 'recipient__feeShare', - RecipientFeeShareUpdateTimestamp = 'recipient__feeShareUpdateTimestamp', - RecipientId = 'recipient__id', - RecipientLastActiveStakeUpdateRound = 'recipient__lastActiveStakeUpdateRound', - RecipientNinetyDayVolumeEth = 'recipient__ninetyDayVolumeETH', - RecipientRewardCaller = 'recipient__rewardCaller', - RecipientRewardCut = 'recipient__rewardCut', - RecipientRewardCutUpdateTimestamp = 'recipient__rewardCutUpdateTimestamp', - RecipientServiceUri = 'recipient__serviceURI', - RecipientSixtyDayVolumeEth = 'recipient__sixtyDayVolumeETH', - RecipientStatus = 'recipient__status', - RecipientThirtyDayVolumeEth = 'recipient__thirtyDayVolumeETH', - RecipientTotalStake = 'recipient__totalStake', - RecipientTotalVolumeEth = 'recipient__totalVolumeETH', - RecipientTotalVolumeUsd = 'recipient__totalVolumeUSD', - Round = 'round', - RoundActiveTranscoderCount = 'round__activeTranscoderCount', - RoundDelegatorsCount = 'round__delegatorsCount', - RoundEndBlock = 'round__endBlock', - RoundId = 'round__id', - RoundInflation = 'round__inflation', - RoundInitialized = 'round__initialized', - RoundLength = 'round__length', - RoundMintableTokens = 'round__mintableTokens', - RoundMovedStake = 'round__movedStake', - RoundNewStake = 'round__newStake', - RoundNumActiveTranscoders = 'round__numActiveTranscoders', - RoundParticipationRate = 'round__participationRate', - RoundStartBlock = 'round__startBlock', - RoundStartTimestamp = 'round__startTimestamp', - RoundTotalActiveStake = 'round__totalActiveStake', - RoundTotalSupply = 'round__totalSupply', - RoundVolumeEth = 'round__volumeETH', - RoundVolumeUsd = 'round__volumeUSD', - Sender = 'sender', - SenderNonce = 'senderNonce', - SenderDeposit = 'sender__deposit', - SenderFirstActiveDay = 'sender__firstActiveDay', - SenderFirstFundedDay = 'sender__firstFundedDay', - SenderId = 'sender__id', - SenderLastActiveDay = 'sender__lastActiveDay', - SenderLastFundedDay = 'sender__lastFundedDay', - SenderNinetyDayVolumeEth = 'sender__ninetyDayVolumeETH', - SenderReserve = 'sender__reserve', - SenderSixtyDayVolumeEth = 'sender__sixtyDayVolumeETH', - SenderThirtyDayVolumeEth = 'sender__thirtyDayVolumeETH', - SenderTotalVolumeEth = 'sender__totalVolumeETH', - SenderTotalVolumeUsd = 'sender__totalVolumeUSD', - Timestamp = 'timestamp', - Transaction = 'transaction', - TransactionBlockNumber = 'transaction__blockNumber', - TransactionFrom = 'transaction__from', - TransactionGasPrice = 'transaction__gasPrice', - TransactionGasUsed = 'transaction__gasUsed', - TransactionId = 'transaction__id', - TransactionTimestamp = 'transaction__timestamp', - TransactionTo = 'transaction__to', - WinProb = 'winProb' -} - -/** WithdrawFeesEvent entities are created for every emitted WithdrawFees event. */ -export type WithdrawFeesEvent = Event & { - __typename: 'WithdrawFeesEvent'; - /** Amount of fees withdrawn */ - amount: Scalars['BigDecimal']; - /** Reference to the delegator that withdraw its fees */ - delegator: Delegator; - /** Ethereum transaction hash + event log index */ - id: Scalars['ID']; - /** Address belonging to the receiver of fees */ - recipient: Scalars['String']; - /** Reference to the round the event occured in */ - round: Round; - /** Timestamp of the transaction the event was included in */ - timestamp: Scalars['Int']; - /** Reference to the transaction the event was included in */ - transaction: Transaction; -}; - -export type WithdrawFeesEvent_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - amount?: InputMaybe; - amount_gt?: InputMaybe; - amount_gte?: InputMaybe; - amount_in?: InputMaybe>; - amount_lt?: InputMaybe; - amount_lte?: InputMaybe; - amount_not?: InputMaybe; - amount_not_in?: InputMaybe>; - and?: InputMaybe>>; - delegator?: InputMaybe; - delegator_?: InputMaybe; - delegator_contains?: InputMaybe; - delegator_contains_nocase?: InputMaybe; - delegator_ends_with?: InputMaybe; - delegator_ends_with_nocase?: InputMaybe; - delegator_gt?: InputMaybe; - delegator_gte?: InputMaybe; - delegator_in?: InputMaybe>; - delegator_lt?: InputMaybe; - delegator_lte?: InputMaybe; - delegator_not?: InputMaybe; - delegator_not_contains?: InputMaybe; - delegator_not_contains_nocase?: InputMaybe; - delegator_not_ends_with?: InputMaybe; - delegator_not_ends_with_nocase?: InputMaybe; - delegator_not_in?: InputMaybe>; - delegator_not_starts_with?: InputMaybe; - delegator_not_starts_with_nocase?: InputMaybe; - delegator_starts_with?: InputMaybe; - delegator_starts_with_nocase?: InputMaybe; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - or?: InputMaybe>>; - recipient?: InputMaybe; - recipient_contains?: InputMaybe; - recipient_contains_nocase?: InputMaybe; - recipient_ends_with?: InputMaybe; - recipient_ends_with_nocase?: InputMaybe; - recipient_gt?: InputMaybe; - recipient_gte?: InputMaybe; - recipient_in?: InputMaybe>; - recipient_lt?: InputMaybe; - recipient_lte?: InputMaybe; - recipient_not?: InputMaybe; - recipient_not_contains?: InputMaybe; - recipient_not_contains_nocase?: InputMaybe; - recipient_not_ends_with?: InputMaybe; - recipient_not_ends_with_nocase?: InputMaybe; - recipient_not_in?: InputMaybe>; - recipient_not_starts_with?: InputMaybe; - recipient_not_starts_with_nocase?: InputMaybe; - recipient_starts_with?: InputMaybe; - recipient_starts_with_nocase?: InputMaybe; - round?: InputMaybe; - round_?: InputMaybe; - round_contains?: InputMaybe; - round_contains_nocase?: InputMaybe; - round_ends_with?: InputMaybe; - round_ends_with_nocase?: InputMaybe; - round_gt?: InputMaybe; - round_gte?: InputMaybe; - round_in?: InputMaybe>; - round_lt?: InputMaybe; - round_lte?: InputMaybe; - round_not?: InputMaybe; - round_not_contains?: InputMaybe; - round_not_contains_nocase?: InputMaybe; - round_not_ends_with?: InputMaybe; - round_not_ends_with_nocase?: InputMaybe; - round_not_in?: InputMaybe>; - round_not_starts_with?: InputMaybe; - round_not_starts_with_nocase?: InputMaybe; - round_starts_with?: InputMaybe; - round_starts_with_nocase?: InputMaybe; - timestamp?: InputMaybe; - timestamp_gt?: InputMaybe; - timestamp_gte?: InputMaybe; - timestamp_in?: InputMaybe>; - timestamp_lt?: InputMaybe; - timestamp_lte?: InputMaybe; - timestamp_not?: InputMaybe; - timestamp_not_in?: InputMaybe>; - transaction?: InputMaybe; - transaction_?: InputMaybe; - transaction_contains?: InputMaybe; - transaction_contains_nocase?: InputMaybe; - transaction_ends_with?: InputMaybe; - transaction_ends_with_nocase?: InputMaybe; - transaction_gt?: InputMaybe; - transaction_gte?: InputMaybe; - transaction_in?: InputMaybe>; - transaction_lt?: InputMaybe; - transaction_lte?: InputMaybe; - transaction_not?: InputMaybe; - transaction_not_contains?: InputMaybe; - transaction_not_contains_nocase?: InputMaybe; - transaction_not_ends_with?: InputMaybe; - transaction_not_ends_with_nocase?: InputMaybe; - transaction_not_in?: InputMaybe>; - transaction_not_starts_with?: InputMaybe; - transaction_not_starts_with_nocase?: InputMaybe; - transaction_starts_with?: InputMaybe; - transaction_starts_with_nocase?: InputMaybe; -}; - -export enum WithdrawFeesEvent_OrderBy { - Amount = 'amount', - Delegator = 'delegator', - DelegatorBondedAmount = 'delegator__bondedAmount', - DelegatorDelegatedAmount = 'delegator__delegatedAmount', - DelegatorFees = 'delegator__fees', - DelegatorId = 'delegator__id', - DelegatorPrincipal = 'delegator__principal', - DelegatorStartRound = 'delegator__startRound', - DelegatorUnbonded = 'delegator__unbonded', - DelegatorWithdrawnFees = 'delegator__withdrawnFees', - Id = 'id', - Recipient = 'recipient', - Round = 'round', - RoundActiveTranscoderCount = 'round__activeTranscoderCount', - RoundDelegatorsCount = 'round__delegatorsCount', - RoundEndBlock = 'round__endBlock', - RoundId = 'round__id', - RoundInflation = 'round__inflation', - RoundInitialized = 'round__initialized', - RoundLength = 'round__length', - RoundMintableTokens = 'round__mintableTokens', - RoundMovedStake = 'round__movedStake', - RoundNewStake = 'round__newStake', - RoundNumActiveTranscoders = 'round__numActiveTranscoders', - RoundParticipationRate = 'round__participationRate', - RoundStartBlock = 'round__startBlock', - RoundStartTimestamp = 'round__startTimestamp', - RoundTotalActiveStake = 'round__totalActiveStake', - RoundTotalSupply = 'round__totalSupply', - RoundVolumeEth = 'round__volumeETH', - RoundVolumeUsd = 'round__volumeUSD', - Timestamp = 'timestamp', - Transaction = 'transaction', - TransactionBlockNumber = 'transaction__blockNumber', - TransactionFrom = 'transaction__from', - TransactionGasPrice = 'transaction__gasPrice', - TransactionGasUsed = 'transaction__gasUsed', - TransactionId = 'transaction__id', - TransactionTimestamp = 'transaction__timestamp', - TransactionTo = 'transaction__to' -} - -/** WithdrawStakeEvent entities are created for every emitted WithdrawStake event. */ -export type WithdrawStakeEvent = Event & { - __typename: 'WithdrawStakeEvent'; - /** Amount of stake withdrawn */ - amount: Scalars['BigDecimal']; - /** Reference to the delegator that withdraw its stake */ - delegator: Delegator; - /** Ethereum transaction hash + event log index */ - id: Scalars['ID']; - /** Reference to the round the event occured in */ - round: Round; - /** Timestamp of the transaction the event was included in */ - timestamp: Scalars['Int']; - /** Reference to the transaction the event was included in */ - transaction: Transaction; - /** Unbonding lock ID that was deleted upon withdrawal */ - unbondingLockId?: Maybe; -}; - -export type WithdrawStakeEvent_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - amount?: InputMaybe; - amount_gt?: InputMaybe; - amount_gte?: InputMaybe; - amount_in?: InputMaybe>; - amount_lt?: InputMaybe; - amount_lte?: InputMaybe; - amount_not?: InputMaybe; - amount_not_in?: InputMaybe>; - and?: InputMaybe>>; - delegator?: InputMaybe; - delegator_?: InputMaybe; - delegator_contains?: InputMaybe; - delegator_contains_nocase?: InputMaybe; - delegator_ends_with?: InputMaybe; - delegator_ends_with_nocase?: InputMaybe; - delegator_gt?: InputMaybe; - delegator_gte?: InputMaybe; - delegator_in?: InputMaybe>; - delegator_lt?: InputMaybe; - delegator_lte?: InputMaybe; - delegator_not?: InputMaybe; - delegator_not_contains?: InputMaybe; - delegator_not_contains_nocase?: InputMaybe; - delegator_not_ends_with?: InputMaybe; - delegator_not_ends_with_nocase?: InputMaybe; - delegator_not_in?: InputMaybe>; - delegator_not_starts_with?: InputMaybe; - delegator_not_starts_with_nocase?: InputMaybe; - delegator_starts_with?: InputMaybe; - delegator_starts_with_nocase?: InputMaybe; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - or?: InputMaybe>>; - round?: InputMaybe; - round_?: InputMaybe; - round_contains?: InputMaybe; - round_contains_nocase?: InputMaybe; - round_ends_with?: InputMaybe; - round_ends_with_nocase?: InputMaybe; - round_gt?: InputMaybe; - round_gte?: InputMaybe; - round_in?: InputMaybe>; - round_lt?: InputMaybe; - round_lte?: InputMaybe; - round_not?: InputMaybe; - round_not_contains?: InputMaybe; - round_not_contains_nocase?: InputMaybe; - round_not_ends_with?: InputMaybe; - round_not_ends_with_nocase?: InputMaybe; - round_not_in?: InputMaybe>; - round_not_starts_with?: InputMaybe; - round_not_starts_with_nocase?: InputMaybe; - round_starts_with?: InputMaybe; - round_starts_with_nocase?: InputMaybe; - timestamp?: InputMaybe; - timestamp_gt?: InputMaybe; - timestamp_gte?: InputMaybe; - timestamp_in?: InputMaybe>; - timestamp_lt?: InputMaybe; - timestamp_lte?: InputMaybe; - timestamp_not?: InputMaybe; - timestamp_not_in?: InputMaybe>; - transaction?: InputMaybe; - transaction_?: InputMaybe; - transaction_contains?: InputMaybe; - transaction_contains_nocase?: InputMaybe; - transaction_ends_with?: InputMaybe; - transaction_ends_with_nocase?: InputMaybe; - transaction_gt?: InputMaybe; - transaction_gte?: InputMaybe; - transaction_in?: InputMaybe>; - transaction_lt?: InputMaybe; - transaction_lte?: InputMaybe; - transaction_not?: InputMaybe; - transaction_not_contains?: InputMaybe; - transaction_not_contains_nocase?: InputMaybe; - transaction_not_ends_with?: InputMaybe; - transaction_not_ends_with_nocase?: InputMaybe; - transaction_not_in?: InputMaybe>; - transaction_not_starts_with?: InputMaybe; - transaction_not_starts_with_nocase?: InputMaybe; - transaction_starts_with?: InputMaybe; - transaction_starts_with_nocase?: InputMaybe; - unbondingLockId?: InputMaybe; - unbondingLockId_gt?: InputMaybe; - unbondingLockId_gte?: InputMaybe; - unbondingLockId_in?: InputMaybe>; - unbondingLockId_lt?: InputMaybe; - unbondingLockId_lte?: InputMaybe; - unbondingLockId_not?: InputMaybe; - unbondingLockId_not_in?: InputMaybe>; -}; - -export enum WithdrawStakeEvent_OrderBy { - Amount = 'amount', - Delegator = 'delegator', - DelegatorBondedAmount = 'delegator__bondedAmount', - DelegatorDelegatedAmount = 'delegator__delegatedAmount', - DelegatorFees = 'delegator__fees', - DelegatorId = 'delegator__id', - DelegatorPrincipal = 'delegator__principal', - DelegatorStartRound = 'delegator__startRound', - DelegatorUnbonded = 'delegator__unbonded', - DelegatorWithdrawnFees = 'delegator__withdrawnFees', - Id = 'id', - Round = 'round', - RoundActiveTranscoderCount = 'round__activeTranscoderCount', - RoundDelegatorsCount = 'round__delegatorsCount', - RoundEndBlock = 'round__endBlock', - RoundId = 'round__id', - RoundInflation = 'round__inflation', - RoundInitialized = 'round__initialized', - RoundLength = 'round__length', - RoundMintableTokens = 'round__mintableTokens', - RoundMovedStake = 'round__movedStake', - RoundNewStake = 'round__newStake', - RoundNumActiveTranscoders = 'round__numActiveTranscoders', - RoundParticipationRate = 'round__participationRate', - RoundStartBlock = 'round__startBlock', - RoundStartTimestamp = 'round__startTimestamp', - RoundTotalActiveStake = 'round__totalActiveStake', - RoundTotalSupply = 'round__totalSupply', - RoundVolumeEth = 'round__volumeETH', - RoundVolumeUsd = 'round__volumeUSD', - Timestamp = 'timestamp', - Transaction = 'transaction', - TransactionBlockNumber = 'transaction__blockNumber', - TransactionFrom = 'transaction__from', - TransactionGasPrice = 'transaction__gasPrice', - TransactionGasUsed = 'transaction__gasUsed', - TransactionId = 'transaction__id', - TransactionTimestamp = 'transaction__timestamp', - TransactionTo = 'transaction__to', - UnbondingLockId = 'unbondingLockId' -} - -/** WithdrawalEvent entities are created for every emitted Withdrawal event. */ -export type WithdrawalEvent = Event & { - __typename: 'WithdrawalEvent'; - /** Deposit amount withdrawn */ - deposit: Scalars['BigDecimal']; - /** Ethereum transaction hash + event log index */ - id: Scalars['ID']; - /** Reserve amount withdrawn */ - reserve: Scalars['BigDecimal']; - /** Reference to the round the event occured in */ - round: Round; - /** Reference to the broadcaster withdrawing its deposit and reserve */ - sender: Broadcaster; - /** Timestamp of the transaction the event was included in */ - timestamp: Scalars['Int']; - /** Reference to the transaction the event was included in */ - transaction: Transaction; -}; - -export type WithdrawalEvent_Filter = { - /** Filter for the block changed event. */ - _change_block?: InputMaybe; - and?: InputMaybe>>; - deposit?: InputMaybe; - deposit_gt?: InputMaybe; - deposit_gte?: InputMaybe; - deposit_in?: InputMaybe>; - deposit_lt?: InputMaybe; - deposit_lte?: InputMaybe; - deposit_not?: InputMaybe; - deposit_not_in?: InputMaybe>; - id?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not?: InputMaybe; - id_not_in?: InputMaybe>; - or?: InputMaybe>>; - reserve?: InputMaybe; - reserve_gt?: InputMaybe; - reserve_gte?: InputMaybe; - reserve_in?: InputMaybe>; - reserve_lt?: InputMaybe; - reserve_lte?: InputMaybe; - reserve_not?: InputMaybe; - reserve_not_in?: InputMaybe>; - round?: InputMaybe; - round_?: InputMaybe; - round_contains?: InputMaybe; - round_contains_nocase?: InputMaybe; - round_ends_with?: InputMaybe; - round_ends_with_nocase?: InputMaybe; - round_gt?: InputMaybe; - round_gte?: InputMaybe; - round_in?: InputMaybe>; - round_lt?: InputMaybe; - round_lte?: InputMaybe; - round_not?: InputMaybe; - round_not_contains?: InputMaybe; - round_not_contains_nocase?: InputMaybe; - round_not_ends_with?: InputMaybe; - round_not_ends_with_nocase?: InputMaybe; - round_not_in?: InputMaybe>; - round_not_starts_with?: InputMaybe; - round_not_starts_with_nocase?: InputMaybe; - round_starts_with?: InputMaybe; - round_starts_with_nocase?: InputMaybe; - sender?: InputMaybe; - sender_?: InputMaybe; - sender_contains?: InputMaybe; - sender_contains_nocase?: InputMaybe; - sender_ends_with?: InputMaybe; - sender_ends_with_nocase?: InputMaybe; - sender_gt?: InputMaybe; - sender_gte?: InputMaybe; - sender_in?: InputMaybe>; - sender_lt?: InputMaybe; - sender_lte?: InputMaybe; - sender_not?: InputMaybe; - sender_not_contains?: InputMaybe; - sender_not_contains_nocase?: InputMaybe; - sender_not_ends_with?: InputMaybe; - sender_not_ends_with_nocase?: InputMaybe; - sender_not_in?: InputMaybe>; - sender_not_starts_with?: InputMaybe; - sender_not_starts_with_nocase?: InputMaybe; - sender_starts_with?: InputMaybe; - sender_starts_with_nocase?: InputMaybe; - timestamp?: InputMaybe; - timestamp_gt?: InputMaybe; - timestamp_gte?: InputMaybe; - timestamp_in?: InputMaybe>; - timestamp_lt?: InputMaybe; - timestamp_lte?: InputMaybe; - timestamp_not?: InputMaybe; - timestamp_not_in?: InputMaybe>; - transaction?: InputMaybe; - transaction_?: InputMaybe; - transaction_contains?: InputMaybe; - transaction_contains_nocase?: InputMaybe; - transaction_ends_with?: InputMaybe; - transaction_ends_with_nocase?: InputMaybe; - transaction_gt?: InputMaybe; - transaction_gte?: InputMaybe; - transaction_in?: InputMaybe>; - transaction_lt?: InputMaybe; - transaction_lte?: InputMaybe; - transaction_not?: InputMaybe; - transaction_not_contains?: InputMaybe; - transaction_not_contains_nocase?: InputMaybe; - transaction_not_ends_with?: InputMaybe; - transaction_not_ends_with_nocase?: InputMaybe; - transaction_not_in?: InputMaybe>; - transaction_not_starts_with?: InputMaybe; - transaction_not_starts_with_nocase?: InputMaybe; - transaction_starts_with?: InputMaybe; - transaction_starts_with_nocase?: InputMaybe; -}; - -export enum WithdrawalEvent_OrderBy { - Deposit = 'deposit', - Id = 'id', - Reserve = 'reserve', - Round = 'round', - RoundActiveTranscoderCount = 'round__activeTranscoderCount', - RoundDelegatorsCount = 'round__delegatorsCount', - RoundEndBlock = 'round__endBlock', - RoundId = 'round__id', - RoundInflation = 'round__inflation', - RoundInitialized = 'round__initialized', - RoundLength = 'round__length', - RoundMintableTokens = 'round__mintableTokens', - RoundMovedStake = 'round__movedStake', - RoundNewStake = 'round__newStake', - RoundNumActiveTranscoders = 'round__numActiveTranscoders', - RoundParticipationRate = 'round__participationRate', - RoundStartBlock = 'round__startBlock', - RoundStartTimestamp = 'round__startTimestamp', - RoundTotalActiveStake = 'round__totalActiveStake', - RoundTotalSupply = 'round__totalSupply', - RoundVolumeEth = 'round__volumeETH', - RoundVolumeUsd = 'round__volumeUSD', - Sender = 'sender', - SenderDeposit = 'sender__deposit', - SenderFirstActiveDay = 'sender__firstActiveDay', - SenderFirstFundedDay = 'sender__firstFundedDay', - SenderId = 'sender__id', - SenderLastActiveDay = 'sender__lastActiveDay', - SenderLastFundedDay = 'sender__lastFundedDay', - SenderNinetyDayVolumeEth = 'sender__ninetyDayVolumeETH', - SenderReserve = 'sender__reserve', - SenderSixtyDayVolumeEth = 'sender__sixtyDayVolumeETH', - SenderThirtyDayVolumeEth = 'sender__thirtyDayVolumeETH', - SenderTotalVolumeEth = 'sender__totalVolumeETH', - SenderTotalVolumeUsd = 'sender__totalVolumeUSD', - Timestamp = 'timestamp', - Transaction = 'transaction', - TransactionBlockNumber = 'transaction__blockNumber', - TransactionFrom = 'transaction__from', - TransactionGasPrice = 'transaction__gasPrice', - TransactionGasUsed = 'transaction__gasUsed', - TransactionId = 'transaction__id', - TransactionTimestamp = 'transaction__timestamp', - TransactionTo = 'transaction__to' -} - -export type _Block_ = { - __typename: '_Block_'; - /** The hash of the block */ - hash?: Maybe; - /** The block number */ - number: Scalars['Int']; - /** The hash of the parent block */ - parentHash?: Maybe; - /** Integer representation of the timestamp stored in blocks for the chain */ - timestamp?: Maybe; -}; - -/** - * 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_'; - /** - * Information about a specific subgraph block. The hash of the block - * will be null if the _meta field has a block constraint that asks for - * a block number. It will be filled if the _meta field has no block constraint - * and therefore asks for the latest block - */ - block: _Block_; - /** The deployment ID */ - deployment: Scalars['String']; - /** If `true`, the subgraph encountered indexing errors at some past block */ - hasIndexingErrors: Scalars['Boolean']; -}; - -export enum _SubgraphErrorPolicy_ { - /** Data will be returned even if the subgraph has indexing errors */ - Allow = 'allow', - /** If the subgraph has indexing errors, data will be omitted. The default. */ - Deny = 'deny' -} - -export type AccountQueryVariables = Exact<{ - account: Scalars['ID']; -}>; - - -export type AccountQuery = { __typename: 'Query', delegator?: { __typename: 'Delegator', id: string, bondedAmount: string, principal: string, unbonded: string, withdrawnFees: string, startRound: string, lastClaimRound?: { __typename: 'Round', id: string } | null, unbondingLocks?: Array<{ __typename: 'UnbondingLock', id: string, amount: string, unbondingLockId: number, withdrawRound: string, delegate: { __typename: 'Transcoder', id: string } }> | null, delegate?: { __typename: 'Transcoder', id: string, active: boolean, status: TranscoderStatus, totalStake: string, feeShare: string, rewardCut: string, ninetyDayVolumeETH: string, pools?: Array<{ __typename: 'Pool', rewardTokens?: string | null }> | null } | null } | null, transcoder?: { __typename: 'Transcoder', id: string, active: boolean, feeShare: string, rewardCut: string, status: TranscoderStatus, totalStake: string, totalVolumeETH: string, activationTimestamp: number, activationRound: string, deactivationRound: string, thirtyDayVolumeETH: string, ninetyDayVolumeETH: string, lastRewardRound?: { __typename: 'Round', id: string } | null, pools?: Array<{ __typename: 'Pool', rewardTokens?: string | null }> | null, delegators?: Array<{ __typename: 'Delegator', id: string }> | null } | null, gateway?: { __typename: 'Broadcaster', id: string, deposit: string, reserve: string, totalVolumeETH: string, ninetyDayVolumeETH: string, firstActiveDay: number, lastActiveDay: number } | null, protocol?: { __typename: 'Protocol', id: string, totalSupply: string, totalActiveStake: string, participationRate: string, inflation: string, inflationChange: string, lptPriceEth: string, roundLength: string, currentRound: { __typename: 'Round', id: string } } | null }; - -export type AccountInactiveQueryVariables = Exact<{ - id: Scalars['ID']; -}>; - - -export type AccountInactiveQuery = { __typename: 'Query', delegator?: { __typename: 'Delegator', id: string, delegate?: { __typename: 'Transcoder', id: string, active: boolean } | null } | null, protocol?: { __typename: 'Protocol', id: string, pendingActivation: Array<{ __typename: 'Transcoder', id: string }> } | null }; - -export type CurrentRoundQueryVariables = Exact<{ [key: string]: never; }>; - - -export type CurrentRoundQuery = { __typename: 'Query', _meta?: { __typename: '_Meta_', block: { __typename: '_Block_', number: number } } | null, protocol?: { __typename: 'Protocol', id: string, currentRound: { __typename: 'Round', id: string, initialized: boolean, startBlock: string } } | null }; - -export type DaysQueryVariables = Exact<{ - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; -}>; - - -export type DaysQuery = { __typename: 'Query', days: Array<{ __typename: 'Day', date: number, volumeUSD: string, volumeETH: string, participationRate: string, inflation: string, activeTranscoderCount: string, delegatorsCount: string }> }; - -export type EventsQueryVariables = Exact<{ - first?: InputMaybe; -}>; - - -export type EventsQuery = { __typename: 'Query', transactions: Array<{ __typename: 'Transaction', events?: Array<{ __typename: 'BondEvent', additionalAmount: string, delegator: { __typename: 'Delegator', id: string }, newDelegate: { __typename: 'Transcoder', id: string }, oldDelegate?: { __typename: 'Transcoder', id: string } | null, round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number, from: string } } | { __typename: 'BurnEvent', round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number, from: string } } | { __typename: 'DepositFundedEvent', amount: string, sender: { __typename: 'Broadcaster', id: string }, round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number, from: string } } | { __typename: 'EarningsClaimedEvent', round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number, from: string } } | { __typename: 'MigrateDelegatorFinalizedEvent', l1Addr: string, l2Addr: string, stake: string, delegatedStake: string, fees: string, round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number, from: string } } | { __typename: 'MintEvent', round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number, from: string } } | { __typename: 'NewRoundEvent', transaction: { __typename: 'Transaction', from: string, id: string, timestamp: number }, round: { __typename: 'Round', id: string } } | { __typename: 'ParameterUpdateEvent', param: string, round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number, from: string } } | { __typename: 'PauseEvent', round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number, from: string } } | { __typename: 'PollCreatedEvent', endBlock: string, poll: { __typename: 'Poll', id: string }, round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number, from: string } } | { __typename: 'RebondEvent', amount: string, delegate: { __typename: 'Transcoder', id: string }, delegator: { __typename: 'Delegator', id: string }, round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number, from: string } } | { __typename: 'ReserveClaimedEvent', amount: string, claimant: { __typename: 'Transcoder', id: string }, reserveHolder: { __typename: 'Broadcaster', id: string }, round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number, from: string } } | { __typename: 'ReserveFundedEvent', amount: string, reserveHolder: { __typename: 'Broadcaster', id: string }, round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number, from: string } } | { __typename: 'RewardCallerSetEvent', rewardCaller: string, delegate: { __typename: 'Transcoder', id: string }, round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number, from: string } } | { __typename: 'RewardEvent', rewardTokens: string, delegate: { __typename: 'Transcoder', id: string }, round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number, from: string } } | { __typename: 'ServiceURIUpdateEvent', addr: string, serviceURI: string, round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number, from: string } } | { __typename: 'SetCurrentRewardTokensEvent', currentInflation: string, currentMintableTokens: string, round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number, from: string } } | { __typename: 'StakeClaimedEvent', stake: string, fees: string, round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number, from: string } } | { __typename: 'TranscoderActivatedEvent', activationRound: string, delegate: { __typename: 'Transcoder', id: string }, round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number, from: string } } | { __typename: 'TranscoderDeactivatedEvent', deactivationRound: string, delegate: { __typename: 'Transcoder', id: string }, round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number, from: string } } | { __typename: 'TranscoderEvictedEvent', delegate: { __typename: 'Transcoder', id: string }, round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number, from: string } } | { __typename: 'TranscoderResignedEvent', delegate: { __typename: 'Transcoder', id: string }, round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number, from: string } } | { __typename: 'TranscoderSlashedEvent', round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number, from: string } } | { __typename: 'TranscoderUpdateEvent', rewardCut: string, feeShare: string, delegate: { __typename: 'Transcoder', id: string }, round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number, from: string } } | { __typename: 'TransferBondEvent', amount: string, newDelegator: { __typename: 'Delegator', id: string }, oldDelegator: { __typename: 'Delegator', id: string }, round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number, from: string } } | { __typename: 'TreasuryVoteEvent', support: TreasuryVoteSupport, proposal: { __typename: 'TreasuryProposal', id: string, description: string }, round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number, from: string } } | { __typename: 'UnbondEvent', amount: string, delegate: { __typename: 'Transcoder', id: string }, delegator: { __typename: 'Delegator', id: string }, round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number, from: string } } | { __typename: 'UnpauseEvent', round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number, from: string } } | { __typename: 'VoteEvent', voter: string, choiceID: string, poll: { __typename: 'Poll', id: string }, round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number, from: string } } | { __typename: 'WinningTicketRedeemedEvent', faceValue: string, recipient: { __typename: 'Transcoder', id: string }, round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number, from: string } } | { __typename: 'WithdrawFeesEvent', amount: string, delegator: { __typename: 'Delegator', id: string }, round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number, from: string } } | { __typename: 'WithdrawStakeEvent', amount: string, delegator: { __typename: 'Delegator', id: string }, round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number, from: string } } | { __typename: 'WithdrawalEvent', deposit: string, reserve: string, sender: { __typename: 'Broadcaster', id: string }, round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number, from: string } }> | null }>, transcoders: Array<{ __typename: 'Transcoder', id: string }> }; - -export type GatewaySelfRedeemQueryVariables = Exact<{ - account: Scalars['String']; -}>; - - -export type GatewaySelfRedeemQuery = { __typename: 'Query', winningTicketRedeemedEvents: Array<{ __typename: 'WinningTicketRedeemedEvent', transaction: { __typename: 'Transaction', timestamp: number } }> }; - -export type GatewaysQueryVariables = Exact<{ - first: Scalars['Int']; - skip: Scalars['Int']; - minActiveDay: Scalars['Int']; -}>; - - -export type GatewaysQuery = { __typename: 'Query', gateways: Array<{ __typename: 'Broadcaster', id: string, deposit: string, reserve: string, totalVolumeETH: string, ninetyDayVolumeETH: string, firstActiveDay: number, lastActiveDay: number }> }; - -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; - skip?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; -}>; - - -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; - currentRoundString?: InputMaybe; - where?: InputMaybe; - first?: InputMaybe; - skip?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; -}>; - - -export type OrchestratorsQuery = { __typename: 'Query', transcoders: Array<{ __typename: 'Transcoder', id: string, totalVolumeETH: string, feeShare: string, feeShareUpdateTimestamp: number, activationTimestamp: number, activationRound: string, deactivationRound: string, rewardCut: string, rewardCutUpdateTimestamp: number, totalStake: string, thirtyDayVolumeETH: string, sixtyDayVolumeETH: string, ninetyDayVolumeETH: string, delegator?: { __typename: 'Delegator', startRound: string, bondedAmount: string, unbondingLocks?: Array<{ __typename: 'UnbondingLock', withdrawRound: string }> | null } | null, delegators?: Array<{ __typename: 'Delegator', id: string }> | null, pools?: Array<{ __typename: 'Pool', rewardTokens?: string | null }> | null }> }; - -export type OrchestratorsSortedQueryVariables = Exact<{ [key: string]: never; }>; - - -export type OrchestratorsSortedQuery = { __typename: 'Query', transcoders: Array<{ __typename: 'Transcoder', id: string, totalStake: string }> }; - -export type PollQueryVariables = Exact<{ - id: Scalars['ID']; -}>; - - -export type PollQuery = { __typename: 'Query', poll?: { __typename: 'Poll', id: string, proposal: string, endBlock: string, quorum: string, quota: string, tally?: { __typename: 'PollTally', yes: string, no: string } | null, votes: Array<{ __typename: 'Vote', id: string, choiceID?: PollChoice | null, voter: string, voteStake: string, nonVoteStake: string }> } | null }; - -export type PollsQueryVariables = Exact<{ [key: string]: never; }>; - - -export type PollsQuery = { __typename: 'Query', polls: Array<{ __typename: 'Poll', id: string, proposal: string, endBlock: string, quorum: string, quota: string, tally?: { __typename: 'PollTally', yes: string, no: string } | null, votes: Array<{ __typename: 'Vote', id: string }> }> }; - -export type ProtocolQueryVariables = Exact<{ [key: string]: never; }>; - - -export type ProtocolQuery = { __typename: 'Query', protocol?: { __typename: 'Protocol', id: string, totalVolumeUSD: string, totalVolumeETH: string, participationRate: string, inflation: string, activeTranscoderCount: string, delegatorsCount: string, lockPeriod: string, totalSupply: string, totalActiveStake: string, inflationChange: string, roundLength: string, lptPriceEth: string, paused: boolean, currentRound: { __typename: 'Round', id: string, mintableTokens: string, volumeETH: string, volumeUSD: string, pools?: Array<{ __typename: 'Pool', rewardTokens?: string | null }> | null } } | null }; - -export type ProtocolByBlockQueryVariables = Exact<{ - block?: InputMaybe; -}>; - - -export type ProtocolByBlockQuery = { __typename: 'Query', protocol?: { __typename: 'Protocol', id: string, totalVolumeUSD: string, totalVolumeETH: string, participationRate: string, inflation: string, activeTranscoderCount: string, delegatorsCount: string, lockPeriod: string, totalActiveStake: string } | null }; - -export type TransactionsQueryVariables = Exact<{ - account: Scalars['String']; - first: Scalars['Int']; - skip: Scalars['Int']; -}>; - - -export type TransactionsQuery = { __typename: 'Query', transactions: Array<{ __typename: 'Transaction', events?: Array<{ __typename: 'BondEvent', additionalAmount: string, delegator: { __typename: 'Delegator', id: string }, newDelegate: { __typename: 'Transcoder', id: string }, oldDelegate?: { __typename: 'Transcoder', id: string } | null, round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number } } | { __typename: 'BurnEvent', round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number } } | { __typename: 'DepositFundedEvent', amount: string, sender: { __typename: 'Broadcaster', id: string }, round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number } } | { __typename: 'EarningsClaimedEvent', round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number } } | { __typename: 'MigrateDelegatorFinalizedEvent', round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number } } | { __typename: 'MintEvent', round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number } } | { __typename: 'NewRoundEvent', round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number } } | { __typename: 'ParameterUpdateEvent', round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number } } | { __typename: 'PauseEvent', round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number } } | { __typename: 'PollCreatedEvent', round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number } } | { __typename: 'RebondEvent', amount: string, delegate: { __typename: 'Transcoder', id: string }, round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number } } | { __typename: 'ReserveClaimedEvent', round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number } } | { __typename: 'ReserveFundedEvent', amount: string, reserveHolder: { __typename: 'Broadcaster', id: string }, round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number } } | { __typename: 'RewardCallerSetEvent', rewardCaller: string, round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number } } | { __typename: 'RewardEvent', rewardTokens: string, round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number } } | { __typename: 'ServiceURIUpdateEvent', round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number } } | { __typename: 'SetCurrentRewardTokensEvent', round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number } } | { __typename: 'StakeClaimedEvent', round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number } } | { __typename: 'TranscoderActivatedEvent', round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number } } | { __typename: 'TranscoderDeactivatedEvent', round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number } } | { __typename: 'TranscoderEvictedEvent', round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number } } | { __typename: 'TranscoderResignedEvent', round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number } } | { __typename: 'TranscoderSlashedEvent', round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number } } | { __typename: 'TranscoderUpdateEvent', rewardCut: string, feeShare: string, round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number } } | { __typename: 'TransferBondEvent', round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number } } | { __typename: 'TreasuryVoteEvent', id: string, reason?: string | null, support: TreasuryVoteSupport, timestamp: number, weight: string, proposal: { __typename: 'TreasuryProposal', id: string, targets: Array, description: string }, treasuryVoter: { __typename: 'LivepeerAccount', id: string }, round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number } } | { __typename: 'UnbondEvent', amount: string, delegate: { __typename: 'Transcoder', id: string }, round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number } } | { __typename: 'UnpauseEvent', round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number } } | { __typename: 'VoteEvent', voter: string, choiceID: string, id: string, timestamp: number, poll: { __typename: 'Poll', id: string, proposal: string, endBlock: string, quorum: string, quota: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number }, round: { __typename: 'Round', id: string } } | { __typename: 'WinningTicketRedeemedEvent', round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number } } | { __typename: 'WithdrawFeesEvent', amount: string, round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number } } | { __typename: 'WithdrawStakeEvent', amount: string, round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number } } | { __typename: 'WithdrawalEvent', round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number } }> | null }>, winningTicketRedeemedEvents: Array<{ __typename: 'WinningTicketRedeemedEvent', id: string, faceValue: string, round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number }, sender: { __typename: 'Broadcaster', id: string }, recipient: { __typename: 'Transcoder', id: string } }>, rewardEvents: Array<{ __typename: 'RewardEvent', id: string, rewardTokens: string, round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number }, delegate: { __typename: 'Transcoder', id: string } }> }; - -export type TranscoderActivatedEventsQueryVariables = Exact<{ - where?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; -}>; - - -export type TranscoderActivatedEventsQuery = { __typename: 'Query', transcoderActivatedEvents: Array<{ __typename: 'TranscoderActivatedEvent', activationRound: string, id: string }> }; - -export type TranscoderUpdateEventsQueryVariables = Exact<{ - where?: InputMaybe; - first?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; -}>; - - -export type TranscoderUpdateEventsQuery = { __typename: 'Query', transcoderUpdateEvents: Array<{ __typename: 'TranscoderUpdateEvent', id: string, rewardCut: string, feeShare: string, timestamp: number, round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string } }> }; - -export type TreasuryProposalQueryVariables = Exact<{ - id: Scalars['ID']; -}>; - - -export type TreasuryProposalQuery = { __typename: 'Query', treasuryProposal?: { __typename: 'TreasuryProposal', id: string, description: string, calldatas: Array, targets: Array, values: Array, voteEnd: string, voteStart: string, proposer: { __typename: 'LivepeerAccount', id: string } } | null }; - -export type TreasuryProposalsQueryVariables = Exact<{ - where?: InputMaybe; - orderBy?: InputMaybe; - orderDirection?: InputMaybe; -}>; - - -export type TreasuryProposalsQuery = { __typename: 'Query', treasuryProposals: Array<{ __typename: 'TreasuryProposal', id: string, description: string, calldatas: Array, targets: Array, values: Array, voteEnd: string, voteStart: string, proposer: { __typename: 'LivepeerAccount', id: string } }> }; - -export type TreasuryVoteEventsQueryVariables = Exact<{ - first?: InputMaybe; - where?: InputMaybe; -}>; - - -export type TreasuryVoteEventsQuery = { __typename: 'Query', treasuryVoteEvents: Array<{ __typename: 'TreasuryVoteEvent', id: string, reason?: string | null, support: TreasuryVoteSupport, timestamp: number, weight: string, proposal: { __typename: 'TreasuryProposal', id: string, targets: Array, description: string }, voter: { __typename: 'LivepeerAccount', id: string }, round: { __typename: 'Round', id: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number } }> }; - -export type TreasuryVotesQueryVariables = Exact<{ - where?: InputMaybe; -}>; - - -export type TreasuryVotesQuery = { __typename: 'Query', treasuryVotes: Array<{ __typename: 'TreasuryVote', id: string, reason?: string | null, support: TreasuryVoteSupport, weight: string, proposal: { __typename: 'TreasuryProposal', id: string, voteStart: string, voteEnd: string }, voter: { __typename: 'LivepeerAccount', id: string, delegate?: { __typename: 'Transcoder', id: string, activationRound: string, deactivationRound: string } | null } }> }; - -export type VoteQueryVariables = Exact<{ - id: Scalars['ID']; -}>; - - -export type VoteQuery = { __typename: 'Query', vote?: { __typename: 'Vote', choiceID?: PollChoice | null, voteStake: string, nonVoteStake: string, poll?: { __typename: 'Poll', id: string, votes: Array<{ __typename: 'Vote', voteStake: string, id: string }> } | null } | null }; - -export type VoteEventsQueryVariables = Exact<{ - first?: InputMaybe; - where?: InputMaybe; -}>; - - -export type VoteEventsQuery = { __typename: 'Query', voteEvents: Array<{ __typename: 'VoteEvent', id: string, choiceID: string, voter: string, timestamp: number, poll: { __typename: 'Poll', id: string, proposal: string }, transaction: { __typename: 'Transaction', id: string, timestamp: number } }> }; - - -export const AccountDocument = gql` - query account($account: ID!) { - delegator(id: $account) { - id - bondedAmount - principal - unbonded - withdrawnFees - startRound - lastClaimRound { - id - } - unbondingLocks { - id - amount - unbondingLockId - withdrawRound - delegate { - id - } - } - delegate { - id - active - status - totalStake - feeShare - rewardCut - ninetyDayVolumeETH - pools(first: 30, skip: 1, orderBy: id, orderDirection: desc) { - rewardTokens - } - } - } - transcoder(id: $account) { - id - active - feeShare - rewardCut - status - active - totalStake - totalVolumeETH - activationTimestamp - activationRound - deactivationRound - thirtyDayVolumeETH - ninetyDayVolumeETH - lastRewardRound { - id - } - pools(first: 30, skip: 1, orderBy: id, orderDirection: desc) { - rewardTokens - } - delegators(first: 1000) { - id - } - } - gateway: broadcaster(id: $account) { - id - deposit - reserve - totalVolumeETH - ninetyDayVolumeETH - firstActiveDay - lastActiveDay - } - protocol(id: "0") { - id - totalSupply - totalActiveStake - participationRate - inflation - inflationChange - lptPriceEth - roundLength - currentRound { - id - } - } -} - `; - -/** - * __useAccountQuery__ - * - * To run a query within a React component, call `useAccountQuery` and pass it any options that fit your needs. - * When your component renders, `useAccountQuery` 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 } = useAccountQuery({ - * variables: { - * account: // value for 'account' - * }, - * }); - */ -export function useAccountQuery(baseOptions: Apollo.QueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useQuery(AccountDocument, options); - } -export function useAccountLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useLazyQuery(AccountDocument, options); - } -export type AccountQueryHookResult = ReturnType; -export type AccountLazyQueryHookResult = ReturnType; -export type AccountQueryResult = Apollo.QueryResult; -export const AccountInactiveDocument = gql` - query accountInactive($id: ID!) { - delegator(id: $id) { - id - delegate { - id - active - } - } - protocol(id: "0") { - id - pendingActivation { - id - } - } -} - `; - -/** - * __useAccountInactiveQuery__ - * - * To run a query within a React component, call `useAccountInactiveQuery` and pass it any options that fit your needs. - * When your component renders, `useAccountInactiveQuery` 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 } = useAccountInactiveQuery({ - * variables: { - * id: // value for 'id' - * }, - * }); - */ -export function useAccountInactiveQuery(baseOptions: Apollo.QueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useQuery(AccountInactiveDocument, options); - } -export function useAccountInactiveLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useLazyQuery(AccountInactiveDocument, options); - } -export type AccountInactiveQueryHookResult = ReturnType; -export type AccountInactiveLazyQueryHookResult = ReturnType; -export type AccountInactiveQueryResult = Apollo.QueryResult; -export const CurrentRoundDocument = gql` - query currentRound { - _meta { - block { - number - } - } - protocol(id: 0) { - id - currentRound { - id - initialized - startBlock - } - } -} - `; - -/** - * __useCurrentRoundQuery__ - * - * To run a query within a React component, call `useCurrentRoundQuery` and pass it any options that fit your needs. - * When your component renders, `useCurrentRoundQuery` 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 } = useCurrentRoundQuery({ - * variables: { - * }, - * }); - */ -export function useCurrentRoundQuery(baseOptions?: Apollo.QueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useQuery(CurrentRoundDocument, options); - } -export function useCurrentRoundLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useLazyQuery(CurrentRoundDocument, options); - } -export type CurrentRoundQueryHookResult = ReturnType; -export type CurrentRoundLazyQueryHookResult = ReturnType; -export type CurrentRoundQueryResult = Apollo.QueryResult; -export const DaysDocument = gql` - query days($first: Int, $orderBy: Day_orderBy, $orderDirection: OrderDirection) { - days(first: $first, orderBy: $orderBy, orderDirection: $orderDirection) { - date - volumeUSD - volumeETH - participationRate - inflation - activeTranscoderCount - delegatorsCount - } -} - `; - -/** - * __useDaysQuery__ - * - * To run a query within a React component, call `useDaysQuery` and pass it any options that fit your needs. - * When your component renders, `useDaysQuery` 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 } = useDaysQuery({ - * variables: { - * first: // value for 'first' - * orderBy: // value for 'orderBy' - * orderDirection: // value for 'orderDirection' - * }, - * }); - */ -export function useDaysQuery(baseOptions?: Apollo.QueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useQuery(DaysDocument, options); - } -export function useDaysLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useLazyQuery(DaysDocument, options); - } -export type DaysQueryHookResult = ReturnType; -export type DaysLazyQueryHookResult = ReturnType; -export type DaysQueryResult = Apollo.QueryResult; -export const EventsDocument = gql` - query events($first: Int) { - transactions(first: $first, orderBy: timestamp, orderDirection: desc) { - events { - __typename - round { - id - } - transaction { - id - timestamp - from - } - ... on BondEvent { - delegator { - id - } - newDelegate { - id - } - oldDelegate { - id - } - additionalAmount - } - ... on UnbondEvent { - delegate { - id - } - delegator { - id - } - amount - } - ... on RebondEvent { - delegate { - id - } - delegator { - id - } - amount - } - ... on TranscoderUpdateEvent { - delegate { - id - } - rewardCut - feeShare - } - ... on RewardEvent { - delegate { - id - } - rewardTokens - } - ... on RewardCallerSetEvent { - delegate { - id - } - rewardCaller - } - ... on WithdrawStakeEvent { - delegator { - id - } - amount - } - ... on WithdrawFeesEvent { - delegator { - id - } - amount - } - ... on WinningTicketRedeemedEvent { - recipient { - id - } - faceValue - } - ... on DepositFundedEvent { - sender { - id - } - amount - } - ... on ReserveFundedEvent { - reserveHolder { - id - } - amount - } - ... on TransferBondEvent { - amount - newDelegator { - id - } - oldDelegator { - id - } - } - ... on TranscoderActivatedEvent { - activationRound - delegate { - id - } - } - ... on TranscoderDeactivatedEvent { - deactivationRound - delegate { - id - } - } - ... on TranscoderResignedEvent { - delegate { - id - } - } - ... on TranscoderEvictedEvent { - delegate { - id - } - } - ... on NewRoundEvent { - transaction { - from - } - } - ... on ReserveClaimedEvent { - claimant { - id - } - reserveHolder { - id - } - amount - } - ... on WithdrawalEvent { - sender { - id - } - deposit - reserve - } - ... on SetCurrentRewardTokensEvent { - currentInflation - currentMintableTokens - } - ... on ParameterUpdateEvent { - param - } - ... on VoteEvent { - voter - choiceID - poll { - id - } - } - ... on PollCreatedEvent { - poll { - id - } - endBlock - } - ... on ServiceURIUpdateEvent { - addr - serviceURI - } - ... on MigrateDelegatorFinalizedEvent { - l1Addr - l2Addr - stake - delegatedStake - fees - } - ... on StakeClaimedEvent { - stake - fees - } - ... on TreasuryVoteEvent { - support - proposal { - id - description - } - } - } - } - transcoders(where: {active: true}) { - id - } -} - `; - -/** - * __useEventsQuery__ - * - * To run a query within a React component, call `useEventsQuery` and pass it any options that fit your needs. - * When your component renders, `useEventsQuery` 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 } = useEventsQuery({ - * variables: { - * first: // value for 'first' - * }, - * }); - */ -export function useEventsQuery(baseOptions?: Apollo.QueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useQuery(EventsDocument, options); - } -export function useEventsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useLazyQuery(EventsDocument, options); - } -export type EventsQueryHookResult = ReturnType; -export type EventsLazyQueryHookResult = ReturnType; -export type EventsQueryResult = Apollo.QueryResult; -export const GatewaySelfRedeemDocument = gql` - query gatewaySelfRedeem($account: String!) { - winningTicketRedeemedEvents( - first: 1 - orderBy: timestamp - orderDirection: desc - where: {sender: $account, recipient: $account} - ) { - transaction { - timestamp - } - } -} - `; - -/** - * __useGatewaySelfRedeemQuery__ - * - * To run a query within a React component, call `useGatewaySelfRedeemQuery` and pass it any options that fit your needs. - * When your component renders, `useGatewaySelfRedeemQuery` 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 } = useGatewaySelfRedeemQuery({ - * variables: { - * account: // value for 'account' - * }, - * }); - */ -export function useGatewaySelfRedeemQuery(baseOptions: Apollo.QueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useQuery(GatewaySelfRedeemDocument, options); - } -export function useGatewaySelfRedeemLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useLazyQuery(GatewaySelfRedeemDocument, options); - } -export type GatewaySelfRedeemQueryHookResult = ReturnType; -export type GatewaySelfRedeemLazyQueryHookResult = ReturnType; -export type GatewaySelfRedeemQueryResult = Apollo.QueryResult; -export const GatewaysDocument = gql` - query gateways($first: Int!, $skip: Int!, $minActiveDay: Int!) { - gateways: broadcasters( - first: $first - skip: $skip - orderBy: ninetyDayVolumeETH - orderDirection: desc - where: {or: [{ninetyDayVolumeETH_gt: "0"}, {firstActiveDay_gte: $minActiveDay}]} - ) { - id - deposit - reserve - totalVolumeETH - ninetyDayVolumeETH - firstActiveDay - lastActiveDay - } -} - `; - -/** - * __useGatewaysQuery__ - * - * To run a query within a React component, call `useGatewaysQuery` and pass it any options that fit your needs. - * When your component renders, `useGatewaysQuery` 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 } = useGatewaysQuery({ - * variables: { - * first: // value for 'first' - * skip: // value for 'skip' - * minActiveDay: // value for 'minActiveDay' - * }, - * }); - */ -export function useGatewaysQuery(baseOptions: Apollo.QueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useQuery(GatewaysDocument, options); - } -export function useGatewaysLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useLazyQuery(GatewaysDocument, options); - } -export type GatewaysQueryHookResult = ReturnType; -export type GatewaysLazyQueryHookResult = ReturnType; -export type GatewaysQueryResult = Apollo.QueryResult; -export const MetaDocument = gql` - query meta { - _meta { - block { - number - } - hasIndexingErrors - } -} - `; - -/** - * __useMetaQuery__ - * - * To run a query within a React component, call `useMetaQuery` and pass it any options that fit your needs. - * When your component renders, `useMetaQuery` 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 } = useMetaQuery({ - * variables: { - * }, - * }); - */ -export function useMetaQuery(baseOptions?: Apollo.QueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useQuery(MetaDocument, options); - } -export function useMetaLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useLazyQuery(MetaDocument, options); - } -export type MetaQueryHookResult = ReturnType; -export type MetaLazyQueryHookResult = ReturnType; -export type MetaQueryResult = Apollo.QueryResult; -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) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useQuery(OrchestratorDelegatorsDocument, options); - } -export function useOrchestratorDelegatorsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useLazyQuery(OrchestratorDelegatorsDocument, options); - } -export type OrchestratorDelegatorsQueryHookResult = ReturnType; -export type OrchestratorDelegatorsLazyQueryHookResult = ReturnType; -export type OrchestratorDelegatorsQueryResult = Apollo.QueryResult; -export const OrchestratorsDocument = gql` - query orchestrators($currentRound: BigInt, $currentRoundString: String, $where: Transcoder_filter, $first: Int, $skip: Int, $orderBy: Transcoder_orderBy, $orderDirection: OrderDirection) { - transcoders( - where: {activationRound_lte: $currentRound, deactivationRound_gt: $currentRound} - first: $first - skip: $skip - orderBy: thirtyDayVolumeETH - orderDirection: desc - ) { - id - totalVolumeETH - feeShare - feeShareUpdateTimestamp - activationTimestamp - activationRound - deactivationRound - rewardCut - rewardCutUpdateTimestamp - totalStake - delegator { - startRound - bondedAmount - unbondingLocks { - withdrawRound - } - } - delegators(first: 1000) { - id - } - pools( - first: 90 - orderBy: id - orderDirection: desc - where: {round_not: $currentRoundString} - ) { - rewardTokens - } - thirtyDayVolumeETH - sixtyDayVolumeETH - ninetyDayVolumeETH - } -} - `; - -/** - * __useOrchestratorsQuery__ - * - * To run a query within a React component, call `useOrchestratorsQuery` and pass it any options that fit your needs. - * When your component renders, `useOrchestratorsQuery` 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 } = useOrchestratorsQuery({ - * variables: { - * currentRound: // value for 'currentRound' - * currentRoundString: // value for 'currentRoundString' - * where: // value for 'where' - * first: // value for 'first' - * skip: // value for 'skip' - * orderBy: // value for 'orderBy' - * orderDirection: // value for 'orderDirection' - * }, - * }); - */ -export function useOrchestratorsQuery(baseOptions?: Apollo.QueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useQuery(OrchestratorsDocument, options); - } -export function useOrchestratorsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useLazyQuery(OrchestratorsDocument, options); - } -export type OrchestratorsQueryHookResult = ReturnType; -export type OrchestratorsLazyQueryHookResult = ReturnType; -export type OrchestratorsQueryResult = Apollo.QueryResult; -export const OrchestratorsSortedDocument = gql` - query orchestratorsSorted { - transcoders(orderDirection: desc, orderBy: totalStake, where: {active: true}) { - id - totalStake - } -} - `; - -/** - * __useOrchestratorsSortedQuery__ - * - * To run a query within a React component, call `useOrchestratorsSortedQuery` and pass it any options that fit your needs. - * When your component renders, `useOrchestratorsSortedQuery` 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 } = useOrchestratorsSortedQuery({ - * variables: { - * }, - * }); - */ -export function useOrchestratorsSortedQuery(baseOptions?: Apollo.QueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useQuery(OrchestratorsSortedDocument, options); - } -export function useOrchestratorsSortedLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useLazyQuery(OrchestratorsSortedDocument, options); - } -export type OrchestratorsSortedQueryHookResult = ReturnType; -export type OrchestratorsSortedLazyQueryHookResult = ReturnType; -export type OrchestratorsSortedQueryResult = Apollo.QueryResult; -export const PollDocument = gql` - query poll($id: ID!) { - poll(id: $id) { - id - proposal - endBlock - quorum - quota - tally { - yes - no - } - votes { - id - choiceID - voter - voteStake - nonVoteStake - } - } -} - `; - -/** - * __usePollQuery__ - * - * To run a query within a React component, call `usePollQuery` and pass it any options that fit your needs. - * When your component renders, `usePollQuery` 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 } = usePollQuery({ - * variables: { - * id: // value for 'id' - * }, - * }); - */ -export function usePollQuery(baseOptions: Apollo.QueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useQuery(PollDocument, options); - } -export function usePollLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useLazyQuery(PollDocument, options); - } -export type PollQueryHookResult = ReturnType; -export type PollLazyQueryHookResult = ReturnType; -export type PollQueryResult = Apollo.QueryResult; -export const PollsDocument = gql` - query polls { - polls { - id - proposal - endBlock - quorum - quota - tally { - yes - no - } - votes { - id - } - } -} - `; - -/** - * __usePollsQuery__ - * - * To run a query within a React component, call `usePollsQuery` and pass it any options that fit your needs. - * When your component renders, `usePollsQuery` 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 } = usePollsQuery({ - * variables: { - * }, - * }); - */ -export function usePollsQuery(baseOptions?: Apollo.QueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useQuery(PollsDocument, options); - } -export function usePollsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useLazyQuery(PollsDocument, options); - } -export type PollsQueryHookResult = ReturnType; -export type PollsLazyQueryHookResult = ReturnType; -export type PollsQueryResult = Apollo.QueryResult; -export const ProtocolDocument = gql` - query protocol { - protocol(id: "0") { - id - totalVolumeUSD - totalVolumeETH - participationRate - inflation - activeTranscoderCount - delegatorsCount - lockPeriod - totalSupply - totalActiveStake - inflationChange - roundLength - lptPriceEth - paused - currentRound { - id - mintableTokens - volumeETH - volumeUSD - pools { - rewardTokens - } - } - } -} - `; - -/** - * __useProtocolQuery__ - * - * To run a query within a React component, call `useProtocolQuery` and pass it any options that fit your needs. - * When your component renders, `useProtocolQuery` 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 } = useProtocolQuery({ - * variables: { - * }, - * }); - */ -export function useProtocolQuery(baseOptions?: Apollo.QueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useQuery(ProtocolDocument, options); - } -export function useProtocolLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useLazyQuery(ProtocolDocument, options); - } -export type ProtocolQueryHookResult = ReturnType; -export type ProtocolLazyQueryHookResult = ReturnType; -export type ProtocolQueryResult = Apollo.QueryResult; -export const ProtocolByBlockDocument = gql` - query protocolByBlock($block: Block_height) { - protocol(id: 0, block: $block) { - id - totalVolumeUSD - totalVolumeETH - participationRate - inflation - activeTranscoderCount - delegatorsCount - lockPeriod - totalActiveStake - } -} - `; - -/** - * __useProtocolByBlockQuery__ - * - * To run a query within a React component, call `useProtocolByBlockQuery` and pass it any options that fit your needs. - * When your component renders, `useProtocolByBlockQuery` 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 } = useProtocolByBlockQuery({ - * variables: { - * block: // value for 'block' - * }, - * }); - */ -export function useProtocolByBlockQuery(baseOptions?: Apollo.QueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useQuery(ProtocolByBlockDocument, options); - } -export function useProtocolByBlockLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useLazyQuery(ProtocolByBlockDocument, options); - } -export type ProtocolByBlockQueryHookResult = ReturnType; -export type ProtocolByBlockLazyQueryHookResult = ReturnType; -export type ProtocolByBlockQueryResult = Apollo.QueryResult; -export const TransactionsDocument = gql` - query transactions($account: String!, $first: Int!, $skip: Int!) { - transactions( - orderBy: timestamp - orderDirection: desc - where: {from: $account} - first: $first - skip: $skip - ) { - events { - __typename - round { - id - } - transaction { - id - timestamp - } - ... on BondEvent { - delegator { - id - } - newDelegate { - id - } - oldDelegate { - id - } - additionalAmount - } - ... on UnbondEvent { - delegate { - id - } - amount - } - ... on RebondEvent { - delegate { - id - } - amount - } - ... on TranscoderUpdateEvent { - rewardCut - feeShare - } - ... on RewardEvent { - rewardTokens - } - ... on RewardCallerSetEvent { - rewardCaller - } - ... on WithdrawStakeEvent { - amount - } - ... on WithdrawFeesEvent { - amount - } - ... on DepositFundedEvent { - sender { - id - } - amount - } - ... on ReserveFundedEvent { - reserveHolder { - id - } - amount - } - ... on TreasuryVoteEvent { - id - reason - support - timestamp - proposal { - id - targets - description - } - treasuryVoter: voter { - id - } - weight - round { - id - } - transaction { - id - timestamp - } - } - ... on VoteEvent { - voter - poll { - id - proposal - endBlock - quorum - quota - } - transaction { - id - timestamp - } - choiceID - id - round { - id - } - timestamp - } - } - } - winningTicketRedeemedEvents( - orderBy: timestamp - orderDirection: desc - where: {or: [{recipient: $account}, {sender: $account}]} - first: $first - skip: $skip - ) { - __typename - id - round { - id - } - transaction { - id - timestamp - } - faceValue - sender { - id - } - recipient { - id - } - } - rewardEvents( - orderBy: timestamp - orderDirection: desc - where: {or: [{delegate: $account}, {transaction_: {from: $account}}]} - first: $first - skip: $skip - ) { - __typename - id - round { - id - } - transaction { - id - timestamp - } - rewardTokens - delegate { - id - } - } -} - `; - -/** - * __useTransactionsQuery__ - * - * To run a query within a React component, call `useTransactionsQuery` and pass it any options that fit your needs. - * When your component renders, `useTransactionsQuery` 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 } = useTransactionsQuery({ - * variables: { - * account: // value for 'account' - * first: // value for 'first' - * skip: // value for 'skip' - * }, - * }); - */ -export function useTransactionsQuery(baseOptions: Apollo.QueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useQuery(TransactionsDocument, options); - } -export function useTransactionsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useLazyQuery(TransactionsDocument, options); - } -export type TransactionsQueryHookResult = ReturnType; -export type TransactionsLazyQueryHookResult = ReturnType; -export type TransactionsQueryResult = Apollo.QueryResult; -export const TranscoderActivatedEventsDocument = gql` - query transcoderActivatedEvents($where: TranscoderActivatedEvent_filter, $first: Int, $orderBy: TranscoderActivatedEvent_orderBy, $orderDirection: OrderDirection) { - transcoderActivatedEvents( - where: $where - first: $first - orderBy: $orderBy - orderDirection: $orderDirection - ) { - activationRound - id - } -} - `; - -/** - * __useTranscoderActivatedEventsQuery__ - * - * To run a query within a React component, call `useTranscoderActivatedEventsQuery` and pass it any options that fit your needs. - * When your component renders, `useTranscoderActivatedEventsQuery` 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 } = useTranscoderActivatedEventsQuery({ - * variables: { - * where: // value for 'where' - * first: // value for 'first' - * orderBy: // value for 'orderBy' - * orderDirection: // value for 'orderDirection' - * }, - * }); - */ -export function useTranscoderActivatedEventsQuery(baseOptions?: Apollo.QueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useQuery(TranscoderActivatedEventsDocument, options); - } -export function useTranscoderActivatedEventsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useLazyQuery(TranscoderActivatedEventsDocument, options); - } -export type TranscoderActivatedEventsQueryHookResult = ReturnType; -export type TranscoderActivatedEventsLazyQueryHookResult = ReturnType; -export type TranscoderActivatedEventsQueryResult = Apollo.QueryResult; -export const TranscoderUpdateEventsDocument = gql` - query transcoderUpdateEvents($where: TranscoderUpdateEvent_filter, $first: Int, $orderBy: TranscoderUpdateEvent_orderBy, $orderDirection: OrderDirection) { - transcoderUpdateEvents( - where: $where - first: $first - orderBy: $orderBy - orderDirection: $orderDirection - ) { - id - rewardCut - feeShare - timestamp - round { - id - } - transaction { - id - } - } -} - `; - -/** - * __useTranscoderUpdateEventsQuery__ - * - * To run a query within a React component, call `useTranscoderUpdateEventsQuery` and pass it any options that fit your needs. - * When your component renders, `useTranscoderUpdateEventsQuery` 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 } = useTranscoderUpdateEventsQuery({ - * variables: { - * where: // value for 'where' - * first: // value for 'first' - * orderBy: // value for 'orderBy' - * orderDirection: // value for 'orderDirection' - * }, - * }); - */ -export function useTranscoderUpdateEventsQuery(baseOptions?: Apollo.QueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useQuery(TranscoderUpdateEventsDocument, options); - } -export function useTranscoderUpdateEventsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useLazyQuery(TranscoderUpdateEventsDocument, options); - } -export type TranscoderUpdateEventsQueryHookResult = ReturnType; -export type TranscoderUpdateEventsLazyQueryHookResult = ReturnType; -export type TranscoderUpdateEventsQueryResult = Apollo.QueryResult; -export const TreasuryProposalDocument = gql` - query treasuryProposal($id: ID!) { - treasuryProposal(id: $id) { - id - description - calldatas - targets - values - voteEnd - voteStart - proposer { - id - } - } -} - `; - -/** - * __useTreasuryProposalQuery__ - * - * To run a query within a React component, call `useTreasuryProposalQuery` and pass it any options that fit your needs. - * When your component renders, `useTreasuryProposalQuery` 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 } = useTreasuryProposalQuery({ - * variables: { - * id: // value for 'id' - * }, - * }); - */ -export function useTreasuryProposalQuery(baseOptions: Apollo.QueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useQuery(TreasuryProposalDocument, options); - } -export function useTreasuryProposalLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useLazyQuery(TreasuryProposalDocument, options); - } -export type TreasuryProposalQueryHookResult = ReturnType; -export type TreasuryProposalLazyQueryHookResult = ReturnType; -export type TreasuryProposalQueryResult = Apollo.QueryResult; -export const TreasuryProposalsDocument = gql` - query treasuryProposals($where: TreasuryProposal_filter, $orderBy: TreasuryProposal_orderBy = voteStart, $orderDirection: OrderDirection = desc) { - treasuryProposals( - where: $where - orderBy: $orderBy - orderDirection: $orderDirection - ) { - id - description - calldatas - targets - values - voteEnd - voteStart - proposer { - id - } - } -} - `; - -/** - * __useTreasuryProposalsQuery__ - * - * To run a query within a React component, call `useTreasuryProposalsQuery` and pass it any options that fit your needs. - * When your component renders, `useTreasuryProposalsQuery` 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 } = useTreasuryProposalsQuery({ - * variables: { - * where: // value for 'where' - * orderBy: // value for 'orderBy' - * orderDirection: // value for 'orderDirection' - * }, - * }); - */ -export function useTreasuryProposalsQuery(baseOptions?: Apollo.QueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useQuery(TreasuryProposalsDocument, options); - } -export function useTreasuryProposalsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useLazyQuery(TreasuryProposalsDocument, options); - } -export type TreasuryProposalsQueryHookResult = ReturnType; -export type TreasuryProposalsLazyQueryHookResult = ReturnType; -export type TreasuryProposalsQueryResult = Apollo.QueryResult; -export const TreasuryVoteEventsDocument = gql` - query treasuryVoteEvents($first: Int, $where: TreasuryVoteEvent_filter) { - treasuryVoteEvents( - orderBy: timestamp - orderDirection: desc - first: $first - where: $where - ) { - id - reason - support - timestamp - proposal { - id - targets - description - } - voter { - id - } - weight - round { - id - } - transaction { - id - timestamp - } - } -} - `; - -/** - * __useTreasuryVoteEventsQuery__ - * - * To run a query within a React component, call `useTreasuryVoteEventsQuery` and pass it any options that fit your needs. - * When your component renders, `useTreasuryVoteEventsQuery` 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 } = useTreasuryVoteEventsQuery({ - * variables: { - * first: // value for 'first' - * where: // value for 'where' - * }, - * }); - */ -export function useTreasuryVoteEventsQuery(baseOptions?: Apollo.QueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useQuery(TreasuryVoteEventsDocument, options); - } -export function useTreasuryVoteEventsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useLazyQuery(TreasuryVoteEventsDocument, options); - } -export type TreasuryVoteEventsQueryHookResult = ReturnType; -export type TreasuryVoteEventsLazyQueryHookResult = ReturnType; -export type TreasuryVoteEventsQueryResult = Apollo.QueryResult; -export const TreasuryVotesDocument = gql` - query treasuryVotes($where: TreasuryVote_filter) { - treasuryVotes(where: $where) { - id - reason - support - weight - proposal { - id - voteStart - voteEnd - } - voter { - id - delegate { - id - activationRound - deactivationRound - } - } - } -} - `; - -/** - * __useTreasuryVotesQuery__ - * - * To run a query within a React component, call `useTreasuryVotesQuery` and pass it any options that fit your needs. - * When your component renders, `useTreasuryVotesQuery` 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 } = useTreasuryVotesQuery({ - * variables: { - * where: // value for 'where' - * }, - * }); - */ -export function useTreasuryVotesQuery(baseOptions?: Apollo.QueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useQuery(TreasuryVotesDocument, options); - } -export function useTreasuryVotesLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useLazyQuery(TreasuryVotesDocument, options); - } -export type TreasuryVotesQueryHookResult = ReturnType; -export type TreasuryVotesLazyQueryHookResult = ReturnType; -export type TreasuryVotesQueryResult = Apollo.QueryResult; -export const VoteDocument = gql` - query vote($id: ID!) { - vote(id: $id) { - choiceID - voteStake - nonVoteStake - poll { - id - votes { - voteStake - id - } - } - } -} - `; - -/** - * __useVoteQuery__ - * - * To run a query within a React component, call `useVoteQuery` and pass it any options that fit your needs. - * When your component renders, `useVoteQuery` 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 } = useVoteQuery({ - * variables: { - * id: // value for 'id' - * }, - * }); - */ -export function useVoteQuery(baseOptions: Apollo.QueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useQuery(VoteDocument, options); - } -export function useVoteLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useLazyQuery(VoteDocument, options); - } -export type VoteQueryHookResult = ReturnType; -export type VoteLazyQueryHookResult = ReturnType; -export type VoteQueryResult = Apollo.QueryResult; -export const VoteEventsDocument = gql` - query voteEvents($first: Int, $where: VoteEvent_filter) { - voteEvents( - orderBy: timestamp - orderDirection: desc - first: $first - where: $where - ) { - id - choiceID - voter - timestamp - poll { - id - proposal - } - transaction { - id - timestamp - } - } -} - `; - -/** - * __useVoteEventsQuery__ - * - * To run a query within a React component, call `useVoteEventsQuery` and pass it any options that fit your needs. - * When your component renders, `useVoteEventsQuery` 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 } = useVoteEventsQuery({ - * variables: { - * first: // value for 'first' - * where: // value for 'where' - * }, - * }); - */ -export function useVoteEventsQuery(baseOptions?: Apollo.QueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useQuery(VoteEventsDocument, options); - } -export function useVoteEventsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useLazyQuery(VoteEventsDocument, options); - } -export type VoteEventsQueryHookResult = ReturnType; -export type VoteEventsLazyQueryHookResult = ReturnType; -export type VoteEventsQueryResult = Apollo.QueryResult; \ No newline at end of file diff --git a/app/accounts/[address]/page.tsx b/app/accounts/[address]/page.tsx new file mode 100644 index 00000000..3cdbd754 --- /dev/null +++ b/app/accounts/[address]/page.tsx @@ -0,0 +1,272 @@ +"use client"; + +import { + Check, + ChevronDown, + Copy, + ExternalLink, + Pencil, + Plus, + Server, + Trash2, + Waypoints, +} from "lucide-react"; +import Link from "next/link"; +import { notFound, useParams } from "next/navigation"; +import { useMemo, useState } from "react"; +import { createPortal } from "react-dom"; +import { toast } from "sonner"; +import { isAddress } from "viem"; + +import { Avatar, CopyButton, useIdentity } from "@/components/identity"; +import { Page } from "@/components/page"; +import { PAGE_INFO_SLOT, useSlot } from "@/components/page-header"; +import { RenameAddressDialog } from "@/components/portfolio/addresses"; +import { PortfolioView } from "@/components/portfolio/portfolio-view"; +import { Button } from "@/components/ui/button"; +import { + Menu, + MenuContent, + MenuItem, + MenuSeparator, + MenuTrigger, +} from "@/components/ui/misc"; +import { addressUrl } from "@/lib/config"; +import { shortAddress } from "@/lib/format"; +import { useGateway, useOrchestrators } from "@/lib/hooks/queries"; +import { useAddresses, usePortfolioAccounts } from "@/lib/hooks/watchlist"; +import { routeParam } from "@/lib/params"; + +export default function AccountPage() { + const params = useParams<{ address: string }>(); + const raw = routeParam(params.address); + const address = raw.toLowerCase(); + const valid = isAddress(address); + const { name, avatar } = useIdentity(valid ? address : null); + const { walletAddress, inPortfolio } = usePortfolioAccounts(); + const { list, add, remove } = useAddresses(); + const { data: orchestrators } = useOrchestrators(); + const { data: gateway } = useGateway(valid ? address : null); + const [renaming, setRenaming] = useState(false); + const label = list.find((w) => w.address === address)?.label; + + const accounts = useMemo( + () => [ + { + address, + label, + connected: address === walletAddress, + }, + ], + [address, walletAddress, label] + ); + + const infoSlot = useSlot(PAGE_INFO_SLOT); + if (!valid) notFound(); + + const isConnected = address === walletAddress; + const saved = inPortfolio(address); + const isOrchestrator = orchestrators?.some((o) => o.id === address); + + const actions = ( + <> + {isOrchestrator && ( + + )} + {gateway && ( + + )} + {!isConnected && + (saved ? ( + + } + aria-label="In your portfolio: rename or remove" + > + In your portfolio + + + + setRenaming(true)}> + Rename… + + + { + remove(address); + toast(`Removed ${label ?? name ?? shortAddress(address)}`, { + action: { + label: "Undo", + onClick: () => add(address, label), + }, + }); + }} + > + Remove from portfolio + + + + ) : ( + + ))} + + ); + // On desktop the app header already names the account (the breadcrumb), + // so the page's own header is for phones. There, the name itself opens a + // menu of what you can do with the address (Linear-style), and the page's + // buttons join the header's right side; the page opens on the balance. + const removeFromPortfolio = () => { + remove(address); + toast(`Removed ${label ?? name ?? shortAddress(address)}`, { + action: { label: "Undo", onClick: () => add(address, label) }, + }); + }; + const nameMenu = ( + + {/* The breadcrumb's last step: the account's name, which opens what + you can do with the address. */} + + + + {label ?? name ?? shortAddress(address)} + + + + + {/* Saving it to your portfolio leads, while it isn't saved. */} + {!isConnected && !saved && ( + <> + { + add(address, name ?? undefined); + toast( + `Added ${name ?? shortAddress(address)} to your portfolio` + ); + }} + > + Add to portfolio + + + + )} + { + navigator.clipboard?.writeText(address); + toast("Address copied"); + }} + > + Copy address + + + } + > + View on Arbiscan + + {/* The address's other roles in the network. */} + {isOrchestrator && ( + }> + Orchestrator profile + + )} + {gateway && ( + }> + Gateway profile + + )} + {list.some((w) => w.address === address) && ( + setRenaming(true)}> + {label ? "Rename…" : "Name this wallet…"} + + )} + {!isConnected && saved && ( + <> + + + Remove from portfolio + + + )} + + + ); + + return ( + + {infoSlot && createPortal(nameMenu, infoSlot)} + !o && setRenaming(false)} + /> + +
+ +
+
+ {/* Portfolio membership shows on the button beside it. */} + {isConnected ? "Connected wallet" : "Account"} +
+
+

+ {label ?? name ?? ( + + {shortAddress(address, 8, 6)} + + )} +

+ {/* Only saved wallets carry a label to edit. */} + {list.some((w) => w.address === address) && ( + + )} +
+ +
+
+
{actions}
+ + } + /> +
+ ); +} diff --git a/app/activity/page.tsx b/app/activity/page.tsx new file mode 100644 index 00000000..8f5f8cab --- /dev/null +++ b/app/activity/page.tsx @@ -0,0 +1,363 @@ +"use client"; + +import { ArrowUp, ExternalLink, Search, X } from "lucide-react"; +import Link from "next/link"; +import { usePathname, useRouter, useSearchParams } from "next/navigation"; +import { Suspense, useEffect, useMemo, useState } from "react"; +import { isAddress, isHash } from "viem"; +import { normalize } from "viem/ens"; +import { useEnsAddress } from "wagmi"; + +import { ActivityList } from "@/components/activity-list"; +import { Identity } from "@/components/identity"; +import { LiveStatus } from "@/components/live-status"; +import { + Card, + EmptyState, + ErrorNotice, + Page, + PageHeader, +} from "@/components/page"; +import { Button } from "@/components/ui/button"; +import { Input, Segmented, Skeleton } from "@/components/ui/misc"; +import { L1_CHAIN, txUrl } from "@/lib/config"; +import { shortAddress } from "@/lib/format"; +import { useLiveFeed } from "@/lib/hooks/live-feed"; +import { + useAddressEvents, + useFeed, + useOrchestrators, + useTransactionEvents, +} from "@/lib/hooks/queries"; + +type Filter = + | "all" + | "fees" + | "staking" + | "rewards" + | "governance" + | "orchestrators" + | "gateways"; + +const FILTERS = [ + { value: "all", label: "All" }, + { value: "fees", label: "Fees" }, + { value: "staking", label: "Staking" }, + { value: "rewards", label: "Rewards" }, + { value: "governance", label: "Governance" }, + { value: "orchestrators", label: "Orchestrators" }, + { value: "gateways", label: "Gateways" }, +] as const; + +const EMPTY: Record = { + all: "No recent activity.", + fees: "No recent fee activity.", + staking: "No recent staking activity.", + rewards: "No recent reward calls.", + governance: "No recent votes.", + orchestrators: "No recent orchestrator changes.", + gateways: "No recent gateway deposits or withdrawals.", +}; + +/** What the search box holds: an address, a transaction, an ENS name. */ +function parseQuery(raw: string) { + const q = raw.trim(); + if (isAddress(q)) return { kind: "address" as const, value: q.toLowerCase() }; + if (isHash(q)) return { kind: "tx" as const, value: q.toLowerCase() }; + if (/\.[a-z]{2,}$/i.test(q)) { + try { + return { kind: "ens" as const, value: normalize(q) }; + } catch { + return null; + } + } + return null; +} + +/** The protocol feed: the latest events live, older ones on request. */ +function LiveActivity({ + feed, + filter, +}: { + feed: ReturnType; + filter: Filter; +}) { + const { shown, fresh, waiting, reveal } = useLiveFeed(feed.events); + return ( + <> + {waiting > 0 && ( +
+ +
+ )} + {feed.error && !feed.events ? ( + feed.refetch()} /> + ) : ( +
+ + {feed.hasMore && shown && ( + + )} +
+ )} + + ); +} + +/** Everything involving one address, loaded a page at a time. */ +function AddressActivity({ + address, + filter, +}: { + address: string; + filter: Filter; +}) { + const q = useAddressEvents(address, filter); + const events = useMemo(() => { + // Pages can repeat rows that share a timestamp across the boundary. + const seen = new Set(); + return q.data?.pages + .flatMap((p) => p.events) + .filter((e) => (seen.has(e.id) ? false : (seen.add(e.id), true))); + }, [q.data]); + if (q.error && !q.data) + return q.refetch()} />; + return ( +
+ + {q.hasNextPage && ( + + )} +
+ ); +} + +function TransactionActivity({ hash }: { hash: string }) { + const { data, isLoading, error, refetch } = useTransactionEvents(hash); + if (error) return refetch()} />; + if (data === null) + return ( + + + View on Arbiscan + + } + /> + + ); + return ( + + ); +} + +function ActivityView() { + const router = useRouter(); + const pathname = usePathname(); + const params = useSearchParams(); + const urlQuery = params.get("q") ?? ""; + const [input, setInput] = useState(urlQuery); + const [filter, setFilter] = useState("all"); + const { data: orchestrators } = useOrchestrators(); + const feed = useFeed(filter, !urlQuery); + + // Follow the URL (back/forward, links from other pages). + useEffect(() => setInput(urlQuery), [urlQuery]); + + const parsed = parseQuery(urlQuery); + const { data: ensAddress, isFetching: resolving } = useEnsAddress({ + name: parsed?.kind === "ens" ? parsed.value : undefined, + chainId: L1_CHAIN.id, + query: { enabled: parsed?.kind === "ens", retry: false }, + }); + const address = + parsed?.kind === "address" + ? parsed.value + : parsed?.kind === "ens" + ? ensAddress?.toLowerCase() ?? null + : null; + const tx = parsed?.kind === "tx" ? parsed.value : null; + const searching = Boolean(urlQuery); + const inputValid = !input.trim() || parseQuery(input) !== null; + + const setQuery = (value: string) => { + const next = new URLSearchParams(params); + if (value) next.set("q", value); + else next.delete("q"); + const qs = next.toString(); + router.replace(qs ? `${pathname}?${qs}` : pathname, { scroll: false }); + }; + + const isOrchestrator = address + ? orchestrators?.some((o) => o.id === address) + : false; + + return ( + + + ) + } + /> + +
+
{ + e.preventDefault(); + if (inputValid) setQuery(input.trim()); + }} + > + + { + const v = e.target.value; + setInput(v); + // A complete address or hash searches straight away; names + // wait for Enter, since "vitalik.et" is a prefix, not a name. + const p = parseQuery(v); + if (!v.trim()) setQuery(""); + else if (p && p.kind !== "ens") setQuery(v.trim()); + }} + placeholder="Address, ENS name or transaction hash" + aria-label="Search activity" + aria-invalid={!inputValid} + className="h-8 pr-8 pl-8 font-mono text-[13px] placeholder:font-sans" + /> + {input && ( + + )} + + {!tx && ( +
+ +
+ )} +
+ + {searching && ( +
+ {address ? ( + <> + Activity involving + + + {isOrchestrator ? "Orchestrator profile" : "Account"} + + + ) : tx ? ( + + Events in transaction{" "} + + {shortAddress(tx, 10, 8)} + + + ) : parsed?.kind === "ens" && resolving ? ( + + ) : ( + + {parsed?.kind === "ens" + ? `No address found for ${parsed.value}.` + : "Enter a full address, ENS name or transaction hash."} + + )} +
+ )} + + {address ? ( + + ) : tx ? ( + + ) : searching ? null : ( + // A new filter is a new feed, not a batch of arrivals. + + )} +
+ ); +} + +export default function ActivityPage() { + return ( + }> + + + ); +} diff --git a/app/api/governance/lips/route.ts b/app/api/governance/lips/route.ts new file mode 100644 index 00000000..da022b1f --- /dev/null +++ b/app/api/governance/lips/route.ts @@ -0,0 +1,32 @@ +import { getPollableLips } from "@/lib/governance/lips"; +import { memoize } from "@/lib/server/memo"; + +/** Shared for ten minutes, however the request is varied. */ +const pollableLips = memoize(() => getPollableLips(), { + ttlMs: 10 * 60_000, + max: 1, +}); + +export const revalidate = 600; + +/** LIPs that can be put to a poll right now. */ +export async function GET() { + try { + const { commit, lips } = await pollableLips("lips"); + // The full text stays server-side; the page links to GitHub instead. + return Response.json({ + commit, + lips: lips.map(({ lip, title, created, url }) => ({ + lip, + title, + created, + url, + })), + }); + } catch (e) { + return Response.json( + { error: e instanceof Error ? e.message : "Couldn't load LIPs" }, + { status: 502 } + ); + } +} diff --git a/app/api/governance/polls/route.ts b/app/api/governance/polls/route.ts new file mode 100644 index 00000000..1e28381a --- /dev/null +++ b/app/api/governance/polls/route.ts @@ -0,0 +1,107 @@ +import { unstable_cache } from "next/cache"; + +import { getPollableLips } from "@/lib/governance/lips"; +import { clientKey, memoize, rateLimiter } from "@/lib/server/memo"; + +/** Pinning is rare: a few tries a minute per client is plenty. */ +const allow = rateLimiter({ limit: 5, windowMs: 60_000 }); + +/** + * Pins a LIP's text once per LIPs-repo commit. The same text always gives + * the same IPFS hash, so repeat requests reuse it instead of calling Pinata + * again: calling this in a loop can't exhaust the Pinata quota. Failures + * throw, and aren't cached. + */ +const pinLip = unstable_cache( + async (commit: string, lip: string, text: string): Promise => { + const pinned = await fetch( + "https://api.pinata.cloud/pinning/pinJSONToIPFS", + { + method: "POST", + headers: { + "Content-Type": "application/json", + Authorization: `Bearer ${process.env.PINATA_JWT}`, + }, + body: JSON.stringify({ + pinataContent: { gitCommitHash: commit, text }, + pinataMetadata: { name: `LIP-${lip} poll` }, + }), + signal: AbortSignal.timeout(15_000), + } + ); + if (!pinned.ok) throw new Error(`Pinata responded ${pinned.status}`); + const { IpfsHash } = (await pinned.json()) as { IpfsHash: string }; + return IpfsHash; + }, + ["lip-poll-pin"], + { revalidate: false } +); + +/** One pin in flight per commit and LIP, however many requests arrive. */ +const pinOnce = memoize( + (key: string) => { + const [commit, lip, text] = JSON.parse(key) as [string, string, string]; + return pinLip(commit, lip, text); + }, + { ttlMs: 60 * 60_000, max: 100 } +); + +/** The pollable LIPs, shared for ten minutes: reading them is expensive. */ +const pollableLips = memoize(() => getPollableLips(), { + ttlMs: 10 * 60_000, + max: 1, +}); + +/** + * Pins a LIP to IPFS for a new poll and returns the hash to pass to + * PollCreator.createPoll. The request only names the LIP: the text pinned + * is the LIP as published in the LIPs repository, so this can't be used to + * pin arbitrary content with the explorer's Pinata key. + */ +export async function POST(request: Request) { + const jwt = process.env.PINATA_JWT; + if (!jwt) + return Response.json( + { + error: + "Poll creation isn't configured on this deployment (PINATA_JWT).", + }, + { status: 503 } + ); + if (!allow(clientKey(request))) + return Response.json( + { error: "Too many requests. Try again in a minute." }, + { status: 429 } + ); + + let lip: unknown; + try { + ({ lip } = await request.json()); + } catch { + return Response.json({ error: "Invalid request" }, { status: 400 }); + } + if (typeof lip !== "string" || !/^\d{1,4}$/.test(lip)) + return Response.json({ error: "Invalid LIP number" }, { status: 400 }); + + let pollable; + try { + pollable = await pollableLips("lips"); + } catch { + return Response.json({ error: "Couldn't load LIPs" }, { status: 502 }); + } + const found = pollable.lips.find((l) => l.lip === lip); + if (!found) + return Response.json( + { error: `LIP-${lip} isn't open for a poll` }, + { status: 404 } + ); + + try { + const hash = await pinOnce( + JSON.stringify([pollable.commit, lip, found.text]) + ); + return Response.json({ hash }); + } catch { + return Response.json({ error: "IPFS pinning failed" }, { status: 502 }); + } +} diff --git a/app/api/prices/history/route.ts b/app/api/prices/history/route.ts new file mode 100644 index 00000000..f49d3732 --- /dev/null +++ b/app/api/prices/history/route.ts @@ -0,0 +1,89 @@ +import { pricesAt } from "@/lib/prices/history"; +import { clientKey, rateLimiter } from "@/lib/server/memo"; + +/** An export asks a few times; this leaves room for that, not for loops. */ +const allow = rateLimiter({ limit: 30, windowMs: 60_000 }); + +// Vercel Hobby's ceiling. A first, uncached export may need longer, so the +// lookup stops at a budget below it and the client asks again for the rest. +export const maxDuration = 60; +const BUDGET_MS = 45_000; + +const MAX_TIMES = 20_000; +const MAX_GET_TIMES = 50; +const EARLIEST = Date.UTC(2015, 0, 1) / 1000; + +/** + * USD prices of LPT and ETH at the moments asked for (unix seconds), for + * valuing earnings at the time. Read from Coinbase's public hourly candles + * on the server, where the pages are cached. + * + * POST { times: number[] } → { lpt: (number | null)[], eth: (number | null)[] } + * GET ?times=1735689600,1704067200 — the same for a few moments, handy for + * checking from a browser. + */ +export async function POST(req: Request) { + if (!allow(clientKey(req))) return tooMany(); + const body = (await req.json().catch(() => null)) as { + times?: unknown; + } | null; + return respond(body?.times, MAX_TIMES); +} + +export async function GET(req: Request) { + if (!allow(clientKey(req))) return tooMany(); + const raw = new URL(req.url).searchParams.get("times"); + const times = raw + ? raw + .split(",") + .filter(Boolean) + .map((t) => Number(t)) + : undefined; + return respond(times, MAX_GET_TIMES); +} + +function tooMany() { + return Response.json( + { error: "Too many requests. Try again in a minute." }, + { status: 429 } + ); +} + +async function respond(times: unknown, max: number) { + const now = Date.now() / 1000; + if ( + !Array.isArray(times) || + !times.length || + times.length > max || + !times.every( + (t) => + typeof t === "number" && + Number.isFinite(t) && + t >= EARLIEST && + t <= now + 86_400 + ) + ) + return Response.json( + { error: `Send 1 to ${max} unix timestamps (seconds) as times.` }, + { status: 400 } + ); + + const deadline = Date.now() + BUDGET_MS; + try { + const [lpt, eth] = await Promise.all([ + pricesAt("LPT", times, deadline), + pricesAt("ETH", times, deadline), + ]); + return Response.json({ times, lpt, eth }); + } catch (e) { + console.error("Price history:", e); + // The provider's status and message, to tell a rate limit from an outage. + return Response.json( + { + error: "Price history is unavailable right now.", + detail: e instanceof Error ? e.message : String(e), + }, + { status: 502 } + ); + } +} diff --git a/app/api/subgraph-health/route.ts b/app/api/subgraph-health/route.ts new file mode 100644 index 00000000..d300ef0b --- /dev/null +++ b/app/api/subgraph-health/route.ts @@ -0,0 +1,59 @@ +import { createPublicClient, fallback, http } from "viem"; + +import { L2_CHAIN, RPC_URLS } from "@/lib/config"; +import { memoize } from "@/lib/server/memo"; +import { fetchIndexedBlock } from "@/lib/subgraph/sync"; + +/** Blocks behind before data counts as stale: ~3,600 at ~4/s is ~15 min. */ +const MAX_LAG = 3_600; +/** Arbitrum One's average block time, to put the lag in minutes. */ +const SECONDS_PER_BLOCK = 0.25; + +const l2 = createPublicClient({ + chain: L2_CHAIN, + transport: fallback( + RPC_URLS[L2_CHAIN.id].map((u) => http(u, { timeout: 5_000 })) + ), +}); + +/** + * The probe, shared for a minute under one key: query strings that dodge + * the CDN cache still reach one subgraph and one RPC call a minute here. + */ +const probe = memoize( + async () => { + const [indexed, head] = await Promise.allSettled([ + fetchIndexedBlock(AbortSignal.timeout(8_000)), + l2.getBlockNumber(), + ]); + const served = indexed.status === "fulfilled" ? indexed.value : null; + const chain = head.status === "fulfilled" ? Number(head.value) : null; + return served != null && chain != null ? chain - served : null; + }, + { ttlMs: 60_000, max: 1 } +); + +/** + * How far the subgraph is behind Arbitrum's chain head. A halted subgraph + * keeps answering queries with old data, so a successful request alone + * doesn't mean the explorer is current. Fails open: if either side can't be + * read, it reports healthy rather than warn on a probe hiccup. Cached for a + * minute so every visitor shares one check. + * + * GET → { degraded: boolean, lagMinutes: number | null } + */ +export async function GET() { + const lag = await probe("health"); + return Response.json( + { + degraded: lag != null && lag > MAX_LAG, + lagMinutes: + lag != null ? Math.round((lag * SECONDS_PER_BLOCK) / 60) : null, + }, + { + headers: { + "Cache-Control": "s-maxage=60, stale-while-revalidate=60", + }, + } + ); +} diff --git a/app/api/treasury/route.ts b/app/api/treasury/route.ts new file mode 100644 index 00000000..9ae5893d --- /dev/null +++ b/app/api/treasury/route.ts @@ -0,0 +1,27 @@ +import { memoize } from "@/lib/server/memo"; +import { fetchTreasury } from "@/lib/treasury"; + +/** + * The treasury's balance, ceiling, reward cut and balance history. Reading + * the history takes many archive calls, so it's shared for ten minutes. + * + * GET → TreasuryState (see lib/treasury.ts) + */ +const treasury = memoize(() => fetchTreasury(), { + ttlMs: 10 * 60_000, + max: 1, +}); + +export async function GET() { + try { + return Response.json(await treasury("treasury"), { + headers: { "Cache-Control": "s-maxage=600, stale-while-revalidate=600" }, + }); + } catch (e) { + console.error("Treasury:", e); + return Response.json( + { error: "Treasury data is unavailable right now." }, + { status: 502 } + ); + } +} diff --git a/app/apple-icon.png b/app/apple-icon.png new file mode 100644 index 00000000..08afda1c Binary files /dev/null and b/app/apple-icon.png differ diff --git a/app/error.tsx b/app/error.tsx new file mode 100644 index 00000000..06be5268 --- /dev/null +++ b/app/error.tsx @@ -0,0 +1,52 @@ +"use client"; + +import { useEffect } from "react"; + +import { Page } from "@/components/page"; + +export default function RouteError({ + error, + reset, +}: { + error: Error & { digest?: string }; + reset: () => void; +}) { + useEffect(() => { + console.error(error); + }, [error]); + + return ( + + Something broke +

+ This view hit an error. +

+

+ Your funds are unaffected — this is a display problem. Try again, and if + it keeps happening let us know in the Livepeer Discord. +

+ {error.digest && ( +

+ Reference {error.digest} +

+ )} +
+ + + Discord + +
+
+ ); +} diff --git a/app/favicon.ico b/app/favicon.ico new file mode 100644 index 00000000..5df9d8e9 Binary files /dev/null and b/app/favicon.ico differ diff --git a/app/gateways/[address]/layout.tsx b/app/gateways/[address]/layout.tsx new file mode 100644 index 00000000..46992070 --- /dev/null +++ b/app/gateways/[address]/layout.tsx @@ -0,0 +1,17 @@ +import type { Metadata } from "next"; + +import { gatewayShare } from "@/lib/og/data"; +import { shareMetadata } from "@/lib/og/metadata"; + +export async function generateMetadata({ + params, +}: { + params: Promise<{ address: string }>; +}): Promise { + const { address } = await params; + return shareMetadata(await gatewayShare(address).catch(() => null)); +} + +export default function Layout({ children }: { children: React.ReactNode }) { + return children; +} diff --git a/app/gateways/[address]/opengraph-image.tsx b/app/gateways/[address]/opengraph-image.tsx new file mode 100644 index 00000000..edc24fb5 --- /dev/null +++ b/app/gateways/[address]/opengraph-image.tsx @@ -0,0 +1,16 @@ +import { shareImage } from "@/lib/og/card"; +import { gatewayShare } from "@/lib/og/data"; + +export const alt = "Gateway on Livepeer Explorer"; +export const size = { width: 1200, height: 630 }; +export const contentType = "image/png"; + +export default async function Image({ + params, +}: { + params: Promise<{ address: string }>; +}) { + const { address } = await params; + const share = await gatewayShare(address).catch(() => null); + return shareImage(share?.card, "Gateway"); +} diff --git a/app/gateways/[address]/page.tsx b/app/gateways/[address]/page.tsx new file mode 100644 index 00000000..602fa8c2 --- /dev/null +++ b/app/gateways/[address]/page.tsx @@ -0,0 +1,425 @@ +"use client"; + +import { ArrowLeft, Server, TriangleAlert, User } from "lucide-react"; +import Link from "next/link"; +import { notFound, useParams } from "next/navigation"; +import { useMemo } from "react"; +import { isAddress } from "viem"; + +import { ActivityList } from "@/components/activity-list"; +import { TimeSeriesChart } from "@/components/charts/time-series"; +import { + formatLastDay, + formatRunway, + RUNWAY_HINT, +} from "@/components/gateways/shared"; +import { + Avatar, + CopyButton, + Identity, + useIdentity, +} from "@/components/identity"; +import { + Card, + EmptyState, + ErrorNotice, + Kpi, + KpiStrip, + Page, + SectionHeader, +} from "@/components/page"; +import { Badge } from "@/components/ui/badge"; +import { Button } from "@/components/ui/button"; +import { Skeleton, StatusDot } from "@/components/ui/misc"; +import { Tooltip } from "@/components/ui/tooltip"; +import { cn } from "@/lib/cn"; +import { addressUrl } from "@/lib/config"; +import { + formatDate, + formatETH, + formatNumber, + formatRelativeTime, + shortAddress, +} from "@/lib/format"; +import { + useGateway, + useGatewayEvents, + useGatewayPayouts, + useOrchestrators, +} from "@/lib/hooks/queries"; +import { routeParam } from "@/lib/params"; +import { + dailyFees, + depositRunway, + type GatewayPayouts, +} from "@/lib/subgraph/gateways"; + +function Payouts({ + address, + payouts, +}: { + address: string; + payouts: GatewayPayouts; +}) { + const top = payouts.recipients.slice(0, 25); + if (!top.length) { + return ( + + + + ); + } + return ( + + + + + + + + + + + + + {top.map((r) => { + const share = payouts.total > 0 ? r.fees / payouts.total : 0; + return ( + + + + + + + + ); + })} + +
OrchestratorShareFeesTicketsLast paid
+ + Its own orchestrator + ) + } + /> + + + + + + {formatETH(r.fees)} + + {r.tickets.toLocaleString()} + + {formatRelativeTime(r.lastPaid)} +
+ {(payouts.recipients.length > top.length || payouts.truncated) && ( +

+ {payouts.recipients.length > top.length && + `Showing top ${top.length} of ${payouts.recipients.length}. `} + {payouts.truncated && + "Counted from the most recent 10,000 tickets, so totals may run low."} +

+ )} +
+ ); +} + +export default function GatewayPage() { + const params = useParams<{ address: string }>(); + const address = routeParam(params.address).toLowerCase(); + const valid = isAddress(address); + const { + data: g, + error, + isLoading, + refetch, + } = useGateway(valid ? address : null); + const { data: payouts } = useGatewayPayouts(g ? address : undefined); + const { data: events, isLoading: eventsLoading } = useGatewayEvents( + g ? address : undefined, + 30 + ); + const { data: orchestrators } = useOrchestrators(); + const { name, avatar } = useIdentity(valid ? address : null); + + const weekly = useMemo(() => { + if (!g) return []; + const daily = dailyFees(g.days, 364); + const weeks: { ts: number; value: number }[] = []; + for (let i = 0; i < daily.length; i += 7) + weeks.push({ + ts: daily[i].date, + value: daily.slice(i, i + 7).reduce((s, d) => s + d.volumeETH, 0), + }); + // Start the chart where the gateway did. + const first = weeks.findIndex((w) => w.value > 0); + return first > 0 ? weeks.slice(first) : weeks; + }, [g]); + + if (!valid) notFound(); + + const isOrchestrator = orchestrators?.some((o) => o.id === address); + const active = g ? g.ninetyDayVolumeETH > 0 : false; + const runway = g ? depositRunway(g) : null; + const selfShare = payouts?.selfShare ?? 0; + + return ( + + + Gateways + + +
+
+ +
+
+ {g ? ( + active ? ( + + Paying + + ) : ( + No fees in 90 days + ) + ) : isLoading ? ( + + ) : null} + Gateway +
+

+ {name ?? ( + + {shortAddress(address, 8, 6)} + + )} +

+
+ + + {shortAddress(address, 10, 8)} + + + + {g && g.firstActiveDay > 0 && ( + + Active since{" "} + {formatDate(g.firstActiveDay, { + month: "short", + year: "numeric", + })} + + )} + {g && g.lastActiveDay > 0 && ( + Last paid {formatLastDay(g.lastActiveDay)} + )} +
+
+
+
+ {isOrchestrator && ( + + )} + +
+
+ + {error ? ( + refetch()} /> + ) : !isLoading && !g ? ( + + + View as account + + } + /> + + ) : ( + <> + {selfShare > 0 && ( +
+ +

+ + {(selfShare * 100).toFixed(selfShare < 0.1 ? 1 : 0)}% of this + gateway's fees in the last 90 days + {" "} + went to its own orchestrator. Fees a gateway pays itself + don't reflect demand from outside users. +

+
+ )} + + + + ) + } + sub={g ? `${formatETH(g.thirtyDayVolumeETH)} in 30 days` : null} + /> + + ) + } + sub={ + payouts + ? `${payouts.recipients.length} orchestrators paid in 90 days` + : undefined + } + /> + + + Deposit + + + } + value={ + g ? formatETH(g.deposit) : + } + sub={ + g ? ( + runway != null ? ( + + {formatRunway(runway)} at the recent pace + + ) : ( + "No recent spend" + ) + ) : undefined + } + /> + + } + sub={g ? "Backs tickets if the deposit runs out" : undefined} + /> + + +
+ + + {g && weekly.length > 1 ? ( + formatETH(v)} + axisFormat={(v) => formatNumber(v, { decimals: 2 })} + height={220} + tooltipTitle={(p) => + `Week of ${formatDate(p.ts, { + month: "short", + day: "numeric", + })}` + } + /> + ) : isLoading ? ( + + ) : ( + + )} + +
+ +
+ + {payouts ? ( + + ) : ( + + )} +
+ +
+ + +
+ + )} +
+ ); +} diff --git a/app/gateways/page.tsx b/app/gateways/page.tsx new file mode 100644 index 00000000..92af7ea3 --- /dev/null +++ b/app/gateways/page.tsx @@ -0,0 +1,310 @@ +"use client"; + +import { Search } from "lucide-react"; +import { useMemo, useState } from "react"; + +import { + formatLastDay, + formatRunway, + GatewayName, + RUNWAY_HINT, + WeeklyTrend, +} from "@/components/gateways/shared"; +import { + Card, + EmptyState, + ErrorNotice, + Kpi, + KpiStrip, + Page, + PageHeader, +} from "@/components/page"; +import { Input, Skeleton } from "@/components/ui/misc"; +import { SortHeader } from "@/components/ui/sort-header"; +import { Tooltip } from "@/components/ui/tooltip"; +import { cn } from "@/lib/cn"; +import { formatETH } from "@/lib/format"; +import { useGateways } from "@/lib/hooks/queries"; +import { depositRunway, type Gateway } from "@/lib/subgraph/gateways"; + +type SortKey = "fees90" | "fees30" | "deposit" | "reserve" | "total" | "last"; + +const SORTS: Record number> = { + fees90: (g) => g.ninetyDayVolumeETH, + fees30: (g) => g.thirtyDayVolumeETH, + deposit: (g) => g.deposit, + reserve: (g) => g.reserve, + total: (g) => g.totalVolumeETH, + last: (g) => g.lastActiveDay, +}; + +function Runway({ g }: { g: Gateway }) { + const days = depositRunway(g); + if (days == null) return null; + return ( +
+ {formatRunway(days)} +
+ ); +} + +function GatewayKpis({ data }: { data?: Gateway[] }) { + const stats = useMemo(() => { + if (!data) return null; + const paying = data.filter((g) => g.ninetyDayVolumeETH > 0); + const fees90 = paying.reduce((s, g) => s + g.ninetyDayVolumeETH, 0); + const top3 = [...paying] + .sort((a, b) => b.ninetyDayVolumeETH - a.ninetyDayVolumeETH) + .slice(0, 3) + .reduce((s, g) => s + g.ninetyDayVolumeETH, 0); + return { + paying: paying.length, + listed: data.length, + fees30: data.reduce((s, g) => s + g.thirtyDayVolumeETH, 0), + fees90, + deposits: data.reduce((s, g) => s + g.deposit, 0), + reserves: data.reduce((s, g) => s + g.reserve, 0), + top3Share: fees90 > 0 ? top3 / fees90 : 0, + }; + }, [data]); + const loading = ; + return ( + + + + + + + Top 3 share + + + } + value={stats ? `${(stats.top3Share * 100).toFixed(0)}%` : loading} + sub={stats ? "Of 90-day fees" : undefined} + /> + + ); +} + +export default function GatewaysPage() { + const { data, error, isLoading, refetch } = useGateways(); + const [query, setQuery] = useState(""); + const [sort, setSort] = useState("fees90"); + const [dir, setDir] = useState<"asc" | "desc">("desc"); + + const rows = useMemo(() => { + if (!data) return []; + const q = query.trim().toLowerCase(); + const ranked = [...data] + .sort((a, b) => b.ninetyDayVolumeETH - a.ninetyDayVolumeETH) + .map((g, i) => ({ g, rank: i + 1 })); + return ranked + .filter(({ g }) => !q || g.id.includes(q)) + .sort((a, b) => { + const d = SORTS[sort](a.g) - SORTS[sort](b.g); + return dir === "desc" ? -d : d; + }); + }, [data, query, sort, dir]); + + const onSort = (k: SortKey) => { + if (k === sort) setDir(dir === "desc" ? "asc" : "desc"); + else { + setSort(k); + setDir("desc"); + } + }; + + const header = { sort, dir, onSort }; + + return ( + + + + + +
+
+ + setQuery(e.target.value)} + placeholder="Filter by address" + aria-label="Filter gateways by address" + className="h-8 pl-8" + /> +
+

+ Gateways with fees in the last 90 days or started in the last year +

+
+ + {error ? ( + refetch()} /> + ) : ( + <> + {/* Phones: condensed cards. */} + + {isLoading && + Array.from({ length: 6 }).map((_, i) => ( +
+ + +
+ ))} + {rows.map(({ g, rank }) => ( +
+
+ + +
+
+ {[ + ["Fees · 90d", formatETH(g.ninetyDayVolumeETH)], + ["Deposit", formatETH(g.deposit)], + ["Last paid", formatLastDay(g.lastActiveDay)], + ].map(([label, value]) => ( +
+
+ {label} +
+
+ {value} +
+
+ ))} +
+
+ ))} + {!isLoading && rows.length === 0 && ( + + )} +
+ + + + + + + + + + + + + + + + {isLoading && + Array.from({ length: 10 }).map((_, i) => ( + + + + ))} + {rows.map(({ g, rank }) => { + const idle = g.ninetyDayVolumeETH <= 0; + return ( + + + + + + + + + + ); + })} + +
+ Gateway +
+
+ + + +
+
+ + +
+ {!idle && } + + {idle ? "—" : formatETH(g.ninetyDayVolumeETH)} + +
+
+ {g.thirtyDayVolumeETH > 0 + ? formatETH(g.thirtyDayVolumeETH) + : "—"} + +
+ {formatETH(g.deposit)} +
+ +
+ {formatETH(g.reserve)} + + {formatETH(g.totalVolumeETH)} + + {formatLastDay(g.lastActiveDay)} +
+ {!isLoading && rows.length === 0 && ( + + )} +
+ + )} +
+ ); +} diff --git a/app/globals.css b/app/globals.css new file mode 100644 index 00000000..6b7ad6f3 --- /dev/null +++ b/app/globals.css @@ -0,0 +1,567 @@ +@import "tailwindcss"; +@import "tw-animate-css"; + +/* + * Livepeer Design System theme, from the Livepeer UI registry + * (livepeer.peaceno.de). Registry values are kept verbatim so components + * pulled from `@livepeer-ui` drop in without restyling; explorer-specific + * vocabulary lives in the token layer further down and only ever aliases or + * tints these. + */ + +@custom-variant dark (&:where(html[data-theme="dark"] *)); +@custom-variant light (&:where(html[data-theme="light"] *)); + +/* A row of tabs that scrolls sideways on phones, without a scrollbar + under it: the cut-off tab already shows there's more. */ +@utility scrollbar-none { + scrollbar-width: none; + &::-webkit-scrollbar { + display: none; + } +} + +/* ── Registry dark theme (default) ─────────────────────────────────────── */ +:root { + /* Charcoal, not black: three evenly spaced layers (page and sidebar, + the desktop content panel, cards), each visibly a step up, as in + Linear. Next to pure black, near-black steps can't be told apart. */ + --background: oklch(0.13 0 0); + --foreground: oklch(0.985 0 0); + --card: oklch(0.21 0 0); + --card-foreground: oklch(0.985 0 0); + /* Popovers float above cards, a step lighter again. */ + --popover: oklch(0.235 0 0); + --popover-foreground: oklch(0.985 0 0); + --primary: oklch(0.922 0 0); + --primary-foreground: oklch(0.205 0 0); + --secondary: oklch(0.269 0 0); + --secondary-foreground: oklch(0.985 0 0); + --muted: oklch(0.16 0 0); + --muted-foreground: oklch(0.708 0 0); + --accent: oklch(0.269 0 0); + --accent-foreground: oklch(0.985 0 0); + --destructive: oklch(0.704 0.191 22.216); + --border: oklch(1 0 0 / 10%); + --input: oklch(1 0 0 / 15%); + --ring: oklch(0.556 0 0); + --radius: 0.625rem; + --sidebar: oklch(0.205 0 0); + --sidebar-foreground: oklch(0.985 0 0); + --sidebar-border: oklch(1 0 0 / 10%); + + /* Explorer layer, dark steps */ + --green-bright: #40bf86; + /* Green for marks (bars, dots, the round ring): the same in dark mode. */ + --green-fill: #40bf86; + --warm: #f59e0b; + --series-1: #3987e5; + --series-2: #d95926; + --series-3: #199e70; + --series-4: #c98500; + --series-5: #d55181; + --series-6: #008300; + --series-7: #9085e9; + --series-other: rgba(255, 255, 255, 0.28); + /* Cards sit a step above the panel (and, on phones, the page), with a + full-strength edge and a faint top highlight. */ + --surface: oklch(0.21 0 0); + --surface-highlight: inset 0 1px 0 oklch(1 0 0 / 5%); + /* One line colour for every divider and outline (cards, sidebar, search). + Soft: the charcoal layers already separate by shade, so the edge only + needs to define it, not outline it. */ + --hairline: oklch(1 0 0 / 8%); + /* The desktop panel's outer edge, a touch firmer so the frame stays crisp. */ + --frame-edge: oklch(1 0 0 / 11%); + /* The content panel on desktop: a step up from the sidebar, with cards a + step above it again. */ + --panel: oklch(0.17 0 0); + --hover: color-mix(in oklch, var(--foreground) 4%, transparent); + --active: color-mix(in oklch, var(--foreground) 7%, transparent); + --subtle-foreground: color-mix(in oklch, var(--foreground) 50%, transparent); + --overlay: rgb(0 0 0 / 0.6); + --shadow-popover: 0 8px 20px -6px rgb(0 0 0 / 0.35), + 0 1px 3px rgb(0 0 0 / 0.22); + + color-scheme: dark; +} + +/* ── Registry light theme ──────────────────────────────────────────────── */ +html[data-theme="light"] { + /* Greys carry a faint cool tint (hue 286), so white cards read crisp + rather than the page reading dirty. Lighter on top, as in dark mode: a soft grey page and sidebar, with + white cards, panels and popovers raised on it by a visible step. */ + --background: oklch(0.967 0.002 286); + --foreground: oklch(0.235 0.006 286); + --card: oklch(1 0 0); + --card-foreground: oklch(0.235 0.006 286); + --popover: oklch(1 0 0); + --popover-foreground: oklch(0.235 0.006 286); + --primary: oklch(0.205 0.006 286); + --primary-foreground: oklch(0.985 0 0); + --secondary: oklch(0.97 0.002 286); + --secondary-foreground: oklch(0.205 0.006 286); + --muted: oklch(0.97 0.002 286); + --muted-foreground: oklch(0.5 0.012 286); + --accent: oklch(0.96 0.003 286); + --accent-foreground: oklch(0.205 0.006 286); + --destructive: oklch(0.577 0.245 27.325); + --border: oklch(0.915 0.004 286); + --input: oklch(0.915 0.004 286); + --ring: oklch(0.7 0.01 286); + --sidebar: oklch(0.967 0.002 286); + --sidebar-foreground: oklch(0.235 0.006 286); + --sidebar-border: oklch(0.915 0.004 286); + + /* Legibility steps for accents and series on light surfaces */ + --green-bright: #1e9960; + /* Text green has to be dark to read on white; bars and dots don't, so + they take a lighter green, close to dark mode's. */ + --green-fill: #38b47e; + --warm: #b45309; + --series-1: #2a78d6; + --series-2: #eb6834; + --series-3: #1baf7a; + --series-4: #eda100; + --series-5: #e87ba4; + --series-6: #008300; + --series-7: #4a3aa7; + --series-other: rgba(24, 24, 27, 0.3); + --surface: oklch(1 0 0); + /* A crisp lift at the bottom edge only; soft, wide shadows are kept for + things that float above the page (menus, popovers, dialogs). */ + --surface-highlight: 0 1px 2px rgb(24 24 27 / 0.06); + --hairline: oklch(0.25 0.02 286 / 10%); + --frame-edge: var(--hairline); + --hover: color-mix(in oklch, var(--foreground) 5%, transparent); + --active: color-mix(in oklch, var(--foreground) 8%, transparent); + --subtle-foreground: color-mix(in oklch, var(--foreground) 45%, transparent); + --overlay: rgb(24 24 27 / 0.32); + --shadow-popover: 0 6px 16px -6px rgb(24 24 27 / 0.14), + 0 1px 2px rgb(24 24 27 / 0.06); + + /* Dark text on white reads thinner than light text on black, so the + light display weight steps up here, to a firm medium. */ + --font-weight-light: 500; + /* The content panel on desktop: a step off white, on the grey page. */ + --panel: oklch(0.993 0.001 286); + + color-scheme: light; +} + +@theme inline { + --font-sans: "Inter Variable", Inter, ui-sans-serif, system-ui, sans-serif; + --font-mono: var(--font-geist-mono), ui-monospace, monospace; + + --color-background: var(--background); + --color-foreground: var(--foreground); + --color-card: var(--card); + --color-card-foreground: var(--card-foreground); + --color-popover: var(--popover); + --color-popover-foreground: var(--popover-foreground); + --color-primary: var(--primary); + --color-primary-foreground: var(--primary-foreground); + --color-secondary: var(--secondary); + --color-secondary-foreground: var(--secondary-foreground); + --color-muted: var(--muted); + --color-muted-foreground: var(--muted-foreground); + --color-subtle-foreground: var(--subtle-foreground); + --color-accent: var(--accent); + --color-accent-foreground: var(--accent-foreground); + --color-destructive: var(--destructive); + --color-border: var(--border); + --color-hairline: var(--hairline); + --color-surface: var(--surface); + --color-input: var(--input); + --color-ring: var(--ring); + --color-sidebar: var(--sidebar); + --color-hover: var(--hover); + --color-active: var(--active); + --color-overlay: var(--overlay); + + /* Accents. Green is an accent, never a fill: status dots, liveness, + positive deltas, focus rings. Warm is reserved for "needs attention". */ + --color-green: #18794e; + --color-green-bright: var(--green-bright); + --color-green-fill: var(--green-fill); + --color-green-subtle: rgba(24, 121, 78, 0.15); + --color-warm: var(--warm); + --color-warm-subtle: rgba(245, 158, 11, 0.12); + + /* Chart series — seven fixed slots, never cycled. Validated against the + card surfaces in both themes (Livepeer Design System palette). */ + --color-series-1: var(--series-1); + --color-series-2: var(--series-2); + --color-series-3: var(--series-3); + --color-series-4: var(--series-4); + --color-series-5: var(--series-5); + --color-series-6: var(--series-6); + --color-series-7: var(--series-7); + --color-series-other: var(--series-other); + + --radius-sm: calc(var(--radius) * 0.6); + --radius-md: calc(var(--radius) * 0.8); + --radius-lg: var(--radius); + --radius-xl: calc(var(--radius) * 1.4); + --radius-2xl: calc(var(--radius) * 1.8); + + --text-ui-caption: 12px; + --text-ui-caption--line-height: 16px; + --text-ui-body: 14px; + --text-ui-body--line-height: 20px; + /* App-sized, not editorial: a firm semibold a step above section + headings, rather than a large light title. */ + --text-page-title: 26px; + --text-page-title--line-height: 32px; + --text-page-title--font-weight: 600; + --text-display-sm: 36px; + --text-display-sm--line-height: 1; + --text-display-md: 48px; + --text-display-md--line-height: 1; + + --ease-out: cubic-bezier(0.16, 1, 0.3, 1); + --ease-spring: cubic-bezier(0.32, 0.72, 0, 1); + + --animate-breathe: breathe 2.5s ease-in-out infinite; + --animate-halo: halo 2.5s cubic-bezier(0.4, 0, 0.6, 1) infinite; + --animate-rise: rise 300ms var(--ease-out) both; + --animate-shimmer: shimmer 1.6s ease-in-out infinite; + --animate-arrive: arrive 2.4s cubic-bezier(0.16, 1, 0.3, 1) both; +} + +@keyframes breathe { + 0%, + 100% { + opacity: 0.6; + } + 50% { + opacity: 1; + } +} + +@keyframes halo { + 0%, + 100% { + transform: scale(1); + opacity: 0.6; + } + 50% { + transform: scale(2); + opacity: 0; + } +} + +@keyframes rise { + from { + opacity: 0; + transform: translateY(8px); + } + to { + opacity: 1; + transform: translateY(0); + } +} + +/* A feed row that just arrived: slides in, glows green, settles. */ +@keyframes arrive { + 0% { + opacity: 0; + transform: translateY(-6px); + background-color: color-mix(in srgb, var(--green-bright) 12%, transparent); + } + 12% { + opacity: 1; + transform: translateY(0); + } + 100% { + background-color: transparent; + } +} + +/* The round ring rippling outward as a new round starts. */ +@keyframes ring-turn { + from { + transform: scale(1); + opacity: 0.7; + } + to { + transform: scale(1.9); + opacity: 0; + } +} + +@keyframes shimmer { + 0%, + 100% { + opacity: 0.55; + } + 50% { + opacity: 1; + } +} + +/* ── Explorer badge (sidebar logo) ─────────────────────────────────────── */ + +@property --xb-angle { + syntax: ""; + inherits: false; + initial-value: 135deg; +} + +.xb { + --xb-a: var(--green-bright); + --xb-b: color-mix(in oklab, var(--green-bright) 40%, white); + --xb-fill: color-mix(in oklab, var(--green-bright) 9%, var(--background)); + position: relative; + isolation: isolate; + display: inline-flex; + align-items: center; + height: 19px; + padding: 0 7px; + border: 1.5px solid transparent; + border-radius: 999px; + background: linear-gradient(var(--xb-fill), var(--xb-fill)) padding-box, + conic-gradient( + from var(--xb-angle), + var(--xb-a), + var(--xb-b) 25%, + var(--xb-a) 50%, + color-mix(in oklab, var(--xb-a) 55%, transparent) 75%, + var(--xb-a) + ) + border-box; + box-shadow: 0 0 10px -2px color-mix(in srgb, var(--green-bright) 45%, transparent), + inset 0 0 6px -1px color-mix(in srgb, var(--green-bright) 30%, transparent); + transition: box-shadow 400ms cubic-bezier(0.16, 1, 0.3, 1), + transform 400ms cubic-bezier(0.16, 1, 0.3, 1); +} + +.xb-text { + font-size: 10px; + font-weight: 600; + letter-spacing: 0.1em; + line-height: 1; + text-transform: uppercase; + background: linear-gradient(180deg, var(--xb-b), var(--xb-a)); + -webkit-background-clip: text; + background-clip: text; + color: transparent; +} + +.xb-stars { + position: absolute; + inset: 0; + z-index: -1; + pointer-events: none; +} + +.xb-star { + position: absolute; + display: block; + border-radius: 999px; + color: var(--xb-b); + background: var(--xb-b); + box-shadow: 0 0 4px 1px + color-mix(in srgb, var(--green-bright) 70%, transparent); + opacity: 0; + transform: translate(-50%, -50%) scale(0.3); + transition: opacity 300ms cubic-bezier(0.16, 1, 0.3, 1); +} + +.xb-spark { + background: none; + box-shadow: none; + filter: drop-shadow(0 0 3px var(--green-bright)); +} + +.xb-spark svg { + display: block; +} + +:where(a, button):is(:hover, :focus-visible) .xb { + animation: xb-spin 3.2s linear infinite; + box-shadow: 0 0 14px 0 + color-mix(in srgb, var(--green-bright) 55%, transparent), + 0 0 36px 2px color-mix(in srgb, var(--green-bright) 22%, transparent), + inset 0 0 8px 0 color-mix(in srgb, var(--green-bright) 40%, transparent); +} + +:where(a, button):is(:hover, :focus-visible) .xb-star { + animation: xb-twinkle 1.8s ease-in-out var(--d) infinite; +} + +@keyframes xb-spin { + to { + --xb-angle: 495deg; + } +} + +@keyframes xb-twinkle { + 0%, + 100% { + opacity: 0; + transform: translate(-50%, -50%) scale(0.3); + } + 45% { + opacity: 1; + transform: translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) + scale(1); + } + 70% { + opacity: 0.35; + } +} + +html[data-theme="light"] .xb { + --xb-b: color-mix(in oklab, var(--green-bright) 55%, #0b3d26); + --xb-a: var(--green-bright); + box-shadow: 0 0 8px -3px color-mix(in srgb, var(--green-bright) 40%, transparent); +} + +@media (prefers-reduced-motion: reduce) { + :where(a, button):is(:hover, :focus-visible) .xb-star { + animation: none; + opacity: 0.8; + transform: translate(-50%, -50%); + } +} + +html { + max-width: 100%; + overflow-x: clip; +} + +body { + background-color: var(--background); + color: var(--foreground); + font-feature-settings: "cv11", "ss01"; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +/* In the base layer, so utilities like scrollbar-none can override it. */ +@layer base { + * { + scrollbar-width: thin; + scrollbar-color: var(--muted-foreground) transparent; + } +} + +::selection { + background-color: color-mix(in srgb, var(--green-bright) 25%, transparent); + color: var(--foreground); +} + +input, +textarea { + caret-color: var(--green-bright); +} + +@layer components { + /* Ink and paper: the primary action is the highest-contrast neutral, not a + colour. Both fills key off the theme so light mode inverts for free. */ + .btn-primary { + background-color: var(--primary); + color: var(--primary-foreground); + border: 1px solid transparent; + } + .btn-primary:hover:not(:disabled) { + background-color: color-mix( + in oklch, + var(--primary) 86%, + var(--background) + ); + } + .btn-primary:active:not(:disabled) { + background-color: color-mix( + in oklch, + var(--primary) 76%, + var(--background) + ); + } + .btn-outline { + border: 1px solid var(--border); + background-color: var(--secondary); + color: var(--secondary-foreground); + } + .btn-outline:hover:not(:disabled) { + background-color: var(--accent); + color: var(--accent-foreground); + } + /* In light mode, a white button with an edge and a small lift, so it + shows on the grey page and on white cards alike. */ + html[data-theme="light"] .btn-outline { + border-color: oklch(0 0 0 / 12%); + background-color: var(--card); + box-shadow: 0 1px 2px rgb(24 24 27 / 0.06); + } + html[data-theme="light"] .btn-outline:hover:not(:disabled) { + background-color: var(--accent); + } + + /* Tiles divided by 1px gaps showing the hairline. The hairline is + translucent, so it's laid over the surface colour, and only inside the + border: under the border too, the edge would draw twice and look darker + than a card's. */ + .hairline-grid { + background: linear-gradient(var(--hairline), var(--hairline)) padding-box, + var(--surface) border-box; + } + + /* The console card: set into the page, hairline edge, no shadow. */ + .surface { + border: 1px solid var(--hairline); + background-color: var(--surface); + box-shadow: var(--surface-highlight); + border-radius: var(--radius-md); + } +} + +@media (prefers-reduced-motion: reduce) { + *, + *::before, + *::after { + animation-duration: 0.01ms !important; + animation-iteration-count: 1 !important; + transition-duration: 0.01ms !important; + } +} + +/* ── The content panel (desktop) ────────────────────────────────────────── + Linear-style: the sidebar on the page background, the content in one + rounded panel inset by 8px, a step off the page (off-white in light mode, + near-black in dark). The window still scrolls (route changes and the live + feed rely on it), so the panel's edge is a fixed frame: a hairline ring, + and the page background spread outside it, which the content scrolls + behind. It sits under the sidebar and every popover, menu and dialog. */ +.app-frame { + display: none; +} +@media (min-width: 64rem) { + /* Jump links and scrolled-to items stop below the pinned header (8px + gap + 56px header + 8px breathing room), not underneath it. */ + html { + scroll-padding-top: 72px; + } + .app-frame { + display: block; + position: fixed; + inset: 8px 8px 8px 252px; + z-index: 25; + border-radius: 12px; + pointer-events: none; + box-shadow: 0 0 0 1px var(--frame-edge), 0 0 0 100vmax var(--background); + } + .app-main { + background-color: var(--panel); + padding-block: 8px; + } + .app-sidebar { + border-right-color: transparent; + } + /* Inside the panel, light mode's cards are set flat: an edge, no lift. */ + html[data-theme="light"] .app-main .surface, + html[data-theme="light"] .app-main .hairline-grid { + box-shadow: none; + } +} diff --git a/app/governance/page.tsx b/app/governance/page.tsx new file mode 100644 index 00000000..bb45d99c --- /dev/null +++ b/app/governance/page.tsx @@ -0,0 +1,258 @@ +"use client"; + +import { Landmark, Plus, Vote } from "lucide-react"; +import Link from "next/link"; +import { usePathname, useRouter, useSearchParams } from "next/navigation"; +import { Suspense } from "react"; + +import { + ListSkeleton, + PollRow, + ProposalRow, +} from "@/components/governance/list"; +import { + pollEndsAt, + pollPhase, + proposalPhase, + proposalWindow, + useL1Block, +} from "@/components/governance/model"; +import { TallyKey } from "@/components/governance/tally"; +import { TreasuryCard } from "@/components/governance/treasury"; +import { + Card, + EmptyState, + ErrorNotice, + Page, + PageHeader, + Section, + SectionHeader, +} from "@/components/page"; +import { useNow } from "@/components/shell/round-clock"; +import { Button } from "@/components/ui/button"; +import { Segmented } from "@/components/ui/misc"; +import { useGovernance, useProtocol } from "@/lib/hooks/queries"; + +type Tab = "proposals" | "polls"; + +const TABS = [ + { value: "proposals", label: "Treasury proposals" }, + { value: "polls", label: "LIP polls" }, +] as const; + +const PROPOSAL_KEY = [ + { key: "for", label: "For", color: "var(--series-3)" }, + { key: "against", label: "Against", color: "var(--series-2)" }, + { key: "abstain", label: "Abstain", color: "var(--series-other)" }, +]; + +const POLL_KEY = [ + { key: "yes", label: "Yes", color: "var(--series-3)" }, + { key: "no", label: "No", color: "var(--series-2)" }, +]; + +export default function GovernancePage() { + return ( + + + + + + } + /> + {/* What treasury proposals spend from, first. */} +
+ +
+ }> + + +
+ ); +} + +function GovernanceLists() { + const router = useRouter(); + const pathname = usePathname(); + const params = useSearchParams(); + const tab: Tab = params.get("tab") === "polls" ? "polls" : "proposals"; + + const setTab = (t: Tab) => { + router.replace(t === "polls" ? `${pathname}?tab=polls` : pathname, { + scroll: false, + }); + }; + + return ( + <> + {/* The switch on the left, and on the right the key to the vote bars + in every list below it. Lists start a section's distance down. */} +
+ + +
+
{tab === "proposals" ? : }
+ + ); +} + +function Proposals() { + const governance = useGovernance(); + const protocol = useProtocol(); + const nowMs = useNow(30_000); + + if (governance.error || protocol.error) { + return ( + { + if (governance.error) governance.refetch(); + if (protocol.error) protocol.refetch(); + }} + /> + ); + } + if (!governance.data || !protocol.data) return ; + + const p = protocol.data; + const all = governance.data.proposals; + if (!all.length) { + return ( + + } + title="No treasury proposals yet" + description="Proposals to spend from the treasury will appear here once they're submitted on-chain." + /> + + ); + } + + const open = all + .filter((x) => proposalPhase(x, p.currentRound) !== "ended") + .sort( + (a, b) => proposalWindow(a, p).closesAt - proposalWindow(b, p).closesAt + ); + const past = all + .filter((x) => proposalPhase(x, p.currentRound) === "ended") + .sort((a, b) => b.voteEnd - a.voteEnd); + + return ( + <> + {open.length > 0 && ( +
+ + + {open.map((x) => ( + + ))} + +
+ )} + {past.length > 0 && ( +
+ + + {past.map((x) => ( + + ))} + +
+ )} + + ); +} + +function Polls() { + const governance = useGovernance(); + const { block: l1Block, isLoading: blockLoading } = useL1Block(); + const nowMs = useNow(30_000); + + if (governance.error) + return ( + governance.refetch()} + /> + ); + if (!governance.data || blockLoading) return ; + + const all = governance.data.polls; + if (!all.length) { + return ( + + } + title="No LIP polls yet" + description="Polls on Livepeer Improvement Proposals will appear here once they're created on-chain." + /> + + ); + } + + const open = all + .filter((x) => pollPhase(x, l1Block) === "active") + .sort( + (a, b) => + (pollEndsAt(a, l1Block, nowMs) ?? 0) - + (pollEndsAt(b, l1Block, nowMs) ?? 0) + ); + const rest = all + .filter((x) => pollPhase(x, l1Block) !== "active") + .sort((a, b) => b.endBlock - a.endBlock); + + return ( + <> + {open.length > 0 && ( +
+ + + {open.map((x) => ( + + ))} + +
+ )} + {rest.length > 0 && ( +
+ + + {rest.map((x) => ( + + ))} + +
+ )} + + ); +} diff --git a/app/governance/polls/[id]/layout.tsx b/app/governance/polls/[id]/layout.tsx new file mode 100644 index 00000000..6f8a4eaa --- /dev/null +++ b/app/governance/polls/[id]/layout.tsx @@ -0,0 +1,17 @@ +import type { Metadata } from "next"; + +import { pollShare } from "@/lib/og/data"; +import { shareMetadata } from "@/lib/og/metadata"; + +export async function generateMetadata({ + params, +}: { + params: Promise<{ id: string }>; +}): Promise { + const { id } = await params; + return shareMetadata(await pollShare(id).catch(() => null)); +} + +export default function Layout({ children }: { children: React.ReactNode }) { + return children; +} diff --git a/app/governance/polls/[id]/opengraph-image.tsx b/app/governance/polls/[id]/opengraph-image.tsx new file mode 100644 index 00000000..17a823f2 --- /dev/null +++ b/app/governance/polls/[id]/opengraph-image.tsx @@ -0,0 +1,16 @@ +import { shareImage } from "@/lib/og/card"; +import { pollShare } from "@/lib/og/data"; + +export const alt = "LIP poll on Livepeer Explorer"; +export const size = { width: 1200, height: 630 }; +export const contentType = "image/png"; + +export default async function Image({ + params, +}: { + params: Promise<{ id: string }>; +}) { + const { id } = await params; + const share = await pollShare(id).catch(() => null); + return shareImage(share?.card, "LIP poll"); +} diff --git a/app/governance/polls/[id]/page.tsx b/app/governance/polls/[id]/page.tsx new file mode 100644 index 00000000..bf5daafa --- /dev/null +++ b/app/governance/polls/[id]/page.tsx @@ -0,0 +1,293 @@ +"use client"; + +import { ExternalLink, Vote } from "lucide-react"; +import { useParams } from "next/navigation"; + +import { + BackLink, + DetailHeader, + DetailItem, + DetailLayout, + DetailList, + DetailSkeleton, + DetailTabs, + RailSection, + useDetailTab, +} from "@/components/governance/detail"; +import { PlainMarkdown } from "@/components/governance/markdown"; +import { + formatDateTime, + type Outcome, + pollEndsAt, + pollMajority, + pollPhase, + pollTitle, + timeCopy, + useL1Block, + usePollDocument, +} from "@/components/governance/model"; +import { + pollSeries, + QuorumMeter, + TallyBar, + TallyLegend, +} from "@/components/governance/tally"; +import { PollVoteForm } from "@/components/governance/vote-form"; +import { useVoteElectorate, VotesPanel } from "@/components/governance/votes"; +import { CopyButton } from "@/components/identity"; +import { Card, EmptyState, ErrorNotice, Page } from "@/components/page"; +import { useNow } from "@/components/shell/round-clock"; +import { Badge } from "@/components/ui/badge"; +import { Button } from "@/components/ui/button"; +import { Skeleton, StatusDot } from "@/components/ui/misc"; +import { addressUrl } from "@/lib/config"; +import { formatLPT, formatPercent, shortAddress } from "@/lib/format"; +import { useGovernance, usePollVotes, useProtocol } from "@/lib/hooks/queries"; +import { routeParam } from "@/lib/params"; + +const TABS = ["proposal", "votes"] as const; + +const LINK = + "inline-flex items-center gap-1 hover:text-foreground hover:underline underline-offset-4"; + +export default function PollPage() { + const params = useParams<{ id: string }>(); + const id = routeParam(params.id).toLowerCase(); + const governance = useGovernance(); + const protocol = useProtocol(); + const { block: l1Block, isLoading: blockLoading } = useL1Block(); + const nowMs = useNow(30_000); + const poll = governance.data?.polls.find((p) => p.id.toLowerCase() === id); + const doc = usePollDocument(poll?.proposal); + const [tab, setTab] = useDetailTab(TABS, "proposal"); + const votes = usePollVotes(poll ? poll.id : undefined); + // Ended polls are measured against the active set when they closed. + const electorate = useVoteElectorate( + poll && pollPhase(poll, l1Block) === "ended" + ? { block: poll.endBlock } + : null + ); + + if (governance.error) { + return ( + + + governance.refetch()} + /> + + ); + } + if (!governance.data || blockLoading) return ; + + if (!poll) { + return ( + + + + } + title="Poll not found" + description="There's no LIP poll at this address in the subgraph. It may not be indexed yet." + /> + + + ); + } + + const phase = pollPhase(poll, l1Block); + const endsAt = pollEndsAt(poll, l1Block, nowMs); + const series = pollSeries(poll); + const voted = poll.yes + poll.no; + const yesShare = voted > 0 ? (poll.yes / voted) * 100 : null; + // Participation against the active stake the poll is measured against: + // today's while open, the closing round's once ended. + const electorateStake = electorate?.fallback + ? null + : electorate?.orchestrators.reduce((s, o) => s + o.totalStake, 0) ?? null; + const activeStake = + phase === "active" + ? protocol.data?.totalActiveStake ?? electorateStake + : electorateStake; + const participation = + activeStake && activeStake > 0 ? (voted / activeStake) * 100 : null; + + const outcome: Outcome = + phase === "active" + ? { label: "Active", tone: "positive" } + : phase === "ended" + ? pollMajority(poll) + : { label: "Status unknown", tone: "neutral" }; + + const lipUrl = + doc.data?.lip != null + ? `https://github.com/livepeer/LIPs/blob/${ + doc.data.commitHash ?? "master" + }/LIPs/LIP-${doc.data.lip}.md` + : null; + + const timing = + endsAt != null && phase !== "unknown" + ? timeCopy(phase, endsAt, nowMs) + : `Ends at block ${poll.endBlock.toLocaleString()}`; + + return ( + + + + {phase === "active" && } + {outcome.label} + + } + loading={doc.isLoading} + title={doc.data?.title ?? pollTitle(poll, undefined)} + /> + + + + +
+ + {timing} + + + {formatLPT(voted)} + +
+ + + {participation != null && activeStake != null && ( +
+ +
+ )} + {phase === "active" && ( +
+ +
+ )} +
+
+ + + + + + Block {poll.endBlock.toLocaleString()} + + + {formatPercent(poll.quorum, { decimals: 2 })} + + + {formatPercent(poll.quota, { decimals: 2 })} + + + {yesShare != null ? formatPercent(yesShare) : "—"} + + + {poll.voteCount.toLocaleString()} + + + + + {shortAddress(poll.id)} + + + + + + + + + } + main={ + <> + + View on GitHub + + ) : undefined + } + /> + {tab === "votes" ? ( + votes.refetch()} + series={series} + electorate={electorate} + /> + ) : ( + + {doc.isLoading ? ( +
+ + + + + +
+ ) : doc.data ? ( + + ) : ( +
+

+ Couldn't load the proposal text from IPFS +

+

+ {poll.proposal} +

+ +
+ )} +
+ )} + + } + /> +
+ ); +} diff --git a/app/governance/polls/new/page.tsx b/app/governance/polls/new/page.tsx new file mode 100644 index 00000000..98f11591 --- /dev/null +++ b/app/governance/polls/new/page.tsx @@ -0,0 +1,347 @@ +"use client"; + +import { useConnectModal } from "@rainbow-me/rainbowkit"; +import { useQuery } from "@tanstack/react-query"; +import { + ArrowLeft, + Check, + ExternalLink, + FileText, + Loader2, +} from "lucide-react"; +import Link from "next/link"; +import { useState } from "react"; +import { toHex } from "viem"; +import { useAccount, useReadContract } from "wagmi"; + +import { useGovernanceTx } from "@/components/governance/use-governance-tx"; +import { + Card, + EmptyState, + ErrorNotice, + Page, + PageHeader, +} from "@/components/page"; +import { Button } from "@/components/ui/button"; +import { Skeleton } from "@/components/ui/misc"; +import { SafeProposed } from "@/components/wallet/safe-proposed"; +import { bondingManager } from "@/lib/abis/BondingManager"; +import { pollCreator } from "@/lib/abis/PollCreator"; +import { cn } from "@/lib/cn"; +import { CONTRACTS, L2_CHAIN, txUrl } from "@/lib/config"; +import { formatLPT, fromWei } from "@/lib/format"; +import { useProtocolContract } from "@/lib/staking/contracts"; + +type Lip = { lip: string; title: string; created: string | null; url: string }; + +async function fetchLips(): Promise<{ commit: string; lips: Lip[] }> { + const res = await fetch("/api/governance/lips"); + const json = await res.json(); + if (!res.ok) throw new Error(json.error ?? "Couldn't load LIPs"); + return json; +} + +const LIPS_REPO = "https://github.com/livepeer/LIPs"; +const LIP_PROCESS = `${LIPS_REPO}/blob/master/LIPs/LIP-1.md`; + +/** + * Put a LIP to a stake-weighted poll. PollCreator requires 100 LPT of + * delegated stake (or an orchestrator's total stake) and no fee; the LIP's + * text is pinned to IPFS by the explorer and the poll points at it. + */ +/** Which commit of the LIPs repository the list was read from. */ +function CheckedAgainst({ commit }: { commit: string }) { + return ( +

+ Checked against{" "} + + livepeer/LIPs@{commit.slice(0, 7)} + +

+ ); +} + +export default function NewPollPage() { + const { address, isConnected } = useAccount(); + const { openConnectModal } = useConnectModal(); + const bm = useProtocolContract("BondingManager"); + const [selected, setSelected] = useState(null); + const [pinning, setPinning] = useState(false); + const tx = useGovernanceTx(); + + const lips = useQuery({ + queryKey: ["pollable-lips"], + queryFn: fetchLips, + staleTime: 5 * 60_000, + }); + const { data: cost } = useReadContract({ + address: CONTRACTS.pollCreator, + abi: pollCreator, + functionName: "POLL_CREATION_COST", + chainId: L2_CHAIN.id, + query: { staleTime: Infinity }, + }); + const { data: stake } = useReadContract({ + address: bm, + abi: bondingManager, + functionName: "pendingStake", + // The round is ignored: pendingStake always counts through the current + // round, and PollCreator.createPoll passes 0 too. + args: [address!, 0n], + chainId: L2_CHAIN.id, + query: { enabled: Boolean(bm && address) }, + }); + const { data: orchestratorStake } = useReadContract({ + address: bm, + abi: bondingManager, + functionName: "transcoderTotalStake", + args: [address!], + chainId: L2_CHAIN.id, + query: { enabled: Boolean(bm && address) }, + }); + + const required = cost as bigint | undefined; + const has = [stake, orchestratorStake] + .map((v) => (v as bigint | undefined) ?? 0n) + .reduce((a, b) => (a > b ? a : b), 0n); + const eligible = required != null && has >= required; + const busy = pinning || tx.signing || tx.confirming; + + const create = async () => { + if (!selected) return; + tx.setError(null); + setPinning(true); + let hash: string; + try { + const res = await fetch("/api/governance/polls", { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ lip: selected }), + }); + const json = await res.json(); + if (!res.ok) throw new Error(json.error ?? "Couldn't pin the LIP"); + hash = json.hash; + } catch (e) { + tx.setError(e instanceof Error ? e.message : String(e)); + return; + } finally { + setPinning(false); + } + await tx.send({ + address: CONTRACTS.pollCreator, + abi: pollCreator, + functionName: "createPoll", + args: [toHex(hash)], + }); + }; + + const chosen = lips.data?.lips.find((l) => l.lip === selected); + + return ( + + + Governance + + + + {tx.proposed && address ? ( + + + The poll for LIP-{selected} is queued in your Safe. It opens once + the owners sign and execute it. + + + ) : tx.confirmed ? ( + + } + title={`Poll created for LIP-${selected}`} + description="It appears in Governance as soon as the network data catches up, usually within a minute." + action={ +
+ + {tx.hash && ( + + )} +
+ } + /> +
+ ) : lips.error ? ( + lips.refetch()} /> + ) : !lips.data ? ( +
+ {Array.from({ length: 3 }).map((_, i) => ( + + ))} +
+ ) : lips.data.lips.length === 0 ? ( + // The whole page is empty, so no card. On desktop, where the title + // is in the header, it's centred in the space under it (the header's + // 56px plus Page's 24px top and 64px bottom padding), lifted a + // little since true centre reads low. On phones it follows the + // title and description, which already start the page. +
+ } + title="No LIPs are open for a poll" + description="Only LIPs with status Proposed, and without a poll already, can be put to a vote. Propose a LIP in the LIPs repository first." + action={ +
+
+ + +
+ +
+ } + /> +
+ ) : ( + <> + {/* Native radios: arrow keys move between LIPs and Tab leaves the + group, as screen readers and keyboards expect. */} +
+ LIP to put to a poll + {lips.data.lips.map((l) => { + const on = l.lip === selected; + return ( +
+ + + Read + +
+ ); + })} +
+ +
+ +
+ +
+ {tx.error && ( +

{tx.error}

+ )} + {!isConnected ? ( + + ) : ( + <> + {required != null && !eligible && ( +

+ You need {formatLPT(fromWei(required))} staked to create a + poll. This wallet has {formatLPT(fromWei(has))}. +

+ )} + + + )} +
+ + )} +
+ ); +} diff --git a/app/governance/proposals/[id]/layout.tsx b/app/governance/proposals/[id]/layout.tsx new file mode 100644 index 00000000..121a33c9 --- /dev/null +++ b/app/governance/proposals/[id]/layout.tsx @@ -0,0 +1,17 @@ +import type { Metadata } from "next"; + +import { proposalShare } from "@/lib/og/data"; +import { shareMetadata } from "@/lib/og/metadata"; + +export async function generateMetadata({ + params, +}: { + params: Promise<{ id: string }>; +}): Promise { + const { id } = await params; + return shareMetadata(await proposalShare(id).catch(() => null)); +} + +export default function Layout({ children }: { children: React.ReactNode }) { + return children; +} diff --git a/app/governance/proposals/[id]/opengraph-image.tsx b/app/governance/proposals/[id]/opengraph-image.tsx new file mode 100644 index 00000000..42cb888f --- /dev/null +++ b/app/governance/proposals/[id]/opengraph-image.tsx @@ -0,0 +1,16 @@ +import { shareImage } from "@/lib/og/card"; +import { proposalShare } from "@/lib/og/data"; + +export const alt = "Treasury proposal on Livepeer Explorer"; +export const size = { width: 1200, height: 630 }; +export const contentType = "image/png"; + +export default async function Image({ + params, +}: { + params: Promise<{ id: string }>; +}) { + const { id } = await params; + const share = await proposalShare(id).catch(() => null); + return shareImage(share?.card, "Treasury proposal"); +} diff --git a/app/governance/proposals/[id]/page.tsx b/app/governance/proposals/[id]/page.tsx new file mode 100644 index 00000000..e103fae8 --- /dev/null +++ b/app/governance/proposals/[id]/page.tsx @@ -0,0 +1,302 @@ +"use client"; + +import { FileText } from "lucide-react"; +import { useParams } from "next/navigation"; + +import { + BackLink, + DetailHeader, + DetailItem, + DetailLayout, + DetailList, + DetailSkeleton, + DetailTabs, + RailSection, + useDetailTab, +} from "@/components/governance/detail"; +import { PlainMarkdown } from "@/components/governance/markdown"; +import { + formatDateTime, + GOVERNOR_STATES, + type Outcome, + proposalDocument, + proposalMajority, + proposalPhase, + proposalWindow, + roundStartsAt, + timeCopy, +} from "@/components/governance/model"; +import { + ProposalVoteForm, + useProposalState, + useProposalThresholds, +} from "@/components/governance/proposal-vote"; +import { + proposalSeries, + QuorumMeter, + TallyBar, + TallyLegend, +} from "@/components/governance/tally"; +import { useVoteElectorate, VotesPanel } from "@/components/governance/votes"; +import { CopyButton, Identity } from "@/components/identity"; +import { Card, EmptyState, ErrorNotice, Page } from "@/components/page"; +import { useNow } from "@/components/shell/round-clock"; +import { Badge } from "@/components/ui/badge"; +import { StatusDot } from "@/components/ui/misc"; +import { formatLPT, formatPercent, shortAddress } from "@/lib/format"; +import { + useGovernance, + useProposalVotes, + useProtocol, +} from "@/lib/hooks/queries"; +import { routeParam } from "@/lib/params"; +import type { Protocol } from "@/lib/subgraph/network"; + +const TABS = ["description", "votes"] as const; + +/** Exact start time for recent rounds, otherwise an estimate from round length. */ +function roundTime(protocol: Protocol, round: number) { + const known = protocol.recentRounds.find((r) => r.round === round); + return known + ? { ts: known.ts, exact: true } + : { ts: roundStartsAt(protocol, round), exact: false }; +} + +export default function ProposalPage() { + const params = useParams<{ id: string }>(); + const id = routeParam(params.id); + const governance = useGovernance(); + const protocol = useProtocol(); + const nowMs = useNow(30_000); + const proposal = governance.data?.proposals.find((p) => p.id === id); + const chainState = useProposalState(proposal); + const thresholds = useProposalThresholds( + proposal, + protocol.data?.currentRound + ); + const [tab, setTab] = useDetailTab(TABS, "description"); + const votes = useProposalVotes(proposal ? proposal.id : undefined); + // Voting power is fixed at the proposal's start round. + const electorate = useVoteElectorate( + proposal && + protocol.data && + proposal.voteStart <= protocol.data.currentRound + ? { round: proposal.voteStart } + : null + ); + + if (governance.error || protocol.error) { + return ( + + + { + if (governance.error) governance.refetch(); + if (protocol.error) protocol.refetch(); + }} + /> + + ); + } + if (!governance.data || !protocol.data) return ; + + if (!proposal) { + return ( + + + + } + title="Proposal not found" + description="There's no treasury proposal with this ID in the subgraph. It may not be indexed yet." + /> + + + ); + } + + const p = protocol.data; + const { title, body } = proposalDocument(proposal.description); + const onChain = chainState != null ? GOVERNOR_STATES[chainState] : undefined; + const phase = onChain?.phase ?? proposalPhase(proposal, p.currentRound); + const { opensAt, closesAt } = proposalWindow(proposal, p); + const series = proposalSeries(proposal); + const total = series.reduce((s, x) => s + x.value, 0); + + const outcome: Outcome = + onChain ?? + (phase === "active" + ? { label: "Active", tone: "positive" } + : phase === "pending" + ? { label: "Pending", tone: "neutral" } + : proposalMajority(proposal)); + + const snapshot = roundTime(p, proposal.voteStart + 1); + const end = roundTime(p, proposal.voteEnd + 1); + + return ( + + + + {phase === "active" && } + {outcome.label} + + } + title={title} + /> + + + + +
+ + {timeCopy( + phase, + phase === "pending" ? opensAt : closesAt, + nowMs + )} + + + {formatLPT(total)} + +
+ + + {thresholds && phase !== "pending" && ( +
+ +
+ )} + {phase === "active" && ( +
+ +
+ )} + {phase === "pending" && ( +

+ Voting opens when round{" "} + {(proposal.voteStart + 1).toLocaleString()} starts. Voting + power is your stake at round{" "} + {proposal.voteStart.toLocaleString()}. +

+ )} +
+
+ + + + + + + + + {onChain?.label ?? "—"} + + + Round {(proposal.voteStart + 1).toLocaleString()} + + + Round {proposal.voteEnd.toLocaleString()} + + + {thresholds + ? formatPercent(thresholds.quorum, { decimals: 2 }) + : "—"} + + + {thresholds + ? formatPercent(thresholds.quota, { decimals: 2 }) + : "—"} + + {phase !== "pending" && ( + + {thresholds?.forShare != null + ? formatPercent(thresholds.forShare) + : "—"} + + )} + + {formatLPT(proposal.totalVotes)} + + + + + {shortAddress(proposal.id, 6, 6)} + + + + + + + + + } + main={ + <> + + {tab === "votes" ? ( + votes.refetch()} + series={series} + electorate={electorate} + /> + ) : ( + + {body ? ( + + ) : ( +

+ This proposal has no description beyond its title. +

+ )} +
+ )} + + } + /> +
+ ); +} diff --git a/app/governance/proposals/new/page.tsx b/app/governance/proposals/new/page.tsx new file mode 100644 index 00000000..52e7391a --- /dev/null +++ b/app/governance/proposals/new/page.tsx @@ -0,0 +1,434 @@ +"use client"; + +import { useConnectModal } from "@rainbow-me/rainbowkit"; +import { ArrowLeft, Check, ExternalLink, Loader2 } from "lucide-react"; +import Link from "next/link"; +import { useState } from "react"; +import { encodeFunctionData, isAddress } from "viem"; +import { normalize, toCoinType } from "viem/ens"; +import { useAccount, useBytecode, useEnsAddress, useReadContract } from "wagmi"; + +import { PlainMarkdown } from "@/components/governance/markdown"; +import { useControllerContract } from "@/components/governance/model"; +import { useGovernanceTx } from "@/components/governance/use-governance-tx"; +import { Card, EmptyState, Page, PageHeader } from "@/components/page"; +import { Button } from "@/components/ui/button"; +import { Input, Segmented } from "@/components/ui/misc"; +import { SafeProposed } from "@/components/wallet/safe-proposed"; +import { livepeerGovernor } from "@/lib/abis/LivepeerGovernor"; +import { livepeerToken } from "@/lib/abis/LivepeerToken"; +import { cn } from "@/lib/cn"; +import { L1_CHAIN, L2_CHAIN, txUrl } from "@/lib/config"; +import { formatLPT, fromWei, shortAddress, toWei } from "@/lib/format"; +import { useProtocolContract } from "@/lib/staking/contracts"; + +const TITLE_MAX = 120; + +/** + * A treasury proposal: `LivepeerGovernor.propose` with one call, an LPT + * transfer from the treasury to the receiver. The description is markdown + * whose first line is the title, the convention the proposal pages read. + */ +export default function NewProposalPage() { + const { address, isConnected } = useAccount(); + const { openConnectModal } = useConnectModal(); + const governor = useControllerContract("LivepeerGovernor"); + const treasury = useControllerContract("Treasury"); + const token = useProtocolContract("LivepeerToken"); + const tx = useGovernanceTx(); + + const [title, setTitle] = useState(""); + const [body, setBody] = useState(""); + const [view, setView] = useState<"write" | "preview">("write"); + const [receiver, setReceiver] = useState(""); + const [amount, setAmount] = useState(""); + + const { data: balance } = useReadContract({ + address: token, + abi: livepeerToken, + functionName: "balanceOf", + args: [treasury!], + chainId: L2_CHAIN.id, + query: { enabled: Boolean(token && treasury) }, + }); + const { data: threshold } = useReadContract({ + address: governor, + abi: livepeerGovernor, + functionName: "proposalThreshold", + chainId: L2_CHAIN.id, + query: { enabled: Boolean(governor) }, + }); + // The governor checks votes as of the previous round. + const { data: clock } = useReadContract({ + address: governor, + abi: livepeerGovernor, + functionName: "clock", + chainId: L2_CHAIN.id, + query: { enabled: Boolean(governor) }, + }); + const { data: votes } = useReadContract({ + address: governor, + abi: livepeerGovernor, + functionName: "getVotes", + args: [address!, BigInt(Number(clock ?? 1) - 1)], + chainId: L2_CHAIN.id, + query: { enabled: Boolean(governor && address && clock != null) }, + }); + + // Receiver: an address, or an ENS name. The treasury pays on Arbitrum, + // so a name's Arbitrum address (ENSIP-11) wins over its mainnet one, + // which it falls back to. + const trimmed = receiver.trim(); + let ens: string | undefined; + try { + ens = /\.[a-z]{2,}$/i.test(trimmed) ? normalize(trimmed) : undefined; + } catch { + ens = undefined; + } + const { data: resolvedL2, isFetching: resolvingL2 } = useEnsAddress({ + name: ens, + coinType: toCoinType(L2_CHAIN.id), + chainId: L1_CHAIN.id, + query: { enabled: Boolean(ens), retry: false }, + }); + const { data: resolvedL1, isFetching: resolvingL1 } = useEnsAddress({ + name: ens, + chainId: L1_CHAIN.id, + query: { enabled: Boolean(ens), retry: false }, + }); + const resolving = resolvingL2 || resolvingL1; + const to = isAddress(trimmed) + ? trimmed + : resolvedL2 ?? resolvedL1 ?? undefined; + const receiverError = + trimmed && !to && !resolving + ? ens + ? "This name doesn't resolve to an address" + : "Enter an address or ENS name" + : null; + + // A contract on mainnet with nothing at the same address on Arbitrum is + // most likely a mainnet-only Safe: whoever controls that address on + // Arbitrum, if anyone, isn't its owners, and the LPT would be lost. + // (EIP-7702 code, 0xef0100…, is an ordinary account's, so it's skipped.) + const { data: codeL1, isFetched: checkedL1 } = useBytecode({ + address: to, + chainId: L1_CHAIN.id, + query: { enabled: Boolean(to) }, + }); + const { data: codeL2, isFetched: checkedL2 } = useBytecode({ + address: to, + chainId: L2_CHAIN.id, + query: { enabled: Boolean(to) }, + }); + const mainnetOnlyContract = + Boolean(codeL1 && codeL1 !== "0x" && !codeL1.startsWith("0xef0100")) && + checkedL2 && + (!codeL2 || codeL2 === "0x"); + + let wei: bigint | null = null; + try { + wei = amount.trim() ? toWei(amount.trim()) : null; + } catch { + wei = null; + } + const treasuryLpt = balance != null ? (balance as bigint) : undefined; + const amountError = + amount.trim() && (wei == null || wei <= 0n) + ? "Enter an amount of LPT" + : wei != null && treasuryLpt != null && wei > treasuryLpt + ? "More than the treasury holds" + : null; + + const required = threshold as bigint | undefined; + const have = (votes as bigint | undefined) ?? 0n; + const eligible = required != null && have >= required; + // The receiver is settled only once every lookup has finished: a name's + // Arbitrum address can still replace its mainnet one, and the contract + // check can still find it's somewhere the LPT would be lost. + const receiverReady = + Boolean(to) && !resolving && checkedL1 && checkedL2 && !mainnetOnlyContract; + const complete = + title.trim() && + body.trim() && + receiverReady && + wei && + wei > 0n && + !amountError; + const busy = tx.signing || tx.confirming; + + const description = `# ${title.trim()}\n\n${body.trim()}\n`; + + const submit = () => { + if (!governor || !token || !to || !wei) return; + tx.send({ + address: governor, + abi: livepeerGovernor, + functionName: "propose", + args: [ + [token], + [0n], + [ + encodeFunctionData({ + abi: livepeerToken, + functionName: "transfer", + args: [to as `0x${string}`, wei], + }), + ], + description, + ], + }); + }; + + return ( + + + Governance + + + + {tx.proposed && address ? ( + + + The proposal is queued in your Safe. Voting opens once the owners + sign and execute it. + + + ) : tx.confirmed ? ( + + } + title="Proposal submitted" + description="Voting opens after a one-round delay. It appears in Governance as soon as the network data catches up." + action={ +
+ + {tx.hash && ( + + )} +
+ } + /> +
+ ) : ( +
+ + setTitle(e.target.value)} + disabled={busy} + /> + + + + } + hint="Markdown. Say what the funds are for, who receives them, milestones, and how progress will be reported." + > + {view === "write" ? ( +