From 57ccd3c39dccac6679467f771359983a6af0d7ff Mon Sep 17 00:00:00 2001 From: toniocodo Date: Sat, 4 Nov 2023 17:17:11 +0100 Subject: [PATCH 01/13] refactor: revert WOETH symbol casing, sort tokens --- apps/oeth/src/components/Topnav.tsx | 2 +- libs/oeth/history/src/hooks.ts | 14 +- libs/oeth/swap/src/actions/unwrapWOETH.ts | 28 +-- libs/oeth/swap/src/actions/wrapOETH.ts | 24 +-- libs/oeth/swap/src/constants.ts | 4 +- .../files/tokens/{wOETH.svg => WOETH.svg} | 0 libs/shared/contracts/src/contracts.ts | 15 -- .../shared/contracts/src/network.mainnet.json | 2 +- libs/shared/contracts/src/tokens.ts | 184 +++++++++--------- libs/shared/contracts/src/whales.ts | 2 +- libs/shared/providers/src/prices/constants.ts | 2 +- libs/shared/providers/src/prices/hooks.ts | 15 +- libs/shared/providers/src/prices/types.ts | 2 +- .../rebaseBanner/components/RebaseBanner.tsx | 6 +- .../providers/src/rebaseBanner/hooks.ts | 6 +- .../src/wagmi/components/AccountPopover.tsx | 2 +- 16 files changed, 146 insertions(+), 162 deletions(-) rename libs/shared/assets/files/tokens/{wOETH.svg => WOETH.svg} (100%) diff --git a/apps/oeth/src/components/Topnav.tsx b/apps/oeth/src/components/Topnav.tsx index 0e7766591..850162864 100644 --- a/apps/oeth/src/components/Topnav.tsx +++ b/apps/oeth/src/components/Topnav.tsx @@ -211,7 +211,7 @@ export function Topnav(props: BoxProps) { setAnchor={setAccountModalAnchor} balanceTokens={[ tokens.mainnet.OETH, - tokens.mainnet.wOETH, + tokens.mainnet.WOETH, tokens.mainnet.WETH, tokens.mainnet.rETH, tokens.mainnet.frxETH, diff --git a/libs/oeth/history/src/hooks.ts b/libs/oeth/history/src/hooks.ts index 4f2d95cb6..0775ba125 100644 --- a/libs/oeth/history/src/hooks.ts +++ b/libs/oeth/history/src/hooks.ts @@ -1,4 +1,4 @@ -import { contracts } from '@origin/shared/contracts'; +import { contracts, tokens } from '@origin/shared/contracts'; import { useQuery } from '@tanstack/react-query'; import { readContracts } from '@wagmi/core'; import { formatEther } from 'viem'; @@ -40,8 +40,8 @@ export const usePendingYield = ( functionName: 'totalValue', }, { - address: contracts.mainnet.OETH.address, - abi: contracts.mainnet.OETH.abi, + address: tokens.mainnet.OETH.address, + abi: tokens.mainnet.OETH.abi, functionName: 'totalSupply', }, { @@ -50,13 +50,13 @@ export const usePendingYield = ( functionName: 'availableFunds', }, { - address: contracts.mainnet.OETH.address, - abi: contracts.mainnet.OETH.abi, + address: tokens.mainnet.OETH.address, + abi: tokens.mainnet.OETH.abi, functionName: 'nonRebasingSupply', }, { - address: contracts.mainnet.OETH.address, - abi: contracts.mainnet.OETH.abi, + address: tokens.mainnet.OETH.address, + abi: tokens.mainnet.OETH.abi, functionName: 'balanceOf', args: [address], }, diff --git a/libs/oeth/swap/src/actions/unwrapWOETH.ts b/libs/oeth/swap/src/actions/unwrapWOETH.ts index 499e82bdc..d9cb8786a 100644 --- a/libs/oeth/swap/src/actions/unwrapWOETH.ts +++ b/libs/oeth/swap/src/actions/unwrapWOETH.ts @@ -1,4 +1,4 @@ -import { contracts, whales } from '@origin/shared/contracts'; +import { tokens, whales } from '@origin/shared/contracts'; import { isNilOrEmpty } from '@origin/shared/utils'; import { getAccount, @@ -25,8 +25,8 @@ const estimateAmount: EstimateAmount = async ({ amountIn }) => { } const data = await readContract({ - address: contracts.mainnet.wOETH.address, - abi: contracts.mainnet.wOETH.abi, + address: tokens.mainnet.WOETH.address, + abi: tokens.mainnet.WOETH.abi, functionName: 'convertToAssets', args: [amountIn], }); @@ -48,8 +48,8 @@ const estimateGas: EstimateGas = async ({ amountIn }) => { if (!isNilOrEmpty(address)) { try { gasEstimate = await publicClient.estimateContractGas({ - address: contracts.mainnet.wOETH.address, - abi: contracts.mainnet.wOETH.abi, + address: tokens.mainnet.WOETH.address, + abi: tokens.mainnet.WOETH.abi, functionName: 'redeem', args: [amountIn, address, address], account: address, @@ -61,11 +61,11 @@ const estimateGas: EstimateGas = async ({ amountIn }) => { try { gasEstimate = await publicClient.estimateContractGas({ - address: contracts.mainnet.wOETH.address, - abi: contracts.mainnet.wOETH.abi, + address: tokens.mainnet.WOETH.address, + abi: tokens.mainnet.WOETH.abi, functionName: 'redeem', - args: [amountIn, whales.mainnet.wOETH, whales.mainnet.wOETH], - account: whales.mainnet.wOETH, + args: [amountIn, whales.mainnet.WOETH, whales.mainnet.WOETH], + account: whales.mainnet.WOETH, }); } catch { gasEstimate = 21000n; @@ -75,12 +75,12 @@ const estimateGas: EstimateGas = async ({ amountIn }) => { }; const allowance: Allowance = async () => { - // Unwrap wOETH does not require approval + // Unwrap WOETH does not require approval return maxUint256; }; const estimateApprovalGas: EstimateApprovalGas = async () => { - // Unwrap wOETH does not require approval + // Unwrap WOETH does not require approval return 0n; }; @@ -123,7 +123,7 @@ const estimateRoute: EstimateRoute = async ({ }; const approve: Approve = async () => { - // Unwrap wOETH does not require approval + // Unwrap WOETH does not require approval return null; }; @@ -135,8 +135,8 @@ const swap: Swap = async ({ amountIn }) => { } const { request } = await prepareWriteContract({ - address: contracts.mainnet.wOETH.address, - abi: contracts.mainnet.wOETH.abi, + address: tokens.mainnet.WOETH.address, + abi: tokens.mainnet.WOETH.abi, functionName: 'redeem', args: [amountIn, address, address], }); diff --git a/libs/oeth/swap/src/actions/wrapOETH.ts b/libs/oeth/swap/src/actions/wrapOETH.ts index 243c3af9d..5e4513831 100644 --- a/libs/oeth/swap/src/actions/wrapOETH.ts +++ b/libs/oeth/swap/src/actions/wrapOETH.ts @@ -1,4 +1,4 @@ -import { contracts, whales } from '@origin/shared/contracts'; +import { tokens, whales } from '@origin/shared/contracts'; import { isNilOrEmpty } from '@origin/shared/utils'; import { erc20ABI, @@ -26,8 +26,8 @@ const estimateAmount: EstimateAmount = async ({ amountIn }) => { } const data = await readContract({ - address: contracts.mainnet.wOETH.address, - abi: contracts.mainnet.wOETH.abi, + address: tokens.mainnet.WOETH.address, + abi: tokens.mainnet.WOETH.abi, functionName: 'convertToShares', args: [amountIn], }); @@ -49,8 +49,8 @@ const estimateGas: EstimateGas = async ({ amountIn }) => { if (!isNilOrEmpty(address)) { try { gasEstimate = await publicClient.estimateContractGas({ - address: contracts.mainnet.wOETH.address, - abi: contracts.mainnet.wOETH.abi, + address: tokens.mainnet.WOETH.address, + abi: tokens.mainnet.WOETH.abi, functionName: 'deposit', args: [amountIn, address], account: address, @@ -62,8 +62,8 @@ const estimateGas: EstimateGas = async ({ amountIn }) => { try { gasEstimate = await publicClient.estimateContractGas({ - address: contracts.mainnet.wOETH.address, - abi: contracts.mainnet.wOETH.abi, + address: tokens.mainnet.WOETH.address, + abi: tokens.mainnet.WOETH.abi, functionName: 'deposit', args: [amountIn, whales.mainnet.OETH], account: whales.mainnet.OETH, @@ -86,7 +86,7 @@ const allowance: Allowance = async ({ tokenIn }) => { address: tokenIn.address, abi: erc20ABI, functionName: 'allowance', - args: [address, contracts.mainnet.wOETH.address], + args: [address, tokens.mainnet.WOETH.address], }); return allowance; @@ -110,7 +110,7 @@ const estimateApprovalGas: EstimateApprovalGas = async ({ address: tokenIn.address, abi: erc20ABI, functionName: 'approve', - args: [contracts.mainnet.wOETH.address, amountIn], + args: [tokens.mainnet.WOETH.address, amountIn], account: address, }); } catch { @@ -163,7 +163,7 @@ const approve: Approve = async ({ tokenIn, tokenOut, amountIn, curve }) => { address: tokenIn.address, abi: erc20ABI, functionName: 'approve', - args: [contracts.mainnet.wOETH.address, amountIn], + args: [tokens.mainnet.WOETH.address, amountIn], }); const { hash } = await writeContract(request); @@ -184,8 +184,8 @@ const swap: Swap = async ({ tokenIn, tokenOut, amountIn }) => { } const { request } = await prepareWriteContract({ - address: contracts.mainnet.wOETH.address, - abi: contracts.mainnet.wOETH.abi, + address: tokens.mainnet.WOETH.address, + abi: tokens.mainnet.WOETH.abi, functionName: 'deposit', args: [amountIn, address], }); diff --git a/libs/oeth/swap/src/constants.ts b/libs/oeth/swap/src/constants.ts index 6f1b44455..72e0b7f28 100644 --- a/libs/oeth/swap/src/constants.ts +++ b/libs/oeth/swap/src/constants.ts @@ -102,12 +102,12 @@ export const swapRoutes: SwapRoute[] = [ // Wrap { tokenIn: tokens.mainnet.OETH, - tokenOut: tokens.mainnet.wOETH, + tokenOut: tokens.mainnet.WOETH, action: 'wrap-oeth', }, // Unwrap { - tokenIn: tokens.mainnet.wOETH, + tokenIn: tokens.mainnet.WOETH, tokenOut: tokens.mainnet.OETH, action: 'unwrap-woeth', }, diff --git a/libs/shared/assets/files/tokens/wOETH.svg b/libs/shared/assets/files/tokens/WOETH.svg similarity index 100% rename from libs/shared/assets/files/tokens/wOETH.svg rename to libs/shared/assets/files/tokens/WOETH.svg diff --git a/libs/shared/contracts/src/contracts.ts b/libs/shared/contracts/src/contracts.ts index 3067b90f5..6c0462a46 100644 --- a/libs/shared/contracts/src/contracts.ts +++ b/libs/shared/contracts/src/contracts.ts @@ -7,14 +7,12 @@ import { CurvePoolABI } from './abis/CurvePool'; import { DripperABI } from './abis/Dripper'; import { FlipperABI } from './abis/Flipper'; import { IVaultABI } from './abis/IVault'; -import { OETHABI } from './abis/OETH'; import { OETHDripperABI } from './abis/OETHDripper'; import { OETHZapperABI } from './abis/OETHZapper'; import { OracleRouterABI } from './abis/OracleRouter'; import { UniswapV2RouterABI } from './abis/UniswapV2Router'; import { UniswapV3QuoterABI } from './abis/UniswapV3Quoter'; import { UniswapV3RouterABI } from './abis/UniswapV3Router'; -import { WOETHABI } from './abis/WOETH'; export const contracts = { mainnet: { @@ -33,12 +31,6 @@ export const contracts = { name: 'CurveAddressProvider', }, // OETH - OETH: { - address: '0x856c4Efb76C1D1AE02e20CEB03A2A6a08b0b8dC3', - chainId: mainnet.id, - abi: OETHABI, - name: 'OETH', - }, OETHCurvePool: { address: '0x94B17476A93b3262d87B9a326965D1E91f9c13E7', chainId: mainnet.id, @@ -120,12 +112,5 @@ export const contracts = { abi: UniswapV3RouterABI, name: 'uniswapV3Router', }, - // wOETH - wOETH: { - address: '0xDcEe70654261AF21C44c093C300eD3Bb97b78192', - chainId: mainnet.id, - abi: WOETHABI, - name: 'wOETH', - }, }, } as const; diff --git a/libs/shared/contracts/src/network.mainnet.json b/libs/shared/contracts/src/network.mainnet.json index 8519ebf0f..45a4b2a25 100644 --- a/libs/shared/contracts/src/network.mainnet.json +++ b/libs/shared/contracts/src/network.mainnet.json @@ -26944,7 +26944,7 @@ } ] }, - "wOETH": { + "WOETH": { "address": "0x9C5a92AaA2A4373D6bd20F7b45cdEb7A13f9AA79", "abi": [ { diff --git a/libs/shared/contracts/src/tokens.ts b/libs/shared/contracts/src/tokens.ts index ff7a94f26..7b059c9b7 100644 --- a/libs/shared/contracts/src/tokens.ts +++ b/libs/shared/contracts/src/tokens.ts @@ -2,31 +2,16 @@ import { erc20ABI } from 'wagmi'; import { mainnet } from 'wagmi/chains'; import { DAIABI } from './abis/DAI'; +import { OETHABI } from './abis/OETH'; +import { OUSDABI } from './abis/OUSD'; import { sfrxethABI } from './abis/sfrxeth'; import { USDCABI } from './abis/USDC'; import { USDTABI } from './abis/USDT'; +import { WOETHABI } from './abis/WOETH'; +import { WrappedOusdABI } from './abis/WrappedOusd'; export const tokens = { mainnet: { - ETH: { - address: undefined, - chainId: mainnet.id, - abi: erc20ABI, - name: 'ETH', - icon: '/images/tokens/ETH.svg', - decimals: 18, - symbol: 'ETH', - }, - WETH: { - address: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2', - chainId: mainnet.id, - abi: erc20ABI, - name: 'Wrapped Ether', - icon: '/images/tokens/WETH.svg', - decimals: 18, - symbol: 'WETH', - }, - // Native stablecoins DAI: { address: '0x6b175474e89094c44da98b954eedeac495271d0f', chainId: mainnet.id, @@ -36,87 +21,114 @@ export const tokens = { decimals: 18, symbol: 'DAI', }, - USDC: { - address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', - chainId: mainnet.id, - abi: USDCABI, - name: 'USD Coin', - icon: '/images/tokens/USDC.svg', - decimals: 6, - symbol: 'USDC', - }, - USDT: { - address: '0xdAC17F958D2ee523a2206206994597C13D831ec7', + ETH: { + address: undefined, chainId: mainnet.id, - abi: USDTABI, - name: 'Tether USD', - icon: '/images/tokens/USDT.svg', - decimals: 6, - symbol: 'USDT', + abi: erc20ABI, + name: 'ETH', + icon: '/images/tokens/ETH.svg', + decimals: 18, + symbol: 'ETH', }, - TUSD: { - address: '0x0000000000085d4780B73119b644AE5ecd22b376', + frxETH: { + address: '0x5E8422345238F34275888049021821E8E08CAa1f', chainId: mainnet.id, abi: erc20ABI, - name: 'TrueUSD', - icon: '/images/tokens/TUSD.svg', + name: 'Frax Ether', + icon: '/images/tokens/frxETH.svg', decimals: 18, - symbol: 'TUSD', + symbol: 'frxETH', }, - // Origin OETH: { address: '0x856c4Efb76C1D1AE02e20CEB03A2A6a08b0b8dC3', chainId: mainnet.id, - abi: erc20ABI, + abi: OETHABI, name: 'Origin Ether', icon: '/images/tokens/OETH.svg', decimals: 18, symbol: 'OETH', }, - wOETH: { - address: '0xDcEe70654261AF21C44c093C300eD3Bb97b78192', + OGN: { + address: '0x8207c1FfC5B6804F6024322CcF34F29c3541Ae26', chainId: mainnet.id, abi: erc20ABI, - name: 'Wrapped Origin Ether', - icon: '/images/tokens/wOETH.svg', + name: 'Origin Token', + icon: '/images/tokens/OGN.svg', decimals: 18, - symbol: 'wOETH', + symbol: 'OGN', + }, + OGV: { + address: '0x9c354503C38481a7A7a51629142963F98eCC12D0', + chainId: mainnet.id, + abi: erc20ABI, + name: 'Origin Dollar Governance', + icon: '/images/tokens/OGV.svg', + decimals: 18, + symbol: 'OGV', }, OUSD: { address: '0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86', chainId: mainnet.id, - abi: erc20ABI, + abi: OUSDABI, name: 'Origin Dollar', icon: '/images/tokens/OUSD.svg', decimals: 18, symbol: 'OUSD', }, - WOUSD: { - address: '0xD2af830E8CBdFed6CC11Bab697bB25496ed6FA62', + rETH: { + address: '0xae78736Cd615f374D3085123A210448E74Fc6393', chainId: mainnet.id, abi: erc20ABI, - name: 'WrappedOrigin Dollar', - icon: '/images/tokens/WOUSD.svg', + name: 'Rocket Pool ETH', + icon: '/images/tokens/rETH.svg', decimals: 18, - symbol: 'WOUSD', + symbol: 'rETH', }, - OGN: { - address: '0x8207c1FfC5B6804F6024322CcF34F29c3541Ae26', + sfrxETH: { + address: '0xac3E018457B222d93114458476f3E3416Abbe38F', + chainId: mainnet.id, + abi: sfrxethABI, + name: 'Staked Frax Ether', + icon: ' /images/tokens/sfrxETH.svg', + decimals: 18, + symbol: 'sfrxETH', + }, + stETH: { + address: '0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84', chainId: mainnet.id, abi: erc20ABI, - name: 'Origin Token', - icon: '/images/tokens/OGN.svg', + name: 'Liquid Staked Ether 2.0', + icon: '/images/tokens/stETH.svg', decimals: 18, - symbol: 'OGN', + symbol: 'stETH', }, - OGV: { - address: '0x9c354503C38481a7A7a51629142963F98eCC12D0', + + TUSD: { + address: '0x0000000000085d4780B73119b644AE5ecd22b376', chainId: mainnet.id, abi: erc20ABI, - name: 'Origin Dollar Governance', - icon: '/images/tokens/OGV.svg', + name: 'TrueUSD', + icon: '/images/tokens/TUSD.svg', decimals: 18, - symbol: 'OGV', + symbol: 'TUSD', + }, + USDC: { + address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', + chainId: mainnet.id, + abi: USDCABI, + name: 'USD Coin', + icon: '/images/tokens/USDC.svg', + decimals: 6, + symbol: 'USDC', + }, + USDT: { + address: '0xdAC17F958D2ee523a2206206994597C13D831ec7', + chainId: mainnet.id, + abi: USDTABI, + name: 'Tether USD', + icon: '/images/tokens/USDT.svg', + decimals: 6, + symbol: 'USDT', }, veOGV: { address: '0x0C4576Ca1c365868E162554AF8e385dc3e7C66D9', @@ -127,44 +139,32 @@ export const tokens = { decimals: 18, symbol: 'veOGV', }, - // 1-inch LP - stETH: { - address: '0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84', - chainId: mainnet.id, - abi: erc20ABI, - name: 'Liquid Staked Ether 2.0', - icon: '/images/tokens/stETH.svg', - decimals: 18, - symbol: 'stETH', - }, - // rocket pool - rETH: { - address: '0xae78736Cd615f374D3085123A210448E74Fc6393', + WETH: { + address: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2', chainId: mainnet.id, abi: erc20ABI, - name: 'Rocket Pool ETH', - icon: '/images/tokens/rETH.svg', + name: 'Wrapped Ether', + icon: '/images/tokens/WETH.svg', decimals: 18, - symbol: 'rETH', + symbol: 'WETH', }, - // Frax - frxETH: { - address: '0x5E8422345238F34275888049021821E8E08CAa1f', + WOETH: { + address: '0xDcEe70654261AF21C44c093C300eD3Bb97b78192', chainId: mainnet.id, - abi: erc20ABI, - name: 'Frax Ether', - icon: '/images/tokens/frxETH.svg', + abi: WOETHABI, + name: 'Wrapped Origin Ether', + icon: '/images/tokens/WOETH.svg', decimals: 18, - symbol: 'frxETH', + symbol: 'WOETH', }, - sfrxETH: { - address: '0xac3E018457B222d93114458476f3E3416Abbe38F', + WOUSD: { + address: '0xD2af830E8CBdFed6CC11Bab697bB25496ed6FA62', chainId: mainnet.id, - abi: sfrxethABI, - name: 'Staked Frax Ether', - icon: ' /images/tokens/sfrxETH.svg', + abi: WrappedOusdABI, + name: 'WrappedOrigin Dollar', + icon: '/images/tokens/WOUSD.svg', decimals: 18, - symbol: 'sfrxETH', + symbol: 'WOUSD', }, }, } as const; diff --git a/libs/shared/contracts/src/whales.ts b/libs/shared/contracts/src/whales.ts index 29705acbb..38228a47c 100644 --- a/libs/shared/contracts/src/whales.ts +++ b/libs/shared/contracts/src/whales.ts @@ -3,7 +3,7 @@ export const whales = { mainnet: { OETH: '0x94B17476A93b3262d87B9a326965D1E91f9c13E7', - wOETH: '0xC460B0b6c9b578A4Cb93F99A691e16dB96Ee5833', + WOETH: '0xC460B0b6c9b578A4Cb93F99A691e16dB96Ee5833', OUSD: '0x70fCE97d671E81080CA3ab4cc7A59aAc2E117137', }, } as const; diff --git a/libs/shared/providers/src/prices/constants.ts b/libs/shared/providers/src/prices/constants.ts index 9c0debed3..d20d7334d 100644 --- a/libs/shared/providers/src/prices/constants.ts +++ b/libs/shared/providers/src/prices/constants.ts @@ -10,7 +10,7 @@ export const coingeckoTokenIds: Record = { USDT: 'tether', TUSD: 'true-usd', OETH: 'origin-ether', - wOETH: 'origin-ether', + WOETH: 'origin-ether', OUSD: 'origin-dollar', stETH: 'staked-ether', rETH: 'rocket-pool-eth', diff --git a/libs/shared/providers/src/prices/hooks.ts b/libs/shared/providers/src/prices/hooks.ts index 7a83d07dc..b49e553dc 100644 --- a/libs/shared/providers/src/prices/hooks.ts +++ b/libs/shared/providers/src/prices/hooks.ts @@ -1,4 +1,3 @@ -import { contracts } from '@origin/shared/contracts'; import { tokens as toks } from '@origin/shared/contracts'; import { isNilOrEmpty } from '@origin/shared/utils'; import { useQuery } from '@tanstack/react-query'; @@ -44,19 +43,19 @@ export const usePrices = ( {}, ); - if (tokens.includes('wOETH')) { + if (tokens.includes('WOETH')) { const oethAmount = await readContract({ - address: contracts.mainnet.wOETH.address, - abi: contracts.mainnet.wOETH.abi, + address: toks.mainnet.WOETH.address, + abi: toks.mainnet.WOETH.abi, functionName: 'previewRedeem', - args: [parseUnits('1', toks.mainnet.wOETH.decimals)], + args: [parseUnits('1', toks.mainnet.WOETH.decimals)], }); prices = { ...prices, - wOETH: - +formatUnits(oethAmount, toks.mainnet.wOETH.decimals) * - prices['wOETH'], + WOETH: + +formatUnits(oethAmount, toks.mainnet.WOETH.decimals) * + prices['WOETH'], }; } diff --git a/libs/shared/providers/src/prices/types.ts b/libs/shared/providers/src/prices/types.ts index 0a17a3c05..988b14db1 100644 --- a/libs/shared/providers/src/prices/types.ts +++ b/libs/shared/providers/src/prices/types.ts @@ -6,7 +6,7 @@ export type SupportedToken = | 'USDT' | 'TUSD' | 'OETH' - | 'wOETH' + | 'WOETH' | 'OUSD' | 'stETH' | 'rETH' diff --git a/libs/shared/providers/src/rebaseBanner/components/RebaseBanner.tsx b/libs/shared/providers/src/rebaseBanner/components/RebaseBanner.tsx index a77dbaec1..452fe2680 100644 --- a/libs/shared/providers/src/rebaseBanner/components/RebaseBanner.tsx +++ b/libs/shared/providers/src/rebaseBanner/components/RebaseBanner.tsx @@ -6,7 +6,7 @@ import { useMediaQuery, useTheme, } from '@mui/material'; -import { contracts } from '@origin/shared/contracts'; +import { tokens } from '@origin/shared/contracts'; import { useIntl } from 'react-intl'; import { useContractWrite, usePrepareContractWrite } from 'wagmi'; @@ -20,8 +20,8 @@ export const RebaseBanner = (props: StackProps) => { const isSmall = useMediaQuery(theme.breakpoints.down('md')); const visible = useIsRebaseBannerVisible(); const { config } = usePrepareContractWrite({ - address: contracts.mainnet.OETH.address, - abi: contracts.mainnet.OETH.abi, + address: tokens.mainnet.OETH.address, + abi: tokens.mainnet.OETH.abi, functionName: 'rebaseOptIn', value: 0n, enabled: visible, diff --git a/libs/shared/providers/src/rebaseBanner/hooks.ts b/libs/shared/providers/src/rebaseBanner/hooks.ts index 7f0e4869b..88b7e20e7 100644 --- a/libs/shared/providers/src/rebaseBanner/hooks.ts +++ b/libs/shared/providers/src/rebaseBanner/hooks.ts @@ -1,11 +1,11 @@ -import { contracts } from '@origin/shared/contracts'; +import { tokens } from '@origin/shared/contracts'; import { useAccount, useContractRead } from 'wagmi'; export const useIsRebaseBannerVisible = () => { const { address, isConnected, connector } = useAccount(); const { data, isLoading } = useContractRead({ - address: contracts.mainnet.OETH.address, - abi: contracts.mainnet.OETH.abi, + address: tokens.mainnet.OETH.address, + abi: tokens.mainnet.OETH.abi, functionName: 'rebaseState', args: [address], }); diff --git a/libs/shared/providers/src/wagmi/components/AccountPopover.tsx b/libs/shared/providers/src/wagmi/components/AccountPopover.tsx index 2f212b547..f29565dc1 100644 --- a/libs/shared/providers/src/wagmi/components/AccountPopover.tsx +++ b/libs/shared/providers/src/wagmi/components/AccountPopover.tsx @@ -127,7 +127,7 @@ export function AccountPopover({ anchor, setAnchor, balanceTokens }: Props) { /> {balanceTokens.map((tok, i) => ( Date: Sat, 4 Nov 2023 17:29:57 +0100 Subject: [PATCH 02/13] feat: add stallTimeout for DEV --- libs/oeth/shared/src/clients/wagmi.ts | 3 +++ libs/ousd/shared/src/clients/wagmi.ts | 3 +++ 2 files changed, 6 insertions(+) diff --git a/libs/oeth/shared/src/clients/wagmi.ts b/libs/oeth/shared/src/clients/wagmi.ts index 754d3a313..37434b8cb 100644 --- a/libs/oeth/shared/src/clients/wagmi.ts +++ b/libs/oeth/shared/src/clients/wagmi.ts @@ -36,6 +36,9 @@ const providers = [ export const { chains, publicClient, webSocketPublicClient } = configureChains( [mainnet], providers as any, + { + stallTimeout: import.meta.env.DEV ? 60000 : 3000, + }, ); const connectors = connectorsForWallets([ diff --git a/libs/ousd/shared/src/clients/wagmi.ts b/libs/ousd/shared/src/clients/wagmi.ts index 7a3e73ad9..89e3db3a7 100644 --- a/libs/ousd/shared/src/clients/wagmi.ts +++ b/libs/ousd/shared/src/clients/wagmi.ts @@ -36,6 +36,9 @@ const providers = [ export const { chains, publicClient, webSocketPublicClient } = configureChains( [mainnet], providers as any, + { + stallTimeout: import.meta.env.DEV ? 60000 : 3000, + }, ); const connectors = connectorsForWallets([ From 3705d5dcb62d0e42234fed883529a78545e76775 Mon Sep 17 00:00:00 2001 From: toniocodo Date: Sat, 4 Nov 2023 17:50:50 +0100 Subject: [PATCH 03/13] feat: add wrap unwrap OUSD routes --- apps/ousd/src/components/Topnav.tsx | 1 + libs/ousd/swap/src/actions/index.ts | 14 ++ libs/ousd/swap/src/actions/swapCurve.ts | 4 +- libs/ousd/swap/src/actions/unwrapWOUSD.ts | 156 ++++++++++++++++ libs/ousd/swap/src/actions/wrapOUSD.ts | 205 ++++++++++++++++++++++ libs/ousd/swap/src/constants.ts | 12 ++ libs/ousd/swap/src/types.ts | 4 +- libs/shared/contracts/src/whales.ts | 1 + 8 files changed, 393 insertions(+), 4 deletions(-) create mode 100644 libs/ousd/swap/src/actions/unwrapWOUSD.ts create mode 100644 libs/ousd/swap/src/actions/wrapOUSD.ts diff --git a/apps/ousd/src/components/Topnav.tsx b/apps/ousd/src/components/Topnav.tsx index 644e6cdb2..c745a55ff 100644 --- a/apps/ousd/src/components/Topnav.tsx +++ b/apps/ousd/src/components/Topnav.tsx @@ -211,6 +211,7 @@ export function Topnav(props: BoxProps) { setAnchor={setAccountModalAnchor} balanceTokens={[ tokens.mainnet.OUSD, + tokens.mainnet.WOUSD, tokens.mainnet.USDT, tokens.mainnet.DAI, tokens.mainnet.USDC, diff --git a/libs/ousd/swap/src/actions/index.ts b/libs/ousd/swap/src/actions/index.ts index ec3129cc9..eca49d263 100644 --- a/libs/ousd/swap/src/actions/index.ts +++ b/libs/ousd/swap/src/actions/index.ts @@ -6,6 +6,8 @@ import sushiswap from './sushiswap'; import swapCurve from './swapCurve'; import uniswapV2 from './uniswapV2'; import uniswapV3 from './uniswapV3'; +import unwrapWOUSD from './unwrapWOUSD'; +import wrapOUSD from './wrapOUSD'; import type { SwapApi } from '@origin/shared/providers'; @@ -89,4 +91,16 @@ export const swapActions: Record = { ...uniswapV3, routeLabel: defineMessage({ defaultMessage: 'Uniswap V3' }), }, + 'wrap-ousd': { + ...defaultApi, + ...wrapOUSD, + routeLabel: defineMessage({ defaultMessage: 'Wrap with Origin' }), + buttonLabel: defineMessage({ defaultMessage: 'Wrap' }), + }, + 'unwrap-wousd': { + ...defaultApi, + ...unwrapWOUSD, + routeLabel: defineMessage({ defaultMessage: 'Unwrap with Origin' }), + buttonLabel: defineMessage({ defaultMessage: 'Unwrap' }), + }, }; diff --git a/libs/ousd/swap/src/actions/swapCurve.ts b/libs/ousd/swap/src/actions/swapCurve.ts index 7fdc3ac62..8b5a7e8c4 100644 --- a/libs/ousd/swap/src/actions/swapCurve.ts +++ b/libs/ousd/swap/src/actions/swapCurve.ts @@ -49,9 +49,7 @@ const isRouteAvailable: IsRouteAvailable = async ({ +formatUnits(estimate as unknown as bigint, tokenOut.decimals) < MAX_PRICE ); - } catch (e) { - console.log(e); - } + } catch {} return false; }; diff --git a/libs/ousd/swap/src/actions/unwrapWOUSD.ts b/libs/ousd/swap/src/actions/unwrapWOUSD.ts new file mode 100644 index 000000000..d294ba222 --- /dev/null +++ b/libs/ousd/swap/src/actions/unwrapWOUSD.ts @@ -0,0 +1,156 @@ +import { tokens, whales } from '@origin/shared/contracts'; +import { isNilOrEmpty } from '@origin/shared/utils'; +import { + getAccount, + getPublicClient, + prepareWriteContract, + readContract, + writeContract, +} from '@wagmi/core'; +import { formatUnits, maxUint256 } from 'viem'; + +import type { + Allowance, + Approve, + EstimateAmount, + EstimateApprovalGas, + EstimateGas, + EstimateRoute, + Swap, +} from '@origin/shared/providers'; + +const estimateAmount: EstimateAmount = async ({ amountIn }) => { + if (amountIn === 0n) { + return 0n; + } + + const data = await readContract({ + address: tokens.mainnet.WOUSD.address, + abi: tokens.mainnet.WOUSD.abi, + functionName: 'convertToAssets', + args: [amountIn], + }); + + return data; +}; + +const estimateGas: EstimateGas = async ({ amountIn }) => { + let gasEstimate = 0n; + + const publicClient = getPublicClient(); + + if (amountIn === 0n) { + return gasEstimate; + } + + const { address } = getAccount(); + + if (!isNilOrEmpty(address)) { + try { + gasEstimate = await publicClient.estimateContractGas({ + address: tokens.mainnet.WOUSD.address, + abi: tokens.mainnet.WOUSD.abi, + functionName: 'redeem', + args: [amountIn, address, address], + account: address, + }); + + return gasEstimate; + } catch {} + } + + try { + gasEstimate = await publicClient.estimateContractGas({ + address: tokens.mainnet.WOUSD.address, + abi: tokens.mainnet.WOUSD.abi, + functionName: 'redeem', + args: [amountIn, whales.mainnet.WOUSD, whales.mainnet.WOUSD], + account: whales.mainnet.WOUSD, + }); + } catch { + gasEstimate = 21000n; + } + + return gasEstimate; +}; + +const allowance: Allowance = async () => { + // Unwrap WOUSD does not require approval + return maxUint256; +}; + +const estimateApprovalGas: EstimateApprovalGas = async () => { + // Unwrap WOUSD does not require approval + return 0n; +}; + +const estimateRoute: EstimateRoute = async ({ + tokenIn, + tokenOut, + amountIn, + route, + slippage, +}) => { + if (amountIn === 0n) { + return { + ...route, + estimatedAmount: 0n, + gas: 0n, + rate: 0, + allowanceAmount: 0n, + approvalGas: 0n, + }; + } + + const [estimatedAmount, gas, allowanceAmount, approvalGas] = + await Promise.all([ + estimateAmount({ tokenIn, tokenOut, amountIn }), + estimateGas({ tokenIn, tokenOut, amountIn, slippage }), + allowance(), + estimateApprovalGas(), + ]); + + return { + ...route, + estimatedAmount, + gas, + approvalGas, + allowanceAmount, + rate: + +formatUnits(estimatedAmount, tokenOut.decimals) / + +formatUnits(amountIn, tokenIn.decimals), + }; +}; + +const approve: Approve = async () => { + // Unwrap WOUSD does not require approval + return null; +}; + +const swap: Swap = async ({ amountIn }) => { + const { address } = getAccount(); + + if (amountIn === 0n || isNilOrEmpty(address)) { + return; + } + + const { request } = await prepareWriteContract({ + address: tokens.mainnet.WOUSD.address, + abi: tokens.mainnet.WOUSD.abi, + functionName: 'redeem', + args: [amountIn, address, address], + }); + const { hash } = await writeContract(request); + + return hash; +}; + +export default { + estimateAmount, + estimateGas, + estimateRoute, + allowance, + estimateApprovalGas, + approve, + swap, +}; diff --git a/libs/ousd/swap/src/actions/wrapOUSD.ts b/libs/ousd/swap/src/actions/wrapOUSD.ts new file mode 100644 index 000000000..623a1029a --- /dev/null +++ b/libs/ousd/swap/src/actions/wrapOUSD.ts @@ -0,0 +1,205 @@ +import { tokens, whales } from '@origin/shared/contracts'; +import { isNilOrEmpty } from '@origin/shared/utils'; +import { + erc20ABI, + getAccount, + getPublicClient, + prepareWriteContract, + readContract, + writeContract, +} from '@wagmi/core'; +import { formatUnits } from 'viem'; + +import type { + Allowance, + Approve, + EstimateAmount, + EstimateApprovalGas, + EstimateGas, + EstimateRoute, + Swap, +} from '@origin/shared/providers'; + +const estimateAmount: EstimateAmount = async ({ amountIn }) => { + if (amountIn === 0n) { + return 0n; + } + + const data = await readContract({ + address: tokens.mainnet.WOUSD.address, + abi: tokens.mainnet.WOUSD.abi, + functionName: 'convertToShares', + args: [amountIn], + }); + + return data; +}; + +const estimateGas: EstimateGas = async ({ amountIn }) => { + let gasEstimate = 0n; + + const publicClient = getPublicClient(); + + if (amountIn === 0n) { + return gasEstimate; + } + + const { address } = getAccount(); + + if (!isNilOrEmpty(address)) { + try { + gasEstimate = await publicClient.estimateContractGas({ + address: tokens.mainnet.WOUSD.address, + abi: tokens.mainnet.WOUSD.abi, + functionName: 'deposit', + args: [amountIn, address], + account: address, + }); + + return gasEstimate; + } catch {} + } + + try { + gasEstimate = await publicClient.estimateContractGas({ + address: tokens.mainnet.WOUSD.address, + abi: tokens.mainnet.WOUSD.abi, + functionName: 'deposit', + args: [amountIn, whales.mainnet.OETH], + account: whales.mainnet.OETH, + }); + } catch { + gasEstimate = 21000n; + } + + return gasEstimate; +}; + +const allowance: Allowance = async ({ tokenIn }) => { + const { address } = getAccount(); + + if (isNilOrEmpty(address)) { + return 0n; + } + + const allowance = await readContract({ + address: tokenIn.address, + abi: tokenIn.abi, + functionName: 'allowance', + args: [address, tokens.mainnet.WOUSD.address], + }); + + return allowance as unknown as bigint; +}; + +const estimateApprovalGas: EstimateApprovalGas = async ({ + tokenIn, + amountIn, +}) => { + let approvalEstimate = 0n; + const { address } = getAccount(); + + if (amountIn === 0n || isNilOrEmpty(address)) { + return approvalEstimate; + } + + const publicClient = getPublicClient(); + + try { + approvalEstimate = await publicClient.estimateContractGas({ + address: tokenIn.address, + abi: erc20ABI, + functionName: 'approve', + args: [tokens.mainnet.WOUSD.address, amountIn], + account: address, + }); + } catch { + approvalEstimate = 200000n; + } + + return approvalEstimate; +}; + +const estimateRoute: EstimateRoute = async ({ + tokenIn, + tokenOut, + amountIn, + route, + slippage, +}) => { + if (amountIn === 0n) { + return { + ...route, + estimatedAmount: 0n, + gas: 0n, + rate: 0, + allowanceAmount: 0n, + approvalGas: 0n, + }; + } + + const [estimatedAmount, gas, allowanceAmount, approvalGas] = + await Promise.all([ + estimateAmount({ tokenIn, tokenOut, amountIn }), + estimateGas({ tokenIn, tokenOut, amountIn, slippage }), + allowance({ tokenIn, tokenOut }), + estimateApprovalGas({ tokenIn, tokenOut, amountIn }), + ]); + + return { + ...route, + estimatedAmount, + gas, + approvalGas, + allowanceAmount, + rate: + +formatUnits(estimatedAmount, tokenOut.decimals) / + +formatUnits(amountIn, tokenIn.decimals), + }; +}; + +const approve: Approve = async ({ tokenIn, tokenOut, amountIn, curve }) => { + const { request } = await prepareWriteContract({ + address: tokenIn.address, + abi: tokenIn.abi, + functionName: 'approve', + args: [tokens.mainnet.WOUSD.address, amountIn], + }); + const { hash } = await writeContract(request); + + return hash; +}; + +const swap: Swap = async ({ tokenIn, tokenOut, amountIn }) => { + const { address } = getAccount(); + + if (amountIn === 0n || isNilOrEmpty(address)) { + return null; + } + + const approved = await allowance({ tokenIn, tokenOut }); + + if (approved < amountIn) { + throw new Error(`WOUSD is not approved`); + } + + const { request } = await prepareWriteContract({ + address: tokens.mainnet.WOUSD.address, + abi: tokens.mainnet.WOUSD.abi, + functionName: 'deposit', + args: [amountIn, address], + }); + const { hash } = await writeContract(request); + + return hash; +}; + +export default { + estimateAmount, + estimateGas, + estimateRoute, + allowance, + estimateApprovalGas, + approve, + swap, +}; diff --git a/libs/ousd/swap/src/constants.ts b/libs/ousd/swap/src/constants.ts index c8a82e680..fb683cac3 100644 --- a/libs/ousd/swap/src/constants.ts +++ b/libs/ousd/swap/src/constants.ts @@ -179,4 +179,16 @@ export const swapRoutes: SwapRoute[] = [ tokenOut: tokens.mainnet.USDC, action: 'swap-curve', }, + // Wrap OUSD + { + tokenIn: tokens.mainnet.OUSD, + tokenOut: tokens.mainnet.WOUSD, + action: 'wrap-ousd', + }, + // Unwrap WOUSD + { + tokenIn: tokens.mainnet.WOUSD, + tokenOut: tokens.mainnet.OUSD, + action: 'unwrap-wousd', + }, ]; diff --git a/libs/ousd/swap/src/types.ts b/libs/ousd/swap/src/types.ts index 1e902805f..f895a5816 100644 --- a/libs/ousd/swap/src/types.ts +++ b/libs/ousd/swap/src/types.ts @@ -4,4 +4,6 @@ export type SwapAction = | 'uniswap-v3' | 'sushiswap' | 'mint-vault' - | 'swap-curve'; + | 'swap-curve' + | 'wrap-ousd' + | 'unwrap-wousd'; diff --git a/libs/shared/contracts/src/whales.ts b/libs/shared/contracts/src/whales.ts index 38228a47c..f2672ba81 100644 --- a/libs/shared/contracts/src/whales.ts +++ b/libs/shared/contracts/src/whales.ts @@ -5,5 +5,6 @@ export const whales = { OETH: '0x94B17476A93b3262d87B9a326965D1E91f9c13E7', WOETH: '0xC460B0b6c9b578A4Cb93F99A691e16dB96Ee5833', OUSD: '0x70fCE97d671E81080CA3ab4cc7A59aAc2E117137', + WOUSD: '0x3dD413Fd4D03b1d8fD2C9Ed34553F7DeC3B26F5C', }, } as const; From 3a94b2fcac7dd31c39e9a0463762002ce5ebe6f1 Mon Sep 17 00:00:00 2001 From: toniocodo Date: Sat, 4 Nov 2023 17:57:23 +0100 Subject: [PATCH 04/13] feat: update max button visibility --- libs/shared/components/src/Inputs/TokenInput.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/shared/components/src/Inputs/TokenInput.tsx b/libs/shared/components/src/Inputs/TokenInput.tsx index 869f68ba9..18332cb36 100644 --- a/libs/shared/components/src/Inputs/TokenInput.tsx +++ b/libs/shared/components/src/Inputs/TokenInput.tsx @@ -83,7 +83,7 @@ export const TokenInput = forwardRef( const amountUsd = +formatUnits(amount, decimals) * tokenPriceUsd; const maxVisible = !hideMaxButton && - (isNativeCurrency ? balance > parseEther(MIN_ETH_FOR_GAS) : true); + balance > (isNativeCurrency ? parseEther(MIN_ETH_FOR_GAS) : 0n); const maxDisabled = disableMaxButton || !isConnected || isBalanceLoading; return ( From d9e107b94c16e14f9c98f9854797d5fa65cd9459 Mon Sep 17 00:00:00 2001 From: toniocodo Date: Sat, 4 Nov 2023 18:33:29 +0100 Subject: [PATCH 05/13] fix: update OUSD icon, remove svg width and height --- libs/shared/assets/files/tokens/DAI.svg | 2 +- libs/shared/assets/files/tokens/ETH.svg | 2 +- libs/shared/assets/files/tokens/OETH.svg | 57 +++++++++--------- libs/shared/assets/files/tokens/OGN.svg | 2 +- libs/shared/assets/files/tokens/OGV.svg | 19 +++--- libs/shared/assets/files/tokens/OUSD.svg | 64 ++++++++++++++++++++- libs/shared/assets/files/tokens/USDC.svg | 2 +- libs/shared/assets/files/tokens/USDT.svg | 2 +- libs/shared/assets/files/tokens/WETH.svg | 38 ++++++------ libs/shared/assets/files/tokens/WOETH.svg | 61 ++++++++++---------- libs/shared/assets/files/tokens/WOUSD.svg | 4 +- libs/shared/assets/files/tokens/frxETH.svg | 33 +++++------ libs/shared/assets/files/tokens/rETH.svg | 18 +++--- libs/shared/assets/files/tokens/sfrxETH.svg | 35 +++++------ libs/shared/assets/files/tokens/stETH.svg | 35 +++++------ 15 files changed, 223 insertions(+), 151 deletions(-) diff --git a/libs/shared/assets/files/tokens/DAI.svg b/libs/shared/assets/files/tokens/DAI.svg index 55f30e4ad..fa197727c 100644 --- a/libs/shared/assets/files/tokens/DAI.svg +++ b/libs/shared/assets/files/tokens/DAI.svg @@ -1,4 +1,4 @@ - + diff --git a/libs/shared/assets/files/tokens/ETH.svg b/libs/shared/assets/files/tokens/ETH.svg index c330fd730..0c6c0b9ed 100644 --- a/libs/shared/assets/files/tokens/ETH.svg +++ b/libs/shared/assets/files/tokens/ETH.svg @@ -1,4 +1,4 @@ - + diff --git a/libs/shared/assets/files/tokens/OETH.svg b/libs/shared/assets/files/tokens/OETH.svg index e12abe4ae..b35894f09 100644 --- a/libs/shared/assets/files/tokens/OETH.svg +++ b/libs/shared/assets/files/tokens/OETH.svg @@ -1,29 +1,30 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libs/shared/assets/files/tokens/OGN.svg b/libs/shared/assets/files/tokens/OGN.svg index bc220e5ba..9a150a836 100644 --- a/libs/shared/assets/files/tokens/OGN.svg +++ b/libs/shared/assets/files/tokens/OGN.svg @@ -1,4 +1,4 @@ - + diff --git a/libs/shared/assets/files/tokens/OGV.svg b/libs/shared/assets/files/tokens/OGV.svg index 0f57558f3..f942b153b 100644 --- a/libs/shared/assets/files/tokens/OGV.svg +++ b/libs/shared/assets/files/tokens/OGV.svg @@ -1,10 +1,11 @@ - - - - - - - - - + + + + + + + + + diff --git a/libs/shared/assets/files/tokens/OUSD.svg b/libs/shared/assets/files/tokens/OUSD.svg index 412c5703c..9ac0b104e 100644 --- a/libs/shared/assets/files/tokens/OUSD.svg +++ b/libs/shared/assets/files/tokens/OUSD.svg @@ -1,3 +1,63 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libs/shared/assets/files/tokens/USDC.svg b/libs/shared/assets/files/tokens/USDC.svg index 9303ee78e..fe1cab06d 100644 --- a/libs/shared/assets/files/tokens/USDC.svg +++ b/libs/shared/assets/files/tokens/USDC.svg @@ -1,4 +1,4 @@ - + diff --git a/libs/shared/assets/files/tokens/USDT.svg b/libs/shared/assets/files/tokens/USDT.svg index c7088804d..10e70fc92 100644 --- a/libs/shared/assets/files/tokens/USDT.svg +++ b/libs/shared/assets/files/tokens/USDT.svg @@ -1,4 +1,4 @@ - + diff --git a/libs/shared/assets/files/tokens/WETH.svg b/libs/shared/assets/files/tokens/WETH.svg index 54781a0fc..4456b9191 100644 --- a/libs/shared/assets/files/tokens/WETH.svg +++ b/libs/shared/assets/files/tokens/WETH.svg @@ -1,19 +1,21 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + diff --git a/libs/shared/assets/files/tokens/WOETH.svg b/libs/shared/assets/files/tokens/WOETH.svg index 856f1950d..f3a035587 100644 --- a/libs/shared/assets/files/tokens/WOETH.svg +++ b/libs/shared/assets/files/tokens/WOETH.svg @@ -1,31 +1,32 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libs/shared/assets/files/tokens/WOUSD.svg b/libs/shared/assets/files/tokens/WOUSD.svg index 6d665bf22..213704ade 100644 --- a/libs/shared/assets/files/tokens/WOUSD.svg +++ b/libs/shared/assets/files/tokens/WOUSD.svg @@ -1,4 +1,6 @@ - + diff --git a/libs/shared/assets/files/tokens/frxETH.svg b/libs/shared/assets/files/tokens/frxETH.svg index 88b0ff85f..a0f9e04d7 100644 --- a/libs/shared/assets/files/tokens/frxETH.svg +++ b/libs/shared/assets/files/tokens/frxETH.svg @@ -1,17 +1,18 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + diff --git a/libs/shared/assets/files/tokens/rETH.svg b/libs/shared/assets/files/tokens/rETH.svg index 6e86e83b2..3b7fcc6d5 100644 --- a/libs/shared/assets/files/tokens/rETH.svg +++ b/libs/shared/assets/files/tokens/rETH.svg @@ -1,9 +1,11 @@ - - - - - - - - + + + + + + + + diff --git a/libs/shared/assets/files/tokens/sfrxETH.svg b/libs/shared/assets/files/tokens/sfrxETH.svg index 289b9156d..ffc5efb91 100644 --- a/libs/shared/assets/files/tokens/sfrxETH.svg +++ b/libs/shared/assets/files/tokens/sfrxETH.svg @@ -1,18 +1,19 @@ - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + diff --git a/libs/shared/assets/files/tokens/stETH.svg b/libs/shared/assets/files/tokens/stETH.svg index 76e013643..52e334b77 100644 --- a/libs/shared/assets/files/tokens/stETH.svg +++ b/libs/shared/assets/files/tokens/stETH.svg @@ -1,18 +1,19 @@ - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + From a578433118ab845968998a114c0460d4fe531b5b Mon Sep 17 00:00:00 2001 From: toniocodo Date: Sat, 4 Nov 2023 18:33:53 +0100 Subject: [PATCH 06/13] feat: set explicit width and height --- libs/oeth/shared/src/components/ApyHeader/index.tsx | 7 ++++++- .../providers/src/redeemer/components/RedeemSplitCard.tsx | 6 +++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/libs/oeth/shared/src/components/ApyHeader/index.tsx b/libs/oeth/shared/src/components/ApyHeader/index.tsx index be78e77fd..52d313c33 100644 --- a/libs/oeth/shared/src/components/ApyHeader/index.tsx +++ b/libs/oeth/shared/src/components/ApyHeader/index.tsx @@ -96,7 +96,12 @@ export const ApyHeader = (props: StackProps) => { height: 20, }} > - + - + {estimate.token.symbol} Date: Sat, 4 Nov 2023 18:56:59 +0100 Subject: [PATCH 07/13] feat: add ApyHeader, update views --- apps/ousd/src/views/RedeemView.tsx | 6 +- .../shared/src/components/ApyHeader/index.tsx | 140 + .../components/ApyHeader/queries.generated.ts | 39 + .../src/components/ApyHeader/queries.graphql | 8 + libs/ousd/shared/src/components/index.ts | 1 + libs/ousd/shared/src/generated/graphql.ts | 7308 ++++++++++++++--- libs/ousd/shared/src/index.ts | 2 + libs/ousd/swap/src/views/SwapView.tsx | 23 +- 8 files changed, 6190 insertions(+), 1337 deletions(-) create mode 100644 libs/ousd/shared/src/components/ApyHeader/index.tsx create mode 100644 libs/ousd/shared/src/components/ApyHeader/queries.generated.ts create mode 100644 libs/ousd/shared/src/components/ApyHeader/queries.graphql create mode 100644 libs/ousd/shared/src/components/index.ts diff --git a/apps/ousd/src/views/RedeemView.tsx b/apps/ousd/src/views/RedeemView.tsx index 3d2b3924c..5cd8109f3 100644 --- a/apps/ousd/src/views/RedeemView.tsx +++ b/apps/ousd/src/views/RedeemView.tsx @@ -1,5 +1,5 @@ import { Stack } from '@mui/material'; -import { trackEvent, trackSentryError } from '@origin/ousd/shared'; +import { ApyHeader, trackEvent, trackSentryError } from '@origin/ousd/shared'; import { ErrorBoundary, ErrorCard } from '@origin/shared/components'; import { contracts, tokens } from '@origin/shared/contracts'; import { Redeemer } from '@origin/shared/providers'; @@ -7,9 +7,9 @@ import { Redeemer } from '@origin/shared/providers'; export const RedeemView = () => { return ( - {/* } onError={trackSentryError}> + } onError={trackSentryError}> - */} + } onError={trackSentryError}> { + const intl = useIntl(); + const [trailing, setTrailing] = useState(trailingOptions[0]); + const [anchorEl, setAnchorEl] = useState(null); + const { data: apy, isLoading: apyLoading } = useApiesQuery( + { + limit: 1, + }, + { + select: (data) => data.ousdapies[0], + }, + ); + + return ( + + {apyLoading ? ( + + ) : ( + + {intl.formatNumber( + trailing.value === 30 + ? apy?.apy30DayAvg ?? 0 + : apy?.apy7DayAvg ?? 0, + { + minimumFractionDigits: 2, + maximumFractionDigits: 2, + style: 'percent', + }, + )} + + )} + + + { + setAnchorEl(null); + }} + MenuListProps={{ dense: true }} + > + {trailingOptions + .filter((t) => t.value !== trailing.value) + .map((t) => ( + { + setTrailing(t); + setAnchorEl(null); + trackEvent({ + name: 'change_apy', + change_apy_to: t.value, + }); + }} + sx={{ height: 40, width: 172 }} + > + {intl.formatMessage(t.label)} + + ))} + + + ); +}; diff --git a/libs/ousd/shared/src/components/ApyHeader/queries.generated.ts b/libs/ousd/shared/src/components/ApyHeader/queries.generated.ts new file mode 100644 index 000000000..f6ec0f390 --- /dev/null +++ b/libs/ousd/shared/src/components/ApyHeader/queries.generated.ts @@ -0,0 +1,39 @@ +import * as Types from '@origin/ousd/shared'; + +import { useQuery, UseQueryOptions } from '@tanstack/react-query'; +import { graphqlClient } from '@origin/ousd/shared'; +export type ApiesQueryVariables = Types.Exact<{ + limit?: Types.InputMaybe; +}>; + + +export type ApiesQuery = { __typename?: 'Query', ousdapies: Array<{ __typename?: 'OUSDAPY', id: string, timestamp: string, apy7DayAvg: number, apy30DayAvg: number }> }; + + +export const ApiesDocument = ` + query Apies($limit: Int) { + ousdapies(limit: $limit, orderBy: timestamp_DESC) { + id + timestamp + apy7DayAvg + apy30DayAvg + } +} + `; +export const useApiesQuery = < + TData = ApiesQuery, + TError = unknown + >( + variables?: ApiesQueryVariables, + options?: UseQueryOptions + ) => + useQuery( + variables === undefined ? ['Apies'] : ['Apies', variables], + graphqlClient(ApiesDocument, variables), + options + ); + +useApiesQuery.getKey = (variables?: ApiesQueryVariables) => variables === undefined ? ['Apies'] : ['Apies', variables]; +; + +useApiesQuery.fetcher = (variables?: ApiesQueryVariables, options?: RequestInit['headers']) => graphqlClient(ApiesDocument, variables, options); \ No newline at end of file diff --git a/libs/ousd/shared/src/components/ApyHeader/queries.graphql b/libs/ousd/shared/src/components/ApyHeader/queries.graphql new file mode 100644 index 000000000..de586f6cd --- /dev/null +++ b/libs/ousd/shared/src/components/ApyHeader/queries.graphql @@ -0,0 +1,8 @@ +query Apies($limit: Int) { + ousdapies(limit: $limit, orderBy: timestamp_DESC) { + id + timestamp + apy7DayAvg + apy30DayAvg + } +} diff --git a/libs/ousd/shared/src/components/index.ts b/libs/ousd/shared/src/components/index.ts new file mode 100644 index 000000000..af0c3402d --- /dev/null +++ b/libs/ousd/shared/src/components/index.ts @@ -0,0 +1 @@ +export * from './ApyHeader'; diff --git a/libs/ousd/shared/src/generated/graphql.ts b/libs/ousd/shared/src/generated/graphql.ts index c16fb5aca..1d810cf14 100644 --- a/libs/ousd/shared/src/generated/graphql.ts +++ b/libs/ousd/shared/src/generated/graphql.ts @@ -16,48 +16,32 @@ export type Scalars = { DateTime: { input: string; output: string; } }; -/** The APY entity tracks historical APY values by day. */ -export type Apy = { - __typename?: 'APY'; - apr: Scalars['Float']['output']; - apy: Scalars['Float']['output']; - apy7DayAvg: Scalars['Float']['output']; - apy14DayAvg: Scalars['Float']['output']; - apy30DayAvg: Scalars['Float']['output']; +export type Balance = { + __typename?: 'Balance'; + address: Scalars['String']['output']; + balance: Scalars['BigInt']['output']; blockNumber: Scalars['Int']['output']; + /** Format: 'token:address:blockNumber' */ id: Scalars['String']['output']; - rebasingCreditsPerToken: Scalars['BigInt']['output']; timestamp: Scalars['DateTime']['output']; - txHash: Scalars['String']['output']; + token: Scalars['String']['output']; }; -export type ApyEdge = { - __typename?: 'APYEdge'; +export type BalanceEdge = { + __typename?: 'BalanceEdge'; cursor: Scalars['String']['output']; - node: Apy; + node: Balance; }; -export enum ApyOrderByInput { - AprAsc = 'apr_ASC', - AprAscNullsFirst = 'apr_ASC_NULLS_FIRST', - AprDesc = 'apr_DESC', - AprDescNullsLast = 'apr_DESC_NULLS_LAST', - Apy7DayAvgAsc = 'apy7DayAvg_ASC', - Apy7DayAvgAscNullsFirst = 'apy7DayAvg_ASC_NULLS_FIRST', - Apy7DayAvgDesc = 'apy7DayAvg_DESC', - Apy7DayAvgDescNullsLast = 'apy7DayAvg_DESC_NULLS_LAST', - Apy14DayAvgAsc = 'apy14DayAvg_ASC', - Apy14DayAvgAscNullsFirst = 'apy14DayAvg_ASC_NULLS_FIRST', - Apy14DayAvgDesc = 'apy14DayAvg_DESC', - Apy14DayAvgDescNullsLast = 'apy14DayAvg_DESC_NULLS_LAST', - Apy30DayAvgAsc = 'apy30DayAvg_ASC', - Apy30DayAvgAscNullsFirst = 'apy30DayAvg_ASC_NULLS_FIRST', - Apy30DayAvgDesc = 'apy30DayAvg_DESC', - Apy30DayAvgDescNullsLast = 'apy30DayAvg_DESC_NULLS_LAST', - ApyAsc = 'apy_ASC', - ApyAscNullsFirst = 'apy_ASC_NULLS_FIRST', - ApyDesc = 'apy_DESC', - ApyDescNullsLast = 'apy_DESC_NULLS_LAST', +export enum BalanceOrderByInput { + AddressAsc = 'address_ASC', + AddressAscNullsFirst = 'address_ASC_NULLS_FIRST', + AddressDesc = 'address_DESC', + AddressDescNullsLast = 'address_DESC_NULLS_LAST', + BalanceAsc = 'balance_ASC', + BalanceAscNullsFirst = 'balance_ASC_NULLS_FIRST', + BalanceDesc = 'balance_DESC', + BalanceDescNullsLast = 'balance_DESC_NULLS_LAST', BlockNumberAsc = 'blockNumber_ASC', BlockNumberAscNullsFirst = 'blockNumber_ASC_NULLS_FIRST', BlockNumberDesc = 'blockNumber_DESC', @@ -66,68 +50,45 @@ export enum ApyOrderByInput { IdAscNullsFirst = 'id_ASC_NULLS_FIRST', IdDesc = 'id_DESC', IdDescNullsLast = 'id_DESC_NULLS_LAST', - RebasingCreditsPerTokenAsc = 'rebasingCreditsPerToken_ASC', - RebasingCreditsPerTokenAscNullsFirst = 'rebasingCreditsPerToken_ASC_NULLS_FIRST', - RebasingCreditsPerTokenDesc = 'rebasingCreditsPerToken_DESC', - RebasingCreditsPerTokenDescNullsLast = 'rebasingCreditsPerToken_DESC_NULLS_LAST', TimestampAsc = 'timestamp_ASC', TimestampAscNullsFirst = 'timestamp_ASC_NULLS_FIRST', TimestampDesc = 'timestamp_DESC', TimestampDescNullsLast = 'timestamp_DESC_NULLS_LAST', - TxHashAsc = 'txHash_ASC', - TxHashAscNullsFirst = 'txHash_ASC_NULLS_FIRST', - TxHashDesc = 'txHash_DESC', - TxHashDescNullsLast = 'txHash_DESC_NULLS_LAST' + TokenAsc = 'token_ASC', + TokenAscNullsFirst = 'token_ASC_NULLS_FIRST', + TokenDesc = 'token_DESC', + TokenDescNullsLast = 'token_DESC_NULLS_LAST' } -export type ApyWhereInput = { - AND?: InputMaybe>; - OR?: InputMaybe>; - apr_eq?: InputMaybe; - apr_gt?: InputMaybe; - apr_gte?: InputMaybe; - apr_in?: InputMaybe>; - apr_isNull?: InputMaybe; - apr_lt?: InputMaybe; - apr_lte?: InputMaybe; - apr_not_eq?: InputMaybe; - apr_not_in?: InputMaybe>; - apy7DayAvg_eq?: InputMaybe; - apy7DayAvg_gt?: InputMaybe; - apy7DayAvg_gte?: InputMaybe; - apy7DayAvg_in?: InputMaybe>; - apy7DayAvg_isNull?: InputMaybe; - apy7DayAvg_lt?: InputMaybe; - apy7DayAvg_lte?: InputMaybe; - apy7DayAvg_not_eq?: InputMaybe; - apy7DayAvg_not_in?: InputMaybe>; - apy14DayAvg_eq?: InputMaybe; - apy14DayAvg_gt?: InputMaybe; - apy14DayAvg_gte?: InputMaybe; - apy14DayAvg_in?: InputMaybe>; - apy14DayAvg_isNull?: InputMaybe; - apy14DayAvg_lt?: InputMaybe; - apy14DayAvg_lte?: InputMaybe; - apy14DayAvg_not_eq?: InputMaybe; - apy14DayAvg_not_in?: InputMaybe>; - apy30DayAvg_eq?: InputMaybe; - apy30DayAvg_gt?: InputMaybe; - apy30DayAvg_gte?: InputMaybe; - apy30DayAvg_in?: InputMaybe>; - apy30DayAvg_isNull?: InputMaybe; - apy30DayAvg_lt?: InputMaybe; - apy30DayAvg_lte?: InputMaybe; - apy30DayAvg_not_eq?: InputMaybe; - apy30DayAvg_not_in?: InputMaybe>; - apy_eq?: InputMaybe; - apy_gt?: InputMaybe; - apy_gte?: InputMaybe; - apy_in?: InputMaybe>; - apy_isNull?: InputMaybe; - apy_lt?: InputMaybe; - apy_lte?: InputMaybe; - apy_not_eq?: InputMaybe; - apy_not_in?: InputMaybe>; +export type BalanceWhereInput = { + AND?: InputMaybe>; + OR?: InputMaybe>; + address_contains?: InputMaybe; + address_containsInsensitive?: InputMaybe; + address_endsWith?: InputMaybe; + address_eq?: InputMaybe; + address_gt?: InputMaybe; + address_gte?: InputMaybe; + address_in?: InputMaybe>; + address_isNull?: InputMaybe; + address_lt?: InputMaybe; + address_lte?: InputMaybe; + address_not_contains?: InputMaybe; + address_not_containsInsensitive?: InputMaybe; + address_not_endsWith?: InputMaybe; + address_not_eq?: InputMaybe; + address_not_in?: InputMaybe>; + address_not_startsWith?: InputMaybe; + address_startsWith?: InputMaybe; + balance_eq?: InputMaybe; + balance_gt?: InputMaybe; + balance_gte?: InputMaybe; + balance_in?: InputMaybe>; + balance_isNull?: InputMaybe; + balance_lt?: InputMaybe; + balance_lte?: InputMaybe; + balance_not_eq?: InputMaybe; + balance_not_in?: InputMaybe>; blockNumber_eq?: InputMaybe; blockNumber_gt?: InputMaybe; blockNumber_gte?: InputMaybe; @@ -154,15 +115,6 @@ export type ApyWhereInput = { id_not_in?: InputMaybe>; id_not_startsWith?: InputMaybe; id_startsWith?: InputMaybe; - rebasingCreditsPerToken_eq?: InputMaybe; - rebasingCreditsPerToken_gt?: InputMaybe; - rebasingCreditsPerToken_gte?: InputMaybe; - rebasingCreditsPerToken_in?: InputMaybe>; - rebasingCreditsPerToken_isNull?: InputMaybe; - rebasingCreditsPerToken_lt?: InputMaybe; - rebasingCreditsPerToken_lte?: InputMaybe; - rebasingCreditsPerToken_not_eq?: InputMaybe; - rebasingCreditsPerToken_not_in?: InputMaybe>; timestamp_eq?: InputMaybe; timestamp_gt?: InputMaybe; timestamp_gte?: InputMaybe; @@ -172,128 +124,136 @@ export type ApyWhereInput = { timestamp_lte?: InputMaybe; timestamp_not_eq?: InputMaybe; timestamp_not_in?: InputMaybe>; - txHash_contains?: InputMaybe; - txHash_containsInsensitive?: InputMaybe; - txHash_endsWith?: InputMaybe; - txHash_eq?: InputMaybe; - txHash_gt?: InputMaybe; - txHash_gte?: InputMaybe; - txHash_in?: InputMaybe>; - txHash_isNull?: InputMaybe; - txHash_lt?: InputMaybe; - txHash_lte?: InputMaybe; - txHash_not_contains?: InputMaybe; - txHash_not_containsInsensitive?: InputMaybe; - txHash_not_endsWith?: InputMaybe; - txHash_not_eq?: InputMaybe; - txHash_not_in?: InputMaybe>; - txHash_not_startsWith?: InputMaybe; - txHash_startsWith?: InputMaybe; + token_contains?: InputMaybe; + token_containsInsensitive?: InputMaybe; + token_endsWith?: InputMaybe; + token_eq?: InputMaybe; + token_gt?: InputMaybe; + token_gte?: InputMaybe; + token_in?: InputMaybe>; + token_isNull?: InputMaybe; + token_lt?: InputMaybe; + token_lte?: InputMaybe; + token_not_contains?: InputMaybe; + token_not_containsInsensitive?: InputMaybe; + token_not_endsWith?: InputMaybe; + token_not_eq?: InputMaybe; + token_not_in?: InputMaybe>; + token_not_startsWith?: InputMaybe; + token_startsWith?: InputMaybe; }; -export type APiesConnection = { - __typename?: 'APiesConnection'; - edges: Array; +export type BalancesConnection = { + __typename?: 'BalancesConnection'; + edges: Array; pageInfo: PageInfo; totalCount: Scalars['Int']['output']; }; -/** The OETH balance, history and other information for a given address. */ -export type Address = { - __typename?: 'Address'; - /** The current balance of OETH held by the address. */ - balance: Scalars['BigInt']['output']; - credits: Scalars['BigInt']['output']; - /** The total amount of OETH earned by the address. */ - earned: Scalars['BigInt']['output']; - history: Array; +export type CurvePoolBalance = { + __typename?: 'CurvePoolBalance'; + address: Scalars['String']['output']; + balance0: Scalars['BigInt']['output']; + balance1: Scalars['BigInt']['output']; + balance2: Scalars['BigInt']['output']; + blockNumber: Scalars['Int']['output']; id: Scalars['String']['output']; - isContract: Scalars['Boolean']['output']; - /** The last time the address information was updated. */ - lastUpdated: Scalars['DateTime']['output']; - /** Is the address opted in our out of yield. */ - rebasingOption: RebasingOption; -}; - - -/** The OETH balance, history and other information for a given address. */ -export type AddressHistoryArgs = { - limit?: InputMaybe; - offset?: InputMaybe; - orderBy?: InputMaybe>; - where?: InputMaybe; + timestamp: Scalars['DateTime']['output']; }; -export type AddressEdge = { - __typename?: 'AddressEdge'; +export type CurvePoolBalanceEdge = { + __typename?: 'CurvePoolBalanceEdge'; cursor: Scalars['String']['output']; - node: Address; + node: CurvePoolBalance; }; -export enum AddressOrderByInput { - BalanceAsc = 'balance_ASC', - BalanceAscNullsFirst = 'balance_ASC_NULLS_FIRST', - BalanceDesc = 'balance_DESC', - BalanceDescNullsLast = 'balance_DESC_NULLS_LAST', - CreditsAsc = 'credits_ASC', - CreditsAscNullsFirst = 'credits_ASC_NULLS_FIRST', - CreditsDesc = 'credits_DESC', - CreditsDescNullsLast = 'credits_DESC_NULLS_LAST', - EarnedAsc = 'earned_ASC', - EarnedAscNullsFirst = 'earned_ASC_NULLS_FIRST', - EarnedDesc = 'earned_DESC', - EarnedDescNullsLast = 'earned_DESC_NULLS_LAST', +export enum CurvePoolBalanceOrderByInput { + AddressAsc = 'address_ASC', + AddressAscNullsFirst = 'address_ASC_NULLS_FIRST', + AddressDesc = 'address_DESC', + AddressDescNullsLast = 'address_DESC_NULLS_LAST', + Balance0Asc = 'balance0_ASC', + Balance0AscNullsFirst = 'balance0_ASC_NULLS_FIRST', + Balance0Desc = 'balance0_DESC', + Balance0DescNullsLast = 'balance0_DESC_NULLS_LAST', + Balance1Asc = 'balance1_ASC', + Balance1AscNullsFirst = 'balance1_ASC_NULLS_FIRST', + Balance1Desc = 'balance1_DESC', + Balance1DescNullsLast = 'balance1_DESC_NULLS_LAST', + Balance2Asc = 'balance2_ASC', + Balance2AscNullsFirst = 'balance2_ASC_NULLS_FIRST', + Balance2Desc = 'balance2_DESC', + Balance2DescNullsLast = 'balance2_DESC_NULLS_LAST', + BlockNumberAsc = 'blockNumber_ASC', + BlockNumberAscNullsFirst = 'blockNumber_ASC_NULLS_FIRST', + BlockNumberDesc = 'blockNumber_DESC', + BlockNumberDescNullsLast = 'blockNumber_DESC_NULLS_LAST', IdAsc = 'id_ASC', IdAscNullsFirst = 'id_ASC_NULLS_FIRST', IdDesc = 'id_DESC', IdDescNullsLast = 'id_DESC_NULLS_LAST', - IsContractAsc = 'isContract_ASC', - IsContractAscNullsFirst = 'isContract_ASC_NULLS_FIRST', - IsContractDesc = 'isContract_DESC', - IsContractDescNullsLast = 'isContract_DESC_NULLS_LAST', - LastUpdatedAsc = 'lastUpdated_ASC', - LastUpdatedAscNullsFirst = 'lastUpdated_ASC_NULLS_FIRST', - LastUpdatedDesc = 'lastUpdated_DESC', - LastUpdatedDescNullsLast = 'lastUpdated_DESC_NULLS_LAST', - RebasingOptionAsc = 'rebasingOption_ASC', - RebasingOptionAscNullsFirst = 'rebasingOption_ASC_NULLS_FIRST', - RebasingOptionDesc = 'rebasingOption_DESC', - RebasingOptionDescNullsLast = 'rebasingOption_DESC_NULLS_LAST' + TimestampAsc = 'timestamp_ASC', + TimestampAscNullsFirst = 'timestamp_ASC_NULLS_FIRST', + TimestampDesc = 'timestamp_DESC', + TimestampDescNullsLast = 'timestamp_DESC_NULLS_LAST' } -export type AddressWhereInput = { - AND?: InputMaybe>; - OR?: InputMaybe>; - balance_eq?: InputMaybe; - balance_gt?: InputMaybe; - balance_gte?: InputMaybe; - balance_in?: InputMaybe>; - balance_isNull?: InputMaybe; - balance_lt?: InputMaybe; - balance_lte?: InputMaybe; - balance_not_eq?: InputMaybe; - balance_not_in?: InputMaybe>; - credits_eq?: InputMaybe; - credits_gt?: InputMaybe; - credits_gte?: InputMaybe; - credits_in?: InputMaybe>; - credits_isNull?: InputMaybe; - credits_lt?: InputMaybe; - credits_lte?: InputMaybe; - credits_not_eq?: InputMaybe; - credits_not_in?: InputMaybe>; - earned_eq?: InputMaybe; - earned_gt?: InputMaybe; - earned_gte?: InputMaybe; - earned_in?: InputMaybe>; - earned_isNull?: InputMaybe; - earned_lt?: InputMaybe; - earned_lte?: InputMaybe; - earned_not_eq?: InputMaybe; - earned_not_in?: InputMaybe>; - history_every?: InputMaybe; - history_none?: InputMaybe; - history_some?: InputMaybe; +export type CurvePoolBalanceWhereInput = { + AND?: InputMaybe>; + OR?: InputMaybe>; + address_contains?: InputMaybe; + address_containsInsensitive?: InputMaybe; + address_endsWith?: InputMaybe; + address_eq?: InputMaybe; + address_gt?: InputMaybe; + address_gte?: InputMaybe; + address_in?: InputMaybe>; + address_isNull?: InputMaybe; + address_lt?: InputMaybe; + address_lte?: InputMaybe; + address_not_contains?: InputMaybe; + address_not_containsInsensitive?: InputMaybe; + address_not_endsWith?: InputMaybe; + address_not_eq?: InputMaybe; + address_not_in?: InputMaybe>; + address_not_startsWith?: InputMaybe; + address_startsWith?: InputMaybe; + balance0_eq?: InputMaybe; + balance0_gt?: InputMaybe; + balance0_gte?: InputMaybe; + balance0_in?: InputMaybe>; + balance0_isNull?: InputMaybe; + balance0_lt?: InputMaybe; + balance0_lte?: InputMaybe; + balance0_not_eq?: InputMaybe; + balance0_not_in?: InputMaybe>; + balance1_eq?: InputMaybe; + balance1_gt?: InputMaybe; + balance1_gte?: InputMaybe; + balance1_in?: InputMaybe>; + balance1_isNull?: InputMaybe; + balance1_lt?: InputMaybe; + balance1_lte?: InputMaybe; + balance1_not_eq?: InputMaybe; + balance1_not_in?: InputMaybe>; + balance2_eq?: InputMaybe; + balance2_gt?: InputMaybe; + balance2_gte?: InputMaybe; + balance2_in?: InputMaybe>; + balance2_isNull?: InputMaybe; + balance2_lt?: InputMaybe; + balance2_lte?: InputMaybe; + balance2_not_eq?: InputMaybe; + balance2_not_in?: InputMaybe>; + blockNumber_eq?: InputMaybe; + blockNumber_gt?: InputMaybe; + blockNumber_gte?: InputMaybe; + blockNumber_in?: InputMaybe>; + blockNumber_isNull?: InputMaybe; + blockNumber_lt?: InputMaybe; + blockNumber_lte?: InputMaybe; + blockNumber_not_eq?: InputMaybe; + blockNumber_not_in?: InputMaybe>; id_contains?: InputMaybe; id_containsInsensitive?: InputMaybe; id_endsWith?: InputMaybe; @@ -311,56 +271,52 @@ export type AddressWhereInput = { id_not_in?: InputMaybe>; id_not_startsWith?: InputMaybe; id_startsWith?: InputMaybe; - isContract_eq?: InputMaybe; - isContract_isNull?: InputMaybe; - isContract_not_eq?: InputMaybe; - lastUpdated_eq?: InputMaybe; - lastUpdated_gt?: InputMaybe; - lastUpdated_gte?: InputMaybe; - lastUpdated_in?: InputMaybe>; - lastUpdated_isNull?: InputMaybe; - lastUpdated_lt?: InputMaybe; - lastUpdated_lte?: InputMaybe; - lastUpdated_not_eq?: InputMaybe; - lastUpdated_not_in?: InputMaybe>; - rebasingOption_eq?: InputMaybe; - rebasingOption_in?: InputMaybe>; - rebasingOption_isNull?: InputMaybe; - rebasingOption_not_eq?: InputMaybe; - rebasingOption_not_in?: InputMaybe>; -}; - -export type AddressesConnection = { - __typename?: 'AddressesConnection'; - edges: Array; - pageInfo: PageInfo; - totalCount: Scalars['Int']['output']; + timestamp_eq?: InputMaybe; + timestamp_gt?: InputMaybe; + timestamp_gte?: InputMaybe; + timestamp_in?: InputMaybe>; + timestamp_isNull?: InputMaybe; + timestamp_lt?: InputMaybe; + timestamp_lte?: InputMaybe; + timestamp_not_eq?: InputMaybe; + timestamp_not_in?: InputMaybe>; }; -export type BalancerMetaPoolStrategiesConnection = { - __typename?: 'BalancerMetaPoolStrategiesConnection'; - edges: Array; +export type CurvePoolBalancesConnection = { + __typename?: 'CurvePoolBalancesConnection'; + edges: Array; pageInfo: PageInfo; totalCount: Scalars['Int']['output']; }; -export type BalancerMetaPoolStrategy = { - __typename?: 'BalancerMetaPoolStrategy'; +/** + * Any entity which has a price associated with it should have that price go in here. + * Prices can change very frequently and we don't want those changes on the same track + * as values which change less frequently. + */ +export type ExchangeRate = { + __typename?: 'ExchangeRate'; + base: Scalars['String']['output']; blockNumber: Scalars['Int']['output']; + /** Format: 'blockNumber:pair' ex '123456789:ETH_USD' */ id: Scalars['String']['output']; - rETH: Scalars['BigInt']['output']; + pair: Scalars['String']['output']; + quote: Scalars['String']['output']; + rate: Scalars['BigInt']['output']; timestamp: Scalars['DateTime']['output']; - total: Scalars['BigInt']['output']; - weth: Scalars['BigInt']['output']; }; -export type BalancerMetaPoolStrategyEdge = { - __typename?: 'BalancerMetaPoolStrategyEdge'; +export type ExchangeRateEdge = { + __typename?: 'ExchangeRateEdge'; cursor: Scalars['String']['output']; - node: BalancerMetaPoolStrategy; + node: ExchangeRate; }; -export enum BalancerMetaPoolStrategyOrderByInput { +export enum ExchangeRateOrderByInput { + BaseAsc = 'base_ASC', + BaseAscNullsFirst = 'base_ASC_NULLS_FIRST', + BaseDesc = 'base_DESC', + BaseDescNullsLast = 'base_DESC_NULLS_LAST', BlockNumberAsc = 'blockNumber_ASC', BlockNumberAscNullsFirst = 'blockNumber_ASC_NULLS_FIRST', BlockNumberDesc = 'blockNumber_DESC', @@ -369,27 +325,44 @@ export enum BalancerMetaPoolStrategyOrderByInput { IdAscNullsFirst = 'id_ASC_NULLS_FIRST', IdDesc = 'id_DESC', IdDescNullsLast = 'id_DESC_NULLS_LAST', - REthAsc = 'rETH_ASC', - REthAscNullsFirst = 'rETH_ASC_NULLS_FIRST', - REthDesc = 'rETH_DESC', - REthDescNullsLast = 'rETH_DESC_NULLS_LAST', + PairAsc = 'pair_ASC', + PairAscNullsFirst = 'pair_ASC_NULLS_FIRST', + PairDesc = 'pair_DESC', + PairDescNullsLast = 'pair_DESC_NULLS_LAST', + QuoteAsc = 'quote_ASC', + QuoteAscNullsFirst = 'quote_ASC_NULLS_FIRST', + QuoteDesc = 'quote_DESC', + QuoteDescNullsLast = 'quote_DESC_NULLS_LAST', + RateAsc = 'rate_ASC', + RateAscNullsFirst = 'rate_ASC_NULLS_FIRST', + RateDesc = 'rate_DESC', + RateDescNullsLast = 'rate_DESC_NULLS_LAST', TimestampAsc = 'timestamp_ASC', TimestampAscNullsFirst = 'timestamp_ASC_NULLS_FIRST', TimestampDesc = 'timestamp_DESC', - TimestampDescNullsLast = 'timestamp_DESC_NULLS_LAST', - TotalAsc = 'total_ASC', - TotalAscNullsFirst = 'total_ASC_NULLS_FIRST', - TotalDesc = 'total_DESC', - TotalDescNullsLast = 'total_DESC_NULLS_LAST', - WethAsc = 'weth_ASC', - WethAscNullsFirst = 'weth_ASC_NULLS_FIRST', - WethDesc = 'weth_DESC', - WethDescNullsLast = 'weth_DESC_NULLS_LAST' + TimestampDescNullsLast = 'timestamp_DESC_NULLS_LAST' } -export type BalancerMetaPoolStrategyWhereInput = { - AND?: InputMaybe>; - OR?: InputMaybe>; +export type ExchangeRateWhereInput = { + AND?: InputMaybe>; + OR?: InputMaybe>; + base_contains?: InputMaybe; + base_containsInsensitive?: InputMaybe; + base_endsWith?: InputMaybe; + base_eq?: InputMaybe; + base_gt?: InputMaybe; + base_gte?: InputMaybe; + base_in?: InputMaybe>; + base_isNull?: InputMaybe; + base_lt?: InputMaybe; + base_lte?: InputMaybe; + base_not_contains?: InputMaybe; + base_not_containsInsensitive?: InputMaybe; + base_not_endsWith?: InputMaybe; + base_not_eq?: InputMaybe; + base_not_in?: InputMaybe>; + base_not_startsWith?: InputMaybe; + base_startsWith?: InputMaybe; blockNumber_eq?: InputMaybe; blockNumber_gt?: InputMaybe; blockNumber_gte?: InputMaybe; @@ -416,15 +389,49 @@ export type BalancerMetaPoolStrategyWhereInput = { id_not_in?: InputMaybe>; id_not_startsWith?: InputMaybe; id_startsWith?: InputMaybe; - rETH_eq?: InputMaybe; - rETH_gt?: InputMaybe; - rETH_gte?: InputMaybe; - rETH_in?: InputMaybe>; - rETH_isNull?: InputMaybe; - rETH_lt?: InputMaybe; - rETH_lte?: InputMaybe; - rETH_not_eq?: InputMaybe; - rETH_not_in?: InputMaybe>; + pair_contains?: InputMaybe; + pair_containsInsensitive?: InputMaybe; + pair_endsWith?: InputMaybe; + pair_eq?: InputMaybe; + pair_gt?: InputMaybe; + pair_gte?: InputMaybe; + pair_in?: InputMaybe>; + pair_isNull?: InputMaybe; + pair_lt?: InputMaybe; + pair_lte?: InputMaybe; + pair_not_contains?: InputMaybe; + pair_not_containsInsensitive?: InputMaybe; + pair_not_endsWith?: InputMaybe; + pair_not_eq?: InputMaybe; + pair_not_in?: InputMaybe>; + pair_not_startsWith?: InputMaybe; + pair_startsWith?: InputMaybe; + quote_contains?: InputMaybe; + quote_containsInsensitive?: InputMaybe; + quote_endsWith?: InputMaybe; + quote_eq?: InputMaybe; + quote_gt?: InputMaybe; + quote_gte?: InputMaybe; + quote_in?: InputMaybe>; + quote_isNull?: InputMaybe; + quote_lt?: InputMaybe; + quote_lte?: InputMaybe; + quote_not_contains?: InputMaybe; + quote_not_containsInsensitive?: InputMaybe; + quote_not_endsWith?: InputMaybe; + quote_not_eq?: InputMaybe; + quote_not_in?: InputMaybe>; + quote_not_startsWith?: InputMaybe; + quote_startsWith?: InputMaybe; + rate_eq?: InputMaybe; + rate_gt?: InputMaybe; + rate_gte?: InputMaybe; + rate_in?: InputMaybe>; + rate_isNull?: InputMaybe; + rate_lt?: InputMaybe; + rate_lte?: InputMaybe; + rate_not_eq?: InputMaybe; + rate_not_in?: InputMaybe>; timestamp_eq?: InputMaybe; timestamp_gt?: InputMaybe; timestamp_gte?: InputMaybe; @@ -434,87 +441,65 @@ export type BalancerMetaPoolStrategyWhereInput = { timestamp_lte?: InputMaybe; timestamp_not_eq?: InputMaybe; timestamp_not_in?: InputMaybe>; - total_eq?: InputMaybe; - total_gt?: InputMaybe; - total_gte?: InputMaybe; - total_in?: InputMaybe>; - total_isNull?: InputMaybe; - total_lt?: InputMaybe; - total_lte?: InputMaybe; - total_not_eq?: InputMaybe; - total_not_in?: InputMaybe>; - weth_eq?: InputMaybe; - weth_gt?: InputMaybe; - weth_gte?: InputMaybe; - weth_in?: InputMaybe>; - weth_isNull?: InputMaybe; - weth_lt?: InputMaybe; - weth_lte?: InputMaybe; - weth_not_eq?: InputMaybe; - weth_not_in?: InputMaybe>; }; -export type CurveLp = { - __typename?: 'CurveLP'; +export type ExchangeRatesConnection = { + __typename?: 'ExchangeRatesConnection'; + edges: Array; + pageInfo: PageInfo; + totalCount: Scalars['Int']['output']; +}; + +export enum HistoryType { + Received = 'Received', + Sent = 'Sent', + Swap = 'Swap', + Yield = 'Yield' +} + +export type MakerDsrStrategiesConnection = { + __typename?: 'MakerDSRStrategiesConnection'; + edges: Array; + pageInfo: PageInfo; + totalCount: Scalars['Int']['output']; +}; + +export type MakerDsrStrategy = { + __typename?: 'MakerDSRStrategy'; blockNumber: Scalars['Int']['output']; - eth: Scalars['BigInt']['output']; - ethOwned: Scalars['BigInt']['output']; + dai: Scalars['BigInt']['output']; id: Scalars['String']['output']; - oeth: Scalars['BigInt']['output']; - oethOwned: Scalars['BigInt']['output']; timestamp: Scalars['DateTime']['output']; - totalSupply: Scalars['BigInt']['output']; - totalSupplyOwned: Scalars['BigInt']['output']; }; -export type CurveLpEdge = { - __typename?: 'CurveLPEdge'; +export type MakerDsrStrategyEdge = { + __typename?: 'MakerDSRStrategyEdge'; cursor: Scalars['String']['output']; - node: CurveLp; + node: MakerDsrStrategy; }; -export enum CurveLpOrderByInput { +export enum MakerDsrStrategyOrderByInput { BlockNumberAsc = 'blockNumber_ASC', BlockNumberAscNullsFirst = 'blockNumber_ASC_NULLS_FIRST', BlockNumberDesc = 'blockNumber_DESC', BlockNumberDescNullsLast = 'blockNumber_DESC_NULLS_LAST', - EthOwnedAsc = 'ethOwned_ASC', - EthOwnedAscNullsFirst = 'ethOwned_ASC_NULLS_FIRST', - EthOwnedDesc = 'ethOwned_DESC', - EthOwnedDescNullsLast = 'ethOwned_DESC_NULLS_LAST', - EthAsc = 'eth_ASC', - EthAscNullsFirst = 'eth_ASC_NULLS_FIRST', - EthDesc = 'eth_DESC', - EthDescNullsLast = 'eth_DESC_NULLS_LAST', + DaiAsc = 'dai_ASC', + DaiAscNullsFirst = 'dai_ASC_NULLS_FIRST', + DaiDesc = 'dai_DESC', + DaiDescNullsLast = 'dai_DESC_NULLS_LAST', IdAsc = 'id_ASC', IdAscNullsFirst = 'id_ASC_NULLS_FIRST', IdDesc = 'id_DESC', IdDescNullsLast = 'id_DESC_NULLS_LAST', - OethOwnedAsc = 'oethOwned_ASC', - OethOwnedAscNullsFirst = 'oethOwned_ASC_NULLS_FIRST', - OethOwnedDesc = 'oethOwned_DESC', - OethOwnedDescNullsLast = 'oethOwned_DESC_NULLS_LAST', - OethAsc = 'oeth_ASC', - OethAscNullsFirst = 'oeth_ASC_NULLS_FIRST', - OethDesc = 'oeth_DESC', - OethDescNullsLast = 'oeth_DESC_NULLS_LAST', TimestampAsc = 'timestamp_ASC', TimestampAscNullsFirst = 'timestamp_ASC_NULLS_FIRST', TimestampDesc = 'timestamp_DESC', - TimestampDescNullsLast = 'timestamp_DESC_NULLS_LAST', - TotalSupplyOwnedAsc = 'totalSupplyOwned_ASC', - TotalSupplyOwnedAscNullsFirst = 'totalSupplyOwned_ASC_NULLS_FIRST', - TotalSupplyOwnedDesc = 'totalSupplyOwned_DESC', - TotalSupplyOwnedDescNullsLast = 'totalSupplyOwned_DESC_NULLS_LAST', - TotalSupplyAsc = 'totalSupply_ASC', - TotalSupplyAscNullsFirst = 'totalSupply_ASC_NULLS_FIRST', - TotalSupplyDesc = 'totalSupply_DESC', - TotalSupplyDescNullsLast = 'totalSupply_DESC_NULLS_LAST' + TimestampDescNullsLast = 'timestamp_DESC_NULLS_LAST' } -export type CurveLpWhereInput = { - AND?: InputMaybe>; - OR?: InputMaybe>; +export type MakerDsrStrategyWhereInput = { + AND?: InputMaybe>; + OR?: InputMaybe>; blockNumber_eq?: InputMaybe; blockNumber_gt?: InputMaybe; blockNumber_gte?: InputMaybe; @@ -524,24 +509,15 @@ export type CurveLpWhereInput = { blockNumber_lte?: InputMaybe; blockNumber_not_eq?: InputMaybe; blockNumber_not_in?: InputMaybe>; - ethOwned_eq?: InputMaybe; - ethOwned_gt?: InputMaybe; - ethOwned_gte?: InputMaybe; - ethOwned_in?: InputMaybe>; - ethOwned_isNull?: InputMaybe; - ethOwned_lt?: InputMaybe; - ethOwned_lte?: InputMaybe; - ethOwned_not_eq?: InputMaybe; - ethOwned_not_in?: InputMaybe>; - eth_eq?: InputMaybe; - eth_gt?: InputMaybe; - eth_gte?: InputMaybe; - eth_in?: InputMaybe>; - eth_isNull?: InputMaybe; - eth_lt?: InputMaybe; - eth_lte?: InputMaybe; - eth_not_eq?: InputMaybe; - eth_not_in?: InputMaybe>; + dai_eq?: InputMaybe; + dai_gt?: InputMaybe; + dai_gte?: InputMaybe; + dai_in?: InputMaybe>; + dai_isNull?: InputMaybe; + dai_lt?: InputMaybe; + dai_lte?: InputMaybe; + dai_not_eq?: InputMaybe; + dai_not_in?: InputMaybe>; id_contains?: InputMaybe; id_containsInsensitive?: InputMaybe; id_endsWith?: InputMaybe; @@ -559,24 +535,6 @@ export type CurveLpWhereInput = { id_not_in?: InputMaybe>; id_not_startsWith?: InputMaybe; id_startsWith?: InputMaybe; - oethOwned_eq?: InputMaybe; - oethOwned_gt?: InputMaybe; - oethOwned_gte?: InputMaybe; - oethOwned_in?: InputMaybe>; - oethOwned_isNull?: InputMaybe; - oethOwned_lt?: InputMaybe; - oethOwned_lte?: InputMaybe; - oethOwned_not_eq?: InputMaybe; - oethOwned_not_in?: InputMaybe>; - oeth_eq?: InputMaybe; - oeth_gt?: InputMaybe; - oeth_gte?: InputMaybe; - oeth_in?: InputMaybe>; - oeth_isNull?: InputMaybe; - oeth_lt?: InputMaybe; - oeth_lte?: InputMaybe; - oeth_not_eq?: InputMaybe; - oeth_not_in?: InputMaybe>; timestamp_eq?: InputMaybe; timestamp_gt?: InputMaybe; timestamp_gte?: InputMaybe; @@ -586,69 +544,131 @@ export type CurveLpWhereInput = { timestamp_lte?: InputMaybe; timestamp_not_eq?: InputMaybe; timestamp_not_in?: InputMaybe>; - totalSupplyOwned_eq?: InputMaybe; - totalSupplyOwned_gt?: InputMaybe; - totalSupplyOwned_gte?: InputMaybe; - totalSupplyOwned_in?: InputMaybe>; - totalSupplyOwned_isNull?: InputMaybe; - totalSupplyOwned_lt?: InputMaybe; - totalSupplyOwned_lte?: InputMaybe; - totalSupplyOwned_not_eq?: InputMaybe; - totalSupplyOwned_not_in?: InputMaybe>; - totalSupply_eq?: InputMaybe; - totalSupply_gt?: InputMaybe; - totalSupply_gte?: InputMaybe; - totalSupply_in?: InputMaybe>; - totalSupply_isNull?: InputMaybe; - totalSupply_lt?: InputMaybe; - totalSupply_lte?: InputMaybe; - totalSupply_not_eq?: InputMaybe; - totalSupply_not_in?: InputMaybe>; }; -export type CurveLPsConnection = { - __typename?: 'CurveLPsConnection'; - edges: Array; - pageInfo: PageInfo; - totalCount: Scalars['Int']['output']; +/** The OETH entity tracks the change in total supply of OETH over time. */ +export type Oeth = { + __typename?: 'OETH'; + blockNumber: Scalars['Int']['output']; + id: Scalars['String']['output']; + nonRebasingSupply: Scalars['BigInt']['output']; + rebasingSupply: Scalars['BigInt']['output']; + timestamp: Scalars['DateTime']['output']; + totalSupply: Scalars['BigInt']['output']; }; -export type Dripper = { - __typename?: 'Dripper'; +/** The APY entity tracks historical APY values by day. */ +export type Oethapy = { + __typename?: 'OETHAPY'; + apr: Scalars['Float']['output']; + apy: Scalars['Float']['output']; + apy7DayAvg: Scalars['Float']['output']; + apy14DayAvg: Scalars['Float']['output']; + apy30DayAvg: Scalars['Float']['output']; blockNumber: Scalars['Int']['output']; id: Scalars['String']['output']; + rebasingCreditsPerToken: Scalars['BigInt']['output']; timestamp: Scalars['DateTime']['output']; - weth: Scalars['BigInt']['output']; + txHash: Scalars['String']['output']; }; -export type DripperEdge = { - __typename?: 'DripperEdge'; +export type OethapyEdge = { + __typename?: 'OETHAPYEdge'; cursor: Scalars['String']['output']; - node: Dripper; + node: Oethapy; }; -export enum DripperOrderByInput { - BlockNumberAsc = 'blockNumber_ASC', - BlockNumberAscNullsFirst = 'blockNumber_ASC_NULLS_FIRST', - BlockNumberDesc = 'blockNumber_DESC', - BlockNumberDescNullsLast = 'blockNumber_DESC_NULLS_LAST', - IdAsc = 'id_ASC', - IdAscNullsFirst = 'id_ASC_NULLS_FIRST', - IdDesc = 'id_DESC', - IdDescNullsLast = 'id_DESC_NULLS_LAST', - TimestampAsc = 'timestamp_ASC', - TimestampAscNullsFirst = 'timestamp_ASC_NULLS_FIRST', - TimestampDesc = 'timestamp_DESC', - TimestampDescNullsLast = 'timestamp_DESC_NULLS_LAST', - WethAsc = 'weth_ASC', - WethAscNullsFirst = 'weth_ASC_NULLS_FIRST', - WethDesc = 'weth_DESC', - WethDescNullsLast = 'weth_DESC_NULLS_LAST' -} - -export type DripperWhereInput = { - AND?: InputMaybe>; - OR?: InputMaybe>; +export enum OethapyOrderByInput { + AprAsc = 'apr_ASC', + AprAscNullsFirst = 'apr_ASC_NULLS_FIRST', + AprDesc = 'apr_DESC', + AprDescNullsLast = 'apr_DESC_NULLS_LAST', + Apy7DayAvgAsc = 'apy7DayAvg_ASC', + Apy7DayAvgAscNullsFirst = 'apy7DayAvg_ASC_NULLS_FIRST', + Apy7DayAvgDesc = 'apy7DayAvg_DESC', + Apy7DayAvgDescNullsLast = 'apy7DayAvg_DESC_NULLS_LAST', + Apy14DayAvgAsc = 'apy14DayAvg_ASC', + Apy14DayAvgAscNullsFirst = 'apy14DayAvg_ASC_NULLS_FIRST', + Apy14DayAvgDesc = 'apy14DayAvg_DESC', + Apy14DayAvgDescNullsLast = 'apy14DayAvg_DESC_NULLS_LAST', + Apy30DayAvgAsc = 'apy30DayAvg_ASC', + Apy30DayAvgAscNullsFirst = 'apy30DayAvg_ASC_NULLS_FIRST', + Apy30DayAvgDesc = 'apy30DayAvg_DESC', + Apy30DayAvgDescNullsLast = 'apy30DayAvg_DESC_NULLS_LAST', + ApyAsc = 'apy_ASC', + ApyAscNullsFirst = 'apy_ASC_NULLS_FIRST', + ApyDesc = 'apy_DESC', + ApyDescNullsLast = 'apy_DESC_NULLS_LAST', + BlockNumberAsc = 'blockNumber_ASC', + BlockNumberAscNullsFirst = 'blockNumber_ASC_NULLS_FIRST', + BlockNumberDesc = 'blockNumber_DESC', + BlockNumberDescNullsLast = 'blockNumber_DESC_NULLS_LAST', + IdAsc = 'id_ASC', + IdAscNullsFirst = 'id_ASC_NULLS_FIRST', + IdDesc = 'id_DESC', + IdDescNullsLast = 'id_DESC_NULLS_LAST', + RebasingCreditsPerTokenAsc = 'rebasingCreditsPerToken_ASC', + RebasingCreditsPerTokenAscNullsFirst = 'rebasingCreditsPerToken_ASC_NULLS_FIRST', + RebasingCreditsPerTokenDesc = 'rebasingCreditsPerToken_DESC', + RebasingCreditsPerTokenDescNullsLast = 'rebasingCreditsPerToken_DESC_NULLS_LAST', + TimestampAsc = 'timestamp_ASC', + TimestampAscNullsFirst = 'timestamp_ASC_NULLS_FIRST', + TimestampDesc = 'timestamp_DESC', + TimestampDescNullsLast = 'timestamp_DESC_NULLS_LAST', + TxHashAsc = 'txHash_ASC', + TxHashAscNullsFirst = 'txHash_ASC_NULLS_FIRST', + TxHashDesc = 'txHash_DESC', + TxHashDescNullsLast = 'txHash_DESC_NULLS_LAST' +} + +export type OethapyWhereInput = { + AND?: InputMaybe>; + OR?: InputMaybe>; + apr_eq?: InputMaybe; + apr_gt?: InputMaybe; + apr_gte?: InputMaybe; + apr_in?: InputMaybe>; + apr_isNull?: InputMaybe; + apr_lt?: InputMaybe; + apr_lte?: InputMaybe; + apr_not_eq?: InputMaybe; + apr_not_in?: InputMaybe>; + apy7DayAvg_eq?: InputMaybe; + apy7DayAvg_gt?: InputMaybe; + apy7DayAvg_gte?: InputMaybe; + apy7DayAvg_in?: InputMaybe>; + apy7DayAvg_isNull?: InputMaybe; + apy7DayAvg_lt?: InputMaybe; + apy7DayAvg_lte?: InputMaybe; + apy7DayAvg_not_eq?: InputMaybe; + apy7DayAvg_not_in?: InputMaybe>; + apy14DayAvg_eq?: InputMaybe; + apy14DayAvg_gt?: InputMaybe; + apy14DayAvg_gte?: InputMaybe; + apy14DayAvg_in?: InputMaybe>; + apy14DayAvg_isNull?: InputMaybe; + apy14DayAvg_lt?: InputMaybe; + apy14DayAvg_lte?: InputMaybe; + apy14DayAvg_not_eq?: InputMaybe; + apy14DayAvg_not_in?: InputMaybe>; + apy30DayAvg_eq?: InputMaybe; + apy30DayAvg_gt?: InputMaybe; + apy30DayAvg_gte?: InputMaybe; + apy30DayAvg_in?: InputMaybe>; + apy30DayAvg_isNull?: InputMaybe; + apy30DayAvg_lt?: InputMaybe; + apy30DayAvg_lte?: InputMaybe; + apy30DayAvg_not_eq?: InputMaybe; + apy30DayAvg_not_in?: InputMaybe>; + apy_eq?: InputMaybe; + apy_gt?: InputMaybe; + apy_gte?: InputMaybe; + apy_in?: InputMaybe>; + apy_isNull?: InputMaybe; + apy_lt?: InputMaybe; + apy_lte?: InputMaybe; + apy_not_eq?: InputMaybe; + apy_not_in?: InputMaybe>; blockNumber_eq?: InputMaybe; blockNumber_gt?: InputMaybe; blockNumber_gte?: InputMaybe; @@ -675,6 +695,15 @@ export type DripperWhereInput = { id_not_in?: InputMaybe>; id_not_startsWith?: InputMaybe; id_startsWith?: InputMaybe; + rebasingCreditsPerToken_eq?: InputMaybe; + rebasingCreditsPerToken_gt?: InputMaybe; + rebasingCreditsPerToken_gte?: InputMaybe; + rebasingCreditsPerToken_in?: InputMaybe>; + rebasingCreditsPerToken_isNull?: InputMaybe; + rebasingCreditsPerToken_lt?: InputMaybe; + rebasingCreditsPerToken_lte?: InputMaybe; + rebasingCreditsPerToken_not_eq?: InputMaybe; + rebasingCreditsPerToken_not_in?: InputMaybe>; timestamp_eq?: InputMaybe; timestamp_gt?: InputMaybe; timestamp_gte?: InputMaybe; @@ -684,102 +713,124 @@ export type DripperWhereInput = { timestamp_lte?: InputMaybe; timestamp_not_eq?: InputMaybe; timestamp_not_in?: InputMaybe>; - weth_eq?: InputMaybe; - weth_gt?: InputMaybe; - weth_gte?: InputMaybe; - weth_in?: InputMaybe>; - weth_isNull?: InputMaybe; - weth_lt?: InputMaybe; - weth_lte?: InputMaybe; - weth_not_eq?: InputMaybe; - weth_not_in?: InputMaybe>; + txHash_contains?: InputMaybe; + txHash_containsInsensitive?: InputMaybe; + txHash_endsWith?: InputMaybe; + txHash_eq?: InputMaybe; + txHash_gt?: InputMaybe; + txHash_gte?: InputMaybe; + txHash_in?: InputMaybe>; + txHash_isNull?: InputMaybe; + txHash_lt?: InputMaybe; + txHash_lte?: InputMaybe; + txHash_not_contains?: InputMaybe; + txHash_not_containsInsensitive?: InputMaybe; + txHash_not_endsWith?: InputMaybe; + txHash_not_eq?: InputMaybe; + txHash_not_in?: InputMaybe>; + txHash_not_startsWith?: InputMaybe; + txHash_startsWith?: InputMaybe; }; -export type DrippersConnection = { - __typename?: 'DrippersConnection'; - edges: Array; +export type OethaPiesConnection = { + __typename?: 'OETHAPiesConnection'; + edges: Array; pageInfo: PageInfo; totalCount: Scalars['Int']['output']; }; -export type ExchangeRate = { - __typename?: 'ExchangeRate'; - base: Scalars['String']['output']; - blockNumber: Scalars['Int']['output']; - /** Format: 'blockNumber:pair' ex '123456789:ETH_USD' */ +/** The OETH balance, history and other information for a given address. */ +export type OethAddress = { + __typename?: 'OETHAddress'; + balance: Scalars['BigInt']['output']; + credits: Scalars['BigInt']['output']; + earned: Scalars['BigInt']['output']; + history: Array; id: Scalars['String']['output']; - pair: Scalars['String']['output']; - quote: Scalars['String']['output']; - rate: Scalars['BigInt']['output']; - timestamp: Scalars['DateTime']['output']; + isContract: Scalars['Boolean']['output']; + lastUpdated: Scalars['DateTime']['output']; + rebasingOption: RebasingOption; }; -export type ExchangeRateEdge = { - __typename?: 'ExchangeRateEdge'; + +/** The OETH balance, history and other information for a given address. */ +export type OethAddressHistoryArgs = { + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; +}; + +export type OethAddressEdge = { + __typename?: 'OETHAddressEdge'; cursor: Scalars['String']['output']; - node: ExchangeRate; + node: OethAddress; }; -export enum ExchangeRateOrderByInput { - BaseAsc = 'base_ASC', - BaseAscNullsFirst = 'base_ASC_NULLS_FIRST', - BaseDesc = 'base_DESC', - BaseDescNullsLast = 'base_DESC_NULLS_LAST', - BlockNumberAsc = 'blockNumber_ASC', - BlockNumberAscNullsFirst = 'blockNumber_ASC_NULLS_FIRST', - BlockNumberDesc = 'blockNumber_DESC', - BlockNumberDescNullsLast = 'blockNumber_DESC_NULLS_LAST', +export enum OethAddressOrderByInput { + BalanceAsc = 'balance_ASC', + BalanceAscNullsFirst = 'balance_ASC_NULLS_FIRST', + BalanceDesc = 'balance_DESC', + BalanceDescNullsLast = 'balance_DESC_NULLS_LAST', + CreditsAsc = 'credits_ASC', + CreditsAscNullsFirst = 'credits_ASC_NULLS_FIRST', + CreditsDesc = 'credits_DESC', + CreditsDescNullsLast = 'credits_DESC_NULLS_LAST', + EarnedAsc = 'earned_ASC', + EarnedAscNullsFirst = 'earned_ASC_NULLS_FIRST', + EarnedDesc = 'earned_DESC', + EarnedDescNullsLast = 'earned_DESC_NULLS_LAST', IdAsc = 'id_ASC', IdAscNullsFirst = 'id_ASC_NULLS_FIRST', IdDesc = 'id_DESC', IdDescNullsLast = 'id_DESC_NULLS_LAST', - PairAsc = 'pair_ASC', - PairAscNullsFirst = 'pair_ASC_NULLS_FIRST', - PairDesc = 'pair_DESC', - PairDescNullsLast = 'pair_DESC_NULLS_LAST', - QuoteAsc = 'quote_ASC', - QuoteAscNullsFirst = 'quote_ASC_NULLS_FIRST', - QuoteDesc = 'quote_DESC', - QuoteDescNullsLast = 'quote_DESC_NULLS_LAST', - RateAsc = 'rate_ASC', - RateAscNullsFirst = 'rate_ASC_NULLS_FIRST', - RateDesc = 'rate_DESC', - RateDescNullsLast = 'rate_DESC_NULLS_LAST', - TimestampAsc = 'timestamp_ASC', - TimestampAscNullsFirst = 'timestamp_ASC_NULLS_FIRST', - TimestampDesc = 'timestamp_DESC', - TimestampDescNullsLast = 'timestamp_DESC_NULLS_LAST' + IsContractAsc = 'isContract_ASC', + IsContractAscNullsFirst = 'isContract_ASC_NULLS_FIRST', + IsContractDesc = 'isContract_DESC', + IsContractDescNullsLast = 'isContract_DESC_NULLS_LAST', + LastUpdatedAsc = 'lastUpdated_ASC', + LastUpdatedAscNullsFirst = 'lastUpdated_ASC_NULLS_FIRST', + LastUpdatedDesc = 'lastUpdated_DESC', + LastUpdatedDescNullsLast = 'lastUpdated_DESC_NULLS_LAST', + RebasingOptionAsc = 'rebasingOption_ASC', + RebasingOptionAscNullsFirst = 'rebasingOption_ASC_NULLS_FIRST', + RebasingOptionDesc = 'rebasingOption_DESC', + RebasingOptionDescNullsLast = 'rebasingOption_DESC_NULLS_LAST' } -export type ExchangeRateWhereInput = { - AND?: InputMaybe>; - OR?: InputMaybe>; - base_contains?: InputMaybe; - base_containsInsensitive?: InputMaybe; - base_endsWith?: InputMaybe; - base_eq?: InputMaybe; - base_gt?: InputMaybe; - base_gte?: InputMaybe; - base_in?: InputMaybe>; - base_isNull?: InputMaybe; - base_lt?: InputMaybe; - base_lte?: InputMaybe; - base_not_contains?: InputMaybe; - base_not_containsInsensitive?: InputMaybe; - base_not_endsWith?: InputMaybe; - base_not_eq?: InputMaybe; - base_not_in?: InputMaybe>; - base_not_startsWith?: InputMaybe; - base_startsWith?: InputMaybe; - blockNumber_eq?: InputMaybe; - blockNumber_gt?: InputMaybe; - blockNumber_gte?: InputMaybe; - blockNumber_in?: InputMaybe>; - blockNumber_isNull?: InputMaybe; - blockNumber_lt?: InputMaybe; - blockNumber_lte?: InputMaybe; - blockNumber_not_eq?: InputMaybe; - blockNumber_not_in?: InputMaybe>; +export type OethAddressWhereInput = { + AND?: InputMaybe>; + OR?: InputMaybe>; + balance_eq?: InputMaybe; + balance_gt?: InputMaybe; + balance_gte?: InputMaybe; + balance_in?: InputMaybe>; + balance_isNull?: InputMaybe; + balance_lt?: InputMaybe; + balance_lte?: InputMaybe; + balance_not_eq?: InputMaybe; + balance_not_in?: InputMaybe>; + credits_eq?: InputMaybe; + credits_gt?: InputMaybe; + credits_gte?: InputMaybe; + credits_in?: InputMaybe>; + credits_isNull?: InputMaybe; + credits_lt?: InputMaybe; + credits_lte?: InputMaybe; + credits_not_eq?: InputMaybe; + credits_not_in?: InputMaybe>; + earned_eq?: InputMaybe; + earned_gt?: InputMaybe; + earned_gte?: InputMaybe; + earned_in?: InputMaybe>; + earned_isNull?: InputMaybe; + earned_lt?: InputMaybe; + earned_lte?: InputMaybe; + earned_not_eq?: InputMaybe; + earned_not_in?: InputMaybe>; + history_every?: InputMaybe; + history_none?: InputMaybe; + history_some?: InputMaybe; id_contains?: InputMaybe; id_containsInsensitive?: InputMaybe; id_endsWith?: InputMaybe; @@ -797,107 +848,80 @@ export type ExchangeRateWhereInput = { id_not_in?: InputMaybe>; id_not_startsWith?: InputMaybe; id_startsWith?: InputMaybe; - pair_contains?: InputMaybe; - pair_containsInsensitive?: InputMaybe; - pair_endsWith?: InputMaybe; - pair_eq?: InputMaybe; - pair_gt?: InputMaybe; - pair_gte?: InputMaybe; - pair_in?: InputMaybe>; - pair_isNull?: InputMaybe; - pair_lt?: InputMaybe; - pair_lte?: InputMaybe; - pair_not_contains?: InputMaybe; - pair_not_containsInsensitive?: InputMaybe; - pair_not_endsWith?: InputMaybe; - pair_not_eq?: InputMaybe; - pair_not_in?: InputMaybe>; - pair_not_startsWith?: InputMaybe; - pair_startsWith?: InputMaybe; - quote_contains?: InputMaybe; - quote_containsInsensitive?: InputMaybe; - quote_endsWith?: InputMaybe; - quote_eq?: InputMaybe; - quote_gt?: InputMaybe; - quote_gte?: InputMaybe; - quote_in?: InputMaybe>; - quote_isNull?: InputMaybe; - quote_lt?: InputMaybe; - quote_lte?: InputMaybe; - quote_not_contains?: InputMaybe; - quote_not_containsInsensitive?: InputMaybe; - quote_not_endsWith?: InputMaybe; - quote_not_eq?: InputMaybe; - quote_not_in?: InputMaybe>; - quote_not_startsWith?: InputMaybe; - quote_startsWith?: InputMaybe; - rate_eq?: InputMaybe; - rate_gt?: InputMaybe; - rate_gte?: InputMaybe; - rate_in?: InputMaybe>; - rate_isNull?: InputMaybe; - rate_lt?: InputMaybe; - rate_lte?: InputMaybe; - rate_not_eq?: InputMaybe; - rate_not_in?: InputMaybe>; - timestamp_eq?: InputMaybe; - timestamp_gt?: InputMaybe; - timestamp_gte?: InputMaybe; - timestamp_in?: InputMaybe>; - timestamp_isNull?: InputMaybe; - timestamp_lt?: InputMaybe; - timestamp_lte?: InputMaybe; - timestamp_not_eq?: InputMaybe; - timestamp_not_in?: InputMaybe>; + isContract_eq?: InputMaybe; + isContract_isNull?: InputMaybe; + isContract_not_eq?: InputMaybe; + lastUpdated_eq?: InputMaybe; + lastUpdated_gt?: InputMaybe; + lastUpdated_gte?: InputMaybe; + lastUpdated_in?: InputMaybe>; + lastUpdated_isNull?: InputMaybe; + lastUpdated_lt?: InputMaybe; + lastUpdated_lte?: InputMaybe; + lastUpdated_not_eq?: InputMaybe; + lastUpdated_not_in?: InputMaybe>; + rebasingOption_eq?: InputMaybe; + rebasingOption_in?: InputMaybe>; + rebasingOption_isNull?: InputMaybe; + rebasingOption_not_eq?: InputMaybe; + rebasingOption_not_in?: InputMaybe>; }; -export type ExchangeRatesConnection = { - __typename?: 'ExchangeRatesConnection'; - edges: Array; +export type OethAddressesConnection = { + __typename?: 'OETHAddressesConnection'; + edges: Array; + pageInfo: PageInfo; + totalCount: Scalars['Int']['output']; +}; + +export type OethBalancerMetaPoolStrategiesConnection = { + __typename?: 'OETHBalancerMetaPoolStrategiesConnection'; + edges: Array; pageInfo: PageInfo; totalCount: Scalars['Int']['output']; }; -export type FraxStaking = { - __typename?: 'FraxStaking'; +export type OethBalancerMetaPoolStrategy = { + __typename?: 'OETHBalancerMetaPoolStrategy'; blockNumber: Scalars['Int']['output']; - /** - * - sfrxETH is what's actually stored here, slightly confusing and may want to change. - * - used by balance sheet - */ - frxETH: Scalars['BigInt']['output']; id: Scalars['String']['output']; + rETH: Scalars['BigInt']['output']; timestamp: Scalars['DateTime']['output']; + weth: Scalars['BigInt']['output']; }; -export type FraxStakingEdge = { - __typename?: 'FraxStakingEdge'; +export type OethBalancerMetaPoolStrategyEdge = { + __typename?: 'OETHBalancerMetaPoolStrategyEdge'; cursor: Scalars['String']['output']; - node: FraxStaking; + node: OethBalancerMetaPoolStrategy; }; -export enum FraxStakingOrderByInput { +export enum OethBalancerMetaPoolStrategyOrderByInput { BlockNumberAsc = 'blockNumber_ASC', BlockNumberAscNullsFirst = 'blockNumber_ASC_NULLS_FIRST', BlockNumberDesc = 'blockNumber_DESC', BlockNumberDescNullsLast = 'blockNumber_DESC_NULLS_LAST', - FrxEthAsc = 'frxETH_ASC', - FrxEthAscNullsFirst = 'frxETH_ASC_NULLS_FIRST', - FrxEthDesc = 'frxETH_DESC', - FrxEthDescNullsLast = 'frxETH_DESC_NULLS_LAST', IdAsc = 'id_ASC', IdAscNullsFirst = 'id_ASC_NULLS_FIRST', IdDesc = 'id_DESC', IdDescNullsLast = 'id_DESC_NULLS_LAST', + REthAsc = 'rETH_ASC', + REthAscNullsFirst = 'rETH_ASC_NULLS_FIRST', + REthDesc = 'rETH_DESC', + REthDescNullsLast = 'rETH_DESC_NULLS_LAST', TimestampAsc = 'timestamp_ASC', TimestampAscNullsFirst = 'timestamp_ASC_NULLS_FIRST', TimestampDesc = 'timestamp_DESC', - TimestampDescNullsLast = 'timestamp_DESC_NULLS_LAST' + TimestampDescNullsLast = 'timestamp_DESC_NULLS_LAST', + WethAsc = 'weth_ASC', + WethAscNullsFirst = 'weth_ASC_NULLS_FIRST', + WethDesc = 'weth_DESC', + WethDescNullsLast = 'weth_DESC_NULLS_LAST' } -export type FraxStakingWhereInput = { - AND?: InputMaybe>; - OR?: InputMaybe>; +export type OethBalancerMetaPoolStrategyWhereInput = { + AND?: InputMaybe>; + OR?: InputMaybe>; blockNumber_eq?: InputMaybe; blockNumber_gt?: InputMaybe; blockNumber_gte?: InputMaybe; @@ -907,15 +931,6 @@ export type FraxStakingWhereInput = { blockNumber_lte?: InputMaybe; blockNumber_not_eq?: InputMaybe; blockNumber_not_in?: InputMaybe>; - frxETH_eq?: InputMaybe; - frxETH_gt?: InputMaybe; - frxETH_gte?: InputMaybe; - frxETH_in?: InputMaybe>; - frxETH_isNull?: InputMaybe; - frxETH_lt?: InputMaybe; - frxETH_lte?: InputMaybe; - frxETH_not_eq?: InputMaybe; - frxETH_not_in?: InputMaybe>; id_contains?: InputMaybe; id_containsInsensitive?: InputMaybe; id_endsWith?: InputMaybe; @@ -933,6 +948,15 @@ export type FraxStakingWhereInput = { id_not_in?: InputMaybe>; id_not_startsWith?: InputMaybe; id_startsWith?: InputMaybe; + rETH_eq?: InputMaybe; + rETH_gt?: InputMaybe; + rETH_gte?: InputMaybe; + rETH_in?: InputMaybe>; + rETH_isNull?: InputMaybe; + rETH_lt?: InputMaybe; + rETH_lte?: InputMaybe; + rETH_not_eq?: InputMaybe; + rETH_not_in?: InputMaybe>; timestamp_eq?: InputMaybe; timestamp_gt?: InputMaybe; timestamp_gte?: InputMaybe; @@ -942,130 +966,158 @@ export type FraxStakingWhereInput = { timestamp_lte?: InputMaybe; timestamp_not_eq?: InputMaybe; timestamp_not_in?: InputMaybe>; + weth_eq?: InputMaybe; + weth_gt?: InputMaybe; + weth_gte?: InputMaybe; + weth_in?: InputMaybe>; + weth_isNull?: InputMaybe; + weth_lt?: InputMaybe; + weth_lte?: InputMaybe; + weth_not_eq?: InputMaybe; + weth_not_in?: InputMaybe>; }; -export type FraxStakingsConnection = { - __typename?: 'FraxStakingsConnection'; - edges: Array; - pageInfo: PageInfo; - totalCount: Scalars['Int']['output']; -}; - -export type HistoriesConnection = { - __typename?: 'HistoriesConnection'; - edges: Array; - pageInfo: PageInfo; - totalCount: Scalars['Int']['output']; -}; - -/** The History entity tracks events that change the balance of OETH for an address. */ -export type History = { - __typename?: 'History'; - address: Address; - balance: Scalars['BigInt']['output']; - blockNumber: Scalars['Int']['output']; +export type OethCollateralDailyStat = { + __typename?: 'OETHCollateralDailyStat'; + /** Amount held */ + amount: Scalars['BigInt']['output']; + dailyStatId: OethDailyStat; id: Scalars['String']['output']; - timestamp: Scalars['DateTime']['output']; - txHash: Scalars['String']['output']; - type: HistoryType; + /** Price in ETH */ + price: Scalars['BigInt']['output']; + /** Token symbol */ + symbol: Scalars['String']['output']; + /** Total ETH value */ value: Scalars['BigInt']['output']; }; -export type HistoryEdge = { - __typename?: 'HistoryEdge'; +export type OethCollateralDailyStatEdge = { + __typename?: 'OETHCollateralDailyStatEdge'; cursor: Scalars['String']['output']; - node: History; + node: OethCollateralDailyStat; }; -export enum HistoryOrderByInput { - AddressBalanceAsc = 'address_balance_ASC', - AddressBalanceAscNullsFirst = 'address_balance_ASC_NULLS_FIRST', - AddressBalanceDesc = 'address_balance_DESC', - AddressBalanceDescNullsLast = 'address_balance_DESC_NULLS_LAST', - AddressCreditsAsc = 'address_credits_ASC', - AddressCreditsAscNullsFirst = 'address_credits_ASC_NULLS_FIRST', - AddressCreditsDesc = 'address_credits_DESC', - AddressCreditsDescNullsLast = 'address_credits_DESC_NULLS_LAST', - AddressEarnedAsc = 'address_earned_ASC', - AddressEarnedAscNullsFirst = 'address_earned_ASC_NULLS_FIRST', - AddressEarnedDesc = 'address_earned_DESC', - AddressEarnedDescNullsLast = 'address_earned_DESC_NULLS_LAST', - AddressIdAsc = 'address_id_ASC', - AddressIdAscNullsFirst = 'address_id_ASC_NULLS_FIRST', - AddressIdDesc = 'address_id_DESC', - AddressIdDescNullsLast = 'address_id_DESC_NULLS_LAST', - AddressIsContractAsc = 'address_isContract_ASC', - AddressIsContractAscNullsFirst = 'address_isContract_ASC_NULLS_FIRST', - AddressIsContractDesc = 'address_isContract_DESC', - AddressIsContractDescNullsLast = 'address_isContract_DESC_NULLS_LAST', - AddressLastUpdatedAsc = 'address_lastUpdated_ASC', - AddressLastUpdatedAscNullsFirst = 'address_lastUpdated_ASC_NULLS_FIRST', - AddressLastUpdatedDesc = 'address_lastUpdated_DESC', - AddressLastUpdatedDescNullsLast = 'address_lastUpdated_DESC_NULLS_LAST', - AddressRebasingOptionAsc = 'address_rebasingOption_ASC', - AddressRebasingOptionAscNullsFirst = 'address_rebasingOption_ASC_NULLS_FIRST', - AddressRebasingOptionDesc = 'address_rebasingOption_DESC', - AddressRebasingOptionDescNullsLast = 'address_rebasingOption_DESC_NULLS_LAST', - BalanceAsc = 'balance_ASC', - BalanceAscNullsFirst = 'balance_ASC_NULLS_FIRST', - BalanceDesc = 'balance_DESC', - BalanceDescNullsLast = 'balance_DESC_NULLS_LAST', - BlockNumberAsc = 'blockNumber_ASC', - BlockNumberAscNullsFirst = 'blockNumber_ASC_NULLS_FIRST', - BlockNumberDesc = 'blockNumber_DESC', - BlockNumberDescNullsLast = 'blockNumber_DESC_NULLS_LAST', +export enum OethCollateralDailyStatOrderByInput { + AmountAsc = 'amount_ASC', + AmountAscNullsFirst = 'amount_ASC_NULLS_FIRST', + AmountDesc = 'amount_DESC', + AmountDescNullsLast = 'amount_DESC_NULLS_LAST', + DailyStatIdAmoSupplyAsc = 'dailyStatId_amoSupply_ASC', + DailyStatIdAmoSupplyAscNullsFirst = 'dailyStatId_amoSupply_ASC_NULLS_FIRST', + DailyStatIdAmoSupplyDesc = 'dailyStatId_amoSupply_DESC', + DailyStatIdAmoSupplyDescNullsLast = 'dailyStatId_amoSupply_DESC_NULLS_LAST', + DailyStatIdAprAsc = 'dailyStatId_apr_ASC', + DailyStatIdAprAscNullsFirst = 'dailyStatId_apr_ASC_NULLS_FIRST', + DailyStatIdAprDesc = 'dailyStatId_apr_DESC', + DailyStatIdAprDescNullsLast = 'dailyStatId_apr_DESC_NULLS_LAST', + DailyStatIdApy7DayAvgAsc = 'dailyStatId_apy7DayAvg_ASC', + DailyStatIdApy7DayAvgAscNullsFirst = 'dailyStatId_apy7DayAvg_ASC_NULLS_FIRST', + DailyStatIdApy7DayAvgDesc = 'dailyStatId_apy7DayAvg_DESC', + DailyStatIdApy7DayAvgDescNullsLast = 'dailyStatId_apy7DayAvg_DESC_NULLS_LAST', + DailyStatIdApy14DayAvgAsc = 'dailyStatId_apy14DayAvg_ASC', + DailyStatIdApy14DayAvgAscNullsFirst = 'dailyStatId_apy14DayAvg_ASC_NULLS_FIRST', + DailyStatIdApy14DayAvgDesc = 'dailyStatId_apy14DayAvg_DESC', + DailyStatIdApy14DayAvgDescNullsLast = 'dailyStatId_apy14DayAvg_DESC_NULLS_LAST', + DailyStatIdApy30DayAvgAsc = 'dailyStatId_apy30DayAvg_ASC', + DailyStatIdApy30DayAvgAscNullsFirst = 'dailyStatId_apy30DayAvg_ASC_NULLS_FIRST', + DailyStatIdApy30DayAvgDesc = 'dailyStatId_apy30DayAvg_DESC', + DailyStatIdApy30DayAvgDescNullsLast = 'dailyStatId_apy30DayAvg_DESC_NULLS_LAST', + DailyStatIdApyAsc = 'dailyStatId_apy_ASC', + DailyStatIdApyAscNullsFirst = 'dailyStatId_apy_ASC_NULLS_FIRST', + DailyStatIdApyDesc = 'dailyStatId_apy_DESC', + DailyStatIdApyDescNullsLast = 'dailyStatId_apy_DESC_NULLS_LAST', + DailyStatIdBlockNumberAsc = 'dailyStatId_blockNumber_ASC', + DailyStatIdBlockNumberAscNullsFirst = 'dailyStatId_blockNumber_ASC_NULLS_FIRST', + DailyStatIdBlockNumberDesc = 'dailyStatId_blockNumber_DESC', + DailyStatIdBlockNumberDescNullsLast = 'dailyStatId_blockNumber_DESC_NULLS_LAST', + DailyStatIdDripperWethAsc = 'dailyStatId_dripperWETH_ASC', + DailyStatIdDripperWethAscNullsFirst = 'dailyStatId_dripperWETH_ASC_NULLS_FIRST', + DailyStatIdDripperWethDesc = 'dailyStatId_dripperWETH_DESC', + DailyStatIdDripperWethDescNullsLast = 'dailyStatId_dripperWETH_DESC_NULLS_LAST', + DailyStatIdFeesAsc = 'dailyStatId_fees_ASC', + DailyStatIdFeesAscNullsFirst = 'dailyStatId_fees_ASC_NULLS_FIRST', + DailyStatIdFeesDesc = 'dailyStatId_fees_DESC', + DailyStatIdFeesDescNullsLast = 'dailyStatId_fees_DESC_NULLS_LAST', + DailyStatIdIdAsc = 'dailyStatId_id_ASC', + DailyStatIdIdAscNullsFirst = 'dailyStatId_id_ASC_NULLS_FIRST', + DailyStatIdIdDesc = 'dailyStatId_id_DESC', + DailyStatIdIdDescNullsLast = 'dailyStatId_id_DESC_NULLS_LAST', + DailyStatIdNonRebasingSupplyAsc = 'dailyStatId_nonRebasingSupply_ASC', + DailyStatIdNonRebasingSupplyAscNullsFirst = 'dailyStatId_nonRebasingSupply_ASC_NULLS_FIRST', + DailyStatIdNonRebasingSupplyDesc = 'dailyStatId_nonRebasingSupply_DESC', + DailyStatIdNonRebasingSupplyDescNullsLast = 'dailyStatId_nonRebasingSupply_DESC_NULLS_LAST', + DailyStatIdPegPriceAsc = 'dailyStatId_pegPrice_ASC', + DailyStatIdPegPriceAscNullsFirst = 'dailyStatId_pegPrice_ASC_NULLS_FIRST', + DailyStatIdPegPriceDesc = 'dailyStatId_pegPrice_DESC', + DailyStatIdPegPriceDescNullsLast = 'dailyStatId_pegPrice_DESC_NULLS_LAST', + DailyStatIdRebasingSupplyAsc = 'dailyStatId_rebasingSupply_ASC', + DailyStatIdRebasingSupplyAscNullsFirst = 'dailyStatId_rebasingSupply_ASC_NULLS_FIRST', + DailyStatIdRebasingSupplyDesc = 'dailyStatId_rebasingSupply_DESC', + DailyStatIdRebasingSupplyDescNullsLast = 'dailyStatId_rebasingSupply_DESC_NULLS_LAST', + DailyStatIdRevenue7DayAvgAsc = 'dailyStatId_revenue7DayAvg_ASC', + DailyStatIdRevenue7DayAvgAscNullsFirst = 'dailyStatId_revenue7DayAvg_ASC_NULLS_FIRST', + DailyStatIdRevenue7DayAvgDesc = 'dailyStatId_revenue7DayAvg_DESC', + DailyStatIdRevenue7DayAvgDescNullsLast = 'dailyStatId_revenue7DayAvg_DESC_NULLS_LAST', + DailyStatIdRevenue7DayTotalAsc = 'dailyStatId_revenue7DayTotal_ASC', + DailyStatIdRevenue7DayTotalAscNullsFirst = 'dailyStatId_revenue7DayTotal_ASC_NULLS_FIRST', + DailyStatIdRevenue7DayTotalDesc = 'dailyStatId_revenue7DayTotal_DESC', + DailyStatIdRevenue7DayTotalDescNullsLast = 'dailyStatId_revenue7DayTotal_DESC_NULLS_LAST', + DailyStatIdRevenueAllTimeAsc = 'dailyStatId_revenueAllTime_ASC', + DailyStatIdRevenueAllTimeAscNullsFirst = 'dailyStatId_revenueAllTime_ASC_NULLS_FIRST', + DailyStatIdRevenueAllTimeDesc = 'dailyStatId_revenueAllTime_DESC', + DailyStatIdRevenueAllTimeDescNullsLast = 'dailyStatId_revenueAllTime_DESC_NULLS_LAST', + DailyStatIdRevenueAsc = 'dailyStatId_revenue_ASC', + DailyStatIdRevenueAscNullsFirst = 'dailyStatId_revenue_ASC_NULLS_FIRST', + DailyStatIdRevenueDesc = 'dailyStatId_revenue_DESC', + DailyStatIdRevenueDescNullsLast = 'dailyStatId_revenue_DESC_NULLS_LAST', + DailyStatIdTimestampAsc = 'dailyStatId_timestamp_ASC', + DailyStatIdTimestampAscNullsFirst = 'dailyStatId_timestamp_ASC_NULLS_FIRST', + DailyStatIdTimestampDesc = 'dailyStatId_timestamp_DESC', + DailyStatIdTimestampDescNullsLast = 'dailyStatId_timestamp_DESC_NULLS_LAST', + DailyStatIdTotalSupplyUsdAsc = 'dailyStatId_totalSupplyUSD_ASC', + DailyStatIdTotalSupplyUsdAscNullsFirst = 'dailyStatId_totalSupplyUSD_ASC_NULLS_FIRST', + DailyStatIdTotalSupplyUsdDesc = 'dailyStatId_totalSupplyUSD_DESC', + DailyStatIdTotalSupplyUsdDescNullsLast = 'dailyStatId_totalSupplyUSD_DESC_NULLS_LAST', + DailyStatIdTotalSupplyAsc = 'dailyStatId_totalSupply_ASC', + DailyStatIdTotalSupplyAscNullsFirst = 'dailyStatId_totalSupply_ASC_NULLS_FIRST', + DailyStatIdTotalSupplyDesc = 'dailyStatId_totalSupply_DESC', + DailyStatIdTotalSupplyDescNullsLast = 'dailyStatId_totalSupply_DESC_NULLS_LAST', + DailyStatIdYieldAsc = 'dailyStatId_yield_ASC', + DailyStatIdYieldAscNullsFirst = 'dailyStatId_yield_ASC_NULLS_FIRST', + DailyStatIdYieldDesc = 'dailyStatId_yield_DESC', + DailyStatIdYieldDescNullsLast = 'dailyStatId_yield_DESC_NULLS_LAST', IdAsc = 'id_ASC', IdAscNullsFirst = 'id_ASC_NULLS_FIRST', IdDesc = 'id_DESC', IdDescNullsLast = 'id_DESC_NULLS_LAST', - TimestampAsc = 'timestamp_ASC', - TimestampAscNullsFirst = 'timestamp_ASC_NULLS_FIRST', - TimestampDesc = 'timestamp_DESC', - TimestampDescNullsLast = 'timestamp_DESC_NULLS_LAST', - TxHashAsc = 'txHash_ASC', - TxHashAscNullsFirst = 'txHash_ASC_NULLS_FIRST', - TxHashDesc = 'txHash_DESC', - TxHashDescNullsLast = 'txHash_DESC_NULLS_LAST', - TypeAsc = 'type_ASC', - TypeAscNullsFirst = 'type_ASC_NULLS_FIRST', - TypeDesc = 'type_DESC', - TypeDescNullsLast = 'type_DESC_NULLS_LAST', + PriceAsc = 'price_ASC', + PriceAscNullsFirst = 'price_ASC_NULLS_FIRST', + PriceDesc = 'price_DESC', + PriceDescNullsLast = 'price_DESC_NULLS_LAST', + SymbolAsc = 'symbol_ASC', + SymbolAscNullsFirst = 'symbol_ASC_NULLS_FIRST', + SymbolDesc = 'symbol_DESC', + SymbolDescNullsLast = 'symbol_DESC_NULLS_LAST', ValueAsc = 'value_ASC', ValueAscNullsFirst = 'value_ASC_NULLS_FIRST', ValueDesc = 'value_DESC', ValueDescNullsLast = 'value_DESC_NULLS_LAST' } -export enum HistoryType { - Received = 'Received', - Sent = 'Sent', - Swap = 'Swap', - Yield = 'Yield' -} - -export type HistoryWhereInput = { - AND?: InputMaybe>; - OR?: InputMaybe>; - address?: InputMaybe; - address_isNull?: InputMaybe; - balance_eq?: InputMaybe; - balance_gt?: InputMaybe; - balance_gte?: InputMaybe; - balance_in?: InputMaybe>; - balance_isNull?: InputMaybe; - balance_lt?: InputMaybe; - balance_lte?: InputMaybe; - balance_not_eq?: InputMaybe; - balance_not_in?: InputMaybe>; - blockNumber_eq?: InputMaybe; - blockNumber_gt?: InputMaybe; - blockNumber_gte?: InputMaybe; - blockNumber_in?: InputMaybe>; - blockNumber_isNull?: InputMaybe; - blockNumber_lt?: InputMaybe; - blockNumber_lte?: InputMaybe; - blockNumber_not_eq?: InputMaybe; - blockNumber_not_in?: InputMaybe>; +export type OethCollateralDailyStatWhereInput = { + AND?: InputMaybe>; + OR?: InputMaybe>; + amount_eq?: InputMaybe; + amount_gt?: InputMaybe; + amount_gte?: InputMaybe; + amount_in?: InputMaybe>; + amount_isNull?: InputMaybe; + amount_lt?: InputMaybe; + amount_lte?: InputMaybe; + amount_not_eq?: InputMaybe; + amount_not_in?: InputMaybe>; + dailyStatId?: InputMaybe; + dailyStatId_isNull?: InputMaybe; id_contains?: InputMaybe; id_containsInsensitive?: InputMaybe; id_endsWith?: InputMaybe; @@ -1083,37 +1135,32 @@ export type HistoryWhereInput = { id_not_in?: InputMaybe>; id_not_startsWith?: InputMaybe; id_startsWith?: InputMaybe; - timestamp_eq?: InputMaybe; - timestamp_gt?: InputMaybe; - timestamp_gte?: InputMaybe; - timestamp_in?: InputMaybe>; - timestamp_isNull?: InputMaybe; - timestamp_lt?: InputMaybe; - timestamp_lte?: InputMaybe; - timestamp_not_eq?: InputMaybe; - timestamp_not_in?: InputMaybe>; - txHash_contains?: InputMaybe; - txHash_containsInsensitive?: InputMaybe; - txHash_endsWith?: InputMaybe; - txHash_eq?: InputMaybe; - txHash_gt?: InputMaybe; - txHash_gte?: InputMaybe; - txHash_in?: InputMaybe>; - txHash_isNull?: InputMaybe; - txHash_lt?: InputMaybe; - txHash_lte?: InputMaybe; - txHash_not_contains?: InputMaybe; - txHash_not_containsInsensitive?: InputMaybe; - txHash_not_endsWith?: InputMaybe; - txHash_not_eq?: InputMaybe; - txHash_not_in?: InputMaybe>; - txHash_not_startsWith?: InputMaybe; - txHash_startsWith?: InputMaybe; - type_eq?: InputMaybe; - type_in?: InputMaybe>; - type_isNull?: InputMaybe; - type_not_eq?: InputMaybe; - type_not_in?: InputMaybe>; + price_eq?: InputMaybe; + price_gt?: InputMaybe; + price_gte?: InputMaybe; + price_in?: InputMaybe>; + price_isNull?: InputMaybe; + price_lt?: InputMaybe; + price_lte?: InputMaybe; + price_not_eq?: InputMaybe; + price_not_in?: InputMaybe>; + symbol_contains?: InputMaybe; + symbol_containsInsensitive?: InputMaybe; + symbol_endsWith?: InputMaybe; + symbol_eq?: InputMaybe; + symbol_gt?: InputMaybe; + symbol_gte?: InputMaybe; + symbol_in?: InputMaybe>; + symbol_isNull?: InputMaybe; + symbol_lt?: InputMaybe; + symbol_lte?: InputMaybe; + symbol_not_contains?: InputMaybe; + symbol_not_containsInsensitive?: InputMaybe; + symbol_not_endsWith?: InputMaybe; + symbol_not_eq?: InputMaybe; + symbol_not_in?: InputMaybe>; + symbol_not_startsWith?: InputMaybe; + symbol_startsWith?: InputMaybe; value_eq?: InputMaybe; value_gt?: InputMaybe; value_gte?: InputMaybe; @@ -1125,42 +1172,74 @@ export type HistoryWhereInput = { value_not_in?: InputMaybe>; }; -export type MorphoAave = { - __typename?: 'MorphoAave'; +export type OethCollateralDailyStatsConnection = { + __typename?: 'OETHCollateralDailyStatsConnection'; + edges: Array; + pageInfo: PageInfo; + totalCount: Scalars['Int']['output']; +}; + +export type OethCurveLp = { + __typename?: 'OETHCurveLP'; blockNumber: Scalars['Int']['output']; + eth: Scalars['BigInt']['output']; + ethOwned: Scalars['BigInt']['output']; id: Scalars['String']['output']; + oeth: Scalars['BigInt']['output']; + oethOwned: Scalars['BigInt']['output']; timestamp: Scalars['DateTime']['output']; - weth: Scalars['BigInt']['output']; + totalSupply: Scalars['BigInt']['output']; + totalSupplyOwned: Scalars['BigInt']['output']; }; -export type MorphoAaveEdge = { - __typename?: 'MorphoAaveEdge'; +export type OethCurveLpEdge = { + __typename?: 'OETHCurveLPEdge'; cursor: Scalars['String']['output']; - node: MorphoAave; + node: OethCurveLp; }; -export enum MorphoAaveOrderByInput { +export enum OethCurveLpOrderByInput { BlockNumberAsc = 'blockNumber_ASC', BlockNumberAscNullsFirst = 'blockNumber_ASC_NULLS_FIRST', BlockNumberDesc = 'blockNumber_DESC', BlockNumberDescNullsLast = 'blockNumber_DESC_NULLS_LAST', - IdAsc = 'id_ASC', - IdAscNullsFirst = 'id_ASC_NULLS_FIRST', - IdDesc = 'id_DESC', - IdDescNullsLast = 'id_DESC_NULLS_LAST', - TimestampAsc = 'timestamp_ASC', - TimestampAscNullsFirst = 'timestamp_ASC_NULLS_FIRST', + EthOwnedAsc = 'ethOwned_ASC', + EthOwnedAscNullsFirst = 'ethOwned_ASC_NULLS_FIRST', + EthOwnedDesc = 'ethOwned_DESC', + EthOwnedDescNullsLast = 'ethOwned_DESC_NULLS_LAST', + EthAsc = 'eth_ASC', + EthAscNullsFirst = 'eth_ASC_NULLS_FIRST', + EthDesc = 'eth_DESC', + EthDescNullsLast = 'eth_DESC_NULLS_LAST', + IdAsc = 'id_ASC', + IdAscNullsFirst = 'id_ASC_NULLS_FIRST', + IdDesc = 'id_DESC', + IdDescNullsLast = 'id_DESC_NULLS_LAST', + OethOwnedAsc = 'oethOwned_ASC', + OethOwnedAscNullsFirst = 'oethOwned_ASC_NULLS_FIRST', + OethOwnedDesc = 'oethOwned_DESC', + OethOwnedDescNullsLast = 'oethOwned_DESC_NULLS_LAST', + OethAsc = 'oeth_ASC', + OethAscNullsFirst = 'oeth_ASC_NULLS_FIRST', + OethDesc = 'oeth_DESC', + OethDescNullsLast = 'oeth_DESC_NULLS_LAST', + TimestampAsc = 'timestamp_ASC', + TimestampAscNullsFirst = 'timestamp_ASC_NULLS_FIRST', TimestampDesc = 'timestamp_DESC', TimestampDescNullsLast = 'timestamp_DESC_NULLS_LAST', - WethAsc = 'weth_ASC', - WethAscNullsFirst = 'weth_ASC_NULLS_FIRST', - WethDesc = 'weth_DESC', - WethDescNullsLast = 'weth_DESC_NULLS_LAST' + TotalSupplyOwnedAsc = 'totalSupplyOwned_ASC', + TotalSupplyOwnedAscNullsFirst = 'totalSupplyOwned_ASC_NULLS_FIRST', + TotalSupplyOwnedDesc = 'totalSupplyOwned_DESC', + TotalSupplyOwnedDescNullsLast = 'totalSupplyOwned_DESC_NULLS_LAST', + TotalSupplyAsc = 'totalSupply_ASC', + TotalSupplyAscNullsFirst = 'totalSupply_ASC_NULLS_FIRST', + TotalSupplyDesc = 'totalSupply_DESC', + TotalSupplyDescNullsLast = 'totalSupply_DESC_NULLS_LAST' } -export type MorphoAaveWhereInput = { - AND?: InputMaybe>; - OR?: InputMaybe>; +export type OethCurveLpWhereInput = { + AND?: InputMaybe>; + OR?: InputMaybe>; blockNumber_eq?: InputMaybe; blockNumber_gt?: InputMaybe; blockNumber_gte?: InputMaybe; @@ -1170,6 +1249,24 @@ export type MorphoAaveWhereInput = { blockNumber_lte?: InputMaybe; blockNumber_not_eq?: InputMaybe; blockNumber_not_in?: InputMaybe>; + ethOwned_eq?: InputMaybe; + ethOwned_gt?: InputMaybe; + ethOwned_gte?: InputMaybe; + ethOwned_in?: InputMaybe>; + ethOwned_isNull?: InputMaybe; + ethOwned_lt?: InputMaybe; + ethOwned_lte?: InputMaybe; + ethOwned_not_eq?: InputMaybe; + ethOwned_not_in?: InputMaybe>; + eth_eq?: InputMaybe; + eth_gt?: InputMaybe; + eth_gte?: InputMaybe; + eth_in?: InputMaybe>; + eth_isNull?: InputMaybe; + eth_lt?: InputMaybe; + eth_lte?: InputMaybe; + eth_not_eq?: InputMaybe; + eth_not_in?: InputMaybe>; id_contains?: InputMaybe; id_containsInsensitive?: InputMaybe; id_endsWith?: InputMaybe; @@ -1187,6 +1284,24 @@ export type MorphoAaveWhereInput = { id_not_in?: InputMaybe>; id_not_startsWith?: InputMaybe; id_startsWith?: InputMaybe; + oethOwned_eq?: InputMaybe; + oethOwned_gt?: InputMaybe; + oethOwned_gte?: InputMaybe; + oethOwned_in?: InputMaybe>; + oethOwned_isNull?: InputMaybe; + oethOwned_lt?: InputMaybe; + oethOwned_lte?: InputMaybe; + oethOwned_not_eq?: InputMaybe; + oethOwned_not_in?: InputMaybe>; + oeth_eq?: InputMaybe; + oeth_gt?: InputMaybe; + oeth_gte?: InputMaybe; + oeth_in?: InputMaybe>; + oeth_isNull?: InputMaybe; + oeth_lt?: InputMaybe; + oeth_lte?: InputMaybe; + oeth_not_eq?: InputMaybe; + oeth_not_in?: InputMaybe>; timestamp_eq?: InputMaybe; timestamp_gt?: InputMaybe; timestamp_gte?: InputMaybe; @@ -1196,47 +1311,123 @@ export type MorphoAaveWhereInput = { timestamp_lte?: InputMaybe; timestamp_not_eq?: InputMaybe; timestamp_not_in?: InputMaybe>; - weth_eq?: InputMaybe; - weth_gt?: InputMaybe; - weth_gte?: InputMaybe; - weth_in?: InputMaybe>; - weth_isNull?: InputMaybe; - weth_lt?: InputMaybe; - weth_lte?: InputMaybe; - weth_not_eq?: InputMaybe; - weth_not_in?: InputMaybe>; + totalSupplyOwned_eq?: InputMaybe; + totalSupplyOwned_gt?: InputMaybe; + totalSupplyOwned_gte?: InputMaybe; + totalSupplyOwned_in?: InputMaybe>; + totalSupplyOwned_isNull?: InputMaybe; + totalSupplyOwned_lt?: InputMaybe; + totalSupplyOwned_lte?: InputMaybe; + totalSupplyOwned_not_eq?: InputMaybe; + totalSupplyOwned_not_in?: InputMaybe>; + totalSupply_eq?: InputMaybe; + totalSupply_gt?: InputMaybe; + totalSupply_gte?: InputMaybe; + totalSupply_in?: InputMaybe>; + totalSupply_isNull?: InputMaybe; + totalSupply_lt?: InputMaybe; + totalSupply_lte?: InputMaybe; + totalSupply_not_eq?: InputMaybe; + totalSupply_not_in?: InputMaybe>; }; -export type MorphoAavesConnection = { - __typename?: 'MorphoAavesConnection'; - edges: Array; +export type OethCurveLPsConnection = { + __typename?: 'OETHCurveLPsConnection'; + edges: Array; pageInfo: PageInfo; totalCount: Scalars['Int']['output']; }; -/** The OETH entity tracks the change in total supply of OETH over time. */ -export type Oeth = { - __typename?: 'OETH'; +export type OethDailyStat = { + __typename?: 'OETHDailyStat'; + amoSupply: Scalars['BigInt']['output']; + /** Timestamp of block number stats were updated */ + apr: Scalars['Float']['output']; + apy: Scalars['Float']['output']; + apy7DayAvg: Scalars['Float']['output']; + apy14DayAvg: Scalars['Float']['output']; + apy30DayAvg: Scalars['Float']['output']; + /** Timestamp, eg 2023-10-17 */ blockNumber: Scalars['Int']['output']; + collateral: Array; + dripperWETH: Scalars['BigInt']['output']; + fees: Scalars['BigInt']['output']; id: Scalars['String']['output']; nonRebasingSupply: Scalars['BigInt']['output']; + pegPrice: Scalars['BigInt']['output']; rebasingSupply: Scalars['BigInt']['output']; + revenue: Scalars['BigInt']['output']; + revenue7DayAvg: Scalars['BigInt']['output']; + revenue7DayTotal: Scalars['BigInt']['output']; + revenueAllTime: Scalars['BigInt']['output']; + /** Price of OETH in ETH */ + strategies: Array; + /** Last block number stats were updated */ timestamp: Scalars['DateTime']['output']; - /** The total supply of OETH tokens at the corresponding block. */ totalSupply: Scalars['BigInt']['output']; + totalSupplyUSD: Scalars['Float']['output']; + yield: Scalars['BigInt']['output']; }; -export type OethEdge = { - __typename?: 'OETHEdge'; + +export type OethDailyStatCollateralArgs = { + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; +}; + + +export type OethDailyStatStrategiesArgs = { + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; +}; + +export type OethDailyStatEdge = { + __typename?: 'OETHDailyStatEdge'; cursor: Scalars['String']['output']; - node: Oeth; + node: OethDailyStat; }; -export enum OethOrderByInput { +export enum OethDailyStatOrderByInput { + AmoSupplyAsc = 'amoSupply_ASC', + AmoSupplyAscNullsFirst = 'amoSupply_ASC_NULLS_FIRST', + AmoSupplyDesc = 'amoSupply_DESC', + AmoSupplyDescNullsLast = 'amoSupply_DESC_NULLS_LAST', + AprAsc = 'apr_ASC', + AprAscNullsFirst = 'apr_ASC_NULLS_FIRST', + AprDesc = 'apr_DESC', + AprDescNullsLast = 'apr_DESC_NULLS_LAST', + Apy7DayAvgAsc = 'apy7DayAvg_ASC', + Apy7DayAvgAscNullsFirst = 'apy7DayAvg_ASC_NULLS_FIRST', + Apy7DayAvgDesc = 'apy7DayAvg_DESC', + Apy7DayAvgDescNullsLast = 'apy7DayAvg_DESC_NULLS_LAST', + Apy14DayAvgAsc = 'apy14DayAvg_ASC', + Apy14DayAvgAscNullsFirst = 'apy14DayAvg_ASC_NULLS_FIRST', + Apy14DayAvgDesc = 'apy14DayAvg_DESC', + Apy14DayAvgDescNullsLast = 'apy14DayAvg_DESC_NULLS_LAST', + Apy30DayAvgAsc = 'apy30DayAvg_ASC', + Apy30DayAvgAscNullsFirst = 'apy30DayAvg_ASC_NULLS_FIRST', + Apy30DayAvgDesc = 'apy30DayAvg_DESC', + Apy30DayAvgDescNullsLast = 'apy30DayAvg_DESC_NULLS_LAST', + ApyAsc = 'apy_ASC', + ApyAscNullsFirst = 'apy_ASC_NULLS_FIRST', + ApyDesc = 'apy_DESC', + ApyDescNullsLast = 'apy_DESC_NULLS_LAST', BlockNumberAsc = 'blockNumber_ASC', BlockNumberAscNullsFirst = 'blockNumber_ASC_NULLS_FIRST', BlockNumberDesc = 'blockNumber_DESC', BlockNumberDescNullsLast = 'blockNumber_DESC_NULLS_LAST', + DripperWethAsc = 'dripperWETH_ASC', + DripperWethAscNullsFirst = 'dripperWETH_ASC_NULLS_FIRST', + DripperWethDesc = 'dripperWETH_DESC', + DripperWethDescNullsLast = 'dripperWETH_DESC_NULLS_LAST', + FeesAsc = 'fees_ASC', + FeesAscNullsFirst = 'fees_ASC_NULLS_FIRST', + FeesDesc = 'fees_DESC', + FeesDescNullsLast = 'fees_DESC_NULLS_LAST', IdAsc = 'id_ASC', IdAscNullsFirst = 'id_ASC_NULLS_FIRST', IdDesc = 'id_DESC', @@ -1245,23 +1436,105 @@ export enum OethOrderByInput { NonRebasingSupplyAscNullsFirst = 'nonRebasingSupply_ASC_NULLS_FIRST', NonRebasingSupplyDesc = 'nonRebasingSupply_DESC', NonRebasingSupplyDescNullsLast = 'nonRebasingSupply_DESC_NULLS_LAST', + PegPriceAsc = 'pegPrice_ASC', + PegPriceAscNullsFirst = 'pegPrice_ASC_NULLS_FIRST', + PegPriceDesc = 'pegPrice_DESC', + PegPriceDescNullsLast = 'pegPrice_DESC_NULLS_LAST', RebasingSupplyAsc = 'rebasingSupply_ASC', RebasingSupplyAscNullsFirst = 'rebasingSupply_ASC_NULLS_FIRST', RebasingSupplyDesc = 'rebasingSupply_DESC', RebasingSupplyDescNullsLast = 'rebasingSupply_DESC_NULLS_LAST', + Revenue7DayAvgAsc = 'revenue7DayAvg_ASC', + Revenue7DayAvgAscNullsFirst = 'revenue7DayAvg_ASC_NULLS_FIRST', + Revenue7DayAvgDesc = 'revenue7DayAvg_DESC', + Revenue7DayAvgDescNullsLast = 'revenue7DayAvg_DESC_NULLS_LAST', + Revenue7DayTotalAsc = 'revenue7DayTotal_ASC', + Revenue7DayTotalAscNullsFirst = 'revenue7DayTotal_ASC_NULLS_FIRST', + Revenue7DayTotalDesc = 'revenue7DayTotal_DESC', + Revenue7DayTotalDescNullsLast = 'revenue7DayTotal_DESC_NULLS_LAST', + RevenueAllTimeAsc = 'revenueAllTime_ASC', + RevenueAllTimeAscNullsFirst = 'revenueAllTime_ASC_NULLS_FIRST', + RevenueAllTimeDesc = 'revenueAllTime_DESC', + RevenueAllTimeDescNullsLast = 'revenueAllTime_DESC_NULLS_LAST', + RevenueAsc = 'revenue_ASC', + RevenueAscNullsFirst = 'revenue_ASC_NULLS_FIRST', + RevenueDesc = 'revenue_DESC', + RevenueDescNullsLast = 'revenue_DESC_NULLS_LAST', TimestampAsc = 'timestamp_ASC', TimestampAscNullsFirst = 'timestamp_ASC_NULLS_FIRST', TimestampDesc = 'timestamp_DESC', TimestampDescNullsLast = 'timestamp_DESC_NULLS_LAST', + TotalSupplyUsdAsc = 'totalSupplyUSD_ASC', + TotalSupplyUsdAscNullsFirst = 'totalSupplyUSD_ASC_NULLS_FIRST', + TotalSupplyUsdDesc = 'totalSupplyUSD_DESC', + TotalSupplyUsdDescNullsLast = 'totalSupplyUSD_DESC_NULLS_LAST', TotalSupplyAsc = 'totalSupply_ASC', TotalSupplyAscNullsFirst = 'totalSupply_ASC_NULLS_FIRST', TotalSupplyDesc = 'totalSupply_DESC', - TotalSupplyDescNullsLast = 'totalSupply_DESC_NULLS_LAST' + TotalSupplyDescNullsLast = 'totalSupply_DESC_NULLS_LAST', + YieldAsc = 'yield_ASC', + YieldAscNullsFirst = 'yield_ASC_NULLS_FIRST', + YieldDesc = 'yield_DESC', + YieldDescNullsLast = 'yield_DESC_NULLS_LAST' } -export type OethWhereInput = { - AND?: InputMaybe>; - OR?: InputMaybe>; +export type OethDailyStatWhereInput = { + AND?: InputMaybe>; + OR?: InputMaybe>; + amoSupply_eq?: InputMaybe; + amoSupply_gt?: InputMaybe; + amoSupply_gte?: InputMaybe; + amoSupply_in?: InputMaybe>; + amoSupply_isNull?: InputMaybe; + amoSupply_lt?: InputMaybe; + amoSupply_lte?: InputMaybe; + amoSupply_not_eq?: InputMaybe; + amoSupply_not_in?: InputMaybe>; + apr_eq?: InputMaybe; + apr_gt?: InputMaybe; + apr_gte?: InputMaybe; + apr_in?: InputMaybe>; + apr_isNull?: InputMaybe; + apr_lt?: InputMaybe; + apr_lte?: InputMaybe; + apr_not_eq?: InputMaybe; + apr_not_in?: InputMaybe>; + apy7DayAvg_eq?: InputMaybe; + apy7DayAvg_gt?: InputMaybe; + apy7DayAvg_gte?: InputMaybe; + apy7DayAvg_in?: InputMaybe>; + apy7DayAvg_isNull?: InputMaybe; + apy7DayAvg_lt?: InputMaybe; + apy7DayAvg_lte?: InputMaybe; + apy7DayAvg_not_eq?: InputMaybe; + apy7DayAvg_not_in?: InputMaybe>; + apy14DayAvg_eq?: InputMaybe; + apy14DayAvg_gt?: InputMaybe; + apy14DayAvg_gte?: InputMaybe; + apy14DayAvg_in?: InputMaybe>; + apy14DayAvg_isNull?: InputMaybe; + apy14DayAvg_lt?: InputMaybe; + apy14DayAvg_lte?: InputMaybe; + apy14DayAvg_not_eq?: InputMaybe; + apy14DayAvg_not_in?: InputMaybe>; + apy30DayAvg_eq?: InputMaybe; + apy30DayAvg_gt?: InputMaybe; + apy30DayAvg_gte?: InputMaybe; + apy30DayAvg_in?: InputMaybe>; + apy30DayAvg_isNull?: InputMaybe; + apy30DayAvg_lt?: InputMaybe; + apy30DayAvg_lte?: InputMaybe; + apy30DayAvg_not_eq?: InputMaybe; + apy30DayAvg_not_in?: InputMaybe>; + apy_eq?: InputMaybe; + apy_gt?: InputMaybe; + apy_gte?: InputMaybe; + apy_in?: InputMaybe>; + apy_isNull?: InputMaybe; + apy_lt?: InputMaybe; + apy_lte?: InputMaybe; + apy_not_eq?: InputMaybe; + apy_not_in?: InputMaybe>; blockNumber_eq?: InputMaybe; blockNumber_gt?: InputMaybe; blockNumber_gte?: InputMaybe; @@ -1271,6 +1544,27 @@ export type OethWhereInput = { blockNumber_lte?: InputMaybe; blockNumber_not_eq?: InputMaybe; blockNumber_not_in?: InputMaybe>; + collateral_every?: InputMaybe; + collateral_none?: InputMaybe; + collateral_some?: InputMaybe; + dripperWETH_eq?: InputMaybe; + dripperWETH_gt?: InputMaybe; + dripperWETH_gte?: InputMaybe; + dripperWETH_in?: InputMaybe>; + dripperWETH_isNull?: InputMaybe; + dripperWETH_lt?: InputMaybe; + dripperWETH_lte?: InputMaybe; + dripperWETH_not_eq?: InputMaybe; + dripperWETH_not_in?: InputMaybe>; + fees_eq?: InputMaybe; + fees_gt?: InputMaybe; + fees_gte?: InputMaybe; + fees_in?: InputMaybe>; + fees_isNull?: InputMaybe; + fees_lt?: InputMaybe; + fees_lte?: InputMaybe; + fees_not_eq?: InputMaybe; + fees_not_in?: InputMaybe>; id_contains?: InputMaybe; id_containsInsensitive?: InputMaybe; id_endsWith?: InputMaybe; @@ -1297,6 +1591,15 @@ export type OethWhereInput = { nonRebasingSupply_lte?: InputMaybe; nonRebasingSupply_not_eq?: InputMaybe; nonRebasingSupply_not_in?: InputMaybe>; + pegPrice_eq?: InputMaybe; + pegPrice_gt?: InputMaybe; + pegPrice_gte?: InputMaybe; + pegPrice_in?: InputMaybe>; + pegPrice_isNull?: InputMaybe; + pegPrice_lt?: InputMaybe; + pegPrice_lte?: InputMaybe; + pegPrice_not_eq?: InputMaybe; + pegPrice_not_in?: InputMaybe>; rebasingSupply_eq?: InputMaybe; rebasingSupply_gt?: InputMaybe; rebasingSupply_gte?: InputMaybe; @@ -1306,6 +1609,45 @@ export type OethWhereInput = { rebasingSupply_lte?: InputMaybe; rebasingSupply_not_eq?: InputMaybe; rebasingSupply_not_in?: InputMaybe>; + revenue7DayAvg_eq?: InputMaybe; + revenue7DayAvg_gt?: InputMaybe; + revenue7DayAvg_gte?: InputMaybe; + revenue7DayAvg_in?: InputMaybe>; + revenue7DayAvg_isNull?: InputMaybe; + revenue7DayAvg_lt?: InputMaybe; + revenue7DayAvg_lte?: InputMaybe; + revenue7DayAvg_not_eq?: InputMaybe; + revenue7DayAvg_not_in?: InputMaybe>; + revenue7DayTotal_eq?: InputMaybe; + revenue7DayTotal_gt?: InputMaybe; + revenue7DayTotal_gte?: InputMaybe; + revenue7DayTotal_in?: InputMaybe>; + revenue7DayTotal_isNull?: InputMaybe; + revenue7DayTotal_lt?: InputMaybe; + revenue7DayTotal_lte?: InputMaybe; + revenue7DayTotal_not_eq?: InputMaybe; + revenue7DayTotal_not_in?: InputMaybe>; + revenueAllTime_eq?: InputMaybe; + revenueAllTime_gt?: InputMaybe; + revenueAllTime_gte?: InputMaybe; + revenueAllTime_in?: InputMaybe>; + revenueAllTime_isNull?: InputMaybe; + revenueAllTime_lt?: InputMaybe; + revenueAllTime_lte?: InputMaybe; + revenueAllTime_not_eq?: InputMaybe; + revenueAllTime_not_in?: InputMaybe>; + revenue_eq?: InputMaybe; + revenue_gt?: InputMaybe; + revenue_gte?: InputMaybe; + revenue_in?: InputMaybe>; + revenue_isNull?: InputMaybe; + revenue_lt?: InputMaybe; + revenue_lte?: InputMaybe; + revenue_not_eq?: InputMaybe; + revenue_not_in?: InputMaybe>; + strategies_every?: InputMaybe; + strategies_none?: InputMaybe; + strategies_some?: InputMaybe; timestamp_eq?: InputMaybe; timestamp_gt?: InputMaybe; timestamp_gte?: InputMaybe; @@ -1315,6 +1657,15 @@ export type OethWhereInput = { timestamp_lte?: InputMaybe; timestamp_not_eq?: InputMaybe; timestamp_not_in?: InputMaybe>; + totalSupplyUSD_eq?: InputMaybe; + totalSupplyUSD_gt?: InputMaybe; + totalSupplyUSD_gte?: InputMaybe; + totalSupplyUSD_in?: InputMaybe>; + totalSupplyUSD_isNull?: InputMaybe; + totalSupplyUSD_lt?: InputMaybe; + totalSupplyUSD_lte?: InputMaybe; + totalSupplyUSD_not_eq?: InputMaybe; + totalSupplyUSD_not_in?: InputMaybe>; totalSupply_eq?: InputMaybe; totalSupply_gt?: InputMaybe; totalSupply_gte?: InputMaybe; @@ -1324,718 +1675,5083 @@ export type OethWhereInput = { totalSupply_lte?: InputMaybe; totalSupply_not_eq?: InputMaybe; totalSupply_not_in?: InputMaybe>; + yield_eq?: InputMaybe; + yield_gt?: InputMaybe; + yield_gte?: InputMaybe; + yield_in?: InputMaybe>; + yield_isNull?: InputMaybe; + yield_lt?: InputMaybe; + yield_lte?: InputMaybe; + yield_not_eq?: InputMaybe; + yield_not_in?: InputMaybe>; }; -export type OetHsConnection = { - __typename?: 'OETHsConnection'; - edges: Array; +export type OethDailyStatsConnection = { + __typename?: 'OETHDailyStatsConnection'; + edges: Array; pageInfo: PageInfo; totalCount: Scalars['Int']['output']; }; -export enum OrderBy { +export type OethDripper = { + __typename?: 'OETHDripper'; + blockNumber: Scalars['Int']['output']; + dripDuration: Scalars['BigInt']['output']; + dripRatePerBlock: Scalars['BigInt']['output']; + id: Scalars['String']['output']; + lastCollectTimestamp: Scalars['Int']['output']; + timestamp: Scalars['DateTime']['output']; + weth: Scalars['BigInt']['output']; +}; + +export type OethDripperEdge = { + __typename?: 'OETHDripperEdge'; + cursor: Scalars['String']['output']; + node: OethDripper; +}; + +export enum OethDripperOrderByInput { + BlockNumberAsc = 'blockNumber_ASC', + BlockNumberAscNullsFirst = 'blockNumber_ASC_NULLS_FIRST', + BlockNumberDesc = 'blockNumber_DESC', + BlockNumberDescNullsLast = 'blockNumber_DESC_NULLS_LAST', + DripDurationAsc = 'dripDuration_ASC', + DripDurationAscNullsFirst = 'dripDuration_ASC_NULLS_FIRST', + DripDurationDesc = 'dripDuration_DESC', + DripDurationDescNullsLast = 'dripDuration_DESC_NULLS_LAST', + DripRatePerBlockAsc = 'dripRatePerBlock_ASC', + DripRatePerBlockAscNullsFirst = 'dripRatePerBlock_ASC_NULLS_FIRST', + DripRatePerBlockDesc = 'dripRatePerBlock_DESC', + DripRatePerBlockDescNullsLast = 'dripRatePerBlock_DESC_NULLS_LAST', IdAsc = 'id_ASC', + IdAscNullsFirst = 'id_ASC_NULLS_FIRST', IdDesc = 'id_DESC', + IdDescNullsLast = 'id_DESC_NULLS_LAST', + LastCollectTimestampAsc = 'lastCollectTimestamp_ASC', + LastCollectTimestampAscNullsFirst = 'lastCollectTimestamp_ASC_NULLS_FIRST', + LastCollectTimestampDesc = 'lastCollectTimestamp_DESC', + LastCollectTimestampDescNullsLast = 'lastCollectTimestamp_DESC_NULLS_LAST', TimestampAsc = 'timestamp_ASC', - TimestampDesc = 'timestamp_DESC' + TimestampAscNullsFirst = 'timestamp_ASC_NULLS_FIRST', + TimestampDesc = 'timestamp_DESC', + TimestampDescNullsLast = 'timestamp_DESC_NULLS_LAST', + WethAsc = 'weth_ASC', + WethAscNullsFirst = 'weth_ASC_NULLS_FIRST', + WethDesc = 'weth_DESC', + WethDescNullsLast = 'weth_DESC_NULLS_LAST' } -export type PageInfo = { - __typename?: 'PageInfo'; - endCursor: Scalars['String']['output']; - hasNextPage: Scalars['Boolean']['output']; - hasPreviousPage: Scalars['Boolean']['output']; - startCursor: Scalars['String']['output']; +export type OethDripperWhereInput = { + AND?: InputMaybe>; + OR?: InputMaybe>; + blockNumber_eq?: InputMaybe; + blockNumber_gt?: InputMaybe; + blockNumber_gte?: InputMaybe; + blockNumber_in?: InputMaybe>; + blockNumber_isNull?: InputMaybe; + blockNumber_lt?: InputMaybe; + blockNumber_lte?: InputMaybe; + blockNumber_not_eq?: InputMaybe; + blockNumber_not_in?: InputMaybe>; + dripDuration_eq?: InputMaybe; + dripDuration_gt?: InputMaybe; + dripDuration_gte?: InputMaybe; + dripDuration_in?: InputMaybe>; + dripDuration_isNull?: InputMaybe; + dripDuration_lt?: InputMaybe; + dripDuration_lte?: InputMaybe; + dripDuration_not_eq?: InputMaybe; + dripDuration_not_in?: InputMaybe>; + dripRatePerBlock_eq?: InputMaybe; + dripRatePerBlock_gt?: InputMaybe; + dripRatePerBlock_gte?: InputMaybe; + dripRatePerBlock_in?: InputMaybe>; + dripRatePerBlock_isNull?: InputMaybe; + dripRatePerBlock_lt?: InputMaybe; + dripRatePerBlock_lte?: InputMaybe; + dripRatePerBlock_not_eq?: InputMaybe; + dripRatePerBlock_not_in?: InputMaybe>; + id_contains?: InputMaybe; + id_containsInsensitive?: InputMaybe; + id_endsWith?: InputMaybe; + id_eq?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_isNull?: InputMaybe; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not_contains?: InputMaybe; + id_not_containsInsensitive?: InputMaybe; + id_not_endsWith?: InputMaybe; + id_not_eq?: InputMaybe; + id_not_in?: InputMaybe>; + id_not_startsWith?: InputMaybe; + id_startsWith?: InputMaybe; + lastCollectTimestamp_eq?: InputMaybe; + lastCollectTimestamp_gt?: InputMaybe; + lastCollectTimestamp_gte?: InputMaybe; + lastCollectTimestamp_in?: InputMaybe>; + lastCollectTimestamp_isNull?: InputMaybe; + lastCollectTimestamp_lt?: InputMaybe; + lastCollectTimestamp_lte?: InputMaybe; + lastCollectTimestamp_not_eq?: InputMaybe; + lastCollectTimestamp_not_in?: InputMaybe>; + timestamp_eq?: InputMaybe; + timestamp_gt?: InputMaybe; + timestamp_gte?: InputMaybe; + timestamp_in?: InputMaybe>; + timestamp_isNull?: InputMaybe; + timestamp_lt?: InputMaybe; + timestamp_lte?: InputMaybe; + timestamp_not_eq?: InputMaybe; + timestamp_not_in?: InputMaybe>; + weth_eq?: InputMaybe; + weth_gt?: InputMaybe; + weth_gte?: InputMaybe; + weth_in?: InputMaybe>; + weth_isNull?: InputMaybe; + weth_lt?: InputMaybe; + weth_lte?: InputMaybe; + weth_not_eq?: InputMaybe; + weth_not_in?: InputMaybe>; +}; + +export type OethDrippersConnection = { + __typename?: 'OETHDrippersConnection'; + edges: Array; + pageInfo: PageInfo; + totalCount: Scalars['Int']['output']; +}; + +export type OethEdge = { + __typename?: 'OETHEdge'; + cursor: Scalars['String']['output']; + node: Oeth; +}; + +export type OethFraxStaking = { + __typename?: 'OETHFraxStaking'; + blockNumber: Scalars['Int']['output']; + id: Scalars['String']['output']; + /** + * - sfrxETH is what's actually stored here, slightly confusing and may want to change. + * - used by balance sheet + */ + sfrxETH: Scalars['BigInt']['output']; + timestamp: Scalars['DateTime']['output']; +}; + +export type OethFraxStakingEdge = { + __typename?: 'OETHFraxStakingEdge'; + cursor: Scalars['String']['output']; + node: OethFraxStaking; +}; + +export enum OethFraxStakingOrderByInput { + BlockNumberAsc = 'blockNumber_ASC', + BlockNumberAscNullsFirst = 'blockNumber_ASC_NULLS_FIRST', + BlockNumberDesc = 'blockNumber_DESC', + BlockNumberDescNullsLast = 'blockNumber_DESC_NULLS_LAST', + IdAsc = 'id_ASC', + IdAscNullsFirst = 'id_ASC_NULLS_FIRST', + IdDesc = 'id_DESC', + IdDescNullsLast = 'id_DESC_NULLS_LAST', + SfrxEthAsc = 'sfrxETH_ASC', + SfrxEthAscNullsFirst = 'sfrxETH_ASC_NULLS_FIRST', + SfrxEthDesc = 'sfrxETH_DESC', + SfrxEthDescNullsLast = 'sfrxETH_DESC_NULLS_LAST', + TimestampAsc = 'timestamp_ASC', + TimestampAscNullsFirst = 'timestamp_ASC_NULLS_FIRST', + TimestampDesc = 'timestamp_DESC', + TimestampDescNullsLast = 'timestamp_DESC_NULLS_LAST' +} + +export type OethFraxStakingWhereInput = { + AND?: InputMaybe>; + OR?: InputMaybe>; + blockNumber_eq?: InputMaybe; + blockNumber_gt?: InputMaybe; + blockNumber_gte?: InputMaybe; + blockNumber_in?: InputMaybe>; + blockNumber_isNull?: InputMaybe; + blockNumber_lt?: InputMaybe; + blockNumber_lte?: InputMaybe; + blockNumber_not_eq?: InputMaybe; + blockNumber_not_in?: InputMaybe>; + id_contains?: InputMaybe; + id_containsInsensitive?: InputMaybe; + id_endsWith?: InputMaybe; + id_eq?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_isNull?: InputMaybe; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not_contains?: InputMaybe; + id_not_containsInsensitive?: InputMaybe; + id_not_endsWith?: InputMaybe; + id_not_eq?: InputMaybe; + id_not_in?: InputMaybe>; + id_not_startsWith?: InputMaybe; + id_startsWith?: InputMaybe; + sfrxETH_eq?: InputMaybe; + sfrxETH_gt?: InputMaybe; + sfrxETH_gte?: InputMaybe; + sfrxETH_in?: InputMaybe>; + sfrxETH_isNull?: InputMaybe; + sfrxETH_lt?: InputMaybe; + sfrxETH_lte?: InputMaybe; + sfrxETH_not_eq?: InputMaybe; + sfrxETH_not_in?: InputMaybe>; + timestamp_eq?: InputMaybe; + timestamp_gt?: InputMaybe; + timestamp_gte?: InputMaybe; + timestamp_in?: InputMaybe>; + timestamp_isNull?: InputMaybe; + timestamp_lt?: InputMaybe; + timestamp_lte?: InputMaybe; + timestamp_not_eq?: InputMaybe; + timestamp_not_in?: InputMaybe>; +}; + +export type OethFraxStakingsConnection = { + __typename?: 'OETHFraxStakingsConnection'; + edges: Array; + pageInfo: PageInfo; + totalCount: Scalars['Int']['output']; +}; + +export type OethHistoriesConnection = { + __typename?: 'OETHHistoriesConnection'; + edges: Array; + pageInfo: PageInfo; + totalCount: Scalars['Int']['output']; +}; + +/** The History entity tracks events that change the balance of OETH for an address. */ +export type OethHistory = { + __typename?: 'OETHHistory'; + address: OethAddress; + balance: Scalars['BigInt']['output']; + blockNumber: Scalars['Int']['output']; + id: Scalars['String']['output']; + timestamp: Scalars['DateTime']['output']; + txHash: Scalars['String']['output']; + type: HistoryType; + value: Scalars['BigInt']['output']; +}; + +export type OethHistoryEdge = { + __typename?: 'OETHHistoryEdge'; + cursor: Scalars['String']['output']; + node: OethHistory; +}; + +export enum OethHistoryOrderByInput { + AddressBalanceAsc = 'address_balance_ASC', + AddressBalanceAscNullsFirst = 'address_balance_ASC_NULLS_FIRST', + AddressBalanceDesc = 'address_balance_DESC', + AddressBalanceDescNullsLast = 'address_balance_DESC_NULLS_LAST', + AddressCreditsAsc = 'address_credits_ASC', + AddressCreditsAscNullsFirst = 'address_credits_ASC_NULLS_FIRST', + AddressCreditsDesc = 'address_credits_DESC', + AddressCreditsDescNullsLast = 'address_credits_DESC_NULLS_LAST', + AddressEarnedAsc = 'address_earned_ASC', + AddressEarnedAscNullsFirst = 'address_earned_ASC_NULLS_FIRST', + AddressEarnedDesc = 'address_earned_DESC', + AddressEarnedDescNullsLast = 'address_earned_DESC_NULLS_LAST', + AddressIdAsc = 'address_id_ASC', + AddressIdAscNullsFirst = 'address_id_ASC_NULLS_FIRST', + AddressIdDesc = 'address_id_DESC', + AddressIdDescNullsLast = 'address_id_DESC_NULLS_LAST', + AddressIsContractAsc = 'address_isContract_ASC', + AddressIsContractAscNullsFirst = 'address_isContract_ASC_NULLS_FIRST', + AddressIsContractDesc = 'address_isContract_DESC', + AddressIsContractDescNullsLast = 'address_isContract_DESC_NULLS_LAST', + AddressLastUpdatedAsc = 'address_lastUpdated_ASC', + AddressLastUpdatedAscNullsFirst = 'address_lastUpdated_ASC_NULLS_FIRST', + AddressLastUpdatedDesc = 'address_lastUpdated_DESC', + AddressLastUpdatedDescNullsLast = 'address_lastUpdated_DESC_NULLS_LAST', + AddressRebasingOptionAsc = 'address_rebasingOption_ASC', + AddressRebasingOptionAscNullsFirst = 'address_rebasingOption_ASC_NULLS_FIRST', + AddressRebasingOptionDesc = 'address_rebasingOption_DESC', + AddressRebasingOptionDescNullsLast = 'address_rebasingOption_DESC_NULLS_LAST', + BalanceAsc = 'balance_ASC', + BalanceAscNullsFirst = 'balance_ASC_NULLS_FIRST', + BalanceDesc = 'balance_DESC', + BalanceDescNullsLast = 'balance_DESC_NULLS_LAST', + BlockNumberAsc = 'blockNumber_ASC', + BlockNumberAscNullsFirst = 'blockNumber_ASC_NULLS_FIRST', + BlockNumberDesc = 'blockNumber_DESC', + BlockNumberDescNullsLast = 'blockNumber_DESC_NULLS_LAST', + IdAsc = 'id_ASC', + IdAscNullsFirst = 'id_ASC_NULLS_FIRST', + IdDesc = 'id_DESC', + IdDescNullsLast = 'id_DESC_NULLS_LAST', + TimestampAsc = 'timestamp_ASC', + TimestampAscNullsFirst = 'timestamp_ASC_NULLS_FIRST', + TimestampDesc = 'timestamp_DESC', + TimestampDescNullsLast = 'timestamp_DESC_NULLS_LAST', + TxHashAsc = 'txHash_ASC', + TxHashAscNullsFirst = 'txHash_ASC_NULLS_FIRST', + TxHashDesc = 'txHash_DESC', + TxHashDescNullsLast = 'txHash_DESC_NULLS_LAST', + TypeAsc = 'type_ASC', + TypeAscNullsFirst = 'type_ASC_NULLS_FIRST', + TypeDesc = 'type_DESC', + TypeDescNullsLast = 'type_DESC_NULLS_LAST', + ValueAsc = 'value_ASC', + ValueAscNullsFirst = 'value_ASC_NULLS_FIRST', + ValueDesc = 'value_DESC', + ValueDescNullsLast = 'value_DESC_NULLS_LAST' +} + +export type OethHistoryWhereInput = { + AND?: InputMaybe>; + OR?: InputMaybe>; + address?: InputMaybe; + address_isNull?: InputMaybe; + balance_eq?: InputMaybe; + balance_gt?: InputMaybe; + balance_gte?: InputMaybe; + balance_in?: InputMaybe>; + balance_isNull?: InputMaybe; + balance_lt?: InputMaybe; + balance_lte?: InputMaybe; + balance_not_eq?: InputMaybe; + balance_not_in?: InputMaybe>; + blockNumber_eq?: InputMaybe; + blockNumber_gt?: InputMaybe; + blockNumber_gte?: InputMaybe; + blockNumber_in?: InputMaybe>; + blockNumber_isNull?: InputMaybe; + blockNumber_lt?: InputMaybe; + blockNumber_lte?: InputMaybe; + blockNumber_not_eq?: InputMaybe; + blockNumber_not_in?: InputMaybe>; + id_contains?: InputMaybe; + id_containsInsensitive?: InputMaybe; + id_endsWith?: InputMaybe; + id_eq?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_isNull?: InputMaybe; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not_contains?: InputMaybe; + id_not_containsInsensitive?: InputMaybe; + id_not_endsWith?: InputMaybe; + id_not_eq?: InputMaybe; + id_not_in?: InputMaybe>; + id_not_startsWith?: InputMaybe; + id_startsWith?: InputMaybe; + timestamp_eq?: InputMaybe; + timestamp_gt?: InputMaybe; + timestamp_gte?: InputMaybe; + timestamp_in?: InputMaybe>; + timestamp_isNull?: InputMaybe; + timestamp_lt?: InputMaybe; + timestamp_lte?: InputMaybe; + timestamp_not_eq?: InputMaybe; + timestamp_not_in?: InputMaybe>; + txHash_contains?: InputMaybe; + txHash_containsInsensitive?: InputMaybe; + txHash_endsWith?: InputMaybe; + txHash_eq?: InputMaybe; + txHash_gt?: InputMaybe; + txHash_gte?: InputMaybe; + txHash_in?: InputMaybe>; + txHash_isNull?: InputMaybe; + txHash_lt?: InputMaybe; + txHash_lte?: InputMaybe; + txHash_not_contains?: InputMaybe; + txHash_not_containsInsensitive?: InputMaybe; + txHash_not_endsWith?: InputMaybe; + txHash_not_eq?: InputMaybe; + txHash_not_in?: InputMaybe>; + txHash_not_startsWith?: InputMaybe; + txHash_startsWith?: InputMaybe; + type_eq?: InputMaybe; + type_in?: InputMaybe>; + type_isNull?: InputMaybe; + type_not_eq?: InputMaybe; + type_not_in?: InputMaybe>; + value_eq?: InputMaybe; + value_gt?: InputMaybe; + value_gte?: InputMaybe; + value_in?: InputMaybe>; + value_isNull?: InputMaybe; + value_lt?: InputMaybe; + value_lte?: InputMaybe; + value_not_eq?: InputMaybe; + value_not_in?: InputMaybe>; +}; + +export type OethMorphoAave = { + __typename?: 'OETHMorphoAave'; + blockNumber: Scalars['Int']['output']; + id: Scalars['String']['output']; + timestamp: Scalars['DateTime']['output']; + weth: Scalars['BigInt']['output']; +}; + +export type OethMorphoAaveEdge = { + __typename?: 'OETHMorphoAaveEdge'; + cursor: Scalars['String']['output']; + node: OethMorphoAave; +}; + +export enum OethMorphoAaveOrderByInput { + BlockNumberAsc = 'blockNumber_ASC', + BlockNumberAscNullsFirst = 'blockNumber_ASC_NULLS_FIRST', + BlockNumberDesc = 'blockNumber_DESC', + BlockNumberDescNullsLast = 'blockNumber_DESC_NULLS_LAST', + IdAsc = 'id_ASC', + IdAscNullsFirst = 'id_ASC_NULLS_FIRST', + IdDesc = 'id_DESC', + IdDescNullsLast = 'id_DESC_NULLS_LAST', + TimestampAsc = 'timestamp_ASC', + TimestampAscNullsFirst = 'timestamp_ASC_NULLS_FIRST', + TimestampDesc = 'timestamp_DESC', + TimestampDescNullsLast = 'timestamp_DESC_NULLS_LAST', + WethAsc = 'weth_ASC', + WethAscNullsFirst = 'weth_ASC_NULLS_FIRST', + WethDesc = 'weth_DESC', + WethDescNullsLast = 'weth_DESC_NULLS_LAST' +} + +export type OethMorphoAaveWhereInput = { + AND?: InputMaybe>; + OR?: InputMaybe>; + blockNumber_eq?: InputMaybe; + blockNumber_gt?: InputMaybe; + blockNumber_gte?: InputMaybe; + blockNumber_in?: InputMaybe>; + blockNumber_isNull?: InputMaybe; + blockNumber_lt?: InputMaybe; + blockNumber_lte?: InputMaybe; + blockNumber_not_eq?: InputMaybe; + blockNumber_not_in?: InputMaybe>; + id_contains?: InputMaybe; + id_containsInsensitive?: InputMaybe; + id_endsWith?: InputMaybe; + id_eq?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_isNull?: InputMaybe; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not_contains?: InputMaybe; + id_not_containsInsensitive?: InputMaybe; + id_not_endsWith?: InputMaybe; + id_not_eq?: InputMaybe; + id_not_in?: InputMaybe>; + id_not_startsWith?: InputMaybe; + id_startsWith?: InputMaybe; + timestamp_eq?: InputMaybe; + timestamp_gt?: InputMaybe; + timestamp_gte?: InputMaybe; + timestamp_in?: InputMaybe>; + timestamp_isNull?: InputMaybe; + timestamp_lt?: InputMaybe; + timestamp_lte?: InputMaybe; + timestamp_not_eq?: InputMaybe; + timestamp_not_in?: InputMaybe>; + weth_eq?: InputMaybe; + weth_gt?: InputMaybe; + weth_gte?: InputMaybe; + weth_in?: InputMaybe>; + weth_isNull?: InputMaybe; + weth_lt?: InputMaybe; + weth_lte?: InputMaybe; + weth_not_eq?: InputMaybe; + weth_not_in?: InputMaybe>; +}; + +export type OethMorphoAavesConnection = { + __typename?: 'OETHMorphoAavesConnection'; + edges: Array; + pageInfo: PageInfo; + totalCount: Scalars['Int']['output']; +}; + +export enum OethOrderByInput { + BlockNumberAsc = 'blockNumber_ASC', + BlockNumberAscNullsFirst = 'blockNumber_ASC_NULLS_FIRST', + BlockNumberDesc = 'blockNumber_DESC', + BlockNumberDescNullsLast = 'blockNumber_DESC_NULLS_LAST', + IdAsc = 'id_ASC', + IdAscNullsFirst = 'id_ASC_NULLS_FIRST', + IdDesc = 'id_DESC', + IdDescNullsLast = 'id_DESC_NULLS_LAST', + NonRebasingSupplyAsc = 'nonRebasingSupply_ASC', + NonRebasingSupplyAscNullsFirst = 'nonRebasingSupply_ASC_NULLS_FIRST', + NonRebasingSupplyDesc = 'nonRebasingSupply_DESC', + NonRebasingSupplyDescNullsLast = 'nonRebasingSupply_DESC_NULLS_LAST', + RebasingSupplyAsc = 'rebasingSupply_ASC', + RebasingSupplyAscNullsFirst = 'rebasingSupply_ASC_NULLS_FIRST', + RebasingSupplyDesc = 'rebasingSupply_DESC', + RebasingSupplyDescNullsLast = 'rebasingSupply_DESC_NULLS_LAST', + TimestampAsc = 'timestamp_ASC', + TimestampAscNullsFirst = 'timestamp_ASC_NULLS_FIRST', + TimestampDesc = 'timestamp_DESC', + TimestampDescNullsLast = 'timestamp_DESC_NULLS_LAST', + TotalSupplyAsc = 'totalSupply_ASC', + TotalSupplyAscNullsFirst = 'totalSupply_ASC_NULLS_FIRST', + TotalSupplyDesc = 'totalSupply_DESC', + TotalSupplyDescNullsLast = 'totalSupply_DESC_NULLS_LAST' +} + +/** The Rebase entity tracks historical rebase events on the OETH contract. */ +export type OethRebase = { + __typename?: 'OETHRebase'; + apy: Oethapy; + blockNumber: Scalars['Int']['output']; + fee: Scalars['BigInt']['output']; + id: Scalars['String']['output']; + rebasingCredits: Scalars['BigInt']['output']; + rebasingCreditsPerToken: Scalars['BigInt']['output']; + timestamp: Scalars['DateTime']['output']; + totalSupply: Scalars['BigInt']['output']; + txHash: Scalars['String']['output']; + yield: Scalars['BigInt']['output']; +}; + +export type OethRebaseEdge = { + __typename?: 'OETHRebaseEdge'; + cursor: Scalars['String']['output']; + node: OethRebase; +}; + +/** The RebaseOption entity tracks historical rebase option changes by address. */ +export type OethRebaseOption = { + __typename?: 'OETHRebaseOption'; + address: OethAddress; + blockNumber: Scalars['Int']['output']; + id: Scalars['String']['output']; + status: RebasingOption; + timestamp: Scalars['DateTime']['output']; + txHash: Scalars['String']['output']; +}; + +export type OethRebaseOptionEdge = { + __typename?: 'OETHRebaseOptionEdge'; + cursor: Scalars['String']['output']; + node: OethRebaseOption; +}; + +export enum OethRebaseOptionOrderByInput { + AddressBalanceAsc = 'address_balance_ASC', + AddressBalanceAscNullsFirst = 'address_balance_ASC_NULLS_FIRST', + AddressBalanceDesc = 'address_balance_DESC', + AddressBalanceDescNullsLast = 'address_balance_DESC_NULLS_LAST', + AddressCreditsAsc = 'address_credits_ASC', + AddressCreditsAscNullsFirst = 'address_credits_ASC_NULLS_FIRST', + AddressCreditsDesc = 'address_credits_DESC', + AddressCreditsDescNullsLast = 'address_credits_DESC_NULLS_LAST', + AddressEarnedAsc = 'address_earned_ASC', + AddressEarnedAscNullsFirst = 'address_earned_ASC_NULLS_FIRST', + AddressEarnedDesc = 'address_earned_DESC', + AddressEarnedDescNullsLast = 'address_earned_DESC_NULLS_LAST', + AddressIdAsc = 'address_id_ASC', + AddressIdAscNullsFirst = 'address_id_ASC_NULLS_FIRST', + AddressIdDesc = 'address_id_DESC', + AddressIdDescNullsLast = 'address_id_DESC_NULLS_LAST', + AddressIsContractAsc = 'address_isContract_ASC', + AddressIsContractAscNullsFirst = 'address_isContract_ASC_NULLS_FIRST', + AddressIsContractDesc = 'address_isContract_DESC', + AddressIsContractDescNullsLast = 'address_isContract_DESC_NULLS_LAST', + AddressLastUpdatedAsc = 'address_lastUpdated_ASC', + AddressLastUpdatedAscNullsFirst = 'address_lastUpdated_ASC_NULLS_FIRST', + AddressLastUpdatedDesc = 'address_lastUpdated_DESC', + AddressLastUpdatedDescNullsLast = 'address_lastUpdated_DESC_NULLS_LAST', + AddressRebasingOptionAsc = 'address_rebasingOption_ASC', + AddressRebasingOptionAscNullsFirst = 'address_rebasingOption_ASC_NULLS_FIRST', + AddressRebasingOptionDesc = 'address_rebasingOption_DESC', + AddressRebasingOptionDescNullsLast = 'address_rebasingOption_DESC_NULLS_LAST', + BlockNumberAsc = 'blockNumber_ASC', + BlockNumberAscNullsFirst = 'blockNumber_ASC_NULLS_FIRST', + BlockNumberDesc = 'blockNumber_DESC', + BlockNumberDescNullsLast = 'blockNumber_DESC_NULLS_LAST', + IdAsc = 'id_ASC', + IdAscNullsFirst = 'id_ASC_NULLS_FIRST', + IdDesc = 'id_DESC', + IdDescNullsLast = 'id_DESC_NULLS_LAST', + StatusAsc = 'status_ASC', + StatusAscNullsFirst = 'status_ASC_NULLS_FIRST', + StatusDesc = 'status_DESC', + StatusDescNullsLast = 'status_DESC_NULLS_LAST', + TimestampAsc = 'timestamp_ASC', + TimestampAscNullsFirst = 'timestamp_ASC_NULLS_FIRST', + TimestampDesc = 'timestamp_DESC', + TimestampDescNullsLast = 'timestamp_DESC_NULLS_LAST', + TxHashAsc = 'txHash_ASC', + TxHashAscNullsFirst = 'txHash_ASC_NULLS_FIRST', + TxHashDesc = 'txHash_DESC', + TxHashDescNullsLast = 'txHash_DESC_NULLS_LAST' +} + +export type OethRebaseOptionWhereInput = { + AND?: InputMaybe>; + OR?: InputMaybe>; + address?: InputMaybe; + address_isNull?: InputMaybe; + blockNumber_eq?: InputMaybe; + blockNumber_gt?: InputMaybe; + blockNumber_gte?: InputMaybe; + blockNumber_in?: InputMaybe>; + blockNumber_isNull?: InputMaybe; + blockNumber_lt?: InputMaybe; + blockNumber_lte?: InputMaybe; + blockNumber_not_eq?: InputMaybe; + blockNumber_not_in?: InputMaybe>; + id_contains?: InputMaybe; + id_containsInsensitive?: InputMaybe; + id_endsWith?: InputMaybe; + id_eq?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_isNull?: InputMaybe; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not_contains?: InputMaybe; + id_not_containsInsensitive?: InputMaybe; + id_not_endsWith?: InputMaybe; + id_not_eq?: InputMaybe; + id_not_in?: InputMaybe>; + id_not_startsWith?: InputMaybe; + id_startsWith?: InputMaybe; + status_eq?: InputMaybe; + status_in?: InputMaybe>; + status_isNull?: InputMaybe; + status_not_eq?: InputMaybe; + status_not_in?: InputMaybe>; + timestamp_eq?: InputMaybe; + timestamp_gt?: InputMaybe; + timestamp_gte?: InputMaybe; + timestamp_in?: InputMaybe>; + timestamp_isNull?: InputMaybe; + timestamp_lt?: InputMaybe; + timestamp_lte?: InputMaybe; + timestamp_not_eq?: InputMaybe; + timestamp_not_in?: InputMaybe>; + txHash_contains?: InputMaybe; + txHash_containsInsensitive?: InputMaybe; + txHash_endsWith?: InputMaybe; + txHash_eq?: InputMaybe; + txHash_gt?: InputMaybe; + txHash_gte?: InputMaybe; + txHash_in?: InputMaybe>; + txHash_isNull?: InputMaybe; + txHash_lt?: InputMaybe; + txHash_lte?: InputMaybe; + txHash_not_contains?: InputMaybe; + txHash_not_containsInsensitive?: InputMaybe; + txHash_not_endsWith?: InputMaybe; + txHash_not_eq?: InputMaybe; + txHash_not_in?: InputMaybe>; + txHash_not_startsWith?: InputMaybe; + txHash_startsWith?: InputMaybe; +}; + +export type OethRebaseOptionsConnection = { + __typename?: 'OETHRebaseOptionsConnection'; + edges: Array; + pageInfo: PageInfo; + totalCount: Scalars['Int']['output']; +}; + +export enum OethRebaseOrderByInput { + ApyAprAsc = 'apy_apr_ASC', + ApyAprAscNullsFirst = 'apy_apr_ASC_NULLS_FIRST', + ApyAprDesc = 'apy_apr_DESC', + ApyAprDescNullsLast = 'apy_apr_DESC_NULLS_LAST', + ApyApy7DayAvgAsc = 'apy_apy7DayAvg_ASC', + ApyApy7DayAvgAscNullsFirst = 'apy_apy7DayAvg_ASC_NULLS_FIRST', + ApyApy7DayAvgDesc = 'apy_apy7DayAvg_DESC', + ApyApy7DayAvgDescNullsLast = 'apy_apy7DayAvg_DESC_NULLS_LAST', + ApyApy14DayAvgAsc = 'apy_apy14DayAvg_ASC', + ApyApy14DayAvgAscNullsFirst = 'apy_apy14DayAvg_ASC_NULLS_FIRST', + ApyApy14DayAvgDesc = 'apy_apy14DayAvg_DESC', + ApyApy14DayAvgDescNullsLast = 'apy_apy14DayAvg_DESC_NULLS_LAST', + ApyApy30DayAvgAsc = 'apy_apy30DayAvg_ASC', + ApyApy30DayAvgAscNullsFirst = 'apy_apy30DayAvg_ASC_NULLS_FIRST', + ApyApy30DayAvgDesc = 'apy_apy30DayAvg_DESC', + ApyApy30DayAvgDescNullsLast = 'apy_apy30DayAvg_DESC_NULLS_LAST', + ApyApyAsc = 'apy_apy_ASC', + ApyApyAscNullsFirst = 'apy_apy_ASC_NULLS_FIRST', + ApyApyDesc = 'apy_apy_DESC', + ApyApyDescNullsLast = 'apy_apy_DESC_NULLS_LAST', + ApyBlockNumberAsc = 'apy_blockNumber_ASC', + ApyBlockNumberAscNullsFirst = 'apy_blockNumber_ASC_NULLS_FIRST', + ApyBlockNumberDesc = 'apy_blockNumber_DESC', + ApyBlockNumberDescNullsLast = 'apy_blockNumber_DESC_NULLS_LAST', + ApyIdAsc = 'apy_id_ASC', + ApyIdAscNullsFirst = 'apy_id_ASC_NULLS_FIRST', + ApyIdDesc = 'apy_id_DESC', + ApyIdDescNullsLast = 'apy_id_DESC_NULLS_LAST', + ApyRebasingCreditsPerTokenAsc = 'apy_rebasingCreditsPerToken_ASC', + ApyRebasingCreditsPerTokenAscNullsFirst = 'apy_rebasingCreditsPerToken_ASC_NULLS_FIRST', + ApyRebasingCreditsPerTokenDesc = 'apy_rebasingCreditsPerToken_DESC', + ApyRebasingCreditsPerTokenDescNullsLast = 'apy_rebasingCreditsPerToken_DESC_NULLS_LAST', + ApyTimestampAsc = 'apy_timestamp_ASC', + ApyTimestampAscNullsFirst = 'apy_timestamp_ASC_NULLS_FIRST', + ApyTimestampDesc = 'apy_timestamp_DESC', + ApyTimestampDescNullsLast = 'apy_timestamp_DESC_NULLS_LAST', + ApyTxHashAsc = 'apy_txHash_ASC', + ApyTxHashAscNullsFirst = 'apy_txHash_ASC_NULLS_FIRST', + ApyTxHashDesc = 'apy_txHash_DESC', + ApyTxHashDescNullsLast = 'apy_txHash_DESC_NULLS_LAST', + BlockNumberAsc = 'blockNumber_ASC', + BlockNumberAscNullsFirst = 'blockNumber_ASC_NULLS_FIRST', + BlockNumberDesc = 'blockNumber_DESC', + BlockNumberDescNullsLast = 'blockNumber_DESC_NULLS_LAST', + FeeAsc = 'fee_ASC', + FeeAscNullsFirst = 'fee_ASC_NULLS_FIRST', + FeeDesc = 'fee_DESC', + FeeDescNullsLast = 'fee_DESC_NULLS_LAST', + IdAsc = 'id_ASC', + IdAscNullsFirst = 'id_ASC_NULLS_FIRST', + IdDesc = 'id_DESC', + IdDescNullsLast = 'id_DESC_NULLS_LAST', + RebasingCreditsPerTokenAsc = 'rebasingCreditsPerToken_ASC', + RebasingCreditsPerTokenAscNullsFirst = 'rebasingCreditsPerToken_ASC_NULLS_FIRST', + RebasingCreditsPerTokenDesc = 'rebasingCreditsPerToken_DESC', + RebasingCreditsPerTokenDescNullsLast = 'rebasingCreditsPerToken_DESC_NULLS_LAST', + RebasingCreditsAsc = 'rebasingCredits_ASC', + RebasingCreditsAscNullsFirst = 'rebasingCredits_ASC_NULLS_FIRST', + RebasingCreditsDesc = 'rebasingCredits_DESC', + RebasingCreditsDescNullsLast = 'rebasingCredits_DESC_NULLS_LAST', + TimestampAsc = 'timestamp_ASC', + TimestampAscNullsFirst = 'timestamp_ASC_NULLS_FIRST', + TimestampDesc = 'timestamp_DESC', + TimestampDescNullsLast = 'timestamp_DESC_NULLS_LAST', + TotalSupplyAsc = 'totalSupply_ASC', + TotalSupplyAscNullsFirst = 'totalSupply_ASC_NULLS_FIRST', + TotalSupplyDesc = 'totalSupply_DESC', + TotalSupplyDescNullsLast = 'totalSupply_DESC_NULLS_LAST', + TxHashAsc = 'txHash_ASC', + TxHashAscNullsFirst = 'txHash_ASC_NULLS_FIRST', + TxHashDesc = 'txHash_DESC', + TxHashDescNullsLast = 'txHash_DESC_NULLS_LAST', + YieldAsc = 'yield_ASC', + YieldAscNullsFirst = 'yield_ASC_NULLS_FIRST', + YieldDesc = 'yield_DESC', + YieldDescNullsLast = 'yield_DESC_NULLS_LAST' +} + +export type OethRebaseWhereInput = { + AND?: InputMaybe>; + OR?: InputMaybe>; + apy?: InputMaybe; + apy_isNull?: InputMaybe; + blockNumber_eq?: InputMaybe; + blockNumber_gt?: InputMaybe; + blockNumber_gte?: InputMaybe; + blockNumber_in?: InputMaybe>; + blockNumber_isNull?: InputMaybe; + blockNumber_lt?: InputMaybe; + blockNumber_lte?: InputMaybe; + blockNumber_not_eq?: InputMaybe; + blockNumber_not_in?: InputMaybe>; + fee_eq?: InputMaybe; + fee_gt?: InputMaybe; + fee_gte?: InputMaybe; + fee_in?: InputMaybe>; + fee_isNull?: InputMaybe; + fee_lt?: InputMaybe; + fee_lte?: InputMaybe; + fee_not_eq?: InputMaybe; + fee_not_in?: InputMaybe>; + id_contains?: InputMaybe; + id_containsInsensitive?: InputMaybe; + id_endsWith?: InputMaybe; + id_eq?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_isNull?: InputMaybe; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not_contains?: InputMaybe; + id_not_containsInsensitive?: InputMaybe; + id_not_endsWith?: InputMaybe; + id_not_eq?: InputMaybe; + id_not_in?: InputMaybe>; + id_not_startsWith?: InputMaybe; + id_startsWith?: InputMaybe; + rebasingCreditsPerToken_eq?: InputMaybe; + rebasingCreditsPerToken_gt?: InputMaybe; + rebasingCreditsPerToken_gte?: InputMaybe; + rebasingCreditsPerToken_in?: InputMaybe>; + rebasingCreditsPerToken_isNull?: InputMaybe; + rebasingCreditsPerToken_lt?: InputMaybe; + rebasingCreditsPerToken_lte?: InputMaybe; + rebasingCreditsPerToken_not_eq?: InputMaybe; + rebasingCreditsPerToken_not_in?: InputMaybe>; + rebasingCredits_eq?: InputMaybe; + rebasingCredits_gt?: InputMaybe; + rebasingCredits_gte?: InputMaybe; + rebasingCredits_in?: InputMaybe>; + rebasingCredits_isNull?: InputMaybe; + rebasingCredits_lt?: InputMaybe; + rebasingCredits_lte?: InputMaybe; + rebasingCredits_not_eq?: InputMaybe; + rebasingCredits_not_in?: InputMaybe>; + timestamp_eq?: InputMaybe; + timestamp_gt?: InputMaybe; + timestamp_gte?: InputMaybe; + timestamp_in?: InputMaybe>; + timestamp_isNull?: InputMaybe; + timestamp_lt?: InputMaybe; + timestamp_lte?: InputMaybe; + timestamp_not_eq?: InputMaybe; + timestamp_not_in?: InputMaybe>; + totalSupply_eq?: InputMaybe; + totalSupply_gt?: InputMaybe; + totalSupply_gte?: InputMaybe; + totalSupply_in?: InputMaybe>; + totalSupply_isNull?: InputMaybe; + totalSupply_lt?: InputMaybe; + totalSupply_lte?: InputMaybe; + totalSupply_not_eq?: InputMaybe; + totalSupply_not_in?: InputMaybe>; + txHash_contains?: InputMaybe; + txHash_containsInsensitive?: InputMaybe; + txHash_endsWith?: InputMaybe; + txHash_eq?: InputMaybe; + txHash_gt?: InputMaybe; + txHash_gte?: InputMaybe; + txHash_in?: InputMaybe>; + txHash_isNull?: InputMaybe; + txHash_lt?: InputMaybe; + txHash_lte?: InputMaybe; + txHash_not_contains?: InputMaybe; + txHash_not_containsInsensitive?: InputMaybe; + txHash_not_endsWith?: InputMaybe; + txHash_not_eq?: InputMaybe; + txHash_not_in?: InputMaybe>; + txHash_not_startsWith?: InputMaybe; + txHash_startsWith?: InputMaybe; + yield_eq?: InputMaybe; + yield_gt?: InputMaybe; + yield_gte?: InputMaybe; + yield_in?: InputMaybe>; + yield_isNull?: InputMaybe; + yield_lt?: InputMaybe; + yield_lte?: InputMaybe; + yield_not_eq?: InputMaybe; + yield_not_in?: InputMaybe>; +}; + +export type OethRebasesConnection = { + __typename?: 'OETHRebasesConnection'; + edges: Array; + pageInfo: PageInfo; + totalCount: Scalars['Int']['output']; +}; + +export type OethRewardTokenCollected = { + __typename?: 'OETHRewardTokenCollected'; + amount: Scalars['BigInt']['output']; + blockNumber: Scalars['Int']['output']; + id: Scalars['String']['output']; + recipient: Scalars['String']['output']; + rewardToken: Scalars['String']['output']; + timestamp: Scalars['DateTime']['output']; +}; + +export type OethRewardTokenCollectedEdge = { + __typename?: 'OETHRewardTokenCollectedEdge'; + cursor: Scalars['String']['output']; + node: OethRewardTokenCollected; +}; + +export enum OethRewardTokenCollectedOrderByInput { + AmountAsc = 'amount_ASC', + AmountAscNullsFirst = 'amount_ASC_NULLS_FIRST', + AmountDesc = 'amount_DESC', + AmountDescNullsLast = 'amount_DESC_NULLS_LAST', + BlockNumberAsc = 'blockNumber_ASC', + BlockNumberAscNullsFirst = 'blockNumber_ASC_NULLS_FIRST', + BlockNumberDesc = 'blockNumber_DESC', + BlockNumberDescNullsLast = 'blockNumber_DESC_NULLS_LAST', + IdAsc = 'id_ASC', + IdAscNullsFirst = 'id_ASC_NULLS_FIRST', + IdDesc = 'id_DESC', + IdDescNullsLast = 'id_DESC_NULLS_LAST', + RecipientAsc = 'recipient_ASC', + RecipientAscNullsFirst = 'recipient_ASC_NULLS_FIRST', + RecipientDesc = 'recipient_DESC', + RecipientDescNullsLast = 'recipient_DESC_NULLS_LAST', + RewardTokenAsc = 'rewardToken_ASC', + RewardTokenAscNullsFirst = 'rewardToken_ASC_NULLS_FIRST', + RewardTokenDesc = 'rewardToken_DESC', + RewardTokenDescNullsLast = 'rewardToken_DESC_NULLS_LAST', + TimestampAsc = 'timestamp_ASC', + TimestampAscNullsFirst = 'timestamp_ASC_NULLS_FIRST', + TimestampDesc = 'timestamp_DESC', + TimestampDescNullsLast = 'timestamp_DESC_NULLS_LAST' +} + +export type OethRewardTokenCollectedWhereInput = { + AND?: InputMaybe>; + OR?: InputMaybe>; + amount_eq?: InputMaybe; + amount_gt?: InputMaybe; + amount_gte?: InputMaybe; + amount_in?: InputMaybe>; + amount_isNull?: InputMaybe; + amount_lt?: InputMaybe; + amount_lte?: InputMaybe; + amount_not_eq?: InputMaybe; + amount_not_in?: InputMaybe>; + blockNumber_eq?: InputMaybe; + blockNumber_gt?: InputMaybe; + blockNumber_gte?: InputMaybe; + blockNumber_in?: InputMaybe>; + blockNumber_isNull?: InputMaybe; + blockNumber_lt?: InputMaybe; + blockNumber_lte?: InputMaybe; + blockNumber_not_eq?: InputMaybe; + blockNumber_not_in?: InputMaybe>; + id_contains?: InputMaybe; + id_containsInsensitive?: InputMaybe; + id_endsWith?: InputMaybe; + id_eq?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_isNull?: InputMaybe; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not_contains?: InputMaybe; + id_not_containsInsensitive?: InputMaybe; + id_not_endsWith?: InputMaybe; + id_not_eq?: InputMaybe; + id_not_in?: InputMaybe>; + id_not_startsWith?: InputMaybe; + id_startsWith?: InputMaybe; + recipient_contains?: InputMaybe; + recipient_containsInsensitive?: InputMaybe; + recipient_endsWith?: InputMaybe; + recipient_eq?: InputMaybe; + recipient_gt?: InputMaybe; + recipient_gte?: InputMaybe; + recipient_in?: InputMaybe>; + recipient_isNull?: InputMaybe; + recipient_lt?: InputMaybe; + recipient_lte?: InputMaybe; + recipient_not_contains?: InputMaybe; + recipient_not_containsInsensitive?: InputMaybe; + recipient_not_endsWith?: InputMaybe; + recipient_not_eq?: InputMaybe; + recipient_not_in?: InputMaybe>; + recipient_not_startsWith?: InputMaybe; + recipient_startsWith?: InputMaybe; + rewardToken_contains?: InputMaybe; + rewardToken_containsInsensitive?: InputMaybe; + rewardToken_endsWith?: InputMaybe; + rewardToken_eq?: InputMaybe; + rewardToken_gt?: InputMaybe; + rewardToken_gte?: InputMaybe; + rewardToken_in?: InputMaybe>; + rewardToken_isNull?: InputMaybe; + rewardToken_lt?: InputMaybe; + rewardToken_lte?: InputMaybe; + rewardToken_not_contains?: InputMaybe; + rewardToken_not_containsInsensitive?: InputMaybe; + rewardToken_not_endsWith?: InputMaybe; + rewardToken_not_eq?: InputMaybe; + rewardToken_not_in?: InputMaybe>; + rewardToken_not_startsWith?: InputMaybe; + rewardToken_startsWith?: InputMaybe; + timestamp_eq?: InputMaybe; + timestamp_gt?: InputMaybe; + timestamp_gte?: InputMaybe; + timestamp_in?: InputMaybe>; + timestamp_isNull?: InputMaybe; + timestamp_lt?: InputMaybe; + timestamp_lte?: InputMaybe; + timestamp_not_eq?: InputMaybe; + timestamp_not_in?: InputMaybe>; +}; + +export type OethRewardTokenCollectedsConnection = { + __typename?: 'OETHRewardTokenCollectedsConnection'; + edges: Array; + pageInfo: PageInfo; + totalCount: Scalars['Int']['output']; +}; + +export type OethStrategyDailyStat = { + __typename?: 'OETHStrategyDailyStat'; + dailyStatId: OethDailyStat; + /** Total ETH value */ + holdings: Array; + id: Scalars['String']['output']; + name: Scalars['String']['output']; + total: Scalars['BigInt']['output']; + /** Sum of tokens in strategy */ + tvl: Scalars['BigInt']['output']; +}; + + +export type OethStrategyDailyStatHoldingsArgs = { + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; +}; + +export type OethStrategyDailyStatEdge = { + __typename?: 'OETHStrategyDailyStatEdge'; + cursor: Scalars['String']['output']; + node: OethStrategyDailyStat; +}; + +export enum OethStrategyDailyStatOrderByInput { + DailyStatIdAmoSupplyAsc = 'dailyStatId_amoSupply_ASC', + DailyStatIdAmoSupplyAscNullsFirst = 'dailyStatId_amoSupply_ASC_NULLS_FIRST', + DailyStatIdAmoSupplyDesc = 'dailyStatId_amoSupply_DESC', + DailyStatIdAmoSupplyDescNullsLast = 'dailyStatId_amoSupply_DESC_NULLS_LAST', + DailyStatIdAprAsc = 'dailyStatId_apr_ASC', + DailyStatIdAprAscNullsFirst = 'dailyStatId_apr_ASC_NULLS_FIRST', + DailyStatIdAprDesc = 'dailyStatId_apr_DESC', + DailyStatIdAprDescNullsLast = 'dailyStatId_apr_DESC_NULLS_LAST', + DailyStatIdApy7DayAvgAsc = 'dailyStatId_apy7DayAvg_ASC', + DailyStatIdApy7DayAvgAscNullsFirst = 'dailyStatId_apy7DayAvg_ASC_NULLS_FIRST', + DailyStatIdApy7DayAvgDesc = 'dailyStatId_apy7DayAvg_DESC', + DailyStatIdApy7DayAvgDescNullsLast = 'dailyStatId_apy7DayAvg_DESC_NULLS_LAST', + DailyStatIdApy14DayAvgAsc = 'dailyStatId_apy14DayAvg_ASC', + DailyStatIdApy14DayAvgAscNullsFirst = 'dailyStatId_apy14DayAvg_ASC_NULLS_FIRST', + DailyStatIdApy14DayAvgDesc = 'dailyStatId_apy14DayAvg_DESC', + DailyStatIdApy14DayAvgDescNullsLast = 'dailyStatId_apy14DayAvg_DESC_NULLS_LAST', + DailyStatIdApy30DayAvgAsc = 'dailyStatId_apy30DayAvg_ASC', + DailyStatIdApy30DayAvgAscNullsFirst = 'dailyStatId_apy30DayAvg_ASC_NULLS_FIRST', + DailyStatIdApy30DayAvgDesc = 'dailyStatId_apy30DayAvg_DESC', + DailyStatIdApy30DayAvgDescNullsLast = 'dailyStatId_apy30DayAvg_DESC_NULLS_LAST', + DailyStatIdApyAsc = 'dailyStatId_apy_ASC', + DailyStatIdApyAscNullsFirst = 'dailyStatId_apy_ASC_NULLS_FIRST', + DailyStatIdApyDesc = 'dailyStatId_apy_DESC', + DailyStatIdApyDescNullsLast = 'dailyStatId_apy_DESC_NULLS_LAST', + DailyStatIdBlockNumberAsc = 'dailyStatId_blockNumber_ASC', + DailyStatIdBlockNumberAscNullsFirst = 'dailyStatId_blockNumber_ASC_NULLS_FIRST', + DailyStatIdBlockNumberDesc = 'dailyStatId_blockNumber_DESC', + DailyStatIdBlockNumberDescNullsLast = 'dailyStatId_blockNumber_DESC_NULLS_LAST', + DailyStatIdDripperWethAsc = 'dailyStatId_dripperWETH_ASC', + DailyStatIdDripperWethAscNullsFirst = 'dailyStatId_dripperWETH_ASC_NULLS_FIRST', + DailyStatIdDripperWethDesc = 'dailyStatId_dripperWETH_DESC', + DailyStatIdDripperWethDescNullsLast = 'dailyStatId_dripperWETH_DESC_NULLS_LAST', + DailyStatIdFeesAsc = 'dailyStatId_fees_ASC', + DailyStatIdFeesAscNullsFirst = 'dailyStatId_fees_ASC_NULLS_FIRST', + DailyStatIdFeesDesc = 'dailyStatId_fees_DESC', + DailyStatIdFeesDescNullsLast = 'dailyStatId_fees_DESC_NULLS_LAST', + DailyStatIdIdAsc = 'dailyStatId_id_ASC', + DailyStatIdIdAscNullsFirst = 'dailyStatId_id_ASC_NULLS_FIRST', + DailyStatIdIdDesc = 'dailyStatId_id_DESC', + DailyStatIdIdDescNullsLast = 'dailyStatId_id_DESC_NULLS_LAST', + DailyStatIdNonRebasingSupplyAsc = 'dailyStatId_nonRebasingSupply_ASC', + DailyStatIdNonRebasingSupplyAscNullsFirst = 'dailyStatId_nonRebasingSupply_ASC_NULLS_FIRST', + DailyStatIdNonRebasingSupplyDesc = 'dailyStatId_nonRebasingSupply_DESC', + DailyStatIdNonRebasingSupplyDescNullsLast = 'dailyStatId_nonRebasingSupply_DESC_NULLS_LAST', + DailyStatIdPegPriceAsc = 'dailyStatId_pegPrice_ASC', + DailyStatIdPegPriceAscNullsFirst = 'dailyStatId_pegPrice_ASC_NULLS_FIRST', + DailyStatIdPegPriceDesc = 'dailyStatId_pegPrice_DESC', + DailyStatIdPegPriceDescNullsLast = 'dailyStatId_pegPrice_DESC_NULLS_LAST', + DailyStatIdRebasingSupplyAsc = 'dailyStatId_rebasingSupply_ASC', + DailyStatIdRebasingSupplyAscNullsFirst = 'dailyStatId_rebasingSupply_ASC_NULLS_FIRST', + DailyStatIdRebasingSupplyDesc = 'dailyStatId_rebasingSupply_DESC', + DailyStatIdRebasingSupplyDescNullsLast = 'dailyStatId_rebasingSupply_DESC_NULLS_LAST', + DailyStatIdRevenue7DayAvgAsc = 'dailyStatId_revenue7DayAvg_ASC', + DailyStatIdRevenue7DayAvgAscNullsFirst = 'dailyStatId_revenue7DayAvg_ASC_NULLS_FIRST', + DailyStatIdRevenue7DayAvgDesc = 'dailyStatId_revenue7DayAvg_DESC', + DailyStatIdRevenue7DayAvgDescNullsLast = 'dailyStatId_revenue7DayAvg_DESC_NULLS_LAST', + DailyStatIdRevenue7DayTotalAsc = 'dailyStatId_revenue7DayTotal_ASC', + DailyStatIdRevenue7DayTotalAscNullsFirst = 'dailyStatId_revenue7DayTotal_ASC_NULLS_FIRST', + DailyStatIdRevenue7DayTotalDesc = 'dailyStatId_revenue7DayTotal_DESC', + DailyStatIdRevenue7DayTotalDescNullsLast = 'dailyStatId_revenue7DayTotal_DESC_NULLS_LAST', + DailyStatIdRevenueAllTimeAsc = 'dailyStatId_revenueAllTime_ASC', + DailyStatIdRevenueAllTimeAscNullsFirst = 'dailyStatId_revenueAllTime_ASC_NULLS_FIRST', + DailyStatIdRevenueAllTimeDesc = 'dailyStatId_revenueAllTime_DESC', + DailyStatIdRevenueAllTimeDescNullsLast = 'dailyStatId_revenueAllTime_DESC_NULLS_LAST', + DailyStatIdRevenueAsc = 'dailyStatId_revenue_ASC', + DailyStatIdRevenueAscNullsFirst = 'dailyStatId_revenue_ASC_NULLS_FIRST', + DailyStatIdRevenueDesc = 'dailyStatId_revenue_DESC', + DailyStatIdRevenueDescNullsLast = 'dailyStatId_revenue_DESC_NULLS_LAST', + DailyStatIdTimestampAsc = 'dailyStatId_timestamp_ASC', + DailyStatIdTimestampAscNullsFirst = 'dailyStatId_timestamp_ASC_NULLS_FIRST', + DailyStatIdTimestampDesc = 'dailyStatId_timestamp_DESC', + DailyStatIdTimestampDescNullsLast = 'dailyStatId_timestamp_DESC_NULLS_LAST', + DailyStatIdTotalSupplyUsdAsc = 'dailyStatId_totalSupplyUSD_ASC', + DailyStatIdTotalSupplyUsdAscNullsFirst = 'dailyStatId_totalSupplyUSD_ASC_NULLS_FIRST', + DailyStatIdTotalSupplyUsdDesc = 'dailyStatId_totalSupplyUSD_DESC', + DailyStatIdTotalSupplyUsdDescNullsLast = 'dailyStatId_totalSupplyUSD_DESC_NULLS_LAST', + DailyStatIdTotalSupplyAsc = 'dailyStatId_totalSupply_ASC', + DailyStatIdTotalSupplyAscNullsFirst = 'dailyStatId_totalSupply_ASC_NULLS_FIRST', + DailyStatIdTotalSupplyDesc = 'dailyStatId_totalSupply_DESC', + DailyStatIdTotalSupplyDescNullsLast = 'dailyStatId_totalSupply_DESC_NULLS_LAST', + DailyStatIdYieldAsc = 'dailyStatId_yield_ASC', + DailyStatIdYieldAscNullsFirst = 'dailyStatId_yield_ASC_NULLS_FIRST', + DailyStatIdYieldDesc = 'dailyStatId_yield_DESC', + DailyStatIdYieldDescNullsLast = 'dailyStatId_yield_DESC_NULLS_LAST', + IdAsc = 'id_ASC', + IdAscNullsFirst = 'id_ASC_NULLS_FIRST', + IdDesc = 'id_DESC', + IdDescNullsLast = 'id_DESC_NULLS_LAST', + NameAsc = 'name_ASC', + NameAscNullsFirst = 'name_ASC_NULLS_FIRST', + NameDesc = 'name_DESC', + NameDescNullsLast = 'name_DESC_NULLS_LAST', + TotalAsc = 'total_ASC', + TotalAscNullsFirst = 'total_ASC_NULLS_FIRST', + TotalDesc = 'total_DESC', + TotalDescNullsLast = 'total_DESC_NULLS_LAST', + TvlAsc = 'tvl_ASC', + TvlAscNullsFirst = 'tvl_ASC_NULLS_FIRST', + TvlDesc = 'tvl_DESC', + TvlDescNullsLast = 'tvl_DESC_NULLS_LAST' +} + +export type OethStrategyDailyStatWhereInput = { + AND?: InputMaybe>; + OR?: InputMaybe>; + dailyStatId?: InputMaybe; + dailyStatId_isNull?: InputMaybe; + holdings_every?: InputMaybe; + holdings_none?: InputMaybe; + holdings_some?: InputMaybe; + id_contains?: InputMaybe; + id_containsInsensitive?: InputMaybe; + id_endsWith?: InputMaybe; + id_eq?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_isNull?: InputMaybe; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not_contains?: InputMaybe; + id_not_containsInsensitive?: InputMaybe; + id_not_endsWith?: InputMaybe; + id_not_eq?: InputMaybe; + id_not_in?: InputMaybe>; + id_not_startsWith?: InputMaybe; + id_startsWith?: InputMaybe; + name_contains?: InputMaybe; + name_containsInsensitive?: InputMaybe; + name_endsWith?: InputMaybe; + name_eq?: InputMaybe; + name_gt?: InputMaybe; + name_gte?: InputMaybe; + name_in?: InputMaybe>; + name_isNull?: InputMaybe; + name_lt?: InputMaybe; + name_lte?: InputMaybe; + name_not_contains?: InputMaybe; + name_not_containsInsensitive?: InputMaybe; + name_not_endsWith?: InputMaybe; + name_not_eq?: InputMaybe; + name_not_in?: InputMaybe>; + name_not_startsWith?: InputMaybe; + name_startsWith?: InputMaybe; + total_eq?: InputMaybe; + total_gt?: InputMaybe; + total_gte?: InputMaybe; + total_in?: InputMaybe>; + total_isNull?: InputMaybe; + total_lt?: InputMaybe; + total_lte?: InputMaybe; + total_not_eq?: InputMaybe; + total_not_in?: InputMaybe>; + tvl_eq?: InputMaybe; + tvl_gt?: InputMaybe; + tvl_gte?: InputMaybe; + tvl_in?: InputMaybe>; + tvl_isNull?: InputMaybe; + tvl_lt?: InputMaybe; + tvl_lte?: InputMaybe; + tvl_not_eq?: InputMaybe; + tvl_not_in?: InputMaybe>; +}; + +export type OethStrategyDailyStatsConnection = { + __typename?: 'OETHStrategyDailyStatsConnection'; + edges: Array; + pageInfo: PageInfo; + totalCount: Scalars['Int']['output']; +}; + +export type OethStrategyHoldingDailyStat = { + __typename?: 'OETHStrategyHoldingDailyStat'; + /** Amount held */ + amount: Scalars['BigInt']['output']; + id: Scalars['String']['output']; + strategyDailyStatId: OethStrategyDailyStat; + /** Token symbol */ + symbol: Scalars['String']['output']; + /** Total ETH value */ + value: Scalars['BigInt']['output']; +}; + +export type OethStrategyHoldingDailyStatEdge = { + __typename?: 'OETHStrategyHoldingDailyStatEdge'; + cursor: Scalars['String']['output']; + node: OethStrategyHoldingDailyStat; +}; + +export enum OethStrategyHoldingDailyStatOrderByInput { + AmountAsc = 'amount_ASC', + AmountAscNullsFirst = 'amount_ASC_NULLS_FIRST', + AmountDesc = 'amount_DESC', + AmountDescNullsLast = 'amount_DESC_NULLS_LAST', + IdAsc = 'id_ASC', + IdAscNullsFirst = 'id_ASC_NULLS_FIRST', + IdDesc = 'id_DESC', + IdDescNullsLast = 'id_DESC_NULLS_LAST', + StrategyDailyStatIdIdAsc = 'strategyDailyStatId_id_ASC', + StrategyDailyStatIdIdAscNullsFirst = 'strategyDailyStatId_id_ASC_NULLS_FIRST', + StrategyDailyStatIdIdDesc = 'strategyDailyStatId_id_DESC', + StrategyDailyStatIdIdDescNullsLast = 'strategyDailyStatId_id_DESC_NULLS_LAST', + StrategyDailyStatIdNameAsc = 'strategyDailyStatId_name_ASC', + StrategyDailyStatIdNameAscNullsFirst = 'strategyDailyStatId_name_ASC_NULLS_FIRST', + StrategyDailyStatIdNameDesc = 'strategyDailyStatId_name_DESC', + StrategyDailyStatIdNameDescNullsLast = 'strategyDailyStatId_name_DESC_NULLS_LAST', + StrategyDailyStatIdTotalAsc = 'strategyDailyStatId_total_ASC', + StrategyDailyStatIdTotalAscNullsFirst = 'strategyDailyStatId_total_ASC_NULLS_FIRST', + StrategyDailyStatIdTotalDesc = 'strategyDailyStatId_total_DESC', + StrategyDailyStatIdTotalDescNullsLast = 'strategyDailyStatId_total_DESC_NULLS_LAST', + StrategyDailyStatIdTvlAsc = 'strategyDailyStatId_tvl_ASC', + StrategyDailyStatIdTvlAscNullsFirst = 'strategyDailyStatId_tvl_ASC_NULLS_FIRST', + StrategyDailyStatIdTvlDesc = 'strategyDailyStatId_tvl_DESC', + StrategyDailyStatIdTvlDescNullsLast = 'strategyDailyStatId_tvl_DESC_NULLS_LAST', + SymbolAsc = 'symbol_ASC', + SymbolAscNullsFirst = 'symbol_ASC_NULLS_FIRST', + SymbolDesc = 'symbol_DESC', + SymbolDescNullsLast = 'symbol_DESC_NULLS_LAST', + ValueAsc = 'value_ASC', + ValueAscNullsFirst = 'value_ASC_NULLS_FIRST', + ValueDesc = 'value_DESC', + ValueDescNullsLast = 'value_DESC_NULLS_LAST' +} + +export type OethStrategyHoldingDailyStatWhereInput = { + AND?: InputMaybe>; + OR?: InputMaybe>; + amount_eq?: InputMaybe; + amount_gt?: InputMaybe; + amount_gte?: InputMaybe; + amount_in?: InputMaybe>; + amount_isNull?: InputMaybe; + amount_lt?: InputMaybe; + amount_lte?: InputMaybe; + amount_not_eq?: InputMaybe; + amount_not_in?: InputMaybe>; + id_contains?: InputMaybe; + id_containsInsensitive?: InputMaybe; + id_endsWith?: InputMaybe; + id_eq?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_isNull?: InputMaybe; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not_contains?: InputMaybe; + id_not_containsInsensitive?: InputMaybe; + id_not_endsWith?: InputMaybe; + id_not_eq?: InputMaybe; + id_not_in?: InputMaybe>; + id_not_startsWith?: InputMaybe; + id_startsWith?: InputMaybe; + strategyDailyStatId?: InputMaybe; + strategyDailyStatId_isNull?: InputMaybe; + symbol_contains?: InputMaybe; + symbol_containsInsensitive?: InputMaybe; + symbol_endsWith?: InputMaybe; + symbol_eq?: InputMaybe; + symbol_gt?: InputMaybe; + symbol_gte?: InputMaybe; + symbol_in?: InputMaybe>; + symbol_isNull?: InputMaybe; + symbol_lt?: InputMaybe; + symbol_lte?: InputMaybe; + symbol_not_contains?: InputMaybe; + symbol_not_containsInsensitive?: InputMaybe; + symbol_not_endsWith?: InputMaybe; + symbol_not_eq?: InputMaybe; + symbol_not_in?: InputMaybe>; + symbol_not_startsWith?: InputMaybe; + symbol_startsWith?: InputMaybe; + value_eq?: InputMaybe; + value_gt?: InputMaybe; + value_gte?: InputMaybe; + value_in?: InputMaybe>; + value_isNull?: InputMaybe; + value_lt?: InputMaybe; + value_lte?: InputMaybe; + value_not_eq?: InputMaybe; + value_not_in?: InputMaybe>; +}; + +export type OethStrategyHoldingDailyStatsConnection = { + __typename?: 'OETHStrategyHoldingDailyStatsConnection'; + edges: Array; + pageInfo: PageInfo; + totalCount: Scalars['Int']['output']; +}; + +/** The Vault entity tracks the OETH vault balance over time. */ +export type OethVault = { + __typename?: 'OETHVault'; + blockNumber: Scalars['Int']['output']; + frxETH: Scalars['BigInt']['output']; + id: Scalars['String']['output']; + rETH: Scalars['BigInt']['output']; + stETH: Scalars['BigInt']['output']; + timestamp: Scalars['DateTime']['output']; + weth: Scalars['BigInt']['output']; +}; + +export type OethVaultEdge = { + __typename?: 'OETHVaultEdge'; + cursor: Scalars['String']['output']; + node: OethVault; +}; + +export enum OethVaultOrderByInput { + BlockNumberAsc = 'blockNumber_ASC', + BlockNumberAscNullsFirst = 'blockNumber_ASC_NULLS_FIRST', + BlockNumberDesc = 'blockNumber_DESC', + BlockNumberDescNullsLast = 'blockNumber_DESC_NULLS_LAST', + FrxEthAsc = 'frxETH_ASC', + FrxEthAscNullsFirst = 'frxETH_ASC_NULLS_FIRST', + FrxEthDesc = 'frxETH_DESC', + FrxEthDescNullsLast = 'frxETH_DESC_NULLS_LAST', + IdAsc = 'id_ASC', + IdAscNullsFirst = 'id_ASC_NULLS_FIRST', + IdDesc = 'id_DESC', + IdDescNullsLast = 'id_DESC_NULLS_LAST', + REthAsc = 'rETH_ASC', + REthAscNullsFirst = 'rETH_ASC_NULLS_FIRST', + REthDesc = 'rETH_DESC', + REthDescNullsLast = 'rETH_DESC_NULLS_LAST', + StEthAsc = 'stETH_ASC', + StEthAscNullsFirst = 'stETH_ASC_NULLS_FIRST', + StEthDesc = 'stETH_DESC', + StEthDescNullsLast = 'stETH_DESC_NULLS_LAST', + TimestampAsc = 'timestamp_ASC', + TimestampAscNullsFirst = 'timestamp_ASC_NULLS_FIRST', + TimestampDesc = 'timestamp_DESC', + TimestampDescNullsLast = 'timestamp_DESC_NULLS_LAST', + WethAsc = 'weth_ASC', + WethAscNullsFirst = 'weth_ASC_NULLS_FIRST', + WethDesc = 'weth_DESC', + WethDescNullsLast = 'weth_DESC_NULLS_LAST' +} + +export type OethVaultWhereInput = { + AND?: InputMaybe>; + OR?: InputMaybe>; + blockNumber_eq?: InputMaybe; + blockNumber_gt?: InputMaybe; + blockNumber_gte?: InputMaybe; + blockNumber_in?: InputMaybe>; + blockNumber_isNull?: InputMaybe; + blockNumber_lt?: InputMaybe; + blockNumber_lte?: InputMaybe; + blockNumber_not_eq?: InputMaybe; + blockNumber_not_in?: InputMaybe>; + frxETH_eq?: InputMaybe; + frxETH_gt?: InputMaybe; + frxETH_gte?: InputMaybe; + frxETH_in?: InputMaybe>; + frxETH_isNull?: InputMaybe; + frxETH_lt?: InputMaybe; + frxETH_lte?: InputMaybe; + frxETH_not_eq?: InputMaybe; + frxETH_not_in?: InputMaybe>; + id_contains?: InputMaybe; + id_containsInsensitive?: InputMaybe; + id_endsWith?: InputMaybe; + id_eq?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_isNull?: InputMaybe; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not_contains?: InputMaybe; + id_not_containsInsensitive?: InputMaybe; + id_not_endsWith?: InputMaybe; + id_not_eq?: InputMaybe; + id_not_in?: InputMaybe>; + id_not_startsWith?: InputMaybe; + id_startsWith?: InputMaybe; + rETH_eq?: InputMaybe; + rETH_gt?: InputMaybe; + rETH_gte?: InputMaybe; + rETH_in?: InputMaybe>; + rETH_isNull?: InputMaybe; + rETH_lt?: InputMaybe; + rETH_lte?: InputMaybe; + rETH_not_eq?: InputMaybe; + rETH_not_in?: InputMaybe>; + stETH_eq?: InputMaybe; + stETH_gt?: InputMaybe; + stETH_gte?: InputMaybe; + stETH_in?: InputMaybe>; + stETH_isNull?: InputMaybe; + stETH_lt?: InputMaybe; + stETH_lte?: InputMaybe; + stETH_not_eq?: InputMaybe; + stETH_not_in?: InputMaybe>; + timestamp_eq?: InputMaybe; + timestamp_gt?: InputMaybe; + timestamp_gte?: InputMaybe; + timestamp_in?: InputMaybe>; + timestamp_isNull?: InputMaybe; + timestamp_lt?: InputMaybe; + timestamp_lte?: InputMaybe; + timestamp_not_eq?: InputMaybe; + timestamp_not_in?: InputMaybe>; + weth_eq?: InputMaybe; + weth_gt?: InputMaybe; + weth_gte?: InputMaybe; + weth_in?: InputMaybe>; + weth_isNull?: InputMaybe; + weth_lt?: InputMaybe; + weth_lte?: InputMaybe; + weth_not_eq?: InputMaybe; + weth_not_in?: InputMaybe>; +}; + +export type OethVaultsConnection = { + __typename?: 'OETHVaultsConnection'; + edges: Array; + pageInfo: PageInfo; + totalCount: Scalars['Int']['output']; +}; + +export type OethWhereInput = { + AND?: InputMaybe>; + OR?: InputMaybe>; + blockNumber_eq?: InputMaybe; + blockNumber_gt?: InputMaybe; + blockNumber_gte?: InputMaybe; + blockNumber_in?: InputMaybe>; + blockNumber_isNull?: InputMaybe; + blockNumber_lt?: InputMaybe; + blockNumber_lte?: InputMaybe; + blockNumber_not_eq?: InputMaybe; + blockNumber_not_in?: InputMaybe>; + id_contains?: InputMaybe; + id_containsInsensitive?: InputMaybe; + id_endsWith?: InputMaybe; + id_eq?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_isNull?: InputMaybe; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not_contains?: InputMaybe; + id_not_containsInsensitive?: InputMaybe; + id_not_endsWith?: InputMaybe; + id_not_eq?: InputMaybe; + id_not_in?: InputMaybe>; + id_not_startsWith?: InputMaybe; + id_startsWith?: InputMaybe; + nonRebasingSupply_eq?: InputMaybe; + nonRebasingSupply_gt?: InputMaybe; + nonRebasingSupply_gte?: InputMaybe; + nonRebasingSupply_in?: InputMaybe>; + nonRebasingSupply_isNull?: InputMaybe; + nonRebasingSupply_lt?: InputMaybe; + nonRebasingSupply_lte?: InputMaybe; + nonRebasingSupply_not_eq?: InputMaybe; + nonRebasingSupply_not_in?: InputMaybe>; + rebasingSupply_eq?: InputMaybe; + rebasingSupply_gt?: InputMaybe; + rebasingSupply_gte?: InputMaybe; + rebasingSupply_in?: InputMaybe>; + rebasingSupply_isNull?: InputMaybe; + rebasingSupply_lt?: InputMaybe; + rebasingSupply_lte?: InputMaybe; + rebasingSupply_not_eq?: InputMaybe; + rebasingSupply_not_in?: InputMaybe>; + timestamp_eq?: InputMaybe; + timestamp_gt?: InputMaybe; + timestamp_gte?: InputMaybe; + timestamp_in?: InputMaybe>; + timestamp_isNull?: InputMaybe; + timestamp_lt?: InputMaybe; + timestamp_lte?: InputMaybe; + timestamp_not_eq?: InputMaybe; + timestamp_not_in?: InputMaybe>; + totalSupply_eq?: InputMaybe; + totalSupply_gt?: InputMaybe; + totalSupply_gte?: InputMaybe; + totalSupply_in?: InputMaybe>; + totalSupply_isNull?: InputMaybe; + totalSupply_lt?: InputMaybe; + totalSupply_lte?: InputMaybe; + totalSupply_not_eq?: InputMaybe; + totalSupply_not_in?: InputMaybe>; +}; + +export type OetHsConnection = { + __typename?: 'OETHsConnection'; + edges: Array; + pageInfo: PageInfo; + totalCount: Scalars['Int']['output']; +}; + +export type Ogv = { + __typename?: 'OGV'; + blockNumber: Scalars['Int']['output']; + circulating: Scalars['BigInt']['output']; + id: Scalars['String']['output']; + timestamp: Scalars['DateTime']['output']; + total: Scalars['BigInt']['output']; +}; + +export type OgvEdge = { + __typename?: 'OGVEdge'; + cursor: Scalars['String']['output']; + node: Ogv; +}; + +export type OgvGovernance = { + __typename?: 'OGVGovernance'; + blockNumber: Scalars['Int']['output']; + id: Scalars['String']['output']; + improvementProposals: Scalars['Int']['output']; + openSourceContributors: Scalars['Int']['output']; + registeredVoters: Scalars['Int']['output']; + timestamp: Scalars['DateTime']['output']; +}; + +export type OgvGovernanceEdge = { + __typename?: 'OGVGovernanceEdge'; + cursor: Scalars['String']['output']; + node: OgvGovernance; +}; + +export enum OgvGovernanceOrderByInput { + BlockNumberAsc = 'blockNumber_ASC', + BlockNumberAscNullsFirst = 'blockNumber_ASC_NULLS_FIRST', + BlockNumberDesc = 'blockNumber_DESC', + BlockNumberDescNullsLast = 'blockNumber_DESC_NULLS_LAST', + IdAsc = 'id_ASC', + IdAscNullsFirst = 'id_ASC_NULLS_FIRST', + IdDesc = 'id_DESC', + IdDescNullsLast = 'id_DESC_NULLS_LAST', + ImprovementProposalsAsc = 'improvementProposals_ASC', + ImprovementProposalsAscNullsFirst = 'improvementProposals_ASC_NULLS_FIRST', + ImprovementProposalsDesc = 'improvementProposals_DESC', + ImprovementProposalsDescNullsLast = 'improvementProposals_DESC_NULLS_LAST', + OpenSourceContributorsAsc = 'openSourceContributors_ASC', + OpenSourceContributorsAscNullsFirst = 'openSourceContributors_ASC_NULLS_FIRST', + OpenSourceContributorsDesc = 'openSourceContributors_DESC', + OpenSourceContributorsDescNullsLast = 'openSourceContributors_DESC_NULLS_LAST', + RegisteredVotersAsc = 'registeredVoters_ASC', + RegisteredVotersAscNullsFirst = 'registeredVoters_ASC_NULLS_FIRST', + RegisteredVotersDesc = 'registeredVoters_DESC', + RegisteredVotersDescNullsLast = 'registeredVoters_DESC_NULLS_LAST', + TimestampAsc = 'timestamp_ASC', + TimestampAscNullsFirst = 'timestamp_ASC_NULLS_FIRST', + TimestampDesc = 'timestamp_DESC', + TimestampDescNullsLast = 'timestamp_DESC_NULLS_LAST' +} + +export type OgvGovernanceWhereInput = { + AND?: InputMaybe>; + OR?: InputMaybe>; + blockNumber_eq?: InputMaybe; + blockNumber_gt?: InputMaybe; + blockNumber_gte?: InputMaybe; + blockNumber_in?: InputMaybe>; + blockNumber_isNull?: InputMaybe; + blockNumber_lt?: InputMaybe; + blockNumber_lte?: InputMaybe; + blockNumber_not_eq?: InputMaybe; + blockNumber_not_in?: InputMaybe>; + id_contains?: InputMaybe; + id_containsInsensitive?: InputMaybe; + id_endsWith?: InputMaybe; + id_eq?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_isNull?: InputMaybe; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not_contains?: InputMaybe; + id_not_containsInsensitive?: InputMaybe; + id_not_endsWith?: InputMaybe; + id_not_eq?: InputMaybe; + id_not_in?: InputMaybe>; + id_not_startsWith?: InputMaybe; + id_startsWith?: InputMaybe; + improvementProposals_eq?: InputMaybe; + improvementProposals_gt?: InputMaybe; + improvementProposals_gte?: InputMaybe; + improvementProposals_in?: InputMaybe>; + improvementProposals_isNull?: InputMaybe; + improvementProposals_lt?: InputMaybe; + improvementProposals_lte?: InputMaybe; + improvementProposals_not_eq?: InputMaybe; + improvementProposals_not_in?: InputMaybe>; + openSourceContributors_eq?: InputMaybe; + openSourceContributors_gt?: InputMaybe; + openSourceContributors_gte?: InputMaybe; + openSourceContributors_in?: InputMaybe>; + openSourceContributors_isNull?: InputMaybe; + openSourceContributors_lt?: InputMaybe; + openSourceContributors_lte?: InputMaybe; + openSourceContributors_not_eq?: InputMaybe; + openSourceContributors_not_in?: InputMaybe>; + registeredVoters_eq?: InputMaybe; + registeredVoters_gt?: InputMaybe; + registeredVoters_gte?: InputMaybe; + registeredVoters_in?: InputMaybe>; + registeredVoters_isNull?: InputMaybe; + registeredVoters_lt?: InputMaybe; + registeredVoters_lte?: InputMaybe; + registeredVoters_not_eq?: InputMaybe; + registeredVoters_not_in?: InputMaybe>; + timestamp_eq?: InputMaybe; + timestamp_gt?: InputMaybe; + timestamp_gte?: InputMaybe; + timestamp_in?: InputMaybe>; + timestamp_isNull?: InputMaybe; + timestamp_lt?: InputMaybe; + timestamp_lte?: InputMaybe; + timestamp_not_eq?: InputMaybe; + timestamp_not_in?: InputMaybe>; +}; + +export type OgvGovernancesConnection = { + __typename?: 'OGVGovernancesConnection'; + edges: Array; + pageInfo: PageInfo; + totalCount: Scalars['Int']['output']; +}; + +export enum OgvOrderByInput { + BlockNumberAsc = 'blockNumber_ASC', + BlockNumberAscNullsFirst = 'blockNumber_ASC_NULLS_FIRST', + BlockNumberDesc = 'blockNumber_DESC', + BlockNumberDescNullsLast = 'blockNumber_DESC_NULLS_LAST', + CirculatingAsc = 'circulating_ASC', + CirculatingAscNullsFirst = 'circulating_ASC_NULLS_FIRST', + CirculatingDesc = 'circulating_DESC', + CirculatingDescNullsLast = 'circulating_DESC_NULLS_LAST', + IdAsc = 'id_ASC', + IdAscNullsFirst = 'id_ASC_NULLS_FIRST', + IdDesc = 'id_DESC', + IdDescNullsLast = 'id_DESC_NULLS_LAST', + TimestampAsc = 'timestamp_ASC', + TimestampAscNullsFirst = 'timestamp_ASC_NULLS_FIRST', + TimestampDesc = 'timestamp_DESC', + TimestampDescNullsLast = 'timestamp_DESC_NULLS_LAST', + TotalAsc = 'total_ASC', + TotalAscNullsFirst = 'total_ASC_NULLS_FIRST', + TotalDesc = 'total_DESC', + TotalDescNullsLast = 'total_DESC_NULLS_LAST' +} + +export type OgvWhereInput = { + AND?: InputMaybe>; + OR?: InputMaybe>; + blockNumber_eq?: InputMaybe; + blockNumber_gt?: InputMaybe; + blockNumber_gte?: InputMaybe; + blockNumber_in?: InputMaybe>; + blockNumber_isNull?: InputMaybe; + blockNumber_lt?: InputMaybe; + blockNumber_lte?: InputMaybe; + blockNumber_not_eq?: InputMaybe; + blockNumber_not_in?: InputMaybe>; + circulating_eq?: InputMaybe; + circulating_gt?: InputMaybe; + circulating_gte?: InputMaybe; + circulating_in?: InputMaybe>; + circulating_isNull?: InputMaybe; + circulating_lt?: InputMaybe; + circulating_lte?: InputMaybe; + circulating_not_eq?: InputMaybe; + circulating_not_in?: InputMaybe>; + id_contains?: InputMaybe; + id_containsInsensitive?: InputMaybe; + id_endsWith?: InputMaybe; + id_eq?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_isNull?: InputMaybe; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not_contains?: InputMaybe; + id_not_containsInsensitive?: InputMaybe; + id_not_endsWith?: InputMaybe; + id_not_eq?: InputMaybe; + id_not_in?: InputMaybe>; + id_not_startsWith?: InputMaybe; + id_startsWith?: InputMaybe; + timestamp_eq?: InputMaybe; + timestamp_gt?: InputMaybe; + timestamp_gte?: InputMaybe; + timestamp_in?: InputMaybe>; + timestamp_isNull?: InputMaybe; + timestamp_lt?: InputMaybe; + timestamp_lte?: InputMaybe; + timestamp_not_eq?: InputMaybe; + timestamp_not_in?: InputMaybe>; + total_eq?: InputMaybe; + total_gt?: InputMaybe; + total_gte?: InputMaybe; + total_in?: InputMaybe>; + total_isNull?: InputMaybe; + total_lt?: InputMaybe; + total_lte?: InputMaybe; + total_not_eq?: InputMaybe; + total_not_in?: InputMaybe>; +}; + +export type OgVsConnection = { + __typename?: 'OGVsConnection'; + edges: Array; + pageInfo: PageInfo; + totalCount: Scalars['Int']['output']; +}; + +/** The OUSD entity tracks the change in total supply of OUSD over time. */ +export type Ousd = { + __typename?: 'OUSD'; + blockNumber: Scalars['Int']['output']; + id: Scalars['String']['output']; + nonRebasingSupply: Scalars['BigInt']['output']; + rebasingSupply: Scalars['BigInt']['output']; + timestamp: Scalars['DateTime']['output']; + totalSupply: Scalars['BigInt']['output']; +}; + +/** The APY entity tracks historical APY values by day. */ +export type Ousdapy = { + __typename?: 'OUSDAPY'; + apr: Scalars['Float']['output']; + apy: Scalars['Float']['output']; + apy7DayAvg: Scalars['Float']['output']; + apy14DayAvg: Scalars['Float']['output']; + apy30DayAvg: Scalars['Float']['output']; + blockNumber: Scalars['Int']['output']; + id: Scalars['String']['output']; + rebasingCreditsPerToken: Scalars['BigInt']['output']; + timestamp: Scalars['DateTime']['output']; + txHash: Scalars['String']['output']; +}; + +export type OusdapyEdge = { + __typename?: 'OUSDAPYEdge'; + cursor: Scalars['String']['output']; + node: Ousdapy; +}; + +export enum OusdapyOrderByInput { + AprAsc = 'apr_ASC', + AprAscNullsFirst = 'apr_ASC_NULLS_FIRST', + AprDesc = 'apr_DESC', + AprDescNullsLast = 'apr_DESC_NULLS_LAST', + Apy7DayAvgAsc = 'apy7DayAvg_ASC', + Apy7DayAvgAscNullsFirst = 'apy7DayAvg_ASC_NULLS_FIRST', + Apy7DayAvgDesc = 'apy7DayAvg_DESC', + Apy7DayAvgDescNullsLast = 'apy7DayAvg_DESC_NULLS_LAST', + Apy14DayAvgAsc = 'apy14DayAvg_ASC', + Apy14DayAvgAscNullsFirst = 'apy14DayAvg_ASC_NULLS_FIRST', + Apy14DayAvgDesc = 'apy14DayAvg_DESC', + Apy14DayAvgDescNullsLast = 'apy14DayAvg_DESC_NULLS_LAST', + Apy30DayAvgAsc = 'apy30DayAvg_ASC', + Apy30DayAvgAscNullsFirst = 'apy30DayAvg_ASC_NULLS_FIRST', + Apy30DayAvgDesc = 'apy30DayAvg_DESC', + Apy30DayAvgDescNullsLast = 'apy30DayAvg_DESC_NULLS_LAST', + ApyAsc = 'apy_ASC', + ApyAscNullsFirst = 'apy_ASC_NULLS_FIRST', + ApyDesc = 'apy_DESC', + ApyDescNullsLast = 'apy_DESC_NULLS_LAST', + BlockNumberAsc = 'blockNumber_ASC', + BlockNumberAscNullsFirst = 'blockNumber_ASC_NULLS_FIRST', + BlockNumberDesc = 'blockNumber_DESC', + BlockNumberDescNullsLast = 'blockNumber_DESC_NULLS_LAST', + IdAsc = 'id_ASC', + IdAscNullsFirst = 'id_ASC_NULLS_FIRST', + IdDesc = 'id_DESC', + IdDescNullsLast = 'id_DESC_NULLS_LAST', + RebasingCreditsPerTokenAsc = 'rebasingCreditsPerToken_ASC', + RebasingCreditsPerTokenAscNullsFirst = 'rebasingCreditsPerToken_ASC_NULLS_FIRST', + RebasingCreditsPerTokenDesc = 'rebasingCreditsPerToken_DESC', + RebasingCreditsPerTokenDescNullsLast = 'rebasingCreditsPerToken_DESC_NULLS_LAST', + TimestampAsc = 'timestamp_ASC', + TimestampAscNullsFirst = 'timestamp_ASC_NULLS_FIRST', + TimestampDesc = 'timestamp_DESC', + TimestampDescNullsLast = 'timestamp_DESC_NULLS_LAST', + TxHashAsc = 'txHash_ASC', + TxHashAscNullsFirst = 'txHash_ASC_NULLS_FIRST', + TxHashDesc = 'txHash_DESC', + TxHashDescNullsLast = 'txHash_DESC_NULLS_LAST' +} + +export type OusdapyWhereInput = { + AND?: InputMaybe>; + OR?: InputMaybe>; + apr_eq?: InputMaybe; + apr_gt?: InputMaybe; + apr_gte?: InputMaybe; + apr_in?: InputMaybe>; + apr_isNull?: InputMaybe; + apr_lt?: InputMaybe; + apr_lte?: InputMaybe; + apr_not_eq?: InputMaybe; + apr_not_in?: InputMaybe>; + apy7DayAvg_eq?: InputMaybe; + apy7DayAvg_gt?: InputMaybe; + apy7DayAvg_gte?: InputMaybe; + apy7DayAvg_in?: InputMaybe>; + apy7DayAvg_isNull?: InputMaybe; + apy7DayAvg_lt?: InputMaybe; + apy7DayAvg_lte?: InputMaybe; + apy7DayAvg_not_eq?: InputMaybe; + apy7DayAvg_not_in?: InputMaybe>; + apy14DayAvg_eq?: InputMaybe; + apy14DayAvg_gt?: InputMaybe; + apy14DayAvg_gte?: InputMaybe; + apy14DayAvg_in?: InputMaybe>; + apy14DayAvg_isNull?: InputMaybe; + apy14DayAvg_lt?: InputMaybe; + apy14DayAvg_lte?: InputMaybe; + apy14DayAvg_not_eq?: InputMaybe; + apy14DayAvg_not_in?: InputMaybe>; + apy30DayAvg_eq?: InputMaybe; + apy30DayAvg_gt?: InputMaybe; + apy30DayAvg_gte?: InputMaybe; + apy30DayAvg_in?: InputMaybe>; + apy30DayAvg_isNull?: InputMaybe; + apy30DayAvg_lt?: InputMaybe; + apy30DayAvg_lte?: InputMaybe; + apy30DayAvg_not_eq?: InputMaybe; + apy30DayAvg_not_in?: InputMaybe>; + apy_eq?: InputMaybe; + apy_gt?: InputMaybe; + apy_gte?: InputMaybe; + apy_in?: InputMaybe>; + apy_isNull?: InputMaybe; + apy_lt?: InputMaybe; + apy_lte?: InputMaybe; + apy_not_eq?: InputMaybe; + apy_not_in?: InputMaybe>; + blockNumber_eq?: InputMaybe; + blockNumber_gt?: InputMaybe; + blockNumber_gte?: InputMaybe; + blockNumber_in?: InputMaybe>; + blockNumber_isNull?: InputMaybe; + blockNumber_lt?: InputMaybe; + blockNumber_lte?: InputMaybe; + blockNumber_not_eq?: InputMaybe; + blockNumber_not_in?: InputMaybe>; + id_contains?: InputMaybe; + id_containsInsensitive?: InputMaybe; + id_endsWith?: InputMaybe; + id_eq?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_isNull?: InputMaybe; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not_contains?: InputMaybe; + id_not_containsInsensitive?: InputMaybe; + id_not_endsWith?: InputMaybe; + id_not_eq?: InputMaybe; + id_not_in?: InputMaybe>; + id_not_startsWith?: InputMaybe; + id_startsWith?: InputMaybe; + rebasingCreditsPerToken_eq?: InputMaybe; + rebasingCreditsPerToken_gt?: InputMaybe; + rebasingCreditsPerToken_gte?: InputMaybe; + rebasingCreditsPerToken_in?: InputMaybe>; + rebasingCreditsPerToken_isNull?: InputMaybe; + rebasingCreditsPerToken_lt?: InputMaybe; + rebasingCreditsPerToken_lte?: InputMaybe; + rebasingCreditsPerToken_not_eq?: InputMaybe; + rebasingCreditsPerToken_not_in?: InputMaybe>; + timestamp_eq?: InputMaybe; + timestamp_gt?: InputMaybe; + timestamp_gte?: InputMaybe; + timestamp_in?: InputMaybe>; + timestamp_isNull?: InputMaybe; + timestamp_lt?: InputMaybe; + timestamp_lte?: InputMaybe; + timestamp_not_eq?: InputMaybe; + timestamp_not_in?: InputMaybe>; + txHash_contains?: InputMaybe; + txHash_containsInsensitive?: InputMaybe; + txHash_endsWith?: InputMaybe; + txHash_eq?: InputMaybe; + txHash_gt?: InputMaybe; + txHash_gte?: InputMaybe; + txHash_in?: InputMaybe>; + txHash_isNull?: InputMaybe; + txHash_lt?: InputMaybe; + txHash_lte?: InputMaybe; + txHash_not_contains?: InputMaybe; + txHash_not_containsInsensitive?: InputMaybe; + txHash_not_endsWith?: InputMaybe; + txHash_not_eq?: InputMaybe; + txHash_not_in?: InputMaybe>; + txHash_not_startsWith?: InputMaybe; + txHash_startsWith?: InputMaybe; +}; + +export type OusdaPiesConnection = { + __typename?: 'OUSDAPiesConnection'; + edges: Array; + pageInfo: PageInfo; + totalCount: Scalars['Int']['output']; +}; + +export type OusdAaveStrategiesConnection = { + __typename?: 'OUSDAaveStrategiesConnection'; + edges: Array; + pageInfo: PageInfo; + totalCount: Scalars['Int']['output']; +}; + +export type OusdAaveStrategy = { + __typename?: 'OUSDAaveStrategy'; + blockNumber: Scalars['Int']['output']; + dai: Scalars['BigInt']['output']; + id: Scalars['String']['output']; + timestamp: Scalars['DateTime']['output']; + usdc: Scalars['BigInt']['output']; + usdt: Scalars['BigInt']['output']; +}; + +export type OusdAaveStrategyEdge = { + __typename?: 'OUSDAaveStrategyEdge'; + cursor: Scalars['String']['output']; + node: OusdAaveStrategy; +}; + +export enum OusdAaveStrategyOrderByInput { + BlockNumberAsc = 'blockNumber_ASC', + BlockNumberAscNullsFirst = 'blockNumber_ASC_NULLS_FIRST', + BlockNumberDesc = 'blockNumber_DESC', + BlockNumberDescNullsLast = 'blockNumber_DESC_NULLS_LAST', + DaiAsc = 'dai_ASC', + DaiAscNullsFirst = 'dai_ASC_NULLS_FIRST', + DaiDesc = 'dai_DESC', + DaiDescNullsLast = 'dai_DESC_NULLS_LAST', + IdAsc = 'id_ASC', + IdAscNullsFirst = 'id_ASC_NULLS_FIRST', + IdDesc = 'id_DESC', + IdDescNullsLast = 'id_DESC_NULLS_LAST', + TimestampAsc = 'timestamp_ASC', + TimestampAscNullsFirst = 'timestamp_ASC_NULLS_FIRST', + TimestampDesc = 'timestamp_DESC', + TimestampDescNullsLast = 'timestamp_DESC_NULLS_LAST', + UsdcAsc = 'usdc_ASC', + UsdcAscNullsFirst = 'usdc_ASC_NULLS_FIRST', + UsdcDesc = 'usdc_DESC', + UsdcDescNullsLast = 'usdc_DESC_NULLS_LAST', + UsdtAsc = 'usdt_ASC', + UsdtAscNullsFirst = 'usdt_ASC_NULLS_FIRST', + UsdtDesc = 'usdt_DESC', + UsdtDescNullsLast = 'usdt_DESC_NULLS_LAST' +} + +export type OusdAaveStrategyWhereInput = { + AND?: InputMaybe>; + OR?: InputMaybe>; + blockNumber_eq?: InputMaybe; + blockNumber_gt?: InputMaybe; + blockNumber_gte?: InputMaybe; + blockNumber_in?: InputMaybe>; + blockNumber_isNull?: InputMaybe; + blockNumber_lt?: InputMaybe; + blockNumber_lte?: InputMaybe; + blockNumber_not_eq?: InputMaybe; + blockNumber_not_in?: InputMaybe>; + dai_eq?: InputMaybe; + dai_gt?: InputMaybe; + dai_gte?: InputMaybe; + dai_in?: InputMaybe>; + dai_isNull?: InputMaybe; + dai_lt?: InputMaybe; + dai_lte?: InputMaybe; + dai_not_eq?: InputMaybe; + dai_not_in?: InputMaybe>; + id_contains?: InputMaybe; + id_containsInsensitive?: InputMaybe; + id_endsWith?: InputMaybe; + id_eq?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_isNull?: InputMaybe; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not_contains?: InputMaybe; + id_not_containsInsensitive?: InputMaybe; + id_not_endsWith?: InputMaybe; + id_not_eq?: InputMaybe; + id_not_in?: InputMaybe>; + id_not_startsWith?: InputMaybe; + id_startsWith?: InputMaybe; + timestamp_eq?: InputMaybe; + timestamp_gt?: InputMaybe; + timestamp_gte?: InputMaybe; + timestamp_in?: InputMaybe>; + timestamp_isNull?: InputMaybe; + timestamp_lt?: InputMaybe; + timestamp_lte?: InputMaybe; + timestamp_not_eq?: InputMaybe; + timestamp_not_in?: InputMaybe>; + usdc_eq?: InputMaybe; + usdc_gt?: InputMaybe; + usdc_gte?: InputMaybe; + usdc_in?: InputMaybe>; + usdc_isNull?: InputMaybe; + usdc_lt?: InputMaybe; + usdc_lte?: InputMaybe; + usdc_not_eq?: InputMaybe; + usdc_not_in?: InputMaybe>; + usdt_eq?: InputMaybe; + usdt_gt?: InputMaybe; + usdt_gte?: InputMaybe; + usdt_in?: InputMaybe>; + usdt_isNull?: InputMaybe; + usdt_lt?: InputMaybe; + usdt_lte?: InputMaybe; + usdt_not_eq?: InputMaybe; + usdt_not_in?: InputMaybe>; +}; + +/** The OUSD balance, history and other information for a given address. */ +export type OusdAddress = { + __typename?: 'OUSDAddress'; + balance: Scalars['BigInt']['output']; + credits: Scalars['BigInt']['output']; + earned: Scalars['BigInt']['output']; + history: Array; + id: Scalars['String']['output']; + isContract: Scalars['Boolean']['output']; + lastUpdated: Scalars['DateTime']['output']; + rebasingOption: RebasingOption; +}; + + +/** The OUSD balance, history and other information for a given address. */ +export type OusdAddressHistoryArgs = { + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; +}; + +export type OusdAddressEdge = { + __typename?: 'OUSDAddressEdge'; + cursor: Scalars['String']['output']; + node: OusdAddress; +}; + +export enum OusdAddressOrderByInput { + BalanceAsc = 'balance_ASC', + BalanceAscNullsFirst = 'balance_ASC_NULLS_FIRST', + BalanceDesc = 'balance_DESC', + BalanceDescNullsLast = 'balance_DESC_NULLS_LAST', + CreditsAsc = 'credits_ASC', + CreditsAscNullsFirst = 'credits_ASC_NULLS_FIRST', + CreditsDesc = 'credits_DESC', + CreditsDescNullsLast = 'credits_DESC_NULLS_LAST', + EarnedAsc = 'earned_ASC', + EarnedAscNullsFirst = 'earned_ASC_NULLS_FIRST', + EarnedDesc = 'earned_DESC', + EarnedDescNullsLast = 'earned_DESC_NULLS_LAST', + IdAsc = 'id_ASC', + IdAscNullsFirst = 'id_ASC_NULLS_FIRST', + IdDesc = 'id_DESC', + IdDescNullsLast = 'id_DESC_NULLS_LAST', + IsContractAsc = 'isContract_ASC', + IsContractAscNullsFirst = 'isContract_ASC_NULLS_FIRST', + IsContractDesc = 'isContract_DESC', + IsContractDescNullsLast = 'isContract_DESC_NULLS_LAST', + LastUpdatedAsc = 'lastUpdated_ASC', + LastUpdatedAscNullsFirst = 'lastUpdated_ASC_NULLS_FIRST', + LastUpdatedDesc = 'lastUpdated_DESC', + LastUpdatedDescNullsLast = 'lastUpdated_DESC_NULLS_LAST', + RebasingOptionAsc = 'rebasingOption_ASC', + RebasingOptionAscNullsFirst = 'rebasingOption_ASC_NULLS_FIRST', + RebasingOptionDesc = 'rebasingOption_DESC', + RebasingOptionDescNullsLast = 'rebasingOption_DESC_NULLS_LAST' +} + +export type OusdAddressWhereInput = { + AND?: InputMaybe>; + OR?: InputMaybe>; + balance_eq?: InputMaybe; + balance_gt?: InputMaybe; + balance_gte?: InputMaybe; + balance_in?: InputMaybe>; + balance_isNull?: InputMaybe; + balance_lt?: InputMaybe; + balance_lte?: InputMaybe; + balance_not_eq?: InputMaybe; + balance_not_in?: InputMaybe>; + credits_eq?: InputMaybe; + credits_gt?: InputMaybe; + credits_gte?: InputMaybe; + credits_in?: InputMaybe>; + credits_isNull?: InputMaybe; + credits_lt?: InputMaybe; + credits_lte?: InputMaybe; + credits_not_eq?: InputMaybe; + credits_not_in?: InputMaybe>; + earned_eq?: InputMaybe; + earned_gt?: InputMaybe; + earned_gte?: InputMaybe; + earned_in?: InputMaybe>; + earned_isNull?: InputMaybe; + earned_lt?: InputMaybe; + earned_lte?: InputMaybe; + earned_not_eq?: InputMaybe; + earned_not_in?: InputMaybe>; + history_every?: InputMaybe; + history_none?: InputMaybe; + history_some?: InputMaybe; + id_contains?: InputMaybe; + id_containsInsensitive?: InputMaybe; + id_endsWith?: InputMaybe; + id_eq?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_isNull?: InputMaybe; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not_contains?: InputMaybe; + id_not_containsInsensitive?: InputMaybe; + id_not_endsWith?: InputMaybe; + id_not_eq?: InputMaybe; + id_not_in?: InputMaybe>; + id_not_startsWith?: InputMaybe; + id_startsWith?: InputMaybe; + isContract_eq?: InputMaybe; + isContract_isNull?: InputMaybe; + isContract_not_eq?: InputMaybe; + lastUpdated_eq?: InputMaybe; + lastUpdated_gt?: InputMaybe; + lastUpdated_gte?: InputMaybe; + lastUpdated_in?: InputMaybe>; + lastUpdated_isNull?: InputMaybe; + lastUpdated_lt?: InputMaybe; + lastUpdated_lte?: InputMaybe; + lastUpdated_not_eq?: InputMaybe; + lastUpdated_not_in?: InputMaybe>; + rebasingOption_eq?: InputMaybe; + rebasingOption_in?: InputMaybe>; + rebasingOption_isNull?: InputMaybe; + rebasingOption_not_eq?: InputMaybe; + rebasingOption_not_in?: InputMaybe>; +}; + +export type OusdAddressesConnection = { + __typename?: 'OUSDAddressesConnection'; + edges: Array; + pageInfo: PageInfo; + totalCount: Scalars['Int']['output']; +}; + +export type OusdCompoundStrategiesConnection = { + __typename?: 'OUSDCompoundStrategiesConnection'; + edges: Array; + pageInfo: PageInfo; + totalCount: Scalars['Int']['output']; +}; + +export type OusdCompoundStrategy = { + __typename?: 'OUSDCompoundStrategy'; + blockNumber: Scalars['Int']['output']; + dai: Scalars['BigInt']['output']; + id: Scalars['String']['output']; + timestamp: Scalars['DateTime']['output']; + usdc: Scalars['BigInt']['output']; + usdt: Scalars['BigInt']['output']; +}; + +export type OusdCompoundStrategyEdge = { + __typename?: 'OUSDCompoundStrategyEdge'; + cursor: Scalars['String']['output']; + node: OusdCompoundStrategy; +}; + +export enum OusdCompoundStrategyOrderByInput { + BlockNumberAsc = 'blockNumber_ASC', + BlockNumberAscNullsFirst = 'blockNumber_ASC_NULLS_FIRST', + BlockNumberDesc = 'blockNumber_DESC', + BlockNumberDescNullsLast = 'blockNumber_DESC_NULLS_LAST', + DaiAsc = 'dai_ASC', + DaiAscNullsFirst = 'dai_ASC_NULLS_FIRST', + DaiDesc = 'dai_DESC', + DaiDescNullsLast = 'dai_DESC_NULLS_LAST', + IdAsc = 'id_ASC', + IdAscNullsFirst = 'id_ASC_NULLS_FIRST', + IdDesc = 'id_DESC', + IdDescNullsLast = 'id_DESC_NULLS_LAST', + TimestampAsc = 'timestamp_ASC', + TimestampAscNullsFirst = 'timestamp_ASC_NULLS_FIRST', + TimestampDesc = 'timestamp_DESC', + TimestampDescNullsLast = 'timestamp_DESC_NULLS_LAST', + UsdcAsc = 'usdc_ASC', + UsdcAscNullsFirst = 'usdc_ASC_NULLS_FIRST', + UsdcDesc = 'usdc_DESC', + UsdcDescNullsLast = 'usdc_DESC_NULLS_LAST', + UsdtAsc = 'usdt_ASC', + UsdtAscNullsFirst = 'usdt_ASC_NULLS_FIRST', + UsdtDesc = 'usdt_DESC', + UsdtDescNullsLast = 'usdt_DESC_NULLS_LAST' +} + +export type OusdCompoundStrategyWhereInput = { + AND?: InputMaybe>; + OR?: InputMaybe>; + blockNumber_eq?: InputMaybe; + blockNumber_gt?: InputMaybe; + blockNumber_gte?: InputMaybe; + blockNumber_in?: InputMaybe>; + blockNumber_isNull?: InputMaybe; + blockNumber_lt?: InputMaybe; + blockNumber_lte?: InputMaybe; + blockNumber_not_eq?: InputMaybe; + blockNumber_not_in?: InputMaybe>; + dai_eq?: InputMaybe; + dai_gt?: InputMaybe; + dai_gte?: InputMaybe; + dai_in?: InputMaybe>; + dai_isNull?: InputMaybe; + dai_lt?: InputMaybe; + dai_lte?: InputMaybe; + dai_not_eq?: InputMaybe; + dai_not_in?: InputMaybe>; + id_contains?: InputMaybe; + id_containsInsensitive?: InputMaybe; + id_endsWith?: InputMaybe; + id_eq?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_isNull?: InputMaybe; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not_contains?: InputMaybe; + id_not_containsInsensitive?: InputMaybe; + id_not_endsWith?: InputMaybe; + id_not_eq?: InputMaybe; + id_not_in?: InputMaybe>; + id_not_startsWith?: InputMaybe; + id_startsWith?: InputMaybe; + timestamp_eq?: InputMaybe; + timestamp_gt?: InputMaybe; + timestamp_gte?: InputMaybe; + timestamp_in?: InputMaybe>; + timestamp_isNull?: InputMaybe; + timestamp_lt?: InputMaybe; + timestamp_lte?: InputMaybe; + timestamp_not_eq?: InputMaybe; + timestamp_not_in?: InputMaybe>; + usdc_eq?: InputMaybe; + usdc_gt?: InputMaybe; + usdc_gte?: InputMaybe; + usdc_in?: InputMaybe>; + usdc_isNull?: InputMaybe; + usdc_lt?: InputMaybe; + usdc_lte?: InputMaybe; + usdc_not_eq?: InputMaybe; + usdc_not_in?: InputMaybe>; + usdt_eq?: InputMaybe; + usdt_gt?: InputMaybe; + usdt_gte?: InputMaybe; + usdt_in?: InputMaybe>; + usdt_isNull?: InputMaybe; + usdt_lt?: InputMaybe; + usdt_lte?: InputMaybe; + usdt_not_eq?: InputMaybe; + usdt_not_in?: InputMaybe>; +}; + +export type OusdConvexLusdPlus3Crv = { + __typename?: 'OUSDConvexLUSDPlus3Crv'; + blockNumber: Scalars['Int']['output']; + dai: Scalars['BigInt']['output']; + id: Scalars['String']['output']; + timestamp: Scalars['DateTime']['output']; + usdc: Scalars['BigInt']['output']; + usdt: Scalars['BigInt']['output']; +}; + +export type OusdConvexLusdPlus3CrvEdge = { + __typename?: 'OUSDConvexLUSDPlus3CrvEdge'; + cursor: Scalars['String']['output']; + node: OusdConvexLusdPlus3Crv; +}; + +export enum OusdConvexLusdPlus3CrvOrderByInput { + BlockNumberAsc = 'blockNumber_ASC', + BlockNumberAscNullsFirst = 'blockNumber_ASC_NULLS_FIRST', + BlockNumberDesc = 'blockNumber_DESC', + BlockNumberDescNullsLast = 'blockNumber_DESC_NULLS_LAST', + DaiAsc = 'dai_ASC', + DaiAscNullsFirst = 'dai_ASC_NULLS_FIRST', + DaiDesc = 'dai_DESC', + DaiDescNullsLast = 'dai_DESC_NULLS_LAST', + IdAsc = 'id_ASC', + IdAscNullsFirst = 'id_ASC_NULLS_FIRST', + IdDesc = 'id_DESC', + IdDescNullsLast = 'id_DESC_NULLS_LAST', + TimestampAsc = 'timestamp_ASC', + TimestampAscNullsFirst = 'timestamp_ASC_NULLS_FIRST', + TimestampDesc = 'timestamp_DESC', + TimestampDescNullsLast = 'timestamp_DESC_NULLS_LAST', + UsdcAsc = 'usdc_ASC', + UsdcAscNullsFirst = 'usdc_ASC_NULLS_FIRST', + UsdcDesc = 'usdc_DESC', + UsdcDescNullsLast = 'usdc_DESC_NULLS_LAST', + UsdtAsc = 'usdt_ASC', + UsdtAscNullsFirst = 'usdt_ASC_NULLS_FIRST', + UsdtDesc = 'usdt_DESC', + UsdtDescNullsLast = 'usdt_DESC_NULLS_LAST' +} + +export type OusdConvexLusdPlus3CrvWhereInput = { + AND?: InputMaybe>; + OR?: InputMaybe>; + blockNumber_eq?: InputMaybe; + blockNumber_gt?: InputMaybe; + blockNumber_gte?: InputMaybe; + blockNumber_in?: InputMaybe>; + blockNumber_isNull?: InputMaybe; + blockNumber_lt?: InputMaybe; + blockNumber_lte?: InputMaybe; + blockNumber_not_eq?: InputMaybe; + blockNumber_not_in?: InputMaybe>; + dai_eq?: InputMaybe; + dai_gt?: InputMaybe; + dai_gte?: InputMaybe; + dai_in?: InputMaybe>; + dai_isNull?: InputMaybe; + dai_lt?: InputMaybe; + dai_lte?: InputMaybe; + dai_not_eq?: InputMaybe; + dai_not_in?: InputMaybe>; + id_contains?: InputMaybe; + id_containsInsensitive?: InputMaybe; + id_endsWith?: InputMaybe; + id_eq?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_isNull?: InputMaybe; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not_contains?: InputMaybe; + id_not_containsInsensitive?: InputMaybe; + id_not_endsWith?: InputMaybe; + id_not_eq?: InputMaybe; + id_not_in?: InputMaybe>; + id_not_startsWith?: InputMaybe; + id_startsWith?: InputMaybe; + timestamp_eq?: InputMaybe; + timestamp_gt?: InputMaybe; + timestamp_gte?: InputMaybe; + timestamp_in?: InputMaybe>; + timestamp_isNull?: InputMaybe; + timestamp_lt?: InputMaybe; + timestamp_lte?: InputMaybe; + timestamp_not_eq?: InputMaybe; + timestamp_not_in?: InputMaybe>; + usdc_eq?: InputMaybe; + usdc_gt?: InputMaybe; + usdc_gte?: InputMaybe; + usdc_in?: InputMaybe>; + usdc_isNull?: InputMaybe; + usdc_lt?: InputMaybe; + usdc_lte?: InputMaybe; + usdc_not_eq?: InputMaybe; + usdc_not_in?: InputMaybe>; + usdt_eq?: InputMaybe; + usdt_gt?: InputMaybe; + usdt_gte?: InputMaybe; + usdt_in?: InputMaybe>; + usdt_isNull?: InputMaybe; + usdt_lt?: InputMaybe; + usdt_lte?: InputMaybe; + usdt_not_eq?: InputMaybe; + usdt_not_in?: InputMaybe>; +}; + +export type OusdConvexLusdPlus3CrvsConnection = { + __typename?: 'OUSDConvexLUSDPlus3CrvsConnection'; + edges: Array; + pageInfo: PageInfo; + totalCount: Scalars['Int']['output']; +}; + +export type OusdConvexStrategiesConnection = { + __typename?: 'OUSDConvexStrategiesConnection'; + edges: Array; + pageInfo: PageInfo; + totalCount: Scalars['Int']['output']; +}; + +export type OusdConvexStrategy = { + __typename?: 'OUSDConvexStrategy'; + blockNumber: Scalars['Int']['output']; + dai: Scalars['BigInt']['output']; + id: Scalars['String']['output']; + timestamp: Scalars['DateTime']['output']; + usdc: Scalars['BigInt']['output']; + usdt: Scalars['BigInt']['output']; +}; + +export type OusdConvexStrategyEdge = { + __typename?: 'OUSDConvexStrategyEdge'; + cursor: Scalars['String']['output']; + node: OusdConvexStrategy; +}; + +export enum OusdConvexStrategyOrderByInput { + BlockNumberAsc = 'blockNumber_ASC', + BlockNumberAscNullsFirst = 'blockNumber_ASC_NULLS_FIRST', + BlockNumberDesc = 'blockNumber_DESC', + BlockNumberDescNullsLast = 'blockNumber_DESC_NULLS_LAST', + DaiAsc = 'dai_ASC', + DaiAscNullsFirst = 'dai_ASC_NULLS_FIRST', + DaiDesc = 'dai_DESC', + DaiDescNullsLast = 'dai_DESC_NULLS_LAST', + IdAsc = 'id_ASC', + IdAscNullsFirst = 'id_ASC_NULLS_FIRST', + IdDesc = 'id_DESC', + IdDescNullsLast = 'id_DESC_NULLS_LAST', + TimestampAsc = 'timestamp_ASC', + TimestampAscNullsFirst = 'timestamp_ASC_NULLS_FIRST', + TimestampDesc = 'timestamp_DESC', + TimestampDescNullsLast = 'timestamp_DESC_NULLS_LAST', + UsdcAsc = 'usdc_ASC', + UsdcAscNullsFirst = 'usdc_ASC_NULLS_FIRST', + UsdcDesc = 'usdc_DESC', + UsdcDescNullsLast = 'usdc_DESC_NULLS_LAST', + UsdtAsc = 'usdt_ASC', + UsdtAscNullsFirst = 'usdt_ASC_NULLS_FIRST', + UsdtDesc = 'usdt_DESC', + UsdtDescNullsLast = 'usdt_DESC_NULLS_LAST' +} + +export type OusdConvexStrategyWhereInput = { + AND?: InputMaybe>; + OR?: InputMaybe>; + blockNumber_eq?: InputMaybe; + blockNumber_gt?: InputMaybe; + blockNumber_gte?: InputMaybe; + blockNumber_in?: InputMaybe>; + blockNumber_isNull?: InputMaybe; + blockNumber_lt?: InputMaybe; + blockNumber_lte?: InputMaybe; + blockNumber_not_eq?: InputMaybe; + blockNumber_not_in?: InputMaybe>; + dai_eq?: InputMaybe; + dai_gt?: InputMaybe; + dai_gte?: InputMaybe; + dai_in?: InputMaybe>; + dai_isNull?: InputMaybe; + dai_lt?: InputMaybe; + dai_lte?: InputMaybe; + dai_not_eq?: InputMaybe; + dai_not_in?: InputMaybe>; + id_contains?: InputMaybe; + id_containsInsensitive?: InputMaybe; + id_endsWith?: InputMaybe; + id_eq?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_isNull?: InputMaybe; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not_contains?: InputMaybe; + id_not_containsInsensitive?: InputMaybe; + id_not_endsWith?: InputMaybe; + id_not_eq?: InputMaybe; + id_not_in?: InputMaybe>; + id_not_startsWith?: InputMaybe; + id_startsWith?: InputMaybe; + timestamp_eq?: InputMaybe; + timestamp_gt?: InputMaybe; + timestamp_gte?: InputMaybe; + timestamp_in?: InputMaybe>; + timestamp_isNull?: InputMaybe; + timestamp_lt?: InputMaybe; + timestamp_lte?: InputMaybe; + timestamp_not_eq?: InputMaybe; + timestamp_not_in?: InputMaybe>; + usdc_eq?: InputMaybe; + usdc_gt?: InputMaybe; + usdc_gte?: InputMaybe; + usdc_in?: InputMaybe>; + usdc_isNull?: InputMaybe; + usdc_lt?: InputMaybe; + usdc_lte?: InputMaybe; + usdc_not_eq?: InputMaybe; + usdc_not_in?: InputMaybe>; + usdt_eq?: InputMaybe; + usdt_gt?: InputMaybe; + usdt_gte?: InputMaybe; + usdt_in?: InputMaybe>; + usdt_isNull?: InputMaybe; + usdt_lt?: InputMaybe; + usdt_lte?: InputMaybe; + usdt_not_eq?: InputMaybe; + usdt_not_in?: InputMaybe>; +}; + +export type OusdEdge = { + __typename?: 'OUSDEdge'; + cursor: Scalars['String']['output']; + node: Ousd; +}; + +export type OusdFluxStrategiesConnection = { + __typename?: 'OUSDFluxStrategiesConnection'; + edges: Array; + pageInfo: PageInfo; + totalCount: Scalars['Int']['output']; +}; + +export type OusdFluxStrategy = { + __typename?: 'OUSDFluxStrategy'; + blockNumber: Scalars['Int']['output']; + dai: Scalars['BigInt']['output']; + id: Scalars['String']['output']; + timestamp: Scalars['DateTime']['output']; + usdc: Scalars['BigInt']['output']; + usdt: Scalars['BigInt']['output']; +}; + +export type OusdFluxStrategyEdge = { + __typename?: 'OUSDFluxStrategyEdge'; + cursor: Scalars['String']['output']; + node: OusdFluxStrategy; +}; + +export enum OusdFluxStrategyOrderByInput { + BlockNumberAsc = 'blockNumber_ASC', + BlockNumberAscNullsFirst = 'blockNumber_ASC_NULLS_FIRST', + BlockNumberDesc = 'blockNumber_DESC', + BlockNumberDescNullsLast = 'blockNumber_DESC_NULLS_LAST', + DaiAsc = 'dai_ASC', + DaiAscNullsFirst = 'dai_ASC_NULLS_FIRST', + DaiDesc = 'dai_DESC', + DaiDescNullsLast = 'dai_DESC_NULLS_LAST', + IdAsc = 'id_ASC', + IdAscNullsFirst = 'id_ASC_NULLS_FIRST', + IdDesc = 'id_DESC', + IdDescNullsLast = 'id_DESC_NULLS_LAST', + TimestampAsc = 'timestamp_ASC', + TimestampAscNullsFirst = 'timestamp_ASC_NULLS_FIRST', + TimestampDesc = 'timestamp_DESC', + TimestampDescNullsLast = 'timestamp_DESC_NULLS_LAST', + UsdcAsc = 'usdc_ASC', + UsdcAscNullsFirst = 'usdc_ASC_NULLS_FIRST', + UsdcDesc = 'usdc_DESC', + UsdcDescNullsLast = 'usdc_DESC_NULLS_LAST', + UsdtAsc = 'usdt_ASC', + UsdtAscNullsFirst = 'usdt_ASC_NULLS_FIRST', + UsdtDesc = 'usdt_DESC', + UsdtDescNullsLast = 'usdt_DESC_NULLS_LAST' +} + +export type OusdFluxStrategyWhereInput = { + AND?: InputMaybe>; + OR?: InputMaybe>; + blockNumber_eq?: InputMaybe; + blockNumber_gt?: InputMaybe; + blockNumber_gte?: InputMaybe; + blockNumber_in?: InputMaybe>; + blockNumber_isNull?: InputMaybe; + blockNumber_lt?: InputMaybe; + blockNumber_lte?: InputMaybe; + blockNumber_not_eq?: InputMaybe; + blockNumber_not_in?: InputMaybe>; + dai_eq?: InputMaybe; + dai_gt?: InputMaybe; + dai_gte?: InputMaybe; + dai_in?: InputMaybe>; + dai_isNull?: InputMaybe; + dai_lt?: InputMaybe; + dai_lte?: InputMaybe; + dai_not_eq?: InputMaybe; + dai_not_in?: InputMaybe>; + id_contains?: InputMaybe; + id_containsInsensitive?: InputMaybe; + id_endsWith?: InputMaybe; + id_eq?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_isNull?: InputMaybe; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not_contains?: InputMaybe; + id_not_containsInsensitive?: InputMaybe; + id_not_endsWith?: InputMaybe; + id_not_eq?: InputMaybe; + id_not_in?: InputMaybe>; + id_not_startsWith?: InputMaybe; + id_startsWith?: InputMaybe; + timestamp_eq?: InputMaybe; + timestamp_gt?: InputMaybe; + timestamp_gte?: InputMaybe; + timestamp_in?: InputMaybe>; + timestamp_isNull?: InputMaybe; + timestamp_lt?: InputMaybe; + timestamp_lte?: InputMaybe; + timestamp_not_eq?: InputMaybe; + timestamp_not_in?: InputMaybe>; + usdc_eq?: InputMaybe; + usdc_gt?: InputMaybe; + usdc_gte?: InputMaybe; + usdc_in?: InputMaybe>; + usdc_isNull?: InputMaybe; + usdc_lt?: InputMaybe; + usdc_lte?: InputMaybe; + usdc_not_eq?: InputMaybe; + usdc_not_in?: InputMaybe>; + usdt_eq?: InputMaybe; + usdt_gt?: InputMaybe; + usdt_gte?: InputMaybe; + usdt_in?: InputMaybe>; + usdt_isNull?: InputMaybe; + usdt_lt?: InputMaybe; + usdt_lte?: InputMaybe; + usdt_not_eq?: InputMaybe; + usdt_not_in?: InputMaybe>; +}; + +export type OusdHistoriesConnection = { + __typename?: 'OUSDHistoriesConnection'; + edges: Array; + pageInfo: PageInfo; + totalCount: Scalars['Int']['output']; +}; + +/** The History entity tracks events that change the balance of OUSD for an address. */ +export type OusdHistory = { + __typename?: 'OUSDHistory'; + address: OusdAddress; + balance: Scalars['BigInt']['output']; + blockNumber: Scalars['Int']['output']; + id: Scalars['String']['output']; + timestamp: Scalars['DateTime']['output']; + txHash: Scalars['String']['output']; + type: HistoryType; + value: Scalars['BigInt']['output']; +}; + +export type OusdHistoryEdge = { + __typename?: 'OUSDHistoryEdge'; + cursor: Scalars['String']['output']; + node: OusdHistory; +}; + +export enum OusdHistoryOrderByInput { + AddressBalanceAsc = 'address_balance_ASC', + AddressBalanceAscNullsFirst = 'address_balance_ASC_NULLS_FIRST', + AddressBalanceDesc = 'address_balance_DESC', + AddressBalanceDescNullsLast = 'address_balance_DESC_NULLS_LAST', + AddressCreditsAsc = 'address_credits_ASC', + AddressCreditsAscNullsFirst = 'address_credits_ASC_NULLS_FIRST', + AddressCreditsDesc = 'address_credits_DESC', + AddressCreditsDescNullsLast = 'address_credits_DESC_NULLS_LAST', + AddressEarnedAsc = 'address_earned_ASC', + AddressEarnedAscNullsFirst = 'address_earned_ASC_NULLS_FIRST', + AddressEarnedDesc = 'address_earned_DESC', + AddressEarnedDescNullsLast = 'address_earned_DESC_NULLS_LAST', + AddressIdAsc = 'address_id_ASC', + AddressIdAscNullsFirst = 'address_id_ASC_NULLS_FIRST', + AddressIdDesc = 'address_id_DESC', + AddressIdDescNullsLast = 'address_id_DESC_NULLS_LAST', + AddressIsContractAsc = 'address_isContract_ASC', + AddressIsContractAscNullsFirst = 'address_isContract_ASC_NULLS_FIRST', + AddressIsContractDesc = 'address_isContract_DESC', + AddressIsContractDescNullsLast = 'address_isContract_DESC_NULLS_LAST', + AddressLastUpdatedAsc = 'address_lastUpdated_ASC', + AddressLastUpdatedAscNullsFirst = 'address_lastUpdated_ASC_NULLS_FIRST', + AddressLastUpdatedDesc = 'address_lastUpdated_DESC', + AddressLastUpdatedDescNullsLast = 'address_lastUpdated_DESC_NULLS_LAST', + AddressRebasingOptionAsc = 'address_rebasingOption_ASC', + AddressRebasingOptionAscNullsFirst = 'address_rebasingOption_ASC_NULLS_FIRST', + AddressRebasingOptionDesc = 'address_rebasingOption_DESC', + AddressRebasingOptionDescNullsLast = 'address_rebasingOption_DESC_NULLS_LAST', + BalanceAsc = 'balance_ASC', + BalanceAscNullsFirst = 'balance_ASC_NULLS_FIRST', + BalanceDesc = 'balance_DESC', + BalanceDescNullsLast = 'balance_DESC_NULLS_LAST', + BlockNumberAsc = 'blockNumber_ASC', + BlockNumberAscNullsFirst = 'blockNumber_ASC_NULLS_FIRST', + BlockNumberDesc = 'blockNumber_DESC', + BlockNumberDescNullsLast = 'blockNumber_DESC_NULLS_LAST', + IdAsc = 'id_ASC', + IdAscNullsFirst = 'id_ASC_NULLS_FIRST', + IdDesc = 'id_DESC', + IdDescNullsLast = 'id_DESC_NULLS_LAST', + TimestampAsc = 'timestamp_ASC', + TimestampAscNullsFirst = 'timestamp_ASC_NULLS_FIRST', + TimestampDesc = 'timestamp_DESC', + TimestampDescNullsLast = 'timestamp_DESC_NULLS_LAST', + TxHashAsc = 'txHash_ASC', + TxHashAscNullsFirst = 'txHash_ASC_NULLS_FIRST', + TxHashDesc = 'txHash_DESC', + TxHashDescNullsLast = 'txHash_DESC_NULLS_LAST', + TypeAsc = 'type_ASC', + TypeAscNullsFirst = 'type_ASC_NULLS_FIRST', + TypeDesc = 'type_DESC', + TypeDescNullsLast = 'type_DESC_NULLS_LAST', + ValueAsc = 'value_ASC', + ValueAscNullsFirst = 'value_ASC_NULLS_FIRST', + ValueDesc = 'value_DESC', + ValueDescNullsLast = 'value_DESC_NULLS_LAST' +} + +export type OusdHistoryWhereInput = { + AND?: InputMaybe>; + OR?: InputMaybe>; + address?: InputMaybe; + address_isNull?: InputMaybe; + balance_eq?: InputMaybe; + balance_gt?: InputMaybe; + balance_gte?: InputMaybe; + balance_in?: InputMaybe>; + balance_isNull?: InputMaybe; + balance_lt?: InputMaybe; + balance_lte?: InputMaybe; + balance_not_eq?: InputMaybe; + balance_not_in?: InputMaybe>; + blockNumber_eq?: InputMaybe; + blockNumber_gt?: InputMaybe; + blockNumber_gte?: InputMaybe; + blockNumber_in?: InputMaybe>; + blockNumber_isNull?: InputMaybe; + blockNumber_lt?: InputMaybe; + blockNumber_lte?: InputMaybe; + blockNumber_not_eq?: InputMaybe; + blockNumber_not_in?: InputMaybe>; + id_contains?: InputMaybe; + id_containsInsensitive?: InputMaybe; + id_endsWith?: InputMaybe; + id_eq?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_isNull?: InputMaybe; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not_contains?: InputMaybe; + id_not_containsInsensitive?: InputMaybe; + id_not_endsWith?: InputMaybe; + id_not_eq?: InputMaybe; + id_not_in?: InputMaybe>; + id_not_startsWith?: InputMaybe; + id_startsWith?: InputMaybe; + timestamp_eq?: InputMaybe; + timestamp_gt?: InputMaybe; + timestamp_gte?: InputMaybe; + timestamp_in?: InputMaybe>; + timestamp_isNull?: InputMaybe; + timestamp_lt?: InputMaybe; + timestamp_lte?: InputMaybe; + timestamp_not_eq?: InputMaybe; + timestamp_not_in?: InputMaybe>; + txHash_contains?: InputMaybe; + txHash_containsInsensitive?: InputMaybe; + txHash_endsWith?: InputMaybe; + txHash_eq?: InputMaybe; + txHash_gt?: InputMaybe; + txHash_gte?: InputMaybe; + txHash_in?: InputMaybe>; + txHash_isNull?: InputMaybe; + txHash_lt?: InputMaybe; + txHash_lte?: InputMaybe; + txHash_not_contains?: InputMaybe; + txHash_not_containsInsensitive?: InputMaybe; + txHash_not_endsWith?: InputMaybe; + txHash_not_eq?: InputMaybe; + txHash_not_in?: InputMaybe>; + txHash_not_startsWith?: InputMaybe; + txHash_startsWith?: InputMaybe; + type_eq?: InputMaybe; + type_in?: InputMaybe>; + type_isNull?: InputMaybe; + type_not_eq?: InputMaybe; + type_not_in?: InputMaybe>; + value_eq?: InputMaybe; + value_gt?: InputMaybe; + value_gte?: InputMaybe; + value_in?: InputMaybe>; + value_isNull?: InputMaybe; + value_lt?: InputMaybe; + value_lte?: InputMaybe; + value_not_eq?: InputMaybe; + value_not_in?: InputMaybe>; +}; + +export type OusdMetaStrategiesConnection = { + __typename?: 'OUSDMetaStrategiesConnection'; + edges: Array; + pageInfo: PageInfo; + totalCount: Scalars['Int']['output']; +}; + +export type OusdMetaStrategy = { + __typename?: 'OUSDMetaStrategy'; + blockNumber: Scalars['Int']['output']; + dai: Scalars['BigInt']['output']; + id: Scalars['String']['output']; + timestamp: Scalars['DateTime']['output']; + usdc: Scalars['BigInt']['output']; + usdt: Scalars['BigInt']['output']; +}; + +export type OusdMetaStrategyEdge = { + __typename?: 'OUSDMetaStrategyEdge'; + cursor: Scalars['String']['output']; + node: OusdMetaStrategy; +}; + +export enum OusdMetaStrategyOrderByInput { + BlockNumberAsc = 'blockNumber_ASC', + BlockNumberAscNullsFirst = 'blockNumber_ASC_NULLS_FIRST', + BlockNumberDesc = 'blockNumber_DESC', + BlockNumberDescNullsLast = 'blockNumber_DESC_NULLS_LAST', + DaiAsc = 'dai_ASC', + DaiAscNullsFirst = 'dai_ASC_NULLS_FIRST', + DaiDesc = 'dai_DESC', + DaiDescNullsLast = 'dai_DESC_NULLS_LAST', + IdAsc = 'id_ASC', + IdAscNullsFirst = 'id_ASC_NULLS_FIRST', + IdDesc = 'id_DESC', + IdDescNullsLast = 'id_DESC_NULLS_LAST', + TimestampAsc = 'timestamp_ASC', + TimestampAscNullsFirst = 'timestamp_ASC_NULLS_FIRST', + TimestampDesc = 'timestamp_DESC', + TimestampDescNullsLast = 'timestamp_DESC_NULLS_LAST', + UsdcAsc = 'usdc_ASC', + UsdcAscNullsFirst = 'usdc_ASC_NULLS_FIRST', + UsdcDesc = 'usdc_DESC', + UsdcDescNullsLast = 'usdc_DESC_NULLS_LAST', + UsdtAsc = 'usdt_ASC', + UsdtAscNullsFirst = 'usdt_ASC_NULLS_FIRST', + UsdtDesc = 'usdt_DESC', + UsdtDescNullsLast = 'usdt_DESC_NULLS_LAST' +} + +export type OusdMetaStrategyWhereInput = { + AND?: InputMaybe>; + OR?: InputMaybe>; + blockNumber_eq?: InputMaybe; + blockNumber_gt?: InputMaybe; + blockNumber_gte?: InputMaybe; + blockNumber_in?: InputMaybe>; + blockNumber_isNull?: InputMaybe; + blockNumber_lt?: InputMaybe; + blockNumber_lte?: InputMaybe; + blockNumber_not_eq?: InputMaybe; + blockNumber_not_in?: InputMaybe>; + dai_eq?: InputMaybe; + dai_gt?: InputMaybe; + dai_gte?: InputMaybe; + dai_in?: InputMaybe>; + dai_isNull?: InputMaybe; + dai_lt?: InputMaybe; + dai_lte?: InputMaybe; + dai_not_eq?: InputMaybe; + dai_not_in?: InputMaybe>; + id_contains?: InputMaybe; + id_containsInsensitive?: InputMaybe; + id_endsWith?: InputMaybe; + id_eq?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_isNull?: InputMaybe; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not_contains?: InputMaybe; + id_not_containsInsensitive?: InputMaybe; + id_not_endsWith?: InputMaybe; + id_not_eq?: InputMaybe; + id_not_in?: InputMaybe>; + id_not_startsWith?: InputMaybe; + id_startsWith?: InputMaybe; + timestamp_eq?: InputMaybe; + timestamp_gt?: InputMaybe; + timestamp_gte?: InputMaybe; + timestamp_in?: InputMaybe>; + timestamp_isNull?: InputMaybe; + timestamp_lt?: InputMaybe; + timestamp_lte?: InputMaybe; + timestamp_not_eq?: InputMaybe; + timestamp_not_in?: InputMaybe>; + usdc_eq?: InputMaybe; + usdc_gt?: InputMaybe; + usdc_gte?: InputMaybe; + usdc_in?: InputMaybe>; + usdc_isNull?: InputMaybe; + usdc_lt?: InputMaybe; + usdc_lte?: InputMaybe; + usdc_not_eq?: InputMaybe; + usdc_not_in?: InputMaybe>; + usdt_eq?: InputMaybe; + usdt_gt?: InputMaybe; + usdt_gte?: InputMaybe; + usdt_in?: InputMaybe>; + usdt_isNull?: InputMaybe; + usdt_lt?: InputMaybe; + usdt_lte?: InputMaybe; + usdt_not_eq?: InputMaybe; + usdt_not_in?: InputMaybe>; +}; + +export type OusdMorphoAave = { + __typename?: 'OUSDMorphoAave'; + blockNumber: Scalars['Int']['output']; + dai: Scalars['BigInt']['output']; + id: Scalars['String']['output']; + timestamp: Scalars['DateTime']['output']; + usdc: Scalars['BigInt']['output']; + usdt: Scalars['BigInt']['output']; +}; + +export type OusdMorphoAaveEdge = { + __typename?: 'OUSDMorphoAaveEdge'; + cursor: Scalars['String']['output']; + node: OusdMorphoAave; +}; + +export enum OusdMorphoAaveOrderByInput { + BlockNumberAsc = 'blockNumber_ASC', + BlockNumberAscNullsFirst = 'blockNumber_ASC_NULLS_FIRST', + BlockNumberDesc = 'blockNumber_DESC', + BlockNumberDescNullsLast = 'blockNumber_DESC_NULLS_LAST', + DaiAsc = 'dai_ASC', + DaiAscNullsFirst = 'dai_ASC_NULLS_FIRST', + DaiDesc = 'dai_DESC', + DaiDescNullsLast = 'dai_DESC_NULLS_LAST', + IdAsc = 'id_ASC', + IdAscNullsFirst = 'id_ASC_NULLS_FIRST', + IdDesc = 'id_DESC', + IdDescNullsLast = 'id_DESC_NULLS_LAST', + TimestampAsc = 'timestamp_ASC', + TimestampAscNullsFirst = 'timestamp_ASC_NULLS_FIRST', + TimestampDesc = 'timestamp_DESC', + TimestampDescNullsLast = 'timestamp_DESC_NULLS_LAST', + UsdcAsc = 'usdc_ASC', + UsdcAscNullsFirst = 'usdc_ASC_NULLS_FIRST', + UsdcDesc = 'usdc_DESC', + UsdcDescNullsLast = 'usdc_DESC_NULLS_LAST', + UsdtAsc = 'usdt_ASC', + UsdtAscNullsFirst = 'usdt_ASC_NULLS_FIRST', + UsdtDesc = 'usdt_DESC', + UsdtDescNullsLast = 'usdt_DESC_NULLS_LAST' +} + +export type OusdMorphoAaveWhereInput = { + AND?: InputMaybe>; + OR?: InputMaybe>; + blockNumber_eq?: InputMaybe; + blockNumber_gt?: InputMaybe; + blockNumber_gte?: InputMaybe; + blockNumber_in?: InputMaybe>; + blockNumber_isNull?: InputMaybe; + blockNumber_lt?: InputMaybe; + blockNumber_lte?: InputMaybe; + blockNumber_not_eq?: InputMaybe; + blockNumber_not_in?: InputMaybe>; + dai_eq?: InputMaybe; + dai_gt?: InputMaybe; + dai_gte?: InputMaybe; + dai_in?: InputMaybe>; + dai_isNull?: InputMaybe; + dai_lt?: InputMaybe; + dai_lte?: InputMaybe; + dai_not_eq?: InputMaybe; + dai_not_in?: InputMaybe>; + id_contains?: InputMaybe; + id_containsInsensitive?: InputMaybe; + id_endsWith?: InputMaybe; + id_eq?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_isNull?: InputMaybe; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not_contains?: InputMaybe; + id_not_containsInsensitive?: InputMaybe; + id_not_endsWith?: InputMaybe; + id_not_eq?: InputMaybe; + id_not_in?: InputMaybe>; + id_not_startsWith?: InputMaybe; + id_startsWith?: InputMaybe; + timestamp_eq?: InputMaybe; + timestamp_gt?: InputMaybe; + timestamp_gte?: InputMaybe; + timestamp_in?: InputMaybe>; + timestamp_isNull?: InputMaybe; + timestamp_lt?: InputMaybe; + timestamp_lte?: InputMaybe; + timestamp_not_eq?: InputMaybe; + timestamp_not_in?: InputMaybe>; + usdc_eq?: InputMaybe; + usdc_gt?: InputMaybe; + usdc_gte?: InputMaybe; + usdc_in?: InputMaybe>; + usdc_isNull?: InputMaybe; + usdc_lt?: InputMaybe; + usdc_lte?: InputMaybe; + usdc_not_eq?: InputMaybe; + usdc_not_in?: InputMaybe>; + usdt_eq?: InputMaybe; + usdt_gt?: InputMaybe; + usdt_gte?: InputMaybe; + usdt_in?: InputMaybe>; + usdt_isNull?: InputMaybe; + usdt_lt?: InputMaybe; + usdt_lte?: InputMaybe; + usdt_not_eq?: InputMaybe; + usdt_not_in?: InputMaybe>; +}; + +export type OusdMorphoAavesConnection = { + __typename?: 'OUSDMorphoAavesConnection'; + edges: Array; + pageInfo: PageInfo; + totalCount: Scalars['Int']['output']; +}; + +export type OusdMorphoCompound = { + __typename?: 'OUSDMorphoCompound'; + blockNumber: Scalars['Int']['output']; + dai: Scalars['BigInt']['output']; + id: Scalars['String']['output']; + timestamp: Scalars['DateTime']['output']; + usdc: Scalars['BigInt']['output']; + usdt: Scalars['BigInt']['output']; +}; + +export type OusdMorphoCompoundEdge = { + __typename?: 'OUSDMorphoCompoundEdge'; + cursor: Scalars['String']['output']; + node: OusdMorphoCompound; +}; + +export enum OusdMorphoCompoundOrderByInput { + BlockNumberAsc = 'blockNumber_ASC', + BlockNumberAscNullsFirst = 'blockNumber_ASC_NULLS_FIRST', + BlockNumberDesc = 'blockNumber_DESC', + BlockNumberDescNullsLast = 'blockNumber_DESC_NULLS_LAST', + DaiAsc = 'dai_ASC', + DaiAscNullsFirst = 'dai_ASC_NULLS_FIRST', + DaiDesc = 'dai_DESC', + DaiDescNullsLast = 'dai_DESC_NULLS_LAST', + IdAsc = 'id_ASC', + IdAscNullsFirst = 'id_ASC_NULLS_FIRST', + IdDesc = 'id_DESC', + IdDescNullsLast = 'id_DESC_NULLS_LAST', + TimestampAsc = 'timestamp_ASC', + TimestampAscNullsFirst = 'timestamp_ASC_NULLS_FIRST', + TimestampDesc = 'timestamp_DESC', + TimestampDescNullsLast = 'timestamp_DESC_NULLS_LAST', + UsdcAsc = 'usdc_ASC', + UsdcAscNullsFirst = 'usdc_ASC_NULLS_FIRST', + UsdcDesc = 'usdc_DESC', + UsdcDescNullsLast = 'usdc_DESC_NULLS_LAST', + UsdtAsc = 'usdt_ASC', + UsdtAscNullsFirst = 'usdt_ASC_NULLS_FIRST', + UsdtDesc = 'usdt_DESC', + UsdtDescNullsLast = 'usdt_DESC_NULLS_LAST' +} + +export type OusdMorphoCompoundWhereInput = { + AND?: InputMaybe>; + OR?: InputMaybe>; + blockNumber_eq?: InputMaybe; + blockNumber_gt?: InputMaybe; + blockNumber_gte?: InputMaybe; + blockNumber_in?: InputMaybe>; + blockNumber_isNull?: InputMaybe; + blockNumber_lt?: InputMaybe; + blockNumber_lte?: InputMaybe; + blockNumber_not_eq?: InputMaybe; + blockNumber_not_in?: InputMaybe>; + dai_eq?: InputMaybe; + dai_gt?: InputMaybe; + dai_gte?: InputMaybe; + dai_in?: InputMaybe>; + dai_isNull?: InputMaybe; + dai_lt?: InputMaybe; + dai_lte?: InputMaybe; + dai_not_eq?: InputMaybe; + dai_not_in?: InputMaybe>; + id_contains?: InputMaybe; + id_containsInsensitive?: InputMaybe; + id_endsWith?: InputMaybe; + id_eq?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_isNull?: InputMaybe; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not_contains?: InputMaybe; + id_not_containsInsensitive?: InputMaybe; + id_not_endsWith?: InputMaybe; + id_not_eq?: InputMaybe; + id_not_in?: InputMaybe>; + id_not_startsWith?: InputMaybe; + id_startsWith?: InputMaybe; + timestamp_eq?: InputMaybe; + timestamp_gt?: InputMaybe; + timestamp_gte?: InputMaybe; + timestamp_in?: InputMaybe>; + timestamp_isNull?: InputMaybe; + timestamp_lt?: InputMaybe; + timestamp_lte?: InputMaybe; + timestamp_not_eq?: InputMaybe; + timestamp_not_in?: InputMaybe>; + usdc_eq?: InputMaybe; + usdc_gt?: InputMaybe; + usdc_gte?: InputMaybe; + usdc_in?: InputMaybe>; + usdc_isNull?: InputMaybe; + usdc_lt?: InputMaybe; + usdc_lte?: InputMaybe; + usdc_not_eq?: InputMaybe; + usdc_not_in?: InputMaybe>; + usdt_eq?: InputMaybe; + usdt_gt?: InputMaybe; + usdt_gte?: InputMaybe; + usdt_in?: InputMaybe>; + usdt_isNull?: InputMaybe; + usdt_lt?: InputMaybe; + usdt_lte?: InputMaybe; + usdt_not_eq?: InputMaybe; + usdt_not_in?: InputMaybe>; +}; + +export type OusdMorphoCompoundsConnection = { + __typename?: 'OUSDMorphoCompoundsConnection'; + edges: Array; + pageInfo: PageInfo; + totalCount: Scalars['Int']['output']; +}; + +export enum OusdOrderByInput { + BlockNumberAsc = 'blockNumber_ASC', + BlockNumberAscNullsFirst = 'blockNumber_ASC_NULLS_FIRST', + BlockNumberDesc = 'blockNumber_DESC', + BlockNumberDescNullsLast = 'blockNumber_DESC_NULLS_LAST', + IdAsc = 'id_ASC', + IdAscNullsFirst = 'id_ASC_NULLS_FIRST', + IdDesc = 'id_DESC', + IdDescNullsLast = 'id_DESC_NULLS_LAST', + NonRebasingSupplyAsc = 'nonRebasingSupply_ASC', + NonRebasingSupplyAscNullsFirst = 'nonRebasingSupply_ASC_NULLS_FIRST', + NonRebasingSupplyDesc = 'nonRebasingSupply_DESC', + NonRebasingSupplyDescNullsLast = 'nonRebasingSupply_DESC_NULLS_LAST', + RebasingSupplyAsc = 'rebasingSupply_ASC', + RebasingSupplyAscNullsFirst = 'rebasingSupply_ASC_NULLS_FIRST', + RebasingSupplyDesc = 'rebasingSupply_DESC', + RebasingSupplyDescNullsLast = 'rebasingSupply_DESC_NULLS_LAST', + TimestampAsc = 'timestamp_ASC', + TimestampAscNullsFirst = 'timestamp_ASC_NULLS_FIRST', + TimestampDesc = 'timestamp_DESC', + TimestampDescNullsLast = 'timestamp_DESC_NULLS_LAST', + TotalSupplyAsc = 'totalSupply_ASC', + TotalSupplyAscNullsFirst = 'totalSupply_ASC_NULLS_FIRST', + TotalSupplyDesc = 'totalSupply_DESC', + TotalSupplyDescNullsLast = 'totalSupply_DESC_NULLS_LAST' +} + +/** The Rebase entity tracks historical rebase events on the OUSD contract. */ +export type OusdRebase = { + __typename?: 'OUSDRebase'; + apy: Ousdapy; + blockNumber: Scalars['Int']['output']; + fee: Scalars['BigInt']['output']; + id: Scalars['String']['output']; + rebasingCredits: Scalars['BigInt']['output']; + rebasingCreditsPerToken: Scalars['BigInt']['output']; + timestamp: Scalars['DateTime']['output']; + totalSupply: Scalars['BigInt']['output']; + txHash: Scalars['String']['output']; + yield: Scalars['BigInt']['output']; +}; + +export type OusdRebaseEdge = { + __typename?: 'OUSDRebaseEdge'; + cursor: Scalars['String']['output']; + node: OusdRebase; +}; + +/** The RebaseOption entity tracks historical rebase option changes by address. */ +export type OusdRebaseOption = { + __typename?: 'OUSDRebaseOption'; + address: OusdAddress; + blockNumber: Scalars['Int']['output']; + id: Scalars['String']['output']; + status: RebasingOption; + timestamp: Scalars['DateTime']['output']; + txHash: Scalars['String']['output']; +}; + +export type OusdRebaseOptionEdge = { + __typename?: 'OUSDRebaseOptionEdge'; + cursor: Scalars['String']['output']; + node: OusdRebaseOption; +}; + +export enum OusdRebaseOptionOrderByInput { + AddressBalanceAsc = 'address_balance_ASC', + AddressBalanceAscNullsFirst = 'address_balance_ASC_NULLS_FIRST', + AddressBalanceDesc = 'address_balance_DESC', + AddressBalanceDescNullsLast = 'address_balance_DESC_NULLS_LAST', + AddressCreditsAsc = 'address_credits_ASC', + AddressCreditsAscNullsFirst = 'address_credits_ASC_NULLS_FIRST', + AddressCreditsDesc = 'address_credits_DESC', + AddressCreditsDescNullsLast = 'address_credits_DESC_NULLS_LAST', + AddressEarnedAsc = 'address_earned_ASC', + AddressEarnedAscNullsFirst = 'address_earned_ASC_NULLS_FIRST', + AddressEarnedDesc = 'address_earned_DESC', + AddressEarnedDescNullsLast = 'address_earned_DESC_NULLS_LAST', + AddressIdAsc = 'address_id_ASC', + AddressIdAscNullsFirst = 'address_id_ASC_NULLS_FIRST', + AddressIdDesc = 'address_id_DESC', + AddressIdDescNullsLast = 'address_id_DESC_NULLS_LAST', + AddressIsContractAsc = 'address_isContract_ASC', + AddressIsContractAscNullsFirst = 'address_isContract_ASC_NULLS_FIRST', + AddressIsContractDesc = 'address_isContract_DESC', + AddressIsContractDescNullsLast = 'address_isContract_DESC_NULLS_LAST', + AddressLastUpdatedAsc = 'address_lastUpdated_ASC', + AddressLastUpdatedAscNullsFirst = 'address_lastUpdated_ASC_NULLS_FIRST', + AddressLastUpdatedDesc = 'address_lastUpdated_DESC', + AddressLastUpdatedDescNullsLast = 'address_lastUpdated_DESC_NULLS_LAST', + AddressRebasingOptionAsc = 'address_rebasingOption_ASC', + AddressRebasingOptionAscNullsFirst = 'address_rebasingOption_ASC_NULLS_FIRST', + AddressRebasingOptionDesc = 'address_rebasingOption_DESC', + AddressRebasingOptionDescNullsLast = 'address_rebasingOption_DESC_NULLS_LAST', + BlockNumberAsc = 'blockNumber_ASC', + BlockNumberAscNullsFirst = 'blockNumber_ASC_NULLS_FIRST', + BlockNumberDesc = 'blockNumber_DESC', + BlockNumberDescNullsLast = 'blockNumber_DESC_NULLS_LAST', + IdAsc = 'id_ASC', + IdAscNullsFirst = 'id_ASC_NULLS_FIRST', + IdDesc = 'id_DESC', + IdDescNullsLast = 'id_DESC_NULLS_LAST', + StatusAsc = 'status_ASC', + StatusAscNullsFirst = 'status_ASC_NULLS_FIRST', + StatusDesc = 'status_DESC', + StatusDescNullsLast = 'status_DESC_NULLS_LAST', + TimestampAsc = 'timestamp_ASC', + TimestampAscNullsFirst = 'timestamp_ASC_NULLS_FIRST', + TimestampDesc = 'timestamp_DESC', + TimestampDescNullsLast = 'timestamp_DESC_NULLS_LAST', + TxHashAsc = 'txHash_ASC', + TxHashAscNullsFirst = 'txHash_ASC_NULLS_FIRST', + TxHashDesc = 'txHash_DESC', + TxHashDescNullsLast = 'txHash_DESC_NULLS_LAST' +} + +export type OusdRebaseOptionWhereInput = { + AND?: InputMaybe>; + OR?: InputMaybe>; + address?: InputMaybe; + address_isNull?: InputMaybe; + blockNumber_eq?: InputMaybe; + blockNumber_gt?: InputMaybe; + blockNumber_gte?: InputMaybe; + blockNumber_in?: InputMaybe>; + blockNumber_isNull?: InputMaybe; + blockNumber_lt?: InputMaybe; + blockNumber_lte?: InputMaybe; + blockNumber_not_eq?: InputMaybe; + blockNumber_not_in?: InputMaybe>; + id_contains?: InputMaybe; + id_containsInsensitive?: InputMaybe; + id_endsWith?: InputMaybe; + id_eq?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_isNull?: InputMaybe; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not_contains?: InputMaybe; + id_not_containsInsensitive?: InputMaybe; + id_not_endsWith?: InputMaybe; + id_not_eq?: InputMaybe; + id_not_in?: InputMaybe>; + id_not_startsWith?: InputMaybe; + id_startsWith?: InputMaybe; + status_eq?: InputMaybe; + status_in?: InputMaybe>; + status_isNull?: InputMaybe; + status_not_eq?: InputMaybe; + status_not_in?: InputMaybe>; + timestamp_eq?: InputMaybe; + timestamp_gt?: InputMaybe; + timestamp_gte?: InputMaybe; + timestamp_in?: InputMaybe>; + timestamp_isNull?: InputMaybe; + timestamp_lt?: InputMaybe; + timestamp_lte?: InputMaybe; + timestamp_not_eq?: InputMaybe; + timestamp_not_in?: InputMaybe>; + txHash_contains?: InputMaybe; + txHash_containsInsensitive?: InputMaybe; + txHash_endsWith?: InputMaybe; + txHash_eq?: InputMaybe; + txHash_gt?: InputMaybe; + txHash_gte?: InputMaybe; + txHash_in?: InputMaybe>; + txHash_isNull?: InputMaybe; + txHash_lt?: InputMaybe; + txHash_lte?: InputMaybe; + txHash_not_contains?: InputMaybe; + txHash_not_containsInsensitive?: InputMaybe; + txHash_not_endsWith?: InputMaybe; + txHash_not_eq?: InputMaybe; + txHash_not_in?: InputMaybe>; + txHash_not_startsWith?: InputMaybe; + txHash_startsWith?: InputMaybe; +}; + +export type OusdRebaseOptionsConnection = { + __typename?: 'OUSDRebaseOptionsConnection'; + edges: Array; + pageInfo: PageInfo; + totalCount: Scalars['Int']['output']; +}; + +export enum OusdRebaseOrderByInput { + ApyAprAsc = 'apy_apr_ASC', + ApyAprAscNullsFirst = 'apy_apr_ASC_NULLS_FIRST', + ApyAprDesc = 'apy_apr_DESC', + ApyAprDescNullsLast = 'apy_apr_DESC_NULLS_LAST', + ApyApy7DayAvgAsc = 'apy_apy7DayAvg_ASC', + ApyApy7DayAvgAscNullsFirst = 'apy_apy7DayAvg_ASC_NULLS_FIRST', + ApyApy7DayAvgDesc = 'apy_apy7DayAvg_DESC', + ApyApy7DayAvgDescNullsLast = 'apy_apy7DayAvg_DESC_NULLS_LAST', + ApyApy14DayAvgAsc = 'apy_apy14DayAvg_ASC', + ApyApy14DayAvgAscNullsFirst = 'apy_apy14DayAvg_ASC_NULLS_FIRST', + ApyApy14DayAvgDesc = 'apy_apy14DayAvg_DESC', + ApyApy14DayAvgDescNullsLast = 'apy_apy14DayAvg_DESC_NULLS_LAST', + ApyApy30DayAvgAsc = 'apy_apy30DayAvg_ASC', + ApyApy30DayAvgAscNullsFirst = 'apy_apy30DayAvg_ASC_NULLS_FIRST', + ApyApy30DayAvgDesc = 'apy_apy30DayAvg_DESC', + ApyApy30DayAvgDescNullsLast = 'apy_apy30DayAvg_DESC_NULLS_LAST', + ApyApyAsc = 'apy_apy_ASC', + ApyApyAscNullsFirst = 'apy_apy_ASC_NULLS_FIRST', + ApyApyDesc = 'apy_apy_DESC', + ApyApyDescNullsLast = 'apy_apy_DESC_NULLS_LAST', + ApyBlockNumberAsc = 'apy_blockNumber_ASC', + ApyBlockNumberAscNullsFirst = 'apy_blockNumber_ASC_NULLS_FIRST', + ApyBlockNumberDesc = 'apy_blockNumber_DESC', + ApyBlockNumberDescNullsLast = 'apy_blockNumber_DESC_NULLS_LAST', + ApyIdAsc = 'apy_id_ASC', + ApyIdAscNullsFirst = 'apy_id_ASC_NULLS_FIRST', + ApyIdDesc = 'apy_id_DESC', + ApyIdDescNullsLast = 'apy_id_DESC_NULLS_LAST', + ApyRebasingCreditsPerTokenAsc = 'apy_rebasingCreditsPerToken_ASC', + ApyRebasingCreditsPerTokenAscNullsFirst = 'apy_rebasingCreditsPerToken_ASC_NULLS_FIRST', + ApyRebasingCreditsPerTokenDesc = 'apy_rebasingCreditsPerToken_DESC', + ApyRebasingCreditsPerTokenDescNullsLast = 'apy_rebasingCreditsPerToken_DESC_NULLS_LAST', + ApyTimestampAsc = 'apy_timestamp_ASC', + ApyTimestampAscNullsFirst = 'apy_timestamp_ASC_NULLS_FIRST', + ApyTimestampDesc = 'apy_timestamp_DESC', + ApyTimestampDescNullsLast = 'apy_timestamp_DESC_NULLS_LAST', + ApyTxHashAsc = 'apy_txHash_ASC', + ApyTxHashAscNullsFirst = 'apy_txHash_ASC_NULLS_FIRST', + ApyTxHashDesc = 'apy_txHash_DESC', + ApyTxHashDescNullsLast = 'apy_txHash_DESC_NULLS_LAST', + BlockNumberAsc = 'blockNumber_ASC', + BlockNumberAscNullsFirst = 'blockNumber_ASC_NULLS_FIRST', + BlockNumberDesc = 'blockNumber_DESC', + BlockNumberDescNullsLast = 'blockNumber_DESC_NULLS_LAST', + FeeAsc = 'fee_ASC', + FeeAscNullsFirst = 'fee_ASC_NULLS_FIRST', + FeeDesc = 'fee_DESC', + FeeDescNullsLast = 'fee_DESC_NULLS_LAST', + IdAsc = 'id_ASC', + IdAscNullsFirst = 'id_ASC_NULLS_FIRST', + IdDesc = 'id_DESC', + IdDescNullsLast = 'id_DESC_NULLS_LAST', + RebasingCreditsPerTokenAsc = 'rebasingCreditsPerToken_ASC', + RebasingCreditsPerTokenAscNullsFirst = 'rebasingCreditsPerToken_ASC_NULLS_FIRST', + RebasingCreditsPerTokenDesc = 'rebasingCreditsPerToken_DESC', + RebasingCreditsPerTokenDescNullsLast = 'rebasingCreditsPerToken_DESC_NULLS_LAST', + RebasingCreditsAsc = 'rebasingCredits_ASC', + RebasingCreditsAscNullsFirst = 'rebasingCredits_ASC_NULLS_FIRST', + RebasingCreditsDesc = 'rebasingCredits_DESC', + RebasingCreditsDescNullsLast = 'rebasingCredits_DESC_NULLS_LAST', + TimestampAsc = 'timestamp_ASC', + TimestampAscNullsFirst = 'timestamp_ASC_NULLS_FIRST', + TimestampDesc = 'timestamp_DESC', + TimestampDescNullsLast = 'timestamp_DESC_NULLS_LAST', + TotalSupplyAsc = 'totalSupply_ASC', + TotalSupplyAscNullsFirst = 'totalSupply_ASC_NULLS_FIRST', + TotalSupplyDesc = 'totalSupply_DESC', + TotalSupplyDescNullsLast = 'totalSupply_DESC_NULLS_LAST', + TxHashAsc = 'txHash_ASC', + TxHashAscNullsFirst = 'txHash_ASC_NULLS_FIRST', + TxHashDesc = 'txHash_DESC', + TxHashDescNullsLast = 'txHash_DESC_NULLS_LAST', + YieldAsc = 'yield_ASC', + YieldAscNullsFirst = 'yield_ASC_NULLS_FIRST', + YieldDesc = 'yield_DESC', + YieldDescNullsLast = 'yield_DESC_NULLS_LAST' +} + +export type OusdRebaseWhereInput = { + AND?: InputMaybe>; + OR?: InputMaybe>; + apy?: InputMaybe; + apy_isNull?: InputMaybe; + blockNumber_eq?: InputMaybe; + blockNumber_gt?: InputMaybe; + blockNumber_gte?: InputMaybe; + blockNumber_in?: InputMaybe>; + blockNumber_isNull?: InputMaybe; + blockNumber_lt?: InputMaybe; + blockNumber_lte?: InputMaybe; + blockNumber_not_eq?: InputMaybe; + blockNumber_not_in?: InputMaybe>; + fee_eq?: InputMaybe; + fee_gt?: InputMaybe; + fee_gte?: InputMaybe; + fee_in?: InputMaybe>; + fee_isNull?: InputMaybe; + fee_lt?: InputMaybe; + fee_lte?: InputMaybe; + fee_not_eq?: InputMaybe; + fee_not_in?: InputMaybe>; + id_contains?: InputMaybe; + id_containsInsensitive?: InputMaybe; + id_endsWith?: InputMaybe; + id_eq?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_isNull?: InputMaybe; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not_contains?: InputMaybe; + id_not_containsInsensitive?: InputMaybe; + id_not_endsWith?: InputMaybe; + id_not_eq?: InputMaybe; + id_not_in?: InputMaybe>; + id_not_startsWith?: InputMaybe; + id_startsWith?: InputMaybe; + rebasingCreditsPerToken_eq?: InputMaybe; + rebasingCreditsPerToken_gt?: InputMaybe; + rebasingCreditsPerToken_gte?: InputMaybe; + rebasingCreditsPerToken_in?: InputMaybe>; + rebasingCreditsPerToken_isNull?: InputMaybe; + rebasingCreditsPerToken_lt?: InputMaybe; + rebasingCreditsPerToken_lte?: InputMaybe; + rebasingCreditsPerToken_not_eq?: InputMaybe; + rebasingCreditsPerToken_not_in?: InputMaybe>; + rebasingCredits_eq?: InputMaybe; + rebasingCredits_gt?: InputMaybe; + rebasingCredits_gte?: InputMaybe; + rebasingCredits_in?: InputMaybe>; + rebasingCredits_isNull?: InputMaybe; + rebasingCredits_lt?: InputMaybe; + rebasingCredits_lte?: InputMaybe; + rebasingCredits_not_eq?: InputMaybe; + rebasingCredits_not_in?: InputMaybe>; + timestamp_eq?: InputMaybe; + timestamp_gt?: InputMaybe; + timestamp_gte?: InputMaybe; + timestamp_in?: InputMaybe>; + timestamp_isNull?: InputMaybe; + timestamp_lt?: InputMaybe; + timestamp_lte?: InputMaybe; + timestamp_not_eq?: InputMaybe; + timestamp_not_in?: InputMaybe>; + totalSupply_eq?: InputMaybe; + totalSupply_gt?: InputMaybe; + totalSupply_gte?: InputMaybe; + totalSupply_in?: InputMaybe>; + totalSupply_isNull?: InputMaybe; + totalSupply_lt?: InputMaybe; + totalSupply_lte?: InputMaybe; + totalSupply_not_eq?: InputMaybe; + totalSupply_not_in?: InputMaybe>; + txHash_contains?: InputMaybe; + txHash_containsInsensitive?: InputMaybe; + txHash_endsWith?: InputMaybe; + txHash_eq?: InputMaybe; + txHash_gt?: InputMaybe; + txHash_gte?: InputMaybe; + txHash_in?: InputMaybe>; + txHash_isNull?: InputMaybe; + txHash_lt?: InputMaybe; + txHash_lte?: InputMaybe; + txHash_not_contains?: InputMaybe; + txHash_not_containsInsensitive?: InputMaybe; + txHash_not_endsWith?: InputMaybe; + txHash_not_eq?: InputMaybe; + txHash_not_in?: InputMaybe>; + txHash_not_startsWith?: InputMaybe; + txHash_startsWith?: InputMaybe; + yield_eq?: InputMaybe; + yield_gt?: InputMaybe; + yield_gte?: InputMaybe; + yield_in?: InputMaybe>; + yield_isNull?: InputMaybe; + yield_lt?: InputMaybe; + yield_lte?: InputMaybe; + yield_not_eq?: InputMaybe; + yield_not_in?: InputMaybe>; +}; + +export type OusdRebasesConnection = { + __typename?: 'OUSDRebasesConnection'; + edges: Array; + pageInfo: PageInfo; + totalCount: Scalars['Int']['output']; +}; + +/** The Vault entity tracks the OUSD vault balance over time. */ +export type OusdVault = { + __typename?: 'OUSDVault'; + blockNumber: Scalars['Int']['output']; + dai: Scalars['BigInt']['output']; + id: Scalars['String']['output']; + timestamp: Scalars['DateTime']['output']; + usdc: Scalars['BigInt']['output']; + usdt: Scalars['BigInt']['output']; +}; + +export type OusdVaultEdge = { + __typename?: 'OUSDVaultEdge'; + cursor: Scalars['String']['output']; + node: OusdVault; +}; + +export enum OusdVaultOrderByInput { + BlockNumberAsc = 'blockNumber_ASC', + BlockNumberAscNullsFirst = 'blockNumber_ASC_NULLS_FIRST', + BlockNumberDesc = 'blockNumber_DESC', + BlockNumberDescNullsLast = 'blockNumber_DESC_NULLS_LAST', + DaiAsc = 'dai_ASC', + DaiAscNullsFirst = 'dai_ASC_NULLS_FIRST', + DaiDesc = 'dai_DESC', + DaiDescNullsLast = 'dai_DESC_NULLS_LAST', + IdAsc = 'id_ASC', + IdAscNullsFirst = 'id_ASC_NULLS_FIRST', + IdDesc = 'id_DESC', + IdDescNullsLast = 'id_DESC_NULLS_LAST', + TimestampAsc = 'timestamp_ASC', + TimestampAscNullsFirst = 'timestamp_ASC_NULLS_FIRST', + TimestampDesc = 'timestamp_DESC', + TimestampDescNullsLast = 'timestamp_DESC_NULLS_LAST', + UsdcAsc = 'usdc_ASC', + UsdcAscNullsFirst = 'usdc_ASC_NULLS_FIRST', + UsdcDesc = 'usdc_DESC', + UsdcDescNullsLast = 'usdc_DESC_NULLS_LAST', + UsdtAsc = 'usdt_ASC', + UsdtAscNullsFirst = 'usdt_ASC_NULLS_FIRST', + UsdtDesc = 'usdt_DESC', + UsdtDescNullsLast = 'usdt_DESC_NULLS_LAST' +} + +export type OusdVaultWhereInput = { + AND?: InputMaybe>; + OR?: InputMaybe>; + blockNumber_eq?: InputMaybe; + blockNumber_gt?: InputMaybe; + blockNumber_gte?: InputMaybe; + blockNumber_in?: InputMaybe>; + blockNumber_isNull?: InputMaybe; + blockNumber_lt?: InputMaybe; + blockNumber_lte?: InputMaybe; + blockNumber_not_eq?: InputMaybe; + blockNumber_not_in?: InputMaybe>; + dai_eq?: InputMaybe; + dai_gt?: InputMaybe; + dai_gte?: InputMaybe; + dai_in?: InputMaybe>; + dai_isNull?: InputMaybe; + dai_lt?: InputMaybe; + dai_lte?: InputMaybe; + dai_not_eq?: InputMaybe; + dai_not_in?: InputMaybe>; + id_contains?: InputMaybe; + id_containsInsensitive?: InputMaybe; + id_endsWith?: InputMaybe; + id_eq?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_isNull?: InputMaybe; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not_contains?: InputMaybe; + id_not_containsInsensitive?: InputMaybe; + id_not_endsWith?: InputMaybe; + id_not_eq?: InputMaybe; + id_not_in?: InputMaybe>; + id_not_startsWith?: InputMaybe; + id_startsWith?: InputMaybe; + timestamp_eq?: InputMaybe; + timestamp_gt?: InputMaybe; + timestamp_gte?: InputMaybe; + timestamp_in?: InputMaybe>; + timestamp_isNull?: InputMaybe; + timestamp_lt?: InputMaybe; + timestamp_lte?: InputMaybe; + timestamp_not_eq?: InputMaybe; + timestamp_not_in?: InputMaybe>; + usdc_eq?: InputMaybe; + usdc_gt?: InputMaybe; + usdc_gte?: InputMaybe; + usdc_in?: InputMaybe>; + usdc_isNull?: InputMaybe; + usdc_lt?: InputMaybe; + usdc_lte?: InputMaybe; + usdc_not_eq?: InputMaybe; + usdc_not_in?: InputMaybe>; + usdt_eq?: InputMaybe; + usdt_gt?: InputMaybe; + usdt_gte?: InputMaybe; + usdt_in?: InputMaybe>; + usdt_isNull?: InputMaybe; + usdt_lt?: InputMaybe; + usdt_lte?: InputMaybe; + usdt_not_eq?: InputMaybe; + usdt_not_in?: InputMaybe>; +}; + +export type OusdVaultsConnection = { + __typename?: 'OUSDVaultsConnection'; + edges: Array; + pageInfo: PageInfo; + totalCount: Scalars['Int']['output']; +}; + +export type OusdWhereInput = { + AND?: InputMaybe>; + OR?: InputMaybe>; + blockNumber_eq?: InputMaybe; + blockNumber_gt?: InputMaybe; + blockNumber_gte?: InputMaybe; + blockNumber_in?: InputMaybe>; + blockNumber_isNull?: InputMaybe; + blockNumber_lt?: InputMaybe; + blockNumber_lte?: InputMaybe; + blockNumber_not_eq?: InputMaybe; + blockNumber_not_in?: InputMaybe>; + id_contains?: InputMaybe; + id_containsInsensitive?: InputMaybe; + id_endsWith?: InputMaybe; + id_eq?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_isNull?: InputMaybe; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not_contains?: InputMaybe; + id_not_containsInsensitive?: InputMaybe; + id_not_endsWith?: InputMaybe; + id_not_eq?: InputMaybe; + id_not_in?: InputMaybe>; + id_not_startsWith?: InputMaybe; + id_startsWith?: InputMaybe; + nonRebasingSupply_eq?: InputMaybe; + nonRebasingSupply_gt?: InputMaybe; + nonRebasingSupply_gte?: InputMaybe; + nonRebasingSupply_in?: InputMaybe>; + nonRebasingSupply_isNull?: InputMaybe; + nonRebasingSupply_lt?: InputMaybe; + nonRebasingSupply_lte?: InputMaybe; + nonRebasingSupply_not_eq?: InputMaybe; + nonRebasingSupply_not_in?: InputMaybe>; + rebasingSupply_eq?: InputMaybe; + rebasingSupply_gt?: InputMaybe; + rebasingSupply_gte?: InputMaybe; + rebasingSupply_in?: InputMaybe>; + rebasingSupply_isNull?: InputMaybe; + rebasingSupply_lt?: InputMaybe; + rebasingSupply_lte?: InputMaybe; + rebasingSupply_not_eq?: InputMaybe; + rebasingSupply_not_in?: InputMaybe>; + timestamp_eq?: InputMaybe; + timestamp_gt?: InputMaybe; + timestamp_gte?: InputMaybe; + timestamp_in?: InputMaybe>; + timestamp_isNull?: InputMaybe; + timestamp_lt?: InputMaybe; + timestamp_lte?: InputMaybe; + timestamp_not_eq?: InputMaybe; + timestamp_not_in?: InputMaybe>; + totalSupply_eq?: InputMaybe; + totalSupply_gt?: InputMaybe; + totalSupply_gte?: InputMaybe; + totalSupply_in?: InputMaybe>; + totalSupply_isNull?: InputMaybe; + totalSupply_lt?: InputMaybe; + totalSupply_lte?: InputMaybe; + totalSupply_not_eq?: InputMaybe; + totalSupply_not_in?: InputMaybe>; +}; + +export type OusDsConnection = { + __typename?: 'OUSDsConnection'; + edges: Array; + pageInfo: PageInfo; + totalCount: Scalars['Int']['output']; +}; + +export type PageInfo = { + __typename?: 'PageInfo'; + endCursor: Scalars['String']['output']; + hasNextPage: Scalars['Boolean']['output']; + hasPreviousPage: Scalars['Boolean']['output']; + startCursor: Scalars['String']['output']; +}; + +export type Query = { + __typename?: 'Query'; + balanceById?: Maybe; + /** @deprecated Use balanceById */ + balanceByUniqueInput?: Maybe; + balances: Array; + balancesConnection: BalancesConnection; + curvePoolBalanceById?: Maybe; + /** @deprecated Use curvePoolBalanceById */ + curvePoolBalanceByUniqueInput?: Maybe; + curvePoolBalances: Array; + curvePoolBalancesConnection: CurvePoolBalancesConnection; + exchangeRateById?: Maybe; + /** @deprecated Use exchangeRateById */ + exchangeRateByUniqueInput?: Maybe; + exchangeRates: Array; + exchangeRatesConnection: ExchangeRatesConnection; + makerDsrStrategies: Array; + makerDsrStrategiesConnection: MakerDsrStrategiesConnection; + makerDsrStrategyById?: Maybe; + /** @deprecated Use makerDsrStrategyById */ + makerDsrStrategyByUniqueInput?: Maybe; + oethAddressById?: Maybe; + /** @deprecated Use oethAddressById */ + oethAddressByUniqueInput?: Maybe; + oethAddresses: Array; + oethAddressesConnection: OethAddressesConnection; + oethBalancerMetaPoolStrategies: Array; + oethBalancerMetaPoolStrategiesConnection: OethBalancerMetaPoolStrategiesConnection; + oethBalancerMetaPoolStrategyById?: Maybe; + /** @deprecated Use oethBalancerMetaPoolStrategyById */ + oethBalancerMetaPoolStrategyByUniqueInput?: Maybe; + oethById?: Maybe; + /** @deprecated Use oethById */ + oethByUniqueInput?: Maybe; + oethCollateralDailyStatById?: Maybe; + /** @deprecated Use oethCollateralDailyStatById */ + oethCollateralDailyStatByUniqueInput?: Maybe; + oethCollateralDailyStats: Array; + oethCollateralDailyStatsConnection: OethCollateralDailyStatsConnection; + oethCurveLpById?: Maybe; + /** @deprecated Use oethCurveLpById */ + oethCurveLpByUniqueInput?: Maybe; + oethCurveLps: Array; + oethCurveLpsConnection: OethCurveLPsConnection; + oethDailyStatById?: Maybe; + /** @deprecated Use oethDailyStatById */ + oethDailyStatByUniqueInput?: Maybe; + oethDailyStats: Array; + oethDailyStatsConnection: OethDailyStatsConnection; + oethDripperById?: Maybe; + /** @deprecated Use oethDripperById */ + oethDripperByUniqueInput?: Maybe; + oethDrippers: Array; + oethDrippersConnection: OethDrippersConnection; + oethFraxStakingById?: Maybe; + /** @deprecated Use oethFraxStakingById */ + oethFraxStakingByUniqueInput?: Maybe; + oethFraxStakings: Array; + oethFraxStakingsConnection: OethFraxStakingsConnection; + oethHistories: Array; + oethHistoriesConnection: OethHistoriesConnection; + oethHistoryById?: Maybe; + /** @deprecated Use oethHistoryById */ + oethHistoryByUniqueInput?: Maybe; + oethMorphoAaveById?: Maybe; + /** @deprecated Use oethMorphoAaveById */ + oethMorphoAaveByUniqueInput?: Maybe; + oethMorphoAaves: Array; + oethMorphoAavesConnection: OethMorphoAavesConnection; + oethRebaseById?: Maybe; + /** @deprecated Use oethRebaseById */ + oethRebaseByUniqueInput?: Maybe; + oethRebaseOptionById?: Maybe; + /** @deprecated Use oethRebaseOptionById */ + oethRebaseOptionByUniqueInput?: Maybe; + oethRebaseOptions: Array; + oethRebaseOptionsConnection: OethRebaseOptionsConnection; + oethRebases: Array; + oethRebasesConnection: OethRebasesConnection; + oethRewardTokenCollectedById?: Maybe; + /** @deprecated Use oethRewardTokenCollectedById */ + oethRewardTokenCollectedByUniqueInput?: Maybe; + oethRewardTokenCollecteds: Array; + oethRewardTokenCollectedsConnection: OethRewardTokenCollectedsConnection; + oethStrategyDailyStatById?: Maybe; + /** @deprecated Use oethStrategyDailyStatById */ + oethStrategyDailyStatByUniqueInput?: Maybe; + oethStrategyDailyStats: Array; + oethStrategyDailyStatsConnection: OethStrategyDailyStatsConnection; + oethStrategyHoldingDailyStatById?: Maybe; + /** @deprecated Use oethStrategyHoldingDailyStatById */ + oethStrategyHoldingDailyStatByUniqueInput?: Maybe; + oethStrategyHoldingDailyStats: Array; + oethStrategyHoldingDailyStatsConnection: OethStrategyHoldingDailyStatsConnection; + oethVaultById?: Maybe; + /** @deprecated Use oethVaultById */ + oethVaultByUniqueInput?: Maybe; + oethVaults: Array; + oethVaultsConnection: OethVaultsConnection; + oethapies: Array; + oethapiesConnection: OethaPiesConnection; + oethapyById?: Maybe; + /** @deprecated Use oethapyById */ + oethapyByUniqueInput?: Maybe; + oeths: Array; + oethsConnection: OetHsConnection; + ogvById?: Maybe; + /** @deprecated Use ogvById */ + ogvByUniqueInput?: Maybe; + ogvGovernanceById?: Maybe; + /** @deprecated Use ogvGovernanceById */ + ogvGovernanceByUniqueInput?: Maybe; + ogvGovernances: Array; + ogvGovernancesConnection: OgvGovernancesConnection; + ogvs: Array; + ogvsConnection: OgVsConnection; + ousdAaveStrategies: Array; + ousdAaveStrategiesConnection: OusdAaveStrategiesConnection; + ousdAaveStrategyById?: Maybe; + /** @deprecated Use ousdAaveStrategyById */ + ousdAaveStrategyByUniqueInput?: Maybe; + ousdAddressById?: Maybe; + /** @deprecated Use ousdAddressById */ + ousdAddressByUniqueInput?: Maybe; + ousdAddresses: Array; + ousdAddressesConnection: OusdAddressesConnection; + ousdById?: Maybe; + /** @deprecated Use ousdById */ + ousdByUniqueInput?: Maybe; + ousdCompoundStrategies: Array; + ousdCompoundStrategiesConnection: OusdCompoundStrategiesConnection; + ousdCompoundStrategyById?: Maybe; + /** @deprecated Use ousdCompoundStrategyById */ + ousdCompoundStrategyByUniqueInput?: Maybe; + ousdConvexLusdPlus3CrvById?: Maybe; + /** @deprecated Use ousdConvexLusdPlus3CrvById */ + ousdConvexLusdPlus3CrvByUniqueInput?: Maybe; + ousdConvexLusdPlus3Crvs: Array; + ousdConvexLusdPlus3CrvsConnection: OusdConvexLusdPlus3CrvsConnection; + ousdConvexStrategies: Array; + ousdConvexStrategiesConnection: OusdConvexStrategiesConnection; + ousdConvexStrategyById?: Maybe; + /** @deprecated Use ousdConvexStrategyById */ + ousdConvexStrategyByUniqueInput?: Maybe; + ousdFluxStrategies: Array; + ousdFluxStrategiesConnection: OusdFluxStrategiesConnection; + ousdFluxStrategyById?: Maybe; + /** @deprecated Use ousdFluxStrategyById */ + ousdFluxStrategyByUniqueInput?: Maybe; + ousdHistories: Array; + ousdHistoriesConnection: OusdHistoriesConnection; + ousdHistoryById?: Maybe; + /** @deprecated Use ousdHistoryById */ + ousdHistoryByUniqueInput?: Maybe; + ousdMetaStrategies: Array; + ousdMetaStrategiesConnection: OusdMetaStrategiesConnection; + ousdMetaStrategyById?: Maybe; + /** @deprecated Use ousdMetaStrategyById */ + ousdMetaStrategyByUniqueInput?: Maybe; + ousdMorphoAaveById?: Maybe; + /** @deprecated Use ousdMorphoAaveById */ + ousdMorphoAaveByUniqueInput?: Maybe; + ousdMorphoAaves: Array; + ousdMorphoAavesConnection: OusdMorphoAavesConnection; + ousdMorphoCompoundById?: Maybe; + /** @deprecated Use ousdMorphoCompoundById */ + ousdMorphoCompoundByUniqueInput?: Maybe; + ousdMorphoCompounds: Array; + ousdMorphoCompoundsConnection: OusdMorphoCompoundsConnection; + ousdRebaseById?: Maybe; + /** @deprecated Use ousdRebaseById */ + ousdRebaseByUniqueInput?: Maybe; + ousdRebaseOptionById?: Maybe; + /** @deprecated Use ousdRebaseOptionById */ + ousdRebaseOptionByUniqueInput?: Maybe; + ousdRebaseOptions: Array; + ousdRebaseOptionsConnection: OusdRebaseOptionsConnection; + ousdRebases: Array; + ousdRebasesConnection: OusdRebasesConnection; + ousdVaultById?: Maybe; + /** @deprecated Use ousdVaultById */ + ousdVaultByUniqueInput?: Maybe; + ousdVaults: Array; + ousdVaultsConnection: OusdVaultsConnection; + ousdapies: Array; + ousdapiesConnection: OusdaPiesConnection; + ousdapyById?: Maybe; + /** @deprecated Use ousdapyById */ + ousdapyByUniqueInput?: Maybe; + ousds: Array; + ousdsConnection: OusDsConnection; + squidStatus?: Maybe; + stakedOgvById?: Maybe; + /** @deprecated Use stakedOgvById */ + stakedOgvByUniqueInput?: Maybe; + stakedOgvs: Array; + stakedOgvsConnection: StakedOgVsConnection; + strategyBalanceById?: Maybe; + /** @deprecated Use strategyBalanceById */ + strategyBalanceByUniqueInput?: Maybe; + strategyBalances: Array; + strategyBalancesConnection: StrategyBalancesConnection; +}; + + +export type QueryBalanceByIdArgs = { + id: Scalars['String']['input']; +}; + + +export type QueryBalanceByUniqueInputArgs = { + where: WhereIdInput; +}; + + +export type QueryBalancesArgs = { + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; +}; + + +export type QueryBalancesConnectionArgs = { + after?: InputMaybe; + first?: InputMaybe; + orderBy: Array; + where?: InputMaybe; +}; + + +export type QueryCurvePoolBalanceByIdArgs = { + id: Scalars['String']['input']; +}; + + +export type QueryCurvePoolBalanceByUniqueInputArgs = { + where: WhereIdInput; +}; + + +export type QueryCurvePoolBalancesArgs = { + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; +}; + + +export type QueryCurvePoolBalancesConnectionArgs = { + after?: InputMaybe; + first?: InputMaybe; + orderBy: Array; + where?: InputMaybe; +}; + + +export type QueryExchangeRateByIdArgs = { + id: Scalars['String']['input']; +}; + + +export type QueryExchangeRateByUniqueInputArgs = { + where: WhereIdInput; +}; + + +export type QueryExchangeRatesArgs = { + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; +}; + + +export type QueryExchangeRatesConnectionArgs = { + after?: InputMaybe; + first?: InputMaybe; + orderBy: Array; + where?: InputMaybe; +}; + + +export type QueryMakerDsrStrategiesArgs = { + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; +}; + + +export type QueryMakerDsrStrategiesConnectionArgs = { + after?: InputMaybe; + first?: InputMaybe; + orderBy: Array; + where?: InputMaybe; +}; + + +export type QueryMakerDsrStrategyByIdArgs = { + id: Scalars['String']['input']; +}; + + +export type QueryMakerDsrStrategyByUniqueInputArgs = { + where: WhereIdInput; +}; + + +export type QueryOethAddressByIdArgs = { + id: Scalars['String']['input']; +}; + + +export type QueryOethAddressByUniqueInputArgs = { + where: WhereIdInput; +}; + + +export type QueryOethAddressesArgs = { + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; +}; + + +export type QueryOethAddressesConnectionArgs = { + after?: InputMaybe; + first?: InputMaybe; + orderBy: Array; + where?: InputMaybe; +}; + + +export type QueryOethBalancerMetaPoolStrategiesArgs = { + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; +}; + + +export type QueryOethBalancerMetaPoolStrategiesConnectionArgs = { + after?: InputMaybe; + first?: InputMaybe; + orderBy: Array; + where?: InputMaybe; +}; + + +export type QueryOethBalancerMetaPoolStrategyByIdArgs = { + id: Scalars['String']['input']; +}; + + +export type QueryOethBalancerMetaPoolStrategyByUniqueInputArgs = { + where: WhereIdInput; +}; + + +export type QueryOethByIdArgs = { + id: Scalars['String']['input']; +}; + + +export type QueryOethByUniqueInputArgs = { + where: WhereIdInput; +}; + + +export type QueryOethCollateralDailyStatByIdArgs = { + id: Scalars['String']['input']; +}; + + +export type QueryOethCollateralDailyStatByUniqueInputArgs = { + where: WhereIdInput; +}; + + +export type QueryOethCollateralDailyStatsArgs = { + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; +}; + + +export type QueryOethCollateralDailyStatsConnectionArgs = { + after?: InputMaybe; + first?: InputMaybe; + orderBy: Array; + where?: InputMaybe; +}; + + +export type QueryOethCurveLpByIdArgs = { + id: Scalars['String']['input']; +}; + + +export type QueryOethCurveLpByUniqueInputArgs = { + where: WhereIdInput; +}; + + +export type QueryOethCurveLpsArgs = { + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; +}; + + +export type QueryOethCurveLpsConnectionArgs = { + after?: InputMaybe; + first?: InputMaybe; + orderBy: Array; + where?: InputMaybe; +}; + + +export type QueryOethDailyStatByIdArgs = { + id: Scalars['String']['input']; +}; + + +export type QueryOethDailyStatByUniqueInputArgs = { + where: WhereIdInput; +}; + + +export type QueryOethDailyStatsArgs = { + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; +}; + + +export type QueryOethDailyStatsConnectionArgs = { + after?: InputMaybe; + first?: InputMaybe; + orderBy: Array; + where?: InputMaybe; +}; + + +export type QueryOethDripperByIdArgs = { + id: Scalars['String']['input']; +}; + + +export type QueryOethDripperByUniqueInputArgs = { + where: WhereIdInput; +}; + + +export type QueryOethDrippersArgs = { + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; +}; + + +export type QueryOethDrippersConnectionArgs = { + after?: InputMaybe; + first?: InputMaybe; + orderBy: Array; + where?: InputMaybe; +}; + + +export type QueryOethFraxStakingByIdArgs = { + id: Scalars['String']['input']; +}; + + +export type QueryOethFraxStakingByUniqueInputArgs = { + where: WhereIdInput; +}; + + +export type QueryOethFraxStakingsArgs = { + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; +}; + + +export type QueryOethFraxStakingsConnectionArgs = { + after?: InputMaybe; + first?: InputMaybe; + orderBy: Array; + where?: InputMaybe; +}; + + +export type QueryOethHistoriesArgs = { + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; +}; + + +export type QueryOethHistoriesConnectionArgs = { + after?: InputMaybe; + first?: InputMaybe; + orderBy: Array; + where?: InputMaybe; +}; + + +export type QueryOethHistoryByIdArgs = { + id: Scalars['String']['input']; +}; + + +export type QueryOethHistoryByUniqueInputArgs = { + where: WhereIdInput; +}; + + +export type QueryOethMorphoAaveByIdArgs = { + id: Scalars['String']['input']; +}; + + +export type QueryOethMorphoAaveByUniqueInputArgs = { + where: WhereIdInput; +}; + + +export type QueryOethMorphoAavesArgs = { + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; +}; + + +export type QueryOethMorphoAavesConnectionArgs = { + after?: InputMaybe; + first?: InputMaybe; + orderBy: Array; + where?: InputMaybe; +}; + + +export type QueryOethRebaseByIdArgs = { + id: Scalars['String']['input']; +}; + + +export type QueryOethRebaseByUniqueInputArgs = { + where: WhereIdInput; +}; + + +export type QueryOethRebaseOptionByIdArgs = { + id: Scalars['String']['input']; +}; + + +export type QueryOethRebaseOptionByUniqueInputArgs = { + where: WhereIdInput; +}; + + +export type QueryOethRebaseOptionsArgs = { + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; +}; + + +export type QueryOethRebaseOptionsConnectionArgs = { + after?: InputMaybe; + first?: InputMaybe; + orderBy: Array; + where?: InputMaybe; +}; + + +export type QueryOethRebasesArgs = { + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; +}; + + +export type QueryOethRebasesConnectionArgs = { + after?: InputMaybe; + first?: InputMaybe; + orderBy: Array; + where?: InputMaybe; +}; + + +export type QueryOethRewardTokenCollectedByIdArgs = { + id: Scalars['String']['input']; +}; + + +export type QueryOethRewardTokenCollectedByUniqueInputArgs = { + where: WhereIdInput; +}; + + +export type QueryOethRewardTokenCollectedsArgs = { + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; +}; + + +export type QueryOethRewardTokenCollectedsConnectionArgs = { + after?: InputMaybe; + first?: InputMaybe; + orderBy: Array; + where?: InputMaybe; +}; + + +export type QueryOethStrategyDailyStatByIdArgs = { + id: Scalars['String']['input']; +}; + + +export type QueryOethStrategyDailyStatByUniqueInputArgs = { + where: WhereIdInput; +}; + + +export type QueryOethStrategyDailyStatsArgs = { + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; +}; + + +export type QueryOethStrategyDailyStatsConnectionArgs = { + after?: InputMaybe; + first?: InputMaybe; + orderBy: Array; + where?: InputMaybe; +}; + + +export type QueryOethStrategyHoldingDailyStatByIdArgs = { + id: Scalars['String']['input']; +}; + + +export type QueryOethStrategyHoldingDailyStatByUniqueInputArgs = { + where: WhereIdInput; +}; + + +export type QueryOethStrategyHoldingDailyStatsArgs = { + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; +}; + + +export type QueryOethStrategyHoldingDailyStatsConnectionArgs = { + after?: InputMaybe; + first?: InputMaybe; + orderBy: Array; + where?: InputMaybe; +}; + + +export type QueryOethVaultByIdArgs = { + id: Scalars['String']['input']; +}; + + +export type QueryOethVaultByUniqueInputArgs = { + where: WhereIdInput; +}; + + +export type QueryOethVaultsArgs = { + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; +}; + + +export type QueryOethVaultsConnectionArgs = { + after?: InputMaybe; + first?: InputMaybe; + orderBy: Array; + where?: InputMaybe; +}; + + +export type QueryOethapiesArgs = { + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; +}; + + +export type QueryOethapiesConnectionArgs = { + after?: InputMaybe; + first?: InputMaybe; + orderBy: Array; + where?: InputMaybe; +}; + + +export type QueryOethapyByIdArgs = { + id: Scalars['String']['input']; +}; + + +export type QueryOethapyByUniqueInputArgs = { + where: WhereIdInput; +}; + + +export type QueryOethsArgs = { + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; +}; + + +export type QueryOethsConnectionArgs = { + after?: InputMaybe; + first?: InputMaybe; + orderBy: Array; + where?: InputMaybe; }; -export type ProofOfYieldByIdResult = { - __typename?: 'ProofOfYieldByIdResult'; - amoSupply: Scalars['BigInt']['output']; - apy: Scalars['Float']['output']; - fees: Scalars['BigInt']['output']; - id: Scalars['String']['output']; - nonRebasingSupply: Scalars['BigInt']['output']; - rebasingSupply: Scalars['BigInt']['output']; - timestamp: Scalars['DateTime']['output']; - totalSupply: Scalars['BigInt']['output']; - yield: Scalars['BigInt']['output']; -}; -export type ProofOfYieldResult = { - __typename?: 'ProofOfYieldResult'; - apy: Scalars['Float']['output']; - id: Scalars['String']['output']; - rebasingSupply: Scalars['BigInt']['output']; - timestamp: Scalars['DateTime']['output']; - yield: Scalars['BigInt']['output']; +export type QueryOgvByIdArgs = { + id: Scalars['String']['input']; }; -export type Query = { - __typename?: 'Query'; - addressById?: Maybe
; - /** @deprecated Use addressById */ - addressByUniqueInput?: Maybe
; - addresses: Array
; - addressesConnection: AddressesConnection; - apies: Array; - apiesConnection: APiesConnection; - apyById?: Maybe; - /** @deprecated Use apyById */ - apyByUniqueInput?: Maybe; - balancerMetaPoolStrategies: Array; - balancerMetaPoolStrategiesConnection: BalancerMetaPoolStrategiesConnection; - balancerMetaPoolStrategyById?: Maybe; - /** @deprecated Use balancerMetaPoolStrategyById */ - balancerMetaPoolStrategyByUniqueInput?: Maybe; - curveLpById?: Maybe; - /** @deprecated Use curveLpById */ - curveLpByUniqueInput?: Maybe; - curveLps: Array; - curveLpsConnection: CurveLPsConnection; - dripperById?: Maybe; - /** @deprecated Use dripperById */ - dripperByUniqueInput?: Maybe; - drippers: Array; - drippersConnection: DrippersConnection; - exchangeRateById?: Maybe; - /** @deprecated Use exchangeRateById */ - exchangeRateByUniqueInput?: Maybe; - exchangeRates: Array; - exchangeRatesConnection: ExchangeRatesConnection; - fraxStakingById?: Maybe; - /** @deprecated Use fraxStakingById */ - fraxStakingByUniqueInput?: Maybe; - fraxStakings: Array; - fraxStakingsConnection: FraxStakingsConnection; - histories: Array; - historiesConnection: HistoriesConnection; - historyById?: Maybe; - /** @deprecated Use historyById */ - historyByUniqueInput?: Maybe; - morphoAaveById?: Maybe; - /** @deprecated Use morphoAaveById */ - morphoAaveByUniqueInput?: Maybe; - morphoAaves: Array; - morphoAavesConnection: MorphoAavesConnection; - oethById?: Maybe; - /** @deprecated Use oethById */ - oethByUniqueInput?: Maybe; - oeths: Array; - oethsConnection: OetHsConnection; - proofOfYieldById?: Maybe; - proofOfYields: Array; - rebaseById?: Maybe; - /** @deprecated Use rebaseById */ - rebaseByUniqueInput?: Maybe; - rebaseOptionById?: Maybe; - /** @deprecated Use rebaseOptionById */ - rebaseOptionByUniqueInput?: Maybe; - rebaseOptions: Array; - rebaseOptionsConnection: RebaseOptionsConnection; - rebases: Array; - rebasesConnection: RebasesConnection; - squidStatus?: Maybe; - vaultById?: Maybe; - /** @deprecated Use vaultById */ - vaultByUniqueInput?: Maybe; - vaults: Array; - vaultsConnection: VaultsConnection; + +export type QueryOgvByUniqueInputArgs = { + where: WhereIdInput; }; -export type QueryAddressByIdArgs = { +export type QueryOgvGovernanceByIdArgs = { id: Scalars['String']['input']; }; -export type QueryAddressByUniqueInputArgs = { +export type QueryOgvGovernanceByUniqueInputArgs = { where: WhereIdInput; }; -export type QueryAddressesArgs = { +export type QueryOgvGovernancesArgs = { limit?: InputMaybe; offset?: InputMaybe; - orderBy?: InputMaybe>; - where?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; }; -export type QueryAddressesConnectionArgs = { +export type QueryOgvGovernancesConnectionArgs = { after?: InputMaybe; first?: InputMaybe; - orderBy: Array; - where?: InputMaybe; + orderBy: Array; + where?: InputMaybe; }; -export type QueryApiesArgs = { +export type QueryOgvsArgs = { limit?: InputMaybe; offset?: InputMaybe; - orderBy?: InputMaybe>; - where?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; }; -export type QueryApiesConnectionArgs = { +export type QueryOgvsConnectionArgs = { after?: InputMaybe; first?: InputMaybe; - orderBy: Array; - where?: InputMaybe; + orderBy: Array; + where?: InputMaybe; }; -export type QueryApyByIdArgs = { - id: Scalars['String']['input']; +export type QueryOusdAaveStrategiesArgs = { + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; }; -export type QueryApyByUniqueInputArgs = { - where: WhereIdInput; +export type QueryOusdAaveStrategiesConnectionArgs = { + after?: InputMaybe; + first?: InputMaybe; + orderBy: Array; + where?: InputMaybe; }; -export type QueryBalancerMetaPoolStrategiesArgs = { - limit?: InputMaybe; - offset?: InputMaybe; - orderBy?: InputMaybe>; - where?: InputMaybe; +export type QueryOusdAaveStrategyByIdArgs = { + id: Scalars['String']['input']; }; -export type QueryBalancerMetaPoolStrategiesConnectionArgs = { - after?: InputMaybe; - first?: InputMaybe; - orderBy: Array; - where?: InputMaybe; +export type QueryOusdAaveStrategyByUniqueInputArgs = { + where: WhereIdInput; }; -export type QueryBalancerMetaPoolStrategyByIdArgs = { +export type QueryOusdAddressByIdArgs = { id: Scalars['String']['input']; }; -export type QueryBalancerMetaPoolStrategyByUniqueInputArgs = { +export type QueryOusdAddressByUniqueInputArgs = { where: WhereIdInput; }; -export type QueryCurveLpByIdArgs = { +export type QueryOusdAddressesArgs = { + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; +}; + + +export type QueryOusdAddressesConnectionArgs = { + after?: InputMaybe; + first?: InputMaybe; + orderBy: Array; + where?: InputMaybe; +}; + + +export type QueryOusdByIdArgs = { id: Scalars['String']['input']; }; -export type QueryCurveLpByUniqueInputArgs = { +export type QueryOusdByUniqueInputArgs = { where: WhereIdInput; }; -export type QueryCurveLpsArgs = { +export type QueryOusdCompoundStrategiesArgs = { limit?: InputMaybe; offset?: InputMaybe; - orderBy?: InputMaybe>; - where?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; }; -export type QueryCurveLpsConnectionArgs = { +export type QueryOusdCompoundStrategiesConnectionArgs = { after?: InputMaybe; first?: InputMaybe; - orderBy: Array; - where?: InputMaybe; + orderBy: Array; + where?: InputMaybe; +}; + + +export type QueryOusdCompoundStrategyByIdArgs = { + id: Scalars['String']['input']; +}; + + +export type QueryOusdCompoundStrategyByUniqueInputArgs = { + where: WhereIdInput; }; -export type QueryDripperByIdArgs = { +export type QueryOusdConvexLusdPlus3CrvByIdArgs = { id: Scalars['String']['input']; }; -export type QueryDripperByUniqueInputArgs = { +export type QueryOusdConvexLusdPlus3CrvByUniqueInputArgs = { where: WhereIdInput; }; -export type QueryDrippersArgs = { +export type QueryOusdConvexLusdPlus3CrvsArgs = { limit?: InputMaybe; offset?: InputMaybe; - orderBy?: InputMaybe>; - where?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; }; -export type QueryDrippersConnectionArgs = { +export type QueryOusdConvexLusdPlus3CrvsConnectionArgs = { after?: InputMaybe; first?: InputMaybe; - orderBy: Array; - where?: InputMaybe; + orderBy: Array; + where?: InputMaybe; }; -export type QueryExchangeRateByIdArgs = { +export type QueryOusdConvexStrategiesArgs = { + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; +}; + + +export type QueryOusdConvexStrategiesConnectionArgs = { + after?: InputMaybe; + first?: InputMaybe; + orderBy: Array; + where?: InputMaybe; +}; + + +export type QueryOusdConvexStrategyByIdArgs = { id: Scalars['String']['input']; }; -export type QueryExchangeRateByUniqueInputArgs = { +export type QueryOusdConvexStrategyByUniqueInputArgs = { where: WhereIdInput; }; -export type QueryExchangeRatesArgs = { +export type QueryOusdFluxStrategiesArgs = { limit?: InputMaybe; offset?: InputMaybe; - orderBy?: InputMaybe>; - where?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; }; -export type QueryExchangeRatesConnectionArgs = { +export type QueryOusdFluxStrategiesConnectionArgs = { after?: InputMaybe; first?: InputMaybe; - orderBy: Array; - where?: InputMaybe; + orderBy: Array; + where?: InputMaybe; }; -export type QueryFraxStakingByIdArgs = { +export type QueryOusdFluxStrategyByIdArgs = { id: Scalars['String']['input']; }; -export type QueryFraxStakingByUniqueInputArgs = { +export type QueryOusdFluxStrategyByUniqueInputArgs = { where: WhereIdInput; }; -export type QueryFraxStakingsArgs = { +export type QueryOusdHistoriesArgs = { limit?: InputMaybe; offset?: InputMaybe; - orderBy?: InputMaybe>; - where?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; }; -export type QueryFraxStakingsConnectionArgs = { +export type QueryOusdHistoriesConnectionArgs = { after?: InputMaybe; first?: InputMaybe; - orderBy: Array; - where?: InputMaybe; + orderBy: Array; + where?: InputMaybe; +}; + + +export type QueryOusdHistoryByIdArgs = { + id: Scalars['String']['input']; +}; + + +export type QueryOusdHistoryByUniqueInputArgs = { + where: WhereIdInput; }; -export type QueryHistoriesArgs = { +export type QueryOusdMetaStrategiesArgs = { limit?: InputMaybe; offset?: InputMaybe; - orderBy?: InputMaybe>; - where?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; }; -export type QueryHistoriesConnectionArgs = { +export type QueryOusdMetaStrategiesConnectionArgs = { after?: InputMaybe; first?: InputMaybe; - orderBy: Array; - where?: InputMaybe; + orderBy: Array; + where?: InputMaybe; }; -export type QueryHistoryByIdArgs = { +export type QueryOusdMetaStrategyByIdArgs = { id: Scalars['String']['input']; }; -export type QueryHistoryByUniqueInputArgs = { +export type QueryOusdMetaStrategyByUniqueInputArgs = { where: WhereIdInput; }; -export type QueryMorphoAaveByIdArgs = { +export type QueryOusdMorphoAaveByIdArgs = { id: Scalars['String']['input']; }; -export type QueryMorphoAaveByUniqueInputArgs = { +export type QueryOusdMorphoAaveByUniqueInputArgs = { where: WhereIdInput; }; -export type QueryMorphoAavesArgs = { +export type QueryOusdMorphoAavesArgs = { limit?: InputMaybe; offset?: InputMaybe; - orderBy?: InputMaybe>; - where?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; }; -export type QueryMorphoAavesConnectionArgs = { +export type QueryOusdMorphoAavesConnectionArgs = { after?: InputMaybe; first?: InputMaybe; - orderBy: Array; - where?: InputMaybe; + orderBy: Array; + where?: InputMaybe; }; -export type QueryOethByIdArgs = { +export type QueryOusdMorphoCompoundByIdArgs = { id: Scalars['String']['input']; }; -export type QueryOethByUniqueInputArgs = { +export type QueryOusdMorphoCompoundByUniqueInputArgs = { where: WhereIdInput; }; -export type QueryOethsArgs = { +export type QueryOusdMorphoCompoundsArgs = { limit?: InputMaybe; offset?: InputMaybe; - orderBy?: InputMaybe>; - where?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; }; -export type QueryOethsConnectionArgs = { +export type QueryOusdMorphoCompoundsConnectionArgs = { after?: InputMaybe; first?: InputMaybe; - orderBy: Array; - where?: InputMaybe; + orderBy: Array; + where?: InputMaybe; }; -export type QueryProofOfYieldByIdArgs = { +export type QueryOusdRebaseByIdArgs = { id: Scalars['String']['input']; }; -export type QueryProofOfYieldsArgs = { - limit?: InputMaybe; - offset?: InputMaybe; - orderBy?: InputMaybe; +export type QueryOusdRebaseByUniqueInputArgs = { + where: WhereIdInput; }; -export type QueryRebaseByIdArgs = { +export type QueryOusdRebaseOptionByIdArgs = { id: Scalars['String']['input']; }; -export type QueryRebaseByUniqueInputArgs = { +export type QueryOusdRebaseOptionByUniqueInputArgs = { where: WhereIdInput; }; -export type QueryRebaseOptionByIdArgs = { +export type QueryOusdRebaseOptionsArgs = { + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; +}; + + +export type QueryOusdRebaseOptionsConnectionArgs = { + after?: InputMaybe; + first?: InputMaybe; + orderBy: Array; + where?: InputMaybe; +}; + + +export type QueryOusdRebasesArgs = { + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; +}; + + +export type QueryOusdRebasesConnectionArgs = { + after?: InputMaybe; + first?: InputMaybe; + orderBy: Array; + where?: InputMaybe; +}; + + +export type QueryOusdVaultByIdArgs = { id: Scalars['String']['input']; }; -export type QueryRebaseOptionByUniqueInputArgs = { +export type QueryOusdVaultByUniqueInputArgs = { where: WhereIdInput; }; -export type QueryRebaseOptionsArgs = { +export type QueryOusdVaultsArgs = { limit?: InputMaybe; offset?: InputMaybe; - orderBy?: InputMaybe>; - where?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; }; -export type QueryRebaseOptionsConnectionArgs = { +export type QueryOusdVaultsConnectionArgs = { after?: InputMaybe; first?: InputMaybe; - orderBy: Array; - where?: InputMaybe; + orderBy: Array; + where?: InputMaybe; }; -export type QueryRebasesArgs = { +export type QueryOusdapiesArgs = { limit?: InputMaybe; offset?: InputMaybe; - orderBy?: InputMaybe>; - where?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; }; -export type QueryRebasesConnectionArgs = { +export type QueryOusdapiesConnectionArgs = { after?: InputMaybe; first?: InputMaybe; - orderBy: Array; - where?: InputMaybe; + orderBy: Array; + where?: InputMaybe; }; -export type QueryVaultByIdArgs = { +export type QueryOusdapyByIdArgs = { id: Scalars['String']['input']; }; -export type QueryVaultByUniqueInputArgs = { +export type QueryOusdapyByUniqueInputArgs = { where: WhereIdInput; }; -export type QueryVaultsArgs = { +export type QueryOusdsArgs = { limit?: InputMaybe; offset?: InputMaybe; - orderBy?: InputMaybe>; - where?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; }; -export type QueryVaultsConnectionArgs = { +export type QueryOusdsConnectionArgs = { after?: InputMaybe; first?: InputMaybe; - orderBy: Array; - where?: InputMaybe; + orderBy: Array; + where?: InputMaybe; }; -/** The Rebase entity tracks historical rebase events on the OETH contract. */ -export type Rebase = { - __typename?: 'Rebase'; - apy: Apy; - blockNumber: Scalars['Int']['output']; - fee: Scalars['BigInt']['output']; - id: Scalars['String']['output']; - rebasingCredits: Scalars['BigInt']['output']; - rebasingCreditsPerToken: Scalars['BigInt']['output']; - timestamp: Scalars['DateTime']['output']; - totalSupply: Scalars['BigInt']['output']; - txHash: Scalars['String']['output']; - yield: Scalars['BigInt']['output']; + +export type QueryStakedOgvByIdArgs = { + id: Scalars['String']['input']; }; -export type RebaseEdge = { - __typename?: 'RebaseEdge'; - cursor: Scalars['String']['output']; - node: Rebase; + +export type QueryStakedOgvByUniqueInputArgs = { + where: WhereIdInput; }; -/** The RebaseOption entity tracks historical rebase option changes by address. */ -export type RebaseOption = { - __typename?: 'RebaseOption'; - address: Address; - blockNumber: Scalars['Int']['output']; - id: Scalars['String']['output']; - status: RebasingOption; - timestamp: Scalars['DateTime']['output']; - txHash: Scalars['String']['output']; + +export type QueryStakedOgvsArgs = { + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; }; -export type RebaseOptionEdge = { - __typename?: 'RebaseOptionEdge'; - cursor: Scalars['String']['output']; - node: RebaseOption; + +export type QueryStakedOgvsConnectionArgs = { + after?: InputMaybe; + first?: InputMaybe; + orderBy: Array; + where?: InputMaybe; }; -export enum RebaseOptionOrderByInput { - AddressBalanceAsc = 'address_balance_ASC', - AddressBalanceAscNullsFirst = 'address_balance_ASC_NULLS_FIRST', - AddressBalanceDesc = 'address_balance_DESC', - AddressBalanceDescNullsLast = 'address_balance_DESC_NULLS_LAST', - AddressCreditsAsc = 'address_credits_ASC', - AddressCreditsAscNullsFirst = 'address_credits_ASC_NULLS_FIRST', - AddressCreditsDesc = 'address_credits_DESC', - AddressCreditsDescNullsLast = 'address_credits_DESC_NULLS_LAST', - AddressEarnedAsc = 'address_earned_ASC', - AddressEarnedAscNullsFirst = 'address_earned_ASC_NULLS_FIRST', - AddressEarnedDesc = 'address_earned_DESC', - AddressEarnedDescNullsLast = 'address_earned_DESC_NULLS_LAST', - AddressIdAsc = 'address_id_ASC', - AddressIdAscNullsFirst = 'address_id_ASC_NULLS_FIRST', - AddressIdDesc = 'address_id_DESC', - AddressIdDescNullsLast = 'address_id_DESC_NULLS_LAST', - AddressIsContractAsc = 'address_isContract_ASC', - AddressIsContractAscNullsFirst = 'address_isContract_ASC_NULLS_FIRST', - AddressIsContractDesc = 'address_isContract_DESC', - AddressIsContractDescNullsLast = 'address_isContract_DESC_NULLS_LAST', - AddressLastUpdatedAsc = 'address_lastUpdated_ASC', - AddressLastUpdatedAscNullsFirst = 'address_lastUpdated_ASC_NULLS_FIRST', - AddressLastUpdatedDesc = 'address_lastUpdated_DESC', - AddressLastUpdatedDescNullsLast = 'address_lastUpdated_DESC_NULLS_LAST', - AddressRebasingOptionAsc = 'address_rebasingOption_ASC', - AddressRebasingOptionAscNullsFirst = 'address_rebasingOption_ASC_NULLS_FIRST', - AddressRebasingOptionDesc = 'address_rebasingOption_DESC', - AddressRebasingOptionDescNullsLast = 'address_rebasingOption_DESC_NULLS_LAST', - BlockNumberAsc = 'blockNumber_ASC', - BlockNumberAscNullsFirst = 'blockNumber_ASC_NULLS_FIRST', - BlockNumberDesc = 'blockNumber_DESC', - BlockNumberDescNullsLast = 'blockNumber_DESC_NULLS_LAST', - IdAsc = 'id_ASC', - IdAscNullsFirst = 'id_ASC_NULLS_FIRST', - IdDesc = 'id_DESC', - IdDescNullsLast = 'id_DESC_NULLS_LAST', - StatusAsc = 'status_ASC', - StatusAscNullsFirst = 'status_ASC_NULLS_FIRST', - StatusDesc = 'status_DESC', - StatusDescNullsLast = 'status_DESC_NULLS_LAST', - TimestampAsc = 'timestamp_ASC', - TimestampAscNullsFirst = 'timestamp_ASC_NULLS_FIRST', - TimestampDesc = 'timestamp_DESC', - TimestampDescNullsLast = 'timestamp_DESC_NULLS_LAST', - TxHashAsc = 'txHash_ASC', - TxHashAscNullsFirst = 'txHash_ASC_NULLS_FIRST', - TxHashDesc = 'txHash_DESC', - TxHashDescNullsLast = 'txHash_DESC_NULLS_LAST' -} -export type RebaseOptionWhereInput = { - AND?: InputMaybe>; - OR?: InputMaybe>; - address?: InputMaybe; - address_isNull?: InputMaybe; - blockNumber_eq?: InputMaybe; - blockNumber_gt?: InputMaybe; - blockNumber_gte?: InputMaybe; - blockNumber_in?: InputMaybe>; - blockNumber_isNull?: InputMaybe; - blockNumber_lt?: InputMaybe; - blockNumber_lte?: InputMaybe; - blockNumber_not_eq?: InputMaybe; - blockNumber_not_in?: InputMaybe>; - id_contains?: InputMaybe; - id_containsInsensitive?: InputMaybe; - id_endsWith?: InputMaybe; - id_eq?: InputMaybe; - id_gt?: InputMaybe; - id_gte?: InputMaybe; - id_in?: InputMaybe>; - id_isNull?: InputMaybe; - id_lt?: InputMaybe; - id_lte?: InputMaybe; - id_not_contains?: InputMaybe; - id_not_containsInsensitive?: InputMaybe; - id_not_endsWith?: InputMaybe; - id_not_eq?: InputMaybe; - id_not_in?: InputMaybe>; - id_not_startsWith?: InputMaybe; - id_startsWith?: InputMaybe; - status_eq?: InputMaybe; - status_in?: InputMaybe>; - status_isNull?: InputMaybe; - status_not_eq?: InputMaybe; - status_not_in?: InputMaybe>; - timestamp_eq?: InputMaybe; - timestamp_gt?: InputMaybe; - timestamp_gte?: InputMaybe; - timestamp_in?: InputMaybe>; - timestamp_isNull?: InputMaybe; - timestamp_lt?: InputMaybe; - timestamp_lte?: InputMaybe; - timestamp_not_eq?: InputMaybe; - timestamp_not_in?: InputMaybe>; - txHash_contains?: InputMaybe; - txHash_containsInsensitive?: InputMaybe; - txHash_endsWith?: InputMaybe; - txHash_eq?: InputMaybe; - txHash_gt?: InputMaybe; - txHash_gte?: InputMaybe; - txHash_in?: InputMaybe>; - txHash_isNull?: InputMaybe; - txHash_lt?: InputMaybe; - txHash_lte?: InputMaybe; - txHash_not_contains?: InputMaybe; - txHash_not_containsInsensitive?: InputMaybe; - txHash_not_endsWith?: InputMaybe; - txHash_not_eq?: InputMaybe; - txHash_not_in?: InputMaybe>; - txHash_not_startsWith?: InputMaybe; - txHash_startsWith?: InputMaybe; +export type QueryStrategyBalanceByIdArgs = { + id: Scalars['String']['input']; +}; + + +export type QueryStrategyBalanceByUniqueInputArgs = { + where: WhereIdInput; }; -export type RebaseOptionsConnection = { - __typename?: 'RebaseOptionsConnection'; - edges: Array; - pageInfo: PageInfo; - totalCount: Scalars['Int']['output']; + +export type QueryStrategyBalancesArgs = { + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; }; -export enum RebaseOrderByInput { - ApyAprAsc = 'apy_apr_ASC', - ApyAprAscNullsFirst = 'apy_apr_ASC_NULLS_FIRST', - ApyAprDesc = 'apy_apr_DESC', - ApyAprDescNullsLast = 'apy_apr_DESC_NULLS_LAST', - ApyApy7DayAvgAsc = 'apy_apy7DayAvg_ASC', - ApyApy7DayAvgAscNullsFirst = 'apy_apy7DayAvg_ASC_NULLS_FIRST', - ApyApy7DayAvgDesc = 'apy_apy7DayAvg_DESC', - ApyApy7DayAvgDescNullsLast = 'apy_apy7DayAvg_DESC_NULLS_LAST', - ApyApy14DayAvgAsc = 'apy_apy14DayAvg_ASC', - ApyApy14DayAvgAscNullsFirst = 'apy_apy14DayAvg_ASC_NULLS_FIRST', - ApyApy14DayAvgDesc = 'apy_apy14DayAvg_DESC', - ApyApy14DayAvgDescNullsLast = 'apy_apy14DayAvg_DESC_NULLS_LAST', - ApyApy30DayAvgAsc = 'apy_apy30DayAvg_ASC', - ApyApy30DayAvgAscNullsFirst = 'apy_apy30DayAvg_ASC_NULLS_FIRST', - ApyApy30DayAvgDesc = 'apy_apy30DayAvg_DESC', - ApyApy30DayAvgDescNullsLast = 'apy_apy30DayAvg_DESC_NULLS_LAST', - ApyApyAsc = 'apy_apy_ASC', - ApyApyAscNullsFirst = 'apy_apy_ASC_NULLS_FIRST', - ApyApyDesc = 'apy_apy_DESC', - ApyApyDescNullsLast = 'apy_apy_DESC_NULLS_LAST', - ApyBlockNumberAsc = 'apy_blockNumber_ASC', - ApyBlockNumberAscNullsFirst = 'apy_blockNumber_ASC_NULLS_FIRST', - ApyBlockNumberDesc = 'apy_blockNumber_DESC', - ApyBlockNumberDescNullsLast = 'apy_blockNumber_DESC_NULLS_LAST', - ApyIdAsc = 'apy_id_ASC', - ApyIdAscNullsFirst = 'apy_id_ASC_NULLS_FIRST', - ApyIdDesc = 'apy_id_DESC', - ApyIdDescNullsLast = 'apy_id_DESC_NULLS_LAST', - ApyRebasingCreditsPerTokenAsc = 'apy_rebasingCreditsPerToken_ASC', - ApyRebasingCreditsPerTokenAscNullsFirst = 'apy_rebasingCreditsPerToken_ASC_NULLS_FIRST', - ApyRebasingCreditsPerTokenDesc = 'apy_rebasingCreditsPerToken_DESC', - ApyRebasingCreditsPerTokenDescNullsLast = 'apy_rebasingCreditsPerToken_DESC_NULLS_LAST', - ApyTimestampAsc = 'apy_timestamp_ASC', - ApyTimestampAscNullsFirst = 'apy_timestamp_ASC_NULLS_FIRST', - ApyTimestampDesc = 'apy_timestamp_DESC', - ApyTimestampDescNullsLast = 'apy_timestamp_DESC_NULLS_LAST', - ApyTxHashAsc = 'apy_txHash_ASC', - ApyTxHashAscNullsFirst = 'apy_txHash_ASC_NULLS_FIRST', - ApyTxHashDesc = 'apy_txHash_DESC', - ApyTxHashDescNullsLast = 'apy_txHash_DESC_NULLS_LAST', + +export type QueryStrategyBalancesConnectionArgs = { + after?: InputMaybe; + first?: InputMaybe; + orderBy: Array; + where?: InputMaybe; +}; + +export enum RebasingOption { + OptIn = 'OptIn', + OptOut = 'OptOut' +} + +export type SquidStatus = { + __typename?: 'SquidStatus'; + /** The height of the processed part of the chain */ + height?: Maybe; +}; + +export type StakedOgv = { + __typename?: 'StakedOGV'; + apy: Scalars['BigInt']['output']; + blockNumber: Scalars['Int']['output']; + id: Scalars['String']['output']; + timestamp: Scalars['DateTime']['output']; + total: Scalars['BigInt']['output']; +}; + +export type StakedOgvEdge = { + __typename?: 'StakedOGVEdge'; + cursor: Scalars['String']['output']; + node: StakedOgv; +}; + +export enum StakedOgvOrderByInput { + ApyAsc = 'apy_ASC', + ApyAscNullsFirst = 'apy_ASC_NULLS_FIRST', + ApyDesc = 'apy_DESC', + ApyDescNullsLast = 'apy_DESC_NULLS_LAST', BlockNumberAsc = 'blockNumber_ASC', BlockNumberAscNullsFirst = 'blockNumber_ASC_NULLS_FIRST', BlockNumberDesc = 'blockNumber_DESC', BlockNumberDescNullsLast = 'blockNumber_DESC_NULLS_LAST', - FeeAsc = 'fee_ASC', - FeeAscNullsFirst = 'fee_ASC_NULLS_FIRST', - FeeDesc = 'fee_DESC', - FeeDescNullsLast = 'fee_DESC_NULLS_LAST', IdAsc = 'id_ASC', IdAscNullsFirst = 'id_ASC_NULLS_FIRST', IdDesc = 'id_DESC', IdDescNullsLast = 'id_DESC_NULLS_LAST', - RebasingCreditsPerTokenAsc = 'rebasingCreditsPerToken_ASC', - RebasingCreditsPerTokenAscNullsFirst = 'rebasingCreditsPerToken_ASC_NULLS_FIRST', - RebasingCreditsPerTokenDesc = 'rebasingCreditsPerToken_DESC', - RebasingCreditsPerTokenDescNullsLast = 'rebasingCreditsPerToken_DESC_NULLS_LAST', - RebasingCreditsAsc = 'rebasingCredits_ASC', - RebasingCreditsAscNullsFirst = 'rebasingCredits_ASC_NULLS_FIRST', - RebasingCreditsDesc = 'rebasingCredits_DESC', - RebasingCreditsDescNullsLast = 'rebasingCredits_DESC_NULLS_LAST', TimestampAsc = 'timestamp_ASC', TimestampAscNullsFirst = 'timestamp_ASC_NULLS_FIRST', TimestampDesc = 'timestamp_DESC', TimestampDescNullsLast = 'timestamp_DESC_NULLS_LAST', - TotalSupplyAsc = 'totalSupply_ASC', - TotalSupplyAscNullsFirst = 'totalSupply_ASC_NULLS_FIRST', - TotalSupplyDesc = 'totalSupply_DESC', - TotalSupplyDescNullsLast = 'totalSupply_DESC_NULLS_LAST', - TxHashAsc = 'txHash_ASC', - TxHashAscNullsFirst = 'txHash_ASC_NULLS_FIRST', - TxHashDesc = 'txHash_DESC', - TxHashDescNullsLast = 'txHash_DESC_NULLS_LAST', - YieldAsc = 'yield_ASC', - YieldAscNullsFirst = 'yield_ASC_NULLS_FIRST', - YieldDesc = 'yield_DESC', - YieldDescNullsLast = 'yield_DESC_NULLS_LAST' + TotalAsc = 'total_ASC', + TotalAscNullsFirst = 'total_ASC_NULLS_FIRST', + TotalDesc = 'total_DESC', + TotalDescNullsLast = 'total_DESC_NULLS_LAST' } -export type RebaseWhereInput = { - AND?: InputMaybe>; - OR?: InputMaybe>; - apy?: InputMaybe; +export type StakedOgvWhereInput = { + AND?: InputMaybe>; + OR?: InputMaybe>; + apy_eq?: InputMaybe; + apy_gt?: InputMaybe; + apy_gte?: InputMaybe; + apy_in?: InputMaybe>; apy_isNull?: InputMaybe; + apy_lt?: InputMaybe; + apy_lte?: InputMaybe; + apy_not_eq?: InputMaybe; + apy_not_in?: InputMaybe>; blockNumber_eq?: InputMaybe; blockNumber_gt?: InputMaybe; blockNumber_gte?: InputMaybe; @@ -2045,15 +6761,6 @@ export type RebaseWhereInput = { blockNumber_lte?: InputMaybe; blockNumber_not_eq?: InputMaybe; blockNumber_not_in?: InputMaybe>; - fee_eq?: InputMaybe; - fee_gt?: InputMaybe; - fee_gte?: InputMaybe; - fee_in?: InputMaybe>; - fee_isNull?: InputMaybe; - fee_lt?: InputMaybe; - fee_lte?: InputMaybe; - fee_not_eq?: InputMaybe; - fee_not_in?: InputMaybe>; id_contains?: InputMaybe; id_containsInsensitive?: InputMaybe; id_endsWith?: InputMaybe; @@ -2071,24 +6778,6 @@ export type RebaseWhereInput = { id_not_in?: InputMaybe>; id_not_startsWith?: InputMaybe; id_startsWith?: InputMaybe; - rebasingCreditsPerToken_eq?: InputMaybe; - rebasingCreditsPerToken_gt?: InputMaybe; - rebasingCreditsPerToken_gte?: InputMaybe; - rebasingCreditsPerToken_in?: InputMaybe>; - rebasingCreditsPerToken_isNull?: InputMaybe; - rebasingCreditsPerToken_lt?: InputMaybe; - rebasingCreditsPerToken_lte?: InputMaybe; - rebasingCreditsPerToken_not_eq?: InputMaybe; - rebasingCreditsPerToken_not_in?: InputMaybe>; - rebasingCredits_eq?: InputMaybe; - rebasingCredits_gt?: InputMaybe; - rebasingCredits_gte?: InputMaybe; - rebasingCredits_in?: InputMaybe>; - rebasingCredits_isNull?: InputMaybe; - rebasingCredits_lt?: InputMaybe; - rebasingCredits_lte?: InputMaybe; - rebasingCredits_not_eq?: InputMaybe; - rebasingCredits_not_in?: InputMaybe>; timestamp_eq?: InputMaybe; timestamp_gt?: InputMaybe; timestamp_gte?: InputMaybe; @@ -2098,113 +6787,97 @@ export type RebaseWhereInput = { timestamp_lte?: InputMaybe; timestamp_not_eq?: InputMaybe; timestamp_not_in?: InputMaybe>; - totalSupply_eq?: InputMaybe; - totalSupply_gt?: InputMaybe; - totalSupply_gte?: InputMaybe; - totalSupply_in?: InputMaybe>; - totalSupply_isNull?: InputMaybe; - totalSupply_lt?: InputMaybe; - totalSupply_lte?: InputMaybe; - totalSupply_not_eq?: InputMaybe; - totalSupply_not_in?: InputMaybe>; - txHash_contains?: InputMaybe; - txHash_containsInsensitive?: InputMaybe; - txHash_endsWith?: InputMaybe; - txHash_eq?: InputMaybe; - txHash_gt?: InputMaybe; - txHash_gte?: InputMaybe; - txHash_in?: InputMaybe>; - txHash_isNull?: InputMaybe; - txHash_lt?: InputMaybe; - txHash_lte?: InputMaybe; - txHash_not_contains?: InputMaybe; - txHash_not_containsInsensitive?: InputMaybe; - txHash_not_endsWith?: InputMaybe; - txHash_not_eq?: InputMaybe; - txHash_not_in?: InputMaybe>; - txHash_not_startsWith?: InputMaybe; - txHash_startsWith?: InputMaybe; - yield_eq?: InputMaybe; - yield_gt?: InputMaybe; - yield_gte?: InputMaybe; - yield_in?: InputMaybe>; - yield_isNull?: InputMaybe; - yield_lt?: InputMaybe; - yield_lte?: InputMaybe; - yield_not_eq?: InputMaybe; - yield_not_in?: InputMaybe>; + total_eq?: InputMaybe; + total_gt?: InputMaybe; + total_gte?: InputMaybe; + total_in?: InputMaybe>; + total_isNull?: InputMaybe; + total_lt?: InputMaybe; + total_lte?: InputMaybe; + total_not_eq?: InputMaybe; + total_not_in?: InputMaybe>; }; -export type RebasesConnection = { - __typename?: 'RebasesConnection'; - edges: Array; +export type StakedOgVsConnection = { + __typename?: 'StakedOGVsConnection'; + edges: Array; pageInfo: PageInfo; totalCount: Scalars['Int']['output']; }; -export enum RebasingOption { - OptIn = 'OptIn', - OptOut = 'OptOut' -} - -export type SquidStatus = { - __typename?: 'SquidStatus'; - /** The height of the processed part of the chain */ - height?: Maybe; -}; - -/** The Vault entity tracks the OETH vault balance over time. */ -export type Vault = { - __typename?: 'Vault'; +export type StrategyBalance = { + __typename?: 'StrategyBalance'; + asset: Scalars['String']['output']; + balance: Scalars['BigInt']['output']; blockNumber: Scalars['Int']['output']; - frxETH: Scalars['BigInt']['output']; + /** Format: 'strategy:asset:blockNumber' */ id: Scalars['String']['output']; - rETH: Scalars['BigInt']['output']; - stETH: Scalars['BigInt']['output']; + strategy: Scalars['String']['output']; timestamp: Scalars['DateTime']['output']; - weth: Scalars['BigInt']['output']; }; -export type VaultEdge = { - __typename?: 'VaultEdge'; +export type StrategyBalanceEdge = { + __typename?: 'StrategyBalanceEdge'; cursor: Scalars['String']['output']; - node: Vault; + node: StrategyBalance; }; -export enum VaultOrderByInput { +export enum StrategyBalanceOrderByInput { + AssetAsc = 'asset_ASC', + AssetAscNullsFirst = 'asset_ASC_NULLS_FIRST', + AssetDesc = 'asset_DESC', + AssetDescNullsLast = 'asset_DESC_NULLS_LAST', + BalanceAsc = 'balance_ASC', + BalanceAscNullsFirst = 'balance_ASC_NULLS_FIRST', + BalanceDesc = 'balance_DESC', + BalanceDescNullsLast = 'balance_DESC_NULLS_LAST', BlockNumberAsc = 'blockNumber_ASC', BlockNumberAscNullsFirst = 'blockNumber_ASC_NULLS_FIRST', BlockNumberDesc = 'blockNumber_DESC', BlockNumberDescNullsLast = 'blockNumber_DESC_NULLS_LAST', - FrxEthAsc = 'frxETH_ASC', - FrxEthAscNullsFirst = 'frxETH_ASC_NULLS_FIRST', - FrxEthDesc = 'frxETH_DESC', - FrxEthDescNullsLast = 'frxETH_DESC_NULLS_LAST', IdAsc = 'id_ASC', IdAscNullsFirst = 'id_ASC_NULLS_FIRST', IdDesc = 'id_DESC', IdDescNullsLast = 'id_DESC_NULLS_LAST', - REthAsc = 'rETH_ASC', - REthAscNullsFirst = 'rETH_ASC_NULLS_FIRST', - REthDesc = 'rETH_DESC', - REthDescNullsLast = 'rETH_DESC_NULLS_LAST', - StEthAsc = 'stETH_ASC', - StEthAscNullsFirst = 'stETH_ASC_NULLS_FIRST', - StEthDesc = 'stETH_DESC', - StEthDescNullsLast = 'stETH_DESC_NULLS_LAST', + StrategyAsc = 'strategy_ASC', + StrategyAscNullsFirst = 'strategy_ASC_NULLS_FIRST', + StrategyDesc = 'strategy_DESC', + StrategyDescNullsLast = 'strategy_DESC_NULLS_LAST', TimestampAsc = 'timestamp_ASC', TimestampAscNullsFirst = 'timestamp_ASC_NULLS_FIRST', TimestampDesc = 'timestamp_DESC', - TimestampDescNullsLast = 'timestamp_DESC_NULLS_LAST', - WethAsc = 'weth_ASC', - WethAscNullsFirst = 'weth_ASC_NULLS_FIRST', - WethDesc = 'weth_DESC', - WethDescNullsLast = 'weth_DESC_NULLS_LAST' + TimestampDescNullsLast = 'timestamp_DESC_NULLS_LAST' } -export type VaultWhereInput = { - AND?: InputMaybe>; - OR?: InputMaybe>; +export type StrategyBalanceWhereInput = { + AND?: InputMaybe>; + OR?: InputMaybe>; + asset_contains?: InputMaybe; + asset_containsInsensitive?: InputMaybe; + asset_endsWith?: InputMaybe; + asset_eq?: InputMaybe; + asset_gt?: InputMaybe; + asset_gte?: InputMaybe; + asset_in?: InputMaybe>; + asset_isNull?: InputMaybe; + asset_lt?: InputMaybe; + asset_lte?: InputMaybe; + asset_not_contains?: InputMaybe; + asset_not_containsInsensitive?: InputMaybe; + asset_not_endsWith?: InputMaybe; + asset_not_eq?: InputMaybe; + asset_not_in?: InputMaybe>; + asset_not_startsWith?: InputMaybe; + asset_startsWith?: InputMaybe; + balance_eq?: InputMaybe; + balance_gt?: InputMaybe; + balance_gte?: InputMaybe; + balance_in?: InputMaybe>; + balance_isNull?: InputMaybe; + balance_lt?: InputMaybe; + balance_lte?: InputMaybe; + balance_not_eq?: InputMaybe; + balance_not_in?: InputMaybe>; blockNumber_eq?: InputMaybe; blockNumber_gt?: InputMaybe; blockNumber_gte?: InputMaybe; @@ -2214,15 +6887,6 @@ export type VaultWhereInput = { blockNumber_lte?: InputMaybe; blockNumber_not_eq?: InputMaybe; blockNumber_not_in?: InputMaybe>; - frxETH_eq?: InputMaybe; - frxETH_gt?: InputMaybe; - frxETH_gte?: InputMaybe; - frxETH_in?: InputMaybe>; - frxETH_isNull?: InputMaybe; - frxETH_lt?: InputMaybe; - frxETH_lte?: InputMaybe; - frxETH_not_eq?: InputMaybe; - frxETH_not_in?: InputMaybe>; id_contains?: InputMaybe; id_containsInsensitive?: InputMaybe; id_endsWith?: InputMaybe; @@ -2240,24 +6904,23 @@ export type VaultWhereInput = { id_not_in?: InputMaybe>; id_not_startsWith?: InputMaybe; id_startsWith?: InputMaybe; - rETH_eq?: InputMaybe; - rETH_gt?: InputMaybe; - rETH_gte?: InputMaybe; - rETH_in?: InputMaybe>; - rETH_isNull?: InputMaybe; - rETH_lt?: InputMaybe; - rETH_lte?: InputMaybe; - rETH_not_eq?: InputMaybe; - rETH_not_in?: InputMaybe>; - stETH_eq?: InputMaybe; - stETH_gt?: InputMaybe; - stETH_gte?: InputMaybe; - stETH_in?: InputMaybe>; - stETH_isNull?: InputMaybe; - stETH_lt?: InputMaybe; - stETH_lte?: InputMaybe; - stETH_not_eq?: InputMaybe; - stETH_not_in?: InputMaybe>; + strategy_contains?: InputMaybe; + strategy_containsInsensitive?: InputMaybe; + strategy_endsWith?: InputMaybe; + strategy_eq?: InputMaybe; + strategy_gt?: InputMaybe; + strategy_gte?: InputMaybe; + strategy_in?: InputMaybe>; + strategy_isNull?: InputMaybe; + strategy_lt?: InputMaybe; + strategy_lte?: InputMaybe; + strategy_not_contains?: InputMaybe; + strategy_not_containsInsensitive?: InputMaybe; + strategy_not_endsWith?: InputMaybe; + strategy_not_eq?: InputMaybe; + strategy_not_in?: InputMaybe>; + strategy_not_startsWith?: InputMaybe; + strategy_startsWith?: InputMaybe; timestamp_eq?: InputMaybe; timestamp_gt?: InputMaybe; timestamp_gte?: InputMaybe; @@ -2267,20 +6930,11 @@ export type VaultWhereInput = { timestamp_lte?: InputMaybe; timestamp_not_eq?: InputMaybe; timestamp_not_in?: InputMaybe>; - weth_eq?: InputMaybe; - weth_gt?: InputMaybe; - weth_gte?: InputMaybe; - weth_in?: InputMaybe>; - weth_isNull?: InputMaybe; - weth_lt?: InputMaybe; - weth_lte?: InputMaybe; - weth_not_eq?: InputMaybe; - weth_not_in?: InputMaybe>; }; -export type VaultsConnection = { - __typename?: 'VaultsConnection'; - edges: Array; +export type StrategyBalancesConnection = { + __typename?: 'StrategyBalancesConnection'; + edges: Array; pageInfo: PageInfo; totalCount: Scalars['Int']['output']; }; diff --git a/libs/ousd/shared/src/index.ts b/libs/ousd/shared/src/index.ts index ddbae7f4e..06fb564d5 100644 --- a/libs/ousd/shared/src/index.ts +++ b/libs/ousd/shared/src/index.ts @@ -1 +1,3 @@ export * from './clients'; +export * from './components'; +export * from './generated/graphql'; diff --git a/libs/ousd/swap/src/views/SwapView.tsx b/libs/ousd/swap/src/views/SwapView.tsx index 86a53e2c5..e56580bad 100644 --- a/libs/ousd/swap/src/views/SwapView.tsx +++ b/libs/ousd/swap/src/views/SwapView.tsx @@ -1,4 +1,6 @@ -import { trackEvent, trackSentryError } from '@origin/ousd/shared'; +import { Stack } from '@mui/material'; +import { ApyHeader, trackEvent, trackSentryError } from '@origin/ousd/shared'; +import { ErrorBoundary, ErrorCard } from '@origin/shared/components'; import { Swapper } from '@origin/shared/providers'; import { swapActions } from '../actions'; @@ -6,11 +8,18 @@ import { swapRoutes } from '../constants'; export const SwapView = () => { return ( - + + } onError={trackSentryError}> + + + } onError={trackSentryError}> + + + ); }; From ccb7cb1a69ca7cbec4a19bfc201f2f32e6a8c4b6 Mon Sep 17 00:00:00 2001 From: toniocodo Date: Sat, 4 Nov 2023 19:15:09 +0100 Subject: [PATCH 08/13] style: clean up app logo --- apps/oeth/src/components/Topnav.tsx | 17 ++++++----------- apps/ousd/src/components/Topnav.tsx | 17 ++++++----------- libs/shared/assets/files/origin-dollar-logo.svg | 10 +++++----- libs/shared/assets/files/origin-ether-logo.svg | 17 +++++++++-------- 4 files changed, 26 insertions(+), 35 deletions(-) diff --git a/apps/oeth/src/components/Topnav.tsx b/apps/oeth/src/components/Topnav.tsx index 850162864..d5efbbea4 100644 --- a/apps/oeth/src/components/Topnav.tsx +++ b/apps/oeth/src/components/Topnav.tsx @@ -65,8 +65,8 @@ export function Topnav(props: BoxProps) { xs: 'none', md: `1px solid ${theme.palette.background.paper}`, }, - columnGap: { xs: 1, md: 10 }, - rowGap: { xs: 0, md: 10 }, + columnGap: { xs: 1, md: 6 }, + rowGap: 0, alignItems: 'center', px: { xs: 1.5, @@ -86,15 +86,10 @@ export function Topnav(props: BoxProps) { component={Link} to="/" sx={(theme) => ({ - '& img': { - maxHeight: { - xs: '1rem', - md: '1.5rem', - }, - maxWidth: { - xs: theme.typography.pxToRem(100), - sm: theme.typography.pxToRem(120), - md: theme.typography.pxToRem(180), + img: { + height: { + xs: 16, + md: 24, }, }, })} diff --git a/apps/ousd/src/components/Topnav.tsx b/apps/ousd/src/components/Topnav.tsx index c745a55ff..a922f9e32 100644 --- a/apps/ousd/src/components/Topnav.tsx +++ b/apps/ousd/src/components/Topnav.tsx @@ -65,8 +65,8 @@ export function Topnav(props: BoxProps) { xs: 'none', md: `1px solid ${theme.palette.background.paper}`, }, - columnGap: { xs: 1, md: 10 }, - rowGap: { xs: 0, md: 10 }, + columnGap: { xs: 1, md: 6 }, + rowGap: 0, alignItems: 'center', px: { xs: 1.5, @@ -86,15 +86,10 @@ export function Topnav(props: BoxProps) { component={Link} to="/" sx={(theme) => ({ - '& img': { - maxHeight: { - xs: '1rem', - md: '1.5rem', - }, - maxWidth: { - xs: theme.typography.pxToRem(100), - sm: theme.typography.pxToRem(120), - md: theme.typography.pxToRem(180), + img: { + height: { + xs: 16, + md: 24, }, }, })} diff --git a/libs/shared/assets/files/origin-dollar-logo.svg b/libs/shared/assets/files/origin-dollar-logo.svg index 5675e0555..f5f2e4055 100644 --- a/libs/shared/assets/files/origin-dollar-logo.svg +++ b/libs/shared/assets/files/origin-dollar-logo.svg @@ -1,13 +1,13 @@ - + - - + + - + - + \ No newline at end of file diff --git a/libs/shared/assets/files/origin-ether-logo.svg b/libs/shared/assets/files/origin-ether-logo.svg index 241d3f809..3718fed5f 100644 --- a/libs/shared/assets/files/origin-ether-logo.svg +++ b/libs/shared/assets/files/origin-ether-logo.svg @@ -1,8 +1,9 @@ - - - - - - - - + + + + + + + + \ No newline at end of file From 4c3f2afb890c34f7a4f0ef5104c254dbbb072669 Mon Sep 17 00:00:00 2001 From: toniocodo Date: Sun, 5 Nov 2023 22:03:10 +0100 Subject: [PATCH 09/13] feat: use oracle for prices --- .../contracts/src/abis/ChainlinkAggregator.ts | 283 ++++++++++++++++++ libs/shared/contracts/src/contracts.ts | 8 +- libs/shared/contracts/src/index.ts | 1 + libs/shared/contracts/src/tokens.ts | 10 - libs/shared/providers/src/prices/constants.ts | 3 +- libs/shared/providers/src/prices/hooks.ts | 171 ++++++++--- libs/shared/providers/src/prices/types.ts | 19 +- 7 files changed, 436 insertions(+), 59 deletions(-) create mode 100644 libs/shared/contracts/src/abis/ChainlinkAggregator.ts diff --git a/libs/shared/contracts/src/abis/ChainlinkAggregator.ts b/libs/shared/contracts/src/abis/ChainlinkAggregator.ts new file mode 100644 index 000000000..9091652a4 --- /dev/null +++ b/libs/shared/contracts/src/abis/ChainlinkAggregator.ts @@ -0,0 +1,283 @@ +export const ChainlinkAggregatorABI = [ + { + inputs: [ + { internalType: 'address', name: '_aggregator', type: 'address' }, + { internalType: 'address', name: '_accessController', type: 'address' }, + ], + stateMutability: 'nonpayable', + type: 'constructor', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'int256', + name: 'current', + type: 'int256', + }, + { + indexed: true, + internalType: 'uint256', + name: 'roundId', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'updatedAt', + type: 'uint256', + }, + ], + name: 'AnswerUpdated', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'uint256', + name: 'roundId', + type: 'uint256', + }, + { + indexed: true, + internalType: 'address', + name: 'startedBy', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'startedAt', + type: 'uint256', + }, + ], + name: 'NewRound', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { indexed: true, internalType: 'address', name: 'from', type: 'address' }, + { indexed: true, internalType: 'address', name: 'to', type: 'address' }, + ], + name: 'OwnershipTransferRequested', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { indexed: true, internalType: 'address', name: 'from', type: 'address' }, + { indexed: true, internalType: 'address', name: 'to', type: 'address' }, + ], + name: 'OwnershipTransferred', + type: 'event', + }, + { + inputs: [], + name: 'acceptOwnership', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'accessController', + outputs: [ + { + internalType: 'contract AccessControllerInterface', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'aggregator', + outputs: [{ internalType: 'address', name: '', type: 'address' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [{ internalType: 'address', name: '_aggregator', type: 'address' }], + name: 'confirmAggregator', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'decimals', + outputs: [{ internalType: 'uint8', name: '', type: 'uint8' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'description', + outputs: [{ internalType: 'string', name: '', type: 'string' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [{ internalType: 'uint256', name: '_roundId', type: 'uint256' }], + name: 'getAnswer', + outputs: [{ internalType: 'int256', name: '', type: 'int256' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [{ internalType: 'uint80', name: '_roundId', type: 'uint80' }], + name: 'getRoundData', + outputs: [ + { internalType: 'uint80', name: 'roundId', type: 'uint80' }, + { internalType: 'int256', name: 'answer', type: 'int256' }, + { internalType: 'uint256', name: 'startedAt', type: 'uint256' }, + { internalType: 'uint256', name: 'updatedAt', type: 'uint256' }, + { internalType: 'uint80', name: 'answeredInRound', type: 'uint80' }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [{ internalType: 'uint256', name: '_roundId', type: 'uint256' }], + name: 'getTimestamp', + outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'latestAnswer', + outputs: [{ internalType: 'int256', name: '', type: 'int256' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'latestRound', + outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'latestRoundData', + outputs: [ + { internalType: 'uint80', name: 'roundId', type: 'uint80' }, + { internalType: 'int256', name: 'answer', type: 'int256' }, + { internalType: 'uint256', name: 'startedAt', type: 'uint256' }, + { internalType: 'uint256', name: 'updatedAt', type: 'uint256' }, + { internalType: 'uint80', name: 'answeredInRound', type: 'uint80' }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'latestTimestamp', + outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'owner', + outputs: [{ internalType: 'address payable', name: '', type: 'address' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [{ internalType: 'uint16', name: '', type: 'uint16' }], + name: 'phaseAggregators', + outputs: [ + { + internalType: 'contract AggregatorV2V3Interface', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'phaseId', + outputs: [{ internalType: 'uint16', name: '', type: 'uint16' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [{ internalType: 'address', name: '_aggregator', type: 'address' }], + name: 'proposeAggregator', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'proposedAggregator', + outputs: [ + { + internalType: 'contract AggregatorV2V3Interface', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [{ internalType: 'uint80', name: '_roundId', type: 'uint80' }], + name: 'proposedGetRoundData', + outputs: [ + { internalType: 'uint80', name: 'roundId', type: 'uint80' }, + { internalType: 'int256', name: 'answer', type: 'int256' }, + { internalType: 'uint256', name: 'startedAt', type: 'uint256' }, + { internalType: 'uint256', name: 'updatedAt', type: 'uint256' }, + { internalType: 'uint80', name: 'answeredInRound', type: 'uint80' }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'proposedLatestRoundData', + outputs: [ + { internalType: 'uint80', name: 'roundId', type: 'uint80' }, + { internalType: 'int256', name: 'answer', type: 'int256' }, + { internalType: 'uint256', name: 'startedAt', type: 'uint256' }, + { internalType: 'uint256', name: 'updatedAt', type: 'uint256' }, + { internalType: 'uint80', name: 'answeredInRound', type: 'uint80' }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { internalType: 'address', name: '_accessController', type: 'address' }, + ], + name: 'setController', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [{ internalType: 'address', name: '_to', type: 'address' }], + name: 'transferOwnership', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'version', + outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], + stateMutability: 'view', + type: 'function', + }, +] as const; diff --git a/libs/shared/contracts/src/contracts.ts b/libs/shared/contracts/src/contracts.ts index 6c0462a46..d0894c22c 100644 --- a/libs/shared/contracts/src/contracts.ts +++ b/libs/shared/contracts/src/contracts.ts @@ -44,7 +44,7 @@ export const contracts = { name: 'OETHDripper', }, OETHOracleRouter: { - address: '0x3cCD26E82F7305B12742fBb36708B42f82B61dBa', + address: '0xbE19cC5654e30dAF04AD3B5E06213D70F4e882eE', chainId: mainnet.id, abi: OracleRouterABI, name: 'OETHOracleRouter', @@ -80,6 +80,12 @@ export const contracts = { abi: FlipperABI, name: 'OUSDFlipper', }, + OUSDOracleRouter: { + address: '0xe7fD05515A51509Ca373a42E81ae63A40AA4384b', + chainId: mainnet.id, + abi: OracleRouterABI, + name: 'OUSDOracleRouter', + }, OUSDVault: { address: '0xE75D77B1865Ae93c7eaa3040B038D7aA7BC02F70', chainId: mainnet.id, diff --git a/libs/shared/contracts/src/index.ts b/libs/shared/contracts/src/index.ts index c6eb286d8..bcd5172d7 100644 --- a/libs/shared/contracts/src/index.ts +++ b/libs/shared/contracts/src/index.ts @@ -1,3 +1,4 @@ +export * from './abis/ChainlinkAggregator'; export * from './contracts'; export * from './tokens'; export * from './types'; diff --git a/libs/shared/contracts/src/tokens.ts b/libs/shared/contracts/src/tokens.ts index 7b059c9b7..4a0fe1e2c 100644 --- a/libs/shared/contracts/src/tokens.ts +++ b/libs/shared/contracts/src/tokens.ts @@ -102,16 +102,6 @@ export const tokens = { decimals: 18, symbol: 'stETH', }, - - TUSD: { - address: '0x0000000000085d4780B73119b644AE5ecd22b376', - chainId: mainnet.id, - abi: erc20ABI, - name: 'TrueUSD', - icon: '/images/tokens/TUSD.svg', - decimals: 18, - symbol: 'TUSD', - }, USDC: { address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', chainId: mainnet.id, diff --git a/libs/shared/providers/src/prices/constants.ts b/libs/shared/providers/src/prices/constants.ts index d20d7334d..de668b595 100644 --- a/libs/shared/providers/src/prices/constants.ts +++ b/libs/shared/providers/src/prices/constants.ts @@ -8,12 +8,13 @@ export const coingeckoTokenIds: Record = { DAI: 'dai', USDC: 'usd-coin', USDT: 'tether', - TUSD: 'true-usd', OETH: 'origin-ether', WOETH: 'origin-ether', OUSD: 'origin-dollar', + WOUSD: 'origin-dollar', stETH: 'staked-ether', rETH: 'rocket-pool-eth', frxETH: 'frax-ether', sfrxETH: 'staked-frax-ether', + FRAX: 'frax', }; diff --git a/libs/shared/providers/src/prices/hooks.ts b/libs/shared/providers/src/prices/hooks.ts index b49e553dc..23b7dba40 100644 --- a/libs/shared/providers/src/prices/hooks.ts +++ b/libs/shared/providers/src/prices/hooks.ts @@ -1,8 +1,11 @@ -import { tokens as toks } from '@origin/shared/contracts'; -import { isNilOrEmpty } from '@origin/shared/utils'; +import { + ChainlinkAggregatorABI, + tokens as toks, +} from '@origin/shared/contracts'; import { useQuery } from '@tanstack/react-query'; -import { readContract } from '@wagmi/core'; +import { readContracts } from '@wagmi/core'; import axios from 'axios'; +import { map } from 'ramda'; import { formatUnits, parseUnits } from 'viem'; import { coingeckoApiEndpoint, coingeckoTokenIds } from './constants'; @@ -11,56 +14,148 @@ import type { UseQueryOptions } from '@tanstack/react-query'; import type { SupportedToken } from './types'; +const chainlinkOracles = { + ETH_USD: '0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419', + DAI_USD: '0xAed0c38402a5d19df6E4c03F4E2DceD6e29c1ee9', + USDC_USD: '0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6', + USDT_USD: '0x3E7d1eAB13ad0104d2750B8863b489D65364e32D', + FRAX_USD: '0xb9e1e3a9feff48998e45fa90847ed4d467e8bcfd', + frxETH_ETH: '0xc58f3385fbc1c8ad2c0c9a061d7c13b141d7a5df', + stETH_ETH: '0x86392dc19c0b719886221c78ab11eb8cf5c52812', + rETH_ETH: '0x536218f9e9eb48863970252233c8f271f554c2d0', +} as const; + +const coinGeckoTokens = [ + coingeckoTokenIds.OETH, + coingeckoTokenIds.OUSD, + coingeckoTokenIds.WETH, +]; + export const usePrices = ( - tokens?: SupportedToken[], options?: UseQueryOptions< Record, Error, Record, - ['usePrices', SupportedToken[]] + ['usePrices'] >, ) => { return useQuery({ - queryKey: ['usePrices', tokens] as const, + queryKey: ['usePrices'], staleTime: import.meta.env.DEV ? 1000 * 60 * 30 : 1000 * 30, - queryFn: async ({ queryKey }) => { - let tokens = queryKey[1]; - if (isNilOrEmpty(tokens)) { - tokens = Object.keys(coingeckoTokenIds) as SupportedToken[]; - } + cacheTime: import.meta.env.DEV ? 1000 * 60 * 60 : 1000 * 60, + queryFn: async () => { + const res = await Promise.allSettled([ + readContracts({ + contracts: [ + ...Object.values(chainlinkOracles).map((address) => ({ + address, + abi: ChainlinkAggregatorABI, + functionName: 'latestRoundData', + })), + { + address: toks.mainnet.WOETH.address, + abi: toks.mainnet.WOETH.abi, + functionName: 'previewRedeem', + args: [parseUnits('1', toks.mainnet.WOETH.decimals)], + }, + { + address: toks.mainnet.WOUSD.address, + abi: toks.mainnet.WOUSD.abi, + functionName: 'previewRedeem', + args: [parseUnits('1', toks.mainnet.WOUSD.decimals)], + }, + { + address: toks.mainnet.sfrxETH.address, + abi: toks.mainnet.sfrxETH.abi, + functionName: 'previewRedeem', + args: [parseUnits('1', toks.mainnet.sfrxETH.decimals)], + }, + ], + allowFailure: true, + }), + axios.get( + `${coingeckoApiEndpoint}/simple/price?ids=${coinGeckoTokens.join( + '%2C', + )}&vs_currencies=usd`, + ), + ]); - const res = await axios.get( - `${coingeckoApiEndpoint}/simple/price?ids=${tokens - .map((t) => coingeckoTokenIds[t]) - .join('%2C')}&vs_currencies=usd`, - ); + const coinGecko = res[1].status === 'fulfilled' ? res[1].value.data : {}; - let prices = tokens.reduce( - (acc, curr) => ({ - ...acc, - [curr]: res?.data?.[coingeckoTokenIds[curr]]?.usd ?? 0, - }), - {}, - ); + const WETH = coinGecko?.[coingeckoTokenIds.WETH]?.usd ?? 0; + const OETH = coinGecko?.[coingeckoTokenIds.OETH]?.usd ?? 0; + const OUSD = coinGecko?.[coingeckoTokenIds.OUSD]?.usd ?? 0; - if (tokens.includes('WOETH')) { - const oethAmount = await readContract({ - address: toks.mainnet.WOETH.address, - abi: toks.mainnet.WOETH.abi, - functionName: 'previewRedeem', - args: [parseUnits('1', toks.mainnet.WOETH.decimals)], - }); + const multi = res[0].status === 'fulfilled' ? res[0].value : []; - prices = { - ...prices, - WOETH: - +formatUnits(oethAmount, toks.mainnet.WOETH.decimals) * - prices['WOETH'], - }; - } + const ETH = +formatUnits(multi?.[0]?.result?.[1] ?? 0n, 8); + const DAI = +formatUnits(multi?.[1]?.result?.[1] ?? 0n, 8); + const USDC = +formatUnits(multi?.[2]?.result?.[1] ?? 0n, 8); + const USDT = +formatUnits(multi?.[3]?.result?.[1] ?? 0n, 8); + const FRAX = +formatUnits(multi?.[4]?.result?.[1] ?? 0n, 8); + const frxETH = + +formatUnits(multi?.[5]?.result?.[1] ?? 0n, toks.mainnet.ETH.decimals) * + ETH; + const stETH = + +formatUnits(multi?.[6]?.result?.[1] ?? 0n, toks.mainnet.ETH.decimals) * + ETH; + const rETH = + +formatUnits(multi?.[7]?.result?.[1] ?? 0n, toks.mainnet.ETH.decimals) * + ETH; + const WOETH = + +formatUnits( + (multi?.[8]?.result as unknown as bigint) ?? 0n, + toks.mainnet.WOETH.decimals, + ) * OETH; + const WOUSD = + +formatUnits( + (multi?.[9]?.result as unknown as bigint) ?? 0n, + toks.mainnet.WOUSD.decimals, + ) * OUSD; + const sfrxETH = + +formatUnits( + (multi?.[10]?.result as unknown as bigint) ?? 0n, + toks.mainnet.sfrxETH.decimals, + ) * frxETH; - return prices; + return { + ETH, + DAI, + USDC, + USDT, + FRAX, + frxETH, + stETH, + rETH, + WOETH, + WOUSD, + sfrxETH, + WETH, + OETH, + OUSD, + }; }, ...options, }); }; + +export const useConvertedPrices = ( + target: SupportedToken, + options?: Omit< + UseQueryOptions< + Record, + Error, + Record, + ['usePrices'] + >, + 'select' + >, +) => + usePrices({ + ...options, + select: (data) => { + const priceOut = data[target] === 0 ? 1 : data[target]; + + return map((usdPrice) => usdPrice / priceOut, data); + }, + }); diff --git a/libs/shared/providers/src/prices/types.ts b/libs/shared/providers/src/prices/types.ts index 988b14db1..4ba18542d 100644 --- a/libs/shared/providers/src/prices/types.ts +++ b/libs/shared/providers/src/prices/types.ts @@ -1,14 +1,15 @@ export type SupportedToken = - | 'ETH' - | 'WETH' | 'DAI' - | 'USDC' - | 'USDT' - | 'TUSD' + | 'ETH' + | 'FRAX' + | 'frxETH' | 'OETH' - | 'WOETH' | 'OUSD' - | 'stETH' | 'rETH' - | 'frxETH' - | 'sfrxETH'; + | 'sfrxETH' + | 'stETH' + | 'USDC' + | 'USDT' + | 'WETH' + | 'WOETH' + | 'WOUSD'; From 1fd1e4b513f83589908b8bcaa223902c15272cb2 Mon Sep 17 00:00:00 2001 From: toniocodo Date: Sun, 5 Nov 2023 22:04:13 +0100 Subject: [PATCH 10/13] feat: improve wallet icon detection, crop rabby svg --- libs/shared/assets/files/wallets/rabby.svg | 47 ++++++------------- .../components/src/Icons/WalletIcon.tsx | 16 +++++-- .../src/wagmi/components/AccountPopover.tsx | 2 +- 3 files changed, 27 insertions(+), 38 deletions(-) diff --git a/libs/shared/assets/files/wallets/rabby.svg b/libs/shared/assets/files/wallets/rabby.svg index 8687f5a20..5d17e64ba 100644 --- a/libs/shared/assets/files/wallets/rabby.svg +++ b/libs/shared/assets/files/wallets/rabby.svg @@ -1,42 +1,25 @@ - - - + xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" style="enable-background:new 0 0 204 152;" xml:space="preserve" viewBox="54.7 35.01 94.68 81.96"> + - - + + - + - - + + - + - - + + - + - - + + - - + + \ No newline at end of file diff --git a/libs/shared/components/src/Icons/WalletIcon.tsx b/libs/shared/components/src/Icons/WalletIcon.tsx index 2c72912bc..58b673b16 100644 --- a/libs/shared/components/src/Icons/WalletIcon.tsx +++ b/libs/shared/components/src/Icons/WalletIcon.tsx @@ -3,12 +3,11 @@ import { Box } from '@mui/material'; import type { BoxProps } from '@mui/material'; export type WalletIconProps = { - walletId: string; + walletName: string; } & BoxProps<'img'>; const iconPaths: Record = { metamask: '/images/wallets/metamask.svg', - walletconnect: '/images/wallets/walletconnect.svg', ledger: '/images/wallets/ledger.svg', argent: '/images/wallets/argent.svg', safe: '/images/wallets/safe.svg', @@ -16,16 +15,23 @@ const iconPaths: Record = { coinbase: '/images/wallets/coinbase.svg', brave: '/images/wallets/brave.svg', rainbow: '/images/wallets/rainbow.svg', + connect: '/images/wallets/walletconnect.svg', }; -export const WalletIcon = ({ walletId, ...rest }: WalletIconProps) => { +export const WalletIcon = ({ walletName, ...rest }: WalletIconProps) => { return ( walletName.toLowerCase().search(key) > -1, + ) + ] ?? '/images/wallets/default.svg' + } /> ); }; diff --git a/libs/shared/providers/src/wagmi/components/AccountPopover.tsx b/libs/shared/providers/src/wagmi/components/AccountPopover.tsx index f29565dc1..a3b53ae36 100644 --- a/libs/shared/providers/src/wagmi/components/AccountPopover.tsx +++ b/libs/shared/providers/src/wagmi/components/AccountPopover.tsx @@ -110,7 +110,7 @@ export function AccountPopover({ anchor, setAnchor, balanceTokens }: Props) { sx={{ px: 2, py: 3 }} direction="row" > - + Date: Mon, 6 Nov 2023 09:27:17 +0100 Subject: [PATCH 11/13] chore: add missing theme typings --- apps/ousd/tsconfig.app.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/ousd/tsconfig.app.json b/apps/ousd/tsconfig.app.json index e4322b551..fc0ac957a 100644 --- a/apps/ousd/tsconfig.app.json +++ b/apps/ousd/tsconfig.app.json @@ -6,7 +6,8 @@ }, "files": [ "../../node_modules/@nx/react/typings/cssmodule.d.ts", - "../../node_modules/@nx/react/typings/image.d.ts" + "../../node_modules/@nx/react/typings/image.d.ts", + "../../libs/shared/theme/src/theme.d.ts" ], "exclude": [ "src/**/*.spec.ts", From bcd626d1d9b3cf7f690f939bbf48935f56dc5987 Mon Sep 17 00:00:00 2001 From: toniocodo Date: Mon, 6 Nov 2023 12:36:27 +0100 Subject: [PATCH 12/13] fix: thumbnail and meta description --- apps/ousd/index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/ousd/index.html b/apps/ousd/index.html index 3fa268dc0..175cda502 100644 --- a/apps/ousd/index.html +++ b/apps/ousd/index.html @@ -31,7 +31,7 @@ - + From d3fe3ede5f010fe0a4a0e2336e0ccb3aae165f77 Mon Sep 17 00:00:00 2001 From: toniocodo Date: Tue, 7 Nov 2023 09:19:02 +0100 Subject: [PATCH 13/13] feat: update WOUSD and WOETH symbol casing --- apps/oeth/src/components/Topnav.tsx | 2 +- apps/ousd/src/components/Topnav.tsx | 2 +- libs/oeth/swap/src/actions/unwrapWOETH.ts | 26 +++++++++---------- libs/oeth/swap/src/actions/wrapOETH.ts | 22 ++++++++-------- libs/oeth/swap/src/constants.ts | 4 +-- libs/ousd/swap/src/actions/unwrapWOUSD.ts | 26 +++++++++---------- libs/ousd/swap/src/actions/wrapOUSD.ts | 24 ++++++++--------- libs/ousd/swap/src/constants.ts | 6 ++--- .../files/tokens/{WOETH.svg => wOETH.svg} | 0 .../files/tokens/{WOUSD.svg => wOUSD.svg} | 0 .../shared/contracts/src/network.mainnet.json | 2 +- libs/shared/contracts/src/tokens.ts | 12 ++++----- libs/shared/contracts/src/whales.ts | 4 +-- libs/shared/providers/src/prices/constants.ts | 4 +-- libs/shared/providers/src/prices/hooks.ts | 24 ++++++++--------- libs/shared/providers/src/prices/types.ts | 4 +-- 16 files changed, 81 insertions(+), 81 deletions(-) rename libs/shared/assets/files/tokens/{WOETH.svg => wOETH.svg} (100%) rename libs/shared/assets/files/tokens/{WOUSD.svg => wOUSD.svg} (100%) diff --git a/apps/oeth/src/components/Topnav.tsx b/apps/oeth/src/components/Topnav.tsx index d5efbbea4..52069e8dd 100644 --- a/apps/oeth/src/components/Topnav.tsx +++ b/apps/oeth/src/components/Topnav.tsx @@ -206,7 +206,7 @@ export function Topnav(props: BoxProps) { setAnchor={setAccountModalAnchor} balanceTokens={[ tokens.mainnet.OETH, - tokens.mainnet.WOETH, + tokens.mainnet.wOETH, tokens.mainnet.WETH, tokens.mainnet.rETH, tokens.mainnet.frxETH, diff --git a/apps/ousd/src/components/Topnav.tsx b/apps/ousd/src/components/Topnav.tsx index a922f9e32..8bfe505f5 100644 --- a/apps/ousd/src/components/Topnav.tsx +++ b/apps/ousd/src/components/Topnav.tsx @@ -206,7 +206,7 @@ export function Topnav(props: BoxProps) { setAnchor={setAccountModalAnchor} balanceTokens={[ tokens.mainnet.OUSD, - tokens.mainnet.WOUSD, + tokens.mainnet.wOUSD, tokens.mainnet.USDT, tokens.mainnet.DAI, tokens.mainnet.USDC, diff --git a/libs/oeth/swap/src/actions/unwrapWOETH.ts b/libs/oeth/swap/src/actions/unwrapWOETH.ts index d9cb8786a..5a01f7185 100644 --- a/libs/oeth/swap/src/actions/unwrapWOETH.ts +++ b/libs/oeth/swap/src/actions/unwrapWOETH.ts @@ -25,8 +25,8 @@ const estimateAmount: EstimateAmount = async ({ amountIn }) => { } const data = await readContract({ - address: tokens.mainnet.WOETH.address, - abi: tokens.mainnet.WOETH.abi, + address: tokens.mainnet.wOETH.address, + abi: tokens.mainnet.wOETH.abi, functionName: 'convertToAssets', args: [amountIn], }); @@ -48,8 +48,8 @@ const estimateGas: EstimateGas = async ({ amountIn }) => { if (!isNilOrEmpty(address)) { try { gasEstimate = await publicClient.estimateContractGas({ - address: tokens.mainnet.WOETH.address, - abi: tokens.mainnet.WOETH.abi, + address: tokens.mainnet.wOETH.address, + abi: tokens.mainnet.wOETH.abi, functionName: 'redeem', args: [amountIn, address, address], account: address, @@ -61,11 +61,11 @@ const estimateGas: EstimateGas = async ({ amountIn }) => { try { gasEstimate = await publicClient.estimateContractGas({ - address: tokens.mainnet.WOETH.address, - abi: tokens.mainnet.WOETH.abi, + address: tokens.mainnet.wOETH.address, + abi: tokens.mainnet.wOETH.abi, functionName: 'redeem', - args: [amountIn, whales.mainnet.WOETH, whales.mainnet.WOETH], - account: whales.mainnet.WOETH, + args: [amountIn, whales.mainnet.wOETH, whales.mainnet.wOETH], + account: whales.mainnet.wOETH, }); } catch { gasEstimate = 21000n; @@ -75,12 +75,12 @@ const estimateGas: EstimateGas = async ({ amountIn }) => { }; const allowance: Allowance = async () => { - // Unwrap WOETH does not require approval + // Unwrap wOETH does not require approval return maxUint256; }; const estimateApprovalGas: EstimateApprovalGas = async () => { - // Unwrap WOETH does not require approval + // Unwrap wOETH does not require approval return 0n; }; @@ -123,7 +123,7 @@ const estimateRoute: EstimateRoute = async ({ }; const approve: Approve = async () => { - // Unwrap WOETH does not require approval + // Unwrap wOETH does not require approval return null; }; @@ -135,8 +135,8 @@ const swap: Swap = async ({ amountIn }) => { } const { request } = await prepareWriteContract({ - address: tokens.mainnet.WOETH.address, - abi: tokens.mainnet.WOETH.abi, + address: tokens.mainnet.wOETH.address, + abi: tokens.mainnet.wOETH.abi, functionName: 'redeem', args: [amountIn, address, address], }); diff --git a/libs/oeth/swap/src/actions/wrapOETH.ts b/libs/oeth/swap/src/actions/wrapOETH.ts index 5e4513831..9ff1c2ce8 100644 --- a/libs/oeth/swap/src/actions/wrapOETH.ts +++ b/libs/oeth/swap/src/actions/wrapOETH.ts @@ -26,8 +26,8 @@ const estimateAmount: EstimateAmount = async ({ amountIn }) => { } const data = await readContract({ - address: tokens.mainnet.WOETH.address, - abi: tokens.mainnet.WOETH.abi, + address: tokens.mainnet.wOETH.address, + abi: tokens.mainnet.wOETH.abi, functionName: 'convertToShares', args: [amountIn], }); @@ -49,8 +49,8 @@ const estimateGas: EstimateGas = async ({ amountIn }) => { if (!isNilOrEmpty(address)) { try { gasEstimate = await publicClient.estimateContractGas({ - address: tokens.mainnet.WOETH.address, - abi: tokens.mainnet.WOETH.abi, + address: tokens.mainnet.wOETH.address, + abi: tokens.mainnet.wOETH.abi, functionName: 'deposit', args: [amountIn, address], account: address, @@ -62,8 +62,8 @@ const estimateGas: EstimateGas = async ({ amountIn }) => { try { gasEstimate = await publicClient.estimateContractGas({ - address: tokens.mainnet.WOETH.address, - abi: tokens.mainnet.WOETH.abi, + address: tokens.mainnet.wOETH.address, + abi: tokens.mainnet.wOETH.abi, functionName: 'deposit', args: [amountIn, whales.mainnet.OETH], account: whales.mainnet.OETH, @@ -86,7 +86,7 @@ const allowance: Allowance = async ({ tokenIn }) => { address: tokenIn.address, abi: erc20ABI, functionName: 'allowance', - args: [address, tokens.mainnet.WOETH.address], + args: [address, tokens.mainnet.wOETH.address], }); return allowance; @@ -110,7 +110,7 @@ const estimateApprovalGas: EstimateApprovalGas = async ({ address: tokenIn.address, abi: erc20ABI, functionName: 'approve', - args: [tokens.mainnet.WOETH.address, amountIn], + args: [tokens.mainnet.wOETH.address, amountIn], account: address, }); } catch { @@ -163,7 +163,7 @@ const approve: Approve = async ({ tokenIn, tokenOut, amountIn, curve }) => { address: tokenIn.address, abi: erc20ABI, functionName: 'approve', - args: [tokens.mainnet.WOETH.address, amountIn], + args: [tokens.mainnet.wOETH.address, amountIn], }); const { hash } = await writeContract(request); @@ -184,8 +184,8 @@ const swap: Swap = async ({ tokenIn, tokenOut, amountIn }) => { } const { request } = await prepareWriteContract({ - address: tokens.mainnet.WOETH.address, - abi: tokens.mainnet.WOETH.abi, + address: tokens.mainnet.wOETH.address, + abi: tokens.mainnet.wOETH.abi, functionName: 'deposit', args: [amountIn, address], }); diff --git a/libs/oeth/swap/src/constants.ts b/libs/oeth/swap/src/constants.ts index 72e0b7f28..6f1b44455 100644 --- a/libs/oeth/swap/src/constants.ts +++ b/libs/oeth/swap/src/constants.ts @@ -102,12 +102,12 @@ export const swapRoutes: SwapRoute[] = [ // Wrap { tokenIn: tokens.mainnet.OETH, - tokenOut: tokens.mainnet.WOETH, + tokenOut: tokens.mainnet.wOETH, action: 'wrap-oeth', }, // Unwrap { - tokenIn: tokens.mainnet.WOETH, + tokenIn: tokens.mainnet.wOETH, tokenOut: tokens.mainnet.OETH, action: 'unwrap-woeth', }, diff --git a/libs/ousd/swap/src/actions/unwrapWOUSD.ts b/libs/ousd/swap/src/actions/unwrapWOUSD.ts index d294ba222..369d63322 100644 --- a/libs/ousd/swap/src/actions/unwrapWOUSD.ts +++ b/libs/ousd/swap/src/actions/unwrapWOUSD.ts @@ -25,8 +25,8 @@ const estimateAmount: EstimateAmount = async ({ amountIn }) => { } const data = await readContract({ - address: tokens.mainnet.WOUSD.address, - abi: tokens.mainnet.WOUSD.abi, + address: tokens.mainnet.wOUSD.address, + abi: tokens.mainnet.wOUSD.abi, functionName: 'convertToAssets', args: [amountIn], }); @@ -48,8 +48,8 @@ const estimateGas: EstimateGas = async ({ amountIn }) => { if (!isNilOrEmpty(address)) { try { gasEstimate = await publicClient.estimateContractGas({ - address: tokens.mainnet.WOUSD.address, - abi: tokens.mainnet.WOUSD.abi, + address: tokens.mainnet.wOUSD.address, + abi: tokens.mainnet.wOUSD.abi, functionName: 'redeem', args: [amountIn, address, address], account: address, @@ -61,11 +61,11 @@ const estimateGas: EstimateGas = async ({ amountIn }) => { try { gasEstimate = await publicClient.estimateContractGas({ - address: tokens.mainnet.WOUSD.address, - abi: tokens.mainnet.WOUSD.abi, + address: tokens.mainnet.wOUSD.address, + abi: tokens.mainnet.wOUSD.abi, functionName: 'redeem', - args: [amountIn, whales.mainnet.WOUSD, whales.mainnet.WOUSD], - account: whales.mainnet.WOUSD, + args: [amountIn, whales.mainnet.wOUSD, whales.mainnet.wOUSD], + account: whales.mainnet.wOUSD, }); } catch { gasEstimate = 21000n; @@ -75,12 +75,12 @@ const estimateGas: EstimateGas = async ({ amountIn }) => { }; const allowance: Allowance = async () => { - // Unwrap WOUSD does not require approval + // Unwrap wOUSD does not require approval return maxUint256; }; const estimateApprovalGas: EstimateApprovalGas = async () => { - // Unwrap WOUSD does not require approval + // Unwrap wOUSD does not require approval return 0n; }; @@ -123,7 +123,7 @@ const estimateRoute: EstimateRoute = async ({ }; const approve: Approve = async () => { - // Unwrap WOUSD does not require approval + // Unwrap wOUSD does not require approval return null; }; @@ -135,8 +135,8 @@ const swap: Swap = async ({ amountIn }) => { } const { request } = await prepareWriteContract({ - address: tokens.mainnet.WOUSD.address, - abi: tokens.mainnet.WOUSD.abi, + address: tokens.mainnet.wOUSD.address, + abi: tokens.mainnet.wOUSD.abi, functionName: 'redeem', args: [amountIn, address, address], }); diff --git a/libs/ousd/swap/src/actions/wrapOUSD.ts b/libs/ousd/swap/src/actions/wrapOUSD.ts index 623a1029a..be1bebac2 100644 --- a/libs/ousd/swap/src/actions/wrapOUSD.ts +++ b/libs/ousd/swap/src/actions/wrapOUSD.ts @@ -26,8 +26,8 @@ const estimateAmount: EstimateAmount = async ({ amountIn }) => { } const data = await readContract({ - address: tokens.mainnet.WOUSD.address, - abi: tokens.mainnet.WOUSD.abi, + address: tokens.mainnet.wOUSD.address, + abi: tokens.mainnet.wOUSD.abi, functionName: 'convertToShares', args: [amountIn], }); @@ -49,8 +49,8 @@ const estimateGas: EstimateGas = async ({ amountIn }) => { if (!isNilOrEmpty(address)) { try { gasEstimate = await publicClient.estimateContractGas({ - address: tokens.mainnet.WOUSD.address, - abi: tokens.mainnet.WOUSD.abi, + address: tokens.mainnet.wOUSD.address, + abi: tokens.mainnet.wOUSD.abi, functionName: 'deposit', args: [amountIn, address], account: address, @@ -62,8 +62,8 @@ const estimateGas: EstimateGas = async ({ amountIn }) => { try { gasEstimate = await publicClient.estimateContractGas({ - address: tokens.mainnet.WOUSD.address, - abi: tokens.mainnet.WOUSD.abi, + address: tokens.mainnet.wOUSD.address, + abi: tokens.mainnet.wOUSD.abi, functionName: 'deposit', args: [amountIn, whales.mainnet.OETH], account: whales.mainnet.OETH, @@ -86,7 +86,7 @@ const allowance: Allowance = async ({ tokenIn }) => { address: tokenIn.address, abi: tokenIn.abi, functionName: 'allowance', - args: [address, tokens.mainnet.WOUSD.address], + args: [address, tokens.mainnet.wOUSD.address], }); return allowance as unknown as bigint; @@ -110,7 +110,7 @@ const estimateApprovalGas: EstimateApprovalGas = async ({ address: tokenIn.address, abi: erc20ABI, functionName: 'approve', - args: [tokens.mainnet.WOUSD.address, amountIn], + args: [tokens.mainnet.wOUSD.address, amountIn], account: address, }); } catch { @@ -163,7 +163,7 @@ const approve: Approve = async ({ tokenIn, tokenOut, amountIn, curve }) => { address: tokenIn.address, abi: tokenIn.abi, functionName: 'approve', - args: [tokens.mainnet.WOUSD.address, amountIn], + args: [tokens.mainnet.wOUSD.address, amountIn], }); const { hash } = await writeContract(request); @@ -180,12 +180,12 @@ const swap: Swap = async ({ tokenIn, tokenOut, amountIn }) => { const approved = await allowance({ tokenIn, tokenOut }); if (approved < amountIn) { - throw new Error(`WOUSD is not approved`); + throw new Error(`wOUSD is not approved`); } const { request } = await prepareWriteContract({ - address: tokens.mainnet.WOUSD.address, - abi: tokens.mainnet.WOUSD.abi, + address: tokens.mainnet.wOUSD.address, + abi: tokens.mainnet.wOUSD.abi, functionName: 'deposit', args: [amountIn, address], }); diff --git a/libs/ousd/swap/src/constants.ts b/libs/ousd/swap/src/constants.ts index fb683cac3..23a8fea09 100644 --- a/libs/ousd/swap/src/constants.ts +++ b/libs/ousd/swap/src/constants.ts @@ -182,12 +182,12 @@ export const swapRoutes: SwapRoute[] = [ // Wrap OUSD { tokenIn: tokens.mainnet.OUSD, - tokenOut: tokens.mainnet.WOUSD, + tokenOut: tokens.mainnet.wOUSD, action: 'wrap-ousd', }, - // Unwrap WOUSD + // Unwrap wOUSD { - tokenIn: tokens.mainnet.WOUSD, + tokenIn: tokens.mainnet.wOUSD, tokenOut: tokens.mainnet.OUSD, action: 'unwrap-wousd', }, diff --git a/libs/shared/assets/files/tokens/WOETH.svg b/libs/shared/assets/files/tokens/wOETH.svg similarity index 100% rename from libs/shared/assets/files/tokens/WOETH.svg rename to libs/shared/assets/files/tokens/wOETH.svg diff --git a/libs/shared/assets/files/tokens/WOUSD.svg b/libs/shared/assets/files/tokens/wOUSD.svg similarity index 100% rename from libs/shared/assets/files/tokens/WOUSD.svg rename to libs/shared/assets/files/tokens/wOUSD.svg diff --git a/libs/shared/contracts/src/network.mainnet.json b/libs/shared/contracts/src/network.mainnet.json index 45a4b2a25..8519ebf0f 100644 --- a/libs/shared/contracts/src/network.mainnet.json +++ b/libs/shared/contracts/src/network.mainnet.json @@ -26944,7 +26944,7 @@ } ] }, - "WOETH": { + "wOETH": { "address": "0x9C5a92AaA2A4373D6bd20F7b45cdEb7A13f9AA79", "abi": [ { diff --git a/libs/shared/contracts/src/tokens.ts b/libs/shared/contracts/src/tokens.ts index 4a0fe1e2c..f65cee7a1 100644 --- a/libs/shared/contracts/src/tokens.ts +++ b/libs/shared/contracts/src/tokens.ts @@ -138,23 +138,23 @@ export const tokens = { decimals: 18, symbol: 'WETH', }, - WOETH: { + wOETH: { address: '0xDcEe70654261AF21C44c093C300eD3Bb97b78192', chainId: mainnet.id, abi: WOETHABI, name: 'Wrapped Origin Ether', - icon: '/images/tokens/WOETH.svg', + icon: '/images/tokens/wOETH.svg', decimals: 18, - symbol: 'WOETH', + symbol: 'wOETH', }, - WOUSD: { + wOUSD: { address: '0xD2af830E8CBdFed6CC11Bab697bB25496ed6FA62', chainId: mainnet.id, abi: WrappedOusdABI, name: 'WrappedOrigin Dollar', - icon: '/images/tokens/WOUSD.svg', + icon: '/images/tokens/wOUSD.svg', decimals: 18, - symbol: 'WOUSD', + symbol: 'wOUSD', }, }, } as const; diff --git a/libs/shared/contracts/src/whales.ts b/libs/shared/contracts/src/whales.ts index f2672ba81..24813113b 100644 --- a/libs/shared/contracts/src/whales.ts +++ b/libs/shared/contracts/src/whales.ts @@ -3,8 +3,8 @@ export const whales = { mainnet: { OETH: '0x94B17476A93b3262d87B9a326965D1E91f9c13E7', - WOETH: '0xC460B0b6c9b578A4Cb93F99A691e16dB96Ee5833', + wOETH: '0xC460B0b6c9b578A4Cb93F99A691e16dB96Ee5833', OUSD: '0x70fCE97d671E81080CA3ab4cc7A59aAc2E117137', - WOUSD: '0x3dD413Fd4D03b1d8fD2C9Ed34553F7DeC3B26F5C', + wOUSD: '0x3dD413Fd4D03b1d8fD2C9Ed34553F7DeC3B26F5C', }, } as const; diff --git a/libs/shared/providers/src/prices/constants.ts b/libs/shared/providers/src/prices/constants.ts index de668b595..f9038f4b9 100644 --- a/libs/shared/providers/src/prices/constants.ts +++ b/libs/shared/providers/src/prices/constants.ts @@ -9,9 +9,9 @@ export const coingeckoTokenIds: Record = { USDC: 'usd-coin', USDT: 'tether', OETH: 'origin-ether', - WOETH: 'origin-ether', + wOETH: 'origin-ether', OUSD: 'origin-dollar', - WOUSD: 'origin-dollar', + wOUSD: 'origin-dollar', stETH: 'staked-ether', rETH: 'rocket-pool-eth', frxETH: 'frax-ether', diff --git a/libs/shared/providers/src/prices/hooks.ts b/libs/shared/providers/src/prices/hooks.ts index 23b7dba40..2d12e3b2d 100644 --- a/libs/shared/providers/src/prices/hooks.ts +++ b/libs/shared/providers/src/prices/hooks.ts @@ -53,16 +53,16 @@ export const usePrices = ( functionName: 'latestRoundData', })), { - address: toks.mainnet.WOETH.address, - abi: toks.mainnet.WOETH.abi, + address: toks.mainnet.wOETH.address, + abi: toks.mainnet.wOETH.abi, functionName: 'previewRedeem', - args: [parseUnits('1', toks.mainnet.WOETH.decimals)], + args: [parseUnits('1', toks.mainnet.wOETH.decimals)], }, { - address: toks.mainnet.WOUSD.address, - abi: toks.mainnet.WOUSD.abi, + address: toks.mainnet.wOUSD.address, + abi: toks.mainnet.wOUSD.abi, functionName: 'previewRedeem', - args: [parseUnits('1', toks.mainnet.WOUSD.decimals)], + args: [parseUnits('1', toks.mainnet.wOUSD.decimals)], }, { address: toks.mainnet.sfrxETH.address, @@ -102,15 +102,15 @@ export const usePrices = ( const rETH = +formatUnits(multi?.[7]?.result?.[1] ?? 0n, toks.mainnet.ETH.decimals) * ETH; - const WOETH = + const wOETH = +formatUnits( (multi?.[8]?.result as unknown as bigint) ?? 0n, - toks.mainnet.WOETH.decimals, + toks.mainnet.wOETH.decimals, ) * OETH; - const WOUSD = + const wOUSD = +formatUnits( (multi?.[9]?.result as unknown as bigint) ?? 0n, - toks.mainnet.WOUSD.decimals, + toks.mainnet.wOUSD.decimals, ) * OUSD; const sfrxETH = +formatUnits( @@ -127,8 +127,8 @@ export const usePrices = ( frxETH, stETH, rETH, - WOETH, - WOUSD, + wOETH, + wOUSD, sfrxETH, WETH, OETH, diff --git a/libs/shared/providers/src/prices/types.ts b/libs/shared/providers/src/prices/types.ts index 4ba18542d..caed22955 100644 --- a/libs/shared/providers/src/prices/types.ts +++ b/libs/shared/providers/src/prices/types.ts @@ -11,5 +11,5 @@ export type SupportedToken = | 'USDC' | 'USDT' | 'WETH' - | 'WOETH' - | 'WOUSD'; + | 'wOETH' + | 'wOUSD';