diff --git a/.env b/.env new file mode 100644 index 0000000000..8880ea5838 --- /dev/null +++ b/.env @@ -0,0 +1,7 @@ + GRAPHQL_URL=http://localhost:8080/v1/graphql + GRAPHQL_WS=ws://localhost:8080/v1/graphql + NODE_ENV=development + PORT=3000 + RPC_WEBSOCKET=http://localhost:26657/websocket + NEXT_PUBLIC_CHAIN_TYPE=testnet + PROJECT_NAME=web-optimum \ No newline at end of file diff --git a/apps/web-optimum/.codecov.yml b/apps/web-optimum/.codecov.yml new file mode 100644 index 0000000000..a990bf8809 --- /dev/null +++ b/apps/web-optimum/.codecov.yml @@ -0,0 +1,17 @@ +# https://docs.codecov.io/docs/commit-status +coverage: + status: + project: + default: + # basic + target: 0 + threshold: 0% + base: 0% + # advanced + branches: [] + if_no_uploads: error + if_not_found: success + if_ci_failed: error + only_pulls: false + flags: [] + paths: [] diff --git a/apps/web-optimum/.eslintrc.yml b/apps/web-optimum/.eslintrc.yml new file mode 100644 index 0000000000..fc134c47f1 --- /dev/null +++ b/apps/web-optimum/.eslintrc.yml @@ -0,0 +1,9 @@ +root: true +extends: + - custom +ignorePatterns: + - '**/node_modules/*' + - '**/out/*' + - '**/.next/*' + - '**/dist/*' + - '**/src/graphql/*' diff --git a/apps/web-optimum/CHANGELOG.md b/apps/web-optimum/CHANGELOG.md new file mode 100644 index 0000000000..75d0549aca --- /dev/null +++ b/apps/web-optimum/CHANGELOG.md @@ -0,0 +1,820 @@ +# Unreleased + +## 2.17.3 + +### Patch Changes + +- Updated dependencies [[`584138bbb`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/584138bbb2443b74d437546ad04327fa2f0dd003), [`18991b16b`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/18991b16bda5af4b993868ee85a280e8b39271ca)]: + - shared-utils@2.23.0 + - ui@2.36.0 + +## 2.17.2 + +### Patch Changes + +- Updated dependencies [[`99fb1bdf8`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/99fb1bdf8be3e3baa022475903f0ebc8fc9f0619)]: + - shared-utils@2.22.0 + - ui@2.35.0 + +## 2.17.1 + +### Patch Changes + +- Updated dependencies [[`d6d815915`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/d6d815915a397c857247b32882222918eaef14e5), [`1e919a3c7`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/1e919a3c7eff85ce9aef954d59dfe38212fd997a)]: + - shared-utils@2.21.0 + - ui@2.34.0 + +## 2.17.0 + +### Minor Changes + +- [#1279](https://github.com/forbole/big-dipper-2.0-cosmos/pull/1279) [`f7365dfe0`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/f7365dfe0ca3b6f0cbefcb580d255a7977f44a4f) Thanks [@rachelhox](https://github.com/rachelhox)! - feat: price chart component + +### Patch Changes + +- Updated dependencies [[`f7365dfe0`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/f7365dfe0ca3b6f0cbefcb580d255a7977f44a4f)]: + - ui@2.33.0 + +## 2.16.1 + +### Patch Changes + +- Updated dependencies [[`4a8dd7a48`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/4a8dd7a480a65aadefd3ea3af6fc1d5280dacbc2)]: + - shared-utils@2.20.0 + - ui@2.32.0 + +## 2.16.0 + +### Minor Changes + +- [#1258](https://github.com/forbole/big-dipper-2.0-cosmos/pull/1258) [`12079a781`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/12079a78141eb2e5ddee1c9211c5e81bc4e6d0d1) Thanks [@teamchong](https://github.com/teamchong)! - - Integrated `next-sitemap` to auto-generate sitemaps for each Next.js app in the monorepo. This enhancement improves our SEO capabilities and website visibility on search engines. The sitemap will be automatically updated with every build, ensuring it always reflects the current state of the site. + +### Patch Changes + +- Updated dependencies [[`12079a781`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/12079a78141eb2e5ddee1c9211c5e81bc4e6d0d1)]: + - shared-utils@2.19.0 + - ui@2.31.0 + +## 2.15.3 + +### Patch Changes + +- Updated dependencies [[`f5392fbba`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/f5392fbbabf50763001c80faa0f7fefca343f287)]: + - ui@2.30.2 + +## 2.15.2 + +### Patch Changes + +- Updated dependencies [[`5654972fd`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/5654972fdf2bb50bcd8566320dc93294301facab)]: + - shared-utils@2.18.1 + - ui@2.30.1 + +## 2.15.1 + +### Patch Changes + +- Updated dependencies [[`c59a66729`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/c59a66729196471a7adafa23823dc4b1b21e334b), [`3df0639ae`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/3df0639ae1ce872cfd05b535ae55edd9292995b3)]: + - shared-utils@2.18.0 + - ui@2.30.0 + +## 2.15.0 + +### Minor Changes + +- [#1248](https://github.com/forbole/big-dipper-2.0-cosmos/pull/1248) [`376b4b356`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/376b4b356b58375f14f004f62a3c2e1a11c8dccf) Thanks [@rachelhox](https://github.com/rachelhox)! - add Coreum Big Dipper + +- [#1236](https://github.com/forbole/big-dipper-2.0-cosmos/pull/1236) [`fe24afcda`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/fe24afcdad91cb859ee637f2c61d79d177d8c616) Thanks [@rachelhox](https://github.com/rachelhox)! - fix quicksilver validator moniker display + +### Patch Changes + +- Updated dependencies [[`376b4b356`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/376b4b356b58375f14f004f62a3c2e1a11c8dccf), [`fe24afcda`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/fe24afcdad91cb859ee637f2c61d79d177d8c616)]: + - shared-utils@2.17.0 + - ui@2.29.0 + +## 2.14.1 + +### Patch Changes + +- [#1242](https://github.com/forbole/big-dipper-2.0-cosmos/pull/1242) [`66586e088`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/66586e088e49686ef920c00af8035dab1798317e) Thanks [@teamchong](https://github.com/teamchong)! - Shared translations for workspaces + +- Updated dependencies [[`66586e088`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/66586e088e49686ef920c00af8035dab1798317e)]: + - shared-utils@2.16.2 + - ui@2.28.1 + +## 2.14.0 + +### Minor Changes + +- [#1238](https://github.com/forbole/big-dipper-2.0-cosmos/pull/1238) [`a0653bd55`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/a0653bd552af9d2e1c29ea3516b32da3b94d7e0b) Thanks [@rachelhox](https://github.com/rachelhox)! - update login ui + +### Patch Changes + +- [#1225](https://github.com/forbole/big-dipper-2.0-cosmos/pull/1225) [`5316f55cf`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/5316f55cfccc31a44cac4d42de704d0d3f058048) Thanks [@teamchong](https://github.com/teamchong)! - Bump package versions + +- Updated dependencies [[`a0653bd55`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/a0653bd552af9d2e1c29ea3516b32da3b94d7e0b), [`acfb8cf38`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/acfb8cf38ab779cd70117109f86c07f7d87d7a42), [`5316f55cf`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/5316f55cfccc31a44cac4d42de704d0d3f058048)]: + - ui@2.28.0 + - shared-utils@2.16.1 + +## 2.13.0 + +### Minor Changes + +- [#1128](https://github.com/forbole/big-dipper-2.0-cosmos/pull/1128) [`1edb0b236`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/1edb0b236d80993a19b11dc598cbcbb44d1905b4) Thanks [@MonikaCat](https://github.com/MonikaCat)! - Added login with Keplr and WalletConnect([\#1128](https://github.com/forbole/big-dipper-2.0-cosmos/pull/1128)) + +### Patch Changes + +- Updated dependencies [[`1edb0b236`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/1edb0b236d80993a19b11dc598cbcbb44d1905b4)]: + - shared-utils@2.16.0 + - ui@2.27.0 + +## 2.12.2 + +### Patch Changes + +- Updated dependencies [[`2949b87b9`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/2949b87b93676df46bfb824ac486e9b96b9a5ba4)]: + - shared-utils@2.15.0 + - ui@2.26.0 + +## 2.12.1 + +### Patch Changes + +- Updated dependencies [[`d106401de`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/d106401de6ad55be1efa2eedc248ad7277ce524a), [`381e863d1`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/381e863d12c2c56e1a32946f828de6cbd5350c46), [`2113969f5`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/2113969f5dea2d4a2cc177dc94f6ac8994080a67)]: + - ui@2.25.0 + - shared-utils@2.14.0 + +## 2.12.0 + +### Minor Changes + +- [#1223](https://github.com/forbole/big-dipper-2.0-cosmos/pull/1223) [`9082afdce`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/9082afdce5e76b378c612c5cd4f74161403c4a67) Thanks [@rachelhox](https://github.com/rachelhox)! - fix: missing messages from authz module + +### Patch Changes + +- Updated dependencies [[`9082afdce`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/9082afdce5e76b378c612c5cd4f74161403c4a67)]: + - ui@2.24.0 + +## 2.11.1 + +### Patch Changes + +- Updated dependencies [[`26b06277b`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/26b06277b6df0ccdf17a8207c39e74d147a20e6e)]: + - ui@2.23.0 + +## 2.11.0 + +### Minor Changes + +- [#1191](https://github.com/forbole/big-dipper-2.0-cosmos/pull/1191) [`9049e712c`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/9049e712c6dacedc5a4733830b2517f7fc6d4862) Thanks [@rachelhox](https://github.com/rachelhox)! - feat: footer add documentation link + +### Patch Changes + +- Updated dependencies [[`9049e712c`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/9049e712c6dacedc5a4733830b2517f7fc6d4862), [`b756f45fd`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/b756f45fde55cb582aa312f4fc9c5c49ce21173c), [`bf192489d`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/bf192489dfc10cf9f6679f08e6a1b96d390e2e00)]: + - ui@2.22.0 + - shared-utils@2.13.0 + +## 2.10.1 + +### Patch Changes + +- [#1196](https://github.com/forbole/big-dipper-2.0-cosmos/pull/1196) [`c4d1d83e3`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/c4d1d83e30922bdb86ffc20d8cde36adad34bd0c) Thanks [@teamchong](https://github.com/teamchong)! - chore: versions bump + +- Updated dependencies [[`c4d1d83e3`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/c4d1d83e30922bdb86ffc20d8cde36adad34bd0c), [`e1502b5d1`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/e1502b5d1ecb50b8da94fc157ac1866ee40df9a8)]: + - shared-utils@2.12.1 + - ui@2.21.0 + +## 2.10.0 + +### Minor Changes + +- [#1183](https://github.com/forbole/big-dipper-2.0-cosmos/pull/1183) [`33750408b`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/33750408bfa3bc3195124b78be72c0d54b414bd7) Thanks [@rachelhox](https://github.com/rachelhox)! - feat: theme toggle button and 12-hour/24-hour toggle button + +### Patch Changes + +- Updated dependencies [[`33750408b`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/33750408bfa3bc3195124b78be72c0d54b414bd7)]: + - shared-utils@2.12.0 + - ui@2.20.0 + +## 2.9.0 + +### Minor Changes + +- [#1166](https://github.com/forbole/big-dipper-2.0-cosmos/pull/1166) [`f4e9417a0`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/f4e9417a06c3a5667fe541eee2bf2b820566496d) Thanks [@rachelhox](https://github.com/rachelhox)! - add en zht zhs it pl locales + +- [#1166](https://github.com/forbole/big-dipper-2.0-cosmos/pull/1166) [`f4e9417a0`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/f4e9417a06c3a5667fe541eee2bf2b820566496d) Thanks [@rachelhox](https://github.com/rachelhox)! - add zht, zhs, pl and it locales + +### Patch Changes + +- Updated dependencies [[`f4e9417a0`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/f4e9417a06c3a5667fe541eee2bf2b820566496d), [`f4e9417a0`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/f4e9417a06c3a5667fe541eee2bf2b820566496d)]: + - ui@2.19.0 + +## 2.8.14 + +### Patch Changes + +- Updated dependencies [[`8fbfb95d5`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/8fbfb95d5d64ba23bff774aa95ea885839475603)]: + - ui@2.18.0 + +## 2.8.13 + +### Patch Changes + +- Updated dependencies [[`717cb798b`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/717cb798b200f5a3afde49695548266fa6bdfb3d)]: + - shared-utils@2.11.0 + - ui@2.17.1 + +## 2.8.12 + +### Patch Changes + +- Updated dependencies [[`98505b6e1`](https://github.com/forbole/big-dipper-2.0-cosmos/commit/98505b6e1ca3001a6b078d30266ed33456c808df)]: + - ui@2.17.0 + +## 2.8.11 + +### Patch Changes + +- Updated dependencies [35f47327d] + - shared-utils@2.10.0 + - ui@2.16.0 + +## 2.8.10 + +### Patch Changes + +- Updated dependencies [29f3ac40] + - ui@2.15.1 + +## 2.8.9 + +### Patch Changes + +- Updated dependencies [9f2e26b1] + - shared-utils@2.9.0 + - ui@2.15.0 + +## 2.8.8 + +### Patch Changes + +- Updated dependencies [e0f32672] + - ui@2.14.3 + +## 2.8.7 + +### Patch Changes + +- Updated dependencies [e11d768a] + - ui@2.14.2 + +## 2.8.6 + +### Patch Changes + +- Updated dependencies [4079b219] + - ui@2.14.1 + +## 2.8.5 + +### Patch Changes + +- Updated dependencies [d08c0dfd] + - shared-utils@2.8.0 + - tsconfig@0.3.0 + - ui@2.14.0 + +## 2.8.4 + +### Patch Changes + +- Updated dependencies [af2e8add5] + - shared-utils@2.7.0 + - ui@2.13.0 + +## 2.8.3 + +### Patch Changes + +- Updated dependencies [b4ac0a0c5] + - shared-utils@2.6.3 + - ui@2.12.1 + +## 2.8.2 + +### Patch Changes + +- Updated dependencies [e12c3b0c2] + - ui@2.12.0 + +## 2.8.1 + +### Patch Changes + +- Updated dependencies [a04d53bd8] +- Updated dependencies [a04d53bd8] +- Updated dependencies [a04d53bd8] + - ui@2.11.1 + +## 2.8.0 + +### Minor Changes + +- d967ae3f: migrate from next-tranlsate to next-i18next + + - replace {{count}} in locales/en/\*.json to {{num}} because {{count}} is reserved for next-18next + - add getServerSideProps to path with dynamic route param + - add getStaticProps to path without dynamic route param + +### Patch Changes + +- d967ae3f: remove @sentry/nextjs package, add install sentry script to install @sentry/nextjs when deployment via docker +- d967ae3f: replace dompurify package with xss +- d967ae3f: feat: change matomoSiteID to 8 +- d967ae3f: move jest setup coding to ui worksapce +- Updated dependencies [d967ae3f] +- Updated dependencies [d967ae3f] +- Updated dependencies [d967ae3f] +- Updated dependencies [d967ae3f] +- Updated dependencies [d967ae3f] +- Updated dependencies [d967ae3f] +- Updated dependencies [d967ae3f] + - tsconfig@0.2.0 + - ui@2.11.0 + +## 2.7.2 + +### Patch Changes + +- b64119a1: feat: handle respoonsive UI via CSS instead of using JS +- Updated dependencies [b64119a1] + - shared-utils@2.6.2 + - ui@2.10.4 + +## 2.7.1 + +### Patch Changes + +- dc085630: feat: Add Rotate banner feature +- Updated dependencies [dc085630] + - shared-utils@2.6.1 + - ui@2.10.1 + +## 2.7.0 + +### Minor Changes + +- 85dd8c7d: Migrate MUI v4 to MUI v5, Next v12 to v13, React v17 to v18 + +### Patch Changes + +- Updated dependencies [85dd8c7d] + - shared-utils@2.6.0 + - ui@2.10.0 + +## 2.6.0 + +### Minor Changes + +- 8ea919c8: auto deployment based on PR title keyword + +### Patch Changes + +- Updated dependencies [8ea919c8] + - ui@2.9.0 + +## 2.5.0 + +### Minor Changes + +- 650f686b: Enable Yarn Plug'n'Play (Zero-Installs) + +### Patch Changes + +- Updated dependencies [650f686b] + - shared-utils@2.5.0 + - ui@2.7.0 + +## 2.4.1 + +### Patch Changes + +- 2db4ee93: performance improvements and bug fixes +- Updated dependencies [2db4ee93] + - ui@2.6.1 + +## 2.4.0 + +### Minor Changes + +- df8a5bca: - batch network requests ([\#1092](https://github.com/forbole/big-dipper-2.0-cosmos/issues/1092)) + +### Patch Changes + +- Updated dependencies [df8a5bca] + - ui@2.5.0 + +## 2.3.0 + +### Minor Changes + +- e6437552: fix: numeral [NaN issue](https://github.com/adamwdraper/Numeral-js/issues/596) + +### Patch Changes + +- e6437552: refactor: add config for voting power exponent +- e6437552: fix: transaction message raw and filter not working +- e6437552: fix: WebSocket use default instead of GRAPHQL_TRANSPORT_WS_PROTOCOL +- e6437552: ci: Add bulk preview / publish to Akash +- e6437552: fix: height is not display properly in consensus ui +- e6437552: fix: type erros missing type declaration csstype +- Updated dependencies [e6437552] +- Updated dependencies [e6437552] +- Updated dependencies [e6437552] +- Updated dependencies [e6437552] +- Updated dependencies [e6437552] +- Updated dependencies [e6437552] +- Updated dependencies [e6437552] + + - shared-utils@2.3.0 + - ui@2.3.0 + +- Display `requested amount` and `recipient` fields inside Community Pool Spend proposal details page ([\#1053](https://github.com/forbole/big-dipper-2.0-cosmos/pull/1053)) +- Added Connect Wallet pop up screen ([\#1068](https://github.com/forbole/big-dipper-2.0-cosmos/pull/1068)) + +# main-v2.2.0 - 2022-11-22 + +## Changes + +- Moved env variables to config ([\#1007](https://github.com/forbole/big-dipper-2.0-cosmos/pull/1007)) +- Added Sentry's Next.js SDK ([\#1005](https://github.com/forbole/big-dipper-2.0-cosmos/issues/1005)) +- Switched from using `npm` to `yarn berry` package manager ([\#1028](https://github.com/forbole/big-dipper-2.0-cosmos/pull/1028)) +- Setup monorepo ([\#1035](https://github.com/forbole/big-dipper-2.0-cosmos/issues/1035)) +- Incremented unit tests coverage ([\#1044](https://github.com/forbole/big-dipper-2.0-cosmos/pull/1044)) +- Increment E2E tests coverage ([\#1047](https://github.com/forbole/big-dipper-2.0-cosmos/pull/1047)) +- Added Affiliate Marketing advertising banners ([\#1056](https://github.com/forbole/big-dipper-2.0-cosmos/pull/1056)) + +# base-v2.1.2 - 2022-09-11 + +## Fixes + +- Fixed `/font` after chain prefix `/desmos` in global.css ([\#992](https://github.com/forbole/big-dipper-2.0-cosmos/issues/992)) + +# base-v2.1.1 - 2022-08-29 + +## Fixes + +- Added missing dependency of `useEffect` in `useProfilesRecoil` to avoid desmos profile from not being loaded ([\#904](https://github.com/forbole/big-dipper-2.0-cosmos/issues/904)) + +## Changes + +- Updated validator and account details to not be found if bech32 is invalid +- Removed the use of NEXT_PUBLIC_URL +- Updated graphql types generation structure (in preparation for third party modules) +- Updated preview image location +- Updated change url files ([\#972](https://github.com/forbole/big-dipper-2.0-cosmos/issues/972)) +- Added `NEXT_PUBLIC_MATOMO_URL` and `NEXT_PUBLIC_MATOMO_SITE_ID` to github workflow production ([\#972](https://github.com/forbole/big-dipper-2.0-cosmos/issues/972)) + +# base-v2.1.0 - 2022-04-19 + +## Changes + +- Updated not found and 404 logo ([\#792](https://github.com/forbole/big-dipper-2.0-cosmos/issues/792)) +- Fixed params % display ([\#795](https://github.com/forbole/big-dipper-2.0-cosmos/issues/795)) +- Updated params page if time period less than 1 day then show seconds ([\#797](https://github.com/forbole/big-dipper-2.0-cosmos/issues/797)) +- Added token price history component ([\#784](https://github.com/forbole/big-dipper-2.0-cosmos/issues/784)) +- Updated Account details hasura actions to default call 100 items instead of 10 for better performance +- Added back proposal details quorum % ([\#788](https://github.com/forbole/big-dipper-2.0-cosmos/issues/788)) +- Updated validator details hasura actions performances ([\#812](https://github.com/forbole/big-dipper-2.0-cosmos/issues/812)) + +## Fixes + +- Fixed commission being displayed for non validator accounts ([\#787](https://github.com/forbole/big-dipper-2.0-cosmos/issues/787)) +- Added community tax in to apr calculation ([\#810](https://github.com/forbole/big-dipper-2.0-cosmos/issues/810)) + +# base-v2.0.2 - 2022-03-23 + +## Bug fixes + +- Fixed proposal details chart percentage display + +# base-v2.0.1 - 2022-03-17 + +## Bug fixes + +- Fixed online voting power total ([\#800](https://github.com/forbole/big-dipper-2.0-cosmos/issues/800)) + +# base-v2.0.0 - 2022-03-10 + +## Changes + +- Changed online voting power to be a query instead of a subscription ([\#638](https://github.com/forbole/big-dipper-2.0-cosmos/issues/638)) +- Optimised rendering of Proposal Details page ([\#763](https://github.com/forbole/big-dipper-2.0-cosmos/issues/763)) +- Updated online voting power display ([\#776](https://github.com/forbole/big-dipper-2.0-cosmos/issues/776)) +- Improved initial loading speed by asyncing top level functions ([\#773](https://github.com/forbole/big-dipper-2.0-cosmos/issues/773)) + +## Bug fixes + +- Fixed Apr error if bonded tokens is 0 ([\#758](https://github.com/forbole/big-dipper-2.0-cosmos/issues/758)) + +## Breaking + +- [Bdjuno](https://github.com/forbole/bdjuno) must be on `v2.0.0` + +# base-v2.0.0-rc3 - 2022-02-25 + +## Changes + +- Changed `NEXT_PUBLIC_WS_CHAIN_URL` to `NEXT_PUBLIC_RPC_WEBSOCKET` for clarification +- Changed `NEXT_PUBLIC_CHAIN_STATUS` to `NEXT_PUBLIC_CHAIN_TYPE` for clarification + +## Migration + +- Changed env `NEXT_PUBLIC_WS_CHAIN_URL` to `NEXT_PUBLIC_RPC_WEBSOCKET` or don't. It's backwards compatible +- Changed env `NEXT_PUBLIC_CHAIN_STATUS` to `NEXT_PUBLIC_CHAIN_TYPE` or don't. It's backwards compatible + +## Breaking + +- [Bdjuno](https://github.com/forbole/bdjuno) must be on `v2.0.0` + +# base-v2.0.0-rc2 - 2022-02-24 + +## Changes + +- Updated market cap display ([\#698](https://github.com/forbole/big-dipper-2.0-cosmos/issues/698)) +- Optimised validator details and account details to prevent random polling behavior ([\#703](https://github.com/forbole/big-dipper-2.0-cosmos/issues/703)) +- Added hasura actions error handling in account details ([\#713](https://github.com/forbole/big-dipper-2.0-cosmos/issues/713)) +- Updated to display accounts even if balance is 0 and does not exist ([\#692](https://github.com/forbole/big-dipper-2.0-cosmos/issues/692)) +- Updated handling of 18 decimal places denoms ([\#724](https://github.com/forbole/big-dipper-2.0-cosmos/issues/724)) + +## Bug fixes + +- Added better handling of get denom return types ([\#735](https://github.com/forbole/big-dipper-2.0-cosmos/issues/735)) +- Updated ui to match the improved hasura actions return types + +# base-v2.0.0-rc1 - 2022-02-07 + +## Changes + +- Updated Hasura Actions + +## Breaking + +- [Bdjuno](https://github.com/forbole/bdjuno) must be on `v1.0.0` + +# base-v1.10.0 - 2022-01-25 + +## Changes + +- Optimized initial loading by setting basic details first then profiles after ([\#629](https://github.com/forbole/big-dipper-2.0-cosmos/issues/629)) +- Added vp token unit in config ([\#645](https://github.com/forbole/big-dipper-2.0-cosmos/issues/645)) + +## Bug fixes + +- Fixed home page validator image url not displaying correctly ([\#632](https://github.com/forbole/big-dipper-2.0-cosmos/issues/632)) +- Fix validator anc account details possible infinite load due to dayjs in hook +- Added description sanitization to proposals list ([\#666](https://github.com/forbole/big-dipper-2.0-cosmos/issues/666)) +- Fixed pagination hook page callback ([\#667](https://github.com/forbole/big-dipper-2.0-cosmos/issues/667)) +- Showed address if name or moniker is empty ([\#668](https://github.com/forbole/big-dipper-2.0-cosmos/issues/668)) + +## Migration + +- [v1.9.0 to v1.10.0](https://docs.bigdipper.live/cosmos-based/frontend/migrations/v1.9.0-to-v1.10.0) + +# base-v1.9.0 - 2022-01-10 + +## Changes + +- Added logs in tx details ([\#515](https://github.com/forbole/big-dipper-2.0-cosmos/issues/515)) +- Added tombstoned status ([\#600](https://github.com/forbole/big-dipper-2.0-cosmos/issues/600)) +- Added manual versioning in ui ([\#605](https://github.com/forbole/big-dipper-2.0-cosmos/issues/605)) +- Optimized tx list for chains with heavy traffic ([\#602](https://github.com/forbole/big-dipper-2.0-cosmos/issues/602)) +- Setup case insensitive search in dtags ([\#592](https://github.com/forbole/big-dipper-2.0-cosmos/issues/592)) +- Fixed profiles logic ([\#591](https://github.com/forbole/big-dipper-2.0-cosmos/issues/591)) +- Added AvatarNameListMsg for handling msgs with multiple users ([\#619](https://github.com/forbole/big-dipper-2.0-cosmos/issues/619)) + +# base-v1.8.4 - 2021-12-08 + +## Bug fixes + +- Fix `feegrant` and `authz` messages ([\#588](https://github.com/forbole/big-dipper-2.0-cosmos/issues/588)) + +# base-v1.8.3 - 2021-12-07 + +## Bug fixes + +- Fix validators list not displaying inactive validators ([\#583](https://github.com/forbole/big-dipper-2.0-cosmos/issues/583)) + +# base-v1.8.2 - 2021-12-06 + +## Bug fixes + +- Fix APR to handle multiple supply coins + +# base-v1.8.1 - 2021-12-06 + +## Bug fixes + +- Fix `formatNumber` display after cleaning up ending 0s + +# base-v1.8.0 - 2021-12-06 + +## Changes + +- Display `APR` on title bar ([\#483](https://github.com/forbole/big-dipper-2.0-cosmos/issues/483)) +- Add `@dtag` to search bar ([\#554](https://github.com/forbole/big-dipper-2.0-cosmos/issues/554)) +- Add `/@dtag` feature ([\#428](https://github.com/forbole/big-dipper-2.0-cosmos/issues/428)) +- Add `feegrant` and `authz` messages ([\#481](https://github.com/forbole/big-dipper-2.0-cosmos/issues/481)) +- Add `vesting` messages ([\#538](https://github.com/forbole/big-dipper-2.0-cosmos/issues/538)) +- Add status row in `/validators` ([\#556](https://github.com/forbole/big-dipper-2.0-cosmos/issues/556)) +- Show who the top 34% validators are ([\#506](https://github.com/forbole/big-dipper-2.0-cosmos/issues/506)) + +## Bug fixes + +- Fix validator searchbar ([\#540](https://github.com/forbole/big-dipper-2.0-cosmos/issues/540)) + +# base-v1.7.0 - 2021-11-23 + +## Changes + +- Fix account details denom display ([\#478](https://github.com/forbole/big-dipper-2.0-cosmos/issues/478)) +- Replace average block time with average since last hour ([\#480](https://github.com/forbole/big-dipper-2.0-cosmos/issues/480)) +- Renamed `PROFILE_DETAILS` to `ADDRESS_DETAILS` ([\#503](https://github.com/forbole/big-dipper-2.0-cosmos/issues/503)) +- Update handling of block height in searchbar ([\#501](https://github.com/forbole/big-dipper-2.0-cosmos/issues/501)) +- Fix community pool spend proposal display ([\#520](https://github.com/forbole/big-dipper-2.0-cosmos/issues/520)) +- Update how tokens are formatted and display up to 18 decimal places ([\#524](https://github.com/forbole/big-dipper-2.0-cosmos/issues/524)) +- Auto display 0% if validator is not active ([\#541](https://github.com/forbole/big-dipper-2.0-cosmos/issues/541)) + +## Migration + +- [v1.6.0 to v1.7.0](https://docs.bigdipper.live/cosmos-based/frontend/migrations/v1.6.0-to-v1.7.0) + +# base-v1.6.0 - 2021-11-01 + +## Changes + +- Converted all react context in to recoil ([\#455](https://github.com/forbole/big-dipper-2.0-cosmos/issues/455)) +- Enabled desmos profile for delegators ([\#277](https://github.com/forbole/big-dipper-2.0-cosmos/issues/277)) +- Add license comment ([\#474](https://github.com/forbole/big-dipper-2.0-cosmos/issues/474)) +- Add redirect for old big dipper urls ([\#427](https://github.com/forbole/big-dipper-2.0-cosmos/issues/427)) +- Fix desmos profile alignment ([\#435](https://github.com/forbole/big-dipper-2.0-cosmos/issues/435)) + +## Migration + +- [v1.x.x to v1.6.0](https://docs.bigdipper.live/cosmos-based/frontend/migrations/v1.x.x-to-v1.6.0) + +# base-v1.5.1 - 2021-10-11 + +## Changes + +- Fixed `detailed` transaction list not showing correct msg count + +# base-v1.5.0 - 2021-10-11 + +## Changes + +- Displayed desmos profile native address in connections ([\#420](https://github.com/forbole/big-dipper-2.0-cosmos/issues/420)) +- Create `compact` and `detailed` transaction list views for users with different needs ([\#391](https://github.com/forbole/big-dipper-2.0-cosmos/issues/391)) +- Updated `chain_config` + +# base-v1.4.0 - 2021-10-04 + +## Changes + +- Updated markdown to handle `\n` +- Changed validator list tab orders ([\#411](https://github.com/forbole/big-dipper-2.0-cosmos/issues/411)) +- Update numeral formats based on denom exponent ([\#409](https://github.com/forbole/big-dipper-2.0-cosmos/issues/409)) + +## Bug fixes + +- Fixed rewards dict inside account details ([\#412](https://github.com/forbole/big-dipper-2.0-cosmos/issues/412)) + +# base-v1.3.0 - 2021-09-27 + +## Changes + +- Hides delegators in account details if amount is 0 ([\#369](https://github.com/forbole/big-dipper-2.0-cosmos/issues/369)) +- Add MsgCoin global delclaration ([\#367](https://github.com/forbole/big-dipper-2.0-cosmos/issues/367)) + +## Bug fixes + +- Fixed tx msg label padding typo ([\#382](https://github.com/forbole/big-dipper-2.0-cosmos/issues/382)) +- Added default config value for online voting power ([\#378](https://github.com/forbole/big-dipper-2.0-cosmos/issues/378)) +- Fixes how queries are called so data matches on ui ([\#371](https://github.com/forbole/big-dipper-2.0-cosmos/issues/371)) + +# base-v1.2.0 - 2021-09-20 + +## Changes + +- Update price and market cap display ([\#322](https://github.com/forbole/big-dipper-2.0-cosmos/issues/322)) + +## Bug fixes + +- Fix account and validator details redelegation linking consensus address ([\#323](https://github.com/forbole/big-dipper-2.0-cosmos/issues/323)) + +# base-v1.1.1 - 2021-09-17 + +## Hotfix + +- Fixed display error with previous delegation rewards also adding to total rewards balance + +# base-v1.1.0 - 2021-09-13 + +## Changes + +- Centered desmos profile cover photo ([\#285](https://github.com/forbole/big-dipper-2.0-cosmos/issues/285)) +- Add License to footer ([\#287](https://github.com/forbole/big-dipper-2.0-cosmos/issues/287)) +- Changed position of desmos profile +- Fix avatar images not loading correctly ([\#296](https://github.com/forbole/big-dipper-2.0-cosmos/issues/296)) +- Fix rendering issue on account and validtor details page ([\#297](https://github.com/forbole/big-dipper-2.0-cosmos/issues/297)) +- Add validator status to account delegation component ([\#307](https://github.com/forbole/big-dipper-2.0-cosmos/issues/307)) + +# base-v1.0.9 - 2021-09-03 + +## Bug fixes + +- Fixed desmos profile edge case display + +# base-v1.0.8 - 2021-09-03 + +## Changes + +- Change how markdown is displayed ([\#274](https://github.com/forbole/big-dipper-2.0-cosmos/issues/274)) +- Update desmos profile component ([\#273](https://github.com/forbole/big-dipper-2.0-cosmos/issues/273)) ([\#140](https://github.com/forbole/big-dipper-2.0-cosmos/issues/140)) +- Fixed account detail balance ([\#271](https://github.com/forbole/big-dipper-2.0-cosmos/issues/271)) +- Update account/ validator details staking component sorting order ([\#266](https://github.com/forbole/big-dipper-2.0-cosmos/issues/266)) + +## Bug fixes + +- Fix withdraw rewards display error if not enough gas + +# base-v1.0.7 - 2021-08-31 + +## Changes + +- Added testnet and mainnet configs for easier deployment of the same chain in different stages +- Update akash webhook CICD + +# base-v1.0.6 - 2021-08-25 + +## Changes + +- Updated SEO structure + +# base-v1.0.5 - 2021-08-23 + +## Changes + +- Updated models msg types ([\#225](https://github.com/forbole/big-dipper-2.0-cosmos/issues/225)) +- Update github actions CI/CD + +## Bug fixes + +- Fix staking param details displaying incorrect `Max Validators` + +# base-v1.0.4 - 2021-08-19 + +## Changes + +- Change logo placement in nav mobile ([\#202](https://github.com/forbole/big-dipper-2.0-cosmos/issues/202)) +- Increased tag colors ([\#207](https://github.com/forbole/big-dipper-2.0-cosmos/issues/207)) +- Add IBC messages ([\#192](https://github.com/forbole/big-dipper-2.0-cosmos/issues/192)) + +# base-v1.0.3 + +## Changes + +- Bump next 10 to next 11 +- Bump react v16.x.x to v17.x.x +- Update logo to have max height of 55px + +# base-v1.0.2 + +## Changes + +- Update the structure layout of themes +- Update footer light and dark theme +- Add maintainer section in footer + +# base-v1.0.1 + +## Bug fixes + +- Fixed tokenomics legend to use the correct colors + +# base-v1.0.0 + +## Changes + +- Created initial boilerplate base +- Updated proposal details to display results using snapshots instead of realtime data ([\#116](https://github.com/forbole/big-dipper-2.0-cosmos/issues/116)) +- Added desmos profile feature +- Update chain status notifications ([\#141](https://github.com/forbole/big-dipper-2.0-cosmos/issues/141)) +- Add custom 500 page ([\#149](https://github.com/forbole/big-dipper-2.0-cosmos/issues/149)) +- Fix twitter crawler preview ([\#144](https://github.com/forbole/big-dipper-2.0-cosmos/issues/144)) +- Update params visualisation ([\#152](https://github.com/forbole/big-dipper-2.0-cosmos/issues/152)) +- Make mui tabs scrollable ([\#152](https://github.com/forbole/big-dipper-2.0-cosmos/issues/153)) +- Moved documentation to own repo ([\#162](https://github.com/forbole/big-dipper-2.0-cosmos/issues/162)) +- Add validator last seen active feature ([\#160](https://github.com/forbole/big-dipper-2.0-cosmos/issues/160)) +- Updated params to be JSONB with models typed +- Add logos by different theme ([\#168](https://github.com/forbole/big-dipper-2.0-cosmos/issues/160)) diff --git a/apps/web-optimum/codegen.yml b/apps/web-optimum/codegen.yml new file mode 100644 index 0000000000..9753a0371c --- /dev/null +++ b/apps/web-optimum/codegen.yml @@ -0,0 +1,13 @@ +overwrite: true +generates: + ./src/graphql/types/general_types.ts: + documents: + - 'src/graphql/general/*' + schema: http://localhost:8080/v1/graphql + config: + # omitOperationSuffix: true + skipTypeNameForRoot: true + plugins: + - "typescript" + - "typescript-operations" + - "typescript-react-apollo" # To generate custom hooks per query diff --git a/apps/web-optimum/jest.config.ts b/apps/web-optimum/jest.config.ts new file mode 100644 index 0000000000..d0d9cb919a --- /dev/null +++ b/apps/web-optimum/jest.config.ts @@ -0,0 +1,32 @@ +import configFromPreset from 'jest-presets/jest/node/jest-preset'; +import nextJest from 'next/jest'; +import { pathsToModuleNameMapper } from 'ts-jest'; +import tsconfig from './tsconfig.json'; + +/* Creating a jest configuration for nextjs. */ +const createJestConfig = nextJest({ + dir: './', +})(configFromPreset); + +const exportFunc = async () => { + // Create Next.js jest configuration + const configFromNext = await createJestConfig(); + Object.keys(configFromNext.moduleNameMapper).forEach((regExp) => { + if (new RegExp(regExp).test('_.svg')) { + configFromNext.moduleNameMapper[regExp] = 'shared-utils/__mocks__/svg.js'; + } + }); + // moduleNameMapper overrided by nextjs, so we need to add it here. + const finalConfig = { + ...configFromNext, + moduleNameMapper: { + ...configFromNext.moduleNameMapper, + ...pathsToModuleNameMapper(tsconfig.compilerOptions.paths, { + prefix: '/src/', + }), + }, + }; + return finalConfig; +}; + +export default exportFunc; diff --git a/apps/web-optimum/jest.setup.ts b/apps/web-optimum/jest.setup.ts new file mode 100644 index 0000000000..301ebcb836 --- /dev/null +++ b/apps/web-optimum/jest.setup.ts @@ -0,0 +1,16 @@ +import mockApollo from '@/tests/mocks/mockApollo'; +import mockChainConfig from '@/tests/mocks/mockChainConfig'; +import mockDayJs from '@/tests/mocks/mockDayJs'; +import mockDynamicComponent from '@/tests/mocks/mockDynamicComponent'; +import mockI18Next from '@/tests/mocks/mockI18Next'; +import mockProfiles from '@/tests/mocks/mockProfiles'; +import '@testing-library/jest-dom/extend-expect'; +import 'jest-localstorage-mock'; + +jest.setTimeout(30000); +mockI18Next(); +mockApollo(); +mockChainConfig(); +mockDayJs(); +mockDynamicComponent(); +mockProfiles(); diff --git a/apps/web-optimum/next-env.d.ts b/apps/web-optimum/next-env.d.ts new file mode 100644 index 0000000000..4f11a03dc6 --- /dev/null +++ b/apps/web-optimum/next-env.d.ts @@ -0,0 +1,5 @@ +/// +/// + +// NOTE: This file should not be edited +// see https://nextjs.org/docs/basic-features/typescript for more information. diff --git a/apps/web-optimum/next-i18next.config.js b/apps/web-optimum/next-i18next.config.js new file mode 100644 index 0000000000..ebf68ae324 --- /dev/null +++ b/apps/web-optimum/next-i18next.config.js @@ -0,0 +1,11 @@ +/* eslint-disable @typescript-eslint/no-var-requires */ +const { resolve } = require('path'); + +module.exports = { + i18n: { + defaultLocale: 'en', + locales: ['en', 'zht', 'zhs', 'it', 'pl'], + }, + localeDetection: false, + localePath: resolve('../../packages/ui/public/locales'), +}; diff --git a/apps/web-optimum/next-sitemap.config.js b/apps/web-optimum/next-sitemap.config.js new file mode 100644 index 0000000000..f1d46928c5 --- /dev/null +++ b/apps/web-optimum/next-sitemap.config.js @@ -0,0 +1,5 @@ +/* eslint-disable @typescript-eslint/no-var-requires */ +const { readFileSync } = require('fs'); +const getSitemap = require('shared-utils/configs/sitemap'); + +module.exports = getSitemap(JSON.parse(readFileSync('./package.json', 'utf8')).name); diff --git a/apps/web-optimum/next.config.js b/apps/web-optimum/next.config.js new file mode 100644 index 0000000000..76ba5b65c2 --- /dev/null +++ b/apps/web-optimum/next.config.js @@ -0,0 +1,9 @@ +/* eslint-disable @typescript-eslint/no-var-requires */ +const { readFileSync } = require('fs'); +const { i18n } = require('./next-i18next.config'); +const getNextConfig = require('../../packages/shared-utils/configs/next'); + +const nextConfig = getNextConfig(JSON.parse(readFileSync('./package.json', 'utf8')).name); +nextConfig.i18n = i18n; + +module.exports = nextConfig; diff --git a/apps/web-optimum/package.json b/apps/web-optimum/package.json new file mode 100644 index 0000000000..af954763ff --- /dev/null +++ b/apps/web-optimum/package.json @@ -0,0 +1,138 @@ +{ + "name": "web-optimum", + "version": "2.17.3", + "license": "Apache-2.0", + "private": true, + "scripts": { + "dev": "RECOIL_DUPLICATE_ATOM_KEY_CHECKING_ENABLED=false next dev", + "build": "next build && next-sitemap", + "clean": "rm -rf .next .swc .turbo coverage node_modules", + "start": "next start", + "ts-check": "pnpify tsc --noemit", + "lint": "next lint", + "test": "pnpify jest --passWithNoTests --ci --no-watchman --runInBand", + "graphql:codegen": "pnpify graphql-codegen" + }, + "dependencies": { + "@apollo/client": "^3.7.14", + "@cosmjs/encoding": "^0.30.1", + "@cosmjs/launchpad": "^0.27.1", + "@cosmjs/stargate": "^0.29.5", + "@emotion/react": "^11.11.0", + "@emotion/server": "^11.11.0", + "@emotion/styled": "^11.11.0", + "@keplr-wallet/types": "^0.11.59", + "@keplr-wallet/wc-client": "^0.11.59", + "@mui/icons-material": "^5.11.16", + "@mui/material": "^5.12.3", + "@socialgouv/matomo-next": "^1.6.1", + "@walletconnect/client": "^1.8.0", + "@walletconnect/encoding": "^1.0.2", + "@yarnpkg/pnpify": "^4.0.0-rc.43", + "apollo-link-rest": "^0.9.0", + "bech32": "^2.0.0", + "big.js": "^6.2.1", + "color": "^4.2.3", + "copy-to-clipboard": "^3.3.3", + "dayjs": "^1.11.7", + "framer-motion": "^10.12.8", + "graphql": "^16.6.0", + "graphql-ws": "^5.12.1", + "i18next": "^22.4.15", + "jdenticon": "^3.2.0", + "js-yaml": "^4.1.0", + "lightweight-charts": "^4.0.1", + "markdown-to-jsx": "^7.2.0", + "next": "^13.4.1", + "next-i18next": "^13.2.2", + "next-seo": "^6.0.0", + "next-sitemap": "^4.1.3", + "numeral": "^2.0.6", + "qrcode.react": "^3.1.0", + "qs": "^6.11.1", + "ramda": "^0.29.0", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-i18next": "^12.2.2", + "react-share": "^4.4.1", + "react-toastify": "^9.1.2", + "react-virtualized-auto-sizer": "^1.0.15", + "react-window": "^1.8.9", + "react-window-infinite-loader": "^1.0.9", + "recharts": "^2.5.0", + "recoil": "^0.7.7", + "shared-utils": "workspace:*", + "subscriptions-transport-ws": "^0.11.0", + "tsconfig": "workspace:*", + "tslib": "^2.5.0", + "tss-react": "^4.8.3", + "typanion": "^3.12.1", + "ui": "workspace:*", + "usehooks-ts": "^2.9.1", + "ws": "^8.13.0", + "xss": "^1.0.14", + "zod": "^3.21.4" + }, + "devDependencies": { + "@emotion/cache": "^11.11.0", + "@emotion/jest": "^11.11.0", + "@graphql-codegen/cli": "^3.3.1", + "@graphql-codegen/client-preset": "^3.0.1", + "@graphql-codegen/fragment-matcher": "^4.0.1", + "@graphql-codegen/typescript": "^3.0.4", + "@graphql-codegen/typescript-operations": "^3.0.4", + "@graphql-codegen/typescript-react-apollo": "^3.3.7", + "@graphql-tools/mock": "^8.7.20", + "@graphql-tools/schema": "^9.0.19", + "@jest/globals": "^29.5.0", + "@next/eslint-plugin-next": "^13.4.1", + "@svgr/webpack": "^7.0.0", + "@testing-library/jest-dom": "^5.16.5", + "@testing-library/react": "^14.0.0", + "@types/big.js": "^6.1.6", + "@types/color": "^3.0.3", + "@types/eslint": "^8.37.0", + "@types/esprima": "^4.0.3", + "@types/jest": "^29.5.1", + "@types/js-yaml": "^4.0.5", + "@types/node": "^18.16.5", + "@types/numeral": "^2.0.2", + "@types/qs": "^6.9.7", + "@types/ramda": "^0.29.1", + "@types/react": "^18.2.6", + "@types/react-dom": "^18.2.4", + "@types/react-test-renderer": "^18.0.0", + "@types/react-virtualized-auto-sizer": "^1.0.1", + "@types/react-window": "^1.8.5", + "@types/react-window-infinite-loader": "^1.0.6", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "csstype": "^3.1.2", + "dotenv": "^16.0.3", + "eslint": "^8.40.0", + "eslint-config-airbnb": "^19.0.4", + "eslint-config-custom": "workspace:*", + "eslint-config-next": "^13.4.1", + "eslint-config-prettier": "^8.8.0", + "eslint-config-turbo": "^1.9.3", + "eslint-import-resolver-typescript": "^3.5.5", + "eslint-plugin-import": "^2.27.5", + "eslint-plugin-jsx-a11y": "^6.7.1", + "eslint-plugin-react": "^7.32.2", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-turbo": "^1.9.3", + "esprima": "^4.0.1", + "graphql-tag": "^2.12.6", + "jest": "^29.5.0", + "jest-cli": "^29.5.0", + "jest-environment-jsdom": "^29.5.0", + "jest-localstorage-mock": "^2.4.26", + "jest-presets": "workspace:*", + "jest-transform-stub": "^2.0.0", + "jest-watch-typeahead": "^2.2.2", + "react-test-renderer": "^18.2.0", + "ts-jest": "^29.1.0", + "ts-node": "^10.9.1", + "typescript": "^5.0.4" + } +} diff --git a/apps/web-optimum/public/fonts/HindMadurai-Regular.woff2 b/apps/web-optimum/public/fonts/HindMadurai-Regular.woff2 new file mode 100644 index 0000000000..64b2f86e1e Binary files /dev/null and b/apps/web-optimum/public/fonts/HindMadurai-Regular.woff2 differ diff --git a/apps/web-optimum/public/icons/android-chrome-192x192.png b/apps/web-optimum/public/icons/android-chrome-192x192.png new file mode 100644 index 0000000000..0919ccf167 Binary files /dev/null and b/apps/web-optimum/public/icons/android-chrome-192x192.png differ diff --git a/apps/web-optimum/public/icons/android-chrome-512x512.png b/apps/web-optimum/public/icons/android-chrome-512x512.png new file mode 100644 index 0000000000..119aaee7d7 Binary files /dev/null and b/apps/web-optimum/public/icons/android-chrome-512x512.png differ diff --git a/apps/web-optimum/public/icons/apple-touch-icon.png b/apps/web-optimum/public/icons/apple-touch-icon.png new file mode 100644 index 0000000000..b964efd4ea Binary files /dev/null and b/apps/web-optimum/public/icons/apple-touch-icon.png differ diff --git a/apps/web-optimum/public/icons/browserconfig.xml b/apps/web-optimum/public/icons/browserconfig.xml new file mode 100644 index 0000000000..9ebcb517e9 --- /dev/null +++ b/apps/web-optimum/public/icons/browserconfig.xml @@ -0,0 +1,9 @@ + + + + + + #da532c + + + diff --git a/apps/web-optimum/public/icons/favicon-16x16.png b/apps/web-optimum/public/icons/favicon-16x16.png new file mode 100644 index 0000000000..148a4bc5d1 Binary files /dev/null and b/apps/web-optimum/public/icons/favicon-16x16.png differ diff --git a/apps/web-optimum/public/icons/favicon-32x32.png b/apps/web-optimum/public/icons/favicon-32x32.png new file mode 100644 index 0000000000..9165e9624e Binary files /dev/null and b/apps/web-optimum/public/icons/favicon-32x32.png differ diff --git a/apps/web-optimum/public/icons/favicon.ico b/apps/web-optimum/public/icons/favicon.ico new file mode 100644 index 0000000000..d1cfa921ae Binary files /dev/null and b/apps/web-optimum/public/icons/favicon.ico differ diff --git a/apps/web-optimum/public/icons/mstile-150x150.png b/apps/web-optimum/public/icons/mstile-150x150.png new file mode 100644 index 0000000000..b728d6b7d2 Binary files /dev/null and b/apps/web-optimum/public/icons/mstile-150x150.png differ diff --git a/apps/web-optimum/public/icons/safari-pinned-tab.svg b/apps/web-optimum/public/icons/safari-pinned-tab.svg new file mode 100644 index 0000000000..a155a03bb5 --- /dev/null +++ b/apps/web-optimum/public/icons/safari-pinned-tab.svg @@ -0,0 +1,61 @@ + + + + +Created by potrace 1.11, written by Peter Selinger 2001-2013 + + + + + + + diff --git a/apps/web-optimum/public/icons/site.webmanifest b/apps/web-optimum/public/icons/site.webmanifest new file mode 100644 index 0000000000..c5d1b226ad --- /dev/null +++ b/apps/web-optimum/public/icons/site.webmanifest @@ -0,0 +1,19 @@ +{ + "name": "", + "short_name": "", + "icons": [ + { + "src": "https://explorer.desmos.network/images/icons/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "https://explorer.desmos.network/images/icons/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "theme_color": "#ffffff", + "background_color": "#ffffff", + "display": "standalone" +} diff --git a/apps/web-optimum/public/images/default_cover_pattern.png b/apps/web-optimum/public/images/default_cover_pattern.png new file mode 100644 index 0000000000..bf8f8bc3d1 Binary files /dev/null and b/apps/web-optimum/public/images/default_cover_pattern.png differ diff --git a/apps/web-optimum/src/chain.json b/apps/web-optimum/src/chain.json new file mode 100644 index 0000000000..e5cbc2da6e --- /dev/null +++ b/apps/web-optimum/src/chain.json @@ -0,0 +1,271 @@ +{ + "chainName": "optimum", + "title": "Optimum Block Explorer", + "extra": { + "profile": true, + "graphqlWs": false + }, + "previewImage": "https://s3.bigdipper.live/desmos.png", + "themes": { + "default": "light", + "themeList": [ + "dark", + "light", + "deuteranopia", + "tritanopia" + ], + "dark": { + "primary": { + "main": "#FF835B", + "contrastText": "#FFFFFF" + }, + "background": { + "default": "#000000", + "paper": "#131316" + }, + "divider": "#282828", + "text": { + "primary": "#E6E6E6", + "secondary": "#C4C4C4" + }, + "custom": { + "general": { + "background": "#000000", + "surfaceOne": "#131316", + "surfaceTwo": "#212123", + "icon": "#999999" + }, + "fonts": { + "fontOne": "#E6E6E6", + "fontTwo": "#C4C4C4", + "fontThree": "#818181", + "fontFour": "#999999", + "fontFive": "#FFFFFF", + "highlight": "#4092CD" + }, + "primaryData": { + "one": "#F87255", + "two": "#FA9147", + "three": "#43BE7C", + "four": "#43A1BE" + }, + "results": { + "pass": "#1EC490", + "fail": "#FD3B4C" + }, + "tokenomics": { + "one": "#43A1BE", + "two": "#E3BB55", + "three": "#20D292" + }, + "condition": { + "zero": "#E6E6E6", + "one": "#1EC490", + "two": "#FF9338", + "three": "#FF608A" + }, + "charts": { + "zero": "#E6E6E6", + "one": "#43BE7C", + "two": "#FA9147", + "three": "#F44747", + "four": "#43A1BE", + "five": "#C25396" + }, + "tags": { + "zero": "#E8E8E8", + "one": "#2460FA", + "two": "#2BA897", + "three": "#E79726", + "four": "#F17053", + "five": "#DA4B4B", + "six": "#9438DC", + "seven": "#1A869D", + "eight": "#2C9950", + "nine": "#B49F37", + "ten": "#E9A852", + "eleven": "#E94687", + "twelve": "#C15EC4", + "thirteen": "#C388D9", + "fourteen": "#46AEE9", + "fifteen": "#58BC91", + "sixteen": "#90BC58", + "seventeen": "#E99E8E", + "eighteen": "#F0A479", + "nineteen": "#D37763", + "twenty": "#D9C788" + }, + "wallet": { + "background": "#5E5E5E", + "backgroundTwo": "#212123", + "surfaceOne": "#5E5C5C", + "surfaceTwo": "#D9D9D9", + "surfaceThree": "#4D4D4D", + "surfaceFour": "#414141", + "surfaceFive": "#777777", + "divider": "#34383E", + "textPrimary": "#000000", + "textSecondary": "#DDDDDD" + } + } + }, + "light": { + "primary": { + "main": "#FF835B", + "contrastText": "#FFFFFF" + }, + "background": { + "default": "#F8F8F8", + "paper": "#FFFFFF" + }, + "divider": "#E8E8E8", + "text": { + "primary": "#000000", + "secondary": "#414141" + }, + "custom": { + "general": { + "background": "#F8F8F8", + "surfaceOne": "#FFFFFF", + "surfaceTwo": "#F8F8F8", + "icon": "#999999" + }, + "fonts": { + "fontOne": "#000000", + "fontTwo": "#414141", + "fontThree": "#777777", + "fontFour": "#999999", + "fontFive": "#FFFFFF", + "highlight": "#4092CD" + }, + "primaryData": { + "one": "#F87255", + "two": "#FA9147", + "three": "#20D494", + "four": "#2FB6E0" + }, + "results": { + "pass": "#1EC490", + "fail": "#FD3B4C" + }, + "tokenomics": { + "one": "#2FB6E0", + "two": "#FFC93D", + "three": "#20D494" + }, + "condition": { + "zero": "#E6E6E6", + "one": "#1EC490", + "two": "#FF9338", + "three": "#FF608A" + }, + "charts": { + "zero": "#E6E6E6", + "one": "#20D494", + "two": "#FF8732", + "three": "#F44747", + "four": "#2FB6E0", + "five": "#E95EB1" + }, + "tags": { + "zero": "#E8E8E8", + "one": "#2460FA", + "two": "#2BA891", + "three": "#E79720", + "four": "#F17047", + "five": "#DA4B4B", + "six": "#9438DC", + "seven": "#1A869D", + "eight": "#2C9944", + "nine": "#B49F31", + "ten": "#E9A846", + "eleven": "#E94681", + "twelve": "#C15EC4", + "thirteen": "#C388D9", + "fourteen": "#46AEE9", + "fifteen": "#58BC91", + "sixteen": "#90BC58", + "seventeen": "#E99E8E", + "eighteen": "#F0A479", + "nineteen": "#D37763", + "twenty": "#D9C788" + }, + "wallet": { + "background": "#E8E8E8", + "backgroundTwo": "#FFFFFF", + "surfaceOne": "#5E5C5C", + "surfaceTwo": "#E8E7E8", + "surfaceThree": "#BDBDBD", + "surfaceFour": "#A1A1A1", + "surfaceFive": "#777777", + "divider": "#34383E", + "textPrimary": "#000000", + "textSecondary": "#222222" + } + } + } + }, + "keplr": "{\"chainId\":\"desmos-mainnet\",\"chainName\":\"Desmos\",\"chainSymbolImageUrl\":\"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/desmos-mainnet/chain.png\",\"rpc\":\"https://rpc.mainnet.desmos.network\",\"rest\":\"https://api.mainnet.desmos.network\",\"nodeProvider\":{\"name\":\"Forbole\",\"email\":\"info@forbole.com\",\"website\":\"https://www.forbole.com\"},\"bip44\":{\"coinType\":852},\"bech32Config\":{\"bech32PrefixAccAddr\":\"desmos\",\"bech32PrefixAccPub\":\"desmospub\",\"bech32PrefixValAddr\":\"desmosvaloper\",\"bech32PrefixValPub\":\"desmosvaloperpub\",\"bech32PrefixConsAddr\":\"desmosvalcons\",\"bech32PrefixConsPub\":\"desmosvalconspub\"},\"currencies\":[{\"coinDenom\":\"DSM\",\"coinMinimalDenom\":\"udsm\",\"coinDecimals\":6,\"coinGeckoId\":\"desmos\"}],\"feeCurrencies\":[{\"coinDenom\":\"DSM\",\"coinMinimalDenom\":\"udsm\",\"coinDecimals\":6,\"coinGeckoId\":\"desmos\",\"gasPriceStep\":{\"low\":0.01,\"average\":0.03,\"high\":0.05}}],\"stakeCurrency\":{\"coinDenom\":\"DSM\",\"coinMinimalDenom\":\"udsm\",\"coinDecimals\":6,\"coinGeckoId\":\"desmos\"},\"features\":[]}", + "chains": [ + { + "network": "desmos-mainnet", + "chainType": "Mainnet", + "genesis": { + "time": "2021-08-31T16:15:00", + "height": 1 + }, + "prefix": { + "consensus": "desmosvalcons", + "validator": "desmosvaloper", + "account": "desmos" + }, + "primaryTokenUnit": "udsm", + "votingPowerTokenUnit": "udsm", + "tokenUnits": { + "udsm": { + "display": "dsm", + "exponent": 6 + } + }, + "endpoints": { + "graphql": "https://gql.desmos.forbole.com/v1/graphql", + "graphqlWebsocket": "wss://gql.desmos.forbole.com/v1/graphql", + "publicRpcWebsocket": "wss://rpc.desmos.forbole.com/websocket" + }, + "marketing": { + "matomoURL": "https://analytics.bigdipper.live", + "matomoSiteID": "8" + } + }, + { + "network": "morpheus-apollo-3", + "chainType": "Testnet", + "genesis": { + "time": "2022-10-24T08:00:00", + "height": 7942286 + }, + "prefix": { + "consensus": "desmosvalcons", + "validator": "desmosvaloper", + "account": "desmos" + }, + "primaryTokenUnit": "udaric", + "votingPowerTokenUnit": "udaric", + "tokenUnits": { + "udaric": { + "display": "daric", + "exponent": 6 + } + }, + "endpoints": { + "graphql": "https://gql-morpheus.desmos.forbole.com/v1/graphql", + "graphqlWebsocket": "wss://gql-morpheus.desmos.forbole.com/v1/graphql", + "publicRpcWebsocket": "wss://rpc-morpheus.desmos.forbole.com/websocket" + }, + "marketing": { + "matomoURL": "https://analytics.bigdipper.live", + "matomoSiteID": "8" + } + } + ] +} diff --git a/apps/web-optimum/src/configs/general_config.json b/apps/web-optimum/src/configs/general_config.json new file mode 100644 index 0000000000..8799804db5 --- /dev/null +++ b/apps/web-optimum/src/configs/general_config.json @@ -0,0 +1,10 @@ +{ + "maintainer": { + "name": "Optimum", // update + "url": "https://getoptimum.xyz" // update + }, + "github": { + "reportIssue": "https://github.com/getoptimum/big-dipper-2.0-cosmos/issues" // update + }, + "version": "v3.0.0" + } \ No newline at end of file diff --git a/apps/web-optimum/src/graphql/general/account_details_documents.ts b/apps/web-optimum/src/graphql/general/account_details_documents.ts new file mode 100644 index 0000000000..72915dd849 --- /dev/null +++ b/apps/web-optimum/src/graphql/general/account_details_documents.ts @@ -0,0 +1,105 @@ +export const AccountCommissionDocument = /* GraphQL */ ` + query AccountCommission($validatorAddress: String!) { + commission: action_validator_commission_amount(address: $validatorAddress) { + coins + } + } +`; + +export const AccountWithdrawalAddressDocument = /* GraphQL */ ` + query AccountWithdrawalAddress($address: String!) { + withdrawalAddress: action_delegator_withdraw_address(address: $address) { + address + } + } +`; + +export const AccountBalancesDocument = /* GraphQL */ ` + query AccountBalances($address: String!) { + accountBalances: action_account_balance(address: $address) { + coins + } + } +`; + +export const AccountDelegationBalanceDocument = /* GraphQL */ ` + query AccountDelegationBalance($address: String!) { + delegationBalance: action_delegation_total(address: $address) { + coins + } + } +`; + +export const AccountUnbondingBalanceDocument = /* GraphQL */ ` + query AccountUnbondingBalance($address: String!) { + unbondingBalance: action_unbonding_delegation_total(address: $address) { + coins + } + } +`; + +export const AccountDelegationRewardsDocument = /* GraphQL */ ` + query AccountDelegationRewards($address: String!) { + delegationRewards: action_delegation_reward(address: $address) { + validatorAddress: validator_address + coins + } + } +`; + +export const AccountDelegationsDocument = /* GraphQL */ ` + query AccountDelegations( + $address: String! + $offset: Int = 0 + $limit: Int = 10 + $pagination: Boolean! = true + ) { + delegations: action_delegation( + address: $address + limit: $limit + offset: $offset + count_total: $pagination + ) { + delegations + pagination + } + } +`; + +export const AccountRedelegationsDocument = /* GraphQL */ ` + query AccountRedelegations( + $address: String! + $offset: Int = 0 + $limit: Int = 10 + $pagination: Boolean! = true + ) { + redelegations: action_redelegation( + address: $address + limit: $limit + offset: $offset + count_total: $pagination + ) { + redelegations + pagination + } + } +`; + +export const AccountUndelegationsDocument = /* GraphQL */ ` + query AccountUndelegations( + $address: String! + $offset: Int = 0 + $limit: Int = 10 + $pagination: Boolean! = true + ) { + undelegations: action_unbonding_delegation( + address: $address + limit: $limit + offset: $offset + count_total: $pagination + ) { + undelegations: unbonding_delegations + pagination + } + } +`; diff --git a/apps/web-optimum/src/graphql/general/active_validator_count.graphql b/apps/web-optimum/src/graphql/general/active_validator_count.graphql new file mode 100644 index 0000000000..8ba3cee775 --- /dev/null +++ b/apps/web-optimum/src/graphql/general/active_validator_count.graphql @@ -0,0 +1,17 @@ +query ActiveValidatorCount { + activeTotal: validator_status_aggregate(where: {status: {_eq: 3}}) { + aggregate { + count + } + } + inactiveTotal: validator_status_aggregate(where: {status: {_neq: 3}}) { + aggregate { + count + } + } + total: validator_status_aggregate { + aggregate { + count + } + } +} diff --git a/apps/web-optimum/src/graphql/general/block_details.graphql b/apps/web-optimum/src/graphql/general/block_details.graphql new file mode 100644 index 0000000000..e9c1530a53 --- /dev/null +++ b/apps/web-optimum/src/graphql/general/block_details.graphql @@ -0,0 +1,34 @@ +query BlockDetails($height: bigint, $signatureHeight: bigint) { + transaction(where: {height: {_eq: $height}}) { + height + hash + messages + success + logs + } + block(limit: 1, where: {height: {_eq: $height}}) { + height + hash + timestamp + txs: num_txs + validator { + validatorInfo: validator_info { + operatorAddress: operator_address + } + } + } + preCommitsAggregate: pre_commit_aggregate(where: {height: {_eq: $signatureHeight}}) { + aggregate{ + sum { + votingPower: voting_power + } + } + } + preCommits: pre_commit(where: {height: {_eq: $signatureHeight}}) { + validator { + validatorInfo: validator_info { + operatorAddress: operator_address + } + } + } +} diff --git a/apps/web-optimum/src/graphql/general/block_height.graphql b/apps/web-optimum/src/graphql/general/block_height.graphql new file mode 100644 index 0000000000..9120a53f6f --- /dev/null +++ b/apps/web-optimum/src/graphql/general/block_height.graphql @@ -0,0 +1,5 @@ +subscription LatestBlockHeightListener($offset: Int = 0) { + height: block(order_by: {height: desc}, limit: 1, offset: $offset) { + height + } +} diff --git a/apps/web-optimum/src/graphql/general/block_time.graphql b/apps/web-optimum/src/graphql/general/block_time.graphql new file mode 100644 index 0000000000..8c9b3bbacb --- /dev/null +++ b/apps/web-optimum/src/graphql/general/block_time.graphql @@ -0,0 +1,11 @@ +query AverageBlockTime { + averageBlockTime: average_block_time_per_hour(limit: 1, order_by: {height: desc}) { + averageTime: average_time + } +} + +query LatestBlockTimestamp($offset: Int = 0) { + block: block(order_by: {height: desc}, limit: 1, offset: $offset) { + timestamp + } +} diff --git a/apps/web-optimum/src/graphql/general/blocks.graphql b/apps/web-optimum/src/graphql/general/blocks.graphql new file mode 100644 index 0000000000..037f11e378 --- /dev/null +++ b/apps/web-optimum/src/graphql/general/blocks.graphql @@ -0,0 +1,33 @@ +subscription BlocksListener($limit: Int = 7, $offset: Int = 0) { + blocks: block(limit: $limit, offset: $offset, order_by: {height: desc}) { + height + txs: num_txs + hash + timestamp + validator { + validatorInfo: validator_info { + operatorAddress: operator_address + } + } + } +} + + +query Blocks($limit: Int = 7, $offset: Int = 0) { + blocks: block(limit: $limit, offset: $offset, order_by: {height: desc}) { + height + txs: num_txs + hash + timestamp + validator { + validatorInfo: validator_info { + operatorAddress: operator_address + self_delegate_address + } + validatorDescriptions: validator_descriptions(limit: 1, order_by: {height: desc}) { + moniker + identity + } + } + } +} diff --git a/apps/web-optimum/src/graphql/general/chain_id.graphql b/apps/web-optimum/src/graphql/general/chain_id.graphql new file mode 100644 index 0000000000..c11d7e10bc --- /dev/null +++ b/apps/web-optimum/src/graphql/general/chain_id.graphql @@ -0,0 +1,6 @@ +query ChainId { + genesis(limit: 1, order_by: {time: desc}) { + chainId: chain_id + time + } +} diff --git a/apps/web-optimum/src/graphql/general/market_data.graphql b/apps/web-optimum/src/graphql/general/market_data.graphql new file mode 100644 index 0000000000..67569522e0 --- /dev/null +++ b/apps/web-optimum/src/graphql/general/market_data.graphql @@ -0,0 +1,21 @@ +query MarketData ($denom: String) { + communityPool: community_pool(order_by: {height: desc}, limit: 1) { + coins + } + inflation: inflation(order_by: {height: desc}, limit: 1) { + value + } + tokenPrice: token_price(where: {unit_name: {_eq: $denom}}) { + marketCap: market_cap + price + } + supply { + coins + } + bondedTokens: staking_pool(order_by: {height: desc}, limit: 1) { + bonded_tokens + } + distributionParams: distribution_params { + params + } +} diff --git a/apps/web-optimum/src/graphql/general/messages_by_address.graphql b/apps/web-optimum/src/graphql/general/messages_by_address.graphql new file mode 100644 index 0000000000..1eba15606a --- /dev/null +++ b/apps/web-optimum/src/graphql/general/messages_by_address.graphql @@ -0,0 +1,15 @@ +query GetMessagesByAddress($address: _text, $limit: bigint = 50, $offset: bigint = 0 $types: _text = "{}") { + messagesByAddress: messages_by_address(args: {addresses: $address, types: $types, limit: $limit, offset: $offset}) { + transaction { + height + hash + success + messages + logs + block { + height + timestamp + } + } + } +} diff --git a/apps/web-optimum/src/graphql/general/online_voting_power.graphql b/apps/web-optimum/src/graphql/general/online_voting_power.graphql new file mode 100644 index 0000000000..bbfebf96f8 --- /dev/null +++ b/apps/web-optimum/src/graphql/general/online_voting_power.graphql @@ -0,0 +1,20 @@ +query OnlineVotingPower { + activeTotal: validator_status_aggregate(where: {status: {_eq: 3}}) { + aggregate { + count + } + } + validatorVotingPowerAggregate: validator_voting_power_aggregate(where: {validator: {validator_statuses: {status: {_eq: 3}}}}) { + aggregate { + sum { + votingPower: voting_power + } + } + } + stakingPool: staking_pool(order_by: {height: desc}, limit: 1) { + bonded: bonded_tokens + } + stakingParams: staking_params(limit: 1) { + params + } +} diff --git a/apps/web-optimum/src/graphql/general/params.graphql b/apps/web-optimum/src/graphql/general/params.graphql new file mode 100644 index 0000000000..b5415d40e3 --- /dev/null +++ b/apps/web-optimum/src/graphql/general/params.graphql @@ -0,0 +1,19 @@ +query Params { + stakingParams: staking_params(limit: 1, order_by: {height: desc}) { + params + } + slashingParams: slashing_params(limit: 1, order_by: {height: desc}) { + params + } + mintParams: mint_params(limit: 1, order_by: {height: desc}) { + params + } + distributionParams: distribution_params(limit: 1, order_by: {height: desc}) { + params + } + govParams: gov_params (limit: 1, order_by: {height: desc}) { + depositParams: deposit_params + tallyParams: tally_params + votingParams: voting_params + } +} diff --git a/apps/web-optimum/src/graphql/general/proposal_details.graphql b/apps/web-optimum/src/graphql/general/proposal_details.graphql new file mode 100644 index 0000000000..82ddef911b --- /dev/null +++ b/apps/web-optimum/src/graphql/general/proposal_details.graphql @@ -0,0 +1,54 @@ +query ProposalDetails($proposalId: Int) { + proposal(where: {id: {_eq: $proposalId}}) { + proposer: proposer_address + title + description + status + content + proposalId: id + submitTime: submit_time + proposalType: proposal_type + depositEndTime: deposit_end_time + votingStartTime: voting_start_time + votingEndTime: voting_end_time + } +} + +query ProposalDetailsTally($proposalId: Int) { + proposalTallyResult: proposal_tally_result(where: {proposal_id: {_eq: $proposalId}}) { + yes + no + noWithVeto: no_with_veto + abstain + } + stakingPool: proposal_staking_pool_snapshot(where: {proposal_id: {_eq: $proposalId}}) { + bondedTokens: bonded_tokens + } + quorum: gov_params (limit: 1, order_by: {height: desc}) { + tallyParams: tally_params + } +} + +query ProposalDetailsDeposits($proposalId: Int) { + proposalDeposit: proposal_deposit(where: {proposal_id: {_eq: $proposalId}}, order_by: {height: desc}) { + amount + depositorAddress: depositor_address + block { + timestamp + } + } +} + +query ProposalDetailsVotes($proposalId: Int) { + proposalVote: proposal_vote(where: {proposal_id: {_eq: $proposalId}}, order_by: {height: desc}) { + option + voterAddress: voter_address + } + validatorStatuses: proposal_validator_status_snapshot(where: {proposal_id: {_eq: $proposalId}, status: {_eq: 3}}) { + validator { + validatorInfo: validator_info { + selfDelegateAddress: self_delegate_address + } + } + } +} diff --git a/apps/web-optimum/src/graphql/general/proposals.graphql b/apps/web-optimum/src/graphql/general/proposals.graphql new file mode 100644 index 0000000000..f7e08f978e --- /dev/null +++ b/apps/web-optimum/src/graphql/general/proposals.graphql @@ -0,0 +1,14 @@ +query Proposals ($limit: Int = 7, $offset: Int = 0) { + proposals: proposal (limit: $limit, offset: $offset, order_by: {id: desc}) { + title + proposalId: id + status + description + } + total: proposal_aggregate { + aggregate { + count + } + } +} + diff --git a/apps/web-optimum/src/graphql/general/token_price.graphql b/apps/web-optimum/src/graphql/general/token_price.graphql new file mode 100644 index 0000000000..8c11321b98 --- /dev/null +++ b/apps/web-optimum/src/graphql/general/token_price.graphql @@ -0,0 +1,16 @@ +subscription TokenPriceListener($denom: String) { + tokenPrice: token_price(where: {unit_name: {_eq: $denom}}) { + id + price + timestamp + marketCap: market_cap + unitName: unit_name + } +} + +query TokenPriceHistory($denom: String, $limit: Int = 10) { + tokenPrice: token_price_history(where: {unit_name: {_eq: $denom}}, limit: $limit, order_by: {timestamp: desc}) { + price + timestamp + } +} diff --git a/apps/web-optimum/src/graphql/general/tokenomics.graphql b/apps/web-optimum/src/graphql/general/tokenomics.graphql new file mode 100644 index 0000000000..783cfd99ee --- /dev/null +++ b/apps/web-optimum/src/graphql/general/tokenomics.graphql @@ -0,0 +1,12 @@ +query Tokenomics{ + stakingParams: staking_params(limit: 1) { + params + } + stakingPool: staking_pool(order_by: {height: desc}, limit: 1) { + bonded: bonded_tokens + unbonded: not_bonded_tokens + } + supply: supply(order_by: {height: desc}, limit: 1) { + coins + } +} diff --git a/apps/web-optimum/src/graphql/general/transaction_details.graphql b/apps/web-optimum/src/graphql/general/transaction_details.graphql new file mode 100644 index 0000000000..ace8e8135e --- /dev/null +++ b/apps/web-optimum/src/graphql/general/transaction_details.graphql @@ -0,0 +1,17 @@ +query TransactionDetails($hash: String) { + transaction(where: {hash: {_eq: $hash}}, limit: 1) { + hash: hash + height: height + block: block { + timestamp: timestamp + } + fee: fee + gasUsed: gas_used + gasWanted: gas_wanted + success: success + memo: memo + messages: messages + logs + rawLog: raw_log + } +} diff --git a/apps/web-optimum/src/graphql/general/transactions.graphql b/apps/web-optimum/src/graphql/general/transactions.graphql new file mode 100644 index 0000000000..9fbc89fd74 --- /dev/null +++ b/apps/web-optimum/src/graphql/general/transactions.graphql @@ -0,0 +1,25 @@ +subscription TransactionsListener($limit: Int = 7, $offset: Int = 0) { + transactions: transaction(limit: $limit, offset: $offset, order_by: {height: desc}) { + height + hash + success + block { + timestamp + } + messages + logs + } +} + +query Transactions($limit: Int = 7, $offset: Int = 0) { + transactions: transaction(limit: $limit, offset: $offset, order_by: {height: desc}) { + height + hash + success + block { + timestamp + } + messages + logs + } +} diff --git a/apps/web-optimum/src/graphql/general/validator_details.graphql b/apps/web-optimum/src/graphql/general/validator_details.graphql new file mode 100644 index 0000000000..cdc166572e --- /dev/null +++ b/apps/web-optimum/src/graphql/general/validator_details.graphql @@ -0,0 +1,62 @@ + +subscription LastHundredBlocks($address: String) { + block(offset: 1, order_by: {height: desc}, limit: 100) { + height + validator { + validatorInfo: validator_info { + operatorAddress: operator_address + } + } + transactions { + hash + } + precommits: pre_commits(where: {validator: {validator_info: {operator_address: {_eq: $address}}}}) { + validatorAddress: validator_address + } + } +} + +subscription ValidatorLastSeenListener($address: String) { + preCommit: pre_commit(limit: 1, where: {validator: {validator_info: {operator_address: {_eq: $address}}}}, order_by: {height: desc}) { + height + timestamp + } +} + +query ValidatorDetails($address: String) { + stakingPool: staking_pool(order_by: {height: desc}, limit: 1, offset: 0) { + height + bonded: bonded_tokens + } + validator(where: {validator_info: {operator_address: {_eq: $address}}}) { + validatorDescriptions: validator_descriptions(order_by: {height: desc}, limit: 1) { + details + website + } + validatorStatuses: validator_statuses(order_by: {height: desc}, limit: 1) { + status + jailed + height + } + validatorSigningInfos: validator_signing_infos(order_by: {height: desc}, limit: 1) { + missedBlocksCounter: missed_blocks_counter + tombstoned + } + validatorInfo: validator_info { + operatorAddress: operator_address + selfDelegateAddress: self_delegate_address + maxRate: max_rate + } + validatorCommissions: validator_commissions(order_by: {height: desc}, limit: 1) { + commission + } + validatorVotingPowers: validator_voting_powers(offset: 0, limit: 1, order_by: {height: desc}) { + height + votingPower: voting_power + } + } + slashingParams: slashing_params(order_by: {height: desc}, limit: 1) { + params + } +} + diff --git a/apps/web-optimum/src/graphql/general/validator_details_documents.ts b/apps/web-optimum/src/graphql/general/validator_details_documents.ts new file mode 100644 index 0000000000..13b7441d0f --- /dev/null +++ b/apps/web-optimum/src/graphql/general/validator_details_documents.ts @@ -0,0 +1,56 @@ +export const ValidatorDelegationsDocument = /* GraphQL */ ` + query ValidatorDelegations( + $validatorAddress: String! + $offset: Int = 0 + $limit: Int = 10 + $pagination: Boolean! = true + ) { + delegations: action_validator_delegations( + address: $validatorAddress + limit: $limit + offset: $offset + count_total: $pagination + ) { + delegations + pagination + } + } +`; + +export const ValidatorRedelegationsDocument = /* GraphQL */ ` + query ValidatorRedelegations( + $validatorAddress: String! + $offset: Int = 0 + $limit: Int = 10 + $pagination: Boolean! = true + ) { + redelegations: action_validator_redelegations_from( + address: $validatorAddress + limit: $limit + offset: $offset + count_total: $pagination + ) { + redelegations + pagination + } + } +`; + +export const ValidatorUndelegationsDocument = /* GraphQL */ ` + query ValidatorUndelegations( + $validatorAddress: String! + $offset: Int = 0 + $limit: Int = 10 + $pagination: Boolean! = true + ) { + undelegations: action_validator_unbonding_delegations( + address: $validatorAddress + limit: $limit + offset: $offset + count_total: $pagination + ) { + undelegations: unbonding_delegations + pagination + } + } +`; diff --git a/apps/web-optimum/src/graphql/general/validators.graphql b/apps/web-optimum/src/graphql/general/validators.graphql new file mode 100644 index 0000000000..20f3b19335 --- /dev/null +++ b/apps/web-optimum/src/graphql/general/validators.graphql @@ -0,0 +1,32 @@ +query Validators { + stakingPool: staking_pool(limit: 1, order_by: {height: desc}) { + bondedTokens: bonded_tokens + } + validator { + validatorStatuses: validator_statuses(order_by: {height: desc}, limit: 1) { + status + jailed + height + } + validatorSigningInfos: validator_signing_infos(order_by: {height: desc}, limit: 1) { + missedBlocksCounter: missed_blocks_counter + tombstoned + } + validatorInfo: validator_info { + operatorAddress: operator_address + selfDelegateAddress: self_delegate_address + } + validatorVotingPowers: validator_voting_powers(offset: 0, limit: 1, order_by: {height: desc}) { + votingPower: voting_power + } + validatorCommissions: validator_commissions(order_by: {height: desc}, limit: 1) { + commission + } + validatorSigningInfos: validator_signing_infos(order_by: {height: desc}, limit: 1) { + missedBlocksCounter: missed_blocks_counter + } + } + slashingParams: slashing_params(order_by: {height: desc}, limit: 1) { + params + } +} diff --git a/apps/web-optimum/src/graphql/general/validators_address_list.graphql b/apps/web-optimum/src/graphql/general/validators_address_list.graphql new file mode 100644 index 0000000000..d018f104bc --- /dev/null +++ b/apps/web-optimum/src/graphql/general/validators_address_list.graphql @@ -0,0 +1,28 @@ +query ValidatorsAddressList { + validator { + validatorInfo: validator_info { + operatorAddress: operator_address + selfDelegateAddress: self_delegate_address + consensusAddress: consensus_address + } + validatorDescriptions: validator_descriptions(limit: 1, order_by: {height: desc}) { + moniker + identity + avatarUrl: avatar_url + } + } +} + +query ValidatorAddresses { + validator(where: {validator_info: {operator_address: {_is_null: false}, consensus_address: {_is_null: false}, self_delegate_address: {_is_null: false}}}) { + validatorInfo: validator_info { + operatorAddress: operator_address + selfDelegateAddress: self_delegate_address + consensusAddress: consensus_address + } + validatorDescriptions: validator_descriptions(limit: 1, order_by: {height: desc}) { + moniker + avatarUrl: avatar_url + } + } +} diff --git a/apps/web-optimum/src/graphql/types/general_types.ts b/apps/web-optimum/src/graphql/types/general_types.ts new file mode 100644 index 0000000000..24624c5a4b --- /dev/null +++ b/apps/web-optimum/src/graphql/types/general_types.ts @@ -0,0 +1,13979 @@ +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; + ActionCoin: any; + ActionDelegation: any; + ActionPagination: any; + ActionRedelegation: any; + ActionUnbondingDelegation: any; + _coin: any; + _dec_coin: any; + _text: any; + bigint: any; + jsonb: any; + numeric: any; + smallint: any; + timestamp: any; + timestamptz: any; +}; + +export type ActionAddress = { + __typename?: 'ActionAddress'; + address: Scalars['String']; +}; + +export type ActionBalance = { + __typename?: 'ActionBalance'; + coins?: Maybe>>; +}; + +export type ActionDelegationResponse = { + __typename?: 'ActionDelegationResponse'; + delegations?: Maybe>>; + pagination?: Maybe; +}; + +export type ActionDelegationReward = { + __typename?: 'ActionDelegationReward'; + coins?: Maybe>>; + validator_address: Scalars['String']; +}; + +export type ActionRedelegationResponse = { + __typename?: 'ActionRedelegationResponse'; + pagination?: Maybe; + redelegations?: Maybe>>; +}; + +export type ActionUnbondingDelegationResponse = { + __typename?: 'ActionUnbondingDelegationResponse'; + pagination?: Maybe; + unbonding_delegations?: Maybe>>; +}; + +export type ActionValidatorCommissionAmount = { + __typename?: 'ActionValidatorCommissionAmount'; + coins?: Maybe>>; +}; + +/** Boolean expression to compare columns of type "Boolean". All fields are combined with logical 'AND'. */ +export type Boolean_Comparison_Exp = { + _eq?: InputMaybe; + _gt?: InputMaybe; + _gte?: InputMaybe; + _in?: InputMaybe>; + _is_null?: InputMaybe; + _lt?: InputMaybe; + _lte?: InputMaybe; + _neq?: InputMaybe; + _nin?: InputMaybe>; +}; + +/** Boolean expression to compare columns of type "Int". All fields are combined with logical 'AND'. */ +export type Int_Comparison_Exp = { + _eq?: InputMaybe; + _gt?: InputMaybe; + _gte?: InputMaybe; + _in?: InputMaybe>; + _is_null?: InputMaybe; + _lt?: InputMaybe; + _lte?: InputMaybe; + _neq?: InputMaybe; + _nin?: InputMaybe>; +}; + +/** Boolean expression to compare columns of type "String". All fields are combined with logical 'AND'. */ +export type String_Comparison_Exp = { + _eq?: InputMaybe; + _gt?: InputMaybe; + _gte?: InputMaybe; + /** does the column match the given case-insensitive pattern */ + _ilike?: InputMaybe; + _in?: InputMaybe>; + /** does the column match the given POSIX regular expression, case insensitive */ + _iregex?: InputMaybe; + _is_null?: InputMaybe; + /** does the column match the given pattern */ + _like?: InputMaybe; + _lt?: InputMaybe; + _lte?: InputMaybe; + _neq?: InputMaybe; + /** does the column NOT match the given case-insensitive pattern */ + _nilike?: InputMaybe; + _nin?: InputMaybe>; + /** does the column NOT match the given POSIX regular expression, case insensitive */ + _niregex?: InputMaybe; + /** does the column NOT match the given pattern */ + _nlike?: InputMaybe; + /** does the column NOT match the given POSIX regular expression, case sensitive */ + _nregex?: InputMaybe; + /** does the column NOT match the given SQL regular expression */ + _nsimilar?: InputMaybe; + /** does the column match the given POSIX regular expression, case sensitive */ + _regex?: InputMaybe; + /** does the column match the given SQL regular expression */ + _similar?: InputMaybe; +}; + +/** Boolean expression to compare columns of type "_coin". All fields are combined with logical 'AND'. */ +export type _Coin_Comparison_Exp = { + _eq?: InputMaybe; + _gt?: InputMaybe; + _gte?: InputMaybe; + _in?: InputMaybe>; + _is_null?: InputMaybe; + _lt?: InputMaybe; + _lte?: InputMaybe; + _neq?: InputMaybe; + _nin?: InputMaybe>; +}; + +/** Boolean expression to compare columns of type "_dec_coin". All fields are combined with logical 'AND'. */ +export type _Dec_Coin_Comparison_Exp = { + _eq?: InputMaybe; + _gt?: InputMaybe; + _gte?: InputMaybe; + _in?: InputMaybe>; + _is_null?: InputMaybe; + _lt?: InputMaybe; + _lte?: InputMaybe; + _neq?: InputMaybe; + _nin?: InputMaybe>; +}; + +/** Boolean expression to compare columns of type "_text". All fields are combined with logical 'AND'. */ +export type _Text_Comparison_Exp = { + _eq?: InputMaybe; + _gt?: InputMaybe; + _gte?: InputMaybe; + _in?: InputMaybe>; + _is_null?: InputMaybe; + _lt?: InputMaybe; + _lte?: InputMaybe; + _neq?: InputMaybe; + _nin?: InputMaybe>; +}; + +/** columns and relationships of "account" */ +export type Account = { + __typename?: 'account'; + address: Scalars['String']; + /** An array relationship */ + feeGrantAllowancesByGranterAddress: Array; + /** An aggregate relationship */ + feeGrantAllowancesByGranterAddress_aggregate: Fee_Grant_Allowance_Aggregate; + /** An array relationship */ + fee_grant_allowances: Array; + /** An aggregate relationship */ + fee_grant_allowances_aggregate: Fee_Grant_Allowance_Aggregate; + /** An array relationship */ + proposal_deposits: Array; + /** An aggregate relationship */ + proposal_deposits_aggregate: Proposal_Deposit_Aggregate; + /** An array relationship */ + proposal_votes: Array; + /** An aggregate relationship */ + proposal_votes_aggregate: Proposal_Vote_Aggregate; + /** An array relationship */ + proposals: Array; + /** An aggregate relationship */ + proposals_aggregate: Proposal_Aggregate; + /** An array relationship */ + validator_infos: Array; + /** An aggregate relationship */ + validator_infos_aggregate: Validator_Info_Aggregate; + /** An object relationship */ + vesting_account?: Maybe; + /** An array relationship */ + vesting_accounts: Array; + /** An aggregate relationship */ + vesting_accounts_aggregate: Vesting_Account_Aggregate; +}; + + +/** columns and relationships of "account" */ +export type AccountFeeGrantAllowancesByGranterAddressArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "account" */ +export type AccountFeeGrantAllowancesByGranterAddress_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "account" */ +export type AccountFee_Grant_AllowancesArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "account" */ +export type AccountFee_Grant_Allowances_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "account" */ +export type AccountProposal_DepositsArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "account" */ +export type AccountProposal_Deposits_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "account" */ +export type AccountProposal_VotesArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "account" */ +export type AccountProposal_Votes_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "account" */ +export type AccountProposalsArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "account" */ +export type AccountProposals_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "account" */ +export type AccountValidator_InfosArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "account" */ +export type AccountValidator_Infos_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "account" */ +export type AccountVesting_AccountsArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "account" */ +export type AccountVesting_Accounts_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + +/** aggregated selection of "account" */ +export type Account_Aggregate = { + __typename?: 'account_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +/** aggregate fields of "account" */ +export type Account_Aggregate_Fields = { + __typename?: 'account_aggregate_fields'; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; +}; + + +/** aggregate fields of "account" */ +export type Account_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** Boolean expression to filter rows from the table "account". All fields are combined with a logical 'AND'. */ +export type Account_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + address?: InputMaybe; + feeGrantAllowancesByGranterAddress?: InputMaybe; + fee_grant_allowances?: InputMaybe; + proposal_deposits?: InputMaybe; + proposal_votes?: InputMaybe; + proposals?: InputMaybe; + validator_infos?: InputMaybe; + vesting_account?: InputMaybe; + vesting_accounts?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Account_Max_Fields = { + __typename?: 'account_max_fields'; + address?: Maybe; +}; + +/** aggregate min on columns */ +export type Account_Min_Fields = { + __typename?: 'account_min_fields'; + address?: Maybe; +}; + +/** Ordering options when selecting data from "account". */ +export type Account_Order_By = { + address?: InputMaybe; + feeGrantAllowancesByGranterAddress_aggregate?: InputMaybe; + fee_grant_allowances_aggregate?: InputMaybe; + proposal_deposits_aggregate?: InputMaybe; + proposal_votes_aggregate?: InputMaybe; + proposals_aggregate?: InputMaybe; + validator_infos_aggregate?: InputMaybe; + vesting_account?: InputMaybe; + vesting_accounts_aggregate?: InputMaybe; +}; + +/** select columns of table "account" */ +export enum Account_Select_Column { + /** column name */ + Address = 'address' +} + +/** columns and relationships of "average_block_time_from_genesis" */ +export type Average_Block_Time_From_Genesis = { + __typename?: 'average_block_time_from_genesis'; + average_time: Scalars['numeric']; + height: Scalars['bigint']; +}; + +/** aggregated selection of "average_block_time_from_genesis" */ +export type Average_Block_Time_From_Genesis_Aggregate = { + __typename?: 'average_block_time_from_genesis_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +/** aggregate fields of "average_block_time_from_genesis" */ +export type Average_Block_Time_From_Genesis_Aggregate_Fields = { + __typename?: 'average_block_time_from_genesis_aggregate_fields'; + avg?: Maybe; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; + stddev?: Maybe; + stddev_pop?: Maybe; + stddev_samp?: Maybe; + sum?: Maybe; + var_pop?: Maybe; + var_samp?: Maybe; + variance?: Maybe; +}; + + +/** aggregate fields of "average_block_time_from_genesis" */ +export type Average_Block_Time_From_Genesis_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** aggregate avg on columns */ +export type Average_Block_Time_From_Genesis_Avg_Fields = { + __typename?: 'average_block_time_from_genesis_avg_fields'; + average_time?: Maybe; + height?: Maybe; +}; + +/** Boolean expression to filter rows from the table "average_block_time_from_genesis". All fields are combined with a logical 'AND'. */ +export type Average_Block_Time_From_Genesis_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + average_time?: InputMaybe; + height?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Average_Block_Time_From_Genesis_Max_Fields = { + __typename?: 'average_block_time_from_genesis_max_fields'; + average_time?: Maybe; + height?: Maybe; +}; + +/** aggregate min on columns */ +export type Average_Block_Time_From_Genesis_Min_Fields = { + __typename?: 'average_block_time_from_genesis_min_fields'; + average_time?: Maybe; + height?: Maybe; +}; + +/** Ordering options when selecting data from "average_block_time_from_genesis". */ +export type Average_Block_Time_From_Genesis_Order_By = { + average_time?: InputMaybe; + height?: InputMaybe; +}; + +/** select columns of table "average_block_time_from_genesis" */ +export enum Average_Block_Time_From_Genesis_Select_Column { + /** column name */ + AverageTime = 'average_time', + /** column name */ + Height = 'height' +} + +/** aggregate stddev on columns */ +export type Average_Block_Time_From_Genesis_Stddev_Fields = { + __typename?: 'average_block_time_from_genesis_stddev_fields'; + average_time?: Maybe; + height?: Maybe; +}; + +/** aggregate stddev_pop on columns */ +export type Average_Block_Time_From_Genesis_Stddev_Pop_Fields = { + __typename?: 'average_block_time_from_genesis_stddev_pop_fields'; + average_time?: Maybe; + height?: Maybe; +}; + +/** aggregate stddev_samp on columns */ +export type Average_Block_Time_From_Genesis_Stddev_Samp_Fields = { + __typename?: 'average_block_time_from_genesis_stddev_samp_fields'; + average_time?: Maybe; + height?: Maybe; +}; + +/** aggregate sum on columns */ +export type Average_Block_Time_From_Genesis_Sum_Fields = { + __typename?: 'average_block_time_from_genesis_sum_fields'; + average_time?: Maybe; + height?: Maybe; +}; + +/** aggregate var_pop on columns */ +export type Average_Block_Time_From_Genesis_Var_Pop_Fields = { + __typename?: 'average_block_time_from_genesis_var_pop_fields'; + average_time?: Maybe; + height?: Maybe; +}; + +/** aggregate var_samp on columns */ +export type Average_Block_Time_From_Genesis_Var_Samp_Fields = { + __typename?: 'average_block_time_from_genesis_var_samp_fields'; + average_time?: Maybe; + height?: Maybe; +}; + +/** aggregate variance on columns */ +export type Average_Block_Time_From_Genesis_Variance_Fields = { + __typename?: 'average_block_time_from_genesis_variance_fields'; + average_time?: Maybe; + height?: Maybe; +}; + +/** columns and relationships of "average_block_time_per_day" */ +export type Average_Block_Time_Per_Day = { + __typename?: 'average_block_time_per_day'; + average_time: Scalars['numeric']; + height: Scalars['bigint']; +}; + +/** aggregated selection of "average_block_time_per_day" */ +export type Average_Block_Time_Per_Day_Aggregate = { + __typename?: 'average_block_time_per_day_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +/** aggregate fields of "average_block_time_per_day" */ +export type Average_Block_Time_Per_Day_Aggregate_Fields = { + __typename?: 'average_block_time_per_day_aggregate_fields'; + avg?: Maybe; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; + stddev?: Maybe; + stddev_pop?: Maybe; + stddev_samp?: Maybe; + sum?: Maybe; + var_pop?: Maybe; + var_samp?: Maybe; + variance?: Maybe; +}; + + +/** aggregate fields of "average_block_time_per_day" */ +export type Average_Block_Time_Per_Day_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** aggregate avg on columns */ +export type Average_Block_Time_Per_Day_Avg_Fields = { + __typename?: 'average_block_time_per_day_avg_fields'; + average_time?: Maybe; + height?: Maybe; +}; + +/** Boolean expression to filter rows from the table "average_block_time_per_day". All fields are combined with a logical 'AND'. */ +export type Average_Block_Time_Per_Day_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + average_time?: InputMaybe; + height?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Average_Block_Time_Per_Day_Max_Fields = { + __typename?: 'average_block_time_per_day_max_fields'; + average_time?: Maybe; + height?: Maybe; +}; + +/** aggregate min on columns */ +export type Average_Block_Time_Per_Day_Min_Fields = { + __typename?: 'average_block_time_per_day_min_fields'; + average_time?: Maybe; + height?: Maybe; +}; + +/** Ordering options when selecting data from "average_block_time_per_day". */ +export type Average_Block_Time_Per_Day_Order_By = { + average_time?: InputMaybe; + height?: InputMaybe; +}; + +/** select columns of table "average_block_time_per_day" */ +export enum Average_Block_Time_Per_Day_Select_Column { + /** column name */ + AverageTime = 'average_time', + /** column name */ + Height = 'height' +} + +/** aggregate stddev on columns */ +export type Average_Block_Time_Per_Day_Stddev_Fields = { + __typename?: 'average_block_time_per_day_stddev_fields'; + average_time?: Maybe; + height?: Maybe; +}; + +/** aggregate stddev_pop on columns */ +export type Average_Block_Time_Per_Day_Stddev_Pop_Fields = { + __typename?: 'average_block_time_per_day_stddev_pop_fields'; + average_time?: Maybe; + height?: Maybe; +}; + +/** aggregate stddev_samp on columns */ +export type Average_Block_Time_Per_Day_Stddev_Samp_Fields = { + __typename?: 'average_block_time_per_day_stddev_samp_fields'; + average_time?: Maybe; + height?: Maybe; +}; + +/** aggregate sum on columns */ +export type Average_Block_Time_Per_Day_Sum_Fields = { + __typename?: 'average_block_time_per_day_sum_fields'; + average_time?: Maybe; + height?: Maybe; +}; + +/** aggregate var_pop on columns */ +export type Average_Block_Time_Per_Day_Var_Pop_Fields = { + __typename?: 'average_block_time_per_day_var_pop_fields'; + average_time?: Maybe; + height?: Maybe; +}; + +/** aggregate var_samp on columns */ +export type Average_Block_Time_Per_Day_Var_Samp_Fields = { + __typename?: 'average_block_time_per_day_var_samp_fields'; + average_time?: Maybe; + height?: Maybe; +}; + +/** aggregate variance on columns */ +export type Average_Block_Time_Per_Day_Variance_Fields = { + __typename?: 'average_block_time_per_day_variance_fields'; + average_time?: Maybe; + height?: Maybe; +}; + +/** columns and relationships of "average_block_time_per_hour" */ +export type Average_Block_Time_Per_Hour = { + __typename?: 'average_block_time_per_hour'; + average_time: Scalars['numeric']; + height: Scalars['bigint']; +}; + +/** aggregated selection of "average_block_time_per_hour" */ +export type Average_Block_Time_Per_Hour_Aggregate = { + __typename?: 'average_block_time_per_hour_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +/** aggregate fields of "average_block_time_per_hour" */ +export type Average_Block_Time_Per_Hour_Aggregate_Fields = { + __typename?: 'average_block_time_per_hour_aggregate_fields'; + avg?: Maybe; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; + stddev?: Maybe; + stddev_pop?: Maybe; + stddev_samp?: Maybe; + sum?: Maybe; + var_pop?: Maybe; + var_samp?: Maybe; + variance?: Maybe; +}; + + +/** aggregate fields of "average_block_time_per_hour" */ +export type Average_Block_Time_Per_Hour_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** aggregate avg on columns */ +export type Average_Block_Time_Per_Hour_Avg_Fields = { + __typename?: 'average_block_time_per_hour_avg_fields'; + average_time?: Maybe; + height?: Maybe; +}; + +/** Boolean expression to filter rows from the table "average_block_time_per_hour". All fields are combined with a logical 'AND'. */ +export type Average_Block_Time_Per_Hour_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + average_time?: InputMaybe; + height?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Average_Block_Time_Per_Hour_Max_Fields = { + __typename?: 'average_block_time_per_hour_max_fields'; + average_time?: Maybe; + height?: Maybe; +}; + +/** aggregate min on columns */ +export type Average_Block_Time_Per_Hour_Min_Fields = { + __typename?: 'average_block_time_per_hour_min_fields'; + average_time?: Maybe; + height?: Maybe; +}; + +/** Ordering options when selecting data from "average_block_time_per_hour". */ +export type Average_Block_Time_Per_Hour_Order_By = { + average_time?: InputMaybe; + height?: InputMaybe; +}; + +/** select columns of table "average_block_time_per_hour" */ +export enum Average_Block_Time_Per_Hour_Select_Column { + /** column name */ + AverageTime = 'average_time', + /** column name */ + Height = 'height' +} + +/** aggregate stddev on columns */ +export type Average_Block_Time_Per_Hour_Stddev_Fields = { + __typename?: 'average_block_time_per_hour_stddev_fields'; + average_time?: Maybe; + height?: Maybe; +}; + +/** aggregate stddev_pop on columns */ +export type Average_Block_Time_Per_Hour_Stddev_Pop_Fields = { + __typename?: 'average_block_time_per_hour_stddev_pop_fields'; + average_time?: Maybe; + height?: Maybe; +}; + +/** aggregate stddev_samp on columns */ +export type Average_Block_Time_Per_Hour_Stddev_Samp_Fields = { + __typename?: 'average_block_time_per_hour_stddev_samp_fields'; + average_time?: Maybe; + height?: Maybe; +}; + +/** aggregate sum on columns */ +export type Average_Block_Time_Per_Hour_Sum_Fields = { + __typename?: 'average_block_time_per_hour_sum_fields'; + average_time?: Maybe; + height?: Maybe; +}; + +/** aggregate var_pop on columns */ +export type Average_Block_Time_Per_Hour_Var_Pop_Fields = { + __typename?: 'average_block_time_per_hour_var_pop_fields'; + average_time?: Maybe; + height?: Maybe; +}; + +/** aggregate var_samp on columns */ +export type Average_Block_Time_Per_Hour_Var_Samp_Fields = { + __typename?: 'average_block_time_per_hour_var_samp_fields'; + average_time?: Maybe; + height?: Maybe; +}; + +/** aggregate variance on columns */ +export type Average_Block_Time_Per_Hour_Variance_Fields = { + __typename?: 'average_block_time_per_hour_variance_fields'; + average_time?: Maybe; + height?: Maybe; +}; + +/** columns and relationships of "average_block_time_per_minute" */ +export type Average_Block_Time_Per_Minute = { + __typename?: 'average_block_time_per_minute'; + average_time: Scalars['numeric']; + height: Scalars['bigint']; +}; + +/** aggregated selection of "average_block_time_per_minute" */ +export type Average_Block_Time_Per_Minute_Aggregate = { + __typename?: 'average_block_time_per_minute_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +/** aggregate fields of "average_block_time_per_minute" */ +export type Average_Block_Time_Per_Minute_Aggregate_Fields = { + __typename?: 'average_block_time_per_minute_aggregate_fields'; + avg?: Maybe; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; + stddev?: Maybe; + stddev_pop?: Maybe; + stddev_samp?: Maybe; + sum?: Maybe; + var_pop?: Maybe; + var_samp?: Maybe; + variance?: Maybe; +}; + + +/** aggregate fields of "average_block_time_per_minute" */ +export type Average_Block_Time_Per_Minute_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** aggregate avg on columns */ +export type Average_Block_Time_Per_Minute_Avg_Fields = { + __typename?: 'average_block_time_per_minute_avg_fields'; + average_time?: Maybe; + height?: Maybe; +}; + +/** Boolean expression to filter rows from the table "average_block_time_per_minute". All fields are combined with a logical 'AND'. */ +export type Average_Block_Time_Per_Minute_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + average_time?: InputMaybe; + height?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Average_Block_Time_Per_Minute_Max_Fields = { + __typename?: 'average_block_time_per_minute_max_fields'; + average_time?: Maybe; + height?: Maybe; +}; + +/** aggregate min on columns */ +export type Average_Block_Time_Per_Minute_Min_Fields = { + __typename?: 'average_block_time_per_minute_min_fields'; + average_time?: Maybe; + height?: Maybe; +}; + +/** Ordering options when selecting data from "average_block_time_per_minute". */ +export type Average_Block_Time_Per_Minute_Order_By = { + average_time?: InputMaybe; + height?: InputMaybe; +}; + +/** select columns of table "average_block_time_per_minute" */ +export enum Average_Block_Time_Per_Minute_Select_Column { + /** column name */ + AverageTime = 'average_time', + /** column name */ + Height = 'height' +} + +/** aggregate stddev on columns */ +export type Average_Block_Time_Per_Minute_Stddev_Fields = { + __typename?: 'average_block_time_per_minute_stddev_fields'; + average_time?: Maybe; + height?: Maybe; +}; + +/** aggregate stddev_pop on columns */ +export type Average_Block_Time_Per_Minute_Stddev_Pop_Fields = { + __typename?: 'average_block_time_per_minute_stddev_pop_fields'; + average_time?: Maybe; + height?: Maybe; +}; + +/** aggregate stddev_samp on columns */ +export type Average_Block_Time_Per_Minute_Stddev_Samp_Fields = { + __typename?: 'average_block_time_per_minute_stddev_samp_fields'; + average_time?: Maybe; + height?: Maybe; +}; + +/** aggregate sum on columns */ +export type Average_Block_Time_Per_Minute_Sum_Fields = { + __typename?: 'average_block_time_per_minute_sum_fields'; + average_time?: Maybe; + height?: Maybe; +}; + +/** aggregate var_pop on columns */ +export type Average_Block_Time_Per_Minute_Var_Pop_Fields = { + __typename?: 'average_block_time_per_minute_var_pop_fields'; + average_time?: Maybe; + height?: Maybe; +}; + +/** aggregate var_samp on columns */ +export type Average_Block_Time_Per_Minute_Var_Samp_Fields = { + __typename?: 'average_block_time_per_minute_var_samp_fields'; + average_time?: Maybe; + height?: Maybe; +}; + +/** aggregate variance on columns */ +export type Average_Block_Time_Per_Minute_Variance_Fields = { + __typename?: 'average_block_time_per_minute_variance_fields'; + average_time?: Maybe; + height?: Maybe; +}; + +/** Boolean expression to compare columns of type "bigint". All fields are combined with logical 'AND'. */ +export type Bigint_Comparison_Exp = { + _eq?: InputMaybe; + _gt?: InputMaybe; + _gte?: InputMaybe; + _in?: InputMaybe>; + _is_null?: InputMaybe; + _lt?: InputMaybe; + _lte?: InputMaybe; + _neq?: InputMaybe; + _nin?: InputMaybe>; +}; + +/** columns and relationships of "block" */ +export type Block = { + __typename?: 'block'; + hash: Scalars['String']; + height: Scalars['bigint']; + num_txs?: Maybe; + /** An array relationship */ + pre_commits: Array; + /** An aggregate relationship */ + pre_commits_aggregate: Pre_Commit_Aggregate; + /** An array relationship */ + proposal_deposits: Array; + /** An aggregate relationship */ + proposal_deposits_aggregate: Proposal_Deposit_Aggregate; + /** An array relationship */ + proposal_votes: Array; + /** An aggregate relationship */ + proposal_votes_aggregate: Proposal_Vote_Aggregate; + proposer_address?: Maybe; + timestamp: Scalars['timestamp']; + total_gas?: Maybe; + /** An array relationship */ + transactions: Array; + /** An aggregate relationship */ + transactions_aggregate: Transaction_Aggregate; + /** An object relationship */ + validator?: Maybe; + /** An array relationship */ + validator_voting_powers: Array; + /** An aggregate relationship */ + validator_voting_powers_aggregate: Validator_Voting_Power_Aggregate; +}; + + +/** columns and relationships of "block" */ +export type BlockPre_CommitsArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "block" */ +export type BlockPre_Commits_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "block" */ +export type BlockProposal_DepositsArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "block" */ +export type BlockProposal_Deposits_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "block" */ +export type BlockProposal_VotesArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "block" */ +export type BlockProposal_Votes_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "block" */ +export type BlockTransactionsArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "block" */ +export type BlockTransactions_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "block" */ +export type BlockValidator_Voting_PowersArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "block" */ +export type BlockValidator_Voting_Powers_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + +/** aggregated selection of "block" */ +export type Block_Aggregate = { + __typename?: 'block_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +/** aggregate fields of "block" */ +export type Block_Aggregate_Fields = { + __typename?: 'block_aggregate_fields'; + avg?: Maybe; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; + stddev?: Maybe; + stddev_pop?: Maybe; + stddev_samp?: Maybe; + sum?: Maybe; + var_pop?: Maybe; + var_samp?: Maybe; + variance?: Maybe; +}; + + +/** aggregate fields of "block" */ +export type Block_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** order by aggregate values of table "block" */ +export type Block_Aggregate_Order_By = { + avg?: InputMaybe; + count?: InputMaybe; + max?: InputMaybe; + min?: InputMaybe; + stddev?: InputMaybe; + stddev_pop?: InputMaybe; + stddev_samp?: InputMaybe; + sum?: InputMaybe; + var_pop?: InputMaybe; + var_samp?: InputMaybe; + variance?: InputMaybe; +}; + +/** aggregate avg on columns */ +export type Block_Avg_Fields = { + __typename?: 'block_avg_fields'; + height?: Maybe; + num_txs?: Maybe; + total_gas?: Maybe; +}; + +/** order by avg() on columns of table "block" */ +export type Block_Avg_Order_By = { + height?: InputMaybe; + num_txs?: InputMaybe; + total_gas?: InputMaybe; +}; + +/** Boolean expression to filter rows from the table "block". All fields are combined with a logical 'AND'. */ +export type Block_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + hash?: InputMaybe; + height?: InputMaybe; + num_txs?: InputMaybe; + pre_commits?: InputMaybe; + proposal_deposits?: InputMaybe; + proposal_votes?: InputMaybe; + proposer_address?: InputMaybe; + timestamp?: InputMaybe; + total_gas?: InputMaybe; + transactions?: InputMaybe; + validator?: InputMaybe; + validator_voting_powers?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Block_Max_Fields = { + __typename?: 'block_max_fields'; + hash?: Maybe; + height?: Maybe; + num_txs?: Maybe; + proposer_address?: Maybe; + timestamp?: Maybe; + total_gas?: Maybe; +}; + +/** order by max() on columns of table "block" */ +export type Block_Max_Order_By = { + hash?: InputMaybe; + height?: InputMaybe; + num_txs?: InputMaybe; + proposer_address?: InputMaybe; + timestamp?: InputMaybe; + total_gas?: InputMaybe; +}; + +/** aggregate min on columns */ +export type Block_Min_Fields = { + __typename?: 'block_min_fields'; + hash?: Maybe; + height?: Maybe; + num_txs?: Maybe; + proposer_address?: Maybe; + timestamp?: Maybe; + total_gas?: Maybe; +}; + +/** order by min() on columns of table "block" */ +export type Block_Min_Order_By = { + hash?: InputMaybe; + height?: InputMaybe; + num_txs?: InputMaybe; + proposer_address?: InputMaybe; + timestamp?: InputMaybe; + total_gas?: InputMaybe; +}; + +/** Ordering options when selecting data from "block". */ +export type Block_Order_By = { + hash?: InputMaybe; + height?: InputMaybe; + num_txs?: InputMaybe; + pre_commits_aggregate?: InputMaybe; + proposal_deposits_aggregate?: InputMaybe; + proposal_votes_aggregate?: InputMaybe; + proposer_address?: InputMaybe; + timestamp?: InputMaybe; + total_gas?: InputMaybe; + transactions_aggregate?: InputMaybe; + validator?: InputMaybe; + validator_voting_powers_aggregate?: InputMaybe; +}; + +/** select columns of table "block" */ +export enum Block_Select_Column { + /** column name */ + Hash = 'hash', + /** column name */ + Height = 'height', + /** column name */ + NumTxs = 'num_txs', + /** column name */ + ProposerAddress = 'proposer_address', + /** column name */ + Timestamp = 'timestamp', + /** column name */ + TotalGas = 'total_gas' +} + +/** aggregate stddev on columns */ +export type Block_Stddev_Fields = { + __typename?: 'block_stddev_fields'; + height?: Maybe; + num_txs?: Maybe; + total_gas?: Maybe; +}; + +/** order by stddev() on columns of table "block" */ +export type Block_Stddev_Order_By = { + height?: InputMaybe; + num_txs?: InputMaybe; + total_gas?: InputMaybe; +}; + +/** aggregate stddev_pop on columns */ +export type Block_Stddev_Pop_Fields = { + __typename?: 'block_stddev_pop_fields'; + height?: Maybe; + num_txs?: Maybe; + total_gas?: Maybe; +}; + +/** order by stddev_pop() on columns of table "block" */ +export type Block_Stddev_Pop_Order_By = { + height?: InputMaybe; + num_txs?: InputMaybe; + total_gas?: InputMaybe; +}; + +/** aggregate stddev_samp on columns */ +export type Block_Stddev_Samp_Fields = { + __typename?: 'block_stddev_samp_fields'; + height?: Maybe; + num_txs?: Maybe; + total_gas?: Maybe; +}; + +/** order by stddev_samp() on columns of table "block" */ +export type Block_Stddev_Samp_Order_By = { + height?: InputMaybe; + num_txs?: InputMaybe; + total_gas?: InputMaybe; +}; + +/** aggregate sum on columns */ +export type Block_Sum_Fields = { + __typename?: 'block_sum_fields'; + height?: Maybe; + num_txs?: Maybe; + total_gas?: Maybe; +}; + +/** order by sum() on columns of table "block" */ +export type Block_Sum_Order_By = { + height?: InputMaybe; + num_txs?: InputMaybe; + total_gas?: InputMaybe; +}; + +/** aggregate var_pop on columns */ +export type Block_Var_Pop_Fields = { + __typename?: 'block_var_pop_fields'; + height?: Maybe; + num_txs?: Maybe; + total_gas?: Maybe; +}; + +/** order by var_pop() on columns of table "block" */ +export type Block_Var_Pop_Order_By = { + height?: InputMaybe; + num_txs?: InputMaybe; + total_gas?: InputMaybe; +}; + +/** aggregate var_samp on columns */ +export type Block_Var_Samp_Fields = { + __typename?: 'block_var_samp_fields'; + height?: Maybe; + num_txs?: Maybe; + total_gas?: Maybe; +}; + +/** order by var_samp() on columns of table "block" */ +export type Block_Var_Samp_Order_By = { + height?: InputMaybe; + num_txs?: InputMaybe; + total_gas?: InputMaybe; +}; + +/** aggregate variance on columns */ +export type Block_Variance_Fields = { + __typename?: 'block_variance_fields'; + height?: Maybe; + num_txs?: Maybe; + total_gas?: Maybe; +}; + +/** order by variance() on columns of table "block" */ +export type Block_Variance_Order_By = { + height?: InputMaybe; + num_txs?: InputMaybe; + total_gas?: InputMaybe; +}; + +/** columns and relationships of "community_pool" */ +export type Community_Pool = { + __typename?: 'community_pool'; + coins: Scalars['_dec_coin']; + height: Scalars['bigint']; +}; + +/** aggregated selection of "community_pool" */ +export type Community_Pool_Aggregate = { + __typename?: 'community_pool_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +/** aggregate fields of "community_pool" */ +export type Community_Pool_Aggregate_Fields = { + __typename?: 'community_pool_aggregate_fields'; + avg?: Maybe; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; + stddev?: Maybe; + stddev_pop?: Maybe; + stddev_samp?: Maybe; + sum?: Maybe; + var_pop?: Maybe; + var_samp?: Maybe; + variance?: Maybe; +}; + + +/** aggregate fields of "community_pool" */ +export type Community_Pool_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** aggregate avg on columns */ +export type Community_Pool_Avg_Fields = { + __typename?: 'community_pool_avg_fields'; + height?: Maybe; +}; + +/** Boolean expression to filter rows from the table "community_pool". All fields are combined with a logical 'AND'. */ +export type Community_Pool_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + coins?: InputMaybe<_Dec_Coin_Comparison_Exp>; + height?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Community_Pool_Max_Fields = { + __typename?: 'community_pool_max_fields'; + height?: Maybe; +}; + +/** aggregate min on columns */ +export type Community_Pool_Min_Fields = { + __typename?: 'community_pool_min_fields'; + height?: Maybe; +}; + +/** Ordering options when selecting data from "community_pool". */ +export type Community_Pool_Order_By = { + coins?: InputMaybe; + height?: InputMaybe; +}; + +/** select columns of table "community_pool" */ +export enum Community_Pool_Select_Column { + /** column name */ + Coins = 'coins', + /** column name */ + Height = 'height' +} + +/** aggregate stddev on columns */ +export type Community_Pool_Stddev_Fields = { + __typename?: 'community_pool_stddev_fields'; + height?: Maybe; +}; + +/** aggregate stddev_pop on columns */ +export type Community_Pool_Stddev_Pop_Fields = { + __typename?: 'community_pool_stddev_pop_fields'; + height?: Maybe; +}; + +/** aggregate stddev_samp on columns */ +export type Community_Pool_Stddev_Samp_Fields = { + __typename?: 'community_pool_stddev_samp_fields'; + height?: Maybe; +}; + +/** aggregate sum on columns */ +export type Community_Pool_Sum_Fields = { + __typename?: 'community_pool_sum_fields'; + height?: Maybe; +}; + +/** aggregate var_pop on columns */ +export type Community_Pool_Var_Pop_Fields = { + __typename?: 'community_pool_var_pop_fields'; + height?: Maybe; +}; + +/** aggregate var_samp on columns */ +export type Community_Pool_Var_Samp_Fields = { + __typename?: 'community_pool_var_samp_fields'; + height?: Maybe; +}; + +/** aggregate variance on columns */ +export type Community_Pool_Variance_Fields = { + __typename?: 'community_pool_variance_fields'; + height?: Maybe; +}; + +/** columns and relationships of "distribution_params" */ +export type Distribution_Params = { + __typename?: 'distribution_params'; + height: Scalars['bigint']; + one_row_id: Scalars['Boolean']; + params: Scalars['jsonb']; +}; + + +/** columns and relationships of "distribution_params" */ +export type Distribution_ParamsParamsArgs = { + path?: InputMaybe; +}; + +/** aggregated selection of "distribution_params" */ +export type Distribution_Params_Aggregate = { + __typename?: 'distribution_params_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +/** aggregate fields of "distribution_params" */ +export type Distribution_Params_Aggregate_Fields = { + __typename?: 'distribution_params_aggregate_fields'; + avg?: Maybe; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; + stddev?: Maybe; + stddev_pop?: Maybe; + stddev_samp?: Maybe; + sum?: Maybe; + var_pop?: Maybe; + var_samp?: Maybe; + variance?: Maybe; +}; + + +/** aggregate fields of "distribution_params" */ +export type Distribution_Params_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** aggregate avg on columns */ +export type Distribution_Params_Avg_Fields = { + __typename?: 'distribution_params_avg_fields'; + height?: Maybe; +}; + +/** Boolean expression to filter rows from the table "distribution_params". All fields are combined with a logical 'AND'. */ +export type Distribution_Params_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + height?: InputMaybe; + one_row_id?: InputMaybe; + params?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Distribution_Params_Max_Fields = { + __typename?: 'distribution_params_max_fields'; + height?: Maybe; +}; + +/** aggregate min on columns */ +export type Distribution_Params_Min_Fields = { + __typename?: 'distribution_params_min_fields'; + height?: Maybe; +}; + +/** Ordering options when selecting data from "distribution_params". */ +export type Distribution_Params_Order_By = { + height?: InputMaybe; + one_row_id?: InputMaybe; + params?: InputMaybe; +}; + +/** select columns of table "distribution_params" */ +export enum Distribution_Params_Select_Column { + /** column name */ + Height = 'height', + /** column name */ + OneRowId = 'one_row_id', + /** column name */ + Params = 'params' +} + +/** aggregate stddev on columns */ +export type Distribution_Params_Stddev_Fields = { + __typename?: 'distribution_params_stddev_fields'; + height?: Maybe; +}; + +/** aggregate stddev_pop on columns */ +export type Distribution_Params_Stddev_Pop_Fields = { + __typename?: 'distribution_params_stddev_pop_fields'; + height?: Maybe; +}; + +/** aggregate stddev_samp on columns */ +export type Distribution_Params_Stddev_Samp_Fields = { + __typename?: 'distribution_params_stddev_samp_fields'; + height?: Maybe; +}; + +/** aggregate sum on columns */ +export type Distribution_Params_Sum_Fields = { + __typename?: 'distribution_params_sum_fields'; + height?: Maybe; +}; + +/** aggregate var_pop on columns */ +export type Distribution_Params_Var_Pop_Fields = { + __typename?: 'distribution_params_var_pop_fields'; + height?: Maybe; +}; + +/** aggregate var_samp on columns */ +export type Distribution_Params_Var_Samp_Fields = { + __typename?: 'distribution_params_var_samp_fields'; + height?: Maybe; +}; + +/** aggregate variance on columns */ +export type Distribution_Params_Variance_Fields = { + __typename?: 'distribution_params_variance_fields'; + height?: Maybe; +}; + +/** columns and relationships of "double_sign_evidence" */ +export type Double_Sign_Evidence = { + __typename?: 'double_sign_evidence'; + /** An object relationship */ + doubleSignVoteByVoteAId: Double_Sign_Vote; + /** An object relationship */ + double_sign_vote: Double_Sign_Vote; + height: Scalars['bigint']; + vote_a_id: Scalars['bigint']; + vote_b_id: Scalars['bigint']; +}; + +/** aggregated selection of "double_sign_evidence" */ +export type Double_Sign_Evidence_Aggregate = { + __typename?: 'double_sign_evidence_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +/** aggregate fields of "double_sign_evidence" */ +export type Double_Sign_Evidence_Aggregate_Fields = { + __typename?: 'double_sign_evidence_aggregate_fields'; + avg?: Maybe; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; + stddev?: Maybe; + stddev_pop?: Maybe; + stddev_samp?: Maybe; + sum?: Maybe; + var_pop?: Maybe; + var_samp?: Maybe; + variance?: Maybe; +}; + + +/** aggregate fields of "double_sign_evidence" */ +export type Double_Sign_Evidence_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** order by aggregate values of table "double_sign_evidence" */ +export type Double_Sign_Evidence_Aggregate_Order_By = { + avg?: InputMaybe; + count?: InputMaybe; + max?: InputMaybe; + min?: InputMaybe; + stddev?: InputMaybe; + stddev_pop?: InputMaybe; + stddev_samp?: InputMaybe; + sum?: InputMaybe; + var_pop?: InputMaybe; + var_samp?: InputMaybe; + variance?: InputMaybe; +}; + +/** aggregate avg on columns */ +export type Double_Sign_Evidence_Avg_Fields = { + __typename?: 'double_sign_evidence_avg_fields'; + height?: Maybe; + vote_a_id?: Maybe; + vote_b_id?: Maybe; +}; + +/** order by avg() on columns of table "double_sign_evidence" */ +export type Double_Sign_Evidence_Avg_Order_By = { + height?: InputMaybe; + vote_a_id?: InputMaybe; + vote_b_id?: InputMaybe; +}; + +/** Boolean expression to filter rows from the table "double_sign_evidence". All fields are combined with a logical 'AND'. */ +export type Double_Sign_Evidence_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + doubleSignVoteByVoteAId?: InputMaybe; + double_sign_vote?: InputMaybe; + height?: InputMaybe; + vote_a_id?: InputMaybe; + vote_b_id?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Double_Sign_Evidence_Max_Fields = { + __typename?: 'double_sign_evidence_max_fields'; + height?: Maybe; + vote_a_id?: Maybe; + vote_b_id?: Maybe; +}; + +/** order by max() on columns of table "double_sign_evidence" */ +export type Double_Sign_Evidence_Max_Order_By = { + height?: InputMaybe; + vote_a_id?: InputMaybe; + vote_b_id?: InputMaybe; +}; + +/** aggregate min on columns */ +export type Double_Sign_Evidence_Min_Fields = { + __typename?: 'double_sign_evidence_min_fields'; + height?: Maybe; + vote_a_id?: Maybe; + vote_b_id?: Maybe; +}; + +/** order by min() on columns of table "double_sign_evidence" */ +export type Double_Sign_Evidence_Min_Order_By = { + height?: InputMaybe; + vote_a_id?: InputMaybe; + vote_b_id?: InputMaybe; +}; + +/** Ordering options when selecting data from "double_sign_evidence". */ +export type Double_Sign_Evidence_Order_By = { + doubleSignVoteByVoteAId?: InputMaybe; + double_sign_vote?: InputMaybe; + height?: InputMaybe; + vote_a_id?: InputMaybe; + vote_b_id?: InputMaybe; +}; + +/** select columns of table "double_sign_evidence" */ +export enum Double_Sign_Evidence_Select_Column { + /** column name */ + Height = 'height', + /** column name */ + VoteAId = 'vote_a_id', + /** column name */ + VoteBId = 'vote_b_id' +} + +/** aggregate stddev on columns */ +export type Double_Sign_Evidence_Stddev_Fields = { + __typename?: 'double_sign_evidence_stddev_fields'; + height?: Maybe; + vote_a_id?: Maybe; + vote_b_id?: Maybe; +}; + +/** order by stddev() on columns of table "double_sign_evidence" */ +export type Double_Sign_Evidence_Stddev_Order_By = { + height?: InputMaybe; + vote_a_id?: InputMaybe; + vote_b_id?: InputMaybe; +}; + +/** aggregate stddev_pop on columns */ +export type Double_Sign_Evidence_Stddev_Pop_Fields = { + __typename?: 'double_sign_evidence_stddev_pop_fields'; + height?: Maybe; + vote_a_id?: Maybe; + vote_b_id?: Maybe; +}; + +/** order by stddev_pop() on columns of table "double_sign_evidence" */ +export type Double_Sign_Evidence_Stddev_Pop_Order_By = { + height?: InputMaybe; + vote_a_id?: InputMaybe; + vote_b_id?: InputMaybe; +}; + +/** aggregate stddev_samp on columns */ +export type Double_Sign_Evidence_Stddev_Samp_Fields = { + __typename?: 'double_sign_evidence_stddev_samp_fields'; + height?: Maybe; + vote_a_id?: Maybe; + vote_b_id?: Maybe; +}; + +/** order by stddev_samp() on columns of table "double_sign_evidence" */ +export type Double_Sign_Evidence_Stddev_Samp_Order_By = { + height?: InputMaybe; + vote_a_id?: InputMaybe; + vote_b_id?: InputMaybe; +}; + +/** aggregate sum on columns */ +export type Double_Sign_Evidence_Sum_Fields = { + __typename?: 'double_sign_evidence_sum_fields'; + height?: Maybe; + vote_a_id?: Maybe; + vote_b_id?: Maybe; +}; + +/** order by sum() on columns of table "double_sign_evidence" */ +export type Double_Sign_Evidence_Sum_Order_By = { + height?: InputMaybe; + vote_a_id?: InputMaybe; + vote_b_id?: InputMaybe; +}; + +/** aggregate var_pop on columns */ +export type Double_Sign_Evidence_Var_Pop_Fields = { + __typename?: 'double_sign_evidence_var_pop_fields'; + height?: Maybe; + vote_a_id?: Maybe; + vote_b_id?: Maybe; +}; + +/** order by var_pop() on columns of table "double_sign_evidence" */ +export type Double_Sign_Evidence_Var_Pop_Order_By = { + height?: InputMaybe; + vote_a_id?: InputMaybe; + vote_b_id?: InputMaybe; +}; + +/** aggregate var_samp on columns */ +export type Double_Sign_Evidence_Var_Samp_Fields = { + __typename?: 'double_sign_evidence_var_samp_fields'; + height?: Maybe; + vote_a_id?: Maybe; + vote_b_id?: Maybe; +}; + +/** order by var_samp() on columns of table "double_sign_evidence" */ +export type Double_Sign_Evidence_Var_Samp_Order_By = { + height?: InputMaybe; + vote_a_id?: InputMaybe; + vote_b_id?: InputMaybe; +}; + +/** aggregate variance on columns */ +export type Double_Sign_Evidence_Variance_Fields = { + __typename?: 'double_sign_evidence_variance_fields'; + height?: Maybe; + vote_a_id?: Maybe; + vote_b_id?: Maybe; +}; + +/** order by variance() on columns of table "double_sign_evidence" */ +export type Double_Sign_Evidence_Variance_Order_By = { + height?: InputMaybe; + vote_a_id?: InputMaybe; + vote_b_id?: InputMaybe; +}; + +/** columns and relationships of "double_sign_vote" */ +export type Double_Sign_Vote = { + __typename?: 'double_sign_vote'; + block_id: Scalars['String']; + /** An array relationship */ + doubleSignEvidencesByVoteBId: Array; + /** An aggregate relationship */ + doubleSignEvidencesByVoteBId_aggregate: Double_Sign_Evidence_Aggregate; + /** An array relationship */ + double_sign_evidences: Array; + /** An aggregate relationship */ + double_sign_evidences_aggregate: Double_Sign_Evidence_Aggregate; + height: Scalars['bigint']; + id: Scalars['Int']; + round: Scalars['Int']; + signature: Scalars['String']; + type: Scalars['smallint']; + /** An object relationship */ + validator: Validator; + validator_address: Scalars['String']; + validator_index: Scalars['Int']; +}; + + +/** columns and relationships of "double_sign_vote" */ +export type Double_Sign_VoteDoubleSignEvidencesByVoteBIdArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "double_sign_vote" */ +export type Double_Sign_VoteDoubleSignEvidencesByVoteBId_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "double_sign_vote" */ +export type Double_Sign_VoteDouble_Sign_EvidencesArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "double_sign_vote" */ +export type Double_Sign_VoteDouble_Sign_Evidences_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + +/** aggregated selection of "double_sign_vote" */ +export type Double_Sign_Vote_Aggregate = { + __typename?: 'double_sign_vote_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +/** aggregate fields of "double_sign_vote" */ +export type Double_Sign_Vote_Aggregate_Fields = { + __typename?: 'double_sign_vote_aggregate_fields'; + avg?: Maybe; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; + stddev?: Maybe; + stddev_pop?: Maybe; + stddev_samp?: Maybe; + sum?: Maybe; + var_pop?: Maybe; + var_samp?: Maybe; + variance?: Maybe; +}; + + +/** aggregate fields of "double_sign_vote" */ +export type Double_Sign_Vote_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** order by aggregate values of table "double_sign_vote" */ +export type Double_Sign_Vote_Aggregate_Order_By = { + avg?: InputMaybe; + count?: InputMaybe; + max?: InputMaybe; + min?: InputMaybe; + stddev?: InputMaybe; + stddev_pop?: InputMaybe; + stddev_samp?: InputMaybe; + sum?: InputMaybe; + var_pop?: InputMaybe; + var_samp?: InputMaybe; + variance?: InputMaybe; +}; + +/** aggregate avg on columns */ +export type Double_Sign_Vote_Avg_Fields = { + __typename?: 'double_sign_vote_avg_fields'; + height?: Maybe; + id?: Maybe; + round?: Maybe; + type?: Maybe; + validator_index?: Maybe; +}; + +/** order by avg() on columns of table "double_sign_vote" */ +export type Double_Sign_Vote_Avg_Order_By = { + height?: InputMaybe; + id?: InputMaybe; + round?: InputMaybe; + type?: InputMaybe; + validator_index?: InputMaybe; +}; + +/** Boolean expression to filter rows from the table "double_sign_vote". All fields are combined with a logical 'AND'. */ +export type Double_Sign_Vote_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + block_id?: InputMaybe; + doubleSignEvidencesByVoteBId?: InputMaybe; + double_sign_evidences?: InputMaybe; + height?: InputMaybe; + id?: InputMaybe; + round?: InputMaybe; + signature?: InputMaybe; + type?: InputMaybe; + validator?: InputMaybe; + validator_address?: InputMaybe; + validator_index?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Double_Sign_Vote_Max_Fields = { + __typename?: 'double_sign_vote_max_fields'; + block_id?: Maybe; + height?: Maybe; + id?: Maybe; + round?: Maybe; + signature?: Maybe; + type?: Maybe; + validator_address?: Maybe; + validator_index?: Maybe; +}; + +/** order by max() on columns of table "double_sign_vote" */ +export type Double_Sign_Vote_Max_Order_By = { + block_id?: InputMaybe; + height?: InputMaybe; + id?: InputMaybe; + round?: InputMaybe; + signature?: InputMaybe; + type?: InputMaybe; + validator_address?: InputMaybe; + validator_index?: InputMaybe; +}; + +/** aggregate min on columns */ +export type Double_Sign_Vote_Min_Fields = { + __typename?: 'double_sign_vote_min_fields'; + block_id?: Maybe; + height?: Maybe; + id?: Maybe; + round?: Maybe; + signature?: Maybe; + type?: Maybe; + validator_address?: Maybe; + validator_index?: Maybe; +}; + +/** order by min() on columns of table "double_sign_vote" */ +export type Double_Sign_Vote_Min_Order_By = { + block_id?: InputMaybe; + height?: InputMaybe; + id?: InputMaybe; + round?: InputMaybe; + signature?: InputMaybe; + type?: InputMaybe; + validator_address?: InputMaybe; + validator_index?: InputMaybe; +}; + +/** Ordering options when selecting data from "double_sign_vote". */ +export type Double_Sign_Vote_Order_By = { + block_id?: InputMaybe; + doubleSignEvidencesByVoteBId_aggregate?: InputMaybe; + double_sign_evidences_aggregate?: InputMaybe; + height?: InputMaybe; + id?: InputMaybe; + round?: InputMaybe; + signature?: InputMaybe; + type?: InputMaybe; + validator?: InputMaybe; + validator_address?: InputMaybe; + validator_index?: InputMaybe; +}; + +/** select columns of table "double_sign_vote" */ +export enum Double_Sign_Vote_Select_Column { + /** column name */ + BlockId = 'block_id', + /** column name */ + Height = 'height', + /** column name */ + Id = 'id', + /** column name */ + Round = 'round', + /** column name */ + Signature = 'signature', + /** column name */ + Type = 'type', + /** column name */ + ValidatorAddress = 'validator_address', + /** column name */ + ValidatorIndex = 'validator_index' +} + +/** aggregate stddev on columns */ +export type Double_Sign_Vote_Stddev_Fields = { + __typename?: 'double_sign_vote_stddev_fields'; + height?: Maybe; + id?: Maybe; + round?: Maybe; + type?: Maybe; + validator_index?: Maybe; +}; + +/** order by stddev() on columns of table "double_sign_vote" */ +export type Double_Sign_Vote_Stddev_Order_By = { + height?: InputMaybe; + id?: InputMaybe; + round?: InputMaybe; + type?: InputMaybe; + validator_index?: InputMaybe; +}; + +/** aggregate stddev_pop on columns */ +export type Double_Sign_Vote_Stddev_Pop_Fields = { + __typename?: 'double_sign_vote_stddev_pop_fields'; + height?: Maybe; + id?: Maybe; + round?: Maybe; + type?: Maybe; + validator_index?: Maybe; +}; + +/** order by stddev_pop() on columns of table "double_sign_vote" */ +export type Double_Sign_Vote_Stddev_Pop_Order_By = { + height?: InputMaybe; + id?: InputMaybe; + round?: InputMaybe; + type?: InputMaybe; + validator_index?: InputMaybe; +}; + +/** aggregate stddev_samp on columns */ +export type Double_Sign_Vote_Stddev_Samp_Fields = { + __typename?: 'double_sign_vote_stddev_samp_fields'; + height?: Maybe; + id?: Maybe; + round?: Maybe; + type?: Maybe; + validator_index?: Maybe; +}; + +/** order by stddev_samp() on columns of table "double_sign_vote" */ +export type Double_Sign_Vote_Stddev_Samp_Order_By = { + height?: InputMaybe; + id?: InputMaybe; + round?: InputMaybe; + type?: InputMaybe; + validator_index?: InputMaybe; +}; + +/** aggregate sum on columns */ +export type Double_Sign_Vote_Sum_Fields = { + __typename?: 'double_sign_vote_sum_fields'; + height?: Maybe; + id?: Maybe; + round?: Maybe; + type?: Maybe; + validator_index?: Maybe; +}; + +/** order by sum() on columns of table "double_sign_vote" */ +export type Double_Sign_Vote_Sum_Order_By = { + height?: InputMaybe; + id?: InputMaybe; + round?: InputMaybe; + type?: InputMaybe; + validator_index?: InputMaybe; +}; + +/** aggregate var_pop on columns */ +export type Double_Sign_Vote_Var_Pop_Fields = { + __typename?: 'double_sign_vote_var_pop_fields'; + height?: Maybe; + id?: Maybe; + round?: Maybe; + type?: Maybe; + validator_index?: Maybe; +}; + +/** order by var_pop() on columns of table "double_sign_vote" */ +export type Double_Sign_Vote_Var_Pop_Order_By = { + height?: InputMaybe; + id?: InputMaybe; + round?: InputMaybe; + type?: InputMaybe; + validator_index?: InputMaybe; +}; + +/** aggregate var_samp on columns */ +export type Double_Sign_Vote_Var_Samp_Fields = { + __typename?: 'double_sign_vote_var_samp_fields'; + height?: Maybe; + id?: Maybe; + round?: Maybe; + type?: Maybe; + validator_index?: Maybe; +}; + +/** order by var_samp() on columns of table "double_sign_vote" */ +export type Double_Sign_Vote_Var_Samp_Order_By = { + height?: InputMaybe; + id?: InputMaybe; + round?: InputMaybe; + type?: InputMaybe; + validator_index?: InputMaybe; +}; + +/** aggregate variance on columns */ +export type Double_Sign_Vote_Variance_Fields = { + __typename?: 'double_sign_vote_variance_fields'; + height?: Maybe; + id?: Maybe; + round?: Maybe; + type?: Maybe; + validator_index?: Maybe; +}; + +/** order by variance() on columns of table "double_sign_vote" */ +export type Double_Sign_Vote_Variance_Order_By = { + height?: InputMaybe; + id?: InputMaybe; + round?: InputMaybe; + type?: InputMaybe; + validator_index?: InputMaybe; +}; + +/** columns and relationships of "fee_grant_allowance" */ +export type Fee_Grant_Allowance = { + __typename?: 'fee_grant_allowance'; + allowance: Scalars['jsonb']; + /** An object relationship */ + grantee: Account; + grantee_address: Scalars['String']; + /** An object relationship */ + granter: Account; + granter_address: Scalars['String']; + height: Scalars['bigint']; + id: Scalars['Int']; +}; + + +/** columns and relationships of "fee_grant_allowance" */ +export type Fee_Grant_AllowanceAllowanceArgs = { + path?: InputMaybe; +}; + +/** aggregated selection of "fee_grant_allowance" */ +export type Fee_Grant_Allowance_Aggregate = { + __typename?: 'fee_grant_allowance_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +/** aggregate fields of "fee_grant_allowance" */ +export type Fee_Grant_Allowance_Aggregate_Fields = { + __typename?: 'fee_grant_allowance_aggregate_fields'; + avg?: Maybe; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; + stddev?: Maybe; + stddev_pop?: Maybe; + stddev_samp?: Maybe; + sum?: Maybe; + var_pop?: Maybe; + var_samp?: Maybe; + variance?: Maybe; +}; + + +/** aggregate fields of "fee_grant_allowance" */ +export type Fee_Grant_Allowance_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** order by aggregate values of table "fee_grant_allowance" */ +export type Fee_Grant_Allowance_Aggregate_Order_By = { + avg?: InputMaybe; + count?: InputMaybe; + max?: InputMaybe; + min?: InputMaybe; + stddev?: InputMaybe; + stddev_pop?: InputMaybe; + stddev_samp?: InputMaybe; + sum?: InputMaybe; + var_pop?: InputMaybe; + var_samp?: InputMaybe; + variance?: InputMaybe; +}; + +/** aggregate avg on columns */ +export type Fee_Grant_Allowance_Avg_Fields = { + __typename?: 'fee_grant_allowance_avg_fields'; + height?: Maybe; + id?: Maybe; +}; + +/** order by avg() on columns of table "fee_grant_allowance" */ +export type Fee_Grant_Allowance_Avg_Order_By = { + height?: InputMaybe; + id?: InputMaybe; +}; + +/** Boolean expression to filter rows from the table "fee_grant_allowance". All fields are combined with a logical 'AND'. */ +export type Fee_Grant_Allowance_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + allowance?: InputMaybe; + grantee?: InputMaybe; + grantee_address?: InputMaybe; + granter?: InputMaybe; + granter_address?: InputMaybe; + height?: InputMaybe; + id?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Fee_Grant_Allowance_Max_Fields = { + __typename?: 'fee_grant_allowance_max_fields'; + grantee_address?: Maybe; + granter_address?: Maybe; + height?: Maybe; + id?: Maybe; +}; + +/** order by max() on columns of table "fee_grant_allowance" */ +export type Fee_Grant_Allowance_Max_Order_By = { + grantee_address?: InputMaybe; + granter_address?: InputMaybe; + height?: InputMaybe; + id?: InputMaybe; +}; + +/** aggregate min on columns */ +export type Fee_Grant_Allowance_Min_Fields = { + __typename?: 'fee_grant_allowance_min_fields'; + grantee_address?: Maybe; + granter_address?: Maybe; + height?: Maybe; + id?: Maybe; +}; + +/** order by min() on columns of table "fee_grant_allowance" */ +export type Fee_Grant_Allowance_Min_Order_By = { + grantee_address?: InputMaybe; + granter_address?: InputMaybe; + height?: InputMaybe; + id?: InputMaybe; +}; + +/** Ordering options when selecting data from "fee_grant_allowance". */ +export type Fee_Grant_Allowance_Order_By = { + allowance?: InputMaybe; + grantee?: InputMaybe; + grantee_address?: InputMaybe; + granter?: InputMaybe; + granter_address?: InputMaybe; + height?: InputMaybe; + id?: InputMaybe; +}; + +/** select columns of table "fee_grant_allowance" */ +export enum Fee_Grant_Allowance_Select_Column { + /** column name */ + Allowance = 'allowance', + /** column name */ + GranteeAddress = 'grantee_address', + /** column name */ + GranterAddress = 'granter_address', + /** column name */ + Height = 'height', + /** column name */ + Id = 'id' +} + +/** aggregate stddev on columns */ +export type Fee_Grant_Allowance_Stddev_Fields = { + __typename?: 'fee_grant_allowance_stddev_fields'; + height?: Maybe; + id?: Maybe; +}; + +/** order by stddev() on columns of table "fee_grant_allowance" */ +export type Fee_Grant_Allowance_Stddev_Order_By = { + height?: InputMaybe; + id?: InputMaybe; +}; + +/** aggregate stddev_pop on columns */ +export type Fee_Grant_Allowance_Stddev_Pop_Fields = { + __typename?: 'fee_grant_allowance_stddev_pop_fields'; + height?: Maybe; + id?: Maybe; +}; + +/** order by stddev_pop() on columns of table "fee_grant_allowance" */ +export type Fee_Grant_Allowance_Stddev_Pop_Order_By = { + height?: InputMaybe; + id?: InputMaybe; +}; + +/** aggregate stddev_samp on columns */ +export type Fee_Grant_Allowance_Stddev_Samp_Fields = { + __typename?: 'fee_grant_allowance_stddev_samp_fields'; + height?: Maybe; + id?: Maybe; +}; + +/** order by stddev_samp() on columns of table "fee_grant_allowance" */ +export type Fee_Grant_Allowance_Stddev_Samp_Order_By = { + height?: InputMaybe; + id?: InputMaybe; +}; + +/** aggregate sum on columns */ +export type Fee_Grant_Allowance_Sum_Fields = { + __typename?: 'fee_grant_allowance_sum_fields'; + height?: Maybe; + id?: Maybe; +}; + +/** order by sum() on columns of table "fee_grant_allowance" */ +export type Fee_Grant_Allowance_Sum_Order_By = { + height?: InputMaybe; + id?: InputMaybe; +}; + +/** aggregate var_pop on columns */ +export type Fee_Grant_Allowance_Var_Pop_Fields = { + __typename?: 'fee_grant_allowance_var_pop_fields'; + height?: Maybe; + id?: Maybe; +}; + +/** order by var_pop() on columns of table "fee_grant_allowance" */ +export type Fee_Grant_Allowance_Var_Pop_Order_By = { + height?: InputMaybe; + id?: InputMaybe; +}; + +/** aggregate var_samp on columns */ +export type Fee_Grant_Allowance_Var_Samp_Fields = { + __typename?: 'fee_grant_allowance_var_samp_fields'; + height?: Maybe; + id?: Maybe; +}; + +/** order by var_samp() on columns of table "fee_grant_allowance" */ +export type Fee_Grant_Allowance_Var_Samp_Order_By = { + height?: InputMaybe; + id?: InputMaybe; +}; + +/** aggregate variance on columns */ +export type Fee_Grant_Allowance_Variance_Fields = { + __typename?: 'fee_grant_allowance_variance_fields'; + height?: Maybe; + id?: Maybe; +}; + +/** order by variance() on columns of table "fee_grant_allowance" */ +export type Fee_Grant_Allowance_Variance_Order_By = { + height?: InputMaybe; + id?: InputMaybe; +}; + +/** columns and relationships of "genesis" */ +export type Genesis = { + __typename?: 'genesis'; + chain_id: Scalars['String']; + initial_height: Scalars['bigint']; + time: Scalars['timestamp']; +}; + +/** aggregated selection of "genesis" */ +export type Genesis_Aggregate = { + __typename?: 'genesis_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +/** aggregate fields of "genesis" */ +export type Genesis_Aggregate_Fields = { + __typename?: 'genesis_aggregate_fields'; + avg?: Maybe; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; + stddev?: Maybe; + stddev_pop?: Maybe; + stddev_samp?: Maybe; + sum?: Maybe; + var_pop?: Maybe; + var_samp?: Maybe; + variance?: Maybe; +}; + + +/** aggregate fields of "genesis" */ +export type Genesis_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** aggregate avg on columns */ +export type Genesis_Avg_Fields = { + __typename?: 'genesis_avg_fields'; + initial_height?: Maybe; +}; + +/** Boolean expression to filter rows from the table "genesis". All fields are combined with a logical 'AND'. */ +export type Genesis_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + chain_id?: InputMaybe; + initial_height?: InputMaybe; + time?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Genesis_Max_Fields = { + __typename?: 'genesis_max_fields'; + chain_id?: Maybe; + initial_height?: Maybe; + time?: Maybe; +}; + +/** aggregate min on columns */ +export type Genesis_Min_Fields = { + __typename?: 'genesis_min_fields'; + chain_id?: Maybe; + initial_height?: Maybe; + time?: Maybe; +}; + +/** Ordering options when selecting data from "genesis". */ +export type Genesis_Order_By = { + chain_id?: InputMaybe; + initial_height?: InputMaybe; + time?: InputMaybe; +}; + +/** select columns of table "genesis" */ +export enum Genesis_Select_Column { + /** column name */ + ChainId = 'chain_id', + /** column name */ + InitialHeight = 'initial_height', + /** column name */ + Time = 'time' +} + +/** aggregate stddev on columns */ +export type Genesis_Stddev_Fields = { + __typename?: 'genesis_stddev_fields'; + initial_height?: Maybe; +}; + +/** aggregate stddev_pop on columns */ +export type Genesis_Stddev_Pop_Fields = { + __typename?: 'genesis_stddev_pop_fields'; + initial_height?: Maybe; +}; + +/** aggregate stddev_samp on columns */ +export type Genesis_Stddev_Samp_Fields = { + __typename?: 'genesis_stddev_samp_fields'; + initial_height?: Maybe; +}; + +/** aggregate sum on columns */ +export type Genesis_Sum_Fields = { + __typename?: 'genesis_sum_fields'; + initial_height?: Maybe; +}; + +/** aggregate var_pop on columns */ +export type Genesis_Var_Pop_Fields = { + __typename?: 'genesis_var_pop_fields'; + initial_height?: Maybe; +}; + +/** aggregate var_samp on columns */ +export type Genesis_Var_Samp_Fields = { + __typename?: 'genesis_var_samp_fields'; + initial_height?: Maybe; +}; + +/** aggregate variance on columns */ +export type Genesis_Variance_Fields = { + __typename?: 'genesis_variance_fields'; + initial_height?: Maybe; +}; + +/** columns and relationships of "gov_params" */ +export type Gov_Params = { + __typename?: 'gov_params'; + deposit_params: Scalars['jsonb']; + height: Scalars['bigint']; + one_row_id: Scalars['Boolean']; + tally_params: Scalars['jsonb']; + voting_params: Scalars['jsonb']; +}; + + +/** columns and relationships of "gov_params" */ +export type Gov_ParamsDeposit_ParamsArgs = { + path?: InputMaybe; +}; + + +/** columns and relationships of "gov_params" */ +export type Gov_ParamsTally_ParamsArgs = { + path?: InputMaybe; +}; + + +/** columns and relationships of "gov_params" */ +export type Gov_ParamsVoting_ParamsArgs = { + path?: InputMaybe; +}; + +/** aggregated selection of "gov_params" */ +export type Gov_Params_Aggregate = { + __typename?: 'gov_params_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +/** aggregate fields of "gov_params" */ +export type Gov_Params_Aggregate_Fields = { + __typename?: 'gov_params_aggregate_fields'; + avg?: Maybe; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; + stddev?: Maybe; + stddev_pop?: Maybe; + stddev_samp?: Maybe; + sum?: Maybe; + var_pop?: Maybe; + var_samp?: Maybe; + variance?: Maybe; +}; + + +/** aggregate fields of "gov_params" */ +export type Gov_Params_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** aggregate avg on columns */ +export type Gov_Params_Avg_Fields = { + __typename?: 'gov_params_avg_fields'; + height?: Maybe; +}; + +/** Boolean expression to filter rows from the table "gov_params". All fields are combined with a logical 'AND'. */ +export type Gov_Params_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + deposit_params?: InputMaybe; + height?: InputMaybe; + one_row_id?: InputMaybe; + tally_params?: InputMaybe; + voting_params?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Gov_Params_Max_Fields = { + __typename?: 'gov_params_max_fields'; + height?: Maybe; +}; + +/** aggregate min on columns */ +export type Gov_Params_Min_Fields = { + __typename?: 'gov_params_min_fields'; + height?: Maybe; +}; + +/** Ordering options when selecting data from "gov_params". */ +export type Gov_Params_Order_By = { + deposit_params?: InputMaybe; + height?: InputMaybe; + one_row_id?: InputMaybe; + tally_params?: InputMaybe; + voting_params?: InputMaybe; +}; + +/** select columns of table "gov_params" */ +export enum Gov_Params_Select_Column { + /** column name */ + DepositParams = 'deposit_params', + /** column name */ + Height = 'height', + /** column name */ + OneRowId = 'one_row_id', + /** column name */ + TallyParams = 'tally_params', + /** column name */ + VotingParams = 'voting_params' +} + +/** aggregate stddev on columns */ +export type Gov_Params_Stddev_Fields = { + __typename?: 'gov_params_stddev_fields'; + height?: Maybe; +}; + +/** aggregate stddev_pop on columns */ +export type Gov_Params_Stddev_Pop_Fields = { + __typename?: 'gov_params_stddev_pop_fields'; + height?: Maybe; +}; + +/** aggregate stddev_samp on columns */ +export type Gov_Params_Stddev_Samp_Fields = { + __typename?: 'gov_params_stddev_samp_fields'; + height?: Maybe; +}; + +/** aggregate sum on columns */ +export type Gov_Params_Sum_Fields = { + __typename?: 'gov_params_sum_fields'; + height?: Maybe; +}; + +/** aggregate var_pop on columns */ +export type Gov_Params_Var_Pop_Fields = { + __typename?: 'gov_params_var_pop_fields'; + height?: Maybe; +}; + +/** aggregate var_samp on columns */ +export type Gov_Params_Var_Samp_Fields = { + __typename?: 'gov_params_var_samp_fields'; + height?: Maybe; +}; + +/** aggregate variance on columns */ +export type Gov_Params_Variance_Fields = { + __typename?: 'gov_params_variance_fields'; + height?: Maybe; +}; + +/** columns and relationships of "inflation" */ +export type Inflation = { + __typename?: 'inflation'; + height: Scalars['bigint']; + value: Scalars['numeric']; +}; + +/** aggregated selection of "inflation" */ +export type Inflation_Aggregate = { + __typename?: 'inflation_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +/** aggregate fields of "inflation" */ +export type Inflation_Aggregate_Fields = { + __typename?: 'inflation_aggregate_fields'; + avg?: Maybe; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; + stddev?: Maybe; + stddev_pop?: Maybe; + stddev_samp?: Maybe; + sum?: Maybe; + var_pop?: Maybe; + var_samp?: Maybe; + variance?: Maybe; +}; + + +/** aggregate fields of "inflation" */ +export type Inflation_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** aggregate avg on columns */ +export type Inflation_Avg_Fields = { + __typename?: 'inflation_avg_fields'; + height?: Maybe; + value?: Maybe; +}; + +/** Boolean expression to filter rows from the table "inflation". All fields are combined with a logical 'AND'. */ +export type Inflation_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + height?: InputMaybe; + value?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Inflation_Max_Fields = { + __typename?: 'inflation_max_fields'; + height?: Maybe; + value?: Maybe; +}; + +/** aggregate min on columns */ +export type Inflation_Min_Fields = { + __typename?: 'inflation_min_fields'; + height?: Maybe; + value?: Maybe; +}; + +/** Ordering options when selecting data from "inflation". */ +export type Inflation_Order_By = { + height?: InputMaybe; + value?: InputMaybe; +}; + +/** select columns of table "inflation" */ +export enum Inflation_Select_Column { + /** column name */ + Height = 'height', + /** column name */ + Value = 'value' +} + +/** aggregate stddev on columns */ +export type Inflation_Stddev_Fields = { + __typename?: 'inflation_stddev_fields'; + height?: Maybe; + value?: Maybe; +}; + +/** aggregate stddev_pop on columns */ +export type Inflation_Stddev_Pop_Fields = { + __typename?: 'inflation_stddev_pop_fields'; + height?: Maybe; + value?: Maybe; +}; + +/** aggregate stddev_samp on columns */ +export type Inflation_Stddev_Samp_Fields = { + __typename?: 'inflation_stddev_samp_fields'; + height?: Maybe; + value?: Maybe; +}; + +/** aggregate sum on columns */ +export type Inflation_Sum_Fields = { + __typename?: 'inflation_sum_fields'; + height?: Maybe; + value?: Maybe; +}; + +/** aggregate var_pop on columns */ +export type Inflation_Var_Pop_Fields = { + __typename?: 'inflation_var_pop_fields'; + height?: Maybe; + value?: Maybe; +}; + +/** aggregate var_samp on columns */ +export type Inflation_Var_Samp_Fields = { + __typename?: 'inflation_var_samp_fields'; + height?: Maybe; + value?: Maybe; +}; + +/** aggregate variance on columns */ +export type Inflation_Variance_Fields = { + __typename?: 'inflation_variance_fields'; + height?: Maybe; + value?: Maybe; +}; + +/** Boolean expression to compare columns of type "jsonb". All fields are combined with logical 'AND'. */ +export type Jsonb_Comparison_Exp = { + /** is the column contained in the given json value */ + _contained_in?: InputMaybe; + /** does the column contain the given json value at the top level */ + _contains?: InputMaybe; + _eq?: InputMaybe; + _gt?: InputMaybe; + _gte?: InputMaybe; + /** does the string exist as a top-level key in the column */ + _has_key?: InputMaybe; + /** do all of these strings exist as top-level keys in the column */ + _has_keys_all?: InputMaybe>; + /** do any of these strings exist as top-level keys in the column */ + _has_keys_any?: InputMaybe>; + _in?: InputMaybe>; + _is_null?: InputMaybe; + _lt?: InputMaybe; + _lte?: InputMaybe; + _neq?: InputMaybe; + _nin?: InputMaybe>; +}; + +/** columns and relationships of "message" */ +export type Message = { + __typename?: 'message'; + height: Scalars['bigint']; + index: Scalars['bigint']; + involved_accounts_addresses: Scalars['_text']; + partition_id: Scalars['bigint']; + /** An object relationship */ + transaction?: Maybe; + /** An object relationship */ + transactionByPartitionIdTransactionHash?: Maybe; + transaction_hash: Scalars['String']; + type: Scalars['String']; + value: Scalars['jsonb']; +}; + + +/** columns and relationships of "message" */ +export type MessageValueArgs = { + path?: InputMaybe; +}; + +/** aggregated selection of "message" */ +export type Message_Aggregate = { + __typename?: 'message_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +/** aggregate fields of "message" */ +export type Message_Aggregate_Fields = { + __typename?: 'message_aggregate_fields'; + avg?: Maybe; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; + stddev?: Maybe; + stddev_pop?: Maybe; + stddev_samp?: Maybe; + sum?: Maybe; + var_pop?: Maybe; + var_samp?: Maybe; + variance?: Maybe; +}; + + +/** aggregate fields of "message" */ +export type Message_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** order by aggregate values of table "message" */ +export type Message_Aggregate_Order_By = { + avg?: InputMaybe; + count?: InputMaybe; + max?: InputMaybe; + min?: InputMaybe; + stddev?: InputMaybe; + stddev_pop?: InputMaybe; + stddev_samp?: InputMaybe; + sum?: InputMaybe; + var_pop?: InputMaybe; + var_samp?: InputMaybe; + variance?: InputMaybe; +}; + +/** aggregate avg on columns */ +export type Message_Avg_Fields = { + __typename?: 'message_avg_fields'; + height?: Maybe; + index?: Maybe; + partition_id?: Maybe; +}; + +/** order by avg() on columns of table "message" */ +export type Message_Avg_Order_By = { + height?: InputMaybe; + index?: InputMaybe; + partition_id?: InputMaybe; +}; + +/** Boolean expression to filter rows from the table "message". All fields are combined with a logical 'AND'. */ +export type Message_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + height?: InputMaybe; + index?: InputMaybe; + involved_accounts_addresses?: InputMaybe<_Text_Comparison_Exp>; + partition_id?: InputMaybe; + transaction?: InputMaybe; + transactionByPartitionIdTransactionHash?: InputMaybe; + transaction_hash?: InputMaybe; + type?: InputMaybe; + value?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Message_Max_Fields = { + __typename?: 'message_max_fields'; + height?: Maybe; + index?: Maybe; + partition_id?: Maybe; + transaction_hash?: Maybe; + type?: Maybe; +}; + +/** order by max() on columns of table "message" */ +export type Message_Max_Order_By = { + height?: InputMaybe; + index?: InputMaybe; + partition_id?: InputMaybe; + transaction_hash?: InputMaybe; + type?: InputMaybe; +}; + +/** aggregate min on columns */ +export type Message_Min_Fields = { + __typename?: 'message_min_fields'; + height?: Maybe; + index?: Maybe; + partition_id?: Maybe; + transaction_hash?: Maybe; + type?: Maybe; +}; + +/** order by min() on columns of table "message" */ +export type Message_Min_Order_By = { + height?: InputMaybe; + index?: InputMaybe; + partition_id?: InputMaybe; + transaction_hash?: InputMaybe; + type?: InputMaybe; +}; + +/** Ordering options when selecting data from "message". */ +export type Message_Order_By = { + height?: InputMaybe; + index?: InputMaybe; + involved_accounts_addresses?: InputMaybe; + partition_id?: InputMaybe; + transaction?: InputMaybe; + transactionByPartitionIdTransactionHash?: InputMaybe; + transaction_hash?: InputMaybe; + type?: InputMaybe; + value?: InputMaybe; +}; + +/** select columns of table "message" */ +export enum Message_Select_Column { + /** column name */ + Height = 'height', + /** column name */ + Index = 'index', + /** column name */ + InvolvedAccountsAddresses = 'involved_accounts_addresses', + /** column name */ + PartitionId = 'partition_id', + /** column name */ + TransactionHash = 'transaction_hash', + /** column name */ + Type = 'type', + /** column name */ + Value = 'value' +} + +/** aggregate stddev on columns */ +export type Message_Stddev_Fields = { + __typename?: 'message_stddev_fields'; + height?: Maybe; + index?: Maybe; + partition_id?: Maybe; +}; + +/** order by stddev() on columns of table "message" */ +export type Message_Stddev_Order_By = { + height?: InputMaybe; + index?: InputMaybe; + partition_id?: InputMaybe; +}; + +/** aggregate stddev_pop on columns */ +export type Message_Stddev_Pop_Fields = { + __typename?: 'message_stddev_pop_fields'; + height?: Maybe; + index?: Maybe; + partition_id?: Maybe; +}; + +/** order by stddev_pop() on columns of table "message" */ +export type Message_Stddev_Pop_Order_By = { + height?: InputMaybe; + index?: InputMaybe; + partition_id?: InputMaybe; +}; + +/** aggregate stddev_samp on columns */ +export type Message_Stddev_Samp_Fields = { + __typename?: 'message_stddev_samp_fields'; + height?: Maybe; + index?: Maybe; + partition_id?: Maybe; +}; + +/** order by stddev_samp() on columns of table "message" */ +export type Message_Stddev_Samp_Order_By = { + height?: InputMaybe; + index?: InputMaybe; + partition_id?: InputMaybe; +}; + +/** aggregate sum on columns */ +export type Message_Sum_Fields = { + __typename?: 'message_sum_fields'; + height?: Maybe; + index?: Maybe; + partition_id?: Maybe; +}; + +/** order by sum() on columns of table "message" */ +export type Message_Sum_Order_By = { + height?: InputMaybe; + index?: InputMaybe; + partition_id?: InputMaybe; +}; + +/** aggregate var_pop on columns */ +export type Message_Var_Pop_Fields = { + __typename?: 'message_var_pop_fields'; + height?: Maybe; + index?: Maybe; + partition_id?: Maybe; +}; + +/** order by var_pop() on columns of table "message" */ +export type Message_Var_Pop_Order_By = { + height?: InputMaybe; + index?: InputMaybe; + partition_id?: InputMaybe; +}; + +/** aggregate var_samp on columns */ +export type Message_Var_Samp_Fields = { + __typename?: 'message_var_samp_fields'; + height?: Maybe; + index?: Maybe; + partition_id?: Maybe; +}; + +/** order by var_samp() on columns of table "message" */ +export type Message_Var_Samp_Order_By = { + height?: InputMaybe; + index?: InputMaybe; + partition_id?: InputMaybe; +}; + +/** aggregate variance on columns */ +export type Message_Variance_Fields = { + __typename?: 'message_variance_fields'; + height?: Maybe; + index?: Maybe; + partition_id?: Maybe; +}; + +/** order by variance() on columns of table "message" */ +export type Message_Variance_Order_By = { + height?: InputMaybe; + index?: InputMaybe; + partition_id?: InputMaybe; +}; + +export type Messages_By_Address_Args = { + addresses?: InputMaybe; + limit?: InputMaybe; + offset?: InputMaybe; + types?: InputMaybe; +}; + +/** columns and relationships of "mint_params" */ +export type Mint_Params = { + __typename?: 'mint_params'; + height: Scalars['bigint']; + one_row_id: Scalars['Boolean']; + params: Scalars['jsonb']; +}; + + +/** columns and relationships of "mint_params" */ +export type Mint_ParamsParamsArgs = { + path?: InputMaybe; +}; + +/** aggregated selection of "mint_params" */ +export type Mint_Params_Aggregate = { + __typename?: 'mint_params_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +/** aggregate fields of "mint_params" */ +export type Mint_Params_Aggregate_Fields = { + __typename?: 'mint_params_aggregate_fields'; + avg?: Maybe; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; + stddev?: Maybe; + stddev_pop?: Maybe; + stddev_samp?: Maybe; + sum?: Maybe; + var_pop?: Maybe; + var_samp?: Maybe; + variance?: Maybe; +}; + + +/** aggregate fields of "mint_params" */ +export type Mint_Params_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** aggregate avg on columns */ +export type Mint_Params_Avg_Fields = { + __typename?: 'mint_params_avg_fields'; + height?: Maybe; +}; + +/** Boolean expression to filter rows from the table "mint_params". All fields are combined with a logical 'AND'. */ +export type Mint_Params_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + height?: InputMaybe; + one_row_id?: InputMaybe; + params?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Mint_Params_Max_Fields = { + __typename?: 'mint_params_max_fields'; + height?: Maybe; +}; + +/** aggregate min on columns */ +export type Mint_Params_Min_Fields = { + __typename?: 'mint_params_min_fields'; + height?: Maybe; +}; + +/** Ordering options when selecting data from "mint_params". */ +export type Mint_Params_Order_By = { + height?: InputMaybe; + one_row_id?: InputMaybe; + params?: InputMaybe; +}; + +/** select columns of table "mint_params" */ +export enum Mint_Params_Select_Column { + /** column name */ + Height = 'height', + /** column name */ + OneRowId = 'one_row_id', + /** column name */ + Params = 'params' +} + +/** aggregate stddev on columns */ +export type Mint_Params_Stddev_Fields = { + __typename?: 'mint_params_stddev_fields'; + height?: Maybe; +}; + +/** aggregate stddev_pop on columns */ +export type Mint_Params_Stddev_Pop_Fields = { + __typename?: 'mint_params_stddev_pop_fields'; + height?: Maybe; +}; + +/** aggregate stddev_samp on columns */ +export type Mint_Params_Stddev_Samp_Fields = { + __typename?: 'mint_params_stddev_samp_fields'; + height?: Maybe; +}; + +/** aggregate sum on columns */ +export type Mint_Params_Sum_Fields = { + __typename?: 'mint_params_sum_fields'; + height?: Maybe; +}; + +/** aggregate var_pop on columns */ +export type Mint_Params_Var_Pop_Fields = { + __typename?: 'mint_params_var_pop_fields'; + height?: Maybe; +}; + +/** aggregate var_samp on columns */ +export type Mint_Params_Var_Samp_Fields = { + __typename?: 'mint_params_var_samp_fields'; + height?: Maybe; +}; + +/** aggregate variance on columns */ +export type Mint_Params_Variance_Fields = { + __typename?: 'mint_params_variance_fields'; + height?: Maybe; +}; + +/** columns and relationships of "modules" */ +export type Modules = { + __typename?: 'modules'; + module_name: Scalars['String']; +}; + +/** aggregated selection of "modules" */ +export type Modules_Aggregate = { + __typename?: 'modules_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +/** aggregate fields of "modules" */ +export type Modules_Aggregate_Fields = { + __typename?: 'modules_aggregate_fields'; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; +}; + + +/** aggregate fields of "modules" */ +export type Modules_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** Boolean expression to filter rows from the table "modules". All fields are combined with a logical 'AND'. */ +export type Modules_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + module_name?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Modules_Max_Fields = { + __typename?: 'modules_max_fields'; + module_name?: Maybe; +}; + +/** aggregate min on columns */ +export type Modules_Min_Fields = { + __typename?: 'modules_min_fields'; + module_name?: Maybe; +}; + +/** Ordering options when selecting data from "modules". */ +export type Modules_Order_By = { + module_name?: InputMaybe; +}; + +/** select columns of table "modules" */ +export enum Modules_Select_Column { + /** column name */ + ModuleName = 'module_name' +} + +/** Boolean expression to compare columns of type "numeric". All fields are combined with logical 'AND'. */ +export type Numeric_Comparison_Exp = { + _eq?: InputMaybe; + _gt?: InputMaybe; + _gte?: InputMaybe; + _in?: InputMaybe>; + _is_null?: InputMaybe; + _lt?: InputMaybe; + _lte?: InputMaybe; + _neq?: InputMaybe; + _nin?: InputMaybe>; +}; + +/** column ordering options */ +export enum Order_By { + /** in ascending order, nulls last */ + Asc = 'asc', + /** in ascending order, nulls first */ + AscNullsFirst = 'asc_nulls_first', + /** in ascending order, nulls last */ + AscNullsLast = 'asc_nulls_last', + /** in descending order, nulls first */ + Desc = 'desc', + /** in descending order, nulls first */ + DescNullsFirst = 'desc_nulls_first', + /** in descending order, nulls last */ + DescNullsLast = 'desc_nulls_last' +} + +/** columns and relationships of "pre_commit" */ +export type Pre_Commit = { + __typename?: 'pre_commit'; + height: Scalars['bigint']; + proposer_priority: Scalars['bigint']; + timestamp: Scalars['timestamp']; + /** An object relationship */ + validator: Validator; + validator_address: Scalars['String']; + voting_power: Scalars['bigint']; +}; + +/** aggregated selection of "pre_commit" */ +export type Pre_Commit_Aggregate = { + __typename?: 'pre_commit_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +/** aggregate fields of "pre_commit" */ +export type Pre_Commit_Aggregate_Fields = { + __typename?: 'pre_commit_aggregate_fields'; + avg?: Maybe; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; + stddev?: Maybe; + stddev_pop?: Maybe; + stddev_samp?: Maybe; + sum?: Maybe; + var_pop?: Maybe; + var_samp?: Maybe; + variance?: Maybe; +}; + + +/** aggregate fields of "pre_commit" */ +export type Pre_Commit_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** order by aggregate values of table "pre_commit" */ +export type Pre_Commit_Aggregate_Order_By = { + avg?: InputMaybe; + count?: InputMaybe; + max?: InputMaybe; + min?: InputMaybe; + stddev?: InputMaybe; + stddev_pop?: InputMaybe; + stddev_samp?: InputMaybe; + sum?: InputMaybe; + var_pop?: InputMaybe; + var_samp?: InputMaybe; + variance?: InputMaybe; +}; + +/** aggregate avg on columns */ +export type Pre_Commit_Avg_Fields = { + __typename?: 'pre_commit_avg_fields'; + height?: Maybe; + proposer_priority?: Maybe; + voting_power?: Maybe; +}; + +/** order by avg() on columns of table "pre_commit" */ +export type Pre_Commit_Avg_Order_By = { + height?: InputMaybe; + proposer_priority?: InputMaybe; + voting_power?: InputMaybe; +}; + +/** Boolean expression to filter rows from the table "pre_commit". All fields are combined with a logical 'AND'. */ +export type Pre_Commit_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + height?: InputMaybe; + proposer_priority?: InputMaybe; + timestamp?: InputMaybe; + validator?: InputMaybe; + validator_address?: InputMaybe; + voting_power?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Pre_Commit_Max_Fields = { + __typename?: 'pre_commit_max_fields'; + height?: Maybe; + proposer_priority?: Maybe; + timestamp?: Maybe; + validator_address?: Maybe; + voting_power?: Maybe; +}; + +/** order by max() on columns of table "pre_commit" */ +export type Pre_Commit_Max_Order_By = { + height?: InputMaybe; + proposer_priority?: InputMaybe; + timestamp?: InputMaybe; + validator_address?: InputMaybe; + voting_power?: InputMaybe; +}; + +/** aggregate min on columns */ +export type Pre_Commit_Min_Fields = { + __typename?: 'pre_commit_min_fields'; + height?: Maybe; + proposer_priority?: Maybe; + timestamp?: Maybe; + validator_address?: Maybe; + voting_power?: Maybe; +}; + +/** order by min() on columns of table "pre_commit" */ +export type Pre_Commit_Min_Order_By = { + height?: InputMaybe; + proposer_priority?: InputMaybe; + timestamp?: InputMaybe; + validator_address?: InputMaybe; + voting_power?: InputMaybe; +}; + +/** Ordering options when selecting data from "pre_commit". */ +export type Pre_Commit_Order_By = { + height?: InputMaybe; + proposer_priority?: InputMaybe; + timestamp?: InputMaybe; + validator?: InputMaybe; + validator_address?: InputMaybe; + voting_power?: InputMaybe; +}; + +/** select columns of table "pre_commit" */ +export enum Pre_Commit_Select_Column { + /** column name */ + Height = 'height', + /** column name */ + ProposerPriority = 'proposer_priority', + /** column name */ + Timestamp = 'timestamp', + /** column name */ + ValidatorAddress = 'validator_address', + /** column name */ + VotingPower = 'voting_power' +} + +/** aggregate stddev on columns */ +export type Pre_Commit_Stddev_Fields = { + __typename?: 'pre_commit_stddev_fields'; + height?: Maybe; + proposer_priority?: Maybe; + voting_power?: Maybe; +}; + +/** order by stddev() on columns of table "pre_commit" */ +export type Pre_Commit_Stddev_Order_By = { + height?: InputMaybe; + proposer_priority?: InputMaybe; + voting_power?: InputMaybe; +}; + +/** aggregate stddev_pop on columns */ +export type Pre_Commit_Stddev_Pop_Fields = { + __typename?: 'pre_commit_stddev_pop_fields'; + height?: Maybe; + proposer_priority?: Maybe; + voting_power?: Maybe; +}; + +/** order by stddev_pop() on columns of table "pre_commit" */ +export type Pre_Commit_Stddev_Pop_Order_By = { + height?: InputMaybe; + proposer_priority?: InputMaybe; + voting_power?: InputMaybe; +}; + +/** aggregate stddev_samp on columns */ +export type Pre_Commit_Stddev_Samp_Fields = { + __typename?: 'pre_commit_stddev_samp_fields'; + height?: Maybe; + proposer_priority?: Maybe; + voting_power?: Maybe; +}; + +/** order by stddev_samp() on columns of table "pre_commit" */ +export type Pre_Commit_Stddev_Samp_Order_By = { + height?: InputMaybe; + proposer_priority?: InputMaybe; + voting_power?: InputMaybe; +}; + +/** aggregate sum on columns */ +export type Pre_Commit_Sum_Fields = { + __typename?: 'pre_commit_sum_fields'; + height?: Maybe; + proposer_priority?: Maybe; + voting_power?: Maybe; +}; + +/** order by sum() on columns of table "pre_commit" */ +export type Pre_Commit_Sum_Order_By = { + height?: InputMaybe; + proposer_priority?: InputMaybe; + voting_power?: InputMaybe; +}; + +/** aggregate var_pop on columns */ +export type Pre_Commit_Var_Pop_Fields = { + __typename?: 'pre_commit_var_pop_fields'; + height?: Maybe; + proposer_priority?: Maybe; + voting_power?: Maybe; +}; + +/** order by var_pop() on columns of table "pre_commit" */ +export type Pre_Commit_Var_Pop_Order_By = { + height?: InputMaybe; + proposer_priority?: InputMaybe; + voting_power?: InputMaybe; +}; + +/** aggregate var_samp on columns */ +export type Pre_Commit_Var_Samp_Fields = { + __typename?: 'pre_commit_var_samp_fields'; + height?: Maybe; + proposer_priority?: Maybe; + voting_power?: Maybe; +}; + +/** order by var_samp() on columns of table "pre_commit" */ +export type Pre_Commit_Var_Samp_Order_By = { + height?: InputMaybe; + proposer_priority?: InputMaybe; + voting_power?: InputMaybe; +}; + +/** aggregate variance on columns */ +export type Pre_Commit_Variance_Fields = { + __typename?: 'pre_commit_variance_fields'; + height?: Maybe; + proposer_priority?: Maybe; + voting_power?: Maybe; +}; + +/** order by variance() on columns of table "pre_commit" */ +export type Pre_Commit_Variance_Order_By = { + height?: InputMaybe; + proposer_priority?: InputMaybe; + voting_power?: InputMaybe; +}; + +/** columns and relationships of "profiles_params" */ +export type Profiles_Params = { + __typename?: 'profiles_params'; + height: Scalars['bigint']; + one_row_id: Scalars['Boolean']; + params: Scalars['jsonb']; +}; + + +/** columns and relationships of "profiles_params" */ +export type Profiles_ParamsParamsArgs = { + path?: InputMaybe; +}; + +/** aggregated selection of "profiles_params" */ +export type Profiles_Params_Aggregate = { + __typename?: 'profiles_params_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +/** aggregate fields of "profiles_params" */ +export type Profiles_Params_Aggregate_Fields = { + __typename?: 'profiles_params_aggregate_fields'; + avg?: Maybe; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; + stddev?: Maybe; + stddev_pop?: Maybe; + stddev_samp?: Maybe; + sum?: Maybe; + var_pop?: Maybe; + var_samp?: Maybe; + variance?: Maybe; +}; + + +/** aggregate fields of "profiles_params" */ +export type Profiles_Params_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** aggregate avg on columns */ +export type Profiles_Params_Avg_Fields = { + __typename?: 'profiles_params_avg_fields'; + height?: Maybe; +}; + +/** Boolean expression to filter rows from the table "profiles_params". All fields are combined with a logical 'AND'. */ +export type Profiles_Params_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + height?: InputMaybe; + one_row_id?: InputMaybe; + params?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Profiles_Params_Max_Fields = { + __typename?: 'profiles_params_max_fields'; + height?: Maybe; +}; + +/** aggregate min on columns */ +export type Profiles_Params_Min_Fields = { + __typename?: 'profiles_params_min_fields'; + height?: Maybe; +}; + +/** Ordering options when selecting data from "profiles_params". */ +export type Profiles_Params_Order_By = { + height?: InputMaybe; + one_row_id?: InputMaybe; + params?: InputMaybe; +}; + +/** select columns of table "profiles_params" */ +export enum Profiles_Params_Select_Column { + /** column name */ + Height = 'height', + /** column name */ + OneRowId = 'one_row_id', + /** column name */ + Params = 'params' +} + +/** aggregate stddev on columns */ +export type Profiles_Params_Stddev_Fields = { + __typename?: 'profiles_params_stddev_fields'; + height?: Maybe; +}; + +/** aggregate stddev_pop on columns */ +export type Profiles_Params_Stddev_Pop_Fields = { + __typename?: 'profiles_params_stddev_pop_fields'; + height?: Maybe; +}; + +/** aggregate stddev_samp on columns */ +export type Profiles_Params_Stddev_Samp_Fields = { + __typename?: 'profiles_params_stddev_samp_fields'; + height?: Maybe; +}; + +/** aggregate sum on columns */ +export type Profiles_Params_Sum_Fields = { + __typename?: 'profiles_params_sum_fields'; + height?: Maybe; +}; + +/** aggregate var_pop on columns */ +export type Profiles_Params_Var_Pop_Fields = { + __typename?: 'profiles_params_var_pop_fields'; + height?: Maybe; +}; + +/** aggregate var_samp on columns */ +export type Profiles_Params_Var_Samp_Fields = { + __typename?: 'profiles_params_var_samp_fields'; + height?: Maybe; +}; + +/** aggregate variance on columns */ +export type Profiles_Params_Variance_Fields = { + __typename?: 'profiles_params_variance_fields'; + height?: Maybe; +}; + +/** columns and relationships of "proposal" */ +export type Proposal = { + __typename?: 'proposal'; + content: Scalars['jsonb']; + deposit_end_time?: Maybe; + description: Scalars['String']; + id: Scalars['Int']; + /** An array relationship */ + proposal_deposits: Array; + /** An aggregate relationship */ + proposal_deposits_aggregate: Proposal_Deposit_Aggregate; + proposal_route: Scalars['String']; + /** An object relationship */ + proposal_tally_result?: Maybe; + /** An array relationship */ + proposal_tally_results: Array; + /** An aggregate relationship */ + proposal_tally_results_aggregate: Proposal_Tally_Result_Aggregate; + proposal_type: Scalars['String']; + /** An array relationship */ + proposal_votes: Array; + /** An aggregate relationship */ + proposal_votes_aggregate: Proposal_Vote_Aggregate; + /** An object relationship */ + proposer: Account; + proposer_address: Scalars['String']; + /** An object relationship */ + staking_pool_snapshot?: Maybe; + status?: Maybe; + submit_time: Scalars['timestamp']; + title: Scalars['String']; + /** An array relationship */ + validator_status_snapshots: Array; + /** An aggregate relationship */ + validator_status_snapshots_aggregate: Proposal_Validator_Status_Snapshot_Aggregate; + voting_end_time?: Maybe; + voting_start_time?: Maybe; +}; + + +/** columns and relationships of "proposal" */ +export type ProposalContentArgs = { + path?: InputMaybe; +}; + + +/** columns and relationships of "proposal" */ +export type ProposalProposal_DepositsArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "proposal" */ +export type ProposalProposal_Deposits_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "proposal" */ +export type ProposalProposal_Tally_ResultsArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "proposal" */ +export type ProposalProposal_Tally_Results_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "proposal" */ +export type ProposalProposal_VotesArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "proposal" */ +export type ProposalProposal_Votes_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "proposal" */ +export type ProposalValidator_Status_SnapshotsArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "proposal" */ +export type ProposalValidator_Status_Snapshots_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + +/** aggregated selection of "proposal" */ +export type Proposal_Aggregate = { + __typename?: 'proposal_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +/** aggregate fields of "proposal" */ +export type Proposal_Aggregate_Fields = { + __typename?: 'proposal_aggregate_fields'; + avg?: Maybe; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; + stddev?: Maybe; + stddev_pop?: Maybe; + stddev_samp?: Maybe; + sum?: Maybe; + var_pop?: Maybe; + var_samp?: Maybe; + variance?: Maybe; +}; + + +/** aggregate fields of "proposal" */ +export type Proposal_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** order by aggregate values of table "proposal" */ +export type Proposal_Aggregate_Order_By = { + avg?: InputMaybe; + count?: InputMaybe; + max?: InputMaybe; + min?: InputMaybe; + stddev?: InputMaybe; + stddev_pop?: InputMaybe; + stddev_samp?: InputMaybe; + sum?: InputMaybe; + var_pop?: InputMaybe; + var_samp?: InputMaybe; + variance?: InputMaybe; +}; + +/** aggregate avg on columns */ +export type Proposal_Avg_Fields = { + __typename?: 'proposal_avg_fields'; + id?: Maybe; +}; + +/** order by avg() on columns of table "proposal" */ +export type Proposal_Avg_Order_By = { + id?: InputMaybe; +}; + +/** Boolean expression to filter rows from the table "proposal". All fields are combined with a logical 'AND'. */ +export type Proposal_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + content?: InputMaybe; + deposit_end_time?: InputMaybe; + description?: InputMaybe; + id?: InputMaybe; + proposal_deposits?: InputMaybe; + proposal_route?: InputMaybe; + proposal_tally_result?: InputMaybe; + proposal_tally_results?: InputMaybe; + proposal_type?: InputMaybe; + proposal_votes?: InputMaybe; + proposer?: InputMaybe; + proposer_address?: InputMaybe; + staking_pool_snapshot?: InputMaybe; + status?: InputMaybe; + submit_time?: InputMaybe; + title?: InputMaybe; + validator_status_snapshots?: InputMaybe; + voting_end_time?: InputMaybe; + voting_start_time?: InputMaybe; +}; + +/** columns and relationships of "proposal_deposit" */ +export type Proposal_Deposit = { + __typename?: 'proposal_deposit'; + amount?: Maybe; + /** An object relationship */ + block?: Maybe; + /** An object relationship */ + depositor?: Maybe; + depositor_address?: Maybe; + height?: Maybe; + /** An object relationship */ + proposal: Proposal; + proposal_id: Scalars['Int']; + timestamp?: Maybe; +}; + +/** aggregated selection of "proposal_deposit" */ +export type Proposal_Deposit_Aggregate = { + __typename?: 'proposal_deposit_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +/** aggregate fields of "proposal_deposit" */ +export type Proposal_Deposit_Aggregate_Fields = { + __typename?: 'proposal_deposit_aggregate_fields'; + avg?: Maybe; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; + stddev?: Maybe; + stddev_pop?: Maybe; + stddev_samp?: Maybe; + sum?: Maybe; + var_pop?: Maybe; + var_samp?: Maybe; + variance?: Maybe; +}; + + +/** aggregate fields of "proposal_deposit" */ +export type Proposal_Deposit_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** order by aggregate values of table "proposal_deposit" */ +export type Proposal_Deposit_Aggregate_Order_By = { + avg?: InputMaybe; + count?: InputMaybe; + max?: InputMaybe; + min?: InputMaybe; + stddev?: InputMaybe; + stddev_pop?: InputMaybe; + stddev_samp?: InputMaybe; + sum?: InputMaybe; + var_pop?: InputMaybe; + var_samp?: InputMaybe; + variance?: InputMaybe; +}; + +/** aggregate avg on columns */ +export type Proposal_Deposit_Avg_Fields = { + __typename?: 'proposal_deposit_avg_fields'; + height?: Maybe; + proposal_id?: Maybe; +}; + +/** order by avg() on columns of table "proposal_deposit" */ +export type Proposal_Deposit_Avg_Order_By = { + height?: InputMaybe; + proposal_id?: InputMaybe; +}; + +/** Boolean expression to filter rows from the table "proposal_deposit". All fields are combined with a logical 'AND'. */ +export type Proposal_Deposit_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + amount?: InputMaybe<_Coin_Comparison_Exp>; + block?: InputMaybe; + depositor?: InputMaybe; + depositor_address?: InputMaybe; + height?: InputMaybe; + proposal?: InputMaybe; + proposal_id?: InputMaybe; + timestamp?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Proposal_Deposit_Max_Fields = { + __typename?: 'proposal_deposit_max_fields'; + depositor_address?: Maybe; + height?: Maybe; + proposal_id?: Maybe; + timestamp?: Maybe; +}; + +/** order by max() on columns of table "proposal_deposit" */ +export type Proposal_Deposit_Max_Order_By = { + depositor_address?: InputMaybe; + height?: InputMaybe; + proposal_id?: InputMaybe; + timestamp?: InputMaybe; +}; + +/** aggregate min on columns */ +export type Proposal_Deposit_Min_Fields = { + __typename?: 'proposal_deposit_min_fields'; + depositor_address?: Maybe; + height?: Maybe; + proposal_id?: Maybe; + timestamp?: Maybe; +}; + +/** order by min() on columns of table "proposal_deposit" */ +export type Proposal_Deposit_Min_Order_By = { + depositor_address?: InputMaybe; + height?: InputMaybe; + proposal_id?: InputMaybe; + timestamp?: InputMaybe; +}; + +/** Ordering options when selecting data from "proposal_deposit". */ +export type Proposal_Deposit_Order_By = { + amount?: InputMaybe; + block?: InputMaybe; + depositor?: InputMaybe; + depositor_address?: InputMaybe; + height?: InputMaybe; + proposal?: InputMaybe; + proposal_id?: InputMaybe; + timestamp?: InputMaybe; +}; + +/** select columns of table "proposal_deposit" */ +export enum Proposal_Deposit_Select_Column { + /** column name */ + Amount = 'amount', + /** column name */ + DepositorAddress = 'depositor_address', + /** column name */ + Height = 'height', + /** column name */ + ProposalId = 'proposal_id', + /** column name */ + Timestamp = 'timestamp' +} + +/** aggregate stddev on columns */ +export type Proposal_Deposit_Stddev_Fields = { + __typename?: 'proposal_deposit_stddev_fields'; + height?: Maybe; + proposal_id?: Maybe; +}; + +/** order by stddev() on columns of table "proposal_deposit" */ +export type Proposal_Deposit_Stddev_Order_By = { + height?: InputMaybe; + proposal_id?: InputMaybe; +}; + +/** aggregate stddev_pop on columns */ +export type Proposal_Deposit_Stddev_Pop_Fields = { + __typename?: 'proposal_deposit_stddev_pop_fields'; + height?: Maybe; + proposal_id?: Maybe; +}; + +/** order by stddev_pop() on columns of table "proposal_deposit" */ +export type Proposal_Deposit_Stddev_Pop_Order_By = { + height?: InputMaybe; + proposal_id?: InputMaybe; +}; + +/** aggregate stddev_samp on columns */ +export type Proposal_Deposit_Stddev_Samp_Fields = { + __typename?: 'proposal_deposit_stddev_samp_fields'; + height?: Maybe; + proposal_id?: Maybe; +}; + +/** order by stddev_samp() on columns of table "proposal_deposit" */ +export type Proposal_Deposit_Stddev_Samp_Order_By = { + height?: InputMaybe; + proposal_id?: InputMaybe; +}; + +/** aggregate sum on columns */ +export type Proposal_Deposit_Sum_Fields = { + __typename?: 'proposal_deposit_sum_fields'; + height?: Maybe; + proposal_id?: Maybe; +}; + +/** order by sum() on columns of table "proposal_deposit" */ +export type Proposal_Deposit_Sum_Order_By = { + height?: InputMaybe; + proposal_id?: InputMaybe; +}; + +/** aggregate var_pop on columns */ +export type Proposal_Deposit_Var_Pop_Fields = { + __typename?: 'proposal_deposit_var_pop_fields'; + height?: Maybe; + proposal_id?: Maybe; +}; + +/** order by var_pop() on columns of table "proposal_deposit" */ +export type Proposal_Deposit_Var_Pop_Order_By = { + height?: InputMaybe; + proposal_id?: InputMaybe; +}; + +/** aggregate var_samp on columns */ +export type Proposal_Deposit_Var_Samp_Fields = { + __typename?: 'proposal_deposit_var_samp_fields'; + height?: Maybe; + proposal_id?: Maybe; +}; + +/** order by var_samp() on columns of table "proposal_deposit" */ +export type Proposal_Deposit_Var_Samp_Order_By = { + height?: InputMaybe; + proposal_id?: InputMaybe; +}; + +/** aggregate variance on columns */ +export type Proposal_Deposit_Variance_Fields = { + __typename?: 'proposal_deposit_variance_fields'; + height?: Maybe; + proposal_id?: Maybe; +}; + +/** order by variance() on columns of table "proposal_deposit" */ +export type Proposal_Deposit_Variance_Order_By = { + height?: InputMaybe; + proposal_id?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Proposal_Max_Fields = { + __typename?: 'proposal_max_fields'; + deposit_end_time?: Maybe; + description?: Maybe; + id?: Maybe; + proposal_route?: Maybe; + proposal_type?: Maybe; + proposer_address?: Maybe; + status?: Maybe; + submit_time?: Maybe; + title?: Maybe; + voting_end_time?: Maybe; + voting_start_time?: Maybe; +}; + +/** order by max() on columns of table "proposal" */ +export type Proposal_Max_Order_By = { + deposit_end_time?: InputMaybe; + description?: InputMaybe; + id?: InputMaybe; + proposal_route?: InputMaybe; + proposal_type?: InputMaybe; + proposer_address?: InputMaybe; + status?: InputMaybe; + submit_time?: InputMaybe; + title?: InputMaybe; + voting_end_time?: InputMaybe; + voting_start_time?: InputMaybe; +}; + +/** aggregate min on columns */ +export type Proposal_Min_Fields = { + __typename?: 'proposal_min_fields'; + deposit_end_time?: Maybe; + description?: Maybe; + id?: Maybe; + proposal_route?: Maybe; + proposal_type?: Maybe; + proposer_address?: Maybe; + status?: Maybe; + submit_time?: Maybe; + title?: Maybe; + voting_end_time?: Maybe; + voting_start_time?: Maybe; +}; + +/** order by min() on columns of table "proposal" */ +export type Proposal_Min_Order_By = { + deposit_end_time?: InputMaybe; + description?: InputMaybe; + id?: InputMaybe; + proposal_route?: InputMaybe; + proposal_type?: InputMaybe; + proposer_address?: InputMaybe; + status?: InputMaybe; + submit_time?: InputMaybe; + title?: InputMaybe; + voting_end_time?: InputMaybe; + voting_start_time?: InputMaybe; +}; + +/** Ordering options when selecting data from "proposal". */ +export type Proposal_Order_By = { + content?: InputMaybe; + deposit_end_time?: InputMaybe; + description?: InputMaybe; + id?: InputMaybe; + proposal_deposits_aggregate?: InputMaybe; + proposal_route?: InputMaybe; + proposal_tally_result?: InputMaybe; + proposal_tally_results_aggregate?: InputMaybe; + proposal_type?: InputMaybe; + proposal_votes_aggregate?: InputMaybe; + proposer?: InputMaybe; + proposer_address?: InputMaybe; + staking_pool_snapshot?: InputMaybe; + status?: InputMaybe; + submit_time?: InputMaybe; + title?: InputMaybe; + validator_status_snapshots_aggregate?: InputMaybe; + voting_end_time?: InputMaybe; + voting_start_time?: InputMaybe; +}; + +/** select columns of table "proposal" */ +export enum Proposal_Select_Column { + /** column name */ + Content = 'content', + /** column name */ + DepositEndTime = 'deposit_end_time', + /** column name */ + Description = 'description', + /** column name */ + Id = 'id', + /** column name */ + ProposalRoute = 'proposal_route', + /** column name */ + ProposalType = 'proposal_type', + /** column name */ + ProposerAddress = 'proposer_address', + /** column name */ + Status = 'status', + /** column name */ + SubmitTime = 'submit_time', + /** column name */ + Title = 'title', + /** column name */ + VotingEndTime = 'voting_end_time', + /** column name */ + VotingStartTime = 'voting_start_time' +} + +/** columns and relationships of "proposal_staking_pool_snapshot" */ +export type Proposal_Staking_Pool_Snapshot = { + __typename?: 'proposal_staking_pool_snapshot'; + bonded_tokens: Scalars['bigint']; + height: Scalars['bigint']; + not_bonded_tokens: Scalars['bigint']; + /** An object relationship */ + proposal: Proposal; + proposal_id: Scalars['Int']; +}; + +/** aggregated selection of "proposal_staking_pool_snapshot" */ +export type Proposal_Staking_Pool_Snapshot_Aggregate = { + __typename?: 'proposal_staking_pool_snapshot_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +/** aggregate fields of "proposal_staking_pool_snapshot" */ +export type Proposal_Staking_Pool_Snapshot_Aggregate_Fields = { + __typename?: 'proposal_staking_pool_snapshot_aggregate_fields'; + avg?: Maybe; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; + stddev?: Maybe; + stddev_pop?: Maybe; + stddev_samp?: Maybe; + sum?: Maybe; + var_pop?: Maybe; + var_samp?: Maybe; + variance?: Maybe; +}; + + +/** aggregate fields of "proposal_staking_pool_snapshot" */ +export type Proposal_Staking_Pool_Snapshot_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** aggregate avg on columns */ +export type Proposal_Staking_Pool_Snapshot_Avg_Fields = { + __typename?: 'proposal_staking_pool_snapshot_avg_fields'; + bonded_tokens?: Maybe; + height?: Maybe; + not_bonded_tokens?: Maybe; + proposal_id?: Maybe; +}; + +/** Boolean expression to filter rows from the table "proposal_staking_pool_snapshot". All fields are combined with a logical 'AND'. */ +export type Proposal_Staking_Pool_Snapshot_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + bonded_tokens?: InputMaybe; + height?: InputMaybe; + not_bonded_tokens?: InputMaybe; + proposal?: InputMaybe; + proposal_id?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Proposal_Staking_Pool_Snapshot_Max_Fields = { + __typename?: 'proposal_staking_pool_snapshot_max_fields'; + bonded_tokens?: Maybe; + height?: Maybe; + not_bonded_tokens?: Maybe; + proposal_id?: Maybe; +}; + +/** aggregate min on columns */ +export type Proposal_Staking_Pool_Snapshot_Min_Fields = { + __typename?: 'proposal_staking_pool_snapshot_min_fields'; + bonded_tokens?: Maybe; + height?: Maybe; + not_bonded_tokens?: Maybe; + proposal_id?: Maybe; +}; + +/** Ordering options when selecting data from "proposal_staking_pool_snapshot". */ +export type Proposal_Staking_Pool_Snapshot_Order_By = { + bonded_tokens?: InputMaybe; + height?: InputMaybe; + not_bonded_tokens?: InputMaybe; + proposal?: InputMaybe; + proposal_id?: InputMaybe; +}; + +/** select columns of table "proposal_staking_pool_snapshot" */ +export enum Proposal_Staking_Pool_Snapshot_Select_Column { + /** column name */ + BondedTokens = 'bonded_tokens', + /** column name */ + Height = 'height', + /** column name */ + NotBondedTokens = 'not_bonded_tokens', + /** column name */ + ProposalId = 'proposal_id' +} + +/** aggregate stddev on columns */ +export type Proposal_Staking_Pool_Snapshot_Stddev_Fields = { + __typename?: 'proposal_staking_pool_snapshot_stddev_fields'; + bonded_tokens?: Maybe; + height?: Maybe; + not_bonded_tokens?: Maybe; + proposal_id?: Maybe; +}; + +/** aggregate stddev_pop on columns */ +export type Proposal_Staking_Pool_Snapshot_Stddev_Pop_Fields = { + __typename?: 'proposal_staking_pool_snapshot_stddev_pop_fields'; + bonded_tokens?: Maybe; + height?: Maybe; + not_bonded_tokens?: Maybe; + proposal_id?: Maybe; +}; + +/** aggregate stddev_samp on columns */ +export type Proposal_Staking_Pool_Snapshot_Stddev_Samp_Fields = { + __typename?: 'proposal_staking_pool_snapshot_stddev_samp_fields'; + bonded_tokens?: Maybe; + height?: Maybe; + not_bonded_tokens?: Maybe; + proposal_id?: Maybe; +}; + +/** aggregate sum on columns */ +export type Proposal_Staking_Pool_Snapshot_Sum_Fields = { + __typename?: 'proposal_staking_pool_snapshot_sum_fields'; + bonded_tokens?: Maybe; + height?: Maybe; + not_bonded_tokens?: Maybe; + proposal_id?: Maybe; +}; + +/** aggregate var_pop on columns */ +export type Proposal_Staking_Pool_Snapshot_Var_Pop_Fields = { + __typename?: 'proposal_staking_pool_snapshot_var_pop_fields'; + bonded_tokens?: Maybe; + height?: Maybe; + not_bonded_tokens?: Maybe; + proposal_id?: Maybe; +}; + +/** aggregate var_samp on columns */ +export type Proposal_Staking_Pool_Snapshot_Var_Samp_Fields = { + __typename?: 'proposal_staking_pool_snapshot_var_samp_fields'; + bonded_tokens?: Maybe; + height?: Maybe; + not_bonded_tokens?: Maybe; + proposal_id?: Maybe; +}; + +/** aggregate variance on columns */ +export type Proposal_Staking_Pool_Snapshot_Variance_Fields = { + __typename?: 'proposal_staking_pool_snapshot_variance_fields'; + bonded_tokens?: Maybe; + height?: Maybe; + not_bonded_tokens?: Maybe; + proposal_id?: Maybe; +}; + +/** aggregate stddev on columns */ +export type Proposal_Stddev_Fields = { + __typename?: 'proposal_stddev_fields'; + id?: Maybe; +}; + +/** order by stddev() on columns of table "proposal" */ +export type Proposal_Stddev_Order_By = { + id?: InputMaybe; +}; + +/** aggregate stddev_pop on columns */ +export type Proposal_Stddev_Pop_Fields = { + __typename?: 'proposal_stddev_pop_fields'; + id?: Maybe; +}; + +/** order by stddev_pop() on columns of table "proposal" */ +export type Proposal_Stddev_Pop_Order_By = { + id?: InputMaybe; +}; + +/** aggregate stddev_samp on columns */ +export type Proposal_Stddev_Samp_Fields = { + __typename?: 'proposal_stddev_samp_fields'; + id?: Maybe; +}; + +/** order by stddev_samp() on columns of table "proposal" */ +export type Proposal_Stddev_Samp_Order_By = { + id?: InputMaybe; +}; + +/** aggregate sum on columns */ +export type Proposal_Sum_Fields = { + __typename?: 'proposal_sum_fields'; + id?: Maybe; +}; + +/** order by sum() on columns of table "proposal" */ +export type Proposal_Sum_Order_By = { + id?: InputMaybe; +}; + +/** columns and relationships of "proposal_tally_result" */ +export type Proposal_Tally_Result = { + __typename?: 'proposal_tally_result'; + abstain: Scalars['String']; + height: Scalars['bigint']; + no: Scalars['String']; + no_with_veto: Scalars['String']; + /** An object relationship */ + proposal: Proposal; + proposal_id: Scalars['Int']; + yes: Scalars['String']; +}; + +/** aggregated selection of "proposal_tally_result" */ +export type Proposal_Tally_Result_Aggregate = { + __typename?: 'proposal_tally_result_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +/** aggregate fields of "proposal_tally_result" */ +export type Proposal_Tally_Result_Aggregate_Fields = { + __typename?: 'proposal_tally_result_aggregate_fields'; + avg?: Maybe; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; + stddev?: Maybe; + stddev_pop?: Maybe; + stddev_samp?: Maybe; + sum?: Maybe; + var_pop?: Maybe; + var_samp?: Maybe; + variance?: Maybe; +}; + + +/** aggregate fields of "proposal_tally_result" */ +export type Proposal_Tally_Result_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** order by aggregate values of table "proposal_tally_result" */ +export type Proposal_Tally_Result_Aggregate_Order_By = { + avg?: InputMaybe; + count?: InputMaybe; + max?: InputMaybe; + min?: InputMaybe; + stddev?: InputMaybe; + stddev_pop?: InputMaybe; + stddev_samp?: InputMaybe; + sum?: InputMaybe; + var_pop?: InputMaybe; + var_samp?: InputMaybe; + variance?: InputMaybe; +}; + +/** aggregate avg on columns */ +export type Proposal_Tally_Result_Avg_Fields = { + __typename?: 'proposal_tally_result_avg_fields'; + height?: Maybe; + proposal_id?: Maybe; +}; + +/** order by avg() on columns of table "proposal_tally_result" */ +export type Proposal_Tally_Result_Avg_Order_By = { + height?: InputMaybe; + proposal_id?: InputMaybe; +}; + +/** Boolean expression to filter rows from the table "proposal_tally_result". All fields are combined with a logical 'AND'. */ +export type Proposal_Tally_Result_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + abstain?: InputMaybe; + height?: InputMaybe; + no?: InputMaybe; + no_with_veto?: InputMaybe; + proposal?: InputMaybe; + proposal_id?: InputMaybe; + yes?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Proposal_Tally_Result_Max_Fields = { + __typename?: 'proposal_tally_result_max_fields'; + abstain?: Maybe; + height?: Maybe; + no?: Maybe; + no_with_veto?: Maybe; + proposal_id?: Maybe; + yes?: Maybe; +}; + +/** order by max() on columns of table "proposal_tally_result" */ +export type Proposal_Tally_Result_Max_Order_By = { + abstain?: InputMaybe; + height?: InputMaybe; + no?: InputMaybe; + no_with_veto?: InputMaybe; + proposal_id?: InputMaybe; + yes?: InputMaybe; +}; + +/** aggregate min on columns */ +export type Proposal_Tally_Result_Min_Fields = { + __typename?: 'proposal_tally_result_min_fields'; + abstain?: Maybe; + height?: Maybe; + no?: Maybe; + no_with_veto?: Maybe; + proposal_id?: Maybe; + yes?: Maybe; +}; + +/** order by min() on columns of table "proposal_tally_result" */ +export type Proposal_Tally_Result_Min_Order_By = { + abstain?: InputMaybe; + height?: InputMaybe; + no?: InputMaybe; + no_with_veto?: InputMaybe; + proposal_id?: InputMaybe; + yes?: InputMaybe; +}; + +/** Ordering options when selecting data from "proposal_tally_result". */ +export type Proposal_Tally_Result_Order_By = { + abstain?: InputMaybe; + height?: InputMaybe; + no?: InputMaybe; + no_with_veto?: InputMaybe; + proposal?: InputMaybe; + proposal_id?: InputMaybe; + yes?: InputMaybe; +}; + +/** select columns of table "proposal_tally_result" */ +export enum Proposal_Tally_Result_Select_Column { + /** column name */ + Abstain = 'abstain', + /** column name */ + Height = 'height', + /** column name */ + No = 'no', + /** column name */ + NoWithVeto = 'no_with_veto', + /** column name */ + ProposalId = 'proposal_id', + /** column name */ + Yes = 'yes' +} + +/** aggregate stddev on columns */ +export type Proposal_Tally_Result_Stddev_Fields = { + __typename?: 'proposal_tally_result_stddev_fields'; + height?: Maybe; + proposal_id?: Maybe; +}; + +/** order by stddev() on columns of table "proposal_tally_result" */ +export type Proposal_Tally_Result_Stddev_Order_By = { + height?: InputMaybe; + proposal_id?: InputMaybe; +}; + +/** aggregate stddev_pop on columns */ +export type Proposal_Tally_Result_Stddev_Pop_Fields = { + __typename?: 'proposal_tally_result_stddev_pop_fields'; + height?: Maybe; + proposal_id?: Maybe; +}; + +/** order by stddev_pop() on columns of table "proposal_tally_result" */ +export type Proposal_Tally_Result_Stddev_Pop_Order_By = { + height?: InputMaybe; + proposal_id?: InputMaybe; +}; + +/** aggregate stddev_samp on columns */ +export type Proposal_Tally_Result_Stddev_Samp_Fields = { + __typename?: 'proposal_tally_result_stddev_samp_fields'; + height?: Maybe; + proposal_id?: Maybe; +}; + +/** order by stddev_samp() on columns of table "proposal_tally_result" */ +export type Proposal_Tally_Result_Stddev_Samp_Order_By = { + height?: InputMaybe; + proposal_id?: InputMaybe; +}; + +/** aggregate sum on columns */ +export type Proposal_Tally_Result_Sum_Fields = { + __typename?: 'proposal_tally_result_sum_fields'; + height?: Maybe; + proposal_id?: Maybe; +}; + +/** order by sum() on columns of table "proposal_tally_result" */ +export type Proposal_Tally_Result_Sum_Order_By = { + height?: InputMaybe; + proposal_id?: InputMaybe; +}; + +/** aggregate var_pop on columns */ +export type Proposal_Tally_Result_Var_Pop_Fields = { + __typename?: 'proposal_tally_result_var_pop_fields'; + height?: Maybe; + proposal_id?: Maybe; +}; + +/** order by var_pop() on columns of table "proposal_tally_result" */ +export type Proposal_Tally_Result_Var_Pop_Order_By = { + height?: InputMaybe; + proposal_id?: InputMaybe; +}; + +/** aggregate var_samp on columns */ +export type Proposal_Tally_Result_Var_Samp_Fields = { + __typename?: 'proposal_tally_result_var_samp_fields'; + height?: Maybe; + proposal_id?: Maybe; +}; + +/** order by var_samp() on columns of table "proposal_tally_result" */ +export type Proposal_Tally_Result_Var_Samp_Order_By = { + height?: InputMaybe; + proposal_id?: InputMaybe; +}; + +/** aggregate variance on columns */ +export type Proposal_Tally_Result_Variance_Fields = { + __typename?: 'proposal_tally_result_variance_fields'; + height?: Maybe; + proposal_id?: Maybe; +}; + +/** order by variance() on columns of table "proposal_tally_result" */ +export type Proposal_Tally_Result_Variance_Order_By = { + height?: InputMaybe; + proposal_id?: InputMaybe; +}; + +/** columns and relationships of "proposal_validator_status_snapshot" */ +export type Proposal_Validator_Status_Snapshot = { + __typename?: 'proposal_validator_status_snapshot'; + height: Scalars['bigint']; + id: Scalars['Int']; + jailed: Scalars['Boolean']; + /** An object relationship */ + proposal?: Maybe; + proposal_id?: Maybe; + status: Scalars['Int']; + /** An object relationship */ + validator: Validator; + validator_address: Scalars['String']; + voting_power: Scalars['bigint']; +}; + +/** aggregated selection of "proposal_validator_status_snapshot" */ +export type Proposal_Validator_Status_Snapshot_Aggregate = { + __typename?: 'proposal_validator_status_snapshot_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +/** aggregate fields of "proposal_validator_status_snapshot" */ +export type Proposal_Validator_Status_Snapshot_Aggregate_Fields = { + __typename?: 'proposal_validator_status_snapshot_aggregate_fields'; + avg?: Maybe; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; + stddev?: Maybe; + stddev_pop?: Maybe; + stddev_samp?: Maybe; + sum?: Maybe; + var_pop?: Maybe; + var_samp?: Maybe; + variance?: Maybe; +}; + + +/** aggregate fields of "proposal_validator_status_snapshot" */ +export type Proposal_Validator_Status_Snapshot_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** order by aggregate values of table "proposal_validator_status_snapshot" */ +export type Proposal_Validator_Status_Snapshot_Aggregate_Order_By = { + avg?: InputMaybe; + count?: InputMaybe; + max?: InputMaybe; + min?: InputMaybe; + stddev?: InputMaybe; + stddev_pop?: InputMaybe; + stddev_samp?: InputMaybe; + sum?: InputMaybe; + var_pop?: InputMaybe; + var_samp?: InputMaybe; + variance?: InputMaybe; +}; + +/** aggregate avg on columns */ +export type Proposal_Validator_Status_Snapshot_Avg_Fields = { + __typename?: 'proposal_validator_status_snapshot_avg_fields'; + height?: Maybe; + id?: Maybe; + proposal_id?: Maybe; + status?: Maybe; + voting_power?: Maybe; +}; + +/** order by avg() on columns of table "proposal_validator_status_snapshot" */ +export type Proposal_Validator_Status_Snapshot_Avg_Order_By = { + height?: InputMaybe; + id?: InputMaybe; + proposal_id?: InputMaybe; + status?: InputMaybe; + voting_power?: InputMaybe; +}; + +/** Boolean expression to filter rows from the table "proposal_validator_status_snapshot". All fields are combined with a logical 'AND'. */ +export type Proposal_Validator_Status_Snapshot_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + height?: InputMaybe; + id?: InputMaybe; + jailed?: InputMaybe; + proposal?: InputMaybe; + proposal_id?: InputMaybe; + status?: InputMaybe; + validator?: InputMaybe; + validator_address?: InputMaybe; + voting_power?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Proposal_Validator_Status_Snapshot_Max_Fields = { + __typename?: 'proposal_validator_status_snapshot_max_fields'; + height?: Maybe; + id?: Maybe; + proposal_id?: Maybe; + status?: Maybe; + validator_address?: Maybe; + voting_power?: Maybe; +}; + +/** order by max() on columns of table "proposal_validator_status_snapshot" */ +export type Proposal_Validator_Status_Snapshot_Max_Order_By = { + height?: InputMaybe; + id?: InputMaybe; + proposal_id?: InputMaybe; + status?: InputMaybe; + validator_address?: InputMaybe; + voting_power?: InputMaybe; +}; + +/** aggregate min on columns */ +export type Proposal_Validator_Status_Snapshot_Min_Fields = { + __typename?: 'proposal_validator_status_snapshot_min_fields'; + height?: Maybe; + id?: Maybe; + proposal_id?: Maybe; + status?: Maybe; + validator_address?: Maybe; + voting_power?: Maybe; +}; + +/** order by min() on columns of table "proposal_validator_status_snapshot" */ +export type Proposal_Validator_Status_Snapshot_Min_Order_By = { + height?: InputMaybe; + id?: InputMaybe; + proposal_id?: InputMaybe; + status?: InputMaybe; + validator_address?: InputMaybe; + voting_power?: InputMaybe; +}; + +/** Ordering options when selecting data from "proposal_validator_status_snapshot". */ +export type Proposal_Validator_Status_Snapshot_Order_By = { + height?: InputMaybe; + id?: InputMaybe; + jailed?: InputMaybe; + proposal?: InputMaybe; + proposal_id?: InputMaybe; + status?: InputMaybe; + validator?: InputMaybe; + validator_address?: InputMaybe; + voting_power?: InputMaybe; +}; + +/** select columns of table "proposal_validator_status_snapshot" */ +export enum Proposal_Validator_Status_Snapshot_Select_Column { + /** column name */ + Height = 'height', + /** column name */ + Id = 'id', + /** column name */ + Jailed = 'jailed', + /** column name */ + ProposalId = 'proposal_id', + /** column name */ + Status = 'status', + /** column name */ + ValidatorAddress = 'validator_address', + /** column name */ + VotingPower = 'voting_power' +} + +/** aggregate stddev on columns */ +export type Proposal_Validator_Status_Snapshot_Stddev_Fields = { + __typename?: 'proposal_validator_status_snapshot_stddev_fields'; + height?: Maybe; + id?: Maybe; + proposal_id?: Maybe; + status?: Maybe; + voting_power?: Maybe; +}; + +/** order by stddev() on columns of table "proposal_validator_status_snapshot" */ +export type Proposal_Validator_Status_Snapshot_Stddev_Order_By = { + height?: InputMaybe; + id?: InputMaybe; + proposal_id?: InputMaybe; + status?: InputMaybe; + voting_power?: InputMaybe; +}; + +/** aggregate stddev_pop on columns */ +export type Proposal_Validator_Status_Snapshot_Stddev_Pop_Fields = { + __typename?: 'proposal_validator_status_snapshot_stddev_pop_fields'; + height?: Maybe; + id?: Maybe; + proposal_id?: Maybe; + status?: Maybe; + voting_power?: Maybe; +}; + +/** order by stddev_pop() on columns of table "proposal_validator_status_snapshot" */ +export type Proposal_Validator_Status_Snapshot_Stddev_Pop_Order_By = { + height?: InputMaybe; + id?: InputMaybe; + proposal_id?: InputMaybe; + status?: InputMaybe; + voting_power?: InputMaybe; +}; + +/** aggregate stddev_samp on columns */ +export type Proposal_Validator_Status_Snapshot_Stddev_Samp_Fields = { + __typename?: 'proposal_validator_status_snapshot_stddev_samp_fields'; + height?: Maybe; + id?: Maybe; + proposal_id?: Maybe; + status?: Maybe; + voting_power?: Maybe; +}; + +/** order by stddev_samp() on columns of table "proposal_validator_status_snapshot" */ +export type Proposal_Validator_Status_Snapshot_Stddev_Samp_Order_By = { + height?: InputMaybe; + id?: InputMaybe; + proposal_id?: InputMaybe; + status?: InputMaybe; + voting_power?: InputMaybe; +}; + +/** aggregate sum on columns */ +export type Proposal_Validator_Status_Snapshot_Sum_Fields = { + __typename?: 'proposal_validator_status_snapshot_sum_fields'; + height?: Maybe; + id?: Maybe; + proposal_id?: Maybe; + status?: Maybe; + voting_power?: Maybe; +}; + +/** order by sum() on columns of table "proposal_validator_status_snapshot" */ +export type Proposal_Validator_Status_Snapshot_Sum_Order_By = { + height?: InputMaybe; + id?: InputMaybe; + proposal_id?: InputMaybe; + status?: InputMaybe; + voting_power?: InputMaybe; +}; + +/** aggregate var_pop on columns */ +export type Proposal_Validator_Status_Snapshot_Var_Pop_Fields = { + __typename?: 'proposal_validator_status_snapshot_var_pop_fields'; + height?: Maybe; + id?: Maybe; + proposal_id?: Maybe; + status?: Maybe; + voting_power?: Maybe; +}; + +/** order by var_pop() on columns of table "proposal_validator_status_snapshot" */ +export type Proposal_Validator_Status_Snapshot_Var_Pop_Order_By = { + height?: InputMaybe; + id?: InputMaybe; + proposal_id?: InputMaybe; + status?: InputMaybe; + voting_power?: InputMaybe; +}; + +/** aggregate var_samp on columns */ +export type Proposal_Validator_Status_Snapshot_Var_Samp_Fields = { + __typename?: 'proposal_validator_status_snapshot_var_samp_fields'; + height?: Maybe; + id?: Maybe; + proposal_id?: Maybe; + status?: Maybe; + voting_power?: Maybe; +}; + +/** order by var_samp() on columns of table "proposal_validator_status_snapshot" */ +export type Proposal_Validator_Status_Snapshot_Var_Samp_Order_By = { + height?: InputMaybe; + id?: InputMaybe; + proposal_id?: InputMaybe; + status?: InputMaybe; + voting_power?: InputMaybe; +}; + +/** aggregate variance on columns */ +export type Proposal_Validator_Status_Snapshot_Variance_Fields = { + __typename?: 'proposal_validator_status_snapshot_variance_fields'; + height?: Maybe; + id?: Maybe; + proposal_id?: Maybe; + status?: Maybe; + voting_power?: Maybe; +}; + +/** order by variance() on columns of table "proposal_validator_status_snapshot" */ +export type Proposal_Validator_Status_Snapshot_Variance_Order_By = { + height?: InputMaybe; + id?: InputMaybe; + proposal_id?: InputMaybe; + status?: InputMaybe; + voting_power?: InputMaybe; +}; + +/** aggregate var_pop on columns */ +export type Proposal_Var_Pop_Fields = { + __typename?: 'proposal_var_pop_fields'; + id?: Maybe; +}; + +/** order by var_pop() on columns of table "proposal" */ +export type Proposal_Var_Pop_Order_By = { + id?: InputMaybe; +}; + +/** aggregate var_samp on columns */ +export type Proposal_Var_Samp_Fields = { + __typename?: 'proposal_var_samp_fields'; + id?: Maybe; +}; + +/** order by var_samp() on columns of table "proposal" */ +export type Proposal_Var_Samp_Order_By = { + id?: InputMaybe; +}; + +/** aggregate variance on columns */ +export type Proposal_Variance_Fields = { + __typename?: 'proposal_variance_fields'; + id?: Maybe; +}; + +/** order by variance() on columns of table "proposal" */ +export type Proposal_Variance_Order_By = { + id?: InputMaybe; +}; + +/** columns and relationships of "proposal_vote" */ +export type Proposal_Vote = { + __typename?: 'proposal_vote'; + /** An object relationship */ + account: Account; + height: Scalars['bigint']; + option: Scalars['String']; + /** An object relationship */ + proposal: Proposal; + proposal_id: Scalars['Int']; + timestamp?: Maybe; + voter_address: Scalars['String']; +}; + +/** aggregated selection of "proposal_vote" */ +export type Proposal_Vote_Aggregate = { + __typename?: 'proposal_vote_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +/** aggregate fields of "proposal_vote" */ +export type Proposal_Vote_Aggregate_Fields = { + __typename?: 'proposal_vote_aggregate_fields'; + avg?: Maybe; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; + stddev?: Maybe; + stddev_pop?: Maybe; + stddev_samp?: Maybe; + sum?: Maybe; + var_pop?: Maybe; + var_samp?: Maybe; + variance?: Maybe; +}; + + +/** aggregate fields of "proposal_vote" */ +export type Proposal_Vote_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** order by aggregate values of table "proposal_vote" */ +export type Proposal_Vote_Aggregate_Order_By = { + avg?: InputMaybe; + count?: InputMaybe; + max?: InputMaybe; + min?: InputMaybe; + stddev?: InputMaybe; + stddev_pop?: InputMaybe; + stddev_samp?: InputMaybe; + sum?: InputMaybe; + var_pop?: InputMaybe; + var_samp?: InputMaybe; + variance?: InputMaybe; +}; + +/** aggregate avg on columns */ +export type Proposal_Vote_Avg_Fields = { + __typename?: 'proposal_vote_avg_fields'; + height?: Maybe; + proposal_id?: Maybe; +}; + +/** order by avg() on columns of table "proposal_vote" */ +export type Proposal_Vote_Avg_Order_By = { + height?: InputMaybe; + proposal_id?: InputMaybe; +}; + +/** Boolean expression to filter rows from the table "proposal_vote". All fields are combined with a logical 'AND'. */ +export type Proposal_Vote_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + account?: InputMaybe; + height?: InputMaybe; + option?: InputMaybe; + proposal?: InputMaybe; + proposal_id?: InputMaybe; + timestamp?: InputMaybe; + voter_address?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Proposal_Vote_Max_Fields = { + __typename?: 'proposal_vote_max_fields'; + height?: Maybe; + option?: Maybe; + proposal_id?: Maybe; + timestamp?: Maybe; + voter_address?: Maybe; +}; + +/** order by max() on columns of table "proposal_vote" */ +export type Proposal_Vote_Max_Order_By = { + height?: InputMaybe; + option?: InputMaybe; + proposal_id?: InputMaybe; + timestamp?: InputMaybe; + voter_address?: InputMaybe; +}; + +/** aggregate min on columns */ +export type Proposal_Vote_Min_Fields = { + __typename?: 'proposal_vote_min_fields'; + height?: Maybe; + option?: Maybe; + proposal_id?: Maybe; + timestamp?: Maybe; + voter_address?: Maybe; +}; + +/** order by min() on columns of table "proposal_vote" */ +export type Proposal_Vote_Min_Order_By = { + height?: InputMaybe; + option?: InputMaybe; + proposal_id?: InputMaybe; + timestamp?: InputMaybe; + voter_address?: InputMaybe; +}; + +/** Ordering options when selecting data from "proposal_vote". */ +export type Proposal_Vote_Order_By = { + account?: InputMaybe; + height?: InputMaybe; + option?: InputMaybe; + proposal?: InputMaybe; + proposal_id?: InputMaybe; + timestamp?: InputMaybe; + voter_address?: InputMaybe; +}; + +/** select columns of table "proposal_vote" */ +export enum Proposal_Vote_Select_Column { + /** column name */ + Height = 'height', + /** column name */ + Option = 'option', + /** column name */ + ProposalId = 'proposal_id', + /** column name */ + Timestamp = 'timestamp', + /** column name */ + VoterAddress = 'voter_address' +} + +/** aggregate stddev on columns */ +export type Proposal_Vote_Stddev_Fields = { + __typename?: 'proposal_vote_stddev_fields'; + height?: Maybe; + proposal_id?: Maybe; +}; + +/** order by stddev() on columns of table "proposal_vote" */ +export type Proposal_Vote_Stddev_Order_By = { + height?: InputMaybe; + proposal_id?: InputMaybe; +}; + +/** aggregate stddev_pop on columns */ +export type Proposal_Vote_Stddev_Pop_Fields = { + __typename?: 'proposal_vote_stddev_pop_fields'; + height?: Maybe; + proposal_id?: Maybe; +}; + +/** order by stddev_pop() on columns of table "proposal_vote" */ +export type Proposal_Vote_Stddev_Pop_Order_By = { + height?: InputMaybe; + proposal_id?: InputMaybe; +}; + +/** aggregate stddev_samp on columns */ +export type Proposal_Vote_Stddev_Samp_Fields = { + __typename?: 'proposal_vote_stddev_samp_fields'; + height?: Maybe; + proposal_id?: Maybe; +}; + +/** order by stddev_samp() on columns of table "proposal_vote" */ +export type Proposal_Vote_Stddev_Samp_Order_By = { + height?: InputMaybe; + proposal_id?: InputMaybe; +}; + +/** aggregate sum on columns */ +export type Proposal_Vote_Sum_Fields = { + __typename?: 'proposal_vote_sum_fields'; + height?: Maybe; + proposal_id?: Maybe; +}; + +/** order by sum() on columns of table "proposal_vote" */ +export type Proposal_Vote_Sum_Order_By = { + height?: InputMaybe; + proposal_id?: InputMaybe; +}; + +/** aggregate var_pop on columns */ +export type Proposal_Vote_Var_Pop_Fields = { + __typename?: 'proposal_vote_var_pop_fields'; + height?: Maybe; + proposal_id?: Maybe; +}; + +/** order by var_pop() on columns of table "proposal_vote" */ +export type Proposal_Vote_Var_Pop_Order_By = { + height?: InputMaybe; + proposal_id?: InputMaybe; +}; + +/** aggregate var_samp on columns */ +export type Proposal_Vote_Var_Samp_Fields = { + __typename?: 'proposal_vote_var_samp_fields'; + height?: Maybe; + proposal_id?: Maybe; +}; + +/** order by var_samp() on columns of table "proposal_vote" */ +export type Proposal_Vote_Var_Samp_Order_By = { + height?: InputMaybe; + proposal_id?: InputMaybe; +}; + +/** aggregate variance on columns */ +export type Proposal_Vote_Variance_Fields = { + __typename?: 'proposal_vote_variance_fields'; + height?: Maybe; + proposal_id?: Maybe; +}; + +/** order by variance() on columns of table "proposal_vote" */ +export type Proposal_Vote_Variance_Order_By = { + height?: InputMaybe; + proposal_id?: InputMaybe; +}; + +export type Query_Root = { + __typename?: 'query_root'; + /** fetch data from the table: "account" */ + account: Array; + /** fetch aggregated fields from the table: "account" */ + account_aggregate: Account_Aggregate; + /** fetch data from the table: "account" using primary key columns */ + account_by_pk?: Maybe; + action_account_balance?: Maybe; + action_delegation?: Maybe; + action_delegation_reward?: Maybe>>; + action_delegation_total?: Maybe; + action_delegator_withdraw_address: ActionAddress; + action_redelegation?: Maybe; + action_unbonding_delegation?: Maybe; + action_unbonding_delegation_total?: Maybe; + action_validator_commission_amount?: Maybe; + action_validator_delegations?: Maybe; + action_validator_redelegations_from?: Maybe; + action_validator_unbonding_delegations?: Maybe; + /** fetch data from the table: "average_block_time_from_genesis" */ + average_block_time_from_genesis: Array; + /** fetch aggregated fields from the table: "average_block_time_from_genesis" */ + average_block_time_from_genesis_aggregate: Average_Block_Time_From_Genesis_Aggregate; + /** fetch data from the table: "average_block_time_per_day" */ + average_block_time_per_day: Array; + /** fetch aggregated fields from the table: "average_block_time_per_day" */ + average_block_time_per_day_aggregate: Average_Block_Time_Per_Day_Aggregate; + /** fetch data from the table: "average_block_time_per_hour" */ + average_block_time_per_hour: Array; + /** fetch aggregated fields from the table: "average_block_time_per_hour" */ + average_block_time_per_hour_aggregate: Average_Block_Time_Per_Hour_Aggregate; + /** fetch data from the table: "average_block_time_per_minute" */ + average_block_time_per_minute: Array; + /** fetch aggregated fields from the table: "average_block_time_per_minute" */ + average_block_time_per_minute_aggregate: Average_Block_Time_Per_Minute_Aggregate; + /** fetch data from the table: "block" */ + block: Array; + /** fetch aggregated fields from the table: "block" */ + block_aggregate: Block_Aggregate; + /** fetch data from the table: "block" using primary key columns */ + block_by_pk?: Maybe; + /** fetch data from the table: "community_pool" */ + community_pool: Array; + /** fetch aggregated fields from the table: "community_pool" */ + community_pool_aggregate: Community_Pool_Aggregate; + /** fetch data from the table: "distribution_params" */ + distribution_params: Array; + /** fetch aggregated fields from the table: "distribution_params" */ + distribution_params_aggregate: Distribution_Params_Aggregate; + /** fetch data from the table: "distribution_params" using primary key columns */ + distribution_params_by_pk?: Maybe; + /** fetch data from the table: "double_sign_evidence" */ + double_sign_evidence: Array; + /** fetch aggregated fields from the table: "double_sign_evidence" */ + double_sign_evidence_aggregate: Double_Sign_Evidence_Aggregate; + /** fetch data from the table: "double_sign_vote" */ + double_sign_vote: Array; + /** fetch aggregated fields from the table: "double_sign_vote" */ + double_sign_vote_aggregate: Double_Sign_Vote_Aggregate; + /** fetch data from the table: "double_sign_vote" using primary key columns */ + double_sign_vote_by_pk?: Maybe; + /** fetch data from the table: "fee_grant_allowance" */ + fee_grant_allowance: Array; + /** fetch aggregated fields from the table: "fee_grant_allowance" */ + fee_grant_allowance_aggregate: Fee_Grant_Allowance_Aggregate; + /** fetch data from the table: "fee_grant_allowance" using primary key columns */ + fee_grant_allowance_by_pk?: Maybe; + /** fetch data from the table: "genesis" */ + genesis: Array; + /** fetch aggregated fields from the table: "genesis" */ + genesis_aggregate: Genesis_Aggregate; + /** fetch data from the table: "gov_params" */ + gov_params: Array; + /** fetch aggregated fields from the table: "gov_params" */ + gov_params_aggregate: Gov_Params_Aggregate; + /** fetch data from the table: "gov_params" using primary key columns */ + gov_params_by_pk?: Maybe; + /** fetch data from the table: "inflation" */ + inflation: Array; + /** fetch aggregated fields from the table: "inflation" */ + inflation_aggregate: Inflation_Aggregate; + /** fetch data from the table: "message" */ + message: Array; + /** fetch aggregated fields from the table: "message" */ + message_aggregate: Message_Aggregate; + /** execute function "messages_by_address" which returns "message" */ + messages_by_address: Array; + /** execute function "messages_by_address" and query aggregates on result of table type "message" */ + messages_by_address_aggregate: Message_Aggregate; + /** fetch data from the table: "mint_params" */ + mint_params: Array; + /** fetch aggregated fields from the table: "mint_params" */ + mint_params_aggregate: Mint_Params_Aggregate; + /** fetch data from the table: "mint_params" using primary key columns */ + mint_params_by_pk?: Maybe; + /** fetch data from the table: "modules" */ + modules: Array; + /** fetch aggregated fields from the table: "modules" */ + modules_aggregate: Modules_Aggregate; + /** fetch data from the table: "modules" using primary key columns */ + modules_by_pk?: Maybe; + /** fetch data from the table: "pre_commit" */ + pre_commit: Array; + /** fetch aggregated fields from the table: "pre_commit" */ + pre_commit_aggregate: Pre_Commit_Aggregate; + /** fetch data from the table: "profiles_params" */ + profiles_params: Array; + /** fetch aggregated fields from the table: "profiles_params" */ + profiles_params_aggregate: Profiles_Params_Aggregate; + /** fetch data from the table: "profiles_params" using primary key columns */ + profiles_params_by_pk?: Maybe; + /** fetch data from the table: "proposal" */ + proposal: Array; + /** fetch aggregated fields from the table: "proposal" */ + proposal_aggregate: Proposal_Aggregate; + /** fetch data from the table: "proposal" using primary key columns */ + proposal_by_pk?: Maybe; + /** fetch data from the table: "proposal_deposit" */ + proposal_deposit: Array; + /** fetch aggregated fields from the table: "proposal_deposit" */ + proposal_deposit_aggregate: Proposal_Deposit_Aggregate; + /** fetch data from the table: "proposal_staking_pool_snapshot" */ + proposal_staking_pool_snapshot: Array; + /** fetch aggregated fields from the table: "proposal_staking_pool_snapshot" */ + proposal_staking_pool_snapshot_aggregate: Proposal_Staking_Pool_Snapshot_Aggregate; + /** fetch data from the table: "proposal_staking_pool_snapshot" using primary key columns */ + proposal_staking_pool_snapshot_by_pk?: Maybe; + /** fetch data from the table: "proposal_tally_result" */ + proposal_tally_result: Array; + /** fetch aggregated fields from the table: "proposal_tally_result" */ + proposal_tally_result_aggregate: Proposal_Tally_Result_Aggregate; + /** fetch data from the table: "proposal_tally_result" using primary key columns */ + proposal_tally_result_by_pk?: Maybe; + /** fetch data from the table: "proposal_validator_status_snapshot" */ + proposal_validator_status_snapshot: Array; + /** fetch aggregated fields from the table: "proposal_validator_status_snapshot" */ + proposal_validator_status_snapshot_aggregate: Proposal_Validator_Status_Snapshot_Aggregate; + /** fetch data from the table: "proposal_validator_status_snapshot" using primary key columns */ + proposal_validator_status_snapshot_by_pk?: Maybe; + /** fetch data from the table: "proposal_vote" */ + proposal_vote: Array; + /** fetch aggregated fields from the table: "proposal_vote" */ + proposal_vote_aggregate: Proposal_Vote_Aggregate; + /** fetch data from the table: "slashing_params" */ + slashing_params: Array; + /** fetch aggregated fields from the table: "slashing_params" */ + slashing_params_aggregate: Slashing_Params_Aggregate; + /** fetch data from the table: "slashing_params" using primary key columns */ + slashing_params_by_pk?: Maybe; + /** fetch data from the table: "software_upgrade_plan" */ + software_upgrade_plan: Array; + /** fetch aggregated fields from the table: "software_upgrade_plan" */ + software_upgrade_plan_aggregate: Software_Upgrade_Plan_Aggregate; + /** fetch data from the table: "staking_params" */ + staking_params: Array; + /** fetch aggregated fields from the table: "staking_params" */ + staking_params_aggregate: Staking_Params_Aggregate; + /** fetch data from the table: "staking_params" using primary key columns */ + staking_params_by_pk?: Maybe; + /** fetch data from the table: "staking_pool" */ + staking_pool: Array; + /** fetch aggregated fields from the table: "staking_pool" */ + staking_pool_aggregate: Staking_Pool_Aggregate; + /** fetch data from the table: "supply" */ + supply: Array; + /** fetch aggregated fields from the table: "supply" */ + supply_aggregate: Supply_Aggregate; + /** fetch data from the table: "token" */ + token: Array; + /** fetch aggregated fields from the table: "token" */ + token_aggregate: Token_Aggregate; + /** fetch data from the table: "token_price" */ + token_price: Array; + /** fetch aggregated fields from the table: "token_price" */ + token_price_aggregate: Token_Price_Aggregate; + /** fetch data from the table: "token_price" using primary key columns */ + token_price_by_pk?: Maybe; + /** fetch data from the table: "token_price_history" */ + token_price_history: Array; + /** fetch aggregated fields from the table: "token_price_history" */ + token_price_history_aggregate: Token_Price_History_Aggregate; + /** fetch data from the table: "token_unit" */ + token_unit: Array; + /** fetch aggregated fields from the table: "token_unit" */ + token_unit_aggregate: Token_Unit_Aggregate; + /** fetch data from the table: "transaction" */ + transaction: Array; + /** fetch aggregated fields from the table: "transaction" */ + transaction_aggregate: Transaction_Aggregate; + /** fetch data from the table: "validator" */ + validator: Array; + /** fetch aggregated fields from the table: "validator" */ + validator_aggregate: Validator_Aggregate; + /** fetch data from the table: "validator" using primary key columns */ + validator_by_pk?: Maybe; + /** fetch data from the table: "validator_commission" */ + validator_commission: Array; + /** fetch aggregated fields from the table: "validator_commission" */ + validator_commission_aggregate: Validator_Commission_Aggregate; + /** fetch data from the table: "validator_commission" using primary key columns */ + validator_commission_by_pk?: Maybe; + /** fetch data from the table: "validator_description" */ + validator_description: Array; + /** fetch aggregated fields from the table: "validator_description" */ + validator_description_aggregate: Validator_Description_Aggregate; + /** fetch data from the table: "validator_description" using primary key columns */ + validator_description_by_pk?: Maybe; + /** fetch data from the table: "validator_info" */ + validator_info: Array; + /** fetch aggregated fields from the table: "validator_info" */ + validator_info_aggregate: Validator_Info_Aggregate; + /** fetch data from the table: "validator_info" using primary key columns */ + validator_info_by_pk?: Maybe; + /** fetch data from the table: "validator_signing_info" */ + validator_signing_info: Array; + /** fetch aggregated fields from the table: "validator_signing_info" */ + validator_signing_info_aggregate: Validator_Signing_Info_Aggregate; + /** fetch data from the table: "validator_signing_info" using primary key columns */ + validator_signing_info_by_pk?: Maybe; + /** fetch data from the table: "validator_status" */ + validator_status: Array; + /** fetch aggregated fields from the table: "validator_status" */ + validator_status_aggregate: Validator_Status_Aggregate; + /** fetch data from the table: "validator_status" using primary key columns */ + validator_status_by_pk?: Maybe; + /** fetch data from the table: "validator_voting_power" */ + validator_voting_power: Array; + /** fetch aggregated fields from the table: "validator_voting_power" */ + validator_voting_power_aggregate: Validator_Voting_Power_Aggregate; + /** fetch data from the table: "validator_voting_power" using primary key columns */ + validator_voting_power_by_pk?: Maybe; + /** fetch data from the table: "vesting_account" */ + vesting_account: Array; + /** fetch aggregated fields from the table: "vesting_account" */ + vesting_account_aggregate: Vesting_Account_Aggregate; + /** fetch data from the table: "vesting_account" using primary key columns */ + vesting_account_by_pk?: Maybe; + /** fetch data from the table: "vesting_period" */ + vesting_period: Array; + /** fetch aggregated fields from the table: "vesting_period" */ + vesting_period_aggregate: Vesting_Period_Aggregate; +}; + + +export type Query_RootAccountArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootAccount_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootAccount_By_PkArgs = { + address: Scalars['String']; +}; + + +export type Query_RootAction_Account_BalanceArgs = { + address: Scalars['String']; + height?: InputMaybe; +}; + + +export type Query_RootAction_DelegationArgs = { + address: Scalars['String']; + count_total?: InputMaybe; + height?: InputMaybe; + limit?: InputMaybe; + offset?: InputMaybe; +}; + + +export type Query_RootAction_Delegation_RewardArgs = { + address: Scalars['String']; + height?: InputMaybe; +}; + + +export type Query_RootAction_Delegation_TotalArgs = { + address: Scalars['String']; + height?: InputMaybe; +}; + + +export type Query_RootAction_Delegator_Withdraw_AddressArgs = { + address: Scalars['String']; +}; + + +export type Query_RootAction_RedelegationArgs = { + address: Scalars['String']; + count_total?: InputMaybe; + height?: InputMaybe; + limit?: InputMaybe; + offset?: InputMaybe; +}; + + +export type Query_RootAction_Unbonding_DelegationArgs = { + address: Scalars['String']; + count_total?: InputMaybe; + height?: InputMaybe; + limit?: InputMaybe; + offset?: InputMaybe; +}; + + +export type Query_RootAction_Unbonding_Delegation_TotalArgs = { + address: Scalars['String']; + height?: InputMaybe; +}; + + +export type Query_RootAction_Validator_Commission_AmountArgs = { + address: Scalars['String']; +}; + + +export type Query_RootAction_Validator_DelegationsArgs = { + address: Scalars['String']; + count_total?: InputMaybe; + limit?: InputMaybe; + offset?: InputMaybe; +}; + + +export type Query_RootAction_Validator_Redelegations_FromArgs = { + address: Scalars['String']; + count_total?: InputMaybe; + height?: InputMaybe; + limit?: InputMaybe; + offset?: InputMaybe; +}; + + +export type Query_RootAction_Validator_Unbonding_DelegationsArgs = { + address: Scalars['String']; + count_total?: InputMaybe; + limit?: InputMaybe; + offset?: InputMaybe; +}; + + +export type Query_RootAverage_Block_Time_From_GenesisArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootAverage_Block_Time_From_Genesis_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootAverage_Block_Time_Per_DayArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootAverage_Block_Time_Per_Day_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootAverage_Block_Time_Per_HourArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootAverage_Block_Time_Per_Hour_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootAverage_Block_Time_Per_MinuteArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootAverage_Block_Time_Per_Minute_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootBlockArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootBlock_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootBlock_By_PkArgs = { + height: Scalars['bigint']; +}; + + +export type Query_RootCommunity_PoolArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootCommunity_Pool_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootDistribution_ParamsArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootDistribution_Params_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootDistribution_Params_By_PkArgs = { + one_row_id: Scalars['Boolean']; +}; + + +export type Query_RootDouble_Sign_EvidenceArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootDouble_Sign_Evidence_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootDouble_Sign_VoteArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootDouble_Sign_Vote_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootDouble_Sign_Vote_By_PkArgs = { + id: Scalars['Int']; +}; + + +export type Query_RootFee_Grant_AllowanceArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootFee_Grant_Allowance_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootFee_Grant_Allowance_By_PkArgs = { + id: Scalars['Int']; +}; + + +export type Query_RootGenesisArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootGenesis_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootGov_ParamsArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootGov_Params_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootGov_Params_By_PkArgs = { + one_row_id: Scalars['Boolean']; +}; + + +export type Query_RootInflationArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootInflation_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootMessageArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootMessage_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootMessages_By_AddressArgs = { + args: Messages_By_Address_Args; + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootMessages_By_Address_AggregateArgs = { + args: Messages_By_Address_Args; + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootMint_ParamsArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootMint_Params_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootMint_Params_By_PkArgs = { + one_row_id: Scalars['Boolean']; +}; + + +export type Query_RootModulesArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootModules_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootModules_By_PkArgs = { + module_name: Scalars['String']; +}; + + +export type Query_RootPre_CommitArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootPre_Commit_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootProfiles_ParamsArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootProfiles_Params_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootProfiles_Params_By_PkArgs = { + one_row_id: Scalars['Boolean']; +}; + + +export type Query_RootProposalArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootProposal_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootProposal_By_PkArgs = { + id: Scalars['Int']; +}; + + +export type Query_RootProposal_DepositArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootProposal_Deposit_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootProposal_Staking_Pool_SnapshotArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootProposal_Staking_Pool_Snapshot_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootProposal_Staking_Pool_Snapshot_By_PkArgs = { + proposal_id: Scalars['Int']; +}; + + +export type Query_RootProposal_Tally_ResultArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootProposal_Tally_Result_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootProposal_Tally_Result_By_PkArgs = { + proposal_id: Scalars['Int']; +}; + + +export type Query_RootProposal_Validator_Status_SnapshotArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootProposal_Validator_Status_Snapshot_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootProposal_Validator_Status_Snapshot_By_PkArgs = { + id: Scalars['Int']; +}; + + +export type Query_RootProposal_VoteArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootProposal_Vote_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootSlashing_ParamsArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootSlashing_Params_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootSlashing_Params_By_PkArgs = { + one_row_id: Scalars['Boolean']; +}; + + +export type Query_RootSoftware_Upgrade_PlanArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootSoftware_Upgrade_Plan_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootStaking_ParamsArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootStaking_Params_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootStaking_Params_By_PkArgs = { + one_row_id: Scalars['Boolean']; +}; + + +export type Query_RootStaking_PoolArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootStaking_Pool_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootSupplyArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootSupply_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootTokenArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootToken_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootToken_PriceArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootToken_Price_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootToken_Price_By_PkArgs = { + id: Scalars['Int']; +}; + + +export type Query_RootToken_Price_HistoryArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootToken_Price_History_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootToken_UnitArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootToken_Unit_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootTransactionArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootTransaction_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootValidatorArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootValidator_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootValidator_By_PkArgs = { + consensus_address: Scalars['String']; +}; + + +export type Query_RootValidator_CommissionArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootValidator_Commission_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootValidator_Commission_By_PkArgs = { + validator_address: Scalars['String']; +}; + + +export type Query_RootValidator_DescriptionArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootValidator_Description_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootValidator_Description_By_PkArgs = { + validator_address: Scalars['String']; +}; + + +export type Query_RootValidator_InfoArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootValidator_Info_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootValidator_Info_By_PkArgs = { + consensus_address: Scalars['String']; +}; + + +export type Query_RootValidator_Signing_InfoArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootValidator_Signing_Info_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootValidator_Signing_Info_By_PkArgs = { + validator_address: Scalars['String']; +}; + + +export type Query_RootValidator_StatusArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootValidator_Status_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootValidator_Status_By_PkArgs = { + validator_address: Scalars['String']; +}; + + +export type Query_RootValidator_Voting_PowerArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootValidator_Voting_Power_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootValidator_Voting_Power_By_PkArgs = { + validator_address: Scalars['String']; +}; + + +export type Query_RootVesting_AccountArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootVesting_Account_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootVesting_Account_By_PkArgs = { + id: Scalars['Int']; +}; + + +export type Query_RootVesting_PeriodArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootVesting_Period_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + +/** columns and relationships of "slashing_params" */ +export type Slashing_Params = { + __typename?: 'slashing_params'; + height: Scalars['bigint']; + one_row_id: Scalars['Boolean']; + params: Scalars['jsonb']; +}; + + +/** columns and relationships of "slashing_params" */ +export type Slashing_ParamsParamsArgs = { + path?: InputMaybe; +}; + +/** aggregated selection of "slashing_params" */ +export type Slashing_Params_Aggregate = { + __typename?: 'slashing_params_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +/** aggregate fields of "slashing_params" */ +export type Slashing_Params_Aggregate_Fields = { + __typename?: 'slashing_params_aggregate_fields'; + avg?: Maybe; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; + stddev?: Maybe; + stddev_pop?: Maybe; + stddev_samp?: Maybe; + sum?: Maybe; + var_pop?: Maybe; + var_samp?: Maybe; + variance?: Maybe; +}; + + +/** aggregate fields of "slashing_params" */ +export type Slashing_Params_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** aggregate avg on columns */ +export type Slashing_Params_Avg_Fields = { + __typename?: 'slashing_params_avg_fields'; + height?: Maybe; +}; + +/** Boolean expression to filter rows from the table "slashing_params". All fields are combined with a logical 'AND'. */ +export type Slashing_Params_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + height?: InputMaybe; + one_row_id?: InputMaybe; + params?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Slashing_Params_Max_Fields = { + __typename?: 'slashing_params_max_fields'; + height?: Maybe; +}; + +/** aggregate min on columns */ +export type Slashing_Params_Min_Fields = { + __typename?: 'slashing_params_min_fields'; + height?: Maybe; +}; + +/** Ordering options when selecting data from "slashing_params". */ +export type Slashing_Params_Order_By = { + height?: InputMaybe; + one_row_id?: InputMaybe; + params?: InputMaybe; +}; + +/** select columns of table "slashing_params" */ +export enum Slashing_Params_Select_Column { + /** column name */ + Height = 'height', + /** column name */ + OneRowId = 'one_row_id', + /** column name */ + Params = 'params' +} + +/** aggregate stddev on columns */ +export type Slashing_Params_Stddev_Fields = { + __typename?: 'slashing_params_stddev_fields'; + height?: Maybe; +}; + +/** aggregate stddev_pop on columns */ +export type Slashing_Params_Stddev_Pop_Fields = { + __typename?: 'slashing_params_stddev_pop_fields'; + height?: Maybe; +}; + +/** aggregate stddev_samp on columns */ +export type Slashing_Params_Stddev_Samp_Fields = { + __typename?: 'slashing_params_stddev_samp_fields'; + height?: Maybe; +}; + +/** aggregate sum on columns */ +export type Slashing_Params_Sum_Fields = { + __typename?: 'slashing_params_sum_fields'; + height?: Maybe; +}; + +/** aggregate var_pop on columns */ +export type Slashing_Params_Var_Pop_Fields = { + __typename?: 'slashing_params_var_pop_fields'; + height?: Maybe; +}; + +/** aggregate var_samp on columns */ +export type Slashing_Params_Var_Samp_Fields = { + __typename?: 'slashing_params_var_samp_fields'; + height?: Maybe; +}; + +/** aggregate variance on columns */ +export type Slashing_Params_Variance_Fields = { + __typename?: 'slashing_params_variance_fields'; + height?: Maybe; +}; + +/** Boolean expression to compare columns of type "smallint". All fields are combined with logical 'AND'. */ +export type Smallint_Comparison_Exp = { + _eq?: InputMaybe; + _gt?: InputMaybe; + _gte?: InputMaybe; + _in?: InputMaybe>; + _is_null?: InputMaybe; + _lt?: InputMaybe; + _lte?: InputMaybe; + _neq?: InputMaybe; + _nin?: InputMaybe>; +}; + +/** columns and relationships of "software_upgrade_plan" */ +export type Software_Upgrade_Plan = { + __typename?: 'software_upgrade_plan'; + height: Scalars['bigint']; + info: Scalars['String']; + plan_name: Scalars['String']; + /** An object relationship */ + proposal?: Maybe; + proposal_id?: Maybe; + upgrade_height: Scalars['bigint']; +}; + +/** aggregated selection of "software_upgrade_plan" */ +export type Software_Upgrade_Plan_Aggregate = { + __typename?: 'software_upgrade_plan_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +/** aggregate fields of "software_upgrade_plan" */ +export type Software_Upgrade_Plan_Aggregate_Fields = { + __typename?: 'software_upgrade_plan_aggregate_fields'; + avg?: Maybe; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; + stddev?: Maybe; + stddev_pop?: Maybe; + stddev_samp?: Maybe; + sum?: Maybe; + var_pop?: Maybe; + var_samp?: Maybe; + variance?: Maybe; +}; + + +/** aggregate fields of "software_upgrade_plan" */ +export type Software_Upgrade_Plan_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** aggregate avg on columns */ +export type Software_Upgrade_Plan_Avg_Fields = { + __typename?: 'software_upgrade_plan_avg_fields'; + height?: Maybe; + proposal_id?: Maybe; + upgrade_height?: Maybe; +}; + +/** Boolean expression to filter rows from the table "software_upgrade_plan". All fields are combined with a logical 'AND'. */ +export type Software_Upgrade_Plan_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + height?: InputMaybe; + info?: InputMaybe; + plan_name?: InputMaybe; + proposal?: InputMaybe; + proposal_id?: InputMaybe; + upgrade_height?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Software_Upgrade_Plan_Max_Fields = { + __typename?: 'software_upgrade_plan_max_fields'; + height?: Maybe; + info?: Maybe; + plan_name?: Maybe; + proposal_id?: Maybe; + upgrade_height?: Maybe; +}; + +/** aggregate min on columns */ +export type Software_Upgrade_Plan_Min_Fields = { + __typename?: 'software_upgrade_plan_min_fields'; + height?: Maybe; + info?: Maybe; + plan_name?: Maybe; + proposal_id?: Maybe; + upgrade_height?: Maybe; +}; + +/** Ordering options when selecting data from "software_upgrade_plan". */ +export type Software_Upgrade_Plan_Order_By = { + height?: InputMaybe; + info?: InputMaybe; + plan_name?: InputMaybe; + proposal?: InputMaybe; + proposal_id?: InputMaybe; + upgrade_height?: InputMaybe; +}; + +/** select columns of table "software_upgrade_plan" */ +export enum Software_Upgrade_Plan_Select_Column { + /** column name */ + Height = 'height', + /** column name */ + Info = 'info', + /** column name */ + PlanName = 'plan_name', + /** column name */ + ProposalId = 'proposal_id', + /** column name */ + UpgradeHeight = 'upgrade_height' +} + +/** aggregate stddev on columns */ +export type Software_Upgrade_Plan_Stddev_Fields = { + __typename?: 'software_upgrade_plan_stddev_fields'; + height?: Maybe; + proposal_id?: Maybe; + upgrade_height?: Maybe; +}; + +/** aggregate stddev_pop on columns */ +export type Software_Upgrade_Plan_Stddev_Pop_Fields = { + __typename?: 'software_upgrade_plan_stddev_pop_fields'; + height?: Maybe; + proposal_id?: Maybe; + upgrade_height?: Maybe; +}; + +/** aggregate stddev_samp on columns */ +export type Software_Upgrade_Plan_Stddev_Samp_Fields = { + __typename?: 'software_upgrade_plan_stddev_samp_fields'; + height?: Maybe; + proposal_id?: Maybe; + upgrade_height?: Maybe; +}; + +/** aggregate sum on columns */ +export type Software_Upgrade_Plan_Sum_Fields = { + __typename?: 'software_upgrade_plan_sum_fields'; + height?: Maybe; + proposal_id?: Maybe; + upgrade_height?: Maybe; +}; + +/** aggregate var_pop on columns */ +export type Software_Upgrade_Plan_Var_Pop_Fields = { + __typename?: 'software_upgrade_plan_var_pop_fields'; + height?: Maybe; + proposal_id?: Maybe; + upgrade_height?: Maybe; +}; + +/** aggregate var_samp on columns */ +export type Software_Upgrade_Plan_Var_Samp_Fields = { + __typename?: 'software_upgrade_plan_var_samp_fields'; + height?: Maybe; + proposal_id?: Maybe; + upgrade_height?: Maybe; +}; + +/** aggregate variance on columns */ +export type Software_Upgrade_Plan_Variance_Fields = { + __typename?: 'software_upgrade_plan_variance_fields'; + height?: Maybe; + proposal_id?: Maybe; + upgrade_height?: Maybe; +}; + +/** columns and relationships of "staking_params" */ +export type Staking_Params = { + __typename?: 'staking_params'; + height: Scalars['bigint']; + one_row_id: Scalars['Boolean']; + params: Scalars['jsonb']; +}; + + +/** columns and relationships of "staking_params" */ +export type Staking_ParamsParamsArgs = { + path?: InputMaybe; +}; + +/** aggregated selection of "staking_params" */ +export type Staking_Params_Aggregate = { + __typename?: 'staking_params_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +/** aggregate fields of "staking_params" */ +export type Staking_Params_Aggregate_Fields = { + __typename?: 'staking_params_aggregate_fields'; + avg?: Maybe; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; + stddev?: Maybe; + stddev_pop?: Maybe; + stddev_samp?: Maybe; + sum?: Maybe; + var_pop?: Maybe; + var_samp?: Maybe; + variance?: Maybe; +}; + + +/** aggregate fields of "staking_params" */ +export type Staking_Params_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** aggregate avg on columns */ +export type Staking_Params_Avg_Fields = { + __typename?: 'staking_params_avg_fields'; + height?: Maybe; +}; + +/** Boolean expression to filter rows from the table "staking_params". All fields are combined with a logical 'AND'. */ +export type Staking_Params_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + height?: InputMaybe; + one_row_id?: InputMaybe; + params?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Staking_Params_Max_Fields = { + __typename?: 'staking_params_max_fields'; + height?: Maybe; +}; + +/** aggregate min on columns */ +export type Staking_Params_Min_Fields = { + __typename?: 'staking_params_min_fields'; + height?: Maybe; +}; + +/** Ordering options when selecting data from "staking_params". */ +export type Staking_Params_Order_By = { + height?: InputMaybe; + one_row_id?: InputMaybe; + params?: InputMaybe; +}; + +/** select columns of table "staking_params" */ +export enum Staking_Params_Select_Column { + /** column name */ + Height = 'height', + /** column name */ + OneRowId = 'one_row_id', + /** column name */ + Params = 'params' +} + +/** aggregate stddev on columns */ +export type Staking_Params_Stddev_Fields = { + __typename?: 'staking_params_stddev_fields'; + height?: Maybe; +}; + +/** aggregate stddev_pop on columns */ +export type Staking_Params_Stddev_Pop_Fields = { + __typename?: 'staking_params_stddev_pop_fields'; + height?: Maybe; +}; + +/** aggregate stddev_samp on columns */ +export type Staking_Params_Stddev_Samp_Fields = { + __typename?: 'staking_params_stddev_samp_fields'; + height?: Maybe; +}; + +/** aggregate sum on columns */ +export type Staking_Params_Sum_Fields = { + __typename?: 'staking_params_sum_fields'; + height?: Maybe; +}; + +/** aggregate var_pop on columns */ +export type Staking_Params_Var_Pop_Fields = { + __typename?: 'staking_params_var_pop_fields'; + height?: Maybe; +}; + +/** aggregate var_samp on columns */ +export type Staking_Params_Var_Samp_Fields = { + __typename?: 'staking_params_var_samp_fields'; + height?: Maybe; +}; + +/** aggregate variance on columns */ +export type Staking_Params_Variance_Fields = { + __typename?: 'staking_params_variance_fields'; + height?: Maybe; +}; + +/** columns and relationships of "staking_pool" */ +export type Staking_Pool = { + __typename?: 'staking_pool'; + bonded_tokens: Scalars['bigint']; + height: Scalars['bigint']; + not_bonded_tokens: Scalars['bigint']; + staked_not_bonded_tokens?: Maybe; + unbonding_tokens?: Maybe; +}; + +/** aggregated selection of "staking_pool" */ +export type Staking_Pool_Aggregate = { + __typename?: 'staking_pool_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +/** aggregate fields of "staking_pool" */ +export type Staking_Pool_Aggregate_Fields = { + __typename?: 'staking_pool_aggregate_fields'; + avg?: Maybe; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; + stddev?: Maybe; + stddev_pop?: Maybe; + stddev_samp?: Maybe; + sum?: Maybe; + var_pop?: Maybe; + var_samp?: Maybe; + variance?: Maybe; +}; + + +/** aggregate fields of "staking_pool" */ +export type Staking_Pool_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** aggregate avg on columns */ +export type Staking_Pool_Avg_Fields = { + __typename?: 'staking_pool_avg_fields'; + bonded_tokens?: Maybe; + height?: Maybe; + not_bonded_tokens?: Maybe; +}; + +/** Boolean expression to filter rows from the table "staking_pool". All fields are combined with a logical 'AND'. */ +export type Staking_Pool_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + bonded_tokens?: InputMaybe; + height?: InputMaybe; + not_bonded_tokens?: InputMaybe; + staked_not_bonded_tokens?: InputMaybe; + unbonding_tokens?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Staking_Pool_Max_Fields = { + __typename?: 'staking_pool_max_fields'; + bonded_tokens?: Maybe; + height?: Maybe; + not_bonded_tokens?: Maybe; + staked_not_bonded_tokens?: Maybe; + unbonding_tokens?: Maybe; +}; + +/** aggregate min on columns */ +export type Staking_Pool_Min_Fields = { + __typename?: 'staking_pool_min_fields'; + bonded_tokens?: Maybe; + height?: Maybe; + not_bonded_tokens?: Maybe; + staked_not_bonded_tokens?: Maybe; + unbonding_tokens?: Maybe; +}; + +/** Ordering options when selecting data from "staking_pool". */ +export type Staking_Pool_Order_By = { + bonded_tokens?: InputMaybe; + height?: InputMaybe; + not_bonded_tokens?: InputMaybe; + staked_not_bonded_tokens?: InputMaybe; + unbonding_tokens?: InputMaybe; +}; + +/** select columns of table "staking_pool" */ +export enum Staking_Pool_Select_Column { + /** column name */ + BondedTokens = 'bonded_tokens', + /** column name */ + Height = 'height', + /** column name */ + NotBondedTokens = 'not_bonded_tokens', + /** column name */ + StakedNotBondedTokens = 'staked_not_bonded_tokens', + /** column name */ + UnbondingTokens = 'unbonding_tokens' +} + +/** aggregate stddev on columns */ +export type Staking_Pool_Stddev_Fields = { + __typename?: 'staking_pool_stddev_fields'; + bonded_tokens?: Maybe; + height?: Maybe; + not_bonded_tokens?: Maybe; +}; + +/** aggregate stddev_pop on columns */ +export type Staking_Pool_Stddev_Pop_Fields = { + __typename?: 'staking_pool_stddev_pop_fields'; + bonded_tokens?: Maybe; + height?: Maybe; + not_bonded_tokens?: Maybe; +}; + +/** aggregate stddev_samp on columns */ +export type Staking_Pool_Stddev_Samp_Fields = { + __typename?: 'staking_pool_stddev_samp_fields'; + bonded_tokens?: Maybe; + height?: Maybe; + not_bonded_tokens?: Maybe; +}; + +/** aggregate sum on columns */ +export type Staking_Pool_Sum_Fields = { + __typename?: 'staking_pool_sum_fields'; + bonded_tokens?: Maybe; + height?: Maybe; + not_bonded_tokens?: Maybe; +}; + +/** aggregate var_pop on columns */ +export type Staking_Pool_Var_Pop_Fields = { + __typename?: 'staking_pool_var_pop_fields'; + bonded_tokens?: Maybe; + height?: Maybe; + not_bonded_tokens?: Maybe; +}; + +/** aggregate var_samp on columns */ +export type Staking_Pool_Var_Samp_Fields = { + __typename?: 'staking_pool_var_samp_fields'; + bonded_tokens?: Maybe; + height?: Maybe; + not_bonded_tokens?: Maybe; +}; + +/** aggregate variance on columns */ +export type Staking_Pool_Variance_Fields = { + __typename?: 'staking_pool_variance_fields'; + bonded_tokens?: Maybe; + height?: Maybe; + not_bonded_tokens?: Maybe; +}; + +export type Subscription_Root = { + __typename?: 'subscription_root'; + /** fetch data from the table: "account" */ + account: Array; + /** fetch aggregated fields from the table: "account" */ + account_aggregate: Account_Aggregate; + /** fetch data from the table: "account" using primary key columns */ + account_by_pk?: Maybe; + /** fetch data from the table: "average_block_time_from_genesis" */ + average_block_time_from_genesis: Array; + /** fetch aggregated fields from the table: "average_block_time_from_genesis" */ + average_block_time_from_genesis_aggregate: Average_Block_Time_From_Genesis_Aggregate; + /** fetch data from the table: "average_block_time_per_day" */ + average_block_time_per_day: Array; + /** fetch aggregated fields from the table: "average_block_time_per_day" */ + average_block_time_per_day_aggregate: Average_Block_Time_Per_Day_Aggregate; + /** fetch data from the table: "average_block_time_per_hour" */ + average_block_time_per_hour: Array; + /** fetch aggregated fields from the table: "average_block_time_per_hour" */ + average_block_time_per_hour_aggregate: Average_Block_Time_Per_Hour_Aggregate; + /** fetch data from the table: "average_block_time_per_minute" */ + average_block_time_per_minute: Array; + /** fetch aggregated fields from the table: "average_block_time_per_minute" */ + average_block_time_per_minute_aggregate: Average_Block_Time_Per_Minute_Aggregate; + /** fetch data from the table: "block" */ + block: Array; + /** fetch aggregated fields from the table: "block" */ + block_aggregate: Block_Aggregate; + /** fetch data from the table: "block" using primary key columns */ + block_by_pk?: Maybe; + /** fetch data from the table: "community_pool" */ + community_pool: Array; + /** fetch aggregated fields from the table: "community_pool" */ + community_pool_aggregate: Community_Pool_Aggregate; + /** fetch data from the table: "distribution_params" */ + distribution_params: Array; + /** fetch aggregated fields from the table: "distribution_params" */ + distribution_params_aggregate: Distribution_Params_Aggregate; + /** fetch data from the table: "distribution_params" using primary key columns */ + distribution_params_by_pk?: Maybe; + /** fetch data from the table: "double_sign_evidence" */ + double_sign_evidence: Array; + /** fetch aggregated fields from the table: "double_sign_evidence" */ + double_sign_evidence_aggregate: Double_Sign_Evidence_Aggregate; + /** fetch data from the table: "double_sign_vote" */ + double_sign_vote: Array; + /** fetch aggregated fields from the table: "double_sign_vote" */ + double_sign_vote_aggregate: Double_Sign_Vote_Aggregate; + /** fetch data from the table: "double_sign_vote" using primary key columns */ + double_sign_vote_by_pk?: Maybe; + /** fetch data from the table: "fee_grant_allowance" */ + fee_grant_allowance: Array; + /** fetch aggregated fields from the table: "fee_grant_allowance" */ + fee_grant_allowance_aggregate: Fee_Grant_Allowance_Aggregate; + /** fetch data from the table: "fee_grant_allowance" using primary key columns */ + fee_grant_allowance_by_pk?: Maybe; + /** fetch data from the table: "genesis" */ + genesis: Array; + /** fetch aggregated fields from the table: "genesis" */ + genesis_aggregate: Genesis_Aggregate; + /** fetch data from the table: "gov_params" */ + gov_params: Array; + /** fetch aggregated fields from the table: "gov_params" */ + gov_params_aggregate: Gov_Params_Aggregate; + /** fetch data from the table: "gov_params" using primary key columns */ + gov_params_by_pk?: Maybe; + /** fetch data from the table: "inflation" */ + inflation: Array; + /** fetch aggregated fields from the table: "inflation" */ + inflation_aggregate: Inflation_Aggregate; + /** fetch data from the table: "message" */ + message: Array; + /** fetch aggregated fields from the table: "message" */ + message_aggregate: Message_Aggregate; + /** execute function "messages_by_address" which returns "message" */ + messages_by_address: Array; + /** execute function "messages_by_address" and query aggregates on result of table type "message" */ + messages_by_address_aggregate: Message_Aggregate; + /** fetch data from the table: "mint_params" */ + mint_params: Array; + /** fetch aggregated fields from the table: "mint_params" */ + mint_params_aggregate: Mint_Params_Aggregate; + /** fetch data from the table: "mint_params" using primary key columns */ + mint_params_by_pk?: Maybe; + /** fetch data from the table: "modules" */ + modules: Array; + /** fetch aggregated fields from the table: "modules" */ + modules_aggregate: Modules_Aggregate; + /** fetch data from the table: "modules" using primary key columns */ + modules_by_pk?: Maybe; + /** fetch data from the table: "pre_commit" */ + pre_commit: Array; + /** fetch aggregated fields from the table: "pre_commit" */ + pre_commit_aggregate: Pre_Commit_Aggregate; + /** fetch data from the table: "profiles_params" */ + profiles_params: Array; + /** fetch aggregated fields from the table: "profiles_params" */ + profiles_params_aggregate: Profiles_Params_Aggregate; + /** fetch data from the table: "profiles_params" using primary key columns */ + profiles_params_by_pk?: Maybe; + /** fetch data from the table: "proposal" */ + proposal: Array; + /** fetch aggregated fields from the table: "proposal" */ + proposal_aggregate: Proposal_Aggregate; + /** fetch data from the table: "proposal" using primary key columns */ + proposal_by_pk?: Maybe; + /** fetch data from the table: "proposal_deposit" */ + proposal_deposit: Array; + /** fetch aggregated fields from the table: "proposal_deposit" */ + proposal_deposit_aggregate: Proposal_Deposit_Aggregate; + /** fetch data from the table: "proposal_staking_pool_snapshot" */ + proposal_staking_pool_snapshot: Array; + /** fetch aggregated fields from the table: "proposal_staking_pool_snapshot" */ + proposal_staking_pool_snapshot_aggregate: Proposal_Staking_Pool_Snapshot_Aggregate; + /** fetch data from the table: "proposal_staking_pool_snapshot" using primary key columns */ + proposal_staking_pool_snapshot_by_pk?: Maybe; + /** fetch data from the table: "proposal_tally_result" */ + proposal_tally_result: Array; + /** fetch aggregated fields from the table: "proposal_tally_result" */ + proposal_tally_result_aggregate: Proposal_Tally_Result_Aggregate; + /** fetch data from the table: "proposal_tally_result" using primary key columns */ + proposal_tally_result_by_pk?: Maybe; + /** fetch data from the table: "proposal_validator_status_snapshot" */ + proposal_validator_status_snapshot: Array; + /** fetch aggregated fields from the table: "proposal_validator_status_snapshot" */ + proposal_validator_status_snapshot_aggregate: Proposal_Validator_Status_Snapshot_Aggregate; + /** fetch data from the table: "proposal_validator_status_snapshot" using primary key columns */ + proposal_validator_status_snapshot_by_pk?: Maybe; + /** fetch data from the table: "proposal_vote" */ + proposal_vote: Array; + /** fetch aggregated fields from the table: "proposal_vote" */ + proposal_vote_aggregate: Proposal_Vote_Aggregate; + /** fetch data from the table: "slashing_params" */ + slashing_params: Array; + /** fetch aggregated fields from the table: "slashing_params" */ + slashing_params_aggregate: Slashing_Params_Aggregate; + /** fetch data from the table: "slashing_params" using primary key columns */ + slashing_params_by_pk?: Maybe; + /** fetch data from the table: "software_upgrade_plan" */ + software_upgrade_plan: Array; + /** fetch aggregated fields from the table: "software_upgrade_plan" */ + software_upgrade_plan_aggregate: Software_Upgrade_Plan_Aggregate; + /** fetch data from the table: "staking_params" */ + staking_params: Array; + /** fetch aggregated fields from the table: "staking_params" */ + staking_params_aggregate: Staking_Params_Aggregate; + /** fetch data from the table: "staking_params" using primary key columns */ + staking_params_by_pk?: Maybe; + /** fetch data from the table: "staking_pool" */ + staking_pool: Array; + /** fetch aggregated fields from the table: "staking_pool" */ + staking_pool_aggregate: Staking_Pool_Aggregate; + /** fetch data from the table: "supply" */ + supply: Array; + /** fetch aggregated fields from the table: "supply" */ + supply_aggregate: Supply_Aggregate; + /** fetch data from the table: "token" */ + token: Array; + /** fetch aggregated fields from the table: "token" */ + token_aggregate: Token_Aggregate; + /** fetch data from the table: "token_price" */ + token_price: Array; + /** fetch aggregated fields from the table: "token_price" */ + token_price_aggregate: Token_Price_Aggregate; + /** fetch data from the table: "token_price" using primary key columns */ + token_price_by_pk?: Maybe; + /** fetch data from the table: "token_price_history" */ + token_price_history: Array; + /** fetch aggregated fields from the table: "token_price_history" */ + token_price_history_aggregate: Token_Price_History_Aggregate; + /** fetch data from the table: "token_unit" */ + token_unit: Array; + /** fetch aggregated fields from the table: "token_unit" */ + token_unit_aggregate: Token_Unit_Aggregate; + /** fetch data from the table: "transaction" */ + transaction: Array; + /** fetch aggregated fields from the table: "transaction" */ + transaction_aggregate: Transaction_Aggregate; + /** fetch data from the table: "validator" */ + validator: Array; + /** fetch aggregated fields from the table: "validator" */ + validator_aggregate: Validator_Aggregate; + /** fetch data from the table: "validator" using primary key columns */ + validator_by_pk?: Maybe; + /** fetch data from the table: "validator_commission" */ + validator_commission: Array; + /** fetch aggregated fields from the table: "validator_commission" */ + validator_commission_aggregate: Validator_Commission_Aggregate; + /** fetch data from the table: "validator_commission" using primary key columns */ + validator_commission_by_pk?: Maybe; + /** fetch data from the table: "validator_description" */ + validator_description: Array; + /** fetch aggregated fields from the table: "validator_description" */ + validator_description_aggregate: Validator_Description_Aggregate; + /** fetch data from the table: "validator_description" using primary key columns */ + validator_description_by_pk?: Maybe; + /** fetch data from the table: "validator_info" */ + validator_info: Array; + /** fetch aggregated fields from the table: "validator_info" */ + validator_info_aggregate: Validator_Info_Aggregate; + /** fetch data from the table: "validator_info" using primary key columns */ + validator_info_by_pk?: Maybe; + /** fetch data from the table: "validator_signing_info" */ + validator_signing_info: Array; + /** fetch aggregated fields from the table: "validator_signing_info" */ + validator_signing_info_aggregate: Validator_Signing_Info_Aggregate; + /** fetch data from the table: "validator_signing_info" using primary key columns */ + validator_signing_info_by_pk?: Maybe; + /** fetch data from the table: "validator_status" */ + validator_status: Array; + /** fetch aggregated fields from the table: "validator_status" */ + validator_status_aggregate: Validator_Status_Aggregate; + /** fetch data from the table: "validator_status" using primary key columns */ + validator_status_by_pk?: Maybe; + /** fetch data from the table: "validator_voting_power" */ + validator_voting_power: Array; + /** fetch aggregated fields from the table: "validator_voting_power" */ + validator_voting_power_aggregate: Validator_Voting_Power_Aggregate; + /** fetch data from the table: "validator_voting_power" using primary key columns */ + validator_voting_power_by_pk?: Maybe; + /** fetch data from the table: "vesting_account" */ + vesting_account: Array; + /** fetch aggregated fields from the table: "vesting_account" */ + vesting_account_aggregate: Vesting_Account_Aggregate; + /** fetch data from the table: "vesting_account" using primary key columns */ + vesting_account_by_pk?: Maybe; + /** fetch data from the table: "vesting_period" */ + vesting_period: Array; + /** fetch aggregated fields from the table: "vesting_period" */ + vesting_period_aggregate: Vesting_Period_Aggregate; +}; + + +export type Subscription_RootAccountArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootAccount_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootAccount_By_PkArgs = { + address: Scalars['String']; +}; + + +export type Subscription_RootAverage_Block_Time_From_GenesisArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootAverage_Block_Time_From_Genesis_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootAverage_Block_Time_Per_DayArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootAverage_Block_Time_Per_Day_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootAverage_Block_Time_Per_HourArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootAverage_Block_Time_Per_Hour_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootAverage_Block_Time_Per_MinuteArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootAverage_Block_Time_Per_Minute_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootBlockArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootBlock_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootBlock_By_PkArgs = { + height: Scalars['bigint']; +}; + + +export type Subscription_RootCommunity_PoolArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootCommunity_Pool_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootDistribution_ParamsArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootDistribution_Params_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootDistribution_Params_By_PkArgs = { + one_row_id: Scalars['Boolean']; +}; + + +export type Subscription_RootDouble_Sign_EvidenceArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootDouble_Sign_Evidence_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootDouble_Sign_VoteArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootDouble_Sign_Vote_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootDouble_Sign_Vote_By_PkArgs = { + id: Scalars['Int']; +}; + + +export type Subscription_RootFee_Grant_AllowanceArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootFee_Grant_Allowance_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootFee_Grant_Allowance_By_PkArgs = { + id: Scalars['Int']; +}; + + +export type Subscription_RootGenesisArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootGenesis_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootGov_ParamsArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootGov_Params_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootGov_Params_By_PkArgs = { + one_row_id: Scalars['Boolean']; +}; + + +export type Subscription_RootInflationArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootInflation_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootMessageArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootMessage_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootMessages_By_AddressArgs = { + args: Messages_By_Address_Args; + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootMessages_By_Address_AggregateArgs = { + args: Messages_By_Address_Args; + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootMint_ParamsArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootMint_Params_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootMint_Params_By_PkArgs = { + one_row_id: Scalars['Boolean']; +}; + + +export type Subscription_RootModulesArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootModules_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootModules_By_PkArgs = { + module_name: Scalars['String']; +}; + + +export type Subscription_RootPre_CommitArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootPre_Commit_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootProfiles_ParamsArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootProfiles_Params_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootProfiles_Params_By_PkArgs = { + one_row_id: Scalars['Boolean']; +}; + + +export type Subscription_RootProposalArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootProposal_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootProposal_By_PkArgs = { + id: Scalars['Int']; +}; + + +export type Subscription_RootProposal_DepositArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootProposal_Deposit_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootProposal_Staking_Pool_SnapshotArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootProposal_Staking_Pool_Snapshot_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootProposal_Staking_Pool_Snapshot_By_PkArgs = { + proposal_id: Scalars['Int']; +}; + + +export type Subscription_RootProposal_Tally_ResultArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootProposal_Tally_Result_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootProposal_Tally_Result_By_PkArgs = { + proposal_id: Scalars['Int']; +}; + + +export type Subscription_RootProposal_Validator_Status_SnapshotArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootProposal_Validator_Status_Snapshot_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootProposal_Validator_Status_Snapshot_By_PkArgs = { + id: Scalars['Int']; +}; + + +export type Subscription_RootProposal_VoteArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootProposal_Vote_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootSlashing_ParamsArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootSlashing_Params_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootSlashing_Params_By_PkArgs = { + one_row_id: Scalars['Boolean']; +}; + + +export type Subscription_RootSoftware_Upgrade_PlanArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootSoftware_Upgrade_Plan_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootStaking_ParamsArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootStaking_Params_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootStaking_Params_By_PkArgs = { + one_row_id: Scalars['Boolean']; +}; + + +export type Subscription_RootStaking_PoolArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootStaking_Pool_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootSupplyArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootSupply_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootTokenArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootToken_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootToken_PriceArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootToken_Price_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootToken_Price_By_PkArgs = { + id: Scalars['Int']; +}; + + +export type Subscription_RootToken_Price_HistoryArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootToken_Price_History_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootToken_UnitArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootToken_Unit_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootTransactionArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootTransaction_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootValidatorArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootValidator_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootValidator_By_PkArgs = { + consensus_address: Scalars['String']; +}; + + +export type Subscription_RootValidator_CommissionArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootValidator_Commission_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootValidator_Commission_By_PkArgs = { + validator_address: Scalars['String']; +}; + + +export type Subscription_RootValidator_DescriptionArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootValidator_Description_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootValidator_Description_By_PkArgs = { + validator_address: Scalars['String']; +}; + + +export type Subscription_RootValidator_InfoArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootValidator_Info_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootValidator_Info_By_PkArgs = { + consensus_address: Scalars['String']; +}; + + +export type Subscription_RootValidator_Signing_InfoArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootValidator_Signing_Info_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootValidator_Signing_Info_By_PkArgs = { + validator_address: Scalars['String']; +}; + + +export type Subscription_RootValidator_StatusArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootValidator_Status_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootValidator_Status_By_PkArgs = { + validator_address: Scalars['String']; +}; + + +export type Subscription_RootValidator_Voting_PowerArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootValidator_Voting_Power_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootValidator_Voting_Power_By_PkArgs = { + validator_address: Scalars['String']; +}; + + +export type Subscription_RootVesting_AccountArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootVesting_Account_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootVesting_Account_By_PkArgs = { + id: Scalars['Int']; +}; + + +export type Subscription_RootVesting_PeriodArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootVesting_Period_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + +/** columns and relationships of "supply" */ +export type Supply = { + __typename?: 'supply'; + coins: Scalars['_coin']; + height: Scalars['bigint']; +}; + +/** aggregated selection of "supply" */ +export type Supply_Aggregate = { + __typename?: 'supply_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +/** aggregate fields of "supply" */ +export type Supply_Aggregate_Fields = { + __typename?: 'supply_aggregate_fields'; + avg?: Maybe; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; + stddev?: Maybe; + stddev_pop?: Maybe; + stddev_samp?: Maybe; + sum?: Maybe; + var_pop?: Maybe; + var_samp?: Maybe; + variance?: Maybe; +}; + + +/** aggregate fields of "supply" */ +export type Supply_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** aggregate avg on columns */ +export type Supply_Avg_Fields = { + __typename?: 'supply_avg_fields'; + height?: Maybe; +}; + +/** Boolean expression to filter rows from the table "supply". All fields are combined with a logical 'AND'. */ +export type Supply_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + coins?: InputMaybe<_Coin_Comparison_Exp>; + height?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Supply_Max_Fields = { + __typename?: 'supply_max_fields'; + height?: Maybe; +}; + +/** aggregate min on columns */ +export type Supply_Min_Fields = { + __typename?: 'supply_min_fields'; + height?: Maybe; +}; + +/** Ordering options when selecting data from "supply". */ +export type Supply_Order_By = { + coins?: InputMaybe; + height?: InputMaybe; +}; + +/** select columns of table "supply" */ +export enum Supply_Select_Column { + /** column name */ + Coins = 'coins', + /** column name */ + Height = 'height' +} + +/** aggregate stddev on columns */ +export type Supply_Stddev_Fields = { + __typename?: 'supply_stddev_fields'; + height?: Maybe; +}; + +/** aggregate stddev_pop on columns */ +export type Supply_Stddev_Pop_Fields = { + __typename?: 'supply_stddev_pop_fields'; + height?: Maybe; +}; + +/** aggregate stddev_samp on columns */ +export type Supply_Stddev_Samp_Fields = { + __typename?: 'supply_stddev_samp_fields'; + height?: Maybe; +}; + +/** aggregate sum on columns */ +export type Supply_Sum_Fields = { + __typename?: 'supply_sum_fields'; + height?: Maybe; +}; + +/** aggregate var_pop on columns */ +export type Supply_Var_Pop_Fields = { + __typename?: 'supply_var_pop_fields'; + height?: Maybe; +}; + +/** aggregate var_samp on columns */ +export type Supply_Var_Samp_Fields = { + __typename?: 'supply_var_samp_fields'; + height?: Maybe; +}; + +/** aggregate variance on columns */ +export type Supply_Variance_Fields = { + __typename?: 'supply_variance_fields'; + height?: Maybe; +}; + +/** Boolean expression to compare columns of type "timestamp". All fields are combined with logical 'AND'. */ +export type Timestamp_Comparison_Exp = { + _eq?: InputMaybe; + _gt?: InputMaybe; + _gte?: InputMaybe; + _in?: InputMaybe>; + _is_null?: InputMaybe; + _lt?: InputMaybe; + _lte?: InputMaybe; + _neq?: InputMaybe; + _nin?: InputMaybe>; +}; + +/** Boolean expression to compare columns of type "timestamptz". All fields are combined with logical 'AND'. */ +export type Timestamptz_Comparison_Exp = { + _eq?: InputMaybe; + _gt?: InputMaybe; + _gte?: InputMaybe; + _in?: InputMaybe>; + _is_null?: InputMaybe; + _lt?: InputMaybe; + _lte?: InputMaybe; + _neq?: InputMaybe; + _nin?: InputMaybe>; +}; + +/** columns and relationships of "token" */ +export type Token = { + __typename?: 'token'; + name: Scalars['String']; + /** An array relationship */ + token_units: Array; + /** An aggregate relationship */ + token_units_aggregate: Token_Unit_Aggregate; +}; + + +/** columns and relationships of "token" */ +export type TokenToken_UnitsArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "token" */ +export type TokenToken_Units_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + +/** aggregated selection of "token" */ +export type Token_Aggregate = { + __typename?: 'token_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +/** aggregate fields of "token" */ +export type Token_Aggregate_Fields = { + __typename?: 'token_aggregate_fields'; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; +}; + + +/** aggregate fields of "token" */ +export type Token_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** Boolean expression to filter rows from the table "token". All fields are combined with a logical 'AND'. */ +export type Token_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + name?: InputMaybe; + token_units?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Token_Max_Fields = { + __typename?: 'token_max_fields'; + name?: Maybe; +}; + +/** aggregate min on columns */ +export type Token_Min_Fields = { + __typename?: 'token_min_fields'; + name?: Maybe; +}; + +/** Ordering options when selecting data from "token". */ +export type Token_Order_By = { + name?: InputMaybe; + token_units_aggregate?: InputMaybe; +}; + +/** columns and relationships of "token_price" */ +export type Token_Price = { + __typename?: 'token_price'; + id: Scalars['Int']; + market_cap: Scalars['bigint']; + price: Scalars['numeric']; + timestamp: Scalars['timestamp']; + /** An object relationship */ + token_unit: Token_Unit; + unit_name: Scalars['String']; +}; + +/** aggregated selection of "token_price" */ +export type Token_Price_Aggregate = { + __typename?: 'token_price_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +/** aggregate fields of "token_price" */ +export type Token_Price_Aggregate_Fields = { + __typename?: 'token_price_aggregate_fields'; + avg?: Maybe; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; + stddev?: Maybe; + stddev_pop?: Maybe; + stddev_samp?: Maybe; + sum?: Maybe; + var_pop?: Maybe; + var_samp?: Maybe; + variance?: Maybe; +}; + + +/** aggregate fields of "token_price" */ +export type Token_Price_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** order by aggregate values of table "token_price" */ +export type Token_Price_Aggregate_Order_By = { + avg?: InputMaybe; + count?: InputMaybe; + max?: InputMaybe; + min?: InputMaybe; + stddev?: InputMaybe; + stddev_pop?: InputMaybe; + stddev_samp?: InputMaybe; + sum?: InputMaybe; + var_pop?: InputMaybe; + var_samp?: InputMaybe; + variance?: InputMaybe; +}; + +/** aggregate avg on columns */ +export type Token_Price_Avg_Fields = { + __typename?: 'token_price_avg_fields'; + id?: Maybe; + market_cap?: Maybe; + price?: Maybe; +}; + +/** order by avg() on columns of table "token_price" */ +export type Token_Price_Avg_Order_By = { + id?: InputMaybe; + market_cap?: InputMaybe; + price?: InputMaybe; +}; + +/** Boolean expression to filter rows from the table "token_price". All fields are combined with a logical 'AND'. */ +export type Token_Price_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + id?: InputMaybe; + market_cap?: InputMaybe; + price?: InputMaybe; + timestamp?: InputMaybe; + token_unit?: InputMaybe; + unit_name?: InputMaybe; +}; + +/** columns and relationships of "token_price_history" */ +export type Token_Price_History = { + __typename?: 'token_price_history'; + market_cap: Scalars['bigint']; + price: Scalars['numeric']; + timestamp: Scalars['timestamp']; + /** An object relationship */ + token_unit: Token_Unit; + unit_name: Scalars['String']; +}; + +/** aggregated selection of "token_price_history" */ +export type Token_Price_History_Aggregate = { + __typename?: 'token_price_history_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +/** aggregate fields of "token_price_history" */ +export type Token_Price_History_Aggregate_Fields = { + __typename?: 'token_price_history_aggregate_fields'; + avg?: Maybe; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; + stddev?: Maybe; + stddev_pop?: Maybe; + stddev_samp?: Maybe; + sum?: Maybe; + var_pop?: Maybe; + var_samp?: Maybe; + variance?: Maybe; +}; + + +/** aggregate fields of "token_price_history" */ +export type Token_Price_History_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** order by aggregate values of table "token_price_history" */ +export type Token_Price_History_Aggregate_Order_By = { + avg?: InputMaybe; + count?: InputMaybe; + max?: InputMaybe; + min?: InputMaybe; + stddev?: InputMaybe; + stddev_pop?: InputMaybe; + stddev_samp?: InputMaybe; + sum?: InputMaybe; + var_pop?: InputMaybe; + var_samp?: InputMaybe; + variance?: InputMaybe; +}; + +/** aggregate avg on columns */ +export type Token_Price_History_Avg_Fields = { + __typename?: 'token_price_history_avg_fields'; + market_cap?: Maybe; + price?: Maybe; +}; + +/** order by avg() on columns of table "token_price_history" */ +export type Token_Price_History_Avg_Order_By = { + market_cap?: InputMaybe; + price?: InputMaybe; +}; + +/** Boolean expression to filter rows from the table "token_price_history". All fields are combined with a logical 'AND'. */ +export type Token_Price_History_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + market_cap?: InputMaybe; + price?: InputMaybe; + timestamp?: InputMaybe; + token_unit?: InputMaybe; + unit_name?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Token_Price_History_Max_Fields = { + __typename?: 'token_price_history_max_fields'; + market_cap?: Maybe; + price?: Maybe; + timestamp?: Maybe; + unit_name?: Maybe; +}; + +/** order by max() on columns of table "token_price_history" */ +export type Token_Price_History_Max_Order_By = { + market_cap?: InputMaybe; + price?: InputMaybe; + timestamp?: InputMaybe; + unit_name?: InputMaybe; +}; + +/** aggregate min on columns */ +export type Token_Price_History_Min_Fields = { + __typename?: 'token_price_history_min_fields'; + market_cap?: Maybe; + price?: Maybe; + timestamp?: Maybe; + unit_name?: Maybe; +}; + +/** order by min() on columns of table "token_price_history" */ +export type Token_Price_History_Min_Order_By = { + market_cap?: InputMaybe; + price?: InputMaybe; + timestamp?: InputMaybe; + unit_name?: InputMaybe; +}; + +/** Ordering options when selecting data from "token_price_history". */ +export type Token_Price_History_Order_By = { + market_cap?: InputMaybe; + price?: InputMaybe; + timestamp?: InputMaybe; + token_unit?: InputMaybe; + unit_name?: InputMaybe; +}; + +/** select columns of table "token_price_history" */ +export enum Token_Price_History_Select_Column { + /** column name */ + MarketCap = 'market_cap', + /** column name */ + Price = 'price', + /** column name */ + Timestamp = 'timestamp', + /** column name */ + UnitName = 'unit_name' +} + +/** aggregate stddev on columns */ +export type Token_Price_History_Stddev_Fields = { + __typename?: 'token_price_history_stddev_fields'; + market_cap?: Maybe; + price?: Maybe; +}; + +/** order by stddev() on columns of table "token_price_history" */ +export type Token_Price_History_Stddev_Order_By = { + market_cap?: InputMaybe; + price?: InputMaybe; +}; + +/** aggregate stddev_pop on columns */ +export type Token_Price_History_Stddev_Pop_Fields = { + __typename?: 'token_price_history_stddev_pop_fields'; + market_cap?: Maybe; + price?: Maybe; +}; + +/** order by stddev_pop() on columns of table "token_price_history" */ +export type Token_Price_History_Stddev_Pop_Order_By = { + market_cap?: InputMaybe; + price?: InputMaybe; +}; + +/** aggregate stddev_samp on columns */ +export type Token_Price_History_Stddev_Samp_Fields = { + __typename?: 'token_price_history_stddev_samp_fields'; + market_cap?: Maybe; + price?: Maybe; +}; + +/** order by stddev_samp() on columns of table "token_price_history" */ +export type Token_Price_History_Stddev_Samp_Order_By = { + market_cap?: InputMaybe; + price?: InputMaybe; +}; + +/** aggregate sum on columns */ +export type Token_Price_History_Sum_Fields = { + __typename?: 'token_price_history_sum_fields'; + market_cap?: Maybe; + price?: Maybe; +}; + +/** order by sum() on columns of table "token_price_history" */ +export type Token_Price_History_Sum_Order_By = { + market_cap?: InputMaybe; + price?: InputMaybe; +}; + +/** aggregate var_pop on columns */ +export type Token_Price_History_Var_Pop_Fields = { + __typename?: 'token_price_history_var_pop_fields'; + market_cap?: Maybe; + price?: Maybe; +}; + +/** order by var_pop() on columns of table "token_price_history" */ +export type Token_Price_History_Var_Pop_Order_By = { + market_cap?: InputMaybe; + price?: InputMaybe; +}; + +/** aggregate var_samp on columns */ +export type Token_Price_History_Var_Samp_Fields = { + __typename?: 'token_price_history_var_samp_fields'; + market_cap?: Maybe; + price?: Maybe; +}; + +/** order by var_samp() on columns of table "token_price_history" */ +export type Token_Price_History_Var_Samp_Order_By = { + market_cap?: InputMaybe; + price?: InputMaybe; +}; + +/** aggregate variance on columns */ +export type Token_Price_History_Variance_Fields = { + __typename?: 'token_price_history_variance_fields'; + market_cap?: Maybe; + price?: Maybe; +}; + +/** order by variance() on columns of table "token_price_history" */ +export type Token_Price_History_Variance_Order_By = { + market_cap?: InputMaybe; + price?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Token_Price_Max_Fields = { + __typename?: 'token_price_max_fields'; + id?: Maybe; + market_cap?: Maybe; + price?: Maybe; + timestamp?: Maybe; + unit_name?: Maybe; +}; + +/** order by max() on columns of table "token_price" */ +export type Token_Price_Max_Order_By = { + id?: InputMaybe; + market_cap?: InputMaybe; + price?: InputMaybe; + timestamp?: InputMaybe; + unit_name?: InputMaybe; +}; + +/** aggregate min on columns */ +export type Token_Price_Min_Fields = { + __typename?: 'token_price_min_fields'; + id?: Maybe; + market_cap?: Maybe; + price?: Maybe; + timestamp?: Maybe; + unit_name?: Maybe; +}; + +/** order by min() on columns of table "token_price" */ +export type Token_Price_Min_Order_By = { + id?: InputMaybe; + market_cap?: InputMaybe; + price?: InputMaybe; + timestamp?: InputMaybe; + unit_name?: InputMaybe; +}; + +/** Ordering options when selecting data from "token_price". */ +export type Token_Price_Order_By = { + id?: InputMaybe; + market_cap?: InputMaybe; + price?: InputMaybe; + timestamp?: InputMaybe; + token_unit?: InputMaybe; + unit_name?: InputMaybe; +}; + +/** select columns of table "token_price" */ +export enum Token_Price_Select_Column { + /** column name */ + Id = 'id', + /** column name */ + MarketCap = 'market_cap', + /** column name */ + Price = 'price', + /** column name */ + Timestamp = 'timestamp', + /** column name */ + UnitName = 'unit_name' +} + +/** aggregate stddev on columns */ +export type Token_Price_Stddev_Fields = { + __typename?: 'token_price_stddev_fields'; + id?: Maybe; + market_cap?: Maybe; + price?: Maybe; +}; + +/** order by stddev() on columns of table "token_price" */ +export type Token_Price_Stddev_Order_By = { + id?: InputMaybe; + market_cap?: InputMaybe; + price?: InputMaybe; +}; + +/** aggregate stddev_pop on columns */ +export type Token_Price_Stddev_Pop_Fields = { + __typename?: 'token_price_stddev_pop_fields'; + id?: Maybe; + market_cap?: Maybe; + price?: Maybe; +}; + +/** order by stddev_pop() on columns of table "token_price" */ +export type Token_Price_Stddev_Pop_Order_By = { + id?: InputMaybe; + market_cap?: InputMaybe; + price?: InputMaybe; +}; + +/** aggregate stddev_samp on columns */ +export type Token_Price_Stddev_Samp_Fields = { + __typename?: 'token_price_stddev_samp_fields'; + id?: Maybe; + market_cap?: Maybe; + price?: Maybe; +}; + +/** order by stddev_samp() on columns of table "token_price" */ +export type Token_Price_Stddev_Samp_Order_By = { + id?: InputMaybe; + market_cap?: InputMaybe; + price?: InputMaybe; +}; + +/** aggregate sum on columns */ +export type Token_Price_Sum_Fields = { + __typename?: 'token_price_sum_fields'; + id?: Maybe; + market_cap?: Maybe; + price?: Maybe; +}; + +/** order by sum() on columns of table "token_price" */ +export type Token_Price_Sum_Order_By = { + id?: InputMaybe; + market_cap?: InputMaybe; + price?: InputMaybe; +}; + +/** aggregate var_pop on columns */ +export type Token_Price_Var_Pop_Fields = { + __typename?: 'token_price_var_pop_fields'; + id?: Maybe; + market_cap?: Maybe; + price?: Maybe; +}; + +/** order by var_pop() on columns of table "token_price" */ +export type Token_Price_Var_Pop_Order_By = { + id?: InputMaybe; + market_cap?: InputMaybe; + price?: InputMaybe; +}; + +/** aggregate var_samp on columns */ +export type Token_Price_Var_Samp_Fields = { + __typename?: 'token_price_var_samp_fields'; + id?: Maybe; + market_cap?: Maybe; + price?: Maybe; +}; + +/** order by var_samp() on columns of table "token_price" */ +export type Token_Price_Var_Samp_Order_By = { + id?: InputMaybe; + market_cap?: InputMaybe; + price?: InputMaybe; +}; + +/** aggregate variance on columns */ +export type Token_Price_Variance_Fields = { + __typename?: 'token_price_variance_fields'; + id?: Maybe; + market_cap?: Maybe; + price?: Maybe; +}; + +/** order by variance() on columns of table "token_price" */ +export type Token_Price_Variance_Order_By = { + id?: InputMaybe; + market_cap?: InputMaybe; + price?: InputMaybe; +}; + +/** select columns of table "token" */ +export enum Token_Select_Column { + /** column name */ + Name = 'name' +} + +/** columns and relationships of "token_unit" */ +export type Token_Unit = { + __typename?: 'token_unit'; + aliases?: Maybe; + denom: Scalars['String']; + exponent: Scalars['Int']; + price_id?: Maybe; + /** An object relationship */ + token: Token; + token_name: Scalars['String']; + /** An object relationship */ + token_price?: Maybe; + /** An array relationship */ + token_price_histories: Array; + /** An aggregate relationship */ + token_price_histories_aggregate: Token_Price_History_Aggregate; + /** An array relationship */ + token_prices: Array; + /** An aggregate relationship */ + token_prices_aggregate: Token_Price_Aggregate; +}; + + +/** columns and relationships of "token_unit" */ +export type Token_UnitToken_Price_HistoriesArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "token_unit" */ +export type Token_UnitToken_Price_Histories_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "token_unit" */ +export type Token_UnitToken_PricesArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "token_unit" */ +export type Token_UnitToken_Prices_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + +/** aggregated selection of "token_unit" */ +export type Token_Unit_Aggregate = { + __typename?: 'token_unit_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +/** aggregate fields of "token_unit" */ +export type Token_Unit_Aggregate_Fields = { + __typename?: 'token_unit_aggregate_fields'; + avg?: Maybe; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; + stddev?: Maybe; + stddev_pop?: Maybe; + stddev_samp?: Maybe; + sum?: Maybe; + var_pop?: Maybe; + var_samp?: Maybe; + variance?: Maybe; +}; + + +/** aggregate fields of "token_unit" */ +export type Token_Unit_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** order by aggregate values of table "token_unit" */ +export type Token_Unit_Aggregate_Order_By = { + avg?: InputMaybe; + count?: InputMaybe; + max?: InputMaybe; + min?: InputMaybe; + stddev?: InputMaybe; + stddev_pop?: InputMaybe; + stddev_samp?: InputMaybe; + sum?: InputMaybe; + var_pop?: InputMaybe; + var_samp?: InputMaybe; + variance?: InputMaybe; +}; + +/** aggregate avg on columns */ +export type Token_Unit_Avg_Fields = { + __typename?: 'token_unit_avg_fields'; + exponent?: Maybe; +}; + +/** order by avg() on columns of table "token_unit" */ +export type Token_Unit_Avg_Order_By = { + exponent?: InputMaybe; +}; + +/** Boolean expression to filter rows from the table "token_unit". All fields are combined with a logical 'AND'. */ +export type Token_Unit_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + aliases?: InputMaybe<_Text_Comparison_Exp>; + denom?: InputMaybe; + exponent?: InputMaybe; + price_id?: InputMaybe; + token?: InputMaybe; + token_name?: InputMaybe; + token_price?: InputMaybe; + token_price_histories?: InputMaybe; + token_prices?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Token_Unit_Max_Fields = { + __typename?: 'token_unit_max_fields'; + denom?: Maybe; + exponent?: Maybe; + price_id?: Maybe; + token_name?: Maybe; +}; + +/** order by max() on columns of table "token_unit" */ +export type Token_Unit_Max_Order_By = { + denom?: InputMaybe; + exponent?: InputMaybe; + price_id?: InputMaybe; + token_name?: InputMaybe; +}; + +/** aggregate min on columns */ +export type Token_Unit_Min_Fields = { + __typename?: 'token_unit_min_fields'; + denom?: Maybe; + exponent?: Maybe; + price_id?: Maybe; + token_name?: Maybe; +}; + +/** order by min() on columns of table "token_unit" */ +export type Token_Unit_Min_Order_By = { + denom?: InputMaybe; + exponent?: InputMaybe; + price_id?: InputMaybe; + token_name?: InputMaybe; +}; + +/** Ordering options when selecting data from "token_unit". */ +export type Token_Unit_Order_By = { + aliases?: InputMaybe; + denom?: InputMaybe; + exponent?: InputMaybe; + price_id?: InputMaybe; + token?: InputMaybe; + token_name?: InputMaybe; + token_price?: InputMaybe; + token_price_histories_aggregate?: InputMaybe; + token_prices_aggregate?: InputMaybe; +}; + +/** select columns of table "token_unit" */ +export enum Token_Unit_Select_Column { + /** column name */ + Aliases = 'aliases', + /** column name */ + Denom = 'denom', + /** column name */ + Exponent = 'exponent', + /** column name */ + PriceId = 'price_id', + /** column name */ + TokenName = 'token_name' +} + +/** aggregate stddev on columns */ +export type Token_Unit_Stddev_Fields = { + __typename?: 'token_unit_stddev_fields'; + exponent?: Maybe; +}; + +/** order by stddev() on columns of table "token_unit" */ +export type Token_Unit_Stddev_Order_By = { + exponent?: InputMaybe; +}; + +/** aggregate stddev_pop on columns */ +export type Token_Unit_Stddev_Pop_Fields = { + __typename?: 'token_unit_stddev_pop_fields'; + exponent?: Maybe; +}; + +/** order by stddev_pop() on columns of table "token_unit" */ +export type Token_Unit_Stddev_Pop_Order_By = { + exponent?: InputMaybe; +}; + +/** aggregate stddev_samp on columns */ +export type Token_Unit_Stddev_Samp_Fields = { + __typename?: 'token_unit_stddev_samp_fields'; + exponent?: Maybe; +}; + +/** order by stddev_samp() on columns of table "token_unit" */ +export type Token_Unit_Stddev_Samp_Order_By = { + exponent?: InputMaybe; +}; + +/** aggregate sum on columns */ +export type Token_Unit_Sum_Fields = { + __typename?: 'token_unit_sum_fields'; + exponent?: Maybe; +}; + +/** order by sum() on columns of table "token_unit" */ +export type Token_Unit_Sum_Order_By = { + exponent?: InputMaybe; +}; + +/** aggregate var_pop on columns */ +export type Token_Unit_Var_Pop_Fields = { + __typename?: 'token_unit_var_pop_fields'; + exponent?: Maybe; +}; + +/** order by var_pop() on columns of table "token_unit" */ +export type Token_Unit_Var_Pop_Order_By = { + exponent?: InputMaybe; +}; + +/** aggregate var_samp on columns */ +export type Token_Unit_Var_Samp_Fields = { + __typename?: 'token_unit_var_samp_fields'; + exponent?: Maybe; +}; + +/** order by var_samp() on columns of table "token_unit" */ +export type Token_Unit_Var_Samp_Order_By = { + exponent?: InputMaybe; +}; + +/** aggregate variance on columns */ +export type Token_Unit_Variance_Fields = { + __typename?: 'token_unit_variance_fields'; + exponent?: Maybe; +}; + +/** order by variance() on columns of table "token_unit" */ +export type Token_Unit_Variance_Order_By = { + exponent?: InputMaybe; +}; + +/** columns and relationships of "transaction" */ +export type Transaction = { + __typename?: 'transaction'; + /** An object relationship */ + block: Block; + fee: Scalars['jsonb']; + gas_used?: Maybe; + gas_wanted?: Maybe; + hash: Scalars['String']; + height: Scalars['bigint']; + logs?: Maybe; + memo?: Maybe; + messages: Scalars['jsonb']; + /** An array relationship */ + messagesByTransactionHashPartitionId: Array; + /** An aggregate relationship */ + messagesByTransactionHashPartitionId_aggregate: Message_Aggregate; + partition_id: Scalars['bigint']; + raw_log?: Maybe; + signatures: Scalars['_text']; + signer_infos: Scalars['jsonb']; + success: Scalars['Boolean']; +}; + + +/** columns and relationships of "transaction" */ +export type TransactionFeeArgs = { + path?: InputMaybe; +}; + + +/** columns and relationships of "transaction" */ +export type TransactionLogsArgs = { + path?: InputMaybe; +}; + + +/** columns and relationships of "transaction" */ +export type TransactionMessagesArgs = { + path?: InputMaybe; +}; + + +/** columns and relationships of "transaction" */ +export type TransactionMessagesByTransactionHashPartitionIdArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "transaction" */ +export type TransactionMessagesByTransactionHashPartitionId_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "transaction" */ +export type TransactionSigner_InfosArgs = { + path?: InputMaybe; +}; + +/** aggregated selection of "transaction" */ +export type Transaction_Aggregate = { + __typename?: 'transaction_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +/** aggregate fields of "transaction" */ +export type Transaction_Aggregate_Fields = { + __typename?: 'transaction_aggregate_fields'; + avg?: Maybe; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; + stddev?: Maybe; + stddev_pop?: Maybe; + stddev_samp?: Maybe; + sum?: Maybe; + var_pop?: Maybe; + var_samp?: Maybe; + variance?: Maybe; +}; + + +/** aggregate fields of "transaction" */ +export type Transaction_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** order by aggregate values of table "transaction" */ +export type Transaction_Aggregate_Order_By = { + avg?: InputMaybe; + count?: InputMaybe; + max?: InputMaybe; + min?: InputMaybe; + stddev?: InputMaybe; + stddev_pop?: InputMaybe; + stddev_samp?: InputMaybe; + sum?: InputMaybe; + var_pop?: InputMaybe; + var_samp?: InputMaybe; + variance?: InputMaybe; +}; + +/** aggregate avg on columns */ +export type Transaction_Avg_Fields = { + __typename?: 'transaction_avg_fields'; + gas_used?: Maybe; + gas_wanted?: Maybe; + height?: Maybe; + partition_id?: Maybe; +}; + +/** order by avg() on columns of table "transaction" */ +export type Transaction_Avg_Order_By = { + gas_used?: InputMaybe; + gas_wanted?: InputMaybe; + height?: InputMaybe; + partition_id?: InputMaybe; +}; + +/** Boolean expression to filter rows from the table "transaction". All fields are combined with a logical 'AND'. */ +export type Transaction_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + block?: InputMaybe; + fee?: InputMaybe; + gas_used?: InputMaybe; + gas_wanted?: InputMaybe; + hash?: InputMaybe; + height?: InputMaybe; + logs?: InputMaybe; + memo?: InputMaybe; + messages?: InputMaybe; + messagesByTransactionHashPartitionId?: InputMaybe; + partition_id?: InputMaybe; + raw_log?: InputMaybe; + signatures?: InputMaybe<_Text_Comparison_Exp>; + signer_infos?: InputMaybe; + success?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Transaction_Max_Fields = { + __typename?: 'transaction_max_fields'; + gas_used?: Maybe; + gas_wanted?: Maybe; + hash?: Maybe; + height?: Maybe; + memo?: Maybe; + partition_id?: Maybe; + raw_log?: Maybe; +}; + +/** order by max() on columns of table "transaction" */ +export type Transaction_Max_Order_By = { + gas_used?: InputMaybe; + gas_wanted?: InputMaybe; + hash?: InputMaybe; + height?: InputMaybe; + memo?: InputMaybe; + partition_id?: InputMaybe; + raw_log?: InputMaybe; +}; + +/** aggregate min on columns */ +export type Transaction_Min_Fields = { + __typename?: 'transaction_min_fields'; + gas_used?: Maybe; + gas_wanted?: Maybe; + hash?: Maybe; + height?: Maybe; + memo?: Maybe; + partition_id?: Maybe; + raw_log?: Maybe; +}; + +/** order by min() on columns of table "transaction" */ +export type Transaction_Min_Order_By = { + gas_used?: InputMaybe; + gas_wanted?: InputMaybe; + hash?: InputMaybe; + height?: InputMaybe; + memo?: InputMaybe; + partition_id?: InputMaybe; + raw_log?: InputMaybe; +}; + +/** Ordering options when selecting data from "transaction". */ +export type Transaction_Order_By = { + block?: InputMaybe; + fee?: InputMaybe; + gas_used?: InputMaybe; + gas_wanted?: InputMaybe; + hash?: InputMaybe; + height?: InputMaybe; + logs?: InputMaybe; + memo?: InputMaybe; + messages?: InputMaybe; + messagesByTransactionHashPartitionId_aggregate?: InputMaybe; + partition_id?: InputMaybe; + raw_log?: InputMaybe; + signatures?: InputMaybe; + signer_infos?: InputMaybe; + success?: InputMaybe; +}; + +/** select columns of table "transaction" */ +export enum Transaction_Select_Column { + /** column name */ + Fee = 'fee', + /** column name */ + GasUsed = 'gas_used', + /** column name */ + GasWanted = 'gas_wanted', + /** column name */ + Hash = 'hash', + /** column name */ + Height = 'height', + /** column name */ + Logs = 'logs', + /** column name */ + Memo = 'memo', + /** column name */ + Messages = 'messages', + /** column name */ + PartitionId = 'partition_id', + /** column name */ + RawLog = 'raw_log', + /** column name */ + Signatures = 'signatures', + /** column name */ + SignerInfos = 'signer_infos', + /** column name */ + Success = 'success' +} + +/** aggregate stddev on columns */ +export type Transaction_Stddev_Fields = { + __typename?: 'transaction_stddev_fields'; + gas_used?: Maybe; + gas_wanted?: Maybe; + height?: Maybe; + partition_id?: Maybe; +}; + +/** order by stddev() on columns of table "transaction" */ +export type Transaction_Stddev_Order_By = { + gas_used?: InputMaybe; + gas_wanted?: InputMaybe; + height?: InputMaybe; + partition_id?: InputMaybe; +}; + +/** aggregate stddev_pop on columns */ +export type Transaction_Stddev_Pop_Fields = { + __typename?: 'transaction_stddev_pop_fields'; + gas_used?: Maybe; + gas_wanted?: Maybe; + height?: Maybe; + partition_id?: Maybe; +}; + +/** order by stddev_pop() on columns of table "transaction" */ +export type Transaction_Stddev_Pop_Order_By = { + gas_used?: InputMaybe; + gas_wanted?: InputMaybe; + height?: InputMaybe; + partition_id?: InputMaybe; +}; + +/** aggregate stddev_samp on columns */ +export type Transaction_Stddev_Samp_Fields = { + __typename?: 'transaction_stddev_samp_fields'; + gas_used?: Maybe; + gas_wanted?: Maybe; + height?: Maybe; + partition_id?: Maybe; +}; + +/** order by stddev_samp() on columns of table "transaction" */ +export type Transaction_Stddev_Samp_Order_By = { + gas_used?: InputMaybe; + gas_wanted?: InputMaybe; + height?: InputMaybe; + partition_id?: InputMaybe; +}; + +/** aggregate sum on columns */ +export type Transaction_Sum_Fields = { + __typename?: 'transaction_sum_fields'; + gas_used?: Maybe; + gas_wanted?: Maybe; + height?: Maybe; + partition_id?: Maybe; +}; + +/** order by sum() on columns of table "transaction" */ +export type Transaction_Sum_Order_By = { + gas_used?: InputMaybe; + gas_wanted?: InputMaybe; + height?: InputMaybe; + partition_id?: InputMaybe; +}; + +/** aggregate var_pop on columns */ +export type Transaction_Var_Pop_Fields = { + __typename?: 'transaction_var_pop_fields'; + gas_used?: Maybe; + gas_wanted?: Maybe; + height?: Maybe; + partition_id?: Maybe; +}; + +/** order by var_pop() on columns of table "transaction" */ +export type Transaction_Var_Pop_Order_By = { + gas_used?: InputMaybe; + gas_wanted?: InputMaybe; + height?: InputMaybe; + partition_id?: InputMaybe; +}; + +/** aggregate var_samp on columns */ +export type Transaction_Var_Samp_Fields = { + __typename?: 'transaction_var_samp_fields'; + gas_used?: Maybe; + gas_wanted?: Maybe; + height?: Maybe; + partition_id?: Maybe; +}; + +/** order by var_samp() on columns of table "transaction" */ +export type Transaction_Var_Samp_Order_By = { + gas_used?: InputMaybe; + gas_wanted?: InputMaybe; + height?: InputMaybe; + partition_id?: InputMaybe; +}; + +/** aggregate variance on columns */ +export type Transaction_Variance_Fields = { + __typename?: 'transaction_variance_fields'; + gas_used?: Maybe; + gas_wanted?: Maybe; + height?: Maybe; + partition_id?: Maybe; +}; + +/** order by variance() on columns of table "transaction" */ +export type Transaction_Variance_Order_By = { + gas_used?: InputMaybe; + gas_wanted?: InputMaybe; + height?: InputMaybe; + partition_id?: InputMaybe; +}; + +/** columns and relationships of "validator" */ +export type Validator = { + __typename?: 'validator'; + /** An array relationship */ + blocks: Array; + /** An aggregate relationship */ + blocks_aggregate: Block_Aggregate; + consensus_address: Scalars['String']; + consensus_pubkey: Scalars['String']; + /** An array relationship */ + double_sign_votes: Array; + /** An aggregate relationship */ + double_sign_votes_aggregate: Double_Sign_Vote_Aggregate; + /** An array relationship */ + pre_commits: Array; + /** An aggregate relationship */ + pre_commits_aggregate: Pre_Commit_Aggregate; + /** An object relationship */ + proposal_validator_status_snapshot?: Maybe; + /** An array relationship */ + proposal_validator_status_snapshots: Array; + /** An aggregate relationship */ + proposal_validator_status_snapshots_aggregate: Proposal_Validator_Status_Snapshot_Aggregate; + /** An array relationship */ + validator_commissions: Array; + /** An aggregate relationship */ + validator_commissions_aggregate: Validator_Commission_Aggregate; + /** An array relationship */ + validator_descriptions: Array; + /** An aggregate relationship */ + validator_descriptions_aggregate: Validator_Description_Aggregate; + /** An object relationship */ + validator_info?: Maybe; + /** An array relationship */ + validator_infos: Array; + /** An aggregate relationship */ + validator_infos_aggregate: Validator_Info_Aggregate; + /** An array relationship */ + validator_signing_infos: Array; + /** An aggregate relationship */ + validator_signing_infos_aggregate: Validator_Signing_Info_Aggregate; + /** An array relationship */ + validator_statuses: Array; + /** An aggregate relationship */ + validator_statuses_aggregate: Validator_Status_Aggregate; + /** An array relationship */ + validator_voting_powers: Array; + /** An aggregate relationship */ + validator_voting_powers_aggregate: Validator_Voting_Power_Aggregate; +}; + + +/** columns and relationships of "validator" */ +export type ValidatorBlocksArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "validator" */ +export type ValidatorBlocks_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "validator" */ +export type ValidatorDouble_Sign_VotesArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "validator" */ +export type ValidatorDouble_Sign_Votes_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "validator" */ +export type ValidatorPre_CommitsArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "validator" */ +export type ValidatorPre_Commits_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "validator" */ +export type ValidatorProposal_Validator_Status_SnapshotsArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "validator" */ +export type ValidatorProposal_Validator_Status_Snapshots_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "validator" */ +export type ValidatorValidator_CommissionsArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "validator" */ +export type ValidatorValidator_Commissions_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "validator" */ +export type ValidatorValidator_DescriptionsArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "validator" */ +export type ValidatorValidator_Descriptions_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "validator" */ +export type ValidatorValidator_InfosArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "validator" */ +export type ValidatorValidator_Infos_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "validator" */ +export type ValidatorValidator_Signing_InfosArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "validator" */ +export type ValidatorValidator_Signing_Infos_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "validator" */ +export type ValidatorValidator_StatusesArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "validator" */ +export type ValidatorValidator_Statuses_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "validator" */ +export type ValidatorValidator_Voting_PowersArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "validator" */ +export type ValidatorValidator_Voting_Powers_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + +/** aggregated selection of "validator" */ +export type Validator_Aggregate = { + __typename?: 'validator_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +/** aggregate fields of "validator" */ +export type Validator_Aggregate_Fields = { + __typename?: 'validator_aggregate_fields'; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; +}; + + +/** aggregate fields of "validator" */ +export type Validator_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** Boolean expression to filter rows from the table "validator". All fields are combined with a logical 'AND'. */ +export type Validator_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + blocks?: InputMaybe; + consensus_address?: InputMaybe; + consensus_pubkey?: InputMaybe; + double_sign_votes?: InputMaybe; + pre_commits?: InputMaybe; + proposal_validator_status_snapshot?: InputMaybe; + proposal_validator_status_snapshots?: InputMaybe; + validator_commissions?: InputMaybe; + validator_descriptions?: InputMaybe; + validator_info?: InputMaybe; + validator_infos?: InputMaybe; + validator_signing_infos?: InputMaybe; + validator_statuses?: InputMaybe; + validator_voting_powers?: InputMaybe; +}; + +/** columns and relationships of "validator_commission" */ +export type Validator_Commission = { + __typename?: 'validator_commission'; + commission: Scalars['numeric']; + height: Scalars['bigint']; + min_self_delegation: Scalars['bigint']; + /** An object relationship */ + validator: Validator; + validator_address: Scalars['String']; +}; + +/** aggregated selection of "validator_commission" */ +export type Validator_Commission_Aggregate = { + __typename?: 'validator_commission_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +/** aggregate fields of "validator_commission" */ +export type Validator_Commission_Aggregate_Fields = { + __typename?: 'validator_commission_aggregate_fields'; + avg?: Maybe; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; + stddev?: Maybe; + stddev_pop?: Maybe; + stddev_samp?: Maybe; + sum?: Maybe; + var_pop?: Maybe; + var_samp?: Maybe; + variance?: Maybe; +}; + + +/** aggregate fields of "validator_commission" */ +export type Validator_Commission_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** order by aggregate values of table "validator_commission" */ +export type Validator_Commission_Aggregate_Order_By = { + avg?: InputMaybe; + count?: InputMaybe; + max?: InputMaybe; + min?: InputMaybe; + stddev?: InputMaybe; + stddev_pop?: InputMaybe; + stddev_samp?: InputMaybe; + sum?: InputMaybe; + var_pop?: InputMaybe; + var_samp?: InputMaybe; + variance?: InputMaybe; +}; + +/** aggregate avg on columns */ +export type Validator_Commission_Avg_Fields = { + __typename?: 'validator_commission_avg_fields'; + commission?: Maybe; + height?: Maybe; + min_self_delegation?: Maybe; +}; + +/** order by avg() on columns of table "validator_commission" */ +export type Validator_Commission_Avg_Order_By = { + commission?: InputMaybe; + height?: InputMaybe; + min_self_delegation?: InputMaybe; +}; + +/** Boolean expression to filter rows from the table "validator_commission". All fields are combined with a logical 'AND'. */ +export type Validator_Commission_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + commission?: InputMaybe; + height?: InputMaybe; + min_self_delegation?: InputMaybe; + validator?: InputMaybe; + validator_address?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Validator_Commission_Max_Fields = { + __typename?: 'validator_commission_max_fields'; + commission?: Maybe; + height?: Maybe; + min_self_delegation?: Maybe; + validator_address?: Maybe; +}; + +/** order by max() on columns of table "validator_commission" */ +export type Validator_Commission_Max_Order_By = { + commission?: InputMaybe; + height?: InputMaybe; + min_self_delegation?: InputMaybe; + validator_address?: InputMaybe; +}; + +/** aggregate min on columns */ +export type Validator_Commission_Min_Fields = { + __typename?: 'validator_commission_min_fields'; + commission?: Maybe; + height?: Maybe; + min_self_delegation?: Maybe; + validator_address?: Maybe; +}; + +/** order by min() on columns of table "validator_commission" */ +export type Validator_Commission_Min_Order_By = { + commission?: InputMaybe; + height?: InputMaybe; + min_self_delegation?: InputMaybe; + validator_address?: InputMaybe; +}; + +/** Ordering options when selecting data from "validator_commission". */ +export type Validator_Commission_Order_By = { + commission?: InputMaybe; + height?: InputMaybe; + min_self_delegation?: InputMaybe; + validator?: InputMaybe; + validator_address?: InputMaybe; +}; + +/** select columns of table "validator_commission" */ +export enum Validator_Commission_Select_Column { + /** column name */ + Commission = 'commission', + /** column name */ + Height = 'height', + /** column name */ + MinSelfDelegation = 'min_self_delegation', + /** column name */ + ValidatorAddress = 'validator_address' +} + +/** aggregate stddev on columns */ +export type Validator_Commission_Stddev_Fields = { + __typename?: 'validator_commission_stddev_fields'; + commission?: Maybe; + height?: Maybe; + min_self_delegation?: Maybe; +}; + +/** order by stddev() on columns of table "validator_commission" */ +export type Validator_Commission_Stddev_Order_By = { + commission?: InputMaybe; + height?: InputMaybe; + min_self_delegation?: InputMaybe; +}; + +/** aggregate stddev_pop on columns */ +export type Validator_Commission_Stddev_Pop_Fields = { + __typename?: 'validator_commission_stddev_pop_fields'; + commission?: Maybe; + height?: Maybe; + min_self_delegation?: Maybe; +}; + +/** order by stddev_pop() on columns of table "validator_commission" */ +export type Validator_Commission_Stddev_Pop_Order_By = { + commission?: InputMaybe; + height?: InputMaybe; + min_self_delegation?: InputMaybe; +}; + +/** aggregate stddev_samp on columns */ +export type Validator_Commission_Stddev_Samp_Fields = { + __typename?: 'validator_commission_stddev_samp_fields'; + commission?: Maybe; + height?: Maybe; + min_self_delegation?: Maybe; +}; + +/** order by stddev_samp() on columns of table "validator_commission" */ +export type Validator_Commission_Stddev_Samp_Order_By = { + commission?: InputMaybe; + height?: InputMaybe; + min_self_delegation?: InputMaybe; +}; + +/** aggregate sum on columns */ +export type Validator_Commission_Sum_Fields = { + __typename?: 'validator_commission_sum_fields'; + commission?: Maybe; + height?: Maybe; + min_self_delegation?: Maybe; +}; + +/** order by sum() on columns of table "validator_commission" */ +export type Validator_Commission_Sum_Order_By = { + commission?: InputMaybe; + height?: InputMaybe; + min_self_delegation?: InputMaybe; +}; + +/** aggregate var_pop on columns */ +export type Validator_Commission_Var_Pop_Fields = { + __typename?: 'validator_commission_var_pop_fields'; + commission?: Maybe; + height?: Maybe; + min_self_delegation?: Maybe; +}; + +/** order by var_pop() on columns of table "validator_commission" */ +export type Validator_Commission_Var_Pop_Order_By = { + commission?: InputMaybe; + height?: InputMaybe; + min_self_delegation?: InputMaybe; +}; + +/** aggregate var_samp on columns */ +export type Validator_Commission_Var_Samp_Fields = { + __typename?: 'validator_commission_var_samp_fields'; + commission?: Maybe; + height?: Maybe; + min_self_delegation?: Maybe; +}; + +/** order by var_samp() on columns of table "validator_commission" */ +export type Validator_Commission_Var_Samp_Order_By = { + commission?: InputMaybe; + height?: InputMaybe; + min_self_delegation?: InputMaybe; +}; + +/** aggregate variance on columns */ +export type Validator_Commission_Variance_Fields = { + __typename?: 'validator_commission_variance_fields'; + commission?: Maybe; + height?: Maybe; + min_self_delegation?: Maybe; +}; + +/** order by variance() on columns of table "validator_commission" */ +export type Validator_Commission_Variance_Order_By = { + commission?: InputMaybe; + height?: InputMaybe; + min_self_delegation?: InputMaybe; +}; + +/** columns and relationships of "validator_description" */ +export type Validator_Description = { + __typename?: 'validator_description'; + avatar_url?: Maybe; + details?: Maybe; + height: Scalars['bigint']; + identity?: Maybe; + moniker?: Maybe; + security_contact?: Maybe; + /** An object relationship */ + validator: Validator; + validator_address: Scalars['String']; + website?: Maybe; +}; + +/** aggregated selection of "validator_description" */ +export type Validator_Description_Aggregate = { + __typename?: 'validator_description_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +/** aggregate fields of "validator_description" */ +export type Validator_Description_Aggregate_Fields = { + __typename?: 'validator_description_aggregate_fields'; + avg?: Maybe; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; + stddev?: Maybe; + stddev_pop?: Maybe; + stddev_samp?: Maybe; + sum?: Maybe; + var_pop?: Maybe; + var_samp?: Maybe; + variance?: Maybe; +}; + + +/** aggregate fields of "validator_description" */ +export type Validator_Description_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** order by aggregate values of table "validator_description" */ +export type Validator_Description_Aggregate_Order_By = { + avg?: InputMaybe; + count?: InputMaybe; + max?: InputMaybe; + min?: InputMaybe; + stddev?: InputMaybe; + stddev_pop?: InputMaybe; + stddev_samp?: InputMaybe; + sum?: InputMaybe; + var_pop?: InputMaybe; + var_samp?: InputMaybe; + variance?: InputMaybe; +}; + +/** aggregate avg on columns */ +export type Validator_Description_Avg_Fields = { + __typename?: 'validator_description_avg_fields'; + height?: Maybe; +}; + +/** order by avg() on columns of table "validator_description" */ +export type Validator_Description_Avg_Order_By = { + height?: InputMaybe; +}; + +/** Boolean expression to filter rows from the table "validator_description". All fields are combined with a logical 'AND'. */ +export type Validator_Description_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + avatar_url?: InputMaybe; + details?: InputMaybe; + height?: InputMaybe; + identity?: InputMaybe; + moniker?: InputMaybe; + security_contact?: InputMaybe; + validator?: InputMaybe; + validator_address?: InputMaybe; + website?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Validator_Description_Max_Fields = { + __typename?: 'validator_description_max_fields'; + avatar_url?: Maybe; + details?: Maybe; + height?: Maybe; + identity?: Maybe; + moniker?: Maybe; + security_contact?: Maybe; + validator_address?: Maybe; + website?: Maybe; +}; + +/** order by max() on columns of table "validator_description" */ +export type Validator_Description_Max_Order_By = { + avatar_url?: InputMaybe; + details?: InputMaybe; + height?: InputMaybe; + identity?: InputMaybe; + moniker?: InputMaybe; + security_contact?: InputMaybe; + validator_address?: InputMaybe; + website?: InputMaybe; +}; + +/** aggregate min on columns */ +export type Validator_Description_Min_Fields = { + __typename?: 'validator_description_min_fields'; + avatar_url?: Maybe; + details?: Maybe; + height?: Maybe; + identity?: Maybe; + moniker?: Maybe; + security_contact?: Maybe; + validator_address?: Maybe; + website?: Maybe; +}; + +/** order by min() on columns of table "validator_description" */ +export type Validator_Description_Min_Order_By = { + avatar_url?: InputMaybe; + details?: InputMaybe; + height?: InputMaybe; + identity?: InputMaybe; + moniker?: InputMaybe; + security_contact?: InputMaybe; + validator_address?: InputMaybe; + website?: InputMaybe; +}; + +/** Ordering options when selecting data from "validator_description". */ +export type Validator_Description_Order_By = { + avatar_url?: InputMaybe; + details?: InputMaybe; + height?: InputMaybe; + identity?: InputMaybe; + moniker?: InputMaybe; + security_contact?: InputMaybe; + validator?: InputMaybe; + validator_address?: InputMaybe; + website?: InputMaybe; +}; + +/** select columns of table "validator_description" */ +export enum Validator_Description_Select_Column { + /** column name */ + AvatarUrl = 'avatar_url', + /** column name */ + Details = 'details', + /** column name */ + Height = 'height', + /** column name */ + Identity = 'identity', + /** column name */ + Moniker = 'moniker', + /** column name */ + SecurityContact = 'security_contact', + /** column name */ + ValidatorAddress = 'validator_address', + /** column name */ + Website = 'website' +} + +/** aggregate stddev on columns */ +export type Validator_Description_Stddev_Fields = { + __typename?: 'validator_description_stddev_fields'; + height?: Maybe; +}; + +/** order by stddev() on columns of table "validator_description" */ +export type Validator_Description_Stddev_Order_By = { + height?: InputMaybe; +}; + +/** aggregate stddev_pop on columns */ +export type Validator_Description_Stddev_Pop_Fields = { + __typename?: 'validator_description_stddev_pop_fields'; + height?: Maybe; +}; + +/** order by stddev_pop() on columns of table "validator_description" */ +export type Validator_Description_Stddev_Pop_Order_By = { + height?: InputMaybe; +}; + +/** aggregate stddev_samp on columns */ +export type Validator_Description_Stddev_Samp_Fields = { + __typename?: 'validator_description_stddev_samp_fields'; + height?: Maybe; +}; + +/** order by stddev_samp() on columns of table "validator_description" */ +export type Validator_Description_Stddev_Samp_Order_By = { + height?: InputMaybe; +}; + +/** aggregate sum on columns */ +export type Validator_Description_Sum_Fields = { + __typename?: 'validator_description_sum_fields'; + height?: Maybe; +}; + +/** order by sum() on columns of table "validator_description" */ +export type Validator_Description_Sum_Order_By = { + height?: InputMaybe; +}; + +/** aggregate var_pop on columns */ +export type Validator_Description_Var_Pop_Fields = { + __typename?: 'validator_description_var_pop_fields'; + height?: Maybe; +}; + +/** order by var_pop() on columns of table "validator_description" */ +export type Validator_Description_Var_Pop_Order_By = { + height?: InputMaybe; +}; + +/** aggregate var_samp on columns */ +export type Validator_Description_Var_Samp_Fields = { + __typename?: 'validator_description_var_samp_fields'; + height?: Maybe; +}; + +/** order by var_samp() on columns of table "validator_description" */ +export type Validator_Description_Var_Samp_Order_By = { + height?: InputMaybe; +}; + +/** aggregate variance on columns */ +export type Validator_Description_Variance_Fields = { + __typename?: 'validator_description_variance_fields'; + height?: Maybe; +}; + +/** order by variance() on columns of table "validator_description" */ +export type Validator_Description_Variance_Order_By = { + height?: InputMaybe; +}; + +/** columns and relationships of "validator_info" */ +export type Validator_Info = { + __typename?: 'validator_info'; + /** An object relationship */ + account?: Maybe; + consensus_address: Scalars['String']; + max_change_rate: Scalars['String']; + max_rate: Scalars['String']; + operator_address: Scalars['String']; + self_delegate_address?: Maybe; + /** An object relationship */ + validator: Validator; +}; + +/** aggregated selection of "validator_info" */ +export type Validator_Info_Aggregate = { + __typename?: 'validator_info_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +/** aggregate fields of "validator_info" */ +export type Validator_Info_Aggregate_Fields = { + __typename?: 'validator_info_aggregate_fields'; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; +}; + + +/** aggregate fields of "validator_info" */ +export type Validator_Info_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** order by aggregate values of table "validator_info" */ +export type Validator_Info_Aggregate_Order_By = { + count?: InputMaybe; + max?: InputMaybe; + min?: InputMaybe; +}; + +/** Boolean expression to filter rows from the table "validator_info". All fields are combined with a logical 'AND'. */ +export type Validator_Info_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + account?: InputMaybe; + consensus_address?: InputMaybe; + max_change_rate?: InputMaybe; + max_rate?: InputMaybe; + operator_address?: InputMaybe; + self_delegate_address?: InputMaybe; + validator?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Validator_Info_Max_Fields = { + __typename?: 'validator_info_max_fields'; + consensus_address?: Maybe; + max_change_rate?: Maybe; + max_rate?: Maybe; + operator_address?: Maybe; + self_delegate_address?: Maybe; +}; + +/** order by max() on columns of table "validator_info" */ +export type Validator_Info_Max_Order_By = { + consensus_address?: InputMaybe; + max_change_rate?: InputMaybe; + max_rate?: InputMaybe; + operator_address?: InputMaybe; + self_delegate_address?: InputMaybe; +}; + +/** aggregate min on columns */ +export type Validator_Info_Min_Fields = { + __typename?: 'validator_info_min_fields'; + consensus_address?: Maybe; + max_change_rate?: Maybe; + max_rate?: Maybe; + operator_address?: Maybe; + self_delegate_address?: Maybe; +}; + +/** order by min() on columns of table "validator_info" */ +export type Validator_Info_Min_Order_By = { + consensus_address?: InputMaybe; + max_change_rate?: InputMaybe; + max_rate?: InputMaybe; + operator_address?: InputMaybe; + self_delegate_address?: InputMaybe; +}; + +/** Ordering options when selecting data from "validator_info". */ +export type Validator_Info_Order_By = { + account?: InputMaybe; + consensus_address?: InputMaybe; + max_change_rate?: InputMaybe; + max_rate?: InputMaybe; + operator_address?: InputMaybe; + self_delegate_address?: InputMaybe; + validator?: InputMaybe; +}; + +/** select columns of table "validator_info" */ +export enum Validator_Info_Select_Column { + /** column name */ + ConsensusAddress = 'consensus_address', + /** column name */ + MaxChangeRate = 'max_change_rate', + /** column name */ + MaxRate = 'max_rate', + /** column name */ + OperatorAddress = 'operator_address', + /** column name */ + SelfDelegateAddress = 'self_delegate_address' +} + +/** aggregate max on columns */ +export type Validator_Max_Fields = { + __typename?: 'validator_max_fields'; + consensus_address?: Maybe; + consensus_pubkey?: Maybe; +}; + +/** aggregate min on columns */ +export type Validator_Min_Fields = { + __typename?: 'validator_min_fields'; + consensus_address?: Maybe; + consensus_pubkey?: Maybe; +}; + +/** Ordering options when selecting data from "validator". */ +export type Validator_Order_By = { + blocks_aggregate?: InputMaybe; + consensus_address?: InputMaybe; + consensus_pubkey?: InputMaybe; + double_sign_votes_aggregate?: InputMaybe; + pre_commits_aggregate?: InputMaybe; + proposal_validator_status_snapshot?: InputMaybe; + proposal_validator_status_snapshots_aggregate?: InputMaybe; + validator_commissions_aggregate?: InputMaybe; + validator_descriptions_aggregate?: InputMaybe; + validator_info?: InputMaybe; + validator_infos_aggregate?: InputMaybe; + validator_signing_infos_aggregate?: InputMaybe; + validator_statuses_aggregate?: InputMaybe; + validator_voting_powers_aggregate?: InputMaybe; +}; + +/** select columns of table "validator" */ +export enum Validator_Select_Column { + /** column name */ + ConsensusAddress = 'consensus_address', + /** column name */ + ConsensusPubkey = 'consensus_pubkey' +} + +/** columns and relationships of "validator_signing_info" */ +export type Validator_Signing_Info = { + __typename?: 'validator_signing_info'; + height: Scalars['bigint']; + index_offset: Scalars['bigint']; + jailed_until: Scalars['timestamp']; + missed_blocks_counter: Scalars['bigint']; + start_height: Scalars['bigint']; + tombstoned: Scalars['Boolean']; + validator_address: Scalars['String']; +}; + +/** aggregated selection of "validator_signing_info" */ +export type Validator_Signing_Info_Aggregate = { + __typename?: 'validator_signing_info_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +/** aggregate fields of "validator_signing_info" */ +export type Validator_Signing_Info_Aggregate_Fields = { + __typename?: 'validator_signing_info_aggregate_fields'; + avg?: Maybe; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; + stddev?: Maybe; + stddev_pop?: Maybe; + stddev_samp?: Maybe; + sum?: Maybe; + var_pop?: Maybe; + var_samp?: Maybe; + variance?: Maybe; +}; + + +/** aggregate fields of "validator_signing_info" */ +export type Validator_Signing_Info_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** order by aggregate values of table "validator_signing_info" */ +export type Validator_Signing_Info_Aggregate_Order_By = { + avg?: InputMaybe; + count?: InputMaybe; + max?: InputMaybe; + min?: InputMaybe; + stddev?: InputMaybe; + stddev_pop?: InputMaybe; + stddev_samp?: InputMaybe; + sum?: InputMaybe; + var_pop?: InputMaybe; + var_samp?: InputMaybe; + variance?: InputMaybe; +}; + +/** aggregate avg on columns */ +export type Validator_Signing_Info_Avg_Fields = { + __typename?: 'validator_signing_info_avg_fields'; + height?: Maybe; + index_offset?: Maybe; + missed_blocks_counter?: Maybe; + start_height?: Maybe; +}; + +/** order by avg() on columns of table "validator_signing_info" */ +export type Validator_Signing_Info_Avg_Order_By = { + height?: InputMaybe; + index_offset?: InputMaybe; + missed_blocks_counter?: InputMaybe; + start_height?: InputMaybe; +}; + +/** Boolean expression to filter rows from the table "validator_signing_info". All fields are combined with a logical 'AND'. */ +export type Validator_Signing_Info_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + height?: InputMaybe; + index_offset?: InputMaybe; + jailed_until?: InputMaybe; + missed_blocks_counter?: InputMaybe; + start_height?: InputMaybe; + tombstoned?: InputMaybe; + validator_address?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Validator_Signing_Info_Max_Fields = { + __typename?: 'validator_signing_info_max_fields'; + height?: Maybe; + index_offset?: Maybe; + jailed_until?: Maybe; + missed_blocks_counter?: Maybe; + start_height?: Maybe; + validator_address?: Maybe; +}; + +/** order by max() on columns of table "validator_signing_info" */ +export type Validator_Signing_Info_Max_Order_By = { + height?: InputMaybe; + index_offset?: InputMaybe; + jailed_until?: InputMaybe; + missed_blocks_counter?: InputMaybe; + start_height?: InputMaybe; + validator_address?: InputMaybe; +}; + +/** aggregate min on columns */ +export type Validator_Signing_Info_Min_Fields = { + __typename?: 'validator_signing_info_min_fields'; + height?: Maybe; + index_offset?: Maybe; + jailed_until?: Maybe; + missed_blocks_counter?: Maybe; + start_height?: Maybe; + validator_address?: Maybe; +}; + +/** order by min() on columns of table "validator_signing_info" */ +export type Validator_Signing_Info_Min_Order_By = { + height?: InputMaybe; + index_offset?: InputMaybe; + jailed_until?: InputMaybe; + missed_blocks_counter?: InputMaybe; + start_height?: InputMaybe; + validator_address?: InputMaybe; +}; + +/** Ordering options when selecting data from "validator_signing_info". */ +export type Validator_Signing_Info_Order_By = { + height?: InputMaybe; + index_offset?: InputMaybe; + jailed_until?: InputMaybe; + missed_blocks_counter?: InputMaybe; + start_height?: InputMaybe; + tombstoned?: InputMaybe; + validator_address?: InputMaybe; +}; + +/** select columns of table "validator_signing_info" */ +export enum Validator_Signing_Info_Select_Column { + /** column name */ + Height = 'height', + /** column name */ + IndexOffset = 'index_offset', + /** column name */ + JailedUntil = 'jailed_until', + /** column name */ + MissedBlocksCounter = 'missed_blocks_counter', + /** column name */ + StartHeight = 'start_height', + /** column name */ + Tombstoned = 'tombstoned', + /** column name */ + ValidatorAddress = 'validator_address' +} + +/** aggregate stddev on columns */ +export type Validator_Signing_Info_Stddev_Fields = { + __typename?: 'validator_signing_info_stddev_fields'; + height?: Maybe; + index_offset?: Maybe; + missed_blocks_counter?: Maybe; + start_height?: Maybe; +}; + +/** order by stddev() on columns of table "validator_signing_info" */ +export type Validator_Signing_Info_Stddev_Order_By = { + height?: InputMaybe; + index_offset?: InputMaybe; + missed_blocks_counter?: InputMaybe; + start_height?: InputMaybe; +}; + +/** aggregate stddev_pop on columns */ +export type Validator_Signing_Info_Stddev_Pop_Fields = { + __typename?: 'validator_signing_info_stddev_pop_fields'; + height?: Maybe; + index_offset?: Maybe; + missed_blocks_counter?: Maybe; + start_height?: Maybe; +}; + +/** order by stddev_pop() on columns of table "validator_signing_info" */ +export type Validator_Signing_Info_Stddev_Pop_Order_By = { + height?: InputMaybe; + index_offset?: InputMaybe; + missed_blocks_counter?: InputMaybe; + start_height?: InputMaybe; +}; + +/** aggregate stddev_samp on columns */ +export type Validator_Signing_Info_Stddev_Samp_Fields = { + __typename?: 'validator_signing_info_stddev_samp_fields'; + height?: Maybe; + index_offset?: Maybe; + missed_blocks_counter?: Maybe; + start_height?: Maybe; +}; + +/** order by stddev_samp() on columns of table "validator_signing_info" */ +export type Validator_Signing_Info_Stddev_Samp_Order_By = { + height?: InputMaybe; + index_offset?: InputMaybe; + missed_blocks_counter?: InputMaybe; + start_height?: InputMaybe; +}; + +/** aggregate sum on columns */ +export type Validator_Signing_Info_Sum_Fields = { + __typename?: 'validator_signing_info_sum_fields'; + height?: Maybe; + index_offset?: Maybe; + missed_blocks_counter?: Maybe; + start_height?: Maybe; +}; + +/** order by sum() on columns of table "validator_signing_info" */ +export type Validator_Signing_Info_Sum_Order_By = { + height?: InputMaybe; + index_offset?: InputMaybe; + missed_blocks_counter?: InputMaybe; + start_height?: InputMaybe; +}; + +/** aggregate var_pop on columns */ +export type Validator_Signing_Info_Var_Pop_Fields = { + __typename?: 'validator_signing_info_var_pop_fields'; + height?: Maybe; + index_offset?: Maybe; + missed_blocks_counter?: Maybe; + start_height?: Maybe; +}; + +/** order by var_pop() on columns of table "validator_signing_info" */ +export type Validator_Signing_Info_Var_Pop_Order_By = { + height?: InputMaybe; + index_offset?: InputMaybe; + missed_blocks_counter?: InputMaybe; + start_height?: InputMaybe; +}; + +/** aggregate var_samp on columns */ +export type Validator_Signing_Info_Var_Samp_Fields = { + __typename?: 'validator_signing_info_var_samp_fields'; + height?: Maybe; + index_offset?: Maybe; + missed_blocks_counter?: Maybe; + start_height?: Maybe; +}; + +/** order by var_samp() on columns of table "validator_signing_info" */ +export type Validator_Signing_Info_Var_Samp_Order_By = { + height?: InputMaybe; + index_offset?: InputMaybe; + missed_blocks_counter?: InputMaybe; + start_height?: InputMaybe; +}; + +/** aggregate variance on columns */ +export type Validator_Signing_Info_Variance_Fields = { + __typename?: 'validator_signing_info_variance_fields'; + height?: Maybe; + index_offset?: Maybe; + missed_blocks_counter?: Maybe; + start_height?: Maybe; +}; + +/** order by variance() on columns of table "validator_signing_info" */ +export type Validator_Signing_Info_Variance_Order_By = { + height?: InputMaybe; + index_offset?: InputMaybe; + missed_blocks_counter?: InputMaybe; + start_height?: InputMaybe; +}; + +/** columns and relationships of "validator_status" */ +export type Validator_Status = { + __typename?: 'validator_status'; + height: Scalars['bigint']; + jailed: Scalars['Boolean']; + status: Scalars['Int']; + tombstoned: Scalars['Boolean']; + /** An object relationship */ + validator: Validator; + validator_address: Scalars['String']; +}; + +/** aggregated selection of "validator_status" */ +export type Validator_Status_Aggregate = { + __typename?: 'validator_status_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +/** aggregate fields of "validator_status" */ +export type Validator_Status_Aggregate_Fields = { + __typename?: 'validator_status_aggregate_fields'; + avg?: Maybe; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; + stddev?: Maybe; + stddev_pop?: Maybe; + stddev_samp?: Maybe; + sum?: Maybe; + var_pop?: Maybe; + var_samp?: Maybe; + variance?: Maybe; +}; + + +/** aggregate fields of "validator_status" */ +export type Validator_Status_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** order by aggregate values of table "validator_status" */ +export type Validator_Status_Aggregate_Order_By = { + avg?: InputMaybe; + count?: InputMaybe; + max?: InputMaybe; + min?: InputMaybe; + stddev?: InputMaybe; + stddev_pop?: InputMaybe; + stddev_samp?: InputMaybe; + sum?: InputMaybe; + var_pop?: InputMaybe; + var_samp?: InputMaybe; + variance?: InputMaybe; +}; + +/** aggregate avg on columns */ +export type Validator_Status_Avg_Fields = { + __typename?: 'validator_status_avg_fields'; + height?: Maybe; + status?: Maybe; +}; + +/** order by avg() on columns of table "validator_status" */ +export type Validator_Status_Avg_Order_By = { + height?: InputMaybe; + status?: InputMaybe; +}; + +/** Boolean expression to filter rows from the table "validator_status". All fields are combined with a logical 'AND'. */ +export type Validator_Status_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + height?: InputMaybe; + jailed?: InputMaybe; + status?: InputMaybe; + tombstoned?: InputMaybe; + validator?: InputMaybe; + validator_address?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Validator_Status_Max_Fields = { + __typename?: 'validator_status_max_fields'; + height?: Maybe; + status?: Maybe; + validator_address?: Maybe; +}; + +/** order by max() on columns of table "validator_status" */ +export type Validator_Status_Max_Order_By = { + height?: InputMaybe; + status?: InputMaybe; + validator_address?: InputMaybe; +}; + +/** aggregate min on columns */ +export type Validator_Status_Min_Fields = { + __typename?: 'validator_status_min_fields'; + height?: Maybe; + status?: Maybe; + validator_address?: Maybe; +}; + +/** order by min() on columns of table "validator_status" */ +export type Validator_Status_Min_Order_By = { + height?: InputMaybe; + status?: InputMaybe; + validator_address?: InputMaybe; +}; + +/** Ordering options when selecting data from "validator_status". */ +export type Validator_Status_Order_By = { + height?: InputMaybe; + jailed?: InputMaybe; + status?: InputMaybe; + tombstoned?: InputMaybe; + validator?: InputMaybe; + validator_address?: InputMaybe; +}; + +/** select columns of table "validator_status" */ +export enum Validator_Status_Select_Column { + /** column name */ + Height = 'height', + /** column name */ + Jailed = 'jailed', + /** column name */ + Status = 'status', + /** column name */ + Tombstoned = 'tombstoned', + /** column name */ + ValidatorAddress = 'validator_address' +} + +/** aggregate stddev on columns */ +export type Validator_Status_Stddev_Fields = { + __typename?: 'validator_status_stddev_fields'; + height?: Maybe; + status?: Maybe; +}; + +/** order by stddev() on columns of table "validator_status" */ +export type Validator_Status_Stddev_Order_By = { + height?: InputMaybe; + status?: InputMaybe; +}; + +/** aggregate stddev_pop on columns */ +export type Validator_Status_Stddev_Pop_Fields = { + __typename?: 'validator_status_stddev_pop_fields'; + height?: Maybe; + status?: Maybe; +}; + +/** order by stddev_pop() on columns of table "validator_status" */ +export type Validator_Status_Stddev_Pop_Order_By = { + height?: InputMaybe; + status?: InputMaybe; +}; + +/** aggregate stddev_samp on columns */ +export type Validator_Status_Stddev_Samp_Fields = { + __typename?: 'validator_status_stddev_samp_fields'; + height?: Maybe; + status?: Maybe; +}; + +/** order by stddev_samp() on columns of table "validator_status" */ +export type Validator_Status_Stddev_Samp_Order_By = { + height?: InputMaybe; + status?: InputMaybe; +}; + +/** aggregate sum on columns */ +export type Validator_Status_Sum_Fields = { + __typename?: 'validator_status_sum_fields'; + height?: Maybe; + status?: Maybe; +}; + +/** order by sum() on columns of table "validator_status" */ +export type Validator_Status_Sum_Order_By = { + height?: InputMaybe; + status?: InputMaybe; +}; + +/** aggregate var_pop on columns */ +export type Validator_Status_Var_Pop_Fields = { + __typename?: 'validator_status_var_pop_fields'; + height?: Maybe; + status?: Maybe; +}; + +/** order by var_pop() on columns of table "validator_status" */ +export type Validator_Status_Var_Pop_Order_By = { + height?: InputMaybe; + status?: InputMaybe; +}; + +/** aggregate var_samp on columns */ +export type Validator_Status_Var_Samp_Fields = { + __typename?: 'validator_status_var_samp_fields'; + height?: Maybe; + status?: Maybe; +}; + +/** order by var_samp() on columns of table "validator_status" */ +export type Validator_Status_Var_Samp_Order_By = { + height?: InputMaybe; + status?: InputMaybe; +}; + +/** aggregate variance on columns */ +export type Validator_Status_Variance_Fields = { + __typename?: 'validator_status_variance_fields'; + height?: Maybe; + status?: Maybe; +}; + +/** order by variance() on columns of table "validator_status" */ +export type Validator_Status_Variance_Order_By = { + height?: InputMaybe; + status?: InputMaybe; +}; + +/** columns and relationships of "validator_voting_power" */ +export type Validator_Voting_Power = { + __typename?: 'validator_voting_power'; + /** An object relationship */ + block: Block; + height: Scalars['bigint']; + /** An object relationship */ + validator: Validator; + validator_address: Scalars['String']; + voting_power: Scalars['bigint']; +}; + +/** aggregated selection of "validator_voting_power" */ +export type Validator_Voting_Power_Aggregate = { + __typename?: 'validator_voting_power_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +/** aggregate fields of "validator_voting_power" */ +export type Validator_Voting_Power_Aggregate_Fields = { + __typename?: 'validator_voting_power_aggregate_fields'; + avg?: Maybe; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; + stddev?: Maybe; + stddev_pop?: Maybe; + stddev_samp?: Maybe; + sum?: Maybe; + var_pop?: Maybe; + var_samp?: Maybe; + variance?: Maybe; +}; + + +/** aggregate fields of "validator_voting_power" */ +export type Validator_Voting_Power_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** order by aggregate values of table "validator_voting_power" */ +export type Validator_Voting_Power_Aggregate_Order_By = { + avg?: InputMaybe; + count?: InputMaybe; + max?: InputMaybe; + min?: InputMaybe; + stddev?: InputMaybe; + stddev_pop?: InputMaybe; + stddev_samp?: InputMaybe; + sum?: InputMaybe; + var_pop?: InputMaybe; + var_samp?: InputMaybe; + variance?: InputMaybe; +}; + +/** aggregate avg on columns */ +export type Validator_Voting_Power_Avg_Fields = { + __typename?: 'validator_voting_power_avg_fields'; + height?: Maybe; + voting_power?: Maybe; +}; + +/** order by avg() on columns of table "validator_voting_power" */ +export type Validator_Voting_Power_Avg_Order_By = { + height?: InputMaybe; + voting_power?: InputMaybe; +}; + +/** Boolean expression to filter rows from the table "validator_voting_power". All fields are combined with a logical 'AND'. */ +export type Validator_Voting_Power_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + block?: InputMaybe; + height?: InputMaybe; + validator?: InputMaybe; + validator_address?: InputMaybe; + voting_power?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Validator_Voting_Power_Max_Fields = { + __typename?: 'validator_voting_power_max_fields'; + height?: Maybe; + validator_address?: Maybe; + voting_power?: Maybe; +}; + +/** order by max() on columns of table "validator_voting_power" */ +export type Validator_Voting_Power_Max_Order_By = { + height?: InputMaybe; + validator_address?: InputMaybe; + voting_power?: InputMaybe; +}; + +/** aggregate min on columns */ +export type Validator_Voting_Power_Min_Fields = { + __typename?: 'validator_voting_power_min_fields'; + height?: Maybe; + validator_address?: Maybe; + voting_power?: Maybe; +}; + +/** order by min() on columns of table "validator_voting_power" */ +export type Validator_Voting_Power_Min_Order_By = { + height?: InputMaybe; + validator_address?: InputMaybe; + voting_power?: InputMaybe; +}; + +/** Ordering options when selecting data from "validator_voting_power". */ +export type Validator_Voting_Power_Order_By = { + block?: InputMaybe; + height?: InputMaybe; + validator?: InputMaybe; + validator_address?: InputMaybe; + voting_power?: InputMaybe; +}; + +/** select columns of table "validator_voting_power" */ +export enum Validator_Voting_Power_Select_Column { + /** column name */ + Height = 'height', + /** column name */ + ValidatorAddress = 'validator_address', + /** column name */ + VotingPower = 'voting_power' +} + +/** aggregate stddev on columns */ +export type Validator_Voting_Power_Stddev_Fields = { + __typename?: 'validator_voting_power_stddev_fields'; + height?: Maybe; + voting_power?: Maybe; +}; + +/** order by stddev() on columns of table "validator_voting_power" */ +export type Validator_Voting_Power_Stddev_Order_By = { + height?: InputMaybe; + voting_power?: InputMaybe; +}; + +/** aggregate stddev_pop on columns */ +export type Validator_Voting_Power_Stddev_Pop_Fields = { + __typename?: 'validator_voting_power_stddev_pop_fields'; + height?: Maybe; + voting_power?: Maybe; +}; + +/** order by stddev_pop() on columns of table "validator_voting_power" */ +export type Validator_Voting_Power_Stddev_Pop_Order_By = { + height?: InputMaybe; + voting_power?: InputMaybe; +}; + +/** aggregate stddev_samp on columns */ +export type Validator_Voting_Power_Stddev_Samp_Fields = { + __typename?: 'validator_voting_power_stddev_samp_fields'; + height?: Maybe; + voting_power?: Maybe; +}; + +/** order by stddev_samp() on columns of table "validator_voting_power" */ +export type Validator_Voting_Power_Stddev_Samp_Order_By = { + height?: InputMaybe; + voting_power?: InputMaybe; +}; + +/** aggregate sum on columns */ +export type Validator_Voting_Power_Sum_Fields = { + __typename?: 'validator_voting_power_sum_fields'; + height?: Maybe; + voting_power?: Maybe; +}; + +/** order by sum() on columns of table "validator_voting_power" */ +export type Validator_Voting_Power_Sum_Order_By = { + height?: InputMaybe; + voting_power?: InputMaybe; +}; + +/** aggregate var_pop on columns */ +export type Validator_Voting_Power_Var_Pop_Fields = { + __typename?: 'validator_voting_power_var_pop_fields'; + height?: Maybe; + voting_power?: Maybe; +}; + +/** order by var_pop() on columns of table "validator_voting_power" */ +export type Validator_Voting_Power_Var_Pop_Order_By = { + height?: InputMaybe; + voting_power?: InputMaybe; +}; + +/** aggregate var_samp on columns */ +export type Validator_Voting_Power_Var_Samp_Fields = { + __typename?: 'validator_voting_power_var_samp_fields'; + height?: Maybe; + voting_power?: Maybe; +}; + +/** order by var_samp() on columns of table "validator_voting_power" */ +export type Validator_Voting_Power_Var_Samp_Order_By = { + height?: InputMaybe; + voting_power?: InputMaybe; +}; + +/** aggregate variance on columns */ +export type Validator_Voting_Power_Variance_Fields = { + __typename?: 'validator_voting_power_variance_fields'; + height?: Maybe; + voting_power?: Maybe; +}; + +/** order by variance() on columns of table "validator_voting_power" */ +export type Validator_Voting_Power_Variance_Order_By = { + height?: InputMaybe; + voting_power?: InputMaybe; +}; + +/** columns and relationships of "vesting_account" */ +export type Vesting_Account = { + __typename?: 'vesting_account'; + /** An object relationship */ + account: Account; + address: Scalars['String']; + end_time: Scalars['timestamp']; + id: Scalars['Int']; + original_vesting: Scalars['_coin']; + start_time?: Maybe; + type: Scalars['String']; + /** An array relationship */ + vesting_periods: Array; + /** An aggregate relationship */ + vesting_periods_aggregate: Vesting_Period_Aggregate; +}; + + +/** columns and relationships of "vesting_account" */ +export type Vesting_AccountVesting_PeriodsArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "vesting_account" */ +export type Vesting_AccountVesting_Periods_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + +/** aggregated selection of "vesting_account" */ +export type Vesting_Account_Aggregate = { + __typename?: 'vesting_account_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +/** aggregate fields of "vesting_account" */ +export type Vesting_Account_Aggregate_Fields = { + __typename?: 'vesting_account_aggregate_fields'; + avg?: Maybe; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; + stddev?: Maybe; + stddev_pop?: Maybe; + stddev_samp?: Maybe; + sum?: Maybe; + var_pop?: Maybe; + var_samp?: Maybe; + variance?: Maybe; +}; + + +/** aggregate fields of "vesting_account" */ +export type Vesting_Account_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** order by aggregate values of table "vesting_account" */ +export type Vesting_Account_Aggregate_Order_By = { + avg?: InputMaybe; + count?: InputMaybe; + max?: InputMaybe; + min?: InputMaybe; + stddev?: InputMaybe; + stddev_pop?: InputMaybe; + stddev_samp?: InputMaybe; + sum?: InputMaybe; + var_pop?: InputMaybe; + var_samp?: InputMaybe; + variance?: InputMaybe; +}; + +/** aggregate avg on columns */ +export type Vesting_Account_Avg_Fields = { + __typename?: 'vesting_account_avg_fields'; + id?: Maybe; +}; + +/** order by avg() on columns of table "vesting_account" */ +export type Vesting_Account_Avg_Order_By = { + id?: InputMaybe; +}; + +/** Boolean expression to filter rows from the table "vesting_account". All fields are combined with a logical 'AND'. */ +export type Vesting_Account_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + account?: InputMaybe; + address?: InputMaybe; + end_time?: InputMaybe; + id?: InputMaybe; + original_vesting?: InputMaybe<_Coin_Comparison_Exp>; + start_time?: InputMaybe; + type?: InputMaybe; + vesting_periods?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Vesting_Account_Max_Fields = { + __typename?: 'vesting_account_max_fields'; + address?: Maybe; + end_time?: Maybe; + id?: Maybe; + start_time?: Maybe; + type?: Maybe; +}; + +/** order by max() on columns of table "vesting_account" */ +export type Vesting_Account_Max_Order_By = { + address?: InputMaybe; + end_time?: InputMaybe; + id?: InputMaybe; + start_time?: InputMaybe; + type?: InputMaybe; +}; + +/** aggregate min on columns */ +export type Vesting_Account_Min_Fields = { + __typename?: 'vesting_account_min_fields'; + address?: Maybe; + end_time?: Maybe; + id?: Maybe; + start_time?: Maybe; + type?: Maybe; +}; + +/** order by min() on columns of table "vesting_account" */ +export type Vesting_Account_Min_Order_By = { + address?: InputMaybe; + end_time?: InputMaybe; + id?: InputMaybe; + start_time?: InputMaybe; + type?: InputMaybe; +}; + +/** Ordering options when selecting data from "vesting_account". */ +export type Vesting_Account_Order_By = { + account?: InputMaybe; + address?: InputMaybe; + end_time?: InputMaybe; + id?: InputMaybe; + original_vesting?: InputMaybe; + start_time?: InputMaybe; + type?: InputMaybe; + vesting_periods_aggregate?: InputMaybe; +}; + +/** select columns of table "vesting_account" */ +export enum Vesting_Account_Select_Column { + /** column name */ + Address = 'address', + /** column name */ + EndTime = 'end_time', + /** column name */ + Id = 'id', + /** column name */ + OriginalVesting = 'original_vesting', + /** column name */ + StartTime = 'start_time', + /** column name */ + Type = 'type' +} + +/** aggregate stddev on columns */ +export type Vesting_Account_Stddev_Fields = { + __typename?: 'vesting_account_stddev_fields'; + id?: Maybe; +}; + +/** order by stddev() on columns of table "vesting_account" */ +export type Vesting_Account_Stddev_Order_By = { + id?: InputMaybe; +}; + +/** aggregate stddev_pop on columns */ +export type Vesting_Account_Stddev_Pop_Fields = { + __typename?: 'vesting_account_stddev_pop_fields'; + id?: Maybe; +}; + +/** order by stddev_pop() on columns of table "vesting_account" */ +export type Vesting_Account_Stddev_Pop_Order_By = { + id?: InputMaybe; +}; + +/** aggregate stddev_samp on columns */ +export type Vesting_Account_Stddev_Samp_Fields = { + __typename?: 'vesting_account_stddev_samp_fields'; + id?: Maybe; +}; + +/** order by stddev_samp() on columns of table "vesting_account" */ +export type Vesting_Account_Stddev_Samp_Order_By = { + id?: InputMaybe; +}; + +/** aggregate sum on columns */ +export type Vesting_Account_Sum_Fields = { + __typename?: 'vesting_account_sum_fields'; + id?: Maybe; +}; + +/** order by sum() on columns of table "vesting_account" */ +export type Vesting_Account_Sum_Order_By = { + id?: InputMaybe; +}; + +/** aggregate var_pop on columns */ +export type Vesting_Account_Var_Pop_Fields = { + __typename?: 'vesting_account_var_pop_fields'; + id?: Maybe; +}; + +/** order by var_pop() on columns of table "vesting_account" */ +export type Vesting_Account_Var_Pop_Order_By = { + id?: InputMaybe; +}; + +/** aggregate var_samp on columns */ +export type Vesting_Account_Var_Samp_Fields = { + __typename?: 'vesting_account_var_samp_fields'; + id?: Maybe; +}; + +/** order by var_samp() on columns of table "vesting_account" */ +export type Vesting_Account_Var_Samp_Order_By = { + id?: InputMaybe; +}; + +/** aggregate variance on columns */ +export type Vesting_Account_Variance_Fields = { + __typename?: 'vesting_account_variance_fields'; + id?: Maybe; +}; + +/** order by variance() on columns of table "vesting_account" */ +export type Vesting_Account_Variance_Order_By = { + id?: InputMaybe; +}; + +/** columns and relationships of "vesting_period" */ +export type Vesting_Period = { + __typename?: 'vesting_period'; + amount: Scalars['_coin']; + length: Scalars['bigint']; + period_order: Scalars['bigint']; + /** An object relationship */ + vesting_account: Vesting_Account; + vesting_account_id: Scalars['bigint']; +}; + +/** aggregated selection of "vesting_period" */ +export type Vesting_Period_Aggregate = { + __typename?: 'vesting_period_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +/** aggregate fields of "vesting_period" */ +export type Vesting_Period_Aggregate_Fields = { + __typename?: 'vesting_period_aggregate_fields'; + avg?: Maybe; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; + stddev?: Maybe; + stddev_pop?: Maybe; + stddev_samp?: Maybe; + sum?: Maybe; + var_pop?: Maybe; + var_samp?: Maybe; + variance?: Maybe; +}; + + +/** aggregate fields of "vesting_period" */ +export type Vesting_Period_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** order by aggregate values of table "vesting_period" */ +export type Vesting_Period_Aggregate_Order_By = { + avg?: InputMaybe; + count?: InputMaybe; + max?: InputMaybe; + min?: InputMaybe; + stddev?: InputMaybe; + stddev_pop?: InputMaybe; + stddev_samp?: InputMaybe; + sum?: InputMaybe; + var_pop?: InputMaybe; + var_samp?: InputMaybe; + variance?: InputMaybe; +}; + +/** aggregate avg on columns */ +export type Vesting_Period_Avg_Fields = { + __typename?: 'vesting_period_avg_fields'; + length?: Maybe; + period_order?: Maybe; + vesting_account_id?: Maybe; +}; + +/** order by avg() on columns of table "vesting_period" */ +export type Vesting_Period_Avg_Order_By = { + length?: InputMaybe; + period_order?: InputMaybe; + vesting_account_id?: InputMaybe; +}; + +/** Boolean expression to filter rows from the table "vesting_period". All fields are combined with a logical 'AND'. */ +export type Vesting_Period_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + amount?: InputMaybe<_Coin_Comparison_Exp>; + length?: InputMaybe; + period_order?: InputMaybe; + vesting_account?: InputMaybe; + vesting_account_id?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Vesting_Period_Max_Fields = { + __typename?: 'vesting_period_max_fields'; + length?: Maybe; + period_order?: Maybe; + vesting_account_id?: Maybe; +}; + +/** order by max() on columns of table "vesting_period" */ +export type Vesting_Period_Max_Order_By = { + length?: InputMaybe; + period_order?: InputMaybe; + vesting_account_id?: InputMaybe; +}; + +/** aggregate min on columns */ +export type Vesting_Period_Min_Fields = { + __typename?: 'vesting_period_min_fields'; + length?: Maybe; + period_order?: Maybe; + vesting_account_id?: Maybe; +}; + +/** order by min() on columns of table "vesting_period" */ +export type Vesting_Period_Min_Order_By = { + length?: InputMaybe; + period_order?: InputMaybe; + vesting_account_id?: InputMaybe; +}; + +/** Ordering options when selecting data from "vesting_period". */ +export type Vesting_Period_Order_By = { + amount?: InputMaybe; + length?: InputMaybe; + period_order?: InputMaybe; + vesting_account?: InputMaybe; + vesting_account_id?: InputMaybe; +}; + +/** select columns of table "vesting_period" */ +export enum Vesting_Period_Select_Column { + /** column name */ + Amount = 'amount', + /** column name */ + Length = 'length', + /** column name */ + PeriodOrder = 'period_order', + /** column name */ + VestingAccountId = 'vesting_account_id' +} + +/** aggregate stddev on columns */ +export type Vesting_Period_Stddev_Fields = { + __typename?: 'vesting_period_stddev_fields'; + length?: Maybe; + period_order?: Maybe; + vesting_account_id?: Maybe; +}; + +/** order by stddev() on columns of table "vesting_period" */ +export type Vesting_Period_Stddev_Order_By = { + length?: InputMaybe; + period_order?: InputMaybe; + vesting_account_id?: InputMaybe; +}; + +/** aggregate stddev_pop on columns */ +export type Vesting_Period_Stddev_Pop_Fields = { + __typename?: 'vesting_period_stddev_pop_fields'; + length?: Maybe; + period_order?: Maybe; + vesting_account_id?: Maybe; +}; + +/** order by stddev_pop() on columns of table "vesting_period" */ +export type Vesting_Period_Stddev_Pop_Order_By = { + length?: InputMaybe; + period_order?: InputMaybe; + vesting_account_id?: InputMaybe; +}; + +/** aggregate stddev_samp on columns */ +export type Vesting_Period_Stddev_Samp_Fields = { + __typename?: 'vesting_period_stddev_samp_fields'; + length?: Maybe; + period_order?: Maybe; + vesting_account_id?: Maybe; +}; + +/** order by stddev_samp() on columns of table "vesting_period" */ +export type Vesting_Period_Stddev_Samp_Order_By = { + length?: InputMaybe; + period_order?: InputMaybe; + vesting_account_id?: InputMaybe; +}; + +/** aggregate sum on columns */ +export type Vesting_Period_Sum_Fields = { + __typename?: 'vesting_period_sum_fields'; + length?: Maybe; + period_order?: Maybe; + vesting_account_id?: Maybe; +}; + +/** order by sum() on columns of table "vesting_period" */ +export type Vesting_Period_Sum_Order_By = { + length?: InputMaybe; + period_order?: InputMaybe; + vesting_account_id?: InputMaybe; +}; + +/** aggregate var_pop on columns */ +export type Vesting_Period_Var_Pop_Fields = { + __typename?: 'vesting_period_var_pop_fields'; + length?: Maybe; + period_order?: Maybe; + vesting_account_id?: Maybe; +}; + +/** order by var_pop() on columns of table "vesting_period" */ +export type Vesting_Period_Var_Pop_Order_By = { + length?: InputMaybe; + period_order?: InputMaybe; + vesting_account_id?: InputMaybe; +}; + +/** aggregate var_samp on columns */ +export type Vesting_Period_Var_Samp_Fields = { + __typename?: 'vesting_period_var_samp_fields'; + length?: Maybe; + period_order?: Maybe; + vesting_account_id?: Maybe; +}; + +/** order by var_samp() on columns of table "vesting_period" */ +export type Vesting_Period_Var_Samp_Order_By = { + length?: InputMaybe; + period_order?: InputMaybe; + vesting_account_id?: InputMaybe; +}; + +/** aggregate variance on columns */ +export type Vesting_Period_Variance_Fields = { + __typename?: 'vesting_period_variance_fields'; + length?: Maybe; + period_order?: Maybe; + vesting_account_id?: Maybe; +}; + +/** order by variance() on columns of table "vesting_period" */ +export type Vesting_Period_Variance_Order_By = { + length?: InputMaybe; + period_order?: InputMaybe; + vesting_account_id?: InputMaybe; +}; + +export type AccountCommissionQueryVariables = Exact<{ + validatorAddress: Scalars['String']; +}>; + + +export type AccountCommissionQuery = { commission?: { __typename?: 'ActionValidatorCommissionAmount', coins?: Array | null } | null }; + +export type AccountWithdrawalAddressQueryVariables = Exact<{ + address: Scalars['String']; +}>; + + +export type AccountWithdrawalAddressQuery = { withdrawalAddress: { __typename?: 'ActionAddress', address: string } }; + +export type AccountBalancesQueryVariables = Exact<{ + address: Scalars['String']; +}>; + + +export type AccountBalancesQuery = { accountBalances?: { __typename?: 'ActionBalance', coins?: Array | null } | null }; + +export type AccountDelegationBalanceQueryVariables = Exact<{ + address: Scalars['String']; +}>; + + +export type AccountDelegationBalanceQuery = { delegationBalance?: { __typename?: 'ActionBalance', coins?: Array | null } | null }; + +export type AccountUnbondingBalanceQueryVariables = Exact<{ + address: Scalars['String']; +}>; + + +export type AccountUnbondingBalanceQuery = { unbondingBalance?: { __typename?: 'ActionBalance', coins?: Array | null } | null }; + +export type AccountDelegationRewardsQueryVariables = Exact<{ + address: Scalars['String']; +}>; + + +export type AccountDelegationRewardsQuery = { delegationRewards?: Array<{ __typename?: 'ActionDelegationReward', coins?: Array | null, validatorAddress: string } | null> | null }; + +export type AccountDelegationsQueryVariables = Exact<{ + address: Scalars['String']; + offset?: InputMaybe; + limit?: InputMaybe; + pagination?: Scalars['Boolean']; +}>; + + +export type AccountDelegationsQuery = { delegations?: { __typename?: 'ActionDelegationResponse', delegations?: Array | null, pagination?: any | null } | null }; + +export type AccountRedelegationsQueryVariables = Exact<{ + address: Scalars['String']; + offset?: InputMaybe; + limit?: InputMaybe; + pagination?: Scalars['Boolean']; +}>; + + +export type AccountRedelegationsQuery = { redelegations?: { __typename?: 'ActionRedelegationResponse', redelegations?: Array | null, pagination?: any | null } | null }; + +export type AccountUndelegationsQueryVariables = Exact<{ + address: Scalars['String']; + offset?: InputMaybe; + limit?: InputMaybe; + pagination?: Scalars['Boolean']; +}>; + + +export type AccountUndelegationsQuery = { undelegations?: { __typename?: 'ActionUnbondingDelegationResponse', pagination?: any | null, undelegations?: Array | null } | null }; + +export type ActiveValidatorCountQueryVariables = Exact<{ [key: string]: never; }>; + + +export type ActiveValidatorCountQuery = { activeTotal: { __typename?: 'validator_status_aggregate', aggregate?: { __typename?: 'validator_status_aggregate_fields', count: number } | null }, inactiveTotal: { __typename?: 'validator_status_aggregate', aggregate?: { __typename?: 'validator_status_aggregate_fields', count: number } | null }, total: { __typename?: 'validator_status_aggregate', aggregate?: { __typename?: 'validator_status_aggregate_fields', count: number } | null } }; + +export type BlockDetailsQueryVariables = Exact<{ + height?: InputMaybe; + signatureHeight?: InputMaybe; +}>; + + +export type BlockDetailsQuery = { transaction: Array<{ __typename?: 'transaction', height: any, hash: string, messages: any, success: boolean, logs?: any | null }>, block: Array<{ __typename?: 'block', height: any, hash: string, timestamp: any, txs?: number | null, validator?: { __typename?: 'validator', validatorInfo?: { __typename?: 'validator_info', operatorAddress: string } | null } | null }>, preCommitsAggregate: { __typename?: 'pre_commit_aggregate', aggregate?: { __typename?: 'pre_commit_aggregate_fields', sum?: { __typename?: 'pre_commit_sum_fields', votingPower?: any | null } | null } | null }, preCommits: Array<{ __typename?: 'pre_commit', validator: { __typename?: 'validator', validatorInfo?: { __typename?: 'validator_info', operatorAddress: string } | null } }> }; + +export type LatestBlockHeightListenerSubscriptionVariables = Exact<{ + offset?: InputMaybe; +}>; + + +export type LatestBlockHeightListenerSubscription = { height: Array<{ __typename?: 'block', height: any }> }; + +export type AverageBlockTimeQueryVariables = Exact<{ [key: string]: never; }>; + + +export type AverageBlockTimeQuery = { averageBlockTime: Array<{ __typename?: 'average_block_time_per_hour', averageTime: any }> }; + +export type LatestBlockTimestampQueryVariables = Exact<{ + offset?: InputMaybe; +}>; + + +export type LatestBlockTimestampQuery = { block: Array<{ __typename?: 'block', timestamp: any }> }; + +export type BlocksListenerSubscriptionVariables = Exact<{ + limit?: InputMaybe; + offset?: InputMaybe; +}>; + + +export type BlocksListenerSubscription = { blocks: Array<{ __typename?: 'block', height: any, hash: string, timestamp: any, txs?: number | null, validator?: { __typename?: 'validator', validatorInfo?: { __typename?: 'validator_info', operatorAddress: string } | null } | null }> }; + +export type BlocksQueryVariables = Exact<{ + limit?: InputMaybe; + offset?: InputMaybe; +}>; + + +export type BlocksQuery = { blocks: Array<{ __typename?: 'block', height: any, hash: string, timestamp: any, txs?: number | null, validator?: { __typename?: 'validator', validatorInfo?: { __typename?: 'validator_info', self_delegate_address?: string | null, operatorAddress: string } | null, validatorDescriptions: Array<{ __typename?: 'validator_description', moniker?: string | null, identity?: string | null }> } | null }> }; + +export type ChainIdQueryVariables = Exact<{ [key: string]: never; }>; + + +export type ChainIdQuery = { genesis: Array<{ __typename?: 'genesis', time: any, chainId: string }> }; + +export type MarketDataQueryVariables = Exact<{ + denom?: InputMaybe; +}>; + + +export type MarketDataQuery = { communityPool: Array<{ __typename?: 'community_pool', coins: any }>, inflation: Array<{ __typename?: 'inflation', value: any }>, tokenPrice: Array<{ __typename?: 'token_price', price: any, marketCap: any }>, supply: Array<{ __typename?: 'supply', coins: any }>, bondedTokens: Array<{ __typename?: 'staking_pool', bonded_tokens: any }>, distributionParams: Array<{ __typename?: 'distribution_params', params: any }> }; + +export type GetMessagesByAddressQueryVariables = Exact<{ + address?: InputMaybe; + limit?: InputMaybe; + offset?: InputMaybe; + types?: InputMaybe; +}>; + + +export type GetMessagesByAddressQuery = { messagesByAddress: Array<{ __typename?: 'message', transaction?: { __typename?: 'transaction', height: any, hash: string, success: boolean, messages: any, logs?: any | null, block: { __typename?: 'block', height: any, timestamp: any } } | null }> }; + +export type OnlineVotingPowerQueryVariables = Exact<{ [key: string]: never; }>; + + +export type OnlineVotingPowerQuery = { activeTotal: { __typename?: 'validator_status_aggregate', aggregate?: { __typename?: 'validator_status_aggregate_fields', count: number } | null }, validatorVotingPowerAggregate: { __typename?: 'validator_voting_power_aggregate', aggregate?: { __typename?: 'validator_voting_power_aggregate_fields', sum?: { __typename?: 'validator_voting_power_sum_fields', votingPower?: any | null } | null } | null }, stakingPool: Array<{ __typename?: 'staking_pool', bonded: any }>, stakingParams: Array<{ __typename?: 'staking_params', params: any }> }; + +export type ParamsQueryVariables = Exact<{ [key: string]: never; }>; + + +export type ParamsQuery = { stakingParams: Array<{ __typename?: 'staking_params', params: any }>, slashingParams: Array<{ __typename?: 'slashing_params', params: any }>, mintParams: Array<{ __typename?: 'mint_params', params: any }>, distributionParams: Array<{ __typename?: 'distribution_params', params: any }>, govParams: Array<{ __typename?: 'gov_params', depositParams: any, tallyParams: any, votingParams: any }> }; + +export type ProposalDetailsQueryVariables = Exact<{ + proposalId?: InputMaybe; +}>; + + +export type ProposalDetailsQuery = { proposal: Array<{ __typename?: 'proposal', title: string, description: string, status?: string | null, content: any, proposer: string, proposalId: number, submitTime: any, proposalType: string, depositEndTime?: any | null, votingStartTime?: any | null, votingEndTime?: any | null }> }; + +export type ProposalDetailsTallyQueryVariables = Exact<{ + proposalId?: InputMaybe; +}>; + + +export type ProposalDetailsTallyQuery = { proposalTallyResult: Array<{ __typename?: 'proposal_tally_result', yes: string, no: string, abstain: string, noWithVeto: string }>, stakingPool: Array<{ __typename?: 'proposal_staking_pool_snapshot', bondedTokens: any }>, quorum: Array<{ __typename?: 'gov_params', tallyParams: any }> }; + +export type ProposalDetailsDepositsQueryVariables = Exact<{ + proposalId?: InputMaybe; +}>; + + +export type ProposalDetailsDepositsQuery = { proposalDeposit: Array<{ __typename?: 'proposal_deposit', amount?: any | null, depositorAddress?: string | null, block?: { __typename?: 'block', timestamp: any } | null }> }; + +export type ProposalDetailsVotesQueryVariables = Exact<{ + proposalId?: InputMaybe; +}>; + + +export type ProposalDetailsVotesQuery = { proposalVote: Array<{ __typename?: 'proposal_vote', option: string, voterAddress: string }>, validatorStatuses: Array<{ __typename?: 'proposal_validator_status_snapshot', validator: { __typename?: 'validator', validatorInfo?: { __typename?: 'validator_info', selfDelegateAddress?: string | null } | null } }> }; + +export type ProposalsQueryVariables = Exact<{ + limit?: InputMaybe; + offset?: InputMaybe; +}>; + + +export type ProposalsQuery = { proposals: Array<{ __typename?: 'proposal', title: string, status?: string | null, description: string, proposalId: number }>, total: { __typename?: 'proposal_aggregate', aggregate?: { __typename?: 'proposal_aggregate_fields', count: number } | null } }; + +export type TokenPriceListenerSubscriptionVariables = Exact<{ + denom?: InputMaybe; +}>; + + +export type TokenPriceListenerSubscription = { tokenPrice: Array<{ __typename?: 'token_price', id: number, price: any, timestamp: any, marketCap: any, unitName: string }> }; + +export type TokenPriceHistoryQueryVariables = Exact<{ + denom?: InputMaybe; + limit?: InputMaybe; +}>; + + +export type TokenPriceHistoryQuery = { tokenPrice: Array<{ __typename?: 'token_price_history', price: any, timestamp: any }> }; + +export type TokenomicsQueryVariables = Exact<{ [key: string]: never; }>; + + +export type TokenomicsQuery = { stakingParams: Array<{ __typename?: 'staking_params', params: any }>, stakingPool: Array<{ __typename?: 'staking_pool', bonded: any, unbonded: any }>, supply: Array<{ __typename?: 'supply', coins: any }> }; + +export type TransactionDetailsQueryVariables = Exact<{ + hash?: InputMaybe; +}>; + + +export type TransactionDetailsQuery = { transaction: Array<{ __typename?: 'transaction', logs?: any | null, hash: string, height: any, fee: any, gasUsed?: any | null, gasWanted?: any | null, success: boolean, memo?: string | null, messages: any, rawLog?: string | null, block: { __typename?: 'block', timestamp: any } }> }; + +export type TransactionsListenerSubscriptionVariables = Exact<{ + limit?: InputMaybe; + offset?: InputMaybe; +}>; + + +export type TransactionsListenerSubscription = { transactions: Array<{ __typename?: 'transaction', height: any, hash: string, success: boolean, messages: any, logs?: any | null, block: { __typename?: 'block', timestamp: any } }> }; + +export type TransactionsQueryVariables = Exact<{ + limit?: InputMaybe; + offset?: InputMaybe; +}>; + + +export type TransactionsQuery = { transactions: Array<{ __typename?: 'transaction', height: any, hash: string, success: boolean, messages: any, logs?: any | null, block: { __typename?: 'block', timestamp: any } }> }; + +export type LastHundredBlocksSubscriptionVariables = Exact<{ + address?: InputMaybe; +}>; + + +export type LastHundredBlocksSubscription = { block: Array<{ __typename?: 'block', height: any, validator?: { __typename?: 'validator', validatorInfo?: { __typename?: 'validator_info', operatorAddress: string } | null } | null, transactions: Array<{ __typename?: 'transaction', hash: string }>, precommits: Array<{ __typename?: 'pre_commit', validatorAddress: string }> }> }; + +export type ValidatorLastSeenListenerSubscriptionVariables = Exact<{ + address?: InputMaybe; +}>; + + +export type ValidatorLastSeenListenerSubscription = { preCommit: Array<{ __typename?: 'pre_commit', height: any, timestamp: any }> }; + +export type ValidatorDetailsQueryVariables = Exact<{ + address?: InputMaybe; +}>; + + +export type ValidatorDetailsQuery = { stakingPool: Array<{ __typename?: 'staking_pool', height: any, bonded: any }>, validator: Array<{ __typename?: 'validator', validatorDescriptions: Array<{ __typename?: 'validator_description', details?: string | null, website?: string | null }>, validatorStatuses: Array<{ __typename?: 'validator_status', status: number, jailed: boolean, height: any }>, validatorSigningInfos: Array<{ __typename?: 'validator_signing_info', tombstoned: boolean, missedBlocksCounter: any }>, validatorInfo?: { __typename?: 'validator_info', operatorAddress: string, selfDelegateAddress?: string | null, maxRate: string } | null, validatorCommissions: Array<{ __typename?: 'validator_commission', commission: any }>, validatorVotingPowers: Array<{ __typename?: 'validator_voting_power', height: any, votingPower: any }> }>, slashingParams: Array<{ __typename?: 'slashing_params', params: any }> }; + +export type ValidatorDelegationsQueryVariables = Exact<{ + validatorAddress: Scalars['String']; + offset?: InputMaybe; + limit?: InputMaybe; + pagination?: Scalars['Boolean']; +}>; + + +export type ValidatorDelegationsQuery = { delegations?: { __typename?: 'ActionDelegationResponse', delegations?: Array | null, pagination?: any | null } | null }; + +export type ValidatorRedelegationsQueryVariables = Exact<{ + validatorAddress: Scalars['String']; + offset?: InputMaybe; + limit?: InputMaybe; + pagination?: Scalars['Boolean']; +}>; + + +export type ValidatorRedelegationsQuery = { redelegations?: { __typename?: 'ActionRedelegationResponse', redelegations?: Array | null, pagination?: any | null } | null }; + +export type ValidatorUndelegationsQueryVariables = Exact<{ + validatorAddress: Scalars['String']; + offset?: InputMaybe; + limit?: InputMaybe; + pagination?: Scalars['Boolean']; +}>; + + +export type ValidatorUndelegationsQuery = { undelegations?: { __typename?: 'ActionUnbondingDelegationResponse', pagination?: any | null, undelegations?: Array | null } | null }; + +export type ValidatorsQueryVariables = Exact<{ [key: string]: never; }>; + + +export type ValidatorsQuery = { stakingPool: Array<{ __typename?: 'staking_pool', bondedTokens: any }>, validator: Array<{ __typename?: 'validator', validatorStatuses: Array<{ __typename?: 'validator_status', status: number, jailed: boolean, height: any }>, validatorSigningInfos: Array<{ __typename?: 'validator_signing_info', tombstoned: boolean, missedBlocksCounter: any }>, validatorInfo?: { __typename?: 'validator_info', operatorAddress: string, selfDelegateAddress?: string | null } | null, validatorVotingPowers: Array<{ __typename?: 'validator_voting_power', votingPower: any }>, validatorCommissions: Array<{ __typename?: 'validator_commission', commission: any }> }>, slashingParams: Array<{ __typename?: 'slashing_params', params: any }> }; + +export type ValidatorsAddressListQueryVariables = Exact<{ [key: string]: never; }>; + + +export type ValidatorsAddressListQuery = { validator: Array<{ __typename?: 'validator', validatorInfo?: { __typename?: 'validator_info', operatorAddress: string, selfDelegateAddress?: string | null, consensusAddress: string } | null, validatorDescriptions: Array<{ __typename?: 'validator_description', moniker?: string | null, identity?: string | null, avatarUrl?: string | null }> }> }; + +export type ValidatorAddressesQueryVariables = Exact<{ [key: string]: never; }>; + + +export type ValidatorAddressesQuery = { validator: Array<{ __typename?: 'validator', validatorInfo?: { __typename?: 'validator_info', operatorAddress: string, selfDelegateAddress?: string | null, consensusAddress: string } | null, validatorDescriptions: Array<{ __typename?: 'validator_description', moniker?: string | null, avatarUrl?: string | null }> }> }; + + +export const AccountCommissionDocument = gql` + query AccountCommission($validatorAddress: String!) { + commission: action_validator_commission_amount(address: $validatorAddress) { + coins + } +} + `; + +/** + * __useAccountCommissionQuery__ + * + * To run a query within a React component, call `useAccountCommissionQuery` and pass it any options that fit your needs. + * When your component renders, `useAccountCommissionQuery` 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 } = useAccountCommissionQuery({ + * variables: { + * validatorAddress: // value for 'validatorAddress' + * }, + * }); + */ +export function useAccountCommissionQuery(baseOptions: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(AccountCommissionDocument, options); + } +export function useAccountCommissionLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(AccountCommissionDocument, options); + } +export type AccountCommissionQueryHookResult = ReturnType; +export type AccountCommissionLazyQueryHookResult = ReturnType; +export type AccountCommissionQueryResult = Apollo.QueryResult; +export const AccountWithdrawalAddressDocument = gql` + query AccountWithdrawalAddress($address: String!) { + withdrawalAddress: action_delegator_withdraw_address(address: $address) { + address + } +} + `; + +/** + * __useAccountWithdrawalAddressQuery__ + * + * To run a query within a React component, call `useAccountWithdrawalAddressQuery` and pass it any options that fit your needs. + * When your component renders, `useAccountWithdrawalAddressQuery` 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 } = useAccountWithdrawalAddressQuery({ + * variables: { + * address: // value for 'address' + * }, + * }); + */ +export function useAccountWithdrawalAddressQuery(baseOptions: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(AccountWithdrawalAddressDocument, options); + } +export function useAccountWithdrawalAddressLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(AccountWithdrawalAddressDocument, options); + } +export type AccountWithdrawalAddressQueryHookResult = ReturnType; +export type AccountWithdrawalAddressLazyQueryHookResult = ReturnType; +export type AccountWithdrawalAddressQueryResult = Apollo.QueryResult; +export const AccountBalancesDocument = gql` + query AccountBalances($address: String!) { + accountBalances: action_account_balance(address: $address) { + coins + } +} + `; + +/** + * __useAccountBalancesQuery__ + * + * To run a query within a React component, call `useAccountBalancesQuery` and pass it any options that fit your needs. + * When your component renders, `useAccountBalancesQuery` 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 } = useAccountBalancesQuery({ + * variables: { + * address: // value for 'address' + * }, + * }); + */ +export function useAccountBalancesQuery(baseOptions: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(AccountBalancesDocument, options); + } +export function useAccountBalancesLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(AccountBalancesDocument, options); + } +export type AccountBalancesQueryHookResult = ReturnType; +export type AccountBalancesLazyQueryHookResult = ReturnType; +export type AccountBalancesQueryResult = Apollo.QueryResult; +export const AccountDelegationBalanceDocument = gql` + query AccountDelegationBalance($address: String!) { + delegationBalance: action_delegation_total(address: $address) { + coins + } +} + `; + +/** + * __useAccountDelegationBalanceQuery__ + * + * To run a query within a React component, call `useAccountDelegationBalanceQuery` and pass it any options that fit your needs. + * When your component renders, `useAccountDelegationBalanceQuery` 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 } = useAccountDelegationBalanceQuery({ + * variables: { + * address: // value for 'address' + * }, + * }); + */ +export function useAccountDelegationBalanceQuery(baseOptions: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(AccountDelegationBalanceDocument, options); + } +export function useAccountDelegationBalanceLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(AccountDelegationBalanceDocument, options); + } +export type AccountDelegationBalanceQueryHookResult = ReturnType; +export type AccountDelegationBalanceLazyQueryHookResult = ReturnType; +export type AccountDelegationBalanceQueryResult = Apollo.QueryResult; +export const AccountUnbondingBalanceDocument = gql` + query AccountUnbondingBalance($address: String!) { + unbondingBalance: action_unbonding_delegation_total(address: $address) { + coins + } +} + `; + +/** + * __useAccountUnbondingBalanceQuery__ + * + * To run a query within a React component, call `useAccountUnbondingBalanceQuery` and pass it any options that fit your needs. + * When your component renders, `useAccountUnbondingBalanceQuery` 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 } = useAccountUnbondingBalanceQuery({ + * variables: { + * address: // value for 'address' + * }, + * }); + */ +export function useAccountUnbondingBalanceQuery(baseOptions: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(AccountUnbondingBalanceDocument, options); + } +export function useAccountUnbondingBalanceLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(AccountUnbondingBalanceDocument, options); + } +export type AccountUnbondingBalanceQueryHookResult = ReturnType; +export type AccountUnbondingBalanceLazyQueryHookResult = ReturnType; +export type AccountUnbondingBalanceQueryResult = Apollo.QueryResult; +export const AccountDelegationRewardsDocument = gql` + query AccountDelegationRewards($address: String!) { + delegationRewards: action_delegation_reward(address: $address) { + validatorAddress: validator_address + coins + } +} + `; + +/** + * __useAccountDelegationRewardsQuery__ + * + * To run a query within a React component, call `useAccountDelegationRewardsQuery` and pass it any options that fit your needs. + * When your component renders, `useAccountDelegationRewardsQuery` 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 } = useAccountDelegationRewardsQuery({ + * variables: { + * address: // value for 'address' + * }, + * }); + */ +export function useAccountDelegationRewardsQuery(baseOptions: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(AccountDelegationRewardsDocument, options); + } +export function useAccountDelegationRewardsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(AccountDelegationRewardsDocument, options); + } +export type AccountDelegationRewardsQueryHookResult = ReturnType; +export type AccountDelegationRewardsLazyQueryHookResult = ReturnType; +export type AccountDelegationRewardsQueryResult = Apollo.QueryResult; +export const AccountDelegationsDocument = gql` + query AccountDelegations($address: String!, $offset: Int = 0, $limit: Int = 10, $pagination: Boolean! = true) { + delegations: action_delegation( + address: $address + limit: $limit + offset: $offset + count_total: $pagination + ) { + delegations + pagination + } +} + `; + +/** + * __useAccountDelegationsQuery__ + * + * To run a query within a React component, call `useAccountDelegationsQuery` and pass it any options that fit your needs. + * When your component renders, `useAccountDelegationsQuery` 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 } = useAccountDelegationsQuery({ + * variables: { + * address: // value for 'address' + * offset: // value for 'offset' + * limit: // value for 'limit' + * pagination: // value for 'pagination' + * }, + * }); + */ +export function useAccountDelegationsQuery(baseOptions: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(AccountDelegationsDocument, options); + } +export function useAccountDelegationsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(AccountDelegationsDocument, options); + } +export type AccountDelegationsQueryHookResult = ReturnType; +export type AccountDelegationsLazyQueryHookResult = ReturnType; +export type AccountDelegationsQueryResult = Apollo.QueryResult; +export const AccountRedelegationsDocument = gql` + query AccountRedelegations($address: String!, $offset: Int = 0, $limit: Int = 10, $pagination: Boolean! = true) { + redelegations: action_redelegation( + address: $address + limit: $limit + offset: $offset + count_total: $pagination + ) { + redelegations + pagination + } +} + `; + +/** + * __useAccountRedelegationsQuery__ + * + * To run a query within a React component, call `useAccountRedelegationsQuery` and pass it any options that fit your needs. + * When your component renders, `useAccountRedelegationsQuery` 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 } = useAccountRedelegationsQuery({ + * variables: { + * address: // value for 'address' + * offset: // value for 'offset' + * limit: // value for 'limit' + * pagination: // value for 'pagination' + * }, + * }); + */ +export function useAccountRedelegationsQuery(baseOptions: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(AccountRedelegationsDocument, options); + } +export function useAccountRedelegationsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(AccountRedelegationsDocument, options); + } +export type AccountRedelegationsQueryHookResult = ReturnType; +export type AccountRedelegationsLazyQueryHookResult = ReturnType; +export type AccountRedelegationsQueryResult = Apollo.QueryResult; +export const AccountUndelegationsDocument = gql` + query AccountUndelegations($address: String!, $offset: Int = 0, $limit: Int = 10, $pagination: Boolean! = true) { + undelegations: action_unbonding_delegation( + address: $address + limit: $limit + offset: $offset + count_total: $pagination + ) { + undelegations: unbonding_delegations + pagination + } +} + `; + +/** + * __useAccountUndelegationsQuery__ + * + * To run a query within a React component, call `useAccountUndelegationsQuery` and pass it any options that fit your needs. + * When your component renders, `useAccountUndelegationsQuery` 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 } = useAccountUndelegationsQuery({ + * variables: { + * address: // value for 'address' + * offset: // value for 'offset' + * limit: // value for 'limit' + * pagination: // value for 'pagination' + * }, + * }); + */ +export function useAccountUndelegationsQuery(baseOptions: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(AccountUndelegationsDocument, options); + } +export function useAccountUndelegationsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(AccountUndelegationsDocument, options); + } +export type AccountUndelegationsQueryHookResult = ReturnType; +export type AccountUndelegationsLazyQueryHookResult = ReturnType; +export type AccountUndelegationsQueryResult = Apollo.QueryResult; +export const ActiveValidatorCountDocument = gql` + query ActiveValidatorCount { + activeTotal: validator_status_aggregate(where: {status: {_eq: 3}}) { + aggregate { + count + } + } + inactiveTotal: validator_status_aggregate(where: {status: {_neq: 3}}) { + aggregate { + count + } + } + total: validator_status_aggregate { + aggregate { + count + } + } +} + `; + +/** + * __useActiveValidatorCountQuery__ + * + * To run a query within a React component, call `useActiveValidatorCountQuery` and pass it any options that fit your needs. + * When your component renders, `useActiveValidatorCountQuery` 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 } = useActiveValidatorCountQuery({ + * variables: { + * }, + * }); + */ +export function useActiveValidatorCountQuery(baseOptions?: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(ActiveValidatorCountDocument, options); + } +export function useActiveValidatorCountLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(ActiveValidatorCountDocument, options); + } +export type ActiveValidatorCountQueryHookResult = ReturnType; +export type ActiveValidatorCountLazyQueryHookResult = ReturnType; +export type ActiveValidatorCountQueryResult = Apollo.QueryResult; +export const BlockDetailsDocument = gql` + query BlockDetails($height: bigint, $signatureHeight: bigint) { + transaction(where: {height: {_eq: $height}}) { + height + hash + messages + success + logs + } + block(limit: 1, where: {height: {_eq: $height}}) { + height + hash + timestamp + txs: num_txs + validator { + validatorInfo: validator_info { + operatorAddress: operator_address + } + } + } + preCommitsAggregate: pre_commit_aggregate( + where: {height: {_eq: $signatureHeight}} + ) { + aggregate { + sum { + votingPower: voting_power + } + } + } + preCommits: pre_commit(where: {height: {_eq: $signatureHeight}}) { + validator { + validatorInfo: validator_info { + operatorAddress: operator_address + } + } + } +} + `; + +/** + * __useBlockDetailsQuery__ + * + * To run a query within a React component, call `useBlockDetailsQuery` and pass it any options that fit your needs. + * When your component renders, `useBlockDetailsQuery` 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 } = useBlockDetailsQuery({ + * variables: { + * height: // value for 'height' + * signatureHeight: // value for 'signatureHeight' + * }, + * }); + */ +export function useBlockDetailsQuery(baseOptions?: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(BlockDetailsDocument, options); + } +export function useBlockDetailsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(BlockDetailsDocument, options); + } +export type BlockDetailsQueryHookResult = ReturnType; +export type BlockDetailsLazyQueryHookResult = ReturnType; +export type BlockDetailsQueryResult = Apollo.QueryResult; +export const LatestBlockHeightListenerDocument = gql` + subscription LatestBlockHeightListener($offset: Int = 0) { + height: block(order_by: {height: desc}, limit: 1, offset: $offset) { + height + } +} + `; + +/** + * __useLatestBlockHeightListenerSubscription__ + * + * To run a query within a React component, call `useLatestBlockHeightListenerSubscription` and pass it any options that fit your needs. + * When your component renders, `useLatestBlockHeightListenerSubscription` 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 subscription, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useLatestBlockHeightListenerSubscription({ + * variables: { + * offset: // value for 'offset' + * }, + * }); + */ +export function useLatestBlockHeightListenerSubscription(baseOptions?: Apollo.SubscriptionHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useSubscription(LatestBlockHeightListenerDocument, options); + } +export type LatestBlockHeightListenerSubscriptionHookResult = ReturnType; +export type LatestBlockHeightListenerSubscriptionResult = Apollo.SubscriptionResult; +export const AverageBlockTimeDocument = gql` + query AverageBlockTime { + averageBlockTime: average_block_time_per_hour( + limit: 1 + order_by: {height: desc} + ) { + averageTime: average_time + } +} + `; + +/** + * __useAverageBlockTimeQuery__ + * + * To run a query within a React component, call `useAverageBlockTimeQuery` and pass it any options that fit your needs. + * When your component renders, `useAverageBlockTimeQuery` 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 } = useAverageBlockTimeQuery({ + * variables: { + * }, + * }); + */ +export function useAverageBlockTimeQuery(baseOptions?: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(AverageBlockTimeDocument, options); + } +export function useAverageBlockTimeLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(AverageBlockTimeDocument, options); + } +export type AverageBlockTimeQueryHookResult = ReturnType; +export type AverageBlockTimeLazyQueryHookResult = ReturnType; +export type AverageBlockTimeQueryResult = Apollo.QueryResult; +export const LatestBlockTimestampDocument = gql` + query LatestBlockTimestamp($offset: Int = 0) { + block: block(order_by: {height: desc}, limit: 1, offset: $offset) { + timestamp + } +} + `; + +/** + * __useLatestBlockTimestampQuery__ + * + * To run a query within a React component, call `useLatestBlockTimestampQuery` and pass it any options that fit your needs. + * When your component renders, `useLatestBlockTimestampQuery` 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 } = useLatestBlockTimestampQuery({ + * variables: { + * offset: // value for 'offset' + * }, + * }); + */ +export function useLatestBlockTimestampQuery(baseOptions?: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(LatestBlockTimestampDocument, options); + } +export function useLatestBlockTimestampLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(LatestBlockTimestampDocument, options); + } +export type LatestBlockTimestampQueryHookResult = ReturnType; +export type LatestBlockTimestampLazyQueryHookResult = ReturnType; +export type LatestBlockTimestampQueryResult = Apollo.QueryResult; +export const BlocksListenerDocument = gql` + subscription BlocksListener($limit: Int = 7, $offset: Int = 0) { + blocks: block(limit: $limit, offset: $offset, order_by: {height: desc}) { + height + txs: num_txs + hash + timestamp + validator { + validatorInfo: validator_info { + operatorAddress: operator_address + } + } + } +} + `; + +/** + * __useBlocksListenerSubscription__ + * + * To run a query within a React component, call `useBlocksListenerSubscription` and pass it any options that fit your needs. + * When your component renders, `useBlocksListenerSubscription` 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 subscription, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useBlocksListenerSubscription({ + * variables: { + * limit: // value for 'limit' + * offset: // value for 'offset' + * }, + * }); + */ +export function useBlocksListenerSubscription(baseOptions?: Apollo.SubscriptionHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useSubscription(BlocksListenerDocument, options); + } +export type BlocksListenerSubscriptionHookResult = ReturnType; +export type BlocksListenerSubscriptionResult = Apollo.SubscriptionResult; +export const BlocksDocument = gql` + query Blocks($limit: Int = 7, $offset: Int = 0) { + blocks: block(limit: $limit, offset: $offset, order_by: {height: desc}) { + height + txs: num_txs + hash + timestamp + validator { + validatorInfo: validator_info { + operatorAddress: operator_address + self_delegate_address + } + validatorDescriptions: validator_descriptions( + limit: 1 + order_by: {height: desc} + ) { + moniker + identity + } + } + } +} + `; + +/** + * __useBlocksQuery__ + * + * To run a query within a React component, call `useBlocksQuery` and pass it any options that fit your needs. + * When your component renders, `useBlocksQuery` 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 } = useBlocksQuery({ + * variables: { + * limit: // value for 'limit' + * offset: // value for 'offset' + * }, + * }); + */ +export function useBlocksQuery(baseOptions?: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(BlocksDocument, options); + } +export function useBlocksLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(BlocksDocument, options); + } +export type BlocksQueryHookResult = ReturnType; +export type BlocksLazyQueryHookResult = ReturnType; +export type BlocksQueryResult = Apollo.QueryResult; +export const ChainIdDocument = gql` + query ChainId { + genesis(limit: 1, order_by: {time: desc}) { + chainId: chain_id + time + } +} + `; + +/** + * __useChainIdQuery__ + * + * To run a query within a React component, call `useChainIdQuery` and pass it any options that fit your needs. + * When your component renders, `useChainIdQuery` 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 } = useChainIdQuery({ + * variables: { + * }, + * }); + */ +export function useChainIdQuery(baseOptions?: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(ChainIdDocument, options); + } +export function useChainIdLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(ChainIdDocument, options); + } +export type ChainIdQueryHookResult = ReturnType; +export type ChainIdLazyQueryHookResult = ReturnType; +export type ChainIdQueryResult = Apollo.QueryResult; +export const MarketDataDocument = gql` + query MarketData($denom: String) { + communityPool: community_pool(order_by: {height: desc}, limit: 1) { + coins + } + inflation: inflation(order_by: {height: desc}, limit: 1) { + value + } + tokenPrice: token_price(where: {unit_name: {_eq: $denom}}) { + marketCap: market_cap + price + } + supply { + coins + } + bondedTokens: staking_pool(order_by: {height: desc}, limit: 1) { + bonded_tokens + } + distributionParams: distribution_params { + params + } +} + `; + +/** + * __useMarketDataQuery__ + * + * To run a query within a React component, call `useMarketDataQuery` and pass it any options that fit your needs. + * When your component renders, `useMarketDataQuery` 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 } = useMarketDataQuery({ + * variables: { + * denom: // value for 'denom' + * }, + * }); + */ +export function useMarketDataQuery(baseOptions?: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(MarketDataDocument, options); + } +export function useMarketDataLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(MarketDataDocument, options); + } +export type MarketDataQueryHookResult = ReturnType; +export type MarketDataLazyQueryHookResult = ReturnType; +export type MarketDataQueryResult = Apollo.QueryResult; +export const GetMessagesByAddressDocument = gql` + query GetMessagesByAddress($address: _text, $limit: bigint = 50, $offset: bigint = 0, $types: _text = "{}") { + messagesByAddress: messages_by_address( + args: {addresses: $address, types: $types, limit: $limit, offset: $offset} + ) { + transaction { + height + hash + success + messages + logs + block { + height + timestamp + } + } + } +} + `; + +/** + * __useGetMessagesByAddressQuery__ + * + * To run a query within a React component, call `useGetMessagesByAddressQuery` and pass it any options that fit your needs. + * When your component renders, `useGetMessagesByAddressQuery` 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 } = useGetMessagesByAddressQuery({ + * variables: { + * address: // value for 'address' + * limit: // value for 'limit' + * offset: // value for 'offset' + * types: // value for 'types' + * }, + * }); + */ +export function useGetMessagesByAddressQuery(baseOptions?: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(GetMessagesByAddressDocument, options); + } +export function useGetMessagesByAddressLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(GetMessagesByAddressDocument, options); + } +export type GetMessagesByAddressQueryHookResult = ReturnType; +export type GetMessagesByAddressLazyQueryHookResult = ReturnType; +export type GetMessagesByAddressQueryResult = Apollo.QueryResult; +export const OnlineVotingPowerDocument = gql` + query OnlineVotingPower { + activeTotal: validator_status_aggregate(where: {status: {_eq: 3}}) { + aggregate { + count + } + } + validatorVotingPowerAggregate: validator_voting_power_aggregate( + where: {validator: {validator_statuses: {status: {_eq: 3}}}} + ) { + aggregate { + sum { + votingPower: voting_power + } + } + } + stakingPool: staking_pool(order_by: {height: desc}, limit: 1) { + bonded: bonded_tokens + } + stakingParams: staking_params(limit: 1) { + params + } +} + `; + +/** + * __useOnlineVotingPowerQuery__ + * + * To run a query within a React component, call `useOnlineVotingPowerQuery` and pass it any options that fit your needs. + * When your component renders, `useOnlineVotingPowerQuery` 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 } = useOnlineVotingPowerQuery({ + * variables: { + * }, + * }); + */ +export function useOnlineVotingPowerQuery(baseOptions?: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(OnlineVotingPowerDocument, options); + } +export function useOnlineVotingPowerLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(OnlineVotingPowerDocument, options); + } +export type OnlineVotingPowerQueryHookResult = ReturnType; +export type OnlineVotingPowerLazyQueryHookResult = ReturnType; +export type OnlineVotingPowerQueryResult = Apollo.QueryResult; +export const ParamsDocument = gql` + query Params { + stakingParams: staking_params(limit: 1, order_by: {height: desc}) { + params + } + slashingParams: slashing_params(limit: 1, order_by: {height: desc}) { + params + } + mintParams: mint_params(limit: 1, order_by: {height: desc}) { + params + } + distributionParams: distribution_params(limit: 1, order_by: {height: desc}) { + params + } + govParams: gov_params(limit: 1, order_by: {height: desc}) { + depositParams: deposit_params + tallyParams: tally_params + votingParams: voting_params + } +} + `; + +/** + * __useParamsQuery__ + * + * To run a query within a React component, call `useParamsQuery` and pass it any options that fit your needs. + * When your component renders, `useParamsQuery` 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 } = useParamsQuery({ + * variables: { + * }, + * }); + */ +export function useParamsQuery(baseOptions?: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(ParamsDocument, options); + } +export function useParamsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(ParamsDocument, options); + } +export type ParamsQueryHookResult = ReturnType; +export type ParamsLazyQueryHookResult = ReturnType; +export type ParamsQueryResult = Apollo.QueryResult; +export const ProposalDetailsDocument = gql` + query ProposalDetails($proposalId: Int) { + proposal(where: {id: {_eq: $proposalId}}) { + proposer: proposer_address + title + description + status + content + proposalId: id + submitTime: submit_time + proposalType: proposal_type + depositEndTime: deposit_end_time + votingStartTime: voting_start_time + votingEndTime: voting_end_time + } +} + `; + +/** + * __useProposalDetailsQuery__ + * + * To run a query within a React component, call `useProposalDetailsQuery` and pass it any options that fit your needs. + * When your component renders, `useProposalDetailsQuery` 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 } = useProposalDetailsQuery({ + * variables: { + * proposalId: // value for 'proposalId' + * }, + * }); + */ +export function useProposalDetailsQuery(baseOptions?: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(ProposalDetailsDocument, options); + } +export function useProposalDetailsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(ProposalDetailsDocument, options); + } +export type ProposalDetailsQueryHookResult = ReturnType; +export type ProposalDetailsLazyQueryHookResult = ReturnType; +export type ProposalDetailsQueryResult = Apollo.QueryResult; +export const ProposalDetailsTallyDocument = gql` + query ProposalDetailsTally($proposalId: Int) { + proposalTallyResult: proposal_tally_result( + where: {proposal_id: {_eq: $proposalId}} + ) { + yes + no + noWithVeto: no_with_veto + abstain + } + stakingPool: proposal_staking_pool_snapshot( + where: {proposal_id: {_eq: $proposalId}} + ) { + bondedTokens: bonded_tokens + } + quorum: gov_params(limit: 1, order_by: {height: desc}) { + tallyParams: tally_params + } +} + `; + +/** + * __useProposalDetailsTallyQuery__ + * + * To run a query within a React component, call `useProposalDetailsTallyQuery` and pass it any options that fit your needs. + * When your component renders, `useProposalDetailsTallyQuery` 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 } = useProposalDetailsTallyQuery({ + * variables: { + * proposalId: // value for 'proposalId' + * }, + * }); + */ +export function useProposalDetailsTallyQuery(baseOptions?: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(ProposalDetailsTallyDocument, options); + } +export function useProposalDetailsTallyLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(ProposalDetailsTallyDocument, options); + } +export type ProposalDetailsTallyQueryHookResult = ReturnType; +export type ProposalDetailsTallyLazyQueryHookResult = ReturnType; +export type ProposalDetailsTallyQueryResult = Apollo.QueryResult; +export const ProposalDetailsDepositsDocument = gql` + query ProposalDetailsDeposits($proposalId: Int) { + proposalDeposit: proposal_deposit( + where: {proposal_id: {_eq: $proposalId}} + order_by: {height: desc} + ) { + amount + depositorAddress: depositor_address + block { + timestamp + } + } +} + `; + +/** + * __useProposalDetailsDepositsQuery__ + * + * To run a query within a React component, call `useProposalDetailsDepositsQuery` and pass it any options that fit your needs. + * When your component renders, `useProposalDetailsDepositsQuery` 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 } = useProposalDetailsDepositsQuery({ + * variables: { + * proposalId: // value for 'proposalId' + * }, + * }); + */ +export function useProposalDetailsDepositsQuery(baseOptions?: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(ProposalDetailsDepositsDocument, options); + } +export function useProposalDetailsDepositsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(ProposalDetailsDepositsDocument, options); + } +export type ProposalDetailsDepositsQueryHookResult = ReturnType; +export type ProposalDetailsDepositsLazyQueryHookResult = ReturnType; +export type ProposalDetailsDepositsQueryResult = Apollo.QueryResult; +export const ProposalDetailsVotesDocument = gql` + query ProposalDetailsVotes($proposalId: Int) { + proposalVote: proposal_vote( + where: {proposal_id: {_eq: $proposalId}} + order_by: {height: desc} + ) { + option + voterAddress: voter_address + } + validatorStatuses: proposal_validator_status_snapshot( + where: {proposal_id: {_eq: $proposalId}, status: {_eq: 3}} + ) { + validator { + validatorInfo: validator_info { + selfDelegateAddress: self_delegate_address + } + } + } +} + `; + +/** + * __useProposalDetailsVotesQuery__ + * + * To run a query within a React component, call `useProposalDetailsVotesQuery` and pass it any options that fit your needs. + * When your component renders, `useProposalDetailsVotesQuery` 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 } = useProposalDetailsVotesQuery({ + * variables: { + * proposalId: // value for 'proposalId' + * }, + * }); + */ +export function useProposalDetailsVotesQuery(baseOptions?: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(ProposalDetailsVotesDocument, options); + } +export function useProposalDetailsVotesLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(ProposalDetailsVotesDocument, options); + } +export type ProposalDetailsVotesQueryHookResult = ReturnType; +export type ProposalDetailsVotesLazyQueryHookResult = ReturnType; +export type ProposalDetailsVotesQueryResult = Apollo.QueryResult; +export const ProposalsDocument = gql` + query Proposals($limit: Int = 7, $offset: Int = 0) { + proposals: proposal(limit: $limit, offset: $offset, order_by: {id: desc}) { + title + proposalId: id + status + description + } + total: proposal_aggregate { + aggregate { + count + } + } +} + `; + +/** + * __useProposalsQuery__ + * + * To run a query within a React component, call `useProposalsQuery` and pass it any options that fit your needs. + * When your component renders, `useProposalsQuery` 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 } = useProposalsQuery({ + * variables: { + * limit: // value for 'limit' + * offset: // value for 'offset' + * }, + * }); + */ +export function useProposalsQuery(baseOptions?: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(ProposalsDocument, options); + } +export function useProposalsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(ProposalsDocument, options); + } +export type ProposalsQueryHookResult = ReturnType; +export type ProposalsLazyQueryHookResult = ReturnType; +export type ProposalsQueryResult = Apollo.QueryResult; +export const TokenPriceListenerDocument = gql` + subscription TokenPriceListener($denom: String) { + tokenPrice: token_price(where: {unit_name: {_eq: $denom}}) { + id + price + timestamp + marketCap: market_cap + unitName: unit_name + } +} + `; + +/** + * __useTokenPriceListenerSubscription__ + * + * To run a query within a React component, call `useTokenPriceListenerSubscription` and pass it any options that fit your needs. + * When your component renders, `useTokenPriceListenerSubscription` 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 subscription, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useTokenPriceListenerSubscription({ + * variables: { + * denom: // value for 'denom' + * }, + * }); + */ +export function useTokenPriceListenerSubscription(baseOptions?: Apollo.SubscriptionHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useSubscription(TokenPriceListenerDocument, options); + } +export type TokenPriceListenerSubscriptionHookResult = ReturnType; +export type TokenPriceListenerSubscriptionResult = Apollo.SubscriptionResult; +export const TokenPriceHistoryDocument = gql` + query TokenPriceHistory($denom: String, $limit: Int = 10) { + tokenPrice: token_price_history( + where: {unit_name: {_eq: $denom}} + limit: $limit + order_by: {timestamp: desc} + ) { + price + timestamp + } +} + `; + +/** + * __useTokenPriceHistoryQuery__ + * + * To run a query within a React component, call `useTokenPriceHistoryQuery` and pass it any options that fit your needs. + * When your component renders, `useTokenPriceHistoryQuery` 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 } = useTokenPriceHistoryQuery({ + * variables: { + * denom: // value for 'denom' + * limit: // value for 'limit' + * }, + * }); + */ +export function useTokenPriceHistoryQuery(baseOptions?: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(TokenPriceHistoryDocument, options); + } +export function useTokenPriceHistoryLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(TokenPriceHistoryDocument, options); + } +export type TokenPriceHistoryQueryHookResult = ReturnType; +export type TokenPriceHistoryLazyQueryHookResult = ReturnType; +export type TokenPriceHistoryQueryResult = Apollo.QueryResult; +export const TokenomicsDocument = gql` + query Tokenomics { + stakingParams: staking_params(limit: 1) { + params + } + stakingPool: staking_pool(order_by: {height: desc}, limit: 1) { + bonded: bonded_tokens + unbonded: not_bonded_tokens + } + supply: supply(order_by: {height: desc}, limit: 1) { + coins + } +} + `; + +/** + * __useTokenomicsQuery__ + * + * To run a query within a React component, call `useTokenomicsQuery` and pass it any options that fit your needs. + * When your component renders, `useTokenomicsQuery` 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 } = useTokenomicsQuery({ + * variables: { + * }, + * }); + */ +export function useTokenomicsQuery(baseOptions?: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(TokenomicsDocument, options); + } +export function useTokenomicsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(TokenomicsDocument, options); + } +export type TokenomicsQueryHookResult = ReturnType; +export type TokenomicsLazyQueryHookResult = ReturnType; +export type TokenomicsQueryResult = Apollo.QueryResult; +export const TransactionDetailsDocument = gql` + query TransactionDetails($hash: String) { + transaction(where: {hash: {_eq: $hash}}, limit: 1) { + hash: hash + height: height + block: block { + timestamp: timestamp + } + fee: fee + gasUsed: gas_used + gasWanted: gas_wanted + success: success + memo: memo + messages: messages + logs + rawLog: raw_log + } +} + `; + +/** + * __useTransactionDetailsQuery__ + * + * To run a query within a React component, call `useTransactionDetailsQuery` and pass it any options that fit your needs. + * When your component renders, `useTransactionDetailsQuery` 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 } = useTransactionDetailsQuery({ + * variables: { + * hash: // value for 'hash' + * }, + * }); + */ +export function useTransactionDetailsQuery(baseOptions?: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(TransactionDetailsDocument, options); + } +export function useTransactionDetailsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(TransactionDetailsDocument, options); + } +export type TransactionDetailsQueryHookResult = ReturnType; +export type TransactionDetailsLazyQueryHookResult = ReturnType; +export type TransactionDetailsQueryResult = Apollo.QueryResult; +export const TransactionsListenerDocument = gql` + subscription TransactionsListener($limit: Int = 7, $offset: Int = 0) { + transactions: transaction( + limit: $limit + offset: $offset + order_by: {height: desc} + ) { + height + hash + success + block { + timestamp + } + messages + logs + } +} + `; + +/** + * __useTransactionsListenerSubscription__ + * + * To run a query within a React component, call `useTransactionsListenerSubscription` and pass it any options that fit your needs. + * When your component renders, `useTransactionsListenerSubscription` 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 subscription, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useTransactionsListenerSubscription({ + * variables: { + * limit: // value for 'limit' + * offset: // value for 'offset' + * }, + * }); + */ +export function useTransactionsListenerSubscription(baseOptions?: Apollo.SubscriptionHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useSubscription(TransactionsListenerDocument, options); + } +export type TransactionsListenerSubscriptionHookResult = ReturnType; +export type TransactionsListenerSubscriptionResult = Apollo.SubscriptionResult; +export const TransactionsDocument = gql` + query Transactions($limit: Int = 7, $offset: Int = 0) { + transactions: transaction( + limit: $limit + offset: $offset + order_by: {height: desc} + ) { + height + hash + success + block { + timestamp + } + messages + logs + } +} + `; + +/** + * __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: { + * limit: // value for 'limit' + * offset: // value for 'offset' + * }, + * }); + */ +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 LastHundredBlocksDocument = gql` + subscription LastHundredBlocks($address: String) { + block(offset: 1, order_by: {height: desc}, limit: 100) { + height + validator { + validatorInfo: validator_info { + operatorAddress: operator_address + } + } + transactions { + hash + } + precommits: pre_commits( + where: {validator: {validator_info: {operator_address: {_eq: $address}}}} + ) { + validatorAddress: validator_address + } + } +} + `; + +/** + * __useLastHundredBlocksSubscription__ + * + * To run a query within a React component, call `useLastHundredBlocksSubscription` and pass it any options that fit your needs. + * When your component renders, `useLastHundredBlocksSubscription` 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 subscription, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useLastHundredBlocksSubscription({ + * variables: { + * address: // value for 'address' + * }, + * }); + */ +export function useLastHundredBlocksSubscription(baseOptions?: Apollo.SubscriptionHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useSubscription(LastHundredBlocksDocument, options); + } +export type LastHundredBlocksSubscriptionHookResult = ReturnType; +export type LastHundredBlocksSubscriptionResult = Apollo.SubscriptionResult; +export const ValidatorLastSeenListenerDocument = gql` + subscription ValidatorLastSeenListener($address: String) { + preCommit: pre_commit( + limit: 1 + where: {validator: {validator_info: {operator_address: {_eq: $address}}}} + order_by: {height: desc} + ) { + height + timestamp + } +} + `; + +/** + * __useValidatorLastSeenListenerSubscription__ + * + * To run a query within a React component, call `useValidatorLastSeenListenerSubscription` and pass it any options that fit your needs. + * When your component renders, `useValidatorLastSeenListenerSubscription` 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 subscription, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useValidatorLastSeenListenerSubscription({ + * variables: { + * address: // value for 'address' + * }, + * }); + */ +export function useValidatorLastSeenListenerSubscription(baseOptions?: Apollo.SubscriptionHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useSubscription(ValidatorLastSeenListenerDocument, options); + } +export type ValidatorLastSeenListenerSubscriptionHookResult = ReturnType; +export type ValidatorLastSeenListenerSubscriptionResult = Apollo.SubscriptionResult; +export const ValidatorDetailsDocument = gql` + query ValidatorDetails($address: String) { + stakingPool: staking_pool(order_by: {height: desc}, limit: 1, offset: 0) { + height + bonded: bonded_tokens + } + validator(where: {validator_info: {operator_address: {_eq: $address}}}) { + validatorDescriptions: validator_descriptions( + order_by: {height: desc} + limit: 1 + ) { + details + website + } + validatorStatuses: validator_statuses(order_by: {height: desc}, limit: 1) { + status + jailed + height + } + validatorSigningInfos: validator_signing_infos( + order_by: {height: desc} + limit: 1 + ) { + missedBlocksCounter: missed_blocks_counter + tombstoned + } + validatorInfo: validator_info { + operatorAddress: operator_address + selfDelegateAddress: self_delegate_address + maxRate: max_rate + } + validatorCommissions: validator_commissions(order_by: {height: desc}, limit: 1) { + commission + } + validatorVotingPowers: validator_voting_powers( + offset: 0 + limit: 1 + order_by: {height: desc} + ) { + height + votingPower: voting_power + } + } + slashingParams: slashing_params(order_by: {height: desc}, limit: 1) { + params + } +} + `; + +/** + * __useValidatorDetailsQuery__ + * + * To run a query within a React component, call `useValidatorDetailsQuery` and pass it any options that fit your needs. + * When your component renders, `useValidatorDetailsQuery` 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 } = useValidatorDetailsQuery({ + * variables: { + * address: // value for 'address' + * }, + * }); + */ +export function useValidatorDetailsQuery(baseOptions?: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(ValidatorDetailsDocument, options); + } +export function useValidatorDetailsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(ValidatorDetailsDocument, options); + } +export type ValidatorDetailsQueryHookResult = ReturnType; +export type ValidatorDetailsLazyQueryHookResult = ReturnType; +export type ValidatorDetailsQueryResult = Apollo.QueryResult; +export const ValidatorDelegationsDocument = gql` + query ValidatorDelegations($validatorAddress: String!, $offset: Int = 0, $limit: Int = 10, $pagination: Boolean! = true) { + delegations: action_validator_delegations( + address: $validatorAddress + limit: $limit + offset: $offset + count_total: $pagination + ) { + delegations + pagination + } +} + `; + +/** + * __useValidatorDelegationsQuery__ + * + * To run a query within a React component, call `useValidatorDelegationsQuery` and pass it any options that fit your needs. + * When your component renders, `useValidatorDelegationsQuery` 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 } = useValidatorDelegationsQuery({ + * variables: { + * validatorAddress: // value for 'validatorAddress' + * offset: // value for 'offset' + * limit: // value for 'limit' + * pagination: // value for 'pagination' + * }, + * }); + */ +export function useValidatorDelegationsQuery(baseOptions: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(ValidatorDelegationsDocument, options); + } +export function useValidatorDelegationsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(ValidatorDelegationsDocument, options); + } +export type ValidatorDelegationsQueryHookResult = ReturnType; +export type ValidatorDelegationsLazyQueryHookResult = ReturnType; +export type ValidatorDelegationsQueryResult = Apollo.QueryResult; +export const ValidatorRedelegationsDocument = gql` + query ValidatorRedelegations($validatorAddress: String!, $offset: Int = 0, $limit: Int = 10, $pagination: Boolean! = true) { + redelegations: action_validator_redelegations_from( + address: $validatorAddress + limit: $limit + offset: $offset + count_total: $pagination + ) { + redelegations + pagination + } +} + `; + +/** + * __useValidatorRedelegationsQuery__ + * + * To run a query within a React component, call `useValidatorRedelegationsQuery` and pass it any options that fit your needs. + * When your component renders, `useValidatorRedelegationsQuery` 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 } = useValidatorRedelegationsQuery({ + * variables: { + * validatorAddress: // value for 'validatorAddress' + * offset: // value for 'offset' + * limit: // value for 'limit' + * pagination: // value for 'pagination' + * }, + * }); + */ +export function useValidatorRedelegationsQuery(baseOptions: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(ValidatorRedelegationsDocument, options); + } +export function useValidatorRedelegationsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(ValidatorRedelegationsDocument, options); + } +export type ValidatorRedelegationsQueryHookResult = ReturnType; +export type ValidatorRedelegationsLazyQueryHookResult = ReturnType; +export type ValidatorRedelegationsQueryResult = Apollo.QueryResult; +export const ValidatorUndelegationsDocument = gql` + query ValidatorUndelegations($validatorAddress: String!, $offset: Int = 0, $limit: Int = 10, $pagination: Boolean! = true) { + undelegations: action_validator_unbonding_delegations( + address: $validatorAddress + limit: $limit + offset: $offset + count_total: $pagination + ) { + undelegations: unbonding_delegations + pagination + } +} + `; + +/** + * __useValidatorUndelegationsQuery__ + * + * To run a query within a React component, call `useValidatorUndelegationsQuery` and pass it any options that fit your needs. + * When your component renders, `useValidatorUndelegationsQuery` 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 } = useValidatorUndelegationsQuery({ + * variables: { + * validatorAddress: // value for 'validatorAddress' + * offset: // value for 'offset' + * limit: // value for 'limit' + * pagination: // value for 'pagination' + * }, + * }); + */ +export function useValidatorUndelegationsQuery(baseOptions: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(ValidatorUndelegationsDocument, options); + } +export function useValidatorUndelegationsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(ValidatorUndelegationsDocument, options); + } +export type ValidatorUndelegationsQueryHookResult = ReturnType; +export type ValidatorUndelegationsLazyQueryHookResult = ReturnType; +export type ValidatorUndelegationsQueryResult = Apollo.QueryResult; +export const ValidatorsDocument = gql` + query Validators { + stakingPool: staking_pool(limit: 1, order_by: {height: desc}) { + bondedTokens: bonded_tokens + } + validator { + validatorStatuses: validator_statuses(order_by: {height: desc}, limit: 1) { + status + jailed + height + } + validatorSigningInfos: validator_signing_infos( + order_by: {height: desc} + limit: 1 + ) { + missedBlocksCounter: missed_blocks_counter + tombstoned + } + validatorInfo: validator_info { + operatorAddress: operator_address + selfDelegateAddress: self_delegate_address + } + validatorVotingPowers: validator_voting_powers( + offset: 0 + limit: 1 + order_by: {height: desc} + ) { + votingPower: voting_power + } + validatorCommissions: validator_commissions(order_by: {height: desc}, limit: 1) { + commission + } + validatorSigningInfos: validator_signing_infos( + order_by: {height: desc} + limit: 1 + ) { + missedBlocksCounter: missed_blocks_counter + } + } + slashingParams: slashing_params(order_by: {height: desc}, limit: 1) { + params + } +} + `; + +/** + * __useValidatorsQuery__ + * + * To run a query within a React component, call `useValidatorsQuery` and pass it any options that fit your needs. + * When your component renders, `useValidatorsQuery` 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 } = useValidatorsQuery({ + * variables: { + * }, + * }); + */ +export function useValidatorsQuery(baseOptions?: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(ValidatorsDocument, options); + } +export function useValidatorsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(ValidatorsDocument, options); + } +export type ValidatorsQueryHookResult = ReturnType; +export type ValidatorsLazyQueryHookResult = ReturnType; +export type ValidatorsQueryResult = Apollo.QueryResult; +export const ValidatorsAddressListDocument = gql` + query ValidatorsAddressList { + validator { + validatorInfo: validator_info { + operatorAddress: operator_address + selfDelegateAddress: self_delegate_address + consensusAddress: consensus_address + } + validatorDescriptions: validator_descriptions( + limit: 1 + order_by: {height: desc} + ) { + moniker + identity + avatarUrl: avatar_url + } + } +} + `; + +/** + * __useValidatorsAddressListQuery__ + * + * To run a query within a React component, call `useValidatorsAddressListQuery` and pass it any options that fit your needs. + * When your component renders, `useValidatorsAddressListQuery` 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 } = useValidatorsAddressListQuery({ + * variables: { + * }, + * }); + */ +export function useValidatorsAddressListQuery(baseOptions?: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(ValidatorsAddressListDocument, options); + } +export function useValidatorsAddressListLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(ValidatorsAddressListDocument, options); + } +export type ValidatorsAddressListQueryHookResult = ReturnType; +export type ValidatorsAddressListLazyQueryHookResult = ReturnType; +export type ValidatorsAddressListQueryResult = Apollo.QueryResult; +export const ValidatorAddressesDocument = gql` + query ValidatorAddresses { + validator( + where: {validator_info: {operator_address: {_is_null: false}, consensus_address: {_is_null: false}, self_delegate_address: {_is_null: false}}} + ) { + validatorInfo: validator_info { + operatorAddress: operator_address + selfDelegateAddress: self_delegate_address + consensusAddress: consensus_address + } + validatorDescriptions: validator_descriptions( + limit: 1 + order_by: {height: desc} + ) { + moniker + avatarUrl: avatar_url + } + } +} + `; + +/** + * __useValidatorAddressesQuery__ + * + * To run a query within a React component, call `useValidatorAddressesQuery` and pass it any options that fit your needs. + * When your component renders, `useValidatorAddressesQuery` 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 } = useValidatorAddressesQuery({ + * variables: { + * }, + * }); + */ +export function useValidatorAddressesQuery(baseOptions?: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(ValidatorAddressesDocument, options); + } +export function useValidatorAddressesLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(ValidatorAddressesDocument, options); + } +export type ValidatorAddressesQueryHookResult = ReturnType; +export type ValidatorAddressesLazyQueryHookResult = ReturnType; +export type ValidatorAddressesQueryResult = Apollo.QueryResult; \ No newline at end of file diff --git a/apps/web-optimum/src/pages/404.tsx b/apps/web-optimum/src/pages/404.tsx new file mode 100644 index 0000000000..76cf2cc94d --- /dev/null +++ b/apps/web-optimum/src/pages/404.tsx @@ -0,0 +1,10 @@ +import withGetStaticProps from '@/pages/withGetStaticProps'; +import NotFound from '@/screens/404'; +import type { NextPage } from 'next'; +import nextI18NextConfig from '../../next-i18next.config'; + +const Custom404: NextPage = () => ; + +export const getStaticProps = withGetStaticProps(nextI18NextConfig); + +export default Custom404; diff --git a/apps/web-optimum/src/pages/[dtag].tsx b/apps/web-optimum/src/pages/[dtag].tsx new file mode 100644 index 0000000000..cb8769bdd0 --- /dev/null +++ b/apps/web-optimum/src/pages/[dtag].tsx @@ -0,0 +1,11 @@ +import withGetStaticProps from '@/pages/withGetStaticProps'; +import ProfileDetails from '@/screens/profile_details'; +import type { NextPage } from 'next'; +import nextI18NextConfig from '../../next-i18next.config'; + +const ProfileDetailsPage: NextPage = () => ; + +export const getStaticPaths = () => ({ paths: [], fallback: 'blocking' }); +export const getStaticProps = withGetStaticProps(nextI18NextConfig, 'profiles', 'accounts'); + +export default ProfileDetailsPage; diff --git a/apps/web-optimum/src/pages/_app.tsx b/apps/web-optimum/src/pages/_app.tsx new file mode 100644 index 0000000000..254596e760 --- /dev/null +++ b/apps/web-optimum/src/pages/_app.tsx @@ -0,0 +1,7 @@ +import MyApp from '@/screens/app'; +import { appWithTranslation } from 'next-i18next'; +import 'react-toastify/dist/ReactToastify.css'; +import 'shared-utils/assets/styles/global.css'; +import nextI18NextConfig from '../../next-i18next.config'; + +export default appWithTranslation(MyApp, nextI18NextConfig); diff --git a/apps/web-optimum/src/pages/_document.tsx b/apps/web-optimum/src/pages/_document.tsx new file mode 100644 index 0000000000..174b41f650 --- /dev/null +++ b/apps/web-optimum/src/pages/_document.tsx @@ -0,0 +1,12 @@ +import Document from 'next/document'; +import DocumentComponent, { getInitialProps, DocumentComponentProps } from 'ui/pages/_document'; + +class MyDocument extends Document { + render() { + return ; + } +} + +MyDocument.getInitialProps = getInitialProps; + +export default MyDocument; diff --git a/apps/web-optimum/src/pages/_error.tsx b/apps/web-optimum/src/pages/_error.tsx new file mode 100644 index 0000000000..2cac4132ab --- /dev/null +++ b/apps/web-optimum/src/pages/_error.tsx @@ -0,0 +1,8 @@ +import type { NextPage } from 'next'; +import ErrorPage, { getInitialProps } from 'ui/pages/_error'; + +const MyError: NextPage = () => ; + +MyError.getInitialProps = getInitialProps; + +export default MyError; diff --git a/apps/web-optimum/src/pages/accounts/[address].tsx b/apps/web-optimum/src/pages/accounts/[address].tsx new file mode 100644 index 0000000000..bf63138222 --- /dev/null +++ b/apps/web-optimum/src/pages/accounts/[address].tsx @@ -0,0 +1,18 @@ +import withGetStaticProps from '@/pages/withGetStaticProps'; +import AccountDetails from '@/screens/account_details'; +import type { NextPage } from 'next'; +import nextI18NextConfig from '../../../next-i18next.config'; + +const AccountDetailsPage: NextPage = () => ; + +export const getStaticPaths = () => ({ paths: [], fallback: 'blocking' }); +export const getStaticProps = withGetStaticProps( + nextI18NextConfig, + 'accounts', + 'transactions', + 'validators', + 'message_labels', + 'message_contents' +); + +export default AccountDetailsPage; diff --git a/apps/web-optimum/src/pages/blocks/[height].tsx b/apps/web-optimum/src/pages/blocks/[height].tsx new file mode 100644 index 0000000000..3a090fc163 --- /dev/null +++ b/apps/web-optimum/src/pages/blocks/[height].tsx @@ -0,0 +1,17 @@ +import withGetStaticProps from '@/pages/withGetStaticProps'; +import BlockDetails from '@/screens/block_details'; +import type { NextPage } from 'next'; +import nextI18NextConfig from '../../../next-i18next.config'; + +const BlockDetailsPage: NextPage = () => ; + +export const getStaticPaths = () => ({ paths: [], fallback: 'blocking' }); +export const getStaticProps = withGetStaticProps( + nextI18NextConfig, + 'blocks', + 'transactions', + 'message_labels', + 'message_contents' +); + +export default BlockDetailsPage; diff --git a/apps/web-optimum/src/pages/blocks/index.tsx b/apps/web-optimum/src/pages/blocks/index.tsx new file mode 100644 index 0000000000..a25a08f025 --- /dev/null +++ b/apps/web-optimum/src/pages/blocks/index.tsx @@ -0,0 +1,16 @@ +import withGetStaticProps from '@/pages/withGetStaticProps'; +import Blocks from '@/screens/blocks'; +import type { NextPage } from 'next'; +import nextI18NextConfig from '../../../next-i18next.config'; + +const BlocksPage: NextPage = () => ; + +export const getStaticProps = withGetStaticProps( + nextI18NextConfig, + 'blocks', + 'transactions', + 'message_labels', + 'message_contents' +); + +export default BlocksPage; diff --git a/apps/web-optimum/src/pages/index.tsx b/apps/web-optimum/src/pages/index.tsx new file mode 100644 index 0000000000..0e20acaf4b --- /dev/null +++ b/apps/web-optimum/src/pages/index.tsx @@ -0,0 +1,15 @@ +import withGetStaticProps from '@/pages/withGetStaticProps'; +import Home from '@/screens/home'; +import type { NextPage } from 'next'; +import nextI18NextConfig from '../../next-i18next.config'; + +const HomePage: NextPage = () => ; + +export const getStaticProps = withGetStaticProps( + nextI18NextConfig, + 'home', + 'blocks', + 'transactions' +); + +export default HomePage; diff --git a/apps/web-optimum/src/pages/params/index.tsx b/apps/web-optimum/src/pages/params/index.tsx new file mode 100644 index 0000000000..36c5df67e5 --- /dev/null +++ b/apps/web-optimum/src/pages/params/index.tsx @@ -0,0 +1,10 @@ +import withGetStaticProps from '@/pages/withGetStaticProps'; +import Params from '@/screens/params'; +import type { NextPage } from 'next'; +import nextI18NextConfig from '../../../next-i18next.config'; + +const ParamsPage: NextPage = () => ; + +export const getStaticProps = withGetStaticProps(nextI18NextConfig, 'params'); + +export default ParamsPage; diff --git a/apps/web-optimum/src/pages/proposals/[id].tsx b/apps/web-optimum/src/pages/proposals/[id].tsx new file mode 100644 index 0000000000..bd370d9b35 --- /dev/null +++ b/apps/web-optimum/src/pages/proposals/[id].tsx @@ -0,0 +1,11 @@ +import withGetStaticProps from '@/pages/withGetStaticProps'; +import type { NextPage } from 'next'; +import ProposalDetails from '@/screens/proposal_details'; +import nextI18NextConfig from '../../../next-i18next.config'; + +const TokenDetailsPage: NextPage = () => ; + +export const getStaticPaths = () => ({ paths: [], fallback: 'blocking' }); +export const getStaticProps = withGetStaticProps(nextI18NextConfig, 'proposals'); + +export default TokenDetailsPage; diff --git a/apps/web-optimum/src/pages/proposals/index.tsx b/apps/web-optimum/src/pages/proposals/index.tsx new file mode 100644 index 0000000000..983a1874fb --- /dev/null +++ b/apps/web-optimum/src/pages/proposals/index.tsx @@ -0,0 +1,10 @@ +import withGetStaticProps from '@/pages/withGetStaticProps'; +import Tokens from '@/screens/proposals'; +import type { NextPage } from 'next'; +import nextI18NextConfig from '../../../next-i18next.config'; + +const TokensPage: NextPage = () => ; + +export const getStaticProps = withGetStaticProps(nextI18NextConfig, 'proposals'); + +export default TokensPage; diff --git a/apps/web-optimum/src/pages/server-sitemap.xml/index.tsx b/apps/web-optimum/src/pages/server-sitemap.xml/index.tsx new file mode 100644 index 0000000000..9d27abd6ad --- /dev/null +++ b/apps/web-optimum/src/pages/server-sitemap.xml/index.tsx @@ -0,0 +1,8 @@ +import ServerSitemap, { getServerSideProps } from 'ui/pages/server-sitemap.xml'; + +// This function is called by Next.js before rendering the page. It returns +// a list of URLs that should be included in the sitemap. +export { getServerSideProps }; + +// Next.js calls this function to render the page. +export default ServerSitemap; diff --git a/apps/web-optimum/src/pages/transactions/[tx].tsx b/apps/web-optimum/src/pages/transactions/[tx].tsx new file mode 100644 index 0000000000..500faa8fa1 --- /dev/null +++ b/apps/web-optimum/src/pages/transactions/[tx].tsx @@ -0,0 +1,16 @@ +import withGetStaticProps from '@/pages/withGetStaticProps'; +import type { NextPage } from 'next'; +import TransactionDetails from '@/screens/transaction_details'; +import nextI18NextConfig from '../../../next-i18next.config'; + +const TransactionDetailsPage: NextPage = () => ; + +export const getStaticPaths = () => ({ paths: [], fallback: 'blocking' }); +export const getStaticProps = withGetStaticProps( + nextI18NextConfig, + 'transactions', + 'message_labels', + 'message_contents' +); + +export default TransactionDetailsPage; diff --git a/apps/web-optimum/src/pages/transactions/index.tsx b/apps/web-optimum/src/pages/transactions/index.tsx new file mode 100644 index 0000000000..a54a156581 --- /dev/null +++ b/apps/web-optimum/src/pages/transactions/index.tsx @@ -0,0 +1,15 @@ +import withGetStaticProps from '@/pages/withGetStaticProps'; +import Transactions from '@/screens/transactions'; +import type { NextPage } from 'next'; +import nextI18NextConfig from '../../../next-i18next.config'; + +const TransactionsPage: NextPage = () => ; + +export const getStaticProps = withGetStaticProps( + nextI18NextConfig, + 'transactions', + 'message_labels', + 'message_contents' +); + +export default TransactionsPage; diff --git a/apps/web-optimum/src/pages/validators/[address].tsx b/apps/web-optimum/src/pages/validators/[address].tsx new file mode 100644 index 0000000000..657b818c10 --- /dev/null +++ b/apps/web-optimum/src/pages/validators/[address].tsx @@ -0,0 +1,18 @@ +import withGetStaticProps from '@/pages/withGetStaticProps'; +import ValidatorDetails from '@/screens/validator_details'; +import type { NextPage } from 'next'; +import nextI18NextConfig from '../../../next-i18next.config'; + +const ValidatorDetailsPage: NextPage = () => ; + +export const getStaticPaths = () => ({ paths: [], fallback: 'blocking' }); +export const getStaticProps = withGetStaticProps( + nextI18NextConfig, + 'validators', + 'transactions', + 'accounts', + 'message_labels', + 'message_contents' +); + +export default ValidatorDetailsPage; diff --git a/apps/web-optimum/src/pages/validators/index.tsx b/apps/web-optimum/src/pages/validators/index.tsx new file mode 100644 index 0000000000..7ce3ee119a --- /dev/null +++ b/apps/web-optimum/src/pages/validators/index.tsx @@ -0,0 +1,17 @@ +import withGetStaticProps from '@/pages/withGetStaticProps'; +import Validators from '@/screens/validators'; +import type { NextPage } from 'next'; +import nextI18NextConfig from '../../../next-i18next.config'; + +const ValidatorsPage: NextPage = () => ; + +export const getStaticProps = withGetStaticProps( + nextI18NextConfig, + 'validators', + 'transactions', + 'accounts', + 'message_labels', + 'message_contents' +); + +export default ValidatorsPage; diff --git a/apps/web-optimum/tsconfig.json b/apps/web-optimum/tsconfig.json new file mode 100644 index 0000000000..d02c130bbc --- /dev/null +++ b/apps/web-optimum/tsconfig.json @@ -0,0 +1,13 @@ +{ + "extends": "../../packages/tsconfig/nextjs.json", + "compilerOptions": { + "rootDirs": ["../../packages/ui", "."], + "baseUrl": "./src/", + "paths": { + "@/*": ["./*", "../../../packages/ui/src/*"], + "@/public/*": ["../public/*"], + "ui/*": ["../../../packages/ui/src/*"] + } + }, + "include": ["*.d.ts", "src/**/*.ts", "src/**/*.tsx", "../../packages/ui/*.d.ts"] +}